From 05df4f202c9a21b384e4b6109f22901c00859a9a Mon Sep 17 00:00:00 2001
From: odc.xiaohui <xiaohui@Q1>
Date: 星期四, 23 三月 2023 16:00:56 +0800
Subject: [PATCH] 删除用户提醒

---
 src/views/common/Audit.vue |  364 ++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 280 insertions(+), 84 deletions(-)

diff --git a/src/views/common/Audit.vue b/src/views/common/Audit.vue
index f9892b5..542c1ac 100644
--- a/src/views/common/Audit.vue
+++ b/src/views/common/Audit.vue
@@ -28,11 +28,10 @@
             <el-button type="primary" @click="addAduitDialogOpen">娣诲姞</el-button>
           </el-form-item>
           <el-form-item>
-           <el-upload name="multipartFile" class="upload-demo" action="/api/cause/reporterUpload"
-                  :show-file-list="false" :before-upload="beforeAvatarUpload"
-                  :on-success="reporterRespond" :limit="1">
-                  <el-button type="primary">瀵煎叆</el-button>
-                </el-upload>
+            <el-upload name="multipartFile" class="upload-demo" action="/api/report/reporterUpload"
+              :show-file-list="false" :before-upload="beforeAvatarUpload" :on-success="reporterRespond" :limit="1">
+<!--              <el-button type="primary">瀵煎叆</el-button>-->
+            </el-upload>
           </el-form-item>
         </el-form>
       </template>
@@ -52,7 +51,15 @@
         <el-table-column width="180" prop="idcard" label="璇佷欢鍙风爜"></el-table-column>
         <el-table-column width="100" prop="isCommission" label="鏄惁瀹℃牳">
           <template slot-scope="scope">
-            <span v-if="scope.row.isCommission == 1">鏄�</span>
+            <el-popover
+                v-if="scope.row.status == 2"
+                placement="bottom"
+                title="椹冲洖鍘熷洜"
+                width="200"
+                trigger="click"
+                :content="scope.row.remarks">
+              <el-button type="text"  slot="reference">宸查┏鍥�</el-button>
+            </el-popover>
             <span v-else>鍚�</span>
           </template>
         </el-table-column>
@@ -87,13 +94,13 @@
       <el-row :gutter="15">
         <el-form ref="addAduitForm" :model="auditFrom" :rules="rules" size="medium" label-width="100px">
           <el-col :span="12">
-            <!-- <el-form-item label="澶村儚" prop="pic" required>
+            <el-form-item label="澶村儚" prop="pic" required>
               <el-upload ref="pic" action="/api/minio/upload" :show-file-list="false" :on-success="handleAvatarSuccess"
-                         list-type="picture-card" accept="image/*">
+                list-type="picture-card" accept="image/*">
                 <img v-if="picShow" :src="picShow" style="width: 145px;height: 145px">
                 <i v-else class="el-icon-plus"></i>
               </el-upload>
-            </el-form-item> -->
+            </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="鎶ユ浜� " prop="reporterName">
@@ -115,8 +122,9 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="琚獥鏃堕棿" prop="cheatTime">
-              <el-date-picker v-model="auditFrom.cheatTime" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿" :style="{ width: '100%' }"
-                format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
+              <el-date-picker v-model="auditFrom.cheatTime+''" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿"
+                :style="{ width: '100%' }" format="yyyy-MM-dd HH:mm:ss"
+                value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -127,7 +135,8 @@
           </el-col>
           <el-col :span="24">
             <el-form-item label="妗堜欢鎻忚堪" prop="reportDescription">
-              <el-input v-model="auditFrom.reportDescription" placeholder="璇疯緭鍏ユ浠舵弿杩�" clearable :style="{ width: '100%' }">
+              <el-input v-model="auditFrom.reportDescription" placeholder="璇疯緭鍏ユ浠舵弿杩�" clearable
+                :style="{ width: '100%' }">
               </el-input>
             </el-form-item>
           </el-col>
@@ -138,7 +147,7 @@
             </el-form-item>
           </el-col>
           <el-col :span="24">
-            <el-form-item label="涓婁紶" prop="fileList" >
+            <el-form-item label="涓婁紶" prop="fileList">
               <el-upload ref="reportMaterials" :file-list="auditFrom.fileList" action="/api/minio/upload"
                 list-type="picture" :on-success="handleMaterialSuccess">
                 <el-button size="small" type="primary" icon="el-icon-upload">鐐瑰嚮涓婁紶</el-button>
@@ -157,6 +166,7 @@
       </el-row>
       <span slot="footer" class="dialog-footer">
         <el-button @click="addAduitDialogVisible = false">鍙� 娑�</el-button>
+
         <el-button type="primary" @click="addAduit">纭� 瀹�</el-button>
       </span>
     </el-dialog>
@@ -164,14 +174,13 @@
     <!--瀹℃牳寮圭獥-->
     <el-dialog title="瀹℃牳" :visible.sync="checkVisible" width="50%" :before-close="infoAduitClose">
       <el-row :gutter="15">
-        <el-form ref="infoAduitForm" :model="auditInfo" size="medium" label-width="100px">
+        <el-form ref="infoAduitForm" :rules="rules2" :model="auditInfo" size="medium" label-width="100px">
           <el-col :span="12">
             <el-form-item label="澶村儚" prop="pic" required>
-              <el-upload ref="pic" action="/api/minio/upload" :show-file-list="false" :on-success="handleAvatarSuccess"
-                list-type="picture-card" accept="image/*" disabled>
+
                 <el-image style="width: 145px; height: 145px" :src="picShow" :preview-src-list="new Array(picShow)">
                 </el-image>
-              </el-upload>
+
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -193,8 +202,8 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="琚獥鏃堕棿">
-              <el-date-picker v-model="auditInfo.tmpTime" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿" :style="{ width: '100%' }"
-                format="yyyy-MM-dd HH:mm:ss" :value-format="auditFrom.cheatTime" disabled></el-date-picker>
+              <el-input v-model="auditInfo.cheatTime" placeholder="璇烽�夋嫨鎶ユ鏃堕棿 " clearable disabled :style="{ width: '100%' }">
+              </el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -203,28 +212,61 @@
               </el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="24">
-            <el-form-item label="妗堜欢鎻忚堪">
-              <el-input v-model="auditInfo.reportDescription" placeholder="璇疯緭鍏ユ浠舵弿杩�" :style="{ width: '100%' }" disabled>
-              </el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="琛ュ厖淇℃伅">
-              <el-input v-model="auditInfo.information" type="textarea" placeholder="璇疯緭鍏ヨˉ鍏呬俊鎭�"
-                :autosize="{ minRows: 4, maxRows: 4 }" :style="{ width: '100%' }" disabled></el-input>
-            </el-form-item>
-          </el-col>
+<!--          <el-col :span="24">-->
+<!--            <el-form-item label="妗堜欢鎻忚堪">-->
+<!--              <el-input v-model="auditInfo.reportDescription" placeholder="璇疯緭鍏ユ浠舵弿杩�" :style="{ width: '100%' }" disabled>-->
+<!--              </el-input>-->
+<!--            </el-form-item>-->
+<!--          </el-col>-->
+<!--          <el-col :span="24">-->
+<!--            <el-form-item label="琛ュ厖淇℃伅">-->
+<!--              <el-input v-model="auditInfo.information" type="textarea" placeholder="璇疯緭鍏ヨˉ鍏呬俊鎭�"-->
+<!--                :autosize="{ minRows: 4, maxRows: 4 }" :style="{ width: '100%' }" disabled></el-input>-->
+<!--            </el-form-item>-->
+<!--          </el-col>-->
           <el-col :span="24">
             <el-form-item label="鏉愭枡">
               <div class="metalL">
-                <el-image :src="reportData" style="height: 200px;width: 200px;"></el-image>
+                <el-tabs v-model="activeName" @tab-click="handleClickTab">
+                  <el-tab-pane label="韬唤璇�" name="a">
+                   <div v-for="item in idCardMaterials">
+                     <el-image
+                         style="width: 100px; height: 100px"
+                         :src="item"
+                         fit="fill"></el-image>
+                   </div>
+                  </el-tab-pane>
+                  <el-tab-pane label="鍚堝悓" name="b">
+                    <div v-for="item in contractMaterials">
+                      <el-image
+                          style="width: 100px; height: 100px"
+                          :src="item"
+                          fit="fill"></el-image>
+                    </div>
+                  </el-tab-pane>
+                  <el-tab-pane label="浜ゆ槗鍑瘉" name="c">
+                    <div v-for="item in transactionMaterials">
+                      <el-image
+                          style="width: 100px; height: 100px"
+                          :src="item"
+                          fit="fill"></el-image>
+                    </div>
+                  </el-tab-pane>
+                  <el-tab-pane label="鍏朵粬" name="d">
+                    <div v-for="item in elseMaterials">
+                      <el-image
+                          style="width: 100px; height: 100px"
+                          :src="item"
+                          fit="fill"></el-image>
+                    </div>
+                  </el-tab-pane>
+                </el-tabs>
               </div>
             </el-form-item>
           </el-col>
           <el-col :span="24">
             <el-form-item label="鍏宠仈妗堜欢" prop="causeId">
-              <el-select v-model="auditInfo.causeId" placeholder="璇烽�夋嫨涓嬫媺閫夋嫨" clearable :style="{ width: '50%' }">
+              <el-select v-model="auditInfo.causeId+''" placeholder="璇烽�夋嫨涓嬫媺閫夋嫨" clearable :style="{ width: '50%' }">
                 <el-option v-for="item in causeOptions" :key="item.id" :label="item.name" :value="item.id"></el-option>
               </el-select>
             </el-form-item>
@@ -233,8 +275,25 @@
       </el-row>
       <span slot="footer" class="dialog-footer">
         <el-button @click="checkVisible = false">鍙� 娑�</el-button>
+        <el-button type="danger" @click="innerLayerVisible =true">椹� 鍥�</el-button>
         <el-button type="primary" @click="checkAdd">纭� 瀹�</el-button>
       </span>
+
+      <el-dialog
+          width="30%"
+          title="椹冲洖鍘熷洜"
+          :visible.sync="innerLayerVisible"
+          append-to-body>
+        <div class="reason-for-rejection">
+          <label class="reason-for-rejection-lable">椹冲洖鍘熷洜锛�</label>
+          <el-input v-model="reasonForRejectionInput" placeholder="璇疯緭鍏ュ唴瀹�"></el-input>
+
+        </div>
+        <div slot="footer" class="dialog-footer">
+          <el-button @click="innerLayerVisible = false">鍙� 娑�</el-button>
+          <el-button type="primary" @click="rejectionConfirmation">纭畾</el-button>
+        </div>
+      </el-dialog>
     </el-dialog>
 
 
@@ -270,8 +329,8 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="琚獥鏃堕棿">
-              <el-date-picker v-model="auditInfo.tmpTime" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿" :style="{ width: '100%' }"
-                format="yyyy-MM-dd HH:mm:ss" :value-format="auditFrom.cheatTime" disabled></el-date-picker>
+              <el-input v-model="auditInfo.cheatTime" placeholder="璇烽�夋嫨鎶ユ鏃堕棿 " clearable disabled :style="{ width: '100%' }">
+              </el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -281,24 +340,53 @@
             </el-form-item>
           </el-col>
           <el-col :span="24">
-            <el-form-item label="妗堜欢鎻忚堪">
-              <el-input v-model="auditInfo.reportDescription" placeholder="璇疯緭鍏ユ浠舵弿杩�" :style="{ width: '100%' }" disabled>
-              </el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="琛ュ厖淇℃伅">
-              <el-input v-model="auditInfo.information" type="textarea" placeholder="璇疯緭鍏ヨˉ鍏呬俊鎭�"
-                :autosize="{ minRows: 4, maxRows: 4 }" :style="{ width: '100%' }" disabled></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
             <el-form-item label="鏉愭枡">
               <div class="metalL">
-                <el-image :src="reportData" style="height: 200px;width: 200px;"></el-image>
+                <el-tabs v-model="activeName" @tab-click="handleClickTab">
+                  <el-tab-pane label="韬唤璇�" name="a">
+                    <div v-for="item in idCardMaterials">
+                      <el-image
+                          style="width: 100px; height: 100px"
+                          :src="item"
+                          fit="fill"></el-image>
+                    </div>
+                  </el-tab-pane>
+                  <el-tab-pane label="鍚堝悓" name="b">
+                    <div v-for="item in contractMaterials">
+                      <el-image
+                          style="width: 100px; height: 100px"
+                          :src="item"
+                          fit="fill"></el-image>
+                    </div>
+                  </el-tab-pane>
+                  <el-tab-pane label="浜ゆ槗鍑瘉" name="c">
+                    <div v-for="item in transactionMaterials">
+                      <el-image
+                          style="width: 100px; height: 100px"
+                          :src="item"
+                          fit="fill"></el-image>
+                    </div>
+                  </el-tab-pane>
+                  <el-tab-pane label="鍏朵粬" name="d">
+                    <div v-for="item in elseMaterials">
+                      <el-image
+                          style="width: 100px; height: 100px"
+                          :src="item"
+                          fit="fill"></el-image>
+                    </div>
+                  </el-tab-pane>
+                </el-tabs>
               </div>
             </el-form-item>
           </el-col>
+          <el-col :span="24">
+            <el-form-item label="鍏宠仈妗堜欢" prop="causeId">
+              <el-select v-model="auditInfo.causeId+''" placeholder="璇烽�夋嫨涓嬫媺閫夋嫨" clearable :style="{ width: '50%' }">
+                <el-option v-for="item in causeOptions" :key="item.id" :label="item.name" :value="item.id"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+
           <!-- <el-col :span="24">
             <el-form-item label="鍏宠仈妗堜欢" prop="causeId">
               <el-select v-model="auditFrom.causeId" placeholder="璇烽�夋嫨涓嬫媺閫夋嫨" clearable :style="{ width: '50%' }" disabled>
@@ -314,11 +402,20 @@
 
 <script>
 import { getAuditList, getImgUrl, getReportById, report, checkPass } from '@/api/common'
+import {reasonForRejection} from "@/api/Audit";
 
 export default {
   name: "Audit",
   data() {
     return {
+      idCardMaterials:[],
+      contractMaterials:[],
+      transactionMaterials:[],
+      elseMaterials:[],
+      fits: ['fill', 'contain', 'cover', 'none', 'scale-down'],
+      activeName: 'a',
+      reasonForRejectionInput:'',
+      innerLayerVisible:false,
       current: null,
       size: null,
       queryInfo: {
@@ -344,8 +441,9 @@
         tmpTime: '',
       },
       auditInfo: {},
+
       picShow: "",
-      reportData: "",
+      reportData: [],
       optionsGroup: [
         {
           value: null,
@@ -386,7 +484,7 @@
           message: '璇疯緭鍏ユ姤妗堜汉 ',
           trigger: 'blur'
         }],
-       mobile:
+        mobile:
           [{ required: true, message: '璇疯緭鍏ユ墜鏈哄彿鐮�', trigger: 'blur' },
           {
             validator: function (rule, value, callback) {
@@ -399,11 +497,6 @@
           }],
         idcard: [{ required: true, message: '璇疯緭鍏ヨ韩浠借瘉ID', trigger: 'blur' },
         { pattern: /(^\d{15}$)|(^\d{19}$)|(^\d{17}(\d|X|x)$)/, message: '浣犵殑韬唤璇佹牸寮忎笉姝g‘' }],
-        cheatTime: [{
-          required: true,
-          message: '璇疯緭鍏ヨ楠楁椂闂�',
-          trigger: 'blur'
-        }],
         cheatTime: [{
           required: true,
           message: '璇疯緭鍏ヨ楠楁椂闂�',
@@ -430,6 +523,11 @@
           trigger: 'change'
         }],
       },
+      rules2:{
+        causeId: [
+          { required: true, message: '璇烽�夋嫨娲诲姩鍖哄煙', trigger: 'change' }
+        ]
+      }
     }
   },
   created() {
@@ -438,7 +536,13 @@
   },
 
   methods: {
-     //妗堜欢浜哄憳瀵煎叆鎴愬姛鍚�
+    openInnerLayerVisible(){
+
+    },
+    handleClickTab(t,e){
+      console.log(t,e)
+    },
+    //妗堜欢浜哄憳瀵煎叆鎴愬姛鍚�
     reporterRespond(res) {
       if (res.code == 200) {
         this.$message({
@@ -452,9 +556,9 @@
           type: 'error'
         })
       }
-   this.getList()
+      this.getList()
     },
-       beforeAvatarUpload(file) {
+    beforeAvatarUpload(file) {
       let Xls = file.name.split('.');
       if (Xls[1] === 'xls' || Xls[1] === 'xlsx') {
         return file
@@ -463,44 +567,103 @@
         return false
       }
     },
+    rejectionConfirmation(){
+      let data={
+        id:this.auditInfo.id,
+        reason:this.reasonForRejectionInput
+      }
+      reasonForRejection(data).then(res=>{
+        console.log(res)
+        this.getList()
+        this.checkVisible=false
+        this.innerLayerVisible =false
+      })
+    },
     //瀹℃牳纭畾
     checkAdd() {
       let form = null;
+
       form = this.auditInfo;
-      checkPass(form).then(res => {
-        this.$message.success('鎻愪氦鎴愬姛')
-        this.getList()
-        this.checkVisible = false;
+      console.log(form)
+      this.$refs.infoAduitForm.validate((valid)=>{
+        if(valid){
+          checkPass(form).then(res => {
+            this.$message.success('鎻愪氦鎴愬姛')
+            this.getList()
+            this.checkVisible = false;
+          })
+        }else{
+          return false;
+        }
+
       })
+
     },
     //瀹℃牳
     check(val) {
       getReportById(val).then(res => {
         this.auditInfo = res
+        console.log(this.auditInfo)
+        if (res.idCardMaterials){
+          this.idCardMaterials=res.idCardMaterials.split(',').map(item=>{
+            return item='/minio/img/'+item
+          })
+        }
+       if (res.contractMaterials){
+         this.contractMaterials=res.contractMaterials.split(',').map(item=>{
+           return item='/minio/img/'+item
+         })
+       }
+
+        if (res.transactionMaterials){
+          this.transactionMaterials=res.transactionMaterials.split(',').map(item=>{
+            return item='/minio/img/'+item
+          })
+        }
+
+        if (res.elseMaterials){
+          this.elseMaterials=res.elseMaterials.split(',').map(item=>{
+            return item='/minio/img/'+item
+          })
+        }
+
+        this.reasonForRejectionInput= this.auditInfo.remarks||''
+        console.log(res)
         if (res.pic === '' || res.pic === null) {
           this.picShow = './logo.jpg';
         } else {
-          getImgUrl(res.pic).then(res => {
-            this.picShow = res
-          })
+
+            this.picShow = '/minio/img/'+res.pic
+
         }
-        if (res.reportMaterials === '' || res.reportMaterials === null) {
-          this.reportData = './logo.jpg';
-        } else {
-          getImgUrl(res.reportMaterials).then(res => {
-            this.reportData = res
-          })
+        if (res.reportMaterials) {
+          var addressList = res.reportMaterials.split(",")
+          for (let item of addressList) {
+            if (item === '' || item === null) {
+              // this.reportData.push('./logo.jpg');
+            } else {
+              this.reportData=[];
+              getImgUrl(item).then(res => {
+                this.reportData.push(res);
+              })
+            }
+          }
         }
+
         this.checkVisible = true
       })
     },
     infoAduitClose() {
       this.checkVisible = false
       this.$refs.infoAduitForm.resetFields()
+      this.reportData = []
+      this.picShow = ""
     },
-   detailsClose() {
+    detailsClose() {
       this.infoAduitDialogVisible = false
       this.$refs.infoAduitForm.resetFields()
+      this.reportData = []
+      this.picShow = ""
     },
     addAduit() {
       this.$refs.addAduitForm.validate(async (vaild) => {
@@ -519,10 +682,10 @@
     async getCauseOptions() {
       const { data: data } = await this.$http.get('/api/cause/getCauseIdAndName');
       this.causeOptions = data.data;
+      console.log(this.causeOptions)
     },
     handleAvatarSuccess(res, file) {
       this.auditFrom.pic = res.data
-      console.log(res.data)
       getImgUrl(res.data).then(res => {
         this.picShow = res
       })
@@ -536,8 +699,8 @@
     },
     addAduitClose() {
       this.addAduitDialogVisible = false
-      this.$refs.addAduitForm.resetFields()
       this.picShow = ""
+      this.$refs.addAduitForm.resetFields()
     },
     getList() {
       let param = {}
@@ -560,6 +723,7 @@
               x.pic = res
             })
           }
+          console.log(this.list)
         })
       })
     },
@@ -578,21 +742,46 @@
     details(id) {
       getReportById(id).then(res => {
         this.auditInfo = res
+        if (res.idCardMaterials){
+          this.idCardMaterials=res.idCardMaterials.split(',').map(item=>{
+            return item='/minio/img/'+item
+          })
+        }
+        if (res.contractMaterials){
+          this.contractMaterials=res.contractMaterials.split(',').map(item=>{
+            return item='/minio/img/'+item
+          })
+        }
+
+        if (res.transactionMaterials){
+          this.transactionMaterials=res.transactionMaterials.split(',').map(item=>{
+            return item='/minio/img/'+item
+          })
+        }
+
+        if (res.elseMaterials){
+          this.elseMaterials=res.elseMaterials.split(',').map(item=>{
+            return item='/minio/img/'+item
+          })
+        }
         if (res.pic === '' || res.pic === null) {
           this.picShow = './logo.jpg';
         } else {
-          getImgUrl(res.pic).then(res => {
-            this.picShow = res
-          })
+          this.picShow = '/minio/img/'+res.pic
         }
-        
-        if (res.reportMaterials === '' || res.reportMaterials === null) {
-          this.reportData = './logo.jpg';
-        } else {
-          getImgUrl(res.reportMaterials).then(res => {
-            this.reportData = res
-          })
+        if (res.reportMaterials) {
+          var addressList = res.reportMaterials.split(",")
+          for (let item of addressList) {
+            if (item === '' || item === null) {
+              // this.reportData.push('./logo.jpg');
+            } else {
+              getImgUrl(item).then(res => {
+                this.reportData.push(res);
+              })
+            }
+          }
         }
+
         this.infoAduitDialogVisible = true
       })
     },
@@ -615,4 +804,11 @@
 .el-form-item {
   margin-top: 20px;
 }
+.reason-for-rejection{
+  display: flex;
+  align-items: center;
+  .reason-for-rejection-lable{
+    width: 120px;
+  }
+}
 </style>

--
Gitblit v1.8.0