data.js 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  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 rules = {
  19. name: [
  20. {
  21. type: 'string',
  22. required: true,
  23. message: '请填写姓名',
  24. trigger: ['blur', 'change']
  25. },
  26. {
  27. // 此为同步验证,可以直接返回true或者false,如果是异步验证,稍微不同,见下方说明
  28. validator: (rule, value, callback) => {
  29. // 调用uview-plus自带的js验证规则,详见:https://uview-plus.jiangruyi.com/js/test.html
  30. return uni.$u.test.chinese(value);
  31. },
  32. message: "姓名必须为中文",
  33. // 触发器可以同时用blur和change,二者之间用英文逗号隔开
  34. trigger: ["change", "blur"],
  35. },
  36. ],
  37. sex: [
  38. {
  39. type: 'string',
  40. max: 1,
  41. required: true,
  42. message: '请选择男或女',
  43. trigger: ['blur', 'change']
  44. }
  45. ],
  46. age: [
  47. {
  48. type: 'string',
  49. required: true,
  50. message: '请填写年龄',
  51. trigger: ['blur', 'change']
  52. }
  53. ],
  54. idCard: [
  55. {
  56. type: 'string',
  57. required: true,
  58. message: '请填写证件号',
  59. trigger: ['blur', 'change']
  60. }
  61. ],
  62. city: [
  63. {
  64. type: 'string',
  65. required: true,
  66. message: '请选择地区',
  67. trigger: ['blur', 'change']
  68. }
  69. ],
  70. address: [
  71. {
  72. type: 'string',
  73. required: true,
  74. message: '请填写地址',
  75. trigger: ['blur', 'change']
  76. }
  77. ],
  78. skillDescribe:[
  79. {
  80. type: 'string',
  81. required: true,
  82. message: '请填写技能简介',
  83. trigger: ['blur', 'change']
  84. }
  85. ],
  86. businessManagementId: [
  87. {
  88. type: 'string',
  89. required: true,
  90. message: '请选择服务项目',
  91. trigger: ['blur', 'change']
  92. }
  93. ]
  94. }
  95. //陪伴陪聊注册 1
  96. const chatting = [
  97. {
  98. label: "姓名",
  99. key: "name",
  100. type: "input",
  101. rules: rules.name,
  102. required:true
  103. },
  104. {
  105. label: "性别",
  106. key: "sex",
  107. type: "select",
  108. option: sex_option,
  109. rules: rules.sex,
  110. required:true
  111. },
  112. {
  113. label: "年龄",
  114. key: "age",
  115. type: "input",
  116. rules: rules.age,
  117. required:true
  118. },
  119. {
  120. label: "手机号",
  121. key: "phonenumber",
  122. type: "phone-code",
  123. },
  124. // {
  125. // label: "服务项目",
  126. // key: "businessManagementId",
  127. // type: "cascader",
  128. // cascaderKey:'0',
  129. // rules: rules.businessManagementId,
  130. // required:true,
  131. // apifun: ()=>{
  132. // return new Promise((resolve, reject) => {
  133. // getTreeList({ parentId: "1" }).then(res => {
  134. // resolve(res.data)
  135. // })
  136. // })
  137. // },
  138. // optionKey:'businessManagementOption'
  139. // },
  140. {
  141. label: "地区",
  142. key: "city",
  143. type: "city",
  144. option: city_option,
  145. rules: rules.city,
  146. required:true
  147. },
  148. {
  149. label: "详细地址",
  150. key: "address",
  151. type: "input",
  152. rules: rules.address,
  153. required:true
  154. },
  155. {
  156. label: "技能简介",
  157. key: "skillDescribe",
  158. type: "textarea",
  159. rules: rules.skillDescribe,
  160. required:true
  161. },
  162. ]
  163. //孩子陪护(教育)2
  164. const education = [
  165. {
  166. label: "姓名",
  167. key: "name",
  168. type: "input",
  169. rules: rules.name,
  170. required:true
  171. },
  172. {
  173. label: "性别",
  174. key: "sex",
  175. type: "select",
  176. option: sex_option,
  177. rules: rules.sex,
  178. required:true
  179. },
  180. {
  181. label: "年龄",
  182. key: "age",
  183. type: "input",
  184. rules: rules.age,
  185. required:true
  186. },
  187. {
  188. label: "手机号",
  189. key: "phonenumber",
  190. type: "phone-code",
  191. },
  192. // {
  193. // label: "服务项目",
  194. // key: "businessManagementId",
  195. // type: "cascader",
  196. // cascaderKey:'0',
  197. // rules: rules.businessManagementId,
  198. // required:true,
  199. // apifun: ()=>{
  200. // return new Promise((resolve, reject) => {
  201. // getTreeList({ parentId: "2" }).then(res => {
  202. // resolve(res.data)
  203. // })
  204. // })
  205. // },
  206. // optionKey:'businessManagementOption'
  207. // },
  208. // {
  209. // label: "证件号",
  210. // key: "idCard",
  211. // type: "input",
  212. // rules: rules.idCard,
  213. // required:true
  214. // },
  215. {
  216. label: "地区",
  217. key: "city",
  218. type: "city",
  219. option: city_option,
  220. rules: rules.city,
  221. required:true
  222. },
  223. {
  224. label: "详细地址",
  225. key: "address",
  226. type: "input",
  227. rules: rules.address,
  228. required:true
  229. },
  230. {
  231. label: "技能简介",
  232. key: "skillDescribe",
  233. type: "textarea",
  234. rules: rules.skillDescribe,
  235. required:true
  236. },
  237. ]
  238. // 健康管理
  239. const health = [
  240. {
  241. label: "地区",
  242. key: "city",
  243. type: "city",
  244. option: city_option,
  245. rules: rules.city,
  246. required:true
  247. },
  248. {
  249. label: "详细地址",
  250. key: "address",
  251. type: "input",
  252. rules: rules.address,
  253. required:true
  254. },
  255. ]
  256. export { chatting, education,health}