From 57451296729e00be76124e4a6be7c14bdf67c0e6 Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期三, 02 八月 2023 10:41:17 +0800
Subject: [PATCH] yxh增加了杂费申请
---
src/views/project/fund/expertFeeFundApply/index.vue | 59
vue.config.js | 2
src/views/project/funddetail/index.vue | 2086 ++++++++++++++++++++++++++++-----
src/views/project/fund/fundApply/index.vue | 4
src/views/project/fund/overheadcosts/index.vue | 1527 ++++++++++++++++++++++++
src/views/project/fund/medicalCostFundApply/index.vue | 47
src/api/project/fund.js | 4
7 files changed, 3,364 insertions(+), 365 deletions(-)
diff --git a/src/api/project/fund.js b/src/api/project/fund.js
index a95a25d..6cdd4e2 100644
--- a/src/api/project/fund.js
+++ b/src/api/project/fund.js
@@ -137,9 +137,9 @@
}
//鎵归噺涓婁紶璐圭敤鐢宠杩涜矾
-export function batchUploadFund(data) {
+export function addorupdateFund(data) {
return request({
- url: '/project/fund/addnew',
+ url: '/project/fund/addOrUpdateNew',
method: 'post',
data: data
})
diff --git a/src/views/project/fund/expertFeeFundApply/index.vue b/src/views/project/fund/expertFeeFundApply/index.vue
index 4593a19..3e9dcff 100644
--- a/src/views/project/fund/expertFeeFundApply/index.vue
+++ b/src/views/project/fund/expertFeeFundApply/index.vue
@@ -568,7 +568,7 @@
getdownloadSS,
getdownloadYX,
getdownloadBX,
- batchUploadFund,
+ addorupdateFund,
getdetailsByItemId
} from "@/api/project/fund";
@@ -1174,34 +1174,43 @@
//鎹愮尞鑰�
this.form.donorname = this.curCase.name;
- updateFund(this.form).then((response) => {
- if (response.code === 200) {
- this.loading = false;
- for (let m = 0; m < this.fundDetails.length; m++) {
- if (this.fundDetails[m].id > 0) {
- updateFunddetail(this.fundDetails[m]).then((response2) => { this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐�1锛�" + response.msg); });
- } else {
- addFunddetail(this.fundDetails[m]).then((response2) => { this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐�2锛�" + response.msg); });
- }
- }
- this.$modal.msgSuccess("涓撳鍔冲姟璐逛繚瀛樻垚鍔燂紒");
- } else {
- this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐ワ細" + response.msg);
- }
-
- });
+ // updateFund(this.form).then((response) => {
+ // if (response.code === 200) {
+ // this.loading = false;
+ // for (let m = 0; m < this.fundDetails.length; m++) {
+ // if (this.fundDetails[m].id > 0) {
+ // updateFunddetail(this.fundDetails[m]).then((response2) => { if (response.code != 200) { this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐�1锛�" + response.msg); } });
+ // } else {
+ // addFunddetail(this.fundDetails[m]).then((response2) => { if (response.code != 200) { this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐�2锛�" + response.msg); } });
+ // }
+ // }
+ // this.$modal.msgSuccess("涓撳鍔冲姟璐逛繚瀛樻垚鍔燂紒");
+ // } else {
+ // this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐ワ細" + response.msg);
+ // }
+ // });
} else {
this.form.recordstatus = -1;
- batchUploadFund(this.form).then((response) => {
- if (response.code === 200) {
- this.selectDonotor(this.curCase);
- } else {
- this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐ワ細" + response.msg);
- }
- });
+ // addorupdateFund(this.form).then((response) => {
+ // if (response.code === 200) {
+ // this.selectDonotor(this.curCase);
+ // } else {
+ // this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐ワ細" + response.msg);
+ // }
+ // });
}
+
+ addorupdateFund(this.form).then((response) => {
+ if (response.code === 200) {
+ this.selectDonotor(this.curCase);
+ this.$modal.msgSuccess("涓撳鍔冲姟璐逛繚瀛樻垚鍔燂紒");
+ } else {
+ this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐ワ細" + response.msg);
+ }
+ });
+
//鍏抽棴绐楀彛
this.loading = false;
this.dialogOpen = false;
@@ -1414,9 +1423,11 @@
row.servicesscopename = item.expensedescribe;
if (row.servicesscopename.includes("绋庡悗")) {
row.amount = 0.0;
+ row.taxamount = 0.0;
row.taxedamount = item.expense;
} else {
row.amount = item.expense;
+ row.taxamount = 0.0;
row.taxedamount = 0.0;
}
diff --git a/src/views/project/fund/fundApply/index.vue b/src/views/project/fund/fundApply/index.vue
index b1872b8..229e81c 100644
--- a/src/views/project/fund/fundApply/index.vue
+++ b/src/views/project/fund/fundApply/index.vue
@@ -447,7 +447,7 @@
getdownloadSS,
getdownloadYX,
getdownloadBX,
- batchUploadFund,
+ addorupdateFund,
getdownloadLL,
getdetailsByItemId,
} from "@/api/project/fund";
@@ -1053,7 +1053,7 @@
}
this.form.serviceFunddetails = this.fundDetailArr;
- batchUploadFund(this.form).then((response) => {
+ addorupdateFund(this.form).then((response) => {
if (response.code === 200) {
this.$modal.msgSuccess("鏂板鎴愬姛");
this.loading = false;
diff --git a/src/views/project/fund/medicalCostFundApply/index.vue b/src/views/project/fund/medicalCostFundApply/index.vue
index 763a956..4f1dd9c 100644
--- a/src/views/project/fund/medicalCostFundApply/index.vue
+++ b/src/views/project/fund/medicalCostFundApply/index.vue
@@ -367,7 +367,7 @@
deleteRows(scope.row, scope.$index, fundDetails)
" type="text" size="small">
鍒犻櫎
- </el-button>
+ </el-button>
<el-button @click.native.prevent="
Filepopup(scope.$index, fundDetails, scope.row)
" type="text" size="small">
@@ -506,7 +506,7 @@
getdownloadSS,
getdownloadYX,
getdownloadBX,
- batchUploadFund,
+ addorupdateFund,
getdetailsByItemId,
} from "@/api/project/fund";
import {
@@ -614,9 +614,6 @@
],
deptmentname: [
{ required: true, message: "璇疯緭鍏ユ墍灞炰笟鍔$粍", trigger: "blur" },
- ],
- amountrequested: [
- { required: true, message: "璇疯緭鍏ョ敵璇烽噾棰�", trigger: "blur" },
],
},
@@ -732,7 +729,7 @@
singleDetail.unitname = singleDetail.unitno;
}
}
- console.log("singleDetail",singleDetail);
+ console.log("singleDetail", singleDetail);
this.fundDetails[tempIndex] = singleDetail;
this.detailInfoDialogShow = false;
},
@@ -1079,9 +1076,11 @@
this.form.pretaxcost = parseFloat(this.form.amountrequested).toFixed(
2
);
+
if (this.form.id != null) {
updateFund(this.form).then((response) => {
this.getfundList();
+
this.dialogOpen = false;
this.getList();
this.selectDonotor(this.curCase);
@@ -1131,7 +1130,7 @@
}
this.form.serviceFunddetails = this.fundDetails;
- batchUploadFund(this.form).then((response) => {
+ addorupdateFund(this.form).then((response) => {
if (response.code === 200) {
this.$modal.msgSuccess("鏂板鎴愬姛");
this.loading = false;
@@ -1140,8 +1139,16 @@
this.loading = false;
}
});
+
+ //鍏抽棴绐楀彛
+ this.loading = false;
this.dialogOpen = false;
+ // this.getfundList();
+ this.getList();
+ this.selectDonotor(this.curCase);
}
+
+
}
});
},
@@ -1515,18 +1522,18 @@
// 鐐瑰嚮鏂囦欢
Filepopup(index, rows, row) {
- console.log(index, rows, row);
- this.atpresent = index;
- console.log(this.atpresent);
- this.pdfVisible = true;
- if (this.fundDetails[index].annexfilesList) {
- this.fileListto = this.rbDetails[index].annexfilesList;
- } else {
- this.fileListto = [];
- this.pdfimg = "";
- this.pdftitle = "";
- }
- },
+ console.log(index, rows, row);
+ this.atpresent = index;
+ console.log(this.atpresent);
+ this.pdfVisible = true;
+ if (this.fundDetails[index].annexfilesList) {
+ this.fileListto = this.rbDetails[index].annexfilesList;
+ } else {
+ this.fileListto = [];
+ this.pdfimg = "";
+ this.pdftitle = "";
+ }
+ },
//鐢熷懡鍛ㄦ湡 - 鍒涘缓瀹屾垚锛堝彲浠ヨ闂綋鍓峵his瀹炰緥锛�
created() {
@@ -1543,7 +1550,7 @@
this.getBankAccount();
this.getUsermsg();
},
-
+
beforeCreate() { }, //鐢熷懡鍛ㄦ湡 - 鍒涘缓涔嬪墠
beforeMount() { }, //鐢熷懡鍛ㄦ湡 - 鎸傝浇涔嬪墠
beforeUpdate() { }, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪墠
diff --git a/src/views/project/fund/overheadcosts/index.vue b/src/views/project/fund/overheadcosts/index.vue
new file mode 100644
index 0000000..1ebc354
--- /dev/null
+++ b/src/views/project/fund/overheadcosts/index.vue
@@ -0,0 +1,1527 @@
+<!-- -->
+<template>
+ <div class="app-container">
+ <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="70px">
+ <el-row align="left">
+ <el-col :span="6">
+ <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="6">
+ <el-form-item label="鎹愮尞杩涘害" prop="recordstate">
+ <el-select v-model="queryParams.recordstate" placeholder="璇烽�夋嫨璁板綍鐘舵��" clearable size="small">
+ <el-option v-for="dict in dict.type.sys_DonationStatus" :key="dict.value" :label="dict.label"
+ :value="dict.value" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <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>
+ <el-col :span="1.5">
+ <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
+ v-hasPermi="['project:medicalfund:add']">鍒涘缓鐢宠鍗�</el-button>
+ </el-col>
+
+ <el-col :span="9">
+ <el-form-item label="鎹愮尞缂栧彿">
+ <el-input v-model="curCase.donorno" :disabled="true"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="9">
+ <el-form-item label="濮撳悕">
+ <el-input v-model="curCase.name" :disabled="true"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col> </el-col>
+ </el-row>
+ <el-row>
+ <el-table v-loading="loading" border :data="donateconsolationfundList">
+ <el-table-column label="鐢宠鏃ユ湡" align="center" prop="createTime" width="150px">
+ <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="瀹℃牳鐘舵��" 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="鐢宠閲戦" align="center" prop="amountrequested" width="150px" />
+ <el-table-column label="鎵�灞炵粍鍒�" align="center" prop="deptmentname" width="150px" />
+ <el-table-column label="缁勯暱" align="center" prop="managername" width="220px" />
+ <!--
+ <el-table-column label="鑱旂郴鐢佃瘽" align="center" prop="phone" width="150px" />
+ <el-table-column label="宸ヤ綔鍗曚綅" align="center" prop="unitname" width="150px" />
+ -->
+ <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-edit" @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>
+ </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="4">鏉傞」璐圭敤鐢宠</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-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>
+ </div>
+</template>
+
+<script>
+//杩欓噷鍙互瀵煎叆鍏朵粬鏂囦欢锛堟瘮濡傦細缁勪欢锛屽伐鍏穓s锛岀涓夋柟鎻掍欢js锛宩son鏂囦欢锛屽浘鐗囨枃浠剁瓑绛夛級
+//渚嬪锛歩mport 銆婄粍浠跺悕绉般�� from '銆婄粍浠惰矾寰勩��';
+import {
+ onelistFund,
+ listFund,
+ getFund,
+ delFund,
+ addFund,
+ updateFund,
+ exportFund,
+ getdownloadLW,
+ getdownloadSH,
+ getdownloadSS,
+ getdownloadYX,
+ getdownloadBX,
+ addorupdateFund,
+ getdetailsByItemId,
+} 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 {
+ 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 { listFundflow } from "@/api/project/fundflow";
+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",
+ ],
+ data() {
+ //杩欓噷瀛樻斁鏁版嵁
+ return {
+ currentApplyType: "3",
+ // 閬僵灞�
+ 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,
+ },
+
+ fundQueryParam: {
+ pageNum: 1,
+ pageSize: 100,
+ infoid: null,
+ applytype: "4",
+ createBy: null,
+ },
+ // 琛ㄥ崟鍙傛暟
+ form: {},
+ // 琛ㄥ崟鏍¢獙
+ rules: {
+ username: [
+ { required: true, message: "璇疯緭鍏ョ敵璇蜂汉", trigger: "blur" },
+ ],
+ createTime: [
+ { required: true, message: "璇疯緭鍏ョ敵璇锋棩鏈�", trigger: "blur" },
+ ],
+ deptmentname: [
+ { required: true, message: "璇疯緭鍏ユ墍灞炰笟鍔$粍", trigger: "blur" },
+ ],
+ },
+
+ //鎹愮尞妗堜緥鍒楄〃鏁版嵁
+ // donationCaseTableData:[],
+ donatebaseinfoList: [],
+ //褰撳墠閫変腑鎹愮尞妗堜緥
+ curCase: {},
+ //鏄惁鏄剧ず璐圭敤鐢宠寮圭獥
+ dialogOpen: false,
+ // title: "",
+ //璐圭敤鐢宠琛ㄥ崟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: {
+ ShowDetailDialog(spoce, showType) {
+ 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.detailInfoDialogShow = true;
+ this.detailInfoDialogShowType = showType;
+ },
+
+ ConfirmDetailDialog() {
+ let tempIndex = this.funddetailForm.index;
+ let tempName = this.funddetailForm.beneficiaryname;
+ let tempUnitname = this.funddetailForm.unitname;
+ let singleDetail = this.fundDetails[tempIndex];
+ if (this.detailInfoDialogShowType == "name") {
+ this.personlist.map((res) => {
+ if (tempName == 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.idcardno;
+ singleDetail.phone = res.telephone;
+ singleDetail.title = res.title;
+ singleDetail.unitname = res.unitname;
+ singleDetail.unitno = res.unitno;
+ } else {
+ singleDetail.beneficiaryname = tempName;
+ singleDetail.beneficiaryno = tempName;
+ }
+ });
+ } else if (this.detailInfoDialogShowType == "unit") {
+ singleDetail.unitno = this.funddetailForm.unitno;
+ console.log("this.funddetailForm", this.funddetailForm);
+ try {
+ let unitIndex = this.bankaccountlist.findIndex(
+ (item) => singleDetail.unitno == item.reportNo
+ );
+
+ console.log("this.bankaccountlist[unitIndex]", this.bankaccountlist[unitIndex]);
+ if (unitIndex > -1) {
+ singleDetail.unitname = this.bankaccountlist[unitIndex].reportName;
+ singleDetail.depositbank = this.bankaccountlist[unitIndex].depositbank;
+ singleDetail.bankcardno = this.bankaccountlist[unitIndex].bankcardno;
+ } else {
+ singleDetail.unitname = singleDetail.unitno;
+ }
+ } catch {
+ singleDetail.unitname = singleDetail.unitno;
+ }
+ }
+ console.log("singleDetail", singleDetail);
+ this.fundDetails[tempIndex] = singleDetail;
+ this.detailInfoDialogShow = false;
+ },
+ selectremark(row) {
+ this.fundblock.forEach((item, i) => {
+ if (item.expensedescribe === row.servicesscopename) {
+ row.servivesscope = item.servivesscope;
+ row.amount = item.expense;
+ this.form.serviceFunddetails = 0;
+ this.fundDetails.map((item) => {
+ this.form.serviceFunddetails += item.amount;
+ });
+ // row.remark
+ }
+ });
+ },
+ handleup(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: "宸插彇娑堢敵璇�",
+ });
+ });
+ },
+ select(row) {
+ row.itemArr.map((res) => {
+ if (row.itemid === res.id) {
+ row.remark = res.itemDescribe;
+ row.itemcode = res.itemCode;
+ }
+ });
+ var repeatNum = 0;
+ this.fundDetails.map((res) => {
+ if (res.applytype === row.applytype && res.itemid == row.itemid) {
+ repeatNum++;
+ }
+ });
+ if (repeatNum > 1) {
+ this.$modal.msgWarning("鎮ㄥ凡缁忔彁浜よ繃鏈嶅姟椤圭洰");
+ }
+
+ getdetailsByItemId(row.itemid).then((res) => {
+ let fundmsg = res.data;
+ let fundblock = [];
+ fundmsg.forEach((item) => {
+ fundblock.push({
+ expense: item.expense,
+ expensedescribe: item.expensedescribe,
+ remark: item.expensedescribe,
+ servicesscope: item.id,
+ });
+ });
+ row.fundblock = fundblock;
+ row.servicesscope = null;
+ row.servicesscopename = "";
+ });
+ },
+ selectamount(row) {
+ this.fundblock.forEach((item, i) => {
+ if (item.expense === row.amount) {
+ row.remark = item.expensedescribe;
+ }
+ });
+ },
+ getUsermsg() {
+ getUserProfile().then((response) => {
+ this.defaultperson = response.data;
+ this.standardlevel = response.data.standardlevel;
+ });
+ },
+ /** 鎼滅储鎸夐挳鎿嶄綔 */
+ handleQuery() {
+ this.queryParams.pageNum = 1;
+ this.getList();
+ },
+ /** 閲嶇疆鎸夐挳鎿嶄綔 */
+ resetQuery() {
+ this.daterangeReporttime = [];
+
+ this.resetForm("queryForm");
+ this.handleQuery();
+ },
+ /** 鏌ヨ鎹愮尞浜洪亾鎱伴棶閲戝垪琛� */
+ getList() {
+ this.loading = true;
+ this.queryParams.params = {};
+ if (null != this.daterangeReporttime && "" != this.daterangeReporttime) {
+ this.queryParams.params["beginReporttime"] =
+ this.daterangeReporttime[0];
+ this.queryParams.params["endReporttime"] = this.daterangeReporttime[1];
+ }
+ // this.queryParams.residencetown = this.$refs.areaSelect.getQu();
+ listDonatebaseinfo(this.queryParams).then((response) => {
+ this.donatebaseinfoList = response.rows;
+ this.total = response.total;
+ this.loading = false;
+ });
+ },
+
+ getBaseInfoList() {
+ this.loading = true;
+ listDonatebaseinfo(this.queryParams).then((response) => {
+ this.donatebaseinfoList = response.rows;
+ this.total = response.total;
+ this.loading = false;
+ });
+ },
+
+ /** 鏂板鎸夐挳鎿嶄綔 */
+ handleAdd() {
+ this.$router.push({
+ path: "/finance/funddetail/",
+ query: { id: 0, pos: 2,routerparam:this.defaultperson }
+ });
+
+ this.istrue += 2;
+ this.reset();
+ this.queryParams.params = {};
+ this.form.username = this.defaultperson.nickName;
+ this.form.userno = this.defaultperson.userName;
+ this.form.deptmentname = this.defaultperson.dept.deptName;
+ this.form.deptmentno = this.defaultperson.dept.deptId;
+ this.form.managername = this.defaultperson.dept.leader;
+
+ // this.form.createTime = nowdate;
+ //this.open = true;
+ //this.initFundApplyForm();
+ this.fundDetails = [];
+ this.addRow();
+ this.dialogOpen = true;
+ this.title = "娣诲姞璐圭敤鐢宠";
+ this.dialogType = "edit";
+ },
+
+
+ getfundList() {
+ this.loading = true;
+ this.reset();
+ this.fundQueryParam.infoid = this.curCase.id;
+ listFund(this.fundQueryParam).then((response) => {
+ this.loading = false;
+ this.donateconsolationfundList = response.rows;
+ });
+ },
+
+ // 鍙栨秷鎸夐挳
+ cancel() {
+ this.dialogOpen = false;
+ this.reset();
+ },
+
+ // 琛ㄥ崟閲嶇疆
+ reset() {
+ this.form = {
+ recordstate: -1,
+ username: null,
+ userno: null,
+ id: null,
+ infoid: null,
+ donorno: null,
+ delFlag: null,
+ createBy: null,
+ createTime: null,
+ updateBy: null,
+ updateTime: null,
+ familyrelations: null,
+ name: 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,
+ applytype: "3",
+ recordstatus: -1,
+ servicetypename: null,
+ servicesscopename: null,
+ dialogType: "edit",
+ fundflowList: [],
+ };
+ this.resetForm("form");
+
+ //娓呯┖闄勪欢
+ this.fileList = []
+ },
+
+ //鏂板涓�琛�
+ addRow(rowIndex) {
+ let rowData = {
+ orderno: null,
+ id: null,
+ fundid: null,
+ beneficiaryname: "鐐瑰嚮閫夋嫨",
+ beneficiaryno: null,
+ unitname: "鐐瑰嚮閫夋嫨",
+ 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,
+ itemtype: null,
+ amount: null,
+ prepaidamount: null,
+ taxamount: null,
+ invoicecount: null,
+ taxedamount: null,
+ attachcount: null,
+ remark: null,
+ recordstatus: "0",
+ delFlag: null,
+ createBy: null,
+ createTime: null,
+ updateBy: null,
+ updateTime: null,
+ uploadflag: null,
+ uploadtime: null,
+ itemArr: [],
+ servivesscope: null,
+ };
+ if (rowIndex == undefined || rowIndex == null || rowIndex < 0) {
+ this.fundDetails.push(rowData);
+ } else {
+ this.fundDetails.splice(rowIndex + 1, 0, rowData);
+ }
+ for (let i = 0; i < this.fundDetails.length; i++) {
+ this.fundDetails[i].orderno = i + 1;
+ }
+ },
+
+ //鍔犺浇鏈嶅姟椤圭洰
+ LoadItemTypeArr(row) {
+ let list = this.fundtypeArrAll.filter((r) => r.itemType == row.applytype);
+ row.itemArr = list[0].itemDetails;
+ row.itemid = null;
+ this.$forceUpdate();
+ //this.loading = true;
+ // getItemNames(row.applytype).then((res) => {
+ // this.loading = false;
+ // row.itemid = null;
+ // row.itemArr = res.data;
+ // this.$forceUpdate();
+ // });
+ },
+
+ /** 鎻愪氦鎸夐挳 */
+ submitForm() {
+ this.$refs["form"].validate((valid) => {
+ if (valid) {
+ let formData = this.form;
+ for (let k = 0; k < this.fundDetails.length; k++) {
+ let tempDetail = this.fundDetails[k];
+ if (tempDetail.itemid == null) {
+ this.$modal.msgWarning("璇烽�夋嫨鏈嶅姟椤圭洰");
+ return;
+ }
+ //鍒ゆ柇鍗曚綅 unitSel
+ // try {
+ // //鑾峰彇鏈嶅姟椤圭洰鏄庣粏
+ // let unitIndex = this.bankaccountlist.findIndex(
+ // (item) => tempDetail.unitno == item.reportNo
+ // );
+ // if (unitIndex > -1) {
+ // tempDetail.unitname = this.bankaccountlist[unitIndex].reportName;
+ // } else {
+ // tempDetail.unitname = tempDetail.unitno;
+ // }
+ // } catch {
+ // tempDetail.unitname = tempDetail.unitno;
+ // }
+ }
+ try {
+ this.form.unitname = this.$refs.orgSelecter.getOptionByValue(
+ this.form.unitno
+ ).organizationname;
+ } catch {
+ this.form.treatmenthospitalname = this.form.treatmenthospitalno;
+ }
+ this.loading = true;
+ //闄勪欢澶勭悊
+ let list = this.fileList;
+ if (list.length > 0) {
+ this.form.annexbankcard = list.map(item => item.url).join(",");
+ }
+
+ this.form.donorname = this.curCase.name;
+ this.form.pretaxcost = parseFloat(this.form.amountrequested).toFixed(
+ 2
+ );
+
+ if (this.form.id != null) {
+ updateFund(this.form).then((response) => {
+ this.getfundList();
+
+ this.dialogOpen = false;
+ this.getList();
+ this.selectDonotor(this.curCase);
+ this.$modal.msgSuccess("淇敼鎴愬姛");
+ this.loading = false;
+ for (let m = 0; m < this.fundDetails.length; m++) {
+ let tempData = this.fundDetails[m];
+ let tempItemArr = tempData.itemArr;
+ tempData.fundid = formData.id;
+ //鑾峰彇鏈嶅姟椤圭洰鏄庣粏
+ let itemIndex = tempItemArr.findIndex(
+ (item) => tempData.itemid == item.id
+ );
+ if (itemIndex > -1) {
+ tempData.itemname = tempItemArr[itemIndex].itemName;
+ tempData.itemid = tempItemArr[itemIndex].id;
+ }
+ if (tempData.id > 0) {
+ updateFunddetail(tempData).then((response2) => { });
+ } else {
+ addFunddetail(tempData).then((response2) => { });
+ }
+ }
+ });
+ } else {
+ //淇濆瓨璐圭敤鐢宠
+ for (let m = 0; m < this.fundDetails.length; m++) {
+ let tempData = this.fundDetails[m];
+ let tempUtemArr = tempData.itemArr;
+
+ //鑾峰彇鏈嶅姟椤圭洰鏄庣粏
+ let itemIndex = tempUtemArr.findIndex(
+ (item) => tempData.itemid == item.id
+ );
+ if (itemIndex > -1) {
+ tempData.itemname = tempUtemArr[itemIndex].itemName;
+ tempData.itemid = tempUtemArr[itemIndex].id;
+ }
+ //鑾峰彇applytypename
+ let applytypeIndex = this.fundtypeArr.findIndex(
+ (item) => tempData.applytype == item.value
+ );
+ if (applytypeIndex > -1) {
+ tempData.applytypename = this.fundtypeArr[applytypeIndex].label;
+ }
+ this.fundDetails[m] = tempData;
+ }
+
+ this.form.serviceFunddetails = this.fundDetails;
+ addorupdateFund(this.form).then((response) => {
+ if (response.code === 200) {
+ this.$modal.msgSuccess("鏂板鎴愬姛");
+ this.loading = false;
+ } else {
+ this.$modal.msgError("鏂板澶辫触锛�" + response.msg);
+ this.loading = false;
+ }
+ });
+
+ //鍏抽棴绐楀彛
+ this.loading = false;
+ this.dialogOpen = false;
+ this.getList();
+ }
+
+
+ }
+ });
+ },
+
+ getBankAccount() {
+ //鑾峰彇閾惰璐﹀彿鍒楄〃锛岀被鍨嬫槸鏈烘瀯
+ listReportname("org").then((res) => {
+ this.bankaccountlist = res.data;
+ console.log("this.bankaccountlist", this.bankaccountlist);
+ });
+ },
+
+ getlistUser() {
+ listUser().then((res) => {
+ this.userlist = res.data;
+ });
+ },
+
+ /** 淇敼鎸夐挳鎿嶄綔 */
+ handleUpdate(row) {
+ this.$router.push({
+ path: "/finance/funddetail/",
+ query: { id: row.id, pos: 2 }
+ });
+
+ this.isopen = 0;
+ this.reset();
+ this.queryParams.params = {};
+ this.dialogType = "edit";
+ this.dialogOpen = true;
+ this.title = "淇敼璐圭敤鐢宠";
+
+
+ const id = row.id || this.ids;
+ getFund(id).then((response) => {
+ this.form = response.data;
+ this.form.name = this.curCase.name;
+ //闄勪欢澶勭悊
+ this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : []
+
+ getownFundDetail(id).then(async (res) => {
+ this.fundDetails = res.data;
+ for (let m = 0; m < this.fundDetails.length; m++) {
+ this.fundDetails[m].itemArr = [];
+ this.getItemArr(m, this.fundDetails[m]);
+ }
+ });
+ });
+ },
+
+ /** 鏌ョ湅鎸夐挳鎿嶄綔 */
+ handleDetail(row) {
+ this.$router.push({
+ path: "/finance/funddetail/",
+ query: { id: row.id, pos: 2 }
+ });
+
+ this.isopen = 0;
+ this.reset();
+ this.queryParams.params = {};
+ this.form.donorno = this.curCase.donorno;
+ this.form.infoid = this.curCase.id;
+ this.dialogOpen = true;
+ this.title = "鏌ョ湅璐圭敤鐢宠";
+ this.dialogType = "detail";
+ const id = row.id || this.ids;
+
+ getFund(id).then((response) => {
+ this.form = response.data;
+ this.form.name = this.curCase.name;
+ let listFundflowparams = {
+ fundid: row.id,
+ fundtype: 2,
+ };
+ //闄勪欢澶勭悊
+ this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : []
+
+ listFundflow(listFundflowparams).then((res) => {
+ this.fundflowList = res.rows;
+ });
+ getownFundDetail(id).then((res) => {
+ this.fundDetails = res.data;
+ for (let m = 0; m < this.fundDetails.length; m++) {
+ this.fundDetails[m].itemArr = [];
+ this.getItemArr(m, this.fundDetails[m]);
+ this.fundDetails[m].fundblock = [];
+ this.fundDetails[m].fundblock.push({
+ expense: this.fundDetails[m].expense,
+ expensedescribe: this.fundDetails[m].servicesscopename,
+ remark: this.fundDetails[m].servicesscope,
+ servicesscope: this.fundDetails[m].servicesscope,
+ });
+ }
+ });
+ });
+ },
+
+ 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.getfundList();
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ })
+ .catch(() => { });
+ },
+
+ deleteRows(row, index, rows) {
+ this.$confirm("鏄惁纭鍒犻櫎?", "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "success",
+ })
+ .then(() => {
+ 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.fundDetails, res.data);
+ this.sumTotalFee(row);
+ // this.fundDetails = res.data
+ });
+ });
+ }
+ });
+ } else {
+ rows.splice(index, 1);
+ this.sumTotalFee(row);
+ }
+ })
+ .catch(() => {
+ //鍑犵偣鍙栨秷鐨勬彁绀�
+ });
+ },
+
+ //璁$畻鎬婚噾棰�
+ sumTotalFee(row) {
+ let allSum = 0;
+ if (this.form.applytype != null) {
+ for (let i = 0; i < this.fundDetails.length; i++) {
+ let totalFee = 0;
+ let taxFee = 0;
+ if (this.form.applytype == 1 || this.form.applytype == 2) {
+ //璁$畻褰撳墠鎶ラ攢鍐呭璐圭敤鍚堣
+ if (!isNaN(parseFloat(this.fundDetails[i].amount))) {
+ totalFee += parseFloat(this.fundDetails[i].amount);
+ taxFee += parseFloat(this.fundDetails[i].amount);
+ }
+ if (!isNaN(parseFloat(this.fundDetails[i].taxamount))) {
+ totalFee -= parseFloat(this.fundDetails[i].taxamount);
+ taxFee -= parseFloat(this.fundDetails[i].taxamount);
+ }
+ } else if (this.form.applytype == 3) {
+ if (
+ !isNaN(parseFloat(this.fundDetails[i].price)) &&
+ !isNaN(parseFloat(this.fundDetails[i].quantity))
+ ) {
+ totalFee +=
+ parseFloat(this.fundDetails[i].price) *
+ parseFloat(this.fundDetails[i].quantity);
+ }
+ }
+ if (!isNaN(parseFloat(taxFee))) {
+ this.fundDetails[i].taxedamount = taxFee.toFixed(2);
+ }
+ allSum += totalFee;
+ }
+ }
+ //this.form.amountrequested = allSum.toFixed(2);
+ this.$set(this.form, "amountrequested", allSum.toFixed(2));
+ //this.$forceUpdate();
+ },
+
+ //鑾峰彇璐圭敤绫诲瀷
+ getCurFundType() {
+ getFundTypeAll(this.currentApplyType).then((res) => {
+ let dataList = res.data;
+ this.fundtypeArrAll = dataList;
+ this.fundtypeArr = [];
+ for (let m = 0; m < dataList.length; m++) {
+ this.fundtypeArr.push({
+ value: dataList[m].itemType,
+ label: dataList[m].itemTypeName,
+ });
+ }
+ });
+ },
+
+ getItemArr(rowindex, row) {
+ let list = this.fundtypeArrAll.filter((r) => r.itemType == row.applytype);
+ row.itemArr = list[0].itemDetails;
+ this.$set(this.fundDetails, rowindex, row);
+ //this.loading = true;
+ // getItemNames(row.applytype).then((res) => {
+ // this.loading = false;
+ // row.itemArr = res.data;
+ // this.$set(this.fundDetails, rowindex, row);
+ // });
+ },
+
+ addAlls() {
+ this.loading = true;
+ this.fundDetails = this.fundDetails.filter(
+ (r) => r.applytype != "" && r.applytype != null
+ );
+ let listAdd = [];
+ //let listAdd = this.fundDetails;
+ for (let i = 0; i < this.fundtypeArrAll.length; i++) {
+ for (let j = 0; j < this.fundtypeArrAll[i].itemDetails.length; j++) {
+ let list = this.fundDetails.filter(
+ (r) =>
+ r.applytype == this.fundtypeArrAll[i].itemType &&
+ r.itemid == this.fundtypeArrAll[i].itemDetails[j].id
+ );
+ if (list.length == 0) {
+ let rowData = {
+ id: null,
+ orderno: listAdd.length + 1,
+ applytype: this.fundtypeArrAll[i].itemType,
+ itemid: this.fundtypeArrAll[i].itemDetails[j].id,
+ itemcode: this.fundtypeArrAll[i].itemDetails[j].itemCode,
+ recordstatus: "-1",
+ itemArr: this.fundtypeArrAll[i].itemDetails,
+ beneficiaryname: "鐐瑰嚮閫夋嫨",
+ unitname: "鐐瑰嚮閫夋嫨",
+ };
+ listAdd.push(rowData);
+ }
+ }
+ }
+ this.fundDetails = listAdd;
+ this.loading = false;
+ // let Outerarr = this.fundDetails;
+ // Outerarr.map((res) => {
+ // let onelist = this.fundtypeArr;
+ // onelist.map((item) => {
+ // //绗竴灞備笉鐩哥瓑鏃讹紱
+ // if (res.applytype !== item.itemType) {
+ // this.addRow();
+ // }
+ // });
+ // });
+ },
+
+ getUnitList() {
+ listOrganization(3).then((res) => {
+ console.log("listOrganization", res);
+ for (let i = 0; i < res.rows.length; i++) {
+ this.unitList.push({
+ organizationid: res.rows[i].organizationid,
+ organizationname: res.rows[i].organizationname,
+ bankname: res.rows[i].bankname,
+ bankaccount: res.rows[i].bankaccount,
+ });
+ }
+ });
+ },
+
+ // 鎹愮尞鑰呭尰瀛︾粺璁℃墦鍗�
+ 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);
+ },
+
+ SearchItem(val, scope) {
+ let result = [];
+ if (val != "") {
+ let tempItemArr = scope.row.itemArr;
+ for (let i = 0; i < tempItemArr.length; i++) {
+ let pym = tempItemArr[i].itempinyin;
+ if (pym != null && pym != undefined && pym != "") {
+ if (pym.indexOf(val) != -1) {
+ result.push(tempItemArr[i]);
+ }
+ }
+ }
+ scope.row.itemArr = result;
+ } else {
+ getItemNames(scope.row.applytype).then((res) => {
+ scope.row.itemArr = res.data;
+ //this.$set(this.fundDetails, rowindex, row);
+ });
+ }
+ },
+
+ //鏂囦欢涓婁紶
+ handleUploadError() { },
+ handleremove(file) {
+ this.fileList.splice(this.fileList.indexOf(file), 1)
+ },
+ handleExceed() {
+ this.$message.error(`涓婁紶鏂囦欢鏁伴噺涓嶈兘瓒呰繃 ${5} 涓�!`);
+ },
+ //鏂囦欢涓婁紶鎴愬姛鍥炶皟
+ uploadSccess(response, file, fileList) {
+ console.log("response", response);
+ console.log("file", file);
+ console.log("fileList", fileList);
+ //鑾峰彇闄勪欢淇℃伅浣嶇疆
+ if (response.code == 200) {
+ this.form.filename = file.raw.name;
+ this.$modal.msgSuccess(response.msg);
+ this.fileList.push({ name: response.fileName, url: response.fileName });
+ } else {
+ console.log(response.msg);;
+ }
+ },
+ // 涓嬭浇鏂囦欢
+ downFile(item) {
+ const url = process.env.VUE_APP_BASE_API + item.url
+ var a = document.createElement('a');
+ var event = new MouseEvent('click');
+ a.download = item.name;
+ a.href = url;
+ a.dispatchEvent(event);
+ },
+ },
+
+ // 鐐瑰嚮鏂囦欢
+ Filepopup(index, rows, row) {
+ console.log(index, rows, row);
+ this.atpresent = index;
+ console.log(this.atpresent);
+ this.pdfVisible = true;
+ if (this.fundDetails[index].annexfilesList) {
+ this.fileListto = this.rbDetails[index].annexfilesList;
+ } else {
+ this.fileListto = [];
+ this.pdfimg = "";
+ this.pdftitle = "";
+ }
+ },
+
+ //鐢熷懡鍛ㄦ湡 - 鍒涘缓瀹屾垚锛堝彲浠ヨ闂綋鍓峵his瀹炰緥锛�
+ created() {
+ this.getList();
+ this.getBaseInfoList();
+
+ this.getCurFundType();
+ this.getlistUser();
+ // this.getUnitList();
+ },
+
+ //鐢熷懡鍛ㄦ湡 - 鎸傝浇瀹屾垚锛堝彲浠ヨ闂瓺OM鍏冪礌锛�
+ mounted() {
+ this.getBankAccount();
+ this.getUsermsg();
+ },
+
+ beforeCreate() { }, //鐢熷懡鍛ㄦ湡 - 鍒涘缓涔嬪墠
+ beforeMount() { }, //鐢熷懡鍛ㄦ湡 - 鎸傝浇涔嬪墠
+ beforeUpdate() { }, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪墠
+ updated() { }, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪悗
+ beforeDestroy() { }, //鐢熷懡鍛ㄦ湡 - 閿�姣佷箣鍓�
+ destroyed() { }, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴�
+ activated() { }, //濡傛灉椤甸潰鏈塳eep-alive缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂
+};
+</script>
+<style scoped>
+/* @import url(); 寮曞叆鍏叡css绫� */
+</style>
diff --git a/src/views/project/funddetail/index.vue b/src/views/project/funddetail/index.vue
index 5c18378..6807d23 100644
--- a/src/views/project/funddetail/index.vue
+++ b/src/views/project/funddetail/index.vue
@@ -1,301 +1,1526 @@
+<!-- -->
<template>
<div class="app-container">
- <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
- <el-form-item label="涓撳濮撳悕" prop="beneficiaryname">
- <el-input v-model="queryParams.beneficiaryname" placeholder="璇疯緭鍏ヤ笓瀹跺鍚�" clearable size="small"
- @keyup.enter.native="handleQuery" />
- </el-form-item>
- <el-form-item label="宸ヤ綔鍗曚綅" prop="uintname">
- <el-input v-model="queryParams.uintname" placeholder="璇疯緭鍏ュ伐浣滃崟浣�" clearable size="small"
- @keyup.enter.native="handleQuery" />
- </el-form-item>
- <el-form-item label="璐圭敤绫诲埆" prop="applytype">
- <el-select v-model="queryParams.applytype" placeholder="璇烽�夋嫨璐圭敤绫诲埆" clearable size="small">
- <el-option label="璇烽�夋嫨瀛楀吀鐢熸垚" value="" />
- </el-select>
- </el-form-item>
- <el-form-item label="椤圭洰鍚嶇О" prop="itemname">
- <el-input v-model="queryParams.itemname" placeholder="璇疯緭鍏ラ」鐩悕绉�" clearable size="small"
- @keyup.enter.native="handleQuery" />
- </el-form-item>
- <el-form-item label="椤圭洰绫诲埆" prop="itemtype">
- <el-select v-model="queryParams.itemtype" placeholder="璇烽�夋嫨椤圭洰绫诲埆" clearable size="small">
- <el-option label="璇烽�夋嫨瀛楀吀鐢熸垚" value="" />
- </el-select>
- </el-form-item>
- <el-form-item label="璁板綍鐘舵��" prop="recordstatus">
- <el-select v-model="queryParams.recordstatus" placeholder="璇烽�夋嫨璁板綍鐘舵��" clearable size="small">
- <el-option label="璇烽�夋嫨瀛楀吀鐢熸垚" value="" />
- </el-select>
- </el-form-item>
- <el-form-item label="缁忓姙浜�" prop="createBy">
- <el-input v-model="queryParams.createBy" placeholder="璇疯緭鍏ュ垱寤轰汉" clearable size="small"
- @keyup.enter.native="handleQuery" />
- </el-form-item>
- <el-form-item label="鐢宠鏃ユ湡" prop="createTime">
- <el-date-picker clearable size="small" v-model="queryParams.createTime" type="date" value-format="yyyy-MM-dd"
- placeholder="閫夋嫨鍒涘缓鏃ユ湡">
- </el-date-picker>
- </el-form-item>
- <el-form-item>
- <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-form-item>
- </el-form>
+ <!-- 娣诲姞鎴栦慨鏀硅垂鐢ㄧ敵璇峰崟 -->
+ <el-form style="height: 550px; overflow-y: auto; overflow-x: hidden" 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="7">
+ <el-form-item label="鑱旂郴鐢佃瘽" prop="phone">
+ <el-input v-model="form.phone" placeholder="璇疯緭鍏ョ敵璇疯�呯殑鑱旂郴鏂瑰紡" clearable />
+ </el-form-item>
+ </el-col>
+ <el-col :span="7">
+ <el-form-item label="宸ヤ綔鍗曚綅" prop="unitno">
+ <org-selecter ref="orgSelecter" :org-type="'3'" v-model="form.unitno" />
+ </el-form-item>
+ </el-col>
+ -->
+ <el-col :span="5">
+ <el-form-item label="璐圭敤绫诲瀷">
+ <el-radio v-model="form.applytype" label="4">鏉傞」璐圭敤鐢宠</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="phone">
+ <el-input v-model="form.phone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" />
+ </el-form-item>
+ </el-col>
- <el-row :gutter="10" class="mb8">
- <el-col :span="1.5">
- <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
- v-hasPermi="['project:funddetail:add']">鏂板</el-button>
- </el-col>
- <el-col :span="1.5">
- <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
- v-hasPermi="['project:funddetail:edit']">淇敼</el-button>
- </el-col>
- <el-col :span="1.5">
- <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
- v-hasPermi="['project:funddetail:remove']">鍒犻櫎</el-button>
- </el-col>
- <el-col :span="1.5">
- <el-button type="warning" plain icon="el-icon-download" size="mini" :loading="exportLoading" @click="handleExport"
- v-hasPermi="['project:funddetail:export']">瀵煎嚭</el-button>
- </el-col>
- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
- </el-row>
+ </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="taxcost">
+ <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="name">
+ <el-input :disabled="true" v-model="form.name" placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="5">
+ <el-form-item label="鐢宠鐘舵��" prop="recordstatus">
+ <!-- <el-input 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-row>
+ <el-row style="margin-top: 5px; margin-bottom: 5px">
+ <el-row style="margin-bottom: 10px">
+ <el-col :span="4">
+ <el-button @click.native.prevent="addAllItems" type="primary" size="small">
+ 瀵煎叆鏈嶅姟椤圭洰
+ </el-button>
+ </el-col>
+ </el-row>
+ <el-table :data="fundDetails" v-loading="loading" border highlight-current-row>
+ <el-table-column prop="orderno" align="center" label="搴忓彿" width="65">
+ <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="loadItemType(scope.row)">
+ <el-option v-for="dict in rowfeeItemTypes" :key="dict.index" :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.itemArr" :key="dict.index" :label="dict.itemName"
+ :value="dict.id"></el-option>
+ </el-select>
+ </template>
+ </el-table-column>
+ <el-table-column prop="itemcode" align="center" label="椤圭洰缂栧彿" show-overflow-tooltip="" v-if="false">
+ </el-table-column>
+ <el-table-column prop="servicesscope" align="center" label="璐圭敤璇存槑" width="180">
+ <template slot-scope="scope">
+ <el-select v-model="scope.row.servicesscope" placeholder="璐圭敤璇存槑" clearable allow-create filterable
+ @change="selectedRemark(scope.row)">
+ <el-option v-for="dict in scope.row.rowfeeblocks" :key="dict.servicesscope" :label="dict.remark"
+ :value="dict.servicesscope"></el-option>
+ </el-select>
+ </template>
+ </el-table-column>
+ <el-table-column v-if="this.ismanager == true" prop="amount" align="center" label="绋庡墠閲戦" width="120">
+ <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 scope.row.rowfeeblocks" :key="dict.expensedescribe" :label="dict.expense"
+ :value="dict.expense"></el-option>
+ </el-select>
+ </template>
+ </el-table-column>
+ <el-table-column prop="taxedamount" align="center" label="绋庡悗閲戦" width="120" v-if="this.ismanager == true">
+ <!-- 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="beneficiaryname" align="center" label="濮撳悕" width="100" v-if="form.applytype != 3">
+ <template slot-scope="scope">
+ <el-button type="primary" plain @click="ShowDetailDialog(scope, 'name')">{{ scope.row.beneficiaryname
+ }}</el-button>
+ <!-- <el-select
+ filterable
+ allow-create
+ ref="getReportname"
+ default-first-option
+ @change="selectpersonmsg(scope.row)"
+ v-model="scope.row.beneficiaryname"
+ placeholder="璇烽�夋嫨"
+ >
+ <el-option
+ v-for="item in expertlist"
+ :key="item.reportNo"
+ :label="item.reportName"
+ :value="item.reportName"
+ >
+ </el-option>
+ </el-select> -->
+ </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>
+ <!-- <el-select
+ v-model="scope.row.unitno"
+ placeholder="鍗曚綅"
+ clearable
+ filterable
+ allow-create
+ >
+ <el-option
+ v-for="(spec, index) in unitList"
+ :key="index"
+ :label="spec.organizationname"
+ :value="spec.organizationid"
+ ></el-option>
+ </el-select> -->
+ </template>
+ </el-table-column>
+ <el-table-column prop="quantity" align="center" label="鏁伴噺" width="120" 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="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="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 v-loading="loading" :data="funddetailList" @selection-change="handleSelectionChange">
- <el-table-column type="selection" width="55" align="center" />
- <el-table-column label="涓撳濮撳悕" width="120" align="center" prop="beneficiaryname" />
- <el-table-column label="璐圭敤绫诲埆" align="center" prop="applytype" />
- <el-table-column label="椤圭洰绫诲埆" align="center" prop="itemtype" />
- <el-table-column label="璐圭敤椤圭洰鍚嶇О" align="left" prop="itemname" />
- <el-table-column label="璐圭敤閲戦" align="center" prop="amount" />
- <el-table-column label="鎵g◣閲戦" align="center" prop="taxamount" />
- <el-table-column label="绋庡悗閲戦" align="center" prop="taxedamount" />
+ <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="180" 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>
+ </template>
+ </el-table-column>
+ </el-table>
+ </el-row>
<!--
- <el-table-column label="涓撳鍗曚綅" align="center" prop="uintname" />
- <el-table-column label="璇佷欢鍙风爜" align="center" prop="idcardno" />
- <el-table-column label="涓撳鐢佃瘽" align="center" prop="phone" />
- <el-table-column label="鐘舵��" align="center" prop="recordstatus" />
- <el-table-column label="缁忓姙浜�" align="center" prop="createby" />
- <el-table-column label="鐢宠鏃ユ湡" align="center" prop="createtime" />
- -->
- <el-table-column label="澶囨敞" align="left" prop="remark" />
- <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
- <template slot-scope="scope">
- <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
- v-hasPermi="['project:funddetail:edit']">淇敼</el-button>
- <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
- v-hasPermi="['project:funddetail:remove']">鍒犻櫎</el-button>
- </template>
- </el-table-column>
- </el-table>
+ <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-row>
+ <el-row>
+ <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="12">
+ <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="remove" 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>
- <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
- @pagination="getList" />
-
- <!-- 娣诲姞鎴栦慨鏀硅垂鐢ㄧ敵璇锋槑缁嗗璇濇 -->
- <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
- <el-form ref="form" :model="form" :rules="rules" label-width="120px">
+ <el-dialog :visible.sync="showDetailInfoDialog" :close-on-click-modal="false" :title="'瀵煎叆淇℃伅'" width="500px"
+ style="text-align: center" v-loading="loading">
+ <el-form ref="funddetailForm" :model="funddetailForm">
<el-row>
- <el-col :span="5"><el-form-item label="璐圭敤鐢宠涓昏〃ID" prop="fundid">
- <el-input v-model="form.fundid" placeholder="璇疯緭鍏ヨ垂鐢ㄧ敵璇蜂富琛↖D" />
- </el-form-item></el-col>
- <el-col :span="5"><el-form-item label="鏀剁泭浜哄鍚� 瀹跺睘鎴栦笓瀹�" prop="beneficiaryname">
- <el-input v-model="form.beneficiaryname" placeholder="璇疯緭鍏ユ敹鐩婁汉濮撳悕 瀹跺睘鎴栦笓瀹�" />
- </el-form-item></el-col>
- <el-col :span="5"><el-form-item label="鏀剁泭浜虹紪鍙�" prop="beneficiaryno">
- <el-input v-model="form.beneficiaryno" placeholder="璇疯緭鍏ユ敹鐩婁汉缂栧彿" />
- </el-form-item></el-col>
- <el-col :span="5"><el-form-item label="宸ヤ綔鍗曚綅" prop="uintname">
- <el-input v-model="form.uintname" placeholder="璇疯緭鍏ュ伐浣滃崟浣�" />
- </el-form-item></el-col>
- </el-row>
- <el-row>
- <el-col :span="5"><el-form-item label="宸ヤ綔鍗曚綅缂栧彿" prop="uintno">
- <el-input v-model="form.uintno" placeholder="璇疯緭鍏ュ伐浣滃崟浣嶇紪鍙�" />
- </el-form-item></el-col>
- <el-col :span="5"><el-form-item label="宸ヤ綔鍗曚綅鐢ㄦ埛缂栧彿" prop="uintuserno">
- <el-input v-model="form.uintuserno" placeholder="璇疯緭鍏ュ伐浣滃崟浣嶇敤鎴风紪鍙�" />
- </el-form-item></el-col>
- <el-col :span="5"><el-form-item label="璇佷欢绫诲瀷 鏍规嵁瀛楀吀sys_IDType" prop="idcardtype">
- <el-select v-model="form.idcardtype" placeholder="璇烽�夋嫨璇佷欢绫诲瀷 鏍规嵁瀛楀吀sys_IDType">
- <el-option label="璇烽�夋嫨瀛楀吀鐢熸垚" value="" />
- </el-select>
- </el-form-item></el-col>
- <el-col :span="5"><el-form-item label="璇佷欢鍙风爜" prop="idcardno">
- <el-input v-model="form.idcardno" placeholder="璇疯緭鍏ヨ瘉浠跺彿鐮�" />
- </el-form-item></el-col>
- </el-row>
- <el-row>
- <el-col :span="5"><el-form-item label="鎬у埆 鏍规嵁瀛楀吀sys_user_sex" prop="sex">
- <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆 鏍规嵁瀛楀吀sys_user_sex">
- <el-option label="璇烽�夋嫨瀛楀吀鐢熸垚" value="" />
- </el-select>
- </el-form-item></el-col>
- <el-col :span="5"><el-form-item label="涓庢崘璧犺�呭叧绯� 鏍规嵁瀛楀吀sys_FamilyRelation" prop="familyrelations">
- <el-input v-model="form.familyrelations" placeholder="璇疯緭鍏ヤ笌鎹愯禒鑰呭叧绯� 鏍规嵁瀛楀吀sys_FamilyRelation" />
- </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="depositbank">
- <el-input v-model="form.depositbank" placeholder="璇疯緭鍏ュ紑鎴烽摱琛�" />
- </el-form-item></el-col>
- </el-row>
- <el-row>
- <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="branchbankname">
- <el-input v-model="form.branchbankname" placeholder="璇疯緭鍏ユ敮琛屽悕绉�" />
- </el-form-item></el-col>
- <el-col :span="5"><el-form-item label="閾惰鍗$収鐗囪矾寰� 澶氫釜鐢�;鍒嗗紑" prop="annexbankcard">
- <el-input v-model="form.annexbankcard" placeholder="璇疯緭鍏ラ摱琛屽崱鐓х墖璺緞 澶氫釜鐢�;鍒嗗紑" />
- </el-form-item></el-col>
- <el-col :span="5"><el-form-item label="鐧昏琛ㄧ収鐗囪矾寰� 澶氫釜鐢�;鍒嗗紑" prop="annexregistform">
- <el-input v-model="form.annexregistform" placeholder="璇疯緭鍏ョ櫥璁拌〃鐓х墖璺緞 澶氫釜鐢�;鍒嗗紑" />
- </el-form-item></el-col>
- </el-row>
-
-
- <el-row>
- <el-col :span="5"><el-form-item label="璐圭敤绫诲埆 瑙佸瓧鍏竤ys_SubjectType" prop="applytype">
- <el-select v-model="form.applytype" placeholder="璇烽�夋嫨璐圭敤绫诲埆 瑙佸瓧鍏竤ys_SubjectType">
- <el-option label="璇烽�夋嫨瀛楀吀鐢熸垚" value="" />
- </el-select>
- </el-form-item></el-col>
- <el-col :span="5"><el-form-item label="椤圭洰ID" prop="itemid">
- <el-input v-model="form.itemid" placeholder="璇疯緭鍏ラ」鐩甀D" />
- </el-form-item></el-col>
- <el-col :span="5"> <el-form-item label="椤圭洰鍚嶇О" prop="itemname">
- <el-input v-model="form.itemname" placeholder="璇疯緭鍏ラ」鐩悕绉�" />
- </el-form-item></el-col>
- <el-col :span="5"><el-form-item label="椤圭洰绫诲埆" prop="itemtype">
- <el-select v-model="form.itemtype" placeholder="璇烽�夋嫨椤圭洰绫诲埆">
- <el-option label="璇烽�夋嫨瀛楀吀鐢熸垚" value="" />
- </el-select>
- </el-form-item></el-col>
- </el-row>
- <el-row>
- <el-col :span="5"><el-form-item label="鐢宠閲戦" prop="amount">
- <el-input v-model="form.amount" placeholder="璇疯緭鍏ョ敵璇烽噾棰�" />
- </el-form-item></el-col>
- <el-col :span="5"><el-form-item label="棰勬敮閲戦" prop="prepaidamount">
- <el-input v-model="form.prepaidamount" placeholder="璇疯緭鍏ラ鏀噾棰�" />
- </el-form-item></el-col>
- <el-col :span="5"><el-form-item label="鍙戠エ寮犳暟" prop="invoicecount">
- <el-input v-model="form.invoicecount" placeholder="璇疯緭鍏ュ彂绁ㄥ紶鏁�" />
- </el-form-item></el-col>
- <el-col :span="5"><el-form-item label="闄勪欢寮犳暟" prop="attachcount">
- <el-input v-model="form.attachcount" placeholder="璇疯緭鍏ラ檮浠跺紶鏁�" />
- </el-form-item></el-col>
- </el-row>
- <el-row>
- <el-col :span="5"><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="璁板綍鐘舵��">
- <el-radio-group v-model="form.recordstatus">
- <el-radio label="1">璇烽�夋嫨瀛楀吀鐢熸垚</el-radio>
+ <el-col :span="24" v-if="showDetailInfoDialogType == 'name'">
+ <el-form-item label="璇烽�夋嫨涓撳淇℃伅锛�" prop="expertfrom">
+ <el-radio-group v-model="expertfrom" style="margin-bottom: 0">
+ <el-radio label="1">涓撳搴�</el-radio>
+ <el-radio label="2">鏂板涓撳</el-radio>
</el-radio-group>
+ </el-form-item>
+ </el-col>
+ <el-col :span="24" v-if="showDetailInfoDialogType == 'name' && expertfrom == '1'">
+ <el-form-item 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 expertlist" :key="item.reportNo" :label="item.reportName"
+ :value="item.reportName">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="24" v-if="showDetailInfoDialogType == 'unit'">
+ <el-form-item label="鍗曚綅鍚嶇О" prop="unitno" label-width="80px">
+ <el-select v-model="funddetailForm.unitno" placeholder="鍗曚綅鍚嶇О" clearable filterable allow-create
+ style="width: 100%">
+ <el-option v-for="(spec, index) in unitList" :key="index" :label="spec.organizationname"
+ :value="spec.organizationid"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="12" v-if="expertfrom == '2'">
+ <el-form-item label="涓撳濮撳悕" prop="expertname" label-width="80px">
+ <el-input v-model="funddetailForm.expertname" placeholder="蹇呭~椤�" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12" v-if="expertfrom == '2'">
+ <el-form-item label="鑱� 绉�" prop="experttitle" label-width="80px">
+ <el-select v-model="funddetailForm.experttitle" placeholder="蹇呭~椤�">
+ <el-option v-for="dict in dict.type.sys_professionaltitle" :key="dict.value" :label="dict.label"
+ :value="dict.label"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24" v-if="expertfrom == '2'">
+ <el-form-item label="韬唤璇佸彿" prop="expertidcardno" label-width="80px">
+ <el-input v-model="funddetailForm.expertidcardno" placeholder="蹇呭~椤�" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <!--
+ <el-row>
+ <el-col :span="12" v-if="expertfrom == '2'">
+ <el-form-item label="浜哄憳绫诲埆" prop="usertype" label-width="80px">
+ <el-select v-model="funddetailForm.usertype" placeholder="蹇呭~椤�">
+ <el-option v-for="dict in dict.type.sys_UserType" :key="dict.value" :label="dict.label"
+ :value="dict.value"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ -->
+ <el-row>
+ <el-col :span="24" v-if="expertfrom == '2'">
+ <el-form-item label="鍗曚綅鍚嶇О" prop="expertunitno" label-width="80px">
+ <el-select v-model="funddetailForm.expertunitno" placeholder="鍗曚綅鍚嶇О" clearable filterable allow-create
+ style="width: 100%">
+ <el-option v-for="(spec, index) in unitList" :key="index" :label="spec.organizationname"
+ :value="spec.organizationid"></el-option>
+ </el-select>
</el-form-item></el-col>
- <el-col :span="5"> <el-form-item label="涓婁紶鏍囧織" prop="uploadflag">
- <el-input v-model="form.uploadflag" placeholder="璇疯緭鍏ヤ笂浼犳爣蹇�" />
- </el-form-item></el-col>
- <el-col :span="5"><el-form-item label="涓婁紶鏃堕棿" prop="uploadtime">
- <el-date-picker clearable size="small" v-model="form.uploadtime" type="date" value-format="yyyy-MM-dd"
- placeholder="閫夋嫨涓婁紶鏃堕棿">
- </el-date-picker>
- </el-form-item></el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24" v-if="expertfrom == '2'">
+ <el-form-item label="寮�鎴烽摱琛�" prop="expertdepositbank" label-width="80px">
+ <el-input v-model="funddetailForm.expertdepositbank" placeholder="蹇呭~椤�" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="24" v-if="expertfrom == '2'">
+ <el-form-item label="閾惰鍗″彿" prop="expertbankcardno" label-width="80px">
+ <el-input v-model="funddetailForm.expertbankcardno" placeholder="蹇呭~椤�" />
+ </el-form-item>
+ </el-col>
</el-row>
</el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
- <el-button @click="cancel">鍙� 娑�</el-button>
- </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="showDetailInfoDialog = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="ConfirmDetailDialog()">纭� 瀹�</el-button>
+ </span>
</el-dialog>
</div>
</template>
<script>
-import { listFunddetail, getFunddetail, delFunddetail, addFunddetail, updateFunddetail, exportFunddetail } from "@/api/project/funddetail";
+//杩欓噷鍙互瀵煎叆鍏朵粬鏂囦欢锛堟瘮濡傦細缁勪欢锛屽伐鍏穓s锛岀涓夋柟鎻掍欢js锛宩son鏂囦欢锛屽浘鐗囨枃浠剁瓑绛夛級
+//渚嬪锛歩mport 銆婄粍浠跺悕绉般�� from '銆婄粍浠惰矾寰勩��';
+import {
+ listDonatebaseinfo,
+ getDonatebaseinfo
+} from "@/api/project/donatebaseinfo";
+
+import {
+ onelistFund,
+ listFund,
+ getFund,
+ delFund,
+ addFund,
+ updateFund,
+ exportFund,
+ getdownloadLW,
+ getdownloadSH,
+ getdownloadSS,
+ getdownloadYX,
+ getdownloadBX,
+ addorupdateFund,
+ getdetailsByItemId
+} from "@/api/project/fund";
+
+import {
+ onelistFunds,
+ listFunddetails,
+ listFunddetail,
+ getFunddetail,
+ delFunddetail,
+ addFunddetail,
+ getownFundDetail,
+ updateFunddetail,
+ exportFunddetail,
+ getItemNames,
+ getFundType,
+ getFundTypeAll,
+ listcountItem,
+ getDataBybeneficiaryNo,
+ getTaxByBeneFiciaryNo,
+ getTaxBeforeByBeneFiciaryNo,
+ getTaxationByBeneFiciaryNo,
+ getTaxBeforeByAfterMoney
+} from "@/api/project/funddetail";
+
+import { listFundflow } from "@/api/project/fundflow";
+
+import {
+ listOrganization,
+ getOrganization,
+ listReportname,
+ listUser
+} from "@/api/project/organization";
+
+import {
+ listExternalperson,
+ getExternalperson,
+ getInfoBytheUserNo,
+ delExternalperson,
+ addExternalperson,
+ updateExternalperson,
+ exportExternalperson
+} from "@/api/project/externalperson";
+
+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 {
- name: "Funddetail",
+ //import寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
+ components: {
+ Li_area_select,
+ OrgSelecter,
+ },
+
+ name: "fundApply",
+
+ dicts: [
+ //"sys_consolationfundlevel",
+ //"sys_OrganizationType",
+ "sys_DonationStatus",
+ //"sys_depositbank",
+ //"sys_FamilyRelation",
+ //"sys_IDType",
+ //"sys_ConsolationType",
+ //"sys_fund_type",
+ //"sys_finsubject",
+ //"sys_financeitemtype",
+ //"sys_expensetype",
+ "sys_recordstatus",
+ "sys_professionaltitle"
+ ],
+
data() {
+ //杩欓噷瀛樻斁鏁版嵁
return {
// 閬僵灞�
- loading: true,
+ loading: false,
// 瀵煎嚭閬僵灞�
exportLoading: false,
- // 閫変腑鏁扮粍
- ids: [],
- // 闈炲崟涓鐢�
- single: true,
- // 闈炲涓鐢�
- multiple: true,
- // 鏄剧ず鎼滅储鏉′欢
- showSearch: true,
- // 鎬绘潯鏁�
total: 0,
- // 璐圭敤鐢宠鏄庣粏琛ㄦ牸鏁版嵁
- funddetailList: [],
- // 寮瑰嚭灞傛爣棰�
- title: "",
- // 鏄惁鏄剧ず寮瑰嚭灞�
- open: false,
- // 鏌ヨ鍙傛暟
queryParams: {
+ organizationname: null,
+ organizationtype: null,
pageNum: 1,
pageSize: 10,
- beneficiaryname: null,
- uintname: null,
- applytype: null,
- itemname: null,
- itemtype: null,
- amount: null,
- recordstatus: null,
+ 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: "4",
createBy: null,
- createTime: null,
- uploadflag: null,
- uploadtime: null
},
// 琛ㄥ崟鍙傛暟
form: {},
+ //鎵�鏈変汉鍛樿〃
+ personlist: [],
+ expertQueryParam: {
+ pageNum: 1,
+ pageSize: 10000,
+ userno: null,
+ username: null,
+ usertype: null,
+ },
+
+ //
+ amount: 0.00,
+
+ //鐢宠鍗曠被鍨�
+ currentApplyType: "4",
+ //涓撳鍒楄〃
+ expertlist: [],
+ //涓撳璐归�夋嫨锛�1鏄笓瀹跺簱锛�2鏄柊澧�
+ expertfrom: "1",
+ //璁$畻涓◣鍙傛暟
+ taxParam: {
+ beneficiaryNo: '',
+ money: '0',
+ startTime: '',
+ },
// 琛ㄥ崟鏍¢獙
rules: {
- }
+ username: [
+ { required: true, message: "璇疯緭鍏ョ敵璇蜂汉", trigger: "blur" },
+ ],
+ createTime: [
+ { required: true, message: "璇疯緭鍏ョ敵璇锋棩鏈�", trigger: "blur" },
+ ],
+ deptmentname: [
+ { required: true, message: "璇疯緭鍏ユ墍灞炰笟鍔$粍", trigger: "blur" },
+ ],
+ // amountrequested: [
+ // { required: true, message: "璇疯緭鍏ョ敵璇烽噾棰�", trigger: "blur" },
+ // ],
+ },
+
+ //鎹愮尞妗堜緥鍒楄〃鏁版嵁
+ // donationCaseTableData:[],
+ donatebaseinfoList: [],
+ //褰撳墠閫変腑鎹愮尞妗堜緥
+ curCase: {},
+ //鏄惁鏄剧ず璐圭敤鐢宠寮圭獥
+ dialogOpen: false,
+ // title: "",
+ //璐圭敤鐢宠琛ㄥ崟title
+ applyFormTitle: "",
+
+ // 鎹愮尞浜洪亾鎱伴棶閲戣〃鏍兼暟鎹�
+ donateconsolationfundList: [],
+ //璐圭敤鏄庣粏鍒楄〃
+ fundDetails: [],
+ formData: {},
+ totalPreTaxAmount: 0.0,
+ totalAfterTaxAmount: 0.0,
+ totalAmount: 0.0,
+
+ // 寮瑰嚭灞傛爣棰�
+ title: "",
+ userlist: [],
+ itemArr: [],
+ reporters: [],
+
+ //琛岃褰曠殑璐圭敤绫诲瀷鏁扮粍
+ rowfeeItemTypes: [],
+ //璐圭敤绫诲瀷鏁扮粍
+ feeItemTypes: [],
+ //璐圭敤璇存槑
+ rowfeeblocks: [],
+ defaultperson: {},
+
+ //鏄惁鏄笓瀹惰垂鐨凮PO瀹℃壒浜哄憳
+ ismanager: false,
+ unitList: [],
+ dialogType: "edit",
+ fundflowList: [],
+
+ showDetailInfoDialog: false,
+ showDetailInfoDialogType: "",
+ funddetailForm: {
+ index: 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,
+ },
+
+ //闄勪欢鍒楄〃
+ fileList: [],
+ //涓婁紶闄勪欢璺緞
+ uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload",
+
+ headers: {
+ Authorization: "Bearer " + getToken(),
+ },
+
};
},
+ //鐩戝惉灞炴�� 绫讳技浜巇ata姒傚康
+ computed: {},
+ //鐩戞帶data涓殑鏁版嵁鍙樺寲
+ watch: {},
+ //鐢熷懡鍛ㄦ湡 - 鍒涘缓瀹屾垚锛堝彲浠ヨ闂綋鍓峵his瀹炰緥锛�
created() {
this.getList();
+ this.getBaseInfoList();
+ this.getCurFundType();
+ this.getUserList();
+ this.getUnitList();
+
},
+
+ //鐢熷懡鍛ㄦ湡 - 鎸傝浇瀹屾垚锛堝彲浠ヨ闂瓺OM鍏冪礌锛�
+ mounted() {
+ this.selectReporters();
+ this.getUsermsg();
+ this.getExternalpersonList();
+ },
+
+ beforeCreate() { }, //鐢熷懡鍛ㄦ湡 - 鍒涘缓涔嬪墠
+ beforeMount() { }, //鐢熷懡鍛ㄦ湡 - 鎸傝浇涔嬪墠
+ beforeUpdate() { }, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪墠
+ updated() { }, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪悗
+ beforeDestroy() { }, //鐢熷懡鍛ㄦ湡 - 閿�姣佷箣鍓�
+ destroyed() { }, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴�
+ activated() { }, //濡傛灉椤甸潰鏈塳eep-alive缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂
+
+ //鏂规硶闆嗗悎
methods: {
- /** 鏌ヨ璐圭敤鐢宠鏄庣粏鍒楄〃 */
+
+ /** 鎼滅储鎸夐挳鎿嶄綔 */
+ handleQuery() {
+ this.queryParams.pageNum = 1;
+ this.getList();
+ },
+
+ /** 閲嶇疆鎸夐挳鎿嶄綔 */
+ resetQuery() {
+ this.daterangeReporttime = [];
+ this.resetForm("queryForm");
+ this.handleQuery();
+ },
+
+ /** 鏂板鎸夐挳鎿嶄綔 */
+ handleAdd() {
+ if (this.curCase.id) {
+ this.istrue += 2;
+ this.reset();
+ this.queryParams.params = {};
+ this.form.donorno = this.curCase.donorno;
+ this.form.name = this.curCase.name;
+ this.form.infoid = this.curCase.id;
+ console.log("defaultperson", this.defaultperson);
+ this.form.username = this.defaultperson.nickName;
+ this.form.userno = this.defaultperson.userName;
+ this.form.phone = this.defaultperson.phonenumber;
+ this.form.deptmentname = this.defaultperson.dept.deptName;
+ this.form.deptmentno = this.defaultperson.dept.deptId;
+ this.form.managername = this.defaultperson.dept.leader;
+
+ // this.form.createTime = nowdate;
+ //this.open = true;
+ //this.initFundApplyForm();
+ this.fundDetails = [];
+ this.addRow();
+ this.dialogOpen = true;
+ this.dialogType = "edit";
+ this.title = "璐圭敤鐢宠";
+ } else {
+ const h = this.$createElement;
+ this.$message({
+ message: h("p", null, [h("span", null, "璇峰厛閫夋嫨宸︽柟鎹愮尞妗堜緥 ")]),
+ });
+ }
+ },
+
+ /** 淇敼鎸夐挳鎿嶄綔 */
+ handleUpdate(row) {
+ this.isopen = 0;
+ this.reset();
+ this.queryParams.params = {};
+ this.form.donorno = this.curCase.donorno;
+ this.form.infoid = this.curCase.id;
+ this.dialogOpen = true;
+ this.title = "淇敼璐圭敤鐢宠";
+ this.dialogType = "edit";
+
+ const id = row.id || this.ids;
+ getFund(id).then((response) => {
+ this.form = response.data;
+ // this.form.recordstate =-1;
+ // this.form.recordstatus = response.data.recordstatus + "";
+ this.form.name = this.curCase.name;
+ //闄勪欢澶勭悊
+ this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : []
+ getownFundDetail(id).then((res) => {
+ this.fundDetails = res.data;
+ for (let m = 0; m < this.fundDetails.length; m++) {
+ this.fundDetails[m].itemArr = [];
+ this.getItemArr(m, this.fundDetails[m]);
+
+ //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭�
+ this.fundDetails[m].rowfeeblocks = [];
+
+ this.fundDetails[m].rowfeeblocks.push({
+ servicesscope: this.fundDetails[m].servicesscope,
+ expensedescribe: this.fundDetails[m].servicesscopename,
+ expense: this.fundDetails[m].expense,
+ remark: this.fundDetails[m].servicesscopename,
+ });
+ // getdetailsByItemId(this.fundDetails[m].itemid).then((res) => {
+ // let fundmsg = res.data;
+ // fundmsg.forEach((item) => {
+ // this.fundDetails[m].rowfeeblocks.push({
+ // servicesscope: item.id,
+ // expensedescribe: item.expensedescribe,
+ // expense: item.expense,
+ // remark: item.expensedescribe,
+ // });
+ // });
+ // });
+ }
+
+ if (this.fundDetails.length == 0) {
+ this.addRow();
+ }
+ });
+ });
+ },
+
+ /** 鏌ョ湅鎸夐挳鎿嶄綔 */
+ handleDetail(row) {
+ this.isopen = 0;
+ this.reset();
+ this.queryParams.params = {};
+ this.form.donorno = this.curCase.donorno;
+ this.form.infoid = this.curCase.id;
+ this.dialogOpen = true;
+ this.title = "鏌ョ湅璐圭敤鐢宠";
+ this.dialogType = "detail";
+ const id = row.id || this.ids;
+
+ getFund(id).then((response) => {
+ this.form = response.data;
+ this.form.name = this.curCase.name;
+ let listFundflowparams = {
+ fundid: row.id,
+ fundtype: 2,
+ };
+ //闄勪欢澶勭悊
+ this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : []
+
+ listFundflow(listFundflowparams).then((res) => {
+ this.fundflowList = res.rows;
+ });
+ getownFundDetail(id).then((res) => {
+ this.fundDetails = res.data;
+ for (let m = 0; m < this.fundDetails.length; m++) {
+ this.fundDetails[m].itemArr = [];
+ this.getItemArr(m, this.fundDetails[m]);
+ this.fundDetails[m].rowfeeblocks = [];
+ this.fundDetails[m].rowfeeblocks.push({
+ expense: this.fundDetails[m].expense,
+ expensedescribe: this.fundDetails[m].servicesscopename,
+ remark: this.fundDetails[m].servicesscope,
+ servicesscope: this.fundDetails[m].servicesscope,
+ });
+ }
+
+ if (this.fundDetails.length == 0) {
+ this.addRow();
+ }
+ });
+ });
+ },
+
+ 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.getfundList();
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ })
+ .catch(() => { });
+ },
+
+ /** 涓婃姤鎸夐挳鎿嶄綔 */
+ handleUp(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: "宸插彇娑堢敵璇�",
+ });
+ });
+ },
+
+ /** 鎻愪氦鎸夐挳 */
+ submitForm() {
+ 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.fundDetails.length; k++) {
+ let tempDetail = this.fundDetails[k];
+ if (tempDetail.itemid == null) {
+ this.$modal.msgWarning("鏈嶅姟椤圭洰琛ㄤ腑锛岀" + (k + 1).toString() + "琛岀殑鏈嶅姟椤圭洰鏈�夋嫨锛岃鍏堥�夋嫨鏈嶅姟椤圭洰鍚庡啀鎻愪氦淇濆瓨锛�");
+ return;
+ }
+
+ if (tempDetail.servicesscope == null) {
+ this.$modal.msgWarning("鏈嶅姟椤圭洰琛ㄤ腑锛岀" + (k + 1).toString() + "琛岀殑璐圭敤璇存槑鏈�夋嫨,璇烽�夋嫨璐圭敤璇存槑鍚庡啀鎻愪氦淇濆瓨锛�");
+ return;
+ }
+
+ if (tempDetail.beneficiaryno == null) {
+ this.$modal.msgWarning("鏈嶅姟椤圭洰琛ㄤ腑锛岀" + (k + 1).toString() + "琛岀殑鏈嶅姟浜哄憳濮撳悕涓洪�夋嫨,璇烽�夋嫨浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�");
+ return;
+ }
+
+ // //鍒ゆ柇鍗曚綅 unitSel
+ // try {
+ // let unitIndex = this.unitList.findIndex(
+ // (item) => tempDetail.unitno == item.organizationid
+ // );
+ // if (unitIndex > -1) {
+ // tempDetail.unitname = this.unitList[unitIndex].organizationname;
+ // } else {
+ // tempDetail.unitname = tempDetail.unitno;
+ // }
+ // } catch {
+ // tempDetail.unitname = tempDetail.unitno;
+ // }
+ }
+
+ //闄勪欢澶勭悊
+ let list = this.fileList;
+ if (list.length > 0) {
+ this.form.annexfiles = list.map(item => item.url).join(",");
+ }
+
+ //澶勭悊鏄庣粏
+ for (let i = 0; i < this.fundDetails.length; i++) {
+ let tempDetail = this.fundDetails[i];
+ //鑾峰彇鏈嶅姟椤圭洰鏄庣粏
+ let tempItemArr = tempDetail.itemArr;
+ let itemIndex = tempItemArr.findIndex(
+ (item) => tempDetail.itemid == item.id
+ );
+ if (itemIndex > -1) {
+ tempDetail.itemname = tempItemArr[itemIndex].itemName;
+ tempDetail.itemid = tempItemArr[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.fundDetails[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.fundDetails[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.fundDetails[k] = tempDetail;
+
+ this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount);
+ this.totalAmount += parseFloat(tempDetail.amount);
+ console.log("1", this.amount);
+ }
+ });
+ }
+ */
+ }
+ //璐圭敤鍚堣
+ // this.form.pretaxcost = parseFloat(this.totalPreTaxAmount).toFixed(2);
+ // this.form.taxedcost = parseFloat(this.totalAfterTaxAmount).toFixed(2);
+ // this.form.amountrequested = this.totalAmount.toFixed(2);
+
+ //淇濆瓨鏁版嵁
+ this.loading = true;
+ this.form.serviceFunddetails = 0;
+ this.fundDetails.map((item) => {
+ this.form.serviceFunddetails += item.amount;
+ });
+ this.form.serviceFunddetails = this.fundDetails;
+
+ if (this.form.id != null) {
+ //鎹愮尞鑰�
+ this.form.donorname = this.curCase.name;
+
+ // updateFund(this.form).then((response) => {
+ // if (response.code === 200) {
+ // this.loading = false;
+ // for (let m = 0; m < this.fundDetails.length; m++) {
+ // if (this.fundDetails[m].id > 0) {
+ // updateFunddetail(this.fundDetails[m]).then((response2) => { if (response.code != 200) { this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐�1锛�" + response.msg); } });
+ // } else {
+ // addFunddetail(this.fundDetails[m]).then((response2) => { if (response.code != 200) { this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐�2锛�" + response.msg); } });
+ // }
+ // }
+ // this.$modal.msgSuccess("涓撳鍔冲姟璐逛繚瀛樻垚鍔燂紒");
+ // } else {
+ // this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐ワ細" + response.msg);
+ // }
+ // });
+
+ } else {
+ this.form.recordstatus = -1;
+
+ // addorupdateFund(this.form).then((response) => {
+ // if (response.code === 200) {
+ // this.selectDonotor(this.curCase);
+ // } else {
+ // this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐ワ細" + response.msg);
+ // }
+ // });
+ }
+
+ addorupdateFund(this.form).then((response) => {
+ if (response.code === 200) {
+ this.selectDonotor(this.curCase);
+ this.$modal.msgSuccess("涓撳鍔冲姟璐逛繚瀛樻垚鍔燂紒");
+ } else {
+ this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐ワ細" + response.msg);
+ }
+ });
+
+ //鍏抽棴绐楀彛
+ this.loading = false;
+ this.dialogOpen = false;
+ // this.getfundList();
+ this.getList();
+ this.selectDonotor(this.curCase);
+
+ }
+ });
+ },
+
+ // 鍙栨秷鎸夐挳
+ cancel() {
+ this.dialogOpen = false;
+ this.reset();
+ },
+
+ // 琛ㄥ崟閲嶇疆
+ reset() {
+ this.form = {
+ recordstate: -1,
+ userno: null,
+ username: null,
+ id: 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,
+ applytype: "4",
+ servicetypename: null,
+ servicesscope: null,
+ servicesscopename: null,
+ };
+ this.resetForm("form");
+ //娓呯┖闄勪欢
+ this.fileList = []
+ },
+
+ ShowDetailDialog(spoce, showType) {
+ this.expertfrom = "1";
+ this.funddetailForm.index = spoce.$index;
+ this.funddetailForm.beneficiaryname = spoce.row.beneficiaryname;
+ this.funddetailForm.beneficiaryno = spoce.row.beneficiaryno;
+ 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.showDetailInfoDialog = true;
+ this.showDetailInfoDialogType = showType;
+ },
+
+ ConfirmDetailDialog() {
+ let tempIndex = this.funddetailForm.index;
+ let tempName = this.funddetailForm.beneficiaryname;
+ let tempUnitname = this.funddetailForm.unitname;
+ let singleDetail = this.fundDetails[tempIndex];
+
+ if (this.showDetailInfoDialogType == "name") {
+
+ if (this.expertfrom == "1") {
+ //浠庝笓瀹跺垪琛ㄨ幏鍙栦俊鎭�
+ this.personlist.map((res) => {
+ if (tempName == res.username) {
+ console.log("閫夋嫨涓撳", res);
+ singleDetail.beneficiaryno = res.userno;
+ singleDetail.beneficiaryname = res.username;
+ singleDetail.bankcardno = res.bankcardno;
+ singleDetail.branchbankname = res.branchbankname;
+ singleDetail.depositbank = res.depositbank;
+ singleDetail.idcardno = res.idcardno;
+ singleDetail.phone = res.telephone;
+ singleDetail.title = res.title;
+ singleDetail.unitname = res.unitname;
+ singleDetail.unitno = parseInt(res.unitno);
+ }
+ });
+ } else {
+ //淇濆瓨鏂板涓撳
+ this.expertform.id = null;
+ this.expertform.userno = this.personlist[this.personlist.length - 1].id + 1;
+ this.expertform.usertype = "expert";
+ this.expertform.username = this.funddetailForm.expertname;
+ this.expertform.idcardno = this.funddetailForm.expertidcardno;
+ this.expertform.sex = null;
+ this.expertform.telephone = null;
+ this.expertform.address = null;
+ this.expertform.wbm = null;
+ this.expertform.pym = null;
+
+ this.expertform.unitno = this.funddetailForm.expertunitno;
+ try {
+ let unitIndex = this.unitList.findIndex(
+ (item) => this.expertform.unitno == item.organizationid
+ );
+ if (unitIndex > -1) {
+ this.expertform.unitname = this.unitList[unitIndex].organizationname;
+ } else {
+ this.expertform.unitname = this.expertform.unitno;
+ }
+ } catch {
+ this.expertform.unitname = this.expertform.unitno;
+ }
+ this.expertform.title = this.funddetailForm.experttitle;
+ this.expertform.personnelunitno = null;
+
+ this.expertform.depositbank = this.funddetailForm.expertdepositbank;
+ this.expertform.bankcardno = this.funddetailForm.expertbankcardno;
+ this.expertform.branchbankname = null;
+ this.expertform.remark = null;
+ this.expertform.del_flag = "0";
+
+ addExternalperson(this.expertform).then((response) => {
+ if (response.code == 200) {
+ this.$modal.msgSuccess("鏂板涓撳淇℃伅鎴愬姛锛�");
+
+ listExternalperson().then((res) => {
+ this.personlist = res.rows;
+ console.log("new personlist", this.personlist);
+ //浠庝笓瀹跺垪琛ㄨ幏鍙栦俊鎭�
+ this.personlist.map((res) => {
+ if (res.username == this.funddetailForm.expertname) {
+ console.log("鏂板涓撳", res);
+ singleDetail.beneficiaryno = res.userno;
+ singleDetail.beneficiaryname = res.username;
+ singleDetail.bankcardno = res.bankcardno;
+ singleDetail.branchbankname = res.branchbankname;
+ singleDetail.depositbank = res.depositbank;
+ singleDetail.idcardno = res.idcardno;
+ singleDetail.phone = res.telephone;
+ singleDetail.title = res.title;
+ singleDetail.unitname = res.unitname;
+ singleDetail.unitno = parseInt(res.unitno);
+ }
+ });
+ });
+ }
+ });
+ }
+
+ } else if (this.showDetailInfoDialogType == "unit") {
+ singleDetail.unitno = this.funddetailForm.unitno;
+ try {
+ let unitIndex = this.unitList.findIndex(
+ (item) => singleDetail.unitno == item.organizationid
+ );
+ if (unitIndex > -1) {
+ singleDetail.unitname = this.unitList[unitIndex].organizationname;
+ } else {
+ singleDetail.unitname = singleDetail.unitno;
+ }
+ } catch {
+ singleDetail.unitname = singleDetail.unitno;
+ }
+ }
+
+ this.fundDetails[tempIndex] = singleDetail;
+ this.showDetailInfoDialog = false;
+ },
+
+ //鑾峰彇褰撳墠鐢ㄦ埛淇℃伅
+ getUsermsg() {
+ getUserProfile().then((response) => {
+ this.defaultperson = response.data;
+ console.log("this.defaultperson", this.defaultperson);
+ this.standardlevel = response.data.standardlevel;
+ if (this.defaultperson.createBy == "admin" || this.defaultperson.createBy == "001" || this.defaultperson.createBy == "002") {
+ this.ismanager = true;
+ } else {
+ this.ismanager = false;
+ }
+ });
+ },
+
+ //鑾峰彇璐圭敤椤圭洰鐨勫娉ㄤ俊鎭�
+ selectedRemark(row) {
+ row.rowfeeblocks.forEach((item, i) => {
+ if (item.servicesscope === row.servicesscope) {
+ row.servicesscopename = item.expensedescribe;
+ if (row.servicesscopename.includes("绋庡悗")) {
+ row.amount = 0.0;
+ row.taxamount = 0.0;
+ row.taxedamount = item.expense;
+ } else {
+ row.amount = item.expense;
+ row.taxamount = 0.0;
+ row.taxedamount = 0.0;
+ }
+
+ this.form.serviceFunddetails = 0;
+ this.fundDetails.map((item) => {
+ this.form.serviceFunddetails += item.amount;
+ });
+ }
+ });
+ },
+
+ //鏍¢獙鏀惰垂椤圭洰鏄惁閲嶅
+ verifyFeeItem(row) {
+ row.itemArr.map((res) => {
+ if (row.itemid === res.id) {
+ row.remark = res.itemDescribe;
+ row.itemcode = res.itemCode;
+ }
+ });
+ var repeatNum = 0;
+ this.fundDetails.map((res) => {
+ if (res.applytype === row.applytype && res.itemid == row.itemid) {
+ repeatNum++;
+ }
+ });
+ if (repeatNum > 1) {
+ this.$modal.msgWarning("鎮ㄥ凡缁忔彁浜よ繃璇ユ湇鍔¢」鐩簡");
+ }
+
+ //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭�
+ getdetailsByItemId(row.itemid).then((res) => {
+ let fundmsg = res.data;
+ let rowfeeblocks = [];
+ fundmsg.forEach((item) => {
+ rowfeeblocks.push({
+ expense: item.expense,
+ expensedescribe: item.expensedescribe,
+ remark: item.expensedescribe,
+ servicesscope: item.id,
+ });
+ });
+
+ row.rowfeeblocks = rowfeeblocks;
+ row.servicesscope = null;
+ row.servicesscopename = "";
+ });
+
+ },
+
+ //
+ selectamount(row) {
+ this.rowfeeblocks.forEach((item, i) => {
+ if (item.expense === row.amount) {
+ row.remark = item.expensedescribe;
+ }
+ });
+ },
+
+ /** 鏌ヨ鎹愮尞浜洪亾鎱伴棶閲戝垪琛� */
getList() {
+ console.log("getList", "getList");
this.loading = true;
- listFunddetail(this.queryParams).then(response => {
- this.funddetailList = response.rows;
+ this.queryParams.params = {};
+ if (null != this.daterangeReporttime && "" != this.daterangeReporttime) {
+ this.queryParams.params["beginReporttime"] =
+ this.daterangeReporttime[0];
+ this.queryParams.params["endReporttime"] = this.daterangeReporttime[1];
+ }
+ // this.queryParams.residencetown = this.$refs.areaSelect.getQu();
+ listDonatebaseinfo(this.queryParams).then((response) => {
+ this.donatebaseinfoList = response.rows;
this.total = response.total;
this.loading = false;
});
},
- // 鍙栨秷鎸夐挳
- cancel() {
- this.open = false;
- this.reset();
+
+ 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,
+ });
+ }
+ });
},
- // 琛ㄥ崟閲嶇疆
- reset() {
- this.form = {
+
+ getBaseInfoList() {
+ this.loading = true;
+ listDonatebaseinfo(this.queryParams).then((response) => {
+ this.donatebaseinfoList = response.rows;
+ this.total = response.total;
+ this.loading = false;
+ });
+ },
+
+ //鐐瑰嚮鎹愮尞妗堜緥鍒楄〃瑙﹀彂鏂规硶
+ selectDonotor(row, column, event) {
+ this.curCase = row;
+ this.getfundList();
+ },
+
+ getfundList() {
+ this.loading = true;
+ this.reset();
+ this.fundQueryParam.infoid = this.curCase.id;
+ listFund(this.fundQueryParam).then((response) => {
+ this.loading = false;
+ this.donateconsolationfundList = response.rows;
+ });
+ },
+
+ //瀵煎叆鎵�鏈夐」鐩�
+ addAllItems() {
+ this.loading = true;
+ this.fundDetails = this.fundDetails.filter(
+ (r) => r.applytype != "" && r.applytype != null
+ );
+ let listAdd = [];
+ //let listAdd = this.fundDetails;
+ for (let i = 0; i < this.feeItemTypes.length; i++) {
+ for (let j = 0; j < this.feeItemTypes[i].itemDetails.length; j++) {
+ let list = this.fundDetails.filter(
+ (r) =>
+ r.applytype == this.feeItemTypes[i].itemType &&
+ r.itemid == this.feeItemTypes[i].itemDetails[j].id
+ );
+
+ if (list.length == 0) {
+ let rowData = {
+ id: null,
+ orderno: listAdd.length + 1,
+ applytype: this.feeItemTypes[i].itemType,
+ itemid: this.feeItemTypes[i].itemDetails[j].id,
+ itemcode: this.feeItemTypes[i].itemDetails[j].itemCode,
+ recordstatus: "-1",
+ beneficiaryname: "鐐瑰嚮閫夋嫨",
+ unitname: "鐐瑰嚮閫夋嫨",
+ itemArr: this.feeItemTypes[i].itemDetails,
+ rowfeeblocks: null,
+ servicesscope: null,
+ servicesscopename: ""
+ };
+
+ //鑾峰彇鏀惰垂椤圭洰鐨勮鏄庝俊鎭�
+ getdetailsByItemId(rowData.itemid).then((res) => {
+ let fundmsg = res.data;
+ let rowfeeblocks = [];
+ fundmsg.forEach((item) => {
+ rowfeeblocks.push({
+ expense: item.expense,
+ expensedescribe: item.expensedescribe,
+ remark: item.expensedescribe,
+ servicesscope: item.id,
+ });
+ });
+
+ rowData.rowfeeblocks = rowfeeblocks;
+ rowData.servicesscope = null;
+ rowData.servicesscopename = "";
+ });
+
+ listAdd.push(rowData);
+ }
+ }
+ }
+ this.fundDetails = listAdd;
+ this.loading = false;
+ // let Outerarr = this.fundDetails;
+ // Outerarr.map((res) => {
+ // let onelist = this.rowfeeItemTypes;
+ // onelist.map((item) => {
+ // //绗竴灞備笉鐩哥瓑鏃讹紱
+ // if (res.applytype !== item.itemType) {
+ // this.addRow();
+ // }
+ // });
+ // });
+ },
+
+ addAll(row, i, arr) {
+ row.itemArr.map((res) => {
+ if (res.id !== row.itemid) {
+ let a = arr.length;
+ this.addRow();
+ arr[a].itemArr = row.itemArr;
+ arr[a].applytype = row.applytype;
+ arr[a].itemid = res.id;
+
+ getdetailsByItemId(arr[a].itemid).then((res) => {
+ let fundmsg = res.data;
+ let rowfeeblocks = [];
+ fundmsg.forEach((item) => {
+ rowfeeblocks.push({
+ expense: item.expense,
+ expensedescribe: item.expensedescribe,
+ remark: item.expensedescribe,
+ servicesscope: item.id,
+ });
+ });
+ row.rowfeeblocks = rowfeeblocks;
+ });
+ }
+ });
+ },
+
+ //鏂板涓�琛�
+ addRow(rowIndex) {
+ let rowData = {
+ orderno: null,
id: null,
fundid: null,
- beneficiaryname: null,
+ beneficiaryname: "鐐瑰嚮閫夋嫨",
beneficiaryno: null,
- uintname: null,
- uintno: null,
+ unitname: "鐐瑰嚮閫夋嫨",
+ unitno: null,
uintuserno: null,
+ title: null,
idcardtype: null,
idcardno: null,
sex: null,
@@ -312,93 +1537,322 @@
itemtype: null,
amount: null,
prepaidamount: null,
+ taxamount: null,
invoicecount: null,
+ taxedamount: null,
attachcount: null,
remark: null,
- recordstatus: "0",
+ recordstatus: "-1",
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
uploadflag: null,
- uploadtime: null
+ uploadtime: null,
+ itemArr: [],
+ servicesscope: null,
+ rowfeeblocks: [],
};
- this.resetForm("form");
+ if (rowIndex == undefined || rowIndex == null || rowIndex < 0) {
+ this.fundDetails.push(rowData);
+ } else {
+ this.fundDetails.splice(rowIndex + 1, 0, rowData);
+ }
+ for (let i = 0; i < this.fundDetails.length; i++) {
+ this.fundDetails[i].orderno = i + 1;
+ }
},
- /** 鎼滅储鎸夐挳鎿嶄綔 */
- handleQuery() {
- this.queryParams.pageNum = 1;
- this.getList();
+
+ //鍔犺浇鏈嶅姟椤圭洰
+ loadItemType(row) {
+ let list = this.feeItemTypes.filter((r) => r.itemType == row.applytype);
+ row.itemArr = list[0].itemDetails;
+ row.itemid = null;
+ this.$forceUpdate();
+ //this.loading = true;
+ // getItemNames(row.applytype).then((res) => {
+ // this.loading = false;
+ // row.itemid = null;
+ // row.itemArr = res.data;
+ // this.$forceUpdate();
+ // });
},
- /** 閲嶇疆鎸夐挳鎿嶄綔 */
- resetQuery() {
- this.resetForm("queryForm");
- this.handleQuery();
- },
- // 澶氶�夋閫変腑鏁版嵁
- handleSelectionChange(selection) {
- this.ids = selection.map(item => item.id)
- this.single = selection.length !== 1
- this.multiple = !selection.length
- },
- /** 鏂板鎸夐挳鎿嶄綔 */
- handleAdd() {
- this.reset();
- this.open = true;
- this.title = "娣诲姞璐圭敤鐢宠鏄庣粏";
- },
- /** 淇敼鎸夐挳鎿嶄綔 */
- handleUpdate(row) {
- this.reset();
- const id = row.id || this.ids
- getFunddetail(id).then(response => {
- this.form = response.data;
- this.open = true;
- this.title = "淇敼璐圭敤鐢宠鏄庣粏";
+
+ //鑾峰彇涓撳鍒楄〃
+ getExternalpersonList() {
+ listExternalperson().then((res) => {
+ this.personlist = res.rows;
});
},
- /** 鎻愪氦鎸夐挳 */
- submitForm() {
- this.$refs["form"].validate(valid => {
- if (valid) {
- if (this.form.id != null) {
- updateFunddetail(this.form).then(response => {
- this.$modal.msgSuccess("淇敼鎴愬姛");
- this.open = false;
- this.getList();
- });
- } else {
- addFunddetail(this.form).then(response => {
- this.$modal.msgSuccess("鏂板鎴愬姛");
- this.open = false;
- this.getList();
+
+ //涓撳浜哄憳鍒楄〃
+ selectReporters() {
+ 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);
+ });
+ }
+ },
+
+ selectpersonmsg(row) {
+ // if(row.beneficiaryname)
+ this.personlist.map((res) => {
+ if (row.beneficiaryname == res.username) {
+ row.beneficiaryno = res.userno;
+ row.beneficiaryname = res.username;
+ row.bankcardno = res.bankcardno;
+ row.branchbankname = res.branchbankname;
+ row.depositbank = res.depositbank;
+ row.idcardno = res.idcardno;
+ row.phone = res.phonenumber;
+ row.title = res.title;
+ row.unitname = res.unitname;
+ row.unitno = res.unitno;
+ } else {
+ row.beneficiaryno = row.beneficiaryname;
}
});
},
- /** 鍒犻櫎鎸夐挳鎿嶄綔 */
- handleDelete(row) {
- const ids = row.id || this.ids;
- this.$modal.confirm('鏄惁纭鍒犻櫎璐圭敤鐢宠鏄庣粏缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function () {
- return delFunddetail(ids);
- }).then(() => {
- this.getList();
- this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
- }).catch(() => { });
+
+ getUserList() {
+ listUser().then((res) => {
+ console.log("listUser", res);
+ this.userlist = res.data;
+ });
},
- /** 瀵煎嚭鎸夐挳鎿嶄綔 */
- handleExport() {
- const queryParams = this.queryParams;
- this.$modal.confirm('鏄惁纭瀵煎嚭鎵�鏈夎垂鐢ㄧ敵璇锋槑缁嗘暟鎹」锛�').then(() => {
- this.exportLoading = true;
- return exportFunddetail(queryParams);
- }).then(response => {
- this.$download.name(response.msg);
- this.exportLoading = false;
- }).catch(() => { });
- }
- }
+
+ //绛涙煡鍑哄搴旂殑璐圭敤椤圭洰
+ searchItemType(val, scope) {
+ let result = [];
+ if (val != "") {
+ let tempItemArr = scope.row.itemArr;
+ for (let i = 0; i < tempItemArr.length; i++) {
+ let pym = tempItemArr[i].itempinyin;
+ if (pym != null && pym != undefined && pym != "") {
+ if (pym.indexOf(val) != -1) {
+ result.push(tempItemArr[i]);
+ }
+ }
+ }
+ scope.row.itemArr = result;
+ } else {
+ getItemNames(scope.row.applytype).then((res) => {
+ scope.row.itemArr = res.data;
+ //this.$set(this.fundDetails, rowindex, row);
+ });
+ }
+ },
+
+ deleteRows(row, index, rows) {
+ this.$confirm("鏄惁纭鍒犻櫎?", "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "success",
+ })
+ .then(() => {
+ 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.fundDetails, res.data);
+ this.sumTotalFee();
+ // this.fundDetails = res.data
+ });
+ });
+ }
+ // getownFundDetail(this.form.id).then(res=>{
+ // this.$set(this.fundDetails,res.data)
+ // this.fundDetails = res.data
+ // })
+ });
+ } else {
+ rows.splice(index, 1);
+ this.sumTotalFee();
+ }
+ })
+ .catch(() => {
+ //鍑犵偣鍙栨秷鐨勬彁绀�
+ });
+ },
+
+ //璁$畻涓◣
+ calculateTax() { },
+
+ //璁$畻鎬婚噾棰�
+ sumTotalFee(row) {
+ let allSum = 0;
+ if (this.form.applytype != null) {
+ for (let i = 0; i < this.fundDetails.length; i++) {
+ let totalFee = 0;
+ let taxFee = 0;
+ if (this.form.applytype == 1 || this.form.applytype == 2) {
+ //璁$畻褰撳墠鎶ラ攢鍐呭璐圭敤鍚堣
+ if (!isNaN(parseFloat(this.fundDetails[i].amount))) {
+ totalFee += parseFloat(this.fundDetails[i].amount);
+ taxFee += parseFloat(this.fundDetails[i].amount);
+ }
+ if (!isNaN(parseFloat(this.fundDetails[i].taxamount))) {
+ totalFee -= parseFloat(this.fundDetails[i].taxamount);
+ taxFee -= parseFloat(this.fundDetails[i].taxamount);
+ }
+ } else if (this.form.applytype == 3) {
+ if (
+ !isNaN(parseFloat(this.fundDetails[i].price)) &&
+ !isNaN(parseFloat(this.fundDetails[i].quantity))
+ ) {
+ totalFee +=
+ parseFloat(this.fundDetails[i].price) *
+ parseFloat(this.fundDetails[i].quantity);
+ }
+ }
+
+ //绋庡墠銆佺◣鍚庨渶瑕佺嫭绔嬪綍鍏�
+ // if (!isNaN(parseFloat(taxFee))) {
+ // this.fundDetails[i].taxedamount = taxFee.toFixed(2);
+ // }
+
+ allSum += totalFee;
+ }
+ }
+ // this.form.amountrequested = allSum.toFixed(2);
+ // this.$forceUpdate();
+ },
+
+ //鑾峰彇璐圭敤绫诲瀷
+ getCurFundType() {
+ getFundTypeAll(this.currentApplyType).then((res) => {
+ let dataList = res.data;
+ this.feeItemTypes = dataList;
+ 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,
+ });
+ }
+ });
+ },
+
+ getItemArr(rowindex, row) {
+ let list = this.feeItemTypes.filter((r) => r.itemType == row.applytype);
+ row.itemArr = list[0].itemDetails;
+ this.$set(this.fundDetails, rowindex, row);
+ //this.loading = true;
+ // getItemNames(row.applytype).then((res) => {
+ // this.loading = false;
+ // row.itemArr = res.data;
+ // this.$set(this.fundDetails, rowindex, row);
+ // });
+ },
+
+ mixExport(scope) {
+ this.dayin(scope.row.id);
+ //this.totaldayin(id);
+ },
+
+ //涓撳璐瑰姵鍔℃墦鍗�
+ dayin(id) {
+ getdownloadLW(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",
+ });
+ }
+ });
+ },
+
+
+
+ //鏂囦欢涓婁紶
+ handleUploadError() { },
+
+ /** 涓嬭浇鏂囦欢鎸夐挳鎿嶄綔 */
+ downFile(item) {
+ const url = process.env.VUE_APP_BASE_API + item.url
+ var a = document.createElement('a');
+ var event = new MouseEvent('click');
+ a.download = item.name;
+ a.href = url;
+ a.dispatchEvent(event);
+ },
+
+ remove(file) {
+ this.fileList.splice(this.fileList.indexOf(file), 1)
+ },
+
+ handleExceed() {
+ this.$message.error(`涓婁紶鏂囦欢鏁伴噺涓嶈兘瓒呰繃 ${5} 涓�!`);
+ },
+
+ //鏂囦欢涓婁紶鎴愬姛鍥炶皟
+ uploadSccess(response, file, fileList) {
+ //鑾峰彇闄勪欢淇℃伅浣嶇疆
+ if (response.code == 200) {
+ this.form.filename = file.raw.name;
+ this.$modal.msgSuccess(response.msg);
+ this.fileList.push({ name: response.fileName, url: response.fileName });
+ } else {
+ console.log(response.msg);;
+ }
+ },
+
+ },
+
};
+
</script>
+<style scoped>
+/* @import url(); 寮曞叆鍏叡css绫� */
+</style>
diff --git a/vue.config.js b/vue.config.js
index 3096dad..eab82c3 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -33,7 +33,7 @@
proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: {
- target:`http://localhost:8086`,
+ target:`http://localhost:8080`,
// target:`http://116.62.18.175:8080`,
// target:`http://192.168.1.4:8086`,
// target: `https://slb.hospitalstar.com:9093`,
--
Gitblit v1.9.3