From 21fe2968337eb8eab97adc88750b71c4057e98f8 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期三, 17 七月 2024 15:39:46 +0800
Subject: [PATCH] 11

---
 src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue |  364 ++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 294 insertions(+), 70 deletions(-)

diff --git a/src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue b/src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue
index 68b57da..901b4c7 100644
--- a/src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue
+++ b/src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue
@@ -2,24 +2,19 @@
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" 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="鐢宠缁撴潫鏃ユ湡"
-              @keyup.enter.native="flowconclusion">
-            </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"
+          <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="APPLICANT" style="float: left">
-            <el-input v-model="queryParams.APPLICANT" placeholder="璇疯緭鍏ョ敵璇蜂汉濮撳悕" clearable size="small"
-              @keyup.enter.native="flowconclusion" />
+          <el-form-item label="棰勫鐘舵��" prop="checkstatus" style="float: left">
+            <el-select v-model="queryParams.checkstatus" placeholder="璇烽�夋嫨" style="width: 100%">
+              <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">
@@ -30,55 +25,114 @@
             </el-select>
           </el-form-item>
         </el-col>
-        <!-- <el-col :span="6">
+        <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" icon="el-icon-search" size="mini" @click="flowconclusion">鎼滅储</el-button>
           <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
-        </el-col> -->
+        </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" border :data="donateconsolationfundList" @selection-change="handleSelectionChange">
-          <!--
-          <el-table-column label="瀹℃壒鐘舵��" width="120" align="center" prop="checkFlag">
+        <el-table v-loading="loading" ref="multipleTable" tooltip-effect="dark" border :data="donateconsolationfundList"
+          @selection-change="handleSelectionChange">
+          <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="applyTime">
             <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>
+              <span>{{ parseTime(scope.row.applyTime, "{y}-{m}-{d}") }}</span>
             </template>
           </el-table-column>
-          -->
-          <el-table-column label="鐢宠鏃ユ湡" width="120" align="center" prop="createTime">
-            <template slot-scope="scope">
-              <span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="缁忓姙浜�" align="center" prop="username" width="150px" />
           <el-table-column label="鐢宠閲戦" align="center" prop="pretaxcost" width="200px" />
-          <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="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="缁忓姙浜�" align="center" prop="username" width="150px" />
+          <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" prop="recordstatus" width="200">
             <template slot-scope="scope">
               <dict-tag :options="dict.type.sys_recordstatus" :value="scope.row.recordstatus" />
             </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" width="120px" />
           <el-table-column label="澶囨敞" align="center" prop="remark" />
           <!--<el-table-column label="鎹愮尞缂栧彿" align="center" prop="donorno" />
           <el-table-column label="璐㈠姟瀹℃牳" align="center" prop="financechecher" width="140" />-->
-          <el-table-column label="鎿嶄綔" fixed="right" align="center" class-name="small-padding fixed-width" width="160px">
+          <el-table-column label="鎿嶄綔" fixed="right" align="center" class-name="small-padding fixed-width" width="260px">
             <template slot-scope="scope">
               <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.checkFlag == 0"
                 @click="handleDetail(scope.row)">璇︽儏</el-button>
+
               <el-button v-if="scope.row.checkFlag == 1" size="mini" type="text" icon="el-icon-edit"
                 @click="handleCheck(scope.row)">瀹℃牳</el-button>
               <!-- v-hasPermi="['project:donateconsolationfund:edit']" -->
-              <el-button size="mini" type="text" icon="el-icon-download" @click="dayin(scope.row.id)">涓嬭浇</el-button>
+              <el-button size="mini" type="text" icon="el-icon-download" @click="totaldayin(scope.row.id)">涓嬭浇</el-button>
+              <!-- <el-popover placement="right" width="400" trigger="click">
+                <el-table :data="gridData">
+                  <el-table-column
+                    width="150"
+                    property="date"
+                    label="鏃ユ湡"
+                  ></el-table-column>
+                  <el-table-column
+                    width="100"
+                    property="name"
+                    label="瀹℃壒浜�"
+                  ></el-table-column>
+                  <el-table-column
+                    width="300"
+                    property="address"
+                    label="瀹℃壒缁撴灉"
+                  ></el-table-column>
+                </el-table>
+                <el-button
+                  size="mini"
+                  type="text"
+                  icon="el-icon-s-order"
+                  slot="reference"
+                  >瀹℃壒璁板綍</el-button
+                >
+              </el-popover> -->
             </template>
           </el-table-column>
         </el-table>
@@ -184,8 +238,8 @@
             <el-table-column prop="amount" align="center" label="绋庡墠閲戦" width="150">
               <template slot-scope="scope">
                 <el-input v-model="scope.row.amount" @blur="val => {
-                    sumTotalFee();
-                  }
+                  sumTotalFee();
+                }
                   " placeholder="绋庡墠閲戦" />
               </template>
             </el-table-column>
@@ -202,8 +256,8 @@
             <el-table-column prop="taxedamount" align="center" label="绋庡悗閲戦" width="150">
               <template slot-scope="scope">
                 <el-input v-model="scope.row.taxedamount" placeholder="绋庡悗閲戦" @blur="val => {
-                    sumTotalFee();
-                  }
+                  sumTotalFee();
+                }
                   " />
               </template>
             </el-table-column>
@@ -250,9 +304,9 @@
         </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" type="date"
+              <el-date-picker clearable style="width: 100%" v-model="form.applyTime" type="date"
                 value-format="yyyy-MM-dd HH:mm:ss" placeholder="鐢宠鏃ユ湡">
               </el-date-picker>
             </el-form-item>
@@ -326,7 +380,8 @@
   getdownloadBX,
   checkfund,
   listbypower,
-  addFundSharedInfo
+  addFundSharedInfo,
+  TotalcalculationFn
 } from "@/api/project/fund";
 import {
   onelistFunds,
@@ -373,6 +428,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: {
@@ -390,7 +449,9 @@
     "sys_ConsolationType",
     "sys_fund_type",
     "sys_finsubject",
-    "sys_financeitemtype"
+    "sys_financeitemtype",
+    "sys_stage_type",
+    "sys_tax"
   ],
   data() {
     return {
@@ -432,6 +493,9 @@
       exportLoading: false,
       // 閫変腑鏁扮粍
       ids: [],
+      overallids: [], //鎬婚�変腑
+      overallidsvalue: [], //鎬婚�変腑瀵硅薄
+
       // 闈炲崟涓鐢�
       single: true,
       // 闈炲涓鐢�
@@ -447,6 +511,31 @@
       //鎹愮尞妗堜緥鍒楄〃鏁版嵁
       // donationCaseTableData:[],
       donatebaseinfoList: [],
+      headers: {
+        Authorization: "Bearer " + getToken()
+      },
+      gridData: [
+        {
+          date: "2016-05-02",
+          name: "鐜嬪皬铏�",
+          address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�"
+        },
+        {
+          date: "2016-05-04",
+          name: "鐜嬪皬铏�",
+          address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�"
+        },
+        {
+          date: "2016-05-01",
+          name: "鐜嬪皬铏�",
+          address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�"
+        },
+        {
+          date: "2016-05-03",
+          name: "鐜嬪皬铏�",
+          address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�"
+        }
+      ],
 
       // 鏄惁鏄剧ず寮瑰嚭灞�
       open: false,
@@ -464,6 +553,21 @@
           label: "鍏ㄩ儴"
         }
       ],
+      checkmaterials: [
+        {
+          value: 1,
+          label: "鏉愭枡寰呭鏍�"
+        },
+        {
+          value: 2,
+          label: "瀹℃煡閫氳繃绛夊緟閭瘎绾歌川鏉愭枡"
+        },
+        {
+          value: 3,
+          label: "宸叉敹鍒扮焊璐ㄦ潗鏂�"
+        }
+      ],
+
       // 鏌ヨ鍙傛暟
       queryParams: {
         pageNum: 1,
@@ -482,7 +586,7 @@
         username: [
           { required: true, message: "璇疯緭鍏ョ敵璇蜂汉濮撳悕", trigger: "blur" }
         ],
-        createTime: [
+        applyTime: [
           { required: true, message: "璇疯緭鍏ョ敵璇锋棩鏈�", trigger: "blur" }
         ],
         amountrequested: [
@@ -552,6 +656,11 @@
     this.getUsermsg();
   },
   mounted() {
+    if (grtItem("ethicalExpertFeeCheck")) {
+      this.queryParams = grtItem("ethicalExpertFeeCheck");
+      this.queryParams.APPLICATIONBEGTIME = "";
+      this.queryParams.APPLICATIONENDTIME = "";
+    }
     this.selectReporters();
     this.getlistOrganization();
     //this.getlistUser();
@@ -560,14 +669,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;
@@ -640,29 +751,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 => {
@@ -839,9 +962,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() {
@@ -854,7 +1077,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 = [];
@@ -868,7 +1091,8 @@
         });
       }
     },
-    /** 淇敼鎸夐挳鎿嶄綔 */
+
+    /** 瀹℃牳鎸夐挳鎿嶄綔 */
     handleCheck(row) {
       this.$router.push({
         path: "/finance/applyDetail/",

--
Gitblit v1.9.3