From 26c14f0c6defe02f2b6f15b498bcd454461ee7a8 Mon Sep 17 00:00:00 2001 From: yxh <172933527@qq.com> Date: 星期五, 05 一月 2024 14:01:43 +0800 Subject: [PATCH] yxh --- src/views/project/fund/ethicalExpertFeeApply/index.vue | 1004 ++++++++++++++++++++++++++++++++-------------------------- 1 files changed, 551 insertions(+), 453 deletions(-) diff --git a/src/views/project/fund/ethicalExpertFeeApply/index.vue b/src/views/project/fund/ethicalExpertFeeApply/index.vue index c3f7c95..361859b 100644 --- a/src/views/project/fund/ethicalExpertFeeApply/index.vue +++ b/src/views/project/fund/ethicalExpertFeeApply/index.vue @@ -18,6 +18,12 @@ </el-form-item> </el-col> <el-col :span="6"> + <el-form-item label="鎹愮尞鑰�" prop="name"> + <el-input v-model="queryParams.donorname" placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" clearable size="small" + @keyup.enter.native="handleQuery" /> + </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> @@ -51,10 +57,6 @@ <el-card shadow="naver"> <el-form ref="infoform" label-width="100px"> <el-row :gutter="4" align="right" class="mb8"> - <el-col :span="1.5"> - <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" - v-hasPermi="['project:ethicalfund:add']">浼︾悊瀹℃煡涓撳璐圭敵璇�</el-button> - </el-col> <el-col :span="9"> <el-form-item label="鎹愮尞缂栧彿"> <el-input v-model="curCase.donorno" :disabled="true"></el-input> @@ -65,14 +67,19 @@ <el-input v-model="curCase.name" :disabled="true"></el-input> </el-form-item> </el-col> - <el-col> </el-col> + </el-row> + <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:ethicalfund:add']">鏂板鐢宠鍗�</el-button> + </el-col> </el-row> <el-row> <el-table v-loading="loading" border :data="donateconsolationfundList"> - <el-table-column label="鐢宠鏃ユ湡" align="center" prop="createTime" width="150px"> + <el-table-column label="鐢宠鏃ユ湡" align="center" prop="applyTime" width="150px"> <template slot-scope="scope"> <span>{{ - parseTime(scope.row.createTime, "{y}-{m}-{d}") + parseTime(scope.row.applyTime, "{y}-{m}-{d}") }}</span> </template> </el-table-column> @@ -83,6 +90,11 @@ <el-table-column label="瀹℃牳鐘舵��" align="center" prop="recordstatus"> <template slot-scope="scope"> <dict-tag :options="dict.type.sys_recordstatus" :value="scope.row.recordstatus" /> + </template> + </el-table-column> + <el-table-column label="鐢宠鏉愭枡鐘舵��" width="140" align="center" prop="checkstatus"> + <template slot-scope="scope"> + <dict-tag :options="dict.type.sys_stage_type" :value="scope.row.checkstatus" /> </template> </el-table-column> <!-- @@ -99,7 +111,7 @@ scope.row.recordstatus == 1 " size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['project:ethicalfund:edit']">淇敼</el-button> - <el-button size="mini" type="text" icon="el-icon-edit" @click="handleDetail(scope.row)">鏌ョ湅</el-button> + <el-button size="mini" type="text" icon="el-icon-view" @click="handleDetail(scope.row)">鏌ョ湅</el-button> <el-button v-if="scope.row.recordstatus == -1 || scope.row.recordstatus == 1 " size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" @@ -121,8 +133,8 @@ <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" + <el-form-item label="鐢宠鏃ユ湡" prop="applyTime"> + <el-date-picker clearable style="width: 100%" v-model="form.applyTime" type="date" value-format="yyyy-MM-dd HH:mm:ss" placeholder="鐢宠鏃ユ湡"> </el-date-picker> </el-form-item> @@ -150,15 +162,14 @@ <el-col :span="5"> <el-form-item label="鐢宠绫诲瀷"> <el-radio v-model="form.applytype" label="2">浼︾悊瀹℃煡涓撳璐圭敵璇�</el-radio> - </el-form-item> - </el-col><el-col :span="10"> + </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 label="鎹愮尞鑰�" prop="donorname"> + <el-input :disabled="true" v-model="form.donorname" placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" clearable /> </el-form-item> </el-col> </el-row> @@ -166,7 +177,8 @@ <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-col> + <el-col :span="5"> <el-form-item label="绋庡墠閲戦" prop="pretaxcost"> <el-input v-model="form.pretaxcost" placeholder="绋庡墠閲戦鍚堣" :disabled="true" /> </el-form-item> @@ -223,7 +235,7 @@ <el-table-column prop="itemtype" align="center" label="鏈嶅姟椤圭洰" width="260"> <template slot-scope="scope"> <el-select v-model="scope.row.itemid" placeholder="鏈嶅姟椤圭洰" @change="select(scope.row)" clearable filterable - allow-create :filter-method="(val) => SearchItem(val, scope)"> + allow-create :filter-method="val => SearchItem(val, scope)"> <el-option v-for="dict in scope.row.itemArr" :key="dict.index" :label="dict.itemName" :value="dict.id"></el-option> </el-select> @@ -251,18 +263,18 @@ </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(); - } + <el-input v-model="scope.row.amount" placeholder="绋庡墠閲戦" @blur="val => { + sumTotalFee(); + } " /> </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="绋庡悗閲戦" @blur="(val) => { - sumTotalFee(); - } + <el-input v-model="scope.row.taxedamount" placeholder="绋庡悗閲戦" @blur="val => { + sumTotalFee(); + } " /> </template> </el-table-column> @@ -275,18 +287,18 @@ <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(); - } + <el-input v-model="scope.row.quantity" placeholder="鏁伴噺" @blur="val => { + sumTotalFee(); + } " /> </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(); - } + <el-input v-model="scope.row.price" placeholder="浠锋牸" @blur="val => { + sumTotalFee(); + } " /> </template> </el-table-column> @@ -373,12 +385,12 @@ <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" + <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-button :disabled="dialogType == 'detail'" size="small" type="primary">涓婁紶</el-button> </el-upload> </el-form-item> </el-col> @@ -453,7 +465,7 @@ getdownloadBX, addorupdateFund, getdownloadLL, - getdetailsByItemId, + getdetailsByItemId } from "@/api/project/fund"; import { onelistFunds, @@ -468,13 +480,13 @@ getItemNames, getFundType, getFundTypeAll, - listcountItem, + listcountItem } from "@/api/project/funddetail"; import { listOrganization, getOrganization, listReportname, - listUser, + listUser } from "@/api/project/organization"; import { listExternalperson, @@ -483,11 +495,11 @@ delExternalperson, addExternalperson, updateExternalperson, - exportExternalperson, + exportExternalperson } from "@/api/project/externalperson"; import { listDonatebaseinfo, - getDonatebaseinfo, + getDonatebaseinfo } from "@/api/project/donatebaseinfo"; import Li_area_select from "@/components/Address"; import OrgSelecter from "@/views/project/components/orgselect"; @@ -499,7 +511,7 @@ //import寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢� components: { Li_area_select, - OrgSelecter, + OrgSelecter }, name: "fundApply", dicts: [ @@ -514,6 +526,7 @@ "sys_finsubject", "sys_financeitemtype", "sys_expensetype", + "sys_stage_type" ], data() { //杩欓噷瀛樻斁鏁版嵁 @@ -540,28 +553,28 @@ treatmenthospitalname: null, donorno: null, reportername: null, - reporttime: null, + reporttime: null }, fundQueryParam: { pageNum: 1, pageSize: 100, infoid: null, applytype: "2", - createBy: null, + createBy: null }, // 琛ㄥ崟鍙傛暟 form: {}, // 琛ㄥ崟鏍¢獙 rules: { username: [ - { required: true, message: "璇疯緭鍏ョ敵璇蜂汉", trigger: "blur" }, + { required: true, message: "璇疯緭鍏ョ敵璇蜂汉", trigger: "blur" } ], - createTime: [ - { required: true, message: "璇疯緭鍏ョ敵璇锋棩鏈�", trigger: "blur" }, + applyTime: [ + { required: true, message: "璇疯緭鍏ョ敵璇锋棩鏈�", trigger: "blur" } ], deptmentname: [ - { required: true, message: "璇疯緭鍏ユ墍灞炵粍鍒�", trigger: "blur" }, - ], + { required: true, message: "璇疯緭鍏ユ墍灞炵粍鍒�", trigger: "blur" } + ] }, //鎹愮尞妗堜緥鍒楄〃鏁版嵁 // donationCaseTableData:[], @@ -600,7 +613,7 @@ beneficiaryno: null, unitno: null, unitname: null, - index: null, + index: null }, //闄勪欢鍒楄〃 fileList: [], @@ -608,110 +621,24 @@ uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", headers: { - Authorization: "Bearer " + getToken(), - }, + 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.fundDetailArr[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 = parseInt(res.unitno); - } else { - singleDetail.beneficiaryname = tempName; - singleDetail.beneficiaryno = tempName; - } - }); - } else if (this.detailInfoDialogShowType == "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.fundDetailArr[tempIndex] = singleDetail; - this.detailInfoDialogShow = false; - }, - 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: "宸插彇娑堢敵璇�", - }); - }); - }, - getUsermsg() { - getUserProfile().then((response) => { - this.defaultperson = response.data; - this.standardlevel = response.data.standardlevel; - }); - }, /** 鎼滅储鎸夐挳鎿嶄綔 */ handleQuery() { this.queryParams.pageNum = 1; this.getList(); }, + /** 閲嶇疆鎸夐挳鎿嶄綔 */ resetQuery() { this.daterangeReporttime = []; @@ -719,34 +646,28 @@ 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() { + if (this.curCase.id) { + this.$router.push({ + path: "/finance/applyDetail/", + query: { + id: 0, + businessType: "2", + operationType: "add", + curCase: this.curCase + } + }); + } else { + const h = this.$createElement; + this.$message({ + message: h("p", null, [ + h("span", null, "璇峰湪宸﹁竟鐨勬崘鐚渚嬭〃閫夋嫨闇�瑕佹搷浣滅殑妗堜緥锛�") + ]) + }); + } + return; + if (this.curCase.id) { this.istrue += 2; this.reset(); @@ -773,183 +694,181 @@ } else { const h = this.$createElement; this.$message({ - message: h("p", null, [h("span", null, "璇峰厛閫夋嫨宸︽柟鎹愮尞妗堜緥 ")]), + message: h("p", null, [h("span", null, "璇峰厛閫夋嫨宸︽柟鎹愮尞妗堜緥 ")]) }); } }, - //鐐瑰嚮鎹愮尞妗堜緥鍒楄〃瑙﹀彂鏂规硶 - selectDonotor(row, column, event) { - this.curCase = row; - this.getfundList(); - }, - getfundList() { - this.loading = true; + /** 淇敼鎸夐挳鎿嶄綔 */ + handleUpdate(row) { + this.$router.push({ + path: "/finance/applyDetail/", + query: { + id: row.id, + businessType: "2", + operationType: "update", + curCase: this.curCase + } + }); + return; + + this.isopen = 0; this.reset(); - this.fundQueryParam.infoid = this.curCase.id; - listFund(this.fundQueryParam).then((response) => { - this.loading = false; - this.donateconsolationfundList = response.rows; + this.queryParams.params = {}; + this.dialogOpen = true; + this.title = "淇敼璐圭敤鐢宠"; + this.dialogType = "edit"; + + const id = row.id || this.ids; + getFund(id).then(response => { + this.form = response.data; + //闄勪欢澶勭悊 + this.fileList = this.form.annexbankcard + ? this.form.annexbankcard + .split(",") + .map(item => ({ url: item, name: item })) + : []; + + getownFundDetail(id).then(async res => { + this.fundDetailArr = res.data; + for (let m = 0; m < this.fundDetailArr.length; m++) { + this.fundDetailArr[m].itemArr = []; + this.getItemArr(m, this.fundDetailArr[m]); + } + }); }); }, - select(row) { - row.itemArr.map((res) => { - if (row.itemid === res.id) { - row.remark = res.itemDescribe; - row.itemcode = res.itemCode; + /** 鏌ョ湅鎸夐挳鎿嶄綔 */ + handleDetail(row) { + this.$router.push({ + path: "/finance/applyDetail/", + query: { + id: row.id, + businessType: "2", + operationType: "detail", + curCase: this.curCase } }); - var repeatNum = 0; - this.fundDetailArr.map((res) => { - if (res.applytype === row.applytype && res.itemid == row.itemid) { - repeatNum++; - } - }); - if (repeatNum > 1) { - this.$modal.msgWarning("鎮ㄥ凡缁忔彁浜よ繃鏈嶅姟椤圭洰"); - } + return; - 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, + this.isopen = 0; + this.reset(); + this.queryParams.params = {}; + this.dialogOpen = true; + this.title = "鏌ョ湅璐圭敤鐢宠"; + this.dialogType = "detail"; + const id = row.id || this.ids; + + getFund(id).then(response => { + this.form = response.data; + 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.fundDetailArr = res.data; + for (let m = 0; m < this.fundDetailArr.length; m++) { + this.fundDetailArr[m].itemArr = []; + this.getItemArr(m, this.fundDetailArr[m]); + this.fundDetailArr[m].fundblock = []; + this.fundDetailArr[m].fundblock.push({ + expense: this.fundDetailArr[m].expense, + expensedescribe: this.fundDetailArr[m].servicesscopename, + remark: this.fundDetailArr[m].servicesscope, + servicesscope: this.fundDetailArr[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(() => { }); + }, + /** 涓婃姤鎸夐挳鎿嶄綔 */ + handleup(row) { + this.$confirm("鏄惁纭灏嗙櫥璁拌褰曚笂鎶ワ紵", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }) + .then(() => { + //鏌ユ壘鏄惁瀛樺湪鐧昏瀹屾垚璁板綍 + //鍒ゆ柇鏄惁瀛樺湪涓婃姤璁板綍 + row.recordstatus = "0"; + var currenttime = new Date(); + row.applyTime = currenttime.getFullYear() + "-" + (currenttime.getMonth()+1) + "-" + currenttime.getDate() + " " + currenttime.getHours() + ":" + currenttime.getMinutes() + ":" + currenttime.getSeconds(); + + 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: "宸插彇娑堢敵璇�" }); }); - - row.fundblock = fundblock; - row.servicesscope = null; - row.servicesscopename = ""; - }); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.dialogOpen = false; - this.reset(); }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - id: null, - recordstatus: "-1", - username: null, - userno: 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: "2", - servicetypename: null, - servicesscopename: null, - pretaxcost: null, - taxedcost: null, - }; - 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: "-1", - delFlag: null, - createBy: null, - createTime: null, - updateBy: null, - updateTime: null, - uploadflag: null, - uploadtime: null, - itemArr: [], - }; - if (rowIndex == undefined || rowIndex == null || rowIndex < 0) { - this.fundDetailArr.push(rowData); - } else { - this.fundDetailArr.splice(rowIndex + 1, 0, rowData); - } - for (let i = 0; i < this.fundDetailArr.length; i++) { - this.fundDetailArr[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(); - // }); + /** 瀵煎嚭鎸夐挳鎿嶄綔 */ + handleExport() { + const queryParams = this.queryParams; + this.$modal + .confirm("鏄惁纭瀵煎嚭鎵�鏈夋姤閿�鐢宠鏁版嵁椤癸紵") + .then(() => { + this.exportLoading = true; + return exportReimbursement(queryParams); + }) + .then(response => { + this.$download.name(response.msg); + this.exportLoading = false; + }) + .catch(() => { }); }, /** 鎻愪氦鎸夐挳 */ submitForm() { - this.$refs["form"].validate((valid) => { + this.$refs["form"].validate(valid => { if (valid) { let formData = this.form; let totalPreTaxAmount = 0.0; @@ -1002,9 +921,9 @@ if (list.length > 0) { this.form.annexbankcard = list.map(item => item.url).join(","); } - + if (this.form.id != null) { - updateFund(this.form).then((response) => { + updateFund(this.form).then(response => { this.getfundList(); this.dialogOpen = false; this.getList(); @@ -1017,16 +936,16 @@ tempData.fundid = formData.id; //鑾峰彇鏈嶅姟椤圭洰鏄庣粏 let itemIndex = tempItemArr.findIndex( - (item) => tempData.itemid == item.id + 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) => { }); + updateFunddetail(tempData).then(response2 => { }); } else { - addFunddetail(tempData).then((response2) => { }); + addFunddetail(tempData).then(response2 => { }); } } }); @@ -1037,7 +956,7 @@ let tempUtemArr = tempData.itemArr; //鑾峰彇鏈嶅姟椤圭洰鏄庣粏 let itemIndex = tempUtemArr.findIndex( - (item) => tempData.itemid == item.id + item => tempData.itemid == item.id ); if (itemIndex > -1) { tempData.itemname = tempUtemArr[itemIndex].itemName; @@ -1045,7 +964,7 @@ } //鑾峰彇applytypename let applytypeIndex = this.fundtypeArr.findIndex( - (item) => tempData.applytype == item.value + item => tempData.applytype == item.value ); if (applytypeIndex > -1) { tempData.applytypename = this.fundtypeArr[applytypeIndex].label; @@ -1054,7 +973,7 @@ } this.form.serviceFunddetails = this.fundDetailArr; - addorupdateFund(this.form).then((response) => { + addorupdateFund(this.form).then(response => { if (response.code === 200) { this.$modal.msgSuccess("鏂板鎴愬姛"); this.loading = false; @@ -1069,6 +988,215 @@ } }); }, + /** 鍙栨秷鎸夐挳 */ + cancel() { + this.dialogOpen = false; + this.reset(); + }, + + //鑾峰彇鎵�鏈夌敤鎴峰垪琛� + getUsermsg() { + getUserProfile().then(response => { + this.defaultperson = response.data; + this.standardlevel = response.data.standardlevel; + }); + }, + + /** 鏌ヨ鎹愮尞浜洪亾鎱伴棶閲戝垪琛� */ + 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; + }); + }, + + //鐐瑰嚮鎹愮尞妗堜緥鍒楄〃瑙﹀彂鏂规硶 + 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; + }); + }, + + select(row) { + row.itemArr.map(res => { + if (row.itemid === res.id) { + row.remark = res.itemDescribe; + row.itemcode = res.itemCode; + } + }); + var repeatNum = 0; + this.fundDetailArr.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 = ""; + }); + }, + + // 琛ㄥ崟閲嶇疆 + reset() { + this.form = { + id: null, + recordstatus: "-1", + username: null, + userno: 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: "2", + servicetypename: null, + servicesscopename: null, + pretaxcost: null, + taxedcost: null + }; + 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: "-1", + delFlag: null, + createBy: null, + createTime: null, + updateBy: null, + updateTime: null, + uploadflag: null, + uploadtime: null, + itemArr: [] + }; + if (rowIndex == undefined || rowIndex == null || rowIndex < 0) { + this.fundDetailArr.push(rowData); + } else { + this.fundDetailArr.splice(rowIndex + 1, 0, rowData); + } + for (let i = 0; i < this.fundDetailArr.length; i++) { + this.fundDetailArr[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(); + // }); + }, + selectremark(row) { this.fundblock.forEach((item, i) => { if (item.expensedescribe === row.servicesscopename) { @@ -1078,7 +1206,7 @@ // row.taxedamount = row.amount - row.taxamount; // this.form.amountrequested = item.expense; this.form.serviceFunddetails = 0; - this.fundDetailArr.map((item) => { + this.fundDetailArr.map(item => { this.form.serviceFunddetails += item.amount; }); // row.remark @@ -1100,113 +1228,28 @@ // }, getlistUser() { - listUser().then((res) => { + listUser().then(res => { this.userlist = res.data; }); - }, - - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.isopen = 0; - this.reset(); - this.queryParams.params = {}; - this.dialogOpen = true; - this.title = "淇敼璐圭敤鐢宠"; - this.dialogType = "edit"; - - const id = row.id || this.ids; - getFund(id).then((response) => { - this.form = response.data; - //闄勪欢澶勭悊 - this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : [] - - getownFundDetail(id).then(async (res) => { - this.fundDetailArr = res.data; - for (let m = 0; m < this.fundDetailArr.length; m++) { - this.fundDetailArr[m].itemArr = []; - this.getItemArr(m, this.fundDetailArr[m]); - } - }); - }); - }, - - /** 鏌ョ湅鎸夐挳鎿嶄綔 */ - handleDetail(row) { - this.isopen = 0; - this.reset(); - this.queryParams.params = {}; - this.dialogOpen = true; - this.title = "鏌ョ湅璐圭敤鐢宠"; - this.dialogType = "detail"; - const id = row.id || this.ids; - - getFund(id).then((response) => { - this.form = response.data; - 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.fundDetailArr = res.data; - for (let m = 0; m < this.fundDetailArr.length; m++) { - this.fundDetailArr[m].itemArr = []; - this.getItemArr(m, this.fundDetailArr[m]); - this.fundDetailArr[m].fundblock = []; - this.fundDetailArr[m].fundblock.push({ - expense: this.fundDetailArr[m].expense, - expensedescribe: this.fundDetailArr[m].servicesscopename, - remark: this.fundDetailArr[m].servicesscope, - servicesscope: this.fundDetailArr[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", + type: "success" }) .then(() => { if (row.id !== null) { - delFunddetail(row.id).then((res) => { + delFunddetail(row.id).then(res => { if (res.code === 200) { this.$confirm("鍒犻櫎鎴愬姛", "鎻愮ず", { confirmButtonText: "纭畾", cancelButtonText: "鍙栨秷", - type: "success", + type: "success" }).then(() => { this.$set(rows, rows.splice(index, 1)); - getownFundDetail(this.form.id).then((res) => { + getownFundDetail(this.form.id).then(res => { this.$set(this.fundDetailArr, res.data); this.sumTotalFee(); // this.fundDetailArr = res.data @@ -1276,21 +1319,21 @@ //鑾峰彇璐圭敤绫诲瀷 getCurFundType() { - getFundTypeAll(this.currentApplyType).then((res) => { + 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, + label: dataList[m].itemTypeName }); } }); }, getItemArr(rowindex, row) { - let list = this.fundtypeArrAll.filter((r) => r.itemType == row.applytype); + let list = this.fundtypeArrAll.filter(r => r.itemType == row.applytype); row.itemArr = list[0].itemDetails; this.$set(this.fundDetailArr, rowindex, row); //this.loading = true; @@ -1307,7 +1350,7 @@ //涓撳璐瑰姵鍔℃墦鍗� dayin(id) { - getdownloadLL(id).then((res) => { + getdownloadLL(id).then(res => { if (res.downloadUrl) { var fileUrl = res; //鑾峰彇褰撳墠缃戝潃 @@ -1321,16 +1364,16 @@ aEle.click(); this.$alert("涓嬭浇鎴愬姛", "鎻愮ず", { confirmButtonText: "纭畾", - type: "success", + type: "success" }); } }); }, - //姹囨�绘墦鍗� + //涓嬭浇鎵撳嵃 totaldayin(e) { // const id =this.row.id - getdownloadBX(e).then((res) => { + getdownloadBX(e).then(res => { if (res.downloadUrl) { var fileUrl = res; //鑾峰彇褰撳墠缃戝潃 @@ -1344,31 +1387,33 @@ aEle.click(); this.$alert("涓嬭浇鎴愬姛", "鎻愮ず", { confirmButtonText: "纭畾", - type: "success", + type: "success" }); } }); }, + selectReporters() { //涓撳浜哄憳鍒楄〃 let arr = ["zzry"]; let arrreportlist = []; for (let i = 0; i < arr.length; i++) { this.arrr2 = []; - listReportname(arr[i]).then((res) => { + listReportname(arr[i]).then(res => { this.arrr2 = res.data; this.arrr3 = this.arrr3.concat(this.arrr2); }); } }, + getlistExternalperson() { - listExternalperson().then((res) => { + listExternalperson().then(res => { this.personlist = res.rows; }); }, selectpersonmsg(row, rowindex) { - this.personlist.map((res) => { + this.personlist.map(res => { if (row.beneficiaryno === res.userno) { row.beneficiaryname = res.username; row.bankcardno = res.bankcardno; @@ -1383,6 +1428,18 @@ } }); }, + + getUnitList() { + listOrganization(3).then(response => { + for (let i = 0; i < response.rows.length; i++) { + this.unitList.push({ + organizationid: response.rows[i].organizationid, + organizationname: response.rows[i].organizationname + }); + } + }); + }, + SearchItem(val, scope) { let result = []; if (val != "") { @@ -1397,35 +1454,24 @@ } scope.row.itemArr = result; } else { - getItemNames(scope.row.applytype).then((res) => { + getItemNames(scope.row.applytype).then(res => { scope.row.itemArr = res.data; //this.$set(this.fundDetailArr, rowindex, row); }); } }, - getUnitList() { - listOrganization(3).then((response) => { - for (let i = 0; i < response.rows.length; i++) { - this.unitList.push({ - organizationid: response.rows[i].organizationid, - organizationname: response.rows[i].organizationname, - }); - } - }); - }, - addAlls() { this.loading = true; this.fundDetailArr = this.fundDetailArr.filter( - (r) => r.applytype != "" && r.applytype != null + r => r.applytype != "" && r.applytype != null ); let listAdd = []; //let listAdd = this.fundDetailArr; for (let i = 0; i < this.fundtypeArrAll.length; i++) { for (let j = 0; j < this.fundtypeArrAll[i].itemDetails.length; j++) { let list = this.fundDetailArr.filter( - (r) => + r => r.applytype == this.fundtypeArrAll[i].itemType && r.itemid == this.fundtypeArrAll[i].itemDetails[j].id ); @@ -1439,7 +1485,7 @@ recordstatus: "-1", itemArr: this.fundtypeArrAll[i].itemDetails, beneficiaryname: "鐐瑰嚮閫夋嫨", - unitname: "鐐瑰嚮閫夋嫨", + unitname: "鐐瑰嚮閫夋嫨" }; listAdd.push(rowData); } @@ -1452,7 +1498,7 @@ //鏂囦欢涓婁紶 handleUploadError() { }, remove(file) { - this.fileList.splice(this.fileList.indexOf(file), 1) + this.fileList.splice(this.fileList.indexOf(file), 1); }, handleExceed() { this.$message.error(`涓婁紶鏂囦欢鏁伴噺涓嶈兘瓒呰繃 ${5} 涓�!`); @@ -1471,14 +1517,66 @@ // 涓嬭浇鏂囦欢 downFile(item) { - const url = process.env.VUE_APP_BASE_API + item.url - var a = document.createElement('a'); - var event = new MouseEvent('click'); + 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); }, + + 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.fundDetailArr[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 = parseInt(res.unitno); + } else { + singleDetail.beneficiaryname = tempName; + singleDetail.beneficiaryno = tempName; + } + }); + } else if (this.detailInfoDialogShowType == "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.fundDetailArr[tempIndex] = singleDetail; + this.detailInfoDialogShow = false; + } }, + //鐢熷懡鍛ㄦ湡 - 鍒涘缓瀹屾垚锛堝彲浠ヨ闂綋鍓峵his瀹炰緥锛� created() { this.getUnitList(); @@ -1499,7 +1597,7 @@ updated() { }, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪悗 beforeDestroy() { }, //鐢熷懡鍛ㄦ湡 - 閿�姣佷箣鍓� destroyed() { }, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴� - activated() { }, //濡傛灉椤甸潰鏈塳eep-alive缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂 + activated() { } //濡傛灉椤甸潰鏈塳eep-alive缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂 }; </script> <style scoped> -- Gitblit v1.9.3