data.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. import { getTreeList } from '@/api/volunteer'
  2. const sex_option = [
  3. {
  4. name: '男',
  5. },
  6. {
  7. name: '女',
  8. },
  9. ]
  10. const city_option = [
  11. {
  12. name: '重庆',
  13. },
  14. {
  15. name: '四川',
  16. },
  17. ]
  18. const business_unit_options = [
  19. {
  20. name: '件数',
  21. value: 1,
  22. },
  23. {
  24. name: '面积',
  25. value: 2,
  26. },
  27. {
  28. name: '时间',
  29. value: 3,
  30. },
  31. ]
  32. const rules = {
  33. name: [
  34. {
  35. type: 'string',
  36. required: true,
  37. message: '请填写姓名',
  38. trigger: ['blur', 'change'],
  39. },
  40. {
  41. // 此为同步验证,可以直接返回true或者false,如果是异步验证,稍微不同,见下方说明
  42. validator: (rule, value, callback) => {
  43. // 调用uview-plus自带的js验证规则,详见:https://uview-plus.jiangruyi.com/js/test.html
  44. return uni.$u.test.chinese(value)
  45. },
  46. message: '姓名必须为中文',
  47. // 触发器可以同时用blur和change,二者之间用英文逗号隔开
  48. trigger: ['change', 'blur'],
  49. },
  50. ],
  51. sex: [
  52. {
  53. type: 'string',
  54. max: 1,
  55. required: true,
  56. message: '请选择男或女',
  57. trigger: ['blur', 'change'],
  58. },
  59. ],
  60. age: [
  61. {
  62. type: 'string',
  63. required: true,
  64. message: '请填写年龄',
  65. trigger: ['blur', 'change'],
  66. },
  67. {
  68. validator: (rule, value, callback) => {
  69. return uni.$u.test.digits(value)
  70. },
  71. message: '年龄必须为数字',
  72. // 触发器可以同时用blur和change,二者之间用英文逗号隔开
  73. trigger: ['change', 'blur'],
  74. },
  75. ],
  76. idCard: [
  77. {
  78. type: 'string',
  79. required: true,
  80. message: '请填写证件号',
  81. trigger: ['blur', 'change'],
  82. },
  83. ],
  84. districtName: [
  85. {
  86. type: 'string',
  87. required: true,
  88. message: '请选择地区',
  89. trigger: ['blur', 'change'],
  90. },
  91. ],
  92. address: [
  93. {
  94. type: 'string',
  95. required: true,
  96. message: '请填写地址',
  97. trigger: ['blur', 'change'],
  98. },
  99. ],
  100. minQuantity: [
  101. {
  102. type: 'string',
  103. required: true,
  104. message: '请填写最少购买',
  105. trigger: ['blur', 'change'],
  106. },
  107. ],
  108. skillDescribe: [
  109. {
  110. type: 'string',
  111. required: true,
  112. message: '请填写个人简介',
  113. trigger: ['blur', 'change'],
  114. },
  115. ],
  116. businessManagementId: [
  117. {
  118. type: 'string',
  119. required: true,
  120. message: '请选择服务项目',
  121. trigger: ['blur', 'change'],
  122. },
  123. ],
  124. businessDescribe: [
  125. {
  126. type: 'string',
  127. required: true,
  128. message: '请填写服务描述',
  129. trigger: ['blur', 'change']
  130. }
  131. ],
  132. businessUnit: [
  133. {
  134. type: 'string',
  135. required: true,
  136. message: '请选择购买单位',
  137. trigger: ['blur', 'change'],
  138. },
  139. ],
  140. }
  141. const column = [
  142. {
  143. label: '姓名',
  144. key: 'name',
  145. type: 'input',
  146. rules: rules.name,
  147. required: true,
  148. },
  149. {
  150. label: '性别',
  151. key: 'sex',
  152. type: 'select',
  153. option: sex_option,
  154. rules: rules.sex,
  155. required: true,
  156. },
  157. {
  158. label: '年龄',
  159. key: 'age',
  160. type: 'input',
  161. rules: rules.age,
  162. required: true,
  163. },
  164. {
  165. label: '手机号',
  166. key: 'phonenumber',
  167. type: 'phone-code',
  168. },
  169. {
  170. label: '地区',
  171. key: 'districtName',
  172. type: 'city',
  173. option: city_option,
  174. rules: rules.districtName,
  175. required: true,
  176. },
  177. {
  178. label: '详细地址',
  179. key: 'address',
  180. type: 'input',
  181. rules: rules.address,
  182. required: true,
  183. },
  184. // {
  185. // label: '最少购买',
  186. // key: 'minQuantity',
  187. // type: 'input',
  188. // rules: rules.minQuantity,
  189. // required: true,
  190. // },
  191. // {
  192. // label: '购买单位',
  193. // key: 'businessUnit',
  194. // type: 'select',
  195. // option: business_unit_options,
  196. // rules: rules.businessUnit,
  197. // required: true,
  198. // },
  199. {
  200. label: '个人简介',
  201. key: 'skillDescribe',
  202. type: 'textarea',
  203. rules: rules.skillDescribe,
  204. required: true,
  205. },
  206. // {
  207. // label: '服务描述',
  208. // key: 'businessDescribe',
  209. // type: 'textarea',
  210. // rules: rules.businessDescribe,
  211. // required: true,
  212. // },
  213. ]
  214. export { column }