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

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 = 'http://120.79.136.57' + 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.from = globalData.from;
}
@ -458,6 +458,19 @@ export default {
})
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 = {}) {
let res = await uni.request({
url: '/goods/goods/hot/list',

View File

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

View File

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

View File

@ -34,6 +34,7 @@
<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 === 2">待上门</view>
<view class='cu-tag bg-grey radius light margin-right-sm' v-if="servDetail.orderStatus === 6">已取消</view>
</view>
<!-- <view class="margin-top-sm">
<view v-for="(item, index) in servDetail.mainServOrder.orderTag" class='cu-tag radius margin-right-sm'>
@ -109,7 +110,7 @@
</view>
<!-- 底部操作栏 -->
<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>
<view class="action" data-modal="sendUrgentMsgModal" @click="showModal">
@ -189,10 +190,16 @@
this.ifShowPageMeta = e.show;
},
togglePopup(e) {
if (this.ifShowPageMeta) {
this.$refs[e.currentTarget.dataset.popup].close();
let targetPopup = null;
if (typeof e === 'string') {
targetPopup = e;
} 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) {
@ -207,8 +214,24 @@
decideIfCancelOrder() {
this.$refs.confirmModal.showModal();
},
cancelOrder() {
console.log("取消订单")
async cancelOrder(e) {
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'
})
}
}
}
}