From 411b434b265a9e348308d2ca2563198b61bb88d9 Mon Sep 17 00:00:00 2001 From: YeMingfei666 <1619116647@qq.com> Date: Tue, 15 Oct 2024 17:19:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E5=AE=A2=E4=B8=8B=E5=8D=95=E5=B0=86?= =?UTF-8?q?=E4=B9=8B=E5=89=8D=E7=9A=84=E6=89=93=E5=8C=85=E8=B5=A0=E9=80=81?= =?UTF-8?q?=E7=AD=89=E6=8E=A5=E5=8F=A3=E4=BB=8E=E6=B7=BB=E5=8A=A0=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tool/Instead/components/cart-item.vue | 2 +- src/views/tool/Instead/index.vue | 119 +++++++++++++++--- src/views/tool/Instead/util.js | 13 ++ 3 files changed, 116 insertions(+), 18 deletions(-) diff --git a/src/views/tool/Instead/components/cart-item.vue b/src/views/tool/Instead/components/cart-item.vue index 1fcab58..c958b53 100644 --- a/src/views/tool/Instead/components/cart-item.vue +++ b/src/views/tool/Instead/components/cart-item.vue @@ -211,7 +211,7 @@ export default { padding: 4px; border-radius: 2px; display: flex; - overflow: hidden; + overflow: visible; cursor: pointer; align-items: center; justify-content: space-between; diff --git a/src/views/tool/Instead/index.vue b/src/views/tool/Instead/index.vue index a2c6ab6..30d49e9 100644 --- a/src/views/tool/Instead/index.vue +++ b/src/views/tool/Instead/index.vue @@ -268,8 +268,23 @@ :selIndex="order.selIndex" > +
以下是优惠菜品
+
@@ -321,6 +336,24 @@ >
+ + +
订单备注: {{ note.content }}
@@ -328,9 +361,9 @@
-
- 已优惠¥{{ allGiftMoney | to2 }} - +
+ 已优惠¥{{ allGiftMoney }} +
@@ -1169,6 +1202,7 @@ import { arrayContainsAll, generateCombinations, returnReverseVal, + returnGiftArr } from "./util.js"; import { $status } from "@/utils/table.js"; export default { @@ -1271,6 +1305,13 @@ export default { total: 0, }, order: { + packFee: { + totalNumber: 0, + status: "", + number: 0, + name: "打包费", + totalAmount: 0, + }, extra: { selIndex: -1, }, @@ -1381,15 +1422,49 @@ export default { return this.table ? "代客下单" + `(${this.table.name})` : "代客下单"; }, allGiftMoney() { - const price = this.order.list + const nowprice = this.order.list .filter((v) => v.isGift === "true" || v.status == "return") .reduce((a, b) => { return a + b.number * b.salePrice; }, 0); - return price; + + const oldPrice=this.order.old.list.reduce((a,b)=>{ + const total=b.info.filter((v) => v.isGift === "true").reduce((prve, cur) => { + return prve + cur.number * cur.salePrice; + },0) + return a+total + },0) + return (nowprice+oldPrice).toFixed(2); + }, + allPackMoney() { + let n = 0; + const nowPrice = this.order.list + .filter((v) => v.isPack === "true") + .reduce((a, b) => { + n += b.number * 1; + return a + b.packFee * 1; + }, 0); + const oldPrice = this.order.old.list.reduce((a, b) => { + const bPrice= b.info.filter((v) => v.isPack === "true").reduce((prve, cur) => { + n += cur.number * 1; + return prve + cur.packFee * 1; + }, 0); + return a + bPrice; + }, 0); + + const total = (nowPrice + oldPrice).toFixed(2); + this.order.packFee.totalAmount = total; + this.order.packFee.totalNumber = n; + return total; }, giftLen() { - return this.order.list.filter((v) => v.isGift === "true").length; + const nowlen=this.order.list.filter((v) => v.isGift === "true").length + const oldlen=this.order.old.list.reduce((prve,cur)=>{ + const arr=cur.info.filter((v) => v.isGift === "true") + prve.push(...arr) + return prve + },[]).length + return nowlen+oldlen; }, isSku() { if (this.order.selIndex < 0 || this.order.list.length <= 0) { @@ -1436,6 +1511,7 @@ export default { return ( oldPrice + price + + +this.order.packFee.totalAmount + this.order.seatFee.totalAmount * (this.order.seatFee.status == "return" ? 0 : 1) ).toFixed(2); @@ -1643,6 +1719,7 @@ export default { methods: { changeOrderExtraSel(index, canChangeNumber, placeNum) { // console.log(index,canChangeNumber,placeNum) + this.order.selIndex = -1; this.order.selGoods = this.order.seatFee; this.order.selPlaceNum = placeNum; this.order.extra.selIndex = index; @@ -1692,9 +1769,9 @@ export default { return res; }, async payBeforeClear() { - this.getMasterId().then(res=>{ + this.getMasterId().then((res) => { this.masterId = res.masterId; - }) + }); this.loading = false; this.order.list = []; this.order.query.page = 1; @@ -1721,7 +1798,7 @@ export default { this.key = ""; this.order.orderId = ""; this.perpole = ""; - this.useTypes.sel = "dine-in"; + // this.useTypes.sel = "dine-in"; }, async cachePay() { await this.returnCreateOrderData(); @@ -1734,14 +1811,15 @@ export default { this.order.payType = "scanCode"; this.payTypeItemClick({ payType: "scanCode" }); }, - changeOrderUseType(useType) { + async changeOrderUseType(useType) { if (useType && this.order.list.length) { const tableId = useType == "takeout" ? undefined : this.table.tableId; - $changeUseType({ + await $changeUseType({ useType, tableId, cartIds: this.order.list.map((v) => v.id), }); + this.getCart(); } }, //设置用餐类型 @@ -1955,7 +2033,8 @@ export default { isSellOut(item) { return ( item.isPauseSale || - (item.typeEnum !== "sku" && item.specList[0].stockNumber <= 0) + (item.typeEnum !== "sku" && + (item.isStock == 1 ? item.stockNumber <= 0 : false)) ); }, toggleFullScreen() { @@ -2183,8 +2262,9 @@ export default { updateOrder(par = {}) { let item = this.order.list[this.order.selIndex]; console.log(item.specSnap); - const { productId, skuId, isPack, isGift, number } = item; - addCart({ + const { productId, skuId, isPack, isGift, number, id } = item; + $updateCart({ + cartId: id, masterId: this.masterId, vipUserId: this.vipUser.id, productId, @@ -2794,12 +2874,16 @@ export default { }, //设置购物车数据 setCart(res) { + console.log(res); this.order.seatFee = res.seatFee ? res.seatFee : this.order.seatFee; this.perpole = res.seatFee ? res.seatFee.totalNumber : 1; const nowCart = res.records.find((v) => v.placeNum == 0); this.order.list = nowCart ? nowCart.info : []; const oldCart = res.records.filter((v) => v.placeNum != 0); this.order.old.list = oldCart ? oldCart : []; + this.order.gift.list=returnGiftArr(res.records) + console.log( this.order.old.list); + }, //获取购物车数据 async getCart() { @@ -2951,9 +3035,9 @@ export default { return false; } let isShow = true; - if (v.typeEnum !== "sku") { - isShow = v.specList.length >= 1; - } + // if (v.typeEnum !== "sku") { + // isShow = v.specList.length >= 1; + // } v.specList.map((spe) => { $goodsMap[`${v.id}_${spe.id}`] = spe; }); @@ -3798,6 +3882,7 @@ input[type="number"]::-webkit-outer-spin-button { justify-content: space-between; background-color: rgba(0, 0, 0, 0); transition: all 0.3s; + overflow: visible; .pack { right: 100%; width: 18px; diff --git a/src/views/tool/Instead/util.js b/src/views/tool/Instead/util.js index 2ec3413..3b7bd4d 100644 --- a/src/views/tool/Instead/util.js +++ b/src/views/tool/Instead/util.js @@ -45,3 +45,16 @@ export function returnReverseVal(val, isReturnString = true) { } return reverseNewval; } + +export function returnGiftArr(arr){ + let result=[] + for(let i=0;i