From b32150d1fd576fa3b89e85e2f99be2edc67b9293 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 17 九月 2024 16:26:15 +0800
Subject: [PATCH] 工单详情页优化

---
 src/views/system/work-order/index.vue |  116 ++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 68 insertions(+), 48 deletions(-)

diff --git a/src/views/system/work-order/index.vue b/src/views/system/work-order/index.vue
index 88584ac..593c822 100644
--- a/src/views/system/work-order/index.vue
+++ b/src/views/system/work-order/index.vue
@@ -1,10 +1,10 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
-      <el-form-item label="宸ュ崟鍙�" prop="workOrderNo">
+      <el-form-item label="鍏抽敭璇�" prop="keyword">
         <el-input
-          v-model="queryParams.workOrderNo"
-          placeholder="璇疯緭鍏ュ伐鍗曞彿"
+          v-model="queryParams.keyword"
+          placeholder="宸ュ崟鍙�/鐐逛綅鍚嶇О鎼滅储"
           clearable
           @clear="handleQuery"
           @keyup.enter.native="handleQuery"
@@ -88,7 +88,7 @@
                     <el-col :span="24" class="time">鏁呴殰鏃堕棿锛歿{ item.createTime }}</el-col>
                   </el-row>
                   <el-row class="work-order-item">
-                    <el-col class="time" :span="24" style="display: flex;flex-direction: row"><div style="min-width: 66px">鏁呴殰鐐逛綅锛�</div><div style="word-break: break-word">{{ item.source }}</div></el-col>
+                    <el-col class="time" :span="24"><div>鏁呴殰鐐逛綅锛�</div><div>{{ item.source }}</div></el-col>
                   </el-row>
                   <el-row style="position: absolute;bottom: 10px">
                     <el-button
@@ -107,7 +107,7 @@
                       v-hasPermi="['work:order:condition:add']"
                       v-show="item.status !== 'AUDITING_SUCCESS'"
                       @click="handleYwCondition(item)"
-                    >杩愮淮鎯呭喌
+                    >澶勭悊涓婃姤
                     </el-button>
                     <el-button
                       class="my-button"
@@ -124,6 +124,14 @@
                       v-hasPermi="['system:report:add']"
                       v-show="item.status !== 'AUDITING_SUCCESS'"
                     >浜嬪悗鎶ュ
+                    </el-button>
+                    <el-button
+                      class="my-button"
+                      size="mini"
+                      type="text"
+                      @click="handleDetail(item)"
+                      v-hasPermi="['system:workorder:detail']"
+                    >璇︽儏
                     </el-button>
                   </el-row>
                 </div>
@@ -185,49 +193,50 @@
       </div>
     </el-dialog>
 
-    <el-dialog title="宸ュ崟瀹℃牳" :visible.sync="auditingOpen" width="1000px" append-to-body>
-      <el-row :gutter="20">
-        <el-col :span="10">
-          <el-form ref="auditingForm" :model="auditingForm" :rules="auditingRules" label-width="80px">
-            <el-form-item label="宸ュ崟鍙�" prop="workOrderNo">
-              <el-input v-model="auditingForm.workOrderNo" disabled/>
-            </el-form-item>
-            <el-form-item label="杩愮淮鍗曚綅" prop="unitName">
-              <el-input v-model="auditingForm.unitName" disabled/>
-            </el-form-item>
-            <el-form-item label="瀹℃牳缁撴灉" prop="auditingResult">
-              <el-radio v-model="auditingForm.auditingResult" label="AUDITING_SUCCESS">閫氳繃</el-radio>
-              <el-radio v-model="auditingForm.auditingResult" label="AUDITING_FAIL">椹冲洖</el-radio>
-            </el-form-item>
-            <el-form-item label="瀹℃牳澶囨敞" prop="auditingRemark">
-              <el-input v-model="auditingForm.auditingRemark" type="textarea" maxlength="30" show-word-limit/>
-            </el-form-item>
-          </el-form>
-        </el-col>
-        <el-col :span="14" style="max-height: 500px; overflow-y: auto">
-          <el-timeline v-if="ywConditions && ywConditions.length > 0">
-            <el-timeline-item v-for="(condition, index) in ywConditions" :key="index"
-                              :timestamp="condition.commitUserName + '___' + condition.createTime" placement="top"
-            >
-              <el-card>
-                <div v-html="condition.ywCondition"></div>
-                <el-link type="primary"
-                         v-for="item in condition.ywProofMaterials != null ? condition.ywProofMaterials.split(',') : condition.ywProofMaterials"
-                         :underline="false" :key="item.id" @click="handleDownload(item)"
-                >{{ item.substring(item.lastIndexOf('/') + 1) }}
-                </el-link>
-              </el-card>
-            </el-timeline-item>
-          </el-timeline>
-          <el-empty v-else description="娌℃湁澶勭悊璁板綍"></el-empty>
-        </el-col>
-      </el-row>
+    <WorkOrderAuditing :auditingOpen="auditingOpen" :dataForm="auditingForm" :ywConditions="ywConditions" @close="closeAuditing"/>
+<!--    <el-dialog title="宸ュ崟瀹℃牳" :visible.sync="auditingOpen" width="1000px" append-to-body>-->
+<!--      <el-row :gutter="20">-->
+<!--        <el-col :span="10">-->
+<!--          <el-form ref="auditingForm" :model="auditingForm" :rules="auditingRules" label-width="80px">-->
+<!--            <el-form-item label="宸ュ崟鍙�" prop="workOrderNo">-->
+<!--              <el-input v-model="auditingForm.workOrderNo" disabled/>-->
+<!--            </el-form-item>-->
+<!--            <el-form-item label="杩愮淮鍗曚綅" prop="unitName">-->
+<!--              <el-input v-model="auditingForm.unitName" disabled/>-->
+<!--            </el-form-item>-->
+<!--            <el-form-item label="瀹℃牳缁撴灉" prop="auditingResult">-->
+<!--              <el-radio v-model="auditingForm.auditingResult" label="AUDITING_SUCCESS">閫氳繃</el-radio>-->
+<!--              <el-radio v-model="auditingForm.auditingResult" label="AUDITING_FAIL">椹冲洖</el-radio>-->
+<!--            </el-form-item>-->
+<!--            <el-form-item label="瀹℃牳澶囨敞" prop="auditingRemark">-->
+<!--              <el-input v-model="auditingForm.auditingRemark" type="textarea" maxlength="30" show-word-limit/>-->
+<!--            </el-form-item>-->
+<!--          </el-form>-->
+<!--        </el-col>-->
+<!--        <el-col :span="14" style="max-height: 500px; overflow-y: auto">-->
+<!--          <el-timeline v-if="ywConditions && ywConditions.length > 0">-->
+<!--            <el-timeline-item v-for="(condition, index) in ywConditions" :key="index"-->
+<!--                              :timestamp="condition.commitUserName + '___' + condition.createTime" placement="top"-->
+<!--            >-->
+<!--              <el-card>-->
+<!--                <div v-html="condition.ywCondition"></div>-->
+<!--                <el-link type="primary"-->
+<!--                         v-for="item in condition.ywProofMaterials != null ? condition.ywProofMaterials.split(',') : condition.ywProofMaterials"-->
+<!--                         :underline="false" :key="item.id" @click="handleDownload(item)"-->
+<!--                >{{ item.substring(item.lastIndexOf('/') + 1) }}-->
+<!--                </el-link>-->
+<!--              </el-card>-->
+<!--            </el-timeline-item>-->
+<!--          </el-timeline>-->
+<!--          <el-empty v-else description="娌℃湁澶勭悊璁板綍"></el-empty>-->
+<!--        </el-col>-->
+<!--      </el-row>-->
 
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="cancelAuditing">鍙� 娑�</el-button>
-        <el-button type="primary" @click="submitAuditing">瀹� 鏍�</el-button>
-      </div>
-    </el-dialog>
+<!--      <div slot="footer" class="dialog-footer">-->
+<!--        <el-button @click="cancelAuditing">鍙� 娑�</el-button>-->
+<!--        <el-button type="primary" @click="submitAuditing">瀹� 鏍�</el-button>-->
+<!--      </div>-->
+<!--    </el-dialog>-->
 
     <el-dialog title="杩愮淮鎯呭喌璁板綍" :visible.sync="ywConditionOpen" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="ywConditionRules" label-width="80px">
@@ -444,11 +453,12 @@
   process
 } from '@/api/platform/work-order'
 import { addReport } from '@/api/platform/report'
+import WorkOrderAuditing from "@/components/WorkOrder/WorkOrderAuditing";
 
 export default {
   name: 'Work-order',
   dicts: ['error_type', 'report_error_type'],
-  components: {},
+  components: {WorkOrderAuditing},
   data() {
     return {
       drawer: false,
@@ -579,6 +589,9 @@
     this.getList()
   },
   methods: {
+    closeAuditing() {
+      this.auditingOpen = false
+    },
     getTitle1() {
       return '浜х敓宸ュ崟' + (this.beforeReportMsg ? '(' + this.beforeReportMsg + ')' : '')
     },
@@ -627,6 +640,10 @@
           })
         }
       })
+    },
+    // 璇︽儏
+    handleDetail(item) {
+      this.$router.push({name: '/work-order-center/maintenance/detail', query: {workOrderNo: item.workOrderNo}})
     },
     // 浜嬪悗鎶ュ鎸夐挳
     handleReport(row) {
@@ -915,6 +932,9 @@
 }
 .work-order-item {
   margin-bottom: 5px;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
 }
 
 .time {

--
Gitblit v1.8.0