122 lines
2.4 KiB
TypeScript
122 lines
2.4 KiB
TypeScript
import type {
|
|
ProColumns,
|
|
ProFormColumnsType,
|
|
} from '@ant-design/pro-components';
|
|
import { Tag } from 'antd';
|
|
import dayjs from 'dayjs';
|
|
import { tenantStatus } from '@/constants';
|
|
import type { PostVO } from '@/services/system/post';
|
|
import { getStatusLabel } from '@/utils/constant';
|
|
|
|
export const basePostColumns: ProColumns<PostVO>[] = [
|
|
{
|
|
title: '岗位编号',
|
|
dataIndex: 'id',
|
|
width: 80,
|
|
},
|
|
{
|
|
title: '岗位名称',
|
|
dataIndex: 'name',
|
|
width: 120,
|
|
},
|
|
{
|
|
title: '岗位编码',
|
|
dataIndex: 'code',
|
|
width: 120,
|
|
},
|
|
{
|
|
title: '岗位顺序',
|
|
dataIndex: 'sort',
|
|
width: 80,
|
|
},
|
|
{
|
|
title: '岗位备注',
|
|
dataIndex: 'remark',
|
|
width: 120,
|
|
},
|
|
{
|
|
title: '状态',
|
|
dataIndex: 'status',
|
|
width: 100,
|
|
render: (_, record: PostVO) => [
|
|
<Tag
|
|
key={record.status}
|
|
color={record.status === 1 ? 'default' : 'processing'}
|
|
>
|
|
{getStatusLabel(tenantStatus, record.status)}
|
|
</Tag>,
|
|
],
|
|
},
|
|
{
|
|
title: '创建时间',
|
|
dataIndex: 'createTime',
|
|
valueType: 'dateRange',
|
|
search: {
|
|
transform: (value) => {
|
|
return {
|
|
'createTime[0]': dayjs(value[0])
|
|
.startOf('day')
|
|
.format('YYYY-MM-DD HH:mm:ss'),
|
|
'createTime[1]': dayjs(value[1])
|
|
.endOf('day')
|
|
.format('YYYY-MM-DD HH:mm:ss'),
|
|
};
|
|
},
|
|
},
|
|
render: (_, record: PostVO) =>
|
|
dayjs(record.createTime).format('YYYY-MM-DD HH:mm:ss'),
|
|
},
|
|
];
|
|
|
|
export const formColumns = (_type: string): ProFormColumnsType[] => [
|
|
{
|
|
title: '岗位名称',
|
|
dataIndex: 'name',
|
|
formItemProps: {
|
|
rules: [
|
|
{
|
|
required: true,
|
|
message: '请输入岗位名称',
|
|
},
|
|
],
|
|
},
|
|
},
|
|
{
|
|
title: '岗位编码',
|
|
dataIndex: 'code',
|
|
formItemProps: {
|
|
rules: [
|
|
{
|
|
required: true,
|
|
message: '请输入岗位编码',
|
|
},
|
|
],
|
|
},
|
|
},
|
|
{
|
|
title: '岗位顺序',
|
|
dataIndex: 'sort',
|
|
valueType: 'digit',
|
|
fieldProps: {
|
|
placeholder: '请输入排序值',
|
|
},
|
|
},
|
|
{
|
|
title: '状态',
|
|
dataIndex: 'status',
|
|
valueType: 'select',
|
|
fieldProps: {
|
|
placeholder: '请选择状态',
|
|
options: tenantStatus,
|
|
},
|
|
},
|
|
{
|
|
title: '备注',
|
|
dataIndex: 'remark',
|
|
valueType: 'textarea',
|
|
fieldProps: {
|
|
placeholder: '请输入备注',
|
|
},
|
|
},
|
|
];
|