From 17539eecb0a46793cad68152c6337aa61e0b369d Mon Sep 17 00:00:00 2001 From: hwj Date: Tue, 13 Jan 2026 09:32:24 +0800 Subject: [PATCH 01/10] =?UTF-8?q?style=EF=BC=9A=E7=BB=B4=E4=BF=AE=E5=8D=95?= =?UTF-8?q?-=E5=B1=8F=E8=94=BD=E6=B7=BB=E5=8A=A0=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E7=BB=B4=E4=BF=AE=E8=AE=B0=E5=BD=95=E8=A1=8C=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/mes/dvrepair/components/DvRepairLineForm.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/mes/dvrepair/components/DvRepairLineForm.vue b/src/views/mes/dvrepair/components/DvRepairLineForm.vue index eae05c50..e08428fd 100644 --- a/src/views/mes/dvrepair/components/DvRepairLineForm.vue +++ b/src/views/mes/dvrepair/components/DvRepairLineForm.vue @@ -86,9 +86,9 @@ --> - + \ No newline at end of file + From 24a8a6d74573051db3f2dfe9b007007b6f462b3d Mon Sep 17 00:00:00 2001 From: hwj Date: Tue, 13 Jan 2026 14:15:13 +0800 Subject: [PATCH 06/10] =?UTF-8?q?style=EF=BC=9A=E6=A8=A1=E5=85=B7=E7=AE=A1?= =?UTF-8?q?=E7=90=86-=E6=A3=80=E9=AA=8C=E6=96=B9=E6=A1=88=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E6=8E=A5=E5=8F=A3=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/mold/planmaintenance/index.ts | 47 +++++++++++++++++++ .../inspectionPlan/InspectionPlanForm.vue | 4 +- src/views/mold/inspectionPlan/index.vue | 2 +- 3 files changed, 50 insertions(+), 3 deletions(-) create mode 100644 src/api/mold/planmaintenance/index.ts diff --git a/src/api/mold/planmaintenance/index.ts b/src/api/mold/planmaintenance/index.ts new file mode 100644 index 00000000..5bc7cdac --- /dev/null +++ b/src/api/mold/planmaintenance/index.ts @@ -0,0 +1,47 @@ +import request from '@/config/axios' + +export interface PlanMaintenanceVO { + id?: number | string + planName: string + planType: number | string + description?: string + subjectIdS?: string + creator?: string + creatorName?: string + createTime?: string | number | Date + updateTime?: string | number | Date +} + +export interface PlanMaintenanceSubjectVO { + id?: number | string + subjectCode?: string + subjectName?: string + inspectionMethod?: string + judgmentCriteria?: string +} + +export const PlanMaintenanceApi = { + getPlanMaintenancePage: async (params: any) => { + return await request.get({ url: `/mes/mold-plan-maintenance/page`, params }) + }, + + getSubjectList: async (id: number | string) => { + return await request.get({ url: `/mes/mold-plan-maintenance/getSubjectList`, params: { id } }) + }, + + createPlanMaintenance: async (data: any) => { + return await request.post({ url: `/mes/mold-plan-maintenance/create`, data }) + }, + + updatePlanMaintenance: async (data: any) => { + return await request.put({ url: `/mes/mold-plan-maintenance/update`, params: data }) + }, + + deletePlanMaintenance: async (ids: string) => { + return await request.delete({ url: `/mes/mold-plan-maintenance/delete?ids=` + ids }) + }, + + exportPlanMaintenance: async (params: any) => { + return await request.download({ url: `/mes/mold-plan-maintenance/export-excel`, params }) + } +} diff --git a/src/views/mold/inspectionPlan/InspectionPlanForm.vue b/src/views/mold/inspectionPlan/InspectionPlanForm.vue index 2eed48e6..36f85cc7 100644 --- a/src/views/mold/inspectionPlan/InspectionPlanForm.vue +++ b/src/views/mold/inspectionPlan/InspectionPlanForm.vue @@ -39,8 +39,8 @@ diff --git a/src/views/mes/energydevice/index.vue b/src/views/mes/energydevice/index.vue index e111d0e1..d6af71f8 100644 --- a/src/views/mes/energydevice/index.vue +++ b/src/views/mes/energydevice/index.vue @@ -3,7 +3,8 @@ - @@ -21,7 +22,8 @@ 新增 - 导出 @@ -31,13 +33,14 @@ - - + @@ -73,7 +76,8 @@ > 重置 --> - 编辑 @@ -84,7 +88,8 @@ - From 4c8759596ddd9310bbda09b47e3611bcde27d35a Mon Sep 17 00:00:00 2001 From: hwj Date: Tue, 13 Jan 2026 16:01:26 +0800 Subject: [PATCH 09/10] =?UTF-8?q?style=EF=BC=9A=E8=A1=A8=E7=AE=A1=E7=90=86?= =?UTF-8?q?-=E7=BC=96=E8=BE=91=E6=97=B6=E7=BC=96=E7=A0=81=E4=B8=8D?= =?UTF-8?q?=E5=85=81=E8=AE=B8=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/mes/energydevice/EnergyDeviceForm.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/mes/energydevice/EnergyDeviceForm.vue b/src/views/mes/energydevice/EnergyDeviceForm.vue index d543ce37..73861c1f 100644 --- a/src/views/mes/energydevice/EnergyDeviceForm.vue +++ b/src/views/mes/energydevice/EnergyDeviceForm.vue @@ -8,7 +8,7 @@ v-loading="formLoading" > - + From 6100765fd193b5e64dbd3e4b6c6c077a5ba17ae4 Mon Sep 17 00:00:00 2001 From: hwj Date: Tue, 13 Jan 2026 16:08:17 +0800 Subject: [PATCH 10/10] =?UTF-8?q?style=EF=BC=9A=E8=AE=BE=E5=A4=87=E8=BF=90?= =?UTF-8?q?=E8=A1=8C=E5=8F=82=E6=95=B0=E5=88=86=E6=9E=90-=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E6=A0=91=E7=8A=B6=E5=9B=BE=E6=98=BE=E7=A4=BA=E6=95=88?= =?UTF-8?q?=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/iot/deviceParamAnalysis/index.vue | 67 ++++++++++++--------- 1 file changed, 40 insertions(+), 27 deletions(-) diff --git a/src/views/iot/deviceParamAnalysis/index.vue b/src/views/iot/deviceParamAnalysis/index.vue index 0353ca11..45dc7b84 100644 --- a/src/views/iot/deviceParamAnalysis/index.vue +++ b/src/views/iot/deviceParamAnalysis/index.vue @@ -78,6 +78,7 @@ import dayjs from 'dayjs' import { Echart as EChart } from '@/components/Echart' import { OrganizationApi } from '@/api/mes/organization' import { DeviceModelAttributeApi } from '@/api/iot/devicemodelattribute' +import { handleTree } from '@/utils/tree' defineOptions({ name: 'DeviceParamAnalysis' }) @@ -110,7 +111,9 @@ type ApiTreeEquipment = { type ApiTreeOrg = { id: number name: string + parentId?: number | null equipments?: ApiTreeEquipment[] + children?: ApiTreeOrg[] } const message = useMessage() @@ -215,37 +218,47 @@ const handleKeywordChange = () => { } const buildTreeFromApi = (orgs: ApiTreeOrg[]): DeviceTreeNode[] => { - return ( - orgs?.map((org) => { - const equipments = Array.isArray(org?.equipments) ? org.equipments : [] - const equipmentNodes: DeviceTreeNode[] = equipments.map((eq) => { - const params = Array.isArray(eq?.parameters) ? eq.parameters : [] - const paramNodes: DeviceTreeNode[] = params.map((p) => ({ - id: `param-${eq.id}-${p.id}`, - label: p?.name ?? p?.code ?? String(p?.id ?? ''), - type: 'param', - deviceId: Number(eq.id), - modelId: Number(p.id), - paramKey: p?.code ? String(p.code) : undefined, - unit: p?.unit ? String(p.unit) : undefined - })) - - return { - id: `equipment-${org.id}-${eq.id}`, - label: eq?.name ?? String(eq?.id ?? ''), - type: 'device', - children: paramNodes.length ? paramNodes : undefined - } - }) + const normalizedOrgs: ApiTreeOrg[] = (Array.isArray(orgs) ? orgs : []).map((o) => ({ + ...o, + parentId: typeof o?.parentId === 'number' ? o.parentId : Number(o?.parentId ?? 0) || 0 + })) + + const orgTree = handleTree(normalizedOrgs, 'id', 'parentId', 'children') as ApiTreeOrg[] + + const toOrgNode = (org: ApiTreeOrg): DeviceTreeNode => { + const orgChildren = Array.isArray(org?.children) ? org.children.map(toOrgNode) : [] + + const equipments = Array.isArray(org?.equipments) ? org.equipments : [] + const equipmentNodes: DeviceTreeNode[] = equipments.map((eq) => { + const params = Array.isArray(eq?.parameters) ? eq.parameters : [] + const paramNodes: DeviceTreeNode[] = params.map((p) => ({ + id: `param-${eq.id}-${p.id}`, + label: p?.name ?? p?.code ?? String(p?.id ?? ''), + type: 'param', + deviceId: Number(eq.id), + modelId: Number(p.id), + paramKey: p?.code ? String(p.code) : undefined, + unit: p?.unit ? String(p.unit) : undefined + })) return { - id: `org-${org.id}`, - label: org?.name ?? String(org?.id ?? ''), + id: `equipment-${org.id}-${eq.id}`, + label: eq?.name ?? String(eq?.id ?? ''), type: 'device', - children: equipmentNodes.length ? equipmentNodes : undefined + children: paramNodes.length ? paramNodes : undefined } - }) ?? [] - ) + }) + + const children = [...orgChildren, ...equipmentNodes] + return { + id: `org-${org.id}`, + label: org?.name ?? String(org?.id ?? ''), + type: 'device', + children: children.length ? children : undefined + } + } + + return Array.isArray(orgTree) ? orgTree.map(toOrgNode) : [] } const loadTree = async () => {