From 289367f7066d1179685a501ec5a108fa11a7c0f2 Mon Sep 17 00:00:00 2001 From: qushaowei <qushaowei@163.com> Date: 星期五, 30 五月 2025 11:14:26 +0800 Subject: [PATCH] 维修工单实际工时展示实际十分修改 --- src/views/eam/modules/repairorder/moudles/RepairOrderActualHoursReport.vue | 131 +++++++++++++++++++++++++++---------------- 1 files changed, 82 insertions(+), 49 deletions(-) diff --git a/src/views/eam/modules/repairorder/moudles/RepairOrderActualHoursReport.vue b/src/views/eam/modules/repairorder/moudles/RepairOrderActualHoursReport.vue index c530e59..62665b8 100644 --- a/src/views/eam/modules/repairorder/moudles/RepairOrderActualHoursReport.vue +++ b/src/views/eam/modules/repairorder/moudles/RepairOrderActualHoursReport.vue @@ -35,15 +35,25 @@ <!-- <a-switch @change='(e)=>onChange(e, record.key, col, index)' :value='text' :disabled="repairOrderStatus=='4'"--> <!-- v-if="col.dataIndex == 'principalContractor'" />--> - <a-select default-value='0' :value='text' :disabled="repairOrderStatus=='4'" - v-if="col.dataIndex == 'principalContractor'" - style="width: 100%;" - @change='(e)=>handleChange(e, record.key, col, index)'> + <a-select + default-value='0' + :value='text' + :disabled="repairOrderStatus=='4'" + v-if="col.dataIndex == 'principalContractor'" + style="width: 100%;" + @change='(e)=>handleChange(e, record.key, col, index)' + > <a-select-opt-group> - <a-select-option value='1' style="width: 100%;"> + <a-select-option + value='1' + style="width: 100%;" + > 鏄� </a-select-option> - <a-select-option value='0' style="width: 100%;"> + <a-select-option + value='0' + style="width: 100%;" + > 鍚� </a-select-option> </a-select-opt-group> @@ -61,14 +71,16 @@ :value='text' format='YYYY-MM-DD HH:mm' :show-time="{ defaultValue: moment('00:00', 'HH:mm') }" - v-if="col.dataIndex == 'startTime'" @change='(e)=>handleChange(e, record.key, col, index)' + v-if="col.dataIndex == 'startTime'" + @change='(e)=>handleChange(e, record.key, col, index)' /> <!-- :disabled="repairOrderStatus=='4'"--> <a-date-picker :value='text' format='YYYY-MM-DD HH:mm' :show-time="{ defaultValue: moment('00:00', 'HH:mm') }" - v-if="col.dataIndex == 'endTime'" @change='(e)=>handleChange(e, record.key, col, index)' + v-if="col.dataIndex == 'endTime'" + @change='(e)=>handleChange(e, record.key, col, index)' /> <!-- <a-input-number--> @@ -225,7 +237,7 @@ key: 'rowIndex', width: 60, align: 'center', - customRender: function(t, r, index) { + customRender: function (t, r, index) { return parseInt(index) + 1 } }, @@ -234,7 +246,7 @@ dataIndex: 'userId', align: 'center', scopedSlots: { customRender: 'userId' }, - className: 'red', + // className: 'red', width: 200 }, { @@ -242,14 +254,14 @@ dataIndex: 'principalContractor', align: 'center', scopedSlots: { customRender: 'principalContractor' }, - className: 'red', + // className: 'red', width: 150 }, { title: '*瀹為檯宸ユ椂', dataIndex: 'actualHour', align: 'center', - className: 'red', + // className: 'red', scopedSlots: { customRender: 'actualHour' }, width: 150 }, @@ -297,7 +309,7 @@ repairOrderId: { immediate: true, handler(val) { - if(this.repairOrderId){ + if (this.repairOrderId) { this.clearList() this.queryParam['repairOrderId'] = val this.loadData(1) @@ -310,7 +322,7 @@ onChange(checked) { console.log(`a-switch to ${checked}`) }, -//鏃堕棿閫夋嫨淇敼 + //鏃堕棿閫夋嫨淇敼 onStartTimeChange() { console.log() @@ -365,8 +377,11 @@ for (let i = 0; i < formData.repairOrderActualWorkHoursList.length; i++) { const start = formData.repairOrderActualWorkHoursList[i].startTime const end = formData.repairOrderActualWorkHoursList[i].endTime - formData.repairOrderActualWorkHoursList[i].startTime = moment(start).format('yyyy-MM-DD HH:mm') - formData.repairOrderActualWorkHoursList[i].endTime = moment(end).format('yyyy-MM-DD HH:mm') + formData.repairOrderActualWorkHoursList[i].startTime = this.formattedTime(start); + + formData.repairOrderActualWorkHoursList[i].endTime = this.formattedTime(end); + // formData.repairOrderActualWorkHoursList[i].startTime = moment(start).format('yyyy-MM-DD HH:mm') + // formData.repairOrderActualWorkHoursList[i].endTime = moment(end).format('yyyy-MM-DD HH:mm') } // formData.equipmentId = that.equipmentId; let obj = obj = postAction(this.url.confirmHour, formData) @@ -385,6 +400,24 @@ } }) }, + formattedTime(originalTime) { + + // 鍒涘缓 Date 瀵硅薄 + const date = new Date(originalTime) + + // 妫�鏌� Date 瀵硅薄鏄惁鏈夋晥 + if (isNaN(date.getTime())) return '鏃犳晥鏃堕棿' + + // 鑾峰彇骞淬�佹湀銆佹棩銆佹椂銆佸垎 + const year = date.getFullYear() + const month = String(date.getMonth() + 1).padStart(2, '0') + const day = String(date.getDate()).padStart(2, '0') + const hours = String(date.getHours()).padStart(2, '0') + const minutes = String(date.getMinutes()).padStart(2, '0') + // 鎷兼帴鎴愭寚瀹氭牸寮� + return `${year}-${month}-${day} ${hours}:${minutes}` + }, + handleChange(value, key, column, index) { let that = this const temp = [...that.dataSource] @@ -395,26 +428,26 @@ } if ('principalContractor' == column.dataIndex) { target['principalContractor'] = value - if(value==='1'){ - for(var i = 0;i<temp.length;i++){ - if(i!==index){ - temp[i]['principalContractor']='0'; - } + if (value === '1') { + for (var i = 0; i < temp.length; i++) { + if (i !== index) { + temp[i]['principalContractor'] = '0'; + } } } } if ('actualHour' == column.dataIndex) { - if(target['theoreticalTime']!==null&&target['theoreticalTime']<value){ + if (target['theoreticalTime'] !== null && target['theoreticalTime'] < value) { that.$message.error('璇锋鏌ョ' + (index + 1) + '琛屽疄闄呭伐鏃朵笉鑳藉皬浜庣悊璁哄伐鏃�,璇烽噸鏂板~鍐�') - target['actualHour']=null; - }else if(target['theoreticalTime']===null||target['theoreticalTime']===undefined){ + target['actualHour'] = null; + } else if (target['theoreticalTime'] === null || target['theoreticalTime'] === undefined) { that.$message.error('璇锋鏌ョ' + (index + 1) + '璇峰厛濉啓寮�濮嬫椂闂翠笌缁撴潫鏃堕棿') - target['actualHour']=null; - }else{ + target['actualHour'] = null; + } else { target['actualHour'] = value } - + } // if ('theoreticalTime' == column.dataIndex) { // target['theoreticalTime'] = value @@ -423,28 +456,28 @@ if (target['endTime'] == null) { target['startTime'] = value - } else { + } else { const diffInHours = this.getTimeDiff(value, target['endTime']) if (diffInHours < 0) { target['startTime'] = '' target['theoreticalTime'] = '' that.$message.error('寮�濮嬫椂闂翠笉鑳藉皬浜庣粨鏉熸椂闂�,璇烽噸鏂伴�夋嫨') } else { - if(target['actualHour']!==null){ - if(diffInHours<target['actualHour']){ - target['startTime'] = '' - target['theoreticalTime'] = '' - that.$message.error('瀹為檯宸ユ椂涓嶈兘灏忎簬鐞嗚宸ユ椂,璇烽噸鏂板~鍐�') - }else{ - target['startTime'] = value - target['theoreticalTime'] = diffInHours - } - }else{ + if (target['actualHour'] !== null) { + if (diffInHours < target['actualHour']) { + target['startTime'] = '' + target['theoreticalTime'] = '' + that.$message.error('瀹為檯宸ユ椂涓嶈兘灏忎簬鐞嗚宸ユ椂,璇烽噸鏂板~鍐�') + } else { + target['startTime'] = value + target['theoreticalTime'] = diffInHours + } + } else { target['startTime'] = value target['theoreticalTime'] = diffInHours } } - } + } } if ('endTime' == column.dataIndex) { @@ -457,16 +490,16 @@ target['theoreticalTime'] = '' that.$message.error('寮�濮嬫椂闂翠笉鑳藉皬浜庣粨鏉熸椂闂�,璇烽噸鏂伴�夋嫨') } else { - if(target['actualHour']!==null){ - if(diffInHours<target['actualHour']){ - target['endTime'] = '' - target['theoreticalTime'] = '' - that.$message.error('瀹為檯宸ユ椂涓嶈兘灏忎簬鐞嗚宸ユ椂,璇烽噸鏂板~鍐�') - }else{ - target['endTime'] = value - target['theoreticalTime'] = diffInHours - } - }else{ + if (target['actualHour'] !== null) { + if (diffInHours < target['actualHour']) { + target['endTime'] = '' + target['theoreticalTime'] = '' + that.$message.error('瀹為檯宸ユ椂涓嶈兘灏忎簬鐞嗚宸ユ椂,璇烽噸鏂板~鍐�') + } else { + target['endTime'] = value + target['theoreticalTime'] = diffInHours + } + } else { target['endTime'] = value target['theoreticalTime'] = diffInHours } -- Gitblit v1.9.3