diff --git a/common/api/user.js b/common/api/user.js index 2833b3b..302ecda 100644 --- a/common/api/user.js +++ b/common/api/user.js @@ -236,10 +236,28 @@ export default { if(refund_state) Object.assign(params, {refund_state: refund_state}); return vm.$u.post('Order/orderList', params); }, + // 售后列表 + getAfterSaleList({ page }) { + return vm.$u.post('order/afterSaleList', { page: page }); + }, // 订单详情 getOrderInfo({ order_id }) { return vm.$u.post('Order/orderInfo', { order_id: order_id }); }, + // 取消订单 + cancelOrder({ order_id, msg = '' } = {}) { + let params = { order_id: order_id }; + if(msg) Object.assign(params, {msg: msg}); + return vm.$u.post('Order/buyer_cancel', params); + }, + // 删除订单 + deleteOrder({ order_id }) { + return vm.$u.post('order/order_delete', { order_id: order_id }); + }, + // 确认收货 + confirmReceive ({ order_id }) { + return vm.$u.post('Order/order_receive', { order_id: order_id }); + }, // 查询订单的评价信息 getOrderEvaluateInfo({ id }) { return vm.$u.post('Order/getOrderEvaluateInfo', { id: id }); diff --git a/components/mine/order-item/index.vue b/components/mine/order-item/index.vue index eda2f40..5fdd5e5 100644 --- a/components/mine/order-item/index.vue +++ b/components/mine/order-item/index.vue @@ -23,9 +23,10 @@ + 确认收货 查看物流 立即评价 - 取消支付 + 取消支付 立即支付 联系官方客服 提交官方审核 @@ -36,7 +37,7 @@ export default { data() { return { - state: '', // 1: 待收货 2: 待评价 3: 交易成功 4: 已取消 5: 已退款 6: 待支付 + state: '', // 1: 待收货 2: 待评价 3: 交易成功 4: 已取消 5: 已退款 6: 待支付, 7: 售后 } }, props: { @@ -69,8 +70,23 @@ export default { break; } if(this.order.refund_state) state = '已退款'; + // 申请退款 + if(this.order.refund_data) { + if([1, 2].indexOf(this.order.refund_data.refund_state) >= 0) state = '待退款'; + if(this.order.refund_data.refund_state == 3) state = '已退款'; + } + this.state = state; }, + cancelOrder() { + this.$u.api.cancelOrder({ + order_id: this.order.order_id, + }).then(res => { + if(res.errCode == 0) { + this.$emit("refreshOrderList", { reload: 'again' }); + } + }) + }, toOtherPage(url) { this.$u.route('/pageE/order/' + url, { oid: this.order.order_id, diff --git a/pageC/cart/ConfirmOrder.vue b/pageC/cart/ConfirmOrder.vue index 9c724d2..46bda90 100644 --- a/pageC/cart/ConfirmOrder.vue +++ b/pageC/cart/ConfirmOrder.vue @@ -26,7 +26,8 @@ {{ goods.goods_name }} ¥{{ goods.goods_price }} - + + ×{{ goods.goods_num }} @@ -73,7 +74,7 @@ 共件{{ orderInfo.store_cart_list | setTotalNumber }}商品 - 结算 + 结算 @@ -103,9 +104,10 @@ export default { let num = 0; for (const key in data) { if (data.hasOwnProperty(key)) { - const element = data[key][0]; - console.log(element); - num += element.goods_num; + const element = data[key]; + element.forEach(item => { + num += item.goods_num; + }) } } return num; @@ -115,12 +117,39 @@ export default { console.log(JSON.parse(option.info)); this.orderInfo = JSON.parse(option.info); this.addressInfo = this.orderInfo.address_info; - this.showTotalPrice(); this.getFreight(); }, methods: { - showTotalPrice() { - + sendOrder() { + // 拼接后端需要的数据形式 + let id = [], temp = ''; + const object = this.orderInfo.store_cart_list; + for (const key in object) { + if (object.hasOwnProperty(key)) { + const element = object[key]; + element.forEach(item => { + temp = item.cart_id + '|' + item.goods_num; + id.push(temp); + temp = ''; + }) + } + } + this.$u.api.sendOrder({ + ifcart: 1, + cart_id: id, + address_id: this.addressInfo.address_id, + buy_city_id: this.addressInfo.city_id, + }).then(res => { + if(res.errCode == 0) { + this.$u.route({ + url: '/pageC/cart/cashier', + params: { + pay_sn: res.data.pay_sn, + price: res.data.order_total_amount, + } + }) + } + }) }, getFreight() { this.$u.api.getFreight({ @@ -191,6 +220,7 @@ export default { .main { margin-bottom: 50rpx; > view { + margin-bottom: 20rpx; .goods-info { background-color: #ffffff; padding: 30rpx; diff --git a/pageC/cart/cashier.vue b/pageC/cart/cashier.vue new file mode 100644 index 0000000..facbe07 --- /dev/null +++ b/pageC/cart/cashier.vue @@ -0,0 +1,188 @@ + + + \ No newline at end of file diff --git a/pageC/cart/index.vue b/pageC/cart/index.vue index f501e87..bc3c121 100644 --- a/pageC/cart/index.vue +++ b/pageC/cart/index.vue @@ -26,6 +26,9 @@ + + + @@ -85,6 +88,7 @@ export default { }, // 结算 settlementOrder() { + if(!this.checkedGoods.length) return false; // 拼接后端需要的数据形式 let id = [], temp = ''; this.checkedGoods.forEach(item => { @@ -193,6 +197,13 @@ export default { }, onNavigationBarButtonTap(btn) { // console.log(btn); + // #ifdef H5 + if(this.status == '编辑'){ + this.status = "完成"; + }else{ + this.status = "编辑"; + } + // #endif if(btn.index == 0){ let pages = getCurrentPages(); let page = pages[pages.length - 1]; @@ -213,13 +224,14 @@ export default { }); this.status = titleObj.buttons[0].text; // #endif - } } };