diff --git a/components/xb-swiper-preview/images/icon-back.png b/components/xb-swiper-preview/images/icon-back.png
new file mode 100644
index 0000000..f030354
Binary files /dev/null and b/components/xb-swiper-preview/images/icon-back.png differ
diff --git a/components/xb-swiper-preview/index.vue b/components/xb-swiper-preview/index.vue
new file mode 100644
index 0000000..64a45b5
--- /dev/null
+++ b/components/xb-swiper-preview/index.vue
@@ -0,0 +1,385 @@
+
+
+
+
+
+
+ {{ currentImg + 1 }} / {{ imgs.length }}
+
+
+
+
+
+
+
+ {}"
+ class="max-img"
+ :src="item"
+ :lazy-load="true"
+ mode="aspectFill"
+ />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 分享图片
+
+ 保存图片
+ 保存全部图片
+
+
+
+
+
+
+
+
diff --git a/pages/order/confirm-order.vue b/pages/order/confirm-order.vue
index ea19abe..0a66878 100644
--- a/pages/order/confirm-order.vue
+++ b/pages/order/confirm-order.vue
@@ -413,7 +413,7 @@ import { onShow, onBackPress } from "@dcloudio/uni-app";
import { onHide } from "@dcloudio/uni-app";
// 输入支付密码
const ispws = ref(false);
-const userInfo = uni.cache.get("userInfo");
+let userInfo = uni.cache.get("userInfo");
// 会员信息
const orderVIP = ref(uni.cache.get("orderVIP"));
@@ -891,8 +891,10 @@ const goToPay = async (payParams) => {
}
return;
}
+
// 余额支付
if (payParams.payType == "accountPay") {
+ console.log("orderVIP.value", orderVIP.value);
if (orderVIP.value.payPwd == "" &&userInfo.usePayPwd) {
uni.showModal({
title: "提示",
@@ -1032,6 +1034,7 @@ function closeSocket() {
}
onShow(() => {
+ userInfo = uni.cache.get("userInfo");
if (cartsSocket) {
cartsSocket.connect();
}
diff --git a/pages/product/components/goods-modal.vue b/pages/product/components/goods-modal.vue
new file mode 100644
index 0000000..fd3b53c
--- /dev/null
+++ b/pages/product/components/goods-modal.vue
@@ -0,0 +1,251 @@
+
+
+
+
+
+
+
+
+ {{ specifications.item.name }}
+
+ {{
+ specifications.item.shortTitle ? specifications.item.shortTitle : ""
+ }}
+
+
+
+
+ {{ specType }}
+
+
+
+ {{ option }}
+
+ 售罄
+
+
+ 已下架
+
+
+
+
+
+
+
+
+
+ {{ setmenu.title }} {{ setmenu.count }} 选{{
+ setmenu.number
+ }}
+
+
+ {{ option.proName }}
+ /{{ option.unitName }}
+
+ 售罄
+
+
+
+
+
+
+
+
+
+
+ ¥
+
+
+
+
+
+ {{
+ shopInfo.isVip == 1 && shopInfo.isMemberPrice == 1
+ ? specifications.item.result.memberPrice ||
+ specifications.item.result.salePrice
+ : specifications.item.result.salePrice
+ }}
+
+ /{{ specifications.item.unitName }}
+ 「{{ specifications.item.result.suitNum
+ }}{{ specifications.item.result.unitName }}起点」
+
+
+ ¥
+
+
+
+
+ {{
+ shopInfo.isVip == 1 && shopInfo.isMemberPrice == 1
+ ? specifications.item.memberPrice ||
+ specifications.item.salePrice
+ : specifications.item.salePrice
+ }}
+
+ /{{ specifications.item.unitName }}
+ 「{{ specifications.item.suitNum
+ }}{{ specifications.item.unitName }}起点」
+
+
+
+
+
+
+
+ {{ shopCartNumber }}
+
+
+
+
+
+
+
+ {{ selectedSpecsStr }}
+
+
+ {{ skuBtnText }}
+
+
+ {{ skuBtnText }}
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/product/index.vue b/pages/product/index.vue
index bb4d128..ef92c6f 100644
--- a/pages/product/index.vue
+++ b/pages/product/index.vue
@@ -65,6 +65,7 @@
>限时折扣
+
+ @click="
+ prveImgs(
+ specifications.item.images,
+ specifications.item.images[swiperCurrent]
+ )
+ "
+ >
+
+
+
{{ specifications.item.name }}
-
+
{{
specifications.item.shortTitle
? specifications.item.shortTitle
@@ -622,8 +639,7 @@
:key="option"
@click="selectSpec(specType, option)"
:class="{
- shop_sku_box_item_selected:
- selectedSpecs[specType] === option,
+ shop_sku_box_item_selected: isSkuSelected(specType, option),
}"
>
{{ option }}
@@ -783,24 +799,35 @@
{{ selectedSpecsStr }}
-
- {{ skuBtnText }}
-
-
- {{ skuBtnText }}
-
+
+
+ {{ skuBtnText }}
+
+
+ {{ skuBtnText }}
+
+
+
+
+ {{ skuBtnText }}
+
+
@@ -818,10 +845,17 @@
v-if="isDataLoaded"
@onBuyClick="onBuyClick"
>
+
+
\ No newline at end of file
diff --git a/user/vip/buy-vip.vue b/user/vip/buy-vip.vue
index ede2699..4ff9230 100644
--- a/user/vip/buy-vip.vue
+++ b/user/vip/buy-vip.vue
@@ -182,8 +182,9 @@
}
if (name == '周期福利') {
model.title = '周期福利'
+ let couponLen=memberLevel.value.cycleRewardCouponList?memberLevel.value.cycleRewardCouponList.length:0
modelContent.value =
- `每${memberLevel.value.cycleUnit}赠送${memberLevel.value.cycleRewardPoints}积分,${memberLevel.value.cycleRewardCouponList.length}张优惠券`
+ `每${memberLevel.value.cycleUnit}赠送${memberLevel.value.cycleRewardPoints}积分${couponLen?(','+couponLen+'张优惠券'):''}`
}
if (name == '会员说明') {
model.title = '会员说明'
diff --git a/user/vip/vip.vue b/user/vip/vip.vue
index 627d57b..03f2904 100644
--- a/user/vip/vip.vue
+++ b/user/vip/vip.vue
@@ -13,7 +13,7 @@
{{ memberLevel ? memberLevel.name : '' }}
{{ memberLevel ? dayjs(memberLevel.endTime).format('YYYY-MM-DD') : '' }}到期
- {{ memberLevel ? memberLevel.memberName : '' }}
+ {{ memberLevel ? memberLevel.memberCircleName : '' }}
@@ -235,6 +235,27 @@
const res = await vipApi.config({
shopId: shopId
});
+
+ const res1 = await vipApi.detail({
+ shopId: shopId
+ });
+ if (res1) {
+ memberLevel.value = {
+ ...res1.memberLevel,
+ endTime: res1.endTime,
+ memberName: res1.memberName,
+ experience: res1.experience,
+ nextExperienceValue: res1.nextExperienceValue,
+ memberCircleName:res1.memberCircleName,
+ memberCircleReward:res1.memberCircleReward,
+ };
+ const total = res1.experience * 1 + res1.nextExperienceValue * 1;
+ const percent = ((res1.experience * 1) / total) * 100;
+ if (total <= 0 || res1.experience * 1 <= 0) {
+ expProgress.value = 100;
+ }
+ expProgress.value = percent;
+ }
if (res) {
res.memberLevel.cycleRewardCouponList = res.memberLevel.cycleRewardCouponList || []
res.memberLevel = res.memberLevel || {}
@@ -254,7 +275,7 @@
return true
}).map((v) => {
if (v.name == '赠送成长值' && res.memberLevel) {
- v.desc = `赠送${res.memberLevel.experienceValue}成长值`
+ v.desc = `赠送${memberLevel.value.memberCircleReward}成长值`
}
if (v.name == '优惠券') {
if (res.memberLevel.cycleRewardCouponList.length) {
@@ -301,24 +322,6 @@
menus.value = tiaojian_menus;
}
}
- const res1 = await vipApi.detail({
- shopId: shopId
- });
- if (res1) {
- memberLevel.value = {
- ...res1.memberLevel,
- endTime: res1.endTime,
- memberName: res1.memberName,
- experience: res1.experience,
- nextExperienceValue: res1.nextExperienceValue
- };
- const total = res1.experience * 1 + res1.nextExperienceValue * 1;
- const percent = ((res1.experience * 1) / total) * 100;
- if (total <= 0 || res1.experience * 1 <= 0) {
- expProgress.value = 100;
- }
- expProgress.value = percent;
- }
}
const nextName = computed(() => {