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