| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="points"> |
| | | |
| | | <view class="info-rule">积åè§å</view> |
| | | <view class="head" :style="{ backgroundImage: 'url(' + backImage + ')', height: 'calc(' + (navHeight + statusbarHeight + 'px + 376rpx)') }"> |
| | | <view :style="{ width: '100%', height: navHeight + statusbarHeight + 'px' }"></view> |
| | | <view class="head-bar" :style="{ height: navHeight + statusbarHeight + 'px' }"> |
| | | <view :style="{ width: '100%', height: statusbarHeight + 'px' }"></view> |
| | | <view class="head-bar-nav" :style="{ height: navHeight + 'px' }" @click="openLoacing"> |
| | | <image src="/static/icon/nav_ic_bac@2x.png" mode="widthFix"></image> |
| | | <text>æç积å</text> |
| | | <image src="/static/icon/nav_ic_bac@2x.png" mode="widthFix" style="opacity: 0;"></image> |
| | | </view> |
| | | </view> |
| | | <view class="info"> |
| | | <view class="info-a">å½å积å</view> |
| | | <view class="info-b">{{countData.surplusIntegral || 0}}</view> |
| | | <view class="info-c"> |
| | | <image src="/static/icon/ic_tixing@2x.png" mode="widthFix"></image> |
| | | <text>{{countData.expiredIntegral || 0}}积åå³å°è¿æ</text> |
| | | </view> |
| | | </view> |
| | | <view class="list"> |
| | | <view class="list-title"> |
| | | <view class="list-title-name">积åæç»</view> |
| | | <view class="list-title-cate"> |
| | | <view :class="'list-title-cate-row '+(active ==0?'active':'')" @click="changeActive(0)" >å
¨é¨</view> |
| | | <view :class="'list-title-cate-row '+(active ==1?'active':'')" @click="changeActive(1)">è·å¾</view> |
| | | <view :class="'list-title-cate-row '+(active ==2?'active':'')" @click="changeActive(2)">æ£é¤</view> |
| | | </view> |
| | | </view> |
| | | <view class="list-item"> |
| | | <view class="list-item-left"> |
| | | <text>è´ä¹°ååï¼è·å¾100积å</text> |
| | | <text>2025-11-21 09:00:00</text> |
| | | </view> |
| | | <view class="list-item-num">+100</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { mapState } from 'vuex' |
| | | export default { |
| | | computed: { |
| | | ...mapState(['navHeight', 'statusbarHeight','shopInfo', 'shopToken']) |
| | | }, |
| | | data() { |
| | | return { |
| | | currentPage:1, |
| | | total:0, |
| | | shop:{}, |
| | | active:0, |
| | | hasNext:true, |
| | | dataList:[], |
| | | countData:{}, |
| | | backImage: require('@/static/images/jifen_bg@2x.png') |
| | | }; |
| | | }, |
| | | onReachBottom(){ |
| | | this.getDataList( ); |
| | | }, |
| | | onShow() { |
| | | this.shop ={} |
| | | this.checkShopLogin() |
| | | this.active=0 |
| | | this.shop = this.shopInfo || {} |
| | | this.getCountData() |
| | | this.currentPage = 0 |
| | | this.getDataList() |
| | | }, |
| | | methods:{ |
| | | changeActive(index){ |
| | | this.getCountData(index) |
| | | }, |
| | | showRule(){ |
| | | console.log("==================================",this.showPhone) |
| | | }, |
| | | async getCountData(){ |
| | | var that =this |
| | | let res = await that.$u.api.getIntegralData({ userType: 1, tokenType:1 }) |
| | | if (res.code === 200) { |
| | | this.countData = res.data |
| | | } |
| | | }, |
| | | async getDataList(){ |
| | | if(this.loading || !this.hasNext){ |
| | | return |
| | | } |
| | | this.loading=true |
| | | this.currentPage = this.currentPage+1 |
| | | if(this.currentPage == 1){ |
| | | this.hasNext =true |
| | | this.dataList=[] |
| | | } |
| | | var that =this |
| | | let res = await that.$u.api.shopOrderPage({ |
| | | capacity:10, |
| | | model: { |
| | | receiveType: 1, |
| | | status: 1 |
| | | }, |
| | | page:this.currentPage |
| | | }); |
| | | console.log(res) |
| | | if (res.code === 200 ) { |
| | | if ( res.data && res.data.page ===this.currentPage) { |
| | | res.data.records = res.data.records||[] |
| | | that.dataList.push(...res.data.records) |
| | | that.total=res.data.total |
| | | if( this.currentPage >= res.data.pageCount||0){ |
| | | that.hasNext=false |
| | | }else{ |
| | | that.hasNext=true |
| | | } |
| | | } |
| | | } |
| | | this.loading=false |
| | | }, |
| | | jumpService(flag) { |
| | | uni.navigateTo({ |
| | | url: '/pagesA/rich-text-page/rich-text-page?flag='+2 |
| | | }) |
| | | }, |
| | | checkShopLogin(){ |
| | | var that =this |
| | | if( this.shopInfo ==null || this.shopInfo.id==null || this.shopToken==null || this.shopToken==''){ |
| | | uni.navigateTo({ |
| | | url: '/pages/login/login' |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | page { |
| | | background-color: #F9F9FB; |
| | | } |
| | | </style> |
| | | <style lang="scss" scoped> |
| | | .points { |
| | | width: 100%; |
| | | .info-rule{ |
| | | float: right; |
| | | margin-top:214rpx; |
| | | width: 140rpx; |
| | | // height: 52rpx; |
| | | padding: 5px 0; |
| | | background: #FFFFFF; |
| | | border-radius: 36rpx 0rpx 0rpx 36rpx; |
| | | |
| | | font-family: PingFangSC, PingFang SC; |
| | | font-weight: 400; |
| | | font-size: 24rpx; |
| | | color: #333333; |
| | | line-height: 34rpx; |
| | | text-align: center; |
| | | font-style: normal; |
| | | } |
| | | .head { |
| | | width: 100%; |
| | | height: 424rpx; |
| | | padding: 0 30rpx; |
| | | box-sizing: border-box; |
| | | background-repeat: no-repeat; |
| | | background-size: 100% 100%; |
| | | |
| | | .list { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | background: #FFFFFF; |
| | | border-radius: 16rpx; |
| | | margin-top: 30rpx; |
| | | padding: 34rpx 30rpx; |
| | | box-sizing: border-box; |
| | | .list-title { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | .list-title-name { |
| | | font-weight: 600; |
| | | font-size: 32rpx; |
| | | color: #222222; |
| | | } |
| | | .active { |
| | | color: #004096 !important; |
| | | background: #F8F9FB !important; |
| | | } |
| | | .list-title-cate { |
| | | display: flex; |
| | | align-items: center; |
| | | .list-title-cate-row { |
| | | width: 96rpx; |
| | | height: 56rpx; |
| | | line-height: 56rpx; |
| | | text-align: center; |
| | | background: #F8F9FB; |
| | | border-radius: 28rpx; |
| | | font-weight: 400; |
| | | font-size: 24rpx; |
| | | color: #333333; |
| | | margin-left: 20rpx; |
| | | } |
| | | } |
| | | } |
| | | .list-item { |
| | | width: 100%; |
| | | height: 154rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | border-bottom: 1rpx solid #E5E5E5; |
| | | .list-item-left { |
| | | flex: 1; |
| | | height: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: space-evenly; |
| | | text { |
| | | &:nth-child(1) { |
| | | font-weight: 400; |
| | | font-size: 28rpx; |
| | | color: #222222; |
| | | } |
| | | &:nth-child(2) { |
| | | font-weight: 400; |
| | | font-size: 24rpx; |
| | | color: #999999; |
| | | } |
| | | } |
| | | } |
| | | .list-item-num { |
| | | flex-shrink: 0; |
| | | margin-left: 30rpx; |
| | | font-weight: 500; |
| | | font-size: 32rpx; |
| | | color: #222222; |
| | | } |
| | | } |
| | | } |
| | | .info { |
| | | width: 100%; |
| | | padding: 30rpx 0; |
| | | box-sizing: border-box; |
| | | .info-a { |
| | | font-weight: 400; |
| | | font-size: 26rpx; |
| | | color: #333333; |
| | | } |
| | | .info-b { |
| | | font-weight: bold; |
| | | font-size: 72rpx; |
| | | color: #222222; |
| | | } |
| | | .info-c { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | margin-top: 20rpx; |
| | | image { |
| | | width: 28rpx; |
| | | height: 28rpx; |
| | | margin-right: 10rpx; |
| | | } |
| | | text { |
| | | font-weight: 400; |
| | | font-size: 24rpx; |
| | | color: #777777; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .head-bar { |
| | | width: 100%; |
| | | position: fixed; |
| | | padding: 0 30rpx; |
| | | box-sizing: border-box; |
| | | top: 0; |
| | | left: 0; |
| | | z-index: 999; |
| | | |
| | | .head-bar-nav { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | |
| | | image { |
| | | width: 44rpx; |
| | | height: 44rpx; |
| | | } |
| | | |
| | | text { |
| | | font-weight: 500; |
| | | font-size: 32rpx; |
| | | color: #111111; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |