From 23eb4337693b4e9021bcda55844dc92e6a4004b8 Mon Sep 17 00:00:00 2001
From: xuxueyang <xuxy@fengyuntec.com>
Date: 星期四, 12 九月 2024 11:17:14 +0800
Subject: [PATCH] update 会员积分相关的优化
---
sub_pages/customer/self/member-center.vue | 300 ++++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 221 insertions(+), 79 deletions(-)
diff --git a/sub_pages/customer/self/member-center.vue b/sub_pages/customer/self/member-center.vue
index 6d5edd4..1697959 100644
--- a/sub_pages/customer/self/member-center.vue
+++ b/sub_pages/customer/self/member-center.vue
@@ -6,7 +6,7 @@
<banner3d ref="banner3d" v-if="init" :banner-list="bannerList" :swiper-config="swiperConfig"></banner3d>
</view>
<view class="p20" style="padding-top: 0rpx;">
- <view class="info bg-white p20">
+ <!-- <view class="info bg-white p20">
<view class="flex">
<view>成长值规则</view>
<view class="m-l-a m-r-0 text-right desc-gray" @click="goto('/pages/help/content?id=会员协议',false)">
@@ -14,33 +14,67 @@
</view>
</view>
- </view>
- <view class="info bg-white p20 m-t-20"
- v-if="currentInfo.customerDTO&¤tInfo.customerDTO.userGrowthRecord
- &¤tInfo.customerDTO.userGrowthRecord.targetMemberInfos&¤tInfo.customerDTO.userGrowthRecord.targetMemberInfos.length>=1">
- <view class="text-center desc-gray">
- ———————— 会员权益 ————————
+ </view> -->
+ <!-- v-if="currentInfo.customerDTO&¤tInfo.customerDTO.userGrowthRecord
+ &¤tInfo.customerDTO.userGrowthRecord.targetMemberInfos&¤tInfo.customerDTO.userGrowthRecord.targetMemberInfos.length>=1"
+ -->
+ <view class="member-infos info bg-white p20 ">
+ <view class="text-center w-fit flex m-auto top-title ">
+ <view class="left-line"></view>
+ <view class="title">会员权益</view>
+ <view class="right-line"></view>
</view>
- <view>
- <view class="m-t-12">积分达到
- {{currentInfo.customerDTO.userGrowthRecord.targetMemberInfos[0].targetStartPoint || '-'}}
+ <view class="desc-info flex m-t-12" style="padding: 42rpx;">
+ <view class="m-t-12 flex1">
+ <image class="m-auto icon img100 " mode="scaleToFill"
+ src="../../../static/images/customer/coupon/member/icon-member-info-1.png"></image>
+ <view class="desc">
+ 积分达到{{currentInfo.customerDTO.userGrowthRecord.currentGrowthValue || '-'}}
+ </view>
</view>
- <view class="m-t-12">优惠
- {{currentInfo.customerDTO.userGrowthRecord.targetMemberInfos[0].targetDiscountAmount || '-'}}元/扎
+ <view class="m-t-12 flex1">
+ <image class="m-auto icon img100" mode="scaleToFill"
+ src="../../../static/images/customer/coupon/member/icon-member-info-2.png"></image>
+
+ <view class="desc">
+ 优惠
+ <span v-if="currentInfo.customerDTO.userGrowthRecord.currentDiscountType=='ratio'">
+ {{(currentInfo.customerDTO.userGrowthRecord.currentDiscountRatio) || '-'}}%/扎
+ </span>
+ <span v-else>
+ {{currentInfo.customerDTO.userGrowthRecord.currentDiscountAmount || '-'}}元/扎
+ </span>
+ <!-- serGrowthRecord: {currentMemberLevel: "银卡会员", currentGrowthValue: 4941, currentDiscountType:
+ "ratio",…}
+ currentDiscountAmount: 0
+ currentDiscountRatio: 5
+ currentDiscountType: "ratio"
+ currentDiscountTypeStr: "百分比"
+ currentGrowthValue: 4941
+ currentMemberLevel: "银卡会员" -->
+
+ <!-- {{currentInfo.customerDTO.userGrowthRecord.targetMemberInfos[0].targetDiscountAmount || '-'}}元/扎 -->
+
+ </view>
</view>
</view>
- </view>
- <view class="info bg-white p20 m-t-20">
- <view class="text-center desc-gray">
- ————— 成长值获取规则 —————
+ <!-- </view>
+ <view class="info bg-white p20 m-t-20 member-infos"> -->
+ <view class="text-center w-fit flex m-auto top-title m-t-20">
+ <view class="left-line"></view>
+ <view class="title">成长值获取规则</view>
+ <view class="right-line"></view>
</view>
- <view class="m-t-12">
+ <view class="m-t-12 desc-info">
每消费1元,即可获得1成长值。
成长值将在订单交易完成后,根据实际交易金额进行赠送。
消费越多,获得的成长值越多,享受更高等级的会员权益。
快来参与消费,累积成长值,解锁更多专属福利吧!
</view>
+ </view>
+ <view class="protocol" @click="goto('/pages/help/content?id=会员协议',false)">会员协议 <uni-icons type="right"
+ size="16" color="#AD790F"></uni-icons>
</view>
</view>
</view>
@@ -51,75 +85,102 @@
<script>
import banner3d from '@/components/banner3d/banner3d'
export default {
+ async onPullDownRefresh() {
+ await this.$store.dispatch('getCurrentInfo')
+ uni.stopPullDownRefresh()
+ },
methods: {
},
- onLoad() {
- if (this.currentInfo.customerDTO && this.currentInfo.customerDTO.userGrowthRecord && this.currentInfo
- .customerDTO.userGrowthRecord.currentMemberLevel) {
- // userGrowthRecord: {currentMemberLevel: "普通会员", currentGrowthValue: 6919,…}
- // currentGrowthValue: 6919
- // currentMemberLevel: "普通会员"
- // targetMemberInfos: [{targetMemberLevel: "金卡会员", targetStartPoint: 15001, targetGap: 8082, targetDiscountAmount: 0.4},…]
- // 0: {targetMemberLevel: "金卡会员", targetStartPoint: 15001, targetGap: 8082, targetDiscountAmount: 0.4}
- // targetDiscountAmount: 0.4
- // targetGap: 8082
- // targetMemberLevel: "金卡会员"
- // targetStartPoint: 15001
- // 1: {targetMemberLevel: "钻石会员", targetStartPoint: 10001, targetGap: 3082, targetDiscountAmount: 0.5}
- // targetDiscountAmount: 0.5
- // targetGap: 3082
- // targetMemberLevel: "钻石会员"
- // targetStartPoint: 10001
- //计算下一个等级的差距
- let name = this.currentInfo.customerDTO.userGrowthRecord.currentMemberLevel
-
- for (var tmp of this.bannerList) {
- tmp.point = {
- current: this.currentInfo.customerDTO.userGrowthRecord.currentGrowthValue || 0
- }
- tmp.currentMsg = ''
- if (tmp.title === name) {
- //说明是当前等级,其他待定
- tmp.currentMsg = '当前等级'
- }
- }
- if (this.currentInfo.customerDTO.userGrowthRecord.targetMemberInfos) {
- var t = -1
+ async onLoad() {
+ await this.$store.dispatch('getCurrentInfo')
+ this.$nextTick(() => {
+ if (this.currentInfo.customerDTO && this.currentInfo.customerDTO.userGrowthRecord && this
+ .currentInfo
+ .customerDTO.userGrowthRecord.currentMemberLevel) {
+ // userGrowthRecord: {currentMemberLevel: "普通会员", currentGrowthValue: 6919,…}
+ // currentGrowthValue: 6919
+ // currentMemberLevel: "普通会员"
+ // targetMemberInfos: [{targetMemberLevel: "金卡会员", targetStartPoint: 15001, targetGap: 8082, targetDiscountAmount: 0.4},…]
+ // 0: {targetMemberLevel: "金卡会员", targetStartPoint: 15001, targetGap: 8082, targetDiscountAmount: 0.4}
+ // targetDiscountAmount: 0.4
+ // targetGap: 8082
+ // targetMemberLevel: "金卡会员"
+ // targetStartPoint: 15001
+ // 1: {targetMemberLevel: "钻石会员", targetStartPoint: 10001, targetGap: 3082, targetDiscountAmount: 0.5}
+ // targetDiscountAmount: 0.5
+ // targetGap: 3082
+ // targetMemberLevel: "钻石会员"
+ // targetStartPoint: 10001
+ //计算下一个等级的差距
+ let name = this.currentInfo.customerDTO.userGrowthRecord.currentMemberLevel
+ var currentindex = -1
+ var j = -1
for (var tmp of this.bannerList) {
- t += 1
- for (var k of this.currentInfo.customerDTO.userGrowthRecord.targetMemberInfos) {
- if (tmp.title === k.targetMemberLevel) {
- console.log('eq', k, tmp)
- tmp.point = {
- current: this.currentInfo.customerDTO.userGrowthRecord.currentGrowthValue || 0,
- end: k.targetStartPoint || 0,
+ j += 1
+ tmp.point = {
+ current: this.currentInfo.customerDTO.userGrowthRecord.currentGrowthValue || 0
+ }
+ tmp.currentMsg = ''
+ if (tmp.title === name) {
+ //说明是当前等级,其他待定
+ tmp.currentMsg = '当前等级'
+ currentindex = j
+ }
+
+
+
+ }
+ //重新排序,当前等级第一个
+ var newBannerSort = []
+ for (var i = currentindex; i < 2 * j; i++) {
+ newBannerSort.push(this.bannerList[i % (j + 1)])
+ if (newBannerSort.length >= this.bannerList.length) {
+ break
+ }
+ }
+ this.bannerList = newBannerSort
+
+ if (this.currentInfo.customerDTO.userGrowthRecord.targetMemberInfos) {
+ var t = -1
+ for (var tmp of this.bannerList) {
+ t += 1
+ for (var k of this.currentInfo.customerDTO.userGrowthRecord.targetMemberInfos) {
+ if (tmp.title === k.targetMemberLevel) {
+ console.log('eq', k, tmp)
+ tmp.point = {
+ current: this.currentInfo.customerDTO.userGrowthRecord
+ .currentGrowthValue || 0,
+ end: k.targetStartPoint || 0,
+ }
}
}
}
}
+
+ this.init = true
+ // this.$nextTick(() => {
+ // // var name = this.currentInfo.customerDTO.userGrowthRecord.currentMemberLevel
+ // var index = -1
+ // for (var tmp of this.bannerList) {
+ // index += 1
+ // if (tmp.title === name) {
+ // // this.$refs.banner3d.swiperChange({
+ // // mp: {
+ // // detail: {
+ // // current: index
+ // // }
+ // // }
+ // // })
+ // this.$refs.banner3d.swiperChangeIndex(index)
+
+ // break
+ // }
+ // }
+ // })
+
}
-
- this.init = true
- this.$nextTick(() => {
- // var name = this.currentInfo.customerDTO.userGrowthRecord.currentMemberLevel
- var index = -1
- for (var tmp of this.bannerList) {
- index += 1
- if (tmp.title === name) {
- this.$refs.banner3d.swiperChange({
- mp: {
- detail: {
- current: index
- }
- }
- })
- break
- }
- }
- })
-
- }
+ })
},
data() {
return {
@@ -131,25 +192,29 @@
// description: '一万年太久,就现在,给你爱',
path: '',
point: undefined,
+ key: '1',
}, {
bg: 'https://hmy-flower.oss-cn-shanghai.aliyuncs.com/25/2534864ad275400b9e8db4042b87bfeaBv7NbzOZG0ptc7fca5df83dcd97fd02b4027518cc593.png',
picture: 'https://hmy-flower.oss-cn-shanghai.aliyuncs.com/07/075db9222f7a41e981c5b263d7210ed5Ztljs5yDHKILd37c3399011f84f401b755477bb8a323.png',
title: '银卡会员',
// description: '花中樱,鱼乃鲷花中樱,鱼乃鲷',
path: '',
+ key: '2',
// currentMsg:''
}, {
bg: 'https://hmy-flower.oss-cn-shanghai.aliyuncs.com/4d/4d8ab63e75ca462fa9e3bb480ff2da68ID5KnLIH9DwM23f9a04d99cc1f3306a8655c1eff34bf.png',
picture: 'https://hmy-flower.oss-cn-shanghai.aliyuncs.com/f1/f192b651606045ddba5c5f04a34a00c2R8MmH6mVsprH81cab47fbe889222f6088f4ca2cf20d5.png',
title: '金卡会员',
// description: '取材自湘西苗族传统的烟熏文化',
- path: ''
+ path: '',
+ key: '3',
}, {
bg: 'https://hmy-flower.oss-cn-shanghai.aliyuncs.com/db/db6b0cefdbb949cca9c8da824a5ebdebXsPsk2ROfxZu22f9b09e3feece76753b0df971fdc301.png',
picture: 'https://hmy-flower.oss-cn-shanghai.aliyuncs.com/c9/c94d8f444af94b899d1e1593cebb933eDyZyhyoyDxTRaf60a4d692f097e5d790cdb88fae9d0c.png',
title: '钻石会员',
// description: '在自己的小世界里,日日好日,夜夜好清宵',
- path: ''
+ path: '',
+ key: '4',
}],
swiperConfig: {
indicatorDots: true,
@@ -175,6 +240,83 @@
.member-center {
position: relative;
+ .member-infos {
+ // width: 670rpx;
+ padding: 32rpx 58rpx;
+ background: linear-gradient(213deg, #F7ECC6 0%, #EEE5CE 100%);
+ border-radius: 16rpx;
+
+ .desc-info {
+ background: #FFFFFF;
+ border-radius: 16rpx;
+ opacity: 0.55;
+ font-size: 24rpx;
+ color: #AD790F;
+ line-height: 34rpx;
+ text-align: left;
+ font-style: normal;
+ padding: 24rpx;
+
+ .icon {
+ width: 78rpx;
+ height: 78rpx;
+ margin: auto;
+ display: block;
+ margin-bottom: 10rpx;
+
+ }
+
+ .desc {
+ text-align: center;
+
+ }
+ }
+
+ .top-title {
+ .left-line {
+ min-width: 54rpx;
+ height: 6rpx;
+ background: linear-gradient(270deg, rgba(226, 157, 17, 0) 0%, #E39D10 100%);
+ border-radius: 4rpx;
+ display: inline-block;
+ margin-right: 20rpx;
+ vertical-align: middle;
+ margin-top: 23rpx;
+ }
+
+ .right-line {
+ min-width: 54rpx;
+ height: 6rpx;
+ background: linear-gradient(270deg, rgba(226, 157, 17, 0) 0%, #E39D10 100%);
+ border-radius: 4rpx;
+ margin-left: 20rpx;
+ display: inline-block;
+ vertical-align: middle;
+ margin-top: 23rpx;
+
+
+ }
+
+ .title {
+ font-weight: 600;
+ font-size: 36rpx;
+ color: #AD790F;
+ line-height: 50rpx;
+ text-align: left;
+ font-style: normal;
+ }
+ }
+ }
+
+ .protocol {
+ font-weight: 400;
+ font-size: 24rpx;
+ color: #AD790F;
+ line-height: 34rpx;
+ text-align: center;
+ margin-top: 32rpx;
+ }
+
.banner {
position: relative;
z-index: 10;
--
Gitblit v1.9.3