From 68db8c8b70b572f02381a16443d04199c0f81d4d Mon Sep 17 00:00:00 2001 From: hwj Date: Thu, 8 Jan 2026 10:32:07 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E8=AE=BE=E5=A4=87=E5=8F=B0?= =?UTF-8?q?=E8=B4=A6=E6=B7=BB=E5=8A=A0=E5=AF=BC=E5=87=BA/=E6=89=B9?= =?UTF-8?q?=E9=87=8F=E5=88=A0=E9=99=A4=EF=BC=8C=E4=BF=AE=E6=94=B9=E8=A1=A8?= =?UTF-8?q?=E5=8D=95=E6=98=BE=E7=A4=BA=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/mes/deviceledger/index.ts | 5 +- .../mes/deviceledger/DeviceLedgerForm.vue | 37 ++++++----- src/views/mes/deviceledger/index.vue | 61 ++++++++++++++----- 3 files changed, 70 insertions(+), 33 deletions(-) diff --git a/src/api/mes/deviceledger/index.ts b/src/api/mes/deviceledger/index.ts index f62231ae..eed0d1d0 100644 --- a/src/api/mes/deviceledger/index.ts +++ b/src/api/mes/deviceledger/index.ts @@ -17,7 +17,6 @@ export interface DeviceLedgerVO { deviceLocation: string // 设备位置 useDept?: string // 使用部门 deviceManager: string // 设备负责人 - quantity?: number // 数量 productionDate: Date // 设备生产日期 factoryEntryDate: Date // 设备入厂日期 deviceRemark: string // 设备备注 @@ -51,8 +50,8 @@ export const DeviceLedgerApi = { }, // 删除设备类型 - deleteDeviceLedger: async (id: number) => { - return await request.delete({ url: `/mes/device-ledger/delete?id=` + id }) + deleteDeviceLedger: async (ids: string) => { + return await request.delete({ url: `/mes/device-ledger/delete?ids=` + ids }) }, // 导出设备类型 Excel diff --git a/src/views/mes/deviceledger/DeviceLedgerForm.vue b/src/views/mes/deviceledger/DeviceLedgerForm.vue index d587ed99..f964b635 100644 --- a/src/views/mes/deviceledger/DeviceLedgerForm.vue +++ b/src/views/mes/deviceledger/DeviceLedgerForm.vue @@ -57,12 +57,6 @@ - - - - - - @@ -104,9 +98,9 @@ - + ([]) const deptTree = ref([]) const supplierOptions = ref([]) const deptNameMap = ref>({}) +const deptIdMap = ref>({}) const userPickerVisible = ref(false) const userKeyword = ref('') @@ -230,13 +224,25 @@ const selectUser = (user: UserVO) => { const buildDeptNameMap = (nodes: any[]) => { const map: Record = {} + const reverseMap: Record = {} const stack = [...nodes] while (stack.length) { const node = stack.pop()! - if (typeof node.id === 'number') map[node.id] = node.name + if (typeof node.id === 'number') { + map[node.id] = node.name + if (node.name) reverseMap[String(node.name)] = node.id + } if (Array.isArray(node.children) && node.children.length) stack.push(...node.children) } deptNameMap.value = map + deptIdMap.value = reverseMap +} + +const normalizeDeptValue = (value: any) => { + if (value === undefined || value === null || value === '') return undefined + if (typeof value === 'number') return value + const byName = deptIdMap.value[String(value)] + return byName === undefined ? undefined : byName } const ensureOptionsLoaded = async () => { @@ -270,6 +276,8 @@ const open = async (type: string, id?: number, defaultDeviceTypeId?: number) => formLoading.value = true try { formData.value = await DeviceLedgerApi.getDeviceLedger(id) + formData.value.workshop = normalizeDeptValue((formData.value as any).workshop) + formData.value.systemOrg = normalizeDeptValue((formData.value as any).systemOrg) } finally { formLoading.value = false } @@ -286,11 +294,11 @@ const submitForm = async () => { formLoading.value = true try { const workshopId = formData.value.workshop - const useDeptId = formData.value.useDept + const systemOrgId = formData.value.systemOrg const data = { ...(formData.value as any), workshop: typeof workshopId === 'number' ? deptNameMap.value[workshopId] : undefined, - useDept: typeof useDeptId === 'number' ? deptNameMap.value[useDeptId] : undefined + systemOrg: typeof systemOrgId === 'number' ? deptNameMap.value[systemOrgId] : undefined } as unknown as DeviceLedgerVO if (formType.value === 'create') { await DeviceLedgerApi.createDeviceLedger(data) @@ -321,9 +329,8 @@ const resetForm = () => { supplier: undefined, workshop: undefined, deviceLocation: undefined, - useDept: undefined, + systemOrg: undefined, deviceManager: undefined, - quantity: 1, productionDate: undefined, factoryEntryDate: undefined, remark: undefined, diff --git a/src/views/mes/deviceledger/index.vue b/src/views/mes/deviceledger/index.vue index 7ae38e3d..b86220b4 100644 --- a/src/views/mes/deviceledger/index.vue +++ b/src/views/mes/deviceledger/index.vue @@ -20,7 +20,7 @@ :model="queryParams" ref="queryFormRef" :inline="true" - label-width="90px" + label-width="60px" > 新增 + + 批量删除 + - + +