diff --git a/src/components/Table/src/hooks/useRender.ts b/src/components/Table/src/hooks/useRender.ts index c4fdc8c..11110fd 100644 --- a/src/components/Table/src/hooks/useRender.ts +++ b/src/components/Table/src/hooks/useRender.ts @@ -21,6 +21,15 @@ export const useRender = { return h('span', text) } }, + renderTags: (texts: string[]) => { + if (texts) { + return h('div', null, [ + texts.map((text) => { + return h(Tag, null, () => text) + }) + ]) + } + }, renderDate: (text, format?) => { if (!format) { return dayjs(text).format('YYYY-MM-DD HH:mm:ss') diff --git a/src/views/system/sensitiveWord/SensitiveWordModel.vue b/src/views/system/sensitiveWord/SensitiveWordModel.vue new file mode 100644 index 0000000..5e0c763 --- /dev/null +++ b/src/views/system/sensitiveWord/SensitiveWordModel.vue @@ -0,0 +1,58 @@ + + diff --git a/src/views/system/sensitiveWord/index.vue b/src/views/system/sensitiveWord/index.vue index 83cefa1..75cb28a 100644 --- a/src/views/system/sensitiveWord/index.vue +++ b/src/views/system/sensitiveWord/index.vue @@ -1,3 +1,102 @@ + diff --git a/src/views/system/sensitiveWord/sensitiveWord.data.ts b/src/views/system/sensitiveWord/sensitiveWord.data.ts new file mode 100644 index 0000000..33c4d0e --- /dev/null +++ b/src/views/system/sensitiveWord/sensitiveWord.data.ts @@ -0,0 +1,113 @@ +import { BasicColumn, FormSchema, useRender } from '@/components/Table' +import { DICT_TYPE, getIntDictOptions } from '@/utils/dict' + +export const columns: BasicColumn[] = [ + { + title: '编号', + dataIndex: 'id', + width: 100 + }, + { + title: '敏感词', + dataIndex: 'name', + width: 180 + }, + { + title: '状态', + dataIndex: 'status', + width: 180, + customRender: ({ text }) => { + return useRender.renderDict(text, DICT_TYPE.COMMON_STATUS) + } + }, + { + title: '描述', + dataIndex: 'description', + width: 200 + }, + { + title: '标签', + dataIndex: 'tags', + width: 180, + customRender: ({ text }) => { + return useRender.renderTags(text) + } + }, + { + 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: 'tag', + component: 'Input', + 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: 'status', + component: 'Select', + defaultValue: 0, + componentProps: { + options: getIntDictOptions(DICT_TYPE.COMMON_STATUS) + } + }, + { + label: '备注', + field: 'remark', + component: 'InputTextArea' + }, + { + label: '标签', + field: 'tags', + required: true, + component: 'Select', + componentProps: { + mode: 'tags', + options: [] + } + } +]