Commit d29e7e00d1690dc77bbef7d722e185ae3a9cb634

Authored by F5VT98DI7XY4X12\Administrator
1 parent 7d6ab3d6

购物车的选择收货地址, 收货地址, 尾款选择物流,收货地址选择优惠券

images/dpr.png 0 → 100644

21.7 KB

images/nothingaddress.png 0 → 100644

17.8 KB

pages/cart/cart2/cart2.js
@@ -73,6 +73,7 @@ Page({ @@ -73,6 +73,7 @@ Page({
73 //选择的券的门店 73 //选择的券的门店
74 selected_quan_pick:null, 74 selected_quan_pick:null,
75 is_close_quan:0, 75 is_close_quan:0,
  76 + disabled:0,
76 77
77 }, 78 },
78 onLoad: function(t) { 79 onLoad: function(t) {
@@ -990,7 +991,7 @@ Page({ @@ -990,7 +991,7 @@ Page({
990 }, 991 },
991 enterAddressPage: function() { 992 enterAddressPage: function() {
992 this.data.enterAddressPage = !0, wx.navigateTo({ 993 this.data.enterAddressPage = !0, wx.navigateTo({
993 - url: "/pages/user/address_list/address_list?operate=select" 994 + url: "/pages/user/address_list/address_list?is_back=1"
994 }); 995 });
995 }, 996 },
996 997
@@ -1119,7 +1120,7 @@ Page({ @@ -1119,7 +1120,7 @@ Page({
1119 1120
1120 1121
1121 if(bn==1){ 1122 if(bn==1){
1122 - th.setData({open_quan:1,selected_quan_pick:pickid}); 1123 + th.setData({open_quan:1,selected_quan_pick:pickid, disabled:1});
1123 }else{ 1124 }else{
1124 //---多单打开券的时候,就要判断券在其他门店是否有使用--- 1125 //---多单打开券的时候,就要判断券在其他门店是否有使用---
1125 var quanlist=th.data.cartlist[cindx].quan_list; 1126 var quanlist=th.data.cartlist[cindx].quan_list;
@@ -1128,12 +1129,12 @@ Page({ @@ -1128,12 +1129,12 @@ Page({
1128 var is_using= th.check_in_sele(quanlist[i].CashRepNo,pickid); 1129 var is_using= th.check_in_sele(quanlist[i].CashRepNo,pickid);
1129 if(is_using) quanlist[i].is_using=1; 1130 if(is_using) quanlist[i].is_using=1;
1130 } 1131 }
1131 - th.setData({open_quan:1,selected_quan_pick:pickid,selected_quan_list:quanlist}); 1132 + th.setData({open_quan:1,selected_quan_pick:pickid,selected_quan_list:quanlist,disabled:1});
1132 } 1133 }
1133 }, 1134 },
1134 close_coupon:function (e) { 1135 close_coupon:function (e) {
1135 var th=this; 1136 var th=this;
1136 - th.setData({open_quan:0}); 1137 + th.setData({open_quan:0,disabled:0});
1137 }, 1138 },
1138 1139
1139 //---判断券时候在已经选择的列表中--- 1140 //---判断券时候在已经选择的列表中---
pages/cart/cart2/cart2.wxml
@@ -89,7 +89,7 @@ @@ -89,7 +89,7 @@
89 <view class="coupon-mes"> 89 <view class="coupon-mes">
90 <view>用户备注(50字)</view> 90 <view>用户备注(50字)</view>
91 <view class="leave-word"> 91 <view class="leave-word">
92 - <textarea bindinput="keyUpChangeNum" class="word-box" maxlength="50" name="user_note_{{item.pickup_id}}"></textarea> 92 + <textarea bindinput="keyUpChangeNum" disabled="{{disabled}}" class="word-box" maxlength="50" name="user_note_{{item.pickup_id}}"></textarea>
93 <view class="max-word">{{maxWord}}/50</view> 93 <view class="max-word">{{maxWord}}/50</view>
94 </view> 94 </view>
95 </view> 95 </view>
@@ -183,19 +183,9 @@ @@ -183,19 +183,9 @@
183 </view> 183 </view>
184 </view> 184 </view>
185 <view class="coupon-mes"> 185 <view class="coupon-mes">
186 - <!-- <view bindtap="useCoupon" class="coupon-title">  
187 - <view class="classname">  
188 - <view class="">优惠券</view>  
189 - <view class="coupon-num">{{order.couponNum}}张可用</view>  
190 - </view>  
191 - <view class="set-btn">  
192 - <view>{{coupon?coupon.coupon.name:'未使用'}}</view>  
193 - <image class="arrow-rigth" src="{{imgUrl}}/miniapp/images/icon-arrowdown.png"></image>  
194 - </view>  
195 - </view> -->  
196 <view>用户备注(50字)</view> 186 <view>用户备注(50字)</view>
197 <view class="leave-word"> 187 <view class="leave-word">
198 - <textarea bindinput="keyUpChangeNum" class="word-box" maxlength="50" name="user_note"></textarea> 188 + <textarea bindinput="keyUpChangeNum" disabled="{{disabled}}" class="word-box" maxlength="50" name="user_note"></textarea>
199 <view class="max-word">{{maxWord}}/50</view> 189 <view class="max-word">{{maxWord}}/50</view>
200 </view> 190 </view>
201 </view> 191 </view>
pages/cart/cart_wk/cart_wk.js
@@ -287,6 +287,9 @@ Page({ @@ -287,6 +287,9 @@ Page({
287 this.setData({ 287 this.setData({
288 exp_type: type 288 exp_type: type
289 }); 289 });
  290 +
  291 +
  292 +
290 //--计算物流的值-- 293 //--计算物流的值--
291 if (type == 0) { 294 if (type == 0) {
292 th.calculate_wuliu(); 295 th.calculate_wuliu();
@@ -405,7 +408,7 @@ Page({ @@ -405,7 +408,7 @@ Page({
405 case 2: 408 case 2:
406 if (goods_weight < 0) goods_weight = 0; 409 if (goods_weight < 0) goods_weight = 0;
407 //累积商品重量 每种商品的重量 * 数量 410 //累积商品重量 每种商品的重量 * 数量
408 - goods_weight += good['weight'] * good['buynum']; 411 + goods_weight += good['weight'] * th.data.order.order_goods['goods_num'];
409 break; 412 break;
410 case 3: 413 case 3:
411 if (goods_piece < 0) goods_piece = 0; 414 if (goods_piece < 0) goods_piece = 0;
pages/user/add_address/add_address.js
@@ -12,6 +12,7 @@ Page({ @@ -12,6 +12,7 @@ Page({
12 iurl: a.imghost, 12 iurl: a.imghost,
13 address: null, 13 address: null,
14 isnew:0, 14 isnew:0,
  15 + is_op_co:false,//switch开关
15 }, 16 },
16 onLoad: function(s) { 17 onLoad: function(s) {
17 var a = this,th=a; 18 var a = this,th=a;
@@ -25,6 +26,31 @@ Page({ @@ -25,6 +26,31 @@ Page({
25 th.initRegions(); 26 th.initRegions();
26 }) 27 })
27 }, 28 },
  29 + onReachBottom: function () {
  30 + if (this.data.total <= 6) return;
  31 + if (this.data.ismore) return;
  32 + this.requestAddressList();
  33 + },
  34 +
  35 + requestAddressList: function () {
  36 + var e = this;
  37 + t.get(e.data.url + "/api/weshop/useraddress/page", {
  38 + data: { store_id: os.stoid, user_id: oo.user_id, page: e.data.curpage, pageSize: 6 },
  39 + success: function (t) {
  40 + e.data.curpage++;
  41 + var arr1 = e.data.addresses;
  42 + var arr2 = t.data.data.pageData;
  43 + var arr3 = [...arr1, ...arr2];
  44 +
  45 + var ismore = 0;
  46 + if (arr3.length == t.data.data.total) ismore = 1
  47 +
  48 + e.setData({
  49 + addresses: arr3, total: t.data.data.total, ismore: ismore
  50 + }), wx.stopPullDownRefresh();
  51 + }
  52 + });
  53 + },
28 initRegions: function() { 54 initRegions: function() {
29 var e = this; 55 var e = this;
30 new s.default(this, "regions", { 56 new s.default(this, "regions", {
@@ -44,92 +70,101 @@ Page({ @@ -44,92 +70,101 @@ Page({
44 } 70 }
45 }); 71 });
46 }, 72 },
  73 + //-----------添加或者编辑-----------
  74 + submitAddress: function (s) {
  75 + var a = this.data.address, b = a, th = this;
  76 + Object.assign(a, s.detail.value), a.is_default = Number(a.is_default);
  77 + a.store_id = os.stoid;
47 78
48 - //-----------添加或者编辑-----------  
49 - submitAddress: function(s) {  
50 - var a= this.data.address, b=a,th=this;  
51 - Object.assign(a, s.detail.value), a.is_default = Number(a.is_default);  
52 - a.store_id = os.stoid;  
53 -  
54 - var ob = ut.check_mobile(a.mobile);  
55 - if(ob.code!=1){  
56 - return getApp().my_warnning(ob.title,0,th);  
57 - }  
58 -  
59 - if (a.more_address == null || a.more_address == undefined || a.more_address=="" ){  
60 - getApp().my_warnning("请选择地区",0,th);  
61 - return false;  
62 - }  
63 -  
64 -  
65 - //判断是不是空对象  
66 - //--------如果是修改地址----------  
67 - if (!th.data.isnew){  
68 - if (a.is_default==1){  
69 - t.put("/api/weshop/useraddress/update", {  
70 - data: { user_id: oo.user_id, is_default:0},  
71 - success: function (s) {  
72 - t.put("/api/weshop/useraddress/updateById", {  
73 - data: a,  
74 - success: function (s) {  
75 - e.showSuccess(s.data.msg, function () {  
76 - wx.navigateBack();  
77 - });  
78 - }  
79 - });  
80 - }  
81 - });  
82 -  
83 - }else{  
84 - t.put("/api/weshop/useraddress/updateById", {  
85 - data: a,  
86 - success: function (s) {  
87 - e.showSuccess(s.data.msg, function () {  
88 - wx.navigateBack();  
89 - });  
90 - } 79 + //判断用户名是否为空
  80 + var cs = th.check(a.consignee);
  81 + if (cs != 1) {
  82 + return getApp().my_warnning("收货姓名不能为空", 0, th);
  83 + }
  84 +
  85 + var ob = ut.check_mobile(a.mobile);
  86 + if (ob.code != 1) {
  87 + return getApp().my_warnning(ob.title, 0, th);
  88 + }
  89 +
  90 + if (a.more_address == null || a.more_address == undefined || a.more_address == "") {
  91 + getApp().my_warnning("请选择地区", 0, th);
  92 + return false;
  93 + }
  94 + //判断地址是否为空
  95 + var add = th.check(a.address);
  96 + if (add != 1) {
  97 + return getApp().my_warnning("详细地址不能为空", 0, th);
  98 + }
  99 +
  100 + //判断是不是空对象
  101 + //--------如果是修改地址----------
  102 + if (!th.data.isnew) {
  103 + if (a.is_default == 1) {
  104 + t.put("/api/weshop/useraddress/update", {
  105 + data: { user_id: oo.user_id, is_default: 0 },
  106 + success: function (s) {
  107 + t.put("/api/weshop/useraddress/updateById", {
  108 + data: a,
  109 + success: function (s) {
  110 + e.showSuccess(s.data.msg, function () {
  111 + wx.navigateBack();
91 }); 112 });
92 - }  
93 -  
94 - }else{  
95 - a['user_id'] = oo.user_id;  
96 - a['store_id'] = os.stoid;  
97 -  
98 -  
99 - if (a.is_default == 1) {  
100 - t.put("/api/weshop/useraddress/update", {  
101 - data: { user_id: oo.user_id, is_default: 0 },  
102 - success: function (s) {  
103 -  
104 - //-----新增地址-------  
105 - t.post("/api/weshop/useraddress/save", {  
106 - data: a,  
107 - success: function (s) {  
108 - e.showSuccess(s.data.msg, function () {  
109 - wx.navigateBack();  
110 - });  
111 - }  
112 - });  
113 -  
114 - }  
115 - })  
116 - }else{  
117 -  
118 - //-----新增地址-------  
119 - t.post("/api/weshop/useraddress/save", {  
120 - data: a,  
121 - success: function (s) {  
122 - e.showSuccess(s.data.msg, function () {  
123 - wx.navigateBack();  
124 - });  
125 - }  
126 - });  
127 - }  
128 -  
129 -  
130 -  
131 - }  
132 - }, 113 + }
  114 + });
  115 + }
  116 + });
  117 +
  118 + } else {
  119 + t.put("/api/weshop/useraddress/updateById", {
  120 + data: a,
  121 + success: function (s) {
  122 + e.showSuccess(s.data.msg, function () {
  123 + wx.navigateBack();
  124 + });
  125 + }
  126 + });
  127 + }
  128 +
  129 + } else {
  130 + a['user_id'] = oo.user_id;
  131 + a['store_id'] = os.stoid;
  132 +
  133 +
  134 + if (a.is_default == 1) {
  135 + t.put("/api/weshop/useraddress/update", {
  136 + data: { user_id: oo.user_id, is_default: 0 },
  137 + success: function (s) {
  138 +
  139 + //-----新增地址-------
  140 + t.post("/api/weshop/useraddress/save", {
  141 + data: a,
  142 + success: function (s) {
  143 + e.showSuccess(s.data.msg, function () {
  144 + wx.navigateBack();
  145 + });
  146 + }
  147 + });
  148 +
  149 + }
  150 + })
  151 + } else {
  152 +
  153 + //-----新增地址-------
  154 + t.post("/api/weshop/useraddress/save", {
  155 + data: a,
  156 + success: function (s) {
  157 + e.showSuccess(s.data.msg, function () {
  158 + wx.navigateBack();
  159 + });
  160 + }
  161 + });
  162 + }
  163 +
  164 +
  165 +
  166 + }
  167 + },
133 168
134 //---------删除收货地址------------ 169 //---------删除收货地址------------
135 deleteAddress: function() { 170 deleteAddress: function() {
@@ -146,5 +181,20 @@ Page({ @@ -146,5 +181,20 @@ Page({
146 }); 181 });
147 } 182 }
148 }); 183 });
149 - } 184 + },
  185 + //是否是默认地址
  186 + bind_is_op_co:function(e){
  187 + var i = e.detail;
  188 + this.setData({
  189 + is_op_co:i
  190 + })
  191 + console.log(i)
  192 + },
  193 + check:function(as){
  194 + var code = 1;
  195 + if(as===''){
  196 + code = -1;
  197 + }
  198 + return code;
  199 +}
150 }); 200 });
151 \ No newline at end of file 201 \ No newline at end of file
pages/user/add_address/add_address.wxml
1 <import src="../../../utils/regions/regions.wxml"></import> 1 <import src="../../../utils/regions/regions.wxml"></import>
  2 +
  3 +
2 <view class="container"> 4 <view class="container">
  5 +<view class="topbcolor"></view>
3 <form bindsubmit="submitAddress"> 6 <form bindsubmit="submitAddress">
  7 +
4 <view class="item"> 8 <view class="item">
5 - <view class="item-name">收货人:</view>  
6 - <input class="item-input" name="consignee" value="{{address.consignee}}"></input> 9 + <view class="item-name">收货人</view>
  10 + <input class="item-input" name="consignee" value="{{address.consignee}}" placeholder="请填写收货人姓名" placeholder-style="color: rgb(199, 199, 199)"></input>
7 </view> 11 </view>
8 <view class="item"> 12 <view class="item">
9 - <view class="item-name">手机号码:</view>  
10 - <input type="number" class="item-input" name="mobile" value="{{address.mobile}}"></input> 13 + <view class="item-name">手机号码</view>
  14 + <input type="number" class="item-input" name="mobile" value="{{address.mobile}}" placeholder="请填写收货人手机号" placeholder-style="color: rgb(199, 199, 199)"></input>
11 </view> 15 </view>
12 <view bindtap="openRegionsModal" class="item" data-id="0"> 16 <view bindtap="openRegionsModal" class="item" data-id="0">
13 - <view class="item-name">所在地区:</view>  
14 - <view class="item-input">{{address.more_address}}</view> 17 + <view class="item-name">所在地区</view>
  18 + <view class="item-input{{address.more_address==null?'address':''}}">{{address.more_address==null?'省市区县,乡镇等':address.more_address}}</view>
15 <view class="item-img"> 19 <view class="item-img">
16 <image class="arrow" src="{{iurl}}/miniapp/images/icon-arrowdown.png"></image> 20 <image class="arrow" src="{{iurl}}/miniapp/images/icon-arrowdown.png"></image>
17 </view> 21 </view>
  22 + </view>
  23 + <view class="detailed">
  24 + <view class="detailed_item-name">详细地址</view>
  25 + <textarea class="detailed_item-input" name="address" value="{{address.address}}" placeholder="街道 楼牌号等" placeholder-style="color: rgb(199, 199, 199)"></textarea>
18 </view> 26 </view>
19 - <view class="item">  
20 - <view class="item-name">详细地址:</view>  
21 - <input class="item-input" name="address" value="{{address.address}}"></input>  
22 - </view>  
23 - <view class="item"> 27 + <view class="item item_default">
24 <view class="item-name">设为默认地址</view> 28 <view class="item-name">设为默认地址</view>
25 - <switch checked="{{address.is_default==1?true:false}}" class="item-switch" color="#e30000" name="is_default" type="switch"></switch> 29 + <switch checked="{{address.is_default==1?true:false}}" class="item-switch"
  30 + color="{{address.is_default==1?'rgb(239,22,51)':is_op_co==false?'white':'rgb(239,22,51)'}}" name="is_default" type="switch" bindchange="bind_is_op_co"/>
26 </view> 31 </view>
27 <view class="address-btns"> 32 <view class="address-btns">
28 - <button bindtap="deleteAddress" class="delete-btn">删除地址</button> 33 + <button bindtap="deleteAddress" wx:if="{{address.mobile!=null}}" class="delete-btn">删除地址</button>
29 <button class="submit-btn" formType="submit">提交地址</button> 34 <button class="submit-btn" formType="submit">提交地址</button>
30 </view> 35 </view>
31 </form> 36 </form>
pages/user/add_address/add_address.wxss
1 page { 1 page {
2 - background: white; 2 + background: rgb(255, 255, 255);
  3 +}
  4 +
  5 +.topbcolor {
  6 + width: 100%;
  7 + height: 7rpx;
  8 + background-color: rgb(245, 245, 245);
3 } 9 }
4 10
5 .item { 11 .item {
6 - float: left;  
7 - padding: 0 30rpx;  
8 - width: 100%;  
9 - box-sizing: border-box;  
10 - font-size: 30rpx;  
11 - border-bottom: 1rpx #f5f5f5 solid;  
12 - line-height: 100rpx;  
13 - height: 100rpx;  
14 - position: relative; 12 + display: flex;
  13 + align-items: center;
  14 + padding: 0 31rpx;
  15 + width: 100%;
  16 + box-sizing: border-box;
  17 + border-bottom: 1rpx #f5f5f5 solid;
  18 + height: 98rpx;
  19 + position: relative;
  20 + font-size: 26rpx;
  21 + padding-top: 16rpx;
15 } 22 }
16 23
17 .item-name { 24 .item-name {
18 - float: left; 25 + display: flex;
  26 + align-items: center;
  27 + height: 100%;
  28 + width: 104rpx;
  29 +}
  30 +
  31 +.item-img {
  32 + height: 100%;
  33 + align-items: center;
  34 +}
  35 +
  36 +.item_default {
  37 + display: flex;
  38 + justify-content: space-between;
  39 +}
  40 +
  41 +.item_default .item-name {
  42 + width: 200rpx;
19 } 43 }
20 44
21 .item-input { 45 .item-input {
22 - float: left;  
23 - height: 100rpx;  
24 - width: 450rpx;  
25 - margin-left: 20rpx;  
26 - word-break: keep-all;  
27 - white-space: nowrap;  
28 - overflow: hidden;  
29 - text-overflow: ellipsis; 46 + display: flex;
  47 + height: 100%;
  48 + margin-left: 40rpx;
  49 + /* word-break: keep-all;
  50 + white-space: nowrap;
  51 + overflow: hidden; */
  52 + text-overflow: ellipsis;
  53 + color: rgb(0, 0, 0);
  54 + align-items: center;
  55 + width: 74%;
  56 +}
  57 +
  58 +.item-inputaddress {
  59 + color: rgb(199, 199, 199);
  60 + margin-left: 40rpx;
  61 +}
  62 +
  63 +.detailed {
  64 + height: 193rpx;
  65 + padding-bottom: 95rpx;
  66 + display: flex;
  67 + padding: 0 31rpx;
  68 + padding-top: 41rpx;
  69 + font-size: 26rpx;
  70 + border-bottom: 1rpx #f5f5f5 solid;
  71 +}
  72 +
  73 +.detailed .detailed_item-name {
  74 + width: 137rpx;
  75 +}
  76 +
  77 +.detailed_item-input {
  78 + margin-left: 40rpx;
  79 + height: auto;
  80 + width: 100%;
  81 + min-height: 40rpx;
  82 + padding-bottom: 28rpx;
30 } 83 }
31 84
32 .item-switch { 85 .item-switch {
33 - float: right; 86 + zoom: 0.7;
  87 +}
  88 +
  89 +.item-switch::before {
  90 + width: 80rpx !important;
  91 + height: 35rpx !important;
  92 + zoom: 1;
34 } 93 }
35 94
36 .arrow { 95 .arrow {
37 - position: absolute;  
38 - right: 30rpx;  
39 - width: 32rpx;  
40 - height: 32rpx;  
41 - padding-top: 30rpx; 96 + position: absolute;
  97 + right: 26rpx;
  98 + width: 26rpx;
  99 + height: 26rpx;
  100 + padding-top: 28rpx;
42 } 101 }
43 102
44 .address-btns { 103 .address-btns {
45 - position: absolute;  
46 - bottom: 80rpx;  
47 - float: left;  
48 - width: 100%;  
49 - padding: 10rpx 0; 104 + position: absolute;
  105 + display: flex;
  106 + justify-content: center;
  107 + align-items: center;
  108 + bottom: 80rpx;
  109 + width: 100%;
50 } 110 }
51 111
52 .delete-btn { 112 .delete-btn {
53 - float: left;  
54 - width: 40%;  
55 - margin: 0 10% 0 5%;  
56 - border-radius: 10rpx;  
57 - color: #999;  
58 - border: 1px solid #f2f2f2; 113 + display: flex;
  114 + justify-content: center;
  115 + align-items: center;
  116 + width: 285rpx;
  117 + height: 60rpx;
  118 + border-radius: 40rpx;
  119 + font-size: 27rpx;
  120 + color: rgb(0, 0, 0);
  121 + border: 1rpx solid rgb(210, 210, 210);
59 } 122 }
60 123
61 .submit-btn { 124 .submit-btn {
62 - float: left;  
63 - width: 40%;  
64 - background-color: #e30000;  
65 - color: white;  
66 - border-radius: 10rpx; 125 + display: flex;
  126 + justify-content: center;
  127 + align-items: center;
  128 + width: 285rpx;
  129 + height: 59rpx;
  130 + background-color: #e30000;
  131 + font-size: 27rpx;
  132 + color: rgb(255, 255, 255);
  133 + border-radius: 40rpx;
67 } 134 }
68 -  
69 -@import "../../../utils/regions/regions.wxss";  
70 \ No newline at end of file 135 \ No newline at end of file
  136 +@import "../../../utils/regions/regions.wxss";
pages/user/address_list/address_list.js
1 -var e = getApp(), t = require("../../../utils/request.js"),os=e.globalData.setting,oo=e.globalData; 1 +var e = getApp(), t = require("../../../utils/request.js"), os = e.globalData.setting, oo = e.globalData, t = e.request;
2 2
3 3
4 Page({ 4 Page({
5 - data: {  
6 - url: e.globalData.setting.url,  
7 - resourceUrl: e.globalData.setting.resourceUrl,  
8 - iurl: e.globalData.setting.imghost,  
9 - addresses: [],  
10 - operate: null,  
11 - curpage:1,  
12 - total:0,  
13 - ismore:0,  
14 -  
15 - },  
16 - onLoad: function(e) {  
17 - this.data.operate = e.operate;  
18 - },  
19 - onShow: function() {  
20 - this.data.curpage=1;  
21 - this.data.addresses=[];  
22 - this.requestAddressList();  
23 - },  
24 - 5 + data: {
  6 + url: e.globalData.setting.url,
  7 + resourceUrl: e.globalData.setting.resourceUrl,
  8 + iurl: e.globalData.setting.imghost,
  9 + addresses: [],
  10 + operate: null,
  11 + curpage: 1,
  12 + total: 0,
  13 + ismore: 0,
  14 + is_back:0, //有没有跳转
  15 + isloading:0,
  16 + is_address_read:0
  17 + },
  18 + onLoad: function (e) {
  19 + this.data.operate = e.operate;
  20 + var is_back=e.is_back;
  21 + if (is_back) this.setData({ is_back: is_back})
  22 + },
  23 + onShow: function () {
  24 + this.data.curpage = 1;
  25 + this.data.addresses = [];
  26 + this.requestAddressList();
  27 + console.log(this.data.addresses)
  28 + },
  29 +
25 30
26 onReachBottom: function () { 31 onReachBottom: function () {
27 - if(this.data.total<=6) return;  
28 - if(this.data.ismore) return;  
29 - this.requestAddressList(); 32 + if (this.data.total <= 6) return;
  33 + if (this.data.ismore) return;
  34 + this.requestAddressList();
30 }, 35 },
31 36
32 - requestAddressList: function() {  
33 - var tt= Math.random() * 100  
34 - var e = this;  
35 - t.get(e.data.url + "/api/weshop/useraddress/page", {  
36 - data: { store_id: os.stoid, user_id: oo.user_id, page: e.data.curpage,pageSize:6,t:tt},  
37 - success: function(t) {  
38 - e.data.curpage++;  
39 - var arr1 = e.data.addresses;  
40 - var arr2 = t.data.data.pageData;  
41 - var arr3 = [...arr1, ...arr2]; 37 + requestAddressList: function () {
  38 + var tt = Math.random() * 100
  39 + var e = this;
  40 + t.get(e.data.url + "/api/weshop/useraddress/page", {
  41 + data: { store_id: os.stoid, user_id: oo.user_id, page: e.data.curpage, pageSize: 6, t: tt },
  42 + success: function (t) {
  43 + e.data.curpage++;
  44 + var arr1 = e.data.addresses;
  45 + var arr2 = t.data.data.pageData;
  46 + var arr3 = [...arr1, ...arr2];
42 47
43 - var ismore=0;  
44 - if (arr3.length == t.data.data.total) ismore=1 48 + var ismore = 0;
  49 + if (arr3.length == t.data.data.total) ismore = 1
45 50
46 - e.setData({  
47 - addresses: arr3, total: t.data.data.total, ismore: ismore  
48 - }), wx.stopPullDownRefresh();  
49 - }  
50 - });  
51 - }, 51 + e.setData({
  52 + addresses: arr3, total: t.data.data.total, ismore: ismore,
  53 + is_address_read:1
  54 + }), wx.stopPullDownRefresh();
  55 + }
  56 + });
  57 + },
52 58
53 - /*----------编辑地址----------*/  
54 - editAddress: function(e) {  
55 - var t = this.getAddressData(e.currentTarget.dataset.id), s = "";  
56 - for (var a in t) s += (0 != s.length ? "&" : "?") + a + "=" + t[a];  
57 - s && wx.navigateTo({  
58 - url: "/pages/user/add_address/add_address" + s  
59 - });  
60 - }, 59 + /*----------编辑地址----------*/
  60 + editAddress: function (e) {
  61 + var t = this.getAddressData(e.currentTarget.dataset.id), s = "";
  62 + for (var a in t) s += (0 != s.length ? "&" : "?") + a + "=" + t[a];
  63 + s && wx.navigateTo({
  64 + url: "/pages/user/add_address/add_address" + s
  65 + });
  66 + },
61 67
62 - /*-----选择地址返回确认------*/  
63 - selectAddress: function(e) {  
64 - if (null != this.data.operate) {  
65 - /*----  
66 - if ("select" == this.data.operate) wx.setStorageSync("cart:cart2:address_id", e.currentTarget.dataset.item.address_id); else if ("teamSelect" == this.data.operate) wx.setStorageSync("team:confirm:address_id", e.currentTarget.dataset.item.address_id); else if ("selectAddress" == this.data.operate) {  
67 - var t = {  
68 - address: e.currentTarget.dataset.item.province_name + e.currentTarget.dataset.item.city_name + e.currentTarget.dataset.item.district_name,  
69 - district: e.currentTarget.dataset.item.district  
70 - };  
71 - wx.setStorageSync("goodsInfo:goodsInfo:address", t);  
72 - }---*/  
73 - oo.baddr = e.currentTarget.dataset.item;  
74 - wx.navigateBack();  
75 - }  
76 - },  
77 - getAddressData: function(e) {  
78 - var t = this.data.addresses;  
79 - for (var s in t) if (t[s].address_id == e) break;  
80 - return s ? t[s] : {};  
81 - }, 68 + /*-----选择地址返回确认------*/
  69 + selectAddress: function (e) {
  70 + if (null != this.data.operate) {
  71 + /*----
  72 + if ("select" == this.data.operate) wx.setStorageSync("cart:cart2:address_id", e.currentTarget.dataset.item.address_id); else if ("teamSelect" == this.data.operate) wx.setStorageSync("team:confirm:address_id", e.currentTarget.dataset.item.address_id); else if ("selectAddress" == this.data.operate) {
  73 + var t = {
  74 + address: e.currentTarget.dataset.item.province_name + e.currentTarget.dataset.item.city_name + e.currentTarget.dataset.item.district_name,
  75 + district: e.currentTarget.dataset.item.district
  76 + };
  77 + wx.setStorageSync("goodsInfo:goodsInfo:address", t);
  78 + }---*/
  79 + oo.baddr = e.currentTarget.dataset.item;
  80 + wx.navigateBack();
  81 + }
  82 + },
  83 + getAddressData: function (e) {
  84 + var t = this.data.addresses;
  85 + for (var s in t) if (t[s].address_id == e) break;
  86 + return s ? t[s] : {};
  87 + },
82 88
83 - go_url:function(e){  
84 - var url=e.currentTarget.dataset.url;  
85 - getApp().goto(url); 89 + go_url: function (e) {
  90 + var url = e.currentTarget.dataset.url;
  91 + getApp().goto(url);
  92 +
  93 + },
  94 + //判断是否选择
  95 + add_is_pickup:function(e){
  96 + var th = this;
  97 + var index = e.currentTarget.dataset.icon;
  98 + var a = this.data.addresses[index];
  99 +
  100 + if(a.is_pickup==1) {
  101 + if(th.data.is_back){
  102 + wx.navigateBack({});
  103 + }
  104 + return false;
86 } 105 }
87 106
  107 + if (th.data.isloading) return;
  108 + th.data.isloading=1;
88 109
  110 +
  111 +
  112 +
  113 + t.put("/api/weshop/useraddress/updatePickUp", {
  114 + data: { user_id: oo.user_id, is_pickup: 0 },
  115 + isShowLoading:0,
  116 + success: function (s) {
  117 + var add_arr = th.data.addresses;
  118 + for (var i in add_arr){
  119 + add_arr[i].is_pickup=0;
  120 + }
  121 + th.setData({addresses:add_arr});
  122 + a.is_pickup = 1;
  123 + t.put("/api/weshop/useraddress/updateById", {
  124 + data: a,
  125 + isShowLoading: 0,
  126 + success: function (s) {
  127 + var obj={};
  128 + var txt = "addresses[" + index +"].is_pickup";
  129 + obj[txt]=1;
  130 + th.setData(obj);
  131 + th.data.isloading=0
  132 + if (th.data.is_back) {
  133 + wx.navigateBack({});
  134 + }
  135 +
  136 +
  137 + },fail: function (t) {
  138 + th.data.isloading = 0;
  139 + }
  140 + });
  141 + },
  142 + fail: function (t) {
  143 + th.data.isloading = 0;
  144 + }
  145 + });
  146 +
  147 +
  148 +
  149 + }
89 }); 150 });
90 \ No newline at end of file 151 \ No newline at end of file
pages/user/address_list/address_list.wxml
1 -<view class="container"> 1 +<!-- <view class="container">
2 <view class="address-box" wx:for="{{addresses}}" wx:key="{{index}}"> 2 <view class="address-box" wx:for="{{addresses}}" wx:key="{{index}}">
3 <view class="address-user"> 3 <view class="address-user">
4 <view class="user-name">{{item.consignee}}</view> 4 <view class="user-name">{{item.consignee}}</view>
@@ -12,7 +12,68 @@ @@ -12,7 +12,68 @@
12 <image src="{{iurl}}/miniapp/images/address_edit.png"></image> 12 <image src="{{iurl}}/miniapp/images/address_edit.png"></image>
13 </view> 13 </view>
14 </view> 14 </view>
15 - <view bindtap="go_url" class="address-create" data-url="/pages/user/add_address/add_address"> 15 + <navigator class="address-create" url="/pages/user/add_address/add_address">
16 <view class="create-btn">+新建地址</view> 16 <view class="create-btn">+新建地址</view>
17 - </view> 17 + </navigator>
  18 +</view> -->
  19 +<!-- 无收货地址提醒页面 -->
  20 +<view class="topbcolor"></view>
  21 +<view class="nothing" wx:if="{{is_address_read==0?false:true && addresses.length<0}}">
  22 + <view class="image flex-level">
  23 + <image src="../../../images/nothingaddress.png"></image>
  24 + </view>
  25 +
  26 + <view class="nothingaddress flex-level">
  27 + <view>暂无收货地址</view>
  28 + </view>
  29 +
  30 + <view class="address flex-level">
  31 + <navigator bindtap="go_url" data-url="/pages/user/add_address/add_address">添加收货地址</navigator>
  32 + </view>
18 </view> 33 </view>
  34 +
  35 +<!-- 收货地址页面集合框架 -->
  36 +<view class="container" wx:if="{{addresses.length>0}}">
  37 + <!-- 所有的收货地址框架 -->
  38 + <view class="address-box">
  39 +
  40 + <!-- 单个收货地址框架 -->
  41 + <view class="address-user" wx:for="{{addresses}}" wx:key="{{index}}">
  42 + <!-- 选择icon -->
  43 + <view class="icon">
  44 + <icon type="success" color="red" size="33rpx" wx:if="{{item.is_pickup==1}}" bindtap="add_is_pickup" data-icon="{{index}}"></icon>
  45 + <icon class="no_xuanze" color="white" wx:if="{{item.is_pickup==0}}" bindtap="add_is_pickup" data-icon="{{index}}"></icon>
  46 + </view>
  47 +
  48 + <!-- 收货地址全部信息 -->
  49 + <view class="address">
  50 + <!-- 个人直接信息 -->
  51 + <view class="user">
  52 + <!-- 名字 -->
  53 + <view class="userName">{{item.consignee}}</view>
  54 + <!-- 电话 -->
  55 + <view class="userPhone">{{item.mobile}}</view>
  56 + <view class="default" wx:if="{{item.is_default}}">默认地址</view>
  57 + </view>
  58 +
  59 + <!-- 收货地址 -->
  60 + <view class="ShippingAddress ellipsis-2 ">{{item.more_address}} {{item.address}}</view>
  61 + </view>
  62 +
  63 + <!-- 编辑地址图片 -->
  64 + <view class="edit" bindtap="editAddress" data-id="{{item.address_id}}">
  65 + <image src="../../../images/dpr.png"></image>
  66 + </view>
  67 + </view>
  68 +
  69 + </view>
  70 +
  71 + <!-- 新建收货地址 -->
  72 + <view class="new">
  73 + <navigator bindtap="go_url" data-url="/pages/user/add_address/add_address">
  74 + <view class="add">+</view>
  75 + <view class="addAddress">新建收货地址</view>
  76 + </navigator>
  77 + </view>
  78 +
  79 +</view>
19 \ No newline at end of file 80 \ No newline at end of file
pages/user/address_list/address_list.wxss
1 -page { 1 +/* 没有收货地址时的样式 */
  2 +
  3 +.nothing {
  4 + width: 100%;
  5 + font-size: 31rpx;
  6 +}
  7 +
  8 +.nothing image {
  9 + width: 299rpx;
  10 + height: 283rpx;
  11 + margin-top: 161rpx;
  12 +}
  13 +
  14 +.nothing .nothingaddress {
  15 + color: rgb(251, 65, 66);
  16 + margin-top: 35rpx;
  17 +}
  18 +
  19 +.nothing .address {
  20 + margin-top: 61rpx;
  21 +}
  22 +
  23 +.nothing .address navigator {
  24 + color: rgb(255, 255, 255);
  25 + background-color: rgb(251, 65, 66);
  26 + width: 256rpx;
  27 + height: 55rpx;
  28 + border-radius: 30rpx;
  29 + display: flex;
  30 + align-items: center;
  31 + justify-content: center;
  32 +}
  33 +
  34 +/* page {
2 margin-bottom: 200rpx; 35 margin-bottom: 200rpx;
3 } 36 }
4 37
@@ -15,7 +48,7 @@ page { @@ -15,7 +48,7 @@ page {
15 width: 150rpx; 48 width: 150rpx;
16 } 49 }
17 50
18 -.user-name { 51 +.N-name {
19 font-size: 30rpx; 52 font-size: 30rpx;
20 padding-bottom: 20rpx; 53 padding-bottom: 20rpx;
21 word-break: keep-all; 54 word-break: keep-all;
@@ -62,20 +95,14 @@ page { @@ -62,20 +95,14 @@ page {
62 } 95 }
63 96
64 .address-create { 97 .address-create {
65 - background-color: #fff;  
66 - width: 100%; 98 + width: 50%;
67 text-align: center; 99 text-align: center;
68 position: fixed; 100 position: fixed;
69 - bottom: 0rpx;  
70 - height: 200rpx;  
71 - border-top:1rpx solid #eee  
72 - 101 + bottom: 80rpx;
  102 + left: 25%;
73 } 103 }
74 104
75 .create-btn { 105 .create-btn {
76 - width: 50%;  
77 - margin: 0 auto;  
78 - margin-top: 60rpx;  
79 font-size: 28rpx; 106 font-size: 28rpx;
80 color: white; 107 color: white;
81 background-color: #f23030; 108 background-color: #f23030;
@@ -83,4 +110,131 @@ page { @@ -83,4 +110,131 @@ page {
83 text-align: center; 110 text-align: center;
84 line-height: 80rpx; 111 line-height: 80rpx;
85 display: block; 112 display: block;
86 -}  
87 \ No newline at end of file 113 \ No newline at end of file
  114 +} */
  115 +
  116 +page {
  117 + margin-bottom: 200rpx;
  118 +}
  119 +
  120 +.topbcolor {
  121 + width: 100%;
  122 + height: 7rpx;
  123 + background-color: rgb(245, 245, 245);
  124 +}
  125 +
  126 +.container {
  127 + margin-top: 7rpx;
  128 +}
  129 +
  130 +.container .address-box {
  131 + width: 100%;
  132 +}
  133 +
  134 +.container .address-box .address-user {
  135 + display: flex;
  136 + justify-content: center;
  137 + width: 100%;
  138 + border-bottom: 2rpx solid rgb(245, 245, 245);
  139 + height: 180rpx;
  140 + align-items: center;
  141 +}
  142 +
  143 +.container .address-box .address-user .icon {
  144 + padding-right: 20rpx;
  145 + display: flex;
  146 + align-items: center;
  147 + height: 100%;
  148 +}
  149 +
  150 +.container .address-box .address-user .no_xuanze {
  151 + width: 31rpx;
  152 + height: 31rpx;
  153 + border-radius: 50%;
  154 + border: 1rpx solid;
  155 +}
  156 +
  157 +.container .address-box .address-user .address {
  158 + width: 530rpx;
  159 +}
  160 +
  161 +.container .address-box .address-user .address .user {
  162 + display: flex;
  163 + align-items: center;
  164 + width: 500rpx;
  165 + font-weight: bold;
  166 + font-size: 31rpx;
  167 + color: rgb(40, 36, 33);
  168 +}
  169 +
  170 +.container .address-box .address-user .address .user .userName {
  171 + overflow: hidden;
  172 + text-overflow: ellipsis;
  173 + display: -webkit-box;
  174 + -webkit-box-orient: vertical;
  175 + -webkit-line-clamp: 1;
  176 + max-width: 149rpx;
  177 +}
  178 +
  179 +.container .address-box .address-user .address .user .userPhone {
  180 + margin-left: 41rpx;
  181 +}
  182 +
  183 +.container .address-box .address-user .address .user .default {
  184 + display: flex;
  185 + width: 105rpx;
  186 + height: 31rpx;
  187 + background-color: rgb(239, 22, 51);
  188 + justify-content: center;
  189 + font-size: 20rpx;
  190 + color: rgb(255, 255, 253);
  191 + border-radius: 8rpx;
  192 + margin-left: 21rpx;
  193 + line-height: 31rpx;
  194 +}
  195 +
  196 +.container .address-box .address-user .address .ShippingAddress {
  197 + font-size: 24rpx;
  198 + color: rgb(41, 38, 33);
  199 + height: 66rpx;
  200 +}
  201 +
  202 +.container .address-box .address-user .edit {
  203 + display: flex;
  204 + justify-content: center;
  205 + margin-left: 60rpx;
  206 + height: 100%;
  207 + align-items: center;
  208 +}
  209 +
  210 +.container .address-box .address-user .edit image {
  211 + width: 41rpx;
  212 + height: 38rpx;
  213 + align-items: center;
  214 +}
  215 +
  216 +.container .new {
  217 + width: 100%;
  218 + display: flex;
  219 + justify-content: center;
  220 + position: fixed;
  221 + bottom: 0rpx;
  222 + height: 204rpx;
  223 + align-items: center;
  224 + background-color: rgb(255, 255, 255);
  225 +}
  226 +
  227 +.container .new .add {
  228 + margin-right: 10rpx;
  229 +}
  230 +
  231 +.container navigator {
  232 + display: flex;
  233 + width: 430rpx;
  234 + height: 62rpx;
  235 + background-color: rgb(239, 22, 51);
  236 + border-radius: 40rpx;
  237 + justify-content: center;
  238 + align-items: center;
  239 + color: rgb(255, 255, 255);
  240 + font-size: 27rpx;
  241 +}