@jdlinker/system
Version:
jdLinker 系统模块
155 lines (152 loc) • 3.26 kB
text/typescript
import { BasicColumn, FormSchema, render } from '@jdlinker/ui';
import { rules } from '@jdlinker/func';
export const columns: BasicColumn[] = [
{
title: '消息标题',
width: 150,
dataIndex: 'titile'
},
{
title: '消息类型',
dataIndex: 'msgCategory',
width: 100,
customRender: ({ text }) => {
return render.renderDict(text, 'msg_category');
}
},
{
title: '发布人',
width: 100,
dataIndex: 'sender'
},
{
title: '优先级',
dataIndex: 'priority',
width: 70,
customRender: ({ text }) => {
const color = text == 'L' ? 'blue' : text == 'M' ? 'yellow' : 'red';
return render.renderTag(render.renderDict(text, 'priority'), color);
}
},
{
title: '通告对象',
dataIndex: 'msgType',
width: 100,
customRender: ({ text }) => {
return render.renderDict(text, 'msg_type');
}
},
{
title: '发布状态',
dataIndex: 'sendStatus',
width: 70,
customRender: ({ text }) => {
const color = text == '0' ? 'red' : text == '1' ? 'green' : 'gray';
return render.renderTag(render.renderDict(text, 'send_status'), color);
}
},
{
title: '发布时间',
width: 100,
dataIndex: 'sendTime'
},
{
title: '撤销时间',
width: 100,
dataIndex: 'cancelTime'
}
];
export const searchFormSchema: FormSchema[] = [
{
field: 'titile',
label: '消息标题',
component: 'JInput'
}
];
export const formSchema: FormSchema[] = [
{
field: 'id',
label: 'id',
component: 'Input',
show: false
},
{
field: 'msgCategory',
label: '消息类型',
required: true,
component: 'JDictSelectTag',
defaultValue: '1',
componentProps: {
type: 'radio',
dictCode: 'msg_category',
placeholder: '请选择类型'
}
},
{
field: 'titile',
label: '标题',
component: 'Input',
required: true,
componentProps: {
placeholder: '请输入标题'
}
},
{
field: 'msgAbstract',
label: '摘要',
component: 'InputTextArea',
required: true
},
{
field: 'endTime',
label: '截至日期',
component: 'DatePicker',
componentProps: {
showTime: true,
valueFormat: 'YYYY-MM-DD HH:mm:ss',
placeholder: '请选择截至日期'
},
// @ts-ignore
dynamicRules: ({ model }) => rules.endTime(model.startTime, true)
},
{
field: 'msgType',
label: '接收用户',
defaultValue: 'ALL',
component: 'JDictSelectTag',
required: true,
componentProps: {
type: 'radio',
dictCode: 'msg_type',
placeholder: '请选择发布范围'
}
},
{
field: 'userIds',
label: '指定用户',
component: 'JSelectUser',
required: true,
componentProps: {
rowKey: 'id',
labelKey: 'realname'
},
ifShow: ({ values }) => values.msgType == 'USER'
},
{
field: 'priority',
label: '优先级',
defaultValue: 'H',
component: 'JDictSelectTag',
componentProps: {
dictCode: 'priority',
type: 'radio',
placeholder: '请选择优先级'
}
},
{
field: 'msgContent',
label: '内容',
component: 'Input',
render: render.renderTinymce
}
];