import { FormProps, FormSchema } from '/@/components/Table'; import { BasicColumn } from '/@/components/Table/src/types/table'; export function getBasicColumns(): BasicColumn[] { return [ { title: 'ID', width: 150, dataIndex: 'id', }, { title: '姓名', dataIndex: 'name', width: 120, }, { title: '地址', dataIndex: 'address', }, { title: '编号', dataIndex: 'no', width: 80, }, { title: '开始时间', dataIndex: 'beginTime', }, { title: '结束时间', sorter: true, dataIndex: 'endTime', }, ]; } export function getBasicShortColumns(): BasicColumn[] { return [ { title: 'ID', width: 150, dataIndex: 'id', }, { title: '姓名', dataIndex: 'name', width: 120, }, { title: '地址', dataIndex: 'address', }, { title: '编号', dataIndex: 'no', width: 80, }, ]; } export function getMultipleHeaderColumns(): BasicColumn[] { return [ { title: 'ID', dataIndex: 'id', width: 200, }, { title: '姓名', dataIndex: 'name', width: 120, }, { title: '地址', dataIndex: 'address', sorter: true, children: [ { title: '编号', dataIndex: 'no', width: 120, filters: [ { text: 'Male', value: 'male' }, { text: 'Female', value: 'female' }, ], }, { title: '开始时间', dataIndex: 'beginTime', width: 120, }, { title: '结束时间', dataIndex: 'endTime', width: 120, }, ], }, ]; } export function getCustomHeaderColumns(): BasicColumn[] { return [ { title: 'ID', dataIndex: 'id', width: 200, }, { // title: '姓名', dataIndex: 'name', width: 120, slots: { title: 'customTitle' }, }, { // title: '地址', dataIndex: 'address', slots: { title: 'customAddress' }, sorter: true, }, { title: '编号', dataIndex: 'no', width: 120, filters: [ { text: 'Male', value: 'male' }, { text: 'Female', value: 'female' }, ], }, { title: '开始时间', dataIndex: 'beginTime', width: 120, }, { title: '结束时间', dataIndex: 'endTime', width: 120, }, ]; } const renderContent = ({ text, index }: { text: any; index: number }) => { const obj: any = { children: text, attrs: {}, }; if (index === 9) { obj.attrs.colSpan = 0; } return obj; }; export function getMergeHeaderColumns(): BasicColumn[] { return [ { title: 'ID', dataIndex: 'id', width: 300, customRender: renderContent, }, { title: '姓名', dataIndex: 'name', width: 300, customRender: renderContent, }, { title: '地址', dataIndex: 'address', colSpan: 2, width: 120, sorter: true, customRender: ({ text, index }: { text: any; index: number }) => { const obj: any = { children: text, attrs: {}, }; if (index === 2) { obj.attrs.rowSpan = 2; } if (index === 3) { obj.attrs.colSpan = 0; } return obj; }, }, { title: '编号', dataIndex: 'no', colSpan: 0, filters: [ { text: 'Male', value: 'male' }, { text: 'Female', value: 'female' }, ], customRender: renderContent, }, { title: '开始时间', dataIndex: 'beginTime', width: 200, customRender: renderContent, }, { title: '结束时间', dataIndex: 'endTime', width: 200, customRender: renderContent, }, ]; } export const getAdvanceSchema = (itemNumber = 6): FormSchema[] => { const arr: any = []; for (let index = 0; index < itemNumber; index++) { arr.push({ field: `field${index}`, label: `字段${index}`, component: 'Input', colProps: { xl: 12, xxl: 8, }, }); } return arr; }; export function getFormConfig(): Partial { return { labelWidth: 100, schemas: [ ...getAdvanceSchema(5), { field: `field11`, label: `字段33`, component: 'Select', defaultValue: '1', componentProps: { options: [ { label: '选项1', value: '1', }, { label: '选项2', value: '2', }, ], }, colProps: { xl: 12, xxl: 8, }, }, ], }; } export function getBasicData() { const data: any = (() => { const arr: any = []; for (let index = 0; index < 40; index++) { arr.push({ id: `${index}`, name: 'John Brown', age: `1${index}`, no: `${index + 10}`, address: 'New York No. 1 Lake ParkNew York No. 1 Lake Park', beginTime: new Date().toLocaleString(), endTime: new Date().toLocaleString(), }); } return arr; })(); return data; } export function getTreeTableData() { const data: any = (() => { const arr: any = []; for (let index = 0; index < 40; index++) { arr.push({ id: `${index}`, name: 'John Brown', age: `1${index}`, no: `${index + 10}`, address: 'New York No. 1 Lake ParkNew York No. 1 Lake Park', beginTime: new Date().toLocaleString(), endTime: new Date().toLocaleString(), children: [ { id: `l2-${index}`, name: 'John Brown', age: `1${index}`, no: `${index + 10}`, address: 'New York No. 1 Lake ParkNew York No. 1 Lake Park', beginTime: new Date().toLocaleString(), endTime: new Date().toLocaleString(), children: [ { id: `l3-${index}`, name: 'John Brown', age: `1${index}`, no: `${index + 10}`, address: 'New York No. 1 Lake ParkNew York No. 1 Lake Park', beginTime: new Date().toLocaleString(), endTime: new Date().toLocaleString(), }, ], }, ], }); } return arr; })(); return data; }