<template>
  <!-- 单据查询 待付单-->
  <div class="platinum_document_query_waiting">
    <Filter @search="search" />
    <contextMenu :contextMenuList="firstBtn">
      <a-table :columns="columns"
               class="topOrderTable"
               :scroll="{ x: '100%', y: 'calc(100vh - 163px)' }"
               :pagination="false"
               :expandedRowKeys="expandedRowKeys"
               :customRow="Rowclick"
               rowKey="key"
               :data-source="tableList">
        <!-- 额外的展开行 -->
        <template #expandedRowRender="{ record }">
          <BtnList :btnList="firstBtn"
                   class="btn-list-sticky"
                   @onClick="btnClick(record)" />
        </template>
        <!-- 账户类型 -->
        <template #userinfotype="{ record }">
          <a>{{ record.userinfotype === 1 ? "个人" : "企业" }}</a>
        </template>
        <template #paylimitedtime="{ record }">
          <a>{{ isOverTime(record.paylimitedtime) }}</a>
        </template>

      </a-table>
    </contextMenu>
    <!-- <ControlModal :selectedRow="selectedRow" /> -->
  </div>
</template>

<script lang="ts">
import { defineComponent, initData, getTableColumns, getTableEvent, queryTableList, contextMenu, BtnList, _getBtnList } from '@/common/export/table';
import { getUserId } from '@/services/bus/account';
import { queryTradePayOrder } from '@/services/go/ermcp/qhj';
import { QhjPayOrder, QueryTradePayOrderReq } from '@/services/go/ermcp/qhj/interface';
import Filter from './compoments/filter/index.vue';
import moment from 'moment';
// import ControlModal from './compoments/controlModal/index.vue';

export default defineComponent({
    name: 'platinum_document_query_waiting',
    components: { Filter, contextMenu, BtnList },
    setup() {
        // 表头数据
        const { columns, registerColumn } = getTableColumns();
        // 表格事件
        const { expandedRowKeys, selectedRow, Rowclick, btnClick } = getTableEvent<QhjPayOrder>({});
        // 表格操作按钮列表
        const [firstBtn] = _getBtnList('platinum_document_query_waiting', false).value;
        // 表格列表数据
        const { loading, tableList, queryTable } = queryTableList();
        function search(value: any) {
            const { includesub, goodsid, filtername, userid, ordertime, userinfotype, isOverTime } = value;
            const len = ordertime.length;
            const param: QueryTradePayOrderReq = {
                userid: userid[0] ? userid[0] : getUserId(),
                userinfotype: userinfotype[0] ? userinfotype[0] : 0,
                filtername: filtername[0],
                begindate: len > 1 ? ordertime[0] : '',
                enddate: len > 1 ? ordertime[len - 1] : '',
                goodsid: goodsid[0],
                includesub,
                payflag: isOverTime ? '1' : '1,3,5', // 付款标识(逗号隔开,如1,2) - 1:未支付 2:已支付 3:已过期 4:已撤销 5:结算过期 6:预售终止
            };
            queryTable(queryTradePayOrder, param);
        }
        const isOverTime = (value: string) => (moment().isAfter(moment(value)) ? '付款超时' : value);
        initData(() => {
            // 获取列表数据
            queryTable(queryTradePayOrder, { userid: getUserId(), payflag: '1,3,5' });
            // 注册表头信息 过滤
            registerColumn('table_pcweb_qhj_pay_bill', []);
        });

        return {
            search,
            isOverTime,
            columns,
            expandedRowKeys,
            selectedRow,
            Rowclick,
            firstBtn,
            loading,
            tableList,
            queryTable,
            btnClick,
        };
    },
});
</script>