yxh
2023-12-12 e21e9ad99c4c2a306d15cb270dc41520450ac9f2
src/views/project/fund/performancedetails/index.vue
@@ -59,23 +59,6 @@
        </el-row>
        <el-row>
          <el-col :span="5">
            <el-form-item label="申请单类型">
              <el-select
                v-model="form.performancetype"
                filterable
                placeholder="请选择申请单状态"
              >
                <el-option
                  v-for="item in PerformanceType"
                  :key="item.id"
                  :label="item.name"
                  :value="item.id"
                >
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="5">
            <el-form-item label="联系电话" prop="phone">
              <el-input v-model="form.phone" placeholder="请输入联系电话" />
            </el-form-item>
@@ -89,14 +72,12 @@
              />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row style="text-align: left">
          <el-col :span="5">
            <el-form-item label="预审状态" prop="infoid">
            <el-form-item label="申请材料状态" prop="infoid">
              <el-select
                v-model="form.checkstatus"
                filterable
                placeholder="请选择预审状态"
                placeholder="请选择申请材料状态"
              >
                <el-option
                  v-for="item in baselisttages"
@@ -108,6 +89,8 @@
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row style="text-align: left">
          <el-col :span="8">
            <el-form-item label="申请说明" prop="remark">
              <el-input v-model="form.remark" placeholder="申请说明" />
@@ -135,14 +118,16 @@
            </div></el-col
          >
        </el-row>
        <el-row v-if="operationType == 'check'">
        <el-row
          v-if="userprofile.nickName == '陈慕华' && operationType == 'check'"
        >
          <el-col :span="3"
            ><div style="margin-bottom: 15px;">
              <el-button
                type="success"
                icon="el-icon-edit-outline"
                @click="Manualcalculationfn"
                >计算明细</el-button
                >计算个税</el-button
              >
            </div></el-col
          >
@@ -262,6 +247,16 @@
                      : "点击选择"
                  }}</el-button
                >
              </template>
            </el-table-column>
            <el-table-column
              prop="idcardno"
              align="center"
              label="身份证号"
              width="200"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.idcardno" placeholder="身份证号" />
              </template>
            </el-table-column>
@@ -445,6 +440,8 @@
            filterable
            remote
            reserve-keyword
            allow-create
            default-first-option
            placeholder="请输入关键词"
            :remote-method="remoteMethod"
            :loading="loadingperformance"
@@ -488,6 +485,13 @@
      :visible.sync="batchdialogVisible"
      width="40%"
    >
      <div style="margin-bottom: 15px; margin-left: 10px;">
        <el-radio-group v-model="Performanceclass">
          <el-radio-button :label="68">月度绩效</el-radio-button>
          <el-radio-button :label="69">季度绩效</el-radio-button>
          <el-radio-button :label="70">年度绩效</el-radio-button>
        </el-radio-group>
      </div>
      <div style="max-height: 330px; overflow-y: auto">
        <el-checkbox
          :indeterminate="isIndeterminate"
@@ -593,6 +597,7 @@
      spocewl: "",
      //费用申请表单title
      title: "",
      Copy: "",
      //申请单类型
      businessType: "0",
      businessName: "",
@@ -623,6 +628,7 @@
      Personnelforname: null,
      unitforname: null,
      isIndeterminate: true,
      Performanceclass: 68,
      //是否是专家费的OPO审批人员
      ismanager: false,
@@ -631,11 +637,11 @@
      baselisttages: [
        {
          id: 1,
          name: "待预审"
          name: "待申请材料"
        },
        {
          id: 2,
          name: "预审通过等待材料"
          name: "审核通过等待邮寄纸质材料"
        },
        {
          id: 3,
@@ -898,6 +904,7 @@
      console.log(11);
      //选择业务类型:1、新增;2、修改;3、查看
      this.curId = this.$route.query.id;
      this.Copy = this.$route.query.Copy;
      this.businessType = this.$route.query.businessType;
      this.operationType = this.$route.query.operationType;
      this.beforehandType = this.$route.query.beforehandType;
@@ -913,6 +920,9 @@
        this.handleAdd();
      } else if (this.operationType == "update") {
        this.title = this.businessName + "修改";
        if (this.Copy) {
          this.title = this.businessName + "复制";
        }
        console.log(this.title);
        this.handleUpdate();
      } else if (this.operationType == "detail") {
@@ -945,6 +955,7 @@
      getFund(this.curId).then(response => {
        this.form = response.data;
        sessionStorage.removeItem("apiform");
        sessionStorage.setItem("apiform", JSON.stringify(this.form));
@@ -952,6 +963,14 @@
        //明细处理
        getownFundDetail(this.curId).then(res => {
          this.rbDetails = res.data;
          if (this.Copy) {
            this.form.createTime = null;
            this.rbDetails.map(item => {
              item.amount = 0;
              item.taxedamount = 0;
            });
            console.log(this.rbDetails);
          }
          if (this.rbDetails.length > 0) {
            for (let m = 0; m < this.rbDetails.length; m++) {
@@ -1163,6 +1182,14 @@
              );
              return;
            }
            if (tempDetail.idcardno == null) {
              this.$modal.msgWarning(
                "服务项目表中,第" +
                  (k + 1).toString() +
                  "行的身份证未完善,请先填写身份证后再提交保存!"
              );
              return;
            }
            if (this.businessType == "1") {
              if (tempDetail.servicesscope == null) {
@@ -1268,6 +1295,12 @@
          } else {
            this.form.recordstatus = -1;
          }
          if (this.Copy) {
            this.form.id = null;
            this.rbDetails.map(item => {
              return (item.id = null);
            });
          }
          sessionStorage.setItem(
            "apifunddetail",
@@ -1277,17 +1310,25 @@
          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/performancedetails/",
                query: {
                  id: response.data,
                  businessType: "5",
                  operationType: "update"
                }
              });
              if (this.form.id) {
                this.$modal.msgSuccess("申请单修改成功!");
                this.$router.go(-1);
              } else {
                this.$modal.msgSuccess("申请单保存成功!");
                this.$store.dispatch("tagsView/delView", this.$route);
                this.$router.push({
                  path: "/finance/performancedetails/",
                  query: {
                    id: response.data,
                    businessType: "5",
                    operationType: "update"
                  }
                });
              }
              this.Routinglevel++;
              this.form.id = response.data;
              this.curId = response.data;
              this.handleUpdate();
            } else {
              this.$modal.msgError("申请单保存失败:" + response.msg);
            }
@@ -1761,11 +1802,14 @@
        this.listperformancea = this.cityOptions.map(item => {
          return { value: item.userName, label: item.userName };
        });
        console.log(this.cityOptions, "绩效批量");
      });
    },
    // 确认录入
    BatchentryFn() {
      console.log(this.rbDetails[0]);
      if (!this.rbDetails[0].applytype) {
        this.rbDetails = [];
      }
      this.checkedCities.forEach(item => {
        let rowData = {
          orderno: null,
@@ -1788,7 +1832,7 @@
          annexregistform: null,
          applytype: "9",
          applytypename: "管理成本",
          itemid: 68,
          itemid: this.Performanceclass,
          itemcode: "68",
          itemname: "绩效工资",
          itemtype: null,
@@ -1807,7 +1851,11 @@
          updateTime: null,
          uploadflag: null,
          uploadtime: null,
          itemlist: [{ id: 68, itemName: "绩效工资" }],
          itemlist: [
            { id: 68, itemName: "月度绩效" },
            { id: 69, itemName: "季度绩效" },
            { id: 70, itemName: "年度绩效" }
          ],
          servicesscope: null,
          rowfeeblocks: [],
          annexfiles: null
@@ -1815,11 +1863,12 @@
        this.rbDetails.push(rowData);
      });
      for (let i = 0; i < this.checkedCities.length + 1; i++) {
      for (let i = 0; i < this.rbDetails.length; i++) {
        this.rbDetails[i].orderno = i + 1;
      }
      this.calculateTax();
      this.batchdialogVisible = false;
      this.checkedCities = [];
      console.log(this.rowfeeItemTypes);
    },
    //新增一行
@@ -1961,17 +2010,17 @@
      this.cityOptions.map(res => {
        if (tempExpertName == res.userName) {
          singleDetail.beneficiaryno = res.userno;
          singleDetail.beneficiaryname = res.userName;
          singleDetail.bankcardno = res.bankCardNo;
          singleDetail.branchbankname = res.branchbankname;
          singleDetail.depositbank = res.depositBank;
          singleDetail.idcardno = res.bankCardNo;
          singleDetail.idcardno = res.idcardNo;
          singleDetail.phone = res.telephone;
          singleDetail.title = res.title;
          singleDetail.unitname = res.unitname;
          singleDetail.unitno = parseInt(res.unitno);
        }
      });
      singleDetail.beneficiaryname = tempExpertName;
      this.rbDetails[tempIndex] = singleDetail;
      this.showSelectionDialog = false;
    },