From 128aec95c834751e587e7f6615310ffbe3b13b64 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期三, 27 九月 2023 16:37:53 +0800 Subject: [PATCH] 11 --- src/views/project/fund/medicalCostApply/index.vue | 401 ------ src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue | 21 src/api/project/organization.js | 7 src/views/project/fund/performanceApply/index.vue | 555 ++++++++ src/views/project/fundcheck/officeExpenseCheck/index.vue | 13 src/views/project/fund/performancedetails/index.vue | 2100 ++++++++++++++++++++++++++++++++ src/views/project/fund/applyDetail/index.vue | 124 - src/views/project/fund/expertFeeApply/index.vue | 4 src/views/project/fund/applyDetail0/index.vue | 2 src/views/project/fund/ethicalExpertFeeApply/index.vue | 4 src/views/project/fundcheck/medicalCostCheck/index.vue | 13 src/views/project/fundcheck/expertFeeCheck/index.vue | 15 src/views/project/fund/officeExpenseApply/index.vue | 4 src/views/project/fundcheck/performanceCheck/index.vue | 595 +++++++++ src/views/project/travelexpenseapply/index.vue | 13 15 files changed, 3,364 insertions(+), 507 deletions(-) diff --git a/src/api/project/organization.js b/src/api/project/organization.js index 38ab1b2..a44f002 100644 --- a/src/api/project/organization.js +++ b/src/api/project/organization.js @@ -15,6 +15,13 @@ method: 'get', }) } +// 鏌ヨ缁╂晥浜哄憳鍒楄〃 +export function listperformance(userType) { + return request({ + url: '/externalperson/group/getPersonInfo/' + userType, + method: 'get', + }) +} // 鏌ヨ鏈烘瀯绠$悊鍒楄〃 diff --git a/src/views/project/fund/applyDetail/index.vue b/src/views/project/fund/applyDetail/index.vue index 943e623..b9cf296 100644 --- a/src/views/project/fund/applyDetail/index.vue +++ b/src/views/project/fund/applyDetail/index.vue @@ -72,18 +72,7 @@ }}</el-radio> </el-form-item> </el-col> - <!-- <el-col :span="5"> - <el-form-item label="閾惰鍚嶇О" prop="bankname"> - <el-input v-model="form.bankname" placeholder="璇疯緭鍏ラ摱琛屽悕绉�" /> - </el-form-item> </el-col - ><el-col :span="5"> - <el-form-item label="閾惰璐﹀彿" prop="bankcardno"> - <el-input - v-model="form.bankcardno" - placeholder="璇疯緭鍏ラ摱琛岃处鍙�" - /> - </el-form-item> - </el-col> --> + <el-col :span="5"> <el-form-item label="鑱旂郴鐢佃瘽" prop="phone"> <el-input v-model="form.phone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" /> @@ -109,42 +98,6 @@ </el-col> </el-row> <el-row style="text-align: left"> - <!-- - <el-col :span="5"> - <el-form-item label="鍚堣閲戦" prop="amountrequested"> - <el-input v-model="form.amountrequested" placeholder="鐢宠閲戦" :disabled="true" /> - </el-form-item> - </el-col> - --> - - <!-- - <el-col :span="5"> - <el-form-item label="搴旂即绋�" prop="taxcost" v-if="businessType == '1' || businessType == '2'"> - <el-input v-model="form.taxcost" placeholder="搴旂即绋庨噾棰濆悎璁�" :disabled="true" /> - </el-form-item> - </el-col> - <el-col :span="5"> - <el-form-item label="绋庡悗閲戦" prop="pretaxcost"> - <el-input v-model="form.taxedcost" placeholder="绋庡悗閲戦鍚堣" :disabled="true" /> - </el-form-item> - </el-col>--> - <el-col :span="5"> - <el-form-item label="棰勫鐘舵��" prop="infoid"> - <el-select - v-model="form.checkstatus" - filterable - placeholder="璇烽�夋嫨棰勫鐘舵��" - > - <el-option - v-for="item in baselisttages" - :key="item.id" - :label="item.name" - :value="item.id" - > - </el-option> - </el-select> - </el-form-item> - </el-col> <el-col :span="8"> <el-form-item label="鐢宠璇存槑" prop="remark"> <el-input v-model="form.remark" placeholder="鐢宠璇存槑" /> @@ -762,8 +715,27 @@ /> </el-table> </el-row> + <el-row style="margin-top: 25px; margin-bottom: 5px" + v-if="operationType == 'check'" + > + <el-col :span="7"> + <el-form-item label="棰勫鐘舵��" prop="infoid"> + <el-radio-group + v-model="form.checkstatus" + align="left" + :disabled="userprofile.nickName != '闄堟厱鍗�'" + > + <el-radio label="1">寰呴瀹�</el-radio> + <el-radio label="2">棰勫閫氳繃绛夊緟鏉愭枡</el-radio> + <el-radio label="3">宸叉敹鍒版姤閿�鏉愭枡</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + </el-row> + <el-row + style="margin-top: 5px; margin-bottom: 5px" v-if="operationType == 'check'" > <el-col :span="7"> @@ -775,6 +747,7 @@ </el-form-item> </el-col> </el-row> + <el-row v-if="operationType == 'check'"> <el-col :span="17"> <el-form-item label="瀹℃牳澶囨敞" align="left"> @@ -1828,6 +1801,8 @@ this.reset(); getFund(this.curId).then(response => { + console.log(response.data, "鍒濆"); + this.form = response.data; sessionStorage.removeItem("apiform"); @@ -1878,6 +1853,8 @@ this.reset(); getFund(this.curId).then(response => { + console.log(response.data, "鍒濆"); + this.form = response.data; sessionStorage.removeItem("apiform"); sessionStorage.setItem("apiform", JSON.stringify(this.form)); @@ -1924,6 +1901,7 @@ this.reset(); getFund(this.curId).then(response => { + console.log(response.data, "鍒濆"); this.form = response.data; sessionStorage.removeItem("apiform"); @@ -2003,9 +1981,9 @@ //鍒ゆ柇鏄惁瀛樺湪涓婃姤璁板綍 this.form.recordstatus = 0; if (!this.form.id) { - this.form.id = this.$route.query.id + this.form.id = this.$route.query.id; } - + updateFund(this.form).then(response => { if (response.code == 200) { this.$message({ @@ -2136,44 +2114,6 @@ ].subjecttypename; } this.rbDetails[i] = tempDetail; - /* - //璁$畻涓◣ - //if (isNaN(parseFloat(tempDetail.taxedamount))) - //鑾峰彇鍙傛暟 - this.taxParam.beneficiaryNo = tempDetail.beneficiaryno; - this.taxParam.startTime = this.form.createTime.substring(0, 10); - // 璁$畻绋庡悗閲戦 - if (tempDetail.taxedamount == undefined || tempDetail.taxedamount == null || tempDetail.taxedamount == 0 || tempDetail.taxedamount == '') { - //鑾峰彇鍙傛暟 - this.taxParam.money = tempDetail.amount.toString(); - getTaxByBeneFiciaryNo(this.taxParam).then((res) => { - if (res.code == 200) { - tempDetail.taxamount = res.data; - tempDetail.taxedamount = tempDetail.amount - tempDetail.taxamount; - this.rbDetails[k] = tempDetail; - - this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount); - this.totalAmount += parseFloat(tempDetail.amount); - } - }); - } - - // 璁$畻绋庡墠銆佺◣璐广�佺◣鍚庨噾棰� - if (tempDetail.amount == undefined || tempDetail.amount == null || tempDetail.amount == 0 || tempDetail.amount == '') { - //鑾峰彇鍙傛暟 - this.taxParam.money = tempDetail.taxedamount.toString(); - getTaxBeforeByAfterMoney(this.taxParam).then((res) => { - if (res.code == 200) { - tempDetail.taxamount = res.data.nowTax; - tempDetail.amount = parseFloat(res.data.nowTaxBeforeMoney); - this.rbDetails[k] = tempDetail; - - this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount); - this.totalAmount += parseFloat(tempDetail.amount); - } - }); - } - */ } //璁$畻褰撳墠琛屾姤閿�鍐呭璐圭敤鍚堣锛岀◣鍓嶉噾棰濓紙amount锛夈�佹墸绋庨噾棰濓紙taxamount锛夈�佺◣鍚庨噾棰濓紙taxedamount锛� if (this.businessType == "2") { @@ -2265,6 +2205,7 @@ ); sessionStorage.setItem("apiform", JSON.stringify(this.form)); addorupdateFund(this.form).then(response => { + console.log(this.form); console.log(response, "淇濆瓨杩斿弬"); if (response.code === 200) { this.$modal.msgSuccess("鐢宠鍗曚繚瀛樻垚鍔燂紒"); @@ -2292,6 +2233,10 @@ //瀹℃壒鎻愪氦 checksubmit() { + if (this.form.checkstatus != 3 && this.userprofile.nickName == "闄堟厱鍗�") { + this.$modal.msgError("璇风‘璁ゆ敹鍒版潗鏂欏悗鍐嶆彁浜ゅ鏍革紒"); + return; + } let checkFundObj = { // fundid: this.checkObj.fundid, fundid: this.curId, @@ -2319,6 +2264,7 @@ getUserProfile() { getUserProfile().then(res => { this.userprofile = res.data; + console.log(this.userprofile); this.standardlevel = res.data.standardlevel; if ( this.userprofile.userName == "admin" || @@ -2482,6 +2428,7 @@ //鑾峰彇鏈嶅姟椤圭洰 getRowFeeItems(rowindex, row) { let list = this.feeItemTypes.filter(r => r.itemType == row.applytype); + console.log(list[0]); row.itemlist = list[0].itemDetails; this.$set(this.rbDetails, rowindex, row); }, @@ -2637,7 +2584,6 @@ //鑾峰彇鍙傛暟 // this.taxParam.beneficiaryNo = row.beneficiaryno; // this.taxParam.startTime = this.form.createTime.substring(0, 10); - // if (type == "A") { // // 璁$畻涓◣銆佺◣鍚庨噾棰� // this.taxParam.money = row.amount.toString(); diff --git a/src/views/project/fund/applyDetail0/index.vue b/src/views/project/fund/applyDetail0/index.vue index c503c02..450aca3 100644 --- a/src/views/project/fund/applyDetail0/index.vue +++ b/src/views/project/fund/applyDetail0/index.vue @@ -65,7 +65,7 @@ </el-form-item> </el-col> <el-col :span="5"> - <el-form-item label="鎹愮尞鑰�" prop="name"> + <el-form-item label="鎹愮尞鑰�" prop="donorname"> <el-input :disabled="true" v-model="form.donorname" placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" /> </el-form-item> </el-col> diff --git a/src/views/project/fund/ethicalExpertFeeApply/index.vue b/src/views/project/fund/ethicalExpertFeeApply/index.vue index e6f7b9e..e3502bf 100644 --- a/src/views/project/fund/ethicalExpertFeeApply/index.vue +++ b/src/views/project/fund/ethicalExpertFeeApply/index.vue @@ -158,8 +158,8 @@ </el-form-item> </el-col> <el-col :span="5"> - <el-form-item label="鎹愮尞鑰�" prop="name"> - <el-input :disabled="true" v-model="form.name" placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" clearable /> + <el-form-item label="鎹愮尞鑰�" prop="donorname"> + <el-input :disabled="true" v-model="form.donorname" placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" clearable /> </el-form-item> </el-col> </el-row> diff --git a/src/views/project/fund/expertFeeApply/index.vue b/src/views/project/fund/expertFeeApply/index.vue index 131be04..f762887 100644 --- a/src/views/project/fund/expertFeeApply/index.vue +++ b/src/views/project/fund/expertFeeApply/index.vue @@ -389,10 +389,10 @@ </el-form-item> </el-col>--> <el-col :span="5"> - <el-form-item label="鎹愮尞鑰�" prop="name"> + <el-form-item label="鎹愮尞鑰�" prop="donorname"> <el-input :disabled="true" - v-model="form.name" + v-model="form.donorname" placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" /> </el-form-item> diff --git a/src/views/project/fund/medicalCostApply/index.vue b/src/views/project/fund/medicalCostApply/index.vue index ad18885..f8c3558 100644 --- a/src/views/project/fund/medicalCostApply/index.vue +++ b/src/views/project/fund/medicalCostApply/index.vue @@ -116,408 +116,7 @@ </el-card> </el-col> </el-row> - <!-- 娣诲姞鎴栦慨鏀硅垂鐢ㄧ敵璇峰崟 --> - <el-dialog :visible.sync="dialogOpen" :close-on-click-modal="false" width="1400px" :title="title" - style="text-align: center" v-loading="loading"> - <el-form ref="form" :model="form" label-width="120px" :rules="rules"> - <el-row style="text-align: left"> - <el-col :span="5"> - <el-form-item label="鐢宠鏃ユ湡" prop="createTime"> - <el-date-picker clearable style="width: 100%" v-model="form.createTime" type="date" - value-format="yyyy-MM-dd HH:mm:ss" placeholder="鐢宠鏃ユ湡"> - </el-date-picker> - </el-form-item> - </el-col> - <el-col :span="5"> - <el-form-item label="缁忓姙浜�" prop="username"> - <el-select v-model="form.username" placeholder="鐢宠浜�" clearable filterable allow-create style="width: 100%"> - <el-option v-for="dict in userlist" :key="dict.index" :label="dict.nickname" - :value="dict.nickname"></el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="5"> - <el-form-item label="鎵�灞炵粍鍒�" prop="deptmentname"> - <el-input v-model="form.deptmentname" placeholder="璇疯緭鍏ユ墍灞炵粍鍒�" clearable /> - </el-form-item> - </el-col> - <el-col :span="5"> - <el-form-item label="缁勯暱" prop="managername"> - <el-input v-model="form.managername" placeholder="璇疯緭鍏ョ粍闀�" clearable /> - </el-form-item> - </el-col> - </el-row> - <el-row style="text-align: left"> - <el-col :span="5"> - <el-form-item label="鐢宠绫诲瀷"> - <el-radio v-model="form.applytype" label="3">鍖诲鎴愭湰鐢宠</el-radio> - </el-form-item> - </el-col> - <el-col :span="10"> - <el-form-item label="鐢宠璇存槑" prop="remark"> - <el-input v-model="form.remark" placeholder="澶囨敞" /> - </el-form-item> - </el-col> - <el-col :span="5"> - <el-form-item label="鎹愮尞鑰�" prop="name"> - <el-input :disabled="true" v-model="form.name" placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" clearable /> - </el-form-item> - </el-col> - </el-row> - <el-row style="text-align: left"> - <el-col :span="5"> - <el-form-item label="鐢宠閲戦" prop="amountrequested"> - <el-input v-model="form.amountrequested" placeholder="鐢宠閲戦" :disabled="true" /> - </el-form-item> - </el-col> - <!--<el-col :span="5"> - <el-form-item label="绋庡墠閲戦" prop="pretaxcost"> - <el-input v-model="form.pretaxcost" placeholder="绋庡墠閲戦鍚堣" :disabled="true" /> - </el-form-item> - </el-col> - <el-col :span="5"> - <el-form-item label="绋庡悗閲戦" prop="pretaxcost"> - <el-input v-model="form.taxedcost" placeholder="绋庡悗閲戦鍚堣" :disabled="true" /> - </el-form-item> - </el-col> - <el-col :span="5"> - <el-form-item label="瀹℃牳鐘舵��" prop="recordstatus"> - <el-input v-if="0" v-model="form.recordstatus" placeholder="瀹℃牳鎰忚"/> - <el-select v-model="form.recordstatus" placeholder="璇烽�夋嫨瀹℃牳鐘舵��" clearable size="small" :disabled="true"> - <el-option v-for="dict in dict.type.sys_recordstatus" :key="dict.value" :label="dict.label" - :value="dict.value" /> - </el-select> - </el-form-item> - </el-col>--> - <!-- - <el-col :span="5"> - <el-form-item label="鑱旂郴鐢佃瘽" prop="phone"> - <el-input v-model="form.phone" placeholder="璇疯緭鍏ョ敵璇疯�呯殑鑱旂郴鏂瑰紡" clearable /> - </el-form-item> - </el-col> - <el-col :span="5"> - <el-form-item label="宸ヤ綔鍗曚綅" prop="unitno"> - <org-selecter ref="orgSelecter" :org-type="'3'" v-model="form.unitno" /> - </el-form-item> - </el-col>--> - </el-row> - <el-row style="margin-bottom: 10px"> - <el-col :span="4"> - <el-button @click.native.prevent="addAlls" type="primary" size="small"> - 瀵煎叆鏈嶅姟椤圭洰 - </el-button> - </el-col> - </el-row> - <el-row style="margin-top: 5px; margin-bottom: 5px"> - <el-table :data="fundDetails" border highlight-current-row> - <el-table-column prop="orderno" align="center" label="鎺掑簭" width="80"> - <template slot-scope="scope"> - <el-input v-model="scope.row.orderno" placeholder="鎺掑簭" /> - </template> - </el-table-column> - <el-table-column prop="itemtype" align="center" label="璐圭敤绫诲瀷" width="220"> - <template slot-scope="scope"> - <el-select v-model="scope.row.applytype" placeholder="璐圭敤绫诲瀷" @change="LoadItemTypeArr(scope.row)"> - <el-option v-for="dict in fundtypeArr" :key="dict.value" :label="dict.label" - :value="dict.value"></el-option> - </el-select> - </template> - </el-table-column> - <el-table-column prop="itemtype" align="center" label="鏈嶅姟椤圭洰" width="260"> - <template slot-scope="scope"> - <el-select v-model="scope.row.itemid" placeholder="鏈嶅姟椤圭洰" clearable filterable allow-create - @change="select(scope.row)" :filter-method="val => SearchItem(val, scope)"> - <el-option v-for="dict in scope.row.itemArr" :key="dict.id" :label="dict.itemName" - :value="dict.id"></el-option> - </el-select> - </template> - </el-table-column> - <el-table-column prop="beneficiaryno" align="center" label="濮撳悕" width="120" v-if="form.applytype != 3"> - <template slot-scope="scope"> - <el-button type="primary" plain @click="ShowDetailDialog(scope, 'name')">{{ scope.row.beneficiaryname - }}</el-button> - </template> - </el-table-column> - <!-- <el-table-column - prop="servicesscopename" - align="center" - label="璐圭敤璇存槑" - width="180" - > - <template slot-scope="scope"> - <el-select - v-model="scope.row.servicesscopename" - placeholder="璐圭敤璇存槑" - clearable - allow-create - filterable - @change="selectremark(scope.row)" - > - <el-option - v-for="dict in fundblock" - :key="dict.expensedescribe" - :label="dict.expensedescribe" - :value="dict.expensedescribe" - ></el-option> - </el-select> - </template> - </el-table-column> --> - <el-table-column prop="amount" align="center" label="绋庡墠閲戦" width="120" v-if="form.applytype != 3"> - <template slot-scope="scope"> - <el-select v-model="scope.row.amount" placeholder="绋庡墠閲戦" clearable filterable allow-create - @change="selectamount(scope.row)"> - <el-option v-for="dict in fundblock" :key="dict.expensedescribe" :label="dict.expense" - :value="dict.expense"></el-option> - </el-select> - <!-- - <el-input - v-model="scope.row.amount" - placeholder="绋庡墠閲戦" - @change="selectamount(scope.row)" - @blur=" - (val) => { - sumTotalFee(scope.row); - } - " /> - --> - </template> - </el-table-column> - <el-table-column prop="taxamount" align="center" label="鎵g◣" width="120" v-if="form.applytype != '3'"> - <template slot-scope="scope"> - <el-input v-model="scope.row.taxamount" placeholder="鎵g◣" @blur="val => { - sumTotalFee(scope.row); - } - " /> - </template> - </el-table-column> - <el-table-column prop="taxedamount" align="center" label="绋庡悗閲戦" width="120" v-if="form.applytype != '3'"> - <template slot-scope="scope"> - <el-input v-model="scope.row.taxedamount" placeholder="绋庡悗閲戦" /> - </template> - </el-table-column> - <el-table-column prop="price" align="center" label="浠锋牸" width="120" v-if="form.applytype == '3'"> - <template slot-scope="scope"> - <el-input v-model="scope.row.price" placeholder="浠锋牸" @blur="val => { - sumTotalFee(scope.row); - } - " /> - </template> - </el-table-column> - <el-table-column prop="quantity" align="center" label="鏁伴噺" width="80" v-if="form.applytype == '3'"> - <template slot-scope="scope"> - <el-input v-model="scope.row.quantity" placeholder="鏁伴噺" @blur="val => { - sumTotalFee(scope.row); - } - " /> - </template> - </el-table-column> - - <el-table-column prop="amount" align="center" label="閲戦" width="120" v-if="form.applytype == '3'"> - <template slot-scope="scope"> - <el-input v-model="scope.row.amount" placeholder="浠锋牸" @blur="val => { - sumTotalFee(scope.row); - } - " /> - </template> - </el-table-column> - <el-table-column prop="unitno" align="center" label="璐圭敤鍗曚綅鍚嶇О" width="220"> - <template slot-scope="scope"> - <el-button type="primary" plain @click="ShowDetailDialog(scope, 'unit')">{{ scope.row.unitname - }}</el-button> - </template> - </el-table-column> - <el-table-column prop="depositbank" align="center" label="寮�鎴烽摱琛�" width="200"> - <template slot-scope="scope"> - <el-input v-model="scope.row.depositbank" placeholder="寮�鎴烽摱琛�" /> - </template> - </el-table-column> - <el-table-column prop="bankcardno" align="center" label="閾惰鍗″彿" width="210"> - <template slot-scope="scope"> - <el-input v-model="scope.row.bankcardno" placeholder="閾惰鍗″彿" /> - </template> - </el-table-column> - <el-table-column prop="remark" align="center" label="澶囨敞" width="210" v-if="form.applytype == '3'"> - <template slot-scope="scope"> - <el-input v-model="scope.row.remark" placeholder="澶囨敞" /> - </template> - </el-table-column> - <el-table-column prop="title" align="center" label="鑱岀О" width="120" v-if="form.applytype != '3'"> - <template slot-scope="scope"> - <el-input v-model="scope.row.title" placeholder="鑱岀О" /> - </template> - </el-table-column> - <el-table-column prop="idcardno" align="center" label="韬唤璇佸彿" width="200" v-if="form.applytype != '3'"> - <template slot-scope="scope"> - <el-input v-model="scope.row.idcardno" placeholder="韬唤璇佸彿" /> - </template> - </el-table-column> - <el-table-column prop="depositbank" align="center" label="寮�鎴烽摱琛�" width="200" v-if="form.applytype != '3'"> - <template slot-scope="scope"> - <el-input v-model="scope.row.depositbank" placeholder="寮�鎴烽摱琛�" /> - </template> - </el-table-column> - <el-table-column prop="bankcardno" align="center" label="閾惰鍗″彿" width="210" v-if="form.applytype != '3'"> - <template slot-scope="scope"> - <el-input v-model="scope.row.bankcardno" placeholder="閾惰鍗″彿" /> - </template> - </el-table-column> - <el-table-column fixed="right" align="center" label="鎿嶄綔" width="120" v-if="dialogType == 'edit'"> - <template slot-scope="scope"> - <el-button type="text" size="mini" @click="addRow(scope.$index)">鏂板</el-button> - <el-button @click.native.prevent=" - deleteRows(scope.row, scope.$index, fundDetails) - " type="text" size="small"> - 鍒犻櫎 - </el-button> - <el-button @click.native.prevent=" - Filepopup(scope.$index, fundDetails, scope.row) - " type="text" size="small"> - 绁ㄦ嵁 - </el-button> - </template> - </el-table-column> - </el-table> - </el-row> - <!-- <el-row> - <el-col :span="4"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="mini" - @click="addRow" - >鏂板鎴愭湰璐圭敤</el-button - > - </el-col> - </el-row> - <el-row> - <el-col :span="7"> - <el-form-item label="棰勬敮閲戦" prop="prepaidamount"> - <el-input v-model="form.prepaidamount" placeholder="鐢宠閲戦" /> - </el-form-item> - </el-col> - <el-col :span="7"> - <el-form-item label="OPO涓績绛惧瓧" prop="opochecker"> - <el-input v-model="form.opochecker" placeholder="opo涓績绛惧瓧" /> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="璐㈠姟鍓櫌闀�" prop="finvicepresident"> - <el-input v-model="form.finvicepresident" placeholder="璐㈠姟鍓櫌闀�" /> - </el-form-item> - </el-col> - <el-col :span="7"> - <el-form-item label="涓氬姟鍓櫌闀�" prop="busvicepresident"> - <el-input v-model="form.busvicepresident" placeholder="涓氬姟鍓櫌闀�" /> - </el-form-item> - </el-col> - <el-col :span="7"> - <el-form-item label="鍔炲叕瀹や富浠�" prop="officedirector"> - <el-input v-model="form.officedirector" placeholder="璇疯緭鍏ュ姙鍏涓讳换" /> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="璐㈠姟閮ㄨ礋璐d汉" prop="financedirector"> - <el-input v-model="form.financedirector" placeholder="璇疯緭鍏ヨ储鍔¢儴璐熻矗浜�" /> - </el-form-item> - </el-col> - <el-col :span="7"> - <el-form-item label="璐㈠姟瀹℃牳" prop="financechecher"> - <el-input v-model="form.financechecher" placeholder="璇疯緭鍏ヨ储鍔″鏍�" /> - </el-form-item> - </el-col> - </el-row> --> - <el-row> - <el-col :span="24"> - <el-form-item label="璐圭敤鐢宠闄勪欢锛�" align="left" prop="annexbankcard"> - <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileList" multiple - :limit="20" :headers="headers" :on-success="(response, file, fileList) => - uploadSccess(response, file, fileList) - " :on-preview="downFile" :disabled="dialogType == 'detail'" :on-error="handleUploadError" - :on-exceed="handleExceed" :on-remove="handleremove" accept="image/*,.pdf"> - <el-button :disabled="dialogType == 'detail'" size="small" type="primary">涓婁紶</el-button> - </el-upload> - </el-form-item> - </el-col> - </el-row> - <el-row v-if="dialogType == 'detail'"> - <el-table :data="fundflowList" border> - <el-table-column label="瀹℃牳浜�" align="center" width="120" prop="checkusername" /> - <el-table-column label="瀹℃牳鏃ユ湡" align="center" width="160" prop="createTime" /> - <el-table-column label="瀹℃牳缁撴灉" align="center" width="200" prop="flowconclusion"><template - slot-scope="scope"><span v-if="scope.row.flowconclusion == 1">閫氳繃</span><span - v-if="scope.row.flowconclusion == 2">涓嶉�氳繃</span></template> - </el-table-column> - <el-table-column label="瀹℃牳澶囨敞" align="center" prop="flowcontent" /> - </el-table> - </el-row> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm" v-if="dialogType == 'edit'">淇� 瀛�</el-button> - <!-- <el-button type="success" @click="print">鎵� 鍗�</el-button> --> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> - - <el-dialog :visible.sync="detailInfoDialogShow" :close-on-click-modal="false" :title="'璐圭敤鍗曚綅閫夋嫨'" - style="text-align: center" v-loading="loading" width="500px"> - <el-form ref="funddetailForm" :model="funddetailForm" label-width="120px"> - <el-row> - <el-col :span="24" v-if="detailInfoDialogShowType == 'name'"> - <el-form-item align="left" label="濮撳悕" prop="beneficiaryname" label-width="80px"> - <el-select filterable allow-create ref="beneficiaryname" default-first-option - v-model="funddetailForm.beneficiaryname" placeholder="璇烽�夋嫨" style="width: 100%"> - <el-option v-for="item in arrr3" :key="item.reportNo" :label="item.reportName" :value="item.reportName"> - </el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="24" v-if="detailInfoDialogShowType == 'unit'"> - <el-form-item align="left" label="鍗曚綅鍚嶇О" prop="unitno" label-width="80px"> - <el-select v-model="funddetailForm.unitno" placeholder="璇烽�夋嫨鍗曚綅" clearable filterable allow-create - style="width: 100%"> - <el-option v-for="(item, index) in bankaccountlist" :key="index" :label="item.reportName" - :value="item.reportNo"></el-option> - </el-select> - </el-form-item> - </el-col> - </el-row> - </el-form> - <span slot="footer" class="dialog-footer"> - <el-button @click="detailInfoDialogShow = false">鍙� 娑�</el-button> - <el-button type="primary" @click="ConfirmDetailDialog()">纭� 瀹�</el-button> - </span> - </el-dialog> - - <el-dialog :title="pdftitle" :visible.sync="pdfVisible" width="50%"> - <div class="pdfimg"> - <div class="box-pdf"> - <div> - <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileListto" multiple - :limit="20" :headers="headers" :on-success="(response, file, fileList) => - uploadSccess(response, file, fileList) - " :on-preview="downFile" :disabled="dialogType == 'detail'" :on-error="handleUploadError" - :on-exceed="handleExceed" :on-remove="remove" accept="image/*,.pdf"> - <el-button :disabled="dialogType == 'detail'" size="small" type="primary">涓婁紶</el-button> - </el-upload> - </div> - <!-- <div - class="pdftit" - @click="pdffn(item)" - v-for="item in fileList" - :key="item.name" - > - {{ item.name }} - </div> --> - </div> - - <div v-if="this.previewpdf" class="pdfimgmin"> - <img :src="pdfimg" /> - </div> - <div v-else class="pdfimgmins">{{ hintitle }}</div> - </div> - </el-dialog> </div> </template> diff --git a/src/views/project/fund/officeExpenseApply/index.vue b/src/views/project/fund/officeExpenseApply/index.vue index bfa4d90..da46cc8 100644 --- a/src/views/project/fund/officeExpenseApply/index.vue +++ b/src/views/project/fund/officeExpenseApply/index.vue @@ -119,8 +119,8 @@ </el-form-item> </el-col> <el-col :span="5"> - <el-form-item label="鎹愮尞鑰�" prop="name"> - <el-input :disabled="true" v-model="form.name" placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" clearable /> + <el-form-item label="鎹愮尞鑰�" prop="donorname"> + <el-input :disabled="true" v-model="form.donorname" placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" clearable /> </el-form-item> </el-col> </el-row> diff --git a/src/views/project/fund/performanceApply/index.vue b/src/views/project/fund/performanceApply/index.vue new file mode 100644 index 0000000..91629d0 --- /dev/null +++ b/src/views/project/fund/performanceApply/index.vue @@ -0,0 +1,555 @@ +<!-- --> +<template> + <div class="app-container"> + <el-form + :model="queryParams" + ref="queryForm" + :inline="true" + label-width="70px" + > + <el-row align="left"> + <el-col :span="5"> + <el-form-item label="缁忓姙浜�" prop="name"> + <el-input + v-model="queryParams.name" + 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-form-item> + </el-col> + <el-col :span="7"> + <el-form-item label="鐢宠鏃ユ湡" prop="createTime"> + <el-date-picker + format="yyyy-MM-dd" + value-format="yyyy-MM-dd" + v-model="value1" + type="daterange" + @blur="onpick" + range-separator="鑷�" + start-placeholder="鎶ラ攢鐢宠寮�濮嬫棩鏈�" + end-placeholder="鎶ラ攢鐢宠缁撴潫鏃ユ湡" + @keyup.enter.native="handleQuery" + > + </el-date-picker> + </el-form-item> + </el-col> + <el-col :span="5"> + <el-form-item label="瀹℃壒鐘舵��" prop="CHECKFLAG" style="float: left"> + <el-select + v-model="queryParams.CHECKFLAG" + placeholder="璇烽�夋嫨" + style="width: 100%" + > + <el-option + v-for="item in checkFlagOptions" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + </el-col> + + <el-col :span="4"> + <el-button + type="primary" + icon="el-icon-search" + size="mini" + @click="handleQuery" + >鎼滅储</el-button + > + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" + >閲嶇疆</el-button + > + </el-col> + </el-row> + </el-form> + <el-row :gutter="10" class="mb8"> + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-plus" + size="mini" + @click="handleAdd" + >鏂板</el-button + > + <!-- v-hasPermi="['project:medicalfund:add']" --> + </el-col> + <el-col :span="1.5"> + <el-button + type="warning" + plain + icon="el-icon-download" + size="mini" + :loading="exportLoading" + @click="handleExport" + >瀵煎嚭</el-button + > + </el-col> + <!-- v-hasPermi="['project:medicalfund:export']" --> + <!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> --> + </el-row> + <el-table v-loading="loading" border :data="donateconsolationfundList"> + <el-table-column + label="鐢宠鏃ユ湡" + align="center" + prop="createTime" + width="180px" + > + <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="150px" + /> + + <el-table-column + label="瀹℃牳鐘舵��" + width="150" + align="center" + prop="recordstatus" + > + <template slot-scope="scope"> + <dict-tag + :options="dict.type.sys_recordstatus" + :value="scope.row.recordstatus" + /> + </template> + </el-table-column> + <el-table-column + label="缁╂晥绫诲瀷" + width="150" + align="center" + prop="performancetype" + > + <template slot-scope="scope"> + <dict-tag + :options="dict.type.sys_performance_type" + :value="scope.row.performancetype" + /> + </template> + </el-table-column> + <el-table-column label="澶囨敞" align="center" prop="remark" /> + <el-table-column + label="鎿嶄綔" + fixed="right" + align="center" + class-name="small-padding fixed-width" + width="280px" + > + <template slot-scope="scope"> + <el-button + v-if="scope.row.recordstatus == -1 || scope.row.recordstatus == 1" + size="mini" + type="text" + icon="el-icon-edit" + @click="handleup(scope.row)" + >涓婃姤</el-button + > + <el-button + v-if="scope.row.recordstatus == -1 || scope.row.recordstatus == 1" + size="mini" + type="text" + icon="el-icon-edit" + @click="handleUpdate(scope.row)" + v-hasPermi="['project:medicalfund:edit']" + >淇敼</el-button + > + <el-button + size="mini" + type="text" + icon="el-icon-view" + @click="handleDetail(scope.row)" + >鏌ョ湅</el-button + > + <el-button + v-if="scope.row.recordstatus == -1 || scope.row.recordstatus == 1" + size="mini" + type="text" + icon="el-icon-delete" + @click="handleDelete(scope.row)" + v-hasPermi="['project:medicalfund:delete']" + >鍒犻櫎</el-button + > + <el-button + size="mini" + type="text" + icon="el-icon-download" + @click="mixExport(scope.row.id)" + v-hasPermi="['project:medicalfund:download']" + >涓嬭浇</el-button + > + </template> + </el-table-column> + </el-table> + </div> +</template> + +<script> +//杩欓噷鍙互瀵煎叆鍏朵粬鏂囦欢锛堟瘮濡傦細缁勪欢锛屽伐鍏穓s锛岀涓夋柟鎻掍欢js锛宩son鏂囦欢锛屽浘鐗囨枃浠剁瓑绛夛級 +//渚嬪锛歩mport 銆婄粍浠跺悕绉般�� from '銆婄粍浠惰矾寰勩��'; +import { + onelistFund, + listFund, + getFund, + delFund, + addFund, + updateFund, + getdownloadYX, + getdownloadBX +} from "@/api/project/fund"; +import { + delFunddetail, + addFunddetail, + getownFundDetail +} from "@/api/project/funddetail"; + +import Li_area_select from "@/components/Address"; +import OrgSelecter from "@/views/project/components/orgselect"; +import { getToken } from "@/utils/auth"; + +export default { + //import寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢� + components: { + Li_area_select, + OrgSelecter + }, + name: "fundApply", + dicts: [ + "sys_recordstatus", + "sys_OrganizationType", + "sys_DonationStatus", + "sys_depositbank", + "sys_FamilyRelation", + "sys_IDType", + "sys_ConsolationType", + "sys_fund_type", + "sys_finsubject", + "sys_financeitemtype", + "sys_expensetype", + "sys_performance_type" + ], + data() { + //杩欓噷瀛樻斁鏁版嵁 + return { + businesstype: "4", + // 閬僵灞� + loading: true, + // 瀵煎嚭閬僵灞� + exportLoading: false, + total: 0, + queryParams: { + organizationname: null, + organizationtype: null, + pageNum: 1, + pageSize: 10, + name: null, + idcardno: null, + residenceprovince: null, + residencecity: null, + residencetown: null, + recordstate: null, + treatmenthospitalname: null, + donorno: null, + reportername: null, + reporttime: null + }, + checkFlagOptions: [ + { + value: 0, + label: "宸插鎵�" + }, + { + value: 1, + label: "寰呭鎵�" + }, + { + value: 2, + label: "鍏ㄩ儴" + } + ], + fundQueryParam: { + infoid: null, + applytype: "5", + createBy: null, + organizationname: null, + organizationtype: null, + pageNum: 1, + pageSize: 10, + name: null, + idcardno: null, + residenceprovince: null, + residencecity: null, + residencetown: null, + recordstate: null, + treatmenthospitalname: null, + donorno: null, + reportername: null, + reporttime: null + }, + // 琛ㄥ崟鍙傛暟 + form: {}, + //鎹愮尞妗堜緥鍒楄〃鏁版嵁 + donatebaseinfoList: [], + //鏄惁鏄剧ず璐圭敤鐢宠寮圭獥 + dialogOpen: false, + //璐圭敤鐢宠琛ㄥ崟title + applyFormTitle: "", + + // 鎹愮尞浜洪亾鎱伴棶閲戣〃鏍兼暟鎹� + donateconsolationfundList: [], + + //鏄庣粏璁板綍 + fundDetails: [], + + // 寮瑰嚭灞傛爣棰� + title: "", + itemArr: [], + //鐢ㄦ埛 + userlist: [], + //閾惰璐﹀彿 + bankaccountlist: [], + //鏈烘瀯鍗曚綅 + unitList: [], + //璐圭敤绫诲瀷鏁扮粍 + fundtypeArr: [], + defaultperson: {}, + fundblock: [], + fundtypeArrAll: [], + dialogType: "edit", + + detailInfoDialogShow: false, + detailInfoDialogShowType: "", + funddetailForm: { + beneficiaryname: null, + beneficiaryno: null, + unitno: null, + unitname: null, + index: null + }, + + //闄勪欢鍒楄〃 + fileList: [], + //涓婁紶闄勪欢璺緞 + uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", + headers: { + Authorization: "Bearer " + getToken() + } + }; + }, + //鐩戝惉灞炴�� 绫讳技浜巇ata姒傚康 + computed: {}, + //鐩戞帶data涓殑鏁版嵁鍙樺寲 + watch: {}, + //鏂规硶闆嗗悎 + methods: { + handleup(row) { + console.log(row); + this.$confirm("鏄惁纭灏嗙櫥璁拌褰曚笂鎶ワ紵", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }) + .then(() => { + //鏌ユ壘鏄惁瀛樺湪鐧昏瀹屾垚璁板綍 + //鍒ゆ柇鏄惁瀛樺湪涓婃姤璁板綍 + row.recordstatus = 0; + + updateFund(row).then(response => { + if (response.code == 200) { + this.$message({ + type: "success", + message: "鐢宠鎴愬姛" + }); + } else { + this.$message({ + type: "error", + message: "鐢宠澶辫触" + }); + } + this.loading = false; + }); + }) + .catch(() => { + this.$message({ + type: "info", + message: "宸插彇娑堢敵璇�" + }); + }); + }, + /** 鎼滅储鎸夐挳鎿嶄綔 */ + handleQuery() { + this.queryParams.pageNum = 1; + this.getList(); + }, + /** 閲嶇疆鎸夐挳鎿嶄綔 */ + resetQuery() { + this.daterangeReporttime = []; + this.resetForm("queryForm"); + this.handleQuery(); + }, + + /** 鏂板鎸夐挳鎿嶄綔 */ + handleAdd() { + this.$router.push({ + path: "/finance/performancedetails/", + query: { id: 0, businessType: "5", operationType: "add" } + }); + }, + /** 淇敼鎸夐挳鎿嶄綔 */ + handleUpdate(row) { + this.$router.push({ + path: "/finance/performancedetails/", + query: { id: row.id, businessType: "5", operationType: "update" } + }); + }, + + /** 鏌ョ湅鎸夐挳鎿嶄綔 */ + handleDetail(row) { + this.$router.push({ + path: "/finance/performancedetails/", + query: { id: row.id, businessType: "5", operationType: "detail" } + }); + }, + /** 瀵煎嚭鎸夐挳鎿嶄綔 */ + handleExport() { + const queryParams = this.queryParams; + this.$modal + .confirm("鏄惁纭瀵煎嚭鎵�鏈夋姤閿�鐢宠鏁版嵁椤癸紵") + .then(() => { + this.exportLoading = true; + return exportReimbursement(queryParams); + }) + .then(response => { + this.$download.name(response.msg); + this.exportLoading = false; + }) + .catch(() => {}); + }, + + handleDelete(row) { + const ids = row.id || this.ids; + this.$modal + .confirm("鏄惁纭鍒犻櫎璇ヨ褰曪紵") + .then(function() { + return delFund(ids); + }) + .then(() => { + getownFundDetail(ids).then(res => { + let listdetails = res.data; + for (let i = 0; i < listdetails.length; i++) { + delFunddetail(listdetails[i].id); + } + }); + this.getList(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }) + .catch(() => {}); + }, + + /** 鏌ヨ鍒楄〃 */ + getList() { + this.loading = true; + this.queryParams.params = {}; + console.log(21); + listFund(this.fundQueryParam).then(response => { + console.log(11); + this.loading = false; + this.donateconsolationfundList = response.rows; + }); + }, + // 鎹愮尞鑰呭尰瀛︾粺璁℃墦鍗� + dayin2(id) { + getdownloadYX(id).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" + }); + } + }); + }, + + //姹囨�绘墦鍗� + 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" + }); + } + }); + }, + // 涓嬭浇鎸夐挳 + mixExport(id) { + this.dayin2(id); + //this.totaldayin(id); + } + }, + //鐢熷懡鍛ㄦ湡 - 鍒涘缓瀹屾垚锛堝彲浠ヨ闂綋鍓峵his瀹炰緥锛� + created() { + this.getList(); + }, + + //鐢熷懡鍛ㄦ湡 - 鎸傝浇瀹屾垚锛堝彲浠ヨ闂瓺OM鍏冪礌锛� + mounted() {}, + + beforeCreate() {}, //鐢熷懡鍛ㄦ湡 - 鍒涘缓涔嬪墠 + beforeMount() {}, //鐢熷懡鍛ㄦ湡 - 鎸傝浇涔嬪墠 + beforeUpdate() {}, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪墠 + updated() {}, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪悗 + beforeDestroy() {}, //鐢熷懡鍛ㄦ湡 - 閿�姣佷箣鍓� + destroyed() {}, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴� + activated() {} //濡傛灉椤甸潰鏈塳eep-alive缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂 +}; +</script> +<style scoped> +/* @import url(); 寮曞叆鍏叡css绫� */ +</style> diff --git a/src/views/project/fund/performancedetails/index.vue b/src/views/project/fund/performancedetails/index.vue new file mode 100644 index 0000000..a1c7577 --- /dev/null +++ b/src/views/project/fund/performancedetails/index.vue @@ -0,0 +1,2100 @@ +<!-- --> +<template> + <div class="Modifydetailscla"> + <div class="boxdiv"> + <div class="top-text">{{ title }}</div> + <el-form ref="form" :model="form" :rules="rules" label-width="120px"> + <el-row> + <el-col :span="5"> + <el-form-item label="鐢宠鏃ユ湡" prop="createTime"> + <el-date-picker + clearable + style="width: 100%" + v-model="form.createTime" + type="date" + value-format="yyyy-MM-dd HH:mm:ss" + placeholder="鐢宠鏃ユ湡" + > + </el-date-picker> + </el-form-item> + </el-col> + <el-col :span="5"> + <el-form-item label="缁忓姙浜�" prop="username"> + <el-select + v-model="form.username" + placeholder="鐢宠浜�" + clearable + filterable + allow-create + style="width: 100%" + @change="getUserAccount" + > + <el-option + v-for="dict in userlist" + :key="dict.index" + :label="dict.nickname" + :value="dict.nickname" + ></el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="5"> + <el-form-item label="鎵�灞炵粍鍒�" prop="deptmentname"> + <el-input + v-model="form.deptmentname" + placeholder="璇疯緭鍏ユ墍灞炵粍鍒�" + clearable + /> + </el-form-item> + </el-col> + <el-col :span="5"> + <el-form-item label="缁勯暱" prop="managername"> + <el-input + v-model="form.managername" + placeholder="璇疯緭鍏ョ粍闀�" + clearable + /> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="5"> + <el-form-item label="鐢宠鍗曠被鍨�"> + <el-select + v-model="form.performancetype" + filterable + placeholder="璇烽�夋嫨鐢宠鍗曠姸鎬�" + > + <el-option + v-for="item in PerformanceType" + :key="item.id" + :label="item.name" + :value="item.id" + > + </el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="5"> + <el-form-item label="鑱旂郴鐢佃瘽" prop="phone"> + <el-input v-model="form.phone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" /> + </el-form-item> + </el-col> + <el-col :span="5"> + <el-form-item label="鐢宠閲戦" prop="pretaxcost"> + <el-input + v-model="form.pretaxcost" + placeholder="绋庡墠閲戦鍚堣" + :disabled="true" + /> + </el-form-item> + </el-col> + </el-row> + <el-row style="text-align: left"> + <el-col :span="5"> + <el-form-item label="棰勫鐘舵��" prop="infoid"> + <el-select + v-model="form.checkstatus" + filterable + placeholder="璇烽�夋嫨棰勫鐘舵��" + > + <el-option + v-for="item in baselisttages" + :key="item.id" + :label="item.name" + :value="item.id" + > + </el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="鐢宠璇存槑" prop="remark"> + <el-input v-model="form.remark" placeholder="鐢宠璇存槑" /> + </el-form-item> + </el-col> + </el-row> + <el-row style="margin-top: 5px; margin-bottom: 5px" /> + <el-row v-if="jurisdiction"> + <el-alert + title="褰撳墠涓烘煡鐪嬬姸鎬侊紝涓嶆敮鎸佷慨鏀瑰瓨鍌ㄣ��" + type="warning" + show-icon + > + </el-alert> + </el-row> + <el-row> + <el-col :span="3" + ><div style="margin-bottom: 15px;"> + <el-button + type="success" + icon="el-icon-download" + @click="Batchentry" + >鎵归噺褰曞叆</el-button + > + </div></el-col + > + </el-row> + <el-row v-if="operationType == 'check'"> + <el-col :span="3" + ><div style="margin-bottom: 15px;"> + <el-button + type="success" + icon="el-icon-edit-outline" + @click="Manualcalculationfn" + >璁$畻鏄庣粏</el-button + > + </div></el-col + > + </el-row> + <el-row> + <el-table + :data="rbDetails" + v-loading="loading" + max-height="800" + border + highlight-current-row + > + <el-table-column + prop="orderno" + align="center" + label="搴忓彿" + width="88" + > + <template slot-scope="scope"> + <el-input v-model="scope.row.orderno" placeholder="搴忓彿" /> + </template> + </el-table-column> + <el-table-column + prop="applytype" + align="center" + label="鏈嶅姟绫诲瀷" + width="200" + > + <template slot-scope="scope"> + <el-select + v-model="scope.row.applytype" + placeholder="璇烽�夋嫨鏈嶅姟绫诲瀷" + @change="verifyFeeItemType(scope.row)" + > + <el-option + v-for="dict in rowfeeItemTypes" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> + </el-select> + </template> + </el-table-column> + <el-table-column + prop="itemid" + align="center" + label="鏈嶅姟椤圭洰" + width="260" + > + <template slot-scope="scope"> + <el-select + v-model="scope.row.itemid" + placeholder="璇烽�夋嫨鏈嶅姟椤圭洰" + filterable + @change="verifyFeeItem(scope.row)" + :filter-method="val => searchItemType(val, scope)" + > + <el-option + v-for="dict in scope.row.itemlist" + :key="dict.id" + :label="dict.itemName" + :value="dict.id" + ></el-option> + </el-select> + </template> + </el-table-column> + <el-table-column + prop="amount" + align="center" + label="绋庡墠閲戦" + width="120" + > + <template slot-scope="scope"> + <el-input + v-model="scope.row.amount" + placeholder="绋庡墠閲戦" + @blur=" + val => { + calculateTax(scope.row, 'A'); + } + " + /> + </template> + </el-table-column> + <el-table-column + prop="taxedamount" + align="center" + label="绋庡悗閲戦" + width="120" + > + <template slot-scope="scope"> + <el-input + v-model="scope.row.taxedamount" + placeholder="绋庡悗閲戦" + @blur=" + val => { + calculateTax(scope.row, 'B'); + } + " + /> + </template> + </el-table-column> + <el-table-column + prop="beneficiaryname" + align="center" + label="濮撳悕" + width="250" + > + <template slot-scope="scope"> + <el-button + type="primary" + plain + @click="ShowDetailDialog(scope, 'expert')" + >{{ + scope.row.beneficiaryname + ? scope.row.beneficiaryname + : "鐐瑰嚮閫夋嫨" + }}</el-button + > + </template> + </el-table-column> + + <el-table-column + prop="depositbank" + align="center" + label="寮�鎴烽摱琛�" + width="200" + > + <template slot-scope="scope"> + <el-input + v-model="scope.row.depositbank" + placeholder="寮�鎴烽摱琛�" + /> + </template> + </el-table-column> + <el-table-column + prop="bankcardno" + align="center" + label="閾惰甯愬彿" + width="210" + > + <template slot-scope="scope"> + <el-input + v-model="scope.row.bankcardno" + placeholder="閾惰甯愬彿" + /> + </template> + </el-table-column> + <el-table-column + prop="remark" + align="center" + width="330" + label="澶囨敞" + > + <template slot-scope="scope"> + <el-input + type="textarea" + :rows="2" + v-model="scope.row.remark" + placeholder="澶囨敞" + /> + </template> + </el-table-column> + <el-table-column + fixed="right" + align="center" + label="鎿嶄綔" + width="180" + > + <template slot-scope="scope"> + <el-button + type="text" + size="mini" + @click="addRow(scope.$index)" + v-if=" + operationType == 'add' || + operationType == 'update' || + operationType == 'check' + " + >鏂板</el-button + > + <el-button + @click.native.prevent=" + deleteRows(scope.row, scope.$index, rbDetails) + " + type="text" + size="small" + v-if=" + operationType == 'add' || + operationType == 'update' || + operationType == 'check' + " + > + 鍒犻櫎 + </el-button> + </template> + </el-table-column> + </el-table> + </el-row> + + <el-row + v-if=" + operationType == 'detail' || + operationType == 'check' || + operationType == 'update' + " + > + <el-table :data="fundflowList" border> + <el-table-column + label="瀹℃牳鏃ユ湡" + align="center" + width="160" + prop="createTime" + /> + <el-table-column + label="瀹℃牳浜�" + align="center" + width="120" + prop="checkusername" + /> + <el-table-column + label="瀹℃牳缁撴灉" + align="center" + width="200" + prop="flowconclusion" + > + <template slot-scope="scope"> + <span v-if="scope.row.flowconclusion == 1">閫氳繃</span> + <span v-if="scope.row.flowconclusion == 2">涓嶉�氳繃</span> + </template> + </el-table-column> + <el-table-column + label="瀹℃牳澶囨敞" + align="center" + prop="flowcontent" + /> + </el-table> + </el-row> + <el-row + style="margin-top: 25px; margin-bottom: 5px" + v-if="operationType == 'check'" + > + <el-col :span="7"> + <el-form-item label="瀹℃牳缁撴灉" align="left"> + <el-radio-group v-model="checkObj.flowlevelone" align="left"> + <el-radio label="1">閫氳繃</el-radio> + <el-radio label="2">涓嶉�氳繃</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + </el-row> + <el-row v-if="operationType == 'check'"> + <el-col :span="17"> + <el-form-item label="瀹℃牳澶囨敞" align="left"> + <el-input v-model="checkObj.flowconclusion" placeholder="澶囨敞" /> + </el-form-item> + </el-col> + </el-row> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button + type="primary" + @click="submitForm" + v-if=" + operationType == 'add' || + operationType == 'update' || + ismanager == true || + beforehandType == '1' + " + >鎻愪氦淇濆瓨</el-button + > + <el-button + type="success" + @click="handleup" + v-if="operationType == 'add' || operationType == 'update'" + >涓婃姤</el-button + > + <el-button + type="primary" + @click="checksubmit" + v-if="operationType == 'check' && beforehandType != '1'" + >鎻愪氦瀹℃牳</el-button + > + <el-button @click="cancel">鍏� 闂�</el-button> + </div> + </div> + + <el-dialog + :visible.sync="showSelectionDialog" + :close-on-click-modal="false" + :title="'涓汉淇℃伅閫夋嫨'" + width="500px" + style="text-align: center" + v-loading="loading" + > + <el-form ref="funddetailForm" :model="funddetailForm"> + <el-row> + <el-select + v-model="funddetailForm.userName" + filterable + remote + reserve-keyword + placeholder="璇疯緭鍏ュ叧閿瘝" + :remote-method="remoteMethod" + :loading="loadingperformance" + > + <el-option + v-for="item in optionsperformance" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-row> + </el-form> + <span slot="footer" class="dialog-footer"> + <el-button @click="showSelectionDialog = false">鍙� 娑�</el-button> + <el-button type="primary" @click="ConfirmDetailDialog()" + >纭� 瀹�</el-button + > + </span> + </el-dialog> + <el-dialog title="鎻愮ず" :visible.sync="Savereminder" width="30%"> + <el-alert + :title=" + '鎮ㄥ凡娣诲姞' + + totalquantity + + '鏉℃暟鎹紝涓洪槻姝㈡暟鎹涪澶辨槸鍚︽彁浜や繚瀛樺啀缁х画娣诲姞銆�' + " + type="warning" + > + </el-alert> + <span slot="footer" class="dialog-footer"> + <el-button @click="unsave">鍙� 娑�</el-button> + <el-button type="primary" @click="Savenow">纭� 瀹�</el-button> + </span> + </el-dialog> + + <!-- 鎵归噺閫夊彇 --> + <el-dialog + title="鎵归噺鐢熸垚鏄庣粏淇℃伅" + :visible.sync="batchdialogVisible" + width="40%" + > + <div style="max-height: 330px; overflow-y: auto"> + <el-checkbox + :indeterminate="isIndeterminate" + v-model="checkAll" + @change="handleCheckAllChange" + >鍏ㄩ��</el-checkbox + > + <div style="margin: 15px 0;"></div> + <el-checkbox-group + v-model="checkedCities" + @change="handleCheckedCitiesChange" + > + <el-checkbox + border + v-for="city in cityOptions" + :label="city" + :key="city.userNo" + >{{ city.userName }}</el-checkbox + > + </el-checkbox-group> + </div> + + <span slot="footer" class="dialog-footer"> + <el-button @click="batchdialogVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="BatchentryFn">纭� 瀹�</el-button> + </span> + </el-dialog> + </div> +</template> + +<script> +import { + listDonatebaseinfo, + getDonatebaseinfo +} from "@/api/project/donatebaseinfo"; +import debounce from "lodash/debounce"; +import { + getFund, + delFund, + updateFund, + getdownloadLW, + checkfund, + getdownloadBX, + addorupdateFund, + ManualCalculation, + getdetailsByItemId +} from "@/api/project/fund"; + +import { + delFunddetail, + getownFundDetail, + getItemNames, + getFundTypeAll +} from "@/api/project/funddetail"; + +import { listFundflow } from "@/api/project/fundflow"; + +import { + listOrganization, + getOrganization, + listReportname, + listperformance, + listUser +} from "@/api/project/organization"; + +import { + listExternalperson, + addExternalperson, + updateExternalperson, + exportExternalperson +} from "@/api/project/externalperson"; + +import { listItemexpense } from "@/api/project/itemexpense"; + +import { getUserProfile } from "@/api/system/user"; +import Li_area_select from "@/components/Address"; +import OrgSelecter from "@/views/project/components/orgselect"; +import { getToken } from "@/utils/auth"; + +export default { + //import寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢� + components: { + Li_area_select, + OrgSelecter + }, + name: "fundApply", + + dicts: ["sys_DonationStatus", "sys_recordstatus", "sys_professionaltitle"], + + data() { + //杩欓噷瀛樻斁鏁版嵁 + return { + // 閬僵灞� + loading: false, + // 瀵煎嚭閬僵灞� + exportLoading: false, + usernamedata: "", + jurisdiction: false, + Routinglevel: 1, + // 琛ㄥ崟鍙傛暟 + form: {}, + experthear: "", + spocewl: "", + //璐圭敤鐢宠琛ㄥ崟title + title: "", + //鐢宠鍗曠被鍨� + businessType: "0", + businessName: "", + //鎿嶄綔绫诲瀷 + operationType: "", + //褰撳墠鍗曟嵁id + curId: 0, + //褰撳墠閫変腑鎹愮尞妗堜緥 + curCase: {}, + total: 0, + // 褰撳墠鐢ㄦ埛淇℃伅 + userprofile: {}, + //绯荤粺鐢ㄦ埛鍒楄〃 + userlist: [], + //鎵�鏈変汉鍛樿〃 + personlist: [], + //涓撳鍒楄〃 + expertlist: [], + //鍖荤枟鏈烘瀯鍒楄〃 + unitList: [], + //璐圭敤鎶ラ攢鏈烘瀯鍒楄〃 + feeUnitList: [], + batchdialogVisible: false, + itemlist: [], + cityOptions: [], + checkAll: false, + checkedCities: [], + Personnelforname: null, + unitforname: null, + isIndeterminate: true, + + //鏄惁鏄笓瀹惰垂鐨凮PO瀹℃壒浜哄憳 + ismanager: false, + //涓撳璐归�夋嫨锛�1鏄笓瀹跺簱锛�2鏄柊澧� + expertfrom: "1", + baselisttages: [ + { + id: 1, + name: "寰呴瀹�" + }, + { + id: 2, + name: "棰勫閫氳繃绛夊緟鏉愭枡" + }, + { + id: 3, + name: "宸叉敹鍒版姤閿�鏉愭枡" + } + ], + PerformanceType: [ + { + id: 1, + name: "鏈堝害缁╂晥" + }, + { + id: 2, + name: "瀛e害缁╂晥" + }, + { + id: 3, + name: "骞村害缁╂晥" + } + ], + + //鎹愮尞妗堜緥鍒楄〃 + donateList: [], + //璐圭敤鏄庣粏鍒楄〃 + rbDetails: [], + formData: {}, + amount: 0.0, + totalPreTaxAmount: 0.0, + totalAfterTaxAmount: 0.0, + totalAmount: 0.0, + tableDatatop: [], + optionsperformance: [], + valueperformance: [], + listperformancea: [], + loadingperformance: false, + + //璐圭敤绫诲瀷鏁扮粍 + feeItemTypes: [], + + //琛岃褰曠殑璐圭敤绫诲瀷鏁扮粍 + rowfeeItemTypes: [{ label: "绠$悊鎴愭湰", value: "9" }], + + //璐圭敤璇存槑 + feeBlocks: [], + + fundflowList: [], + // 闅忔満鏁� + randomnumber: "", + + //涓撳/鍗曚綅閫夋嫨锛歟xpert/unit + selectionType: "", + showSelectionDialog: false, + //绋庡墠閲戦鏍囬锛氫笓瀹惰垂-绋庡墠閲戦锛涘尰瀛︽垚鏈�佸姙鍏垂鐢�-閲戦 + amountLabel: "绋庡墠閲戦", + + // 琛ㄥ崟鏍¢獙 + rules: { + createTime: [ + { required: true, message: "璇疯緭鍏ュ~鎶ユ棩鏈�", trigger: "blur" } + ], + reason: [ + { required: true, message: "璇疯緭鍏ュ嚭宸簨鐢�", trigger: "blur" } + ], + deptmentname: [ + { required: true, message: "璇疯緭鍏ユ墍灞炰笟鍔$粍", trigger: "blur" } + ] + }, + + funddetailForm: { + index: null, + userName: null, + beneficiaryname: null, + beneficiaryno: null, + unitno: null, + unitname: null, + expertname: null, + expertidcardno: null, + expertunitno: null, + expertunitname: null, + experttitle: null, + expertdepositbank: null, + expertbankcardno: null + }, + + expertform: { + id: null, + address: null, + bankcardno: null, + branchbankname: null, + createBy: null, + createTime: null, + del_flag: null, + depositbank: null, + idcardno: null, + personnelunitno: null, + pym: null, + remark: null, + searchValue: null, + sex: null, + telephone: null, + title: null, + unitname: null, + unitno: null, + updateBy: null, + updateTime: null, + username: null, + userno: null, + userstatus: 1, + usertype: null, + wbm: null + }, + //瀹℃壒鍙傛暟 + checkObj: { + flowlevelone: null, + flowconclusion: null, + fundid: null + }, + + // 鏌ヨ鍙傛暟 + queryParams: { + organizationname: null, + organizationtype: null, + pageNum: 1, + pageSize: 10, + name: null, + idcardno: null, + residenceprovince: null, + residencecity: null, + residencetown: null, + recordstate: null, + treatmenthospitalname: null, + donorno: null, + reportername: null, + reporttime: null + }, + + fundQueryParam: { + pageNum: 1, + pageSize: 100, + infoid: null, + applytype: "0", + createBy: null + }, + + expertQueryParam: { + pageNum: 1, + pageSize: 10000, + userno: null, + username: null, + usertype: null + }, + + //璁$畻涓◣鍙傛暟 + taxParam: { + beneficiaryNo: "", + money: "0", + startTime: "" + }, + beforehandType: null, + //鏈嶅姟璐圭敤鍙傛暟 + expenseQueryParams: { + pageNum: 1, + pageSize: 10000, + itemid: null, + expense: null, + expensedescribe: null, + usestate: null + }, + + //绁ㄦ嵁鏂囦欢 + pdftitle: "", + pdfimg: "", + pdfimgsrcList: [], + pdfVisible: false, + previewpdf: false, + hintitle: "璇蜂笂浼犳枃浠跺悗鏌ョ湅", + atpresent: "", + Savereminder: false, //鎻愰啋淇濆瓨寮规 + Reminderquantity: 0, //鎻愰啋鏁伴噺 + totalquantity: 0, //鎬绘暟閲� + Modifyornot: 0 //鏄惁淇敼 + }; + }, + + //鐩戝惉灞炴�� 绫讳技浜巇ata姒傚康 + computed: {}, + //鐩戞帶data涓殑鏁版嵁鍙樺寲 + watch: {}, + //鏂规硶闆嗗悎 + methods: { + bbaaccss(val) {}, + // 娴忚鍣ㄩ〉闈㈠叧闂垨鍒锋柊鎻愮ず + beforeunloadHandler(e) { + if ( + (JSON.stringify(this.form) == sessionStorage.getItem("apiform") && + JSON.stringify(this.rbDetails) == + sessionStorage.getItem("apifunddetail")) || + !sessionStorage.getItem("apifunddetail") + ) { + } else { + this._beforeUnload_time = new Date().getTime(); + e = e || window.event; + if (e) { + e.returnValue = "鍏抽棴鎻愮ず"; + } + return "鍏抽棴鎻愮ず"; + } + }, + + // 琛ㄥ崟閲嶇疆 + reset() { + this.form = { + id: null, + applytype: "0", + userno: null, + username: null, + deptmentname: null, + deptmentno: null, + managername: null, + infoid: null, + donorno: null, + delFlag: null, + createBy: null, + createTime: null, + updateBy: null, + updateTime: null, + familyrelations: null, + name: null, + remark: null, + doname: null, + unitname: null, + unitno: null, + sex: null, + idcardtype: null, + idcardno: null, + phone: null, + donorname: null, + depositbank: null, + bankprovince: null, + bankprovincename: null, + bankcity: null, + bankcityname: null, + banktown: null, + banktownname: null, + branchbankname: null, + bankcardno: null, + annexbankcard: null, + annexregistform: null, + consolationmoney: null, + servicetypename: null, + servicesscope: null, + servicesscopename: null + }; + this.resetForm("form"); + //娓呯┖闄勪欢 + // this.fileList = []; + }, + /** 閫氳繃鍙傛暟鑾峰彇涓氬姟绫诲瀷 */ + getroute() { + console.log(11); + //閫夋嫨涓氬姟绫诲瀷:1銆佹柊澧烇紱2銆佷慨鏀癸紱3銆佹煡鐪� + this.curId = this.$route.query.id; + this.businessType = this.$route.query.businessType; + this.operationType = this.$route.query.operationType; + this.beforehandType = this.$route.query.beforehandType; + console.log(1); + //鑾峰彇璐圭敤椤圭洰绫诲瀷 + this.getFeeTypes(); + this.businessName = "缁╂晥鐢宠鍗�"; + this.getUnitList(); + console.log(2); + + if (this.operationType == "add") { + this.title = this.businessName + "鏂板缓"; + this.handleAdd(); + } else if (this.operationType == "update") { + this.title = this.businessName + "淇敼"; + console.log(this.title); + this.handleUpdate(); + } else if (this.operationType == "detail") { + this.title = this.businessName + "鏌ョ湅"; + this.jurisdiction = true; + this.handleDetail(); + } else if (this.operationType == "check") { + this.title = this.businessName + "瀹℃牳"; + this.handleCheck(); + } + }, + + /** 鏂板鎸夐挳鎿嶄綔 */ + handleAdd() { + console.log("鏂板"); + //鍒濆鍖� + this.istrue += 2; + this.reset(); + /** businessType锛�1锛氫笓瀹惰垂锛�2锛氫鸡鐞嗕笓瀹惰垂锛�3锛氬尰瀛︽垚鏈紱4锛氬姙鍏垂鐢�*/ + this.form.applytype = this.businessType; + //鍒濆鍖栨槑缁� + this.rbDetails = []; + this.addRow(0); + }, + + /** 淇敼鎸夐挳鎿嶄綔 */ + handleUpdate() { + this.isopen = 0; + this.reset(); + + getFund(this.curId).then(response => { + this.form = response.data; + sessionStorage.removeItem("apiform"); + + sessionStorage.setItem("apiform", JSON.stringify(this.form)); + + //鏄庣粏澶勭悊 + getownFundDetail(this.curId).then(res => { + this.rbDetails = res.data; + + if (this.rbDetails.length > 0) { + for (let m = 0; m < this.rbDetails.length; m++) { + this.rbDetails[m].itemlist = []; + this.getRowFeeItems(m, this.rbDetails[m]); + + //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭� + this.rbDetails[m].rowfeeblocks = this.feeBlocks.filter( + r => r.itemid == this.rbDetails[m].itemid + ); + } + + sessionStorage.removeItem("apifunddetail"); + sessionStorage.setItem( + "apifunddetail", + JSON.stringify(this.rbDetails) + ); + } else { + this.addRow(0); + } + }); + let listFundflowparams = { + fundid: this.curId, + fundtype: 2 + }; + listFundflow(listFundflowparams).then(res => { + this.fundflowList = res.rows; + }); + }); + }, + + /** 鏌ョ湅鎸夐挳鎿嶄綔 */ + handleDetail() { + this.isopen = 0; + this.reset(); + getFund(this.curId).then(response => { + this.form = response.data; + sessionStorage.removeItem("apiform"); + sessionStorage.setItem("apiform", JSON.stringify(this.form)); + //涓氬姟鏄庣粏 + getownFundDetail(this.curId).then(res => { + this.rbDetails = res.data; + console.log("this.feeBlocks", this.feeBlocks); + for (let m = 0; m < this.rbDetails.length; m++) { + this.rbDetails[m].itemlist = []; + this.getRowFeeItems(m, this.rbDetails[m]); + + //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭� + this.rbDetails[m].rowfeeblocks = this.feeBlocks.filter( + r => r.itemid == this.rbDetails[m].itemid + ); + console.log( + "this.rbDetails[m].rowfeeblocks", + this.rbDetails[m].rowfeeblocks + ); + } + + if (this.rbDetails.length == 0) { + this.addRow(0); + } + }); + //涓氬姟娴佺▼ + let listFundflowparams = { + fundid: this.curId, + fundtype: 2 + }; + listFundflow(listFundflowparams).then(res => { + this.fundflowList = res.rows; + }); + }); + }, + + /** 鏌ョ湅鎸夐挳鎿嶄綔 */ + handleCheck() { + this.isopen = 0; + this.reset(); + + getFund(this.curId).then(response => { + this.form = response.data; + sessionStorage.removeItem("apiform"); + sessionStorage.setItem("apiform", JSON.stringify(this.form)); + //涓氬姟鏄庣粏 + getownFundDetail(this.curId).then(res => { + this.rbDetails = res.data; + for (let m = 0; m < this.rbDetails.length; m++) { + this.rbDetails[m].itemlist = []; + this.getRowFeeItems(m, this.rbDetails[m]); + + //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭� + this.rbDetails[m].rowfeeblocks = this.feeBlocks.filter( + r => r.itemid == this.rbDetails[m].itemid + ); + } + + if (this.rbDetails.length == 0) { + this.addRow(0); + } + }); + + //涓氬姟娴佺▼ + let listFundflowparams = { + fundid: this.curId, + fundtype: 2 + }; + listFundflow(listFundflowparams).then(res => { + this.fundflowList = res.rows; + }); + }); + }, + + /** 鍒犻櫎鎸夐挳鎿嶄綔 */ + handleDelete() { + this.$modal + .confirm("鏄惁纭鍒犻櫎璇ヨ褰曪紵") + .then(function() { + return delFund(this.curId); + }) + .then(() => { + getownFundDetail(this.curId).then(res => { + let listdetails = res.data; + for (let i = 0; i < listdetails.length; i++) { + delFunddetail(listdetails[i].id); + } + }); + this.getfundList(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }) + .catch(() => {}); + }, + + /** 涓婃姤鎸夐挳鎿嶄綔 */ + handleup() { + if ( + (JSON.stringify(this.form) == sessionStorage.getItem("apiform") && + JSON.stringify(this.rbDetails) == + sessionStorage.getItem("apifunddetail")) || + !sessionStorage.getItem("apifunddetail") + ) { + } else { + this.$message.error("璇蜂繚瀛樺悗鍐嶈繘琛屼笂鎶�"); + return; + } + this.$confirm("鏄惁纭灏嗙櫥璁拌褰曚笂鎶ワ紵", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }) + .then(() => { + //鏌ユ壘鏄惁瀛樺湪鐧昏瀹屾垚璁板綍 + //鍒ゆ柇鏄惁瀛樺湪涓婃姤璁板綍 + this.form.recordstatus = 0; + if (!this.form.id) { + this.form.id = this.$route.query.id; + } + + updateFund(this.form).then(response => { + if (response.code == 200) { + this.$message({ + type: "success", + message: "鐢宠鎴愬姛" + }); + this.cancel(); + } else { + this.$message({ + type: "error", + message: "鐢宠澶辫触" + }); + } + this.loading = false; + }); + }) + .catch(() => { + this.$message({ + type: "info", + message: "宸插彇娑堢敵璇�" + }); + }); + }, + generateRandomString(length) { + const characters = + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; + let randomString = ""; + for (let i = 0; i < length; i++) { + randomString += characters.charAt( + Math.floor(Math.random() * characters.length) + ); + } + return randomString; + }, + /** 鎻愪氦鎸夐挳 */ + submitForm: debounce(function() { + if (!this.randomnumber) { + this.randomnumber = this.generateRandomString(9); + this.form.randomnumber = this.randomnumber; + } + + this.$refs["form"].validate(valid => { + if (valid) { + this.formData = this.form; + + //淇濆瓨鍓嶆牎楠屾暟鎹� + for (let k = 0; k < this.rbDetails.length; k++) { + let tempDetail = this.rbDetails[k]; + if (tempDetail.itemid == null) { + this.$modal.msgWarning( + "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + + (k + 1).toString() + + "琛岀殑鏈嶅姟椤圭洰鏈�夋嫨锛岃鍏堥�夋嫨鏈嶅姟椤圭洰鍚庡啀鎻愪氦淇濆瓨锛�" + ); + return; + } + + if (this.businessType == "1") { + if (tempDetail.servicesscope == null) { + this.$modal.msgWarning( + "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + + (k + 1).toString() + + "琛岀殑璐圭敤璇存槑鏈�夋嫨,璇烽�夋嫨璐圭敤璇存槑鍚庡啀鎻愪氦淇濆瓨锛�" + ); + return; + } + + if (tempDetail.beneficiaryno == null) { + this.$modal.msgWarning( + "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + + (k + 1).toString() + + "琛岀殑鏈嶅姟浜哄憳濮撳悕涓洪�夋嫨,璇烽�夋嫨浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�" + ); + return; + } + } + } + + //澶勭悊鏄庣粏 + for (let i = 0; i < this.rbDetails.length; i++) { + let tempDetail = this.rbDetails[i]; + //鑾峰彇鏈嶅姟椤圭洰鏄庣粏 + let tempitemlist = tempDetail.itemlist; + let itemIndex = tempitemlist.findIndex( + item => tempDetail.itemid == item.id + ); + if (itemIndex > -1) { + tempDetail.itemname = tempitemlist[itemIndex].itemName; + tempDetail.itemid = tempitemlist[itemIndex].id; + } + //鑾峰彇applytypename銆佹湇鍔¤垂鐢ㄥぇ绫� + let applytypeIndex = this.rowfeeItemTypes.findIndex( + item => tempDetail.applytype == item.value + ); + if (applytypeIndex > -1) { + tempDetail.applytypename = this.rowfeeItemTypes[ + applytypeIndex + ].label; + tempDetail.subjecttype = this.rowfeeItemTypes[ + applytypeIndex + ].subjecttype; + tempDetail.subjecttypename = this.rowfeeItemTypes[ + applytypeIndex + ].subjecttypename; + } + this.rbDetails[i] = tempDetail; + } + //璁$畻褰撳墠琛屾姤閿�鍐呭璐圭敤鍚堣锛岀◣鍓嶉噾棰濓紙amount锛夈�佹墸绋庨噾棰濓紙taxamount锛夈�佺◣鍚庨噾棰濓紙taxedamount锛� + if (this.businessType == "2") { + for (let j = 0; j < this.rbDetails.length; j++) { + let tempDetail = this.rbDetails[j]; + if ( + isNaN(parseFloat(tempDetail.amount)) || + parseFloat(tempDetail.amount) == 0 + ) { + this.$modal.msgWarning( + "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + + (j + 1).toString() + + "琛岀殑閲戦鏈緭鍏ワ紝璇峰厛杈撳叆閲戦鍚庡啀鎻愪氦淇濆瓨锛�" + ); + return; + } + } + } else if (this.businessType == "3" || this.businessType == "4") { + for (let j = 0; j < this.rbDetails.length; j++) { + let tempDetail = this.rbDetails[j]; + if ( + isNaN(parseFloat(tempDetail.amount)) || + parseFloat(tempDetail.amount) == 0 + ) { + this.$modal.msgWarning( + "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + + (j + 1).toString() + + "琛岀殑閲戦鏈緭鍏ワ紝璇峰厛杈撳叆閲戦鍚庡啀鎻愪氦淇濆瓨锛�" + ); + return; + } + if ( + isNaN(parseFloat(tempDetail.taxamount)) || + parseFloat(tempDetail.taxamount) == 0 + ) { + tempDetail.taxedamount = parseFloat(tempDetail.amount); + } else { + tempDetail.taxedamount = + parseFloat(tempDetail.amount) + + parseFloat(tempDetail.taxamount); + } + } + } + //淇濆瓨鏁版嵁 + this.loading = true; + this.form.serviceFunddetails = 0; + this.rbDetails.map(item => { + this.form.serviceFunddetails += item.amount; + }); + this.form.serviceFunddetails = this.rbDetails; + + if (this.form.id != null) { + } else { + this.form.recordstatus = -1; + } + + sessionStorage.setItem( + "apifunddetail", + JSON.stringify(this.rbDetails) + ); + sessionStorage.setItem("apiform", JSON.stringify(this.form)); + addorupdateFund(this.form).then(response => { + console.log(response, "淇濆瓨杩斿弬"); + if (response.code === 200) { + this.$modal.msgSuccess("鐢宠鍗曚繚瀛樻垚鍔燂紒"); + this.$store.dispatch("tagsView/delView", this.$route); + this.$router.push({ + path: "/finance/performancedetails/", + query: { + id: response.data, + businessType: "5", + operationType: "update" + } + }); + this.Routinglevel++; + } else { + this.$modal.msgError("鐢宠鍗曚繚瀛樺け璐ワ細" + response.msg); + } + }); + //鍏抽棴绐楀彛 + this.loading = false; + // this.getfundList(); + } + }); + }, 500), + + //瀹℃壒鎻愪氦 + checksubmit() { + let checkFundObj = { + // fundid: this.checkObj.fundid, + fundid: this.curId, + flowconclusion: this.checkObj.flowlevelone, + flowcontent: this.checkObj.flowconclusion + }; + checkfund(checkFundObj).then(res => { + //鍏抽棴绐楀彛 + this.reset(); + this.$modal.msgSuccess("瀹℃牳瀹屾垚!"); + this.$store.dispatch("tagsView/delView", this.$route); + this.$router.go(-1); + }); + }, + + // 鍏抽棴鎸夐挳 + cancel() { + console.log(-this.Routinglevel); + this.$store.dispatch("tagsView/delView", this.$route); + this.$router.go(-this.Routinglevel); + }, + + //鑾峰彇褰撳墠鐢ㄦ埛淇℃伅 + getUserProfile() { + getUserProfile().then(res => { + this.userprofile = res.data; + this.standardlevel = res.data.standardlevel; + if ( + this.userprofile.userName == "admin" || + this.userprofile.userName == "001" || + this.userprofile.userName == "047" + ) { + this.ismanager = true; + } else { + this.ismanager = false; + } + if (this.operationType == "add") { + this.form.username = this.userprofile.nickName; + this.form.userno = this.userprofile.userName; + this.form.deptmentname = this.userprofile.dept.deptName; + this.form.deptmentno = this.userprofile.dept.deptId; + this.form.managername = this.userprofile.dept.leader; + this.form.phone = this.userprofile.phonenumber; + if (this.businessType == "4") { + this.getUserAccount(); + } + } + }); + }, + + //鑾峰彇绯荤粺鐢ㄦ埛鍒楄〃 + getUserList() { + listUser().then(res => { + this.userlist = res.data; + }); + }, + + //鑾峰彇鎵�鏈変笓瀹�/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯鍒楄〃 + getExternalList() { + listExternalperson().then(res => { + this.personlist = res.rows; + for (let j = 0; j < this.personlist.length; j++) { + //鑾峰彇璐圭敤鎶ラ攢鏈烘瀯鍒楄〃 + if (this.personlist[j].usertype == "org") { + this.feeUnitList.push({ + id: this.personlist[j].id, + reportNo: this.personlist[j].userno, + reportName: this.personlist[j].username, + depositbank: this.personlist[j].depositbank, + branchbankname: this.personlist[j].branchbankname, + bankcardno: this.personlist[j].bankcardno + }); + } + //涓撳浜哄憳鍒楄〃 + else if (res.rows[j].usertype == "expert") { + this.expertlist.push({ + expertNo: this.personlist[j].id, + exportName: this.personlist[j].username + }); + } + } + }); + }, + + //鑾峰彇缁忓姙浜鸿处鍙蜂俊鎭� + getUserAccount() { + this.personlist.map(res => { + if (res.username == this.form.username) { + this.form.bankname = res.depositbank; //res.branchbankname銆乺es.depositbank; + this.form.bankcardno = res.bankcardno; + this.form.phone = res.telephone; + } + }); + }, + + //鑾峰彇涓撳浜哄憳鍒楄〃 + getExpertList() { + let types = ["expert"]; + let templist = []; + for (let i = 0; i < types.length; i++) { + templist = []; + listReportname(types[i]).then(res => { + for (let j = 0; j < res.data.length; j++) { + templist.push({ + reportName: res.data[j].reportName, + reportNo: res.data[j].reportNo + }); + } + this.expertlist = this.expertlist.concat(templist); + }); + } + }, + + //鑾峰彇璐圭敤鏈烘瀯鍒楄〃 + getFeeUnitList() { + listReportname("org").then(res => { + this.feeUnitList = res.data; + console.log(this.feeUnitList); + }); + }, + + //鑾峰彇鍖荤枟鏈烘瀯鍒楄〃 + getUnitList() { + listOrganization(3).then(response => { + for (let i = 0; i < response.rows.length; i++) { + this.unitList.push({ + //organizationid: response.rows[i].organizationid, + organizationid: response.rows[i].id, + organizationname: response.rows[i].organizationname + }); + } + }); + }, + + //鑾峰彇鎹愮尞妗堜緥鍒楄〃 + getBaseInfoList() { + this.loading = true; + listDonatebaseinfo(this.queryParams).then(response => { + this.donateList = response.rows; + this.total = response.total; + this.loading = false; + }); + }, + + //鑾峰彇鏈嶅姟璐圭敤绫诲瀷銆佹湇鍔¢」鐩�佹湇鍔¤鏄� + getFeeTypes() { + //鑾峰彇鏈嶅姟璐圭敤绫诲瀷銆佹湇鍔¢」鐩� + getFundTypeAll(5).then(res => { + let dataList = res.data; + //鑾峰彇鏈嶅姟璐圭敤鏈嶅姟椤圭洰 + this.feeItemTypes = dataList; + console.log(this.feeItemTypes); + //鑾峰彇鏈嶅姟璐圭敤绫诲瀷 + this.rowfeeItemTypes = []; + for (let m = 0; m < dataList.length; m++) { + this.rowfeeItemTypes.push({ + value: dataList[m].itemType, + label: dataList[m].itemTypeName, + subjecttype: dataList[m].subjecttype, + subjecttypename: dataList[m].subjecttypename + }); + } + console.log(this.rowfeeItemTypes); + console.log(this.feeItemTypes); + }); + + //鑾峰彇鏈嶅姟璐圭敤璇存槑鍒楄〃 + this.loading = true; + listItemexpense(this.expenseQueryParams).then(response => { + response.rows.forEach(item => { + this.feeBlocks.push({ + servicesscope: JSON.stringify(item.id), + itemid: item.itemid, + expense: item.expense, + expensedescribe: item.expensedescribe, + remark: item.expensedescribe + }); + }); + this.loading = false; + }); + }, + + //鑾峰彇鏈嶅姟椤圭洰 + getRowFeeItems(rowindex, row) { + let list = this.feeItemTypes.filter(r => r.itemType == row.applytype); + row.itemlist = list[0].itemDetails; + this.$set(this.rbDetails, rowindex, row); + }, + + //鍔犺浇鏈嶅姟椤圭洰 + verifyFeeItemType(row) { + let list = this.feeItemTypes.filter(r => r.itemType == row.applytype); + row.itemlist = list[0].itemDetails; + row.itemid = null; + this.$forceUpdate(); + }, + + //鏍¢獙鏀惰垂椤圭洰 + verifyFeeItem(row) { + row.itemlist.map(res => { + if (row.itemid === res.id) { + row.remark = res.itemDescribe; + row.itemcode = res.itemCode; + } + }); + //鍒ゆ柇鏀惰垂椤圭洰鏄惁閲嶅 + + var repeatNum = 0; + this.rbDetails.map(res => { + if (res.applytype === row.applytype && res.itemid == row.itemid) { + repeatNum++; + } + }); + if (repeatNum > 1) { + this.$modal.msgWarning("鎮ㄥ凡缁忔彁浜よ繃璇ユ湇鍔¢」鐩簡"); + } + + //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭� + + row.servicesscope = null; + row.servicesscopename = ""; + row.amount = 0.0; + row.taxamount = 0.0; + row.taxedamount = 0.0; + + row.rowfeeblocks = this.feeBlocks.filter(r => r.itemid == row.itemid); + if (row.rowfeeblocks.length == 1) { + row.servicesscope = row.rowfeeblocks[0].servicesscope; + row.servicesscopename = row.rowfeeblocks[0].expensedescribe; + if (row.servicesscopename.includes("绋庡悗")) { + row.amount = 0.0; + row.taxamount = 0.0; + row.taxedamount = row.rowfeeblocks[0].expense; + } else { + row.amount = row.rowfeeblocks[0].expense; + row.taxamount = 0.0; + row.taxedamount = 0.0; + } + } + }, + + //绛涙煡鍑哄搴旂殑璐圭敤椤圭洰 + searchItemType(val, scope) { + let result = []; + if (val != "") { + let tempitemlist = scope.row.itemlist; + for (let i = 0; i < tempitemlist.length; i++) { + let pym = tempitemlist[i].itempinyin; + if (pym != null && pym != undefined && pym != "") { + if (pym.indexOf(val) != -1) { + result.push(tempitemlist[i]); + } + } + } + scope.row.itemlist = result; + } else { + getItemNames(scope.row.applytype).then(res => { + scope.row.itemlist = res.data; + //this.$set(this.rbDetails, rowindex, row); + }); + } + }, + + //璁$畻閲戦 + calculateTax(row, type) { + let targetValue = 0; + for (let i = 0; i < this.rbDetails.length; i++) { + if (!this.rbDetails[i].amount) { + this.rbDetails[i].amount = 0; + } + targetValue += parseFloat(this.rbDetails[i].amount); // 鍋囪姣忎釜瀵硅薄涓殑鐗瑰畾鍊煎瓨鍌ㄥ湪'specificValue'灞炴�т笅 + } + console.log(targetValue, "鍚堣"); + this.form.pretaxcost = targetValue; + }, + + unsave() { + this.Savereminder = false; + this.Reminderquantity = 0; + }, + // 鎺ュ彈鎻愰啋绔嬪埢淇濆瓨 + Savenow() { + if (!this.randomnumber) { + this.randomnumber = this.generateRandomString(9); + this.form.randomnumber = this.randomnumber; + } + this.Savereminder = false; + this.Reminderquantity = 0; + this.totalquantity = 0; + this.$refs["form"].validate(valid => { + if (valid) { + this.formData = this.form; + // let totalPreTaxAmount = 0.0; + // let totalAfterTaxAmount = 0.0; + // let totalAmount = 0.0; + + //淇濆瓨鍓嶆牎楠屾暟鎹� + for (let k = 0; k < this.rbDetails.length; k++) { + let tempDetail = this.rbDetails[k]; + if (tempDetail.itemid == null) { + this.$modal.msgWarning( + "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + + (k + 1).toString() + + "琛岀殑鏈嶅姟椤圭洰鏈�夋嫨锛岃鍏堥�夋嫨鏈嶅姟椤圭洰鍚庡啀鎻愪氦淇濆瓨锛�" + ); + return; + } + + if (this.businessType == "1") { + if (tempDetail.servicesscope == null) { + this.$modal.msgWarning( + "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + + (k + 1).toString() + + "琛岀殑璐圭敤璇存槑鏈�夋嫨,璇烽�夋嫨璐圭敤璇存槑鍚庡啀鎻愪氦淇濆瓨锛�" + ); + return; + } + + if (tempDetail.beneficiaryno == null) { + this.$modal.msgWarning( + "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + + (k + 1).toString() + + "琛岀殑鏈嶅姟浜哄憳濮撳悕涓洪�夋嫨,璇烽�夋嫨浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�" + ); + return; + } + } + } + + //澶勭悊鏄庣粏 + for (let i = 0; i < this.rbDetails.length; i++) { + let tempDetail = this.rbDetails[i]; + //鑾峰彇鏈嶅姟椤圭洰鏄庣粏 + let tempitemlist = tempDetail.itemlist; + let itemIndex = tempitemlist.findIndex( + item => tempDetail.itemid == item.id + ); + if (itemIndex > -1) { + tempDetail.itemname = tempitemlist[itemIndex].itemName; + tempDetail.itemid = tempitemlist[itemIndex].id; + } + + //鑾峰彇applytypename銆佹湇鍔¤垂鐢ㄥぇ绫� + let applytypeIndex = this.rowfeeItemTypes.findIndex( + item => tempDetail.applytype == item.value + ); + if (applytypeIndex > -1) { + tempDetail.applytypename = this.rowfeeItemTypes[ + applytypeIndex + ].label; + tempDetail.subjecttype = this.rowfeeItemTypes[ + applytypeIndex + ].subjecttype; + tempDetail.subjecttypename = this.rowfeeItemTypes[ + applytypeIndex + ].subjecttypename; + } + this.rbDetails[i] = tempDetail; + } + for (let j = 0; j < this.rbDetails.length; j++) { + let tempDetail = this.rbDetails[j]; + if ( + isNaN(parseFloat(tempDetail.amount)) || + parseFloat(tempDetail.amount) == 0 + ) { + this.$modal.msgWarning( + "鏈嶅姟椤圭洰琛ㄤ腑锛岀" + + (j + 1).toString() + + "琛岀殑閲戦鏈緭鍏ワ紝璇峰厛杈撳叆閲戦鍚庡啀鎻愪氦淇濆瓨锛�" + ); + return; + } + if ( + isNaN(parseFloat(tempDetail.taxamount)) || + parseFloat(tempDetail.taxamount) == 0 + ) { + tempDetail.taxedamount = parseFloat(tempDetail.amount); + } else { + tempDetail.taxedamount = + parseFloat(tempDetail.amount) + + parseFloat(tempDetail.taxamount); + } + } + + //淇濆瓨鏁版嵁 + this.loading = true; + this.form.serviceFunddetails = 0; + this.rbDetails.map(item => { + this.form.serviceFunddetails += item.amount; + }); + this.form.serviceFunddetails = this.rbDetails; + + if (this.form.id != null) { + } else { + this.form.recordstatus = -1; + } + + addorupdateFund(this.form).then(response => { + if (response.code === 200) { + this.$modal.msgSuccess("鐢宠鍗曚繚瀛樻垚鍔燂紒"); + this.getroute(); + this.getExternalList(); + this.getUserList(); + this.getUserProfile(); + } else { + this.$modal.msgError("鐢宠鍗曚繚瀛樺け璐ワ細" + response.msg); + } + }); + + //鍏抽棴绐楀彛 + this.loading = false; + // this.getfundList(); + } + }); + }, + // 鍏ㄩ�� + handleCheckAllChange(val) { + this.checkedCities = val ? this.cityOptions : []; + this.isIndeterminate = false; + }, + handleCheckedCitiesChange(value) { + let checkedCount = value.length; + this.checkAll = checkedCount === this.cityOptions.length; + this.isIndeterminate = + checkedCount > 0 && checkedCount < this.cityOptions.length; + }, + // 鎵嬪姩璁$畻 + Manualcalculationfn() { + ManualCalculation(this.rbDetails).then(res => { + console.log(res); + if (res.code == 200) { + sessionStorage.removeItem("apiform"); + sessionStorage.removeItem("apifunddetail"); + sessionStorage.setItem( + "apifunddetail", + JSON.stringify(this.rbDetails) + ); + sessionStorage.setItem("apiform", JSON.stringify(this.form)); + this.$router.go(0); + } else { + // this.$message({ + // type: "error", + // message: "鐢宠澶辫触" + // }); + } + }); + }, + // 鎵归噺褰曞叆鐐瑰嚮 + Batchentry() { + // ethical + this.listperformance(); + this.batchdialogVisible = true; + }, + listperformance() { + listperformance(1).then(res => { + this.cityOptions = res.data; + this.listperformancea = []; + this.listperformancea = this.cityOptions.map(item => { + return { value: item.userName, label: item.userName }; + }); + console.log(this.cityOptions, "缁╂晥鎵归噺"); + }); + }, + // 纭褰曞叆 + BatchentryFn() { + this.checkedCities.forEach(item => { + let rowData = { + orderno: null, + fundid: null, + beneficiaryname: item.userName, + beneficiaryno: item.usertNo, + unitname: item.unitname, + unitno: null, + uintuserno: null, + title: item.title, + idcardtype: null, + idcardno: item.idcrad, + sex: null, + familyrelations: null, + phone: null, + depositbank: item.depositBank, + bankcardno: item.bankCardNo, + branchbankname: item.branchbankname, + annexbankcard: null, + annexregistform: null, + applytype: "9", + applytypename: "绠$悊鎴愭湰", + itemid: 68, + itemcode: "68", + itemname: "缁╂晥宸ヨ祫", + itemtype: null, + amount: 200, + prepaidamount: null, + taxamount: null, + invoicecount: null, + taxedamount: null, + attachcount: null, + remark: null, + recordstatus: "-1", + delFlag: null, + createBy: null, + createTime: null, + updateBy: null, + updateTime: null, + uploadflag: null, + uploadtime: null, + itemlist: [{ id: 68, itemName: "缁╂晥宸ヨ祫" }], + servicesscope: null, + rowfeeblocks: [], + annexfiles: null + }; + + this.rbDetails.push(rowData); + }); + for (let i = 0; i < this.checkedCities.length + 1; i++) { + this.rbDetails[i].orderno = i + 1; + } + this.calculateTax(); + this.batchdialogVisible = false; + console.log(this.rowfeeItemTypes); + }, + //鏂板涓�琛� + addRow(rowIndex) { + let rowData = { + orderno: null, + id: null, + fundid: null, + beneficiaryname: null, + beneficiaryno: null, + unitname: null, + unitno: null, + uintuserno: null, + title: null, + idcardtype: null, + idcardno: null, + sex: null, + familyrelations: null, + phone: null, + depositbank: null, + bankcardno: null, + branchbankname: null, + annexbankcard: null, + annexregistform: null, + applytype: null, + itemid: null, + itemname: null, + itemcode: null, + itemtype: null, + amount: null, + prepaidamount: null, + taxamount: null, + invoicecount: null, + taxedamount: null, + attachcount: null, + remark: null, + recordstatus: "-1", + delFlag: null, + createBy: null, + createTime: null, + updateBy: null, + updateTime: null, + uploadflag: null, + uploadtime: null, + itemlist: [], + servicesscope: null, + rowfeeblocks: [], + annexfiles: null + }; + // if (this.Reminderquantity >= 5) { + // this.Savereminder = true; + // return; + // } + console.log(12); + + if (rowIndex == undefined || rowIndex == null || rowIndex < 0) { + this.rbDetails.push(rowData); + console.log(13); + } else { + this.rbDetails.splice(rowIndex + 1, 0, rowData); + console.log(14); + } + this.Reminderquantity++; + this.totalquantity++; + for (let i = 0; i < this.rbDetails.length; i++) { + this.rbDetails[i].orderno = i + 1; + } + }, + + deleteRows(row, index, rows) { + this.$confirm("鍒犻櫎鏁版嵁鍚庡皢涓嶈兘鎭㈠锛岀‘璁よ鍒犻櫎鍚�?", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "success" + }) + .then(() => { + if (this.rbDetails.length == 1) { + this.addRow(0); + } + if (row.id !== null) { + delFunddetail(row.id).then(res => { + if (res.code === 200) { + this.$confirm("鍒犻櫎鏁版嵁鎴愬姛", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "success" + }).then(() => { + this.$set(rows, rows.splice(index, 1)); + getownFundDetail(this.form.id).then(res => { + this.$set(this.rbDetails, res.data); + for (let i = 0; i < this.rbDetails.length; i++) { + this.rbDetails[i].orderno = i + 1; + } + this.calculateTax(); + // this.rbDetails = res.data + }); + }); + } + }); + } else { + rows.splice(index, 1); + this.calculateTax(); + } + }) + .catch(() => { + //鍑犵偣鍙栨秷鐨勬彁绀� + }); + //鍏ㄩ儴鍒犻櫎鍚庢坊鍔犱竴鏉℃柊琛� + }, + //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨 + ShowDetailDialog(spoce, showType) { + this.spocewl = spoce; + this.selectionType = showType; + this.selectionType = this.experthear; + this.expertfrom = "1"; + console.log(spoce); + this.funddetailForm.index = spoce.$index; + this.funddetailForm.beneficiaryno = spoce.row.beneficiaryno; + this.funddetailForm.beneficiaryname = spoce.row.beneficiaryname; + this.funddetailForm.unitno = spoce.row.unitno; + this.funddetailForm.unitname = spoce.row.unitname; + this.funddetailForm.expertname = ""; + this.funddetailForm.expertidcardno = ""; + this.funddetailForm.expertunitno = ""; + this.funddetailForm.expertunitname = ""; + this.funddetailForm.experttitle = ""; + this.funddetailForm.expertdepositbank = ""; + this.funddetailForm.expertbankcardno = ""; + this.showSelectionDialog = true; + }, + + //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨 + ConfirmDetailDialog() { + let tempIndex = this.funddetailForm.index; + let tempExpertName = this.funddetailForm.userName; + let singleDetail = this.rbDetails[tempIndex]; + + //浠庝笓瀹跺垪琛ㄨ幏鍙栦俊鎭� + this.cityOptions.map(res => { + if (tempExpertName == res.userName) { + singleDetail.beneficiaryno = res.userno; + singleDetail.beneficiaryname = res.userName; + singleDetail.bankcardno = res.bankCardNo; + singleDetail.branchbankname = res.branchbankname; + singleDetail.depositbank = res.depositBank; + singleDetail.idcardno = res.bankCardNo; + singleDetail.phone = res.telephone; + singleDetail.title = res.title; + singleDetail.unitname = res.unitname; + singleDetail.unitno = parseInt(res.unitno); + } + }); + this.rbDetails[tempIndex] = singleDetail; + this.showSelectionDialog = false; + }, + remoteMethod(query) { + console.log(this.listperformancea); + if (query !== "") { + this.loadingperformance = true; + setTimeout(() => { + this.loadingperformance = false; + this.optionsperformance = this.listperformancea.filter(item => { + return item.label.toLowerCase().indexOf(query.toLowerCase()) > -1; + }); + }, 200); + } else { + this.optionsperformance = []; + } + } + }, + + //鐢熷懡鍛ㄦ湡 - 鍒涘缓瀹屾垚锛堝彲浠ヨ闂綋鍓峵his瀹炰緥锛� + created() { + //鑾峰彇璺敱鍙傛暟 + this.getroute(); + this.getExternalList(); + this.getFeeUnitList(); + this.listperformance(); + }, + + //鐢熷懡鍛ㄦ湡 - 鎸傝浇瀹屾垚锛堝彲浠ヨ闂瓺OM鍏冪礌锛� + mounted() { + window.addEventListener("beforeunload", e => this.beforeunloadHandler(e)); + this.getUserList(); + this.getUserProfile(); + }, + + destroyed() { + window.removeEventListener("beforeunload", e => this.beforeunloadFn(e)); + }, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴� + activated() {} //濡傛灉椤甸潰鏈塳eep-alive缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂 +}; +</script> + +<style lang="scss" scoped> +.Modifydetailscla { + padding: 10px; + + .boxdiv { + font-size: 18px; + padding: 0 30px; + padding-bottom: 60px; + + .top-text { + text-align: center; + font-size: 23px; + font-weight: 600; + margin: 20px 0; + margin-bottom: 50px; + } + + .dialog-footer { + text-align: left; + margin-top: 10px; + } + } +} + +.upload-demo { + text-align: center; +} + +.pdfimg { + display: flex; // text-align: center; + width: 100%; + height: 600px; + + .box-pdf { + width: 400px; + padding-top: 20px; + margin-right: 30px; + border: 1px solid #dcdfe6; + -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), + 0 0 6px 0 rgba(0, 0, 0, 0.04); + box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1); // <- Add this to fix. + } + + .pdftit { + width: 200px; + padding: 20px; + font-size: 18px; + } + + .pdftit:hover { + background: #c0cef7; + } + + .pdfimgmin { + width: 60%; + + img { + width: 100%; + } + } + + .pdfimgmins { + font-size: 28px; + width: 60%; + text-align: center; + } +} + +::v-deep .el-input--medium .el-input__inner { + height: 36px; + line-height: 36px; + text-align: center; +} + +::v-deep .el-alert__title { + font-size: 25px; + line-height: 25px; +} + +::v-deep .el-checkbox.is-bordered + .el-checkbox.is-bordered { + margin-left: 0 !important; + margin-bottom: 10px; +} +</style> diff --git a/src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue b/src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue index 74630a4..137f820 100644 --- a/src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue +++ b/src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue @@ -63,6 +63,20 @@ </el-select> </el-form-item> </el-col> + + </el-row> + <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="6"> <el-button type="primary" @@ -128,11 +142,6 @@ 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" @@ -173,7 +182,7 @@ fixed="right" align="center" class-name="small-padding fixed-width" - width="160px" + width="260px" > <template slot-scope="scope"> <el-button diff --git a/src/views/project/fundcheck/expertFeeCheck/index.vue b/src/views/project/fundcheck/expertFeeCheck/index.vue index 90d6299..c3cc7b7 100644 --- a/src/views/project/fundcheck/expertFeeCheck/index.vue +++ b/src/views/project/fundcheck/expertFeeCheck/index.vue @@ -41,6 +41,17 @@ </el-col> --> </el-row> <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="3"> <div style="margin-bottom: 15px;"> <el-button @@ -105,7 +116,7 @@ <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> @@ -320,7 +331,7 @@ <el-input v-model="scope.row.bankcardno" placeholder="閾惰鍗″彿" /> </template> </el-table-column> - <el-table-column fixed="right" align="center" label="鎿嶄綔" width="120"> + <el-table-column fixed="right" align="center" label="鎿嶄綔" width="200"> <template slot-scope="scope"> <el-button @click="saveRows(scope.row, scope.$index)" type="text" size="small" v-if="show === 1"> 淇濆瓨 diff --git a/src/views/project/fundcheck/medicalCostCheck/index.vue b/src/views/project/fundcheck/medicalCostCheck/index.vue index d59a34a..17d2f03 100644 --- a/src/views/project/fundcheck/medicalCostCheck/index.vue +++ b/src/views/project/fundcheck/medicalCostCheck/index.vue @@ -88,6 +88,17 @@ </el-col> --> </el-row> <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="4"> <div style="margin-bottom: 15px;"> <el-button @@ -720,7 +731,7 @@ fixed="right" align="center" label="鎿嶄綔" - width="120" + width="200" > <template slot-scope="scope"> <el-button diff --git a/src/views/project/fundcheck/officeExpenseCheck/index.vue b/src/views/project/fundcheck/officeExpenseCheck/index.vue index e1eca67..2055fa4 100644 --- a/src/views/project/fundcheck/officeExpenseCheck/index.vue +++ b/src/views/project/fundcheck/officeExpenseCheck/index.vue @@ -69,6 +69,17 @@ </el-col> --> </el-row> <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="4"> <div style="margin-bottom: 15px;"> <el-button @@ -219,9 +230,9 @@ type="text" icon="el-icon-download" @click="totaldayin(scope.row.id)" - v-hasPermi="['project:donateconsolationfund:download']" >涓嬭浇</el-button > + <!-- v-hasPermi="['project:donateconsolationfund:download']" --> <!-- 鏂板瀹℃牳椤甸潰 --> <!-- <el-button diff --git a/src/views/project/fundcheck/performanceCheck/index.vue b/src/views/project/fundcheck/performanceCheck/index.vue new file mode 100644 index 0000000..c7cae40 --- /dev/null +++ b/src/views/project/fundcheck/performanceCheck/index.vue @@ -0,0 +1,595 @@ +<template> + <div class="app-container"> + <el-form + :model="queryParams" + ref="queryForm" + :inline="true" + v-show="showSearch" + label-width="120px" + > + <el-row align="left"> + <el-col :span="5"> + <el-form-item label="缁忓姙浜�" prop="name"> + <el-input + v-model="queryParams.name" + placeholder="璇疯緭鍏ョ粡鍔炰汉" + clearable + size="small" + @keyup.enter.native="flowconclusion" + /> + </el-form-item> + </el-col> + <el-col :span="7"> + <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" + @keyup.enter.native="flowconclusion" + /> + </el-form-item> + </el-col> + + <el-col :span="5"> + <el-form-item label="瀹℃壒鐘舵��" prop="CHECKFLAG" style="float: left"> + <el-select + v-model="queryParams.CHECKFLAG" + placeholder="璇烽�夋嫨" + style="width: 100%" + > + <el-option + v-for="item in checkFlagOptions" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="4"> + <div style="margin-bottom: 15px;"> + <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 + > + </div> + </el-col> + </el-row> + </el-form> + <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="180" + 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="缁╂晥绫诲瀷" + width="150" + align="center" + prop="Performancetype" + > + <template slot-scope="scope"> + <dict-tag + :options="dict.type.sys_performance_type" + :value="scope.row.Performancetype" + /> + </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="棰勫鐘舵��" + width="140" + align="center" + prop="checkstatus" + > + <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="remark" /> + <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="beforehandCheck(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 + > + </template> + </el-table-column> + </el-table> + + <pagination + v-show="total > 0" + :total="total" + :page.sync="queryParams.pageNum" + :limit.sync="queryParams.pageSize" + @pagination="getlistbypower" + /> + </el-row> + </el-form> + + + </div> +</template> + +<script> +import { + onelistFund, + listFund, + getFund, + delFund, + addFund, + updateFund, + exportFund, + getdownloadLW, + getdownloadSH, + getdownloadSS, + getdownloadYX, + getdownloadBX, + checkfund, + listbypower, + getdetailsByItemId, + addFundSharedInfo +} from "@/api/project/fund"; +import { + onelistFunds, + listFunddetails, + listFunddetail, + getFunddetail, + delFunddetail, + addFunddetail, + getownFundDetail, + updateFunddetail, + exportFunddetail, + getItemNames, + getFundType, + getFundTypeAll, + listcountItem +} from "@/api/project/funddetail"; +import { + listOrganization, + getOrganization, + listReportname, + listUser +} from "@/api/project/organization"; +import { + listFundflow, + getFundflow, + delFundflow, + addFundflow, + updateFundflow, + exportFundflow +} from "@/api/project/fundflow"; + +import { + listExternalperson, + getExternalperson, + getInfoBytheUserNo, + delExternalperson, + addExternalperson, + updateExternalperson, + exportExternalperson +} from "@/api/project/externalperson"; +import { + listDonatebaseinfo, + getDonatebaseinfo +} from "@/api/project/donatebaseinfo"; +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: { + Li_area_select, + OrgSelecter + }, + name: "Donateconsolationfund", + dicts: [ + "sys_recordstatus", + "sys_OrganizationType", + "sys_DonationStatus", + "sys_depositbank", + "sys_FamilyRelation", + "sys_IDType", + "sys_ConsolationType", + "sys_fund_type", + "sys_finsubject", + "sys_financeitemtype", + "sys_consolationfundlevel", + "sys_stage_type" + ], + data() { + return { + arrr2: [], + arrr3: [], + //璐圭敤绫诲瀷鏁扮粍 + fundtypeArr: [], + show: 0, + createTime: [], + newobj: { + flowlevelone: null, + flowconclusion: null, + fundid: null + }, + showFirstapprovelevel: false, + showSecondapprovelevel: false, + showThirdapprovelevel: false, + bankprovince: { + sheng: "", + shi: "", + qu: "", + organizationname: null + }, + openbtn: true, + isopen: 0, + istrue: 1, + reporters: [], + lunlilaowu: [], + arrid: [], + a: "", + idss: "", + updatedatas: {}, + //褰撳墠閫変腑鎹愮尞鑰呭鍚� + curdonordoname: "", + //褰撳墠閫変腑鎹愮尞鑰呮渚嬬紪鍙� + curdonorno: "", + // 閬僵灞� + loading: true, + // 瀵煎嚭閬僵灞� + exportLoading: false, + // 閫変腑鏁扮粍 + ids: [], + // 闈炲崟涓鐢� + single: true, + // 闈炲涓鐢� + multiple: true, + // 鏄剧ず鎼滅储鏉′欢 + showSearch: true, + // 鎬绘潯鏁� + total: 0, + // 鎹愮尞浜洪亾鎱伴棶閲戣〃鏍兼暟鎹� + donateconsolationfundList: [], + // 寮瑰嚭灞傛爣棰� + title: "", + //鎹愮尞妗堜緥鍒楄〃鏁版嵁 + // donationCaseTableData:[], + donatebaseinfoList: [], + + // 鏄惁鏄剧ず寮瑰嚭灞� + open: false, + checkFlagOptions: [ + { + value: 0, + label: "宸插鎵�" + }, + { + value: 1, + label: "寰呭鎵�" + }, + { + value: 2, + label: "鍏ㄩ儴" + } + ], + // 鏌ヨ鍙傛暟 + queryParams: { + pageNum: 1, + pageSize: 10, + APPLICANT: null, + APPLICATIONBEGTIME: null, + APPLICATIONENDTIME: null, + CHECKFLAG: 1, + APPLYTYPE: 5, + money: null + }, + // 琛ㄥ崟鍙傛暟 + form: {}, + // 琛ㄥ崟鏍¢獙 + rules: { + username: [ + { required: true, message: "璇疯緭鍏ョ敵璇蜂汉濮撳悕", trigger: "blur" } + ], + createTime: [ + { required: true, message: "璇疯緭鍏ョ敵璇锋棩鏈�", trigger: "blur" } + ], + amountrequested: [ + { required: true, message: "璇疯緭鍏ョ敵璇烽噾棰�", trigger: "blur" } + ] + }, + //褰撳墠閫変腑鎹愮尞妗堜緥 + curCase: {}, + //鏄惁鏄剧ず璐圭敤鐢宠寮圭獥 + dialogOpen: false, + // title: "", + //璐圭敤鐢宠琛ㄥ崟title + applyFormTitle: "", + //璐圭敤鐢宠鍗昮orm + applicationForm: {}, + fundDetailArr: [], + fundflowList: [], + organspeciallist: [], + yitibody: [], + donoryixue: [], + jiashumoney: [], + itemArr: [], + allnum: [], + userlist: [], + approveLevel: 5, + fundtypeArrAll: [], + dialogType: "edit", + + //闄勪欢鍒楄〃 + fileList: [], + //涓婁紶闄勪欢璺緞 + uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", + headers: { + Authorization: "Bearer " + getToken() + } + }; + }, + watch: {}, + created() { + this.resetForm(); + this.getUsermsg(); + }, + + mounted() { + if (grtItem("officeExpenseCheck")) { + this.queryParams = grtItem("officeExpenseCheck"); + } + this.getlistOrganization(); + //his.getlistUser(); + this.getlistbypower(); + }, + + methods: { + selectapplication() { + this.queryParams.APPLICATIONBEGTIME = this.createTime[0]; + this.queryParams.APPLICATIONENDTIME = this.createTime[1]; + }, + getlistbypower() { + this.loading = true; + // this.queryParams.params = {}; + console.log("this.queryParams", this.queryParams); + listbypower(this.queryParams).then(res => { + removeItem("officeExpenseCheck"); + setItem("officeExpenseCheck", this.queryParams); + this.loading = false; + let list = res.rows; + this.total = res.total; + this.donateconsolationfundList = list; + }); + }, + getlistOrganization() { + listOrganization().then(res => {}); + }, + + 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" + }); + } + }); + }, + + isopenvalue(index) { + this.isopen = index; + }, + + tojust(e) { + let username = "111"; + getFund(e).then(res => { + username = res.data.username; + this.$modal + .confirm('鏄惁纭閫氳繃"' + username + '"鐨勮垂鐢ㄧ敵璇凤紵') + .then(function() { + getFund(e).then(res => { + let data = res.data; + let financechecher = "宸插鏍�"; + data.financechecher = financechecher; + // data.recordstatus = "閮ㄩ棬宸查�氳繃"; + const username = data.username; + return updateFund(data); + }); + }) + .then(() => { + this.getList(); + this.getlistbypower(); + this.$modal.msgSuccess("瀹℃牳鎴愬姛"); + }); + }); + }, + /** 鎼滅储鎸夐挳鎿嶄綔 */ + flowconclusion() { + this.queryParams.pageNum = 1; + this.getlistbypower(); + }, + /** 閲嶇疆鎸夐挳鎿嶄綔 */ + resetQuery() { + this.daterangeReporttime = []; + this.resetForm("queryForm"); + this.getlistbypower(); + }, + // 澶氶�夋閫変腑鏁版嵁 + handleSelectionChange(selection) { + this.ids = selection.map(item => item.id); + this.single = selection.length !== 1; + this.multiple = !selection.length; + }, + beforehandCheck(row) { + this.$router.push({ + path: "/finance/performancedetails/", + query: { + id: row.id, + businessType: "5", + beforehandType: "1", + operationType: "check" + } + }); + }, + /** 瀹℃牳鎸夐挳鎿嶄綔 */ + handleCheck(row) { + this.$router.push({ + path: "/finance/performancedetails/", + query: { + id: row.id, + businessType: "5", + operationType: "check" + } + }); + return; + }, + + //鏌ョ湅瀹℃牳璇︽儏 + handleDetail(row) { + this.$router.push({ + path: "/finance/performancedetails/", + query: { + id: row.id, + businessType: "5", + operationType: "detail" + } + }); + return; + }, + getto() { + const infoid = this.curCase.id; + const aaa = { + infoid: infoid, + count: this.idss + }; + listFunddetails(aaa).then(res => {}); + }, + getUsermsg() { + getUserProfile().then(response => { + // this.defaultperson = response.data; + // this.standardlevel = response.data.standardlevel; + if ( + response.data.userName === "001" || + response.data.userName === "002" || + response.data.userName === "admin" + ) { + this.show = 1; + } else { + this.show = 3; + } + }); + }, + } +}; +</script> diff --git a/src/views/project/travelexpenseapply/index.vue b/src/views/project/travelexpenseapply/index.vue index 24412c3..faf9fc8 100644 --- a/src/views/project/travelexpenseapply/index.vue +++ b/src/views/project/travelexpenseapply/index.vue @@ -68,6 +68,19 @@ </el-select> </el-form-item> </el-col> + </el-row> + <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="4"> <el-form-item> <el-button -- Gitblit v1.9.3