增加待上门状态前订单的取消订单功能

This commit is contained in:
donqi 2022-07-26 22:31:20 +08:00
parent 79491193ad
commit 0e13744df2
4 changed files with 60 additions and 18 deletions

View File

@ -13,7 +13,7 @@ export default {
args.url = 'https://www.opsoul.com' + args.url; args.url = 'https://www.opsoul.com' + args.url;
// args.url = 'http://120.79.136.57' + args.url; // args.url = 'http://120.79.136.57' + args.url;
// args.url = 'http://127.0.0.1:80' + args.url; // args.url = 'http://127.0.0.1:80' + args.url;
if (args.data) { if (args.data && Object.prototype && Object.prototype.toString.call(args.data) === '[object Object]') {
args.data.deptId = globalData.deptId; args.data.deptId = globalData.deptId;
args.data.from = globalData.from; args.data.from = globalData.from;
} }
@ -457,6 +457,19 @@ export default {
data: params data: params
}) })
return res[1].data; return res[1].data;
},
async cancelMasterOrder(params = {}) {
let res = await uni.request({
url: '/order/master/cancel',
method: 'POST',
data: {
orderMasterId: params.orderMasterId
},
header: {
'content-type': 'application/x-www-form-urlencoded'
}
})
return res[1].data;
}, },
async getHotGoods(params = {}) { async getHotGoods(params = {}) {
let res = await uni.request({ let res = await uni.request({

View File

@ -98,12 +98,12 @@
async delAddress() { async delAddress() {
let res = await this.$request.delAddressList(this.delAddressInfo.customerAddressId); let res = await this.$request.delAddressList(this.delAddressInfo.customerAddressId);
if (res.code === 0) { if (res.code === 0) {
this.loadData();
uni.showToast({ uni.showToast({
title: '删除成功', title: '删除成功',
icon: 'success', icon: 'success',
mask: true mask: true
}) })
this.loadData();
} else { } else {
uni.showToast({ uni.showToast({
title: '删除失败', title: '删除失败',

View File

@ -43,16 +43,16 @@
</view> </view>
<view v-if="orderType === 0" class="padding-tb-sm"> <view v-if="orderType === 0" class="padding-tb-sm">
<view class="flex justify-end" v-if="tabCur === 0"> <view class="flex justify-end" v-if="tabCur === 0">
<button class="cu-btn bg-gray margin-right-sm shadow-blur" @click="showModalByRef('confirmModal', shopOrder)">取消订单</button> <button class="cu-btn bg-gray margin-right-sm shadow-blur" @click="showModalByRef('confirmModal', shopOrder)" v-if="shopOrder.orderStatus < 2">取消订单</button>
<button v-if="shopOrder.payStatus === 0" class="cu-btn bg-main-color shadow-blur" @click="wxpay(shopOrder)">付款</button> <button v-if="shopOrder.payStatus === 0" class="cu-btn bg-main-color shadow-blur" @click="wxpay(shopOrder)">付款</button>
</view> </view>
<view class="flex justify-end" v-if="tabCur === 1"> <view class="flex justify-end" v-if="tabCur === 1">
<button class="cu-btn bg-gray margin-right-sm shadow-blur">取消订单</button> <button class="cu-btn bg-gray margin-right-sm shadow-blur" @click="showModalByRef('confirmModal', shopOrder)">取消订单</button>
<!-- <button class="cu-btn bg-gray margin-right-sm shadow-blur">撤换师傅</button> --> <!-- <button class="cu-btn bg-gray margin-right-sm shadow-blur">撤换师傅</button> -->
<!-- <button class="cu-btn bg-main-color margin-right-sm shadow-blur">催单</button> --> <!-- <button class="cu-btn bg-main-color margin-right-sm shadow-blur">催单</button> -->
</view> </view>
<view class="flex justify-end" v-if="tabCur === 2"> <view class="flex justify-end" v-if="tabCur === 2">
<!-- <button class="cu-btn bg-gray margin-right-sm shadow-blur">取消订单</button> --> <button class="cu-btn bg-gray margin-right-sm shadow-blur" @click="showModalByRef('confirmModal', shopOrder)">取消订单</button>
<!-- <button class="cu-btn bg-gray margin-right-sm shadow-blur">撤换师傅</button> --> <!-- <button class="cu-btn bg-gray margin-right-sm shadow-blur">撤换师傅</button> -->
<button class="cu-btn bg-main-color margin-right-sm shadow-blur" @click="showServDetail(shopOrder)">查看</button> <button class="cu-btn bg-main-color margin-right-sm shadow-blur" @click="showServDetail(shopOrder)">查看</button>
</view> </view>
@ -220,7 +220,8 @@
if (ifRollback) { if (ifRollback) {
uni.showToast({ uni.showToast({
title: '订单已回滚至服务中状态,请联系师傅', title: '订单已回滚至服务中状态,请联系师傅',
icon: 'none' icon: 'none',
duration: 3000
}) })
} }
} }
@ -238,16 +239,21 @@
this.curOrder = null; this.curOrder = null;
}, },
async cancelOrder() { async cancelOrder() {
let res = await this.$request.updateOrder({ let res = await this.$request.cancelMasterOrder({
id: this.curOrder.orderMasterId, orderMasterId: this.curOrder.orderMasterId
orderStatus: 6
}); });
if (res.code === 0) { if (res && res.code === 0) {
this.reloadOrderPage();
uni.showToast({ uni.showToast({
title: '取消成功', title: '取消成功',
icon: 'success' icon: 'success',
duration: 2000
})
} else {
uni.showToast({
title: '取消失败',
icon: 'error'
}) })
this.reloadOrderPage();
} }
}, },
async wxpay(curOrder) { async wxpay(curOrder) {

View File

@ -34,6 +34,7 @@
<text class="text-xl margin-right">{{servDetail.goodsName}}</text> <text class="text-xl margin-right">{{servDetail.goodsName}}</text>
<view class='cu-tag bg-purple radius light margin-right-sm' v-if="servDetail.orderStatus === 3">服务中</view> <view class='cu-tag bg-purple radius light margin-right-sm' v-if="servDetail.orderStatus === 3">服务中</view>
<view class='cu-tag bg-purple radius light margin-right-sm' v-if="servDetail.orderStatus === 2">待上门</view> <view class='cu-tag bg-purple radius light margin-right-sm' v-if="servDetail.orderStatus === 2">待上门</view>
<view class='cu-tag bg-grey radius light margin-right-sm' v-if="servDetail.orderStatus === 6">已取消</view>
</view> </view>
<!-- <view class="margin-top-sm"> <!-- <view class="margin-top-sm">
<view v-for="(item, index) in servDetail.mainServOrder.orderTag" class='cu-tag radius margin-right-sm'> <view v-for="(item, index) in servDetail.mainServOrder.orderTag" class='cu-tag radius margin-right-sm'>
@ -109,7 +110,7 @@
</view> </view>
<!-- 底部操作栏 --> <!-- 底部操作栏 -->
<view class="cu-bar bg-white tabbar border fixed-bottom-bar"> <view class="cu-bar bg-white tabbar border fixed-bottom-bar">
<view class="action" data-popup="orderManage" @click="togglePopup"> <view class="action" data-popup="orderManage" @click="togglePopup" v-if="servDetail.orderStatus < 2">
<view class="cuIcon-list"></view> 订单管理 <view class="cuIcon-list"></view> 订单管理
</view> </view>
<view class="action" data-modal="sendUrgentMsgModal" @click="showModal"> <view class="action" data-modal="sendUrgentMsgModal" @click="showModal">
@ -189,10 +190,16 @@
this.ifShowPageMeta = e.show; this.ifShowPageMeta = e.show;
}, },
togglePopup(e) { togglePopup(e) {
if (this.ifShowPageMeta) { let targetPopup = null;
this.$refs[e.currentTarget.dataset.popup].close(); if (typeof e === 'string') {
targetPopup = e;
} else { } else {
this.$refs[e.currentTarget.dataset.popup].open(); targetPopup = e.currentTarget.dataset.popup;
}
if (this.ifShowPageMeta) {
this.$refs[targetPopup].close();
} else {
this.$refs[targetPopup].open();
} }
}, },
showModal(e) { showModal(e) {
@ -207,8 +214,24 @@
decideIfCancelOrder() { decideIfCancelOrder() {
this.$refs.confirmModal.showModal(); this.$refs.confirmModal.showModal();
}, },
cancelOrder() { async cancelOrder(e) {
console.log("取消订单") let res = await this.$request.cancelMasterOrder({
orderMasterId: this.servDetail.orderMasterId
});
if (res && res.code === 0) {
this.togglePopup('orderManage');
this.loadData(this.servDetail.orderMasterId);
uni.showToast({
title: '取消成功',
icon: 'success',
duration: 2000
})
} else {
uni.showToast({
title: '取消失败',
icon: 'error'
})
}
} }
} }
} }