You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
295 lines
6.1 KiB
295 lines
6.1 KiB
//import { optionsListApi } from '/@/api/demo/select'; |
|
import { FormProps, FormSchema } from '/@/components/Table'; |
|
import { BasicColumn } from '/@/components/Table/src/types/table'; |
|
//import { VxeFormItemProps, VxeGridPropTypes } from '/@/components/VxeTable'; |
|
|
|
export function getBasicColumns(): BasicColumn[] { |
|
return [ |
|
{ |
|
title: 'ID', |
|
dataIndex: 'id', |
|
fixed: 'left', |
|
width: 200, |
|
}, |
|
{ |
|
title: '姓名', |
|
dataIndex: 'name', |
|
width: 150, |
|
filters: [ |
|
{ text: 'Male', value: 'male' }, |
|
{ text: 'Female', value: 'female' }, |
|
], |
|
}, |
|
{ |
|
title: '地址', |
|
dataIndex: 'address', |
|
}, |
|
{ |
|
title: '编号', |
|
dataIndex: 'no', |
|
width: 150, |
|
sorter: true, |
|
defaultHidden: true, |
|
}, |
|
{ |
|
title: '开始时间', |
|
width: 150, |
|
sorter: true, |
|
dataIndex: 'beginTime', |
|
}, |
|
{ |
|
title: '结束时间', |
|
width: 150, |
|
sorter: true, |
|
dataIndex: 'endTime', |
|
}, |
|
]; |
|
} |
|
|
|
export function getBasicShortColumns(): BasicColumn[] { |
|
return [ |
|
{ |
|
title: 'ID', |
|
width: 150, |
|
dataIndex: 'id', |
|
sorter: true, |
|
sortOrder: 'ascend', |
|
}, |
|
{ |
|
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', children: [] }, |
|
{ text: 'Female', value: 'female', children: [] }, |
|
], |
|
}, |
|
|
|
{ |
|
title: '开始时间', |
|
dataIndex: 'beginTime', |
|
width: 120, |
|
}, |
|
{ |
|
title: '结束时间', |
|
dataIndex: 'endTime', |
|
width: 120, |
|
}, |
|
], |
|
}, |
|
]; |
|
} |
|
|
|
export function getCustomHeaderColumns(): BasicColumn[] { |
|
return [ |
|
{ |
|
title: 'ID', |
|
dataIndex: 'id', |
|
helpMessage: 'headerHelpMessage方式1', |
|
width: 200, |
|
}, |
|
{ |
|
// title: '姓名', |
|
dataIndex: 'name', |
|
width: 120, |
|
// slots: { title: 'customTitle' }, |
|
}, |
|
{ |
|
// title: '地址', |
|
dataIndex: 'address', |
|
width: 120, |
|
// slots: { title: 'customAddress' }, |
|
sorter: true, |
|
}, |
|
|
|
{ |
|
title: '编号', |
|
dataIndex: 'no', |
|
width: 120, |
|
filters: [ |
|
{ text: 'Male', value: 'male', children: [] }, |
|
{ text: 'Female', value: 'female', children: [] }, |
|
], |
|
}, |
|
{ |
|
title: '开始时间', |
|
dataIndex: 'beginTime', |
|
width: 120, |
|
}, |
|
{ |
|
title: '结束时间', |
|
dataIndex: 'endTime', |
|
width: 120, |
|
}, |
|
]; |
|
} |
|
|
|
const cellContent = (_, index) => ({ |
|
colSpan: index === 9 ? 0 : 1, |
|
}); |
|
|
|
export function getMergeHeaderColumns(): BasicColumn[] { |
|
return [ |
|
{ |
|
title: 'ID', |
|
dataIndex: 'id', |
|
width: 300, |
|
customCell: (_, index) => ({ |
|
colSpan: index === 9 ? 6 : 1, |
|
}), |
|
}, |
|
{ |
|
title: '姓名', |
|
dataIndex: 'name', |
|
width: 300, |
|
customCell: cellContent, |
|
}, |
|
{ |
|
title: '地址', |
|
dataIndex: 'address', |
|
colSpan: 2, |
|
width: 120, |
|
sorter: true, |
|
customCell: (_, index) => ({ |
|
rowSpan: index === 2 ? 2 : 1, |
|
colSpan: index === 3 || index === 9 ? 0 : 1, |
|
}), |
|
}, |
|
{ |
|
title: '编号', |
|
dataIndex: 'no', |
|
colSpan: 0, |
|
filters: [ |
|
{ text: 'Male', value: 'male', children: [] }, |
|
{ text: 'Female', value: 'female', children: [] }, |
|
], |
|
customCell: cellContent, |
|
}, |
|
{ |
|
title: '开始时间', |
|
dataIndex: 'beginTime', |
|
width: 200, |
|
customCell: cellContent, |
|
}, |
|
{ |
|
title: '结束时间', |
|
dataIndex: 'endTime', |
|
width: 200, |
|
customCell: cellContent, |
|
}, |
|
]; |
|
} |
|
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<FormProps> { |
|
return { |
|
labelWidth: 100, |
|
schemas: [ |
|
...getAdvanceSchema(5), |
|
{ |
|
field: 'field11', |
|
label: 'Slot示例', |
|
component: 'Select', |
|
slot: 'custom', |
|
colProps: { |
|
xl: 12, |
|
xxl: 8, |
|
}, |
|
}, |
|
], |
|
}; |
|
} |
|
export function getBasicData() { |
|
return (() => { |
|
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; |
|
})(); |
|
} |
|
|
|
export function getTreeTableData() { |
|
return (() => { |
|
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(), |
|
}, |
|
], |
|
}); |
|
} |
|
return arr; |
|
})(); |
|
} |
|
|
|
|