11
WXL
2023-09-20 863c5a26cb1f065bf24a8f28e5641242fdb95644
src/views/project/fund/applyDetail/index.vue
@@ -413,14 +413,16 @@
              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"
@@ -439,11 +441,11 @@
              </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
@@ -451,9 +453,9 @@
                  plain
                  @click="ShowDetailDialog(scope, 'expert')"
                  >{{
                    experthear == "expert"
                      ? scope.row.unitname
                      : scope.row.beneficiaryname
                    scope.row.beneficiaryname
                      ? scope.row.beneficiaryname
                      : "点击选择"
                  }}</el-button
                >
                <!-- <el-select
@@ -777,6 +779,16 @@
        >
        <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
@@ -794,7 +806,7 @@
      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"
@@ -882,7 +894,7 @@
          </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
@@ -924,7 +936,7 @@
          <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
@@ -933,17 +945,17 @@
                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
@@ -972,7 +984,7 @@
            </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="身份证号"
@@ -998,7 +1010,7 @@
          </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="单位名称"
@@ -1022,7 +1034,7 @@
              </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="开户银行"
@@ -1404,7 +1416,7 @@
      exportLoading: false,
      usernamedata: "",
      jurisdiction: false,
      Routinglevel: 1,
      // 表单参数
      form: {},
      experthear: "",
@@ -1727,6 +1739,7 @@
      } else if (this.businessType == "3") {
        this.businessName = "医学成本报销单";
        this.amountLabel = "金额";
        this.getUnitList();
      } else if (this.businessType == "4") {
        this.businessName = "办公费用报销单";
        this.amountLabel = "金额";
@@ -1941,7 +1954,17 @@
    },
    /** 上报按钮操作 */
    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: "取消",
@@ -1951,13 +1974,13 @@
          //查找是否存在登记完成记录
          //判断是否存在上报记录
          this.form.recordstatus = 0;
          updateFund(this.form).then(response => {
            if (response.code == 200) {
              this.$message({
                type: "success",
                message: "申请成功"
              });
              this.cancel()
            } else {
              this.$message({
                type: "error",
@@ -2204,24 +2227,35 @@
            // });
          }
          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),
@@ -2246,8 +2280,10 @@
    // 取消按钮
    cancel() {
      // this.reset();
      console.log(-this.Routinglevel);
      this.$store.dispatch("tagsView/delView", this.$route);
      this.$router.go(-1);
        this.$router.go(-this.Routinglevel);
    },
    //获取当前用户信息
@@ -2349,6 +2385,7 @@
    getFeeUnitList() {
      listReportname("org").then(res => {
        this.feeUnitList = res.data;
        console.log(this.feeUnitList);
      });
    },
@@ -2559,8 +2596,12 @@
    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)))
@@ -2991,6 +3032,7 @@
      for (let i = 0; i < this.checkedCities.length + 1; i++) {
        this.rbDetails[i].orderno = i + 1;
      }
      this.calculateTax();
      this.batchdialogVisible = false;
    },
    //新增一行
@@ -3307,7 +3349,7 @@
    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) {
@@ -3315,7 +3357,7 @@
      // }
      this.expertfrom = "1";
      console.log(spoce);
      this.funddetailForm.index = spoce.$index;
      this.funddetailForm.beneficiaryno = spoce.row.beneficiaryno;
      this.funddetailForm.beneficiaryname = spoce.row.beneficiaryname;
@@ -3334,20 +3376,23 @@
    //专家/医疗机构/费用报销机构选择
    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 => {
@@ -3465,7 +3510,7 @@
      // 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;
@@ -3498,7 +3543,9 @@
  beforeUpdate() {}, //生命周期 - 更新之前
  updated() {}, //生命周期 - 更新之后
  beforeDestroy() {}, //生命周期 - 销毁之前
  destroyed() {}, //生命周期 - 销毁完成
  destroyed() {
    window.removeEventListener("beforeunload", e => this.beforeunloadFn(e));
  }, //生命周期 - 销毁完成
  activated() {} //如果页面有keep-alive缓存功能,这个函数会触发
};
</script>