11
WXL
2023-09-04 037a98ac21771bfc0d23392266f65a7837676bc3
src/views/project/fund/applyDetail/index.vue
@@ -158,7 +158,7 @@
          <el-table
            :data="rbDetails"
            v-loading="loading"
            max-height="400"
            max-height="800"
            border
            highlight-current-row
          >
@@ -166,7 +166,7 @@
              prop="orderno"
              align="center"
              label="序号"
              width="65"
              width="88"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.orderno" placeholder="序号" />
@@ -302,7 +302,15 @@
                    :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
@@ -319,6 +327,11 @@
                <el-input
                  v-model="scope.row.taxedamount"
                  placeholder="税后金额"
                  @blur="
                    val => {
                      calculateTax(scope.row, 'B');
                    }
                  "
                />
              </template>
            </el-table-column>
@@ -1270,36 +1283,7 @@
      Modifyornot: 0 //是否修改
    };
  },
  // vue路由控制页面关闭提示
  beforeRouteLeave(to, from, next) {
    if (
      JSON.stringify(this.form) == sessionStorage.getItem("apiform") &&
      JSON.stringify(this.rbDetails) == sessionStorage.getItem("apifunddetail")
    ) {
      console.log("cg1");
      sessionStorage.removeItem("apiform");
      sessionStorage.removeItem("apifunddetail");
      //就是上面的状态 如果是true , 则不询问是否保存, 当然这个方法比较笨, 大家可以使用更优雅的方式
      next();
    } else {
      console.log("cg2");
      this.$confirm("离开页面 , 更新数据将不做保存, 请确认已经保存", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(() => {
          sessionStorage.removeItem("apiform");
          sessionStorage.removeItem("apifunddetail");
          this.$router.go(-1);
          next();
        })
        .catch(() => {
          // alert("router")
        });
    }
  },
  //监听属性 类似于data概念
  computed: {},
  //监控data中的数据变化
@@ -1779,7 +1763,7 @@
            }
            this.rbDetails[i] = tempDetail;
            /*
            //计算个税
            //计算个税
            //if (isNaN(parseFloat(tempDetail.taxedamount)))
            //获取参数
            this.taxParam.beneficiaryNo = tempDetail.beneficiaryno;
@@ -1793,13 +1777,13 @@
                  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 == '') {
              //获取参数
@@ -1809,7 +1793,7 @@
                  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);
                }
@@ -2125,10 +2109,16 @@
            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;
@@ -2228,6 +2218,34 @@
          row.beneficiaryno = row.beneficiaryname;
        }
      });
    },
    //计算个税: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;
          }
        });
      } 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);
          }
        });
      }
    },
    //导入所有项目
@@ -2404,7 +2422,7 @@
            }
            this.rbDetails[i] = tempDetail;
            /*
            //计算个税
            //计算个税
            //if (isNaN(parseFloat(tempDetail.taxedamount)))
            //获取参数
            this.taxParam.beneficiaryNo = tempDetail.beneficiaryno;
@@ -2418,7 +2436,7 @@
                  tempDetail.taxamount = res.data;
                  tempDetail.taxedamount = tempDetail.amount - tempDetail.taxamount;
                  this.rbDetails[k] = tempDetail;
                  this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount);
                  this.totalAmount += parseFloat(tempDetail.amount);
                }
@@ -2434,7 +2452,7 @@
                  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);
                }
@@ -2653,9 +2671,6 @@
      }
    },
    //计算个税
    calculateTax() {},
    //计算总金额
    sumTotalFee(row) {
      let allSum = 0;
@@ -2795,6 +2810,9 @@
        this.$modal.msgSuccess(response.msg);
        this.fileListto.push({ name: file.name, url: response.fileName });
        // this.fileListto.push({ name: file.name, url: response.url });
        this.pdfimgsrcList.push(
          this.Networkheader + "/prod-api" + response.fileName
        );
        // this.pdfimgsrcList.push(response.url);
        this.rbDetails[this.atpresent].annexfilesList = this.fileListto;
@@ -2816,7 +2834,6 @@
          this.pdfimgsrcList.push(this.Networkheader + "/prod-api" + item.url);
        });
        console.log(this.pdfimgsrcList);
        console.log(this.pdfimg);
      } else {
        this.fileListto = [];
@@ -2824,29 +2841,30 @@
        this.pdftitle = "";
      }
    },
    fnrowclick(row) {
      console.log(row);
    },
    // 点击已上传文件
    downFile(row) {
      console.log(row);
      this.pdftitle = row.name;
      let name = row.name.split(".");
    // 点击已上传文件
    downFile(item) {
      console.log(item);
      this.pdftitle = item.name;
      let name = item.name.split(".");
      if (name[1] == "pdf") {
        this.$modal.msgWarning("当前文件暂不支持预览");
        this.previewpdf = false;
        this.hintitle = "当前文件暂不支持预览";
      } else if (name[1] == "jpg" || "png") {
        this.previewpdf = true;
        if (row.url) {
          this.pdfimg = this.Networkheader + "/prod-api" + row.url;
          // this.pdfimg = row.url;
        if (item.url) {
          this.pdfimg = this.Networkheader + "/prod-api" + item.url;
          // this.pdfimg = item.url;
          // this.pdfimgsrcList = [];
          // this.pdfimgsrcList.push(this.pdfimg);
          if (!this.pdfimgsrcList.includes(this.pdfimg)) {
            this.pdfimgsrcList.push(this.pdfimg);
            console.log("加入");
          }
          console.log(this.pdfimg);
        } else {
          this.pdfimg = this.Networkheader + "/prod-api" + row.url;
          this.pdfimg = this.Networkheader + "/prod-api" + item.url;
        }
      } else {
        this.hintitle = "当前文件暂不支持预览";
@@ -3043,9 +3061,7 @@
  beforeCreate() {}, //生命周期 - 创建之前
  beforeMount() {}, //生命周期 - 挂载之前
  beforeUpdate() {
    console.log("beforeUpdate");
  }, //生命周期 - 更新之前
  beforeUpdate() {}, //生命周期 - 更新之前
  updated() {}, //生命周期 - 更新之后
  beforeDestroy() {}, //生命周期 - 销毁之前
  destroyed() {}, //生命周期 - 销毁完成