197 lines
4.1 KiB
Vue
197 lines
4.1 KiB
Vue
import { BasicColumn, FormSchema } from '/@/components/Table';
|
|
import { rules } from '/@/utils/helper/validator';
|
|
import { filterDictTextByCache } from '/@/utils/dict/JDictSelectUtil';
|
|
|
|
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 [ ...rules.duplicateCheckRule('sys_sms_template', 'template_code', model, schema, true)];
|
|
},
|
|
// 编辑模式下不可修改编码
|
|
dynamicDisabled: (params) => !!params.values.id,
|
|
},
|
|
{
|
|
label: '模板类型',
|
|
field: 'templateType',
|
|
component: 'JDictSelectTag',
|
|
defaultValue: '1',
|
|
componentProps: {
|
|
dictCode: 'msgType',
|
|
type: 'radio',
|
|
placeholder: '请选择模板类型',
|
|
},
|
|
required: true,
|
|
},
|
|
{
|
|
label: '模板分类',
|
|
field: 'templateCategory',
|
|
component: 'JDictSelectTag',
|
|
componentProps: {
|
|
dictCode: 'msgCategory',
|
|
placeholder: '请选择模板分类',
|
|
}
|
|
},
|
|
{
|
|
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: 'username',
|
|
rowKey: 'username',
|
|
},
|
|
},
|
|
];
|