merchant.data.ts 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. import { useI18n } from '@/hooks/web/useI18n'
  2. import { required } from '@/utils/formRules'
  3. import { DICT_TYPE } from '@/utils/dict'
  4. import { VxeCrudSchema, useVxeCrudSchemas } from '@/hooks/web/useVxeCrudSchemas'
  5. const { t } = useI18n() // 国际化
  6. // 表单校验
  7. export const rules = reactive({
  8. no: [required],
  9. name: [required],
  10. shortName: [required],
  11. status: [required]
  12. })
  13. // CrudSchema
  14. const crudSchemas = reactive<VxeCrudSchema>({
  15. primaryKey: 'id',
  16. primaryType: 'seq',
  17. primaryTitle: '商户编号',
  18. action: true,
  19. columns: [
  20. {
  21. title: '商户号',
  22. field: 'no',
  23. isSearch: true
  24. },
  25. {
  26. title: '商户全称',
  27. field: 'code',
  28. isSearch: true
  29. },
  30. {
  31. title: '商户简称',
  32. field: 'shortName',
  33. isSearch: true
  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('form.remark'),
  44. field: 'remark',
  45. isTable: false,
  46. form: {
  47. component: 'Input',
  48. componentProps: {
  49. type: 'textarea',
  50. rows: 4
  51. },
  52. colProps: {
  53. span: 24
  54. }
  55. }
  56. },
  57. {
  58. title: t('common.createTime'),
  59. field: 'createTime',
  60. formatter: 'formatDate',
  61. isForm: false,
  62. search: {
  63. show: true,
  64. itemRender: {
  65. name: 'XDataTimePicker'
  66. }
  67. }
  68. }
  69. ]
  70. })
  71. export const { allSchemas } = useVxeCrudSchemas(crudSchemas)