11
WXL
2023-11-07 44cb62ea744df9576d3591a96868364af2a2ffa0
11
已修改5个文件
316 ■■■■ 文件已修改
src/api/project/fund.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/fund/applyDetail/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/fundcheck/expertFeeCheck/index.vue 154 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/fundcheck/performanceCheck/index.vue 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/project/fund.js
@@ -47,6 +47,14 @@
    data: data
  })
}
// 计算费用申请主
export function TotalcalculationFn(data) {
  return request({
    url: '/project/fund/totaltax',
    method: 'post',
    data: data
  })
}
// 修改费用申请主
// export function updateFund(data) {
src/views/project/fund/applyDetail/index.vue
@@ -150,7 +150,7 @@
            <div
              style="margin-bottom: 15px;"
              v-if="
                userprofile.nickName == '陈慕华'
                userprofile.nickName == '陈慕华'&&(businessType=='1'||businessType=='2')
              "
            >
              <el-button
src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue
@@ -67,7 +67,7 @@
      <el-row>
        <el-col :span="5">
          <el-form-item
          label-width="120px"
            label-width="120px"
            label="申请材料状态"
            prop="checkstatus"
            style="float: left"
@@ -112,23 +112,49 @@
        </el-col>
      </el-row>
    </el-form>
    <el-row>
      <el-col :span="8">
        <div style="margin-bottom: 15px;">
          <el-button
            type="primary"
            plain
            icon="el-icon-circle-check"
            size="mini"
            @click="Totalcalculation(1)"
            >计税后合计</el-button
          >
          <el-button
            icon="el-icon-remove-outline"
            type="success"
            plain
            size="mini"
            @click="Totalcalculation(0)"
            >计税前合计</el-button
          >
        </div>
      </el-col>
    </el-row>
    <el-form ref="infoform" label-width="100px">
      <el-row>
        <el-table
          v-loading="loading"
          ref="multipleTable"
          tooltip-effect="dark"
          border
          :data="donateconsolationfundList"
          @selection-change="handleSelectionChange"
        >
          <!--
          <el-table-column label="审批状态" width="120" align="center" prop="checkFlag">
          <el-table-column type="selection" width="45"> </el-table-column>
          <el-table-column
            label="个税计算情况"
            align="center"
            prop="recordstatus"
            width="200"
          >
            <template slot-scope="scope">
              <span v-if="scope.row.checkFlag == 0"><i class="el-icon-check"
                  style="color: #5fb878; font-weight: bold"></i></span>
              <span v-else>待审核</span>
              <dict-tag :options="dict.type.sys_tax" :value="scope.row.istax" />
            </template>
          </el-table-column>
          -->
          <el-table-column
            label="申请日期"
            width="120"
@@ -708,7 +734,8 @@
  getdownloadBX,
  checkfund,
  listbypower,
  addFundSharedInfo
  addFundSharedInfo,
  TotalcalculationFn
} from "@/api/project/fund";
import {
  onelistFunds,
@@ -775,7 +802,8 @@
    "sys_fund_type",
    "sys_finsubject",
    "sys_financeitemtype",
    "sys_stage_type"
    "sys_stage_type",
    "sys_tax"
  ],
  data() {
    return {
@@ -817,6 +845,9 @@
      exportLoading: false,
      // 选中数组
      ids: [],
      overallids: [], //总选中
      overallidsvalue: [], //总选中对象
      // 非单个禁用
      single: true,
      // 非多个禁用
@@ -1267,9 +1298,86 @@
    },
    // 多选框选中数据
    handleSelectionChange(selection) {
      this.ids = selection.map(item => item.id);
      this.single = selection.length !== 1;
      this.multiple = !selection.length;
      let xuanzlist = selection.map(item => item.id);
      if (this.ids.length <= selection.length) {
        this.ids = xuanzlist;
      } else {
        this.ids.forEach(item => {
          if (xuanzlist.includes(item)) {
          } else {
            this.ids.splice(this.ids.indexOf(item), 1);
            this.overallids.splice(this.overallids.indexOf(item), 1);
            this.overallidsvalue.splice(this.overallidsvalue.indexOf(item), 1);
          }
        });
      }
      console.log(this.ids);
      this.ids.forEach(item => {
        if (this.overallids.includes(item)) {
          console.log("3 is in the array");
        } else {
          this.overallids.push(item);
          const obj = selection.find(obj => obj.id === item);
          console.log(obj);
          this.overallidsvalue.push(obj);
        }
      });
      console.log(this.overallids);
    },
    // 切换页后恢复选中
    Restorecheck() {
      console.log(this.donateconsolationfundList);
      console.log(this.overallids);
      const overlap = this.donateconsolationfundList.filter(value => {
        return this.overallids.includes(value.id);
      });
      // 保持ids和当前页面的同步性
      this.ids = overlap.map(item => item.id);
      console.log(overlap, "当前页选中数据");
      this.toggleSelection(overlap);
    },
    // 挂载选择状态
    toggleSelection(rows) {
      console.log(rows);
      if (rows) {
        this.$nextTick(() => {
          rows.forEach(row => {
            console.log(row);
            this.$refs.multipleTable.toggleRowSelection(row, true);
            console.log(1);
          });
        });
      } else {
        this.$refs.multipleTable.clearSelection();
      }
    },
    Totalcalculation(tot) {
      console.log(tot);
      let bojite={
        fundids:this.overallids,
        isTaxAfter:tot,
      }
      if (tot == 0) {
        TotalcalculationFn(bojite).then(row => {
          console.log(row.msg);
          if (row.code=200) {
            this.$modal.msgSuccess(row.msg);
          }else{
          this.$modal.msgError(row.msg);
          }
        });
      } else {
        console.log(this.overallidsvalue);
        const hasValue = this.overallidsvalue.every(obj => obj.istax == 1);
        if (hasValue) {
          TotalcalculationFn(bojite).then(row => {
            console.log(row.msg);
          });
        } else {
          this.$modal.msgError("请选择算税后的数据进行合并计算");
        }
      }
    },
    /** 新增按钮操作 */
    handleAdd() {
src/views/project/fundcheck/expertFeeCheck/index.vue
@@ -47,7 +47,7 @@
          </el-form-item>
        </el-col>
        <el-col :span="5">
          <el-form-item  label="审批状态" prop="CHECKFLAG" style="float: left">
          <el-form-item label="审批状态" prop="CHECKFLAG" style="float: left">
            <el-select
              v-model="queryParams.CHECKFLAG"
              placeholder="请选择"
@@ -70,7 +70,12 @@
      </el-row>
      <el-row>
        <el-col :span="5">
          <el-form-item label-width="120px" label="申请材料状态" prop="checkstatus" style="float: left">
          <el-form-item
            label-width="120px"
            label="申请材料状态"
            prop="checkstatus"
            style="float: left"
          >
            <el-select
              v-model="queryParams.checkstatus"
              placeholder="请选择"
@@ -113,10 +118,33 @@
        </el-col>
      </el-row>
    </el-form>
    <el-row>
      <el-col :span="8">
        <div style="margin-bottom: 15px;">
          <el-button
            type="primary"
            plain
            icon="el-icon-circle-check"
            size="mini"
            @click="Totalcalculation(1)"
            >计税后合计</el-button
          >
          <el-button
            icon="el-icon-remove-outline"
            type="success"
            plain
            size="mini"
            @click="Totalcalculation(0)"
            >计税前合计</el-button
          >
        </div>
      </el-col>
    </el-row>
    <el-form ref="infoform" label-width="100px">
      <el-row>
        <el-table
          v-loading="loading"
          ref="multipleTable"
          tooltip-effect="dark"
          border
          :data="donateconsolationfundList"
          @selection-change="handleSelectionChange"
@@ -130,6 +158,17 @@
            </template>
          </el-table-column>
          -->
          <el-table-column type="selection" width="45"> </el-table-column>
          <el-table-column
            label="个税计算情况"
            align="center"
            prop="recordstatus"
            width="200"
          >
            <template slot-scope="scope">
              <dict-tag :options="dict.type.sys_tax" :value="scope.row.istax" />
            </template>
          </el-table-column>
          <el-table-column
            label="申请日期"
            width="120"
@@ -733,7 +772,8 @@
  getdownloadBX,
  checkfund,
  listbypower,
  addFundSharedInfo
  addFundSharedInfo,
  TotalcalculationFn
} from "@/api/project/fund";
import {
  onelistFunds,
@@ -799,7 +839,8 @@
    "sys_fund_type",
    "sys_finsubject",
    "sys_financeitemtype",
    "sys_stage_type"
    "sys_stage_type",
    "sys_tax"
  ],
  data() {
    return {
@@ -840,10 +881,8 @@
      exportLoading: false,
      // 选中数组
      ids: [],
      // 非单个禁用
      single: true,
      // 非多个禁用
      multiple: true,
      overallids: [], //总选中
      overallidsvalue: [], //总选中对象
      // 显示搜索条件
      showSearch: true,
      // 总条数
@@ -1023,6 +1062,7 @@
        let arr = [];
        this.total = res.total;
        this.donateconsolationfundList = list;
        this.Restorecheck();
      });
    },
    dundcheck() {
@@ -1205,23 +1245,6 @@
        this.donateconsolationfundList = response.rows;
      });
    },
    /** 查询捐献人道慰问金列表 */
    // getList() {
    //   this.loading = true;
    //   this.queryParams.params = {};
    //   if (null != this.daterangeReporttime && "" != this.daterangeReporttime) {
    //     this.queryParams.params["beginReporttime"] =
    //       this.daterangeReporttime[0];
    //     this.queryParams.params["endReporttime"] = this.daterangeReporttime[1];
    //   }
    //   // this.queryParams.residencetown = this.$refs.areaSelect.getQu();
    //   listFund(this.queryParams).then((response) => {
    //     this.donatebaseinfoList = response.rows;
    //     this.total = response.total;
    //     this.loading = false;
    //   });
    // },
    // 取消按钮
    cancel() {
      this.dialogOpen = false;
@@ -1286,9 +1309,82 @@
    },
    // 多选框选中数据
    handleSelectionChange(selection) {
      this.ids = selection.map(item => item.id);
      this.single = selection.length !== 1;
      this.multiple = !selection.length;
      let xuanzlist = selection.map(item => item.id);
      if (this.ids.length <= selection.length) {
        this.ids = xuanzlist;
      } else {
        this.ids.forEach(item => {
          if (xuanzlist.includes(item)) {
          } else {
            this.ids.splice(this.ids.indexOf(item), 1);
            this.overallids.splice(this.overallids.indexOf(item), 1);
            this.overallidsvalue.splice(this.overallidsvalue.indexOf(item), 1);
          }
        });
      }
      console.log(this.ids);
      this.ids.forEach(item => {
        if (this.overallids.includes(item)) {
          console.log("3 is in the array");
        } else {
          this.overallids.push(item);
          const obj = selection.find(obj => obj.id === item);
          this.overallidsvalue.push(obj);
        }
      });
      console.log(this.overallids);
    },
    // 切换页后恢复选中
    Restorecheck() {
      console.log(this.donateconsolationfundList);
      console.log(this.overallids);
      const overlap = this.donateconsolationfundList.filter(value => {
        return this.overallids.includes(value.id);
      });
      // 保持ids和当前页面的同步性
      this.ids = overlap.map(item => item.id);
      console.log(overlap, "当前页选中数据");
      this.toggleSelection(overlap);
    },
    // 挂载选择状态
    toggleSelection(rows) {
      console.log(rows);
      if (rows) {
        this.$nextTick(() => {
          rows.forEach(row => {
            console.log(row);
            this.$refs.multipleTable.toggleRowSelection(row, true);
            console.log(1);
          });
        });
      } else {
        this.$refs.multipleTable.clearSelection();
      }
    },
    Totalcalculation(tot) {
      console.log(tot);
      let bojite={
        fundids:this.overallids,
        isTaxAfter:tot,
      }
      if (tot == 0) {
        TotalcalculationFn(bojite).then(row => {
          if (row.code=200) {
            this.$modal.msgSuccess(row.msg);
          }else{
          this.$modal.msgError(row.msg);
          }
        });
      } else {
        const hasValue = this.overallidsvalue.every(obj => obj.istax == 1);
        if (hasValue) {
          TotalcalculationFn(bojite).then(row => {
            console.log(row.msg);
          });
        } else {
          this.$modal.msgError("请选择算税后的数据进行合并计算");
        }
      }
    },
    /** 新增按钮操作 */
    handleAdd() {
src/views/project/fundcheck/performanceCheck/index.vue
@@ -64,12 +64,11 @@
            </el-select>
          </el-form-item>
        </el-col>
      </el-row>
      <el-row>
        <el-col :span="5">
          <el-form-item
          label-width="120px"
            label-width="120px"
            label="申请材料状态"
            prop="checkstatus"
            style="float: left"
@@ -113,6 +112,17 @@
          :data="donateconsolationfundList"
          @selection-change="handleSelectionChange"
        >
          <el-table-column type="selection" width="45"> </el-table-column>
          <el-table-column
            label="个税计算情况"
            align="center"
            prop="recordstatus"
            width="200"
          >
            <template slot-scope="scope">
              <dict-tag :options="dict.type.sys_tax" :value="scope.row.istax" />
            </template>
          </el-table-column>
          <el-table-column
            label="申请日期"
            width="180"
@@ -311,7 +321,9 @@
    "sys_finsubject",
    "sys_financeitemtype",
    "sys_consolationfundlevel",
    "sys_stage_type"
    "sys_stage_type",
    "sys_performance_type",
    "sys_tax"
  ],
  data() {
    return {
@@ -387,7 +399,7 @@
        }
      ],
      checkmaterials: [
      {
        {
          value: 1,
          label: "材料待审核"
        },