11
WXL
2024-08-14 0ac2d43fce4d74f6eea5a51a2e16af4e6a536c7c
src/views/project/tallage/computingBill/index.vue
@@ -8,8 +8,8 @@
            <el-form-item label="申请日期" prop="createTime">
              <el-date-picker
                v-model="form.createTime"
                value-format="yyyy-MM-dd HH:mm:ss"
                type="datetime"
                value-format="yyyy-MM-dd "
                type="date"
                :disabled="true"
                placeholder="选择出生年月"
              >
@@ -115,6 +115,14 @@
            show-summary
          >
            <el-table-column
              prop="index"
              align="center"
              fixed
              label="序号"
              width="120"
            >
            </el-table-column>
            <el-table-column
              prop="donorname"
              align="center"
              fixed
@@ -172,8 +180,8 @@
                  v-model="scope.row.applyTime"
                  :disabled="true"
                  type="date"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="申请日期"
                  value-format="yyyy-MM-dd"
                >
                </el-date-picker>
              </template>
@@ -268,6 +276,24 @@
        :before-close="handleClosehz"
      >
        <div class="examine-jic">
          <div style="margin: 0 10px 20px 10px;">
            <el-card class="box-card">
              <el-tag
                v-for="item in overallCase"
                :key="item.id"
                closable
                @close="handleClose(item)"
              >
                {{ item.donorname }}
              </el-tag>
              <div style="margin-top: 20px; text-align: right;">
                共选择<span
                  style="font-size: 18px; color: #409EFF;margin: 0 10px;"
                  >{{ overallCase.length }}</span
                >条数据
              </div>
            </el-card>
          </div>
          <div class="jic-value">
            <el-row :gutter="20">
              <!--用户数据-->
@@ -280,19 +306,43 @@
              >
                <el-form-item label="捐献案例" prop="status">
                  <el-select
                    v-model="patientqueryParams.donorno"
                    v-model="patientqueryParams.donorname"
                    filterable
                    allow-create
                    default-first-option
                    placeholder="请选择"
                  >
                    <el-option
                      v-for="item in donorchargeanlList"
                      :key="item.id"
                      :label="item.name"
                      :value="item.id"
                      :value="item.name"
                    >
                    </el-option>
                  </el-select>
                </el-form-item>
                <el-form-item label="申请人" prop="name">
                  <el-input
                    v-model="patientqueryParams.pausername"
                    placeholder="请输入申请人姓名"
                    @keyup.enter.native="handleAddpatient"
                  />
                </el-form-item>
                <!-- <el-form-item label="算税状态" prop="status">
                  <el-select
                    v-model="patientqueryParams.istax"
                    filterable
                    placeholder="请选择"
                  >
                    <el-option
                      v-for="item in istaxlist"
                      :key="item.value"
                      :label="item.label"
                      :value="item.value"
                    >
                    </el-option>
                  </el-select>
                </el-form-item> -->
                <el-form-item>
                  <el-button
@@ -347,7 +397,7 @@
                </el-table-column>
                <el-table-column
                  prop="taXmoney"
                  label="扣税金额(缺)"
                  label="扣税金额"
                  show-overflow-tooltip
                >
                </el-table-column>
@@ -536,23 +586,27 @@
    Li_area_select,
    pdf
  },
  dicts: ["sys_gathering", "sys_0_1"],
  dicts: ["Collection_status", "sys_0_1"],
  name: "Donorchargemanager",
  data() {
    return {
      swgatheringlist: [
        { label: "未算税", value: 0 },
        { label: "已算税", value: 1 }
        { label: "已算税", value: 1 },
        { label: "未算税", value: 0 }
      ],
      gatheringlist: [
        { label: "未付款", value: "0" },
        { label: "已付款", value: "1" }
      ],
      // 当前页选中数据
      multipleSelection: [],
      // 总选中数据
      overallCase: [],
      patientqueryParams: {
        paApplyType: 1,
        pacheckno: "047",
        checkstatus: 0,
        // pacheckno: "047",
        // checkstatus: 0,
        pfundtaxid: 0,
        pageNum: 1,
        pageSize: 10
      },
@@ -614,11 +668,13 @@
      organParams: {
        pageNum: 1,
        pageSize: 10,
        paymentid: null
        paymentid: null,
        istax: 0
      },
      // 当前用户信息
      userprofile: {},
      decision: false,
      // 表单参数
      form: {
        istax: 0,
@@ -655,6 +711,10 @@
      baselist: [],
      donorList: [],
      istaxlist: [
        { value: 0, label: "未算税" },
        { value: 2, label: "待算税" }
      ],
      organchargelist: [],
      standardlevel: 0,
      defaultperson: {},
@@ -733,20 +793,24 @@
    },
    handleQuery() {},
    resetQuery() {
      this.patientqueryParams.donorno = null;
      this.patientqueryParams.donorchargeid = null;
      this.patientqueryParams.pausername = null;
      this.patientqueryParams.donorname = null;
      this.handleAddpatient();
    },
    handleUploadError() {},
    // 弹框添加
    AddDispatchpatients() {
      this.donorchargeorgans = this.donorchargeorgans.concat(
        this.multipleSelection
      );
      console.log(this.donorchargeorgans, "donorchargeorgans");
      this.donorchargeorgans.forEach(item => {
        CalculationDetail({ id: item.id, fundTaxId: this.form.id });
      let newArr = this.donorchargeorgans.concat(this.overallCase);
      this.donorchargeorgans = newArr.filter((item, index, self) => {
        return !self.slice(index + 1).some(other => other.id === item.id);
      });
      console.log(this.donorchargeorgans, "donorchargeorgans");
      if (this.form.id) {
        this.donorchargeorgans.forEach(item => {
          CalculationDetail({ id: item.id, fundTaxId: this.form.id });
        });
      }
      this.donorchargeorgans.forEach(item => {
        item.taXmoney = item.pretaxcost - item.taxedcost;
        item.taXmoney = item.taXmoney.toFixed(2);
@@ -797,22 +861,87 @@
    },
    // 金额合计
    accumulation() {
      this.form.pretaxamount = this.donorchargeorgans.reduce(
        (acc, obj) => acc + Number(obj.pretaxcost),
        0
      );
      this.form.taxMoney = this.donorchargeorgans.reduce(
        (acc, obj) => acc + Number(obj.taXmoney),
        0
      );
      this.form.taxedamount = this.donorchargeorgans.reduce(
        (acc, obj) => acc + Number(obj.taxedcost),
        0
      );
      this.form.pretaxamount = this.donorchargeorgans
        .reduce((acc, obj) => acc + Number(obj.pretaxcost), 0)
        .toFixed(2);
      this.form.taxMoney = this.donorchargeorgans
        .reduce((acc, obj) => acc + Number(obj.taXmoney), 0)
        .toFixed(2);
      this.form.taxedamount = this.donorchargeorgans
        .reduce((acc, obj) => acc + Number(obj.taxedcost), 0)
        .toFixed(2);
    },
    // 多选框选中数据
    handleSelectionChange(val) {
      this.multipleSelection = val;
    handleSelectionChange(selection) {
      if (this.decision) return;
      // 判断是否有删除
      if (this.multipleSelection.length <= selection.length) {
        this.multipleSelection = selection;
      } else {
        this.multipleSelection.forEach(item => {
          if (selection.includes(item)) {
          } else {
            if (this.multipleSelection.length == 1) {
              this.multipleSelection = [];
            } else {
              this.multipleSelection.splice(
                this.multipleSelection.indexOf(item),
                1
              );
            }
            if (this.overallCase.length == 1) {
              this.overallCase = [];
            } else {
              this.overallCase.splice(this.overallCase.indexOf(item), 1);
            }
          }
        });
      }
      // 赋值给整体选中数组
      this.multipleSelection.forEach(item => {
        if (!this.overallCase.includes(item)) {
          this.overallCase.push(item);
        }
      });
      console.log(this.multipleSelection, "触发选择后multipleSelection");
    },
    // 切换页后恢复选中
    Restorecheck() {
      console.log(this.overallCase, "this.overallCase");
      const allid = this.overallCase.map(item => item.id);
      const overlap = this.donorchargeList.filter(value => {
        return allid.includes(value.id);
      });
      // 保持ids和当前页面的同步性
      this.multipleSelection = overlap;
      console.log(this.multipleSelection, "进入分页multipleSelection");
      this.toggleSelection(overlap);
    },
    // 挂载选择状态
    toggleSelection(rows) {
      if (rows) {
        this.decision = true;
        this.$nextTick(() => {
          rows.forEach(row => {
            this.$refs.multipleTable.toggleRowSelection(row, true);
          });
          this.decision = false;
        });
        console.log(123);
      } else {
        this.$refs.multipleTable.clearSelection();
      }
    },
    // 选择人员标签删除事件
    handleClose(item) {
      this.overallCase.splice(this.overallCase.indexOf(item), 1);
      if (this.multipleSelection.indexOf(item) == -1) {
      } else {
        this.multipleSelection.splice(this.multipleSelection.indexOf(item), 1);
        this.$refs.multipleTable.toggleRowSelection(item, false);
        // this.toggleSelection(this.multipleSelection);
      }
    },
    // 点击新增
    handleAddpatient(row) {
@@ -821,7 +950,7 @@
      ExpertfeeListnb(this.patientqueryParams).then(res => {
        this.donorchargeList = res.rows;
        this.patienttotal = res.total;
        console.log(this.donorchargeList);
        this.Restorecheck();
      });
    },
    // 获取最大taxid
@@ -856,11 +985,11 @@
      });
    },
    /** 重置按钮操作 */
    resetQuery() {
      this.resetForm("queryForm");
      this.handleQuery();
    },
    // /** 重置按钮操作 */
    // resetQuery() {
    //   this.resetForm("queryForm");
    //   this.handleQuery();
    // },
    // 取消按钮
    cancel() {
@@ -873,7 +1002,7 @@
      this.title = "新增专家费汇总单";
      //获取登录者信息
      getUserProfile().then(res => {
        this.form.username = res.createBy;
        this.form.username = res.data.createBy;
      });
    },
@@ -884,9 +1013,10 @@
        this.form = response.data;
        if (this.form.serviceFunds[0]) {
          this.donorchargeorgans = this.form.serviceFunds;
          this.donorchargeorgans.forEach(item => {
          this.donorchargeorgans.forEach((item, index) => {
            item.taXmoney = item.pretaxcost - item.taxedcost;
            item.taXmoney = item.taXmoney.toFixed(2);
            item.index = index + 1;
            this.accumulation();
          });
        }
@@ -900,9 +1030,10 @@
        this.form = response.data;
        if (this.form.serviceFunds[0]) {
          this.donorchargeorgans = this.form.serviceFunds;
          this.donorchargeorgans.forEach(item => {
          this.donorchargeorgans.forEach((item, index) => {
            item.taXmoney = item.pretaxcost - item.taxedcost;
            item.taXmoney = item.taXmoney.toFixed(2);
            item.index = index + 1;
            this.accumulation();
          });
        }
@@ -928,9 +1059,10 @@
                  this.form = response.data;
                  if (this.form.serviceFunds[0]) {
                    this.donorchargeorgans = this.form.serviceFunds;
                    this.donorchargeorgans.forEach(item => {
                    this.donorchargeorgans.forEach((item, index) => {
                      item.taXmoney = item.pretaxcost - item.taxedcost;
                      item.taXmoney = item.taXmoney.toFixed(2);
                      item.index = index + 1;
                      this.accumulation();
                    });
                  }
@@ -949,9 +1081,11 @@
                  this.form = res.data;
                  if (this.form.serviceFunds[0]) {
                    this.donorchargeorgans = this.form.serviceFunds;
                    this.donorchargeorgans.forEach(item => {
                    this.donorchargeorgans.forEach((item, index) => {
                      item.taXmoney = item.pretaxcost - item.taxedcost;
                      item.taXmoney = item.taXmoney.toFixed(2);
                      item.index = index + 1;
                      this.accumulation();
                    });
                  }
@@ -1377,6 +1511,13 @@
  color: #000000;
  cursor: not-allowed;
}
::v-deep .el-tag--medium {
  height: 28px;
  line-height: 26px;
  margin-right: 15px;
  margin-bottom: 15px;
  font-size: 16px;
}
::v-deep .el-input--medium .el-input__inner {
  height: 36px;