| | |
| | | @keyup.enter.native="handleQuery" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col :span="6"> |
| | | <el-form-item label="捐献进度" prop="recordstate"> |
| | | <el-select v-model="queryParams.recordstate" placeholder="请选择记录状态" clearable size="small"> |
| | |
| | | </el-table-column> |
| | | <el-table-column label="所属组别" align="center" prop="deptmentname" width="220px" /> |
| | | <el-table-column label="组长" align="center" prop="managername" width="150px" /> |
| | | <!-- <el-table-column |
| | | label="申请金额" |
| | | align="center" |
| | | prop="amountrequested" |
| | | width="120px" |
| | | /> |
| | | <!-- |
| | | <el-table-column label="申请金额" align="center" prop="amountrequested" width="120px" /> |
| | | <el-table-column label="联系电话" align="center" prop="phone" width="150px" /> |
| | | <el-table-column label="工作单位" align="center" prop="unitname" width="220px" /> --> |
| | | <el-table-column label="工作单位" align="center" prop="unitname" width="220px" /> |
| | | --> |
| | | <el-table-column label="操作" fixed="right" align="center" class-name="small-padding fixed-width" |
| | | width="280px"> |
| | | <template slot-scope="scope"> |
| | | <el-button v-if="scope.row.recordstatus == -1 || |
| | | scope.row.recordstatus == 1 |
| | | " size="mini" type="text" icon="el-icon-edit" @click="handleup(scope.row)">上报</el-button> |
| | | " size="mini" type="text" icon="el-icon-edit" @click="handleUp(scope.row)">上报</el-button> |
| | | <el-button v-if="scope.row.recordstatus == -1 || |
| | | scope.row.recordstatus == 1 |
| | | " size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">修改</el-button> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="经办人" prop="username"> |
| | | <el-select v-model="form.username" placeholder="申请人" clearable filterable allow-create style="width: 100%"> |
| | | <el-option v-for="dict in userlist" :key="dict.index" :label="dict.nickname" |
| | | :value="dict.nickname"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="所属组别" prop="deptmentname"> |
| | | <el-input v-model="form.deptmentname" placeholder="请输入所属组别" clearable /> |
| | | </el-form-item> |
| | |
| | | <el-col :span="5"> |
| | | <el-form-item label="组长" prop="managername"> |
| | | <el-input v-model="form.managername" placeholder="请输入组长" clearable /> |
| | | </el-form-item> |
| | | </el-col><el-col :span="5"> |
| | | <el-form-item label="经办人" prop="username"> |
| | | <el-select v-model="form.username" placeholder="申请人" clearable filterable allow-create style="width: 100%"> |
| | | <el-option v-for="dict in userlist" :key="dict.index" :label="dict.nickname" |
| | | :value="dict.nickname"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="捐献者" prop="name"> |
| | | <el-input :disabled="true" v-model="form.name" placeholder="请输入捐献者姓名" /> |
| | | <el-form-item label="联系电话" prop="phone"> |
| | | <el-input v-model="form.phone" placeholder="请输入联系电话" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | </el-row> |
| | | <el-row style="text-align: left"> |
| | | <!-- |
| | | <el-col :span="5"> |
| | | <el-form-item label="合计金额" prop="amountrequested"> |
| | | <el-input v-model="form.amountrequested" placeholder="申请金额" :disabled="true" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | --> |
| | | <el-col :span="5"> |
| | | <el-form-item label="税前金额" prop="pretaxcost"> |
| | | <el-form-item label="申请金额" prop="pretaxcost"> |
| | | <el-input v-model="form.pretaxcost" placeholder="税前金额合计" :disabled="true" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="应缴税" prop="taxcost"> |
| | | <el-input v-model="form.taxcost" placeholder="应缴税金额合计" :disabled="true" /> |
| | | </el-form-item> |
| | | </el-col><!-- |
| | | <el-col :span="5"> |
| | | <el-form-item label="税后金额" prop="pretaxcost"> |
| | | <el-input v-model="form.taxedcost" placeholder="税后金额合计" :disabled="true" /> |
| | | </el-form-item> |
| | | </el-col>--> |
| | | <el-col :span="5"> |
| | | <el-form-item label="捐献者" prop="name"> |
| | | <el-input :disabled="true" v-model="form.name" placeholder="请输入捐献者姓名" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | |
| | | placeholder="请选择" |
| | | > |
| | | <el-option |
| | | v-for="item in arrr3" |
| | | v-for="item in expertlist" |
| | | :key="item.reportNo" |
| | | :label="item.reportName" |
| | | :value="item.reportName" |
| | |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-row> <!-- |
| | | </el-row> |
| | | <!-- |
| | | <el-row> |
| | | <el-col :span="7"> |
| | | <el-form-item label="预支金额" prop="prepaidamount"> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | --> |
| | | --> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="费用申请附件" align="left" prop="annexbankcard"> |
| | |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <el-dialog :visible.sync="detailInfoDialogShow" :close-on-click-modal="false" :title="'信息修改'" width="500px" |
| | | <el-dialog :visible.sync="showDetailInfoDialog" :close-on-click-modal="false" :title="'导入信息'" width="500px" |
| | | style="text-align: center" v-loading="loading"> |
| | | <el-form ref="funddetailForm" :model="funddetailForm"> |
| | | <el-row> |
| | | <el-col :span="24" v-if="detailInfoDialogShowType == 'name'"> |
| | | <el-col :span="24" v-if="showDetailInfoDialogType == 'name'"> |
| | | <el-form-item label="请选择专家信息:" prop="expertfrom"> |
| | | <el-radio-group v-model="expertfrom" style="margin-bottom: 0"> |
| | | <el-radio label="1">专家库</el-radio> |
| | | <el-radio label="2">新增专家</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="24" v-if="showDetailInfoDialogType == 'name' && expertfrom == '1'"> |
| | | <el-form-item label="专家姓名" prop="beneficiaryname" label-width="80px"> |
| | | <el-select filterable allow-create ref="beneficiaryname" default-first-option |
| | | v-model="funddetailForm.beneficiaryname" placeholder="请选择" style="width: 100%"> |
| | | <el-option v-for="item in arrr3" :key="item.reportNo" :label="item.reportName" :value="item.reportName"> |
| | | <el-option v-for="item in expertlist" :key="item.reportNo" :label="item.reportName" |
| | | :value="item.reportName"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col :span="24" v-if="detailInfoDialogShowType == 'unit'"> |
| | | <el-col :span="24" v-if="showDetailInfoDialogType == 'unit'"> |
| | | <el-form-item label="单位名称" prop="unitno" label-width="80px"> |
| | | <el-select v-model="funddetailForm.unitno" placeholder="单位名称" clearable filterable allow-create |
| | | style="width: 100%"> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12" v-if="expertfrom == '2'"> |
| | | <el-form-item label="专家姓名" prop="expertname" label-width="80px"> |
| | | <el-input v-model="funddetailForm.expertname" placeholder="必填项" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12" v-if="expertfrom == '2'"> |
| | | <el-form-item label="职 称" prop="experttitle" label-width="80px"> |
| | | <el-select v-model="funddetailForm.experttitle" placeholder="必填项"> |
| | | <el-option v-for="dict in dict.type.sys_professionaltitle" :key="dict.value" :label="dict.label" |
| | | :value="dict.label"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="24" v-if="expertfrom == '2'"> |
| | | <el-form-item label="身份证号" prop="expertidcardno" label-width="80px"> |
| | | <el-input v-model="funddetailForm.expertidcardno" placeholder="必填项" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <!-- |
| | | <el-row> |
| | | <el-col :span="12" v-if="expertfrom == '2'"> |
| | | <el-form-item label="人员类别" prop="usertype" label-width="80px"> |
| | | <el-select v-model="funddetailForm.usertype" placeholder="必填项"> |
| | | <el-option v-for="dict in dict.type.sys_UserType" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | --> |
| | | <el-row> |
| | | <el-col :span="24" v-if="expertfrom == '2'"> |
| | | <el-form-item label="单位名称" prop="expertunitno" label-width="80px"> |
| | | <el-select v-model="funddetailForm.expertunitno" placeholder="单位名称" clearable filterable allow-create |
| | | style="width: 100%"> |
| | | <el-option v-for="(spec, index) in unitList" :key="index" :label="spec.organizationname" |
| | | :value="spec.organizationid"></el-option> |
| | | </el-select> |
| | | </el-form-item></el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="24" v-if="expertfrom == '2'"> |
| | | <el-form-item label="开户银行" prop="expertdepositbank" label-width="80px"> |
| | | <el-input v-model="funddetailForm.expertdepositbank" placeholder="必填项" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="24" v-if="expertfrom == '2'"> |
| | | <el-form-item label="银行卡号" prop="expertbankcardno" label-width="80px"> |
| | | <el-input v-model="funddetailForm.expertbankcardno" placeholder="必填项" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="detailInfoDialogShow = false">取 消</el-button> |
| | | <el-button @click="showDetailInfoDialog = false">取 消</el-button> |
| | | <el-button type="primary" @click="ConfirmDetailDialog()">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | |
| | | //例如:import 《组件名称》 from '《组件路径》'; |
| | | import { |
| | | listDonatebaseinfo, |
| | | getDonatebaseinfo, |
| | | getDonatebaseinfo |
| | | } from "@/api/project/donatebaseinfo"; |
| | | |
| | | import { |
| | | onelistFund, |
| | | listFund, |
| | |
| | | getdownloadSS, |
| | | getdownloadYX, |
| | | getdownloadBX, |
| | | batchUploadFund, |
| | | getdetailsByItemId, |
| | | addorupdateFund, |
| | | getdetailsByItemId |
| | | } from "@/api/project/fund"; |
| | | |
| | | import { |
| | | onelistFunds, |
| | | listFunddetails, |
| | |
| | | getTaxationByBeneFiciaryNo, |
| | | getTaxBeforeByAfterMoney |
| | | } from "@/api/project/funddetail"; |
| | | |
| | | import { listFundflow } from "@/api/project/fundflow"; |
| | | |
| | | import { |
| | | listOrganization, |
| | | getOrganization, |
| | | listReportname, |
| | | listUser, |
| | | listUser |
| | | } from "@/api/project/organization"; |
| | | |
| | | import { |
| | | listExternalperson, |
| | | getExternalperson, |
| | |
| | | delExternalperson, |
| | | addExternalperson, |
| | | updateExternalperson, |
| | | exportExternalperson, |
| | | exportExternalperson |
| | | } from "@/api/project/externalperson"; |
| | | |
| | | import { getUserProfile } from "@/api/system/user"; |
| | | import Li_area_select from "@/components/Address"; |
| | | import OrgSelecter from "@/views/project/components/orgselect"; |
| | |
| | | Li_area_select, |
| | | OrgSelecter, |
| | | }, |
| | | |
| | | name: "fundApply", |
| | | |
| | | dicts: [ |
| | | "sys_consolationfundlevel", |
| | | "sys_OrganizationType", |
| | | //"sys_consolationfundlevel", |
| | | //"sys_OrganizationType", |
| | | "sys_DonationStatus", |
| | | "sys_depositbank", |
| | | "sys_FamilyRelation", |
| | | "sys_IDType", |
| | | "sys_ConsolationType", |
| | | "sys_fund_type", |
| | | "sys_finsubject", |
| | | "sys_financeitemtype", |
| | | "sys_expensetype", |
| | | //"sys_depositbank", |
| | | //"sys_FamilyRelation", |
| | | //"sys_IDType", |
| | | //"sys_ConsolationType", |
| | | //"sys_fund_type", |
| | | //"sys_finsubject", |
| | | //"sys_financeitemtype", |
| | | //"sys_expensetype", |
| | | "sys_recordstatus", |
| | | "sys_professionaltitle" |
| | | ], |
| | | |
| | | data() { |
| | | //这里存放数据 |
| | | return { |
| | | arrr2: [], |
| | | arrr3: [], |
| | | currentApplyType: "1", |
| | | // 遮罩层 |
| | | loading: true, |
| | | loading: false, |
| | | // 导出遮罩层 |
| | | exportLoading: false, |
| | | total: 0, |
| | |
| | | applytype: "1", |
| | | createBy: null, |
| | | }, |
| | | // 表单参数 |
| | | form: {}, |
| | | //所有人员表 |
| | | personlist: [], |
| | | expertQueryParam: { |
| | | pageNum: 1, |
| | | pageSize: 10000, |
| | | userno: null, |
| | | username: null, |
| | | usertype: null, |
| | | }, |
| | | |
| | | // |
| | | amount: 0.00, |
| | | |
| | | //申请单类型 |
| | | currentApplyType: "1", |
| | | //专家列表 |
| | | expertlist: [], |
| | | //专家费选择:1是专家库,2是新增 |
| | | expertfrom: "1", |
| | | //计算个税参数 |
| | | taxParam: { |
| | | beneficiaryNo: '', |
| | | money: '0', |
| | | startTime: '', |
| | | }, |
| | | |
| | | // 表单参数 |
| | | form: {}, |
| | | personlist: [], |
| | | // 表单校验 |
| | | rules: { |
| | | username: [ |
| | |
| | | donateconsolationfundList: [], |
| | | //费用明细列表 |
| | | fundDetails: [], |
| | | formData: {}, |
| | | totalPreTaxAmount: 0.0, |
| | | totalAfterTaxAmount: 0.0, |
| | | totalAmount: 0.0, |
| | | |
| | | // 弹出层标题 |
| | | title: "", |
| | |
| | | |
| | | //是否是专家费的OPO审批人员 |
| | | ismanager: false, |
| | | |
| | | unitList: [], |
| | | dialogType: "edit", |
| | | fundflowList: [], |
| | | |
| | | detailInfoDialogShow: false, |
| | | detailInfoDialogShowType: "", |
| | | showDetailInfoDialog: false, |
| | | showDetailInfoDialogType: "", |
| | | funddetailForm: { |
| | | index: null, |
| | | beneficiaryname: null, |
| | | beneficiaryno: null, |
| | | unitno: null, |
| | | unitname: null, |
| | | index: null, |
| | | expertname: null, |
| | | expertidcardno: null, |
| | | expertunitno: null, |
| | | expertunitname: null, |
| | | experttitle: null, |
| | | expertdepositbank: null, |
| | | expertbankcardno: null, |
| | | }, |
| | | expertform: { |
| | | id: null, |
| | | address: null, |
| | | bankcardno: null, |
| | | branchbankname: null, |
| | | createBy: null, |
| | | createTime: null, |
| | | del_flag: null, |
| | | depositbank: null, |
| | | idcardno: null, |
| | | personnelunitno: null, |
| | | pym: null, |
| | | remark: null, |
| | | searchValue: null, |
| | | sex: null, |
| | | telephone: null, |
| | | title: null, |
| | | unitname: null, |
| | | unitno: null, |
| | | updateBy: null, |
| | | updateTime: null, |
| | | username: null, |
| | | userno: null, |
| | | userstatus: 1, |
| | | usertype: null, |
| | | wbm: null, |
| | | }, |
| | | |
| | | //附件列表 |
| | |
| | | computed: {}, |
| | | //监控data中的数据变化 |
| | | watch: {}, |
| | | // mounted(){ |
| | | // this.getUsermsg() |
| | | // }, |
| | | //生命周期 - 创建完成(可以访问当前this实例) |
| | | created() { |
| | | this.getList(); |
| | | this.getBaseInfoList(); |
| | | this.getCurFundType(); |
| | | this.getUserList(); |
| | | this.getUnitList(); |
| | | |
| | | }, |
| | | |
| | | //生命周期 - 挂载完成(可以访问DOM元素) |
| | | mounted() { |
| | | this.selectReporters(); |
| | | this.getUsermsg(); |
| | | this.getExternalpersonList(); |
| | | }, |
| | | |
| | | beforeCreate() { }, //生命周期 - 创建之前 |
| | | beforeMount() { }, //生命周期 - 挂载之前 |
| | | beforeUpdate() { }, //生命周期 - 更新之前 |
| | | updated() { }, //生命周期 - 更新之后 |
| | | beforeDestroy() { }, //生命周期 - 销毁之前 |
| | | destroyed() { }, //生命周期 - 销毁完成 |
| | | activated() { }, //如果页面有keep-alive缓存功能,这个函数会触发 |
| | | |
| | | //方法集合 |
| | | methods: { |
| | | |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | this.queryParams.pageNum = 1; |
| | | this.getList(); |
| | | }, |
| | | |
| | | /** 重置按钮操作 */ |
| | | resetQuery() { |
| | | this.daterangeReporttime = []; |
| | | this.resetForm("queryForm"); |
| | | this.handleQuery(); |
| | | }, |
| | | |
| | | /** 新增按钮操作 */ |
| | | handleAdd() { |
| | | if (this.curCase.id) { |
| | | this.istrue += 2; |
| | | this.reset(); |
| | | this.queryParams.params = {}; |
| | | this.form.donorno = this.curCase.donorno; |
| | | this.form.name = this.curCase.name; |
| | | this.form.infoid = this.curCase.id; |
| | | |
| | | this.form.username = this.defaultperson.nickName; |
| | | this.form.userno = this.defaultperson.userName; |
| | | this.form.phone = this.defaultperson.phonenumber; |
| | | this.form.deptmentname = this.defaultperson.dept.deptName; |
| | | this.form.deptmentno = this.defaultperson.dept.deptId; |
| | | this.form.managername = this.defaultperson.dept.leader; |
| | | |
| | | // this.form.createTime = nowdate; |
| | | //this.open = true; |
| | | //this.initFundApplyForm(); |
| | | this.fundDetails = []; |
| | | this.addRow(); |
| | | this.dialogOpen = true; |
| | | this.dialogType = "edit"; |
| | | this.title = "费用申请"; |
| | | } else { |
| | | const h = this.$createElement; |
| | | this.$message({ |
| | | message: h("p", null, [h("span", null, "请先选择左方捐献案例 ")]), |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | | this.isopen = 0; |
| | | this.reset(); |
| | | this.queryParams.params = {}; |
| | | this.form.donorno = this.curCase.donorno; |
| | | this.form.infoid = this.curCase.id; |
| | | this.dialogOpen = true; |
| | | this.title = "修改费用申请"; |
| | | this.dialogType = "edit"; |
| | | |
| | | const id = row.id || this.ids; |
| | | getFund(id).then((response) => { |
| | | this.form = response.data; |
| | | // this.form.recordstate =-1; |
| | | // this.form.recordstatus = response.data.recordstatus + ""; |
| | | this.form.name = this.curCase.name; |
| | | //附件处理 |
| | | this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : [] |
| | | getownFundDetail(id).then((res) => { |
| | | this.fundDetails = res.data; |
| | | for (let m = 0; m < this.fundDetails.length; m++) { |
| | | this.fundDetails[m].itemArr = []; |
| | | this.getItemArr(m, this.fundDetails[m]); |
| | | |
| | | //获取费用项目的详细信息 |
| | | this.fundDetails[m].rowfeeblocks = []; |
| | | |
| | | this.fundDetails[m].rowfeeblocks.push({ |
| | | servicesscope: this.fundDetails[m].servicesscope, |
| | | expensedescribe: this.fundDetails[m].servicesscopename, |
| | | expense: this.fundDetails[m].expense, |
| | | remark: this.fundDetails[m].servicesscopename, |
| | | }); |
| | | // getdetailsByItemId(this.fundDetails[m].itemid).then((res) => { |
| | | // let fundmsg = res.data; |
| | | // fundmsg.forEach((item) => { |
| | | // this.fundDetails[m].rowfeeblocks.push({ |
| | | // servicesscope: item.id, |
| | | // expensedescribe: item.expensedescribe, |
| | | // expense: item.expense, |
| | | // remark: item.expensedescribe, |
| | | // }); |
| | | // }); |
| | | // }); |
| | | } |
| | | |
| | | if (this.fundDetails.length == 0) { |
| | | this.addRow(); |
| | | } |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | /** 查看按钮操作 */ |
| | | handleDetail(row) { |
| | | this.isopen = 0; |
| | | this.reset(); |
| | | this.queryParams.params = {}; |
| | | this.form.donorno = this.curCase.donorno; |
| | | this.form.infoid = this.curCase.id; |
| | | this.dialogOpen = true; |
| | | this.title = "查看费用申请"; |
| | | this.dialogType = "detail"; |
| | | const id = row.id || this.ids; |
| | | |
| | | getFund(id).then((response) => { |
| | | this.form = response.data; |
| | | this.form.name = this.curCase.name; |
| | | let listFundflowparams = { |
| | | fundid: row.id, |
| | | fundtype: 2, |
| | | }; |
| | | //附件处理 |
| | | this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : [] |
| | | |
| | | listFundflow(listFundflowparams).then((res) => { |
| | | this.fundflowList = res.rows; |
| | | }); |
| | | getownFundDetail(id).then((res) => { |
| | | this.fundDetails = res.data; |
| | | for (let m = 0; m < this.fundDetails.length; m++) { |
| | | this.fundDetails[m].itemArr = []; |
| | | this.getItemArr(m, this.fundDetails[m]); |
| | | this.fundDetails[m].rowfeeblocks = []; |
| | | this.fundDetails[m].rowfeeblocks.push({ |
| | | expense: this.fundDetails[m].expense, |
| | | expensedescribe: this.fundDetails[m].servicesscopename, |
| | | remark: this.fundDetails[m].servicesscope, |
| | | servicesscope: this.fundDetails[m].servicesscope, |
| | | }); |
| | | } |
| | | |
| | | if (this.fundDetails.length == 0) { |
| | | this.addRow(); |
| | | } |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | handleDelete(row) { |
| | | const ids = row.id || this.ids; |
| | | this.$modal |
| | | .confirm("是否确认删除该记录?") |
| | | .then(function () { |
| | | return delFund(ids); |
| | | }) |
| | | .then(() => { |
| | | getownFundDetail(ids).then((res) => { |
| | | let listdetails = res.data; |
| | | for (let i = 0; i < listdetails.length; i++) { |
| | | delFunddetail(listdetails[i].id); |
| | | } |
| | | }); |
| | | // this.getList(); |
| | | this.getfundList(); |
| | | this.$modal.msgSuccess("删除成功"); |
| | | }) |
| | | .catch(() => { }); |
| | | }, |
| | | |
| | | /** 上报按钮操作 */ |
| | | handleUp(row) { |
| | | this.$confirm("是否确认将登记记录上报?", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | //查找是否存在登记完成记录 |
| | | //判断是否存在上报记录 |
| | | row.recordstatus = 0; |
| | | console.log("updateFund", row); |
| | | updateFund(row).then((response) => { |
| | | if (response.code == 200) { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "提交专家费用申请审批成功!", |
| | | }); |
| | | } else { |
| | | this.$message({ |
| | | type: "error", |
| | | message: "提交专家费用申请失败!", |
| | | }); |
| | | } |
| | | this.loading = false; |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: "info", |
| | | message: "已取消申请", |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | /** 提交按钮 */ |
| | | submitForm() { |
| | | this.$refs["form"].validate((valid) => { |
| | | if (valid) { |
| | | this.formData = this.form; |
| | | // let totalPreTaxAmount = 0.0; |
| | | // let totalAfterTaxAmount = 0.0; |
| | | // let totalAmount = 0.0; |
| | | |
| | | //保存前校验数据 |
| | | for (let k = 0; k < this.fundDetails.length; k++) { |
| | | let tempDetail = this.fundDetails[k]; |
| | | if (tempDetail.itemid == null) { |
| | | this.$modal.msgWarning("服务项目表中,第" + (k + 1).toString() + "行的服务项目未选择,请先选择服务项目后再提交保存!"); |
| | | return; |
| | | } |
| | | |
| | | if (tempDetail.servicesscope == null) { |
| | | this.$modal.msgWarning("服务项目表中,第" + (k + 1).toString() + "行的费用说明未选择,请选择费用说明后再提交保存!"); |
| | | return; |
| | | } |
| | | |
| | | if (tempDetail.beneficiaryno == null) { |
| | | this.$modal.msgWarning("服务项目表中,第" + (k + 1).toString() + "行的服务人员姓名为选择,请选择人员后再提交保存!"); |
| | | return; |
| | | } |
| | | |
| | | // //判断单位 unitSel |
| | | // try { |
| | | // let unitIndex = this.unitList.findIndex( |
| | | // (item) => tempDetail.unitno == item.organizationid |
| | | // ); |
| | | // if (unitIndex > -1) { |
| | | // tempDetail.unitname = this.unitList[unitIndex].organizationname; |
| | | // } else { |
| | | // tempDetail.unitname = tempDetail.unitno; |
| | | // } |
| | | // } catch { |
| | | // tempDetail.unitname = tempDetail.unitno; |
| | | // } |
| | | } |
| | | |
| | | //附件处理 |
| | | let list = this.fileList; |
| | | if (list.length > 0) { |
| | | this.form.annexfiles = list.map(item => item.url).join(","); |
| | | } |
| | | |
| | | //处理明细 |
| | | for (let i = 0; i < this.fundDetails.length; i++) { |
| | | let tempDetail = this.fundDetails[i]; |
| | | //获取服务项目明细 |
| | | let tempItemArr = tempDetail.itemArr; |
| | | let itemIndex = tempItemArr.findIndex( |
| | | (item) => tempDetail.itemid == item.id |
| | | ); |
| | | if (itemIndex > -1) { |
| | | tempDetail.itemname = tempItemArr[itemIndex].itemName; |
| | | tempDetail.itemid = tempItemArr[itemIndex].id; |
| | | } |
| | | |
| | | //获取applytypename、服务费用大类 |
| | | let applytypeIndex = this.rowfeeItemTypes.findIndex( |
| | | (item) => tempDetail.applytype == item.value |
| | | ); |
| | | if (applytypeIndex > -1) { |
| | | tempDetail.applytypename = this.rowfeeItemTypes[applytypeIndex].label; |
| | | tempDetail.subjecttype = this.rowfeeItemTypes[applytypeIndex].subjecttype; |
| | | tempDetail.subjecttypename = this.rowfeeItemTypes[applytypeIndex].subjecttypename; |
| | | } |
| | | this.fundDetails[i] = tempDetail; |
| | | /* |
| | | //计算个税 |
| | | //if (isNaN(parseFloat(tempDetail.taxedamount))) |
| | | //获取参数 |
| | | this.taxParam.beneficiaryNo = tempDetail.beneficiaryno; |
| | | this.taxParam.startTime = this.form.createTime.substring(0, 10); |
| | | // 计算税后金额 |
| | | if (tempDetail.taxedamount == undefined || tempDetail.taxedamount == null || tempDetail.taxedamount == 0 || tempDetail.taxedamount == '') { |
| | | //获取参数 |
| | | this.taxParam.money = tempDetail.amount.toString(); |
| | | getTaxByBeneFiciaryNo(this.taxParam).then((res) => { |
| | | if (res.code == 200) { |
| | | tempDetail.taxamount = res.data; |
| | | tempDetail.taxedamount = tempDetail.amount - tempDetail.taxamount; |
| | | this.fundDetails[k] = tempDetail; |
| | | |
| | | this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount); |
| | | this.totalAmount += parseFloat(tempDetail.amount); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 计算税前金额 |
| | | if (tempDetail.amount == undefined || tempDetail.amount == null || tempDetail.amount == 0 || tempDetail.amount == '') { |
| | | //获取参数 |
| | | this.taxParam.money = tempDetail.taxedamount.toString(); |
| | | getTaxBeforeByAfterMoney(this.taxParam).then((res) => { |
| | | if (res.code == 200) { |
| | | tempDetail.taxamount = res.data.nowTax; |
| | | tempDetail.amount = parseFloat(res.data.nowTaxBeforeMoney); |
| | | this.fundDetails[k] = tempDetail; |
| | | |
| | | this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount); |
| | | this.totalAmount += parseFloat(tempDetail.amount); |
| | | console.log("1", this.amount); |
| | | } |
| | | }); |
| | | } |
| | | */ |
| | | } |
| | | //费用合计 |
| | | // this.form.pretaxcost = parseFloat(this.totalPreTaxAmount).toFixed(2); |
| | | // this.form.taxedcost = parseFloat(this.totalAfterTaxAmount).toFixed(2); |
| | | // this.form.amountrequested = this.totalAmount.toFixed(2); |
| | | |
| | | //保存数据 |
| | | this.loading = true; |
| | | this.form.serviceFunddetails = 0; |
| | | this.fundDetails.map((item) => { |
| | | this.form.serviceFunddetails += item.amount; |
| | | }); |
| | | this.form.serviceFunddetails = this.fundDetails; |
| | | |
| | | if (this.form.id != null) { |
| | | //捐献者 |
| | | this.form.donorname = this.curCase.name; |
| | | |
| | | // updateFund(this.form).then((response) => { |
| | | // if (response.code === 200) { |
| | | // this.loading = false; |
| | | // for (let m = 0; m < this.fundDetails.length; m++) { |
| | | // if (this.fundDetails[m].id > 0) { |
| | | // updateFunddetail(this.fundDetails[m]).then((response2) => { if (response.code != 200) { this.$modal.msgError("专家劳务费保存失败1:" + response.msg); } }); |
| | | // } else { |
| | | // addFunddetail(this.fundDetails[m]).then((response2) => { if (response.code != 200) { this.$modal.msgError("专家劳务费保存失败2:" + response.msg); } }); |
| | | // } |
| | | // } |
| | | // this.$modal.msgSuccess("专家劳务费保存成功!"); |
| | | // } else { |
| | | // this.$modal.msgError("专家劳务费保存失败:" + response.msg); |
| | | // } |
| | | // }); |
| | | |
| | | } else { |
| | | this.form.recordstatus = -1; |
| | | |
| | | // addorupdateFund(this.form).then((response) => { |
| | | // if (response.code === 200) { |
| | | // this.selectDonotor(this.curCase); |
| | | // } else { |
| | | // this.$modal.msgError("专家劳务费保存失败:" + response.msg); |
| | | // } |
| | | // }); |
| | | } |
| | | |
| | | addorupdateFund(this.form).then((response) => { |
| | | if (response.code === 200) { |
| | | this.selectDonotor(this.curCase); |
| | | this.$modal.msgSuccess("专家劳务费保存成功!"); |
| | | } else { |
| | | this.$modal.msgError("专家劳务费保存失败:" + response.msg); |
| | | } |
| | | }); |
| | | |
| | | //关闭窗口 |
| | | this.loading = false; |
| | | this.dialogOpen = false; |
| | | // this.getfundList(); |
| | | this.getList(); |
| | | this.selectDonotor(this.curCase); |
| | | |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | // 取消按钮 |
| | | cancel() { |
| | | this.dialogOpen = false; |
| | | this.reset(); |
| | | }, |
| | | |
| | | // 表单重置 |
| | | reset() { |
| | | this.form = { |
| | | recordstate: -1, |
| | | userno: null, |
| | | username: null, |
| | | id: null, |
| | | infoid: null, |
| | | donorno: null, |
| | | delFlag: null, |
| | | createBy: null, |
| | | createTime: null, |
| | | updateBy: null, |
| | | updateTime: null, |
| | | familyrelations: null, |
| | | name: null, |
| | | remark: null, |
| | | doname: null, |
| | | unitname: null, |
| | | unitno: null, |
| | | sex: null, |
| | | idcardtype: null, |
| | | idcardno: null, |
| | | phone: null, |
| | | donorname: null, |
| | | depositbank: null, |
| | | bankprovince: null, |
| | | bankprovincename: null, |
| | | bankcity: null, |
| | | bankcityname: null, |
| | | banktown: null, |
| | | banktownname: null, |
| | | branchbankname: null, |
| | | bankcardno: null, |
| | | annexbankcard: null, |
| | | annexregistform: null, |
| | | consolationmoney: null, |
| | | applytype: "1", |
| | | servicetypename: null, |
| | | servicesscope: null, |
| | | servicesscopename: null, |
| | | }; |
| | | this.resetForm("form"); |
| | | //清空附件 |
| | | this.fileList = [] |
| | | }, |
| | | |
| | | ShowDetailDialog(spoce, showType) { |
| | | this.expertfrom = "1"; |
| | | this.funddetailForm.index = spoce.$index; |
| | | this.funddetailForm.beneficiaryname = spoce.row.beneficiaryname; |
| | | this.funddetailForm.beneficiaryno = spoce.row.beneficiaryno; |
| | | this.funddetailForm.unitno = spoce.row.unitno; |
| | | this.funddetailForm.unitname = spoce.row.unitname; |
| | | this.detailInfoDialogShow = true; |
| | | this.detailInfoDialogShowType = showType; |
| | | this.funddetailForm.expertname = ""; |
| | | this.funddetailForm.expertidcardno = ""; |
| | | this.funddetailForm.expertunitno = ""; |
| | | this.funddetailForm.expertunitname = ""; |
| | | this.funddetailForm.experttitle = ""; |
| | | this.funddetailForm.expertdepositbank = ""; |
| | | this.funddetailForm.expertbankcardno = ""; |
| | | |
| | | this.showDetailInfoDialog = true; |
| | | this.showDetailInfoDialogType = showType; |
| | | }, |
| | | |
| | | ConfirmDetailDialog() { |
| | |
| | | let 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 = parseInt(res.unitno); |
| | | } |
| | | }); |
| | | |
| | | } else if (this.detailInfoDialogShowType == "unit") { |
| | | if (this.showDetailInfoDialogType == "name") { |
| | | |
| | | if (this.expertfrom == "1") { |
| | | //从专家列表获取信息 |
| | | this.personlist.map((res) => { |
| | | if (tempName == res.username) { |
| | | console.log("选择专家", res); |
| | | singleDetail.beneficiaryno = res.userno; |
| | | singleDetail.beneficiaryname = res.username; |
| | | singleDetail.bankcardno = res.bankcardno; |
| | | singleDetail.branchbankname = res.branchbankname; |
| | | singleDetail.depositbank = res.depositbank; |
| | | singleDetail.idcardno = res.idcardno; |
| | | singleDetail.phone = res.telephone; |
| | | singleDetail.title = res.title; |
| | | singleDetail.unitname = res.unitname; |
| | | singleDetail.unitno = parseInt(res.unitno); |
| | | } |
| | | }); |
| | | } else { |
| | | //保存新增专家 |
| | | this.expertform.id = null; |
| | | this.expertform.userno = this.personlist[this.personlist.length - 1].id + 1; |
| | | this.expertform.usertype = "expert"; |
| | | this.expertform.username = this.funddetailForm.expertname; |
| | | this.expertform.idcardno = this.funddetailForm.expertidcardno; |
| | | this.expertform.sex = null; |
| | | this.expertform.telephone = null; |
| | | this.expertform.address = null; |
| | | this.expertform.wbm = null; |
| | | this.expertform.pym = null; |
| | | |
| | | this.expertform.unitno = this.funddetailForm.expertunitno; |
| | | try { |
| | | let unitIndex = this.unitList.findIndex( |
| | | (item) => this.expertform.unitno == item.organizationid |
| | | ); |
| | | if (unitIndex > -1) { |
| | | this.expertform.unitname = this.unitList[unitIndex].organizationname; |
| | | } else { |
| | | this.expertform.unitname = this.expertform.unitno; |
| | | } |
| | | } catch { |
| | | this.expertform.unitname = this.expertform.unitno; |
| | | } |
| | | this.expertform.title = this.funddetailForm.experttitle; |
| | | this.expertform.personnelunitno = null; |
| | | |
| | | this.expertform.depositbank = this.funddetailForm.expertdepositbank; |
| | | this.expertform.bankcardno = this.funddetailForm.expertbankcardno; |
| | | this.expertform.branchbankname = null; |
| | | this.expertform.remark = null; |
| | | this.expertform.del_flag = "0"; |
| | | |
| | | addExternalperson(this.expertform).then((response) => { |
| | | if (response.code == 200) { |
| | | this.$modal.msgSuccess("新增专家信息成功!"); |
| | | |
| | | listExternalperson().then((res) => { |
| | | this.personlist = res.rows; |
| | | console.log("new personlist", this.personlist); |
| | | //从专家列表获取信息 |
| | | this.personlist.map((res) => { |
| | | if (res.username == this.funddetailForm.expertname) { |
| | | console.log("新增专家", res); |
| | | singleDetail.beneficiaryno = res.userno; |
| | | singleDetail.beneficiaryname = res.username; |
| | | singleDetail.bankcardno = res.bankcardno; |
| | | singleDetail.branchbankname = res.branchbankname; |
| | | singleDetail.depositbank = res.depositbank; |
| | | singleDetail.idcardno = res.idcardno; |
| | | singleDetail.phone = res.telephone; |
| | | singleDetail.title = res.title; |
| | | singleDetail.unitname = res.unitname; |
| | | singleDetail.unitno = parseInt(res.unitno); |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | } else if (this.showDetailInfoDialogType == "unit") { |
| | | singleDetail.unitno = this.funddetailForm.unitno; |
| | | try { |
| | | let unitIndex = this.unitList.findIndex( |
| | |
| | | } |
| | | |
| | | this.fundDetails[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: "已取消申请", |
| | | }); |
| | | }); |
| | | this.showDetailInfoDialog = false; |
| | | }, |
| | | |
| | | //获取当前用户信息 |
| | | getUsermsg() { |
| | | getUserProfile().then((response) => { |
| | | console.log("getUserProfile", response); |
| | | this.defaultperson = response.data; |
| | | this.standardlevel = response.data.standardlevel; |
| | | if (this.defaultperson.createBy == "admin" || this.defaultperson.createBy == "001" || this.defaultperson.createBy == "002") { |
| | |
| | | row.servicesscopename = item.expensedescribe; |
| | | if (row.servicesscopename.includes("税后")) { |
| | | row.amount = 0.0; |
| | | row.taxamount = 0.0; |
| | | row.taxedamount = item.expense; |
| | | } else { |
| | | row.amount = item.expense; |
| | | row.taxamount = 0.0; |
| | | row.taxedamount = 0.0; |
| | | } |
| | | |
| | |
| | | }); |
| | | }, |
| | | |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | this.queryParams.pageNum = 1; |
| | | this.getList(); |
| | | }, |
| | | /** 重置按钮操作 */ |
| | | resetQuery() { |
| | | this.daterangeReporttime = []; |
| | | this.resetForm("queryForm"); |
| | | this.handleQuery(); |
| | | }, |
| | | /** 查询捐献人道慰问金列表 */ |
| | | getList() { |
| | | this.loading = true; |
| | |
| | | this.queryParams.params["endReporttime"] = this.daterangeReporttime[1]; |
| | | } |
| | | // this.queryParams.residencetown = this.$refs.areaSelect.getQu(); |
| | | |
| | | console.log("111", this.queryParams); |
| | | listDonatebaseinfo(this.queryParams).then((response) => { |
| | | this.donatebaseinfoList = response.rows; |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | |
| | | getUnitList() { |
| | | listOrganization(3).then((response) => { |
| | | for (let i = 0; i < response.rows.length; i++) { |
| | |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | getBaseInfoList() { |
| | | this.loading = true; |
| | | listDonatebaseinfo(this.queryParams).then((response) => { |
| | |
| | | }); |
| | | }, |
| | | |
| | | /** 新增按钮操作 */ |
| | | 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.fundDetails = []; |
| | | this.addRow(); |
| | | this.dialogOpen = true; |
| | | this.dialogType = "edit"; |
| | | this.title = "费用申请"; |
| | | } else { |
| | | const h = this.$createElement; |
| | | this.$message({ |
| | | message: h("p", null, [h("span", null, "请先选择左方捐献案例 ")]), |
| | | }); |
| | | } |
| | | }, |
| | | //点击捐献案例列表触发方法 |
| | | selectDonotor(row, column, event) { |
| | | this.curCase = row; |
| | | this.getfundList(); |
| | | }, |
| | | |
| | | getfundList() { |
| | | this.loading = true; |
| | | this.reset(); |
| | |
| | | this.loading = false; |
| | | this.donateconsolationfundList = response.rows; |
| | | }); |
| | | }, |
| | | |
| | | // 取消按钮 |
| | | cancel() { |
| | | this.dialogOpen = false; |
| | | this.reset(); |
| | | }, |
| | | |
| | | // 表单重置 |
| | | reset() { |
| | | this.form = { |
| | | recordstate: -1, |
| | | userno: null, |
| | | username: null, |
| | | id: null, |
| | | infoid: null, |
| | | donorno: null, |
| | | delFlag: null, |
| | | createBy: null, |
| | | createTime: null, |
| | | updateBy: null, |
| | | updateTime: null, |
| | | familyrelations: null, |
| | | name: null, |
| | | remark: null, |
| | | doname: null, |
| | | unitname: null, |
| | | unitno: null, |
| | | sex: null, |
| | | idcardtype: null, |
| | | idcardno: null, |
| | | phone: null, |
| | | donorname: null, |
| | | depositbank: null, |
| | | bankprovince: null, |
| | | bankprovincename: null, |
| | | bankcity: null, |
| | | bankcityname: null, |
| | | banktown: null, |
| | | banktownname: null, |
| | | branchbankname: null, |
| | | bankcardno: null, |
| | | annexbankcard: null, |
| | | annexregistform: null, |
| | | consolationmoney: null, |
| | | applytype: "1", |
| | | servicetypename: null, |
| | | servicesscope: null, |
| | | servicesscopename: null, |
| | | }; |
| | | this.resetForm("form"); |
| | | //清空附件 |
| | | this.fileList = [] |
| | | }, |
| | | |
| | | //导入所有项目 |
| | |
| | | // }); |
| | | }, |
| | | |
| | | /** 提交按钮 */ |
| | | submitForm() { |
| | | this.$refs["form"].validate((valid) => { |
| | | if (valid) { |
| | | let formData = this.form; |
| | | let totalPreTaxAmount = 0.0; |
| | | let totalAfterTaxAmount = 0.0; |
| | | let totalAmount = 0.0; |
| | | |
| | | //保存前校验数据 |
| | | for (let k = 0; k < this.fundDetails.length; k++) { |
| | | let tempDetail = this.fundDetails[k]; |
| | | if (tempDetail.itemid == null) { |
| | | this.$modal.msgWarning("服务项目是必选项,请选择服务项目后再提交保存!"); |
| | | return; |
| | | } |
| | | |
| | | if (tempDetail.beneficiaryno == null) { |
| | | this.$modal.msgWarning("服务项目表中,第" + (k + 1).toString() + "行的服务人员姓名为选择,请选择人员后再提交保存!"); |
| | | return; |
| | | } |
| | | |
| | | // //判断单位 unitSel |
| | | // try { |
| | | // let unitIndex = this.unitList.findIndex( |
| | | // (item) => tempDetail.unitno == item.organizationid |
| | | // ); |
| | | // if (unitIndex > -1) { |
| | | // tempDetail.unitname = this.unitList[unitIndex].organizationname; |
| | | // } else { |
| | | // tempDetail.unitname = tempDetail.unitno; |
| | | // } |
| | | // } catch { |
| | | // tempDetail.unitname = tempDetail.unitno; |
| | | // } |
| | | |
| | | //计算个税 |
| | | //if (isNaN(parseFloat(tempDetail.taxedamount))) |
| | | if (tempDetail.taxedamount == undefined || tempDetail.taxedamount == null || tempDetail.taxedamount == 0 || tempDetail.taxedamount == '') { |
| | | //获取参数 |
| | | this.taxParam.beneficiaryNo = tempDetail.beneficiaryno; |
| | | this.taxParam.money = tempDetail.amount.toString(); |
| | | this.taxParam.startTime = this.form.createTime.substring(0, 10); |
| | | getTaxByBeneFiciaryNo(this.taxParam).then((res) => { |
| | | if (res.code == 200) { |
| | | tempDetail.taxamount = res.data; |
| | | tempDetail.taxedamount = tempDetail.amount - tempDetail.taxamount; |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //if (isNaN(parseFloat(tempDetail.amount))) |
| | | if (tempDetail.amount == undefined || tempDetail.amount == null || tempDetail.amount == 0 || tempDetail.amount == '') { |
| | | //获取参数 |
| | | this.taxParam.beneficiaryNo = tempDetail.beneficiaryno; |
| | | this.taxParam.money = tempDetail.taxedamount.toString(); |
| | | this.taxParam.startTime = this.form.createTime.substring(0, 10); |
| | | |
| | | getTaxBeforeByAfterMoney(this.taxParam).then((res) => { |
| | | console.log("",res); |
| | | if (res.code == 200) { |
| | | tempDetail.taxamount = res.data.nowTax; |
| | | tempDetail.amount = res.data.nowTaxBeforeMoney; |
| | | } |
| | | }); |
| | | } |
| | | |
| | | totalAfterTaxAmount += parseFloat(tempDetail.taxedamount); |
| | | totalAmount += parseFloat(tempDetail.amount); |
| | | this.fundDetails[k] = tempDetail; |
| | | } |
| | | |
| | | this.loading = true; |
| | | //附件处理 |
| | | let list = this.fileList; |
| | | if (list.length > 0) { |
| | | this.form.annexbankcard = list.map(item => item.url).join(","); |
| | | } |
| | | |
| | | this.form.donorname = this.curCase.name; |
| | | this.form.pretaxcost = parseFloat(totalPreTaxAmount).toFixed(2); |
| | | this.form.taxedcost = parseFloat(totalAfterTaxAmount).toFixed(2); |
| | | this.form.amountrequested = totalAmount.toFixed(2); |
| | | if (this.form.id != null) { |
| | | this.form.recordstatus = -1; |
| | | updateFund(this.form).then((response) => { |
| | | this.getfundList(); |
| | | this.dialogOpen = false; |
| | | this.getList(); |
| | | this.selectDonotor(this.curCase); |
| | | this.$modal.msgSuccess("修改成功"); |
| | | this.loading = false; |
| | | for (let m = 0; m < this.fundDetails.length; m++) { |
| | | let tempData = this.fundDetails[m]; |
| | | let tempItemArr = tempData.itemArr; |
| | | tempData.fundid = formData.id; |
| | | //获取服务项目明细 |
| | | let itemIndex = tempItemArr.findIndex( |
| | | (item) => tempData.itemid == item.id |
| | | ); |
| | | if (itemIndex > -1) { |
| | | tempData.itemname = tempItemArr[itemIndex].itemName; |
| | | tempData.itemid = tempItemArr[itemIndex].id; |
| | | } |
| | | |
| | | //获取applytypename |
| | | let applytypeIndex = this.rowfeeItemTypes.findIndex( |
| | | (item) => tempData.applytype == item.value |
| | | ); |
| | | if (applytypeIndex > -1) { |
| | | tempData.applytypename = this.rowfeeItemTypes[applytypeIndex].label; |
| | | } |
| | | |
| | | if (tempData.id > 0) { |
| | | updateFunddetail(tempData).then((response2) => { }); |
| | | } else { |
| | | addFunddetail(tempData).then((response2) => { }); |
| | | } |
| | | } |
| | | }); |
| | | } else { |
| | | //保存费用申请 |
| | | for (let m = 0; m < this.fundDetails.length; m++) { |
| | | let tempData = this.fundDetails[m]; |
| | | let tempUtemArr = tempData.itemArr; |
| | | |
| | | //获取服务项目明细 |
| | | let itemIndex = tempUtemArr.findIndex( |
| | | (item) => tempData.itemid == item.id |
| | | ); |
| | | if (itemIndex > -1) { |
| | | tempData.itemname = tempUtemArr[itemIndex].itemName; |
| | | tempData.itemid = tempUtemArr[itemIndex].id; |
| | | } |
| | | |
| | | //获取applytypename |
| | | let applytypeIndex = this.rowfeeItemTypes.findIndex( |
| | | (item) => tempData.applytype == item.value |
| | | ); |
| | | if (applytypeIndex > -1) { |
| | | tempData.applytypename = this.rowfeeItemTypes[applytypeIndex].label; |
| | | } |
| | | this.fundDetails[m] = tempData; |
| | | } |
| | | |
| | | this.form.serviceFunddetails = 0; |
| | | this.fundDetails.map((item) => { |
| | | this.form.serviceFunddetails += item.amount; |
| | | }); |
| | | this.form.serviceFunddetails = this.fundDetails; |
| | | this.form.recordstatus = -1; |
| | | |
| | | batchUploadFund(this.form).then((response) => { |
| | | if (response.code === 200) { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | this.loading = false; |
| | | this.selectDonotor(this.curCase); |
| | | } else { |
| | | this.$modal.msgError("新增失败:" + response.msg); |
| | | this.loading = false; |
| | | } |
| | | }); |
| | | this.dialogOpen = false; |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | //获取专家列表 |
| | | getlistExternalperson() { |
| | | getExternalpersonList() { |
| | | listExternalperson().then((res) => { |
| | | this.personlist = res.rows; |
| | | }); |
| | |
| | | |
| | | //专家人员列表 |
| | | selectReporters() { |
| | | let arr = ["expert"]; |
| | | let arrreportlist = []; |
| | | for (let i = 0; i < arr.length; i++) { |
| | | this.arrr2 = []; |
| | | listReportname(arr[i]).then((res) => { |
| | | let types = ["expert"]; |
| | | let templist = []; |
| | | for (let i = 0; i < types.length; i++) { |
| | | templist = []; |
| | | listReportname(types[i]).then((res) => { |
| | | for (let j = 0; j < res.data.length; j++) { |
| | | this.arrr2.push({ |
| | | templist.push({ |
| | | reportName: res.data[j].reportName, |
| | | reportNo: res.data[j].reportNo, |
| | | }); |
| | | } |
| | | this.arrr3 = this.arrr3.concat(this.arrr2); |
| | | this.expertlist = this.expertlist.concat(templist); |
| | | }); |
| | | } |
| | | }, |
| | |
| | | row.branchbankname = res.branchbankname; |
| | | row.depositbank = res.depositbank; |
| | | row.idcardno = res.idcardno; |
| | | row.phone = res.telephone; |
| | | row.phone = res.phonenumber; |
| | | row.title = res.title; |
| | | row.unitname = res.unitname; |
| | | row.unitno = res.unitno; |
| | |
| | | }); |
| | | }, |
| | | |
| | | getlistUser() { |
| | | getUserList() { |
| | | listUser().then((res) => { |
| | | console.log("listUser", res); |
| | | this.userlist = 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.dialogOpen = true; |
| | | this.title = "修改费用申请"; |
| | | this.dialogType = "edit"; |
| | | |
| | | const id = row.id || this.ids; |
| | | getFund(id).then((response) => { |
| | | this.form = response.data; |
| | | // this.form.recordstate =-1; |
| | | // this.form.recordstatus = response.data.recordstatus + ""; |
| | | this.form.name = this.curCase.name; |
| | | //附件处理 |
| | | this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : [] |
| | | getownFundDetail(id).then((res) => { |
| | | this.fundDetails = res.data; |
| | | for (let m = 0; m < this.fundDetails.length; m++) { |
| | | this.fundDetails[m].itemArr = []; |
| | | this.getItemArr(m, this.fundDetails[m]); |
| | | |
| | | //获取费用项目的详细信息 |
| | | this.fundDetails[m].rowfeeblocks = []; |
| | | |
| | | this.fundDetails[m].rowfeeblocks.push({ |
| | | servicesscope: this.fundDetails[m].servicesscope, |
| | | expensedescribe: this.fundDetails[m].servicesscopename, |
| | | expense: this.fundDetails[m].expense, |
| | | remark: this.fundDetails[m].servicesscopename, |
| | | }); |
| | | // getdetailsByItemId(this.fundDetails[m].itemid).then((res) => { |
| | | // let fundmsg = res.data; |
| | | // fundmsg.forEach((item) => { |
| | | // this.fundDetails[m].rowfeeblocks.push({ |
| | | // servicesscope: item.id, |
| | | // expensedescribe: item.expensedescribe, |
| | | // expense: item.expense, |
| | | // remark: item.expensedescribe, |
| | | // }); |
| | | // }); |
| | | // }); |
| | | } |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | /** 查看按钮操作 */ |
| | | handleDetail(row) { |
| | | this.isopen = 0; |
| | | this.reset(); |
| | | this.queryParams.params = {}; |
| | | this.form.donorno = this.curCase.donorno; |
| | | this.form.infoid = this.curCase.id; |
| | | this.dialogOpen = true; |
| | | this.title = "查看费用申请"; |
| | | this.dialogType = "detail"; |
| | | const id = row.id || this.ids; |
| | | |
| | | getFund(id).then((response) => { |
| | | this.form = response.data; |
| | | this.form.name = this.curCase.name; |
| | | let listFundflowparams = { |
| | | fundid: row.id, |
| | | fundtype: 2, |
| | | }; |
| | | //附件处理 |
| | | this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : [] |
| | | |
| | | listFundflow(listFundflowparams).then((res) => { |
| | | this.fundflowList = res.rows; |
| | | }); |
| | | getownFundDetail(id).then((res) => { |
| | | this.fundDetails = res.data; |
| | | for (let m = 0; m < this.fundDetails.length; m++) { |
| | | this.fundDetails[m].itemArr = []; |
| | | this.getItemArr(m, this.fundDetails[m]); |
| | | this.fundDetails[m].rowfeeblocks = []; |
| | | this.fundDetails[m].rowfeeblocks.push({ |
| | | expense: this.fundDetails[m].expense, |
| | | expensedescribe: this.fundDetails[m].servicesscopename, |
| | | remark: this.fundDetails[m].servicesscope, |
| | | servicesscope: this.fundDetails[m].servicesscope, |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | 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); |
| | | //筛查出对应的费用项目 |
| | | searchItemType(val, scope) { |
| | | let result = []; |
| | | if (val != "") { |
| | | let tempItemArr = scope.row.itemArr; |
| | | for (let i = 0; i < tempItemArr.length; i++) { |
| | | let pym = tempItemArr[i].itempinyin; |
| | | if (pym != null && pym != undefined && pym != "") { |
| | | if (pym.indexOf(val) != -1) { |
| | | result.push(tempItemArr[i]); |
| | | } |
| | | }); |
| | | // this.getList(); |
| | | this.getfundList(); |
| | | this.$modal.msgSuccess("删除成功"); |
| | | }) |
| | | .catch(() => { }); |
| | | } |
| | | } |
| | | scope.row.itemArr = result; |
| | | } else { |
| | | getItemNames(scope.row.applytype).then((res) => { |
| | | scope.row.itemArr = res.data; |
| | | //this.$set(this.fundDetails, rowindex, row); |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | deleteRows(row, index, rows) { |
| | |
| | | this.rowfeeItemTypes.push({ |
| | | value: dataList[m].itemType, |
| | | label: dataList[m].itemTypeName, |
| | | subjecttype: dataList[m].subjecttype, |
| | | subjecttypename: dataList[m].subjecttypename, |
| | | }); |
| | | } |
| | | }); |
| | |
| | | }); |
| | | }, |
| | | |
| | | //筛查出对应的费用项目 |
| | | searchItemType(val, scope) { |
| | | let result = []; |
| | | if (val != "") { |
| | | let tempItemArr = scope.row.itemArr; |
| | | for (let i = 0; i < tempItemArr.length; i++) { |
| | | let pym = tempItemArr[i].itempinyin; |
| | | if (pym != null && pym != undefined && pym != "") { |
| | | if (pym.indexOf(val) != -1) { |
| | | result.push(tempItemArr[i]); |
| | | } |
| | | } |
| | | } |
| | | scope.row.itemArr = result; |
| | | } else { |
| | | getItemNames(scope.row.applytype).then((res) => { |
| | | scope.row.itemArr = res.data; |
| | | //this.$set(this.fundDetails, rowindex, row); |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | |
| | | //文件上传 |
| | | handleUploadError() { }, |
| | | remove(file) { |
| | | this.fileList.splice(this.fileList.indexOf(file), 1) |
| | | }, |
| | | handleExceed() { |
| | | this.$message.error(`上传文件数量不能超过 ${5} 个!`); |
| | | }, |
| | | //文件上传成功回调 |
| | | uploadSccess(response, file, fileList) { |
| | | //获取附件信息位置 |
| | | if (response.code == 200) { |
| | | this.form.filename = file.raw.name; |
| | | this.$modal.msgSuccess(response.msg); |
| | | this.fileList.push({ name: response.fileName, url: response.fileName }); |
| | | } else { |
| | | this.$modal.msgError(response.msg); |
| | | } |
| | | }, |
| | | |
| | | // 下载文件 |
| | | /** 下载文件按钮操作 */ |
| | | downFile(item) { |
| | | const url = process.env.VUE_APP_BASE_API + item.url |
| | | var a = document.createElement('a'); |
| | |
| | | a.dispatchEvent(event); |
| | | }, |
| | | |
| | | remove(file) { |
| | | this.fileList.splice(this.fileList.indexOf(file), 1) |
| | | }, |
| | | |
| | | handleExceed() { |
| | | this.$message.error(`上传文件数量不能超过 ${5} 个!`); |
| | | }, |
| | | |
| | | //文件上传成功回调 |
| | | uploadSccess(response, file, fileList) { |
| | | //获取附件信息位置 |
| | | if (response.code == 200) { |
| | | this.form.filename = file.raw.name; |
| | | this.$modal.msgSuccess(response.msg); |
| | | this.fileList.push({ name: response.fileName, url: response.fileName }); |
| | | } else { |
| | | console.log(response.msg);; |
| | | } |
| | | }, |
| | | |
| | | }, |
| | | |
| | | //生命周期 - 创建完成(可以访问当前this实例) |
| | | created() { |
| | | this.getUnitList(); |
| | | this.getList(); |
| | | this.getBaseInfoList(); |
| | | this.getlistUser(); |
| | | this.getCurFundType(); |
| | | }, |
| | | //生命周期 - 挂载完成(可以访问DOM元素) |
| | | mounted() { |
| | | this.selectReporters(); |
| | | this.getUsermsg(); |
| | | this.getlistExternalperson(); |
| | | }, |
| | | beforeCreate() { }, //生命周期 - 创建之前 |
| | | beforeMount() { }, //生命周期 - 挂载之前 |
| | | beforeUpdate() { }, //生命周期 - 更新之前 |
| | | updated() { }, //生命周期 - 更新之后 |
| | | beforeDestroy() { }, //生命周期 - 销毁之前 |
| | | destroyed() { }, //生命周期 - 销毁完成 |
| | | activated() { }, //如果页面有keep-alive缓存功能,这个函数会触发 |
| | | }; |
| | | |
| | | </script> |
| | | <style scoped> |
| | | /* @import url(); 引入公共css类 */ |