From 2396fb466985adc9c792e00a17025fa186b1a1dc Mon Sep 17 00:00:00 2001 From: xingyu Date: Sat, 12 Aug 2023 17:32:02 +0800 Subject: [PATCH] perf: notify test --- .../system/notify/template/template.data.ts | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/views/system/notify/template/template.data.ts b/src/views/system/notify/template/template.data.ts index e67faa4f..1bb677e7 100644 --- a/src/views/system/notify/template/template.data.ts +++ b/src/views/system/notify/template/template.data.ts @@ -1,7 +1,9 @@ +import { h } from 'vue' import type { BasicColumn, FormSchema } from '@/components/Table' import { useRender } from '@/components/Table' import { DICT_TYPE, getDictOptions } from '@/utils/dict' import { getListSimpleUsers } from '@/api/system/user/index' +import { ScrollContainer } from '@/components/Container' export const columns: BasicColumn[] = [ { @@ -141,14 +143,28 @@ export const formSchema: FormSchema[] = [ ] // 发送站内信 +// 这里加上前缀 防止和表单其他字段重名 +const keyPrefix = 'key$-' export const baseSendSchemas: FormSchema[] = [ { field: 'content', - component: 'InputTextArea', + component: 'Editor', label: '模板内容 ', required: false, - componentProps: { - disabled: true, + defaultValue: '', + render({ model }) { + let content: string = model.content + Object.keys(model).forEach((key) => { + if (!key.startsWith(keyPrefix)) + return + + const realKey = key.split(keyPrefix)[1] + content = content.replace(`{${realKey}}`, model[key]) + }) + return h(ScrollContainer, { + innerHTML: content, + style: { border: '1px solid #e8e8e8', borderRadius: '4px', padding: '10px' }, + }) }, }, {