From 5eaeda6fd780bd487c9f3b9d7eb046c65e233168 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期二, 16 四月 2024 14:48:24 +0800
Subject: [PATCH] 工单处理:过程图

---
 src/views/system/work-order/index.vue |  109 ++++++++++++++++++++++++++----------------------------
 1 files changed, 53 insertions(+), 56 deletions(-)

diff --git a/src/views/system/work-order/index.vue b/src/views/system/work-order/index.vue
index 2cc9be8..fd607ab 100644
--- a/src/views/system/work-order/index.vue
+++ b/src/views/system/work-order/index.vue
@@ -16,6 +16,14 @@
           <el-option label="璁惧閬楀け" value="璁惧閬楀け"></el-option>
         </el-select>
       </el-form-item>
+      <el-form-item label="瀹℃牳鐘舵��" prop="status">
+        <el-select v-model="queryParams.status" placeholder="瀹℃牳鐘舵��" clearable @clear="handleQuery">
+          <el-option label="宸蹭笅鍙�" value="DISTRIBUTED"></el-option>
+          <el-option label="杩愮淮宸插鐞�" value="YW_HANDLE"></el-option>
+          <el-option label="瀹℃牳閫氳繃" value="AUDITING_SUCCESS"></el-option>
+          <el-option label="瀹℃牳涓嶉�氳繃" value="AUDITING_FAIL"></el-option>
+        </el-select>
+      </el-form-item>
       <el-form-item label="杩愮淮澶勭悊鏃堕棿">
         <el-date-picker
           clearable
@@ -179,7 +187,7 @@
     <!-- 杩囩▼鍥� -->
     <el-dialog title="杩囩▼鍥�" :visible.sync="flowOpen" width="1200px" :close-on-click-modal="false" append-to-body>
       <div>
-        <el-steps :active="2" :space="500">
+        <el-steps :active="ywAuditingList.length != 0 ? 3 : ywHandleList.length != 0 ? 2 : 1" :space="500">
           <el-step title="浜х敓宸ュ崟">
             <template slot="description">
               <div>
@@ -195,88 +203,54 @@
                 <div class="flow-item-x">
                   鍒涘缓鏃堕棿锛歿{flowForm.createTime}}
                 </div>
-                <div class="flow-item-x">
-                  澶勭悊鏈熼檺锛�<el-tag type="danger" size="small">12灏忔椂</el-tag>
+                <div class="flow-item-x" v-if="flowForm.processingPeriod">
+                  澶勭悊鏈熼檺锛�<el-tag type="danger" size="small">{{ flowForm.processingPeriod }}</el-tag>
                 </div>
               </div>
             </template>
           </el-step>
           <el-step title="杩愮淮澶勭悊">
             <template slot="description">
-              <div class="y-item">
+              <div class="y-item" v-for="(item, index) in ywHandleList">
                 <div class="y-item-1">
                   <div class="flow-item-x">
-                    杩愮淮鐘舵�侊細<el-tag type="danger" size="small">缁撴灉涓婃姤</el-tag>
+                    鐜板満鎯呭喌锛�
+                    <el-tooltip class="item" effect="dark" :content="item.ywCondition" placement="top">
+                      <el-tag size="small" class="line-limit-length">{{ item.ywCondition }}</el-tag>
+                    </el-tooltip>
                   </div>
-                  <div class="flow-item-x">
-                    杩愮淮浜哄憳锛�<el-tag type="danger" size="small">{{flowForm.ywPeopleName}}</el-tag>
-                  </div>
+                  <!-- <div class="flow-item-x">
+                    <el-tag size="small" v-for="file in item.ywProofMaterials != null ? item.ywProofMaterials.split(',') : item.ywProofMaterials" :key="file" @click="handleDownload(file)">{{ file.substring(file.lastIndexOf("/") + 1) }}</el-tag>
+                  </div> -->
                 </div>
                 <div class="y-item-2">
                   <div >
-                    {{flowForm.ywHandleTime}}
+                    {{ parseTime(item.createTime) }}
                   </div>
                   <div >
-                    绗嚑娆★細1
+                    绗嚑娆★細{{ index + 1 }}
                   </div>
                 </div>
               </div>
-              <div class="y-item">
-                <div class="y-item-1">
-                  <div class="flow-item-x">
-                    杩愮淮鐘舵�侊細<el-tag type="danger" size="small">缁撴灉涓婃姤</el-tag>
-                  </div>
-                  <div class="flow-item-x">
-                    杩愮淮浜哄憳锛�<el-tag type="danger" size="small">{{flowForm.ywPeopleName}}</el-tag>
-                  </div>
-                </div>
-                <div class="y-item-2">
-                  <div >
-                    {{flowForm.ywHandleTime}}
-                  </div>
-                  <div >
-                    绗嚑娆★細2
-                  </div>
-                </div>
-              </div>
-
             </template>
           </el-step>
           <el-step title="缁撴灉瀹℃牳">
             <template slot="description">
-              <div class="y-item">
+              <div class="y-item" v-for="(item, index) in ywAuditingList">
                 <div class="y-item-1">
                   <div class="flow-item-x">
-                    瀹℃牳缁撴灉锛�<el-tag type="danger" size="small">椹冲洖</el-tag>
+                    瀹℃牳缁撴灉锛�<el-tag :type="item.result == '瀹℃牳閫氳繃' ? 'success' : 'danger'" size="small">{{ item.result }}</el-tag>
                   </div>
                   <div class="flow-item-x">
-                    瀹℃牳璇存槑锛�<el-tag type="danger" size="small">鏈垚鍔熷鐞�</el-tag>
+                    瀹℃牳璇存槑锛�<el-tag size="small" v-if="item.remark">{{ item.remark }}</el-tag>
                   </div>
                 </div>
                 <div class="y-item-2">
                   <div >
-                    {{flowForm.ywHandleTime}}
+                    {{ parseTime(item.createTime) }}
                   </div>
                   <div >
-                    绗嚑娆★細1
-                  </div>
-                </div>
-              </div>
-              <div class="y-item">
-                <div class="y-item-1">
-                  <div class="flow-item-x">
-                    瀹℃牳鐘舵�侊細<el-tag type="info" size="small">瀹℃牳涓�</el-tag>
-                  </div>
-                  <div class="flow-item-x">
-                    瀹℃牳璇存槑锛�
-                  </div>
-                </div>
-                <div class="y-item-2">
-                  <div >
-                    {{flowForm.ywHandleTime}}
-                  </div>
-                  <div >
-                    绗嚑娆★細2
+                    绗嚑娆★細{{ index + 1 }}
                   </div>
                 </div>
               </div>
@@ -308,13 +282,16 @@
 }
 </style>
 <script>
-import { listWorkOrder, getWorkOrder, delWorkOrder, addWorkOrder, updateWorkOrder,auditing, ywCondition, getYwCondition } from "@/api/platform/work-order";
+import { listWorkOrder, getWorkOrder, delWorkOrder, addWorkOrder, updateWorkOrder,auditing, ywCondition, getYwCondition, getYwConditionList, getYwAuditingList } from "@/api/platform/work-order";
+import { addReport } from "@/api/platform/report";
 export default {
   name: "Work-order",
   components: {
   },
   data() {
     return {
+      ywHandleList: [],
+      ywAuditingList: [],
       reportFormRules: {
         reportContent: [
           { required: true, message: "鎶ュ鍐呭涓嶈兘涓虹┖", trigger: "blur" }
@@ -326,7 +303,7 @@
       reportOpen: false,
       reportForm: {
         reportType: "浜嬪悗鎶ュ",
-        pointId: "鐞间簬闀�3琛�1鍙锋憚鍍忓ご",
+        pointId: "",
         errorType: "",
         reportContent: "",
         reportMaterials: ""
@@ -423,7 +400,7 @@
     submitReportForm() {
       this.$refs["reportForm"].validate(valid => {
         if (valid) {
-          addReport(this.form).then(response => {
+          addReport(this.reportForm).then(response => {
             this.$modal.msgSuccess("鎴愬姛鎻愪氦鎶ュ");
             this.open = false;
             this.getList();
@@ -466,8 +443,18 @@
     },
     // 杩囩▼鍥炬煡鐪�
     handleFlow(row) {
-      this.flowOpen = true;
       this.flowForm = row;
+      getYwAuditingList(row.id).then(response => {
+        if (response.data) {
+          this.ywAuditingList = response.data;
+        }
+      });
+      getYwConditionList(row.id).then(response => {
+        if (response.data) {
+          this.ywHandleList = response.data;
+        }
+        this.flowOpen = true;
+      });
     },
     // 鎻愪氦瀹℃牳
     submitAuditing() {
@@ -476,6 +463,7 @@
           auditing(this.auditingForm).then(res => {
             this.auditingOpen = false;
             this.$modal.msgSuccess("鎿嶄綔鎴愬姛");
+            this.getList();
           })
         }
       })
@@ -518,6 +506,7 @@
           ywCondition(this.form).then(res => {
             this.ywConditionOpen = false;
             this.$modal.msgSuccess("鎿嶄綔鎴愬姛");
+            this.getList();
           })
         }
       })
@@ -548,6 +537,7 @@
       this.queryParams.params = {};
       this.queryParams["start"] = this.daterangeYwHandleTime[0];
       this.queryParams["end"] = this.daterangeYwHandleTime[1];
+      if (this.queryParams["status"] == "") { this.queryParams["status"] = "DISTRIBUTED"; }
       listWorkOrder(this.queryParams).then(response => {
         this.workOrderList = response.data;
         this.total = response.total;
@@ -677,4 +667,11 @@
   height: 150px;
   padding: 10px;
 }
+
+.line-limit-length {
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  width: 200px;
+}
 </style>

--
Gitblit v1.8.0