From 8022f7036945b75f82f2dfc43055623f81ed98f6 Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期五, 23 五月 2025 22:42:56 +0800
Subject: [PATCH] yxh

---
 src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue |  430 +++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 330 insertions(+), 100 deletions(-)

diff --git a/src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue b/src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue
index 8bb8424..431132f 100644
--- a/src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue
+++ b/src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue
@@ -8,42 +8,33 @@
       label-width="120px"
     >
       <el-row>
-        <el-col :span="8">
-          <el-form-item label="鐢宠鏃ユ湡" prop="createTime">
-            <el-date-picker
-              format="yyyy-MM-dd"
-              @change="selectapplication"
-              value-format="yyyy-MM-dd"
-              v-model="createTime"
-              type="daterange"
-              range-separator="鑷�"
-              start-placeholder="鐢宠寮�濮嬫棩鏈�"
-              end-placeholder="鐢宠缁撴潫鏃ユ湡"
+        <el-col :span="5">
+          <el-form-item label="鎹愮尞妗堜緥" prop="donorname" style="float: left">
+            <el-input
+              v-model="queryParams.donorname"
+              placeholder="璇疯緭鍏ョ敵璇蜂汉鎹愮尞鑰�"
+              clearable
+              size="small"
               @keyup.enter.native="flowconclusion"
+            />
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="5">
+          <el-form-item label="棰勫鐘舵��" prop="checkstatus" style="float: left">
+            <el-select
+              v-model="queryParams.checkstatus"
+              placeholder="璇烽�夋嫨"
+              style="width: 100%"
             >
-            </el-date-picker>
-          </el-form-item>
-        </el-col>
-        <el-col :span="5">
-          <el-form-item label="閲戦" prop="money" style="float: left">
-            <el-input
-              v-model="queryParams.money"
-              placeholder="璇疯緭鍏ョ敵璇蜂汉閲戦"
-              clearable
-              size="small"
-              @keyup.enter.native="flowconclusion"
-            />
-          </el-form-item>
-        </el-col>
-        <el-col :span="5">
-          <el-form-item label="缁忓姙浜�" prop="APPLICANT" style="float: left">
-            <el-input
-              v-model="queryParams.APPLICANT"
-              placeholder="璇疯緭鍏ョ敵璇蜂汉濮撳悕"
-              clearable
-              size="small"
-              @keyup.enter.native="flowconclusion"
-            />
+              <el-option
+                v-for="item in checkmaterials"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="5">
@@ -63,6 +54,46 @@
             </el-select>
           </el-form-item>
         </el-col>
+        <el-col :span="5">
+          <el-form-item label="缁忓姙浜�" prop="APPLICANT" style="float: left">
+            <el-input
+              v-model="queryParams.APPLICANT"
+              placeholder="璇疯緭鍏ョ敵璇蜂汉濮撳悕"
+              clearable
+              size="small"
+              @keyup.enter.native="flowconclusion"
+            />
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row>
+        <el-col :span="5">
+          <el-form-item label="鎶ラ攢閲戦" prop="money" style="float: left">
+            <el-input
+              v-model="queryParams.money"
+              placeholder="璇疯緭鍏ョ敵璇蜂汉閲戦"
+              clearable
+              size="small"
+              @keyup.enter.native="flowconclusion"
+            />
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="鐢宠鏃ユ湡" prop="applyTime">
+            <el-date-picker
+              format="yyyy-MM-dd"
+              @change="selectapplication"
+              value-format="yyyy-MM-dd"
+              v-model="applyTime"
+              type="daterange"
+              range-separator="鑷�"
+              start-placeholder="鐢宠寮�濮嬫棩鏈�"
+              end-placeholder="鐢宠缁撴潫鏃ユ湡"
+              @keyup.enter.native="flowconclusion"
+            >
+            </el-date-picker>
+          </el-form-item>
+        </el-col>
         <el-col :span="6">
           <el-button
             type="primary"
@@ -77,39 +108,56 @@
         </el-col>
       </el-row>
     </el-form>
+    <el-row>
+      <el-col :span="8">
+        <div style="margin-bottom: 15px;">
+          <el-button
+            type="primary"
+            plain
+            icon="el-icon-circle-check"
+            size="mini"
+            @click="Totalcalculation(1)"
+            >璁$◣鍚庡悎璁�</el-button
+          >
+          <el-button
+            icon="el-icon-remove-outline"
+            type="success"
+            plain
+            size="mini"
+            @click="Totalcalculation(0)"
+            >璁$◣鍓嶅悎璁�</el-button
+          >
+        </div>
+      </el-col>
+    </el-row>
     <el-form ref="infoform" label-width="100px">
       <el-row>
         <el-table
           v-loading="loading"
+          ref="multipleTable"
+          tooltip-effect="dark"
           border
           :data="donateconsolationfundList"
           @selection-change="handleSelectionChange"
         >
-          <!--
-          <el-table-column label="瀹℃壒鐘舵��" width="120" align="center" prop="checkFlag">
-            <template slot-scope="scope">
-              <span v-if="scope.row.checkFlag == 0"><i class="el-icon-check"
-                  style="color: #5fb878; font-weight: bold"></i></span>
-              <span v-else>寰呭鏍�</span>
-            </template>
-          </el-table-column>
-          -->
+          <el-table-column type="selection" width="45"> </el-table-column>
+
+          <el-table-column
+            label="鎶ラ攢鍗曞彿"
+            align="center"
+            prop="bh"
+            width="150px"
+          />
           <el-table-column
             label="鐢宠鏃ユ湡"
             width="120"
             align="center"
-            prop="createTime"
+            prop="applyTime"
           >
             <template slot-scope="scope">
-              <span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span>
+              <span>{{ parseTime(scope.row.applyTime, "{y}-{m}-{d}") }}</span>
             </template>
           </el-table-column>
-          <el-table-column
-            label="缁忓姙浜�"
-            align="center"
-            prop="username"
-            width="150px"
-          />
           <el-table-column
             label="鐢宠閲戦"
             align="center"
@@ -117,22 +165,24 @@
             width="200px"
           />
           <el-table-column
-            label="鎵�灞炵粍鍒�"
+            label="缁忓姙浜�"
             align="center"
-            prop="deptmentname"
-            width="200px"
-          />
-          <el-table-column
-            label="缁勯暱"
-            align="center"
-            prop="managername"
+            prop="username"
             width="150px"
           />
-          <!-- <el-table-column label="宸ヤ綔鍗曚綅" align="center"  prop="unitname" width="230px" /> -->
-          <!-- <el-table-column label="鑱旂郴鐢佃瘽" align="center"  prop="phone"  width="160"  /> -->
-          <!-- <el-table-column label="绋庡悗閲戦" align="center" prop="taxedcost" width="120px" />
-          <el-table-column label="鐢宠閲戦" align="center" prop="amountrequested" width="120px" />
-          <el-table-column label="棰勬敮璐圭敤" align="center" prop="prepaidamount" width="120px" /> -->
+          <el-table-column
+            label="鐢宠鏉愭枡鐘舵��"
+            width="140"
+            align="center"
+            prop="checkFlag"
+          >
+            <template slot-scope="scope">
+              <dict-tag
+                :options="dict.type.sys_stage_type"
+                :value="scope.row.checkstatus"
+              />
+            </template>
+          </el-table-column>
           <el-table-column
             label="瀹℃牳鐘舵��"
             align="center"
@@ -147,6 +197,28 @@
             </template>
           </el-table-column>
           <el-table-column
+            label="涓◣璁$畻鎯呭喌"
+            align="center"
+            prop="recordstatus"
+            width="200"
+          >
+            <template slot-scope="scope">
+              <dict-tag :options="dict.type.sys_tax" :value="scope.row.istax" />
+            </template>
+          </el-table-column>
+          <el-table-column
+            label="鎵�灞炵粍鍒�"
+            align="center"
+            prop="deptmentname"
+            width="200px"
+          />
+          <el-table-column
+            label="缁勯暱"
+            align="center"
+            prop="managername"
+            width="150px"
+          />
+          <el-table-column
             label="鎹愮尞鑰�"
             align="center"
             prop="donorname"
@@ -160,7 +232,7 @@
             fixed="right"
             align="center"
             class-name="small-padding fixed-width"
-            width="160px"
+            width="260px"
           >
             <template slot-scope="scope">
               <el-button
@@ -171,6 +243,7 @@
                 @click="handleDetail(scope.row)"
                 >璇︽儏</el-button
               >
+
               <el-button
                 v-if="scope.row.checkFlag == 1"
                 size="mini"
@@ -184,7 +257,7 @@
                 size="mini"
                 type="text"
                 icon="el-icon-download"
-                @click="dayin(scope.row.id)"
+                @click="totaldayin(scope.row.id)"
                 >涓嬭浇</el-button
               >
               <!-- <el-popover placement="right" width="400" trigger="click">
@@ -552,12 +625,12 @@
         </el-row>
         <el-row style="margin-top: 25px; margin-bottom: 5px">
           <el-col :span="7">
-            <el-form-item label="鐢宠鏃ユ湡" prop="createTime">
+            <el-form-item label="鐢宠鏃ユ湡" prop="applyTime">
               <!-- <el-input v-model="form.donorno" placeholder="璇疯緭鍏ョ敵璇锋棩鏈�" /> -->
               <el-date-picker
                 clearable
                 style="width: 100%"
-                v-model="form.createTime"
+                v-model="form.applyTime"
                 type="date"
                 value-format="yyyy-MM-dd HH:mm:ss"
                 placeholder="鐢宠鏃ユ湡"
@@ -664,7 +737,8 @@
   getdownloadBX,
   checkfund,
   listbypower,
-  addFundSharedInfo
+  addFundSharedInfo,
+  TotalcalculationFn
 } from "@/api/project/fund";
 import {
   onelistFunds,
@@ -711,6 +785,10 @@
 import Li_area_select from "@/components/Address";
 import OrgSelecter from "@/views/project/components/orgselect";
 import { getUserProfile } from "@/api/system/user";
+import { getToken } from "@/utils/auth";
+
+// 瀵煎叆鏈湴瀛樺偍鐨勬柟娉�
+import { setItem, grtItem, removeItem } from "@/utils/storage.js";
 
 export default {
   components: {
@@ -728,7 +806,9 @@
     "sys_ConsolationType",
     "sys_fund_type",
     "sys_finsubject",
-    "sys_financeitemtype"
+    "sys_financeitemtype",
+    "sys_stage_type",
+    "sys_tax"
   ],
   data() {
     return {
@@ -770,6 +850,9 @@
       exportLoading: false,
       // 閫変腑鏁扮粍
       ids: [],
+      overallids: [], //鎬婚�変腑
+      overallidsvalue: [], //鎬婚�変腑瀵硅薄
+
       // 闈炲崟涓鐢�
       single: true,
       // 闈炲涓鐢�
@@ -785,6 +868,9 @@
       //鎹愮尞妗堜緥鍒楄〃鏁版嵁
       // donationCaseTableData:[],
       donatebaseinfoList: [],
+      headers: {
+        Authorization: "Bearer " + getToken()
+      },
       gridData: [
         {
           date: "2016-05-02",
@@ -824,6 +910,21 @@
           label: "鍏ㄩ儴"
         }
       ],
+      checkmaterials: [
+        {
+          value: 1,
+          label: "鏉愭枡寰呭鏍�"
+        },
+        {
+          value: 2,
+          label: "瀹℃煡閫氳繃绛夊緟閭瘎绾歌川鏉愭枡"
+        },
+        {
+          value: 3,
+          label: "宸叉敹鍒扮焊璐ㄦ潗鏂�"
+        }
+      ],
+
       // 鏌ヨ鍙傛暟
       queryParams: {
         pageNum: 1,
@@ -842,7 +943,7 @@
         username: [
           { required: true, message: "璇疯緭鍏ョ敵璇蜂汉濮撳悕", trigger: "blur" }
         ],
-        createTime: [
+        applyTime: [
           { required: true, message: "璇疯緭鍏ョ敵璇锋棩鏈�", trigger: "blur" }
         ],
         amountrequested: [
@@ -912,6 +1013,11 @@
     this.getUsermsg();
   },
   mounted() {
+    if (grtItem("ethicalExpertFeeCheck")) {
+      this.queryParams = grtItem("ethicalExpertFeeCheck");
+      this.queryParams.APPLICATIONBEGTIME = "";
+      this.queryParams.APPLICATIONENDTIME = "";
+    }
     this.selectReporters();
     this.getlistOrganization();
     //this.getlistUser();
@@ -920,14 +1026,16 @@
   },
   methods: {
     selectapplication() {
-      console.log("鏃堕棿", this.createTime);
-      this.queryParams.APPLICATIONBEGTIME = this.createTime[0];
-      this.queryParams.APPLICATIONENDTIME = this.createTime[1];
+      console.log("鏃堕棿", this.applyTime);
+      this.queryParams.APPLICATIONBEGTIME = this.applyTime[0];
+      this.queryParams.APPLICATIONENDTIME = this.applyTime[1];
       //   this.getlistbypower()
     },
     getlistbypower() {
       this.loading = true;
       listbypower(this.queryParams).then(res => {
+        removeItem("ethicalExpertFeeCheck");
+        setItem("ethicalExpertFeeCheck", this.queryParams);
         //console.log("鏍规嵁鏉冮檺鏄剧ず鍒楄〃", res);
         this.loading = false;
         let list = res.rows;
@@ -953,11 +1061,20 @@
         return;
       }
       checkfund(checkfundobj).then(res => {
-        console.log("瀹℃牳璐圭敤", res);
-        this.dialogOpen = false;
-        this.reset();
-        this.$modal.msgSuccess("瀹℃牳瀹屾垚!");
-        this.getlistbypower();
+        if (res.code == 200) {
+          console.log("瀹℃牳璐圭敤", res);
+          this.dialogOpen = false;
+          this.reset();
+          this.$modal.msgSuccess("瀹℃牳瀹屾垚!");
+          this.getlistbypower();
+        } else {
+          this.dialogOpen = false;
+          if (res.msg) {
+            this.$modal.msgError("鎿嶄綔澶辫");
+          } else {
+            this.$modal.msgError(res.msg);
+          }
+        }
       });
     },
     getlistUser() {
@@ -1000,29 +1117,41 @@
     totaldayin(e) {
       // const id =this.row.id
       getdownloadBX(e).then(res => {
-        if (res.downloadUrl) {
-          var fileUrl = res;
-          //鑾峰彇褰撳墠缃戝潃
-          var urlBase = process.env.VUE_APP_BASE_API;
-          var curWWWPath = window.document.location.href;
-          var pos = curWWWPath.indexOf(window.document.location.pathname);
-          // 鍒涘缓a鏍囩
-          var aEle = document.createElement("a");
-          aEle.href =
-            curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
-          aEle.click();
-          this.$alert("涓嬭浇鎴愬姛", "鎻愮ず", {
-            confirmButtonText: "纭畾",
-            type: "success"
+        var fileUrl = res;
+        //鑾峰彇褰撳墠缃戝潃
+        var urlBase = process.env.VUE_APP_BASE_API;
+        var curWWWPath = window.document.location.href;
+        var pos = curWWWPath.indexOf(window.document.location.pathname);
+        // 鍒涘缓a鏍囩
+        var aEle = document.createElement("a");
+        aEle.href =
+          curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
+        console.log(aEle.href);
+        // 娣诲姞Authorization澶撮儴
+        fetch(aEle.href, {
+          headers: this.headers
+        })
+          .then(response => {
+            // 灏嗘枃浠朵笅杞介摼鎺ヤ綔涓篵lob瀵硅薄杩涜涓嬭浇
+            return response.blob();
+          })
+          .then(blob => {
+            const url = window.URL.createObjectURL(new Blob([blob]));
+            console.log(url);
+            const link = document.createElement("a");
+            link.href = url;
+            const name = fileUrl["downloadName"];
+            link.setAttribute("download", name); // 鏇挎崲file.pdf涓哄疄闄呯殑鏂囦欢鍚�
+            document.body.appendChild(link);
+            link.click();
+            link.parentNode.removeChild(link);
           });
-        }
       });
     },
 
     isopenvalue(index) {
       this.isopen = index;
     },
-
     tojust(e) {
       let username = "111";
       getFund(e).then(res => {
@@ -1199,9 +1328,109 @@
     },
     // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
-      this.ids = selection.map(item => item.id);
-      this.single = selection.length !== 1;
-      this.multiple = !selection.length;
+      let xuanzlist = selection.map(item => item.id);
+      if (this.ids.length <= selection.length) {
+        this.ids = xuanzlist;
+      } else {
+        this.ids.forEach(item => {
+          if (xuanzlist.includes(item)) {
+          } else {
+            if (this.overallids.length == 1) {
+              this.overallids = [];
+            } else {
+              this.overallids.splice(this.overallids.indexOf(item), 1);
+            }
+            if (this.overallidsvalue.length == 1) {
+              this.overallidsvalue = [];
+            } else {
+              this.overallidsvalue.splice(
+                this.overallidsvalue.indexOf(item),
+                1
+              );
+            }
+            this.ids.splice(this.ids.indexOf(item), 1);
+          }
+        });
+      }
+      console.log(this.ids);
+      this.ids.forEach(item => {
+        if (this.overallids.includes(item)) {
+          console.log("3 is in the array");
+        } else {
+          this.overallids.push(item);
+          const obj = selection.find(obj => obj.id === item);
+          console.log(obj);
+          this.overallidsvalue.push(obj);
+        }
+      });
+      console.log(this.overallids);
+    },
+    // 鍒囨崲椤靛悗鎭㈠閫変腑
+    Restorecheck() {
+      console.log(this.donateconsolationfundList);
+      console.log(this.overallids);
+      const overlap = this.donateconsolationfundList.filter(value => {
+        return this.overallids.includes(value.id);
+      });
+      // 淇濇寔ids鍜屽綋鍓嶉〉闈㈢殑鍚屾鎬�
+      this.ids = overlap.map(item => item.id);
+      console.log(overlap, "褰撳墠椤甸�変腑鏁版嵁");
+      this.toggleSelection(overlap);
+    },
+    // 鎸傝浇閫夋嫨鐘舵��
+    toggleSelection(rows) {
+      console.log(rows);
+      if (rows) {
+        this.$nextTick(() => {
+          rows.forEach(row => {
+            console.log(row);
+            this.$refs.multipleTable.toggleRowSelection(row, true);
+            console.log(1);
+          });
+        });
+      } else {
+        this.$refs.multipleTable.clearSelection();
+      }
+    },
+    Totalcalculation(tot) {
+      console.log(tot);
+      let bojite = {
+        fundids: this.overallids,
+        isTaxAfter: tot
+      };
+      if (tot == 0) {
+        TotalcalculationFn(bojite)
+          .then(row => {
+            console.log(row.msg);
+            if (row.code == 200) {
+              this.$modal.msgSuccess(row.msg);
+            } else {
+              console.log(123);
+              this.$modal.msgError(row.msg);
+            }
+          })
+          .catch(error => {
+            this.$modal.msgError(error);
+          });
+      } else {
+        console.log(this.overallidsvalue);
+        const hasValue = this.overallidsvalue.every(obj => obj.istax == 1);
+        if (hasValue) {
+          TotalcalculationFn(bojite)
+            .then(row => {
+              if (row.code == 200) {
+                this.$modal.msgSuccess(row.msg);
+              } else {
+                this.$modal.msgError(row.msg);
+              }
+            })
+            .catch(error => {
+              this.$modal.msgError(error);
+            });
+        } else {
+          this.$modal.msgError("璇烽�夋嫨绠楃◣鍚庣殑鏁版嵁杩涜鍚堝苟璁$畻");
+        }
+      }
     },
     /** 鏂板鎸夐挳鎿嶄綔 */
     handleAdd() {
@@ -1214,7 +1443,7 @@
         this.form.donorno = this.curCase.donorno;
         this.form.name = this.curCase.name;
         this.form.infoid = this.curCase.id;
-        // this.form.createTime = nowdate;
+        // this.form.applyTime = nowdate;
         //this.open = true;
         //this.initFundApplyForm();
         this.fundDetailArr = [];
@@ -1228,7 +1457,8 @@
         });
       }
     },
-    /** 淇敼鎸夐挳鎿嶄綔 */
+
+    /** 瀹℃牳鎸夐挳鎿嶄綔 */
     handleCheck(row) {
       this.$router.push({
         path: "/finance/applyDetail/",

--
Gitblit v1.9.3