role.data.ts 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. import { reactive } from 'vue'
  2. import { useI18n } from '@/hooks/web/useI18n'
  3. import { required } from '@/utils/formRules'
  4. import { DICT_TYPE } from '@/utils/dict'
  5. import { CrudSchema, useCrudSchemas } from '@/hooks/web/useCrudSchemas'
  6. // 国际化
  7. const { t } = useI18n()
  8. // 表单校验
  9. export const rules = reactive({
  10. name: [required],
  11. code: [required],
  12. sort: [required]
  13. })
  14. // CrudSchema
  15. const crudSchemas = reactive<CrudSchema[]>([
  16. {
  17. label: t('common.index'),
  18. field: 'id',
  19. type: 'index',
  20. form: {
  21. show: false
  22. },
  23. detail: {
  24. show: false
  25. }
  26. },
  27. {
  28. label: '角色名称',
  29. field: 'name',
  30. search: {
  31. show: true
  32. }
  33. },
  34. {
  35. label: '角色类型',
  36. field: 'type',
  37. dictType: DICT_TYPE.SYSTEM_ROLE_TYPE
  38. },
  39. {
  40. label: '角色标识',
  41. field: 'code',
  42. search: {
  43. show: true
  44. }
  45. },
  46. {
  47. label: '显示顺序',
  48. field: 'sort',
  49. form: {
  50. component: 'InputNumber',
  51. value: 0
  52. }
  53. },
  54. {
  55. label: t('common.status'),
  56. field: 'status',
  57. dictType: DICT_TYPE.COMMON_STATUS,
  58. search: {
  59. show: true
  60. }
  61. },
  62. {
  63. label: t('common.createTime'),
  64. field: 'createTime',
  65. form: {
  66. show: false
  67. },
  68. detail: {
  69. show: false
  70. },
  71. search: {
  72. show: true,
  73. component: 'DatePicker',
  74. componentProps: {
  75. type: 'daterange',
  76. valueFormat: 'YYYY-MM-DD HH:mm:ss',
  77. defaultTime: [new Date(2000, 1, 1, 0, 0, 0), new Date(2000, 2, 1, 23, 59, 59)]
  78. }
  79. }
  80. },
  81. {
  82. field: 'action',
  83. width: '450px',
  84. label: t('table.action'),
  85. form: {
  86. show: false
  87. },
  88. detail: {
  89. show: false
  90. }
  91. }
  92. ])
  93. export const { allSchemas } = useCrudSchemas(crudSchemas)