金诚优选前端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

157 lines
3.6 KiB

  1. <template>
  2. <view id="address-list">
  3. <view class="list-box">
  4. <view class="list-item mx-1px-bottom" :data-info="JSON.stringify(item)" :data-id="item.id" v-for="(item, index) in list" :key="index" @tap="setInfo">
  5. <view class="user">
  6. <view class="name">
  7. <text>{{item.accept_name}}</text>
  8. <text class="phone">{{item.mobile}}</text>
  9. </view>
  10. <view class="default" v-if="item.is_default">
  11. 默认
  12. </view>
  13. </view>
  14. <view class="address">{{item.address_name}} {{item.address}}</view>
  15. </view>
  16. </view>
  17. <view class="add-address" @tap="add">
  18. <view class="small-btn">
  19. <view class="icon iconfont icon-juxing">
  20. </view>
  21. <view>
  22. 新增收货地址
  23. </view>
  24. </view>
  25. </view>
  26. </view>
  27. </template>
  28. <script>
  29. import {pageLogin, getUrl,config,is} from '@/common/js/utils.js';
  30. export default {
  31. data() {
  32. return {
  33. list: [],
  34. order_no: '',
  35. url: '',
  36. id:''
  37. };
  38. },
  39. onShow() {
  40. this.queryAddressList(); // let app =getApp();
  41. // app.isBirthday().then(()=>{
  42. // if(this.$cookieStorage.get("birthday_gift")){
  43. // var giftData=this.$cookieStorage.get("birthday_gift").data;
  44. // new app.ToastPannel().__page.showText(giftData);
  45. // }
  46. // });
  47. },
  48. onLoad(e) {
  49. pageLogin(getUrl());
  50. this.setData({
  51. order_no: e.order_no,
  52. url: e.url
  53. });
  54. },
  55. components: {},
  56. props: {},
  57. methods: {
  58. setInfo(e) {
  59. var from = e.currentTarget.dataset.info;
  60. var data = this.$cookieStorage.get('order_form');
  61. var from=JSON.parse(from);
  62. if (!data) {
  63. return this.view(from.id);
  64. }
  65. var order_no = this.order_no;
  66. if (order_no && data.order_no === order_no) {
  67. data.address = from;
  68. this.$cookieStorage.set('order_form', data);
  69. wx.navigateBack({
  70. url: '/' + this.url
  71. });
  72. } else {
  73. return this.view(from.id);
  74. }
  75. },
  76. view(id) {
  77. wx.navigateTo({
  78. url: '/pages/address/add/add?id=' + id
  79. });
  80. },
  81. add() {
  82. wx.navigateTo({
  83. url: '/pages/address/add/add'
  84. });
  85. },
  86. // 查询收货地址列表
  87. queryAddressList() {
  88. var token = this.$cookieStorage.get('user_token');
  89. this.$http.get({
  90. api: 'api/address',
  91. header: {
  92. Authorization: token
  93. }
  94. }).then(res => {
  95. if (res.statusCode == 200) {
  96. res = res.data;
  97. if (res.status) {
  98. this.setData({
  99. list: res.data
  100. });
  101. } else {
  102. wx.showToast({
  103. title: res.message,
  104. image: '../../../static/error.png'
  105. });
  106. }
  107. } else {
  108. wx.showToast({
  109. title: '获取信息失败',
  110. image: '../../../static/error.png'
  111. });
  112. }
  113. });
  114. },
  115. setData: function (obj) {
  116. let that = this;
  117. let keys = [];
  118. let val, data;
  119. Object.keys(obj).forEach(function (key) {
  120. keys = key.split('.');
  121. val = obj[key];
  122. data = that.$data;
  123. keys.forEach(function (key2, index) {
  124. if (index + 1 == keys.length) {
  125. that.$set(data, key2, val);
  126. } else {
  127. if (!data[key2]) {
  128. that.$set(data, key2, {});
  129. }
  130. }
  131. data = data[key2];
  132. });
  133. });
  134. }
  135. },
  136. computed: {},
  137. watch: {}
  138. };
  139. </script>
  140. <style rel="stylesheet/less" lang="less">
  141. @import "list";
  142. </style>