From a58ce000b2f84a998e91c8c77b290319c3de6996 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 28 五月 2024 10:39:07 +0800
Subject: [PATCH] 最新版本

---
 admin/src/components/business/OperaHiddenDangerWindow.vue |  140 ++++++++++++++++++++++++++++++++++++----------
 1 files changed, 108 insertions(+), 32 deletions(-)

diff --git a/admin/src/components/business/OperaHiddenDangerWindow.vue b/admin/src/components/business/OperaHiddenDangerWindow.vue
index 6882524..78dc481 100644
--- a/admin/src/components/business/OperaHiddenDangerWindow.vue
+++ b/admin/src/components/business/OperaHiddenDangerWindow.vue
@@ -58,7 +58,7 @@
                 </div>
               </div>
             </div>
-            <div class="item" v-if="model.status==1" style="width: 100%">
+            <div class="item" v-if="model.status==1||model.status==2" style="width: 100%">
               <div class="label">澶勭悊鍓�</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">
@@ -103,7 +103,8 @@
               </div>
             </div>
             <div class="item" v-if="model.status==1 || model.status==2">
-              <div class="label">澶勭悊璇存槑</div>
+              <div class="label" v-if="model.status==1">澶勭悊璇存槑</div>
+              <div class="label" v-if="model.status==2">閫�鍥炶鏄�</div>
               <div class="value">{{model.checkInfo}}</div>
             </div>
           </div>
@@ -143,9 +144,9 @@
     </div>
     <!--  -->
     <template   v-slot:footer>
-      <el-button @click="dealDo"  type="primary"  v-if="model.status==0"  class="status-red">澶勭悊</el-button>
-      <el-button type="primary" plain v-if="model.status==0" @click="handleTransfer">杞氦</el-button>
-      <el-button @click="backDo"  v-if="model.status==0" type="danger"  >閫�鍥�</el-button>
+      <el-button @click="dealDo"  type="primary"  v-if="model.status==0&& model.checkUserId == userInfo.memberId"  class="status-red">澶勭悊</el-button>
+      <el-button type="primary" plain v-if="model.status==0 && model.checkUserId == userInfo.memberId" @click="handleTransfer">杞氦</el-button>
+      <el-button @click="backDo"  v-if="model.status==0&& model.checkUserId == userInfo.memberId" type="danger"  >閫�鍥�</el-button>
       <el-button @click="visible=false">杩斿洖</el-button>
     </template>
     <!--  鍚屾剰/鎷掔粷 -->
@@ -164,6 +165,30 @@
       <span slot="footer" class="dialog-footer">
         <el-button @click="isShowAppr = false">鍙栨秷</el-button>
         <el-button type="primary" @click="isShowAppr = false">纭畾</el-button>
+      </span>
+    </el-dialog>
+    <el-dialog
+        append-to-body
+        title="杞氦"
+        style="text-align: center"
+        :visible.sync="isShowTransfer"
+        width="480px"
+    >
+      <el-form :model="transForm" ref="transForm" :rules="rulesTrans">
+        <el-form-item label="闅愭偅杞氦浜�" prop="memberId">
+          <el-select v-model="transForm.memberId" style="width: 300px"  filterable clearable placeholder="璇烽�夋嫨杞氦瀹夊叏鍛�">
+            <el-option
+                v-for="item in memberList"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="isShowTransfer = false">鍙栨秷</el-button>
+        <el-button type="primary" @click="transferSubmit">纭畾</el-button>
       </span>
     </el-dialog>
     <!-- 闅愭偅 -->
@@ -212,7 +237,7 @@
       </el-form>
       <span slot="footer" class="dialog-footer">
         <el-button @click="isShowProblem = false">鍙栨秷</el-button>
-        <el-button type="primary" @click="isShowProblem = false"
+        <el-button type="primary" :loading="transfering" @click="isShowProblem = false"
         >纭畾</el-button
         >
       </span>
@@ -223,22 +248,34 @@
 <script>
 import BaseOpera from '@/components/base/BaseOpera'
 import GlobalWindow from '@/components/common/GlobalWindow'
-import {findLogList} from "@/api/business/hiddenDanger";
+import { memberList } from '@/api/business/hiddenDangerParam'
+import {mapMutations} from "vuex";
 export default {
   components: { GlobalWindow },
   extends: BaseOpera,
-  data() {
+  data () {
     return {
       title: '璁垮棰勭害璇︽儏',
       visible: false,
-      dataId:null,
+      transfering: false,
+      dataId: null,
       model: { },
-      logList:[],
+      logList: [],
       isShowAppr: false,
       apprTitle: '鍚屾剰',
       param: {},
       isShowProblem: false,
-      rules: {}
+      isShowTransfer: false,
+      rules: {},
+      rulesTrans: {
+        memberId: [
+          { required: true, message: '璇烽�夋嫨' }
+        ]
+      },
+      memberList: [],
+      transForm: {
+        memberId: null
+      }
     }
   },
   created () {
@@ -248,38 +285,71 @@
     })
   },
   methods: {
-    dealDo(){},
-    backDo(){},
-    open(title,target){
-      this.title =title
-      this.visible=true
+    ...mapMutations(['userInfo']),
+    dealDo () { this.isShowProblem = true },
+    backDo () { this.isShowProblem = true },
+    open (title, target) {
+      this.title = title
+      this.visible = true
       this.model = {}
-      this.dataId =target.id
+      this.dataId = target.id
       this.getDetail()
       this.getLogList()
-
     },
-    getLogList(){
-      this.api.findLogList({hiddenDangerId:this.dataId})
-          .then(res =>{
-            this.logList =  res
+    transferSubmit () {
+      this.$refs.transForm.validate((valid) => {
+        // debugger
+        if (!valid) {
+          return
+        }
+        this.$dialog.actionConfirm('鎿嶄綔纭', '鎮ㄧ‘璁よ浆浜よ闅愭偅鎻愭姤鍚楋紵')
+          .then(() => {
+            this.transfering = true
+            this.api.transferHiddenDanger({
+              id: this.dataId,
+              checkUserId: this.transForm.memberId
+            })
+              .then(res => {
+                this.$tip.apiSuccess('杞氦鎴愬姛')
+                this.getDetail()
+                this.getLogList()
+              })
+              .catch(e => {
+              })
+              .finally(() => {
+                this.transfering = false
+              })
           })
+          .catch(() => {})
+      })
     },
-    getDetail(){
+    getLogList () {
+      this.api.findLogList({ hiddenDangerId: this.dataId })
+        .then(res => {
+          this.logList = res
+        })
+    },
+    getDetail () {
       this.api.detail(this.dataId)
-          .then(res =>{
-            this.model =  res
-          })
+        .then(res => {
+          this.model = res
+        })
     },
-    confirm() {
+    confirm () {
       console.log('--')
     },
-    handleTransfer() {
-      this.isShowProblem = true
+    handleTransfer () {
+      this.isShowTransfer = true
+      this.loadMemberList()
     },
-    reject() { },
-    handleAvatarSuccess() { },
-    beforeAvatarUpload() { }
+    loadMemberList () {
+      memberList({}).then(res => {
+        this.memberList = res
+      })
+    },
+    reject () { },
+    handleAvatarSuccess () { },
+    beforeAvatarUpload () { }
   }
 }
 </script>
@@ -444,6 +514,12 @@
             color: deepskyblue;
             font-size: 24px;
           }
+          .icon2 {
+            position: relative;
+            z-index: 11;
+            color: red;
+            font-size: 24px;
+          }
           .avatar {
             width: 40px;
             height: 40px;

--
Gitblit v1.9.3