@jdlinker/system
Version:
jdLinker 系统模块
189 lines (183 loc) • 3.92 kB
text/typescript
import { BasicColumn, FormSchema } from '@jdlinker/ui';
import { filterDictTextByCache, rules } from '@jdlinker/func';
export const columns: BasicColumn[] = [
{
title: '模板标题',
dataIndex: 'templateName',
width: 80
},
{
title: '模板编码',
dataIndex: 'templateCode',
width: 100
},
{
title: '通知模板',
dataIndex: 'templateContent',
width: 150
},
{
title: '模板类型',
dataIndex: 'templateType',
width: 100,
customRender: ({ text }) => filterDictTextByCache('msgType', text)
},
{
title: '是否应用',
dataIndex: 'useStatus',
width: 90,
customRender: function ({ text }) {
if (text == '1') {
return '是';
} else {
return '否';
}
}
}
];
export const searchFormSchema: FormSchema[] = [
{
label: '模板标题',
field: 'templateName',
component: 'Input'
},
{
label: '模板编码',
field: 'templateCode',
component: 'Input'
},
{
label: '模板类型',
field: 'templateType',
component: 'JDictSelectTag',
componentProps: {
dictCode: 'msgType'
}
}
];
export const formSchemas: FormSchema[] = [
{
label: 'ID',
field: 'id',
component: 'Input',
show: false
},
{
label: '模板标题',
field: 'templateName',
component: 'Input',
required: true
},
{
label: '模板编码',
field: 'templateCode',
component: 'Input',
dynamicRules: ({ model, schema }) => {
return [
{ required: true, message: '请输入模板编码!' },
...rules.duplicateCheckRule('sys_sms_template', 'template_code', model, schema, true)
];
},
// 编辑模式下不可修改编码
dynamicDisabled: (params) => !!params.values.id
},
{
label: '模板类型',
field: 'templateType',
component: 'JDictSelectTag',
componentProps: {
dictCode: 'msgType',
placeholder: '请选择模板类型'
},
required: true
},
{
label: '是否应用',
field: 'useStatus',
component: 'JSwitch',
componentProps: {
options: ['1', '0']
}
},
{
label: '模板内容',
field: 'templateContent',
component: 'InputTextArea',
componentProps: {
autoSize: {
minRows: 8,
maxRows: 8
}
},
ifShow: ({ values }) => {
return !['2', '4', '5'].includes(values.templateType);
}
},
{
label: '模板内容',
field: 'templateContent',
component: 'JEditor',
ifShow: ({ values }) => {
return ['2', '4'].includes(values.templateType);
}
},
{
label: '模板内容',
field: 'templateContent',
component: 'JMarkdownEditor',
ifShow: ({ values }) => {
return ['5'].includes(values.templateType);
}
}
];
export const sendTestFormSchemas: FormSchema[] = [
{
label: '模板编码',
field: 'templateCode',
component: 'Input',
show: false
},
{
label: '模板标题',
field: 'templateName',
component: 'Input',
componentProps: { disabled: true }
},
{
label: '模板内容',
field: 'templateContent',
component: 'InputTextArea',
componentProps: { disabled: true, rows: 5 }
},
{
label: '测试数据',
field: 'testData',
component: 'InputTextArea',
required: true,
helpMessage: 'JSON数据',
defaultValue: '{}',
componentProps: {
placeholder: '请输入JSON格式测试数据',
rows: 5
}
},
{
label: '消息类型',
field: 'msgType',
component: 'JDictSelectTag',
required: true,
defaultValue: 'system',
componentProps: { dictCode: 'messageType', type: 'radio' }
},
{
label: '消息接收方',
field: 'receiver',
required: true,
component: 'JSelectUser',
componentProps: {
labelKey: 'realname',
rowKey: 'username',
multiple: true
}
}
];