From 733457daf115deb6088984c3c55dc5bcc906d28c Mon Sep 17 00:00:00 2001 From: yxh <172933527@qq.com> Date: 星期三, 09 八月 2023 23:53:58 +0800 Subject: [PATCH] yxh --- src/views/project/fund/medicalCostFundApply/index.vue | 733 +++++++++++++++++++++++++++++++++----------------------- 1 files changed, 431 insertions(+), 302 deletions(-) diff --git a/src/views/project/fund/medicalCostFundApply/index.vue b/src/views/project/fund/medicalCostFundApply/index.vue index cd1d52e..efff279 100644 --- a/src/views/project/fund/medicalCostFundApply/index.vue +++ b/src/views/project/fund/medicalCostFundApply/index.vue @@ -24,7 +24,7 @@ </el-row> </el-form> <el-row> - <el-col :span="8"> + <el-col :span="6"> <el-card shadow="never"> <!-- 鎹愮尞妗堜緥鍒楄〃 --> <el-row> @@ -47,7 +47,7 @@ :limit.sync="queryParams.pageSize" @pagination="getBaseInfoList" /> </el-card> </el-col> - <el-col :span="16"> + <el-col :span="18"> <el-card shadow="naver"> <el-form ref="infoform" label-width="100px"> <el-row :gutter="4" align="right" class="mb8"> @@ -55,6 +55,7 @@ <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> @@ -148,7 +149,7 @@ <el-row style="text-align: left"> <el-col :span="5"> <el-form-item label="鐢宠绫诲瀷"> - <el-radio v-model="form.applytype" label="3">鍖诲鎴愭湰鐢宠</el-radio> + <el-radio v-model="form.applytype" label='3'>鍖诲鎴愭湰鐢宠</el-radio> </el-form-item> </el-col> <el-col :span="10"> @@ -167,7 +168,7 @@ <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> @@ -179,13 +180,13 @@ </el-col> <el-col :span="5"> <el-form-item label="瀹℃牳鐘舵��" prop="recordstatus"> - <!--<el-input v-if="0" v-model="form.recordstatus" placeholder="瀹℃牳鎰忚"/>--> + <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>--> <!-- <el-col :span="5"> <el-form-item label="鑱旂郴鐢佃瘽" prop="phone"> @@ -206,7 +207,7 @@ </el-col> </el-row> <el-row style="margin-top: 5px; margin-bottom: 5px"> - <el-table :data="fundDetailArr" border highlight-current-row> + <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="鎺掑簭" /> @@ -318,7 +319,7 @@ " /> </template> </el-table-column> - <el-table-column prop="unitno" align="center" label="鍗曚綅" width="220"> + <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> @@ -363,9 +364,14 @@ <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, fundDetailArr) + 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> @@ -423,11 +429,11 @@ <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="5" - :headers="headers" :on-success="(response, file, fileList) => + <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"> + :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> @@ -452,7 +458,7 @@ </div> </el-dialog> - <el-dialog :visible.sync="detailInfoDialogShow" :close-on-click-modal="false" :title="'淇℃伅淇敼'" + <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> @@ -466,11 +472,11 @@ </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 + <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="(spec, index) in unitList" :key="index" :label="spec.organizationname" - :value="spec.organizationid"></el-option> + <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> @@ -480,6 +486,35 @@ <el-button @click="detailInfoDialogShow = false">鍙� 娑�</el-button> <el-button type="primary" @click="ConfirmDetailDialog()">纭� 瀹�</el-button> </span> + </el-dialog> + + <el-dialog :title="pdftitle" :visible.sync="pdfVisible" width="50%"> + <div class="pdfimg"> + <div class="box-pdf"> + <div> + <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileListto" multiple + :limit="20" :headers="headers" :on-success="(response, file, fileList) => + uploadSccess(response, file, fileList) + " :on-preview="downFile" :disabled="dialogType == 'detail'" :on-error="handleUploadError" + :on-exceed="handleExceed" :on-remove="remove" accept="image/*,.pdf"> + <el-button :disabled="dialogType == 'detail'" size="small" type="primary">涓婁紶</el-button> + </el-upload> + </div> + <!-- <div + class="pdftit" + @click="pdffn(item)" + v-for="item in fileList" + :key="item.name" + > + {{ item.name }} + </div> --> + </div> + + <div v-if="this.previewpdf" class="pdfimgmin"> + <img :src="pdfimg" /> + </div> + <div v-else class="pdfimgmins">{{ hintitle }}</div> + </div> </el-dialog> </div> </template> @@ -500,7 +535,7 @@ getdownloadSS, getdownloadYX, getdownloadBX, - batchUploadFund, + addorupdateFund, getdetailsByItemId, } from "@/api/project/fund"; import { @@ -588,6 +623,7 @@ reportername: null, reporttime: null, }, + fundQueryParam: { pageNum: 1, pageSize: 100, @@ -608,9 +644,6 @@ deptmentname: [ { required: true, message: "璇疯緭鍏ユ墍灞炰笟鍔$粍", trigger: "blur" }, ], - amountrequested: [ - { required: true, message: "璇疯緭鍏ョ敵璇烽噾棰�", trigger: "blur" }, - ], }, //鎹愮尞妗堜緥鍒楄〃鏁版嵁 @@ -627,20 +660,25 @@ // 鎹愮尞浜洪亾鎱伴棶閲戣〃鏍兼暟鎹� donateconsolationfundList: [], - fundDetailArr: [], + //鏄庣粏璁板綍 + fundDetails: [], // 寮瑰嚭灞傛爣棰� title: "", - userlist: [], itemArr: [], - reporters: [], + //鐢ㄦ埛 + userlist: [], + //閾惰璐﹀彿 + bankaccountlist: [], + //鏈烘瀯鍗曚綅 + unitList: [], //璐圭敤绫诲瀷鏁扮粍 fundtypeArr: [], defaultperson: {}, fundblock: [], fundtypeArrAll: [], - unitList: [], dialogType: "edit", + detailInfoDialogShow: false, detailInfoDialogShowType: "", @@ -654,84 +692,222 @@ //闄勪欢鍒楄〃 fileList: [], + fileListto: [], //涓婁紶闄勪欢璺緞 uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", - headers: { Authorization: "Bearer " + getToken(), }, + //绁ㄦ嵁鏂囦欢 + pdftitle: "", + pdfimg: "", + pdfVisible: false, + previewpdf: false, + hintitle: "閫変腑宸︿晶宸蹭笂浼犳枃浠堕瑙堟煡鐪�", + atpresent: "", }; }, //鐩戝惉灞炴�� 绫讳技浜巇ata姒傚康 computed: {}, //鐩戞帶data涓殑鏁版嵁鍙樺寲 watch: {}, + //鐢熷懡鍛ㄦ湡 - 鍒涘缓瀹屾垚锛堝彲浠ヨ闂綋鍓峵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缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂 + //鏂规硶闆嗗悎 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; + /** 鎼滅储鎸夐挳鎿嶄綔 */ + handleQuery() { + this.queryParams.pageNum = 1; + this.getList(); }, - 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.unitno = this.unitList[unitIndex].organizationid; - singleDetail.unitname = this.unitList[unitIndex].organizationname; - } else { - singleDetail.unitname = singleDetail.unitno; - } - } catch { - singleDetail.unitname = singleDetail.unitno; - } + /** 閲嶇疆鎸夐挳鎿嶄綔 */ + 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.fundDetailArr[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.fundDetailArr.map((item) => { - this.form.serviceFunddetails += item.amount; - }); - // row.remark - } + // this.queryParams.residencetown = this.$refs.areaSelect.getQu(); + listDonatebaseinfo(this.queryParams).then((response) => { + this.donatebaseinfoList = response.rows; + this.total = response.total; + this.loading = false; }); }, + + /** 鏂板鎸夐挳鎿嶄綔 */ + handleAdd() { + this.$router.push({ + path: "/finance/fundcontext/", + query: { id: 0, businessType: "3", operationType: "add", curCase: this.curCase } + }); + return; + + 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; + 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"; + } else { + const h = this.$createElement; + this.$message({ + message: h("p", null, [h("span", null, "璇峰厛閫夋嫨宸︽柟鎹愮尞妗堜緥 ")]), + }); + } + }, + /** 淇敼鎸夐挳鎿嶄綔 */ + handleUpdate(row) { + this.$router.push({ + path: "/finance/fundcontext/", + query: { id: row.id, businessType: "3", operationType: "update", curCase: this.curCase } + }); + return; + + this.isopen = 0; + this.reset(); + this.queryParams.params = {}; + this.form.donorno = this.curCase.donorno; + this.form.infoid = this.curCase.id; + 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/fundcontext/", + query: { id: row.id, businessType: "3", operationType: "detail", curCase: this.curCase } + }); + return; + + 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(() => { }); + }, + + /** 涓婃姤鎸夐挳鎿嶄綔 */ handleup(row) { this.$confirm("鏄惁纭灏嗙櫥璁拌褰曚笂鎶ワ紵", "鎻愮ず", { confirmButtonText: "纭畾", @@ -765,6 +941,76 @@ }); }); }, + + 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; + try { + let unitIndex = this.bankaccountlist.findIndex( + (item) => singleDetail.unitno == item.reportNo + ); + + 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; + } + } + + 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; + }); + } + }); + }, + select(row) { row.itemArr.map((res) => { if (row.itemid === res.id) { @@ -773,7 +1019,7 @@ } }); var repeatNum = 0; - this.fundDetailArr.map((res) => { + this.fundDetails.map((res) => { if (res.applytype === row.applytype && res.itemid == row.itemid) { repeatNum++; } @@ -811,34 +1057,6 @@ 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; @@ -849,36 +1067,7 @@ }); }, - /** 鏂板鎸夐挳鎿嶄綔 */ - 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; - 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.fundDetailArr = []; - this.addRow(); - this.dialogOpen = true; - this.title = "娣诲姞璐圭敤鐢宠"; - this.dialogType = "edit"; - } else { - const h = this.$createElement; - this.$message({ - message: h("p", null, [h("span", null, "璇峰厛閫夋嫨宸︽柟鎹愮尞妗堜緥 ")]), - }); - } - }, //鐐瑰嚮鎹愮尞妗堜緥鍒楄〃瑙﹀彂鏂规硶 selectDonotor(row, column, event) { this.curCase = row; @@ -994,12 +1183,12 @@ servivesscope: null, }; if (rowIndex == undefined || rowIndex == null || rowIndex < 0) { - this.fundDetailArr.push(rowData); + this.fundDetails.push(rowData); } else { - this.fundDetailArr.splice(rowIndex + 1, 0, rowData); + this.fundDetails.splice(rowIndex + 1, 0, rowData); } - for (let i = 0; i < this.fundDetailArr.length; i++) { - this.fundDetailArr[i].orderno = i + 1; + for (let i = 0; i < this.fundDetails.length; i++) { + this.fundDetails[i].orderno = i + 1; } }, @@ -1023,8 +1212,8 @@ this.$refs["form"].validate((valid) => { if (valid) { let formData = this.form; - for (let k = 0; k < this.fundDetailArr.length; k++) { - let tempDetail = this.fundDetailArr[k]; + for (let k = 0; k < this.fundDetails.length; k++) { + let tempDetail = this.fundDetails[k]; if (tempDetail.itemid == null) { this.$modal.msgWarning("璇烽�夋嫨鏈嶅姟椤圭洰"); return; @@ -1032,11 +1221,11 @@ //鍒ゆ柇鍗曚綅 unitSel // try { // //鑾峰彇鏈嶅姟椤圭洰鏄庣粏 - // let unitIndex = this.unitList.findIndex( - // (item) => tempDetail.unitno == item.organizationid + // let unitIndex = this.bankaccountlist.findIndex( + // (item) => tempDetail.unitno == item.reportNo // ); // if (unitIndex > -1) { - // tempDetail.unitname = this.unitList[unitIndex].organizationname; + // tempDetail.unitname = this.bankaccountlist[unitIndex].reportName; // } else { // tempDetail.unitname = tempDetail.unitno; // } @@ -1062,16 +1251,18 @@ 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.fundDetailArr.length; m++) { - let tempData = this.fundDetailArr[m]; + for (let m = 0; m < this.fundDetails.length; m++) { + let tempData = this.fundDetails[m]; let tempItemArr = tempData.itemArr; tempData.fundid = formData.id; //鑾峰彇鏈嶅姟椤圭洰鏄庣粏 @@ -1091,8 +1282,8 @@ }); } else { //淇濆瓨璐圭敤鐢宠 - for (let m = 0; m < this.fundDetailArr.length; m++) { - let tempData = this.fundDetailArr[m]; + for (let m = 0; m < this.fundDetails.length; m++) { + let tempData = this.fundDetails[m]; let tempUtemArr = tempData.itemArr; //鑾峰彇鏈嶅姟椤圭洰鏄庣粏 @@ -1110,11 +1301,11 @@ if (applytypeIndex > -1) { tempData.applytypename = this.fundtypeArr[applytypeIndex].label; } - this.fundDetailArr[m] = tempData; + this.fundDetails[m] = tempData; } - this.form.serviceFunddetails = this.fundDetailArr; - batchUploadFund(this.form).then((response) => { + this.form.serviceFunddetails = this.fundDetails; + addorupdateFund(this.form).then((response) => { if (response.code === 200) { this.$modal.msgSuccess("鏂板鎴愬姛"); this.loading = false; @@ -1123,16 +1314,22 @@ this.loading = false; } }); + + //鍏抽棴绐楀彛 + this.loading = false; this.dialogOpen = false; + // this.getfundList(); + this.getList(); + this.selectDonotor(this.curCase); } } }); }, - selectReporters() { - //涓撳浜哄憳鍒楄〃 - listReportname("gdc").then((res) => { - this.reporters = res.data; + getBankAccount() { + //鑾峰彇閾惰璐﹀彿鍒楄〃锛岀被鍨嬫槸鏈烘瀯 + listReportname("org").then((res) => { + this.bankaccountlist = res.data; }); }, @@ -1142,97 +1339,7 @@ }); }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.isopen = 0; - this.reset(); - this.queryParams.params = {}; - this.form.donorno = this.curCase.donorno; - this.form.infoid = this.curCase.id; - 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.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.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.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("鏄惁纭鍒犻櫎?", "鎻愮ず", { @@ -1251,9 +1358,9 @@ }).then(() => { this.$set(rows, rows.splice(index, 1)); getownFundDetail(this.form.id).then((res) => { - this.$set(this.fundDetailArr, res.data); + this.$set(this.fundDetails, res.data); this.sumTotalFee(row); - // this.fundDetailArr = res.data + // this.fundDetails = res.data }); }); } @@ -1272,31 +1379,31 @@ sumTotalFee(row) { let allSum = 0; if (this.form.applytype != null) { - for (let i = 0; i < this.fundDetailArr.length; i++) { + 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.fundDetailArr[i].amount))) { - totalFee += parseFloat(this.fundDetailArr[i].amount); - taxFee += parseFloat(this.fundDetailArr[i].amount); + if (!isNaN(parseFloat(this.fundDetails[i].amount))) { + totalFee += parseFloat(this.fundDetails[i].amount); + taxFee += parseFloat(this.fundDetails[i].amount); } - if (!isNaN(parseFloat(this.fundDetailArr[i].taxamount))) { - totalFee -= parseFloat(this.fundDetailArr[i].taxamount); - taxFee -= parseFloat(this.fundDetailArr[i].taxamount); + 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.fundDetailArr[i].price)) && - !isNaN(parseFloat(this.fundDetailArr[i].quantity)) + !isNaN(parseFloat(this.fundDetails[i].price)) && + !isNaN(parseFloat(this.fundDetails[i].quantity)) ) { totalFee += - parseFloat(this.fundDetailArr[i].price) * - parseFloat(this.fundDetailArr[i].quantity); + parseFloat(this.fundDetails[i].price) * + parseFloat(this.fundDetails[i].quantity); } } if (!isNaN(parseFloat(taxFee))) { - this.fundDetailArr[i].taxedamount = taxFee.toFixed(2); + this.fundDetails[i].taxedamount = taxFee.toFixed(2); } allSum += totalFee; } @@ -1324,25 +1431,25 @@ getItemArr(rowindex, row) { let list = this.fundtypeArrAll.filter((r) => r.itemType == row.applytype); row.itemArr = list[0].itemDetails; - this.$set(this.fundDetailArr, rowindex, row); + this.$set(this.fundDetails, rowindex, row); //this.loading = true; // getItemNames(row.applytype).then((res) => { // this.loading = false; // row.itemArr = res.data; - // this.$set(this.fundDetailArr, rowindex, row); + // this.$set(this.fundDetails, rowindex, row); // }); }, addAlls() { this.loading = true; - this.fundDetailArr = this.fundDetailArr.filter( + this.fundDetails = this.fundDetails.filter( (r) => r.applytype != "" && r.applytype != null ); let listAdd = []; - //let listAdd = this.fundDetailArr; + //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.fundDetailArr.filter( + let list = this.fundDetails.filter( (r) => r.applytype == this.fundtypeArrAll[i].itemType && r.itemid == this.fundtypeArrAll[i].itemDetails[j].id @@ -1363,9 +1470,9 @@ } } } - this.fundDetailArr = listAdd; + this.fundDetails = listAdd; this.loading = false; - // let Outerarr = this.fundDetailArr; + // let Outerarr = this.fundDetails; // Outerarr.map((res) => { // let onelist = this.fundtypeArr; // onelist.map((item) => { @@ -1378,11 +1485,13 @@ }, getUnitList() { - listOrganization(3).then((response) => { - for (let i = 0; i < response.rows.length; i++) { + listOrganization(3).then((res) => { + for (let i = 0; i < res.rows.length; i++) { this.unitList.push({ - organizationid: response.rows[i].organizationid, - organizationname: response.rows[i].organizationname, + organizationid: res.rows[i].organizationid, + organizationname: res.rows[i].organizationname, + bankname: res.rows[i].bankname, + bankaccount: res.rows[i].bankaccount, }); } }); @@ -1454,19 +1563,22 @@ } else { getItemNames(scope.row.applytype).then((res) => { scope.row.itemArr = res.data; - //this.$set(this.fundDetailArr, rowindex, row); + //this.$set(this.fundDetails, rowindex, row); }); } }, //鏂囦欢涓婁紶 handleUploadError() { }, - remove(file) { + + handleremove(file) { this.fileList.splice(this.fileList.indexOf(file), 1) }, + handleExceed() { this.$message.error(`涓婁紶鏂囦欢鏁伴噺涓嶈兘瓒呰繃 ${5} 涓�!`); }, + //鏂囦欢涓婁紶鎴愬姛鍥炶皟 uploadSccess(response, file, fileList) { //鑾峰彇闄勪欢淇℃伅浣嶇疆 @@ -1475,7 +1587,7 @@ this.$modal.msgSuccess(response.msg); this.fileList.push({ name: response.fileName, url: response.fileName }); } else { - this.$modal.msgError(response.msg); + console.log(response.msg);; } }, // 涓嬭浇鏂囦欢 @@ -1487,28 +1599,45 @@ a.href = url; a.dispatchEvent(event); }, - }, - //鐢熷懡鍛ㄦ湡 - 鍒涘缓瀹屾垚锛堝彲浠ヨ闂綋鍓峵his瀹炰緥锛� - created() { - this.getUnitList(); - this.getList(); - this.getBaseInfoList(); - this.getlistUser(); - this.getCurFundType(); + remove(file) { + this.fileList.splice(this.fileList.indexOf(file), 1) + }, + + // 鐐瑰嚮鏂囦欢 + Filepopup(index, rows, row) { + this.atpresent = index; + this.pdfVisible = true; + if (this.fundDetails[index].annexfilesList) { + this.fileListto = this.rbDetails[index].annexfilesList; + } else { + this.fileListto = []; + this.pdfimg = ""; + this.pdftitle = ""; + } + }, + // 鐐瑰嚮宸蹭笂浼犳枃浠� + downFile(item) { + this.pdftitle = item.name; + let name = item.name.split("."); + if (name[1] == "pdf") { + this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); + this.previewpdf = false; + this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; + } else if (name[1] == "jpg" || "png") { + this.previewpdf = true; + if (item.url) { + this.pdfimg = item.url; + } else { + this.pdfimg = item.response.url; + } + } else { + this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; + this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); + this.previewpdf = false; + } + }, }, - //鐢熷懡鍛ㄦ湡 - 鎸傝浇瀹屾垚锛堝彲浠ヨ闂瓺OM鍏冪礌锛� - mounted() { - this.selectReporters(); - this.getUsermsg(); - }, - beforeCreate() { }, //鐢熷懡鍛ㄦ湡 - 鍒涘缓涔嬪墠 - beforeMount() { }, //鐢熷懡鍛ㄦ湡 - 鎸傝浇涔嬪墠 - beforeUpdate() { }, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪墠 - updated() { }, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪悗 - beforeDestroy() { }, //鐢熷懡鍛ㄦ湡 - 閿�姣佷箣鍓� - destroyed() { }, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴� - activated() { }, //濡傛灉椤甸潰鏈塳eep-alive缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂 }; </script> <style scoped> -- Gitblit v1.9.3