From efcdc8c49b0452d9c7f192ab351da09bf8aafc80 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期一, 27 五月 2024 18:34:58 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit

---
 admin/src/components/business/OperaHiddenDangerWindow.vue |  216 +++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 151 insertions(+), 65 deletions(-)

diff --git a/admin/src/components/business/OperaHiddenDangerWindow.vue b/admin/src/components/business/OperaHiddenDangerWindow.vue
index ae6acc1..6882524 100644
--- a/admin/src/components/business/OperaHiddenDangerWindow.vue
+++ b/admin/src/components/business/OperaHiddenDangerWindow.vue
@@ -1,9 +1,9 @@
 <template>
   <GlobalWindow
-    :title="title"
-    :visible.sync="visible"
-    @confirm="confirm"
-    @close="reject"
+      :title="title"
+      :visible.sync="visible"
+      @confirm="confirm"
+      @close="reject"
   >
     <div class="modal_wrap">
       <div class="modal_content">
@@ -35,20 +35,72 @@
               <div class="label">闅愭偅鎻忚堪</div>
               <div class="value">{{model.content || ''}}</div>
             </div>
-            <div class="item">
+            <div class="item" style="width: 100%">
               <div class="label">鐜板満鎯呭喌</div>
               <div class="value" v-if="model.submitFileList ==null || !model.submitFileList.length">鏃�</div>
               <div class="value" v-if="model.submitFileList !=null && model.submitFileList.length">
-                <span v-for="item in model.submitFileList" :key="item.id">{{item.fileurlFull}}</span>
+                <div v-for="item in model.submitFileList" :key="item.id" style="display: inline;margin-right: 20px">
+                  <video
+                      v-if="item.fileurlFull && item.fileurlFull.endsWith('.mp4')"
+                      ref="videoRef"
+                      autoplay
+                      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" v-if="model.status==1">
+            <div class="item" v-if="model.status==1" style="width: 100%">
               <div class="label">澶勭悊鍓�</div>
-              <div class="value"></div>
+              <div class="value" v-if="model.dealBeforeFileList !=null && model.dealBeforeFileList.length">
+                <div v-for="item in model.dealBeforeFileList" :key="item.id" style="display: inline;margin-right: 20px">
+                  <video
+                      v-if="item.fileurlFull && item.fileurlFull.endsWith('.mp4')"
+                      ref="videoRef"
+                      autoplay
+                      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" v-if="model.status==1">
+            <div class="item" v-if="model.status==1" style="width: 100%">
               <div class="label">澶勭悊鍚�</div>
-              <div class="value"></div>
+              <div class="value" v-if="model.dealAfterFileList !=null && model.dealAfterFileList.length">
+                <div v-for="item in model.dealAfterFileList" :key="item.id" style="display: inline;margin-right: 20px">
+                  <video
+                      v-if="item.fileurlFull && item.fileurlFull.endsWith('.mp4')"
+                      ref="videoRef"
+                      autoplay
+                      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" v-if="model.status==1 || model.status==2">
               <div class="label">澶勭悊璇存槑</div>
@@ -60,40 +112,31 @@
       <div class="side">
         <div class="side_title">瀹℃壒娴佺▼</div>
         <div class="list">
-          <div class="item">
-            <div class="separate"></div>
+          <div class="item" v-for="(item,index) in logList" :key="item.id">
+            <div class="separate" v-if="index < logList.length-1"></div>
             <div class="info">
-              <i class="el-icon-success icon"></i>
-              <img src="" class="avatar" alt="" />
+              <i class="el-icon-success icon" v-if="(model.status ==1) || index < logList.length-1"></i>
+              <i class="el-icon-question icon1" v-if="(model.status==0)  && index == logList.length-1"></i>
+              <i class="el-icon-error icon2" v-if="(model.status==2)  && index == logList.length-1"></i>
+              <img v-if="item.avatar!=null && item.avatar !=''" :src="item.avatar" class="avatar" alt="" />
+              <img v-if="item.avatar ==null ||item.avatar ==''"  src="@/assets/avatar/man.png" class="avatar" alt="" />
               <div class="content">
                 <div class="line">
-                  <div class="name">鍒樻煇鍒樻煇</div>
-                  <div class="time">2020-02-02 12:20</div>
-                </div>
-                <div class="line">
-                  <div class="company">涓浗绉诲姩鏈夐檺鍏徃</div>
-                </div>
-              </div>
-            </div>
-          </div>
-          <div class="item">
-            <!-- <div v-if="" class="separate"></div> -->
-            <div class="info">
-              <i class="el-icon-success icon"></i>
-              <img src="" class="avatar" alt="" />
-              <div class="content">
-                <div class="line">
-                  <div class="name">鍒樻煇鍒樻煇</div>
-                  <div class="time">2020-02-02 12:20</div>
+                  <div class="name">{{ item.title}}</div>
+                  <div class="time">{{ item.createDate }}</div>
                 </div>
                 <div class="line">
                   <div class="company">
-                    涓浗绉诲姩鏈夐檺鍏徃( <span class="status">宸插悓鎰�</span> )
+                    {{ item.createUserName }} {{ item.companyName }}
+                    <div style="display: inline" v-if="index == logList.length-1">
+                      锛�<span class="status-green" v-if="model.status==1">宸插鐞�</span>
+                      <span class="status-blue" v-if="model.status==0">寰呭鐞�</span>
+                      <span class="status-red" v-if="model.status==2">宸查��鍥�</span>锛�
+                    </div>
                   </div>
                 </div>
               </div>
             </div>
-            <div class="remark">鎻愪氦绾﹀ソ鐨�</div>
           </div>
         </div>
       </div>
@@ -107,16 +150,16 @@
     </template>
     <!--  鍚屾剰/鎷掔粷 -->
     <el-dialog
-      append-to-body
-      :title="apprTitle"
-      :visible.sync="isShowAppr"
-      width="480px"
+        append-to-body
+        :title="apprTitle"
+        :visible.sync="isShowAppr"
+        width="480px"
     >
       <el-input
-        type="textarea"
-        :placeholder="apprTitle + '璇存槑锛岄潪蹇呭~'"
-        :rows="4"
-        v-model="param.explain"
+          type="textarea"
+          :placeholder="apprTitle + '璇存槑锛岄潪蹇呭~'"
+          :rows="4"
+          v-model="param.explain"
       />
       <span slot="footer" class="dialog-footer">
         <el-button @click="isShowAppr = false">鍙栨秷</el-button>
@@ -125,30 +168,30 @@
     </el-dialog>
     <!-- 闅愭偅 -->
     <el-dialog
-      append-to-body
-      title="闅愭偅"
-      :visible.sync="isShowProblem"
-      width="480px"
+        append-to-body
+        title="闅愭偅"
+        :visible.sync="isShowProblem"
+        width="480px"
     >
       <el-form :model="param" :rules="rules" ref="ruleForm" label-width="100px">
         <el-form-item label="閫�鍥炴椂闂�">
           <el-date-picker
-            class="w300"
-            value-format="yyyy-MM-dd"
-            type="date"
-            placeholder="閫夋嫨鏃ユ湡"
-            v-model="param.date"
+              class="w300"
+              value-format="yyyy-MM-dd"
+              type="date"
+              placeholder="閫夋嫨鏃ユ湡"
+              v-model="param.date"
           />
         </el-form-item>
         <el-form-item label="鏁存敼鍓�">
           <div class="df_ac">
             <img src="@/assets/avatar/man.png" />
             <el-upload
-              class="avatar-uploader"
-              action="https://jsonplaceholder.typicode.com/posts/"
-              :show-file-list="false"
-              :on-success="handleAvatarSuccess"
-              :before-upload="beforeAvatarUpload"
+                class="avatar-uploader"
+                action="https://jsonplaceholder.typicode.com/posts/"
+                :show-file-list="false"
+                :on-success="handleAvatarSuccess"
+                :before-upload="beforeAvatarUpload"
             >
               <img v-if="param.url" :src="param.url" class="avatar" />
               <div v-else class="upload_box">
@@ -160,17 +203,17 @@
         </el-form-item>
         <el-form-item label="閫�鍥炶鏄�">
           <el-input
-            type="textarea"
-            placeholder="璇峰~鍐欒鏄�"
-            :rows="4"
-            v-model="param.explain"
+              type="textarea"
+              placeholder="璇峰~鍐欒鏄�"
+              :rows="4"
+              v-model="param.explain"
           />
         </el-form-item>
       </el-form>
       <span slot="footer" class="dialog-footer">
         <el-button @click="isShowProblem = false">鍙栨秷</el-button>
         <el-button type="primary" @click="isShowProblem = false"
-          >纭畾</el-button
+        >纭畾</el-button
         >
       </span>
     </el-dialog>
@@ -178,14 +221,19 @@
 </template>
 
 <script>
+import BaseOpera from '@/components/base/BaseOpera'
 import GlobalWindow from '@/components/common/GlobalWindow'
+import {findLogList} from "@/api/business/hiddenDanger";
 export default {
   components: { GlobalWindow },
+  extends: BaseOpera,
   data() {
     return {
       title: '璁垮棰勭害璇︽儏',
       visible: false,
+      dataId:null,
       model: { },
+      logList:[],
       isShowAppr: false,
       apprTitle: '鍚屾剰',
       param: {},
@@ -193,11 +241,35 @@
       rules: {}
     }
   },
+  created () {
+    this.config({
+      api: '/business/hiddenDanger',
+      'field.id': 'id'
+    })
+  },
   methods: {
+    dealDo(){},
+    backDo(){},
     open(title,target){
       this.title =title
       this.visible=true
-      this.model = target
+      this.model = {}
+      this.dataId =target.id
+      this.getDetail()
+      this.getLogList()
+
+    },
+    getLogList(){
+      this.api.findLogList({hiddenDangerId:this.dataId})
+          .then(res =>{
+            this.logList =  res
+          })
+    },
+    getDetail(){
+      this.api.detail(this.dataId)
+          .then(res =>{
+            this.model =  res
+          })
     },
     confirm() {
       console.log('--')
@@ -213,6 +285,14 @@
 </script>
 
 <style lang="scss" scoped>
+.side_title{
+  font-weight: 600;
+  font-size: 18px;
+  color: #111111;
+  margin-bottom: 20px;
+  margin-left: 20px;
+  margin-top: 20px;
+}
 .upload_box {
   width: 84px;
   height: 84px;
@@ -231,6 +311,7 @@
     font-size: 12px;
   }
 }
+
 .modal_wrap {
   display: flex;
   height: 100%;
@@ -248,7 +329,6 @@
       margin-bottom: 20px;
       margin-top: 30px;
     }
-
     .info {
       .list {
         display: flex;
@@ -344,20 +424,26 @@
         .separate {
           position: absolute;
           border-left: 2px dashed #cccccc;
-          left: 51px;
+          left: 31px;
           height: calc(100% - 24px);
           top: 46px;
         }
         .info {
           display: flex;
           align-items: center;
-          margin-left: 40px;
+          margin-left: 20px;
           .icon {
             position: relative;
             z-index: 11;
             color: #53b76f;
             font-size: 24px;
           }
+          .icon1 {
+            position: relative;
+            z-index: 11;
+            color: deepskyblue;
+            font-size: 24px;
+          }
           .avatar {
             width: 40px;
             height: 40px;

--
Gitblit v1.9.3