diff --git a/src/views/system/mail/template/TemplateModel.vue b/src/views/system/mail/template/TemplateModel.vue new file mode 100644 index 0000000..a121903 --- /dev/null +++ b/src/views/system/mail/template/TemplateModel.vue @@ -0,0 +1,58 @@ + + diff --git a/src/views/system/mail/template/index.vue b/src/views/system/mail/template/index.vue index 3b64cfc..c8baa4b 100644 --- a/src/views/system/mail/template/index.vue +++ b/src/views/system/mail/template/index.vue @@ -1,3 +1,81 @@ + diff --git a/src/views/system/mail/template/template.data.ts b/src/views/system/mail/template/template.data.ts new file mode 100644 index 0000000..db3e59c --- /dev/null +++ b/src/views/system/mail/template/template.data.ts @@ -0,0 +1,162 @@ +import { getSimpleMailAccountListApi } from '@/api/system/mail/account' +import { BasicColumn, FormSchema, useRender } from '@/components/Table' +import { DICT_TYPE, getIntDictOptions } from '@/utils/dict' + +export const columns: BasicColumn[] = [ + { + title: '模板编码', + dataIndex: 'code', + width: 100 + }, + { + title: '模板名称', + dataIndex: 'name', + width: 180 + }, + { + title: '模板标题', + dataIndex: 'title', + width: 100 + }, + { + title: '模板内容', + dataIndex: 'content', + width: 300 + }, + { + title: '邮箱账号', + dataIndex: 'accountId', + width: 120 + }, + { + title: '发送人名称', + dataIndex: 'nickname', + width: 100 + }, + { + title: '开启状态', + dataIndex: 'status', + width: 180, + customRender: ({ text }) => { + return useRender.renderDict(text, DICT_TYPE.COMMON_STATUS) + } + }, + { + title: '创建时间', + dataIndex: 'createTime', + width: 180, + customRender: ({ text }) => { + return useRender.renderDate(text) + } + } +] + +export const searchFormSchema: FormSchema[] = [ + { + label: '模板名称', + field: 'name', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '模板编码', + field: 'code', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '邮箱账号', + field: 'accountId', + component: 'ApiSelect', + componentProps: { + api: () => getSimpleMailAccountListApi(), + fieldNames: { + label: 'mail', + key: 'id', + value: 'id' + } + }, + colProps: { span: 8 } + }, + { + label: '开启状态', + field: 'status', + component: 'Select', + componentProps: { + options: getIntDictOptions(DICT_TYPE.COMMON_STATUS) + }, + colProps: { span: 8 } + }, + { + label: '创建时间', + field: 'createTime', + component: 'RangePicker', + colProps: { span: 8 } + } +] + +export const formSchema: FormSchema[] = [ + { + label: '编号', + field: 'id', + show: false, + component: 'Input' + }, + { + label: '模板名称', + field: 'name', + required: true, + component: 'Input' + }, + { + label: '模板编码', + field: 'code', + required: true, + component: 'Input' + }, + { + label: '邮箱账号', + field: 'accountId', + required: true, + component: 'ApiSelect', + componentProps: { + api: () => getSimpleMailAccountListApi(), + fieldNames: { + label: 'mail', + key: 'id', + value: 'id' + } + } + }, + { + label: '发送人名称', + field: 'nickname', + required: true, + component: 'Input' + }, + { + label: '模板标题', + field: 'title', + required: true, + component: 'Input' + }, + { + label: '模板内容', + field: 'content', + component: 'InputTextArea' + }, + { + label: '开启状态', + field: 'status', + component: 'Select', + defaultValue: 0, + componentProps: { + options: getIntDictOptions(DICT_TYPE.COMMON_STATUS) + } + }, + { + label: '备注', + field: 'remark', + component: 'InputTextArea' + } +]