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 |  339 +++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 262 insertions(+), 77 deletions(-)

diff --git a/src/views/common/Audit.vue b/src/views/common/Audit.vue
index 6af7e8a..542c1ac 100644
--- a/src/views/common/Audit.vue
+++ b/src/views/common/Audit.vue
@@ -28,9 +28,9 @@
             <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"
+            <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-button type="primary">瀵煎叆</el-button>-->
             </el-upload>
           </el-form-item>
         </el-form>
@@ -51,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>
@@ -88,7 +96,7 @@
           <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/*">
+                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>
@@ -114,7 +122,7 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="琚獥鏃堕棿" prop="cheatTime">
-              <el-date-picker v-model="auditFrom.cheatTime" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿"
+              <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>
@@ -158,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>
@@ -165,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">
@@ -194,9 +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">
@@ -205,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 v-for="(img,index) in reportData" :src="img" 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>
@@ -235,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>
 
 
@@ -272,9 +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">
@@ -284,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 v-for="(img,index) in reportData" :src="img" 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>
@@ -317,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: {
@@ -347,6 +441,7 @@
         tmpTime: '',
       },
       auditInfo: {},
+
       picShow: "",
       reportData: [],
       optionsGroup: [
@@ -407,11 +502,6 @@
           message: '璇疯緭鍏ヨ楠楁椂闂�',
           trigger: 'blur'
         }],
-        cheatTime: [{
-          required: true,
-          message: '璇疯緭鍏ヨ楠楁椂闂�',
-          trigger: 'blur'
-        }],
         amountInvolved: [{
           required: true,
           message: '璇疯緭鍏ユ秹妗堥噾棰�',
@@ -433,6 +523,11 @@
           trigger: 'change'
         }],
       },
+      rules2:{
+        causeId: [
+          { required: true, message: '璇烽�夋嫨娲诲姩鍖哄煙', trigger: 'change' }
+        ]
+      }
     }
   },
   created() {
@@ -441,6 +536,12 @@
   },
 
   methods: {
+    openInnerLayerVisible(){
+
+    },
+    handleClickTab(t,e){
+      console.log(t,e)
+    },
     //妗堜欢浜哄憳瀵煎叆鎴愬姛鍚�
     reporterRespond(res) {
       if (res.code == 200) {
@@ -466,51 +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
+
         }
-        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);
-            })
+        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=""
+      this.reportData = []
+      this.picShow = ""
     },
     detailsClose() {
       this.infoAduitDialogVisible = false
       this.$refs.infoAduitForm.resetFields()
-      this.reportData=[]
-      this.picShow=""
+      this.reportData = []
+      this.picShow = ""
     },
     addAduit() {
       this.$refs.addAduitForm.validate(async (vaild) => {
@@ -529,6 +682,7 @@
     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
@@ -569,6 +723,7 @@
               x.pic = res
             })
           }
+          console.log(this.list)
         })
       })
     },
@@ -587,23 +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
         }
-        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);
-            })
+        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
       })
     },
@@ -626,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