From 6b24c28ba8a418c1efb46ed0576c9d6c3f5ab82c Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期二, 12 十二月 2023 17:28:56 +0800
Subject: [PATCH] Merge branch 'develop' of http://117.34.109.166:18448/r/vue_mdc_430 into develop

---
 src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue |  296 ++++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 190 insertions(+), 106 deletions(-)

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