address-edit.js 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. // pages/address-edit/address-edit.js
  2. var api = require('../../api.js');
  3. var area_picker = require('../../area-picker/area-picker.js');
  4. var app = getApp();
  5. Page({
  6. data: {
  7. name: "",
  8. mobile: "",
  9. detail: "",
  10. district: null,
  11. is_default: 0,
  12. // check: false
  13. },
  14. changeState: function(e){
  15. if(e.detail.value){
  16. this.setData({
  17. is_default: 1
  18. })
  19. }
  20. else{
  21. this.setData({
  22. is_default: 0
  23. })
  24. }
  25. },
  26. onLoad: function (options) {
  27. app.pageOnLoad(this);
  28. var page = this;
  29. page.getDistrictData(function (data) {
  30. area_picker.init({
  31. page: page,
  32. data: data,
  33. });
  34. });
  35. page.setData({
  36. address_id: options.id,
  37. });
  38. if (options.id) {
  39. wx.setNavigationBarTitle({
  40. title: '编辑地址'
  41. })
  42. wx.showLoading({
  43. title: "正在加载",
  44. mask: true,
  45. });
  46. app.request({
  47. url: api.user.address_detail,
  48. data: {
  49. id: options.id,
  50. },
  51. success: function (res) {
  52. wx.hideLoading();
  53. if (res.code == 0) {
  54. page.setData(res.data);
  55. }
  56. }
  57. });
  58. }
  59. else{
  60. wx.setNavigationBarTitle({
  61. title: '新增地址',
  62. })
  63. }
  64. },
  65. getDistrictData: function (cb) {
  66. var district = wx.getStorageSync("district");
  67. if (!district || district.length == 0) {
  68. wx.showLoading({
  69. title: "正在加载",
  70. mask: true,
  71. });
  72. app.request({
  73. url: api.default.district,
  74. success: function (res) {
  75. wx.hideLoading();
  76. if (res.code == 0) {
  77. district = res.data;
  78. wx.setStorageSync("district", district);
  79. cb(district);
  80. }
  81. }
  82. });
  83. return;
  84. }
  85. cb(district);
  86. },
  87. onAreaPickerConfirm: function (e) {
  88. //console.log(e);
  89. var page = this;
  90. page.setData({
  91. district: {
  92. province: {
  93. id: e[0].id,
  94. name: e[0].name,
  95. },
  96. city: {
  97. id: e[1].id,
  98. name: e[1].name,
  99. },
  100. district: {
  101. id: e[2].id,
  102. name: e[2].name,
  103. },
  104. }
  105. });
  106. },
  107. saveAddress: function () {
  108. var page = this;
  109. var myreg = /^([0-9]{6,12})$/;
  110. var myreg2 = /^(\d{3,4}-\d{6,9})$/;
  111. console.log(myreg2.test(page.data.mobile));
  112. if (!myreg.test(page.data.mobile) && !myreg2.test(page.data.mobile)) {
  113. wx.showToast({
  114. title: "电话格式不正确",
  115. image: "/images/icon-warning.png",
  116. });
  117. return false;
  118. }
  119. wx.showLoading({
  120. title: "正在保存",
  121. mask: true,
  122. });
  123. var district = page.data.district;
  124. if (!district) {
  125. district = {
  126. province: {
  127. id: ""
  128. },
  129. city: {
  130. id: ""
  131. },
  132. district: {
  133. id: ""
  134. }
  135. };
  136. }
  137. app.request({
  138. url: api.user.address_save,
  139. method: "post",
  140. data: {
  141. address_id: page.data.address_id || "",
  142. name: page.data.name,
  143. mobile: page.data.mobile,
  144. province_id: district.province.id,
  145. city_id: district.city.id,
  146. district_id: district.district.id,
  147. detail: page.data.detail,
  148. is_default: page.data.is_default
  149. },
  150. success: function (res) {
  151. wx.hideLoading();
  152. if (res.code == 0) {
  153. wx.showModal({
  154. title: "提示",
  155. content: res.msg,
  156. showCancel: false,
  157. success: function (res) {
  158. if (res.confirm) {
  159. wx.navigateBack();
  160. }
  161. }
  162. });
  163. }
  164. if (res.code == 1) {
  165. wx.showToast({
  166. title: res.msg,
  167. image: "/images/icon-warning.png",
  168. });
  169. }
  170. }
  171. });
  172. },
  173. inputBlur: function (e) {
  174. //console.log(JSON.stringify(e));
  175. var name = e.currentTarget.dataset.name;
  176. var value = e.detail.value;
  177. //var data = '{"form":{"' + name + '":"' + value + '"}}';
  178. var data = '{"' + name + '":"' + value + '"}';
  179. this.setData(JSON.parse(data));
  180. },
  181. getWechatAddress: function (e) {
  182. var page = this;
  183. wx.chooseAddress({
  184. success: function (e) {
  185. if (e.errMsg != 'chooseAddress:ok')
  186. return;
  187. wx.showLoading();
  188. app.request({
  189. url: api.user.wechat_district,
  190. data: {
  191. national_code: e.nationalCode,
  192. province_name: e.provinceName,
  193. city_name: e.cityName,
  194. county_name: e.countyName,
  195. },
  196. success: function (res) {
  197. if (res.code == 1) {
  198. wx.showModal({
  199. title: '提示',
  200. content: res.msg,
  201. showCancel: false,
  202. });
  203. }
  204. page.setData({
  205. name: e.userName || "",
  206. mobile: e.telNumber || "",
  207. detail: e.detailInfo || "",
  208. district: res.data.district,
  209. });
  210. },
  211. complete: function () {
  212. wx.hideLoading();
  213. }
  214. });
  215. }
  216. });
  217. },
  218. onReady: function () {
  219. },
  220. onShow: function () {
  221. },
  222. });