feat: 增加历史订单清空、删除功能
This commit is contained in:
parent
a53ade8386
commit
274833d548
|
|
@ -48,6 +48,22 @@ const OrderApi = {
|
|||
data
|
||||
});
|
||||
},
|
||||
//取消订单
|
||||
cancelOrder(data: any) {
|
||||
return request<any>({
|
||||
url: `${baseURL}/cancelOrder`,
|
||||
method: "post",
|
||||
data
|
||||
});
|
||||
},
|
||||
//取消某一次 下单
|
||||
rmPlaceOrder(data: any) {
|
||||
return request<any>({
|
||||
url: `${baseURL}/rmPlaceOrder`,
|
||||
method: "post",
|
||||
data
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
export default OrderApi;
|
||||
|
|
|
|||
|
|
@ -39,9 +39,16 @@
|
|||
<extra-fee name="餐位费" :number="perpole" :price="canWeiFee"></extra-fee>
|
||||
</template>
|
||||
<!-- 历史订单 -->
|
||||
<div class="u-flex u-row-between u-m-b-10" v-if="carts.oldOrder.id">
|
||||
<span class="u-font-14">历史订单</span>
|
||||
<el-button link size="small" type="danger" @click="clearOldOrder()">清空</el-button>
|
||||
</div>
|
||||
<template v-for="(item, index) in carts.oldOrder.detailMap" :key="index">
|
||||
<div class="cart-title">
|
||||
<span>第{{ index }}次下单</span>
|
||||
<div class="u-flex u-row-between">
|
||||
<div class="cart-title u-flex-1 u-p-r-6">
|
||||
<span>第{{ index }}次下单</span>
|
||||
</div>
|
||||
<el-button link size="small" type="danger" @click="clearOldOrder(index)">删除</el-button>
|
||||
</div>
|
||||
|
||||
<div v-for="(detaiItem, index) in item" :key="index">
|
||||
|
|
@ -221,7 +228,7 @@ const canWeiFee = computed(() => {
|
|||
return props.perpole * shopUser.userInfo.tableFee;
|
||||
}
|
||||
});
|
||||
const emits = defineEmits(["editNote", "createOrder", "hideOrder"]);
|
||||
const emits = defineEmits(["editNote", "createOrder", "hideOrder", "clearOldOrder"]);
|
||||
function editNote() {
|
||||
emits("editNote");
|
||||
}
|
||||
|
|
@ -231,7 +238,24 @@ function hideOrder() {
|
|||
function createOrder(key) {
|
||||
emits("createOrder", key);
|
||||
}
|
||||
|
||||
function clearOldOrder(placeNum) {
|
||||
const title =
|
||||
placeNum === undefined ? "确定要删除全部历史订单吗?" : "确定要删除第" + placeNum + "次下单吗?";
|
||||
ElMessageBox.alert(title, "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
}).then(() => {
|
||||
let params = {
|
||||
shopId: shopUser.userInfo.shopId,
|
||||
orderId: carts.oldOrder.id,
|
||||
};
|
||||
if (placeNum) {
|
||||
params.placeNum = placeNum;
|
||||
}
|
||||
emits("clearOldOrder", params);
|
||||
});
|
||||
}
|
||||
function itemClick(item) {
|
||||
carts.changeSelCart(item);
|
||||
}
|
||||
|
|
@ -242,6 +266,7 @@ function changeNumber(step, item) {
|
|||
// const totalMoney = computed(() => {
|
||||
// return (carts.payMoney * 1 + (carts.oldOrder.originAmount || 0) * 1).toFixed(2);
|
||||
// });
|
||||
|
||||
defineExpose({
|
||||
carts,
|
||||
});
|
||||
|
|
|
|||
|
|
@ -111,6 +111,7 @@
|
|||
@editNote="showNote(true)"
|
||||
@createOrder="createOrder"
|
||||
@hideOrder="hideOrder"
|
||||
@clearOldOrder="clearOldOrder"
|
||||
:showOrder="showOrder"
|
||||
:goodsList="carts.goods"
|
||||
:oldOrder="oldOrder"
|
||||
|
|
@ -461,6 +462,37 @@ async function createOrder(key) {
|
|||
}
|
||||
}
|
||||
|
||||
// 取消历史订单
|
||||
async function clearOldOrder(params) {
|
||||
const res1 = params.placeNum
|
||||
? await orderApi.rmPlaceOrder(params)
|
||||
: await orderApi.cancelOrder(params);
|
||||
ElMessage({
|
||||
type: res1 ? "success" : "error",
|
||||
message: res1 ? "删除成功" : "删除失败",
|
||||
});
|
||||
// 获取历史订单数据
|
||||
const res = await orderApi.getHistoryList({
|
||||
orderId: oldOrder.value.id,
|
||||
});
|
||||
const noPayStatus = {
|
||||
cancelled: "订单已取消",
|
||||
done: "订单已关闭",
|
||||
};
|
||||
if (noPayStatus[res.status]) {
|
||||
ElMessage.error(noPayStatus[res.status]);
|
||||
oldOrder.value = {
|
||||
detailMap: [],
|
||||
};
|
||||
carts.oldOrder = oldOrder.value;
|
||||
return;
|
||||
}
|
||||
if (res) {
|
||||
oldOrder.value = res;
|
||||
carts.setOldOrder(res);
|
||||
}
|
||||
}
|
||||
|
||||
//可选套餐商品
|
||||
const refAddTaocan = ref();
|
||||
function taocanConfirm(goods, pro_group_info) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue