11
WXL
2023-09-27 128aec95c834751e587e7f6615310ffbe3b13b64
src/views/project/travelexpenseapply/travelexpensedetail/index.vue
@@ -84,7 +84,7 @@
              />
            </el-form-item>
          </el-col>
          <el-col :span="10">
          <el-col :span="7">
            <el-form-item label="大写金额" prop="bigstrmoney">
              <el-input
                :disabled="true"
@@ -92,7 +92,7 @@
                placeholder="报销大写金额"
              />
            </el-form-item> </el-col
          ><el-col :span="5">
          ><el-col :span="4">
            <el-form-item label="审核状态" prop="flowlevel">
              <el-select
                v-model="form.recordstatus"
@@ -107,6 +107,23 @@
                  :label="dict.label"
                  :value="dict.value"
                />
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="5">
            <el-form-item label="预审状态" prop="infoid">
              <el-select
                v-model="form.checkstatus"
                filterable
                placeholder="请选择预审状态"
              >
                <el-option
                  v-for="item in baselisttages"
                  :key="item.id"
                  :label="item.name"
                  :value="item.id"
                >
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
@@ -920,13 +937,13 @@
        <el-button
          type="primary"
          @click="submitForm"
          v-if="operationType == 'edit'"
          v-if="operationType == 'edit'||beforehandType=='1'"
          >保 存</el-button
        >
        <el-button
          type="primary"
          @click="checksubmit"
          v-if="operationType == 'check'"
          v-if="operationType == 'check'&& beforehandType!='1'"
          >提 交</el-button
        >
        <!--<el-button @click="cancel">退 出</el-button>-->
@@ -946,8 +963,7 @@
          <el-table-column prop="orderno" label="序号"> </el-table-column>
          <el-table-column prop="personname" label="费用人员">
          </el-table-column>
          <el-table-column prop="createTime" label="开始日期">
          </el-table-column>
          <el-table-column prop="starttime" label="开始日期"> </el-table-column>
          <el-table-column prop="endtime" label="结束日期"> </el-table-column>
          <el-table-column prop="departure" label="出发地"> </el-table-column>
          <el-table-column prop="destination" label="到达地"> </el-table-column>
@@ -1090,7 +1106,8 @@
import {
  listReimbursementpayee,
  addReimbursementpayee,
  updateReimbursementpayee
  updateReimbursementpayee,
  delReimbursementpayee
} from "@/api/project/reimbursementpayee";
import {
  listReimbursement,
@@ -1253,6 +1270,20 @@
      rbDetails: [],
      rbPayees: [],
      arrr2: [],
      baselisttages: [
        {
          id: 1,
          name: "待预审"
        },
        {
          id: 2,
          name: "预审通过等待材料"
        },
        {
          id: 3,
          name: "已收到报销材料"
        },
      ],
      baselist: [],
      donatorList: [],
      standardlevel: 0,
@@ -1270,7 +1301,7 @@
      persontype: null,
      //到达地
      arriveAddr: null,
      beforehandType:null,
      headers: {
        Authorization: "Bearer " + getToken()
      },
@@ -1332,6 +1363,7 @@
    let curId = this.$route.query.id;
    let pos = this.$route.query.pos;
    this.defaultperson = this.$route.query.routerparam;
    this.beforehandType = this.$route.query.beforehandType;
    if (pos == 1) {
      this.handleAdd(curId);
    } else if (pos == 2) {
@@ -1347,10 +1379,13 @@
      this.$refs["table"].doLayout();
    });
  },
  destroyed() {
    window.removeEventListener("beforeunload", e => this.beforeunloadFn(e));
  }, //生命周期 - 销毁完成
  methods: {
       // 浏览器页面关闭或刷新提示
       beforeunloadHandler(e) {
    // 浏览器页面关闭或刷新提示
    beforeunloadHandler(e) {
      if (
        (JSON.stringify(this.form) == sessionStorage.getItem("apiform") &&
          JSON.stringify(this.rbDetails) ==
@@ -2188,17 +2223,15 @@
          */
          //票据文件处理
          const addnumber = this.rbPayees.reduce(
            (amount, item) => amount + Number(item.amount),
            0
          );
          let list = this.fileListto;
          console.log(list);
          //校验请款金额合计是否等于报销单金额
          if (
            this.form.amountrequested !=
            this.rbPayees.reduce(
              (amount, item) => amount + Number(item.amount),
              0.0
            )
          ) {
          if (this.form.amountrequested != addnumber) {
            this.$message({
              message:
                "报销请款表中合计金额不等于报销单的报销金额,请更正后再保存!",
@@ -2210,7 +2243,7 @@
          const rbDetails = [...this.rbDetails];
          const rbPayees = [...this.rbPayees];
          if (this.form.id != null) {
            console.log(this.form);
            console.log(this.form);
            updateReimbursement(this.form);
            //   .then(res => {
            //保存明细
@@ -2327,6 +2360,11 @@
      this.Savereminder = false;
      this.Reminderquantity = 0;
      this.totalquantity = 0;
      const addnumber = this.rbPayees.reduce(
        (amount, item) => amount + Number(item.amount),
        0
      );
      console.log(addnumber, "addnumber");
      this.$refs["form"].validate(valid => {
        if (valid) {
          //票据文件处理
@@ -2334,13 +2372,7 @@
          console.log(list);
          //校验请款金额合计是否等于报销单金额
          if (
            this.form.amountrequested !=
            this.rbPayees.reduce(
              (amount, item) => amount + Number(item.amount),
              0.0
            )
          ) {
          if (this.form.amountrequested != addnumber) {
            this.$message({
              message:
                "报销请款表中合计金额不等于报销单的报销金额,请更正后再保存!",
@@ -2543,8 +2575,10 @@
      })
        .then(() => {
          console.log(row);
          let arrow = [];
          arrow.push(row.id);
          if (row.id !== null) {
            delReimbursementdetail(row.id).then(res => {
            delReimbursementpayee(arrow).then(res => {
              this.$modal.msgSuccess("删除成功");
              rows.splice(index, 1);
              this.recountOrderNo2();