优化代客下单

This commit is contained in:
gyq
2026-03-27 17:17:52 +08:00
parent 3c68d25286
commit e3ddd70ce6
3 changed files with 48 additions and 37 deletions

View File

@@ -101,9 +101,7 @@
<el-button type="primary" size="large" :disabled="disabledMorePay" @click="createOrder('to-pay')"> <el-button type="primary" size="large" :disabled="disabledMorePay" @click="createOrder('to-pay')">
去结账 去结账
</el-button> --> </el-button> -->
<el-button type="primary" size="large" <el-button type="primary" size="large" :disabled="carts.list.length == 0" @click="createOrder('only-create')">
:disabled="carts.list.length == 0 || carts.oldOrder.detailMap.length == 0"
@click="createOrder('only-create')">
仅下单 仅下单
</el-button> </el-button>
<el-button type="primary" size="large" <el-button type="primary" size="large"
@@ -113,10 +111,10 @@
</el-button> </el-button>
</template> </template>
<template v-else> <template v-else>
<el-button type="default" size="large" @click="hideOrder()">加菜/返回</el-button> <el-button type="warning" size="large" @click="hideOrder()">加菜/返回</el-button>
<el-button type="primary" size="large" :disabled="!carts.isLinkFinshed" @click="createOrder('to-pay')"> <!-- <el-button type="primary" size="large" :disabled="!carts.isLinkFinshed" @click="createOrder('to-pay')">
立即支付 立即支付
</el-button> </el-button> -->
</template> </template>
</div> </div>
</div> </div>
@@ -133,11 +131,11 @@ import { useUserStore } from "@/store/modules/user";
function isEmptyObject(obj) { function isEmptyObject(obj) {
// 步骤1排除null和非对象类型 // 步骤1排除null和非对象类型
if (obj === null || typeof obj !== "object") { if (obj === null || typeof obj !== "object") {
return false; return true;
} }
// 步骤2排除数组数组也是对象需单独判断 // 步骤2排除数组数组也是对象需单独判断
if (Array.isArray(obj)) { if (Array.isArray(obj)) {
return false; return true;
} }
// 步骤3判断自身可枚举属性是否为空 // 步骤3判断自身可枚举属性是否为空
return Object.keys(obj).length === 0; return Object.keys(obj).length === 0;

View File

@@ -591,7 +591,7 @@ function pointsToMoney(val) {
carts.orderCostSummary.pointDeductionAmount = finalMoney; carts.orderCostSummary.pointDeductionAmount = finalMoney;
} }
const emits = defineEmits(["chooseUser", "paysuccess"]); const emits = defineEmits(["chooseUser", "paysuccess", 'createOrder']);
function chooseUser() { function chooseUser() {
emits("chooseUser"); emits("chooseUser");
} }
@@ -703,31 +703,37 @@ async function getPaytype() {
} }
const cashRemark = ref(""); const cashRemark = ref("");
function nowPayClick(payType) { async function nowPayClick(payType) {
payType = payType || payTypes.list[payTypes.sel].payType; if (carts.list.length) {
if (payType === "cash") { await emits('createOrder', 'only-create')
ElMessageBox.prompt("是否确认已现金收款:" + currentpayMoney.value + "元", "快捷支付", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
inputPlaceholder: '请输入现金支付备注(选填)',
})
.then(({ value }) => {
cashRemark.value = value || "";
payOrder("cash");
})
.catch(() => { });
return;
}
if (payType == "member-account") {
if (!carts.vipUser.id) {
return ElMessage.error("请先选择会员");
}
payOrder(payType);
return;
} }
refScanPayOpen(payType); setTimeout(() => {
payType = payType || payTypes.list[payTypes.sel].payType;
if (payType === "cash") {
ElMessageBox.prompt("是否确认已现金收款:" + currentpayMoney.value + "元", "快捷支付", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
inputPlaceholder: '请输入现金支付备注(选填)',
})
.then(({ value }) => {
cashRemark.value = value || "";
payOrder("cash");
})
.catch(() => { });
return;
}
if (payType == "member-account") {
if (!carts.vipUser.id) {
return ElMessage.error("请先选择会员");
}
payOrder(payType);
return;
}
refScanPayOpen(payType);
}, 500);
} }
let authCode = ""; let authCode = "";

View File

@@ -130,7 +130,7 @@
</template> </template>
<!-- 订单信息展示 --> <!-- 订单信息展示 -->
<Order ref="refOrder" :orderInfo="carts.oldOrder" @chooseUser="showChooseUser" @paysuccess="refresh" <Order ref="refOrder" :orderInfo="carts.oldOrder" @chooseUser="showChooseUser" @paysuccess="refresh"
:table="carts.tableInfo" :perpole="perpole" v-else :user="user"></Order> :table="carts.tableInfo" :perpole="perpole" v-else :user="user" @create-order="createOrder"></Order>
</div> </div>
</div> </div>
</div> </div>
@@ -802,10 +802,17 @@ onMounted(async () => {
// : await orderApi.getHistoryList({ // : await orderApi.getHistoryList({
// tableCode, // tableCode,
// }); // });
const res = await orderApi.getHistoryList({ let res = ''
// orderId: carts.oldOrder.id, if (carts.table_code) {
tableCode: carts.table_code, res = await orderApi.getHistoryList({
}); // orderId: carts.oldOrder.id,
tableCode: carts.table_code,
});
} else {
res = await orderApi.getHistoryList({
orderId: id,
})
}
const noPayStatus = { const noPayStatus = {
cancelled: "订单已取消", cancelled: "订单已取消",