feat: 增加历史订单清空、删除功能

This commit is contained in:
YeMingfei666 2025-03-31 15:28:19 +08:00
parent a53ade8386
commit 274833d548
3 changed files with 77 additions and 4 deletions

View File

@ -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;

View File

@ -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,
});

View File

@ -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) {