fix: 订单管理页面调整增加退款功能,代客下单调整
This commit is contained in:
@@ -5,10 +5,10 @@
|
||||
<div class="left u-flex u-col-center">
|
||||
<span class="title">代客下单</span>
|
||||
<div class="u-m-l-20 flex">
|
||||
<div class="choose-user flex">
|
||||
<el-button type="primary" v-if="!user.id" @click="showChooseUser">选择用户</el-button>
|
||||
<div class="choose-user flex u-font-14" @click="showChooseUser">
|
||||
<el-button type="primary" v-if="!user.id">选择用户</el-button>
|
||||
|
||||
<div v-else class="flex cur-pointer" @click="refChooseUserOpen">
|
||||
<div v-else class="flex cur-pointer">
|
||||
<img
|
||||
v-if="user.headImg && user.headImg != 'null'"
|
||||
class="headimg"
|
||||
@@ -97,19 +97,27 @@
|
||||
</div>
|
||||
<a @click="clearCarts" style="color: #1890ff">清空</a>
|
||||
</div>
|
||||
<!-- 购物车 -->
|
||||
<cartsList
|
||||
@editNote="showNote(true)"
|
||||
@createOrder="createOrder"
|
||||
@hideOrder="hideOrder"
|
||||
:showOrder="showOrder"
|
||||
:goodsMapisFinish="goodsMapisFinish"
|
||||
:goodsList="goods.list"
|
||||
:oldOrder="oldOrder"
|
||||
:perpole="perpole"
|
||||
:table="table"
|
||||
ref="refCart"
|
||||
></cartsList>
|
||||
</div>
|
||||
<div class="center">
|
||||
<!-- 购物车控制操作按钮 -->
|
||||
<Controls
|
||||
@noteClick="showNote"
|
||||
@packClick="showPack"
|
||||
@changePriceClick="showChangePrice"
|
||||
@return="showReturn"
|
||||
/>
|
||||
</div>
|
||||
<div class="right">
|
||||
@@ -159,7 +167,14 @@
|
||||
</template>
|
||||
|
||||
<!-- 订单信息展示 -->
|
||||
<Order @discountShow="discountShow" v-else></Order>
|
||||
<Order
|
||||
:orderInfo="orderInfo"
|
||||
@chooseUser="showChooseUser"
|
||||
@paysuccess="refresh"
|
||||
:table="table"
|
||||
v-else
|
||||
:user="user"
|
||||
></Order>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -180,15 +195,13 @@
|
||||
<changeTaocan ref="refAddTaocan" @confirm="taocanConfirm"></changeTaocan>
|
||||
<!-- 选择用户 -->
|
||||
<chooseUser ref="refChooseUser" @chooseUser="chooseUserConfirm"></chooseUser>
|
||||
<!-- 打折 -->
|
||||
<discount ref="refDiscount" @confirm="discountConfirm"></discount>
|
||||
|
||||
<!-- 就餐人数 -->
|
||||
<dinerNumber ref="refDinerNumber" @confirm="dinerNumberConfirm"></dinerNumber>
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import Controls from "./components/control.vue";
|
||||
import discount from "./components/discount.vue";
|
||||
import dinerNumber from "./components/diner-number.vue";
|
||||
import note from "./components/note.vue";
|
||||
import Order from "./components/order.vue";
|
||||
@@ -206,11 +219,17 @@ import productApi from "@/api/product/index";
|
||||
import tableApi from "@/api/account/table";
|
||||
import $status from "@/views/tool/table/status.js";
|
||||
import orderApi from "@/api/order/order";
|
||||
|
||||
import { useCartsStore } from "@/store/modules/carts";
|
||||
import { useUserStore } from "@/store/modules/user";
|
||||
const carts = useCartsStore();
|
||||
const shopUser = useUserStore();
|
||||
|
||||
const route = useRoute();
|
||||
const router = useRouter();
|
||||
//退菜
|
||||
function showReturn(cart) {
|
||||
console.log(cart);
|
||||
}
|
||||
|
||||
//就餐人数
|
||||
let perpole = ref("");
|
||||
@@ -222,21 +241,13 @@ function showDinerNumber() {
|
||||
refDinerNumber.value.open(perpole.value);
|
||||
}
|
||||
|
||||
//打折
|
||||
const refDiscount = ref();
|
||||
function discountConfirm(e) {}
|
||||
function discountShow(e) {
|
||||
refDiscount.value.open({
|
||||
amount: 10,
|
||||
});
|
||||
}
|
||||
|
||||
//用户
|
||||
let user = ref({});
|
||||
const refChooseUser = ref();
|
||||
function chooseUserConfirm(e) {
|
||||
console.log(e);
|
||||
user.value = e;
|
||||
refCart.value.carts.changeUser(e);
|
||||
}
|
||||
function showChooseUser() {
|
||||
refChooseUser.value.open();
|
||||
@@ -244,14 +255,20 @@ function showChooseUser() {
|
||||
|
||||
//订单
|
||||
const showOrder = ref(false);
|
||||
async function createOrder() {
|
||||
function hideOrder() {
|
||||
showOrder.value = false;
|
||||
}
|
||||
const oldOrder = ref({});
|
||||
|
||||
const orderInfo = ref({});
|
||||
async function createOrder(key) {
|
||||
console.log(refCart.value.carts.table_code);
|
||||
const res = await orderApi.add({
|
||||
orderId: "",
|
||||
shopId: "",
|
||||
userId: "",
|
||||
orderId: oldOrder.value.id || "",
|
||||
shopId: shopUser.userInfo.id,
|
||||
userId: user.value.userId,
|
||||
seatNum: 0,
|
||||
packFee: 0,
|
||||
packFee: refCart.value.carts.packFee * 1,
|
||||
originAmount: refCart.value.carts.payMoney * 1,
|
||||
tableCode: refCart.value.carts.table_code,
|
||||
dineMode: diners.sel == 0 ? "dine-in" : "take-out",
|
||||
@@ -259,10 +276,24 @@ async function createOrder() {
|
||||
seatNum: perpole.value * 1,
|
||||
placeNum: 1,
|
||||
waitCall: false,
|
||||
vipPrice: false,
|
||||
vipPrice: user.value.id && user.value.isVip,
|
||||
});
|
||||
if (res) {
|
||||
refCart.value.carts.clear();
|
||||
if (key == "only-create") {
|
||||
router.replace(route.path);
|
||||
return;
|
||||
}
|
||||
if (key == "to-pay" && oldOrder.value.id) {
|
||||
// 获取历史订单数据
|
||||
const res = await orderApi.getHistoryList({
|
||||
orderId: oldOrder.value.id,
|
||||
});
|
||||
oldOrder.value = res;
|
||||
}
|
||||
orderInfo.value = res;
|
||||
showOrder.value = true;
|
||||
// oldOrder.value = res;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -274,6 +305,7 @@ function taocanConfirm(goods, pro_group_info) {
|
||||
product_id: goods.id,
|
||||
sku_id: goods.skuList[0].id,
|
||||
pro_group_info: JSON.stringify(pro_group_info),
|
||||
number: goods.skuList[0].suitNum,
|
||||
});
|
||||
}
|
||||
function taocanShow(item) {
|
||||
@@ -302,19 +334,19 @@ const tableSearchText = ref("");
|
||||
const tableList = ref([]);
|
||||
function getTableList() {
|
||||
tableApi.getList({ page: 1, size: 999 }).then((res) => {
|
||||
tableList.value = res.records;
|
||||
tableList.value = res.records.filter((v) => v.tableCode);
|
||||
});
|
||||
}
|
||||
function getTableDetail(table_code) {
|
||||
tableApi.get(table_code);
|
||||
}
|
||||
function tablesearchInput() {}
|
||||
//返回台桌状态颜色
|
||||
//返回桌台状态颜色
|
||||
function returnTableColor(key) {
|
||||
const item = $status[key];
|
||||
return item ? item.type : "";
|
||||
}
|
||||
//返回台桌状态
|
||||
//返回桌台状态
|
||||
function returnTableLabel(key) {
|
||||
const item = $status[key];
|
||||
return item ? item.label : "";
|
||||
@@ -322,6 +354,7 @@ function returnTableLabel(key) {
|
||||
function tableClick(item) {
|
||||
console.log(item);
|
||||
getTableDetail(item.tableCode);
|
||||
|
||||
table.value = item;
|
||||
refCart.value.carts.changeTable(item.tableCode);
|
||||
refTable.value.hide();
|
||||
@@ -447,6 +480,13 @@ async function getGoods() {
|
||||
}
|
||||
|
||||
function goodsClick(item) {
|
||||
if (!goodsMapisFinish.value) {
|
||||
return ElMessage.error({
|
||||
message: "添加失败,socket未连接成功,请刷新再试",
|
||||
type: "error",
|
||||
duration: 2000,
|
||||
});
|
||||
}
|
||||
//单规格
|
||||
if (item.type == "single") {
|
||||
addCarts({
|
||||
@@ -472,9 +512,9 @@ function goodsClick(item) {
|
||||
if (item.groupType == 0) {
|
||||
const sendmsg = {
|
||||
goods_type: "package",
|
||||
sku_id: item.groupSnap[0].goods[0].skuId,
|
||||
sku_id: item.skuList[0].id || -888,
|
||||
product_id: item.id,
|
||||
number: item.groupSnap[0].goods[0].number,
|
||||
number: item.skuList[0].suitNum || 1,
|
||||
};
|
||||
addCarts(sendmsg);
|
||||
// refCart.value.carts.cartsPush({
|
||||
@@ -530,12 +570,37 @@ function init() {
|
||||
onMounted(async () => {
|
||||
const { id } = route.query;
|
||||
if (id) {
|
||||
orderApi.getHistoryList({
|
||||
// 获取历史订单数据
|
||||
const res = await orderApi.getHistoryList({
|
||||
orderId: id,
|
||||
});
|
||||
const noPayStatus = {
|
||||
cancelled: "订单已取消",
|
||||
done: "订单已关闭",
|
||||
};
|
||||
if (noPayStatus[res.status]) {
|
||||
ElMessage.error(noPayStatus[res.status]);
|
||||
refresh();
|
||||
return;
|
||||
}
|
||||
if (res.tableCode) {
|
||||
table.value = { tableCode: res.tableCode };
|
||||
}
|
||||
if (res) {
|
||||
oldOrder.value = res;
|
||||
orderInfo.value = res;
|
||||
showOrder.value = true;
|
||||
}
|
||||
//获取台桌数据
|
||||
if (res.tableCode) {
|
||||
}
|
||||
}
|
||||
init();
|
||||
});
|
||||
|
||||
function refresh() {
|
||||
router.go(0);
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@@ -729,4 +794,11 @@ $pl: 30px;
|
||||
.choose-user {
|
||||
margin-right: 10px;
|
||||
}
|
||||
.headimg {
|
||||
width: 34px;
|
||||
height: 34px;
|
||||
display: block;
|
||||
border-radius: 2px;
|
||||
margin-right: 6px;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user