11
WXL
2023-11-07 44cb62ea744df9576d3591a96868364af2a2ffa0
src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue
@@ -7,7 +7,7 @@
      v-show="showSearch"
      label-width="120px"
    >
      <el-row align="left">
      <el-row>
        <el-col :span="8">
          <el-form-item label="申请日期" prop="createTime">
            <el-date-picker
@@ -19,20 +19,9 @@
              range-separator="至"
              start-placeholder="申请开始日期"
              end-placeholder="申请结束日期"
              @keyup.enter.native="handleQuery"
              @keyup.enter.native="flowconclusion"
            >
            </el-date-picker>
          </el-form-item>
        </el-col>
        <el-col :span="5">
          <el-form-item label="申请人" prop="APPLICANT" style="float: left">
            <el-input
              v-model="queryParams.APPLICANT"
              placeholder="请输入申请人姓名"
              clearable
              size="small"
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
        </el-col>
        <el-col :span="5">
@@ -42,7 +31,18 @@
              placeholder="请输入申请人金额"
              clearable
              size="small"
              @keyup.enter.native="handleQuery"
              @keyup.enter.native="flowconclusion"
            />
          </el-form-item>
        </el-col>
        <el-col :span="5">
          <el-form-item label="经办人" prop="APPLICANT" style="float: left">
            <el-input
              v-model="queryParams.APPLICANT"
              placeholder="请输入申请人姓名"
              clearable
              size="small"
              @keyup.enter.native="flowconclusion"
            />
          </el-form-item>
        </el-col>
@@ -65,39 +65,96 @@
        </el-col>
      </el-row>
      <el-row>
        <el-col :span="3">
          <div style="margin-bottom: 15px;">
            <el-button
              type="primary"
              icon="el-icon-search"
              size="mini"
              @click="handleQuery"
              >搜索</el-button
        <el-col :span="5">
          <el-form-item
            label-width="120px"
            label="申请材料状态"
            prop="checkstatus"
            style="float: left"
          >
            <el-select
              v-model="queryParams.checkstatus"
              placeholder="请选择"
              style="width: 100%"
            >
            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
              >重置</el-button
            >
          </div>
              <el-option
                v-for="item in checkmaterials"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              >
              </el-option>
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="5">
          <el-form-item label="捐献者" prop="donorname" style="float: left">
            <el-input
              v-model="queryParams.donorname"
              placeholder="请输入申请人捐献者"
              clearable
              size="small"
              @keyup.enter.native="flowconclusion"
            />
          </el-form-item>
        </el-col>
        <el-col :span="6">
          <el-button
            type="primary"
            icon="el-icon-search"
            size="mini"
            @click="flowconclusion"
            >搜索</el-button
          >
          <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
            >重置</el-button
          >
        </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"
@@ -132,11 +189,6 @@
            prop="managername"
            width="150px"
          />
          <!-- <el-table-column label="工作单位" align="center"  prop="unitname" width="230px" /> -->
          <!-- <el-table-column label="联系电话" align="center"  prop="phone"  width="160"  /> -->
          <!-- <el-table-column label="税后金额" align="center" prop="taxedcost" width="120px" />
          <el-table-column label="申请金额" align="center" prop="amountrequested" width="120px" />
          <el-table-column label="预支费用" align="center" prop="prepaidamount" width="120px" /> -->
          <el-table-column
            label="审核状态"
            align="center"
@@ -147,6 +199,19 @@
              <dict-tag
                :options="dict.type.sys_recordstatus"
                :value="scope.row.recordstatus"
              />
            </template>
          </el-table-column>
          <el-table-column
            label="申请材料状态"
            width="140"
            align="center"
            prop="checkFlag"
          >
            <template slot-scope="scope">
              <dict-tag
                :options="dict.type.sys_stage_type"
                :value="scope.row.checkstatus"
              />
            </template>
          </el-table-column>
@@ -168,14 +233,6 @@
          >
            <template slot-scope="scope">
              <el-button
                v-if="scope.row.checkFlag == 1"
                size="mini"
                type="text"
                icon="el-icon-edit"
                @click="handleCheck(scope.row)"
                >审核</el-button
              >
              <el-button
                size="mini"
                type="text"
                icon="el-icon-edit"
@@ -183,15 +240,49 @@
                @click="handleDetail(scope.row)"
                >详情</el-button
              >
              <el-button
                v-if="scope.row.checkFlag == 1"
                size="mini"
                type="text"
                icon="el-icon-edit"
                @click="handleCheck(scope.row)"
                >审核</el-button
              >
              <!-- v-hasPermi="['project:donateconsolationfund:edit']" -->
              <el-button
                size="mini"
                type="text"
                icon="el-icon-download"
                @click="totaldayin(scope.row.id)"
                v-hasPermi="['project:donateconsolationfund:download']"
                @click="dayin(scope.row.id)"
                >下载</el-button
              >
              <!-- <el-popover placement="right" width="400" trigger="click">
                <el-table :data="gridData">
                  <el-table-column
                    width="150"
                    property="date"
                    label="日期"
                  ></el-table-column>
                  <el-table-column
                    width="100"
                    property="name"
                    label="审批人"
                  ></el-table-column>
                  <el-table-column
                    width="300"
                    property="address"
                    label="审批结果"
                  ></el-table-column>
                </el-table>
                <el-button
                  size="mini"
                  type="text"
                  icon="el-icon-s-order"
                  slot="reference"
                  >审批记录</el-button
                >
              </el-popover> -->
            </template>
          </el-table-column>
        </el-table>
@@ -643,7 +734,8 @@
  getdownloadBX,
  checkfund,
  listbypower,
  addFundSharedInfo
  addFundSharedInfo,
  TotalcalculationFn
} from "@/api/project/fund";
import {
  onelistFunds,
@@ -690,6 +782,8 @@
import Li_area_select from "@/components/Address";
import OrgSelecter from "@/views/project/components/orgselect";
import { getUserProfile } from "@/api/system/user";
// 导入本地存储的方法
import { setItem, grtItem, removeItem } from "@/utils/storage.js";
export default {
  components: {
@@ -707,7 +801,9 @@
    "sys_ConsolationType",
    "sys_fund_type",
    "sys_finsubject",
    "sys_financeitemtype"
    "sys_financeitemtype",
    "sys_stage_type",
    "sys_tax"
  ],
  data() {
    return {
@@ -749,6 +845,9 @@
      exportLoading: false,
      // 选中数组
      ids: [],
      overallids: [], //总选中
      overallidsvalue: [], //总选中对象
      // 非单个禁用
      single: true,
      // 非多个禁用
@@ -764,6 +863,28 @@
      //捐献案例列表数据
      // donationCaseTableData:[],
      donatebaseinfoList: [],
      gridData: [
        {
          date: "2016-05-02",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1518 弄"
        },
        {
          date: "2016-05-04",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1518 弄"
        },
        {
          date: "2016-05-01",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1518 弄"
        },
        {
          date: "2016-05-03",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1518 弄"
        }
      ],
      // 是否显示弹出层
      open: false,
@@ -781,6 +902,21 @@
          label: "全部"
        }
      ],
      checkmaterials: [
        {
          value: 1,
          label: "材料待审核"
        },
        {
          value: 2,
          label: "审查通过等待邮寄纸质材料"
        },
        {
          value: 3,
          label: "已收到纸质材料"
        }
      ],
      // 查询参数
      queryParams: {
        pageNum: 1,
@@ -869,6 +1005,11 @@
    this.getUsermsg();
  },
  mounted() {
    if (grtItem("ethicalExpertFeeCheck")) {
      this.queryParams = grtItem("ethicalExpertFeeCheck");
      this.queryParams.APPLICATIONBEGTIME = "";
      this.queryParams.APPLICATIONENDTIME = "";
    }
    this.selectReporters();
    this.getlistOrganization();
    //this.getlistUser();
@@ -885,6 +1026,8 @@
    getlistbypower() {
      this.loading = true;
      listbypower(this.queryParams).then(res => {
        removeItem("ethicalExpertFeeCheck");
        setItem("ethicalExpertFeeCheck", this.queryParams);
        //console.log("根据权限显示列表", res);
        this.loading = false;
        let list = res.rows;
@@ -979,7 +1122,6 @@
    isopenvalue(index) {
      this.isopen = index;
    },
    tojust(e) {
      let username = "111";
      getFund(e).then(res => {
@@ -1156,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() {
@@ -1185,7 +1404,8 @@
        });
      }
    },
    /** 修改按钮操作 */
    /** 审核按钮操作 */
    handleCheck(row) {
      this.$router.push({
        path: "/finance/applyDetail/",