| | |
| | | <el-col :span="5"> |
| | | <el-form-item label="银行名称" prop="bankname"> |
| | | <el-input v-model="form.bankname" placeholder="请输入银行名称" /> |
| | | </el-form-item> |
| | | </el-col><el-col :span="5"> |
| | | </el-form-item> </el-col><el-col :span="5"> |
| | | <el-form-item label="银行账号" prop="bankcardno"> |
| | | <el-input v-model="form.bankcardno" placeholder="请输入银行账号" /> |
| | | </el-form-item> |
| | |
| | | <el-form-item label="申请金额" prop="pretaxcost"> |
| | | <el-input v-model="form.pretaxcost" placeholder="税前金额合计" :disabled="true" /> |
| | | </el-form-item> |
| | | </el-col> <!-- |
| | | </el-col> |
| | | <!-- |
| | | <el-col :span="5"> |
| | | <el-form-item label="应缴税" prop="taxcost" v-if="businessType == '1' || businessType == '2'"> |
| | | <el-input v-model="form.taxcost" placeholder="应缴税金额合计" :disabled="true" /> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="servicesscope" align="center" label="服务说明" v-if="form.applytype == '1'" width="180"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.servicesscope" placeholder="服务说明" clearable allow-create filterable |
| | | <el-select v-model="scope.row.servicesscope" placeholder="服务说明" clearable allow-create |
| | | @change="verifyFeeRemark(scope.row)"> |
| | | <el-option v-for="dict in scope.row.rowfeeblocks" :key="dict.servicesscope" :label="dict.remark" |
| | | :value="dict.servicesscope"></el-option> |
| | |
| | | " /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column v-if="businessType == 2 || businessType == 3 || businessType == 4 || ismanager == true" |
| | | prop="amount" align="center" :label=amountLabel width="120"> |
| | | <el-table-column v-if="businessType == 2 || |
| | | businessType == 3 || |
| | | businessType == 4 || |
| | | ismanager == true |
| | | " prop="amount" align="center" :label="amountLabel" width="120"> |
| | | <template slot-scope="scope"> |
| | | <!-- |
| | | <el-select v-model="scope.row.amount" placeholder="税前金额" clearable filterable allow-create |
| | |
| | | :value="dict.expense"></el-option> |
| | | </el-select> |
| | | --> |
| | | <el-input v-model="scope.row.amount" placeholder="金额" /> |
| | | <el-input v-model="scope.row.amount" placeholder="金额" @blur="val => { calculateTax(scope.row, 'A'); }" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="taxedamount" align="center" label="税后金额" width="120" v-if="(this.ismanager == true) & |
| | | (form.applytype == '1' || form.applytype == '2') |
| | | "> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.taxedamount" placeholder="税后金额" /> |
| | | <el-input v-model="scope.row.taxedamount" placeholder="税后金额" |
| | | @blur="val => { calculateTax(scope.row, 'B'); }" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="beneficiaryname" align="center" label="姓名" width="120" |
| | |
| | | </el-table-column> |
| | | <el-table-column fixed="right" align="center" label="操作" width="180"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" size="mini" @click="addRow(scope.$index)" |
| | | v-if="operationType == 'add' || operationType == 'update'">新增</el-button> |
| | | <el-button type="text" size="mini" @click="addRow(scope.$index)" v-if="operationType == 'add' || |
| | | operationType == 'update' || |
| | | operationType == 'check' |
| | | ">新增</el-button> |
| | | <el-button @click.native.prevent=" |
| | | deleteRows(scope.row, scope.$index, rbDetails) |
| | | " type="text" size="small" v-if="operationType == 'add' || operationType == 'update'"> |
| | | " type="text" size="small" v-if="operationType == 'add' || |
| | | operationType == 'update' || |
| | | operationType == 'check' |
| | | "> |
| | | 删除 |
| | | </el-button> |
| | | <el-button @click.native.prevent=" |
| | |
| | | </el-row> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitForm" |
| | | v-if="operationType == 'add' || operationType == 'update'">提交保存</el-button> |
| | | <el-button type="primary" @click="submitForm" v-if="operationType == 'add' || |
| | | operationType == 'update' || |
| | | ismanager == true |
| | | ">提交保存</el-button> |
| | | <el-button type="primary" @click="checksubmit" v-if="operationType == 'check'">提交审核</el-button> |
| | | <el-button @click="cancel">关 闭</el-button> |
| | | </div> |
| | |
| | | </div> |
| | | |
| | | <div v-if="this.previewpdf" class="pdfimgmin"> |
| | | <img :src="pdfimg" /> |
| | | <!-- <img :src="pdfimg" /> --> |
| | | <el-image style="width: 95%; height: 90%" :src="pdfimg" :preview-src-list="pdfimgsrcList"> |
| | | </el-image> |
| | | </div> |
| | | <div v-else class="pdfimgmins">{{ hintitle }}</div> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog title="提示" :visible.sync="Savereminder" width="30%"> |
| | | <el-alert :title="'您已添加' + |
| | | totalquantity + |
| | | '条数据,为防止数据丢失是否提交保存再继续添加。' |
| | | " type="warning"> |
| | | </el-alert> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="unsave">取 消</el-button> |
| | | <el-button type="primary" @click="Savenow">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | |
| | | unitList: [], |
| | | //费用报销机构列表 |
| | | feeUnitList: [], |
| | | // 网络请求头 |
| | | Networkheader: null, |
| | | |
| | | itemlist: [], |
| | | |
| | |
| | | totalPreTaxAmount: 0.0, |
| | | totalAfterTaxAmount: 0.0, |
| | | totalAmount: 0.0, |
| | | |
| | | |
| | | //费用类型数组 |
| | | feeItemTypes: [], |
| | |
| | | checkObj: { |
| | | flowlevelone: null, |
| | | flowconclusion: null, |
| | | fundid: null, |
| | | fundid: null |
| | | }, |
| | | |
| | | // 查询参数 |
| | |
| | | //票据文件 |
| | | pdftitle: "", |
| | | pdfimg: "", |
| | | pdfimgsrcList: [], |
| | | pdfVisible: false, |
| | | previewpdf: false, |
| | | hintitle: "选中左侧已上传文件预览查看", |
| | | atpresent: "" |
| | | atpresent: "", |
| | | Savereminder: false, //提醒保存弹框 |
| | | Reminderquantity: 0, //提醒数量 |
| | | totalquantity: 0 //总数量 |
| | | }; |
| | | }, |
| | | //监听属性 类似于data概念 |
| | |
| | | //清空附件 |
| | | this.fileList = []; |
| | | }, |
| | | // 获取请求头 |
| | | Getnetworkheader() { |
| | | console.log(window.location.href); |
| | | let string = window.location.href; |
| | | if (string.includes("9091")) { |
| | | const index = string.indexOf("9091"); |
| | | this.Networkheader = string.slice(0, index + 4); // 截取9091及其前部字符 |
| | | console.log(this.Networkheader); |
| | | } else { |
| | | const index = string.indexOf("8032"); |
| | | this.Networkheader = string.slice(0, index + 4); // 截取8032及其前部字符 |
| | | console.log(this.Networkheader); |
| | | } |
| | | }, |
| | | /** 通过参数获取业务类型 */ |
| | | getroute() { |
| | | //选择业务类型:1、新增;2、修改;3、查看 |
| | |
| | | |
| | | // if (!this.businessType && !this.operationType) { |
| | | if (this.businessType == "1") { |
| | | this.businessName = "专家劳务费申请单" |
| | | this.amountLabel = "税前金额" |
| | | this.businessName = "专家劳务费申请单"; |
| | | this.amountLabel = "税前金额"; |
| | | this.getUnitList(); |
| | | } |
| | | else if (this.businessType == "2") { |
| | | } else if (this.businessType == "2") { |
| | | this.businessName = "伦理专家劳务费申请单"; |
| | | this.amountLabel = "税前金额" |
| | | this.amountLabel = "税前金额"; |
| | | this.getUnitList(); |
| | | } |
| | | else if (this.businessType == "3") { |
| | | } else if (this.businessType == "3") { |
| | | this.businessName = "医学成本报销单"; |
| | | this.amountLabel = "金额" |
| | | } |
| | | else if (this.businessType == "4") { |
| | | this.amountLabel = "金额"; |
| | | } else if (this.businessType == "4") { |
| | | this.businessName = "办公费用报销单"; |
| | | this.amountLabel = "金额" |
| | | this.amountLabel = "金额"; |
| | | |
| | | // this.getBaseInfoList(); |
| | | } |
| | |
| | | this.title = this.businessName + "新建"; |
| | | if (this.operationType != "4") { |
| | | this.curCase = this.$route.query.curCase; |
| | | console.log("this.curCase",this.curCase); |
| | | console.log("this.curCase", this.curCase); |
| | | } |
| | | this.handleAdd(); |
| | | } |
| | | else if (this.operationType == "update") { |
| | | } else if (this.operationType == "update") { |
| | | this.title = this.businessName + "修改"; |
| | | this.handleUpdate(); |
| | | } |
| | | else if (this.operationType == "detail") { |
| | | } else if (this.operationType == "detail") { |
| | | this.title = this.businessName + "查看"; |
| | | this.handleDetail(); |
| | | } |
| | | else if (this.operationType == "check") { |
| | | } else if (this.operationType == "check") { |
| | | this.title = this.businessName + "审核"; |
| | | this.handleCheck(); |
| | | } |
| | |
| | | |
| | | getFund(this.curId).then(response => { |
| | | this.form = response.data; |
| | | console.log("response.data",response.data); |
| | | console.log("response.data", response.data); |
| | | //附件处理 |
| | | // this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : [] |
| | | |
| | |
| | | } |
| | | }); |
| | | |
| | | //业务流程 |
| | | //业务流程 |
| | | let listFundflowparams = { |
| | | fundid: this.curId, |
| | | fundtype: 2 |
| | |
| | | } |
| | | }); |
| | | |
| | | //业务流程 |
| | | //业务流程 |
| | | let listFundflowparams = { |
| | | fundid: this.curId, |
| | | fundtype: 2 |
| | |
| | | this.fundflowList = res.rows; |
| | | }); |
| | | }); |
| | | |
| | | }, |
| | | |
| | | /** 删除按钮操作 */ |
| | |
| | | return; |
| | | } |
| | | |
| | | if (tempDetail.beneficiaryno == null || tempDetail.beneficiaryno == "点击选择") { |
| | | if ( |
| | | tempDetail.beneficiaryno == null || |
| | | tempDetail.beneficiaryno == "点击选择" |
| | | ) { |
| | | this.$modal.msgWarning( |
| | | "服务项目表中,第" + |
| | | (k + 1).toString() + |
| | |
| | | ].subjecttypename; |
| | | } |
| | | this.rbDetails[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.rbDetails[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.rbDetails[k] = tempDetail; |
| | | |
| | | this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount); |
| | | this.totalAmount += parseFloat(tempDetail.amount); |
| | | } |
| | | }); |
| | | } |
| | | */ |
| | | } |
| | | //计算当前行报销内容费用合计,税前金额(amount)、扣税金额(taxamount)、税后金额(taxedamount) |
| | | if (this.businessType == "2") { |
| | | for (let j = 0; j < this.rbDetails.length; j++) { |
| | | let tempDetail = this.rbDetails[j]; |
| | | if ( |
| | | isNaN(parseFloat(tempDetail.amount)) || |
| | | parseFloat(tempDetail.amount) == 0 |
| | | ) { |
| | | this.$modal.msgWarning( |
| | | "服务项目表中,第" + |
| | | (j + 1).toString() + |
| | | "行的金额未输入,请先输入金额后再提交保存!" |
| | | ); |
| | | return; |
| | | } |
| | | } |
| | | } else if (this.businessType == "3" || this.businessType == "4") { |
| | | for (let j = 0; j < this.rbDetails.length; j++) { |
| | | let tempDetail = this.rbDetails[j]; |
| | | if ( |
| | | isNaN(parseFloat(tempDetail.amount)) || |
| | | parseFloat(tempDetail.amount) == 0 |
| | | ) { |
| | | this.$modal.msgWarning( |
| | | "服务项目表中,第" + |
| | | (j + 1).toString() + |
| | | "行的金额未输入,请先输入金额后再提交保存!" |
| | | ); |
| | | return; |
| | | } |
| | | if ( |
| | | isNaN(parseFloat(tempDetail.taxamount)) || |
| | | parseFloat(tempDetail.taxamount) == 0 |
| | | ) { |
| | | tempDetail.taxedamount = tempDetail.amount; |
| | | } else { |
| | | tempDetail.taxedamount = |
| | | tempDetail.amount + tempDetail.taxamount; |
| | | } |
| | | } |
| | | } |
| | | |
| | | //费用合计 |
| | | // this.form.pretaxcost = parseFloat(this.totalPreTaxAmount).toFixed(2); |
| | | // this.form.taxedcost = parseFloat(this.totalAfterTaxAmount).toFixed(2); |
| | |
| | | }); |
| | | |
| | | //关闭窗口 |
| | | // this.loading = false; |
| | | this.loading = false; |
| | | // this.getfundList(); |
| | | this.$store.dispatch("tagsView/delView", this.$route); |
| | | this.$router.go(-1); |
| | | } |
| | | }); |
| | |
| | | // fundid: this.checkObj.fundid, |
| | | fundid: this.curId, |
| | | flowconclusion: this.checkObj.flowlevelone, |
| | | flowcontent: this.checkObj.flowconclusion, |
| | | flowcontent: this.checkObj.flowconclusion |
| | | }; |
| | | checkfund(checkFundObj).then((res) => { |
| | | checkfund(checkFundObj).then(res => { |
| | | //关闭窗口 |
| | | this.reset(); |
| | | this.$modal.msgSuccess("审核完成!"); |
| | | this.$store.dispatch("tagsView/delView", this.$route); |
| | | this.$router.go(-1); |
| | | }); |
| | | }, |
| | | |
| | | // 取消按钮 |
| | | cancel() { |
| | | // this.reset(); |
| | | this.$store.dispatch("tagsView/delView", this.$route); |
| | | this.$router.go(-1); |
| | | }, |
| | | |
| | |
| | | getUserProfile().then(res => { |
| | | this.userprofile = res.data; |
| | | this.standardlevel = res.data.standardlevel; |
| | | if (this.userprofile.userName == "admin" || this.userprofile.userName == "001" || this.userprofile.userName == "012" || this.userprofile.userName == "002") { |
| | | if ( |
| | | this.userprofile.userName == "admin" || |
| | | this.userprofile.userName == "001" || |
| | | this.userprofile.userName == "047" |
| | | ) { |
| | | this.ismanager = true; |
| | | } else { |
| | | this.ismanager = false; |
| | | } |
| | | console.log(this.userprofile,this.ismanager); |
| | | this.form.username = this.userprofile.nickName; |
| | | this.form.userno = this.userprofile.userName; |
| | | this.form.deptmentname = this.userprofile.dept.deptName; |
| | | this.form.deptmentno = this.userprofile.dept.deptId; |
| | | this.form.managername = this.userprofile.dept.leader; |
| | | this.form.phone = this.userprofile.phonenumber; |
| | | // this.form.applytype = this.businessType; |
| | | // this.form.createTime = new Date(); |
| | | this.getUserAccount(); |
| | | console.log(this.userprofile, this.ismanager); |
| | | if (this.operationType == "add") { |
| | | this.form.username = this.userprofile.nickName; |
| | | this.form.userno = this.userprofile.userName; |
| | | this.form.deptmentname = this.userprofile.dept.deptName; |
| | | this.form.deptmentno = this.userprofile.dept.deptId; |
| | | this.form.managername = this.userprofile.dept.leader; |
| | | this.form.phone = this.userprofile.phonenumber; |
| | | // this.form.applytype = this.businessType; |
| | | // this.form.createTime = new Date(); |
| | | |
| | | if (this.businessType == "4") { |
| | | this.getUserAccount(); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | |
| | |
| | | getUserAccount() { |
| | | this.personlist.map(res => { |
| | | if (res.username == this.form.username) { |
| | | this.form.bankname = res.depositbank;//res.branchbankname、res.depositbank; |
| | | this.form.bankname = res.depositbank; //res.branchbankname、res.depositbank; |
| | | this.form.bankcardno = res.bankcardno; |
| | | this.form.phone = res.telephone; |
| | | } |
| | |
| | | row.amount = 0.0; |
| | | row.taxamount = 0.0; |
| | | row.taxedamount = item.expense; |
| | | |
| | | //计算税前金额 |
| | | this.calculateTax(row, "B"); |
| | | |
| | | } else { |
| | | row.amount = item.expense; |
| | | row.taxamount = 0.0; |
| | | row.taxedamount = 0.0; |
| | | |
| | | //计算税后金额 |
| | | this.calculateTax(row, "A"); |
| | | } |
| | | |
| | | this.form.serviceFunddetails = 0; |
| | |
| | | }); |
| | | }, |
| | | |
| | | //校验收费项目是否重复 |
| | | //校验收费项目 |
| | | verifyFeeItem(row) { |
| | | row.itemlist.map(res => { |
| | | if (row.itemid === res.id) { |
| | |
| | | row.itemcode = res.itemCode; |
| | | } |
| | | }); |
| | | var repeatNum = 0; |
| | | this.rbDetails.map(res => { |
| | | if (res.applytype === row.applytype && res.itemid == row.itemid) { |
| | | repeatNum++; |
| | | |
| | | //判断收费项目是否重复 |
| | | if (this.businessType == "1") { |
| | | var repeatNum = 0; |
| | | this.rbDetails.map(res => { |
| | | if (res.applytype === row.applytype && res.itemid == row.itemid) { |
| | | repeatNum++; |
| | | } |
| | | }); |
| | | if (repeatNum > 1) { |
| | | this.$modal.msgWarning("您已经提交过该服务项目了"); |
| | | } |
| | | }); |
| | | if (repeatNum > 1) { |
| | | this.$modal.msgWarning("您已经提交过该服务项目了"); |
| | | } |
| | | |
| | | //获取费用项目的详细信息 |
| | |
| | | }); |
| | | }, |
| | | |
| | | |
| | | //计算个税:type(A:已知税前金额,计算税后金额;B:已知税后金额,计算税前金额) |
| | | calculateTax(row, type) { |
| | | //if (isNaN(parseFloat(tempDetail.taxedamount))) |
| | | //获取参数 |
| | | this.taxParam.beneficiaryNo = row.beneficiaryno; |
| | | this.taxParam.startTime = this.form.createTime.substring(0, 10); |
| | | |
| | | if (type == 'A') { |
| | | // 计算个税、税后金额 |
| | | this.taxParam.money = row.amount.toString(); |
| | | getTaxByBeneFiciaryNo(this.taxParam).then((res) => { |
| | | if (res.code == 200) { |
| | | row.taxamount = res.data; |
| | | row.taxedamount = row.amount - row.taxamount; |
| | | this.rbDetails[k] = row; |
| | | } |
| | | }); |
| | | } else { |
| | | // 计算税前、个税金额 |
| | | this.taxParam.money = row.taxedamount.toString(); |
| | | getTaxBeforeByAfterMoney(this.taxParam).then((res) => { |
| | | if (res.code == 200) { |
| | | row.taxamount = res.data.nowTax; |
| | | row.amount = parseFloat(res.data.nowTaxBeforeMoney); |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | //导入所有项目 |
| | | importFeeItems() { |
| | | this.loading = true; |
| | |
| | | // }); |
| | | }, |
| | | |
| | | unsave() { |
| | | this.Savereminder = false; |
| | | this.Reminderquantity = 0; |
| | | }, |
| | | // 接受提醒立刻保存 |
| | | Savenow() { |
| | | this.Savereminder = false; |
| | | this.Reminderquantity = 0; |
| | | this.totalquantity = 0; |
| | | 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.rbDetails.length; k++) { |
| | | let tempDetail = this.rbDetails[k]; |
| | | if (tempDetail.itemid == null) { |
| | | this.$modal.msgWarning( |
| | | "服务项目表中,第" + |
| | | (k + 1).toString() + |
| | | "行的服务项目未选择,请先选择服务项目后再提交保存!" |
| | | ); |
| | | return; |
| | | } |
| | | |
| | | if (this.businessType == "1") { |
| | | if (tempDetail.servicesscope == null) { |
| | | this.$modal.msgWarning( |
| | | "服务项目表中,第" + |
| | | (k + 1).toString() + |
| | | "行的费用说明未选择,请选择费用说明后再提交保存!" |
| | | ); |
| | | return; |
| | | } |
| | | |
| | | if ( |
| | | tempDetail.beneficiaryno == null || |
| | | tempDetail.beneficiaryno == "点击选择" |
| | | ) { |
| | | 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.rbDetails.length; i++) { |
| | | let tempDetail = this.rbDetails[i]; |
| | | //获取服务项目明细 |
| | | let tempitemlist = tempDetail.itemlist; |
| | | let itemIndex = tempitemlist.findIndex( |
| | | item => tempDetail.itemid == item.id |
| | | ); |
| | | if (itemIndex > -1) { |
| | | tempDetail.itemname = tempitemlist[itemIndex].itemName; |
| | | tempDetail.itemid = tempitemlist[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.rbDetails[i] = tempDetail; |
| | | /* |
| | | //计算个税 |
| | | // 计算税后金额 |
| | | if (tempDetail.taxedamount == undefined || tempDetail.taxedamount == null || tempDetail.taxedamount == 0 || tempDetail.taxedamount == '') { |
| | | calculateTax(tempDetail,"A") |
| | | } |
| | | |
| | | // 计算税前、税费、税后金额 |
| | | if (tempDetail.amount == undefined || tempDetail.amount == null || tempDetail.amount == 0 || tempDetail.amount == '') { |
| | | calculateTax(tempDetail,"B") |
| | | } |
| | | */ |
| | | } |
| | | //计算当前行报销内容费用合计,税前金额(amount)、扣税金额(taxamount)、税后金额(taxedamount) |
| | | if (this.businessType == "2") { |
| | | for (let j = 0; j < this.rbDetails.length; j++) { |
| | | let tempDetail = this.rbDetails[j]; |
| | | if ( |
| | | isNaN(parseFloat(tempDetail.amount)) || |
| | | parseFloat(tempDetail.amount) == 0 |
| | | ) { |
| | | this.$modal.msgWarning( |
| | | "服务项目表中,第" + |
| | | (j + 1).toString() + |
| | | "行的金额未输入,请先输入金额后再提交保存!" |
| | | ); |
| | | return; |
| | | } |
| | | } |
| | | } else if (this.businessType == "3" || this.businessType == "4") { |
| | | for (let j = 0; j < this.rbDetails.length; j++) { |
| | | let tempDetail = this.rbDetails[j]; |
| | | if ( |
| | | isNaN(parseFloat(tempDetail.amount)) || |
| | | parseFloat(tempDetail.amount) == 0 |
| | | ) { |
| | | this.$modal.msgWarning( |
| | | "服务项目表中,第" + |
| | | (j + 1).toString() + |
| | | "行的金额未输入,请先输入金额后再提交保存!" |
| | | ); |
| | | return; |
| | | } |
| | | if ( |
| | | isNaN(parseFloat(tempDetail.taxamount)) || |
| | | parseFloat(tempDetail.taxamount) == 0 |
| | | ) { |
| | | tempDetail.taxedamount = tempDetail.amount; |
| | | } else { |
| | | tempDetail.taxedamount = |
| | | tempDetail.amount + tempDetail.taxamount; |
| | | } |
| | | } |
| | | } |
| | | |
| | | //费用合计 |
| | | // 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.rbDetails.map(item => { |
| | | this.form.serviceFunddetails += item.amount; |
| | | }); |
| | | console.log(this.rbDetails); |
| | | this.form.serviceFunddetails = this.rbDetails; |
| | | |
| | | if (this.form.id != null) { |
| | | // updateFund(this.form).then((response) => { |
| | | // if (response.code === 200) { |
| | | // this.loading = false; |
| | | // for (let m = 0; m < this.rbDetails.length; m++) { |
| | | // if (this.rbDetails[m].id > 0) { |
| | | // updateFunddetail(this.rbDetails[m]).then((response2) => { if (response.code != 200) { this.$modal.msgError("专家劳务费保存失败1:" + response.msg); } }); |
| | | // } else { |
| | | // addFunddetail(this.rbDetails[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.$modal.msgSuccess("申请单保存成功!"); |
| | | } else { |
| | | this.$modal.msgError("申请单保存失败:" + response.msg); |
| | | } |
| | | }); |
| | | |
| | | //关闭窗口 |
| | | this.loading = false; |
| | | // this.getfundList(); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | //新增一行 |
| | | addRow(rowIndex) { |
| | | let rowData = { |
| | |
| | | rowfeeblocks: [], |
| | | annexfiles: null |
| | | }; |
| | | if (this.Reminderquantity >= 5) { |
| | | this.Savereminder = true; |
| | | return; |
| | | } |
| | | if (rowIndex == undefined || rowIndex == null || rowIndex < 0) { |
| | | this.rbDetails.push(rowData); |
| | | } else { |
| | | this.rbDetails.splice(rowIndex + 1, 0, rowData); |
| | | } |
| | | this.Reminderquantity++; |
| | | this.totalquantity++; |
| | | for (let i = 0; i < this.rbDetails.length; i++) { |
| | | this.rbDetails[i].orderno = i + 1; |
| | | } |
| | |
| | | this.addRow(0); |
| | | } |
| | | }, |
| | | |
| | | //计算个税 |
| | | calculateTax() { }, |
| | | |
| | | //计算总金额 |
| | | sumTotalFee(row) { |
| | |
| | | this.form.filename = file.raw.name; |
| | | |
| | | this.$modal.msgSuccess(response.msg); |
| | | this.fileListto.push({ name: file.name, url: response.url }); |
| | | this.fileListto.push({ name: file.name, url: response.fileName }); |
| | | this.rbDetails[this.atpresent].annexfilesList = this.fileListto; |
| | | } else { |
| | | console.log(response.msg); |
| | | } |
| | | }, |
| | | |
| | | // 点击文件 |
| | | // 点击票据 |
| | | Filepopup(index, rows, row) { |
| | | this.atpresent = index; |
| | | this.pdfVisible = true; |
| | | if (this.rbDetails[index].annexfilesList) { |
| | | this.fileListto = this.rbDetails[index].annexfilesList; |
| | | this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url; |
| | | this.pdfimgsrcList = []; |
| | | this.pdfimgsrcList.push(this.pdfimg); |
| | | console.log(this.pdfimg); |
| | | } else { |
| | | this.fileListto = []; |
| | | this.pdfimg = ""; |
| | |
| | | } else if (name[1] == "jpg" || "png") { |
| | | this.previewpdf = true; |
| | | if (item.url) { |
| | | this.pdfimg = item.url; |
| | | this.pdfimg = this.Networkheader + "/prod-api" + item.url; |
| | | this.pdfimgsrcList = []; |
| | | this.pdfimgsrcList.push(this.pdfimg); |
| | | console.log(this.pdfimg); |
| | | } else { |
| | | this.pdfimg = item.response.url; |
| | | this.pdfimg = this.Networkheader + "/prod-api" + item.response.url; |
| | | } |
| | | } else { |
| | | this.hintitle = "当前文件暂不支持预览"; |
| | |
| | | } else { |
| | | //保存新增专家 |
| | | this.expertform.id = null; |
| | | this.expertform.userno = this.personlist[this.personlist.length - 1].id + 1; |
| | | 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.rbDetails[tempIndex] = singleDetail; |
| | | this.showSelectionDialog = false; |
| | | }, |
| | | } |
| | | }, |
| | | |
| | | //生命周期 - 创建完成(可以访问当前this实例) |
| | | created() { |
| | | //获取路由参数 |
| | | this.Getnetworkheader(); |
| | | this.getroute(); |
| | | this.getExternalList(); |
| | | }, |
| | |
| | | updated() { }, //生命周期 - 更新之后 |
| | | beforeDestroy() { }, //生命周期 - 销毁之前 |
| | | destroyed() { }, //生命周期 - 销毁完成 |
| | | activated() { }, //如果页面有keep-alive缓存功能,这个函数会触发 |
| | | activated() { } //如果页面有keep-alive缓存功能,这个函数会触发 |
| | | }; |
| | | </script> |
| | | |