| 
						 | 
						<template><view id="address-list">	<lf-nav title="地址管理" :showIcon="true" bgColor="#fff"></lf-nav>    <view class="list-box">        <view class="list-item" 			:data-info="JSON.stringify(item)" 			:data-id="item.id" 			v-for="(item, index) in list" 			:key="index"			@click="selectAddress(item.id)">            <!-- <view class="user">                <view class="name">                    <text>{{item.accept_name}}</text>                    <text class="phone">{{item.mobile}}</text>                </view>                <view class="default" v-if="item.is_default">                    默认                </view>            </view>            <view class="address">{{item.address_name}} {{item.address}}</view> -->						<view class="lf-font-28 user-item">				<text class="lf-color-black lf-font-bold">{{item.accept_name}}</text>				<text class="lf-color-777 lf-m-l-20">{{item.mobile}}</text>			</view>			<view class="address-item lf-line-2">				<text>{{item.address_name}}</text>				<text>{{item.address}}</text>			</view>			<view class="menu-item lf-row-between lf-m-t-30">				<view class="lf-row-center">					<radio-group @change="radioChange">						<radio :checked="item.is_default" :value="index"></radio>					</radio-group>					<text class="lf-m-l-15 lf-font-24 lf-color-777">默认地址</text>				</view>				<view class="lf-row-between">					<view @tap="setInfo(item)">						<text class="lf-iconfont icon-bianji"></text>						<text class="lf-m-l-10">编辑</text>					</view>					<view class="lf-m-l-50 lf-color-red" @click="deleteAddress(item, index)">						<text class="lf-iconfont icon-shanchu"></text>						<text class="lf-m-l-10">删除</text>					</view>				</view>			</view>        </view>		<lf-nocontent src="/static/images/empty.png" text="您还未添加地址" v-if="list.length <= 0 && !is_load"></lf-nocontent>    </view>	<view style="height: 230rpx;"></view>	<view class="add-address" @tap="add">	    <view class="small-btn">	    	<text class="lf-iconfont icon-jia"></text>	    	<text class="lf-m-l-10">新增收货地址</text>	    </view>	</view></view>
</template><script>import {pageLogin, getUrl,config,is} from '@/common/js/utils.js';
export default {  data() {    return {      list: [],      order_no: '',      url: '',	  id:'',	  is_load: true,	  is_select: false    };  },
  onShow() {    this.queryAddressList(); // let app =getApp(); 暂时注释
	    // app.isBirthday().then(()=>{
    //     if(this.$cookieStorage.get("birthday_gift")){
    //         var giftData=this.$cookieStorage.get("birthday_gift").data;
    //         new app.ToastPannel().__page.showText(giftData);
    //     }
    // });
  },
  onLoad(e) {    pageLogin(getUrl());		this.is_select = Boolean(Number(e.is_select));	    this.setData({      order_no: e.order_no,      url: e.url    });  },
  components: {},  props: {},  methods: {	  // 删除收货地址
	  deleteAddress(item, index){		  console.log("item", item)		  		  uni.showModal({		  	title: '温馨提示',			content: '您确定删除该收货地址吗?',			success: result => {				if(result.confirm){					var token = this.$cookieStorage.get('user_token');					this.$http.ajax({					  api: '/api/address/'+ item.id,					  method: 'DELETE',					  header: {						Authorization: token					  }					}).then(res => {					  console.log("删除地址", res);					  this.$msg('删除成功', {icon: 'success'});					  this.list.splice(index, 1);					}).catch(err => {					  this.$msg('删除失败', {icon: 'error'});					})				}			}		  })	  },	  // 切换默认地址
	  radioChange(e){		  uni.showLoading({		  	title: '切换默认地址中'		  })		  let current = e.target.value;		  let id = null;		  this.list.forEach((item, index) => {			  if(current == index){				  item.is_default = 1;				  id = item.id;			  }else{				  item.is_default = 0;			  }		  })		  this.switchDefaultAddress(id);	  },	  // 选择地址
	  selectAddress(id){		  if(this.is_select){			  let pages = getCurrentPages();			  let prePage = pages[pages.length - 2];			  prePage.$vm.address_id = id;			  this.$toBack();		  }	  },	  switchDefaultAddress(id){		  var token = this.$cookieStorage.get('user_token');		  this.$http.ajax({		    api: 'api/address/'+ id,		    method: 'PUT',		    header: {		      Authorization: token		    },		    data: {				is_default: 1			}		  }).then(res => {			  uni.hideLoading();			  this.$msg('操作成功', {icon: 'success'});		  }).catch(err => {			   uni.hideLoading();			  this.$msg('切换默认地址失败');		  })	  },    setInfo(e) {      // var from = e.currentTarget.dataset.info;
	  var from = e;      var data = this.$cookieStorage.get('order_form');	  // var from=JSON.parse(from);
	       if (!data) {        return this.view(from.id);      }
      var order_no = this.order_no;
      if (order_no && data.order_no === order_no) {        data.address = from;        this.$cookieStorage.set('order_form', data);        wx.navigateBack({          url: '/' + this.url        });      } else {        return this.view(from.id);      }    },
    view(id) {      wx.navigateTo({        url: '/pages/address/add/add?id=' + id      });    },
    add() {      wx.navigateTo({        url: '/pages/address/add/add'      });    },
    // 查询收货地址列表
    queryAddressList() {		this.is_load = true;      var token = this.$cookieStorage.get('user_token');      this.$http.get({        api: 'api/address',        header: {          Authorization: token        }      }).then(res => {        if (res.statusCode == 200) {          res = res.data;		          if (res.status) {            this.setData({              list: res.data            });          } else {            wx.showToast({              title: res.message,              image: '../../../static/error.png'            });          }        } else {          wx.showToast({            title: '获取信息失败',            image: '../../../static/error.png'          });        }		this.is_load = false;      }).catch(err => {		  this.is_load = false;	  })    },
    setData: function (obj) {      let that = this;      let keys = [];      let val, data;      Object.keys(obj).forEach(function (key) {        keys = key.split('.');        val = obj[key];        data = that.$data;        keys.forEach(function (key2, index) {          if (index + 1 == keys.length) {            that.$set(data, key2, val);          } else {            if (!data[key2]) {              that.$set(data, key2, {});            }          }
          data = data[key2];        });      });    }  },  computed: {},  watch: {}};</script>
<style>	page{		background-color: #F8F8F8;	}</style><style rel="stylesheet/less" lang="less">    @import "list";	.lf-color-red{		color: red;	}	.user-item, .menu-item{		height: 50rpx;		width: 100%;	}	.address-item{		width: 100%;		margin-top: 10rpx;		font-size: 28rpx;		color: #333333;	}</style>
  |