<template>
  <PageWrapper dense>
    <BasicTable @register="registerTable" bordered>
      <template #toolbar>
        <a-button type="primary" @click="handleDetail">导出</a-button>
        <a-button type="link" @click="handleDetail">详情</a-button>
      </template>
      <template #bodyCell="{ column, record }">
        <template v-if="column && record && column.key === 'action'">
          <a-button type="link" @click="handleDetail">详情</a-button>
        </template>
      </template>
    </BasicTable>
    <detailDrawer ref="detailDrawerRef" />
  </PageWrapper>
</template>

<script setup lang="ts">
  import { PageWrapper } from '@/components/Page';
  import { BasicTable, useTable } from '@/components/Table';
  import { list } from './api';
  import { formSchemas, columns } from './data';
  import detailDrawer from './detailDrawer.vue';
  import { ref } from 'vue';

  defineOptions({ name: 'Online' });

  const [registerTable] = useTable({
    rowSelection: {
      type: 'checkbox',
    },
    title: '在线率',
    api: list,
    showIndexColumn: true,
    rowKey: 'id',
    useSearchForm: true,
    formConfig: {
      schemas: formSchemas,
      name: 'online',
      baseColProps: {
        xs: 24,
        sm: 24,
        md: 24,
        lg: 6,
      },
    },
    columns: columns,
    actionColumn: {
      width: 200,
      title: '操作',
      key: 'action',
      fixed: 'right',
    },
  });
  //抽屉
  const detailDrawerRef = ref();
  const handleDetail = () => {
    detailDrawerRef.value.showDrawer();
  };
</script>

<style scoped></style>
