From 3448b85f72c4f648ebf7396e7a569174e01a99c5 Mon Sep 17 00:00:00 2001 From: hwj Date: Thu, 15 Jan 2026 09:26:59 +0800 Subject: [PATCH 1/9] =?UTF-8?q?style=EF=BC=9A=E6=95=B0=E6=8D=AE=E9=87=87?= =?UTF-8?q?=E9=9B=86-=E8=AE=BE=E5=A4=87=E8=BF=90=E8=A1=8C=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E5=88=86=E6=9E=90-=E6=A0=91=E7=8A=B6=E7=BB=93?= =?UTF-8?q?=E6=9E=9C=E9=80=BB=E8=BE=91=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/iot/deviceParamAnalysis/index.vue | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/views/iot/deviceParamAnalysis/index.vue b/src/views/iot/deviceParamAnalysis/index.vue index 74226294..493a93ac 100644 --- a/src/views/iot/deviceParamAnalysis/index.vue +++ b/src/views/iot/deviceParamAnalysis/index.vue @@ -4,8 +4,7 @@
-
@@ -15,8 +14,7 @@ ref="treeRef" v-loading="treeLoading" :data="treeData" :props="treeProps" node-k - @@ -409,8 +407,10 @@ const handleTreeNodeClick = async (data: DeviceTreeNode) => { return } + + const isEmptyOrgNode = typeof data?.id === 'string' && data.id.startsWith('org-') const isEquipmentNode = typeof data?.id === 'string' && data.id.startsWith('equipment-') - if (isEquipmentNode && (data.paramCount ?? 0) <= 0) { + if (isEquipmentNode && (data.paramCount ?? 0) <= 0 || isEmptyOrgNode) { selectedParam.value = data selectedDeviceId.value = undefined selectedModelId.value = undefined From e722e0339ab262eb234d93a273e74ecaec2cbcf4 Mon Sep 17 00:00:00 2001 From: hwj Date: Thu, 15 Jan 2026 11:42:52 +0800 Subject: [PATCH 2/9] =?UTF-8?q?feat=EF=BC=9A=E6=96=B0=E5=A2=9E=E6=A8=A1?= =?UTF-8?q?=E5=85=B7=E7=AE=A1=E7=90=86-=E7=BB=B4=E4=BF=AE=E5=8D=95?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/mold/moldrepair/index.ts | 56 +++ src/views/mold/moldrepair/MoldRepairForm.vue | 349 ++++++++++++++++++ .../components/MoldRepairLineForm.vue | 109 ++++++ src/views/mold/moldrepair/index.vue | 286 ++++++++++++++ 4 files changed, 800 insertions(+) create mode 100644 src/api/mold/moldrepair/index.ts create mode 100644 src/views/mold/moldrepair/MoldRepairForm.vue create mode 100644 src/views/mold/moldrepair/components/MoldRepairLineForm.vue create mode 100644 src/views/mold/moldrepair/index.vue diff --git a/src/api/mold/moldrepair/index.ts b/src/api/mold/moldrepair/index.ts new file mode 100644 index 00000000..018fab09 --- /dev/null +++ b/src/api/mold/moldrepair/index.ts @@ -0,0 +1,56 @@ +import request from '@/config/axios' + +export interface MoldRepairVO { + id: number + repairCode: string + repairName: string + moldId?: number + moldCode?: string + moldName?: string + machineryId?: number + machineryCode?: string + machineryName?: string + machineryBrand: string + machinerySpec: string + machineryTypeId: number + requireDate: Date + finishDate: Date + confirmDate: Date + repairResult: string + acceptedBy: string + confirmBy: string + status: string + remark: string +} + +export type MoldRepairSaveVO = Omit + +export const MoldRepairApi = { + getMoldRepairPage: async (params: any) => { + return await request.get({ url: `/mes/mold-repair/page`, params }) + }, + + getMoldRepair: async (id: number) => { + return await request.get({ url: `/mes/mold-repair/get?id=` + id }) + }, + + createMoldRepair: async (data: MoldRepairSaveVO) => { + return await request.post({ url: `/mes/mold-repair/create`, data }) + }, + + updateMoldRepair: async (data: MoldRepairSaveVO) => { + return await request.put({ url: `/mes/mold-repair/update`, data }) + }, + + deleteMoldRepair: async (ids: string) => { + return await request.delete({ url: `/mes/mold-repair/delete?ids=` + ids }) + }, + + exportMoldRepair: async (params) => { + return await request.download({ url: `/mes/mold-repair/export-excel`, params }) + }, + + getMoldRepairLineListByRepairId: async (repairId) => { + return await request.get({ url: `/mes/mold-repair/mold-repair-line/list-by-repair-id?repairId=` + repairId }) + } +} diff --git a/src/views/mold/moldrepair/MoldRepairForm.vue b/src/views/mold/moldrepair/MoldRepairForm.vue new file mode 100644 index 00000000..6c33f21a --- /dev/null +++ b/src/views/mold/moldrepair/MoldRepairForm.vue @@ -0,0 +1,349 @@ + + diff --git a/src/views/mold/moldrepair/components/MoldRepairLineForm.vue b/src/views/mold/moldrepair/components/MoldRepairLineForm.vue new file mode 100644 index 00000000..fcf57642 --- /dev/null +++ b/src/views/mold/moldrepair/components/MoldRepairLineForm.vue @@ -0,0 +1,109 @@ + + + diff --git a/src/views/mold/moldrepair/index.vue b/src/views/mold/moldrepair/index.vue new file mode 100644 index 00000000..da5fa15a --- /dev/null +++ b/src/views/mold/moldrepair/index.vue @@ -0,0 +1,286 @@ + + + From c605c4ac8245c975d679678eaa1958f11aab5b6b Mon Sep 17 00:00:00 2001 From: hwj Date: Thu, 15 Jan 2026 11:50:31 +0800 Subject: [PATCH 3/9] =?UTF-8?q?style=EF=BC=9A=E6=95=B0=E6=8D=AE=E9=87=87?= =?UTF-8?q?=E9=9B=86-=E9=87=87=E9=9B=86=E8=AE=BE=E5=A4=87=E7=82=B9?= =?UTF-8?q?=E4=BD=8D-=E6=96=B0=E5=A2=9E/=E7=BC=96=E8=BE=91=EF=BC=8C?= =?UTF-8?q?=E5=BD=93=E6=95=B0=E6=8D=AE=E7=B1=BB=E5=9E=8B=E4=B8=BA=E6=95=B0?= =?UTF-8?q?=E5=80=BC=E6=89=8D=E8=83=BD=E5=A1=AB=E5=80=8D=E7=8E=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/components/DeviceAttributeForm.vue | 31 +++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/src/views/iot/device/components/DeviceAttributeForm.vue b/src/views/iot/device/components/DeviceAttributeForm.vue index 3d72a2da..e1fe54fc 100644 --- a/src/views/iot/device/components/DeviceAttributeForm.vue +++ b/src/views/iot/device/components/DeviceAttributeForm.vue @@ -44,7 +44,7 @@ - + @@ -104,6 +104,33 @@ const formData = ref({ deviceId: undefined as number | undefined }) +const ratioEnabledTypes = new Set([ + 'uint8', + 'uint16', + 'uint32', + 'uint64', + 'int8', + 'int16', + 'int32', + 'float32', + 'float64' +]) + +const ratioEnabled = computed(() => { + const v = formData.value.dataType + if (!v) return false + return ratioEnabledTypes.has(v) +}) + +watch( + () => formData.value.dataType, + () => { + if (!ratioEnabled.value) { + formData.value.ratio = undefined + } + } +) + const handleAttributeCodeInput = (val: string) => { formData.value.attributeCode = val?.replace(/[\u4e00-\u9fa5]/g, '') } @@ -190,7 +217,7 @@ const buildSubmitData = () => { dataType, address, dataUnit, - ratio, + ratio: ratioEnabled.value ? ratio : undefined, sort: parsedSort, remark, deviceId From a3e46c89f80d996aa46fbea34c80cdae3d087242 Mon Sep 17 00:00:00 2001 From: hwj Date: Thu, 15 Jan 2026 15:16:56 +0800 Subject: [PATCH 4/9] =?UTF-8?q?feat=EF=BC=9A=E6=B7=BB=E5=8A=A0=E8=83=BD?= =?UTF-8?q?=E6=BA=90=E6=8A=A5=E8=A1=A8=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/erp/mold/index.ts | 4 + src/api/mes/energydevice/index.ts | 25 ++ src/views/iot/deviceParamAnalysis/index.vue | 6 +- .../mes/energydevice/EnergyDeviceForm.vue | 15 +- src/views/mes/energydevice/index.vue | 25 +- src/views/mes/energydevicecheck/index.vue | 396 +++++++----------- 6 files changed, 228 insertions(+), 243 deletions(-) diff --git a/src/api/erp/mold/index.ts b/src/api/erp/mold/index.ts index 775bd7ae..dc34c093 100644 --- a/src/api/erp/mold/index.ts +++ b/src/api/erp/mold/index.ts @@ -81,6 +81,10 @@ export const MoldBrandApi = { getMoldPage: async (params) => { return await request.get({ url: `/erp/mold-brand/mold/page`, params }) }, + + getMoldPageWithoutPaging: async () => { + return await request.get({ url: `/erp/mold-brand/mold/page` }) + }, // 新增模具 createMold: async (data) => { return await request.post({ url: `/erp/mold-brand/mold/create`, data }) diff --git a/src/api/mes/energydevice/index.ts b/src/api/mes/energydevice/index.ts index 5164e784..2f6932ef 100644 --- a/src/api/mes/energydevice/index.ts +++ b/src/api/mes/energydevice/index.ts @@ -25,6 +25,23 @@ export interface EnergyDeviceVO { operationRulesVOList?: EnergyDeviceOperationRuleVO[] } +export interface EnergyDeviceDataRecordVO { + id: number + name?: string + deviceTypeName?: string + orgId?: number | string + orgName?: string + operationRulesVOMap?: Record + energyConsumption?: string | number + energyAllocationConsumption?: string | number + energyActualConsumption?: string | number + shift?: string + startTime?: string + endTime?: string + earliestDataTime?: string + latestDataTime?: string +} + // 能源设备 API export const EnergyDeviceApi = { // 查询能源设备分页 @@ -41,6 +58,14 @@ export const EnergyDeviceApi = { return await request.get({ url: `/mes/energy-device/getList`, params }) }, + queryDataRecords: async (params: any) => { + return await request.get({ url: `/mes/energy-device/queryDataRecords`, params }) + }, + + exportQueryDataRecords: async (params: any) => { + return await request.download({ url: `/mes/energy-device/record-export-excel`, params }) + }, + // 新增能源设备 createEnergyDevice: async (data: EnergyDeviceVO) => { return await request.post({ url: `/mes/energy-device/create`, data }) diff --git a/src/views/iot/deviceParamAnalysis/index.vue b/src/views/iot/deviceParamAnalysis/index.vue index 493a93ac..e5fada9a 100644 --- a/src/views/iot/deviceParamAnalysis/index.vue +++ b/src/views/iot/deviceParamAnalysis/index.vue @@ -4,7 +4,8 @@
-
@@ -14,7 +15,8 @@ - diff --git a/src/views/mes/energydevice/EnergyDeviceForm.vue b/src/views/mes/energydevice/EnergyDeviceForm.vue index ea720e55..b1abd534 100644 --- a/src/views/mes/energydevice/EnergyDeviceForm.vue +++ b/src/views/mes/energydevice/EnergyDeviceForm.vue @@ -10,28 +10,33 @@
- -
-
-