qinxianzhangyao
2023-10-17 ba9dbeee7c139c67d770afe0053f06f1f235e565
src/views/hosp/Summary/index.vue
@@ -1,83 +1,21 @@
<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="accountId">
        <el-input
          v-model="queryParams.accountId"
          placeholder="请输入结账单号"
          clearable
          @keyup.enter.native="handleQuery"
        />
      <el-form-item label="收费员" prop="tollCollectorId">
        <el-select v-model="queryParams.tollCollectorId" filterable style="width: 200px" placeholder="请选择交款员" clearable
          @clear="getCompanyList">
          <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="begTime">
        <el-date-picker
      v-model="begTime"
      type="date"
      placeholder="选择起始时间">
      <el-form-item label="起始时间" prop="accountBeginTime">
        <el-date-picker v-model="queryParams.accountBeginTime" type="datetime" placeholder="选择起始时间">
    </el-date-picker>
      </el-form-item>
      <el-form-item label="截止时间" prop="endTime">
        <el-date-picker
      v-model="endTime"
      type="date"
      placeholder="选择截止时间">
      <el-form-item label="截止时间" prop="accountEndTime">
        <el-date-picker v-model="queryParams.accountEndTime" type="datetime" placeholder="选择截止时间">
    </el-date-picker>
      </el-form-item>
      <el-form-item label="收据起始号" prop="deleted">
        <el-input
          v-model="queryParams.deleted"
          placeholder="请输入收据起始号"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <!-- <el-form-item label="收据终止号" prop="deleted">
        <el-input
          v-model="queryParams.deleted"
          placeholder="请输入收据终止号"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item> -->
      <!-- <el-form-item label="工作量" prop="deleted">
        <el-input
          v-model="queryParams.deleted"
          placeholder="请输入工作量"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item> -->
      <!-- <el-form-item label="发卡起始号" prop="deleted">
        <el-input
          v-model="queryParams.deleted"
          placeholder="请输入发卡起始号"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item> -->
      <!-- <el-form-item label="发卡终止号" prop="deleted">
        <el-input
          v-model="queryParams.deleted"
          placeholder="请输入发卡终止号"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item> -->
      <el-form-item label="操作员" prop="deleted">
        <el-input
          v-model="queryParams.deleted"
          placeholder="请输入操作员"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <!-- <el-form-item label="结账时间" prop="deleted">
        <el-date-picker
      v-model="value1"
      type="date"
      placeholder="选择结账时间">
    </el-date-picker>
      </el-form-item> -->
      <el-form-item>
        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -86,105 +24,20 @@
    <el-row :gutter="10" class="mb8">
      <el-col :span="1.5">
        <el-button
        type="primary"
          size="mini"
          :disabled="single"
          @click="handleUpdate"
          v-hasPermi="['hosp:water:edit']"
        >汇总</el-button>
        <el-button type="primary" size="mini" :disabled="single" @click="handleUpdate"
          v-hasPermi="['hosp:water:edit']">汇总</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
        type="primary"
          size="mini"
          :disabled="multiple"
          @click="handleDelete"
          v-hasPermi="['hosp:water:remove']"
        >查询</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
        type="primary"
          size="mini"
          @click="handleExport"
          v-hasPermi="['hosp:water:export']"
        >打印</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
        type="primary"
          size="mini"
          @click="handleExport"
          v-hasPermi="['hosp:water:export']"
        >撤销结账</el-button>
      </el-col>
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
    </el-row>
    <el-table v-loading="loading" :data="list" border >
      <el-table-column type="selection" width="40" align="center" />
      <!-- <el-table-column label="序号" width="55" align="center" prop="id" /> -->
      <el-table-column label="汇总单号" align="center" prop="hzCard" :show-overflow-tooltip="true" />
      <el-table-column label="汇总人" align="center" prop="hzName" :show-overflow-tooltip="true" />
      <el-table-column label="汇总事件" align="center" prop="hzSj" :show-overflow-tooltip="true" />
      <el-table-column label="结账单号" align="center" prop="accountId" :show-overflow-tooltip="true" />
      <el-table-column label="起始时间" align="center" prop="begTime" :show-overflow-tooltip="true" />
      <el-table-column label="结束时间" align="center" prop="endTime" :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-edit"
            title="修改"
            @click="handleUpdate(scope.row)"
            v-hasPermi="['hosp:water:edit']"
          ></el-button>
          <el-button
            size="mini"
            type="text"
            icon="el-icon-delete"
            title="删除"
            @click="handleDelete(scope.row)"
            v-hasPermi="['hosp:water:remove']"
          ></el-button>
        </template>
      </el-table-column>
    <el-table style="width: 80%" :data="list"  border max-height="720px" @selection-change="handleSelect">
      <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>
    <el-table v-loading="loading" :data="tollCollectorDetails" style="margin-top:80px" border >
      <el-table-column type="selection" width="55" align="center" />
      <!-- <el-table-column label="序号" width="55" align="center" prop="id" /> -->
      <el-table-column label="卡类型" align="center" prop="cardType" :show-overflow-tooltip="true" />
      <el-table-column label="交款方式" align="center" prop="type" :show-overflow-tooltip="true" />
      <el-table-column label="类型" align="center" prop="type" :show-overflow-tooltip="true" />
      <el-table-column label="数量" align="center" prop="count" :show-overflow-tooltip="true" />
      <el-table-column label="交易金额" align="center" prop="jyPay" :show-overflow-tooltip="true" />
      <el-table-column label="卡数量" align="center" prop="count" :show-overflow-tooltip="true" />
      <el-table-column label="卡金额" align="center" prop="jyPay" :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-edit"
            title="修改"
            @click="handleUpdate(scope.row)"
            v-hasPermi="['hosp:water:edit']"
          ></el-button>
          <el-button
            size="mini"
            type="text"
            icon="el-icon-delete"
            title="删除"
            @click="handleDelete(scope.row)"
            v-hasPermi="['hosp:water:remove']"
          ></el-button>
        </template>
      </el-table-column>
    </el-table>
    <!-- <pagination
      v-show="total>0"
      :total="total"
@@ -192,35 +45,13 @@
      :limit.sync="queryParams.pageSize"
      @pagination="getList"
    /> -->
    <!-- 添加或修改体检流水对话框 -->
    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
        <el-form-item label="应付" prop="copeWith">
          <el-input v-model="form.copeWith" placeholder="请输入应付" />
        </el-form-item>
        <el-form-item label="实付" prop="paidIn">
          <el-input v-model="form.paidIn" placeholder="请输入实付" />
        </el-form-item>
        <el-form-item label="折扣" prop="discount">
          <el-input v-model="form.discount" placeholder="请输入折扣" />
        </el-form-item>
        <el-form-item label="付款状态" prop="payStasus">
          <el-input v-model="form.payStasus" placeholder="请输入付款状态" />
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitForm">确 定</el-button>
        <el-button @click="cancel">取 消</el-button>
      </div>
    </el-dialog>
  </div>
</template>
<script>
import { listWater, getWater, delWater, addWater, updateWater } from "@/api/hosp/water";
import { getlistWater, getWater, getdatalist, addTjSummary } from "@/api/hosp/water";
import { getHzList,} from "@/api/hosp/Summary";
import moment from "moment";
export default {
  name: "Water",
  data() {
@@ -232,6 +63,7 @@
      loading: true,
      // 选中数组
      ids: [],
      CompanyList: [],
      // 非单个禁用
      single: true,
      // 非多个禁用
@@ -251,6 +83,7 @@
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        tollCollectorId: null,
        accountBeginTime: null,
        accountEndTime: null,
      },
@@ -271,19 +104,28 @@
    };
  },
  created() {
    this.getCompanyList()
    this.getList();
  },
  methods: {
    // 下拉框显示
    getCompanyList() {
      this.loading = true;
      getdatalist().then((response) => {
        this.CompanyList = response.data;
        this.loading = false;
      });
    },
    /** 查询体检流水列表 */
    getList() {
      this.loading = true;
      getHzList(this.queryParams).then(response => {
       this.list = response.data.list;
       this.list.forEach(item=>{
        this.tollCollectorDetails = item.tollCollectorDetails;
       })
      //  this.tollCollectorDetails = response.data.list.tollCollectorDetails;
        this.total = response.total;
      if (this.queryParams.accountBeginTime != null) {
        this.queryParams.accountBeginTime = moment(this.queryParams.accountBeginTime).format("YYYY-MM-DD HH:mm:ss")
        this.queryParams.accountEndTime = moment(this.queryParams.accountEndTime).format("YYYY-MM-DD HH:mm:ss")
      }
      getlistWater(this.queryParams).then(response => {
        this.list = response.data;
        this.loading = false;
      });
    },
@@ -321,64 +163,28 @@
      this.resetForm("queryForm");
      this.handleQuery();
    },
    // 多选框选中数据
    handleSelectionChange(selection) {
      this.ids = selection.map(item => item.id)
      this.single = selection.length!==1
      this.multiple = !selection.length
    },
    // /** 新增按钮操作 */
    // handleAdd() {
    //   this.reset();
    //   this.open = true;
    //   this.title = "添加体检流水";
    // },
    /** 修改按钮操作 */
    handleUpdate(row) {
      this.reset();
      const id = row.id || this.ids
      getWater(id).then(response => {
        this.form = response.data;
        this.open = true;
        this.title = "修改体检流水";
      });
    },
    /** 提交按钮 */
    submitForm() {
      this.$refs["form"].validate(valid => {
        if (valid) {
          if (this.form.id != null) {
            updateWater(this.form).then(response => {
              this.$modal.msgSuccess("修改成功");
              this.open = false;
              this.getList();
            });
    handleSelect(selection, val) {
      if (selection.length > 1) {
        this.single = false
          } else {
            addWater(this.form).then(response => {
              this.$modal.msgSuccess("新增成功");
              this.open = false;
              this.getList();
        this.single = true
      }
      selection.forEach(element => {
        this.ids.push(element.id)
            });
          }
        }
    },
    /** 修改按钮操作 */
    handleUpdate() {
      addTjSummary(this.ids).then(response => {
        let accountId = response.msg
        const viewNum = "872704875763019776";
        const params = { viewNum, accountId };
        this.$tab.openPage("汇总结账单", "/report/settlement", params);
      });
    },
    /** 删除按钮操作 */
    handleDelete(row) {
      const ids = row.id || this.ids;
      this.$modal.confirm('是否确认删除体检流水编号为"' + ids + '"的数据项?').then(function() {
        return delWater(ids);
      }).then(() => {
        this.getList();
        this.$modal.msgSuccess("删除成功");
      }).catch(() => {});
    },
    /** 导出按钮操作 */
    handleExport() {
      this.download('hosp/water/export', {
        ...this.queryParams
      }, `water_${new Date().getTime()}.xlsx`)
    }
  }
};
</script>