Commit 081c50da0c980cda815ab8a67a9304d9cc091194

Authored by 范牧
1 parent c00c258098
Exists in master

取消订单返回修改

src/pages/address/addressList.vue
... ... @@ -9,6 +9,7 @@
9 9 :key="index"
10 10 class="order-user"
11 11 @tap="toOrder(item.add_id)"
  12 + @longpress="delAddress(item.add_id)"
12 13 >
13 14 <view class="order-user-head">
14 15 <view class="name">
... ... @@ -43,7 +44,10 @@
43 44 >
44 45 暂无收货地址
45 46 </view>
46   - <button @tap="toAddAddress" class="add">新建收货地址</button>
  47 + <button
  48 + @tap="toAddAddress"
  49 + class="add"
  50 + >新建收货地址</button>
47 51 </view>
48 52 </template>
49 53  
... ... @@ -56,7 +60,7 @@ export default {
56 60 computed: {
57 61 addressList () {
58 62 return this.$store.state.address.list
59   - }
  63 + },
60 64 },
61 65 onLoad ({ edit }) {
62 66 if (edit) {
... ... @@ -74,26 +78,26 @@ export default {
74 78 url: 'addAddress',
75 79 fail: (error) => {
76 80 console.error('跳转出现错误', error)
77   - }
  81 + },
78 82 })
79 83 },
80   - toEditAddress (addId) {
  84 + toEditAddress(addId) {
81 85 console.log('addId', addId)
82 86 uni.navigateTo({
83 87 url: `addAddress?addId=${addId}`,
84 88 fail: (error) => {
85 89 console.error('跳转出现错误', error)
86   - }
  90 + },
87 91 })
88 92 },
89   - toOrder (addId) {
  93 + toOrder(addId) {
90 94 if (this.edit) {
91   - let pages = getCurrentPages();
92   - let prevPage = pages[pages.length - 2]; //上一个页面
93   - const addressId=addId
94   - // console.log(addressId)
95   - prevPage.onShow(addressId);
96   - uni.navigateBack();
  95 + const pages = getCurrentPages()
  96 + const prevPage = pages[pages.length - 2] // 上一个页面
  97 + const addressId = addId
  98 + // console.log(addressId)
  99 + prevPage.onShow(addressId)
  100 + uni.navigateBack()
97 101 // uni.navigateTo({
98 102 // url: `../confirmOrder/confirmOrder?addressId=${addId}`,
99 103 // fail: (error) => {
... ... @@ -101,8 +105,34 @@ export default {
101 105 // }
102 106 // })
103 107 }
104   - }
105   - }
  108 + },
  109 + delAddress(addId) {
  110 + uni.showModal({
  111 + title: '提示',
  112 + content: '是否删除该条地址',
  113 + success: function (res) {
  114 + if (res.confirm) {
  115 + if (this.addressList.length > 1) {
  116 + store.dispatch('address/delete', {
  117 + add_id: addId,
  118 + }).then(() => {
  119 + store.dispatch('address/list')
  120 + uni.showToast({
  121 + title: '删除成功',
  122 + duration: 1000,
  123 + })
  124 + })
  125 + } else {
  126 + uni.showToast({
  127 + title: '请保留至少一条地址信息',
  128 + duration: 1000,
  129 + })
  130 + }
  131 + }
  132 + },
  133 + })
  134 + },
  135 + },
106 136 }
107 137 </script>
108 138  
... ... @@ -126,7 +156,7 @@ export default {
126 156 width: 100%;
127 157 align-items: center;
128 158 padding-left: 126rpx;
129   - box-sizing: border-box;
  159 + box-sizing: border-box;
130 160 .name {
131 161 display: flex;
132 162 justify-content: space-between;
... ...
src/pages/confirmOrder/confirmOrder.vue
... ... @@ -21,7 +21,7 @@
21 21 <view
22 22 v-else
23 23 @tap="toaddAddress"
24   - class="list order-user"
  24 + :class="addressInfo !== false ? 'list order-user' : 'list order-user user_address'"
25 25 >
26 26 <view
27 27 class="order-user-head"
... ... @@ -40,16 +40,20 @@
40 40 </view>
41 41 <view
42 42 class="order-user-body"
43   - v-if="addressInfo != false"
  43 + v-if="addressInfo !== false"
44 44 >
45 45 <image src="../../static/myorder-paying-location.png"></image>
46 46 <text class="address">{{addressInfo.address}}\n{{addressInfo.add_detail}}</text>
47 47 </view>
48 48 <view
49   - class="order-user-body"
  49 + class="order_user_body_add"
50 50 v-if="addressInfo == false"
51 51 >
52   - <text class="address">点击添加地址</text>
  52 + <image
  53 + src="../../static/add_address.png"
  54 + mode="aspectFill"
  55 + ></image>
  56 + <text class="address_add">点击添加地址</text>
53 57 </view>
54 58 <image
55 59 class="arrow"
... ... @@ -70,7 +74,7 @@
70 74  
71 75 <view
72 76 class="infoBox"
73   - v-if="isCart == 'true'"
  77 + v-if="isCart === 'true'"
74 78 v-for="(item, index) in checkedCartLst"
75 79 :key="index"
76 80 >
... ... @@ -125,7 +129,7 @@
125 129  
126 130 <view
127 131 class="infoBox"
128   - v-if="isCart !== 'true'"
  132 + v-else
129 133 >
130 134 <view class="infoTop">
131 135 <image
... ... @@ -293,7 +297,7 @@ export default {
293 297 }
294 298 },
295 299 onLoad({ pid, addressId, isCart, count, name }) {
296   - if (isCart == 'false') {
  300 + if (isCart === 'false') {
297 301 this.pid = pid
298 302 // store.dispatch('read/fetch', {
299 303 // pid,
... ... @@ -390,8 +394,9 @@ export default {
390 394 // 下单
391 395 orderBuild() {
392 396 if (!this.addressInfo) {
393   - uni.showLoading({
  397 + uni.showToast({
394 398 title: '请先添加地址',
  399 + icon: 'none',
395 400 })
396 401 return
397 402 }
... ... @@ -843,6 +848,7 @@ export default {
843 848 letter-spacing: -0.26px;
844 849 }
845 850 }
  851 +
846 852 .arrow {
847 853 width: 12px;
848 854 height: 12px;
... ... @@ -851,6 +857,32 @@ export default {
851 857 bottom: 104rpx;
852 858 }
853 859 }
  860 +
  861 +.user_address {
  862 + height: 62px;
  863 + .order_user_body_add {
  864 + display: flex;
  865 + align-items: center;
  866 + image {
  867 + background: #f2f2f2;
  868 + border-radius: 2px;
  869 + border-radius: 2px;
  870 + width: 30px;
  871 + height: 28px;
  872 + margin: 0 20px;
  873 + }
  874 + .address_add {
  875 + font-family: PingFangSC-Regular;
  876 + font-size: 14px;
  877 + color: #333333;
  878 + letter-spacing: -0.26px;
  879 + line-height: 62px;
  880 + }
  881 + }
  882 + .arrow {
  883 + bottom: 46rpx;
  884 + }
  885 +}
854 886 .last_zhanwei {
855 887 background: #f2f2f2;
856 888 height: 60px;
... ...
src/pages/myOrder/myOrder.vue
... ... @@ -21,13 +21,14 @@
21 21 </view>
22 22 <view class="orderList">
23 23 <view
24   - v-for="(order) in orderList"
  24 + v-for="(order, index) in orderList"
25 25 :key="order.pay_id"
26 26 >
27 27 <OrderCard
  28 + :key="index"
28 29 :order="order"
29 30 :current="current"
30   - v-if="order.order_info !== null"
  31 + v-if="order.order_info !== null && order.order_info.keyname"
31 32 ></OrderCard>
32 33 </view>
33 34 </view>
... ... @@ -60,7 +61,7 @@ export default {
60 61  
61 62 onShow() {
62 63 store.dispatch('myOrder/getList', {
63   - way: '',
  64 + way: '',
64 65 })
65 66 },
66 67 onLoad: function(option) {
... ...
src/pages/myOrderPaying/myOrderPaying.vue
... ... @@ -248,29 +248,38 @@ export default {
248 248 this.cancleOrder()
249 249 },
250 250 cancleOrder() {
251   - console.log('dddd', this.skuList)
252   - // const uid = this.uid
253   - // const openid = this.openid
254   - // const keyname = this.orderInfo.order_info.keyname
255   - // // console.log('keyname',this.orderInfo.keyname)
256   - // uni.showModal({
257   - // title: '提示',
258   - // content: '现在取消,订单不可恢复哦,确认取消吗?',
259   - // success: function(res) {
260   - // if (res.confirm) {
261   - // store.dispatch('cancelOrder/cancel', {
262   - // keyname: keyname,
263   - // uid: uid,
264   - // openid: openid,
265   - // })
266   - // uni.navigateBack({
267   - // delta: 1,
268   - // })
269   - // } else if (res.cancel) {
270   - // console.log('用户点击取消')
271   - // }
272   - // },
273   - // })
  251 + const uid = this.uid
  252 + const openid = this.openid
  253 + const keyname = this.orderInfo.order_info.keyname
  254 + const that = this
  255 + // console.log('keyname',this.orderInfo.keyname)
  256 + uni.showModal({
  257 + title: '提示',
  258 + content: '现在取消,订单不可恢复哦,确认取消吗?',
  259 + success: function(res) {
  260 + if (res.confirm) {
  261 + store.dispatch('cancelOrder/cancel', {
  262 + keyname: keyname,
  263 + uid: uid,
  264 + openid: openid,
  265 + }).then(() => {
  266 + if (that.isPay === '1') {
  267 + console.log('lalallala-1')
  268 + uni.switchTab({
  269 + url: '/pages/index/index',
  270 + })
  271 + } else {
  272 + console.log('lalallala-2')
  273 + uni.navigateBack({
  274 + delta: 1,
  275 + })
  276 + }
  277 + })
  278 + } else if (res.cancel) {
  279 + console.log('用户点击取消', that.isPay)
  280 + }
  281 + },
  282 + })
274 283 },
275 284 paylog() {
276 285 console.log('pay', this.orderInfo)
... ...
src/static/add_address.png

1.74 KB

src/store/modules/address.js
1 1 import urlAlias from '../url'
2 2 import request from '../request'
3 3  
4   -const { editAddress, addressList, getAddress, getDefaultAddress } = urlAlias
  4 +const { editAddress, addressList, getAddress, getDefaultAddress, delAddress } = urlAlias
5 5  
6 6 const state = { list: [], detail: {}, defaultInfo: {} }
7 7  
... ... @@ -87,6 +87,21 @@ const actions = {
87 87 },
88 88 }))
89 89 },
  90 + delete(_, param) {
  91 + return new Promise((resolve) => request({
  92 + url: delAddress,
  93 + data: param,
  94 + success: (res) => {
  95 + resolve()
  96 + },
  97 + fail: () => {
  98 + uni.showModal({
  99 + content: '删除地址失败',
  100 + showCancel: false,
  101 + })
  102 + },
  103 + }))
  104 + },
90 105 }
91 106  
92 107 export default {
... ...
... ... @@ -42,6 +42,7 @@ const urlAlias = {
42 42 addressList: '/app/address/get_address_list', // 获取用户地址列表
43 43 getAddress: '/app/address/get_address_by_id', // 获取用户某一地址信息
44 44 getDefaultAddress: '/app/address/get_default_address', // 获取用户默认地址信息
  45 + delAddress: '/app/address/del_address', // 删除用户地址
45 46  
46 47 // 用户数据
47 48 mylovelist: '/app/user/mylovelist', // 关心的人的数据
... ...