<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="6" :sm="12">
          <a-form-model-item label="理赔状态">
            <a-select v-model="form.sendSts" placeholder="请选择理赔状态" allowClear>
              <a-select-option v-for="(item,i) in claimsStatusOptions" :key="i" :value="item.value">{{item.name}}</a-select-option>
            </a-select>
          </a-form-model-item>
        </a-col>
        <a-col :lg="6" :sm="12">
          <a-form-model-item label="账单寄送日期">
            <a-date-picker allow-clear v-model="form.firstEnrollmentTime" placeholder="请选择账单寄送日期" value-format="YYYY-MM-DD 00:00:00" />
          </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="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="6" :sm="12">
          <a-form-model-item label="病历号">
            <a-input v-model="form.trackingNo" placeholder="请输入病历号" allow-clear />
          </a-form-model-item>
        </a-col>
        <a-col :lg="6" :sm="12">
          <a-form-model-item label="客户姓名">
            <a-input v-model="form.sendBatchNo" placeholder="请输入客户姓名" allow-clear />
          </a-form-model-item>
        </a-col>
        <a-col :sm="24" 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/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: "patientNo", key:"patientNo",align:'center', width: 136},
      { title: "出生日期", dataIndex: "patientName", width: 98 },
      { title: "保险公司", dataIndex: "payorName", width: 110 },
      { title: "会员号", dataIndex: "visitTimeStart", width: 100,scopedSlots: { customRender: "visitTimeStart" } },
      { title: "保单号", dataIndex: "chargeAmount", width: 100, align: 'center' },
      { title: "就诊日期", dataIndex: "discountAmount", width: 100, align: 'center' },
      { title: "金额", dataIndex: "paidAmount", width: 100, align: 'center' },
      { title: "折后金额", dataIndex: "paidAmount2", width: 100, align: 'center' },
      { title: "理赔金额", dataIndex: "paidamoun3", width: 100, align: 'center' },
      { title: "已赔付金额", dataIndex: "paidamoun4", width: 110, align: 'center' },
      { title: "欠费金额", dataIndex: "paidamoun5", width: 100, align: 'center' },
      { title: "理赔状态", dataIndex: "paidamount6", width: 100, align: 'center' },
      { title: "原因", dataIndex: "paidamount7", width: 100, align: 'center' },
      { title: "账单状态", dataIndex: "paidamount8", width: 100, align: 'center' },
      { title: "医生", dataIndex: "paidamount9", width: 100, align: 'center' },
      { title: "科室", dataIndex: "paidamount10", width: 100, align: 'center' },
      { title: "账单编号", dataIndex: "paidamount11", width: 100, align: 'center' },
      { title: "发票号码", dataIndex: "paidamount12", width: 100, align: 'center' },
      { title: "就诊类型", dataIndex: "paidamount13", width: 100, align: 'center' },
      { title: "账单寄送日期", dataIndex: "paidamount14", width: 120, align: 'center' },
      { title: "回款日期", dataIndex: "paidamount15", width: 100, align: 'center' },
      { title: "账龄", dataIndex: "paidamount16", width: 100, 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>

</style>