From a82b34f3dad88a826b459660aecc0af77e353080 Mon Sep 17 00:00:00 2001
From: xuxueyang <xuxy@fengyuntec.com>
Date: 星期五, 27 九月 2024 16:48:21 +0800
Subject: [PATCH] update
---
sub_pages/customer/self/member-center.vue | 393 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 383 insertions(+), 10 deletions(-)
diff --git a/sub_pages/customer/self/member-center.vue b/sub_pages/customer/self/member-center.vue
index 8183fd0..5da2430 100644
--- a/sub_pages/customer/self/member-center.vue
+++ b/sub_pages/customer/self/member-center.vue
@@ -1,22 +1,395 @@
<template>
- <view>
-
+ <view class="member-center">
+ <image src="../../../static/images/customer/coupon/member/member-level-bg.png" mode="aspectFit"
+ class="img100 member-level-image"></image>
+ <view class="banner">
+ <banner3d @changeIndex="changeIndex" 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="flex">
+ <view>成长值规则</view>
+ <view class="m-l-a m-r-0 text-right desc-gray" @click="goto('/pages/help/content?id=会员协议',false)">
+ 点击查看会员协议
+ </view>
+ </view>
+
+ </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 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 || '-'}} -->
+ 积分达到{{bannerList[curIndex].point.startPoint || '0'}}
+ </view>
+ </view>
+ <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>
+
+ <!-- createName: "孙凯悦"
+createTime: "2024-09-10 14:47:29"
+discountAmount: null
+discountRatio: 95
+discountType: "ratio"
+discountTypeStr: "百分比"
+downgradeValue: 30
+endPoint: 15000
+growthValue: 1
+id: 34
+name: "金卡会员7"
+startPoint: 10000
+updateTime: "2024-09-12 14:09:19"
+ -->
+
+
+ <view class="desc">
+ 优惠
+ <span v-if="bannerList[curIndex].point.discountType=='ratio'">
+ <!-- currentInfo.customerDTO.userGrowthRecord.currentDiscountType=='ratio' -->
+ <!-- {{(currentInfo.customerDTO.userGrowthRecord.currentDiscountRatio) || '-'}}%/扎 -->
+ {{ ((bannerList[curIndex].point.discountRatio)/10).toFixed(1) || '-'}}折/扎
+ </span>
+ <span v-else>
+ {{bannerList[curIndex].point.discountAmount || '0'}}元/扎
+ <!-- {{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 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 desc-info">
+ 每消费1元,即可获得1成长值。
+ 成长值将在订单交易完成后,根据实际交易金额进行赠送。
+ 消费越多,获得的成长值越多,享受更高等级的会员权益。
+ 快来参与消费,累积成长值,解锁更多专属福利吧!
+ </view>
+ </view>
+ <view class="protocol" @click="goto('/pages/help/content?id=会员协议',false)">会员协议 <uni-icons type="right"
+ size="14" color="#AD790F"></uni-icons>
+ </view>
+ </view>
+ </view>
+
</view>
</template>
<script>
+ import banner3d from '@/components/banner3d/banner3d'
export default {
- data() {
- return {
-
- }
+ async onPullDownRefresh() {
+ await this.$store.dispatch('getCurrentInfo')
+ uni.stopPullDownRefresh()
},
methods: {
-
- }
+ changeIndex(index) {
+ console.log('changeIndex', index, this.bannerList)
+ this.curIndex = index || 0
+ this.$forceUpdate()
+ }
+ },
+ async onLoad() {
+ await this.$store.dispatch('getCurrentInfo')
+ const {
+ code,
+ data
+ } = await this.$http.request('get', '/api/member/list')
+ if (code == 0 && data && data.records) {
+ console.log('member-data', data)
+ //循环赋值吧。用name包含来兼容
+ for (var tmp of this.bannerList) {
+ for (var info of data.records) {
+ if (info.name && info.name.indexOf(tmp.title) >= 0) {
+ // 设置value
+ tmp.point = {
+ ...info,
+ current: this.currentInfo.customerDTO.userGrowthRecord
+ .currentGrowthValue || 0
+ }
+
+ break
+
+ }
+ }
+ }
+ }
+ consumptionAmount: 1
+
+ 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) {
+ j += 1
+ // tmp.point = {
+ // current: this.currentInfo.customerDTO.userGrowthRecord.currentGrowthValue || 0
+ // }
+ tmp.currentMsg = ''
+ if (tmp.title === name) {
+ //说明是当前等级,其他待定
+ tmp.currentMsg = '当前等级'
+ currentindex = j
+ }
+
+
+
+ }
+ //重新排序,当前等级第一个
+ console.log('会员列表v0',this.bannerList)
+ 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
+ console.log('会员列表',this.bannerList)
+ // 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
+ // }
+ // }
+ // })
+
+ }
+ })
+
+ },
+ data() {
+ return {
+ init: false,
+ bannerList: [{
+ bg: 'https://hmy-flower.oss-cn-shanghai.aliyuncs.com/74/74cae150ea44463f92abbe1f9dd3c561fKcsrp0hOcNYa1cfb5eb753e56876fddcba7ea1e1a32.png',
+ picture: 'https://hmy-flower.oss-cn-shanghai.aliyuncs.com/ef/ef96604518db467fbd344c08e48d1fac8jZdk1ED0Yq023d4f86c2ec36975c981ba522c2bfe3f.png',
+ title: '普通会员',
+ // description: '一万年太久,就现在,给你爱',
+ path: '',
+ point: {},
+ 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',
+ point: {},
+
+ // 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: '',
+ key: '3',
+ point: {},
+
+ }, {
+ 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: '',
+ key: '4',
+ point: {},
+
+ }],
+ swiperConfig: {
+ indicatorDots: true,
+ indicatorColor: 'rgba(255, 255, 255, .4)',
+ indicatorActiveColor: 'rgba(255, 255, 255, 1)',
+ autoplay: false,
+ interval: 3000,
+ duration: 300,
+ circular: true,
+ previousMargin: '58rpx',
+ nextMargin: '58rpx'
+ },
+ curIndex: 0,
+ }
+ },
+ components: {
+ banner3d
+ },
+
}
</script>
-<style>
+<style lang="scss" scoped>
+ .member-center {
+ position: relative;
-</style>
+ .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: 28rpx;
+ color: #AD790F;
+ line-height: 34rpx;
+ text-align: center;
+ margin-top: 32rpx;
+ }
+
+ .banner {
+ position: relative;
+ z-index: 10;
+ padding-top: 160rpx;
+ }
+
+ .member-level-image {
+ width: 750rpx;
+ min-height: 530rpx;
+ position: absolute;
+ left: 0;
+ right: 0;
+ top: 0;
+ z-index: 1;
+ }
+ }
+</style>
\ No newline at end of file
--
Gitblit v1.9.3