From 30e858fa504b268b9b436afca0a1259cf6e8c488 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期二, 19 八月 2025 11:01:40 +0800
Subject: [PATCH] 优化

---
 admin/src/components/business/OperaWorkorderDetailSheWindow.vue |  148 ++++++++++++++++++++++++++-----------------------
 1 files changed, 79 insertions(+), 69 deletions(-)

diff --git a/admin/src/components/business/OperaWorkorderDetailSheWindow.vue b/admin/src/components/business/OperaWorkorderDetailSheWindow.vue
index 4adb1a4..8a21f88 100644
--- a/admin/src/components/business/OperaWorkorderDetailSheWindow.vue
+++ b/admin/src/components/business/OperaWorkorderDetailSheWindow.vue
@@ -8,16 +8,16 @@
     <div class="modal_wrap">
       <div class="modal_content">
         <div class="header">
-          <img v-if="info.status == '3'" class="head_bg"
-               src="@/assets/task/bg_shenhe_fail@2x.png" alt="">
-          <img v-else-if="info.status == '4'" class="head_bg"
+<!--          <img v-if="info.status == '0'" class="head_bg"
+               src="@/assets/task/bg_shenhe_fail@2x.png" alt="">-->
+          <img v-if="info.status == '4' || info.status == '3'||info.status == '5'||info.status == '6'" class="head_bg"
                src="@/assets/task/bg_shenhe_pass@2x.png" alt="">
           <img v-else class="head_bg" src="@/assets/task/bg_shenhe@2x.png" alt="">
           <div class="left">
             <div class="h1">{{ cateList[type] }}</div>
             <div class="time">鎻愪氦鏃堕棿锛歿{ info.createDate }}</div>
           </div>
-          <div class="right"  :class="{ scs: info.status == '3' || info.status == '4' || info.status == '5',  msg: info.status == '6' }">{{statusMap[info.status] }}</div>
+          <div class="right"  :style="(info.status ==0 ||info.status ==1 || info.status ==2)?'min-width: 90px':''"   :class="{ scs: info.status == '3' || info.status == '4' || info.status == '5',  msg: info.status == '6' }">{{statusMap[info.status] }}</div>
         </div>
         <div class="info">
           <div class="title">宸ュ崟淇℃伅</div>
@@ -27,8 +27,12 @@
               <div class="value">{{ info.memberName }} - {{ info.memberPhone || '[鏃犳墜鏈哄彿]' }}</div>
             </div>
             <div class="item">
+              <div class="label">鎵�灞為儴闂�</div>
+              <div class="value">{{ info.companyName }} </div>
+            </div>
+            <div class="item">
               <div class="label">涓婃姤鏃堕棿</div>
-              <div class="value">{{ info.createDate }}</div>
+              <div class="value">{{ info.submitDate +' '}}</div>
             </div>
             <div class="item">
               <div class="label">娑夊強浜哄憳</div>
@@ -37,15 +41,15 @@
               <div class="value" v-else>鏈汉</div>
             </div>
             <div class="item">
-              <div class="label">鍙戠敓鍦扮偣</div>
-              <div class="value">{{ info.locationName }}</div>
+              <div class="label">鍙戠幇鏃堕棿</div>
+              <div class="value">{{ info.happenTime }}</div>
             </div>
             <div class="item">
-              <div class="label">鏄惁澶栭儴灏卞尰</div>
+              <div class="label">澶栭儴灏卞尰</div>
               <div class="value">{{ info.outJiuyi == "0" ? "鍚�" : "鏄�" }}</div>
             </div>
             <div class="item" v-if="info.outJiuyi == '0'">
-              <div class="label">鏄惁鍖诲姟瀹�</div>
+              <div class="label">鍖诲姟瀹�</div>
               <div class="value">{{ info.isYiwushi == "0" ? "鍚�" : "鏄�" }}</div>
             </div>
             <div class="item" v-if="info.isYiwushi == '0'">
@@ -56,39 +60,48 @@
               <div class="label">浼ゅ绫诲瀷</div>
               <div class="value">{{ info.typeName }}</div>
             </div>
-            <div class="label">鏄惁鍜屽伐浣滅浉鍏�</div>
-            <div class="value">{{ info.workRelated == "0" ? "鍚�" : "鏄�" }}</div>
-          </div>
+            <div class="item">
+              <div class="label">鍜屽伐浣滅浉鍏�</div>
+              <div class="value">{{ info.workRelated == "0" ? "鍚�" : "鏄�" }}</div>
+            </div>
+            <div class="item">
+              <div class="label">鍙戠敓鍦扮偣</div>
+              <div class="value">{{ info.locationName }}</div>
+            </div>
+            <div class="item">
+              <div class="label">鍏蜂綋浣嶇疆</div>
+              <div class="value">{{ info.remark }}</div>
+            </div>
             <div class="item">
               <div class="label">浜嬩欢璇存槑</div>
-              <div class="value">{{ info.constructionReason }}</div>
+              <div class="value">{{ info.eventInfo || '-'}}</div>
+            </div>
+            <div class="item" style="width: 100%">
+          <div class="label">鍥剧墖</div>
+          <div class="value" v-if="info.multifileList ==null || !info.multifileList.length">鏃�</div>
+          <div class="value" v-if="info.multifileList !=null && info.multifileList.length">
+            <div v-for="item in info.multifileList" :key="item.id" style="display: inline;margin-right: 20px">
+              <video
+                  v-if="item.fileurlFull && item.fileurlFull.endsWith('.mp4')"
+                  ref="videoRef"
+                  controls
+                  preload="auto"
+                  style="width: 80px;height: 80px;object-fit: contain;"
+                  :src="item.fileurlFull"
+              />
+              <el-image
+                  v-else-if="item.fileurlFull"
+                  style="width:80px; height: 80px"
+                  :src="item.fileurlFull"
+                  :preview-src-list="[item.fileurlFull]">
+              </el-image>
             </div>
           </div>
         </div>
-      <div class="item" style="width: 100%">
-        <div class="label">鍥剧墖</div>
-        <div class="value" v-if="info.multifileList ==null || !info.multifileList.length">鏃�</div>
-        <div class="value" v-if="info.multifileList !=null && info.multifileList.length">
-          <div v-for="item in info.multifileList" :key="item.id" style="display: inline;margin-right: 20px">
-            <video
-                v-if="item.fileurlFull && item.fileurlFull.endsWith('.mp4')"
-                ref="videoRef"
-                controls
-                preload="auto"
-                style="width: 80px;height: 80px;object-fit: contain;"
-                :src="item.fileurlFull"
-            />
-            <el-image
-                v-else-if="item.fileurlFull"
-                style="width:80px; height: 80px"
-                :src="item.fileurlFull"
-                :preview-src-list="[item.fileurlFull]">
-            </el-image>
           </div>
         </div>
       </div>
-      </div>
-      <div class="side">
+      <div class="side" v-if="false">
         <div class="side_title">鎿嶄綔鍘嗗彶</div>
         <div class="list" v-if=" info.logList != null && info.logList.length != 0
         ">
@@ -135,7 +148,7 @@
             <div v-if="item.approveType == 1" class="childList">
               <div class="m_content company" v-for="item1 in item.approveList" :key="item1.id">
                 <img v-if="item1.faceImg != null && item1.faceImg != ''" :src="item1.faceImg" class="avatar" alt="" />
-                <img v-if="item1.faceImg == null || item1.faceImg == ''" src="@/assets/avatar/man.png" class="avatar"
+                <img v-if="item1.faceImg == null || item1.faceImg == ''" src="../../assets/avatar/man.png" class="avatar"
                      alt="" />
                 <span> {{ item1.memberName }}</span>
               </div>
@@ -154,6 +167,7 @@
 <script>
 import BaseOpera from '@/components/base/BaseOpera'
 import GlobalWindow from '@/components/common/GlobalWindow'
+import {getById } from '@/api/business/workorder'
 export default {
   name: 'OperaWorkorderWindow',
   extends: BaseOpera,
@@ -165,18 +179,18 @@
       title: '宸ュ崟璇︽儏',
       info: {},
       statusMap: {
-        0: '寰呭垎閰峎TS',
-        1: '寰呭垎閰嶄换鍔�',
-        2: '寰呭鐞�',
-        3: '宸茶В鍐�',
-        4: '宸茶В鍐�',
-        5: '宸茶В鍐�'
+        0: '澶勭悊涓�',
+        1: '澶勭悊涓�',
+        2: '澶勭悊涓�',
+        3: '宸插鐞�',
+        4: '宸插鐞�',
+        5: '宸插鐞�'
       },
       cateList: {
         0: 'SHE浜嬩欢宸ュ崟',
-        1: '璺岀粖婊戜簨浠跺伐鍗�',
-        2: 'DCA浜嬩欢鎻愪氦璁板綍',
-        3: 'DCA浜嬩欢宸ュ崟'
+        1: 'DCA浜嬩欢鎻愪氦璁板綍',
+        2: 'DCA浜嬩欢宸ュ崟',
+        3: '璺岀粖婊戜簨浠跺伐鍗�'
       }
     }
   },
@@ -185,34 +199,27 @@
       this.title = title
       this.visible = true
       this.info = target
+      this.getDetail()
       this.type = this.info.type
     },
     close () {
       this.visible = false
     },
     getDetail () {
-      const { id, type } = this
-      switch (type) {
-      case 0:
-        getVisitedDetail({ id }).then(res => {
-          this.info = res
-          if (this.info.approveDateVO && this.info.approveDateVO.approveList.length > 0) {
-            this.info.approveDateVO.approveList.forEach(item => {
-              if (item.approveList && item.approveList.length == 1 && item.type !== 1) {
-                item.title = item.approveList[0].title
-                item.faceImg = item.approveList[0].faceImg
-                item.memberName = item.approveList[0].memberName
-                item.statusInfo = item.approveList[0].statusInfo
-                item.approveList = []
-              }
-            })
-          }
-        })
-        break
-
-      default:
-        break
-      }
+      getById(this.info.id).then(res => {
+        this.info = res
+        if (this.info.logList && this.info.logList.length > 0) {
+          this.info.logList.forEach(item => {
+            if (item.approveList && item.approveList.length == 1 && item.type !== 1) {
+              item.title = item.approveList[0].title
+              item.faceImg = item.approveList[0].faceImg
+              item.memberName = item.approveList[0].memberName
+              item.statusInfo = item.approveList[0].statusInfo
+              item.approveList = []
+            }
+          })
+        }
+      })
     },
     reject () { },
     handleAvatarSuccess () { },
@@ -256,7 +263,7 @@
 
 .modal_wrap {
   display: flex;
-  height: 100%;
+  height: auto;
 
   .modal_content {
     flex: 1;
@@ -280,11 +287,12 @@
 
         .item {
           display: flex;
-          width: 40%;
+          width: 50%;
+          font-size: 14px;
           margin-bottom: 20px;
 
           &:nth-of-type(2n) {
-            width: 60%;
+            width: 50%;
           }
 
           .label {
@@ -293,6 +301,7 @@
           }
 
           .value {
+             width: calc(100% - 100px);
             color: #111111;
           }
         }
@@ -303,6 +312,7 @@
       display: flex;
       justify-content: space-between;
       align-items: center;
+      vertical-align: center;
       padding: 20px 30px;
       margin: 0 -30px;
       border-radius: 8px 8px 0 0;

--
Gitblit v1.9.3