设备维保调整字段和操作逻辑,预计开始时间,结束时间调整
This commit is contained in:
@@ -59,6 +59,8 @@ public class EqpMaintenancePlanDetail extends BaseEntity {
|
|||||||
private String equipmentExecutor;
|
private String equipmentExecutor;
|
||||||
private String plannedCompleteTime;
|
private String plannedCompleteTime;
|
||||||
private String actualCompleteTime;
|
private String actualCompleteTime;
|
||||||
|
private String plannedStartTime;
|
||||||
|
private String actualStartTime;
|
||||||
private String totalHours;
|
private String totalHours;
|
||||||
private String acceptanceUser;
|
private String acceptanceUser;
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -66,6 +66,8 @@ public class EqpMaintenancePlanDetailBo extends BaseEntity {
|
|||||||
private String equipmentExecutor;
|
private String equipmentExecutor;
|
||||||
private String plannedCompleteTime;
|
private String plannedCompleteTime;
|
||||||
private String actualCompleteTime;
|
private String actualCompleteTime;
|
||||||
|
private String plannedStartTime;
|
||||||
|
private String actualStartTime;
|
||||||
private String totalHours;
|
private String totalHours;
|
||||||
private String acceptanceUser;
|
private String acceptanceUser;
|
||||||
|
|
||||||
|
|||||||
@@ -76,10 +76,16 @@ public class EqpMaintenancePlanDetailVo {
|
|||||||
@ExcelProperty(value = "设备执行人员")
|
@ExcelProperty(value = "设备执行人员")
|
||||||
private String equipmentExecutor;
|
private String equipmentExecutor;
|
||||||
|
|
||||||
@ExcelProperty(value = "预计完成时间")
|
@ExcelProperty(value = "预计开始时间")
|
||||||
|
private String plannedStartTime;
|
||||||
|
|
||||||
|
@ExcelProperty(value = "预计结束时间")
|
||||||
private String plannedCompleteTime;
|
private String plannedCompleteTime;
|
||||||
|
|
||||||
@ExcelProperty(value = "实际完成时间")
|
@ExcelProperty(value = "实际开始时间")
|
||||||
|
private String actualStartTime;
|
||||||
|
|
||||||
|
@ExcelProperty(value = "实际结束时间")
|
||||||
private String actualCompleteTime;
|
private String actualCompleteTime;
|
||||||
|
|
||||||
@ExcelProperty(value = "总耗时(h)")
|
@ExcelProperty(value = "总耗时(h)")
|
||||||
|
|||||||
@@ -17,6 +17,8 @@
|
|||||||
<result property="equipmentExecutor" column="equipment_executor"/>
|
<result property="equipmentExecutor" column="equipment_executor"/>
|
||||||
<result property="plannedCompleteTime" column="planned_complete_time"/>
|
<result property="plannedCompleteTime" column="planned_complete_time"/>
|
||||||
<result property="actualCompleteTime" column="actual_complete_time"/>
|
<result property="actualCompleteTime" column="actual_complete_time"/>
|
||||||
|
<result property="plannedStartTime" column="planned_start_time"/>
|
||||||
|
<result property="actualStartTime" column="actual_start_time"/>
|
||||||
<result property="totalHours" column="total_hours"/>
|
<result property="totalHours" column="total_hours"/>
|
||||||
<result property="acceptanceUser" column="acceptance_user"/>
|
<result property="acceptanceUser" column="acceptance_user"/>
|
||||||
<result property="repairUser" column="repair_user"/>
|
<result property="repairUser" column="repair_user"/>
|
||||||
|
|||||||
@@ -64,6 +64,10 @@ export default {
|
|||||||
type: Number,
|
type: Number,
|
||||||
default: 6,
|
default: 6,
|
||||||
validator: (value) => value > 0
|
validator: (value) => value > 0
|
||||||
|
},
|
||||||
|
inputFormatter: {
|
||||||
|
type: Function,
|
||||||
|
default: null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
@@ -132,10 +136,11 @@ export default {
|
|||||||
* @param {object} item - 选中的项 {value: 'xxx'}
|
* @param {object} item - 选中的项 {value: 'xxx'}
|
||||||
*/
|
*/
|
||||||
handleSelect(item) {
|
handleSelect(item) {
|
||||||
this.cacheInputValue(item.value);
|
const v = this.formatValue(item.value);
|
||||||
this.inputValue = 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) {
|
handleInputChange(value) {
|
||||||
if (value && value.trim() !== '') {
|
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 {
|
} else {
|
||||||
this.$emit('input', '');
|
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
|
* 缓存输入值到localStorage
|
||||||
|
|||||||
@@ -19,6 +19,8 @@ export const MemoInputStorageKey = {
|
|||||||
maintenanceEquipmentExecutor: 'maintenanceEquipmentExecutor', // 维修明细-设备执行人员
|
maintenanceEquipmentExecutor: 'maintenanceEquipmentExecutor', // 维修明细-设备执行人员
|
||||||
maintenancePlannedCompleteTime: 'maintenancePlannedCompleteTime', // 维修明细-预计完成时间
|
maintenancePlannedCompleteTime: 'maintenancePlannedCompleteTime', // 维修明细-预计完成时间
|
||||||
maintenanceActualCompleteTime: 'maintenanceActualCompleteTime', // 维修明细-实际完成时间
|
maintenanceActualCompleteTime: 'maintenanceActualCompleteTime', // 维修明细-实际完成时间
|
||||||
|
maintenancePlannedStartTime: 'maintenancePlannedStartTime', // 维修明细-预计开始时间
|
||||||
|
maintenanceActualStartTime: 'maintenanceActualStartTime', // 维修明细-实际开始时间
|
||||||
maintenanceTotalHours: 'maintenanceTotalHours', // 维修明细-总耗时
|
maintenanceTotalHours: 'maintenanceTotalHours', // 维修明细-总耗时
|
||||||
maintenanceAcceptanceUser: 'maintenanceAcceptanceUser', // 维修明细-验收人
|
maintenanceAcceptanceUser: 'maintenanceAcceptanceUser', // 维修明细-验收人
|
||||||
maintenanceRemark: 'maintenanceRemark', // 维修明细-备注
|
maintenanceRemark: 'maintenanceRemark', // 维修明细-备注
|
||||||
|
|||||||
@@ -112,8 +112,10 @@
|
|||||||
<el-table-column label="具体工作内容" align="center" prop="repairContent" min-width="220" show-overflow-tooltip />
|
<el-table-column label="具体工作内容" align="center" prop="repairContent" min-width="220" show-overflow-tooltip />
|
||||||
<el-table-column label="产线执行人员" align="center" prop="lineExecutor" min-width="150" show-overflow-tooltip />
|
<el-table-column label="产线执行人员" align="center" prop="lineExecutor" min-width="150" show-overflow-tooltip />
|
||||||
<el-table-column label="设备执行人员" align="center" prop="equipmentExecutor" min-width="150" show-overflow-tooltip />
|
<el-table-column label="设备执行人员" align="center" prop="equipmentExecutor" min-width="150" show-overflow-tooltip />
|
||||||
<el-table-column label="预计完成时间" align="center" prop="plannedCompleteTime" min-width="140" show-overflow-tooltip />
|
<el-table-column label="预计开始时间" align="center" prop="plannedStartTime" min-width="120" show-overflow-tooltip />
|
||||||
<el-table-column label="实际完成时间" align="center" prop="actualCompleteTime" min-width="140" show-overflow-tooltip />
|
<el-table-column label="预计结束时间" align="center" prop="plannedCompleteTime" min-width="120" show-overflow-tooltip />
|
||||||
|
<el-table-column label="实际开始时间" align="center" prop="actualStartTime" min-width="120" show-overflow-tooltip />
|
||||||
|
<el-table-column label="实际结束时间" align="center" prop="actualCompleteTime" min-width="120" show-overflow-tooltip />
|
||||||
<el-table-column label="总耗时(h)" align="center" prop="totalHours" min-width="110" show-overflow-tooltip />
|
<el-table-column label="总耗时(h)" align="center" prop="totalHours" min-width="110" show-overflow-tooltip />
|
||||||
<el-table-column label="验收人" align="center" prop="acceptanceUser" min-width="110" show-overflow-tooltip />
|
<el-table-column label="验收人" align="center" prop="acceptanceUser" min-width="110" show-overflow-tooltip />
|
||||||
<el-table-column label="是否完成" align="center" width="100">
|
<el-table-column label="是否完成" align="center" width="100">
|
||||||
|
|||||||
@@ -101,8 +101,10 @@
|
|||||||
<el-table-column label="具体工作内容" align="center" prop="repairContent" min-width="200" show-overflow-tooltip />
|
<el-table-column label="具体工作内容" align="center" prop="repairContent" min-width="200" show-overflow-tooltip />
|
||||||
<el-table-column label="产线执行人员" align="center" prop="lineExecutor" min-width="130" show-overflow-tooltip />
|
<el-table-column label="产线执行人员" align="center" prop="lineExecutor" min-width="130" show-overflow-tooltip />
|
||||||
<el-table-column label="设备执行人员" align="center" prop="equipmentExecutor" min-width="130" show-overflow-tooltip />
|
<el-table-column label="设备执行人员" align="center" prop="equipmentExecutor" min-width="130" show-overflow-tooltip />
|
||||||
<el-table-column label="预计完成时间" align="center" prop="plannedCompleteTime" min-width="120" show-overflow-tooltip />
|
<el-table-column label="预计开始时间" align="center" prop="plannedStartTime" min-width="120" show-overflow-tooltip />
|
||||||
<el-table-column label="实际完成时间" align="center" prop="actualCompleteTime" min-width="120" show-overflow-tooltip />
|
<el-table-column label="预计结束时间" align="center" prop="plannedCompleteTime" min-width="120" show-overflow-tooltip />
|
||||||
|
<el-table-column label="实际开始时间" align="center" prop="actualStartTime" min-width="120" show-overflow-tooltip />
|
||||||
|
<el-table-column label="实际结束时间" align="center" prop="actualCompleteTime" min-width="120" show-overflow-tooltip />
|
||||||
<el-table-column label="总耗时(h)" align="center" prop="totalHours" min-width="100" show-overflow-tooltip />
|
<el-table-column label="总耗时(h)" align="center" prop="totalHours" min-width="100" show-overflow-tooltip />
|
||||||
<el-table-column label="验收人" align="center" prop="acceptanceUser" min-width="100" show-overflow-tooltip />
|
<el-table-column label="验收人" align="center" prop="acceptanceUser" min-width="100" show-overflow-tooltip />
|
||||||
<el-table-column label="进度" align="center" width="160">
|
<el-table-column label="进度" align="center" width="160">
|
||||||
|
|||||||
@@ -165,7 +165,20 @@
|
|||||||
<div v-else class="cell-pre-wrap">{{ scope.row.equipmentExecutor || '-' }}</div>
|
<div v-else class="cell-pre-wrap">{{ scope.row.equipmentExecutor || '-' }}</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="预计完成时间" align="center" min-width="140">
|
<el-table-column label="预计开始时间" align="center" min-width="120">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<MemoInput
|
||||||
|
v-if="scope.row._editing"
|
||||||
|
v-model="scope.row.plannedStartTime"
|
||||||
|
storageKey="maintenancePlannedStartTime"
|
||||||
|
matchRule="contain"
|
||||||
|
triggerMode="focus"
|
||||||
|
:inputFormatter="normalizeHm"
|
||||||
|
placeholder="如 07:00" />
|
||||||
|
<span v-else>{{ scope.row.plannedStartTime || '-' }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="预计结束时间" align="center" min-width="120">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<MemoInput
|
<MemoInput
|
||||||
v-if="scope.row._editing"
|
v-if="scope.row._editing"
|
||||||
@@ -173,11 +186,25 @@
|
|||||||
storageKey="maintenancePlannedCompleteTime"
|
storageKey="maintenancePlannedCompleteTime"
|
||||||
matchRule="contain"
|
matchRule="contain"
|
||||||
triggerMode="focus"
|
triggerMode="focus"
|
||||||
placeholder="如 7:00-18:30" />
|
:inputFormatter="normalizeHm"
|
||||||
|
placeholder="如 18:30" />
|
||||||
<span v-else>{{ scope.row.plannedCompleteTime || '-' }}</span>
|
<span v-else>{{ scope.row.plannedCompleteTime || '-' }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="实际完成时间" align="center" min-width="140">
|
<el-table-column label="实际开始时间" align="center" min-width="120">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<MemoInput
|
||||||
|
v-if="scope.row._editing"
|
||||||
|
v-model="scope.row.actualStartTime"
|
||||||
|
storageKey="maintenanceActualStartTime"
|
||||||
|
matchRule="contain"
|
||||||
|
triggerMode="focus"
|
||||||
|
:inputFormatter="normalizeHm"
|
||||||
|
placeholder="如 07:00" />
|
||||||
|
<span v-else>{{ scope.row.actualStartTime || '-' }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="实际结束时间" align="center" min-width="120">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<MemoInput
|
<MemoInput
|
||||||
v-if="scope.row._editing"
|
v-if="scope.row._editing"
|
||||||
@@ -185,7 +212,8 @@
|
|||||||
storageKey="maintenanceActualCompleteTime"
|
storageKey="maintenanceActualCompleteTime"
|
||||||
matchRule="contain"
|
matchRule="contain"
|
||||||
triggerMode="focus"
|
triggerMode="focus"
|
||||||
placeholder="如 7:00-18:30" />
|
:inputFormatter="normalizeHm"
|
||||||
|
placeholder="如 18:30" />
|
||||||
<span v-else>{{ scope.row.actualCompleteTime || '-' }}</span>
|
<span v-else>{{ scope.row.actualCompleteTime || '-' }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@@ -362,6 +390,17 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
parseTime,
|
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() {
|
async loadLineList() {
|
||||||
try {
|
try {
|
||||||
const res = await listProductionLine({ pageSize: 999 });
|
const res = await listProductionLine({ pageSize: 999 });
|
||||||
@@ -456,7 +495,9 @@ export default {
|
|||||||
repairContent: rec.abnormalDesc || '',
|
repairContent: rec.abnormalDesc || '',
|
||||||
lineExecutor: rec.inspector || '',
|
lineExecutor: rec.inspector || '',
|
||||||
equipmentExecutor: '',
|
equipmentExecutor: '',
|
||||||
|
plannedStartTime: '',
|
||||||
plannedCompleteTime: '',
|
plannedCompleteTime: '',
|
||||||
|
actualStartTime: '',
|
||||||
actualCompleteTime: '',
|
actualCompleteTime: '',
|
||||||
totalHours: '',
|
totalHours: '',
|
||||||
acceptanceUser: '',
|
acceptanceUser: '',
|
||||||
@@ -578,7 +619,9 @@ export default {
|
|||||||
repairContent: row.repairContent,
|
repairContent: row.repairContent,
|
||||||
lineExecutor: row.lineExecutor,
|
lineExecutor: row.lineExecutor,
|
||||||
equipmentExecutor: row.equipmentExecutor,
|
equipmentExecutor: row.equipmentExecutor,
|
||||||
|
plannedStartTime: row.plannedStartTime,
|
||||||
plannedCompleteTime: row.plannedCompleteTime,
|
plannedCompleteTime: row.plannedCompleteTime,
|
||||||
|
actualStartTime: row.actualStartTime,
|
||||||
actualCompleteTime: row.actualCompleteTime,
|
actualCompleteTime: row.actualCompleteTime,
|
||||||
totalHours: row.totalHours,
|
totalHours: row.totalHours,
|
||||||
acceptanceUser: row.acceptanceUser,
|
acceptanceUser: row.acceptanceUser,
|
||||||
@@ -598,7 +641,9 @@ export default {
|
|||||||
row.repairContent = row._origin.repairContent;
|
row.repairContent = row._origin.repairContent;
|
||||||
row.lineExecutor = row._origin.lineExecutor;
|
row.lineExecutor = row._origin.lineExecutor;
|
||||||
row.equipmentExecutor = row._origin.equipmentExecutor;
|
row.equipmentExecutor = row._origin.equipmentExecutor;
|
||||||
|
row.plannedStartTime = row._origin.plannedStartTime;
|
||||||
row.plannedCompleteTime = row._origin.plannedCompleteTime;
|
row.plannedCompleteTime = row._origin.plannedCompleteTime;
|
||||||
|
row.actualStartTime = row._origin.actualStartTime;
|
||||||
row.actualCompleteTime = row._origin.actualCompleteTime;
|
row.actualCompleteTime = row._origin.actualCompleteTime;
|
||||||
row.totalHours = row._origin.totalHours;
|
row.totalHours = row._origin.totalHours;
|
||||||
row.acceptanceUser = row._origin.acceptanceUser;
|
row.acceptanceUser = row._origin.acceptanceUser;
|
||||||
@@ -644,7 +689,9 @@ export default {
|
|||||||
repairContent: '',
|
repairContent: '',
|
||||||
lineExecutor: '',
|
lineExecutor: '',
|
||||||
equipmentExecutor: '',
|
equipmentExecutor: '',
|
||||||
|
plannedStartTime: '',
|
||||||
plannedCompleteTime: '',
|
plannedCompleteTime: '',
|
||||||
|
actualStartTime: '',
|
||||||
actualCompleteTime: '',
|
actualCompleteTime: '',
|
||||||
totalHours: '',
|
totalHours: '',
|
||||||
acceptanceUser: '',
|
acceptanceUser: '',
|
||||||
@@ -663,7 +710,9 @@ export default {
|
|||||||
repairContent: row.repairContent,
|
repairContent: row.repairContent,
|
||||||
lineExecutor: row.lineExecutor,
|
lineExecutor: row.lineExecutor,
|
||||||
equipmentExecutor: row.equipmentExecutor,
|
equipmentExecutor: row.equipmentExecutor,
|
||||||
|
plannedStartTime: row.plannedStartTime,
|
||||||
plannedCompleteTime: row.plannedCompleteTime,
|
plannedCompleteTime: row.plannedCompleteTime,
|
||||||
|
actualStartTime: row.actualStartTime,
|
||||||
actualCompleteTime: row.actualCompleteTime,
|
actualCompleteTime: row.actualCompleteTime,
|
||||||
totalHours: row.totalHours,
|
totalHours: row.totalHours,
|
||||||
acceptanceUser: row.acceptanceUser,
|
acceptanceUser: row.acceptanceUser,
|
||||||
|
|||||||
@@ -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;
|
||||||
Reference in New Issue
Block a user