group.data.ts 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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. searchSpan: 8,
  17. columns: [
  18. {
  19. title: '组名',
  20. field: 'name',
  21. isSearch: true
  22. },
  23. {
  24. title: '成员',
  25. field: 'memberUserIds',
  26. table: {
  27. slots: {
  28. default: 'memberUserIds_default'
  29. }
  30. }
  31. },
  32. {
  33. title: '描述',
  34. field: 'description'
  35. },
  36. {
  37. title: t('common.status'),
  38. field: 'status',
  39. dictType: DICT_TYPE.COMMON_STATUS,
  40. dictClass: 'number',
  41. isSearch: true
  42. },
  43. {
  44. title: t('common.createTime'),
  45. field: 'createTime',
  46. formatter: 'formatDate',
  47. isForm: false,
  48. isSearch: true,
  49. search: {
  50. show: true,
  51. itemRender: {
  52. name: 'XDataTimePicker'
  53. }
  54. },
  55. table: {
  56. width: 180
  57. }
  58. }
  59. ]
  60. })
  61. export const { allSchemas } = useVxeCrudSchemas(crudSchemas)