index.js 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. const _Http = getApp().globalData.http;
  2. Page({
  3. data: {
  4. /* {
  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. form: [{
  26. label: "省市县",
  27. error: false,
  28. errMsg: "",
  29. type: "region",
  30. value: [],
  31. placeholder: "省,市,县",
  32. valueName: "region",
  33. required: false
  34. }, {
  35. label: "详细地址",
  36. error: false,
  37. errMsg: "",
  38. type: "textarea",
  39. value: "",
  40. placeholder: "例: 科创园11栋1103室",
  41. valueName: "address",
  42. required: false,
  43. checking: "base"
  44. }],
  45. disabled: true,
  46. "content": {
  47. "contactsid": 0, //地址id
  48. "sys_enterpriseid": 0, //绑定数据
  49. "sex": "",
  50. "depname": "",
  51. "position": "",
  52. "isleader": 0,
  53. "birthday": "",
  54. "email": "",
  55. "remarks": "",
  56. "workaddress": 1,
  57. "isdefault": 0, //是否默认地址
  58. "isprimary": 0 //是否为主地址
  59. },
  60. tags: []
  61. },
  62. onLoad(options) {
  63. if (options.sys_enterpriseid) this.setData({
  64. "content.sys_enterpriseid": options.sys_enterpriseid
  65. })
  66. if (options.data) {
  67. let item = JSON.parse(options.data)
  68. this.setData({
  69. content: {
  70. ...this.data.content,
  71. ...item
  72. },
  73. "content.isdefault": item.isdefault,
  74. 'form[0].value': [item.province, item.city, item.county],
  75. 'form[1].value': item.address,
  76. tags: item.tag,
  77. 'content.isdefault': item.isdefault,
  78. "disabled": false
  79. })
  80. };
  81. _Http.basic({
  82. "id": 20220929085401,
  83. "content": {
  84. "ownertable": "sys_enterprise_contacts",
  85. "ownerid": 0
  86. }
  87. }).then(res => {
  88. console.log("数据标签", res)
  89. this.setData({
  90. tagList: res.data.option
  91. })
  92. })
  93. },
  94. selectTag(e) {
  95. const {
  96. tag
  97. } = e.currentTarget.dataset.item;
  98. let i = this.data.tags.findIndex(v => tag == v);
  99. if (i == -1) {
  100. this.data.tags.push(tag);
  101. } else {
  102. this.data.tags.splice(i, 1)
  103. };
  104. this.setData({
  105. tags: this.data.tags
  106. })
  107. },
  108. /* 提交数据 */
  109. submit() {
  110. let data = this.selectComponent("#Form").submit();
  111. if (!data || this.data.disabled) return;
  112. const content = {
  113. ...this.data.content,
  114. ...data,
  115. "province": data.region[0],
  116. "city": data.region[1],
  117. "county": data.region[2],
  118. };
  119. delete(content.region);
  120. _Http.basic({
  121. "id": "20221018141802",
  122. content
  123. }).then(res => {
  124. console.log('新建地址', res)
  125. if (res.msg != '成功') return wx.showToast({
  126. title: res.data,
  127. icon: "none"
  128. });
  129. _Http.basic({
  130. "id": 20220929090901,
  131. "content": {
  132. "ownertable": "sys_enterprise_contacts",
  133. "ownerid": res.data.contactsid,
  134. "datatag": this.data.tags
  135. }
  136. }).then(s => {
  137. console.log("设置地址标签", s)
  138. wx.showToast({
  139. title: '保存成功',
  140. icon: "none"
  141. });
  142. res.data.tag = this.data.tags;
  143. setTimeout(() => {
  144. getCurrentPages().forEach(v => {
  145. //更新列表
  146. if (v.selectComponent("#Address")) {
  147. let page = v.selectComponent("#Address"),
  148. list = res.data.isdefault == 0 ? page.data.list : page.data.list.map(v => {
  149. v.isdefault = 0;
  150. return v;
  151. }),
  152. index = list.findIndex(value => value.contactsid == res.data.contactsid);
  153. if (index != -1) {
  154. //列表中存在说明是编辑,返回上一级页面并更新数据
  155. list[index] = res.data;
  156. page.setData({
  157. list
  158. });
  159. } else {
  160. //列表中不存在说明是新增,返回上一级页面更新数据 并进入详情
  161. list.push(res.data);
  162. page.setData({
  163. list,
  164. "content.total": page.data.content.total + 1
  165. });
  166. }
  167. if (res.data.isdefault == 1) setTimeout(() => {
  168. page.selectComponent("#List").initRadio();
  169. }, 200)
  170. wx.navigateBack();
  171. };
  172. if ("packageA/setclient/modules/address/search/index" == v.__route__) v.getList(true);
  173. })
  174. }, 300)
  175. })
  176. })
  177. },
  178. /* 设置默认 */
  179. checkboxChange() {
  180. this.setData({
  181. "content.isdefault": this.data.content.isdefault == 1 ? 0 : 1
  182. })
  183. },
  184. /* 表单是否填写完成 */
  185. onConfirm({
  186. detail
  187. }) {
  188. this.setData({
  189. disabled: detail
  190. })
  191. },
  192. onShareAppMessage() {}
  193. })