From ad78578ae893565ff723a22c3e2a165d5ccf534d Mon Sep 17 00:00:00 2001
From: “linengliang” <vanSuperEnergy@163.com>
Date: 星期六, 18 十一月 2023 12:33:08 +0800
Subject: [PATCH] 维修工单

---
 src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue |  471 +++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 398 insertions(+), 73 deletions(-)

diff --git a/src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue b/src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue
index 57968ef..443eaf4 100644
--- a/src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue
+++ b/src/views/eam/modules/repairorder/repairOrderExcuteDrawer.vue
@@ -4,29 +4,64 @@
     :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"
+                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>
@@ -45,6 +80,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,6 +137,8 @@
                   >-</span>
                 </a-form-item>
               </a-col>
+            </a-row>
+            <a-row :gutter="24">
               <a-col :span="6">
                 <a-form-item
                   :labelCol="labelCol"
@@ -102,8 +156,6 @@
                   >-</span>
                 </a-form-item>
               </a-col>
-            </a-row>
-            <a-row :gutter="24">
               <a-col :span="6">
                 <a-form-item
                   :labelCol="labelCol"
@@ -139,13 +191,29 @@
                 <a-form-item
                   :labelCol="labelCol"
                   :wrapperCol="wrapperCol"
-                  label="宸ユ椂瀹氶"
+                  label="鍏抽敭璁惧?"
                   class="hightColor"
                 >
                   <span
                     v-if="this.repairOrder != null"
                     class="hightColor"
-                  >{{ this.repairOrder.workingHourQuota }}</span>
+                  >{{ this.repairOrder.specificEquipment_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">{{ this.repairOrder.faultTime }}</span>
                   <span
                     v-else
                     class="frozenRowClass"
@@ -156,13 +224,38 @@
                 <a-form-item
                   :labelCol="labelCol"
                   :wrapperCol="wrapperCol"
-                  label="鎵ц浜�"
+                  label="鎶ヤ慨浜�"
                   class="hightColor"
                 >
+                  <span v-if="this.repairOrder != null">{{ this.repairOrder.errUda2 }}</span>
                   <span
-                    v-if="this.repairOrder != null"
-                    class="hightColor"
-                  >{{ this.repairOrder.recipientUserId_dictText}}</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"
@@ -171,17 +264,16 @@
               </a-col>
             </a-row>
             <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 +284,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 +298,162 @@
                 <a-form-item
                   :labelCol="labelCol"
                   :wrapperCol="wrapperCol"
-                  label="鍒涘缓浜�"
+                  label="缁翠慨鏃堕暱"
                   class="hightColor"
                 >
+                  <span v-if="this.repairOrder != null">{{ this.repairOrder.actualHour }}</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_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">{{ 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.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-else
                     class="frozenRowClass"
@@ -224,6 +462,8 @@
               </a-col>
             </a-row>
           </div>
+    </a-card>
+    <a-card :style="getBackground()">
           <a-tabs
             type="card"
             defaultActiveKey="1"
@@ -233,10 +473,6 @@
               key="1"
               class="hightColor"
             >
-              <!-- <fault-analysis-edit-table
-                :repairOrderId="repairOrder.id"
-                :repairOrderStatus="repairOrder.status"
-              ></fault-analysis-edit-table> -->
               <RepairOrderFaultAnalysisList :repairOrderId="repairOrderId" :repairOrder="repairOrder"/>
             </a-tab-pane>
             <a-tab-pane
@@ -255,16 +491,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
@@ -288,6 +518,7 @@
 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],
@@ -336,7 +567,13 @@
       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',
       },
     }
   },
@@ -368,17 +605,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 +620,7 @@
               that.$message.success('寮�宸ユ垚鍔�');
               that.repairOrder.status = '3'
               that.$emit('loadData');
+              that.reload();
             } else {
               that.$message.error('寮�宸ュ嚭鐜板紓甯�')
             }
@@ -404,20 +631,27 @@
         },
       })
     },
-
-    // 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].faultPhenomenon===null||res.result.records[0].faultPhenomenon===undefined||res.result.records[0].faultPhenomenon===''){
+                      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;
@@ -442,18 +676,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;
@@ -479,6 +701,109 @@
         },
       })
     },
+    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];
+        }
+      })
+    }
   },
 
 }

--
Gitblit v1.9.3