su
su1124
2024-03-08 b989da3c3a99fef9068c20ac55467d7ce25523af
src/views/hosp/about/index.vue
@@ -1,49 +1,154 @@
<template>
  <div class="app-container">
    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
      <el-form-item label="交款员" prop="tollCollectorName">
        <el-select v-model="queryParams.tollCollectorName" filterable style="width: 200px" placeholder="请选择交款员" clearable @clear="getCompanyList" @change="idFn">
          <el-option v-for="dict in CompanyList" :key="dict.userId" :label="dict.nickName" :value="dict.userId"/>
        </el-select>
      </el-form-item>
      <el-form-item label="交账时间" prop="tollCollectorName">
        <el-date-picker v-model="value1" type="datetimerange" :picker-options="pickerOptions" value-format="yyyy-MM-dd HH:mm:ss" start-placeholder="起止日期" end-placeholder="终止日期" :default-time="['12:00:00']">
        </el-date-picker>
      </el-form-item>
      <el-form-item>
        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery" >搜索</el-button>
      </el-form-item>
    <el-form
      :model="queryParams"
      ref="queryForm"
      size="small"
      :inline="true"
      v-show="showSearch"
      label-width="110px"
    >
      <el-row>
        <el-col :span="6">
          <el-form-item
            label="交款员"
            prop="tollCollectorName"
            style="display: flex"
          >
            <el-select
              v-model="queryParams.tollCollectorName"
              filterable
              placeholder="请选择交款员"
              clearable
              @clear="getCompanyList"
              @change="idFn"
            >
              <el-option
                v-for="dict in CompanyList"
                :key="dict.userId"
                :label="dict.nickName"
                :value="dict.userId"
              />
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="14">
          <el-form-item
            label="交账时间"
            prop="tollCollectorName"
            style="display: flex"
          >
            <el-date-picker
              v-model="value1"
              type="datetimerange"
              :picker-options="pickerOptions"
              :default-time="['00:00:00', '23:59:00']"
              format="yyyy-MM-dd HH:mm"
              value-format="yyyy-MM-dd HH:mm"
              start-placeholder="起止日期"
              end-placeholder="终止日期"
            >
            </el-date-picker>
          </el-form-item>
        </el-col>
        <el-col :span="3">
          <el-form-item>
            <el-button
              type="primary"
              icon="el-icon-search"
              size="mini"
              @click="handleQuery"
              >搜索</el-button
            >
          </el-form-item>
        </el-col>
      </el-row>
    </el-form>
    <el-row :gutter="10" class="mb8">
      <el-col :span="1.5">
        <el-button icon="el-icon-edit" size="mini" @click="handleDelete" v-hasPermi="['hosp:water:edit']">撤销</el-button>
        <el-button icon="el-icon-edit" size="mini" @click="handleDelete"
          >撤销</el-button
        >
      </el-col>
      <el-col :span="1.5">
        <el-button icon="el-icon-edit" size="mini" @click="handledocument"
          >补打单据</el-button
        >
      </el-col>
    </el-row>
    <el-table :row-class-name="tableRowClassName" style="width: 80%" :data="tableData" @selection-change="handleSelect" ref="multipleTable" border>
    <el-table
      :row-class-name="tableRowClassName"
      style="width: 80%"
      :data="tableData"
      @selection-change="handleSelect"
      ref="multipleTable"
      border
    >
      <el-table-column type="selection" width="55"> </el-table-column>
      <el-table-column label="交款员" align="center" prop="tollCollector" :show-overflow-tooltip="true"/>
      <el-table-column label="收费金额" align="center" prop="amountReceived" :show-overflow-tooltip="true"/>
      <el-table-column label="退费金额" align="center" prop="refundAmount" :show-overflow-tooltip="true"/>
      <el-table-column label="应交款" align="center" prop="payable" :show-overflow-tooltip="true"/>
      <el-table-column label="交账时间" align="center" prop="createTime" :show-overflow-tooltip="true"/>
      <el-table-column label="起止日期" align="center" prop="accountBeginTime" :show-overflow-tooltip="true"/>
      <el-table-column label="终止日期" align="center" prop="accountEndTime" :show-overflow-tooltip="true"/>
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
        <template slot-scope="scope">
          <el-button size="mini" type="text" icon="el-icon-s-order" title="详情" @click="handleUpdate(scope.row)" v-hasPermi="['hosp:water:edit']"></el-button>
        </template>
      </el-table-column>
      <el-table-column
        label="交款员"
        align="center"
        prop="tollCollector"
        :show-overflow-tooltip="true"
      />
      <el-table-column
        label="收费金额"
        align="center"
        prop="amountReceived"
        :show-overflow-tooltip="true"
      />
      <el-table-column
        label="退费金额"
        align="center"
        prop="refundAmount"
        :show-overflow-tooltip="true"
      />
      <el-table-column
        label="应交款"
        align="center"
        prop="payable"
        :show-overflow-tooltip="true"
      />
      <el-table-column
        label="交账时间"
        align="center"
        prop="createTime"
        :show-overflow-tooltip="true"
      />
      <el-table-column
        label="起止时间"
        align="center"
        prop="accountBeginTime"
        :show-overflow-tooltip="true"
      />
      <el-table-column
        label="截止时间"
        align="center"
        prop="accountEndTime"
        :show-overflow-tooltip="true"
      />
    </el-table>
    <div class="pag">
      <div class="pag1">
        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList"/>
        <pagination
          v-show="total > 0"
          :total="total"
          :page.sync="queryParams.pageNum"
          :limit.sync="queryParams.pageSize"
          @pagination="getList"
        />
      </div>
    </div>
    <el-table :data="allList" style="margin-top: 60px; width: 80%" show-summary border>
    <el-table
      :data="allList"
      style="margin-top: 60px; width: 80%"
      show-summary
      border
    >
      <el-table-column label="付款方式" align="center" prop="payType" />
      <el-table-column label="收费金额" align="center" prop="amountReceived">
      </el-table-column>
@@ -54,7 +159,13 @@
</template>
  
<script>
import { getcolllist, getdatalist, delById } from "@/api/hosp/water";
import { getNewDateList } from "@/api/hosp/order";
import {
  getcolllist,
  getdatalist,
  delById,
  getNewDate,
} from "@/api/hosp/water";
import { getInfo } from "@/api/login";
import moment from "moment";
@@ -65,7 +176,7 @@
      pickerOptions: {
        shortcuts: [
          {
            text: "最近一周",
            text: "近一周",
            onClick(picker) {
              const end = new Date();
              const start = new Date();
@@ -74,7 +185,7 @@
            },
          },
          {
            text: "最近一个月",
            text: "近一月",
            onClick(picker) {
              const end = new Date();
              const start = new Date();
@@ -83,7 +194,7 @@
            },
          },
          {
            text: "最近三个月",
            text: "近三月",
            onClick(picker) {
              const end = new Date();
              const start = new Date();
@@ -118,6 +229,7 @@
      showSearch: true,
      // 总条数
      total: 0,
      item: "",
      userId: "",
      // 弹出层标题
      title: "",
@@ -145,7 +257,6 @@
  created() {
    this.getList();
    this.getCompanyList();
  },
  methods: {
    /** 查询体检流水列表 */
@@ -154,42 +265,57 @@
        this.userId = response.user.userId;
        this.queryParams.tollCollectorName = response.user.nickName;
      });
      let data = {
        tollCollectorId: this.tollCollectorId,
        accountBeginTime: this.value1[0],
        accountEndTime: new Date(new Date().getTime() + 8 * 3600 * 1000)
          .toJSON()
          .substr(0, 19)
          .replace("T", " "),
        pageNum: this.queryParams.pageNum,
        pageSize: this.queryParams.pageSize,
      };
      getcolllist(data).then((res) => {
        this.tableData = res.data.list;
        if(this.tableData.length === 0){
          this.$message({
          message: '请搜索要撤销数据的时间段哦~',
          type: 'warning'
        });
        }
        if (res.code === 200) {
          if (this.tableData.length != 0) {
            this.$nextTick(() => {
              this.$refs.multipleTable.toggleRowSelection(
                this.tableData[0],
                true
              );
            });
          } else {
            this.$refs.multipleTable.clearSelection();
          }
        }
        // this.tableData.forEach(item => {
        //   this.allList = item.tjTollCollectorDetailList
        // })
        this.total = res.data.total;
      // getNewDate().then((response) => {
      //   if (response.code === 200) {
      //     this.value1 = [
      //       moment(response.data).format("YYYY-MM-DD 00:00:00"),
      //       moment(response.data).format("YYYY-MM-DD HH:mm:ss"),
      //     ];
      //   }
      // });
      getNewDateList().then((response) => {
        if (response.code === 200) {
          this.value1 = [
            moment(response.data).format("YYYY-MM-DD 00:00:00"),
            moment(response.data).format("YYYY-MM-DD 23:59:00"),
          ];
        }
      });
      // let data = {
      //   tollCollectorId: this.tollCollectorId,
      //   accountBeginTime: this.value1[0],
      //   accountEndTime: this.value1[1],
      //   pageNum: this.queryParams.pageNum,
      //   pageSize: this.queryParams.pageSize,
      // };
      // getcolllist(data).then((res) => {
      //   this.tableData = res.data.list;
      //   if (this.tableData.length === 0) {
      //     this.$message({
      //       message: '请搜索要撤销数据的时间段哦~',
      //       type: 'warning'
      //     });
      //   }
      //   if (res.code === 200) {
      //     if (this.tableData.length != 0) {
      //       this.$nextTick(() => {
      //         this.$refs.multipleTable.toggleRowSelection(
      //           this.tableData[0],
      //           true
      //         );
      //       });
      //     } else {
      //       this.$refs.multipleTable.clearSelection();
      //     }
      //   }
      //   // this.tableData.forEach(item => {
      //   //   this.allList = item.tjTollCollectorDetailList
      //   // })
      //   this.total = res.data.total;
      // });
    },
    // 选中下拉框Id
    idFn(value) {
@@ -209,15 +335,13 @@
      let data = {
        tollCollectorId: this.tollCollectorId,
        accountBeginTime: this.value1[0],
        accountEndTime: new Date(new Date().getTime() + 8 * 3600 * 1000)
          .toJSON()
          .substr(0, 19)
          .replace("T", " "),
        accountEndTime: this.value1[1],
        pageNum: this.queryParams.pageNum,
        pageSize: this.queryParams.pageSize,
      };
      getcolllist(data).then((res) => {
        this.tableData = res.data.list;
        this.allList = [];
        if (this.tableData.length != 0) {
          this.$nextTick(() => {
            this.$refs.multipleTable.toggleRowSelection(
@@ -254,6 +378,12 @@
        this.$refs.multipleTable.toggleRowSelection(del_row, false);
      }
    },
    handledocument() {
      const viewNum = "809743614817824768";
      let accountId = this.selectList[0].accountId;
      const params = { viewNum, accountId };
      this.$tab.openPage("结账单", "/report/settlement", params);
    },
    tableRowClassName({ row, rowIndex }) {
      for (let i = 0; i < this.selectList.length; i++) {
        if (row === this.selectList[i]) {
@@ -273,16 +403,23 @@
          type: "success",
        });
        this.getList();
        this.handleQuery();
      });
    },
  },
};
</script>
<style>
.el-table__header-wrapper .el-checkbox {
  display: none;
}
.el-date-editor--datetimerange.el-input,
.el-date-editor--datetimerange.el-input__inner {
  width: 100%;
}
.pag {
  width: 100%;
  display: flex;
@@ -292,10 +429,13 @@
.pag1 {
  width: 30%;
}
.el-table__body tr.current-row > td {
  background-color: #f19944 !important;
  /* color: #f19944; */ /* 设置文字颜色,可以选择不设置 */
  /* color: #f19944; */
  /* 设置文字颜色,可以选择不设置 */
}
.el-table .warning-row {
  background: #e5f3ff !important;
}