608 lines
22 KiB
Vue
608 lines
22 KiB
Vue
<template>
|
|
<view class="main">
|
|
<view class="pageTop"></view>
|
|
|
|
<view class="content">
|
|
<view class="contentTop">
|
|
<view class="contentTopLeft">
|
|
<view class="contentTopLeftLabel">我的余额</view>
|
|
<view class="contentTopLeftValue">{{ user.ACCOUNT_BALANCE || "0" }}</view>
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view class="contentBottom">
|
|
<view class="tabBox">
|
|
<view v-for="(item, index) in tabList" :key="index" class="tabItem"
|
|
@click="handleChangeTab(item.value)">
|
|
<text :class="item.value === selectTab ? 'tabText selectTabText' : 'tabText'">{{ item.label ||
|
|
'' }}</text>
|
|
</view>
|
|
</view>
|
|
|
|
<scroll-view scroll-y class="listBox">
|
|
<view class="listItem" v-for="(item, index) in showList" :key="index">
|
|
<view class="listItemSum">
|
|
<view class="listItemLeft">
|
|
{{ item.label }}
|
|
</view>
|
|
<view class="listItemRight">
|
|
<text class="listItemRightLabel" v-if="selectTab !== 2">获取积分</text>
|
|
<text class="listItemRightPoint" v-if="selectTab !== 2"
|
|
:style="{ marginRight: selectTab === 0 ? '10rpx' : '' }">+{{ item.obtain }}</text>
|
|
<text class="listItemRightLabel" v-if="selectTab !== 1">消耗积分</text>
|
|
<text class="listItemRightPoint" v-if="selectTab !== 1">{{ item.consume }}</text>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="childrenBox">
|
|
<view class="childrenItem" v-for="(subItem, subIndex) in item.children" :key="subIndex">
|
|
<view class="childrenItemLeft">
|
|
<view class="childrenItemLeftLabel">{{ subItem.SERVERPART_NAME + subItem.SHOPNAME }}
|
|
</view>
|
|
<view class="childrenItemLeftTime">{{ subItem.OPERATE_DATE }}</view>
|
|
</view>
|
|
|
|
<view class="childrenItemRight">
|
|
<text class="childrenItemRightValue">{{ subItem.POINT_TYPE * subItem.CURRENT_POINT
|
|
> 0 ? '+' : subItem.POINT_TYPE * subItem.CURRENT_POINT < 0 ? '-' : '' }}{{
|
|
subItem.POINT_TYPE * subItem.CURRENT_POINT }}</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</scroll-view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<!-- <view class="main">
|
|
<view class="mainTopBox">
|
|
<view class="mainTop">
|
|
<view class="mainTopLeft">
|
|
<view class="mainTopHeaderImg">
|
|
<image class="headerImg" :src="user.MEMBERSHIP_HEADIMAGEURL || ''" />
|
|
</view>
|
|
<view class="mainTopLeftMessage">
|
|
<view class="mainTopMessageUserBox">
|
|
<view class="mainTopMessageUserName">{{ user.MEMBERSHIP_NAME || '' }}</view>
|
|
<view class="mainTopMessageUserLevelBox">
|
|
<image class="mainTopMessageUserLevelIcon"
|
|
src="https://eshangtech.com/caiyunyiImg/levelIcon.png" />
|
|
<view class="mainTopMessageUserLevelText">{{ user.MEMBERSHIP_LEVEL_TEXT || '' }}</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="mianTopRight" @click="handleGoCode">
|
|
<image class="userCodeImg" src="https://eshangtech.com/caiyunyiImg/userCodeImg.png" />
|
|
<view class="userCodeText">会员码</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="mainBottom">
|
|
<view class="mainBottomLabel">我的余额</view>
|
|
<view class="mainBottomValueBox">
|
|
<view class="mainBottomValueUnit">¥</view>
|
|
<view class="mainBottomValue">{{ user.ACCOUNT_BALANCE || "0" }}</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
|
|
<view class="mainBalanceList">
|
|
<view class="mainBalanceTabBox">
|
|
<view :class="selectTab === 1 ? 'mainBalanceTabItem selectMainBalanceTabItem' : 'mainBalanceTabItem '"
|
|
@click="handleChangeTab(1)">
|
|
充值记录
|
|
</view>
|
|
<view :class="selectTab === 2 ? 'mainBalanceTabItem selectMainBalanceTabItem' : 'mainBalanceTabItem '"
|
|
@click="handleChangeTab(2)">
|
|
提现记录
|
|
</view>
|
|
|
|
</view>
|
|
</view>
|
|
</view> -->
|
|
</template>
|
|
|
|
<script>
|
|
import { mapGetters } from "vuex";
|
|
export default {
|
|
data() {
|
|
return {
|
|
selectTab: 1,
|
|
tabList: [{ label: "获取明细", value: 1 }, { label: "消耗明细", value: 2 }],
|
|
}
|
|
},
|
|
computed: {
|
|
...mapGetters({
|
|
user: "user",
|
|
})
|
|
},
|
|
onLoad() {
|
|
console.log('user', JSON.parse(JSON.stringify(this.user)));
|
|
},
|
|
methods: {
|
|
handleChangeTab(value) {
|
|
this.selectTab = value
|
|
},
|
|
handleGoCode() {
|
|
uni.navigateTo({
|
|
url: "/pages/payfor/index",
|
|
});
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
<style lang="less" scoped>
|
|
.main {
|
|
width: 100vw;
|
|
height: 100vh;
|
|
|
|
.pageTop {
|
|
width: 100%;
|
|
height: 476rpx;
|
|
background-image: url('https://eshangtech.com/caiyunyiImg/pointsBg.png');
|
|
background-size: 100% 100%;
|
|
background-repeat: no-repeat;
|
|
}
|
|
|
|
.content {
|
|
width: 100%;
|
|
height: calc(100vh - 112rpx);
|
|
transform: translateY(-364rpx);
|
|
|
|
.contentTop {
|
|
width: calc(100% - 96rpx);
|
|
height: 162rpx;
|
|
margin-left: 48rpx;
|
|
background-image: url('https://eshangtech.com/caiyunyiImg/pointContentBg.png');
|
|
background-size: 100% 100%;
|
|
background-repeat: no-repeat;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
box-sizing: border-box;
|
|
padding: 0 22rpx 26rpx;
|
|
|
|
.contentTopLeft {
|
|
display: flex;
|
|
align-items: center;
|
|
|
|
.contentTopLeftLabel {
|
|
font-family: PingFangSC, PingFang SC;
|
|
font-weight: 400;
|
|
font-size: 32rpx;
|
|
color: #FFFFFF;
|
|
line-height: 44rpx;
|
|
text-align: right;
|
|
font-style: normal;
|
|
}
|
|
|
|
.contentTopLeftValue {
|
|
font-family: PingFangSC, PingFang SC;
|
|
font-weight: 600;
|
|
font-size: 50rpx;
|
|
color: #FFFFFF;
|
|
line-height: 72rpx;
|
|
text-align: right;
|
|
font-style: normal;
|
|
margin-left: 6rpx;
|
|
}
|
|
}
|
|
|
|
.contentTopRight {
|
|
display: flex;
|
|
align-items: center;
|
|
|
|
.contentTopRightLabel {
|
|
font-family: PingFangSC, PingFang SC;
|
|
font-weight: 600;
|
|
font-size: 26rpx;
|
|
color: #FFFFFF;
|
|
line-height: 36rpx;
|
|
text-align: right;
|
|
font-style: normal;
|
|
}
|
|
|
|
.contentTopRightIcon {
|
|
width: 32rpx;
|
|
height: 32rpx;
|
|
margin-left: 6rpx;
|
|
}
|
|
}
|
|
}
|
|
|
|
.contentBottom {
|
|
width: 100%;
|
|
height: calc(100% - 162rpx + 26rpx);
|
|
background: #FFFFFF;
|
|
box-shadow: 0rpx -4rpx 16rpx 0rpx rgba(166, 90, 28, 0.15);
|
|
border-radius: 48rpx 48rpx 0rpx 0rpx;
|
|
transform: translateY(-26rpx);
|
|
|
|
.tabBox {
|
|
width: 100%;
|
|
height: 98rpx;
|
|
box-sizing: border-box;
|
|
display: flex;
|
|
align-items: flex-start;
|
|
justify-content: space-between;
|
|
border-bottom: 2rpx solid #CCCCCC;
|
|
padding: 26rpx 48rpx 0;
|
|
|
|
.tabItem {
|
|
width: calc(100% / 3);
|
|
height: 100%;
|
|
display: flex;
|
|
justify-content: center;
|
|
|
|
.tabText {
|
|
font-family: PingFangSC, PingFang SC;
|
|
font-weight: 400;
|
|
font-size: 32rpx;
|
|
color: rgba(0, 0, 0, 0.85);
|
|
line-height: 44rpx;
|
|
text-align: center;
|
|
font-style: normal;
|
|
display: inline-block;
|
|
}
|
|
|
|
.selectTabText {
|
|
font-family: PingFangSC, PingFang SC;
|
|
font-weight: 600;
|
|
font-size: 32rpx;
|
|
color: #1380FF;
|
|
line-height: 44rpx;
|
|
text-align: center;
|
|
font-style: normal;
|
|
position: relative;
|
|
}
|
|
|
|
.selectTabText::after {
|
|
content: "";
|
|
width: 100%;
|
|
height: 6rpx;
|
|
background: #117CFF;
|
|
border-radius: 6rpx;
|
|
bottom: 0;
|
|
left: 0;
|
|
position: absolute;
|
|
}
|
|
}
|
|
}
|
|
|
|
.listBox {
|
|
width: 100%;
|
|
height: calc(100% - 98rpx);
|
|
box-sizing: border-box;
|
|
padding: 32rpx 30rpx;
|
|
|
|
.listItem {
|
|
width: 100%;
|
|
margin-bottom: 16rpx;
|
|
|
|
.listItemSum {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
box-sizing: border-box;
|
|
padding: 0 34rpx 30rpx 0;
|
|
border-bottom: 2rpx solid #F5F5F5;
|
|
|
|
.listItemLeft {
|
|
.listItemLeftMonth {
|
|
font-family: PingFang-SC, PingFang-SC;
|
|
font-weight: 600;
|
|
font-size: 30rpx;
|
|
color: #333333;
|
|
line-height: 40rpx;
|
|
text-align: left;
|
|
font-style: normal;
|
|
text-transform: none;
|
|
}
|
|
}
|
|
|
|
.listItemRight {
|
|
.listItemRightLabel {
|
|
font-family: PingFang-SC, PingFang-SC;
|
|
font-weight: 400;
|
|
font-size: 28rpx;
|
|
color: #333333;
|
|
line-height: 40rpx;
|
|
text-align: left;
|
|
font-style: normal;
|
|
text-transform: none;
|
|
}
|
|
|
|
.listItemRightPoint {
|
|
display: inline-block;
|
|
width: 100rpx;
|
|
font-family: PingFangSC, PingFang SC;
|
|
font-weight: 600;
|
|
font-size: 32rpx;
|
|
color: #E9682B;
|
|
line-height: 44rpx;
|
|
text-align: right;
|
|
font-style: normal;
|
|
text-transform: none;
|
|
}
|
|
}
|
|
}
|
|
|
|
.childrenBox {
|
|
width: 100%;
|
|
|
|
.childrenItem {
|
|
width: 100%;
|
|
box-sizing: border-box;
|
|
padding: 20rpx 58rpx 20rpx 0;
|
|
border-bottom: 2rpx solid #F5F5F5;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
|
|
.childrenItemLeft {
|
|
.childrenItemLeftLabel {
|
|
font-family: PingFang-SC, PingFang-SC;
|
|
font-weight: 600;
|
|
font-size: 28rpx;
|
|
color: #333333;
|
|
line-height: 40rpx;
|
|
text-align: left;
|
|
font-style: normal;
|
|
text-transform: none;
|
|
}
|
|
|
|
.childrenItemLeftTime {
|
|
font-family: PingFang-SC, PingFang-SC;
|
|
font-weight: 500;
|
|
font-size: 20rpx;
|
|
color: #999999;
|
|
line-height: 28rpx;
|
|
text-align: left;
|
|
font-style: normal;
|
|
text-transform: none;
|
|
margin-top: 4rpx;
|
|
}
|
|
}
|
|
|
|
.childrenItemRight {
|
|
.childrenItemRightValue {
|
|
display: inline-block;
|
|
width: 120rpx;
|
|
font-family: PingFangSC, PingFang SC;
|
|
font-weight: 600;
|
|
font-size: 28rpx;
|
|
color: #E9682B;
|
|
line-height: 40rpx;
|
|
text-align: right;
|
|
font-style: normal;
|
|
text-transform: none;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.listBox ::-webkit-scrollbar {
|
|
display: none;
|
|
}
|
|
}
|
|
}
|
|
|
|
// width: 100vw;
|
|
// height: 100vh;
|
|
// box-sizing: border-box;
|
|
// padding: 32rpx 30rpx;
|
|
// background-color: #F1F5F6;
|
|
|
|
// .mainTopBox {
|
|
// width: 100%;
|
|
// height: 320rpx;
|
|
// background-image: url('https://eshangtech.com/caiyunyiImg/balanceBg.png');
|
|
// background-size: 100% 100%;
|
|
// background-repeat: no-repeat;
|
|
// box-sizing: border-box;
|
|
// padding: 48rpx 32rpx 32rpx;
|
|
|
|
// .mainTop {
|
|
// width: 100%;
|
|
// display: flex;
|
|
// align-items: center;
|
|
// justify-content: space-between;
|
|
|
|
// .mainTopLeft {
|
|
// display: flex;
|
|
// width: calc(100% - 120rpx);
|
|
|
|
// .mainTopHeaderImg {
|
|
// width: 96rpx;
|
|
// height: 96rpx;
|
|
|
|
// .headerImg {
|
|
// width: 96rpx;
|
|
// height: 96rpx;
|
|
// border-radius: 50%;
|
|
// border: 1px solid #fff;
|
|
// }
|
|
// }
|
|
|
|
// .mainTopLeftMessage {
|
|
// width: calc(100% - 118rpx);
|
|
// margin-left: 22rpx;
|
|
|
|
// .mainTopMessageUserBox {
|
|
// width: 100%;
|
|
// display: flex;
|
|
// align-items: center;
|
|
|
|
// .mainTopMessageUserName {
|
|
// font-family: PingFangSC, PingFang SC;
|
|
// font-weight: 600;
|
|
// font-size: 40rpx;
|
|
// color: #F3E6B3;
|
|
// line-height: 56rpx;
|
|
// text-align: left;
|
|
// font-style: normal;
|
|
// display: inline-block;
|
|
// max-width: calc(100% - 170rpx);
|
|
// text-overflow: ellipsis;
|
|
// overflow: hidden;
|
|
// white-space: nowrap;
|
|
// }
|
|
|
|
// .mainTopMessageUserLevelBox {
|
|
// max-width: 170rpx;
|
|
// display: flex;
|
|
// align-items: center;
|
|
// background-color: #515050;
|
|
// padding: 4rpx 18rpx;
|
|
// border-radius: 32rpx;
|
|
// margin-left: 16rpx;
|
|
|
|
// .mainTopMessageUserLevelIcon {
|
|
// width: 24rpx;
|
|
// height: 24rpx;
|
|
// margin-right: 10rpx;
|
|
// }
|
|
|
|
// .mainTopMessageUserLevelText {
|
|
// font-family: PingFangSC, PingFang SC;
|
|
// font-weight: 500;
|
|
// font-size: 24rpx;
|
|
// color: #F4DA7F;
|
|
// line-height: 34rpx;
|
|
// text-align: left;
|
|
// font-style: normal;
|
|
// text-transform: none;
|
|
// display: inline-block;
|
|
// width: calc(100% - 34rpx);
|
|
// text-overflow: ellipsis;
|
|
// overflow: hidden;
|
|
// white-space: nowrap;
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
// .mianTopRight {
|
|
// width: 96rpx;
|
|
// display: flex;
|
|
// flex-direction: column;
|
|
// align-items: center;
|
|
|
|
// .userCodeImg {
|
|
// width: 46rpx;
|
|
// height: 46rpx;
|
|
// margin-bottom: 10rpx;
|
|
// }
|
|
|
|
// .userCodeText {
|
|
// font-family: PingFangSC, PingFang SC;
|
|
// font-weight: 400;
|
|
// font-size: 24rpx;
|
|
// color: #F3E6B3;
|
|
// line-height: 34rpx;
|
|
// text-align: left;
|
|
// font-style: normal;
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
// .mainBottom {
|
|
// width: 100%;
|
|
// margin-top: 36rpx;
|
|
|
|
// .mainBottomLabel {
|
|
// font-family: PingFangSC, PingFang SC;
|
|
// font-weight: 400;
|
|
// font-size: 32rpx;
|
|
// color: #F3E6B3;
|
|
// line-height: 44rpx;
|
|
// text-align: left;
|
|
// font-style: normal;
|
|
// }
|
|
|
|
// .mainBottomValueBox {
|
|
// display: flex;
|
|
// align-items: flex-end;
|
|
// margin-top: 12rpx;
|
|
|
|
// .mainBottomValueUnit {
|
|
// font-family: PingFangSC, PingFang SC;
|
|
// font-weight: 600;
|
|
// font-size: 28rpx;
|
|
// color: #F3E6B3;
|
|
// line-height: 40rpx;
|
|
// text-align: left;
|
|
// font-style: normal;
|
|
// }
|
|
|
|
// .mainBottomValue {
|
|
// font-family: PingFangSC, PingFang SC;
|
|
// font-weight: 600;
|
|
// font-size: 40rpx;
|
|
// color: #F3E6B3;
|
|
// line-height: 48rpx;
|
|
// text-align: left;
|
|
// font-style: normal;
|
|
// margin-left: 4rpx;
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
// .mainBalanceList {
|
|
// width: 100%;
|
|
// height: calc(100vh - 400rpx);
|
|
// margin-top: 20rpx;
|
|
// background: #FFFFFF;
|
|
// border-radius: 16rpx;
|
|
|
|
// .mainBalanceTabBox {
|
|
// width: 100%;
|
|
// height: 94rpx;
|
|
// border-bottom: 2rpx solid #CCCCCC;
|
|
// display: flex;
|
|
// align-items: center;
|
|
// justify-content: space-around;
|
|
|
|
// .mainBalanceTabItem {
|
|
// font-family: PingFangSC, PingFang SC;
|
|
// font-weight: 400;
|
|
// font-size: 32rpx;
|
|
// color: rgba(0, 0, 0, 0.85);
|
|
// line-height: 44rpx;
|
|
// text-align: left;
|
|
// font-style: normal;
|
|
// }
|
|
|
|
// .selectMainBalanceTabItem {
|
|
// font-family: PingFangSC, PingFang SC;
|
|
// font-weight: 600;
|
|
// font-size: 32rpx;
|
|
// color: #333333;
|
|
// line-height: 44rpx;
|
|
// text-align: left;
|
|
// font-style: normal;
|
|
// position: relative;
|
|
// }
|
|
|
|
// .selectMainBalanceTabItem ::after {
|
|
// content: "";
|
|
// width: 100%;
|
|
// height: 6rpx;
|
|
// background: #51A0FF;
|
|
// border-radius: 6rpx;
|
|
// position: absolute;
|
|
// left: 0;
|
|
// bottom: 0;
|
|
// }
|
|
// }
|
|
// }
|
|
}
|
|
</style> |