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 | 515 +++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 394 insertions(+), 121 deletions(-) diff --git a/src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue b/src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue index c4c5187..431132f 100644 --- a/src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue +++ b/src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue @@ -7,43 +7,34 @@ v-show="showSearch" label-width="120px" > - <el-row align="left"> - <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="handleQuery" + <el-row> + <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="APPLICANT" style="float: left"> - <el-input - v-model="queryParams.APPLICANT" - placeholder="璇疯緭鍏ョ敵璇蜂汉濮撳悕" - clearable - size="small" - @keyup.enter.native="handleQuery" - /> - </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="handleQuery" - /> + <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,57 +54,110 @@ </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="3"> - <div style="margin-bottom: 15px;"> - <el-button - type="primary" - icon="el-icon-search" - size="mini" - @click="handleQuery" - >鎼滅储</el-button + <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-button icon="el-icon-refresh" size="mini" @click="resetQuery" - >閲嶇疆</el-button - > - </div> + </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-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" @@ -121,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" @@ -150,6 +196,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" @@ -168,14 +236,6 @@ > <template slot-scope="scope"> <el-button - v-if="scope.row.checkFlag == 1" - size="mini" - type="text" - icon="el-icon-edit" - @click="handleCheck(scope.row)" - >瀹℃牳</el-button - > - <el-button size="mini" type="text" icon="el-icon-edit" @@ -183,15 +243,49 @@ @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="totaldayin(scope.row.id)" - v-hasPermi="['project:donateconsolationfund:download']" >涓嬭浇</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> @@ -531,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="鐢宠鏃ユ湡" @@ -643,7 +737,8 @@ getdownloadBX, checkfund, listbypower, - addFundSharedInfo + addFundSharedInfo, + TotalcalculationFn } from "@/api/project/fund"; import { onelistFunds, @@ -690,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: { @@ -707,7 +806,9 @@ "sys_ConsolationType", "sys_fund_type", "sys_finsubject", - "sys_financeitemtype" + "sys_financeitemtype", + "sys_stage_type", + "sys_tax" ], data() { return { @@ -749,6 +850,9 @@ exportLoading: false, // 閫変腑鏁扮粍 ids: [], + overallids: [], //鎬婚�変腑 + overallidsvalue: [], //鎬婚�変腑瀵硅薄 + // 闈炲崟涓鐢� single: true, // 闈炲涓鐢� @@ -764,6 +868,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, @@ -781,6 +910,21 @@ label: "鍏ㄩ儴" } ], + checkmaterials: [ + { + value: 1, + label: "鏉愭枡寰呭鏍�" + }, + { + value: 2, + label: "瀹℃煡閫氳繃绛夊緟閭瘎绾歌川鏉愭枡" + }, + { + value: 3, + label: "宸叉敹鍒扮焊璐ㄦ潗鏂�" + } + ], + // 鏌ヨ鍙傛暟 queryParams: { pageNum: 1, @@ -799,7 +943,7 @@ username: [ { required: true, message: "璇疯緭鍏ョ敵璇蜂汉濮撳悕", trigger: "blur" } ], - createTime: [ + applyTime: [ { required: true, message: "璇疯緭鍏ョ敵璇锋棩鏈�", trigger: "blur" } ], amountrequested: [ @@ -869,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(); @@ -877,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; @@ -910,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() { @@ -957,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 => { @@ -1156,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() { @@ -1171,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 = []; @@ -1185,7 +1457,8 @@ }); } }, - /** 淇敼鎸夐挳鎿嶄綔 */ + + /** 瀹℃牳鎸夐挳鎿嶄綔 */ handleCheck(row) { this.$router.push({ path: "/finance/applyDetail/", -- Gitblit v1.9.3