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