address_list.js 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434
  1. // pages/dan/address_list.js
  2. var util = require('../../utils/util.js');
  3. var app = getApp()
  4. Page({
  5. /**
  6. * 页面的初始数据
  7. */
  8. data: {
  9. region: ['省', '市', '区'],
  10. show_add_address: false,
  11. is_direct: 0,
  12. buy_type: '',
  13. sub_address_id: 0
  14. },
  15. /**
  16. * 生命周期函数--监听页面加载
  17. */
  18. onLoad: function (options) {
  19. wx.setNavigationBarTitle({
  20. title: '收货地址'
  21. });
  22. //is_direct=1&buy_type=
  23. var is_direct = options.is_direct;
  24. if (is_direct != undefined) {
  25. var s_buy_type = options.buy_type;
  26. this.setData({
  27. is_direct: 1,
  28. buy_type: s_buy_type
  29. })
  30. }
  31. this.get_data();
  32. },
  33. go_order_buy: function (event) {
  34. let id = event.currentTarget.dataset.id;
  35. var that = this;
  36. var token = wx.getStorageSync('token');
  37. app.util.request({
  38. 'url': 'entry/wxapp/index',
  39. 'data': {
  40. controller: 'user.set_default_address',
  41. token: token,
  42. id: id
  43. },
  44. dataType: 'json',
  45. success: function (res) {
  46. let url = "/Snailfish_shop/pages/buy/index?type=" + that.data.buy_type;
  47. var pages_all = getCurrentPages();
  48. if (pages_all.length > 3) {
  49. wx.redirectTo({
  50. url: url
  51. })
  52. } else {
  53. wx.navigateTo({
  54. url: url
  55. })
  56. }
  57. }
  58. })
  59. },
  60. get_data: function () {
  61. var that = this;
  62. var token = wx.getStorageSync('token');
  63. app.util.request({
  64. 'url': 'entry/wxapp/index',
  65. 'data': {
  66. controller: 'user.getaddress',
  67. token: token
  68. },
  69. dataType: 'json',
  70. success: function (res) {
  71. if (res.data.code == 0) {
  72. that.setData({
  73. list: res.data.list
  74. })
  75. } else {
  76. that.setData({
  77. list: []
  78. })
  79. }
  80. }
  81. })
  82. },
  83. /**
  84. * 生命周期函数--监听页面初次渲染完成
  85. */
  86. onReady: function () {
  87. },
  88. edit_address: function (event) {
  89. let id = event.currentTarget.dataset.id;
  90. var that = this;
  91. var token = wx.getStorageSync('token');
  92. app.util.request({
  93. 'url': 'entry/wxapp/index',
  94. 'data': {
  95. controller: 'user.get_address_info',
  96. token: token,
  97. id: id
  98. },
  99. dataType: 'json',
  100. success: function (res) {
  101. if (res.data.code == 0) {
  102. that.setData({
  103. addr_name: res.data.info.name,
  104. addr_tel: res.data.info.telephone,
  105. region: [res.data.info.province_name, res.data.info.city_name, res.data.info.country_name],
  106. addr_detail: res.data.info.address,
  107. sub_address_id: res.data.info.address_id
  108. })
  109. that.show_add_selfaddress();
  110. }
  111. }
  112. })
  113. },
  114. del_adderess: function (event) {
  115. let id = event.currentTarget.dataset.id;
  116. var that = this;
  117. var token = wx.getStorageSync('token');
  118. wx.showModal({
  119. title: '提示',
  120. content: '确认删除地址吗?',
  121. success: function (res) {
  122. if (res.confirm) {
  123. app.util.request({
  124. 'url': 'entry/wxapp/index',
  125. 'data': {
  126. controller: 'user.del_address',
  127. token: token,
  128. id: id
  129. },
  130. dataType: 'json',
  131. success: function (res) {
  132. that.get_data();
  133. }
  134. })
  135. } else if (res.cancel) {
  136. }
  137. }
  138. })
  139. },
  140. set_default: function (event) {
  141. let id = event.currentTarget.dataset.id;
  142. var that = this;
  143. var token = wx.getStorageSync('token');
  144. app.util.request({
  145. 'url': 'entry/wxapp/index',
  146. 'data': {
  147. controller: 'user.set_default_address',
  148. token: token,
  149. id: id
  150. },
  151. dataType: 'json',
  152. success: function (res) {
  153. that.get_data();
  154. }
  155. })
  156. },
  157. load_wx_add: function () {
  158. var that = this;
  159. wx.chooseAddress({
  160. success: function (res) {
  161. var token = wx.getStorageSync('token');
  162. res.controller = 'user.add_weixinaddress';
  163. res.token = token;
  164. app.util.request({
  165. 'url': 'entry/wxapp/index',
  166. 'data': res,
  167. method:'post',
  168. dataType: 'json',
  169. success: function (msg) {
  170. that.get_data();
  171. }
  172. })
  173. }
  174. })
  175. },
  176. chooseAddress: function () {
  177. var that = this;
  178. wx.getSetting({
  179. success: function (res) {
  180. var add_scope = res.authSetting;
  181. that.load_wx_add();
  182. }
  183. })
  184. },
  185. /**
  186. * 生命周期函数--监听页面显示
  187. */
  188. onShow: function () {
  189. },
  190. /**
  191. * 生命周期函数--监听页面隐藏
  192. */
  193. onHide: function () {
  194. },
  195. /**
  196. * 生命周期函数--监听页面卸载
  197. */
  198. onUnload: function () {
  199. },
  200. /**
  201. * 页面相关事件处理函数--监听用户下拉动作
  202. */
  203. onPullDownRefresh: function () {
  204. },
  205. /**
  206. * 页面上拉触底事件的处理函数
  207. */
  208. onReachBottom: function () {
  209. },
  210. bindAddrdetailInput: function (e) {
  211. this.setData({
  212. addr_detail: e.detail.value
  213. })
  214. },
  215. bindAddrtelInput: function (e) {
  216. this.setData({
  217. addr_tel: e.detail.value
  218. })
  219. },
  220. bindAddrnameInput: function (e) {
  221. this.setData({
  222. addr_name: e.detail.value
  223. })
  224. },
  225. bindMobileInput: function (e) {
  226. this.setData({
  227. ziti_mobile: e.detail.value
  228. })
  229. },
  230. bindRegionChange: function (e) {
  231. /**
  232. this.setData({
  233. region: e.detail.value
  234. })
  235. **/
  236. },
  237. show_add_selfaddress_clear: function () {
  238. this.setData({
  239. addr_name: '',
  240. addr_tel: '',
  241. region: ['省', '市', '区'],
  242. addr_detail: '',
  243. sub_address_id: 0,
  244. show_add_address: true
  245. })
  246. },
  247. show_add_selfaddress: function () {
  248. this.setData({
  249. show_add_address: true
  250. })
  251. },
  252. close_address_dialog: function () {
  253. this.setData({
  254. show_add_address: false
  255. })
  256. },
  257. chose_location: function () {
  258. var that = this;
  259. wx.chooseLocation({
  260. success: function (e) {
  261. var path = e.address;
  262. var s_region = that.data.region;
  263. var dol_path = '';
  264. var str = path;
  265. var patt = new RegExp("(.*?省)(.*?市)(.*?区)", "g");
  266. var result = patt.exec(str);
  267. if (result == null) {
  268. patt = new RegExp("(.*?省)(.*?市)(.*?市)", "g");
  269. result = patt.exec(str);
  270. if (result == null) {
  271. patt = new RegExp("(.*?省)(.*?市)(.*县)", "g");
  272. result = patt.exec(str);
  273. if (result == null) {
  274. } else {
  275. if (s_region[0] != result[1] || s_region[1] != result[2] || s_region[2] != result[3]) {
  276. wx.showToast({
  277. title: '省市区信息已同步修改',
  278. icon: 'none',
  279. })
  280. }
  281. s_region[0] = result[1];
  282. s_region[1] = result[2];
  283. s_region[2] = result[3];
  284. dol_path = path.replace(result[0], '');
  285. }
  286. } else {
  287. if (s_region[0] != result[1] || s_region[1] != result[2] || s_region[2] != result[3]) {
  288. wx.showToast({
  289. title: '省市区信息已同步修改',
  290. icon: 'none',
  291. })
  292. }
  293. s_region[0] = result[1];
  294. s_region[1] = result[2];
  295. s_region[2] = result[3];
  296. dol_path = path.replace(result[0], '');
  297. }
  298. } else {
  299. if (s_region[0] != result[1] || s_region[1] != result[2] || s_region[2] != result[3]) {
  300. wx.showToast({
  301. title: '省市区信息已同步修改',
  302. icon: 'none',
  303. })
  304. }
  305. s_region[0] = result[1];
  306. s_region[1] = result[2];
  307. s_region[2] = result[3];
  308. dol_path = path.replace(result[0], '');
  309. }
  310. if (s_region[0] == '省') {
  311. wx.showToast({
  312. title: '请重新选择省市区',
  313. icon: 'none',
  314. })
  315. }
  316. var filename = dol_path + e.name;
  317. that.setData({
  318. region: s_region,
  319. addr_detail: filename
  320. })
  321. }
  322. })
  323. },
  324. sub_address_do: function () {
  325. var token = wx.getStorageSync('token');
  326. var addr_name = this.data.addr_name;
  327. var addr_tel = this.data.addr_tel;
  328. var province_name = this.data.region[0];
  329. var city_name = this.data.region[1];
  330. var area_name = this.data.region[2];
  331. var addr_detail = this.data.addr_detail;
  332. var that = this;
  333. if (addr_name == '') {
  334. wx.showToast({
  335. title: '请填写姓名',
  336. })
  337. return false;
  338. }
  339. if (addr_tel == '') {
  340. wx.showToast({
  341. title: '请填写电话',
  342. })
  343. return false;
  344. }
  345. if (province_name == '省' && city_name == '市' && area_name == '区') {
  346. wx.showToast({
  347. title: '请选择地区',
  348. })
  349. return false;
  350. }
  351. if (addr_detail == '') {
  352. wx.showToast({
  353. title: '请填写详细地址',
  354. })
  355. return false;
  356. }
  357. var res = { province_name: province_name, city_name: city_name, area_name: area_name, addr_tel: addr_tel, addr_detail: addr_detail, addr_name: addr_name, sub_address_id: that.data.sub_address_id, controller: 'user.add_weixin_selftaddress',
  358. token: token
  359. };
  360. app.util.request({
  361. 'url': 'entry/wxapp/index',
  362. 'data': res,
  363. method: 'POST',
  364. dataType: 'json',
  365. success: function (msg) {
  366. that.setData({
  367. show_add_address: false
  368. })
  369. that.get_data();
  370. }
  371. })
  372. },
  373. /**
  374. * 用户点击右上角分享
  375. */
  376. onShareAppMessage: function () {
  377. }
  378. })