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