import type { VbenFormSchema } from '@vben/common-ui';
import type { VxeColumnPropTypes } from '#/adapter/vxe-table';

/**
 * 搜索表单配置
 */
export function queryFormSchema(): VbenFormSchema[] {
  return [
    { 
      component: 'Input',
      fieldName: 'examName',
      label: '考试名称',
      componentProps: {
        placeholder: '请输入考试名称',
      },
    },
    { 
      component: 'DatePicker',
      fieldName: 'examTime',
      label: '考试时间',
      componentProps: {
        placeholder: '请选择时间范围',
        type: 'daterange',
        rangeSeparator: '至',
        startPlaceholder: '开始时间',
        endPlaceholder: '结束时间',
        valueFormat: 'YYYY-MM-DD HH:mm:ss'
      },
    },
  ];
}

/**
 * 表格列配置
 */
export const tableColumns: VxeColumnPropTypes[] = [
  {
    title: '考试名称',
    field: 'examName',
    showOverflow: true,
  },
  {
    title: '考试开始时间',
    field: 'examStartTime',
    showOverflow: true,
  },
  {
    title: '考试结束时间',
    field: 'examEndTime',
    showOverflow: true,
  },
  {
    title: '应考试人数',
    field: 'shouldExamCount',
    align: 'center',
  },
  {
    title: '实际考试人数',
    field: 'actualExamCount',
    align: 'center',
  },
  {
    title: '及格人数',
    field: 'passCount',
    align: 'center',
  },
  {
    title: '未参加人数',
    field: 'absentCount',
    align: 'center',
    slots: { default: 'absentCount' },
  },
  {
    title: '及格率',
    field: 'passRate',
    align: 'center',
  },
  {
    title: '操作',
    field: 'action',
    align: 'center',
    slots: { default: 'action' },
  },
];
