bargainActivity.data.ts 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
  2. import { dateFormatter2 } from '@/utils/formatTime'
  3. // 表单校验
  4. export const rules = reactive({
  5. name: [required],
  6. startTime: [required],
  7. endTime: [required],
  8. helpMaxCount: [required],
  9. bargainCount: [required],
  10. singleLimitCount: [required]
  11. })
  12. // CrudSchema https://doc.iocoder.cn/vue3/crud-schema/
  13. const crudSchemas = reactive<CrudSchema[]>([
  14. {
  15. label: '砍价活动名称',
  16. field: 'name',
  17. isSearch: true,
  18. isTable: false,
  19. form: {
  20. colProps: {
  21. span: 24
  22. }
  23. }
  24. },
  25. {
  26. label: '活动开始时间',
  27. field: 'startTime',
  28. formatter: dateFormatter2,
  29. isSearch: true,
  30. search: {
  31. component: 'DatePicker',
  32. componentProps: {
  33. valueFormat: 'YYYY-MM-DD',
  34. type: 'daterange'
  35. }
  36. },
  37. form: {
  38. component: 'DatePicker',
  39. componentProps: {
  40. type: 'date',
  41. valueFormat: 'x'
  42. }
  43. },
  44. table: {
  45. width: 120
  46. }
  47. },
  48. {
  49. label: '活动结束时间',
  50. field: 'endTime',
  51. formatter: dateFormatter2,
  52. isSearch: true,
  53. search: {
  54. component: 'DatePicker',
  55. componentProps: {
  56. valueFormat: 'YYYY-MM-DD',
  57. type: 'daterange'
  58. }
  59. },
  60. form: {
  61. component: 'DatePicker',
  62. componentProps: {
  63. type: 'date',
  64. valueFormat: 'x'
  65. }
  66. },
  67. table: {
  68. width: 120
  69. }
  70. },
  71. {
  72. label: '砍价人数',
  73. field: 'helpMaxCount',
  74. isSearch: false,
  75. form: {
  76. component: 'InputNumber',
  77. labelMessage: '参与人数不能少于两人',
  78. value: 2
  79. }
  80. },
  81. {
  82. label: '最大帮砍次数',
  83. field: 'bargainCount',
  84. isSearch: false,
  85. form: {
  86. component: 'InputNumber',
  87. labelMessage: '参与人数不能少于两人',
  88. value: 2
  89. }
  90. },
  91. {
  92. label: '总限购数量',
  93. field: 'totalLimitCount',
  94. isSearch: false,
  95. form: {
  96. component: 'InputNumber',
  97. labelMessage: '用户最大能发起砍价的次数',
  98. value: 0
  99. }
  100. },
  101. {
  102. label: '砍价的最小金额',
  103. field: 'randomMinPrice',
  104. isSearch: false,
  105. isTable: false,
  106. form: {
  107. component: 'InputNumber',
  108. componentProps: {
  109. min: 0,
  110. precision: 2,
  111. step: 0.1
  112. },
  113. labelMessage: '用户每次砍价的最小金额',
  114. value: 0
  115. }
  116. },
  117. {
  118. label: '砍价的最大金额',
  119. field: 'randomMaxPrice',
  120. isSearch: false,
  121. isTable: false,
  122. form: {
  123. component: 'InputNumber',
  124. componentProps: {
  125. min: 0,
  126. precision: 2,
  127. step: 0.1
  128. },
  129. labelMessage: '用户每次砍价的最大金额',
  130. value: 0
  131. }
  132. },
  133. {
  134. label: '砍价产品',
  135. field: 'spuId',
  136. isSearch: false,
  137. form: {
  138. colProps: {
  139. span: 24
  140. }
  141. }
  142. }
  143. ])
  144. export const { allSchemas } = useCrudSchemas(crudSchemas)