123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- 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<VxeCrudSchema>({
- primaryKey: 'id',
- primaryType: 'seq',
- action: true,
- columns: [
- {
- title: '公告标题',
- field: 'title',
- isSearch: true
- },
- {
- title: '公告类型',
- field: 'type',
- dictType: DICT_TYPE.SYSTEM_NOTICE_TYPE,
- dictClass: 'number'
- },
- {
- title: t('common.status'),
- field: 'status',
- dictType: DICT_TYPE.COMMON_STATUS,
- dictClass: '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)
|