From 1c20c8231980a8d4b91688ff8641a06d3b2f68ab Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期二, 14 十月 2025 16:34:22 +0800
Subject: [PATCH] 改bug

---
 admin/src/components/operation/HiddenDangerParam.vue |  104 +++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 91 insertions(+), 13 deletions(-)

diff --git a/admin/src/components/operation/HiddenDangerParam.vue b/admin/src/components/operation/HiddenDangerParam.vue
index f96d588..200271f 100644
--- a/admin/src/components/operation/HiddenDangerParam.vue
+++ b/admin/src/components/operation/HiddenDangerParam.vue
@@ -4,6 +4,7 @@
     width="600px"
     :visible.sync="isShowModal"
     :confirm-working="isWorking"
+    @close="close"
     @confirm="confirm"
   >
     <el-form :model="param" ref="paramRef" :rules="rules">
@@ -13,6 +14,16 @@
       <el-form-item label="鑱旂郴鐢佃瘽" prop="mobile">
         {{ userInfo.mobile }}
       </el-form-item>
+      <el-form-item label="妫�鏌ョ被鍨�" prop="checkTypeId">
+        <el-select v-model="param.checkTypeId" placeholder="璇烽�夋嫨">
+          <el-option
+              v-for="item in checkTypeList"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id"
+          />
+        </el-select>
+      </el-form-item>
       <el-form-item label="鎻愭姤鏃堕棿" prop="submitTime">
         <el-date-picker
           v-model="param.submitTime"
@@ -21,6 +32,11 @@
           type="datetime"
           default-time="08:00:00"
         />
+      </el-form-item>
+      <el-form-item label="璐d换閮ㄩ棬" prop="companyId">
+        <el-select @change="getAddrList" clearable filterable v-model="param.companyId">
+          <el-option v-for="op in department" :key="op.id" :label="op.name" :value="op.id"></el-option>
+        </el-select>
       </el-form-item>
       <el-form-item label="闅愭偅鍖哄煙" prop="areaId">
         <el-select v-model="param.areaId" @change="changeArea" placeholder="璇烽�夋嫨">
@@ -33,7 +49,7 @@
         </el-select>
       </el-form-item>
       <el-form-item label="澶勭悊浜�" prop="checkUserId">
-        <el-select v-model="param.checkUserId" placeholder="璇烽�夋嫨">
+        <el-select v-model="param.checkUserId" filterable placeholder="璇烽�夋嫨">
           <el-option
             v-for="item in memberList"
             :key="item.id"
@@ -61,6 +77,7 @@
             :action="uploadImgUrl"
             :show-file-list="false"
             :on-success="uploadAvatarSuccess"
+            :on-error="uploadError"
             :before-upload="beforeUpload"
           >
             <div class="upload_wrap">
@@ -104,8 +121,9 @@
 import dayjs from 'dayjs'
 import { allList, memberList } from '@/api/business/hiddenDangerParam'
 import { create } from '@/api/business/hiddenDanger'
+import { Loading } from 'element-ui'
+import { companyGetListPost } from '@/api/business/company'
 export default {
-  name: 'OperaVisitsHkWindow',
   extends: BaseOpera,
   components: {
     GlobalWindow
@@ -113,10 +131,14 @@
   data () {
     return {
       isShowModal: false,
-      param: {},
+      loadingInstance: false,
+      param: {
+        checkTypeId: null
+      },
       userInfo: this.$store.state.userInfo,
       uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/visitsAdmin/cloudService/public/uploadBatch',
       typeList: [],
+      checkTypeList: [],
       addrList: [],
       memberList: [],
       fileList: [],
@@ -124,11 +146,14 @@
       uploadData: {
         folder: 'HIDDEN_DANGER_FILE'
       },
+      department: [],
       rules: {
         // starttime: [{ required: true, message: '璇烽�夋嫨鏃ユ湡', trigger: 'change' }],
         areaId: [{ required: true, message: '璇烽�夋嫨', trigger: 'change' }],
         cateId: [{ required: true, message: '璇烽�夋嫨', trigger: 'change' }],
         checkUserId: [{ required: true, message: '璇烽�夋嫨', trigger: 'change' }],
+        checkTypeId: [{ required: true, message: '璇烽�夋嫨', trigger: 'change' }],
+        companyId: [{ required: true, message: '璇烽�夋嫨', trigger: 'change' }],
         faceImgUrl: [{ required: true, message: '璇蜂笂浼�', trigger: 'change' }],
 
         content: [{ required: true, message: '璇疯緭鍏�', trigger: 'blur' }]
@@ -140,16 +165,40 @@
     this.initData()
   },
   methods: {
+
     initData () {
       allList({ type: 1 }).then(res => { // 绫诲瀷
         this.typeList = res || []
       })
-      allList({ type: 0 }).then(res => { // 浣嶇疆
-        this.addrList = res || []
+      allList({ type: 2}).then(res => { // 妫�鏌ョ被鍨�
+        this.checkTypeList = res || []
+        if(this.checkTypeList.length>0){
+          this.param.checkTypeId = res[0].id
+        }
       })
-      memberList({}).then(res => {
-        this.memberList = res || []
-      })
+      // memberList({}).then(res => {
+      //   this.memberList = res || []
+      // })
+      this.getfindCompanyTreePage()
+    },
+    getfindCompanyTreePage() {
+      companyGetListPost({queryHiddenDanger: 1})
+        .then(res => {
+          if (res && res.length > 0) {
+            this.department = res
+          }
+        })
+    },
+    getAddrList() {
+      const { companyId } = this.param
+      this.$set(this.param, 'areaId', '')
+      this.$set(this.param, 'checkUserId', '')
+      this.addrList = []
+      if(companyId){
+        allList({ type: 0,companyId }).then(res => { // 浣嶇疆
+          this.addrList = res || []
+        })
+      }
     },
     changeArea (e) {
       const item = this.addrList.find(i => i.id === e)
@@ -158,6 +207,8 @@
       const memberNames = item.memberNames.split(',')
       if (memberIds && memberIds.length === 1) {
         this.$set(this.param, 'checkUserId', memberIds[0])
+      } else {
+        this.$set(this.param, 'checkUserId', '')
       }
       memberIds.forEach((mem, i) => {
         arr.push({
@@ -168,12 +219,30 @@
       this.memberList = arr
     },
     beforeUpload (file) {
-      if (['video/mp4', 'video/ogg', 'video/flv', 'video/avi', 'video/wmv', 'video/rmvb', 'image/jpeg', 'image/png', 'image/gif'].indexOf(file.type) == -1) {
+      if (['video/mp4', 'video/ogg', 'video/flv', 'video/avi', 'video/wmv', 'video/rmvb', 'image/jpeg','image/jpg', 'image/png', 'image/gif'].indexOf(file.type) == -1) {
         this.$message.error('璇蜂笂浼犳纭殑瑙嗛/鍥剧墖鏍煎紡')
         return false
       }
+      this.loadingInstance = Loading.service({
+        lock: true,
+        text: 'Loading',
+        spinner: 'el-icon-loading',
+        background: 'rgba(0, 0, 0, 0.7)'
+      })
+    },
+    uploadError() {
+      this.$nextTick(() => { // 浠ユ湇鍔$殑鏂瑰紡璋冪敤鐨� Loading 闇�瑕佸紓姝ュ叧闂�
+        if(this.loadingInstance){
+          this.loadingInstance.close()
+        }
+      })
     },
     uploadAvatarSuccess (file) {
+      this.$nextTick(() => { // 浠ユ湇鍔$殑鏂瑰紡璋冪敤鐨� Loading 闇�瑕佸紓姝ュ叧闂�
+        if(this.loadingInstance){
+          this.loadingInstance.close()
+        }
+      })
       console.log('file', file)
       const item = file.data[0]
       if (['.mp4', '.avi', '.flv', '.wmv'].some(char => item.imgaddr.includes(char))) {
@@ -195,6 +264,10 @@
     },
     handleDelImg (i) {
       this.fileList.splice(i, 1)
+    },
+    close(){
+      this.isShowModal = false
+      this.$emit('close')
     },
     // 鍚屾淇℃伅
     confirm () {
@@ -255,10 +328,15 @@
   display: flex;
   flex-wrap: wrap;
   .item {
-    width: 140px;
-    max-height: 140px;
+    width: 92px;
+    max-height: 92px;
     margin-left: 10px;
     position: relative;
+    border: 1px dashed #d9d9d9;
+    border-radius: 4px;
+    display: flex;
+    align-items: center;
+    justify-content: center;
     .close{
       font-size: 20px;
       position: absolute;
@@ -269,8 +347,8 @@
       cursor: pointer;
     }
     .img {
-      width: 140px;
-      max-height: 90px;
+      width: 92px;
+      max-height: 92px;
     }
   }
 }

--
Gitblit v1.9.3