index.js 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. import {
  2. ApiModel
  3. } from "../../utils/api";
  4. const _Http = new ApiModel();
  5. import {
  6. TestVerify
  7. } from "../../utils/verify";
  8. const _Verify = new TestVerify();
  9. Page({
  10. /**
  11. * 页面的初始数据
  12. */
  13. data: {
  14. attinfos: [], //头像
  15. fname: "",
  16. fphonenumber: "",
  17. fsex: "",
  18. fbirthdate: "",
  19. femail: "",
  20. fwechatno: "",
  21. faddress: "",
  22. frole: "",
  23. YMD: "", //日期
  24. /* 错误提示 */
  25. errTips: {
  26. fname: false, //用户名
  27. frole: false, //身份/职位
  28. fphonenumber: false, //手机号
  29. femail: false, //邮箱
  30. },
  31. },
  32. /**
  33. * 生命周期函数--监听页面加载
  34. */
  35. onLoad: function (options) {
  36. /* 日期 */
  37. let time = new Date(Date.parse(new Date()) - 86400000);
  38. let d = time.getDate();
  39. if (d < 10) d = '0' + d;
  40. this.setData({
  41. YMD: time.getFullYear() + '-' + (time.getMonth() + 1) + '-' + d
  42. });
  43. const userMessage = JSON.parse(options.data);
  44. let attinfos = [];
  45. if (userMessage.attinfos.length >= 1) {
  46. attinfos = [{
  47. url: userMessage.attinfos[0].fobsurl,
  48. ownerid: userMessage.attinfos[0].ownerid,
  49. tattachmentid: userMessage.attinfos[0].tattachmentid,
  50. ownertable: userMessage.attinfos[0].ownertable,
  51. fdocument: userMessage.attinfos[0].fdocument
  52. }];
  53. }
  54. this.setData({
  55. attinfos,
  56. fname: userMessage.fname,
  57. fphonenumber: userMessage.fphonenumber,
  58. fsex: userMessage.fsex,
  59. fbirthdate: userMessage.fbirthdate,
  60. femail: userMessage.femail,
  61. fwechatno: userMessage.fwechatno,
  62. faddress: userMessage.faddress,
  63. frole: userMessage.frole
  64. })
  65. },
  66. timeChange({
  67. detail
  68. }) {
  69. this.setData({
  70. fbirthdate: detail.value
  71. })
  72. },
  73. /* 修改性别 */
  74. sexOnChange(event) {
  75. this.setData({
  76. fsex: event.detail,
  77. });
  78. },
  79. /* 表单验证 */
  80. formVerify() {
  81. let errTips = this.data.errTips,
  82. verify = true;
  83. /* 验证用户名 */
  84. if (!_Verify.required(this.data.fname)) {
  85. errTips.fname = true;
  86. verify = false;
  87. }
  88. /* 验证身份 */
  89. if (!_Verify.required(this.data.frole)) {
  90. errTips.frole = true;
  91. verify = false;
  92. }
  93. /* 验证邮箱 */
  94. if (this.data.errTips.femail && this.data.femail != '') {
  95. wx.showToast({
  96. title: '请检查邮箱格式!',
  97. icon: "none"
  98. })
  99. verify = false;
  100. }
  101. if (!verify) {
  102. this.setData({
  103. errTips
  104. })
  105. }
  106. return verify;
  107. },
  108. /* 提交 */
  109. submit() {
  110. if (!this.formVerify()) return wx.showToast({
  111. title: '请检查表单内容',
  112. icon: "none"
  113. });
  114. _Http.basic({
  115. "accesstoken": wx.getStorageSync('userData').token,
  116. "classname": "customer.usercenter.usermsg.usermsg",
  117. "method": "update_usermsg",
  118. "content": {
  119. "fname": this.data.fname,
  120. "fsex": this.data.fsex,
  121. "fbirthdate": this.data.fbirthdate,
  122. "femail": this.data.femail,
  123. "fwechatno": this.data.fwechatno,
  124. "faddress": this.data.faddress,
  125. "frole": this.data.frole
  126. }
  127. }).then(res => {
  128. console.log(res)
  129. if (res.msg == "成功") {
  130. wx.showToast({
  131. title: '保存成功',
  132. })
  133. setTimeout(() => {
  134. wx.navigateBack({
  135. delta: 1
  136. })
  137. }, 500)
  138. } else {
  139. wx.showToast({
  140. title: res.data,
  141. icon: 'none'
  142. })
  143. }
  144. })
  145. },
  146. /* 获取焦点 */
  147. inputFocus(e) {
  148. const {
  149. name
  150. } = e.currentTarget.dataset;
  151. let errTips = this.data.errTips;
  152. errTips[name] = false;
  153. this.setData({
  154. errTips
  155. })
  156. },
  157. /* 失去焦点 */
  158. inputBlur(e) {
  159. const {
  160. name
  161. } = e.currentTarget.dataset;
  162. const {
  163. value
  164. } = e.detail;
  165. console.log(_Verify.removeSpecialCharacters(value));
  166. if (name == 'femail') {
  167. var reg = /^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/;
  168. if (!reg.test(value.trim())) {
  169. wx.showToast({
  170. title: '请检查邮箱格式!',
  171. icon: "none"
  172. })
  173. let errTips = this.data.errTips;
  174. errTips[name] = true;
  175. this.setData({
  176. errTips
  177. })
  178. }
  179. return;
  180. }
  181. if (value.trim() == "") {
  182. let errTips = this.data.errTips;
  183. errTips[name] = true;
  184. this.setData({
  185. errTips
  186. })
  187. }
  188. },
  189. /* 修改用户头像 */
  190. userImageChange(data) {
  191. this.setData({
  192. attinfos: data.detail.fileList
  193. })
  194. },
  195. /**
  196. * 生命周期函数--监听页面初次渲染完成
  197. */
  198. onReady: function () {
  199. },
  200. /**
  201. * 生命周期函数--监听页面显示
  202. */
  203. onShow: function () {
  204. },
  205. /**
  206. * 生命周期函数--监听页面隐藏
  207. */
  208. onHide: function () {
  209. },
  210. /**
  211. * 生命周期函数--监听页面卸载
  212. */
  213. onUnload: function () {
  214. },
  215. /**
  216. * 页面相关事件处理函数--监听用户下拉动作
  217. */
  218. onPullDownRefresh: function () {
  219. },
  220. /**
  221. * 页面上拉触底事件的处理函数
  222. */
  223. onReachBottom: function () {
  224. },
  225. /**
  226. * 用户点击右上角分享
  227. */
  228. onShareAppMessage: function () {
  229. }
  230. })