import { reactive } from 'vue' import { useI18n } from '@/hooks/web/useI18n' import { required } from '@/utils/formRules' import { DICT_TYPE } from '@/utils/dict' import { VxeCrudSchema, useVxeCrudSchemas } from '@/hooks/web/useVxeCrudSchemas' const { t } = useI18n() // 国际化 // 表单校验 export const rules = reactive({ title: [required], type: [required] }) // CrudSchema const crudSchemas = reactive({ primaryKey: 'id', primaryType: 'seq', action: true, columns: [ { title: '公告标题', field: 'title', isSearch: true }, { title: '公告类型', field: 'type', dictType: DICT_TYPE.SYSTEM_NOTICE_TYPE, dictData: 'number' }, { title: t('common.status'), field: 'status', dictType: DICT_TYPE.COMMON_STATUS, dictData: 'number', isSearch: true }, { title: '公告内容', field: 'content', table: { type: 'html' // TODO 芋艿:详情展示,会是 html 的原始内容。要不改成直接使用富文本展示,设置个 readonly? }, form: { component: 'Editor', colProps: { span: 24 }, componentProps: { valueHtml: '' } }, isTable: false }, { title: t('common.createTime'), field: 'createTime', formatter: 'formatDate', isForm: false } ] }) export const { allSchemas } = useVxeCrudSchemas(crudSchemas)