From 16d99a3f6da4cebed2376fa42e025b53c2891818 Mon Sep 17 00:00:00 2001 From: “linengliang” <vanSuperEnergy@163.com> Date: 星期二, 12 十二月 2023 15:26:08 +0800 Subject: [PATCH] 维修履历 --- src/views/eam/modules/repairorder/moudles/RepairOrderActualHoursReport.vue | 137 +++++++------- src/views/eam/modules/repairorder/moudles/RepairOrderFaultAnalysisReport.vue | 63 ++++-- src/views/eam/modules/malfunctionRepair/AcceptModel.vue | 23 ++ src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue | 296 +++++++++++++++++++++----------- 4 files changed, 317 insertions(+), 202 deletions(-) diff --git a/src/views/eam/modules/malfunctionRepair/AcceptModel.vue b/src/views/eam/modules/malfunctionRepair/AcceptModel.vue index 2898bae..ac07169 100644 --- a/src/views/eam/modules/malfunctionRepair/AcceptModel.vue +++ b/src/views/eam/modules/malfunctionRepair/AcceptModel.vue @@ -16,6 +16,17 @@ :rules="validatorRules" > <a-row :gutter="24"> + <a-col :span='24'> + <a-form-model-item + label='楠屾敹浜�' + prop='errUda3' + :labelCol="labelCol" + :wrapperCol="wrapperCol"> + <a-input v-model='model.errUda3' + > + </a-input> + </a-form-model-item> + </a-col> <a-col :span="24"> <a-form-model-item label="楠屾敹鎰忚" @@ -23,7 +34,7 @@ :wrapperCol="wrapperCol" prop="errUda5" > - <a-textarea v-model="model.remark" rows="4" placeholder="楠屾敹鎰忚" /> + <a-textarea v-model="model.errUda5" rows="4" placeholder="楠屾敹鎰忚" /> </a-form-model-item> </a-col> </a-row> @@ -76,8 +87,13 @@ confirmLoading: false, validatorRules: { - remark: [ - { min: 0, max: 100, message: '闀垮害涓嶈秴杩� 100 涓瓧绗�', trigger: 'blur' }, + errUda5: [ + {required:true,message:"璇疯緭鍏ラ獙鏀舵剰瑙�"}, + { min: 0, max: 100, message: '闀垮害涓嶈秴杩� 100 涓瓧绗�' }, + ], + errUda3 :[ + {required:true,message:"璇疯緭鍏ュ悕绉�"}, + { min: 0, max: 10, message: '鍚嶇О涓嶈秴杩� 10 涓瓧绗�'}, ], }, url: { @@ -92,7 +108,6 @@ }, methods: { add() { - this this.edit(this.modelDefault); }, edit(record) { diff --git a/src/views/eam/modules/repairorder/moudles/RepairOrderActualHoursReport.vue b/src/views/eam/modules/repairorder/moudles/RepairOrderActualHoursReport.vue index c086628..c530e59 100644 --- a/src/views/eam/modules/repairorder/moudles/RepairOrderActualHoursReport.vue +++ b/src/views/eam/modules/repairorder/moudles/RepairOrderActualHoursReport.vue @@ -18,12 +18,9 @@ slot-scope='text, record, index' > <div :key='col.dataIndex'> - <a-input-search - v-if="col.dataIndex == 'username'" - enter-button - @search='onSearchUser(index)' + <a-input + v-if="col.dataIndex == 'userId'" :value='text' - :read-only='true' @change='(e) => handleChange(e, record.key, col, index)' :disabled="repairOrderStatus=='4'" /> @@ -40,12 +37,13 @@ <!-- 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-opt-group> - <a-select-option value='1'> + <a-select-option value='1' style="width: 100%;"> 鏄� </a-select-option> - <a-select-option value='0'> + <a-select-option value='0' style="width: 100%;"> 鍚� </a-select-option> </a-select-opt-group> @@ -111,13 +109,13 @@ > 鍙栨秷 </a-button> - <a-button + <!-- <a-button @click='handleOk(1)' type='primary' :style="{marginRight: '8px'}" :disabled="this.repairOrderStatus=='4' || this.repairOrderStatus=='2'" >鏆傚瓨 - </a-button> + </a-button> --> <a-button @click='handleOk(0)' type='primary' @@ -161,7 +159,6 @@ repairOrderId: { type: String, required: false, - default: '-1' }, repairOrderStatus: { type: String, @@ -198,7 +195,7 @@ validatorRules: { userId: { rules: [ - { required: true, message: '璇烽�夋嫨浜哄憳!' } + { required: true, message: '璇峰~鍐欎汉鍛�!' } ] }, actual_hour: { @@ -233,25 +230,20 @@ } }, { - title: '*浜哄憳缂栫爜', - dataIndex: 'username', + title: '*浜哄憳鍚嶇О', + dataIndex: 'userId', align: 'center', - scopedSlots: { customRender: 'username' }, + scopedSlots: { customRender: 'userId' }, className: 'red', - width: 250 + width: 200 }, { - title: '浜哄憳鍚嶇О', - dataIndex: 'realname', - align: 'center', - width: 150 - }, - { - title: '涓绘壙淇汉', + title: '*涓绘壙淇汉', dataIndex: 'principalContractor', align: 'center', scopedSlots: { customRender: 'principalContractor' }, - width: 100 + className: 'red', + width: 150 }, { title: '*瀹為檯宸ユ椂', @@ -259,19 +251,22 @@ align: 'center', className: 'red', scopedSlots: { customRender: 'actualHour' }, - width: 120 + width: 150 }, { title: '寮�濮嬫椂闂�', dataIndex: 'startTime', scopedSlots: { customRender: 'startTime' }, - align: 'center' + align: 'center', + width: 200 }, { title: '缁撴潫鏃堕棿', dataIndex: 'endTime', align: 'center', - scopedSlots: { customRender: 'endTime' } + scopedSlots: { customRender: 'endTime' }, + width: 200 + }, { @@ -279,12 +274,14 @@ dataIndex: 'theoreticalTime', align: 'center' // scopedSlots: { customRender: 'theoreticalTime' }, + , + width: 150 }, { title: '鎿嶄綔', dataIndex: 'action', align: 'center', - width: 250, + width: 150, scopedSlots: { customRender: 'action' } } ], @@ -300,9 +297,11 @@ repairOrderId: { immediate: true, handler(val) { - this.clearList() - this.queryParam['repairOrderId'] = val - this.loadData(1) + if(this.repairOrderId){ + this.clearList() + this.queryParam['repairOrderId'] = val + this.loadData(1) + } } } }, @@ -332,7 +331,8 @@ this.disableSubmit = false this.visible = false }, - handleDelete(text, record, index) { + handleDelete(index) { + console.log(index) this.dataSource.splice(index, 1) }, @@ -390,12 +390,18 @@ const temp = [...that.dataSource] const target = temp[index] if (target) { - target[column.dataIndex] = value if ('userId' == column.dataIndex) { - target['userId'] = value + target['userId'] = value.target.value } 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 ('actualHour' == column.dataIndex) { @@ -417,56 +423,55 @@ if (target['endTime'] == null) { target['startTime'] = value - } else if (target['startTime'] != null && target['endTime'] != null) { - const diffInHours = this.getTimeDiff(target['startTime'], target['endTime']) - if (diffInHours < 0) { - target['startTime'] = '' - target['theoreticalTime'] = '' - that.$message.error('璇锋鏌ョ' + (index + 1) + '琛屽紑濮嬫椂闂翠笉鑳藉皬浜庣粨鏉熸椂闂�,璇烽噸鏂伴�夋嫨') - } else { - target['startTime'] = value - target['theoreticalTime'] = diffInHours - } - } else if (target['startTime'] == null && target['endTime'] != null) { + } else { const diffInHours = this.getTimeDiff(value, target['endTime']) if (diffInHours < 0) { target['startTime'] = '' target['theoreticalTime'] = '' - that.$message.error('璇锋鏌ョ' + (index + 1) + '琛屽紑濮嬫椂闂翠笉鑳藉皬浜庣粨鏉熸椂闂�,璇烽噸鏂伴�夋嫨') - + that.$message.error('寮�濮嬫椂闂翠笉鑳藉皬浜庣粨鏉熸椂闂�,璇烽噸鏂伴�夋嫨') } else { - target['startTime'] = value - target['theoreticalTime'] = diffInHours + 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) { if (target['startTime'] == null) { target['endTime'] = value - } else if (target['startTime'] != null && target['endTime'] != null) { - const diffInHours = this.getTimeDiff(target['startTime'], target['endTime']) - if (diffInHours < 0) { - target['endTime'] = '' - target['theoreticalTime'] = '' - that.$message.error('璇锋鏌ョ' + (index + 1) + '琛屽紑濮嬫椂闂翠笉鑳藉皬浜庣粨鏉熸椂闂�,璇烽噸鏂伴�夋嫨') - } else { - target['endTime'] = value - target['theoreticalTime'] = diffInHours - } - - } else if (target['startTime'] != null && target['endTime'] == null) { + } else { const diffInHours = this.getTimeDiff(target['startTime'], value) if (diffInHours < 0) { target['endTime'] = '' target['theoreticalTime'] = '' - that.$message.error('璇锋鏌ョ' + (index + 1) + '琛屽紑濮嬫椂闂翠笉鑳藉皬浜庣粨鏉熸椂闂�,璇烽噸鏂伴�夋嫨') - + that.$message.error('寮�濮嬫椂闂翠笉鑳藉皬浜庣粨鏉熸椂闂�,璇烽噸鏂伴�夋嫨') } else { - target['endTime'] = value - target['theoreticalTime'] = diffInHours + 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 + } } + } } that.dataSource = temp diff --git a/src/views/eam/modules/repairorder/moudles/RepairOrderFaultAnalysisReport.vue b/src/views/eam/modules/repairorder/moudles/RepairOrderFaultAnalysisReport.vue index d9b8b61..07aec8f 100644 --- a/src/views/eam/modules/repairorder/moudles/RepairOrderFaultAnalysisReport.vue +++ b/src/views/eam/modules/repairorder/moudles/RepairOrderFaultAnalysisReport.vue @@ -19,7 +19,7 @@ allow-clear placeholder='璇疯緭鍏ユ晠闅滅幇璞�' v-decorator="['repairOrderFaultAnalysisUda1', validatorRules.repairOrderFaultAnalysisUda1]" - :disabled="isEdit" + :disabled="disabledEdit" ></a-textarea> </a-form-item> </a-col> @@ -32,7 +32,7 @@ <a-textarea placeholder='璇疯緭鍏ユ晠闅滄鏌�' v-decorator="['faultCause', validatorRules.faultCause]" - :disabled="isEdit" + :disabled="disabledEdit" ></a-textarea> </a-form-item> </a-col> @@ -47,7 +47,7 @@ <a-textarea placeholder='璇疯緭鍏ユ晠闅滅淮淇�' v-decorator="['maintenanceMeasures', validatorRules.maintenanceMeasures]" - :disabled="isEdit" + :disabled="disabledEdit" ></a-textarea> </a-form-item> </a-col> @@ -60,7 +60,7 @@ <a-textarea v-decorator="['suggestion', validatorRules.suggestion]" placeholder='璇疯緭鍏ユ晠闅滈闃�' - :disabled="isEdit" + :disabled="disabledEdit" ></a-textarea> </a-form-item> </a-col> @@ -68,7 +68,7 @@ <a-button :style="{marginRight: '8px'}" @click='handleEdit2()' - :disabled="buttonStatus" + :disabled="disabledButton||!disabledEdit" :loading='confirmLoading' > 缂栬緫 @@ -78,7 +78,7 @@ @click='handleOk()' type='primary' :loading='confirmLoading' - :disabled="buttonStatus" + :disabled="disabledButton||disabledEdit" >淇濆瓨 </a-button> </a-form> @@ -103,15 +103,26 @@ 'repairOrder.id':{ immediate: true, handler(val) { - this.form.resetFields(); - if(this.repairOrder.id!==undefined&&this.repairOrder.status==='3'){ - this.isEdit = false; + this.loadData(val); + if(this.repairOrder.id!==undefined&&this.repairOrder.id!==null&&this.repairOrder.id!==''){ + if(this.repairOrder.status!=='3'){ + this.disabledButton = true; + }else{ + this.disabledButton = false; + } }else{ - this.loadData(val); + this.disabledButton = true; } - if(this.repairOrder.status!=='3'){ - this.buttonStatus = true; - } + } + }, + 'repairOrder.status':{ + immediate: true, + handler(val) { + if(val!=='3'){ + this.disabledButton = true; + }else{ + this.disabledButton = false; + } } } }, @@ -127,7 +138,7 @@ getInfo:'/eam/repairOrderFaultAnalysis/list', }, dictOptions: {}, - isEdit:false, + disabledEdit:false, validatorRules: { faultCause: { rules: [ @@ -161,7 +172,7 @@ xs: { span: 24 }, sm: { span: 16 } }, - buttonStatus:false + disabledButton:false } }, methods: { @@ -182,7 +193,6 @@ obj.then((res) => { if (res.success) { that.$message.success(res.message); - that.isEdit = true; } else { that.$message.warning(res.message); } @@ -194,23 +204,24 @@ }) }, loadData(repairOrderId){ - let that = this; + let that = this; getAction(that.url.getInfo,{repairOrderId:repairOrderId}).then(res=>{ - if(res.success){ - if(res.result.records.length!==0){ - that.isEdit=true; + if(res.success&&res.result.records.length!==0){ + that.disabledEdit=true; that.form.setFieldsValue(pick(res.result.records[0], 'faultCause','repairOrderFaultAnalysisUda1', 'faultTypeId', 'suggestion', 'maintenanceMeasures','id')) that.model = Object.assign({}, res.result.records[0]); - }else if(this.repairOrder.status==='3'){ - that.isEdit=false; - }else{ - that.isEdit=true; - } + }else{ + if(that.repairOrder.status==='3'){ + that.disabledEdit=false; + }else{ + that.disabledEdit=true; + } + that.form.resetFields(); } }) }, handleEdit2(){ - this.isEdit=false; + this.disabledEdit=false; } }, diff --git a/src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue b/src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue index a4531b9..fd08923 100644 --- a/src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue +++ b/src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue @@ -57,7 +57,7 @@ :loading="confirmLoading" :disabled="repairOrder.status!='3'||repairOrder.repairOrderUda1==='needPart'||repairOrder.repairOrderUda1==='needSpare'" type="primary" - >鎶ュ伐</a-button> + >淇畬</a-button> <!-- <a-button :style="{marginRight: '8px'}" @click="handleRevoke" @@ -68,6 +68,10 @@ </a-row> </div> <div :style="{width: '100%',border: '1px solid #e9e9e9',padding: '10px 16px',background: '#fff',}"> + <a-divider + orientation="center" + style="font-size: large;font-style: italic;color: #66aeed;" + > 鍩虹淇℃伅 </a-divider> <a-row :gutter="24"> <a-col :span="6"> <a-form-item @@ -205,6 +209,10 @@ </a-form-item> </a-col> </a-row> + <a-divider + orientation="center" + style="font-size: large;font-style: italic;color: #66aeed;" + > 鎶ヤ慨棰嗗彇淇℃伅 </a-divider> <a-row :gutter="24"> <a-col :span="6"> <a-form-item @@ -263,6 +271,10 @@ </a-form-item> </a-col> </a-row> + <a-divider + orientation="center" + style="font-size: large;font-style: italic;color: #66aeed;" + > 缁翠慨淇℃伅 </a-divider> <a-row :gutter="24" > @@ -301,7 +313,8 @@ label="缁翠慨鏃堕暱" class="hightColor" > - <span v-if="this.repairOrder != null">{{ this.repairOrder.actualHour }}</span> + <span v-if="this.repairOrder != null">{{this.formattedElapsedTime}}</span> + <span v-else class="frozenRowClass" @@ -315,7 +328,7 @@ label="瀹屾垚浜�" class="hightColor" > - <span v-if="this.repairOrder != null">{{ this.repairOrder.recipientUserId_dictText }}</span> + <span v-if="this.repairOrder != null">{{ this.repairOrder.recipientUserId}}</span> <span v-else class="frozenRowClass" @@ -323,6 +336,110 @@ </a-form-item> </a-col> </a-row> + <a-divider + orientation="center" + style="font-size: large;font-style: italic;color: #66aeed;" + > 绛夐噰璐欢 </a-divider> + <a-row + :gutter="24" + > + <a-col :span="6"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="绛夐噰璐欢寮�濮�" + class="hightColor" + > + <span v-if="this.repairOrder != null">{{ this.repairOrder.repairOrderUda2}}</span> + <span + v-else + class="frozenRowClass" + >-</span> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="绛夐噰璐欢缁撴潫" + class="hightColor" + > + <span v-if="this.repairOrder != null">{{ this.repairOrder.repairOrderUda3 }}</span> + <span + v-else + class="frozenRowClass" + >-</span> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="绱鏃堕暱" + class="hightColor" + > + <span v-if="this.repairOrder != null">{{ this.time1 }}</span> + <span + v-else + class="frozenRowClass" + >-</span> + </a-form-item> + </a-col> + </a-row> + <a-divider + orientation="center" + style="font-size: large;font-style: italic;color: #66aeed;" + > 绛夊姞宸ヤ欢 </a-divider> + <a-row + :gutter="24" + > + <a-col :span="6"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="绛夊姞宸ヤ欢寮�濮�" + class="hightColor" + > + <span v-if="this.repairOrder != null">{{ this.repairOrder.repairOrderUda4 }}</span> + <span + v-else + class="frozenRowClass" + >-</span> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="绛夊姞宸ヤ欢缁撴潫" + class="hightColor" + > + <span v-if="this.repairOrder != null">{{ this.repairOrder.repairOrderUda5 }}</span> + <span + v-else + class="frozenRowClass" + >-</span> + </a-form-item> + </a-col> + <a-col :span="6"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="绱鏃堕暱" + class="hightColor" + > + <span v-if="this.repairOrder != null">{{ this.time2 }}</span> + <span + v-else + class="frozenRowClass" + >-</span> + </a-form-item> + </a-col> + </a-row> + <a-divider + orientation="center" + style="font-size: large;font-style: italic;color: #66aeed;" + > 楠屾敹淇℃伅 </a-divider> <a-row :gutter="24" > @@ -361,99 +478,7 @@ label="鏁呴殰鏃堕暱" class="hightColor" > - <span v-if="this.repairOrder != null">{{ this.repairOrder.faultHour }}</span> - <span - v-else - class="frozenRowClass" - >-</span> - </a-form-item> - </a-col> - </a-row> - <a-row - :gutter="24" - > - <a-col :span="6"> - <a-form-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - label="绛夐噰璐欢寮�濮�" - class="hightColor" - > - <span v-if="this.repairOrder != null">{{ this.repairOrder.repairOrderUda2}}</span> - <span - v-else - class="frozenRowClass" - >-</span> - </a-form-item> - </a-col> - <a-col :span="6"> - <a-form-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - label="绛夐噰璐欢缁撴潫" - class="hightColor" - > - <span v-if="this.repairOrder != null">{{ this.repairOrder.repairOrderUda3 }}</span> - <span - v-else - class="frozenRowClass" - >-</span> - </a-form-item> - </a-col> - <a-col :span="6"> - <a-form-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - label="绱鏃堕棿" - class="hightColor" - > - <span v-if="this.repairOrder != null">{{ this.repairOrder.spareTime }}</span> - <span - v-else - class="frozenRowClass" - >-</span> - </a-form-item> - </a-col> - </a-row> - <a-row - :gutter="24" - > - <a-col :span="6"> - <a-form-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - label="绛夊姞宸ヤ欢寮�濮�" - class="hightColor" - > - <span v-if="this.repairOrder != null">{{ this.repairOrder.repairOrderUda4 }}</span> - <span - v-else - class="frozenRowClass" - >-</span> - </a-form-item> - </a-col> - <a-col :span="6"> - <a-form-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - label="绛夊姞宸ヤ欢缁撴潫" - class="hightColor" - > - <span v-if="this.repairOrder != null">{{ this.repairOrder.repairOrderUda5 }}</span> - <span - v-else - class="frozenRowClass" - >-</span> - </a-form-item> - </a-col> - <a-col :span="6"> - <a-form-item - :labelCol="labelCol" - :wrapperCol="wrapperCol" - label="绱鏃堕棿" - class="hightColor" - > - <span v-if="this.repairOrder != null">{{ this.repairOrder.partTime }}</span> + <span v-if="this.repairOrder != null">{{ this.time3 }}</span> <span v-else class="frozenRowClass" @@ -511,6 +536,7 @@ <script> import { JeecgListMixin } from '@/mixins/JeecgListMixin' import { putAction } from '@/api/manage' +import dayjs from 'dayjs' import Tooltip from 'ant-design-vue/es/tooltip' import RepairOrderActualMaterialList from './moudles/RepairOrderActualMaterialReport' import RepairOrderActualWorkHoursList from './moudles/RepairOrderActualHoursReport' @@ -523,7 +549,8 @@ Tooltip, RepairOrderActualMaterialList, RepairOrderActualWorkHoursList, - RepairOrderFaultAnalysisList + RepairOrderFaultAnalysisList, + dayjs }, props: { repairOrder: { @@ -552,11 +579,11 @@ dataSource: [], labelCol: { xs: { span: 24 }, - sm: { span: 6 }, + sm: { span: 12 }, }, wrapperCol: { xs: { span: 24 }, - sm: { span: 18 }, + sm: { span: 12 }, }, url: { orderStart: "eam/repairOrder/start", @@ -569,13 +596,26 @@ handlePartStop:"/eam/repairOrder/handlePartStop", getInfo:'/eam/repairOrderFaultAnalysis/list', }, + elapsedTime: 0, // 璁板綍宸茶繃鍘荤殑鏃堕棿锛堝崟浣嶏細姣锛� + formattedElapsedTime: '0绉�', + time1:'0绉�', + time2:'0绉�', + time3:'0绉�', + timer:null // 鏍煎紡鍖栧悗鐨勫凡杩囧幓鏃堕棿 } }, mounted() { - this.$bus.$on('closeDrawer', (data) => { - this.handleCancel() - }) + // this.$bus.$on('closeDrawer', (data) => { + // this.handleCancel() + // }) + this.timer = setInterval(() => { + this.updateElapsedTime(); + }, 1000); + }, + beforeDestroy() { + // 鍦ㄧ粍浠堕攢姣佸墠娓呴櫎璁℃椂鍣� + clearInterval(this.timer); }, methods: { @@ -627,6 +667,7 @@ }, //鎶ュ伐 handleReportPro(){ + let that = this; getAction(that.url.getInfo,{repairOrderId:this.repairOrder.id}).then(res=>{ if(res.success){ @@ -658,11 +699,10 @@ putAction(that.url.orderReport, that.repairOrder).then(res => { if (res.result) { that.$message.success('鎶ュ伐鎴愬姛'); - that.repairOrder.status = '4' that.reload(); that.$emit('loadData'); } else { - that.$message.error('鎶ュ伐鍑虹幇寮傚父') + that.$message.error(res.message) } }).finally(() => { that.confirmLoading = false; @@ -684,7 +724,6 @@ putAction(that.url.orderRevoke, that.repairOrder).then(res => { if (res.result) { that.$message.success('鎾ら攢鎴愬姛'); - that.repairOrder.status = '3' that.$emit('loadData'); } else { that.$message.error('鎾ら攢鍑虹幇寮傚父') @@ -798,7 +837,52 @@ this.repairOrder = res.result.records[0]; } }) - } + }, + updateElapsedTime() { + const stardand = new Date(); + if(this.repairOrder.actualEndTime!==null&&this.repairOrder.actualEndTime!==undefined&&this.repairOrder.actualEndTime!==''){ + this.formattedElapsedTime = this.repairOrder.actualHour+'鏃�'; + }else if(this.repairOrder.actualStartTime!==null&&this.repairOrder.actualStartTime!==undefined&&this.repairOrder.actualStartTime!==''){ + const startDateTime = dayjs(this.repairOrder.actualStartTime, { format: 'YYYY-MM-DD HH:mm:ss' }); + this.elapsedTime = stardand-startDateTime; + this.formattedElapsedTime = this.formatTime(this.elapsedTime); + }else{ + this.formattedElapsedTime="寮�宸ュ悗璁$畻鏃堕暱"; + } + if(this.repairOrder.repairOrderUda3!==null&&this.repairOrder.repairOrderUda3!==undefined&&this.repairOrder.repairOrderUda3!==''){ + this.time1 = this.repairOrder.spareTime+'鏃�'; + }else if(this.repairOrder.repairOrderUda2!==null&&this.repairOrder.repairOrderUda2!==undefined&&this.repairOrder.repairOrderUda2!==''){ + const startDateTime1 = dayjs(this.repairOrder.repairOrderUda2, { format: 'YYYY-MM-DD HH:mm:ss' }); + this.time1 = this.formatTime(stardand-startDateTime1); + }else{ + this.time1 = "绛夐噰璐欢鍚庤绠楁椂闀�" + } + if(this.repairOrder.repairOrderUda5!==null&&this.repairOrder.repairOrderUda5!==undefined&&this.repairOrder.repairOrderUda5!==''){ + this.time2 = this.repairOrder.partTime+'鏃�'; + }else if(this.repairOrder.repairOrderUda4!==null&&this.repairOrder.repairOrderUda4!==undefined&&this.repairOrder.repairOrderUda4!==''){ + const startDateTime2 = dayjs(this.repairOrder.repairOrderUda4, { format: 'YYYY-MM-DD HH:mm:ss' }); + this.time2 = this.formatTime(stardand-startDateTime2); + }else{ + this.time2 = "绛夊姞宸ヤ欢鍚庤绠楁椂闀�" + } + if(this.repairOrder.acceptTime!==null&&this.repairOrder.acceptTime!==undefined&&this.repairOrder.acceptTime!==''){ + this.time3 = this.repairOrder.faultHour+'鏃�'; + }else if(this.repairOrder.faultTime!==null&&this.repairOrder.faultTime!==undefined&&this.repairOrder.faultTime!==''){ + const startDateTime3 = dayjs(this.repairOrder.faultTime, { format: 'YYYY-MM-DD HH:mm:ss' }); + this.time3 = this.formatTime(stardand-startDateTime3); + }else{ + this.time3 = "楠屾敹鍚庤绠楁椂闀�" + } + }, + formatTime(timeInMilliseconds) { + // 灏嗘绉掕浆鎹负鏇村弸濂界殑鏍煎紡锛堜緥濡傦細x灏忔椂x鍒嗛挓x绉掞級 + // 杩欓噷鍙槸涓�涓畝鍗曠殑瀹炵幇锛屼綘鍙兘闇�瑕佹牴鎹渶姹傝繘琛屾洿鏀� + const seconds = Math.floor(timeInMilliseconds / 1000); + const minutes = Math.floor(seconds / 60); + const hours = Math.floor(minutes / 60); + + return `${hours}鏃� ${minutes % 60}鍒� ${seconds % 60}绉抈; + }, }, } -- Gitblit v1.9.3