From bfdd0998406ea7605415597f2ac055798fdd8937 Mon Sep 17 00:00:00 2001 From: YeMingfei666 <1619116647@qq.com> Date: Fri, 7 Nov 2025 16:21:45 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- distribution/shop-detail/index.vue | 6 +++--- pages/order/confirm-order.vue | 2 +- pages/product/index.vue | 4 ++-- pages/user/member/setPassword.vue | 2 +- stores/carts.js | 4 +++- utils/goods-utils.js | 15 +++++++++------ utils/goods.ts | 4 ++-- 7 files changed, 21 insertions(+), 16 deletions(-) diff --git a/distribution/shop-detail/index.vue b/distribution/shop-detail/index.vue index 2268e43..59aa06f 100644 --- a/distribution/shop-detail/index.vue +++ b/distribution/shop-detail/index.vue @@ -359,7 +359,7 @@ import TipsPopup from "../components/tips-popup.vue"; import commissionPopup from "../components/commission.vue"; import rulePopup from "../components/rule.vue"; import { desensitizePhone } from "@/utils/util.js"; - +import BigNumber from "bignumber.js"; import * as distributionApi from "@/common/api/market/distribution.js"; import { distributionLtPayOrder } from "@/common/api/order/index.js"; import { APIshopUserInfo } from "@/common/api/member.js"; @@ -586,10 +586,10 @@ const juNextLvMoney = computed(() => { } let total = 0; if (config.upgradeType == "cost" && state.distributionUser) { - total = nextLvMoney.value - (state.distributionUser.consumeAmount || 0); + total = new BigNumber(nextLvMoney.value).minus(state.distributionUser.consumeAmount || 0).toNumber(); } if (config.upgradeType == "invite" && state.distributionUser) { - total = nextLvMoney.value - (config.inviteCount || 0); + total = new BigNumber(nextLvMoney.value).minus(config.inviteCount || 0).toNumber(); } return Math.max(total, 0); }); diff --git a/pages/order/confirm-order.vue b/pages/order/confirm-order.vue index 4977ba0..ea19abe 100644 --- a/pages/order/confirm-order.vue +++ b/pages/order/confirm-order.vue @@ -893,7 +893,7 @@ const goToPay = async (payParams) => { } // 余额支付 if (payParams.payType == "accountPay") { - if (orderVIP.value.payPwd == "") { + if (orderVIP.value.payPwd == "" &&userInfo.usePayPwd) { uni.showModal({ title: "提示", content: "您还未设置支付密码,是否去设置?", diff --git a/pages/product/index.vue b/pages/product/index.vue index d3b5bea..bb4d128 100644 --- a/pages/product/index.vue +++ b/pages/product/index.vue @@ -376,7 +376,7 @@ :class="'c' + (index1 + 1)" >TOP{{ index1 + 1 }} - 限时折扣 @@ -1962,7 +1962,7 @@ const totalPrices = computed(() => { } }); } - if (limitTimeDiscountRes.value && limitTimeDiscountRes.value.id) { + if (limitTimeDiscountRes.value && limitTimeDiscountRes.value.id && item.is_time_discount==1) { //限时折扣 const price = orderUtils.returnPrice({ goods: item, diff --git a/pages/user/member/setPassword.vue b/pages/user/member/setPassword.vue index 8c2cbd3..f610508 100644 --- a/pages/user/member/setPassword.vue +++ b/pages/user/member/setPassword.vue @@ -19,7 +19,7 @@ 密码支付 当前账号 - + {{ datalist.Recapture }} diff --git a/stores/carts.js b/stores/carts.js index 6208c25..f93df0b 100644 --- a/stores/carts.js +++ b/stores/carts.js @@ -320,7 +320,9 @@ export const useCartsStore = defineStore("cart", () => { if (Message.operate_type == "init") { console.log("carts init Message", Message); console.log("carts init", msgData); - limitTimeDiscount.value = Message.time_dis_info; + if(!oldOrder.value.id){ + limitTimeDiscount.value = Message.time_dis_info; + } cartsGoodsInfoInit(msgData); uni.hideLoading(); isLoading.value = false; diff --git a/utils/goods-utils.js b/utils/goods-utils.js index 5b83ce8..37a8114 100644 --- a/utils/goods-utils.js +++ b/utils/goods-utils.js @@ -14,7 +14,7 @@ export function returnGoodsPrice(goods, user, shopInfo, limitTimeDiscount) { } //是否可以使用会员价 const canUseVipPrice = - user && user.isVip && user.isMemberPrice && goods.memberPrice * 1 > 0; + user && user.isVip && user.isMemberPrice && goods.memberPrice * 1 > 0 && shopInfo && shopInfo.isMemberPrice; // 商家改价 if (goods.discount_sale_amount * 1 > 0) { return goods.salePrice; @@ -98,11 +98,14 @@ export function returnCanDikouGoodsArr(args) { .filter((v) => types.includes(v.type)) .reduce((prev, cur) => { // 给每个抵扣商品添加所属优惠券类型 - const goodsWithType = cur.discount.hasDiscountGoodsArr.map((goods) => ({ - ...goods, - couponType: cur.type, // 记录该商品是被哪种类型的优惠券抵扣的 - })); - prev.push(...goodsWithType); + if(cur&&cur.discount){ + const goodsWithType = cur.discount.hasDiscountGoodsArr.map((goods) => ({ + ...goods, + couponType: cur.type, // 记录该商品是被哪种类型的优惠券抵扣的 + })); + prev.push(...goodsWithType); + } + return prev; }, []); const arr = _.cloneDeep(canDikouGoodsArr) diff --git a/utils/goods.ts b/utils/goods.ts index 99faf85..e693399 100644 --- a/utils/goods.ts +++ b/utils/goods.ts @@ -456,7 +456,7 @@ export function returnCanUseLimitTimeDiscount( } const canUseFoods = (limitTimeDiscount.foods || "").split(","); const goodsCanUse = - limitTimeDiscount.foodType == 1 || canUseFoods.includes("" + goods[idKey]); + limitTimeDiscount.foodType == 1 || canUseFoods.includes("" + goods[idKey as keyof BaseCartItem]); if (!goodsCanUse) { return false; } @@ -491,7 +491,7 @@ function returnMemberPrice(useVipPrice: boolean, goods: BaseCartItem) { function returnLimitPrice( goods: BaseCartItem, limitTimeDiscount: TimeLimitDiscountConfig | null | undefined, - useVipPrice + useVipPrice: boolean ) { if (!limitTimeDiscount) { return 0;