diff --git a/src/api/wms/customerSaleInvoiceDetail/index.ts b/src/api/wms/customerSaleInvoiceDetail/index.ts new file mode 100644 index 000000000..19d594304 --- /dev/null +++ b/src/api/wms/customerSaleInvoiceDetail/index.ts @@ -0,0 +1,59 @@ +import request from '@/config/axios' + +export interface CustomerSaleInvoiceDetailVO { + id: number + number: string + masterId: number + itemCode: string + articleNumber: string + qty: number + price: number + allocationPrice: number + sumPrice: number + afterTaxAmount: number + beforeTaxAmount: number + taxAmount: number + remark: string + available: string +} + +// 查询客户销售开票子信息表(WMS)列表 +export const getCustomerSaleInvoiceDetailPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/customer-sale-invoice-detail/senior', data }) + } else { + return await request.get({ url: `/wms/customer-sale-invoice-detail/page`, params }) + } +} + +// 查询客户销售开票子信息表(WMS)详情 +export const getCustomerSaleInvoiceDetail = async (id: number) => { + return await request.get({ url: `/wms/customer-sale-invoice-detail/get?id=` + id }) +} + +// 新增客户销售开票子信息表(WMS) +export const createCustomerSaleInvoiceDetail = async (data: CustomerSaleInvoiceDetailVO) => { + return await request.post({ url: `/wms/customer-sale-invoice-detail/create`, data }) +} + +// 修改客户销售开票子信息表(WMS) +export const updateCustomerSaleInvoiceDetail = async (data: CustomerSaleInvoiceDetailVO) => { + return await request.put({ url: `/wms/customer-sale-invoice-detail/update`, data }) +} + +// 删除客户销售开票子信息表(WMS) +export const deleteCustomerSaleInvoiceDetail = async (id: number) => { + return await request.delete({ url: `/wms/customer-sale-invoice-detail/delete?id=` + id }) +} + +// 导出客户销售开票子信息表(WMS) Excel +export const exportCustomerSaleInvoiceDetail = async (params) => { + return await request.download({ url: `/wms/customer-sale-invoice-detail/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/customer-sale-invoice-detail/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/wms/customerSaleInvoiceMain/index.ts b/src/api/wms/customerSaleInvoiceMain/index.ts new file mode 100644 index 000000000..c77b8dcb8 --- /dev/null +++ b/src/api/wms/customerSaleInvoiceMain/index.ts @@ -0,0 +1,59 @@ +import request from '@/config/axios' + +export interface CustomerSaleInvoiceMainVO { + id: number + number: string + customerStatementNumber: string + beforeTaxAmount: number + taxRate: number + taxAmount: number + adTaxAmount: number + goldenTaxInvoiceNumber: string + invoiceTime: Date + status: string + publishTime: Date + abrogateTime: Date + remark: string + available: string +} + +// 查询客户销售开票主信息表(WMS)列表 +export const getCustomerSaleInvoiceMainPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/customer-sale-invoice-main/senior', data }) + } else { + return await request.get({ url: `/wms/customer-sale-invoice-main/page`, params }) + } +} + +// 查询客户销售开票主信息表(WMS)详情 +export const getCustomerSaleInvoiceMain = async (id: number) => { + return await request.get({ url: `/wms/customer-sale-invoice-main/get?id=` + id }) +} + +// 新增客户销售开票主信息表(WMS) +export const createCustomerSaleInvoiceMain = async (data: CustomerSaleInvoiceMainVO) => { + return await request.post({ url: `/wms/customer-sale-invoice-main/create`, data }) +} + +// 修改客户销售开票主信息表(WMS) +export const updateCustomerSaleInvoiceMain = async (data: CustomerSaleInvoiceMainVO) => { + return await request.put({ url: `/wms/customer-sale-invoice-main/update`, data }) +} + +// 删除客户销售开票主信息表(WMS) +export const deleteCustomerSaleInvoiceMain = async (id: number) => { + return await request.delete({ url: `/wms/customer-sale-invoice-main/delete?id=` + id }) +} + +// 导出客户销售开票主信息表(WMS) Excel +export const exportCustomerSaleInvoiceMain = async (params) => { + return await request.download({ url: `/wms/customer-sale-invoice-main/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/customer-sale-invoice-main/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/wms/customerStatementDetail/index.ts b/src/api/wms/customerStatementDetail/index.ts index 0c4729f6d..c1bb2837c 100644 --- a/src/api/wms/customerStatementDetail/index.ts +++ b/src/api/wms/customerStatementDetail/index.ts @@ -35,7 +35,7 @@ export interface CustomerStatementDetailVO { concurrencyStamp: string } -// 查询客户对账单子信息表(WMS)列表 +// 查询客户对账单子信息明细表(WMS)列表或者查询客户对账单对账差异列表 二者共用一个 export const getCustomerStatementDetailPage = async (params) => { if (params.isSearch) { delete params.isSearch @@ -66,12 +66,27 @@ export const deleteCustomerStatementDetail = async (id: number) => { return await request.delete({ url: `/wms/customer-statement-detail/delete?id=` + id }) } -// 导出客户对账单子信息表(WMS) Excel -export const exportCustomerStatementDetail = async (params) => { - return await request.download({ url: `/wms/customer-statement-detail/export-excel`, params }) -} - // 下载用户导入模板 export const importTemplate = () => { return request.download({ url: '/wms/customer-statement-detail/get-import-template' }) +} + +//导出明细数据需要传masterId +export const exportCustomerStatementDetail = async (params) => { + if (params.isSearch) { + const data = {...params} + return await request.downloadPost({ url: `/wms/customer-statement-detail/export-excel-senior`, data }) + }else{ + return await request.download({ url: `/wms/customer-statement-detail/export-excel`, params }) + } +} + +//导出详情对账差异列表数据 需要传masterId +export const exportCustomerStatementCompareDetail = async (params) => { + if (params.isSearch) { + const data = {...params} + return await request.downloadPost({ url: `/wms/customer-statement-detail/export-excel-compare-senior`, data }) + }else{ + return await request.download({ url: `/wms/customer-statement-detail/export-excel-compare`, params }) + } } \ No newline at end of file diff --git a/src/api/wms/customerStatementMain/index.ts b/src/api/wms/customerStatementMain/index.ts index 1b7d899cb..9c8cb0396 100644 --- a/src/api/wms/customerStatementMain/index.ts +++ b/src/api/wms/customerStatementMain/index.ts @@ -52,11 +52,6 @@ export const deleteCustomerStatementMain = async (id: number) => { return await request.delete({ url: `/wms/customer-statement-main/delete?id=` + id }) } -// 导出客户对账单主信息表(WMS) Excel -export const exportCustomerStatementMain = async (params) => { - return await request.download({ url: `/wms/customer-statement-main/export-excel`, params }) -} - // 下载客户对账单导入模板 export const importTemplate = () => { return request.download({ url: '/wms/customer-statement-main/get-import-template' }) @@ -88,11 +83,53 @@ export const sendBack = async (id: number) => { } // 导入客户模具分摊对账单前校验该客户对账单下是否存在已分摊的模具分摊对账单如果有提示 -export const verifyDataExistShare = async (customerId:number) => { +export const verifyDataExistShare = async (customerId:number) => {//customerId为客户对账单id return await request.get({ url: `/wms/customer-tool-apport-statement-detail/verifyDataExist?customerId=` + customerId }) } // 下载客户模具分摊对账单导入模板 export const importShareTemplate = () => { return request.download({ url: '/wms/customer-tool-apport-statement-detail/get-import-template' }) -} \ No newline at end of file +} + +// 客户对账单点击发布接口 +export const publish = async (id: number) => { + return await request.get({ url: `/wms/customer-statement-main/publish?id=` + id}) +} + +// 根据对账单主id点击确认分摊 +export const confirmationShare = async (id: number) => { + return await request.get({ url: `/wms/customer-statement-main/confirmationShare?id=` + id}) +} + +// 客户对账单查询客户代码 +export const getCustomerList = async () => { + return await request.get({ url: `/wms/customer-statement-main/confirmationShare`}) +} + + +// 客户模具分摊对账单修改调整金额 +export const updateAdjustmentAmount = async (id:number,masterId:number,amount:number) => { + return await request.get({ url: `/wms/customer-statement-main/updateAdjustmentAmount?id=` + id+'&masterId='+masterId+'&amount='+amount}) +} + +// 导出客户对账单Excel +export const exportCustomerStatementMain = async (params) => { + if (params.isSearch) { + const data = {...params} + return await request.downloadPost({ url: `/eam/basic-eam-workshop/export-excel-senior`, data }) + }else{ + return await request.download({ url: `/wms/customer-statement-main/export-excel`, params }) + } +} + +// 导出客户模具分摊对账单Excel 需要传masterId +export const exportCustomerStatementShareMain = async (params) => { + if (params.isSearch) { + const data = {...params} + return await request.downloadPost({ url: `/wms/customer-tool-apport-statement-detail/export-excel-senior`, data }) + }else{ + return await request.download({ url: `/wms/customer-tool-apport-statement-detail/export-excel`, params }) + } +} + diff --git a/src/api/wms/customerToolApportStatementForecastDetail/index.ts b/src/api/wms/customerToolApportStatementForecastDetail/index.ts new file mode 100644 index 000000000..7dcef738d --- /dev/null +++ b/src/api/wms/customerToolApportStatementForecastDetail/index.ts @@ -0,0 +1,56 @@ +import request from '@/config/axios' + +export interface CustomerToolApportStatementForecastDetailVO { + id: number + number: string + masterId: number + factoryCode: string + factoryName: string + invoiceNumber: string + articleNumber: string + vehicleType: string + forecastAllocationAmount: number + remark: string + available: string +} + +// 查询客户模具分摊对账单预测子表(WMS)列表 +export const getCustomerToolApportStatementForecastDetailPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/customer-tool-apport-statement-forecast-detail/senior', data }) + } else { + return await request.get({ url: `/wms/customer-tool-apport-statement-forecast-detail/page`, params }) + } +} + +// 查询客户模具分摊对账单预测子表(WMS)详情 +export const getCustomerToolApportStatementForecastDetail = async (id: number) => { + return await request.get({ url: `/wms/customer-tool-apport-statement-forecast-detail/get?id=` + id }) +} + +// 新增客户模具分摊对账单预测子表(WMS) +export const createCustomerToolApportStatementForecastDetail = async (data: CustomerToolApportStatementForecastDetailVO) => { + return await request.post({ url: `/wms/customer-tool-apport-statement-forecast-detail/create`, data }) +} + +// 修改客户模具分摊对账单预测子表(WMS) +export const updateCustomerToolApportStatementForecastDetail = async (data: CustomerToolApportStatementForecastDetailVO) => { + return await request.put({ url: `/wms/customer-tool-apport-statement-forecast-detail/update`, data }) +} + +// 删除客户模具分摊对账单预测子表(WMS) +export const deleteCustomerToolApportStatementForecastDetail = async (id: number) => { + return await request.delete({ url: `/wms/customer-tool-apport-statement-forecast-detail/delete?id=` + id }) +} + +// 导出客户模具分摊对账单预测子表(WMS) Excel +export const exportCustomerToolApportStatementForecastDetail = async (params) => { + return await request.download({ url: `/wms/customer-tool-apport-statement-forecast-detail/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/customer-tool-apport-statement-forecast-detail/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/wms/customerToolApportStatementForecastMain/index.ts b/src/api/wms/customerToolApportStatementForecastMain/index.ts new file mode 100644 index 000000000..553a2fe63 --- /dev/null +++ b/src/api/wms/customerToolApportStatementForecastMain/index.ts @@ -0,0 +1,52 @@ +import request from '@/config/axios' + +export interface CustomerToolApportStatementForecastMainVO { + id: number + number: string + customerCode: string + customerName: string + yearsMonth: Date + remark: string + available: string +} + +// 查询客户模具分摊对账单预测主表(WMS)列表 +export const getCustomerToolApportStatementForecastMainPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/customer-tool-apport-statement-forecast-main/senior', data }) + } else { + return await request.get({ url: `/wms/customer-tool-apport-statement-forecast-main/page`, params }) + } +} + +// 查询客户模具分摊对账单预测主表(WMS)详情 +export const getCustomerToolApportStatementForecastMain = async (id: number) => { + return await request.get({ url: `/wms/customer-tool-apport-statement-forecast-main/get?id=` + id }) +} + +// 新增客户模具分摊对账单预测主表(WMS) +export const createCustomerToolApportStatementForecastMain = async (data: CustomerToolApportStatementForecastMainVO) => { + return await request.post({ url: `/wms/customer-tool-apport-statement-forecast-main/create`, data }) +} + +// 修改客户模具分摊对账单预测主表(WMS) +export const updateCustomerToolApportStatementForecastMain = async (data: CustomerToolApportStatementForecastMainVO) => { + return await request.put({ url: `/wms/customer-tool-apport-statement-forecast-main/update`, data }) +} + +// 删除客户模具分摊对账单预测主表(WMS) +export const deleteCustomerToolApportStatementForecastMain = async (id: number) => { + return await request.delete({ url: `/wms/customer-tool-apport-statement-forecast-main/delete?id=` + id }) +} + +// 导出客户模具分摊对账单预测主表(WMS) Excel +export const exportCustomerToolApportStatementForecastMain = async (params) => { + return await request.download({ url: `/wms/customer-tool-apport-statement-forecast-main/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/customer-tool-apport-statement-forecast-main/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/wms/purchaseBarterRecordDetail/index.ts b/src/api/wms/purchaseBarterRecordDetail/index.ts new file mode 100644 index 000000000..91bd582f9 --- /dev/null +++ b/src/api/wms/purchaseBarterRecordDetail/index.ts @@ -0,0 +1,27 @@ +import request from '@/config/axios' + +export interface PurchaseBarterRecordDetailVO { + masterId: number + itemCode: string + itemName: string + uom: string + batch: string + packUnit: string + qty: number + reason: string +} + +// 查询采购换货申请明细列表 +export const getPurchaseBarterRecordDetailPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/purchase-barter-record-detail/senior', data }) + } else { + return await request.get({ url: `/wms/purchase-barter-record-detail/page`, params }) + } +} + +export async function exportPurchaseBarterRecord(params: any) { + +} diff --git a/src/api/wms/purchaseBarterRequestDetail/index.ts b/src/api/wms/purchaseBarterRequestDetail/index.ts new file mode 100644 index 000000000..f7622276c --- /dev/null +++ b/src/api/wms/purchaseBarterRequestDetail/index.ts @@ -0,0 +1,53 @@ +import request from '@/config/axios' + +export interface PurchaseBarterRequestDetailVO { + masterId: number + itemCode: string + itemName: string + uom: string + batch: string + packUnit: string + qty: number + reason: string +} + +// 查询采购换货申请明细列表 +export const getPurchaseBarterRequestDetailPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/purchase-barter-request-detail/senior', data }) + } else { + return await request.get({ url: `/wms/purchase-barter-request-detail/page`, params }) + } +} + +// 查询采购换货申请明细详情 +export const getPurchaseBarterRequestDetail = async (id: number) => { + return await request.get({ url: `/wms/purchase-barter-request-detail/get?id=` + id }) +} + +// 新增采购换货申请明细 +export const createPurchaseBarterRequestDetail = async (data: PurchaseBarterRequestDetailVO) => { + return await request.post({ url: `/wms/purchase-barter-request-detail/create`, data }) +} + +// 修改采购换货申请明细 +export const updatePurchaseBarterRequestDetail = async (data: PurchaseBarterRequestDetailVO) => { + return await request.put({ url: `/wms/purchase-barter-request-detail/update`, data }) +} + +// 删除采购换货申请明细 +export const deletePurchaseBarterRequestDetail = async (id: number) => { + return await request.delete({ url: `/wms/purchase-barter-request-detail/delete?id=` + id }) +} + +// 导出采购换货申请明细 Excel +export const exportPurchaseBarterRequestDetail = async (params) => { + return await request.download({ url: `/wms/purchase-barter-request-detail/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/purchase-barter-request-detail/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/wms/purchaseBarterRequestMain/index.ts b/src/api/wms/purchaseBarterRequestMain/index.ts new file mode 100644 index 000000000..e8fc8e4f4 --- /dev/null +++ b/src/api/wms/purchaseBarterRequestMain/index.ts @@ -0,0 +1,96 @@ +import request from '@/config/axios' + +export interface PurchaseBarterRequestMainVO { + id: number + number: string + status: string + supplierCode: string + supplierName: string + available: string + creatorName: string + updaterName: string + deleteTime: Date + deleter: string + deleteName: string +} + +// 查询采购换货申请主列表 +export const getPurchaseBarterRequestMainPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/purchase-barter-request-main/senior', data }) + } else { + return await request.get({ url: `/wms/purchase-barter-request-main/page`, params }) + } +} + +// 查询采购换货申请主详情 +export const getPurchaseBarterRequestMain = async (id: number) => { + return await request.get({ url: `/wms/purchase-barter-request-main/get?id=` + id }) +} + +// 新增采购换货申请主 +export const createPurchaseBarterRequestMain = async (data: PurchaseBarterRequestMainVO) => { + return await request.post({ url: `/wms/purchase-barter-request-main/create`, data }) +} + +// 修改采购换货申请主 +export const updatePurchaseBarterRequestMain = async (data: PurchaseBarterRequestMainVO) => { + return await request.put({ url: `/wms/purchase-barter-request-main/update`, data }) +} + +// 删除采购换货申请主 +export const deletePurchaseBarterRequestMain = async (id: number) => { + return await request.delete({ url: `/wms/purchase-barter-request-main/delete?id=` + id }) +} + +// 导出采购换货申请主 Excel +export const exportPurchaseBarterRequestMain = async (params) => { + return await request.download({ url: `/wms/purchase-barter-request-main/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/purchase-barter-request-main/get-import-template' }) +} + +// 审批通过 +export async function agreePurchaseBarterRequestMain(id: number) { + return await request.put({ url: `/wms/purchase-barter-request-main/agree?id=` + id }) +} + +// 驳回 +export async function refusedPurchaseBarterRequestMain(id: number) { + return await request.put({ url: `/wms/purchase-barter-request-main/refused?id=` + id }) +} + +// 提交审批 +export async function submitPurchaseBarterRequestMain(id: number) { + return await request.put({ url: `/wms/purchase-barter-request-main/submit?id=` + id }) +} + +// 重新添加 +export async function reAddPurchaseBarterRequestMain(id: number) { + return await request.put({ url: `/wms/purchase-barter-request-main/reAdd?id=` + id }) +} + +// 关闭 +export async function closePurchaseBarterRequestMain(id: number) { + return await request.put({ url: `/wms/purchase-barter-request-main/close?id=` + id }) +} + +// 出库 +export async function outStoragePurchaseBarterRequestMain(id: number) { + return await request.put({ url: `/wms/purchase-barter-request-main/outStorage?id=` + id }) +} + +// 入库 +export async function inStoragePurchaseBarterRequestMain(id: number) { + return await request.put({ url: `/wms/purchase-barter-request-main/inStorage?id=` + id }) +} + +// 中止 +export async function suspendPurchaseBarterRequestMain(id: number) { + return await request.put({ url: `/wms/purchase-barter-request-main/suspend?id=` + id }) +} diff --git a/src/locales/zh-CN.ts b/src/locales/zh-CN.ts index cc5fee6ef..1f78b2973 100644 --- a/src/locales/zh-CN.ts +++ b/src/locales/zh-CN.ts @@ -81,6 +81,9 @@ export default { confirmAccept: '确认承接吗?', confirmGiveup: '确认放弃吗?', confirmPublish: '确认发布吗?', + confirmOutStorage: '确认出库吗?', + confirmInStorage: '确认入库吗?', + confirmSuspend: '确认中止吗?', }, error: { noPermission: `抱歉,您无权访问此页面。`, diff --git a/src/utils/disposition/defaultButtons.ts b/src/utils/disposition/defaultButtons.ts index 13fce99ac..6a9208e12 100644 --- a/src/utils/disposition/defaultButtons.ts +++ b/src/utils/disposition/defaultButtons.ts @@ -1404,6 +1404,19 @@ export function outBtn(option: any) { hasPermi: '' }) } + +export function inBtn(option: any) { + return __defaultBtnOption(option, { + label: '入库', + name: 'in', + hide: false, + type: 'danger', + color: '', + link: true, // 文本展现按钮 + hasPermi: '' + }) +} + // 主列表-重试 export function retryBtn(option: any) { return __defaultBtnOption(option, { diff --git a/src/views/wms/deliversettlementManage/customerSaleInvoiceMain/customerSaleInvoiceMain.data.ts b/src/views/wms/deliversettlementManage/customerSaleInvoiceMain/customerSaleInvoiceMain.data.ts new file mode 100644 index 000000000..cbef4fcb3 --- /dev/null +++ b/src/views/wms/deliversettlementManage/customerSaleInvoiceMain/customerSaleInvoiceMain.data.ts @@ -0,0 +1,124 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const CustomerSaleInvoiceMainRules = reactive({ + beforeTaxAmount: [required], + taxRate: [required], + taxAmount: [required], + adTaxAmount: [required], +}) + +export const CustomerSaleInvoiceMain = useCrudSchemas(reactive([ + { + label: '单据号', + field: 'number', + sort: 'custom', + isSearch: true, + } ,{ + label: '状态', + field: 'status', + sort: 'custom', + isSearch: true, + // 0:新增1:已发布2已作废 + }, + { + label: '客户对账单单据号', + field: 'customerStatementNumber', + sort: 'custom', + isSearch: true, + }, + { + label: '客户代码', + field: 'customer', + sort: 'custom', + isSearch: true, + }, + { + label: '客户名称', + field: 'customerName', + sort: 'custom', + }, + { + label: '未税金额', + field: 'beforeTaxAmount', + sort: 'custom', + }, + { + label: '税率', + field: 'taxRate', + sort: 'custom', + }, + { + label: '税额', + field: 'taxAmount', + sort: 'custom', + }, + { + label: '价税合计金额', + field: 'adTaxAmount', + sort: 'custom', + }, + { + label: '金税票号', + field: 'goldenTaxInvoiceNumber', + sort: 'custom', + }, + { + label: '开票日期', + field: 'invoiceTime', + sort: 'custom', + formatter: dateFormatter, + search: { + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD HH:mm:ss', + type: 'daterange', + defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + } + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + }, + + { + label: '备注', + field: 'remark', + sort: 'custom', + }, + { + label: '是否可用默认TRUE', + field: 'available', + sort: 'custom', + isTable:false + }, + { + label: '创建时间', + field: 'createTime', + sort: 'custom', + formatter: dateFormatter, + search: { + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD HH:mm:ss', + type: 'daterange', + defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + } + }, + isForm: false, + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) diff --git a/src/views/wms/deliversettlementManage/customerStatement/customerToolApportStatement/index.vue b/src/views/wms/deliversettlementManage/customerSaleInvoiceMain/index.vue similarity index 67% rename from src/views/wms/deliversettlementManage/customerStatement/customerToolApportStatement/index.vue rename to src/views/wms/deliversettlementManage/customerSaleInvoiceMain/index.vue index 0dce2c81b..7f69959e8 100644 --- a/src/views/wms/deliversettlementManage/customerStatement/customerToolApportStatement/index.vue +++ b/src/views/wms/deliversettlementManage/customerSaleInvoiceMain/index.vue @@ -1,7 +1,7 @@ diff --git a/src/views/wms/deliversettlementManage/customerStatement/customerStatement/customerStatementMain.data.ts b/src/views/wms/deliversettlementManage/moldAllocation/customerStatement/customerStatementMain.data.ts similarity index 97% rename from src/views/wms/deliversettlementManage/customerStatement/customerStatement/customerStatementMain.data.ts rename to src/views/wms/deliversettlementManage/moldAllocation/customerStatement/customerStatementMain.data.ts index d3cb53adf..4349dd50a 100644 --- a/src/views/wms/deliversettlementManage/customerStatement/customerStatement/customerStatementMain.data.ts +++ b/src/views/wms/deliversettlementManage/moldAllocation/customerStatement/customerStatementMain.data.ts @@ -1,5 +1,6 @@ import type { CrudSchema } from '@/hooks/web/useCrudSchemas' import { dateFormatter } from '@/utils/formatTime' +import { validateTwoNum } from '@/utils/validator' // 表单校验 export const CustomerStatementMainRules = reactive({ @@ -33,7 +34,7 @@ export const CustomerStatementMain = useCrudSchemas(reactive([ label: '客户名称', field: 'customerName', sort: 'custom', - isSearch: true, + isSearch: false, }, { label: '年月', @@ -223,7 +224,7 @@ export const CustomerStatementMain = useCrudSchemas(reactive([ field: 'createTime', sort: 'custom', formatter: dateFormatter, - isSearch: true, + isSearch: false, detail: { dateFormat: 'YYYY-MM-DD HH:mm:ss' }, @@ -261,17 +262,10 @@ export const CustomerStatementMain = useCrudSchemas(reactive([ // 表单校验 export const CustomerStatementDetailRules = reactive({ - releaseNumber: [required], - ingress: [required], - ingress2: [required], - itemCode: [required], - articleNumber: [required], - articleName: [required], - checkTime: [required], - uom: [required], - qty: [required], - price: [required], - amount: [required], + amount: [ + required, + { validator: validateTwoNum, message: '小数点后最多2位', trigger: 'blur' } + ], }) export const CustomerStatementDetail = useCrudSchemas(reactive([ diff --git a/src/views/wms/deliversettlementManage/customerStatement/customerStatement/index.vue b/src/views/wms/deliversettlementManage/moldAllocation/customerStatement/index.vue similarity index 99% rename from src/views/wms/deliversettlementManage/customerStatement/customerStatement/index.vue rename to src/views/wms/deliversettlementManage/moldAllocation/customerStatement/index.vue index 25aac57a1..f4b2c0e70 100644 --- a/src/views/wms/deliversettlementManage/customerStatement/customerStatement/index.vue +++ b/src/views/wms/deliversettlementManage/moldAllocation/customerStatement/index.vue @@ -33,14 +33,13 @@ :apiCreate="CustomerStatementMainApi.createCustomerStatementMain" @searchTableSuccess="searchTableSuccess" :isBusiness="false" /> - - + + + + + + + + + + +
+
+ + + + + + + + + + + + + + diff --git a/src/views/wms/purchasereceiptManage/purchaseBarter/purchaseBarterRecord/index.vue b/src/views/wms/purchasereceiptManage/purchaseBarter/purchaseBarterRecord/index.vue new file mode 100644 index 000000000..6fcd4a008 --- /dev/null +++ b/src/views/wms/purchasereceiptManage/purchaseBarter/purchaseBarterRecord/index.vue @@ -0,0 +1,158 @@ + + + diff --git a/src/views/wms/purchasereceiptManage/purchaseBarter/purchaseBarterRecord/purchaseBarterRecordMain.data.ts b/src/views/wms/purchasereceiptManage/purchaseBarter/purchaseBarterRecord/purchaseBarterRecordMain.data.ts new file mode 100644 index 000000000..7a0f30cca --- /dev/null +++ b/src/views/wms/purchasereceiptManage/purchaseBarter/purchaseBarterRecord/purchaseBarterRecordMain.data.ts @@ -0,0 +1,95 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' + +export const PurchaseBarterRecordMain = useCrudSchemas(reactive([ + { + label: '记录单号', + field: 'number', + sort: 'custom', + isSearch: true, + isForm: false, + table: { + width: 180, + fixed: 'left' + } + }, + { + label: '申请单号', + field: 'number', + sort: 'custom', + isSearch: true, + isForm: false, + table: { + width: 180, + } + }, + { + label: '状态', + field: 'status', + sort: 'custom', + isSearch: true, + isForm: false, + dictType: DICT_TYPE.REQUEST_STATUS, + dictClass: 'string', + }, + { + label: '供应商代码', + field: 'supplierCode', + sort: 'custom', + isSearch: true, + }, + { + label: '供应商名称', + field: 'supplierName', + sort: 'custom', + isSearch: false, + } +])) + +export const PurchaseBarterRecordDetail = useCrudSchemas(reactive([ + { + label: '物料代码', + field: 'itemCode', + sort: 'custom', + isSearch: true, + table: { + width: 150 + }, + }, + { + label: '物料名称', + field: 'itemName', + sort: 'custom', + isSearch: false, + }, + { + label: '计量单位', + field: 'uom', + sort: 'custom', + isSearch: false, + }, + { + label: '批次', + field: 'batch', + sort: 'custom', + isSearch: true, + }, + { + label: '包装规格', + field: 'packUnit', + sort: 'custom', + isSearch: false, + }, + { + label: '换货数量', + field: 'qty', + sort: 'custom', + isSearch: false, + }, + { + label: '换货原因 ', + field: 'reason', + sort: 'custom', + isSearch: false, + }, +])) + diff --git a/src/views/wms/purchasereceiptManage/purchaseBarter/purchaseBarterRequest/index.vue b/src/views/wms/purchasereceiptManage/purchaseBarter/purchaseBarterRequest/index.vue new file mode 100644 index 000000000..28d01c6ce --- /dev/null +++ b/src/views/wms/purchasereceiptManage/purchaseBarter/purchaseBarterRequest/index.vue @@ -0,0 +1,613 @@ + + + diff --git a/src/views/wms/purchasereceiptManage/purchaseBarter/purchaseBarterRequest/purchaseBarterRequestMain.data.ts b/src/views/wms/purchasereceiptManage/purchaseBarter/purchaseBarterRequest/purchaseBarterRequestMain.data.ts new file mode 100644 index 000000000..4ada3c32d --- /dev/null +++ b/src/views/wms/purchasereceiptManage/purchaseBarter/purchaseBarterRequest/purchaseBarterRequestMain.data.ts @@ -0,0 +1,277 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import {Supplier} from "@/views/wms/basicDataManage/supplierManage/supplier/supplier.data"; +import * as SupplierApi from "@/api/wms/supplier"; +import * as ItembasicApi from "@/api/wms/itembasic"; +import { + Supplieritem +} from "@/views/wms/basicDataManage/supplierManage/supplieritem/supplieritem.data"; +import * as SupplieritemApi from "@/api/wms/supplieritem"; + +/** + * @returns {Array} 采购换货申请主表 + */ +export const PurchaseBarterRequestMain = useCrudSchemas(reactive([ + { + label: '申请单号', + field: 'number', + sort: 'custom', + isSearch: true, + isForm: false, + table: { + width: 180, + fixed: 'left' + } + }, + { + label: '状态', + field: 'status', + sort: 'custom', + isSearch: true, + isForm: false, + dictType: DICT_TYPE.REQUEST_STATUS, + dictClass: 'string', + }, + { + label: '供应商代码', + field: 'supplierCode', + sort: 'custom', + isSearch: true, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + enterSearch: true, + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择供应商代码', // 输入框占位文本 + searchField: 'code', // 查询弹窗赋值字段 + searchTitle: '供应商', // 查询弹窗标题 + searchAllSchemas: Supplier.allSchemas, // 查询弹窗所需类 + searchPage: SupplierApi.getSupplierPage, // 查询弹窗所需分页方法 + searchCondition: [{ + key: 'available', + value: 'TRUE', + isMainValue: false + }], + verificationParams: [{ + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true, + }], // 失去焦点校验参数 + } + } + }, + { + label: '供应商名称', + field: 'supplierName', + sort: 'custom', + isSearch: false, + form: { + componentProps: { + disabled: true + } + }, + }, + { + label: '操作', + field: 'action', + isForm: false, + isDetail: false, + table: { + width: 250, + fixed: 'right' + } + } +])) + +//表单校验 +export const PurchaseBarterRequestMainRules = reactive({ + supplierCode: [ + { required: true, message: '请输入供应商代码', trigger: 'blur' } + ], +}) + +/** + * @returns {Array} 采购换货申请子表 + */ +export const PurchaseBarterRequestDetail = useCrudSchemas(reactive([ + { + label: '物料代码', + field: 'itemCode', + sort: 'custom', + isSearch: true, + table: { + width: 150 + }, + tableForm:{ + multiple:true,//多选 + isInpuFocusShow: true, // 开启查询弹窗 + searchListPlaceholder: '请选择物料代码',// 输入框占位文本 + searchField: 'itemCode', // 查询弹窗赋值字段 + searchTitle: '供应商物料信息', // 查询弹窗标题 + searchAllSchemas: Supplieritem.allSchemas, // 查询弹窗所需类 + searchPage: SupplieritemApi.getSupplieritemPage, // 查询弹窗所需分页方法 + searchCondition: [{ + key: 'available', + value: 'TRUE', + action: '==', + isSearch: true, + isMainValue: false + },{ + key: 'supplierCode', + value: 'supplierCode', + action: '==', + message: '供应商代码不能为空!', + isFormModel:true, // filters中添加筛选的数据--取于formModel + required:true, // 前置添加必有,和isFormModel结合使用 + isSearch: true, + isMainValue: false + }], + verificationPage: ItembasicApi.getItemListByCodes, // tableForm下方输入框校验失去焦点之后是否正确的方法 + isShowTableFormSearch: false, //tableForm下方是否出现输入框 + verificationParams: [{ + key: 'itemCode', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true, + }], // 失去焦点校验参数 + }, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + disabled:true, + enterSearch: true, + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择物料代码', // 输入框占位文本 + searchField: 'itemCode', // 查询弹窗赋值字段 + searchTitle: '供应商物料信息', // 查询弹窗标题 + searchAllSchemas: Supplieritem.allSchemas, // 查询弹窗所需类 + searchPage: SupplieritemApi.getSupplieritemPage, // 查询弹窗所需分页方法 + searchCondition: [ + { + key: 'available', + value: 'TRUE', + isMainValue: false + },{ + key: 'supplierCode', + value: 'supplierCode', + message: '供应商代码不能为空!', + isMainValue:true + } + ], + verificationParams: [ + { + key: 'itemCode', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true + } + ] // 失去焦点校验参数 + } + } + }, + { + label: '物料名称', + field: 'itemName', + sort: 'custom', + isSearch: false, + tableForm: { + disabled: true + }, + form:{ + componentProps:{ + disabled:true + } + } + }, + { + label: '计量单位', + field: 'uom', + sort: 'custom', + isSearch: false, + tableForm: { + disabled: true + }, + form:{ + componentProps:{ + disabled:true + } + } + }, + { + label: '批次', + field: 'batch', + sort: 'custom', + isSearch: true, + tableForm: { + disabled: true + }, + form:{ + componentProps:{ + disabled:true + } + } + }, + { + label: '包装规格', + field: 'packUnit', + sort: 'custom', + isSearch: false, + tableForm: { + disabled: true + }, + form:{ + componentProps:{ + disabled:true + } + } + }, + { + label: '换货数量', + field: 'qty', + sort: 'custom', + isSearch: false, + form: { + component: 'InputNumber', + value: 0 + }, + }, + { + label: '换货原因 ', + field: 'reason', + sort: 'custom', + isSearch: false, + }, + { + label: '操作', + field: 'action', + isDetail: false, + hiddenInMain:true, + isForm: false , + table: { + width: 150, + fixed: 'right' + }, + isTableForm:false, + } +])) + +function validateQty(rule, value, callback) { + const numericValue = Number(value); + if (Number.isInteger(numericValue) && numericValue > 0) { + callback(); + } else { + callback(new Error('数量必须是一个正整数')); + } +} +//表单校验 +export const PurchaseBarterRequestDetailRules = reactive({ + qty:[ + { validator:validateQty, message: '数量必须是一个正整数', trigger: 'change'} + ], +})