From 7a4fa8498e7f74e44151fbca4f50368a001f4ce7 Mon Sep 17 00:00:00 2001 From: "zangch@mesnac.com" Date: Wed, 18 Feb 2026 20:32:42 +0800 Subject: [PATCH] =?UTF-8?q?feat(mes):=20=E6=9B=B4=E6=96=B0=E9=85=8D?= =?UTF-8?q?=E6=96=B9=E8=BF=BD=E6=BA=AF=E9=A1=B5=E9=9D=A2=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 重构配方追溯查询表单,新增计划编号、明细编号、生产条码等搜索字段 - 优化SPC分析界面,调整查询条件和图表显示 - 重设计配方追溯详情弹窗,增加密炼追溯详情和树形结构展示 - 完善称量和混炼信息表格,优化数据显示和布局 - 更新图表渲染逻辑,改进密炼工作曲线显示效果 - 调整表格列宽和字段标签,提升用户体验 - 优化数据请求和响应处理,增强页面性能 --- src/api/mes/mixTrace/types.ts | 228 ++++++- src/views/mes/mixTrace/index.vue | 1073 ++++++++++++++++-------------- 2 files changed, 768 insertions(+), 533 deletions(-) diff --git a/src/api/mes/mixTrace/types.ts b/src/api/mes/mixTrace/types.ts index deef12a..192020d 100644 --- a/src/api/mes/mixTrace/types.ts +++ b/src/api/mes/mixTrace/types.ts @@ -1,41 +1,185 @@ /** - * 密炼追溯列表VO(图5) + * 密炼追溯列表 */ export interface MixTraceListVO { recipeId: string | number; recipeCode: string; - machineId: string | number; - machineName: string; - materialId: string | number; - materialName: string; - edtCode: number; - userEdtCode: string; - recipeState: string; - recipeType: number; - recipeTypecode: string; - rubType: string; - rubTypecode: string; - totalWeight: number; - fillCoefficient: number; - operCode: string; - auditFlag: string; - doneTime: number; - createTime: string; - weightCount: number; - mixingCount: number; + machineId?: string | number; + machineName?: string; + materialId?: string | number; + materialName?: string; + edtCode?: number; + userEdtCode?: string; + recipeState?: string; + recipeType?: number; + recipeTypecode?: string; + rubType?: string; + rubTypecode?: string; + totalWeight?: number; + fillCoefficient?: number; + operCode?: string; + auditFlag?: string; + doneTime?: number; + createTime?: string; + weightCount?: number; + mixingCount?: number; + + planId?: string | number; + planCode?: string; + planDetailId?: string | number; + planDetailCode?: string; + productionBarcode?: string; + shiftId?: string | number; + shiftName?: string; + classTeamId?: string | number; + classTeamName?: string; + planAmount?: number; + completeAmount?: number; + trainNumber?: number; + realBeginTime?: string; + realEndTime?: string; } /** - * 追溯详情VO(图9) + * 追溯详情查询参数 + */ +export interface MixTraceDetailQuery { + planId?: string | number; + planCode?: string; + planDetailId?: string | number; + planDetailCode?: string; + productionBarcode?: string; + shiftId?: string | number; + classTeamId?: string | number; +} + +/** + * 追溯详情 */ export interface MixTraceDetailVO { - recipeInfo: MixTraceListVO; - weightList: RecipeWeightItem[]; - mixingList: RecipeMixingItem[]; + recipeInfo?: MixTraceListVO; + weightList?: RecipeWeightItem[]; + mixingList?: RecipeMixingItem[]; + + summaryInfo?: MixTraceSummaryVO; + materialTraceTree?: MixTraceMaterialTraceTreeNode[]; + usageList?: MixTraceUsageItem[]; + mixingStepList?: MixTraceStepItem[]; + batchList?: MixTraceBatchItem[]; + curveSeries?: MixTraceCurvePoint[]; +} + +export interface MixTraceSummaryVO { + recipeId?: string | number; + recipeCode?: string; + machineId?: string | number; + machineName?: string; + materialId?: string | number; + materialName?: string; + planId?: string | number; + planCode?: string; + planDetailId?: string | number; + planDetailCode?: string; + productionBarcode?: string; + shiftId?: string | number; + shiftName?: string; + classTeamId?: string | number; + classTeamName?: string; + planAmount?: number; + settingWeight?: number; + completedWeight?: number; + trayCount?: number; + mixingTrainNo?: number; + totalTrainNo?: number; + overToleranceAlarm?: string; + eachCarEnergy?: number; + dischargeTemp?: number; + dischargePower?: number; + dischargeEnergy?: number; + mixingStatus?: string; + mixingTime?: number; + consumeTime?: number; + intervalTime?: number; + beginProduceTime?: string; + endProduceTime?: string; +} + +export interface MixTraceMaterialTraceTreeNode { + id: string; + label: string; + nodeType?: string; + recipeId?: string | number; + planDetailId?: string | number; + productionBarcode?: string; + materialId?: string | number; + materialName?: string; + batchCode?: string; + children?: MixTraceMaterialTraceTreeNode[]; +} + +export interface MixTraceUsageItem { + usageId?: string | number; + weightSeq?: number; + categoryName?: string; + materialName?: string; + setWeight?: number; + actualWeight?: number; + tolerance?: number; + diffWeight?: number; + overToleranceFlag?: string; + controlMode?: string; + actCode?: string; + actName?: string; +} + +export interface MixTraceStepItem { + mixingId?: string | number; + mixId?: number; + timelineSecond?: number; + termCode?: string; + termName?: string; + condCode?: string; + condName?: string; + actCode?: string; + actName?: string; + mixingTime?: number; + mixingTemp?: number; + mixingEnergy?: number; + mixingPower?: number; + mixingPress?: number; + mixingSpeed?: number; + setTime?: number; + setTemp?: number; + setEnergy?: number; + setPower?: number; + setPres?: number; + setRota?: number; +} + +export interface MixTraceBatchItem { + batchId?: string | number; + productionBarcode?: string; + batchCode?: string; + inputBarcode?: string; + materialId?: string | number; + materialName?: string; + instockTime?: string; + supplierName?: string; +} + +export interface MixTraceCurvePoint { + stepNo?: number; + timelineSecond?: number; + xLabel?: string; + temperature?: number; + power?: number; + energy?: number; + pressure?: number; + speed?: number; } /** - * 称量明细 + * 称量明细(兼容旧结构) */ export interface RecipeWeightItem { weightId: string | number; @@ -56,7 +200,7 @@ export interface RecipeWeightItem { } /** - * 混炼明细 + * 混炼明细(兼容旧结构) */ export interface RecipeMixingItem { mixingId: string | number; @@ -84,7 +228,7 @@ export interface RecipeMixingItem { } /** - * SPC样本VO(图6) + * SPC样本 */ export interface MixTraceSpcSampleVO { recipeId: string | number; @@ -97,21 +241,17 @@ export interface MixTraceSpcSampleVO { condCode: string; mixingTime: number; mixingTemp: number; + setTemp: number; + setTime: number; mixingEnergy: number; mixingPower: number; mixingPress: number; mixingSpeed: number; - setTime: number; - setTemp: number; - setEnergy: number; - setPower: number; - setPres: number; - setRota: number; createTime: string; } /** - * SPC统计结果VO(图7/8/10) + * SPC统计结果 */ export interface MixTraceSpcResultVO { paramName: string; @@ -163,6 +303,17 @@ export interface MixTraceQuery { recipeTypecode?: string; operCode?: string; auditFlag?: string; + + planId?: string | number; + planCode?: string; + planDetailId?: string | number; + planDetailCode?: string; + productionBarcode?: string; + shiftId?: string | number; + classTeamId?: string | number; + shiftName?: string; + classTeamName?: string; + beginDate?: string; endDate?: string; pageNum?: number; @@ -183,6 +334,15 @@ export interface SpcQuery { termCode?: string; paramName?: string; subgroupSize?: number; + + planId?: string | number; + planCode?: string; + planDetailId?: string | number; + planDetailCode?: string; + productionBarcode?: string; + shiftId?: string | number; + classTeamId?: string | number; + beginDate?: string; endDate?: string; pageNum?: number; diff --git a/src/views/mes/mixTrace/index.vue b/src/views/mes/mixTrace/index.vue index 27f210f..0b9c02e 100644 --- a/src/views/mes/mixTrace/index.vue +++ b/src/views/mes/mixTrace/index.vue @@ -1,57 +1,42 @@ -