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[] = [ { 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) => [ {getStatusLabel(tenantStatus, record.status)} , ], }, { 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: '请输入备注', }, }, ];