index.js 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  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: false,
  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. tags: []
  60. },
  61. onLoad(options) {
  62. if (options.sys_enterpriseid) this.setData({
  63. "content.sys_enterpriseid": options.sys_enterpriseid
  64. })
  65. if (options.data) {
  66. let item = JSON.parse(options.data)
  67. console.log(item)
  68. this.setData({
  69. content: {
  70. ...this.data.content,
  71. ...item
  72. },
  73. "content.isdefault": item.isdefault,
  74. 'form[0].value': item.name,
  75. 'form[1].value': item.phonenumber,
  76. 'form[2].value': [item.province, item.city, item.county],
  77. 'form[3].value': item.address,
  78. tags: item.tag,
  79. 'content.isdefault': item.isdefault,
  80. "disabled": false
  81. })
  82. };
  83. _Http.basic({
  84. "id": 20220929085401,
  85. "content": {
  86. "ownertable": "sys_enterprise_contacts",
  87. "ownerid": 0
  88. }
  89. }).then(res => {
  90. console.log("数据标签", res)
  91. this.setData({
  92. tagList: res.data.option
  93. })
  94. })
  95. },
  96. selectTag(e) {
  97. const {
  98. tag
  99. } = e.currentTarget.dataset.item;
  100. let i = this.data.tags.findIndex(v => tag == v);
  101. if (i == -1) {
  102. this.data.tags.push(tag);
  103. } else {
  104. this.data.tags.splice(i, 1)
  105. };
  106. this.setData({
  107. tags: this.data.tags
  108. })
  109. },
  110. /* 提交数据 */
  111. submit() {
  112. let data = this.selectComponent("#Form").submit();
  113. if (!data || this.data.disabled) return;
  114. const content = {
  115. ...this.data.content,
  116. ...data,
  117. "province": data.region[0],
  118. "city": data.region[1],
  119. "county": data.region[2],
  120. };
  121. delete(content.region);
  122. _Http.basic({
  123. "id": "20221018141802",
  124. content
  125. }).then(res => {
  126. console.log('新建地址', res)
  127. if (res.msg != '成功') return wx.showToast({
  128. title: res.data,
  129. icon: "none"
  130. });
  131. _Http.basic({
  132. "id": 20220929090901,
  133. "content": {
  134. "ownertable": "sys_enterprise_contacts",
  135. "ownerid": res.data.contactsid,
  136. "datatag": this.data.tags
  137. }
  138. }).then(s => {
  139. console.log("设置地址标签", s)
  140. wx.showToast({
  141. title: '保存成功',
  142. icon: "none"
  143. });
  144. res.data.tag = this.data.tags;
  145. setTimeout(() => {
  146. getCurrentPages().forEach(v => {
  147. //更新列表
  148. if (v.selectComponent("#Address")) {
  149. let page = v.selectComponent("#Address"),
  150. list = res.data.isdefault == 0 ? page.data.list : page.data.list.map(v => {
  151. v.isdefault = 0;
  152. return v;
  153. }),
  154. index = list.findIndex(value => value.contactsid == res.data.contactsid);
  155. if (index != -1) {
  156. //列表中存在说明是编辑,返回上一级页面并更新数据
  157. list[index] = res.data;
  158. page.setData({
  159. list
  160. });
  161. } else {
  162. //列表中不存在说明是新增,返回上一级页面更新数据 并进入详情
  163. list.push(res.data);
  164. page.setData({
  165. list,
  166. "content.total": page.data.content.total + 1
  167. });
  168. }
  169. if (res.data.isdefault == 1) setTimeout(() => {
  170. page.selectComponent("#List").initRadio();
  171. }, 200)
  172. wx.navigateBack();
  173. };
  174. if ("packageA/setclient/modules/address/search/index" == v.__route__) v.getList(true);
  175. })
  176. }, 300)
  177. })
  178. })
  179. },
  180. /* 设置默认 */
  181. checkboxChange() {
  182. this.setData({
  183. "content.isdefault": this.data.content.isdefault == 1 ? 0 : 1
  184. })
  185. },
  186. /* 表单是否填写完成 */
  187. onConfirm({
  188. detail
  189. }) {
  190. this.setData({
  191. disabled: detail
  192. })
  193. },
  194. onShareAppMessage() {}
  195. })