From 7c182023a5c8369c7cc68fade57558437e0029bf Mon Sep 17 00:00:00 2001 From: YeMingfei666 <1619116647@qq.com> Date: Mon, 28 Apr 2025 11:29:32 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8B=E5=8D=95=E9=A1=B5=E9=9D=A2=E8=B0=83?= =?UTF-8?q?=E6=95=B4=EF=BC=8C=E7=A1=AE=E8=AE=A4=E8=AE=A2=E5=8D=95=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App.vue | 16 +- common/api/request.js | 6 +- common/api/shop/index.js | 8 + common/color.js | 3 + common/css/{common.css => common.scss} | 9 + common/js/carts-websocket.js | 360 +++++ common/js/carts.js | 0 common/js/websocket.js | 13 +- framework/0-conf.js | 6 +- framework/8-cache.js | 2 +- main.js | 1 + package.json | 2 +- pages.json | 22 + pages/order/components/order-item.vue | 474 +++++++ pages/order/components/orderInfo - 副本.vue | 1163 ++++++++++++++++ pages/order/components/orderInfo.vue | 1208 ++++++++++++++++ pages/order/components/popup-choose-coup.vue | 8 + pages/order/confirm-order.vue | 1310 ++++++++++++++++++ pages/order/coupon.vue | 54 +- pages/order/histpry-order/histpry-order.vue | 22 + pages/product/components/confirmorder.vue | 1 + pages/product/components/shoppingCartes.vue | 62 +- pages/product/index.vue | 130 +- pages/test/test.vue | 65 + static/history.png | Bin 0 -> 3131 bytes static/icon/add-goods.png | Bin 0 -> 1289 bytes static/icon/coup.png | Bin 0 -> 619 bytes static/icon/goods.png | Bin 0 -> 918 bytes static/icon/points.png | Bin 0 -> 964 bytes static/pack-white.png | Bin 0 -> 693 bytes stores/carts.js | 452 ++++++ stores/order.js | 249 ++-- stores/pay.js | 2 + stores/shop.js | 0 stores/user.js | 68 +- uni.scss | 2 + utils/quan_util.js | 264 ++++ utils/uniapp.js | 16 + vite.config.js | 2 +- 39 files changed, 5725 insertions(+), 275 deletions(-) create mode 100644 common/color.js rename common/css/{common.css => common.scss} (78%) create mode 100644 common/js/carts-websocket.js create mode 100644 common/js/carts.js create mode 100644 pages/order/components/order-item.vue create mode 100644 pages/order/components/orderInfo - 副本.vue create mode 100644 pages/order/components/orderInfo.vue create mode 100644 pages/order/components/popup-choose-coup.vue create mode 100644 pages/order/confirm-order.vue create mode 100644 pages/order/histpry-order/histpry-order.vue create mode 100644 pages/test/test.vue create mode 100644 static/history.png create mode 100644 static/icon/add-goods.png create mode 100644 static/icon/coup.png create mode 100644 static/icon/goods.png create mode 100644 static/icon/points.png create mode 100644 static/pack-white.png create mode 100644 stores/carts.js create mode 100644 stores/shop.js create mode 100644 utils/quan_util.js create mode 100644 utils/uniapp.js diff --git a/App.vue b/App.vue index dcb3298..fdda864 100644 --- a/App.vue +++ b/App.vue @@ -1,4 +1,7 @@ + + \ No newline at end of file diff --git a/pages/order/components/orderInfo - 副本.vue b/pages/order/components/orderInfo - 副本.vue new file mode 100644 index 0000000..5ae2503 --- /dev/null +++ b/pages/order/components/orderInfo - 副本.vue @@ -0,0 +1,1163 @@ + + + + + \ No newline at end of file diff --git a/pages/order/components/orderInfo.vue b/pages/order/components/orderInfo.vue new file mode 100644 index 0000000..d7ca518 --- /dev/null +++ b/pages/order/components/orderInfo.vue @@ -0,0 +1,1208 @@ + + + + + \ No newline at end of file diff --git a/pages/order/components/popup-choose-coup.vue b/pages/order/components/popup-choose-coup.vue new file mode 100644 index 0000000..02409e3 --- /dev/null +++ b/pages/order/components/popup-choose-coup.vue @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/pages/order/confirm-order.vue b/pages/order/confirm-order.vue new file mode 100644 index 0000000..9c608a4 --- /dev/null +++ b/pages/order/confirm-order.vue @@ -0,0 +1,1310 @@ + + + + \ No newline at end of file diff --git a/pages/order/coupon.vue b/pages/order/coupon.vue index 84cb40a..5433e31 100644 --- a/pages/order/coupon.vue +++ b/pages/order/coupon.vue @@ -164,12 +164,26 @@ if (!item.show) { return false; } - // 查找选中的数组里面 统计指定 id 的重复次数 - const count = Selectedlist.value.filter(item => item.id === item.id).length; + if (item.Selected) { + Selectedlist.value = Selectedlist.value.filter(i => i.id !== item.id) + fromInfo.list[index].Selected = false + return + } - // 查找选中的数组里面 统计指定 id 的重复次数 - const foundObject = mergedArray.value.find(i => i.productId === item.proId) - if (foundObject.num <= count) { + const canSelMaxNum = Orderinfo.shoppingCart.filter((v) => v.productId == item.proId).reduce((prve, + cur) => { + return prve + cur.num * 1 + }, 0) + if (canSelMaxNum <= 0) { + uni.showToast({ + title: '不可多余商品!', + icon: 'none' + }) + return + } + // 查找选中的数组里面 统计指定 id 的重复次数 + const count = Selectedlist.value.filter(v => v.couponId == item.couponId).length; + if (count >= canSelMaxNum) { uni.showToast({ title: '不可多余商品!', icon: 'none' @@ -190,18 +204,14 @@ // return false; // } - if (item.Selected) { - Selectedlist.value = Selectedlist.value.filter(i => i.id !== item.id) - } else { - // 筛查出最低价格 - await productmethod() - const matchedItem = lowestPrices.value.find(cartItem => cartItem.productId == item.proId); - Selectedlist.value.push({ - ...item, - price: matchedItem.price, - memberPrice: matchedItem.memberPrice - }) - } + // 筛查出最低价格 + await productmethod() + const matchedItem = lowestPrices.value.find(cartItem => cartItem.productId == item.proId); + Selectedlist.value.push({ + ...item, + price: matchedItem.price, + memberPrice: matchedItem.memberPrice + }) fromInfo.list[index].Selected = !item.Selected } @@ -272,13 +282,14 @@ shopUserId: Orderinfo.shopUserId, }) - if (Orderinfo.typeOrder == 2 && res.length>0) { + if (Orderinfo.typeOrder == 2 && res.length > 0) { res.forEach((item) => { item.Selected = false }) res = res.map(item => { - const matchedItem = Orderinfo.shoppingCart.find(cartItem => cartItem.productId == item - .proId); + const matchedItem = Orderinfo.shoppingCart.find(cartItem => { + return cartItem.productId == item.proId + }); const hasMatch = Boolean(matchedItem); return { ...item, @@ -336,7 +347,10 @@ Orderinfo.shopUserId = options.shopUserId Orderinfo.payAmount = options.payAmount + console.log('coupon mounted'); console.log(Orderinfo.payAmount) + console.log(options); + console.log(JSON.parse(decodeURIComponent(options.shoppingCart))); Orderinfo.shoppingCart = JSON.parse(decodeURIComponent(options.shoppingCart)) } getCouponList() diff --git a/pages/order/histpry-order/histpry-order.vue b/pages/order/histpry-order/histpry-order.vue new file mode 100644 index 0000000..57f26e2 --- /dev/null +++ b/pages/order/histpry-order/histpry-order.vue @@ -0,0 +1,22 @@ + + + + + diff --git a/pages/product/components/confirmorder.vue b/pages/product/components/confirmorder.vue index 16ce7b0..5e4923e 100644 --- a/pages/product/components/confirmorder.vue +++ b/pages/product/components/confirmorder.vue @@ -1,6 +1,7 @@