PayBill.vue 3.88 KB
<template>
  <div>
    <div class="text-right">
        <a-button class="mar-left10" type="primary" @click="exportExcel">
            <Icon name="ssidaochu" :size="14" />导出报表</a-button>
    </div>
    <a-table :columns="columns" :data-source="dataList" :scroll="{ x: true }" :pagination="false">
      <template slot="index" slot-scope="text, record, index">
        {{ index + 1 }}
      </template>
    </a-table>
    <!--分页-->
    <BurtPagination :pagination="pagination" @pageChange="getData" />
  </div>
</template>

<script>
import BurtPagination from "@/components/Customers/pagation";
import moment from 'moment'
import {claimsStatusOptions} from '@/assets/js/utilsdictOptions';
import {exportFile} from '@/utils/index';
export default{
  props: {
    companyOptions: {
      default: []
    }
  },
  data(){
    const columns = [
      { title: "账单编号", dataIndex: "receiptNo", key:"receiptNo",align:'center', width: 136},
      { title: "就诊日期", dataIndex: "receiptDate", width: 150 },
      { title: "病案号", dataIndex: "patientNo", key:"patientNo",align:'center', width: 136},
      { title: "患者姓名", dataIndex: "patientName", width: 110 },
      { title: "患者身份", dataIndex: "patientClassDesc", width: 100, align: 'center' },
      { title: "一级分类", dataIndex: "itemcatDesc", width: 100, align: 'center' },
      { title: "二级分类", dataIndex: "itemsubcatDesc", width: 120, align: 'center' },
      { title: "项目编码", dataIndex: "itemCode", width: 130, align: 'center' },
      { title: "项目名称", dataIndex: "itemDesc", key:"receiptNo",align:'center', width: 180},
      { title: "账单金额", dataIndex: "receiptAmount", width: 110 },
      { title: "自付金额", dataIndex: "selfpaidAmount", key:"patientNo",align:'center', width: 136},
      { title: "理赔金额", dataIndex: "claimsAmount", width: 110 },
      { title: "保险公司", dataIndex: "payorName", width: 100, align: 'center' },
      { title: "计划名", dataIndex: "planName", width: 100, align: 'center' },
      { title: "理赔状态", dataIndex: "paidSts", width: 120, align: 'center' },
      { title: "账单寄送状态", dataIndex: "sendSts", width: 130, align: 'center' },
      { title: "回款时间", dataIndex: "backDate", width: 130, align: 'center' },
      { title: "回款金额", dataIndex: "paidAmountEob", width: 130, align: 'center' },
      { title: "坏账", dataIndex: "badBillAmount", width: 130, align: 'center' },
      { title: "个人欠费", dataIndex: "perNoPaidAmount", width: 130, align: 'center' },
      { title: "备注", dataIndex: "remark", width: 160, align: 'center' },
    ];
    return {
      columns,
      claimsStatusOptions,
      form: {
      },
      dataList: [],
      pagination: {
        pageNum: 1,
        pageSize: 10,
        total: 0,
      },
    }
  },
  components: {
    BurtPagination,
  },
  created(){
    this.getData()
  },
  methods: {
    moment,
    handlerSearch(){
      this.pagination.pageNum = 1;
      this.getData();
    },
    // 获取列表数据
    getData() {
      let filter = {
        pageNum: this.pagination.pageNum,
        pageSize: this.pagination.pageSize,
        ...this.form,
      }
      this.$apis.receiptReportList(filter)
      .then((res) => {
        if (res.returnCode == "0000") {
          let content = res.content || {};
          this.pagination.total = content.total || 0;
          this.dataList = content.list || [];
        } else {
          this.$message.error(res.returnMsg);
        }
      });
    },
    //导出报表
    exportExcel(){
        let filter = {
            ...this.form,
        }
        this.$apis.exportReceiptReportList(filter).then(res => {
            exportFile(res, '保险应收报表.xls');
        })
    }
  }
}
</script>

<style lang="less" scoped>
/deep/ .ant-input-group-addon{
  border-left: 1px solid #d9d9d9;
}
.text-right{
    text-align: right;
}
</style>