PayBill.vue 5.14 KB
<template>
  <div>
    <!-- form -->
    <!-- <a-form-model ref="form" layout="vertical" :model="form">
      <a-row :gutter="30">
        <a-col :lg="6" :sm="12">
          <a-form-model-item label="就诊日期">
            <a-range-picker format="YYYY年MM月DD日" v-model="form.dateRange"  :placeholder="['开始日期', '结束日期']" />
          </a-form-model-item>
        </a-col>
        <a-col :lg="6" :sm="12">
          <a-form-model-item label="保险公司">
            <a-select v-model="form.payorCode" placeholder="请选择保险公司" allowClear>
              <a-select-option v-for="item in companyOptions" :key="item.id" :value="item.payorCode">
                {{ item.longName }}
              </a-select-option>
            </a-select>
          </a-form-model-item>
        </a-col>
        <a-col :lg="12" :sm="12" class="none-label">
          <a-form-model-item label="button">
            <a-button class="mar-left10" type="primary" @click="handlerSearch">
              <Icon name="ssisearch_active" :size="14" />查询
            </a-button>
            <a-button class="mar-left10" type="primary" @click="exportExcel">
              <Icon name="ssidaochu" :size="14" />导出报表</a-button>
            </a-form-model-item>
        </a-col>
      </a-row>
    </a-form-model> -->
    <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/CUSTOMER/pagation";
import moment from 'moment'
import {ClaimsStatusOptions} from '@/utils/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>