<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>
    <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: "payorName", width: 110 },
      { title: "保险就诊量", dataIndex: "patientNo", key:"patientNo",align:'center', width: 136},
      { title: "回款率(%)", dataIndex: "patientName", width: 110 },
      { title: "金额", dataIndex: "chargeAmount", width: 100, align: 'center' },
      { title: "折后金额", dataIndex: "discountAmount", width: 100, align: 'center' },
      { title: "客户自付金额", dataIndex: "paidAmount", width: 120, align: 'center' },
      { title: "保险已回款金额", dataIndex: "paidAmount2", width: 130, align: 'center' },
    ];
    return {
      columns,
      ClaimsStatusOptions,
      form: {
        dateRange: [],
        payorCode: '',
        sendBatchNo: '',
        sendCompany: '',
        trackingNo: '',
        sendSts: '',
      },
      
      dataList: [],
      pagination: {
        pageNum: 1,
        pageSize: 10,
        total: 0,
      },
    }
  },
  components: {
    BurtPagination,
  },
  created(){
    
  },
  methods: {
    moment,
    handlerSearch(){
      this.pagination.pageNum = 1;
      this.getData();
    },
    // 获取列表数据
    getData() {
      let filter = {
        pageNum: this.pagination.pageNum,
        pageSize: this.pagination.pageSize,
        ...this.form,
      }
      delete filter.dateRange;
      this.$apis.QUERYSENDINFOLIST(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(){
      exportFile('保险应收报表.xls');
    }
  }
}
</script>

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