index.js 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301
  1. import { getAddressList, setAddressDefault, delAddress, editAddress } from '../../api/user.js'
  2. var app = getApp()
  3. Page({
  4. /**
  5. * 页面的初始数据
  6. */
  7. data: {
  8. parameter: {
  9. navbar: '1',
  10. return: '1',
  11. title: '地址管理'
  12. },
  13. addressList: [],
  14. cartId: '',
  15. pinkId: 0,
  16. couponId: 0,
  17. loading: false,
  18. loadend: false,
  19. loadTitle: '加载更多',
  20. page: 1,
  21. limit: 8
  22. },
  23. /**
  24. * 生命周期函数--监听页面加载
  25. */
  26. onLoad: function (options) {
  27. this.setData({
  28. cartId: options.cartId || '',
  29. pinkId: options.pinkId || 0,
  30. couponId: options.couponId || 0
  31. })
  32. },
  33. onShow: function () {
  34. var that = this
  35. if (app.globalData.isLog) that.getAddressList(true)
  36. },
  37. onLoadFun: function () {
  38. this.getAddressList()
  39. },
  40. /*
  41. * 导入微信地址
  42. */
  43. getWxAddress: function () {
  44. wx.showToast({
  45. title: '敬请期待'
  46. })
  47. // var that = this;
  48. // wx.authorize({
  49. // scope: 'scope.address',
  50. // success: function (res) {
  51. // wx.chooseAddress({
  52. // success: function (res) {
  53. // var addressP = {};
  54. // addressP.province = res.provinceName;
  55. // addressP.city = res.cityName;
  56. // addressP.district = res.countyName;
  57. // editAddress({
  58. // address: addressP,
  59. // is_default: 1,
  60. // real_name: res.userName,
  61. // post_code: res.postalCode,
  62. // phone: res.telNumber,
  63. // detail: res.detailInfo,
  64. // type: 1,
  65. // id: 0
  66. // }).then(res => {
  67. // app.Tips({
  68. // title: "添加成功",
  69. // icon: 'success'
  70. // }, function () {
  71. // that.getAddressList(true);
  72. // });
  73. // }).catch(err => {
  74. // return app.Tips({
  75. // title: err
  76. // });
  77. // });
  78. // },
  79. // fail: function (res) {
  80. // if (res.errMsg == 'chooseAddress:cancel') return app.Tips({
  81. // title: '取消选择'
  82. // });
  83. // },
  84. // })
  85. // },
  86. // fail: function (res) {
  87. // wx.showModal({
  88. // title: '您已拒绝导入微信地址权限',
  89. // content: '是否进入权限管理,调整授权?',
  90. // success(res) {
  91. // if (res.confirm) {
  92. // wx.openSetting({
  93. // success: function (res) {
  94. // console.log(res.authSetting)
  95. // }
  96. // });
  97. // } else if (res.cancel) {
  98. // return app.Tips({
  99. // title: '已取消!'
  100. // });
  101. // }
  102. // }
  103. // })
  104. // },
  105. // })
  106. },
  107. /**
  108. * 获取地址列表
  109. *
  110. */
  111. getAddressList: function (isPage) {
  112. var that = this
  113. if (isPage)
  114. that.setData({
  115. loadend: false,
  116. page: 1,
  117. addressList: []
  118. })
  119. if (that.data.loading) return
  120. if (that.data.loadend) return
  121. that.setData({
  122. loading: true,
  123. loadTitle: ''
  124. })
  125. getAddressList({
  126. page: that.data.page,
  127. limit: that.data.limit
  128. })
  129. .then(res => {
  130. var list = res.data
  131. var loadend = list.length < that.data.limit
  132. that.data.addressList = app.SplitArray(list, that.data.addressList)
  133. that.setData({
  134. addressList: that.data.addressList,
  135. loadend: loadend,
  136. loadTitle: loadend ? '我也是有底线的' : '加载更多',
  137. page: that.data.page + 1,
  138. loading: false
  139. })
  140. })
  141. .catch(err => {
  142. that.setData({
  143. loading: false,
  144. loadTitle: '加载更多'
  145. })
  146. })
  147. },
  148. /**
  149. * 设置默认地址
  150. */
  151. radioChange: function (e) {
  152. var index = parseInt(e.detail.value),
  153. that = this
  154. var address = this.data.addressList[index]
  155. if (address == undefined)
  156. return app.Tips({
  157. title: '您设置的默认地址不存在!'
  158. })
  159. setAddressDefault(address.id)
  160. .then(res => {
  161. for (var i = 0, len = that.data.addressList.length; i < len; i++) {
  162. if (i == index) that.data.addressList[i].is_default = true
  163. else that.data.addressList[i].is_default = false
  164. }
  165. app.Tips(
  166. {
  167. title: '设置成功',
  168. icon: 'success'
  169. },
  170. function () {
  171. that.setData({
  172. addressList: that.data.addressList
  173. })
  174. }
  175. )
  176. })
  177. .catch(err => {
  178. return app.Tips({
  179. title: err
  180. })
  181. })
  182. },
  183. /**
  184. * 编辑地址
  185. */
  186. editAddress: function (e) {
  187. var cartId = this.data.cartId,
  188. pinkId = this.data.pinkId,
  189. couponId = this.data.couponId
  190. this.setData({
  191. cartId: '',
  192. pinkId: '',
  193. couponId: ''
  194. })
  195. wx.navigateTo({
  196. url:
  197. '/pages/user_address/index?id=' +
  198. e.currentTarget.dataset.id +
  199. '&cartId=' +
  200. cartId +
  201. '&pinkId=' +
  202. pinkId +
  203. '&couponId=' +
  204. couponId
  205. })
  206. },
  207. /**
  208. * 删除地址
  209. */
  210. delAddress: function (e) {
  211. var index = e.currentTarget.dataset.index,
  212. that = this,
  213. address = this.data.addressList[index]
  214. if (address == undefined)
  215. return app.Tips({
  216. title: '您删除的地址不存在!'
  217. })
  218. delAddress(address.id)
  219. .then(res => {
  220. app.Tips(
  221. {
  222. title: '删除成功',
  223. icon: 'success'
  224. },
  225. function () {
  226. that.data.addressList.splice(index, 1)
  227. that.setData({
  228. addressList: that.data.addressList
  229. })
  230. }
  231. )
  232. })
  233. .catch(err => {
  234. return app.Tips({
  235. title: err
  236. })
  237. })
  238. },
  239. /**
  240. * 新增地址
  241. */
  242. addAddress: function () {
  243. var cartId = this.data.cartId,
  244. pinkId = this.data.pinkId,
  245. couponId = this.data.couponId
  246. this.setData({
  247. cartId: '',
  248. pinkId: '',
  249. couponId: ''
  250. })
  251. wx.navigateTo({
  252. url: '/pages/user_address/index?cartId=' + cartId + '&pinkId=' + pinkId + '&couponId=' + couponId
  253. })
  254. },
  255. goOrder: function (e) {
  256. var id = e.currentTarget.dataset.id
  257. var cartId = ''
  258. var pinkId = ''
  259. var couponId = ''
  260. if (this.data.cartId && id) {
  261. cartId = this.data.cartId
  262. pinkId = this.data.pinkId
  263. couponId = this.data.couponId
  264. this.setData({
  265. cartId: '',
  266. pinkId: '',
  267. couponId: ''
  268. })
  269. wx.redirectTo({
  270. url:
  271. '/pages/order_confirm/index?is_address=1&cartId=' +
  272. cartId +
  273. '&addressId=' +
  274. id +
  275. '&pinkId=' +
  276. pinkId +
  277. '&couponId=' +
  278. couponId
  279. })
  280. }
  281. },
  282. /**
  283. * 页面上拉触底事件的处理函数
  284. */
  285. onReachBottom: function () {
  286. this.getAddressList()
  287. }
  288. })