diff --git a/klp-flow/src/main/java/com/klp/flow/domain/EqpMaintenancePlanDetail.java b/klp-flow/src/main/java/com/klp/flow/domain/EqpMaintenancePlanDetail.java index 68ea2c5fc..09c683416 100644 --- a/klp-flow/src/main/java/com/klp/flow/domain/EqpMaintenancePlanDetail.java +++ b/klp-flow/src/main/java/com/klp/flow/domain/EqpMaintenancePlanDetail.java @@ -59,6 +59,8 @@ public class EqpMaintenancePlanDetail extends BaseEntity { private String equipmentExecutor; private String plannedCompleteTime; private String actualCompleteTime; + private String plannedStartTime; + private String actualStartTime; private String totalHours; private String acceptanceUser; /** diff --git a/klp-flow/src/main/java/com/klp/flow/domain/bo/EqpMaintenancePlanDetailBo.java b/klp-flow/src/main/java/com/klp/flow/domain/bo/EqpMaintenancePlanDetailBo.java index f0709efc8..3ff08bae3 100644 --- a/klp-flow/src/main/java/com/klp/flow/domain/bo/EqpMaintenancePlanDetailBo.java +++ b/klp-flow/src/main/java/com/klp/flow/domain/bo/EqpMaintenancePlanDetailBo.java @@ -66,6 +66,8 @@ public class EqpMaintenancePlanDetailBo extends BaseEntity { private String equipmentExecutor; private String plannedCompleteTime; private String actualCompleteTime; + private String plannedStartTime; + private String actualStartTime; private String totalHours; private String acceptanceUser; diff --git a/klp-flow/src/main/java/com/klp/flow/domain/vo/EqpMaintenancePlanDetailVo.java b/klp-flow/src/main/java/com/klp/flow/domain/vo/EqpMaintenancePlanDetailVo.java index 537f9bb83..72b6a37b5 100644 --- a/klp-flow/src/main/java/com/klp/flow/domain/vo/EqpMaintenancePlanDetailVo.java +++ b/klp-flow/src/main/java/com/klp/flow/domain/vo/EqpMaintenancePlanDetailVo.java @@ -76,10 +76,16 @@ public class EqpMaintenancePlanDetailVo { @ExcelProperty(value = "设备执行人员") private String equipmentExecutor; - @ExcelProperty(value = "预计完成时间") + @ExcelProperty(value = "预计开始时间") + private String plannedStartTime; + + @ExcelProperty(value = "预计结束时间") private String plannedCompleteTime; - @ExcelProperty(value = "实际完成时间") + @ExcelProperty(value = "实际开始时间") + private String actualStartTime; + + @ExcelProperty(value = "实际结束时间") private String actualCompleteTime; @ExcelProperty(value = "总耗时(h)") diff --git a/klp-flow/src/main/resources/mapper/flow/EqpMaintenancePlanDetailMapper.xml b/klp-flow/src/main/resources/mapper/flow/EqpMaintenancePlanDetailMapper.xml index 6732e384d..e765ff411 100644 --- a/klp-flow/src/main/resources/mapper/flow/EqpMaintenancePlanDetailMapper.xml +++ b/klp-flow/src/main/resources/mapper/flow/EqpMaintenancePlanDetailMapper.xml @@ -17,6 +17,8 @@ + + diff --git a/klp-ui/src/components/MemoInput/index.vue b/klp-ui/src/components/MemoInput/index.vue index 790555ac3..11b0a7f6f 100644 --- a/klp-ui/src/components/MemoInput/index.vue +++ b/klp-ui/src/components/MemoInput/index.vue @@ -64,6 +64,10 @@ export default { type: Number, default: 6, validator: (value) => value > 0 + }, + inputFormatter: { + type: Function, + default: null } }, data() { @@ -132,10 +136,11 @@ export default { * @param {object} item - 选中的项 {value: 'xxx'} */ handleSelect(item) { - this.cacheInputValue(item.value); - this.inputValue = item.value; + const v = this.formatValue(item.value); + this.cacheInputValue(v); + this.inputValue = v; // 触发自定义事件,通知父组件选中结果 - this.$emit('input', item.value); + this.$emit('input', v); }, /** @@ -144,13 +149,22 @@ export default { */ handleInputChange(value) { if (value && value.trim() !== '') { - this.cacheInputValue(value.trim()); + const v = this.formatValue(value.trim()); + this.cacheInputValue(v); // 触发自定义事件,通知父组件输入结果 - this.$emit('input', value.trim()); + this.$emit('input', v); } else { this.$emit('input', ''); } }, + formatValue(value) { + const v = value === null || value === undefined ? '' : String(value); + if (!v.trim()) return ''; + if (typeof this.inputFormatter === 'function') { + return this.inputFormatter(v); + } + return v.trim(); + }, /** * 缓存输入值到localStorage @@ -196,4 +210,4 @@ export default { .inline-input { width: 100%; } - \ No newline at end of file + diff --git a/klp-ui/src/utils/enum.js b/klp-ui/src/utils/enum.js index 4787c34a8..04aab0f4c 100644 --- a/klp-ui/src/utils/enum.js +++ b/klp-ui/src/utils/enum.js @@ -19,6 +19,8 @@ export const MemoInputStorageKey = { maintenanceEquipmentExecutor: 'maintenanceEquipmentExecutor', // 维修明细-设备执行人员 maintenancePlannedCompleteTime: 'maintenancePlannedCompleteTime', // 维修明细-预计完成时间 maintenanceActualCompleteTime: 'maintenanceActualCompleteTime', // 维修明细-实际完成时间 + maintenancePlannedStartTime: 'maintenancePlannedStartTime', // 维修明细-预计开始时间 + maintenanceActualStartTime: 'maintenanceActualStartTime', // 维修明细-实际开始时间 maintenanceTotalHours: 'maintenanceTotalHours', // 维修明细-总耗时 maintenanceAcceptanceUser: 'maintenanceAcceptanceUser', // 维修明细-验收人 maintenanceRemark: 'maintenanceRemark', // 维修明细-备注 diff --git a/klp-ui/src/views/wms/post/eqp/approval.vue b/klp-ui/src/views/wms/post/eqp/approval.vue index b937bba68..5a7dfc310 100644 --- a/klp-ui/src/views/wms/post/eqp/approval.vue +++ b/klp-ui/src/views/wms/post/eqp/approval.vue @@ -112,8 +112,10 @@ - - + + + + diff --git a/klp-ui/src/views/wms/post/eqp/execute.vue b/klp-ui/src/views/wms/post/eqp/execute.vue index ed50a8a7d..1aa22e7c0 100644 --- a/klp-ui/src/views/wms/post/eqp/execute.vue +++ b/klp-ui/src/views/wms/post/eqp/execute.vue @@ -101,8 +101,10 @@ - - + + + + diff --git a/klp-ui/src/views/wms/post/eqp/index.vue b/klp-ui/src/views/wms/post/eqp/index.vue index 8d9dae7ec..387338ec8 100644 --- a/klp-ui/src/views/wms/post/eqp/index.vue +++ b/klp-ui/src/views/wms/post/eqp/index.vue @@ -165,7 +165,20 @@
{{ scope.row.equipmentExecutor || '-' }}
- + + + + - + + + + @@ -362,6 +390,17 @@ export default { }, methods: { parseTime, + normalizeHm(value) { + if (value === null || value === undefined) return ''; + var s = String(value).trim(); + if (!s) return ''; + var m = s.match(/^(\d{1,2})(?::(\d{1,2}))?$/); + if (!m) return s; + var hh = parseInt(m[1], 10); + var mm = m[2] === undefined ? 0 : parseInt(m[2], 10); + if (isNaN(hh) || isNaN(mm) || hh < 0 || hh > 23 || mm < 0 || mm > 59) return s; + return String(hh).padStart(2, '0') + ':' + String(mm).padStart(2, '0'); + }, async loadLineList() { try { const res = await listProductionLine({ pageSize: 999 }); @@ -456,7 +495,9 @@ export default { repairContent: rec.abnormalDesc || '', lineExecutor: rec.inspector || '', equipmentExecutor: '', + plannedStartTime: '', plannedCompleteTime: '', + actualStartTime: '', actualCompleteTime: '', totalHours: '', acceptanceUser: '', @@ -578,7 +619,9 @@ export default { repairContent: row.repairContent, lineExecutor: row.lineExecutor, equipmentExecutor: row.equipmentExecutor, + plannedStartTime: row.plannedStartTime, plannedCompleteTime: row.plannedCompleteTime, + actualStartTime: row.actualStartTime, actualCompleteTime: row.actualCompleteTime, totalHours: row.totalHours, acceptanceUser: row.acceptanceUser, @@ -598,7 +641,9 @@ export default { row.repairContent = row._origin.repairContent; row.lineExecutor = row._origin.lineExecutor; row.equipmentExecutor = row._origin.equipmentExecutor; + row.plannedStartTime = row._origin.plannedStartTime; row.plannedCompleteTime = row._origin.plannedCompleteTime; + row.actualStartTime = row._origin.actualStartTime; row.actualCompleteTime = row._origin.actualCompleteTime; row.totalHours = row._origin.totalHours; row.acceptanceUser = row._origin.acceptanceUser; @@ -644,7 +689,9 @@ export default { repairContent: '', lineExecutor: '', equipmentExecutor: '', + plannedStartTime: '', plannedCompleteTime: '', + actualStartTime: '', actualCompleteTime: '', totalHours: '', acceptanceUser: '', @@ -663,7 +710,9 @@ export default { repairContent: row.repairContent, lineExecutor: row.lineExecutor, equipmentExecutor: row.equipmentExecutor, + plannedStartTime: row.plannedStartTime, plannedCompleteTime: row.plannedCompleteTime, + actualStartTime: row.actualStartTime, actualCompleteTime: row.actualCompleteTime, totalHours: row.totalHours, acceptanceUser: row.acceptanceUser, diff --git a/script/sql/mysql/update/update_20260708_eqp_maintenance_plan_detail_time_split.sql b/script/sql/mysql/update/update_20260708_eqp_maintenance_plan_detail_time_split.sql new file mode 100644 index 000000000..f36b17b39 --- /dev/null +++ b/script/sql/mysql/update/update_20260708_eqp_maintenance_plan_detail_time_split.sql @@ -0,0 +1,3 @@ +ALTER TABLE eqp_maintenance_plan_detail + ADD COLUMN planned_start_time varchar(16) NULL, + ADD COLUMN actual_start_time varchar(16) NULL;