data.js 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290
  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. },
  132. {
  133. label: "地区",
  134. key: "city",
  135. type: "city",
  136. option: city_option,
  137. rules: rules.city,
  138. required:true
  139. },
  140. {
  141. label: "详细地址",
  142. key: "address",
  143. type: "input",
  144. rules: rules.address,
  145. required:true
  146. },
  147. {
  148. label: "技能简介",
  149. key: "skillDescribe",
  150. type: "textarea",
  151. rules: rules.skillDescribe,
  152. required:true
  153. },
  154. ]
  155. //家庭辅导(教育)2
  156. const education = [
  157. {
  158. label: "姓名",
  159. key: "name",
  160. type: "input",
  161. rules: rules.name,
  162. required:true
  163. },
  164. {
  165. label: "性别",
  166. key: "sex",
  167. type: "select",
  168. option: sex_option,
  169. rules: rules.sex,
  170. required:true
  171. },
  172. {
  173. label: "年龄",
  174. key: "age",
  175. type: "input",
  176. rules: rules.age,
  177. required:true
  178. },
  179. {
  180. label: "手机号",
  181. key: "phonenumber",
  182. type: "phone-code",
  183. },
  184. {
  185. label: "服务项目",
  186. key: "businessManagementId",
  187. type: "cascader",
  188. cascaderKey:'0',
  189. rules: rules.businessManagementId,
  190. required:true,
  191. apifun: ()=>{
  192. return new Promise((resolve, reject) => {
  193. getTreeList({ parentId: "2" }).then(res => {
  194. resolve(res.data)
  195. })
  196. })
  197. },
  198. optionKey:'businessManagementOption'
  199. },
  200. {
  201. label: "证件号",
  202. key: "idCard",
  203. type: "input",
  204. rules: rules.idCard,
  205. required:true
  206. },
  207. {
  208. label: "地区",
  209. key: "city",
  210. type: "city",
  211. option: city_option,
  212. rules: rules.city,
  213. required:true
  214. },
  215. {
  216. label: "地址",
  217. key: "address",
  218. type: "input",
  219. rules: rules.address,
  220. required:true
  221. },
  222. {
  223. label: "技能简介",
  224. key: "skillDescribe",
  225. type: "textarea",
  226. rules: rules.skillDescribe,
  227. required:true
  228. },
  229. ]
  230. //家庭清洁5
  231. const clean = [
  232. {
  233. label: "姓名",
  234. key: "name",
  235. type: "input",
  236. rules: rules.name
  237. },
  238. {
  239. label: "性别",
  240. key: "sex",
  241. type: "select",
  242. option: sex_option,
  243. rules: rules.sex
  244. },
  245. {
  246. label: "年龄",
  247. key: "age",
  248. type: "input",
  249. rules: rules.age
  250. },
  251. {
  252. label: "手机号",
  253. key: "phonenumber",
  254. type: "phone-code",
  255. },
  256. {
  257. label: "证件号",
  258. key: "idCard",
  259. type: "input",
  260. },
  261. {
  262. label: "地区",
  263. key: "city",
  264. type: "city",
  265. option: city_option,
  266. rules: rules.city
  267. },
  268. {
  269. label: "地址",
  270. key: "address",
  271. type: "input",
  272. rules: rules.address
  273. },
  274. {
  275. label: "技能简介",
  276. key: "skillDescribe",
  277. type: "textarea",
  278. },
  279. ]
  280. export { chatting, education, clean }