From f72f4f14d8d21415f144759bb34b4aeac55a64d7 Mon Sep 17 00:00:00 2001 From: kkk-ops <1050738955@qq.com> Date: Tue, 13 Jan 2026 18:44:04 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=A4=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/mes/deviceledger/index.ts | 6 +- src/api/mes/planmaintenance/index.ts | 2 +- .../CriticalComponentForm.vue | 2 +- .../mes/deviceledger/DeviceLedgerForm.vue | 73 ++-- src/views/mes/deviceledger/index.vue | 53 ++- src/views/mes/dvrepair/DvRepairForm.vue | 2 +- .../dvrepair/components/DvRepairLineForm.vue | 14 +- src/views/mes/dvsubject/DvSubjectForm.vue | 4 +- src/views/mes/moldget/MoldGetForm.vue | 76 ++-- src/views/mes/moldget/index.vue | 4 +- src/views/mes/moldreturn/index.vue | 331 ++++++++++++------ .../planMaintenance/PlanMaintenanceForm.vue | 2 +- src/views/mes/planMaintenance/index.vue | 4 +- src/views/mes/repairItems/RepairItemsForm.vue | 14 +- src/views/mes/repairItems/index.vue | 18 +- 15 files changed, 392 insertions(+), 213 deletions(-) diff --git a/src/api/mes/deviceledger/index.ts b/src/api/mes/deviceledger/index.ts index 53559a29..a8e04588 100644 --- a/src/api/mes/deviceledger/index.ts +++ b/src/api/mes/deviceledger/index.ts @@ -1,5 +1,6 @@ import request from '@/config/axios' - +import { CriticalComponentVO } from '@/api/mes/criticalComponent' +import { ProductVO } from '@/api/erp/product/product' // 设备类型 VO export interface DeviceLedgerVO { id: number // id @@ -23,6 +24,9 @@ export interface DeviceLedgerVO { remark: string // 备注 fileUrl?: string // 附件下载 componentId?: string // 关键件,ids集合 + componentList?: CriticalComponentVO[] + beijianId?: string // 备件,ids集合 + beijianList?: ProductVO[] inspectionList?: any[] maintainList?: any[] creator?: string // 创建人 diff --git a/src/api/mes/planmaintenance/index.ts b/src/api/mes/planmaintenance/index.ts index a2a875ad..1f0a9658 100644 --- a/src/api/mes/planmaintenance/index.ts +++ b/src/api/mes/planmaintenance/index.ts @@ -34,7 +34,7 @@ export const PlanMaintenanceApi = { }, updatePlanMaintenance: async (data: any) => { - return await request.put({ url: `/mes/plan-maintenance/update`, params: data }) + return await request.put({ url: `/mes/plan-maintenance/update`, data }) }, deletePlanMaintenance: async (ids: string) => { diff --git a/src/views/mes/criticalComponent/CriticalComponentForm.vue b/src/views/mes/criticalComponent/CriticalComponentForm.vue index ae8965c2..fc4bff18 100644 --- a/src/views/mes/criticalComponent/CriticalComponentForm.vue +++ b/src/views/mes/criticalComponent/CriticalComponentForm.vue @@ -2,7 +2,7 @@ - + diff --git a/src/views/mes/deviceledger/DeviceLedgerForm.vue b/src/views/mes/deviceledger/DeviceLedgerForm.vue index 5cf45c59..a8dfb9dd 100644 --- a/src/views/mes/deviceledger/DeviceLedgerForm.vue +++ b/src/views/mes/deviceledger/DeviceLedgerForm.vue @@ -8,15 +8,15 @@ v-loading="formLoading" > - + - + @@ -40,12 +40,12 @@ - + + @@ -57,19 +57,19 @@ - + - + - - + @@ -103,9 +103,9 @@ - + - - + @@ -162,6 +162,26 @@ + + + + + + + + @@ -183,6 +203,7 @@ import { DeviceTypeApi, DeviceTypeTreeVO } from '@/api/mes/devicetype' import { getSimpleUserList, UserVO } from '@/api/system/user' import { formatDate } from '@/utils/formatTime' import type { FormRules } from 'element-plus' +import { ProductApi } from '@/api/erp/product/product' /** 设备类型 表单 */ defineOptions({ name: 'DeviceLedgerForm' }) @@ -237,6 +258,7 @@ const initFormData = () => ({ factoryEntryDate: undefined, remark: undefined, componentIds: [] as number[], + beijianIds: [] as number[], fileUrl: undefined, sort: undefined }) @@ -257,12 +279,14 @@ const treeSelectProps = { label: 'name', children: 'children' } const deviceTypeTree = ref([]) const users = ref([]) const criticalComponentOptions = ref<{ label: string; value: number }[]>([]) +const beijianOptions = ref<{ label: string; value: number }[]>([]) const ensureOptionsLoaded = async () => { - const [deviceTypeRes, userRes, criticalRes] = await Promise.all([ + const [deviceTypeRes, userRes, criticalRes, beijianRes] = await Promise.all([ DeviceTypeApi.getDeviceTypeTree({ pageNo: 1, pageSize: 10 }), getSimpleUserList(), - CriticalComponentApi.getCriticalComponentPage({}) + CriticalComponentApi.getCriticalComponentPage({}), + ProductApi.getComponentSimpleList() ]) deviceTypeTree.value = deviceTypeRes users.value = userRes ?? [] @@ -272,6 +296,12 @@ const ensureOptionsLoaded = async () => { const label = code && name ? `${code}-${name}` : name || code || String(item.id) return { label, value: Number(item.id) } }) + beijianOptions.value = (beijianRes ?? []).map((item: any) => { + const code = item.barCode ? String(item.barCode) : '' + const name = item.name ? String(item.name) : '' + const label = code && name ? `${code}-${name}` : name || code || String(item.id) + return { label, value: Number(item.id) } + }) } /** 打开弹窗 */ @@ -296,7 +326,8 @@ const open = async (type: string, id?: number, defaultDeviceTypeId?: number) => deviceManagerIds: parseIdsValue((detail as any)?.deviceManager), productionDate: normalizeYmd((detail as any)?.productionDate), factoryEntryDate: normalizeYmd((detail as any)?.factoryEntryDate), - componentIds: parseIdsValue((detail as any)?.componentId) + componentIds: parseIdsValue((detail as any)?.componentId), + beijianIds: parseIdsValue((detail as any)?.beijianId), } } finally { formLoading.value = false @@ -318,10 +349,12 @@ const submitForm = async () => { productionDate: normalizeYmd(formData.value.productionDate), factoryEntryDate: normalizeYmd(formData.value.factoryEntryDate), deviceManager: formData.value.deviceManagerIds?.length ? formData.value.deviceManagerIds.join(',') : undefined, - componentId: formData.value.componentIds?.length ? formData.value.componentIds.join(',') : undefined + componentId: formData.value.componentIds?.length ? formData.value.componentIds.join(',') : undefined, + beijianId: formData.value.beijianIds?.length ? formData.value.beijianIds.join(',') : undefined } as unknown as DeviceLedgerVO delete (data as any).deviceManagerIds delete (data as any).componentIds + delete (data as any).beijianIds if (formType.value === 'create') { await DeviceLedgerApi.createDeviceLedger(data) message.success(t('common.createSuccess')) diff --git a/src/views/mes/deviceledger/index.vue b/src/views/mes/deviceledger/index.vue index f63a0912..1aa8978f 100644 --- a/src/views/mes/deviceledger/index.vue +++ b/src/views/mes/deviceledger/index.vue @@ -56,9 +56,9 @@ ref="tableRef" v-loading="loading" :data="list" :stripe="true" :show-overflow-to {{ (queryParams.pageNo - 1) * queryParams.pageSize + scope.$index + 1 }} - - - + + + --> - + - + @@ -37,10 +37,10 @@ --> - + @@ -87,7 +87,7 @@ - + 添加设备维修记录行 + + 添加维修项目 \ No newline at end of file +// TODO 芋艿:可优化功能:列表界面,支持导入 +// TODO 芋艿:可优化功能:详情界面,支持打印 +/** tab 切换 */ +let activeName = '产品出库' +const handleTabClick = (tab: TabsPaneContext) => { + queryParams.outType = tab.paneName + handleQuery() +} + diff --git a/src/views/mes/planMaintenance/PlanMaintenanceForm.vue b/src/views/mes/planMaintenance/PlanMaintenanceForm.vue index 9ef6641f..3a88583a 100644 --- a/src/views/mes/planMaintenance/PlanMaintenanceForm.vue +++ b/src/views/mes/planMaintenance/PlanMaintenanceForm.vue @@ -8,7 +8,7 @@ - + diff --git a/src/views/mes/planMaintenance/index.vue b/src/views/mes/planMaintenance/index.vue index 67511475..60ea4744 100644 --- a/src/views/mes/planMaintenance/index.vue +++ b/src/views/mes/planMaintenance/index.vue @@ -13,7 +13,7 @@ - + @@ -264,7 +264,7 @@ const handleExpandChange = async (row: PlanMaintenanceVO, expandedRows: PlanMain const getPlanTypeLabel = (value: any) => { const v = value === '' || value === null || value === undefined ? undefined : Number(value) if (v === 1) return '保养' - if (v === 2) return '维护' + if (v === 2) return '点检' return value ?? '' } diff --git a/src/views/mes/repairItems/RepairItemsForm.vue b/src/views/mes/repairItems/RepairItemsForm.vue index 6ee98948..3c990f83 100644 --- a/src/views/mes/repairItems/RepairItemsForm.vue +++ b/src/views/mes/repairItems/RepairItemsForm.vue @@ -1,11 +1,11 @@