<template>
|
<view class="points">
|
<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">120</view>
|
<view class="info-c">
|
<image src="/static/icon/ic_tixing@2x.png" mode="widthFix"></image>
|
<text>200积分即将过期</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">全部</view>
|
<view class="list-title-cate-row">获得</view>
|
<view class="list-title-cate-row">扣除</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'])
|
},
|
data() {
|
return {
|
backImage: require('@/static/images/jifen_bg@2x.png')
|
};
|
}
|
}
|
</script>
|
|
<style>
|
page {
|
background-color: #F9F9FB;
|
}
|
</style>
|
<style lang="scss" scoped>
|
.points {
|
width: 100%;
|
.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>
|