| | |
| | | > |
| | | </div></el-col |
| | | > |
| | | </el-row> |
| | | <el-row v-if="businessType == 1 && operationType == 'check'"> |
| | | <el-col :span="3" |
| | | ><div style="margin-bottom: 15px;"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-download" |
| | | type="success" |
| | | icon="el-icon-edit-outline" |
| | | @click="Manualcalculationfn" |
| | | >计算明细</el-button |
| | | > |
| | |
| | | <template slot-scope="scope"> |
| | | <el-select |
| | | v-model="scope.row.applytype" |
| | | placeholder="服务类型" |
| | | placeholder="请选择服务类型" |
| | | @change="verifyFeeItemType(scope.row)" |
| | | > |
| | | <el-option |
| | |
| | | <template slot-scope="scope"> |
| | | <el-select |
| | | v-model="scope.row.itemid" |
| | | placeholder="服务项目" |
| | | placeholder="请选择服务项目" |
| | | filterable |
| | | @change="verifyFeeItem(scope.row)" |
| | | :filter-method="val => searchItemType(val, scope)" |
| | |
| | | type="primary" |
| | | plain |
| | | @click="ShowDetailDialog(scope, 'expert')" |
| | | >{{ scope.row.beneficiaryname }}</el-button |
| | | >{{ |
| | | scope.row.beneficiaryname |
| | | ? scope.row.beneficiaryname |
| | | : "点击选择" |
| | | }}</el-button |
| | | > |
| | | <!-- <el-select |
| | | filterable |
| | |
| | | align="center" |
| | | label="单位名称" |
| | | width="250" |
| | | v-if="form.applytype != '4'" |
| | | v-if="form.applytype != '4' && form.applytype != '3'" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | @click="ShowDetailDialog(scope, 'unit')" |
| | | >{{ scope.row.unitname }}</el-button |
| | | >{{ |
| | | scope.row.unitname ? scope.row.unitname : "点击选择" |
| | | }}</el-button |
| | | > |
| | | <!-- <el-select |
| | | v-model="scope.row.unitno" |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="unitno" |
| | | prop="beneficiaryname" |
| | | align="center" |
| | | label="单位/个人" |
| | | width="250" |
| | | v-if="form.applytype == '4'" |
| | | v-if="form.applytype == '4' || form.applytype == '3'" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | |
| | | plain |
| | | @click="ShowDetailDialog(scope, 'expert')" |
| | | >{{ |
| | | experthear == "expert" |
| | | ? scope.row.unitname |
| | | : scope.row.beneficiaryname |
| | | scope.row.beneficiaryname |
| | | ? scope.row.beneficiaryname |
| | | : "点击选择" |
| | | }}</el-button |
| | | > |
| | | <!-- <el-select |
| | |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | @click="handleup" |
| | | v-if=" |
| | | operationType == 'add' || |
| | | operationType == 'update' || |
| | | ismanager == true |
| | | " |
| | | >上报</el-button |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | @click="checksubmit" |
| | | v-if="operationType == 'check'" |
| | | >提交审核</el-button |
| | |
| | | v-loading="loading" |
| | | > |
| | | <el-form ref="funddetailForm" :model="funddetailForm"> |
| | | <el-row v-if="businessType != 4"> |
| | | <el-row v-if="businessType != 4 && businessType != 3"> |
| | | <el-col |
| | | :span="24" |
| | | v-if="selectionType == 'expert' && businessType != 4" |
| | |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row v-if="businessType == 4"> |
| | | <el-row v-if="businessType == 4 || businessType == 3"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="请选择专家信息:" prop="experthear"> |
| | | <el-radio-group |
| | |
| | | <el-col :span="24" v-if="experthear == 'expert'"> |
| | | <el-form-item label="单位名称" prop="unitno" label-width="120px"> |
| | | <el-select |
| | | v-model="funddetailForm.unitname" |
| | | v-model="funddetailForm.beneficiaryname" |
| | | placeholder="单位名称" |
| | | @change="bbaaccss" |
| | | clearable |
| | |
| | | style="width: 100%" |
| | | > |
| | | <el-option |
| | | v-for="(spec, index) in unitList" |
| | | v-for="(spec, index) in feeUnitList" |
| | | :key="index" |
| | | :label="spec.organizationname" |
| | | :value="spec.organizationname" |
| | | :label="spec.reportName" |
| | | :value="spec.reportName" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row v-if="businessType != 4"> |
| | | <el-row v-if="businessType != 4 && businessType != 3"> |
| | | <el-col :span="12" v-if="expertfrom == '2'"> |
| | | <el-form-item label="专家姓名" prop="expertname" label-width="80px"> |
| | | <el-input |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row v-if="businessType != 4"> |
| | | <el-row v-if="businessType != 4 && businessType != 3"> |
| | | <el-col :span="24" v-if="expertfrom == '2'"> |
| | | <el-form-item |
| | | label="身份证号" |
| | |
| | | </el-col> |
| | | </el-row> |
| | | --> |
| | | <el-row v-if="businessType != 4"> |
| | | <el-row v-if="businessType != 4 && businessType != 3"> |
| | | <el-col :span="24" v-if="expertfrom == '2'"> |
| | | <el-form-item |
| | | label="单位名称" |
| | |
| | | </el-select> </el-form-item |
| | | ></el-col> |
| | | </el-row> |
| | | <el-row v-if="businessType != 4"> |
| | | <el-row v-if="businessType != 4 && businessType != 3"> |
| | | <el-col :span="24" v-if="expertfrom == '2'"> |
| | | <el-form-item |
| | | label="开户银行" |
| | |
| | | exportLoading: false, |
| | | usernamedata: "", |
| | | jurisdiction: false, |
| | | |
| | | Routinglevel: 1, |
| | | // 表单参数 |
| | | form: {}, |
| | | experthear: "", |
| | |
| | | cityOptions: [], |
| | | checkAll: false, |
| | | checkedCities: [], |
| | | Personnelforname: "请选择", |
| | | unitforname: "请选择", |
| | | Personnelforname: null, |
| | | unitforname: null, |
| | | isIndeterminate: true, |
| | | |
| | | //是否是专家费的OPO审批人员 |
| | |
| | | } else if (this.businessType == "3") { |
| | | this.businessName = "医学成本报销单"; |
| | | this.amountLabel = "金额"; |
| | | this.getUnitList(); |
| | | } else if (this.businessType == "4") { |
| | | this.businessName = "办公费用报销单"; |
| | | this.amountLabel = "金额"; |
| | |
| | | }, |
| | | |
| | | /** 上报按钮操作 */ |
| | | handleUp() { |
| | | handleup() { |
| | | if ( |
| | | (JSON.stringify(this.form) == sessionStorage.getItem("apiform") && |
| | | JSON.stringify(this.rbDetails) == |
| | | sessionStorage.getItem("apifunddetail")) || |
| | | !sessionStorage.getItem("apifunddetail") |
| | | ){ |
| | | }else{ |
| | | this.$message.error('请保存后再进行上报'); |
| | | return |
| | | } |
| | | this.$confirm("是否确认将登记记录上报?", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | |
| | | type: "success", |
| | | message: "申请成功" |
| | | }); |
| | | this.cancel() |
| | | } else { |
| | | this.$message({ |
| | | type: "error", |
| | |
| | | return; |
| | | } |
| | | |
| | | if ( |
| | | tempDetail.beneficiaryno == null || |
| | | tempDetail.beneficiaryno == "点击选择" |
| | | ) { |
| | | if (tempDetail.beneficiaryno == null) { |
| | | this.$modal.msgWarning( |
| | | "服务项目表中,第" + |
| | | (k + 1).toString() + |
| | |
| | | // }); |
| | | } |
| | | |
| | | addorupdateFund(this.form).then(response => { |
| | | if (response.code === 200) { |
| | | this.$modal.msgSuccess("申请单保存成功!"); |
| | | } else { |
| | | this.$modal.msgError("申请单保存失败:" + response.msg); |
| | | } |
| | | }); |
| | | sessionStorage.setItem( |
| | | "apifunddetail", |
| | | JSON.stringify(this.rbDetails) |
| | | ); |
| | | sessionStorage.setItem("apiform", JSON.stringify(this.form)); |
| | | |
| | | addorupdateFund(this.form).then(response => { |
| | | console.log(response, "保存返参"); |
| | | if (response.code === 200) { |
| | | this.$modal.msgSuccess("申请单保存成功!"); |
| | | this.$store.dispatch("tagsView/delView", this.$route); |
| | | this.$router.push({ |
| | | path: "/finance/applyDetail/", |
| | | query: { |
| | | id: response.data, |
| | | businessType: "2", |
| | | operationType: "update", |
| | | curCase: this.curCase |
| | | } |
| | | }); |
| | | this.Routinglevel++; |
| | | } else { |
| | | this.$modal.msgError("申请单保存失败:" + response.msg); |
| | | } |
| | | }); |
| | | //关闭窗口 |
| | | this.loading = false; |
| | | // this.getfundList(); |
| | | this.$store.dispatch("tagsView/delView", this.$route); |
| | | this.$router.go(-1); |
| | | // this.$store.dispatch("tagsView/delView", this.$route); |
| | | // this.$router.go(-1); |
| | | } |
| | | }); |
| | | }, 500), |
| | |
| | | // 取消按钮 |
| | | cancel() { |
| | | // this.reset(); |
| | | console.log(-this.Routinglevel); |
| | | this.$store.dispatch("tagsView/delView", this.$route); |
| | | this.$router.go(-1); |
| | | this.$router.go(-this.Routinglevel); |
| | | |
| | | }, |
| | | |
| | | //获取当前用户信息 |
| | |
| | | getFeeUnitList() { |
| | | listReportname("org").then(res => { |
| | | this.feeUnitList = res.data; |
| | | console.log(this.feeUnitList); |
| | | }); |
| | | }, |
| | | |
| | |
| | | |
| | | //计算个税:type(A:已知税前金额,计算税后金额;B:已知税后金额,计算税前金额) |
| | | calculateTax(row, type) { |
| | | let targetValue = 0; |
| | | for (let i = 0; i < this.rbDetails.length; i++) { |
| | | if (!this.rbDetails[i].amount) { |
| | | this.rbDetails[i].amount = 0; |
| | | } |
| | | targetValue += parseFloat(this.rbDetails[i].amount); // 假设每个对象中的特定值存储在'specificValue'属性下 |
| | | } |
| | | console.log(targetValue, "合计"); |
| | | this.form.pretaxcost = targetValue; |
| | | |
| | | //if (isNaN(parseFloat(tempDetail.taxedamount))) |
| | | //获取参数 |
| | | this.taxParam.beneficiaryNo = row.beneficiaryno; |
| | | this.taxParam.startTime = this.form.createTime.substring(0, 10); |
| | | // 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; |
| | | } |
| | | }); |
| | | } 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); |
| | | } |
| | | }); |
| | | } |
| | | // 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; |
| | | // } |
| | | // }); |
| | | // } 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); |
| | | // } |
| | | // }); |
| | | // } |
| | | }, |
| | | |
| | | //导入所有项目 |
| | |
| | | itemid: this.feeItemTypes[i].itemDetails[j].id, |
| | | itemcode: this.feeItemTypes[i].itemDetails[j].itemCode, |
| | | recordstatus: "-1", |
| | | beneficiaryname: "点击选择", |
| | | unitname: "点击选择", |
| | | beneficiaryname: null, |
| | | unitname: null, |
| | | itemlist: this.feeItemTypes[i].itemDetails, |
| | | rowfeeblocks: null, |
| | | servicesscope: null, |
| | |
| | | return; |
| | | } |
| | | |
| | | if ( |
| | | tempDetail.beneficiaryno == null || |
| | | tempDetail.beneficiaryno == "点击选择" |
| | | ) { |
| | | if (tempDetail.beneficiaryno == null) { |
| | | this.$modal.msgWarning( |
| | | "服务项目表中,第" + |
| | | (k + 1).toString() + |
| | |
| | | Manualcalculationfn() { |
| | | ManualCalculation(this.rbDetails).then(res => { |
| | | console.log(res); |
| | | if (res.code == 200) { |
| | | sessionStorage.removeItem("apiform"); |
| | | sessionStorage.removeItem("apifunddetail"); |
| | | sessionStorage.setItem( |
| | | "apifunddetail", |
| | | JSON.stringify(this.rbDetails) |
| | | ); |
| | | sessionStorage.setItem("apiform", JSON.stringify(this.form)); |
| | | this.$router.go(0); |
| | | } else { |
| | | // this.$message({ |
| | | // type: "error", |
| | | // message: "申请失败" |
| | | // }); |
| | | } |
| | | }); |
| | | }, |
| | | // 批量录入点击 |
| | |
| | | for (let i = 0; i < this.checkedCities.length + 1; i++) { |
| | | this.rbDetails[i].orderno = i + 1; |
| | | } |
| | | this.calculateTax(); |
| | | this.batchdialogVisible = false; |
| | | }, |
| | | //新增一行 |
| | |
| | | orderno: null, |
| | | id: null, |
| | | fundid: null, |
| | | beneficiaryname: "点击选择", |
| | | beneficiaryname: null, |
| | | beneficiaryno: null, |
| | | unitname: "点击选择", |
| | | unitname: null, |
| | | unitno: null, |
| | | uintuserno: null, |
| | | title: null, |
| | |
| | | ShowDetailDialog(spoce, showType) { |
| | | this.spocewl = spoce; |
| | | this.selectionType = showType; |
| | | if (this.businessType == 4 || !showType) { |
| | | if (this.businessType == 4 || this.businessType == 3 || !showType) { |
| | | this.selectionType = this.experthear; |
| | | } |
| | | // if (!showType) { |
| | |
| | | |
| | | // } |
| | | this.expertfrom = "1"; |
| | | |
| | | console.log(spoce); |
| | | this.funddetailForm.index = spoce.$index; |
| | | this.funddetailForm.beneficiaryno = spoce.row.beneficiaryno; |
| | | this.funddetailForm.beneficiaryname = spoce.row.beneficiaryname; |
| | |
| | | |
| | | //专家/医疗机构/费用报销机构选择 |
| | | ConfirmDetailDialog() { |
| | | if (this.businessType == 4) { |
| | | if (this.experthear == "expert") { |
| | | this.funddetailForm.beneficiaryname = this.unitforname; |
| | | } else { |
| | | this.funddetailForm.beneficiaryname = this.Personnelforname; |
| | | } |
| | | } |
| | | |
| | | // if (this.businessType == 4) { |
| | | // if (this.experthear == "expert") { |
| | | // this.funddetailForm.beneficiaryname = this.unitforname; |
| | | // } else { |
| | | // this.funddetailForm.beneficiaryname = this.Personnelforname; |
| | | // } |
| | | // } |
| | | let tempIndex = this.funddetailForm.index; |
| | | let tempExpertName = this.funddetailForm.beneficiaryname; |
| | | let tempUnitname = this.funddetailForm.unitname; |
| | | let singleDetail = this.rbDetails[tempIndex]; |
| | | |
| | | if (this.selectionType == "expert" || this.businessType == 4) { |
| | | if ( |
| | | this.selectionType == "expert" || |
| | | this.businessType == 4 || |
| | | this.businessType == 3 |
| | | ) { |
| | | if (this.expertfrom == "1" || this.experthear == "unit") { |
| | | //从专家列表获取信息 |
| | | this.personlist.map(res => { |
| | |
| | | // if (this.experthear == "unit") { |
| | | // singleDetail.unitname = ""; |
| | | // } |
| | | if (this.businessType == 4) { |
| | | if (this.businessType == 4 || this.businessType == 3) { |
| | | singleDetail.beneficiaryname = this.funddetailForm.beneficiaryname; |
| | | } |
| | | this.rbDetails[tempIndex] = singleDetail; |
| | |
| | | beforeUpdate() {}, //生命周期 - 更新之前 |
| | | updated() {}, //生命周期 - 更新之后 |
| | | beforeDestroy() {}, //生命周期 - 销毁之前 |
| | | destroyed() {}, //生命周期 - 销毁完成 |
| | | destroyed() { |
| | | window.removeEventListener("beforeunload", e => this.beforeunloadFn(e)); |
| | | }, //生命周期 - 销毁完成 |
| | | activated() {} //如果页面有keep-alive缓存功能,这个函数会触发 |
| | | }; |
| | | </script> |