| | |
| | | </el-row> |
| | | </el-form> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-col :span="6"> |
| | | <el-card shadow="never"> |
| | | <!-- 捐献案例列表 --> |
| | | <el-row> |
| | |
| | | :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"> |
| | |
| | | <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-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"> |
| | |
| | | <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> |
| | |
| | | </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"> |
| | |
| | | </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="排序" /> |
| | |
| | | " /> |
| | | </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> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | </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> |
| | |
| | | </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> |
| | |
| | | <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> |
| | |
| | | getdownloadSS, |
| | | getdownloadYX, |
| | | getdownloadBX, |
| | | batchUploadFund, |
| | | addorupdateFund, |
| | | getdetailsByItemId, |
| | | } from "@/api/project/fund"; |
| | | import { |
| | |
| | | reportername: null, |
| | | reporttime: null, |
| | | }, |
| | | |
| | | fundQueryParam: { |
| | | pageNum: 1, |
| | | pageSize: 100, |
| | |
| | | deptmentname: [ |
| | | { required: true, message: "请输入所属业务组", trigger: "blur" }, |
| | | ], |
| | | amountrequested: [ |
| | | { required: true, message: "请输入申请金额", trigger: "blur" }, |
| | | ], |
| | | }, |
| | | |
| | | //捐献案例列表数据 |
| | |
| | | // 捐献人道慰问金表格数据 |
| | | donateconsolationfundList: [], |
| | | |
| | | fundDetailArr: [], |
| | | //明细记录 |
| | | fundDetails: [], |
| | | |
| | | // 弹出层标题 |
| | | title: "", |
| | | userlist: [], |
| | | itemArr: [], |
| | | reporters: [], |
| | | //用户 |
| | | userlist: [], |
| | | //银行账号 |
| | | bankaccountlist: [], |
| | | //机构单位 |
| | | unitList: [], |
| | | //费用类型数组 |
| | | fundtypeArr: [], |
| | | defaultperson: {}, |
| | | fundblock: [], |
| | | fundtypeArrAll: [], |
| | | unitList: [], |
| | | dialogType: "edit", |
| | | |
| | | |
| | | detailInfoDialogShow: false, |
| | | detailInfoDialogShowType: "", |
| | |
| | | |
| | | //附件列表 |
| | | fileList: [], |
| | | fileListto: [], |
| | | //上传附件路径 |
| | | uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", |
| | | |
| | | headers: { |
| | | Authorization: "Bearer " + getToken(), |
| | | }, |
| | | //票据文件 |
| | | pdftitle: "", |
| | | pdfimg: "", |
| | | pdfVisible: false, |
| | | previewpdf: false, |
| | | hintitle: "选中左侧已上传文件预览查看", |
| | | atpresent: "", |
| | | }; |
| | | }, |
| | | //监听属性 类似于data概念 |
| | | computed: {}, |
| | | //监控data中的数据变化 |
| | | watch: {}, |
| | | //生命周期 - 创建完成(可以访问当前this实例) |
| | | created() { |
| | | this.getList(); |
| | | this.getBaseInfoList(); |
| | | this.getCurFundType(); |
| | | this.getlistUser(); |
| | | // this.getUnitList(); |
| | | }, |
| | | |
| | | //生命周期 - 挂载完成(可以访问DOM元素) |
| | | mounted() { |
| | | this.getBankAccount(); |
| | | this.getUsermsg(); |
| | | }, |
| | | |
| | | beforeCreate() { }, //生命周期 - 创建之前 |
| | | beforeMount() { }, //生命周期 - 挂载之前 |
| | | beforeUpdate() { }, //生命周期 - 更新之前 |
| | | updated() { }, //生命周期 - 更新之后 |
| | | beforeDestroy() { }, //生命周期 - 销毁之前 |
| | | destroyed() { }, //生命周期 - 销毁完成 |
| | | activated() { }, //如果页面有keep-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: "确定", |
| | |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | 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) { |
| | |
| | | } |
| | | }); |
| | | var repeatNum = 0; |
| | | this.fundDetailArr.map((res) => { |
| | | this.fundDetails.map((res) => { |
| | | if (res.applytype === row.applytype && res.itemid == row.itemid) { |
| | | repeatNum++; |
| | | } |
| | |
| | | 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; |
| | |
| | | }); |
| | | }, |
| | | |
| | | /** 新增按钮操作 */ |
| | | 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; |
| | |
| | | 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; |
| | | } |
| | | }, |
| | | |
| | |
| | | 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; |
| | |
| | | //判断单位 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; |
| | | // } |
| | |
| | | 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; |
| | | //获取服务项目明细 |
| | |
| | | }); |
| | | } 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; |
| | | |
| | | //获取服务项目明细 |
| | |
| | | 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; |
| | |
| | | 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; |
| | | }); |
| | | }, |
| | | |
| | |
| | | }); |
| | | }, |
| | | |
| | | /** 修改按钮操作 */ |
| | | 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("是否确认删除?", "提示", { |
| | |
| | | }).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 |
| | | }); |
| | | }); |
| | | } |
| | |
| | | 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; |
| | | } |
| | |
| | | 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 |
| | |
| | | } |
| | | } |
| | | } |
| | | 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) => { |
| | |
| | | }, |
| | | |
| | | 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, |
| | | }); |
| | | } |
| | | }); |
| | |
| | | } 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) { |
| | | //获取附件信息位置 |
| | |
| | | this.$modal.msgSuccess(response.msg); |
| | | this.fileList.push({ name: response.fileName, url: response.fileName }); |
| | | } else { |
| | | this.$modal.msgError(response.msg); |
| | | console.log(response.msg);; |
| | | } |
| | | }, |
| | | // 下载文件 |
| | |
| | | a.href = url; |
| | | a.dispatchEvent(event); |
| | | }, |
| | | }, |
| | | |
| | | //生命周期 - 创建完成(可以访问当前this实例) |
| | | 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; |
| | | } |
| | | }, |
| | | }, |
| | | //生命周期 - 挂载完成(可以访问DOM元素) |
| | | mounted() { |
| | | this.selectReporters(); |
| | | this.getUsermsg(); |
| | | }, |
| | | beforeCreate() { }, //生命周期 - 创建之前 |
| | | beforeMount() { }, //生命周期 - 挂载之前 |
| | | beforeUpdate() { }, //生命周期 - 更新之前 |
| | | updated() { }, //生命周期 - 更新之后 |
| | | beforeDestroy() { }, //生命周期 - 销毁之前 |
| | | destroyed() { }, //生命周期 - 销毁完成 |
| | | activated() { }, //如果页面有keep-alive缓存功能,这个函数会触发 |
| | | }; |
| | | </script> |
| | | <style scoped> |