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