personaldataModifythe.js 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583
  1. const app = getApp();
  2. Page({
  3. data: {
  4. // selectArray: [], // 性别-数据
  5. // index: '', // 性别-下标、
  6. AgeArray: [], // 年龄-数据
  7. Ageindex: '', // 年龄-下标
  8. heightArray: [], // 身高-数据
  9. heightindex: '', // 身高-下标
  10. EducationArray: [], // 学历-数据
  11. Educationindex: '', // 学历-下标
  12. MarriageArray: [], // 婚史-数据
  13. Marriageindex: '', // 婚史-下标
  14. incomeArray: [], // 收入-数据
  15. incomeindex: '', // 收入-下标
  16. OccupationArray: [], // 职业-数据
  17. Occupationindex: '', // 职业-下标
  18. // contactArray: [], // 允许有意者联系我-数据
  19. // contactindex: '', // 允许有意者联系我-下标
  20. multiArray: [], // 地址-数据
  21. step: 0, // 地址
  22. multiIndex: [0, 0, 0], // 地址-下标
  23. nickname: '', //姓名
  24. // sex: '', // 性别
  25. age: '', // 年龄
  26. height: '', // 身高
  27. province: '', // 市
  28. city: '', // 市
  29. area: '', // 区
  30. education: '', // 学历
  31. marry: '', // 婚史
  32. income: '', // 收入
  33. occupation: '', // 职业
  34. // openid:'', //授权
  35. personacodel:''
  36. },
  37. onLoad: function () {
  38. var that = this
  39. // 获取个人信息
  40. let personal_url = 'my/personaldata/personal';
  41. let personal_data = {
  42. };
  43. app.postRequest(personal_url, personal_data, function (res) {
  44. if (res.code == 201) {
  45. that.setData({
  46. personal: res.data, //获取全部数据
  47. })
  48. }
  49. })
  50. // 默认个人信息
  51. let editinfo_url = 'my/personaldata/editinfo';
  52. let editinfo_data = {
  53. };
  54. app.postRequest(editinfo_url, editinfo_data, function (res) {
  55. // 年龄 ajax
  56. let Age_url = 'public/paramsgather?type=age';
  57. let Age_data = {
  58. // pid: '0'
  59. };
  60. let _age = res.data.age;
  61. app.postRequest(Age_url, Age_data, function (res) { // 年龄 ajax
  62. if (res.code == 201) {
  63. for (let i = 0; i < res.data.length; i++) { //已选中的数据处理
  64. if (res.data[i] == _age) {
  65. that.setData({
  66. Ageindex: i,
  67. })
  68. }
  69. }
  70. let dictObject = res.data;
  71. // 对象转成数组
  72. var createArr = []
  73. for (let i in dictObject) {
  74. createArr.push(dictObject[i] + "岁");
  75. }
  76. // console.log(createArr);
  77. that.setData({
  78. AgeArray: createArr
  79. })
  80. }
  81. })
  82. // 身高 ajax
  83. let height_url = 'public/paramsgather?type=height';
  84. let height_data = {
  85. pid: '0'
  86. };
  87. let _height = res.data.height;
  88. app.postRequest(height_url, height_data, function (res) { // 身高 ajax
  89. if (res.code == 201) {
  90. for (let i = 0; i < res.data.length; i++) { //已选中的数据处理
  91. if (res.data[i] == _height) {
  92. that.setData({
  93. heightindex: i,
  94. })
  95. }
  96. }
  97. let dictObject = res.data;
  98. // 对象转成数组
  99. var createArr = []
  100. for (let i in dictObject) {
  101. createArr.push(dictObject[i] + "cm");
  102. }
  103. // console.log(createArr);
  104. that.setData({
  105. heightArray: createArr
  106. })
  107. }
  108. })
  109. // 学历 ajax
  110. let Education_url = 'public/paramsgather?type=xueli';
  111. let Education_data = {
  112. // pid: '0'
  113. };
  114. let _education = res.data.education;
  115. app.postRequest(Education_url, Education_data, function (res) { // 学历 ajax
  116. if (res.code == 201) {
  117. for (let i = 0; i < res.data.length; i++) { //已选中的数据处理
  118. if (res.data[i].id == _education) {
  119. that.setData({
  120. Educationindex: i,
  121. })
  122. }
  123. }
  124. that.setData({
  125. EducationArray: res.data
  126. })
  127. }
  128. })
  129. // 职业 ajax
  130. let Occupation_url = 'public/paramsgather?type=zhiye';
  131. let Occupation_data = {
  132. pid: '0'
  133. };
  134. let _occupation = res.data.occupation;
  135. app.postRequest(Occupation_url, Occupation_data, function (res) { // 职业 ajax
  136. if (res.code == 201) {
  137. for (let i = 0; i < res.data.length; i++) { //已选中的数据处理
  138. if (res.data[i].id == _occupation) {
  139. that.setData({
  140. Occupationindex: i,
  141. })
  142. }
  143. }
  144. that.setData({
  145. OccupationArray: res.data
  146. })
  147. }
  148. })
  149. // 收入 ajax
  150. let income_url = 'public/paramsgather?type=shouru';
  151. let income_data = {
  152. // pid: '0'
  153. };
  154. let _income = res.data.income;
  155. app.postRequest(income_url, income_data, function (res) { // 收入 ajax
  156. if (res.code == 201) {
  157. for (let i = 0; i < res.data.length; i++) { //已选中的数据处理
  158. if (res.data[i].id == _income) {
  159. that.setData({
  160. incomeindex: i,
  161. })
  162. }
  163. }
  164. that.setData({
  165. incomeArray: res.data
  166. })
  167. }
  168. })
  169. // 婚史 ajax
  170. let Marriage_url = 'public/paramsgather?type=marriage&marriage=1';
  171. let Marriage_data = {
  172. pid: '0'
  173. };
  174. let _marry = res.data.marry;
  175. app.postRequest(Marriage_url, Marriage_data, function (res) { // 婚史 ajax
  176. if (res.code == 201) {
  177. for (let i = 0; i < res.data.length; i++) { //已选中的数据处理
  178. if (res.data[i].id == _marry) {
  179. that.setData({
  180. Marriageindex: i,
  181. })
  182. }
  183. }
  184. // console.log(res.data);
  185. that.setData({
  186. MarriageArray: res.data
  187. })
  188. }
  189. })
  190. if (res.code == 201) {
  191. // console.log(res.data);
  192. that.setData({
  193. nickname: res.data.nickname, //姓名
  194. // sex: res.data.sex, // 性别
  195. age: res.data.age, // 年龄
  196. height: res.data.height, // 身高
  197. province: res.data.province, // 市
  198. city: res.data.city, // 市
  199. area: res.data.area, // 区
  200. education: res.data.education, // 学历
  201. marry: res.data.marry, // 婚史
  202. income: res.data.income, // 收入
  203. occupation: res.data.occupation, // 职业
  204. Marriageindex: res.data.marry, // 婚史
  205. personacodel: res, //获取code 前台判断
  206. })
  207. }
  208. that.getProvince(); //地址 ajax
  209. })
  210. },
  211. GenderEvent: function (e) { // 性别 单项选择器
  212. // console.log(this);
  213. // console.log(e);
  214. // console.log(this.data.selectArray[e.detail.value]);
  215. // console.log('picker发送选择改变,携带值为', e.detail.value)
  216. // this.setData({
  217. // index: e.detail.value,
  218. // sex: e.detail.value
  219. // })
  220. wx.showModal({
  221. title: '性别确定之后不可更改',
  222. content: '如需更改请联系管理员',
  223. showCancel: false,
  224. })
  225. },
  226. AgeEvent: function (e) { // 年龄 单项选择器
  227. // console.log(this);
  228. // console.log(e);
  229. // console.log(this.data.AgeArray[e.detail.value]);
  230. // console.log('picker发送选择改变,携带值为', e.detail.value)
  231. this.setData({
  232. Ageindex: e.detail.value,
  233. age: this.data.AgeArray[e.detail.value]
  234. })
  235. },
  236. heightEvent: function (e) { // 身高 单项选择器
  237. // console.log(this);
  238. // console.log(e);
  239. // console.log(this.data.heightArray[e.detail.value]);
  240. // console.log('picker发送选择改变,携带值为', e.detail.value)
  241. this.setData({
  242. heightindex: e.detail.value,
  243. height: this.data.heightArray[e.detail.value]
  244. })
  245. },
  246. EducationEvent: function (e) { // 学历 单项选择器
  247. // console.log(this);
  248. // console.log(e);
  249. // console.log(this.data.EducationArray[e.detail.value].id);
  250. // console.log('picker发送选择改变,携带值为', e.detail.value)
  251. this.setData({
  252. Educationindex: e.detail.value,
  253. education: this.data.EducationArray[e.detail.value].id
  254. })
  255. },
  256. MarriageEvent: function (e) { // 婚史 单项选择器
  257. // console.log(this);
  258. // console.log(e);
  259. console.log(this.data.MarriageArray[e.detail.value].id);
  260. // console.log(this.data.MarriageArray[e.detail.value]);
  261. // console.log('picker发送选择改变,携带值为', e.detail.value)
  262. this.setData({
  263. Marriageindex: e.detail.value,
  264. marry: this.data.MarriageArray[e.detail.value].id
  265. })
  266. },
  267. incomeEvent: function (e) { // 收入 单项选择器
  268. // console.log(this);
  269. // console.log(e);
  270. // console.log(this.data.incomeArray[e.detail.value].id);
  271. // console.log('picker发送选择改变,携带值为', e.detail.value)
  272. this.setData({
  273. incomeindex: e.detail.value,
  274. income: this.data.incomeArray[e.detail.value].id
  275. })
  276. },
  277. OccupationEvent: function (e) { // 职业 单项选择器
  278. // console.log(this);
  279. // console.log(e);
  280. // console.log(this.data.OccupationArray[e.detail.value].id);
  281. // console.log('picker发送选择改变,携带值为', e.detail.value)
  282. this.setData({
  283. Occupationindex: e.detail.value,
  284. occupation: this.data.OccupationArray[e.detail.value].id
  285. })
  286. },
  287. getProvince() { // 多项选择器
  288. let _this = this;
  289. let d_url = 'public/citypid';
  290. app.postRequest(d_url, { pid: '0' }, function (res) {
  291. if (res.code == '201') {
  292. var provinceList = res.data;
  293. var provinceArr = [];
  294. provinceArr = _this.mapArray(res.data);
  295. _this.setData({
  296. multiArray: [provinceArr, [], []],
  297. provinceList,
  298. provinceArr,
  299. })
  300. // console.log(provinceList);
  301. // console.log(provinceArr);
  302. var defaultCode = provinceList[0]['area_id']
  303. // console.log(provinceList[0]['area_id']);
  304. if (defaultCode) {
  305. _this.setData({
  306. currnetProvinceKey: defaultCode
  307. })
  308. _this.getCity(defaultCode)
  309. }
  310. }
  311. })
  312. },
  313. getCity(codes) {
  314. // 多项选择
  315. let _this = this;
  316. let d_url = 'public/citypid';
  317. app.postRequest(d_url, { pid: codes }, function (res) {
  318. var cityList = res.data;
  319. var cityArr = [];
  320. if (res.code == '201') {
  321. cityArr = _this.mapArray(res.data);
  322. _this.setData({
  323. multiArray: [_this.data.provinceArr, cityArr, []],
  324. cityArr,
  325. cityList
  326. })
  327. var defaultCode = cityList[0]['area_id']
  328. if (defaultCode) {
  329. _this.setData({
  330. currnetProvinceKey: defaultCode
  331. })
  332. _this.getArea(defaultCode)
  333. }
  334. }
  335. })
  336. },
  337. getArea(codes) {
  338. // 多项选择
  339. let _this = this;
  340. let d_url = 'public/citypid';
  341. app.postRequest(d_url, { pid: codes }, function (res) {
  342. var areaList = res.data;
  343. var areaArr = [];
  344. if (res.code == '201') {
  345. areaArr = _this.mapArray(res.data);
  346. }
  347. // console.log(areaList);
  348. // console.log(areaArr);
  349. _this.setData({
  350. multiArray: [_this.data.provinceArr, _this.data.cityArr, areaArr],
  351. areaList,
  352. areaArr
  353. })
  354. })
  355. },
  356. mapArray: function (data) {
  357. let cityArray = []
  358. if (data) {
  359. for (let i = 0; i < data.length; i++) {
  360. if (data[i].area_name) {
  361. cityArray[i] = data[i].area_name;
  362. }
  363. }
  364. }
  365. return cityArray;
  366. },
  367. columnchange(e) { // 滚动选择器 触发的事件
  368. var column = e.detail.column // 当前改变的列
  369. // console.log(column);
  370. // console.log(this.data.multiIndex);
  371. // console.log(JSON.parse(JSON.stringify(this.data.multiIndex)));
  372. var data = {
  373. multiIndex: this.data.multiIndex,
  374. multiArray: this.data.multiArray
  375. }
  376. data.multiIndex[column] = e.detail.value; // 第几列改变了就是对应multiIndex的第几个,更新它
  377. switch (column) { // 处理不同的逻辑
  378. case 0: // 第一列更改 就是省级的更改
  379. var currentProvinceKey = this.data.provinceList[e.detail.value].area_id
  380. if (currentProvinceKey != this.data.currnetProvinceKey) { // 判断当前的key是不是真正的更新了
  381. this.getCity(currentProvinceKey) // 获取当前key下面的市级数据
  382. }
  383. data.multiIndex[1] = 0 // 将市默认选择第一个
  384. break;
  385. case 1: // 市发生变化
  386. var currentCitykey = this.data.cityList[e.detail.value].area_id
  387. if (currentCitykey != this.data.currnetCityKey) { // 同样判断
  388. this.getArea(currentCitykey) // 获取门店
  389. }
  390. data.multiIndex[2] = 0
  391. break;
  392. }
  393. this.setData(data) // 更新数据
  394. },
  395. pickchange(e) {
  396. // console.log(this.data.provinceList[e.detail.value[0]].area_id);
  397. // console.log(this.data.cityList[e.detail.value[1]].area_id);
  398. // console.log(this.data.areaList[e.detail.value[2]].area_id);
  399. this.setData({
  400. step: 1, // 更新,用来选择用户选中的门店
  401. multiIndex: e.detail.value, // 更新下标字段
  402. province: this.data.provinceList[e.detail.value[0]].area_id, // 市
  403. city: this.data.cityList[e.detail.value[1]].area_id, // 市
  404. area: this.data.areaList[e.detail.value[2]].area_id // 区
  405. })
  406. },
  407. // 名字
  408. getPhone: function (e) {
  409. var nickname = e.detail.value;
  410. // console.log(nickname);
  411. this.setData({
  412. nickname: nickname
  413. });
  414. },
  415. //下一步事件
  416. register: function (e) {
  417. // console.log(this.data.nickname); // 名字
  418. // console.log(this.data.sex); // 性别
  419. // console.log(this.data.age); // 年龄
  420. // console.log(this.data.height); // 身高
  421. // console.log(this.data.education); // 学历
  422. // console.log(this.data.marry); // 婚史
  423. // console.log(this.data.income); // 收入
  424. // console.log(this.data.province); // 省
  425. // console.log(this.data.city); // 市
  426. // console.log(this.data.area); // 区
  427. // 修改个人信息
  428. let editinfoform_url = 'my/personaldata/editinfoform';
  429. let editinfoform_data = {
  430. nickname: this.data.nickname, //姓名
  431. age: this.data.age, // 年龄
  432. height: this.data.height, // 身高
  433. province: this.data.province, // 市
  434. city: this.data.city, // 市
  435. area: this.data.area, // 区
  436. education: this.data.education, // 学历
  437. marry: this.data.marry, // 婚史
  438. income: this.data.income, // 收入
  439. occupation: this.data.occupation, // 职业
  440. };
  441. app.postRequest(editinfoform_url, editinfoform_data, function (res) {
  442. if (res.code == 201) {
  443. wx.showToast({
  444. title: '修改成功',
  445. icon: 'success',
  446. duration: 2000
  447. })
  448. return;
  449. }
  450. var fail = res.data.nickname[0]; //调用提示框
  451. getApp().Tips(fail)
  452. })
  453. },
  454. })