From 585fb0bbd4a7bc7f8f333ecba7c5fecd2ee5cbc2 Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期四, 28 三月 2024 09:46:44 +0800
Subject: [PATCH] Merge branch 'master' of http://117.34.109.166:18448/r/vue_mdc_430 into develop

---
 src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue | 1013 +++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 709 insertions(+), 304 deletions(-)

diff --git a/src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue b/src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue
index 9a89f7c..c1a865f 100644
--- a/src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue
+++ b/src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue
@@ -4,266 +4,515 @@
     :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"
-                :disabled="repairOrder.status!='2'"
-                type="primary"
-              >寮�宸�</a-button>
-              <a-button
-                :style="{marginRight: '8px'}"
-                @click="handleReport"
-                :disabled="repairOrder.status!='3'"
-                type="primary"
-              >鎶ュ伐</a-button>
-              <a-button
+      <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="handleSpare"
+            :loading="confirmLoading"
+            :disabled="repairOrder.status!=='3'
+                ||repairOrder.repairOrderUda1==='needSpare'||repairOrder.repairOrderUda1==='needPart'
+                ||(repairOrder.repairOrderUda2!==null&&repairOrder.repairOrderUda3!==null)"
+            type="primary"
+            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-row>
-          </div>
-          <div :style="{width: '100%',border: '1px solid #e9e9e9',padding: '10px 16px',background: '#fff',}">
-            <a-row :gutter="24">
-              <a-col :span="6">
-                <a-form-item
-                  :labelCol="labelCol"
-                  :wrapperCol="wrapperCol"
-                  label="鐘舵��"
+              >鎾ら攢</a-button> -->
+        </a-row>
+      </div>
+      <div :style="{width: '100%',border: '1px solid #e9e9e9',padding: '10px 16px',background: '#fff',}">
+        <a-form labelAlign="left">
+          <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"
                   class="hightColor"
-                >
-                  <span
-                    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="缁翠慨宸ュ崟鍙�"
+                >{{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"
-                >
-                  <span
-                    v-if="this.repairOrder != null"
-                    class="hightColor"
-                  >{{ this.repairOrder.num }}</span>
-                  <span
-                    v-else
-                    class="frozenRowClass"
-                  >-</span>
-                </a-form-item>
-              </a-col>
-              <a-col :span="6">
-                <a-form-item
-                  :labelCol="labelCol"
-                  :wrapperCol="wrapperCol"
-                  label="璐d换鐝粍"
+                >{{this.repairOrder.repairOrderUda1_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"
-                >
-                  <span
-                    v-if="this.repairOrder != null"
-                    class="hightColor"
-                  >{{ this.repairOrder.teamId_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="璁惧缂栫爜"
+                >{{ this.repairOrder.num }}</span>
+                <span
+                  v-else
+                  class="frozenRowClass"
+                >-</span>
+              </a-form-item>
+            </a-col>
+            <a-col :span="6">
+              <a-form-item
+                :labelCol="labelCol"
+                :wrapperCol="wrapperCol"
+                label="璐d换鐝粍"
+                class="hightColor"
+              >
+                <span
+                  v-if="this.repairOrder != null"
                   class="hightColor"
-                >
-                  <span
-                    v-if="this.repairOrder != null"
-                    class="hightColor"
-                  >{{ this.repairOrder.equipmentNum }}</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="璁惧鍚嶇О"
+                >{{ this.repairOrder.teamId_dictText}}</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"
                   class="hightColor"
-                >
-                  <span
-                    v-if="this.repairOrder != null"
-                    class="hightColor"
-                  >{{ this.repairOrder.equipmentName}}</span>
-                  <span
-                    v-else
-                    class="frozenRowClass"
-                  >-</span>
-                </a-form-item>
-              </a-col>
-              <a-col :span="6">
-                <a-form-item
-                  :labelCol="labelCol"
-                  :wrapperCol="wrapperCol"
-                  label="璁惧鍨嬪彿"
+                >{{ this.repairOrder.equipmentNum }}</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"
-                >
-                  <span v-if="this.repairOrder != null">{{ this.repairOrder.equipmentModel }}</span>
-                  <span
-                    v-else
-                    class="frozenRowClass"
-                  >-</span>
-                </a-form-item>
-              </a-col>
-              <a-col :span="6">
-                <a-form-item
-                  :labelCol="labelCol"
-                  :wrapperCol="wrapperCol"
-                  label="宸ユ椂瀹氶"
+                >{{ this.repairOrder.equipmentName}}</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.equipmentModel }}</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"
-                >
-                  <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>
-                  <span
-                    v-else
-                    class="frozenRowClass"
-                  >-</span>
-                </a-form-item>
-              </a-col>
-            </a-row>
-            <a-row
-              hidden
-              :gutter="24"
-            >
-              <a-col :span="6">
-                <a-form-item
-                  :labelCol="labelCol"
-                  :wrapperCol="wrapperCol"
-                  label="寮�濮嬫椂闂�"
-                  class="hightColor"
-                >
-                  <span v-if="this.repairOrder != null">{{ this.repairOrder.actualStartTime }}</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.createBy}}</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.createTime}}</span>
-                  <span
-                    v-else
-                    class="frozenRowClass"
-                  >-</span>
-                </a-form-item>
-              </a-col>
-            </a-row>
-          </div>
-          <a-tabs
-            type="card"
-            defaultActiveKey="1"
-          >
-            <a-tab-pane
-              tab='瀹為檯鐢ㄦ枡'
-              key="1"
-              class="hightColor"
-            >
-              <!-- <actual-material-edit-table
-                :repairOrderId="repairOrder.id"
-                :repairOrderStatus="repairOrder.status"
-              ></actual-material-edit-table> -->
-              <RepairOrderActualMaterialList :mainId="repairOrder" />
-            </a-tab-pane>
-            <a-tab-pane
-              tab='瀹為檯宸ユ椂'
-              key="2"
-              class="hightColor"
-            >
-              <RepairOrderActualWorkHoursList
-                :repairOrderId="repairOrder.id"
-                :repairOrderStatus="repairOrder.status"
-                :teamId="repairOrder.teamId"
-              />
-            </a-tab-pane>
-            <a-tab-pane
-              tab='鏁呴殰鍒嗘瀽'
-              key="3"
-              class="hightColor"
-            >
-              <!-- <fault-analysis-edit-table
-                :repairOrderId="repairOrder.id"
-                :repairOrderStatus="repairOrder.status"
-              ></fault-analysis-edit-table> -->
-              <RepairOrderFaultAnalysisList :mainId="repairOrder" />
-            </a-tab-pane>
-          </a-tabs>
-        </a-card>
-      </template>
+                >{{ this.repairOrder.specificEquipment_dictText}}</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.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 :gutter="24">
+            <a-col :span="6">
+              <a-form-item
+                :labelCol="labelCol"
+                :wrapperCol="wrapperCol"
+                label="寮�宸ユ椂闂�"
+                class="hightColor"
+              >
+                <span v-if="this.repairOrder != null">{{ this.repairOrder.actualStartTime}}</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.actualEndTime }}</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.formattedElapsedTime}}</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.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"
+                >-</span>
+              </a-form-item>
+            </a-col>
+          </a-row>
+        </a-form>
+      </div>
+    </a-card>
+    <a-card :style="getBackground()">
+      <a-tabs
+        type="card"
+        defaultActiveKey="1"
+      >
+        <a-tab-pane
+          tab='鏁呴殰鍒嗘瀽'
+          key="1"
+          class="hightColor"
+        >
+          <RepairOrderFaultAnalysisList :repairOrder="repairOrder" />
+        </a-tab-pane>
+        <a-tab-pane
+          tab='瀹為檯宸ユ椂'
+          key="3"
+          class="hightColor"
+        >
+          <RepairOrderActualWorkHoursList
+            :repairOrderId="repairOrder.id"
+            :repairOrderStatus="repairOrder.status"
+            :teamId="repairOrder.teamId"
+          />
+        </a-tab-pane>
+        <a-tab-pane
+          tab='瀹為檯鐢ㄦ枡'
+          key="2"
+          class="hightColor"
+        >
+          <RepairOrderActualMaterialList :mainId="repairOrder" />
+        </a-tab-pane>
+      </a-tabs>
     </a-card>
     <div :style="{width: '100%',border: '1px solid #e9e9e9',padding: '10px 16px',background: '#fff',}">
       <a-row :style="{textAlign:'right'}">
@@ -281,30 +530,35 @@
 <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.vue'
-import RepairOrderActualMaterialList from './moudles/RepairOrderActualMaterialReport.vue'
-import RepairOrderActualWorkHoursList from './moudles/RepairOrderActualHoursReport.vue'
-import RepairOrderFaultAnalysisList from './moudles/RepairOrderFaultAnalysisReport.vue'
+import RepairOrderActualMaterialList from './moudles/RepairOrderActualMaterialReport'
+import RepairOrderActualWorkHoursList from './moudles/RepairOrderActualHoursReport'
+import RepairOrderFaultAnalysisList from './moudles/RepairOrderFaultAnalysisReport'
+import { getAction } from '../../../../api/manage'
 export default {
   name: 'RepairOrderExcuteDrawer',
   mixins: [JeecgListMixin],
   components: {
     Tooltip,
-    ActualMaterialEditTable,
-    ActualWorkHoursEditTable,
-    FaultAnalysisEditTable,
     RepairOrderActualMaterialList,
     RepairOrderActualWorkHoursList,
-    RepairOrderFaultAnalysisList
+    RepairOrderFaultAnalysisList,
+    dayjs
   },
   props: {
     repairOrder: {
       type: Object,
       required: false,
       default: {}
+    },
+    repairOrderId: {
+      type: String,
+      default: '',
+    },
+    status: {
+      type: String,
+      default: '',
     }
   },
   data() {
@@ -319,17 +573,29 @@
       dataSource: [],
       labelCol: {
         xs: { span: 24 },
-        sm: { span: 6 },
+        sm: { span: 7 },
       },
       wrapperCol: {
         xs: { span: 24 },
-        sm: { span: 18 },
+        sm: { span: 17 },
       },
       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 // 鏍煎紡鍖栧悗鐨勫凡杩囧幓鏃堕棿
     }
   },
 
@@ -337,6 +603,13 @@
     this.$bus.$on('closeDrawer', (data) => {
       this.handleCancel()
     })
+    this.timer = setInterval(() => {
+      this.updateElapsedTime();
+    }, 1000);
+  },
+  beforeDestroy() {
+    // 鍦ㄧ粍浠堕攢姣佸墠娓呴櫎璁℃椂鍣�
+    clearInterval(this.timer);
   },
 
   methods: {
@@ -360,32 +633,22 @@
       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;
-      that.confirmLoading = true;
       this.$confirm({
         title: '缁翠慨宸ュ崟寮�宸�',
         content: '鎻愮ず锛氬紑宸ュ悗鏃犳硶鎾ゅ洖锛岃璋ㄦ厧鎿嶄綔锛�',
         okText: '纭',
         cancelText: '鍙栨秷',
         onOk() {
+          that.confirmLoading = true;
           putAction(that.url.orderStart, that.repairOrder).then(res => {
             if (res.result) {
               that.$message.success('寮�宸ユ垚鍔�');
               that.repairOrder.status = '3'
               that.$emit('loadData');
+              that.reload();
             } else {
               that.$message.error('寮�宸ュ嚭鐜板紓甯�')
             }
@@ -396,36 +659,44 @@
         },
       })
     },
-
-    // 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;
       this.$confirm({
         title: '缁翠慨宸ュ崟鎶ュ伐',
         content: '鎻愮ず锛氭姤宸ュ悗缁翠慨瀹屽伐锛岃璋ㄦ厧鎿嶄綔锛�',
         okText: '纭',
         cancelText: '鍙栨秷',
         onOk() {
+          that.confirmLoading = true;
           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;
@@ -434,32 +705,19 @@
         },
       })
     },
-    // 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;
-      that.confirmLoading = true;
       this.$confirm({
         title: '瀹屽伐鎾ら攢',
         content: '鎻愮ず锛氬畬宸ユ挙閿�鍚庡彲缁х画鎶ュ伐鎿嶄綔锛�',
         okText: '纭',
         cancelText: '鍙栨秷',
         onOk() {
+          that.confirmLoading = true;
           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('鎾ら攢鍑虹幇寮傚父')
@@ -471,6 +729,154 @@
         },
       })
     },
+    handleSpare() {
+      const that = this;
+      this.$confirm({
+        title: '绛夐噰璐欢',
+        content: '鎻愮ず锛氳鎿嶄綔涓嶅彲鎾ら攢锛岀‘璁ゅ紑濮嬬瓑閲囪喘浠�?',
+        okText: '纭',
+        cancelText: '鍙栨秷',
+        onOk() {
+          that.confirmLoading = true;
+          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;
+      this.$confirm({
+        title: '鍋滄绛夐噰璐欢',
+        content: '鎻愮ず锛氳鎿嶄綔涓嶅彲鎾ら攢锛岀‘璁ゅ仠姝㈢瓑閲囪喘浠�?',
+        okText: '纭',
+        cancelText: '鍙栨秷',
+        onOk() {
+          that.confirmLoading = true;
+          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;
+      this.$confirm({
+        title: '绛夐噰璐欢',
+        content: '鎻愮ず锛氳鎿嶄綔涓嶅彲鎾ら攢锛岀‘璁ょ瓑閲囪喘浠�?',
+        okText: '纭',
+        cancelText: '鍙栨秷',
+        onOk() {
+          that.confirmLoading = true;
+          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;
+      this.$confirm({
+        title: '鍋滄绛夐噰璐欢',
+        content: '鎻愮ず锛氳鎿嶄綔涓嶅彲鎾ら攢锛岀‘璁ゅ仠姝㈢瓑閲囪喘浠�?',
+        okText: '纭',
+        cancelText: '鍙栨秷',
+        onOk() {
+          that.confirmLoading = true;
+          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}绉抈;
+    },
   },
 
 }
@@ -479,9 +885,8 @@
 <style scoped>
 @import '~@assets/less/common.less';
 .hightColor {
-  height: 10%;
-  font-weight: bold;
-  font-size: 20px;
+  height: 2%;
+  font-size: 15px;
   color: #1b1e1e;
 }
 .frozenRowClass {

--
Gitblit v1.9.3