index.js 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. const _Http = getApp().globalData.http;
  2. Page({
  3. data: {
  4. form: [{
  5. label: "收货人",
  6. error: false,
  7. errMsg: "",
  8. type: "text",
  9. value: "",
  10. placeholder: "请填写",
  11. valueName: "name",
  12. required: true,
  13. checking: "base"
  14. }, {
  15. label: "手机号",
  16. error: false,
  17. errMsg: "",
  18. type: "number",
  19. value: "",
  20. placeholder: "收货人手机号码",
  21. valueName: "phonenumber",
  22. required: true,
  23. checking: "phone"
  24. }, {
  25. label: "地区",
  26. error: false,
  27. errMsg: "",
  28. type: "region",
  29. value: [],
  30. placeholder: "省,市,区",
  31. valueName: "region",
  32. required: true
  33. }, {
  34. label: "详细地址",
  35. error: false,
  36. errMsg: "",
  37. type: "textarea",
  38. value: "",
  39. placeholder: "例: 科创园11栋1103室",
  40. valueName: "address",
  41. required: true,
  42. checking: "base"
  43. }],
  44. disabled: true,
  45. "content": {
  46. "contactsid": 0, //地址id
  47. "sys_enterpriseid": 0, //绑定数据
  48. "sex": "",
  49. "depname": "",
  50. "position": "",
  51. "isleader": 0,
  52. "birthday": "",
  53. "email": "",
  54. "remarks": "",
  55. "workaddress": 1,
  56. "isdefault": 0, //是否默认地址
  57. "isprimary": 0 //是否为主地址
  58. }
  59. },
  60. onLoad(options) {
  61. if (options.sys_enterpriseid) this.setData({
  62. "content.sys_enterpriseid": options.sys_enterpriseid
  63. })
  64. if (options.data) {
  65. let item = JSON.parse(options.data)
  66. this.setData({
  67. content: {
  68. ...this.data.content,
  69. ...item
  70. },
  71. "content.isdefault": item.isdefault,
  72. 'form[0].value': item.name,
  73. 'form[1].value': item.phonenumber,
  74. 'form[2].value': [item.province, item.city, item.county],
  75. 'form[3].value': item.address,
  76. 'content.isdefault': item.isdefault,
  77. "disabled": false
  78. })
  79. };
  80. },
  81. /* 提交数据 */
  82. submit() {
  83. let data = this.selectComponent("#Form").submit();
  84. if (!data || this.data.disabled) return;
  85. const content = {
  86. ...this.data.content,
  87. ...data,
  88. "province": data.region[0],
  89. "city": data.region[1],
  90. "county": data.region[2],
  91. };
  92. delete(content.region);
  93. _Http.basic({
  94. "id": "20221018141802",
  95. content
  96. }).then(res => {
  97. console.log("添加地址", res)
  98. if (res.msg != '成功') return wx.showToast({
  99. title: res.data,
  100. icon: "none"
  101. });
  102. wx.showToast({
  103. title: '保存成功',
  104. icon: "none"
  105. });
  106. setTimeout(() => {
  107. getCurrentPages().forEach(v => {
  108. //更新列表
  109. if (["packageA/setclient/detail", "packageA/setclient/modules/contacts/detail/index"].includes(v.__route__)) {
  110. let page = v.selectComponent("#Address"),
  111. list = res.data.isdefault == 0 ? page.data.list : page.data.list.map(v => {
  112. v.isdefault = 0;
  113. return v;
  114. }),
  115. index = list.findIndex(value => value.contactsid == res.data.contactsid);
  116. if (index != -1) {
  117. //列表中存在说明是编辑,返回上一级页面并更新数据
  118. list[index] = res.data;
  119. page.setData({
  120. list
  121. });
  122. } else {
  123. //列表中不存在说明是新增,返回上一级页面更新数据 并进入详情
  124. list.push(res.data);
  125. page.setData({
  126. list,
  127. "content.total": page.data.content.total + 1
  128. });
  129. }
  130. page.setData({
  131. radio: res.data.isdefault == 1 ? res.data.contactsid : page.data.radio
  132. })
  133. wx.navigateBack();
  134. };
  135. })
  136. }, 300)
  137. })
  138. },
  139. /* 设置默认 */
  140. checkboxChange() {
  141. this.setData({
  142. "content.isdefault": this.data.content.isdefault == 1 ? 0 : 1
  143. })
  144. },
  145. /* 表单是否填写完成 */
  146. onConfirm({
  147. detail
  148. }) {
  149. this.setData({
  150. disabled: detail
  151. })
  152. },
  153. onShareAppMessage() {}
  154. })