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 |  614 ++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 509 insertions(+), 105 deletions(-)

diff --git a/src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue b/src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue
index 783a5d1..fd08923 100644
--- a/src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue
+++ b/src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue
@@ -4,35 +4,74 @@
     :width="drawerWidth"
     :visible="visible"
     @close="handleCancel"
-    :confirmLoading="confirmLoading"
+    :loading="confirmLoading"
     :maskClosable="maskClosable"
   >
     <a-card :style="getBackground()">
-      <template>
-        <a-card>
           <div :style="{width: '100%',border: '1px solid #e9e9e9',padding: '10px 16px',background: '#fff',}">
             <a-row :style="{textAlign:'left'}">
               <a-button
                 :style="{marginRight: '8px'}"
                 @click="handleStart"
+                :loading="confirmLoading"
                 :disabled="repairOrder.status!='2'"
                 type="primary"
               >寮�宸�</a-button>
               <a-button
                 :style="{marginRight: '8px'}"
-                @click="handleReport"
-                :disabled="repairOrder.status!='3'"
+                @click="handleSpare"
+                :loading="confirmLoading"
+                :disabled="repairOrder.status!=='3'
+                ||repairOrder.repairOrderUda1==='needSpare'||repairOrder.repairOrderUda1==='needPart'
+                ||(repairOrder.repairOrderUda2!==null&&repairOrder.repairOrderUda3!==null)"
                 type="primary"
-              >鎶ュ伐</a-button>
+                v-if="repairOrder.repairOrderUda1!=='needSpare'"
+              >绛夐噰璐欢</a-button>
               <a-button
                 :style="{marginRight: '8px'}"
+                @click="handleSpareStop"
+                :loading="confirmLoading"
+                type="primary"
+                v-if="repairOrder.repairOrderUda1==='needSpare'"
+              >绛夐噰璐欢鍋滄</a-button>
+              <a-button
+                :style="{marginRight: '8px'}"
+                @click="handlePart"
+                :loading="confirmLoading"
+                :disabled="repairOrder.status!='3'
+                ||repairOrder.repairOrderUda1==='needPart'||repairOrder.repairOrderUda1==='needSpare'
+                ||(repairOrder.repairOrderUda4!==null&&repairOrder.repairOrderUda5!==null)"
+                type="primary"
+                v-if="repairOrder.repairOrderUda1!=='needPart'"
+              >绛夊姞宸ヤ欢</a-button>
+              <a-button
+                :style="{marginRight: '8px'}"
+                @click="handlePartStop"
+                :loading="confirmLoading"
+                type="primary"
+                v-if="repairOrder.repairOrderUda1==='needPart'"
+              >绛夊姞宸ヤ欢鍋滄</a-button>
+              <a-button
+                :style="{marginRight: '8px'}"
+                @click="handleReportPro"
+                :loading="confirmLoading"
+                :disabled="repairOrder.status!='3'||repairOrder.repairOrderUda1==='needPart'||repairOrder.repairOrderUda1==='needSpare'"
+                type="primary"
+              >淇畬</a-button>
+              <!-- <a-button
+                :style="{marginRight: '8px'}"
                 @click="handleRevoke"
+                :loading="confirmLoading"
                 :disabled="repairOrder.status!='4'"
                 type="primary"
-              >鎾ら攢</a-button>
+              >鎾ら攢</a-button> -->
             </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
@@ -45,6 +84,23 @@
                     v-if="this.repairOrder != null"
                     class="hightColor"
                   >{{this.repairOrder.status_dictText}}</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"
+                    class="hightColor"
+                  >{{this.repairOrder.repairOrderUda1_dictText}}</span>
                   <span
                     v-else
                     class="frozenRowClass"
@@ -85,11 +141,13 @@
                   >-</span>
                 </a-form-item>
               </a-col>
+            </a-row>
+            <a-row :gutter="24">
               <a-col :span="6">
                 <a-form-item
                   :labelCol="labelCol"
                   :wrapperCol="wrapperCol"
-                  label="璁惧缂栫爜"
+                  label="缁熶竴缂栫爜"
                   class="hightColor"
                 >
                   <span
@@ -102,8 +160,6 @@
                   >-</span>
                 </a-form-item>
               </a-col>
-            </a-row>
-            <a-row :gutter="24">
               <a-col :span="6">
                 <a-form-item
                   :labelCol="labelCol"
@@ -139,30 +195,13 @@
                 <a-form-item
                   :labelCol="labelCol"
                   :wrapperCol="wrapperCol"
-                  label="宸ユ椂瀹氶"
+                  label="鍏抽敭璁惧?"
                   class="hightColor"
                 >
                   <span
                     v-if="this.repairOrder != null"
                     class="hightColor"
-                  >{{ this.repairOrder.workingHourQuota }}</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"
-                    class="hightColor"
-                  >{{ this.repairOrder.recipientUserId_dictText}}</span>
+                  >{{ this.repairOrder.specificEquipment_dictText}}</span>
                   <span
                     v-else
                     class="frozenRowClass"
@@ -170,18 +209,83 @@
                 </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.faultTime }}</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.errUda2 }}</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.createTime }}</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.responsibilityName }}</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
-              hidden
               :gutter="24"
             >
-              <a-col :span="6">
+            <a-col :span="6">
                 <a-form-item
                   :labelCol="labelCol"
                   :wrapperCol="wrapperCol"
-                  label="寮�濮嬫椂闂�"
+                  label="寮�宸ユ椂闂�"
                   class="hightColor"
                 >
-                  <span v-if="this.repairOrder != null">{{ this.repairOrder.actualStartTime }}</span>
+                  <span v-if="this.repairOrder != null">{{ this.repairOrder.actualStartTime}}</span>
                   <span
                     v-else
                     class="frozenRowClass"
@@ -192,13 +296,10 @@
                 <a-form-item
                   :labelCol="labelCol"
                   :wrapperCol="wrapperCol"
-                  label="鍒涘缓浜�"
+                  label="瀹屽伐鏃堕棿"
                   class="hightColor"
                 >
-                  <span
-                    v-if="this.repairOrder != null"
-                    class="hightColor"
-                  >{{ this.repairOrder.createBy}}</span>
+                  <span v-if="this.repairOrder != null">{{ this.repairOrder.actualEndTime }}</span>
                   <span
                     v-else
                     class="frozenRowClass"
@@ -209,13 +310,175 @@
                 <a-form-item
                   :labelCol="labelCol"
                   :wrapperCol="wrapperCol"
-                  label="鍒涘缓浜�"
+                  label="缁翠慨鏃堕暱"
                   class="hightColor"
                 >
+                  <span v-if="this.repairOrder != null">{{this.formattedElapsedTime}}</span>
+                
                   <span
-                    v-if="this.repairOrder != null"
-                    class="hightColor"
-                  >{{ this.repairOrder.createTime}}</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.recipientUserId}}</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.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"
+            >
+            <a-col :span="6">
+                <a-form-item
+                  :labelCol="labelCol"
+                  :wrapperCol="wrapperCol"
+                  label="楠屾敹鏃堕棿"
+                  class="hightColor"
+                >
+                  <span v-if="this.repairOrder != null">{{ this.repairOrder.acceptTime }}</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.errUda3 }}</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.time3 }}</span>
                   <span
                     v-else
                     class="frozenRowClass"
@@ -224,6 +487,8 @@
               </a-col>
             </a-row>
           </div>
+    </a-card>
+    <a-card :style="getBackground()">
           <a-tabs
             type="card"
             defaultActiveKey="1"
@@ -233,11 +498,7 @@
               key="1"
               class="hightColor"
             >
-              <!-- <fault-analysis-edit-table
-                :repairOrderId="repairOrder.id"
-                :repairOrderStatus="repairOrder.status"
-              ></fault-analysis-edit-table> -->
-              <RepairOrderFaultAnalysisList :repairOrderId="repairOrderId" :repairOrder="repairOrder"/>
+              <RepairOrderFaultAnalysisList :repairOrder="repairOrder"/>
             </a-tab-pane>
             <a-tab-pane
               tab='瀹為檯宸ユ椂'
@@ -255,16 +516,10 @@
               key="2"
               class="hightColor"
             >
-              <!-- <actual-material-edit-table
-                :repairOrderId="repairOrder.id"
-                :repairOrderStatus="repairOrder.status"
-              ></actual-material-edit-table> -->
               <RepairOrderActualMaterialList :mainId="repairOrder" />
             </a-tab-pane>
           </a-tabs>
         </a-card>
-      </template>
-    </a-card>
     <div :style="{width: '100%',border: '1px solid #e9e9e9',padding: '10px 16px',background: '#fff',}">
       <a-row :style="{textAlign:'right'}">
         <a-button
@@ -281,24 +536,21 @@
 <script>
 import { JeecgListMixin } from '@/mixins/JeecgListMixin'
 import { putAction } from '@/api/manage'
+import dayjs from 'dayjs'
 import Tooltip from 'ant-design-vue/es/tooltip'
-import ActualMaterialEditTable from './moudles/ActualMaterialEditTable.vue'
-import ActualWorkHoursEditTable from './moudles/ActualWorkHoursEditTable.vue'
-import FaultAnalysisEditTable from './moudles/FaultAnalysisEditTable'
 import RepairOrderActualMaterialList from './moudles/RepairOrderActualMaterialReport'
 import RepairOrderActualWorkHoursList from './moudles/RepairOrderActualHoursReport'
 import RepairOrderFaultAnalysisList from './moudles/RepairOrderFaultAnalysisReport.vue'
+import { getAction } from '../../../../api/manage'
 export default {
   name: 'RepairOrderExcuteDrawer',
   mixins: [JeecgListMixin],
   components: {
     Tooltip,
-    ActualMaterialEditTable,
-    ActualWorkHoursEditTable,
-    FaultAnalysisEditTable,
     RepairOrderActualMaterialList,
     RepairOrderActualWorkHoursList,
-    RepairOrderFaultAnalysisList
+    RepairOrderFaultAnalysisList,
+    dayjs
   },
   props: {
     repairOrder: {
@@ -327,24 +579,43 @@
       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",
         orderReport: "eam/repairOrder/report",
-        orderRevoke: "eam/repairOrder/revoke"
+        orderRevoke: "eam/repairOrder/revoke",
+        reload:"/eam/repairOrder/list",
+        handleSpare:"/eam/repairOrder/handleSpare",
+        handlePart:"/eam/repairOrder/handlePart",
+        handleSpareStop:"/eam/repairOrder/handleSpareStop",
+        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: {
@@ -368,17 +639,6 @@
       this.visible = false;
       //this.repairOrder.id = "-1"
     },
-    // handleStart(record) {
-    //   putAction(this.url.orderStart, this.repairOrder).then(res => {
-    //     if (res.result) {
-    //       this.$message.success('寮�宸ユ垚鍔�');
-    //       this.repairOrder.status = '3'
-    //       this.$emit('loadData');
-    //     } else {
-    //       this.$message.error('寮�宸ュ嚭鐜板紓甯�')
-    //     }
-    //   })
-    // },
     //寮�宸�
     handleStart() {
       const that = this;
@@ -394,6 +654,7 @@
               that.$message.success('寮�宸ユ垚鍔�');
               that.repairOrder.status = '3'
               that.$emit('loadData');
+              that.reload();
             } else {
               that.$message.error('寮�宸ュ嚭鐜板紓甯�')
             }
@@ -404,20 +665,28 @@
         },
       })
     },
-
-    // handleReport() {
-    //   putAction(this.url.orderReport, this.repairOrder).then(res => {
-    //     if (res.result) {
-    //       this.$message.success('鎶ュ伐鎴愬姛');
-    //       this.repairOrder.status = '4'
-    //       this.$emit('loadData');
-    //     } else {
-    //       this.$message.error('鎶ュ伐鍑虹幇寮傚父')
-    //     }
-    //   })
-    // },
-
     //鎶ュ伐
+    handleReportPro(){
+      
+      let that = this;
+      getAction(that.url.getInfo,{repairOrderId:this.repairOrder.id}).then(res=>{
+                if(res.success){
+                   if(res.result.records.length===0){
+                      that.$message.warning("鏁呴殰鍒嗘瀽灏氭湭濉啓锛岃濉啓鍚庡啀鎶ュ伐")
+                   }else if(res.result.records[0].repairOrderFaultAnalysisUda1===null||res.result.records[0].repairOrderFaultAnalysisUda1===undefined||res.result.records[0].repairOrderFaultAnalysisUda1===''){
+                      that.$message.warning("鏁呴殰鐜拌薄灏氭湭濉啓锛岃濉啓鍚庡啀鎶ュ伐")
+                   }else if(res.result.records[0].faultCause===null||res.result.records[0].faultCause===undefined||res.result.records[0].faultCause===''){
+                      that.$message.warning("鏁呴殰妫�鏌ュ皻鏈~鍐欙紝璇峰~鍐欏悗鍐嶆姤宸�")
+                   }else if(res.result.records[0].maintenanceMeasures===null||res.result.records[0].maintenanceMeasures===undefined||res.result.records[0].maintenanceMeasures===''){
+                      that.$message.warning("鏁呴殰缁翠慨灏氭湭濉啓锛岃濉啓鍚庡啀鎶ュ伐")
+                   }else if(res.result.records[0].suggestion===null||res.result.records[0].suggestion===undefined||res.result.records[0].suggestion===''){
+                      that.$message.warning("鏁呴殰棰勯槻灏氭湭濉啓锛岃濉啓鍚庡啀鎶ュ伐")
+                   }else{
+                      that.handleReport();
+                   }
+                }
+      })
+    },
     handleReport() {
       const that = this;
       that.confirmLoading = true;
@@ -430,10 +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;
@@ -442,18 +711,6 @@
         },
       })
     },
-    // handleRevoke() {
-    //   putAction(this.url.orderRevoke, this.repairOrder).then(res => {
-    //     if (res.result) {
-    //       this.$message.success('鎾ら攢鎴愬姛');
-    //       this.repairOrder.status = '3'
-    //       this.$emit('loadData');
-    //     } else {
-    //       this.$message.error('鎾ら攢鍑虹幇寮傚父')
-    //     }
-    //   })
-    // },
-
     //鎾ら攢
     handleRevoke() {
       const that = this;
@@ -467,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('鎾ら攢鍑虹幇寮傚父')
@@ -479,6 +735,154 @@
         },
       })
     },
+    handleSpare(){
+      const that = this;
+      that.confirmLoading = true;
+      this.$confirm({
+        title: '绛夐噰璐欢',
+        content: '鎻愮ず锛氳鎿嶄綔涓嶅彲鎾ら攢锛岀‘璁ゅ紑濮嬬瓑閲囪喘浠�?',
+        okText: '纭',
+        cancelText: '鍙栨秷',
+        onOk() {
+          putAction(that.url.handleSpare, that.repairOrder).then(res => {
+            if (res.result) {
+              that.$message.success('鎿嶄綔鎴愬姛');
+              that.reload();
+              that.$emit('loadData');
+            } else {
+              that.$message.error('鎿嶄綔鍑虹幇寮傚父')
+            }
+          }).finally(() => {
+            that.confirmLoading = false;
+            // that.close();
+          })
+        },
+      })
+    },
+    handleSpareStop(){
+      const that = this;
+      that.confirmLoading = true;
+      this.$confirm({
+        title: '鍋滄绛夐噰璐欢',
+        content: '鎻愮ず锛氳鎿嶄綔涓嶅彲鎾ら攢锛岀‘璁ゅ仠姝㈢瓑閲囪喘浠�?',
+        okText: '纭',
+        cancelText: '鍙栨秷',
+        onOk() {
+          putAction(that.url.handleSpareStop, that.repairOrder).then(res => {
+            if (res.result) {
+              that.$message.success('鎿嶄綔鎴愬姛');
+              that.reload();
+              that.$emit('loadData');
+            } else {
+              that.$message.error('鎿嶄綔鍑虹幇寮傚父')
+            }
+          }).finally(() => {
+            that.confirmLoading = false;
+            // that.close();
+          })
+        },
+      })
+    },
+    handlePart(){
+      const that = this;
+      that.confirmLoading = true;
+      this.$confirm({
+        title: '绛夐噰璐欢',
+        content: '鎻愮ず锛氳鎿嶄綔涓嶅彲鎾ら攢锛岀‘璁ょ瓑閲囪喘浠�?',
+        okText: '纭',
+        cancelText: '鍙栨秷',
+        onOk() {
+          putAction(that.url.handlePart, that.repairOrder).then(res => {
+            if (res.result) {
+              that.$message.success('鎿嶄綔鎴愬姛');
+              that.reload();
+              that.$emit('loadData');
+            } else {
+              that.$message.error('鎿嶄綔鍑虹幇寮傚父')
+            }
+          }).finally(() => {
+            that.confirmLoading = false;
+            // that.close();
+          })
+        },
+      })
+    },
+    handlePartStop(){
+      const that = this;
+      that.confirmLoading = true;
+      this.$confirm({
+        title: '鍋滄绛夐噰璐欢',
+        content: '鎻愮ず锛氳鎿嶄綔涓嶅彲鎾ら攢锛岀‘璁ゅ仠姝㈢瓑閲囪喘浠�?',
+        okText: '纭',
+        cancelText: '鍙栨秷',
+        onOk() {
+          putAction(that.url.handlePartStop, that.repairOrder).then(res => {
+            if (res.result) {
+              that.$message.success('鎿嶄綔鎴愬姛');
+              that.reload();
+              that.$emit('loadData');
+            } else {
+              that.$message.error('鎿嶄綔鍑虹幇寮傚父')
+            }
+          }).finally(() => {
+            that.confirmLoading = false;
+            // that.close();
+          })
+        },
+      })
+    },
+    reload(){
+      getAction(this.url.reload,{id:this.repairOrder.id}).then(res=>{
+        if( res.result.records.length!==0){
+          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