fix: 修改代客下单添加时增加商品类型,修改激活码列表信息展示

This commit is contained in:
YeMingfei666 2025-03-18 16:14:22 +08:00
parent 7ec4fe0c83
commit c722cd4c79
8 changed files with 53 additions and 25 deletions

View File

@ -138,7 +138,7 @@ export const useCartsStore = defineStore("carts", () => {
let oldNumber = 0 let oldNumber = 0
for (let i in oldOrder.value.detailMap) { for (let i in oldOrder.value.detailMap) {
oldNumber += oldOrder.value.detailMap[i].reduce((prve: number, cur: any) => { oldNumber += oldOrder.value.detailMap[i].reduce((prve: number, cur: any) => {
return prve + cur.pack_number return prve + (dinnerType.value == 'take-out' ? cur.number : cur.pack_number * 1)
}, 0) }, 0)
} }
return nowCartNumber + giftNumber + oldNumber return nowCartNumber + giftNumber + oldNumber
@ -154,7 +154,8 @@ export const useCartsStore = defineStore("carts", () => {
let oldPackfee = 0; let oldPackfee = 0;
for (let i in oldOrder.value.detailMap) { for (let i in oldOrder.value.detailMap) {
oldPackfee += oldOrder.value.detailMap[i].reduce((prve: number, cur: any) => { oldPackfee += oldOrder.value.detailMap[i].reduce((prve: number, cur: any) => {
return prve + (cur.packFee || 0) * cur.pack_number const number = (dinnerType.value == 'take-out' ? cur.number : cur.pack_number * 1)
return prve + (cur.packFee || 0) * number
}, 0) }, 0)
} }
return nowPackFee + giftPackFee + oldPackfee return nowPackFee + giftPackFee + oldPackfee
@ -319,6 +320,7 @@ export const useCartsStore = defineStore("carts", () => {
product_name: "", product_name: "",
remark: "", remark: "",
sku_id: '', sku_id: '',
product_type: ''
} }
//当前购物车直接添加 //当前购物车直接添加
function cartsPush(data: any) { function cartsPush(data: any) {

View File

@ -110,7 +110,8 @@ export function downloadFile(obj: BlobPart, name: string, suffix: string, useUni
const link = document.createElement("a"); const link = document.createElement("a");
link.style.display = "none"; link.style.display = "none";
link.href = url; link.href = url;
const fileName = useUnix ? (parseTime(new Date(), undefined) + "-") : '' + name.trim() + "." + suffix; const newFilename = useUnix ? (parseTime(new Date(), undefined) + "-") : '' + name.trim()
const fileName = newFilename + "." + suffix;
link.setAttribute("download", fileName); link.setAttribute("download", fileName);
document.body.appendChild(link); document.body.appendChild(link);
link.click(); link.click();

View File

@ -48,22 +48,18 @@
</el-table-column> </el-table-column>
<el-table-column label="商户名称" prop="name"></el-table-column> <el-table-column label="商户名称" prop="name"></el-table-column>
<el-table-column label="联系电话" prop="telephone"></el-table-column> <el-table-column label="联系电话" prop="telephone"></el-table-column>
<el-table-column label="版本类型" prop="type"> <el-table-column label="激活时长(月)" prop="periodMonth">
<template v-slot="scope"> <template v-slot="scope">{{ scope.row.periodMonth }}个月</template>
<span v-if="scope.row.type == 'munchies'">快餐版</span>
<span v-if="scope.row.type == 'restaurant'">餐饮版</span>
</template>
</el-table-column> </el-table-column>
<el-table-column label="激活时长" prop="periodYear"></el-table-column>
<el-table-column label="状态" prop="status"> <el-table-column label="状态" prop="status">
<template v-slot="scope"> <template v-slot="scope">
<el-tag type="info" v-if="scope.row.status == 0">待激活</el-tag> <el-tag type="info" v-if="scope.row.status == 0">未使用</el-tag>
<el-tag type="success" v-if="scope.row.status == 1">已使用</el-tag> <el-tag type="success" v-if="scope.row.status == 1">已使用</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="创建时间" prop="createdAt"> <el-table-column label="创建时间" prop="createTime">
<template v-slot="scope"> <template v-slot="scope">
{{ scope.row.createdAt && dayjs(scope.row.createdAt).format("YYYY-MM-DD HH:mm:ss") }} {{ scope.row.createTime && dayjs(scope.row.createTime).format("YYYY-MM-DD HH:mm:ss") }}
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>

View File

@ -5,6 +5,10 @@
<span class="number">{{ item.pack_number * 1 }}</span> <span class="number">{{ item.pack_number * 1 }}</span>
</span> </span>
<span class="pack" v-if="isOld && dinerType == 1">
<span class="number">{{ item.product_type == "weight" ? 1 : item.num * 1 }}</span>
</span>
<span class="da" v-if="item.is_print || item.is_print === null"></span> <span class="da" v-if="item.is_print || item.is_print === null"></span>
<span class="isWaitCall" v-if="item.is_wait_call"></span> <span class="isWaitCall" v-if="item.is_wait_call"></span>
<span class="tui" v-if="item.returnNum"> <span class="tui" v-if="item.returnNum">
@ -125,6 +129,10 @@
import { customTruncateToTwoDecimals } from "@/views/tool/Instead/util"; import { customTruncateToTwoDecimals } from "@/views/tool/Instead/util";
const props = defineProps({ const props = defineProps({
dinerType: {
type: [Number, String],
default: 0, //0 1
},
useVipPrice: { useVipPrice: {
type: Boolean, type: Boolean,
default: false, default: false,

View File

@ -49,6 +49,7 @@
:useVipPrice="carts.useVipPrice" :useVipPrice="carts.useVipPrice"
:canChangeNumber="false" :canChangeNumber="false"
isOld isOld
:dinerType="dinerType"
:item="detaiItem" :item="detaiItem"
@changeNumber="changeNumber" @changeNumber="changeNumber"
:selCart="carts.selCart" :selCart="carts.selCart"
@ -201,6 +202,10 @@ const props = defineProps({
type: Array, type: Array,
default: () => [], default: () => [],
}, },
dinerType: {
type: [Number, String],
default: 0,
},
}); });
let isXianFuKuan = computed(() => { let isXianFuKuan = computed(() => {
// if (!props.table.tableCode) { // if (!props.table.tableCode) {

View File

@ -33,8 +33,8 @@ const controls = ref([
{ label: "打包", key: "is_pack", disabled: false, per: "pack" }, { label: "打包", key: "is_pack", disabled: false, per: "pack" },
{ label: "删除", key: "del", disabled: false, per: "del" }, { label: "删除", key: "del", disabled: false, per: "del" },
{ label: "转桌", key: "rottable", disabled: false, per: "rottable" }, { label: "转桌", key: "rottable", disabled: false, per: "rottable" },
{ label: "存单", key: "saveCart", disabled: false, per: "saveCart" }, // { label: "", key: "saveCart", disabled: false, per: "saveCart" },
{ label: "取单", key: "getCart", disabled: false, per: "getCart" }, // { label: "", key: "getCart", disabled: false, per: "getCart" },
{ label: "单品备注", key: "one-note", disabled: false, per: "one-note" }, { label: "单品备注", key: "one-note", disabled: false, per: "one-note" },
{ label: "整单备注", key: "all-note", disabled: false, per: "all-note" }, { label: "整单备注", key: "all-note", disabled: false, per: "all-note" },
{ label: "退菜", key: "return", disabled: false, per: "return" }, { label: "退菜", key: "return", disabled: false, per: "return" },
@ -68,7 +68,12 @@ function controlsClick(item) {
carts.updateTag("pack_number", carts.selCart.pack_number * 1 == 1 ? 0 : 1); carts.updateTag("pack_number", carts.selCart.pack_number * 1 == 1 ? 0 : 1);
return; return;
} }
emits("packClick", carts.selCart.pack_number, carts.selCart.number);
emits(
"packClick",
carts.selCart.pack_number,
carts.selCart.type == "weight" ? 1 : carts.selCart.number
);
break; break;
case "is_print": case "is_print":
carts.updateTag("is_print", carts.selCart.is_print ? 0 : 1); carts.updateTag("is_print", carts.selCart.is_print ? 0 : 1);
@ -119,9 +124,9 @@ const perList = computed(() => {
if (carts.oldOrder.id) { if (carts.oldOrder.id) {
arr.push("rottable"); arr.push("rottable");
} }
if (!carts.isEmpty) { // if (!carts.isEmpty) {
arr.push("saveCart"); // arr.push("saveCart");
} // }
return arr; return arr;
}); });
const canEdit = computed(() => { const canEdit = computed(() => {

View File

@ -127,6 +127,7 @@ function confirm() {
sku_id: skuData.value.id, sku_id: skuData.value.id,
product_id: goods.value.id, product_id: goods.value.id,
number: number.value, number: number.value,
product_type: goods.value.type,
}); });
close(); close();
} }

View File

@ -113,6 +113,7 @@
:showOrder="showOrder" :showOrder="showOrder"
:goodsList="carts.goods" :goodsList="carts.goods"
:oldOrder="oldOrder" :oldOrder="oldOrder"
:dinerType="diners.sel"
:perpole="perpole" :perpole="perpole"
:remark="remark" :remark="remark"
:table="table" :table="table"
@ -442,7 +443,6 @@ async function createOrder(key) {
refOrder.value.nowPayClick("cash"); refOrder.value.nowPayClick("cash");
}); });
} }
// oldOrder.value = res;
} }
} catch (error) { } catch (error) {
loading.close(); loading.close();
@ -470,11 +470,15 @@ function taocanShow(item) {
const refChangeWeight = ref(); const refChangeWeight = ref();
function changeWeightConfirm(goods, number) { function changeWeightConfirm(goods, number) {
console.log(goods, number); console.log(goods, number);
addCarts({ addCarts(
product_id: goods.id, {
sku_id: goods.skuList[0].id, product_id: goods.id,
number, sku_id: goods.skuList[0].id,
}); number,
product_type: goods.type,
},
true
);
} }
function showWeight(item) { function showWeight(item) {
console.log(item); console.log(item);
@ -642,6 +646,7 @@ function goodsClick(item) {
product_id: item.id, product_id: item.id,
sku_id: item.skuList[0].id, sku_id: item.skuList[0].id,
number: item.skuList[0].suitNum || 1, number: item.skuList[0].suitNum || 1,
product_type: item.type,
}); });
return; return;
} }
@ -664,6 +669,7 @@ function goodsClick(item) {
sku_id: item.skuList[0].id || -888, sku_id: item.skuList[0].id || -888,
product_id: item.id, product_id: item.id,
number: item.skuList[0].suitNum || 1, number: item.skuList[0].suitNum || 1,
product_type: item.type,
}; };
addCarts(sendmsg); addCarts(sendmsg);
return; return;
@ -694,7 +700,11 @@ function clearCarts() {
carts.clear(); carts.clear();
}); });
} }
function addCarts(item) { function addCarts(item, isWeight = false) {
if (isWeight) {
carts.add({ pack_number: diners.sel ? 1 : 0, ...item });
return;
}
carts.add({ pack_number: diners.sel ? item.number : 0, ...item }); carts.add({ pack_number: diners.sel ? item.number : 0, ...item });
} }