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