From d02f3202b42e9e9809bf0166aac60cfc357185d6 Mon Sep 17 00:00:00 2001 From: "YEJIAXING-PC\\lenovo" <591141169@qq.com> Date: Mon, 16 Jun 2025 14:03:20 +0800 Subject: [PATCH 01/12] =?UTF-8?q?=E8=A1=A5=E6=96=99=E6=B6=88=E8=80=97?= =?UTF-8?q?=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repleinshItemCodeConsumeRecord.data.ts | 68 ++++++++++++------- 1 file changed, 45 insertions(+), 23 deletions(-) diff --git a/src/views/wms/issueManage/repleinshItemCodeConsumeRecord/repleinshItemCodeConsumeRecord.data.ts b/src/views/wms/issueManage/repleinshItemCodeConsumeRecord/repleinshItemCodeConsumeRecord.data.ts index 4ccc515f7..8780202e8 100644 --- a/src/views/wms/issueManage/repleinshItemCodeConsumeRecord/repleinshItemCodeConsumeRecord.data.ts +++ b/src/views/wms/issueManage/repleinshItemCodeConsumeRecord/repleinshItemCodeConsumeRecord.data.ts @@ -1,5 +1,5 @@ import type { CrudSchema } from '@/hooks/web/useCrudSchemas' -import { dateFormatter } from '@/utils/formatTime' +import { dateFormatter, dateFormatter2 } from '@/utils/formatTime' // 表单校验 export const RepleinshItemCodeConsumeRecordRules = reactive({ @@ -23,11 +23,11 @@ export const RepleinshItemCodeConsumeRecord = useCrudSchemas(reactive Date: Mon, 16 Jun 2025 17:15:57 +0800 Subject: [PATCH 02/12] =?UTF-8?q?=E7=BF=BB=E5=8C=85=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=E8=83=8C=E7=95=AA=E5=AD=97=E6=AE=B5=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../packageoverRequestMain.data.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverRequestMain/packageoverRequestMain.data.ts b/src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverRequestMain/packageoverRequestMain.data.ts index 6a8d8cba8..e089a7d0f 100644 --- a/src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverRequestMain/packageoverRequestMain.data.ts +++ b/src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverRequestMain/packageoverRequestMain.data.ts @@ -594,7 +594,15 @@ export const PackageoverRequestDetail = useCrudSchemas( table: { width: 150 }, - isTableForm: false, + tableForm: { + disabled: true + }, + form: { + componentProps: { + disabled: true + } + }, + isTableForm: true, isSearch: true, isForm: false }, From f8742873695e2d9355685205fe82258a46d7b011 Mon Sep 17 00:00:00 2001 From: songguoqiang Date: Tue, 17 Jun 2025 08:24:58 +0800 Subject: [PATCH 03/12] =?UTF-8?q?YT-2687:=E5=A2=9E=E5=8A=A0=E3=80=8A?= =?UTF-8?q?=E8=A1=A5=E6=96=99=E4=BB=BB=E5=8A=A1=E3=80=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repleinshJobMain/repleinshJobMain.data.ts | 1 + .../repleinshRecordMain.data.ts | 20 ++++++++++--------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/views/wms/issueManage/repleinsh/repleinshJobMain/repleinshJobMain.data.ts b/src/views/wms/issueManage/repleinsh/repleinshJobMain/repleinshJobMain.data.ts index 7dc9f71fc..edf65acf1 100644 --- a/src/views/wms/issueManage/repleinsh/repleinshJobMain/repleinshJobMain.data.ts +++ b/src/views/wms/issueManage/repleinsh/repleinshJobMain/repleinshJobMain.data.ts @@ -23,6 +23,7 @@ export const RepleinshJobMain = useCrudSchemas(reactive([ table: { width: 180 }, + isSearch:true, sortTableDefault: 1, }, // { diff --git a/src/views/wms/issueManage/repleinsh/repleinshRecordMain/repleinshRecordMain.data.ts b/src/views/wms/issueManage/repleinsh/repleinshRecordMain/repleinshRecordMain.data.ts index b342d661c..852be8c4a 100644 --- a/src/views/wms/issueManage/repleinsh/repleinshRecordMain/repleinshRecordMain.data.ts +++ b/src/views/wms/issueManage/repleinsh/repleinshRecordMain/repleinshRecordMain.data.ts @@ -32,20 +32,22 @@ export const RepleinshRecordMain = useCrudSchemas(reactive([ label: '申请单号', field: 'requestNumber', sort: 'custom', + isSearch:true, table: { width: 180 }, sortTableDefault:1, }, - // { - // label: '任务单号', - // field: 'jobNumber', - // sort: 'custom', - // table: { - // width: 180 - // }, - // sortTableDefault: 2, - // }, + { + label: '任务单号', + field: 'jobNumber', + sort: 'custom', + table: { + width: 180 + }, + isSearch:true, + sortTableDefault: 2, + }, // { // label: '供应商代码', // field: 'supplierCode', From 371fb0f77965df236b06cd5982ba9b6b2263d537 Mon Sep 17 00:00:00 2001 From: "YEJIAXING-PC\\lenovo" <591141169@qq.com> Date: Tue, 17 Jun 2025 13:54:16 +0800 Subject: [PATCH 04/12] =?UTF-8?q?wms-=E7=BF=BB=E5=8C=85=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=E4=B8=AD=EF=BC=8C=E6=B7=BB=E5=8A=A0=E6=98=8E=E7=BB=86=E5=90=8E?= =?UTF-8?q?=EF=BC=8C=E7=95=8C=E9=9D=A2=E6=98=BE=E7=A4=BA=EF=BC=8C=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E5=A2=9E=E5=8A=A0=E8=83=8C=E7=95=AA=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=EF=BC=8C=E5=90=8C=E6=97=B6=E6=8A=8A=E5=88=B0=E5=8C=85=E8=A3=85?= =?UTF-8?q?=E6=95=B0=E9=87=8F=E7=A7=BB=E8=87=B3=E5=88=B0=E8=83=8C=E7=95=AA?= =?UTF-8?q?=E5=88=97=E6=97=81=E8=BE=B9=E8=BF=9B=E8=A1=8C=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wms/basicDataManage/itemPull/index.vue | 2 +- .../packageoverRequestMain.data.ts | 37 ++++++++++--------- 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/src/views/wms/basicDataManage/itemPull/index.vue b/src/views/wms/basicDataManage/itemPull/index.vue index 0882d6a2d..b040a32e6 100644 --- a/src/views/wms/basicDataManage/itemPull/index.vue +++ b/src/views/wms/basicDataManage/itemPull/index.vue @@ -210,7 +210,7 @@ const handleExport = async () => { // 发起导出 exportLoading.value = true const data = await ItemPullApi.exportItemPull(tableObject.params) - download.excel(data, '物料拉动配置.xlsx') + download.excel(data, '品番拉动配置.xlsx') } catch { } finally { exportLoading.value = false diff --git a/src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverRequestMain/packageoverRequestMain.data.ts b/src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverRequestMain/packageoverRequestMain.data.ts index e089a7d0f..bcd471997 100644 --- a/src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverRequestMain/packageoverRequestMain.data.ts +++ b/src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverRequestMain/packageoverRequestMain.data.ts @@ -605,6 +605,24 @@ export const PackageoverRequestDetail = useCrudSchemas( isTableForm: true, isSearch: true, isForm: false + }, + { + label: '到标包数量', + field: 'toPackQty', + sort: 'custom', + table: { + width: 120 + }, + tableForm: { + // disabled: true + type:'InputNumber' + }, + form: { + component:'InputNumber', + componentProps: { + // disabled: true + } + } }, { label: '描述', @@ -843,24 +861,7 @@ export const PackageoverRequestDetail = useCrudSchemas( } } }, - { - label: '到标包数量', - field: 'toPackQty', - sort: 'custom', - table: { - width: 120 - }, - tableForm: { - // disabled: true - type:'InputNumber' - }, - form: { - component:'InputNumber', - componentProps: { - // disabled: true - } - } - }, + { label: '批次', field: 'batch', From 82906bd6a9b1c3ebc293b848d55b1dd027a27105 Mon Sep 17 00:00:00 2001 From: songguoqiang Date: Wed, 18 Jun 2025 17:55:13 +0800 Subject: [PATCH 05/12] =?UTF-8?q?=E7=9B=98=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/wms/balanceDifference/index.ts | 89 ++ src/api/wms/differenceRequestDetail/index.ts | 62 ++ src/api/wms/differenceRequestMain/index.ts | 87 ++ .../balanceDifference/balance.data.ts | 853 ++++++++++++++++++ .../balanceDifference/index.vue | 444 +++++++++ .../differenceRecord/differenceRecord.data.ts | 195 ++++ .../differenceRecord/index.vue | 273 ++++++ .../differenceRequest.data.ts | 342 +++++++ .../differenceRequest/index.vue | 476 ++++++++++ 9 files changed, 2821 insertions(+) create mode 100644 src/api/wms/balanceDifference/index.ts create mode 100644 src/api/wms/differenceRequestDetail/index.ts create mode 100644 src/api/wms/differenceRequestMain/index.ts create mode 100644 src/views/wms/inventoryManage/balanceDifference/balance.data.ts create mode 100644 src/views/wms/inventoryManage/balanceDifference/index.vue create mode 100644 src/views/wms/inventoryManage/differenceRecord/differenceRecord.data.ts create mode 100644 src/views/wms/inventoryManage/differenceRecord/index.vue create mode 100644 src/views/wms/inventoryManage/differenceRequest/differenceRequest.data.ts create mode 100644 src/views/wms/inventoryManage/differenceRequest/index.vue diff --git a/src/api/wms/balanceDifference/index.ts b/src/api/wms/balanceDifference/index.ts new file mode 100644 index 000000000..ec3cf977c --- /dev/null +++ b/src/api/wms/balanceDifference/index.ts @@ -0,0 +1,89 @@ +import request from '@/config/axios' + +export interface BalanceVO { + packingNumber: string + containerNumber: string + itemCode: string + batch: string + altBatch: string + arriveDate: Date + produceDate: Date + expireDate: Date + inventoryStatus: string + locationCode: string + locationGroupCode: string + areaCode: string + warehouseCode: string + erpLocationCode: string + ownerCode: string + uom: string + qty: number + lockedQty: number + usableQty: number + singlePrice: number + amount: number + putInTime: Date + frozen: string + frozenReason: string + lastTransNumber: string + weight: number + area: number + volume: number +} + +export const getTransactionBalancePage = async (params) => { + params.areaCode = "DIFF"; + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/transaction/senior', data }) + } else { + return await request.get({ url: `/wms/transaction/page_balance`, params }) + } +} + +// 查询库存余额列表(包括已冻结,已失效的物料) +export const getBalancePageAll = async (params) => { + params.locationCode = "DIFF"; + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/balanceDIFF/seniorAll', data }) + } else { + return await request.get({ url: `/wms/balanceDIFF/pageAll`, params }) + } +} + +// 导出库存余额 Excel +export const exportBalance = async (params) => { + params.locationCode = "DIFF"; + if (params.isSearch) { + const data = {...params} + return await request.downloadPost({ url: `/wms/balanceDIFF/export-excel-senior`, data }) + } else { + return await request.download({ url: `/wms/balanceDIFF/export-excel`, params }) + } +} + + +// 查询库存余额列表(包括已冻结,已失效的物料) +export const getBalancePageAllDiff = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/balanceDIFF/seniorAll', data }) + } else { + return await request.get({ url: `/wms/balanceDIFF/pageAll`, params }) + } +} +// 查询库存余额列表增加物料筛选条件 +export const getBalanceItemPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/balanceDIFF/seniorItems', data }) + } else { + return await request.get({ url: `/wms/balanceDIFF/pageItems`, params }) + } +} + diff --git a/src/api/wms/differenceRequestDetail/index.ts b/src/api/wms/differenceRequestDetail/index.ts new file mode 100644 index 000000000..669a8b057 --- /dev/null +++ b/src/api/wms/differenceRequestDetail/index.ts @@ -0,0 +1,62 @@ +import request from '@/config/axios' + +export interface DifferenceRequestDetailVO { + id: number + packingNumber: string + containerNumber: string + batch: string + fromLocationCode: string + inventoryStatus: string + masterId: number + number: string + itemCode: string + remark: string + siteId: string + itemName: string + itemDesc1: string + itemDesc2: string + qty: number + uom: string + concurrencyStamp: number +} + +// 查询差异出库申请子列表 +export const getDetailPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/difference-request-detail/senior', data }) + } else { + return await request.get({ url: `/wms/difference-request-detail/page`, params }) + } +} + +// 查询差异出库申请子详情 +export const getDetail = async (id: number) => { + return await request.get({ url: `/wms/difference-request-detail/get?id=` + id }) +} + +// 新增差异出库申请子 +export const createDetail = async (data: DifferenceRequestDetailVO) => { + return await request.post({ url: `/wms/difference-request-detail/create`, data }) +} + +// 修改差异出库申请子 +export const updateDetail = async (data: DifferenceRequestDetailVO) => { + return await request.put({ url: `/wms/difference-request-detail/update`, data }) +} + +// 删除差异出库申请子 +export const deleteDetail = async (id: number) => { + return await request.delete({ url: `/wms/difference-request-detail/delete?id=` + id }) +} + +// 导出差异出库申请子 Excel +export const exportDetail = async (params) => { + return await request.download({ url: `/wms/difference-request-detail/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/difference-request-detail/get-import-template' }) +} diff --git a/src/api/wms/differenceRequestMain/index.ts b/src/api/wms/differenceRequestMain/index.ts new file mode 100644 index 000000000..65ab44f38 --- /dev/null +++ b/src/api/wms/differenceRequestMain/index.ts @@ -0,0 +1,87 @@ +import request from '@/config/axios' + +export interface DifferenceRequestMainVO { + id: number + number: string + businessType: string + remark: string + reason: string + reasonCode: string + usageCode: string + usageDescription: string + departmentCode: string + status: string + autoCommit: string + autoAgree: string + autoExecute: string + extraProperties: string + siteId: string + requestTime: Date + dueTime: Date + concurrencyStamp: number + ruleUserId: number + serialNumber: string +} + +// 查询差异出库申请主列表 +export const getMainPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/difference-request-main/senior', data }) + } else { + return await request.get({ url: `/wms/difference-request-main/page`, params }) + } +} + +// 查询差异出库申请主详情 +export const getMain = async (id: number) => { + return await request.get({ url: `/wms/difference-request-main/get?id=` + id }) +} + +// 新增差异出库申请主 +export const createMain = async (data: DifferenceRequestMainVO) => { + return await request.post({ url: `/wms/difference-request-main/create`, data }) +} + +// 修改差异出库申请主 +export const updateMain = async (data: DifferenceRequestMainVO) => { + return await request.put({ url: `/wms/difference-request-main/update`, data }) +} + +// 删除差异出库申请主 +export const deleteMain = async (id: number) => { + return await request.delete({ url: `/wms/difference-request-main/delete?id=` + id }) +} + +// 导出差异出库申请主 Excel +export const exportMain = async (params) => { + return await request.download({ url: `/wms/difference-request-main/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/difference-request-main/get-import-template' }) +} + +// 关闭 +export const closeMain = async (id: number) => { + return await request.put({ url: `/wms/difference-request-main/close?id=` + id }) +} +// 提交 +export const submitMain = async (id: number) => { + return await request.put({ url: `/wms/difference-request-main/submit?id=` + id }) +} +// 处理 +export const handleMain = async (id: number) => { + return await request.put({ url: `/wms/difference-request-main/handle?id=` + id }) +} +// 审批通过 +export const agreeMain = async (id: number) => { + return await request.put({ url: `/wms/difference-request-main/agree?id=` + id }) +} +//审批拒绝 +export const abortMain = async (id: number) => { + return await request.put({ url: `/wms/difference-request-main/refused?id=` + id }) +} + diff --git a/src/views/wms/inventoryManage/balanceDifference/balance.data.ts b/src/views/wms/inventoryManage/balanceDifference/balance.data.ts new file mode 100644 index 000000000..8b1edc9c1 --- /dev/null +++ b/src/views/wms/inventoryManage/balanceDifference/balance.data.ts @@ -0,0 +1,853 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter, dateFormatter2 } from '@/utils/formatTime' + +/** + * @returns {Array} 库存余额 + */ +export const Balance = useCrudSchemas( + reactive([ + { + label: '物料代码', + field: 'itemCode', + sort: 'custom', + table: { + width: 150 + }, + isSearch: true + }, + { + label: '物料名称', + field: 'itemName', + sort: 'custom', + table: { + width: 150 + }, + isSearch: true + }, + { + label: '物料描述1', + field: 'itemDesc1', + sort: 'custom', + table: { + width: 150 + }, + hiddenSearchHigh: true,// 高级筛选中隐藏 + // isSearch: true + }, + { + label: '物料描述2', + field: 'itemDesc2', + sort: 'custom', + table: { + width: 150 + }, + hiddenSearchHigh: true,// 高级筛选中隐藏 + // isSearch: true + }, + { + label: '物料类型', + field: 'itemType', + sort: 'custom', + dictType: DICT_TYPE.ITEM_TYPE, + dictClass: 'string', + isSearch: true, + table: { + width: 100 + } + }, + { + label: '批次', + field: 'batch', + sort: 'custom', + table: { + width: 150 + }, + isSearch: true + }, + { + label: '供应商批次', + field: 'altBatch', + sort: 'custom', + table: { + width: 150 + }, + isSearch: false, + isTable:false, + isDetail:false, + isForm:false + }, + { + label: '包装号', + field: 'packingNumber', + sort: 'custom', + table: { + width: 150 + }, + // isSearch: true + }, + // { + // label: '包装规格', + // field: 'packUnit', + // sort: 'custom', + // table: { + // width: 150 + // } + // }, + // { + // label: '包装数量', + // field: 'packQty', + // sort: 'custom', + // table: { + // width: 150 + // } + // }, + // { + // label: '器具代码', + // field: 'containerNumber', + // sort: 'custom', + // table: { + // width: 150 + // }, + // isTable:false + // }, + { + label: '库存数量', + field: 'qty', + sort: 'custom', + table: { + width: 150 + }, + form: { + component: 'InputNumber' + } + }, + // { + // label: '器具号', + // field: 'containerNumber', + // sort: 'custom', + // table: { + // width: 150 + // }, + // }, + + { + label: '计量单位', + field: 'uom', + dictType: DICT_TYPE.UOM, + dictClass: 'string', + isTable: true, + sort: 'custom', + table: { + width: 150 + } + }, + { + label: '库位代码', + field: 'locationCode', + sort: 'custom', + table: { + width: 150 + }, + // isSearch: true + }, + { + label: '库存状态', + field: 'inventoryStatus', + dictType: DICT_TYPE.INVENTORY_STATUS, + dictClass: 'string', + isTable: true, + sort: 'custom', + table: { + width: 150 + } + }, + // { + // label: '库区类型', + // field: 'areaType', + // sort: 'custom', + // dictType: DICT_TYPE.AREA_TYPE, + // dictClass: 'string', + // isTable: true, + // table: { + // width: 150 + // } + // }, + + // { + // label: '仓库代码', + // field: 'warehouseCode', + // sort: 'custom', + // table: { + // width: 150 + // } + // }, + // { + // label: '库位组代码', + // field: 'locationGroupCode', + // sort: 'custom', + // table: { + // width: 150 + // } + // }, + // { + // label: '库区代码', + // field: 'areaCode', + // sort: 'custom', + // table: { + // width: 150 + // } + // }, + // { + // label: 'ERP库位代码', + // field: 'erpLocationCode', + // dictType: DICT_TYPE.ERP_LOCATION, + // dictClass: 'string', + // isTable: false, + // sort: 'custom', + // table: { + // width: 150 + // }, + // }, + // { + // label: '替代批次', + // field: 'altBatch', + // sort: 'custom', + // table: { + // width: 150 + // }, + // isTable: false, + // }, + // { + // label: '标准体积', + // field: 'standardVolume', + // sort: 'custom', + // form: { + // component: 'InputNumber', + // value: 0, + // componentProps: { + // min: 0, + // precision:2 + // } + // }, + // table:{ + // width: 120 + // } + // }, + // { + // label: '到货日期', + // field: 'arriveDate', + // isTable: true, + // formatter: dateFormatter2, + // detail: { + // dateFormat: 'YYYY-MM-DD' + // }, + // sort: 'custom', + // table: { + // width: 150 + // }, + // form: { + // component: 'DatePicker', + // componentProps: { + // style: { width: '100%' }, + // type: 'date', + // dateFormat: 'YYYY-MM-DD', + // valueFormat: 'x' + // } + // } + // }, + // { + // label: '生产日期', + // field: 'produceDate', + // isTable: true, + // formatter: dateFormatter2, + // detail: { + // dateFormat: 'YYYY-MM-DD' + // }, + // sort: 'custom', + // table: { + // width: 150 + // }, + // form: { + // component: 'DatePicker', + // componentProps: { + // style: { width: '100%' }, + // type: 'date', + // dateFormat: 'YYYY-MM-DD', + // valueFormat: 'x' + // } + // } + // }, + // { + // label: '失效日期', + // field: 'expireDate', + // isTable: true, + // formatter: dateFormatter2, + // detail: { + // dateFormat: 'YYYY-MM-DD' + // }, + // sort: 'custom', + // table: { + // width: 150 + // }, + // form: { + // component: 'DatePicker', + // componentProps: { + // style: { width: '100%' }, + // type: 'date', + // dateFormat: 'YYYY-MM-DD', + // valueFormat: 'x' + // } + // } + // }, + // { + // label: '货主代码', + // field: 'ownerCode', + // sort: 'custom', + // table: { + // width: 150 + // }, + // isTable: false + // }, + // { + // label: '锁定数量', + // field: 'lockedQty', + // sort: 'custom', + // table: { + // width: 150 + // }, + // isTable: false, + // form: { + // component: 'InputNumber' + // } + // }, + // { + // label: '可用数量', + // field: 'usableQty', + // sort: 'custom', + // table: { + // width: 150 + // }, + // form: { + // component: 'InputNumber', + // } + // }, + // { + // label: '单价', + // field: 'singlePrice', + // sort: 'custom', + // table: { + // width: 150 + // }, + // form: { + // component: 'InputNumber', + // } + // }, + // { + // label: '金额', + // field: 'amount', + // sort: 'custom', + // table: { + // width: 150 + // }, + // form: { + // component: 'InputNumber', + // } + // }, + // { + // label: '入库时间', + // field: 'putInTime', + // isTable: true, + // formatter: dateFormatter, + // detail: { + // dateFormat: 'YYYY-MM-DD HH:mm:ss' + // }, + // sort: 'custom', + // table: { + // width: 150 + // }, + // form: { + // component: 'DatePicker', + // componentProps: { + // type: 'datetime', + // } + // } + // }, + // { + // label: '是否冻结', + // field: 'frozen', + // dictType: DICT_TYPE.TRUE_FALSE, + // dictClass: 'string', + // isTable: true, + // sort: 'custom', + // table: { + // width: 150 + // }, + // form: { + // component: 'Switch', + // value: 'TRUE', + // componentProps: { + // inactiveValue: 'FALSE', + // activeValue: 'TRUE' + // } + // } + // }, + // { + // label: '钢卷号', + // field: 'steelCoilNumber', + // sort: 'custom', + // table: { + // width: 150 + // }, + // tableForm: { + // disabled: false + // }, + // isTable:false, + // isDetail:false, + // isForm:false + // }, + // { + // label: '炉号', + // field: 'heatNumber', + // sort: 'custom', + // table: { + // width: 150 + // }, + // tableForm: { + // disabled: false + // }, + // isTable:false, + // isDetail:false, + // isForm:false + // }, + // { + // label: '热处理日期', + // field: 'heatTreatmentDate', + // formatter: dateFormatter2, + // detail: { + // dateFormat: 'YYYY-MM-DD' + // }, + // sort: 'custom', + // table: { + // width: 180 + // }, + // form: { + // component: 'DatePicker', + // componentProps: { + // style: {width: '100%'}, + // type: 'date', + // dateFormat: 'YYYY-MM-DD', + // valueFormat: 'x', + // } + // }, + // tableForm: { + // type: 'FormDate', + // dateFormat: 'YYYY-MM-DD', + // valueFormat: 'x', + // }, + // isTable:false, + // isDetail:false, + // isForm:false + // }, + // { + // label: '有效日期', + // field: 'effectiveDate', + // formatter: dateFormatter2, + // detail: { + // dateFormat: 'YYYY-MM-DD' + // }, + // sort: 'custom', + // table: { + // width: 180 + // }, + // form: { + // component: 'DatePicker', + // componentProps: { + // style: {width: '100%'}, + // type: 'date', + // dateFormat: 'YYYY-MM-DD', + // valueFormat: 'x', + // } + // }, + // tableForm: { + // type: 'FormDate', + // dateFormat: 'YYYY-MM-DD', + // valueFormat: 'x', + // }, + // isTable:false, + // isDetail:false, + // isForm:false + // }, + // { + // label: '冻结原因', + // field: 'frozenReason', + // dictType: DICT_TYPE.FROZEN_REASON, + // dictClass: 'string', + // isTable: true, + // sort: 'custom', + // table: { + // width: 150 + // }, + // }, + // { + // label: '重量', + // field: 'weight', + // sort: 'custom', + // table: { + // width: 150 + // }, + // form: { + // component: 'InputNumber', + // } + // }, + // { + // label: '面积', + // field: 'area', + // sort: 'custom', + // table: { + // width: 150 + // }, + // form: { + // component: 'InputNumber', + // } + // }, + // { + // label: '体积', + // field: 'volume', + // sort: 'custom', + // table: { + // width: 150 + // }, + // form: { + // component: 'InputNumber', + // } + // }, + // { + // label: '最后事务号', + // field: 'lastTransNumber', + // sort: 'custom', + // table: { + // width: 150 + // } + // }, + { + label: '创建人', + field: 'creator', + sort: 'custom', + table: { + width: 150 + }, + isForm: false + }, + { + label: '创建时间', + field: 'createTime', + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + style: { width: '100%' }, + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x' + } + }, + isForm: false, + isSearch: true, + search: { + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD HH:mm:ss', + type: 'datetimerange', + defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + } + } + // }, + // { + // label: '最后更新时间', + // field: 'updateTime', + // formatter: dateFormatter, + // detail: { + // dateFormat: 'YYYY-MM-DD HH:mm:ss' + // }, + // sort: 'custom', + // table: { + // width: 180 + // }, + // form: { + // component: 'DatePicker', + // componentProps: { + // type: 'datetime', + // dateFormat: 'YYYY-MM-DD HH:mm:ss', + // valueFormat: 'x' + // } + // }, + // isForm: false, + // isTable: true + // }, + // { + // label: '最后更新者', + // field: 'updater', + // sort: 'custom', + // table: { + // width: 150 + // }, + // isForm: false, + // isTable: true + // }, + // // TODO: 临时添加 方便操作 + // { + // label: '操作', + // field: 'action', + // isDetail: false, + // isForm: false, + // table: { + // width: 250, + // fixed: 'right' + // } + } + ]) +) + + +export const TransactionTab = useCrudSchemas(reactive([ + { + label: 'id', + field: 'id', + sort: 'custom', + isTable: true, + isForm: true, + isDetail:true, + }, + { + label: '创建时间', + field: 'createTime', + isTable: true, + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + table: { + width: 150 + }, + form: { + component: 'DatePicker', + componentProps: { + style: {width: '100%'}, + type: 'date', + dateFormat: 'YYYY-MM-DD', + valueFormat: 'x', + } + }, + isSearch: true, + 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')] + } + }, + }, + { + label: '业务类型', + field: 'businessType', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '事务类型', + field: 'transactionType', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '库存动作', + field: 'inventoryAction', + dictType: DICT_TYPE.INVENTORY_ACTION, + dictClass: 'string', + isTable: true, + isSearch: true, + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '业务记录号', + field: 'recordNumber', + sort: 'custom', + isTable: true, + isSearch: true, + table: { + width: 180 + }, + }, + { + label: '包装号', + field: 'packingNumber', + sort: 'custom', + table: { + width: 150 + }, + isSearch: true, + }, + { + label: '物料代码', + field: 'itemCode', + sort: 'custom', + table: { + width: 150 + }, + isSearch: true, + }, + { + label: '批次', + field: 'batch', + sort: 'custom', + table: { + width: 150 + }, + isSearch: true, + }, + { + label: '替代批次', + field: 'altBatch', + sort: 'custom', + table: { + width: 150 + }, + isSearch: true, + }, + { + label: '库位代码', + field: 'locationCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '库存状态', + field: 'inventoryStatus', + dictType: DICT_TYPE.INVENTORY_STATUS, + dictClass: 'string', + isTable: true, + isSearch: true, + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '数量', + field: 'qty', + sort: 'custom', + table: { + width: 150 + }, + form: { + component: 'InputNumber', + } + }, + { + label: '事务号', + field: 'number', + sort: 'custom', + table: { + width: 180 + }, + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: true + } + +])) +export const MesRawMaterialConsumptionInfo = useCrudSchemas(reactive([ + + + + { + label: '物品代码', + field: 'itemCode', + sort: 'custom', + + isSearch: true + }, + { + label: '物品名称', + field: 'itemName', + sort: 'custom', + + }, + { + label: '包装号', + field: 'packingNumber', + sort: 'custom', + + isSearch: true + }, + + { + label: 'DMC码', + field: 'dmcCode', + sort: 'custom', + + isSearch: true + }, + + { + label: '激光码', + field: 'laserCode', + sort: 'custom', + + isSearch: true + }, + { + label: '生产日期', + field: 'produceDate', + formatter: dateFormatter, + isSearch: true, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + + }, + +])) +// 表单校验 +export const BalanceRules = reactive({ + packingNumber: [ + { required: true, message: '请选择包装号', trigger: 'change' } + ], + // containerNumber: [ + // { required: true, message: '请选择器具号', trigger: 'change' } + // ], + itemCode: [ + { required: true, message: '请选择物料代码', trigger: 'change' } + ], + batch: [ + { required: true, message: '请输入批次', trigger: 'blur' } + ], + arriveDate: [ + { required: true, message: '请选择到货日期', trigger: 'change' } + ], + produceDate: [ + { required: true, message: '请选择生产日期', trigger: 'change' } + ], +}) diff --git a/src/views/wms/inventoryManage/balanceDifference/index.vue b/src/views/wms/inventoryManage/balanceDifference/index.vue new file mode 100644 index 000000000..53832e1db --- /dev/null +++ b/src/views/wms/inventoryManage/balanceDifference/index.vue @@ -0,0 +1,444 @@ + + + diff --git a/src/views/wms/inventoryManage/differenceRecord/differenceRecord.data.ts b/src/views/wms/inventoryManage/differenceRecord/differenceRecord.data.ts new file mode 100644 index 000000000..c00a24bd4 --- /dev/null +++ b/src/views/wms/inventoryManage/differenceRecord/differenceRecord.data.ts @@ -0,0 +1,195 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' +// 表单校验 +export const DifferenceRecordMainRules = reactive({ + autoCommit: [required], + autoAgree: [required], + autoExecute: [required], + concurrencyStamp: [required] +}) + +export const DifferenceRecordMain = useCrudSchemas( + reactive([ + { + label: '单据号', + field: 'number', + sort: 'custom', + isSearch: true, + table: { + width: 180, + // fixed: 'right' + } + }, + { + label: '申请单据号', + field: 'requestNumber', + sort: 'custom', + isSearch: true, + table: { + width: 180, + // fixed: 'right' + } + } + // { + // label: '申请时间', + // field: 'requestTime', + // 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: 'dueTime', + // sort: 'custom', + // formatter: dateFormatter, + // // isSearch: true, + // 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' + // } + // } + // }, + ]) +) +// 表单校验 +export const DifferenceRecordDetailRules = reactive({ + batch: [required], + fromLocationCode: [required], + inventoryStatus: [required], + masterId: [required], + itemCode: [required], + concurrencyStamp: [required] +}) + +export const DifferenceRecordDetail = useCrudSchemas( + reactive([ + { + label: '物料代码', + field: 'itemCode', + sort: 'custom',table: { + width: 150 + }, + isSearch: true + }, + { + label: '物料名称', + field: 'itemName', + sort: 'custom', + table: { + width: 150 + }, + isSearch: true + }, + { + label: '物料描述1', + field: 'itemDesc1', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '物料描述2', + field: 'itemDesc2', + sort: 'custom', + table: { + width: 150 + }, + }, + // { + // label: '物料类型', + // dictType: DICT_TYPE.ITEM_TYPE, + // field: 'itemType', + // // hiddenInMain: true, + // // isSearch: true, + // // tableForm: { + // // type: 'Select', + // // disabled: true + // // }, + // width: 100 + // }, + { + label: '出库数量', + field: 'qty', + sort: 'custom', + }, + { + label: '计量单位', + field: 'uom', + dictType: DICT_TYPE.UOM, + dictClass: 'string', + sort: 'custom', + }, + { + label: '批次', + field: 'batch', + sort: 'custom', + isSearch: true + }, + { + label: '包装号', + field: 'packingNumber', + sort: 'custom', + }, + { + label: '库存状态', + field: 'inventoryStatus', + dictType: DICT_TYPE.INVENTORY_STATUS, + dictClass: 'string', + sort: 'custom', + form: { + component: 'Radio' + } + }, + { + label: '从库位代码', + field: 'fromLocationCode', + sort: 'custom', + }, + { + label: '创建者', + field: 'creator', + sort: 'custom', + }, + { + label: '创建时间', + field: 'createTime', + sort: 'custom', + formatter: dateFormatter, + isSearch: true, + 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 + } + ]) +) diff --git a/src/views/wms/inventoryManage/differenceRecord/index.vue b/src/views/wms/inventoryManage/differenceRecord/index.vue new file mode 100644 index 000000000..399f6b4b5 --- /dev/null +++ b/src/views/wms/inventoryManage/differenceRecord/index.vue @@ -0,0 +1,273 @@ + + + diff --git a/src/views/wms/inventoryManage/differenceRequest/differenceRequest.data.ts b/src/views/wms/inventoryManage/differenceRequest/differenceRequest.data.ts new file mode 100644 index 000000000..d251ad2e7 --- /dev/null +++ b/src/views/wms/inventoryManage/differenceRequest/differenceRequest.data.ts @@ -0,0 +1,342 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' +import * as LocationApi from '@/api/dbc/location' +import { Location } from '@/views/dbc/location/location.data' +import * as BalanceApi from '@/api/wms/balanceDifference' +import { Balance } from '@/views/wms/inventoryManage/balance/balance.data' + +// 表单校验 +export const DifferenceRequestMainRules = reactive({ + // toLocationCode: [required] +}) + +export const DifferenceRequestMain = useCrudSchemas( + reactive([ + { + label: '单据号', + field: 'number', + sort: 'custom', + isSearch: true, + isForm: false, + table: { + width: 200, + // fixed: 'right' + } + }, + { + label: '状态', + field: 'status', + dictType: DICT_TYPE.REQUEST_STATUS, + dictClass: 'string', + sort: 'custom', + isSearch: true, + isForm: false, + table: { + width: 100, + // fixed: 'right' + } + }, + // { + // label: '到库位代码', + // field: 'toLocationCode', + // sort: 'custom', + // table: { + // width: 150 + // }, + // // isSearch: true, + // isForm: false, + // isTable: false, + // form: { + // // labelMessage: '信息提示说明!!!', + // componentProps: { + // enterSearch: false, + // isSearchList: true, // 开启查询弹窗 + // searchListPlaceholder: '请选择到库位代码', // 输入框占位文本 + // searchField: 'code', // 查询弹窗赋值字段 + // searchTitle: '到库位代码', // 查询弹窗标题 + // searchAllSchemas: Location.allSchemas, // 查询弹窗所需类 + // searchPage: LocationApi.selectBusinessTypeOutLocation, // 查询弹窗所需分页方法 + // searchCondition: [ + // { + // key: 'businessType', + // value: 'CustomerReject', + // isMainValue: false + // }, + // { + // key: 'isIn', + // value: 'in', + // isMainValue: false + // } + // ], + // verificationParams: [ + // { + // key: 'code', + // action: '==', + // value: '', + // isMainValue: false, + // isSearch: true, + // isFormModel: true + // } + // ] // 失去焦点校验参数 + // } + // } + // }, + ]) +) + +// 表单校验 +export const DifferenceRequestDetailRules = reactive({ + itemCode: [required] +}) + +export const DifferenceRequestDetail = useCrudSchemas( + reactive([ + { + label: '物料代码', + field: 'itemCode', + sort: 'custom', + isSearch: true, + table: { + width: 150 + }, + tableForm: { + multiple: true, //多选 + disabled: true, + isInpuFocusShow: false, // 开启查询弹窗 + searchListPlaceholder: '请输入包装号', + searchField: 'itemCode', + searchTitle: '库存余额信息', + searchAllSchemas: Balance.allSchemas, + searchPage: BalanceApi.getBalanceItemPage, + searchCondition: [ + { + key: 'available', + value: 'TRUE', + action: '==', + isSearch: true, + isMainValue: false + }, + { + key: 'businessType', + value: 'UnplannedDeliver', + action: '==', + isSearch: true, + isMainValue: false + }, + { + key: 'inOrOut', + value: 'out', + action: '==', + isSearch: true, + isMainValue: false + }, + { + key: 'locationCode', + value: 'DIFF', + action: '==', + isSearch: true, + isMainValue: false + } + ] + }, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请输入包装号', + searchField: 'packingNumber', + searchTitle: '库存余额信息', + searchAllSchemas: Balance.allSchemas, + searchPage: BalanceApi.getBalanceItemPage, + searchCondition: [ + { + key: 'available', + value: 'TRUE', + action: '==', + isSearch: true, + isMainValue: false + }, + { + key: 'businessType', + value: 'UnplannedDeliver', + action: '==', + isSearch: true, + isMainValue: false + }, + { + key: 'inOrOut', + value: 'out', + action: '==', + isSearch: true, + isMainValue: false + },{ + key: 'locationCode', + value: 'DIFF', + action: '==', + isSearch: true, + isMainValue: false + } + ] + } + } + }, + { + label: '物料名称', + field: 'itemName', + sort: 'custom', + isSearch: true, + table: { + width: 150 + }, + tableForm: { + disabled: true + } + }, + { + label: '物料描述1', + field: 'itemDesc1', + sort: 'custom', + table: { + width: 150 + }, + tableForm: { + disabled: true + } + }, + { + label: '物料描述2', + field: 'itemDesc2', + sort: 'custom', + table: { + width: 150 + }, + isTableForm: false, + tableForm: { + disabled: true + } + }, + // { + // label: '物料类型', + // dictType: DICT_TYPE.ITEM_TYPE, + // field: 'itemType', + // // hiddenInMain: true, + // // isSearch: true, + // // tableForm: { + // // type: 'Select', + // // disabled: true + // // }, + // width: 100 + // }, + { + label: '计量单位', + field: 'uom', + dictType: DICT_TYPE.UOM, + dictClass: 'string', + isTable: true, + sort: 'custom', + table: { + width: 150 + }, + tableForm: { + type: 'Select', + disabled: true + } + }, + { + label: '出库数量', + field: 'requestQty', + sort: 'custom', + tableForm: { + type: 'InputNumber', + componentProps: { + min: 0, + precision: 2 + } + } + }, + { + label: '批次', + field: 'batch', + sort: 'custom', + isSearch: true, + tableForm: { + disabled: true + } + }, + { + label: '包装号', + field: 'packingNumber', + sort: 'custom', + // isSearch: true, + tableForm: { + disabled: true + } + }, + { + label: '库存状态', + field: 'inventoryStatus', + dictType: DICT_TYPE.INVENTORY_STATUS, + dictClass: 'string', + sort: 'custom', + // isSearch: true, + tableForm: { + type: 'Select', + disabled: true + } + }, + { + label: '从库位代码', + field: 'fromLocationCode', + sort: 'custom', + // isSearch: true + isTableForm: false, + tableForm: { + disabled: true + } + }, + { + label: '创建时间', + field: 'createTime', + sort: 'custom', + formatter: dateFormatter, + isSearch: true, + 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')] + } + }, + isTableForm: false, + isForm: false, + tableForm: { + disabled: true + } + }, + { + label: '创建人', + field: 'creator', + isForm: false, + isDetail: false, + isTableForm: false, + tableForm: { + disabled: true + } + }, + { + label: '操作', + field: 'action', + isForm: false, + isDetail: false, + table: { + width: 200, + fixed: 'right' + }, + isTableForm: false, + tableForm: { + disabled: true + } + } + ]) +) diff --git a/src/views/wms/inventoryManage/differenceRequest/index.vue b/src/views/wms/inventoryManage/differenceRequest/index.vue new file mode 100644 index 000000000..060191b22 --- /dev/null +++ b/src/views/wms/inventoryManage/differenceRequest/index.vue @@ -0,0 +1,476 @@ + + + From 2cf95b174c85093cae61be347341a5ad3255f723 Mon Sep 17 00:00:00 2001 From: songguoqiang Date: Wed, 18 Jun 2025 18:46:48 +0800 Subject: [PATCH 06/12] =?UTF-8?q?YT-2772=EF=BC=9A=E8=A1=A5=E6=96=99?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=92=8C=E8=A1=A5=E6=96=99=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E4=B8=BB=E6=95=B0=E6=8D=AE=E4=B8=AD=E9=83=A8=E9=97=A8=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E4=B8=8D=E6=AD=A3=E7=A1=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repleinsh/repleinshJobMain/index.vue | 6 ++- .../repleinshJobMain/repleinshJobMain.data.ts | 52 +++++++++++++++---- .../repleinsh/repleinshRecordMain/index.vue | 6 ++- .../repleinshRecordMain.data.ts | 52 +++++++++++++++---- .../repleinshRequestMain.data.ts | 19 +++++++ 5 files changed, 115 insertions(+), 20 deletions(-) diff --git a/src/views/wms/issueManage/repleinsh/repleinshJobMain/index.vue b/src/views/wms/issueManage/repleinsh/repleinshJobMain/index.vue index 021c4b9f2..a7a159cd1 100644 --- a/src/views/wms/issueManage/repleinsh/repleinshJobMain/index.vue +++ b/src/views/wms/issueManage/repleinsh/repleinshJobMain/index.vue @@ -75,6 +75,7 @@ import * as RepleinshJobDetailApi from '@/api/wms/repleinshJobDetail' import * as defaultButtons from '@/utils/disposition/defaultButtons' import { formatDate } from '@/utils/formatTime' import { usePageLoading } from '@/hooks/web/usePageLoading' +import { CACHE_KEY, useCache } from '@/hooks/web/useCache' const { loadStart, loadDone } = usePageLoading() // 补料任务主 defineOptions({ name: 'RepleinshJobMain' }) @@ -314,10 +315,13 @@ const buttonTableClick = async (val, row) => { buttonBaseClick('refresh',null) } } - +// 获取部门 用于详情 部门回显 +const { wsCache } = useCache() /** 详情操作 */ const detailRef = ref() const openDetail = (row: any, titleName: any, titleValue: any) => { + const departmentCode = wsCache.get(CACHE_KEY.DEPT).find((account) => account.id == row.departmentCode)?.name + if (departmentCode) row.departmentCode = JSON.parse(JSON.stringify(departmentCode)) detailRef.value.openDetail(row, titleName, titleValue,"jobRepleinshMain") } diff --git a/src/views/wms/issueManage/repleinsh/repleinshJobMain/repleinshJobMain.data.ts b/src/views/wms/issueManage/repleinsh/repleinshJobMain/repleinshJobMain.data.ts index edf65acf1..e111651d3 100644 --- a/src/views/wms/issueManage/repleinsh/repleinshJobMain/repleinshJobMain.data.ts +++ b/src/views/wms/issueManage/repleinsh/repleinshJobMain/repleinshJobMain.data.ts @@ -1,6 +1,24 @@ import type { CrudSchema } from '@/hooks/web/useCrudSchemas' import { dateFormatter } from '@/utils/formatTime' - +import * as getRequestsettingApi from '@/api/wms/requestsetting/index' +// 获取自动提交自动通过自动执行,跳过任务直接删生成记录的默认值 +const queryParams = { + pageSize: 10, + pageNo: 1, + code: 'RepleinmentRequest', + businessTypeCode: 'Repleinment' +} +const data = await getRequestsettingApi.getRequestsettingPage(queryParams) +const requestsettingData = data?.list[0] || {} +// 获取当前操作人的部门 +import { useUserStore } from '@/store/modules/user' +import { TableColumn } from '@/types/table' +import { getLocationPageRepleinsh } from '@/api/wms/location' +const userStore = useUserStore() +const userDept = userStore.userSelfInfo.dept +// id 转str 否则form回显匹配不到 +userDept.id = userDept.id.toString() +const userDeptArray: any = [userDept] /** * @returns {Array} 补料任务主表 */ @@ -225,14 +243,30 @@ export const RepleinshJobMain = useCrudSchemas(reactive([ }, }, { - label: '部门', - field: 'departmentCode', - sort: 'custom', - table: { - width: 150 - }, - isTable: false, - }, + label: '部门', + field: 'departmentCode', + sort: 'custom', + isForm: false, + table: { + width: 150 + }, + isTable: false, + formatter: (_: Recordable, __: TableColumn, cellValue: number) => { + return userDeptArray.find((account) => account.id == cellValue)?.name + }, + form: { + value: userDept.id, + component: 'Select', + api: () => userDeptArray, + componentProps: { + disabled: true, + optionsAlias: { + labelField: 'name', + valueField: 'id' + } + } + } + }, { label: '承接时间', field: 'acceptTime', diff --git a/src/views/wms/issueManage/repleinsh/repleinshRecordMain/index.vue b/src/views/wms/issueManage/repleinsh/repleinshRecordMain/index.vue index 014fc6f0c..d76786bc2 100644 --- a/src/views/wms/issueManage/repleinsh/repleinshRecordMain/index.vue +++ b/src/views/wms/issueManage/repleinsh/repleinshRecordMain/index.vue @@ -69,6 +69,7 @@ import * as RepleinshRecordDetailApi from '@/api/wms/repleinshRecordDetail' import * as defaultButtons from '@/utils/disposition/defaultButtons' import { formatDate } from '@/utils/formatTime' import { usePageLoading } from '@/hooks/web/usePageLoading' +import { CACHE_KEY, useCache } from '@/hooks/web/useCache' const { loadStart, loadDone } = usePageLoading() // 补料记录主 defineOptions({ name: 'RepleinshRecordMain' }) @@ -139,10 +140,13 @@ const butttondata = (row,$index) => { // 列表-操作按钮事件 const buttonTableClick = async (val, row) => { } - +// 获取部门 用于详情 部门回显 +const { wsCache } = useCache() /** 详情操作 */ const detailRef = ref() const openDetail = (row: any, titleName: any, titleValue: any) => { + const departmentCode = wsCache.get(CACHE_KEY.DEPT).find((account) => account.id == row.departmentCode)?.name + if (departmentCode) row.departmentCode = JSON.parse(JSON.stringify(departmentCode)) detailRef.value.openDetail(row, titleName, titleValue,"record_repleinsh_main") } diff --git a/src/views/wms/issueManage/repleinsh/repleinshRecordMain/repleinshRecordMain.data.ts b/src/views/wms/issueManage/repleinsh/repleinshRecordMain/repleinshRecordMain.data.ts index 852be8c4a..df93c12c3 100644 --- a/src/views/wms/issueManage/repleinsh/repleinshRecordMain/repleinshRecordMain.data.ts +++ b/src/views/wms/issueManage/repleinsh/repleinshRecordMain/repleinshRecordMain.data.ts @@ -1,6 +1,24 @@ import type { CrudSchema } from '@/hooks/web/useCrudSchemas' import { dateFormatter,dateFormatter2 } from '@/utils/formatTime' - +import * as getRequestsettingApi from '@/api/wms/requestsetting/index' +// 获取自动提交自动通过自动执行,跳过任务直接删生成记录的默认值 +const queryParams = { + pageSize: 10, + pageNo: 1, + code: 'RepleinmentRequest', + businessTypeCode: 'Repleinment' +} +const data = await getRequestsettingApi.getRequestsettingPage(queryParams) +const requestsettingData = data?.list[0] || {} +// 获取当前操作人的部门 +import { useUserStore } from '@/store/modules/user' +import { TableColumn } from '@/types/table' +import { getLocationPageRepleinsh } from '@/api/wms/location' +const userStore = useUserStore() +const userDept = userStore.userSelfInfo.dept +// id 转str 否则form回显匹配不到 +userDept.id = userDept.id.toString() +const userDeptArray: any = [userDept] /** * @returns {Array} 补料记录主表 */ @@ -225,14 +243,30 @@ export const RepleinshRecordMain = useCrudSchemas(reactive([ }, }, { - label: '部门代码', - field: 'departmentCode', - sort: 'custom', - table: { - width: 150 - }, - isTable: false, - }, + label: '部门', + field: 'departmentCode', + sort: 'custom', + isForm: false, + table: { + width: 150 + }, + isTable: false, + formatter: (_: Recordable, __: TableColumn, cellValue: number) => { + return userDeptArray.find((account) => account.id == cellValue)?.name + }, + form: { + value: userDept.id, + component: 'Select', + api: () => userDeptArray, + componentProps: { + disabled: true, + optionsAlias: { + labelField: 'name', + valueField: 'id' + } + } + } + }, { label: '接口类型', field: 'interfaceType', diff --git a/src/views/wms/issueManage/repleinsh/repleinshRequestMain/repleinshRequestMain.data.ts b/src/views/wms/issueManage/repleinsh/repleinshRequestMain/repleinshRequestMain.data.ts index 8d0b13269..266b0e351 100644 --- a/src/views/wms/issueManage/repleinsh/repleinshRequestMain/repleinshRequestMain.data.ts +++ b/src/views/wms/issueManage/repleinsh/repleinshRequestMain/repleinshRequestMain.data.ts @@ -645,6 +645,7 @@ export const RepleinshRequestMainRules = reactive({ toAreaTypes: [{ required: true, message: '请选择到库区类型范围', trigger: 'change' }], departmentCode: [{ required: true, message: '请输入部门', trigger: 'blur' }], day: [{ required: true, message: '请选择日期时间', trigger: 'blur' }], + deliNo: [{ required: true, message: '请选择便次', trigger: 'blur' }], autoCommit: [{ required: true, message: '请选择是否自动提交', trigger: 'change' }], autoAgree: [{ required: true, message: '请选择是否自动通过', trigger: 'change' }], autoExecute: [{ required: true, message: '请选择是否自动执行', trigger: 'change' }], @@ -926,6 +927,24 @@ export const RepleinshRequestDetail = useCrudSchemas( }, isTable: true, }, + { + label: '来源库位', + field: 'fromLocationCode', + sort: 'custom', + table: { + width: 150 + }, + hiddenInMain: true, + sortSearchDefault: 1000, + // isSearch: true, + sortTableDefault: 1100, + isTableForm: false, + form: { + componentProps: { + disabled: true + } + } + }, { label: '目标库位', field: 'toLocationCode', From 7edc1706ad0c3b0284bee556a4940400e2afb102 Mon Sep 17 00:00:00 2001 From: songguoqiang Date: Wed, 18 Jun 2025 18:50:37 +0800 Subject: [PATCH 07/12] =?UTF-8?q?YT-2769=EF=BC=9A=E8=A1=A5=E6=96=99?= =?UTF-8?q?=E7=94=B3=E8=AF=B7=E6=98=8E=E7=BB=86=E4=B8=AD=E4=B8=8D=E5=BA=94?= =?UTF-8?q?=E8=AF=A5=E6=9C=89=E6=96=B0=E5=A2=9E=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wms/issueManage/repleinsh/repleinshRequestMain/index.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/src/views/wms/issueManage/repleinsh/repleinshRequestMain/index.vue b/src/views/wms/issueManage/repleinsh/repleinshRequestMain/index.vue index 617db10e6..c31ede428 100644 --- a/src/views/wms/issueManage/repleinsh/repleinshRequestMain/index.vue +++ b/src/views/wms/issueManage/repleinsh/repleinshRequestMain/index.vue @@ -72,6 +72,7 @@ :apiUpdate="RepleinshRequestDetailApi.updateRepleinshRequestDetail" :apiPage="RepleinshRequestDetailApi.getRepleinshRequestDetailPage" :apiDelete="RepleinshRequestDetailApi.deleteRepleinshRequestDetail" + :detailButtonIsShowAdd="false" @searchTableSuccessDetail="searchTableSuccessDetail" /> From b8cdaa00223b143b06da8511c5ec11f2995207b0 Mon Sep 17 00:00:00 2001 From: "YEJIAXING-PC\\lenovo" <591141169@qq.com> Date: Wed, 18 Jun 2025 19:59:56 +0800 Subject: [PATCH 08/12] =?UTF-8?q?=E5=93=81=E7=95=AA=E6=8B=89=E5=8A=A8?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basicDataManage/itemPull/itemPull.data.ts | 39 +- .../supplierManage/modelDeliTime/index.vue | 23 +- .../modelDeliTime/modelDeliTime.data.ts | 625 ++++++++++-------- 3 files changed, 388 insertions(+), 299 deletions(-) diff --git a/src/views/wms/basicDataManage/itemPull/itemPull.data.ts b/src/views/wms/basicDataManage/itemPull/itemPull.data.ts index 54455365e..a8a7342b4 100644 --- a/src/views/wms/basicDataManage/itemPull/itemPull.data.ts +++ b/src/views/wms/basicDataManage/itemPull/itemPull.data.ts @@ -4,16 +4,50 @@ import * as SupplierApi from '@/api/wms/supplier' import { Supplier } from '@/views/wms/basicDataManage/supplierManage/supplier/supplier.data' import * as ItembasicApi from '@/api/wms/itembasic' import { Itembasic } from '@/views/wms/basicDataManage/itemManage/itembasic/itembasic.data' +import * as AreaApi from '@/api/wms/areabasic' +import { Area } from '@/views/wms/basicDataManage/factoryModeling/areabasic/areabasic.data' // 表单校验 export const ItemPullRules = reactive({ - itemCode: [required], + defaultErpLocationCode: [required], replenishType: [required], pullType: [required] }) export const ItemPull = useCrudSchemas( reactive([ + { + label: 'ERP默认收货库位', + field: 'defaultErpLocationCode', + sort: 'custom', + table: { + width: 150, + fixed: 'left' + }, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + multiple: true, + enterSearch: true, + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择ERP默认收货库位', // 输入框占位文本 + searchField: 'code', // 查询弹窗赋值字段 + searchTitle: '库区信息', // 查询弹窗标题 + searchAllSchemas: Area.allSchemas, // 查询弹窗所需类 + searchPage: AreaApi.getAreaPage, // 查询弹窗所需分页方法 + verificationParams: [ + { + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true + } + ] // 失去焦点校验参数 + } + } + }, { label: '品番', field: 'itemCode', @@ -21,7 +55,7 @@ export const ItemPull = useCrudSchemas( isSearch: true, table: { width: 180, - fixed: 'left' + }, form: { // labelMessage: '信息提示说明!!!', @@ -104,7 +138,6 @@ export const ItemPull = useCrudSchemas( isSearch: true, table: { width: 150, - fixed: 'left' }, form: { // labelMessage: '信息提示说明!!!', diff --git a/src/views/wms/basicDataManage/supplierManage/modelDeliTime/index.vue b/src/views/wms/basicDataManage/supplierManage/modelDeliTime/index.vue index a67edd609..2e62f5e0c 100644 --- a/src/views/wms/basicDataManage/supplierManage/modelDeliTime/index.vue +++ b/src/views/wms/basicDataManage/supplierManage/modelDeliTime/index.vue @@ -142,7 +142,7 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row) => let tfk = JSON.parse(JSON.stringify(tableFormKeys)) tfk['code'] = item['code'] tfk['shift'] = item['shift'] - tfk['beginTime'] = item['begeinTime'] + tfk['beginTime'] = item['beginTime'] tableData.value.push(tfk) }) } @@ -389,17 +389,34 @@ const openDetail = (row: any, titleName: any, titleValue: any) => { detailRef.value.openDetail(row, titleName, titleValue, 'basicSupplierAddrDeliTimeDetail') } +/** 删除按钮操作 */ +// const handleDelete = async (id: number) => { +// try { +// // 删除的二次确认 +// await message.delConfirm() +// // 发起删除 +// await ModelDeliTimeDetailApi.deleteSupplierAddrDeliTimeDetail(id) +// message.success(t('common.delSuccess')) +// // 刷新列表 +// await getList() +// } catch {} +// } + /** 删除按钮操作 */ const handleDelete = async (id: number) => { try { // 删除的二次确认 await message.delConfirm() + tableObject.loading = true // 发起删除 await ModelDeliTimeDetailApi.deleteSupplierAddrDeliTimeDetail(id) message.success(t('common.delSuccess')) - // 刷新列表 + tableObject.loading = false + // 刷新列表 await getList() - } catch {} + } catch {}finally{ + tableObject.loading = false + } } /** 导出按钮操作 */ diff --git a/src/views/wms/basicDataManage/supplierManage/modelDeliTime/modelDeliTime.data.ts b/src/views/wms/basicDataManage/supplierManage/modelDeliTime/modelDeliTime.data.ts index b796c0be4..78e298a96 100644 --- a/src/views/wms/basicDataManage/supplierManage/modelDeliTime/modelDeliTime.data.ts +++ b/src/views/wms/basicDataManage/supplierManage/modelDeliTime/modelDeliTime.data.ts @@ -1,5 +1,4 @@ import type { CrudSchema } from '@/hooks/web/useCrudSchemas' -import { dateFormatter } from '@/utils/formatTime' import * as SupplierApi from '@/api/wms/supplier' // import {Supplier} from '@/basicDataManage/supplierManage/supplier/supplier.data' import { Supplier } from '../supplier/supplier.data' @@ -7,312 +6,289 @@ import { DeliTimeWms } from '../DeliTimeWms/deliTimeWms.data' import * as DeliTimeWmsApi from '@/api/wms/deliTimeWms' import { fa } from 'element-plus/es/locale' import * as modelDeliTimeApi from '@/api/wms/modelDeliTime' - +import { dateFormatter, dateFormatterHHMMSS } from '@/utils/formatTime' // 表单校验 export const ModelDeliTimeDetailRules = reactive({ modelShow: [required], yearAndMonthShow: [required], - delayDeli: [required], + delayDeli: [required] }) function getMonthArr() { - let dateArr = []; - let year = new Date().getFullYear(); - let month = new Date().getMonth(); + let dateArr = [] + let year = new Date().getFullYear() + let month = new Date().getMonth() const n = 12 if (n < month) { //1.nmonth的情况 - for (let i = (12 - (n - month) + 1); i <= 12; i++) { - let m1 = i < 10 ? "0" + i : i; + //2.n>month的情况 + for (let i = 12 - (n - month) + 1; i <= 12; i++) { + let m1 = i < 10 ? '0' + i : i dateArr.push({ label: year + '-' + m1, value: year + '-' + m1 - }); + }) } for (let i = 1; i <= month; i++) { - let m1 = i < 10 ? "0" + i : i; + let m1 = i < 10 ? '0' + i : i dateArr.push({ - label: (parseFloat(year) + 1) + '-' + m1, - value: (parseFloat(year) + 1) + '-' + m1, - }); + label: parseFloat(year) + 1 + '-' + m1, + value: parseFloat(year) + 1 + '-' + m1 + }) } } - return dateArr; + return dateArr } -export const ModelList = useCrudSchemas(reactive([ - { - label: '受入号', - field: 'model', - sort: 'custom', - isSearch: true, - }, -])) +export const ModelList = useCrudSchemas( + reactive([ + { + label: '受入号', + field: 'model', + sort: 'custom', + isSearch: true + } + ]) +) -export const ModelDeliTime = useCrudSchemas(reactive([ - // { - // label: '供应商代码', - // field: 'supplierCode', - // sort: 'custom', - // isSearch: true, - // form: { - // // labelMessage: '信息提示说明!!!', - // componentProps: { - // isSearchList: true, // 开启查询弹窗 - // enterSearch: true, - // searchListPlaceholder: '请选择供应商代码', // 输入框占位文本 - // searchField: 'number', // 查询弹窗赋值字段 - // searchTitle: '供应商', // 查询弹窗标题 - // searchAllSchemas: Supplier.allSchemas, // 查询弹窗所需类 - // searchPage: SupplierApi.getSupplierPageSCP, // 查询弹窗所需分页方法 - // searchCondition: [ - // { - // key: 'available', - // value: "TRUE", - // isMainValue: false - // } - // ], - // // 失去焦点校验参数 - // verificationParams: [{ - // key: 'code', - // action: '==', - // value: '', - // isMainValue: false, - // isSearch: 'true', - // isFormModel: true, - // }] - // } - // } - // }, - // { - // label: '供应商名称', - // field: 'supplierName', - // sort: 'custom', - // form :{ - // componentProps:{ - // disabled:true - // } - // }, - // }, - { - label: '受入号', - field: 'model', - sort: 'custom', - isSearch: true, - isTable: true, - isDetail: true, - // form: { - // component: 'Select', - // componentProps: { - // multiple: true, - // collapseTags: true, - // collapseTagsTooltip: true, - // maxCollapseTags: "2", - // optionsAlias: { - // labelField: 'label', - // valueField: 'value' +export const ModelDeliTime = useCrudSchemas( + reactive([ + // { + // label: '供应商代码', + // field: 'supplierCode', + // sort: 'custom', + // isSearch: true, + // form: { + // // labelMessage: '信息提示说明!!!', + // componentProps: { + // isSearchList: true, // 开启查询弹窗 + // enterSearch: true, + // searchListPlaceholder: '请选择供应商代码', // 输入框占位文本 + // searchField: 'number', // 查询弹窗赋值字段 + // searchTitle: '供应商', // 查询弹窗标题 + // searchAllSchemas: Supplier.allSchemas, // 查询弹窗所需类 + // searchPage: SupplierApi.getSupplierPageSCP, // 查询弹窗所需分页方法 + // searchCondition: [ + // { + // key: 'available', + // value: "TRUE", + // isMainValue: false + // } + // ], + // // 失去焦点校验参数 + // verificationParams: [{ + // key: 'code', + // action: '==', + // value: '', + // isMainValue: false, + // isSearch: 'true', + // isFormModel: true, + // }] // } // } - // } - form: { - // labelMessage: '信息提示说明!!!', - componentProps: { - multiple:true, - disabled:true, - enterSearch: false, - isSearchList: true, // 开启查询弹窗 - searchListPlaceholder: '请选择受入号', // 输入框占位文本 - searchField: 'model', // 查询弹窗赋值字段 - searchTitle: '受入号', // 查询弹窗标题 - searchAllSchemas: ModelList.allSchemas, // 查询弹窗所需类 - searchPage: modelDeliTimeApi.getSupplierAddrList, // 查询弹窗所需分页方法 - searchCondition: [ - { - key: 'available', - value: 'TRUE', - isMainValue: false - }, - ], - verificationParams: [ - { - key: 'itemCode', - action: '==', - value: '', - isMainValue: false, - isSearch: true, - isFormModel: true - } - ] // 失去焦点校验参数 - } - } - }, - // { - // label: '受入号', - // field: 'model', - // sort: 'custom', - // isTable: true, - // isDetail: true, - // isForm: false, - // }, - { - label: '年月', - field: 'yearAndMonthShow', - sort: 'custom', - isTable: false, - isDetail: false, - form: { - component: 'Select', - api: () => getMonthArr(), - value:[], - componentProps: { - multiple: true, - collapseTags: true, - collapseTagsTooltip: true, - maxCollapseTags:"2", - optionsAlias: { - labelField: 'label', - valueField: 'value' + // }, + // { + // label: '供应商名称', + // field: 'supplierName', + // sort: 'custom', + // form :{ + // componentProps:{ + // disabled:true + // } + // }, + // }, + { + label: '受入号', + field: 'model', + sort: 'custom', + isSearch: true, + isTable: true, + isDetail: true, + // form: { + // component: 'Select', + // componentProps: { + // multiple: true, + // collapseTags: true, + // collapseTagsTooltip: true, + // maxCollapseTags: "2", + // optionsAlias: { + // labelField: 'label', + // valueField: 'value' + // } + // } + // } + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + multiple: true, + disabled: true, + enterSearch: false, + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择受入号', // 输入框占位文本 + searchField: 'model', // 查询弹窗赋值字段 + searchTitle: '受入号', // 查询弹窗标题 + searchAllSchemas: ModelList.allSchemas, // 查询弹窗所需类 + searchPage: modelDeliTimeApi.getSupplierAddrList, // 查询弹窗所需分页方法 + searchCondition: [ + { + key: 'available', + value: 'TRUE', + isMainValue: false + } + ], + verificationParams: [ + { + key: 'itemCode', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true + } + ] // 失去焦点校验参数 } } - } - }, - { - label: '年月', - field: 'yearAndMonth', - sort: 'custom', - isTable: true, - isDetail: true, - isForm: false, - isSearch: true, - search: { - component: 'DatePicker', - componentProps: { - type: 'month', - valueFormat: 'YYYY-MM', + }, + // { + // label: '受入号', + // field: 'model', + // sort: 'custom', + // isTable: true, + // isDetail: true, + // isForm: false, + // }, + { + label: '年月', + field: 'yearAndMonthShow', + sort: 'custom', + isTable: false, + isDetail: false, + form: { + component: 'Select', + api: () => getMonthArr(), + value: [], + componentProps: { + multiple: true, + collapseTags: true, + collapseTagsTooltip: true, + maxCollapseTags: '2', + optionsAlias: { + labelField: 'label', + valueField: 'value' + } + } } }, - }, - { - label: '延迟便次', - field: 'delayDeli', - sort: 'custom', - form: { - component: 'InputNumber', - value: 0, - componentProps: { - min:0, - precision:0 + { + label: '年月', + field: 'yearAndMonth', + sort: 'custom', + isTable: true, + isDetail: true, + isForm: false, + isSearch: true, + search: { + component: 'DatePicker', + componentProps: { + type: 'month', + valueFormat: 'YYYY-MM' + } } }, - }, - { - label: '班次', - field: 'shift', - sort: 'custom', - isForm: false, - dictType: DICT_TYPE.DELISHIF, - dictClass: 'string', - }, - { - label: '编号', - field: 'code', - sort: 'custom', - isForm: 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')] + { + label: '延迟便次', + field: 'delayDeli', + sort: 'custom', + form: { + component: 'InputNumber', + value: 0, + componentProps: { + min: 0, + precision: 0 + } } }, - isForm: false, - detail: { - dateFormat: 'YYYY-MM-DD HH:mm:ss' + { + label: '班次', + field: 'shift', + sort: 'custom', + isForm: false, + dictType: DICT_TYPE.DELISHIF, + dictClass: 'string' }, - }, - { - label: '操作', - field: 'action', - isForm: false, - isDetail:false, - table: { - width: 150, - fixed: 'right' - } - } -])) - - - -export const ModelDeliTimeDetail = useCrudSchemas(reactive([ - { - label: '编号', - field: 'code', - sort: 'custom', - isForm: false, - tableForm:{ - multiple: true,//多选 - isInpuFocusShow: false, // 开启查询弹窗 - disabled:true, - searchListPlaceholder: '请选择便次时间配置',// 输入框占位文本 - searchField: 'code', // 查询弹窗赋值字段 - searchTitle: '便次时间配置', // 查询弹窗标题 - searchAllSchemas: DeliTimeWms.allSchemas, // 查询弹窗所需类 - searchPage: DeliTimeWmsApi.getDeliTimePage, // 查询弹窗所需分页方法 - searchCondition: [{ - key: 'available', - value: 'TRUE', - action: '==', - isSearch: true, - isMainValue: false + { + label: '编号', + field: 'code', + sort: 'custom', + isForm: 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')] + } }, - ], - verificationPage: DeliTimeWmsApi.getDeliTimePage, // tableForm下方输入框校验失去焦点之后是否正确的方法 - // isShowTableFormSearch: true, //tableForm下方是否出现输入框 - verificationParams: [{ - key: 'itemCode', - action: '==', - value: '', - isMainValue: false, - isSearch: true, - isFormModel: true, - }], // 失去焦点校验参数 + isForm: false, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + } }, - form: { - // labelMessage: '信息提示说明!!!', - componentProps: { - disabled:true, - enterSearch: true, - isSearchList: true, // 开启查询弹窗 - searchListPlaceholder: '请选择品番', // 输入框占位文本 - searchField: 'itemCode', // 查询弹窗赋值字段 - searchTitle: '供应商物料信息', // 查询弹窗标题 + { + label: '操作', + field: 'action', + isForm: false, + isDetail: false, + table: { + width: 150, + fixed: 'right' + } + } + ]) +) + +export const ModelDeliTimeDetail = useCrudSchemas( + reactive([ + { + label: '编号', + field: 'code', + sort: 'custom', + isForm: false, + tableForm: { + multiple: true, //多选 + isInpuFocusShow: false, // 开启查询弹窗 + disabled: true, + searchListPlaceholder: '请选择便次时间配置', // 输入框占位文本 + searchField: 'code', // 查询弹窗赋值字段 + searchTitle: '便次时间配置', // 查询弹窗标题 searchAllSchemas: DeliTimeWms.allSchemas, // 查询弹窗所需类 searchPage: DeliTimeWmsApi.getDeliTimePage, // 查询弹窗所需分页方法 searchCondition: [ { key: 'available', value: 'TRUE', + action: '==', + isSearch: true, isMainValue: false - }, + } ], + verificationPage: DeliTimeWmsApi.getDeliTimePage, // tableForm下方输入框校验失去焦点之后是否正确的方法 + // isShowTableFormSearch: true, //tableForm下方是否出现输入框 verificationParams: [ { key: 'itemCode', @@ -323,40 +299,103 @@ export const ModelDeliTimeDetail = useCrudSchemas(reactive([ isFormModel: true } ] // 失去焦点校验参数 + }, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + disabled: true, + enterSearch: true, + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择品番', // 输入框占位文本 + searchField: 'itemCode', // 查询弹窗赋值字段 + searchTitle: '供应商物料信息', // 查询弹窗标题 + searchAllSchemas: DeliTimeWms.allSchemas, // 查询弹窗所需类 + searchPage: DeliTimeWmsApi.getDeliTimePage, // 查询弹窗所需分页方法 + searchCondition: [ + { + key: 'available', + value: 'TRUE', + isMainValue: false + } + ], + verificationParams: [ + { + key: 'itemCode', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true + } + ] // 失去焦点校验参数 + } + } + }, + { + label: '班次', + field: 'shift', + sort: 'custom', + isForm: false, + dictType: DICT_TYPE.DELISHIF, + dictClass: 'string', + tableForm: { + disabled: true, + type: 'Select' + } + }, + { + label: '开始时间', + field: 'beginTime', + sort: 'custom', + formatter: dateFormatterHHMMSS, + isSearch: true, + search: { + component: 'TimePicker', + componentProps: { + type: 'time', + dateFormat: 'HH:mm:ss', + valueFormat: 'YYYY-MM-DD HH:mm:ss' + } + }, + form: { + component: 'TimePicker', + componentProps: { + disabled: true, + type: 'time', + dateFormat: 'HH:mm:ss', + valueFormat: 'x' + } + }, + tableForm: { + disabled: true, + type:'FormDateTime', + format:'HH:mm:ss', + valueFormat: 'x' + }, + detail: { + dateFormat: 'HH:mm:ss' + } + }, + { + label: '操作', + field: 'action', + isForm: false, + isTableForm: false, + table: { + width: 150, + fixed: 'right' } } - }, - { - label: '班次', - field: 'shift', - sort: 'custom', - isForm: false, - dictType: DICT_TYPE.DELISHIF, - dictClass: 'string', - tableForm:{ - disabled:true, - type:'Select' - } - }, - { - label: '操作', - field: 'action', - isForm: false, - isTableForm:false, - table: { - width: 150, - fixed: 'right' - } - } - // { - // label: '开始时间', - // field: 'beginTime', - // sort: 'custom', - // isForm: false, - // formatter: dateFormatter, - // tableForm:{ - // disabled:true, - // formatter: dateFormatter, - // } - // }, -])) \ No newline at end of file + // { + // label: '开始时间', + // field: 'beginTime', + // sort: 'custom', + // isForm: false, + // formatter: dateFormatter, + // tableForm:{ + // disabled:true, + // formatter: dateFormatter, + // } + // }, + ]) +) From 995af5b5ce702f645d22fa356896b23c6277ecfc Mon Sep 17 00:00:00 2001 From: songguoqiang Date: Thu, 19 Jun 2025 08:42:51 +0800 Subject: [PATCH 09/12] =?UTF-8?q?=E8=A1=A5=E6=96=99=E5=89=8D=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repleinshRecordMain.data.ts | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/views/wms/issueManage/repleinsh/repleinshRecordMain/repleinshRecordMain.data.ts b/src/views/wms/issueManage/repleinsh/repleinshRecordMain/repleinshRecordMain.data.ts index df93c12c3..22ed70ece 100644 --- a/src/views/wms/issueManage/repleinsh/repleinshRecordMain/repleinshRecordMain.data.ts +++ b/src/views/wms/issueManage/repleinsh/repleinshRecordMain/repleinshRecordMain.data.ts @@ -807,15 +807,15 @@ export const RepleinshRecordDetail = useCrudSchemas(reactive([ }, hiddenInMain:true, }, - { - label: '背番', - field: 'itemDesc1', - sort: 'custom', - table: { - width: 150 - }, - hiddenInMain:true, - }, + // { + // label: '背番', + // field: 'itemDesc1', + // sort: 'custom', + // table: { + // width: 150 + // }, + // hiddenInMain:true, + // }, { label: '描述', field: 'itemDesc2', From db9c881a8ac94e1e291f999bbacc01fdc633f1cf Mon Sep 17 00:00:00 2001 From: songguoqiang Date: Thu, 19 Jun 2025 11:20:09 +0800 Subject: [PATCH 10/12] =?UTF-8?q?=E7=9B=98=E7=82=B9=E5=89=8D=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/wms/differenceRecordDetail/index.ts | 62 +++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 src/api/wms/differenceRecordDetail/index.ts diff --git a/src/api/wms/differenceRecordDetail/index.ts b/src/api/wms/differenceRecordDetail/index.ts new file mode 100644 index 000000000..d5806446d --- /dev/null +++ b/src/api/wms/differenceRecordDetail/index.ts @@ -0,0 +1,62 @@ +import request from '@/config/axios' + +export interface DifferenceRecordDetailVO { + id: number + packingNumber: string + containerNumber: string + batch: string + fromLocationCode: string + inventoryStatus: string + masterId: number + number: string + itemCode: string + remark: string + siteId: string + itemName: string + itemDesc1: string + itemDesc2: string + qty: number + uom: string + concurrencyStamp: number +} + +// 查询差异出库记录子列表 +export const getDetailPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/difference-record-detail/senior', data }) + } else { + return await request.get({ url: `/wms/difference-record-detail/page`, params }) + } +} + +// 查询差异出库记录子详情 +export const getDetail = async (id: number) => { + return await request.get({ url: `/wms/difference-record-detail/get?id=` + id }) +} + +// 新增差异出库记录子 +export const createDetail = async (data: DifferenceRecordDetailVO) => { + return await request.post({ url: `/wms/difference-record-detail/create`, data }) +} + +// 修改差异出库记录子 +export const updateDetail = async (data: DifferenceRecordDetailVO) => { + return await request.put({ url: `/wms/difference-record-detail/update`, data }) +} + +// 删除差异出库记录子 +export const deleteDetail = async (id: number) => { + return await request.delete({ url: `/wms/difference-record-detail/delete?id=` + id }) +} + +// 导出差异出库记录子 Excel +export const exportDetail = async (params) => { + return await request.download({ url: `/wms/difference-record-detail/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/difference-record-detail/get-import-template' }) +} From 5c1f97b67c9ea4a6069374b18881a66cb751440c Mon Sep 17 00:00:00 2001 From: "YEJIAXING-PC\\lenovo" <591141169@qq.com> Date: Fri, 20 Jun 2025 15:08:09 +0800 Subject: [PATCH 11/12] =?UTF-8?q?=E3=80=8A=E7=9B=98=E7=82=B9=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E8=A1=A8=E3=80=8B=E6=96=B0=E5=A2=9E=E6=97=B6=EF=BC=8C?= =?UTF-8?q?=E5=A6=82=E6=9E=9C=E9=80=89=E6=8B=A9=E7=9A=84=E5=93=81=E7=95=AA?= =?UTF-8?q?=E5=9C=A8=E3=80=8A=E5=8D=95=E4=BD=8D=E8=BD=AC=E6=8D=A2=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E3=80=8B=E4=B8=AD=EF=BC=8C=E7=BB=B4=E6=8A=A4=E4=BA=86?= =?UTF-8?q?=E8=BD=AC=E6=8D=A2=E7=8E=87=EF=BC=8C=E5=88=99=E5=B8=A6=E5=87=BA?= =?UTF-8?q?=E8=AF=A5=E8=BD=AC=E6=8D=A2=E7=8E=87=EF=BC=9B=E5=A6=82=E6=9E=9C?= =?UTF-8?q?=E6=9C=AA=E7=BB=B4=E6=8A=A4=E8=BD=AC=E6=8D=A2=E7=8E=87=E5=88=99?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E4=B8=BA1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../stdcostprice/stdcostprice.data.ts | 26 ++-- .../count/countConfig/countConfig.data.ts | 3 +- .../countManage/count/countConfig/index.vue | 136 +++++++++++------- 3 files changed, 97 insertions(+), 68 deletions(-) diff --git a/src/views/wms/basicDataManage/itemManage/stdcostprice/stdcostprice.data.ts b/src/views/wms/basicDataManage/itemManage/stdcostprice/stdcostprice.data.ts index cc48f1781..861ca38fd 100644 --- a/src/views/wms/basicDataManage/itemManage/stdcostprice/stdcostprice.data.ts +++ b/src/views/wms/basicDataManage/itemManage/stdcostprice/stdcostprice.data.ts @@ -106,19 +106,19 @@ export const Stdcostprice = useCrudSchemas(reactive([ isSearch : true, isTable : true }, - // { - // label: '价格', - // field: 'price', - // sort: 'custom', - // isSearch: true, - // form: { - // component: 'InputNumber', - // componentProps: { - // min: 0, - // precision: 6 - // } - // } - // }, + { + label: '价格', + field: 'price', + sort: 'custom', + isSearch: true, + form: { + component: 'InputNumber', + componentProps: { + min: 0, + precision: 6 + } + } + }, { label: '是否可用', field: 'available', diff --git a/src/views/wms/countManage/count/countConfig/countConfig.data.ts b/src/views/wms/countManage/count/countConfig/countConfig.data.ts index 654455e28..972acaae5 100644 --- a/src/views/wms/countManage/count/countConfig/countConfig.data.ts +++ b/src/views/wms/countManage/count/countConfig/countConfig.data.ts @@ -146,7 +146,8 @@ export const CountConfig = useCrudSchemas(reactive([ component: 'InputNumber', value: 0, componentProps: { - min:0, + disabled: true, + min:1, precision:2 } }, diff --git a/src/views/wms/countManage/count/countConfig/index.vue b/src/views/wms/countManage/count/countConfig/index.vue index 11a8f2d12..ae2f5480d 100644 --- a/src/views/wms/countManage/count/countConfig/index.vue +++ b/src/views/wms/countManage/count/countConfig/index.vue @@ -1,18 +1,22 @@