group.data.ts 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
  2. const { t } = useI18n() // 国际化
  3. // 表单校验
  4. export const rules = reactive({
  5. name: [required],
  6. description: [required],
  7. memberUserIds: [required],
  8. status: [required]
  9. })
  10. // CrudSchema
  11. const crudSchemas = reactive<VxeCrudSchema>({
  12. primaryKey: 'id',
  13. primaryType: 'id',
  14. primaryTitle: '编号',
  15. action: true,
  16. columns: [
  17. {
  18. title: '组名',
  19. field: 'name',
  20. isSearch: true
  21. },
  22. {
  23. title: '成员',
  24. field: 'memberUserIds',
  25. table: {
  26. slots: {
  27. default: 'memberUserIds_default'
  28. }
  29. }
  30. },
  31. {
  32. title: '描述',
  33. field: 'description'
  34. },
  35. {
  36. title: t('common.status'),
  37. field: 'status',
  38. dictType: DICT_TYPE.COMMON_STATUS,
  39. dictClass: 'number',
  40. isSearch: true
  41. },
  42. {
  43. title: t('common.createTime'),
  44. field: 'createTime',
  45. formatter: 'formatDate',
  46. isForm: false,
  47. isSearch: true,
  48. search: {
  49. show: true,
  50. itemRender: {
  51. name: 'XDataTimePicker'
  52. }
  53. },
  54. table: {
  55. width: 180
  56. }
  57. }
  58. ]
  59. })
  60. export const { allSchemas } = useVxeCrudSchemas(crudSchemas)