|
@@ -1,32 +1,32 @@
|
|
|
<template>
|
|
|
- <view class="">
|
|
|
+ <view class="" style="padding-top: 20rpx;">
|
|
|
<view class="flex center-box ">
|
|
|
- <view class="flex center-item" @click="navto('/pages/user/xzdl?type=2')">
|
|
|
+ <!-- <view class="flex center-item" @click="navto('/pages/user/xzdl?type=2')">
|
|
|
<view class="val">
|
|
|
1000
|
|
|
</view>
|
|
|
<view class="name">我的消费包</view>
|
|
|
</view>
|
|
|
<view class="line">
|
|
|
- </view>
|
|
|
- <view class="flex center-item" @click="navto('/pages/user/xzdl?type=1')">
|
|
|
+ </view> -->
|
|
|
+ <view class="flex center-item" @click="navto('/pages/zero/gfz')">
|
|
|
<view class="val">
|
|
|
- 1000
|
|
|
+ {{pUser.holding_value || 0}}
|
|
|
</view>
|
|
|
<view class="name">我的共富值</view>
|
|
|
</view>
|
|
|
<view class="line">
|
|
|
</view>
|
|
|
- <view class="flex center-item" @click="toTx">
|
|
|
+ <view class="flex center-item" >
|
|
|
<view class="val">
|
|
|
- 1000
|
|
|
+ {{pUser.pass || 0}}
|
|
|
</view>
|
|
|
<view class="name">我的通证</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
<view class="flex banne">
|
|
|
<image src="../../static/img/zjf.png" mode="" @click="navto('/pages/zero/task')"></image>
|
|
|
- <image src="../../static/img/yj.png" mode="" @click="navto('/pages/zero/task')"></image>
|
|
|
+ <image src="../../static/img/yj.png" mode="" @click="navto('/pages/index/dkf')"></image>
|
|
|
</view>
|
|
|
<view class="flex nav">
|
|
|
<view class="nav-item" v-for="(item,index) in navList" :class="{'action': current == index}"
|
|
@@ -34,36 +34,103 @@
|
|
|
{{item.tit}}
|
|
|
</view>
|
|
|
</view>
|
|
|
- <swiper disable-touch :current="current" class="list-wrap" :style="{'height': maxHeight}">
|
|
|
+ <swiper disable-touch :current="current" class="list-wrap" :style="{'height': maxHeight}">
|
|
|
<swiper-item :style="{'height': maxHeight}" v-for="item in navList">
|
|
|
- <scroll-view scroll-y="true" class="" :style="{'height': maxHeight}">
|
|
|
- <view class="card-wrap flex" v-for="item in 10">
|
|
|
- <image src="" mode="" class="card-img"></image>
|
|
|
+ <scroll-view scroll-y="true" class="" :style="{'height': maxHeight}" :class="{'p2':current == 1}" @scrolltolower="getMore(item.status)">
|
|
|
+ <view class="card-wrap flex" v-for="cardItem in item.list" v-if="item.status == 1">
|
|
|
+ <image :src="cardItem.image" mode="" class="card-img"></image>
|
|
|
<view class="flex card-info">
|
|
|
- <view class="name clamp2">
|
|
|
- 普通卡
|
|
|
+ <view class="name ">
|
|
|
+ {{cardItem.name}}
|
|
|
</view>
|
|
|
- <view class="">
|
|
|
- 价值1持包值
|
|
|
+ <!-- <view class="">
|
|
|
+ 有效期{{cardItem.max_send ||0}}
|
|
|
+ </view> -->
|
|
|
+ <view class="" style="padding-right: 10rpx;">
|
|
|
+ 周期{{cardItem.end_day || 0}}天,每日产出数量{{cardItem.day_pass || 0}},共富值+{{cardItem.holding_value || 0}}.最多可持有{{cardItem.max_count}}个
|
|
|
</view>
|
|
|
<view class="price">
|
|
|
<image src="../../static/icon/ydjf.png" mode=""></image>
|
|
|
- <text>100</text> 阅读积分
|
|
|
+ <text class="show">{{cardItem.pay_points}}</text> 阅读积分 <text > (有效期{{cardItem.max_send ||0}})</text>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <view class="card-btn">
|
|
|
+ <view class="card-btn" :class="{'buyless': cardItem.activate == 0}" @click="open(cardItem)">
|
|
|
立即兑换
|
|
|
</view>
|
|
|
+ <view class="card-nun" v-if="cardItem.total">
|
|
|
+ 进行中:{{cardItem.progress}}/{{cardItem.total}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="px-wrap flex" v-if="item.status == 2">
|
|
|
+ <view class="nav-item" :class="{ current: filterIndex === 0 }" @click="tabClick(0)">默认</view>
|
|
|
+
|
|
|
+ <view class="nav-item" :class="{ current: filterIndex === 2 }" @click="tabClick(2)">
|
|
|
+ <text>单价</text>
|
|
|
+ <view class="p-box">
|
|
|
+ <text :class="{ active: priceOrder === 1 && filterIndex === 2 }" class="iconfont iconfold"></text>
|
|
|
+ <text :class="{ active: priceOrder === 2 && filterIndex === 2 }" class="iconfont iconfold xia"></text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="nav-item" :class="{ current: filterIndex === 1 }" @click="tabClick(1)">
|
|
|
+ <text>数量</text>
|
|
|
+ <view class="p-box">
|
|
|
+ <text :class="{ active: numberOrder === 1 && filterIndex === 1 }" class="iconfont iconfold"></text>
|
|
|
+ <text :class="{ active: numberOrder === 2 && filterIndex === 1 }" class="iconfont iconfold xia"></text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="order-wrap " v-for="orderItem in item.list" v-if="item.status == 2">
|
|
|
+ <view class="flex m-info">
|
|
|
+ <image src="../../static/icon/gs-av.png" mode="" class="card-img"></image>
|
|
|
+ <text style=" display: inline-block;line-height: 55rpx;">{{orderItem.phone}}</text>
|
|
|
+ </view>
|
|
|
+ <view class="price">
|
|
|
+ ¥{{orderItem.total_price}}
|
|
|
+ </view>
|
|
|
+ <view class="num">
|
|
|
+ 数量:{{orderItem.amount}}
|
|
|
+ </view>
|
|
|
+ <view class="num">
|
|
|
+ {{ getTime(orderItem.add_time)}}
|
|
|
+ </view>
|
|
|
+ <view class="order-btn" @click="makeCall(orderItem.phone)">
|
|
|
+ 联系卖家
|
|
|
+ </view>
|
|
|
</view>
|
|
|
<uni-load-more :status="item.loadingType"></uni-load-more>
|
|
|
</scroll-view>
|
|
|
</swiper-item>
|
|
|
</swiper>
|
|
|
-
|
|
|
+ <uni-popup ref="popup" type="bottom" @change="popChange">
|
|
|
+ <view class="" style="padding-bottom: 50px;background-color: #fff;">
|
|
|
+ <view class="a-t">
|
|
|
+ <image :src="buyItem.image"></image>
|
|
|
+ <view class="right">
|
|
|
+ <view class="good-name clamp">{{buyItem.name}}</view>
|
|
|
+ <text class="price">{{ buyItem.pay_points*1* goodsNumber }}</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="attr-list" style="padding-bottom:40rpx;">
|
|
|
+ <text>兑换数量</text>
|
|
|
+ <view class="item-list">
|
|
|
+ <uni-number-box class="step" :isMin="true" :value="goodsNumber" :min="1" :max="goodsNumberMax"
|
|
|
+ @eventChange="numberChange"></uni-number-box>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <button class="btn" @click.stop="createPass">确定</button>
|
|
|
+ </view>
|
|
|
+ </uni-popup>
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+ import {
|
|
|
+ mapState,
|
|
|
+ mapMutations
|
|
|
+ } from 'vuex';
|
|
|
+
|
|
|
+ import uniNumberBox from '@/components/uni-number-box.vue';
|
|
|
+
|
|
|
import {
|
|
|
saveUrl,
|
|
|
interceptor
|
|
@@ -73,16 +140,27 @@
|
|
|
userPool,
|
|
|
goft
|
|
|
} from '@/api/user.js';
|
|
|
- import {
|
|
|
- mapState,
|
|
|
- mapMutations
|
|
|
- } from 'vuex';
|
|
|
+ import { getCardList,createPass, getGsList,passUser } from '@/api/zero.js'
|
|
|
+
|
|
|
export default {
|
|
|
+ components: {
|
|
|
+ uniNumberBox
|
|
|
+ },
|
|
|
data() {
|
|
|
return {
|
|
|
+ pUser: {},
|
|
|
+ order: 'id asc',
|
|
|
+ buyItem: {},//购买卡包信息
|
|
|
+ filterIndex: 0,
|
|
|
+ priceOrder: 0, //1 价格从低到高 2价格从高到低
|
|
|
+ numberOrder: 0, //1 销量从低到高 2销量从高到低
|
|
|
+ actionPrice: 100,
|
|
|
+ goodsNumber: 1,
|
|
|
+ goodsNumberMax: 1,
|
|
|
maxHeight: '',
|
|
|
current: 0,
|
|
|
navList: [{
|
|
|
+ status: 1,
|
|
|
tit: '消费包',
|
|
|
list: [],
|
|
|
loadingType: 'more',
|
|
@@ -91,6 +169,7 @@
|
|
|
limit: 10,
|
|
|
},
|
|
|
{
|
|
|
+ status: 2,
|
|
|
tit: '阅读积分交易',
|
|
|
list: [],
|
|
|
loadingType: 'more',
|
|
@@ -98,17 +177,19 @@
|
|
|
page: 1,
|
|
|
limit: 10,
|
|
|
}
|
|
|
- ]
|
|
|
+ ],
|
|
|
+ loading: false
|
|
|
}
|
|
|
},
|
|
|
onLoad() {
|
|
|
|
|
|
},
|
|
|
onShow() {
|
|
|
-
|
|
|
+ this.loadBaseData()
|
|
|
+ this.getGsList()
|
|
|
},
|
|
|
computed: {
|
|
|
- ...mapState('user',['userInfo','hasLogin'])
|
|
|
+ ...mapState('user', ['userInfo', 'hasLogin'])
|
|
|
},
|
|
|
onReady(res) {
|
|
|
var that = this;
|
|
@@ -123,18 +204,148 @@
|
|
|
},
|
|
|
fail: res => {}
|
|
|
});
|
|
|
-
|
|
|
+
|
|
|
},
|
|
|
methods: {
|
|
|
+ ...mapMutations('user', ['setUserInfo']),
|
|
|
+ passUser() {
|
|
|
+ passUser().then(res => {
|
|
|
+ // console.log(res);
|
|
|
+ this.pUser = res.data
|
|
|
+ })
|
|
|
+ },
|
|
|
+ getTime(time) {
|
|
|
+ const num =13 - (time+'').length;
|
|
|
+ let l = 1;//倍数
|
|
|
+ for (let i = 0; i < num; i++) {
|
|
|
+ l+='0';
|
|
|
+ }
|
|
|
+ // 重新解析为数字
|
|
|
+ l = parseInt(l)
|
|
|
+ const date = new Date(parseInt(time) * l);
|
|
|
+ const year = date.getFullYear();
|
|
|
+ const mon = date.getMonth() + 1;
|
|
|
+ const day = date.getDate();
|
|
|
+ const hours = date.getHours();
|
|
|
+ const minu = date.getMinutes();
|
|
|
+ const sec = date.getSeconds();
|
|
|
+ return year + '-' + mon + '-' + day + ' ' + hours + ':' + minu + ':' + sec;
|
|
|
+ },
|
|
|
+ getMore(status) {
|
|
|
+ if(status == 2) {
|
|
|
+ this.getGsList()
|
|
|
+ }
|
|
|
+ },
|
|
|
+ popChange(e) {
|
|
|
+ console.log(e)
|
|
|
+ if(!e.show) {
|
|
|
+ this.buyItem = {}
|
|
|
+ this.goodsNumber = 1
|
|
|
+ this.goodsNumberMax = 1
|
|
|
+ }
|
|
|
+ },
|
|
|
+ getCardList() {
|
|
|
+ getCardList().then(res => {
|
|
|
+ console.log(res);
|
|
|
+ this.navList[0].list = res.data
|
|
|
+ this.navList[0].loadingType = 'noMore'
|
|
|
+ })
|
|
|
+ },
|
|
|
+ createPass() {
|
|
|
+ let that = this
|
|
|
+ if(that.loading) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ that.loading = true
|
|
|
+ createPass({
|
|
|
+ card_id: that.buyItem.id,
|
|
|
+ num: that.goodsNumber
|
|
|
+ }).then(res => {
|
|
|
+ that.loading = false
|
|
|
+ uni.showToast({
|
|
|
+ title:'兑换成功',
|
|
|
+ duration:2000
|
|
|
+ });
|
|
|
+ that.loadBaseData()
|
|
|
+ that.$refs.popup.close()
|
|
|
+ }).catch(err => {
|
|
|
+ that.loading = false
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 购买数量变化
|
|
|
+ numberChange(e) {
|
|
|
+ this.goodsNumber = e.number;
|
|
|
+ },
|
|
|
+ //筛选点击
|
|
|
+ tabClick(index) {
|
|
|
+ // 防止重复点击综合排序
|
|
|
+ if (this.filterIndex === 0 && this.filterIndex === index) {
|
|
|
+ console.log('zhe')
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.filterIndex = index;
|
|
|
+ if(index === 0) {
|
|
|
+ this.order = 'id asc'
|
|
|
+ }
|
|
|
+ // 判断是否为销量优先
|
|
|
+ if (index === 1) {
|
|
|
+ this.numberOrder = this.numberOrder === 1 ? 2 : 1;
|
|
|
+ this.order = this.numberOrder === 1 ? 'amount asc': 'amount desc'
|
|
|
+ }
|
|
|
+ // 判断是否为价格优先
|
|
|
+ if (index === 2) {
|
|
|
+ this.priceOrder = this.priceOrder === 1 ? 2 : 1;
|
|
|
+ this.order = this.priceOrder === 1 ? 'price asc': 'price desc'
|
|
|
+ }
|
|
|
+ // 初始化页数
|
|
|
+ // this.page = 1;
|
|
|
+ this.navList[1].list.page = 1
|
|
|
+ // 初始化数组
|
|
|
+ // uni.pageScrollTo({
|
|
|
+ // duration: 300,
|
|
|
+ // scrollTop: 0
|
|
|
+ // });
|
|
|
+ this.getGsList('re');
|
|
|
+ uni.showLoading({
|
|
|
+ title: '正在加载'
|
|
|
+ });
|
|
|
+ },
|
|
|
+ makeCall(item) {
|
|
|
+ uni.makePhoneCall({
|
|
|
+ phoneNumber:item + ''
|
|
|
+ })
|
|
|
+ },
|
|
|
+ loadBaseData(tit) {
|
|
|
+ const obj = this
|
|
|
+ getUserInfo({})
|
|
|
+ .then(({
|
|
|
+ data
|
|
|
+ }) => {
|
|
|
+ console.log(data,'data')
|
|
|
+ obj.setUserInfo(data);
|
|
|
+ obj.getCardList()
|
|
|
+ obj.passUser()
|
|
|
+ })
|
|
|
+ .catch(e => {
|
|
|
+ console.log(e);
|
|
|
+ });
|
|
|
+
|
|
|
+ },
|
|
|
+ buy() {},
|
|
|
changeTab(index) {
|
|
|
this.current = index
|
|
|
this.getList('tab')
|
|
|
},
|
|
|
getList(type) {
|
|
|
-
|
|
|
+ if(this.current == 1) {
|
|
|
+ console.log('ddddddddddddddddddd')
|
|
|
+ this.getGsList('re');
|
|
|
+ }else {
|
|
|
+
|
|
|
+ }
|
|
|
},
|
|
|
navto(url) {
|
|
|
-
|
|
|
+
|
|
|
if (!this.hasLogin) {
|
|
|
// 保存地址
|
|
|
saveUrl();
|
|
@@ -143,15 +354,56 @@
|
|
|
} else {
|
|
|
uni.navigateTo({
|
|
|
url,
|
|
|
- fail() {
|
|
|
- uni.switchTab({
|
|
|
- url
|
|
|
- })
|
|
|
- }
|
|
|
+ fail() {
|
|
|
+ uni.switchTab({
|
|
|
+ url
|
|
|
+ })
|
|
|
+ }
|
|
|
})
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
},
|
|
|
+ open(item) {
|
|
|
+ let that = this
|
|
|
+ if(!item.activate) {
|
|
|
+ return that.$api.msg('当前不可兑换')
|
|
|
+ }
|
|
|
+ that.buyItem = item
|
|
|
+ that.goodsNumberMax = item.max_count*1 - item.progress*1
|
|
|
+ this.$refs.popup.open()
|
|
|
+ },
|
|
|
+ getGsList(type) {
|
|
|
+ console.log('jinriu')
|
|
|
+ let that = this
|
|
|
+ let item = that.navList[1]
|
|
|
+ if(type == 're') {
|
|
|
+ item.list = []
|
|
|
+ item.loadingType = 'more'
|
|
|
+ item.page = 1
|
|
|
+ item.loaded = false
|
|
|
+ }
|
|
|
+ if(item.loadingType == 'loading' || item.loadingType == 'noMore') {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ item.loadingType = 'loading'
|
|
|
+ getGsList({
|
|
|
+ // uid: this.userI.uid
|
|
|
+ page: item.page,
|
|
|
+ limit: item.limit,
|
|
|
+ order: that.order,
|
|
|
+ }).then(res => {
|
|
|
+ uni.hideLoading()
|
|
|
+ let arr = res.data.result.list
|
|
|
+ item.list = item.list.concat(arr)
|
|
|
+ if(arr.length == item.limit) {
|
|
|
+ item.loadingType = 'more'
|
|
|
+ }else {
|
|
|
+ item.loadingType = 'noMore'
|
|
|
+ }
|
|
|
+ item.page++
|
|
|
+ item.loaded = true
|
|
|
+ })
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
@@ -209,16 +461,18 @@
|
|
|
.nav-item {
|
|
|
flex-grow: 1;
|
|
|
text-align: center;
|
|
|
- font-size: 34rpx;
|
|
|
+ font-size: 33rpx;
|
|
|
font-weight: bold;
|
|
|
- color: #333333;
|
|
|
+ color: #333;
|
|
|
}
|
|
|
|
|
|
.action {
|
|
|
color: #FF4C4C;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.list-wrap {
|
|
|
+
|
|
|
// background-color: red;
|
|
|
.card-wrap {
|
|
|
width: 690rpx;
|
|
@@ -228,6 +482,7 @@
|
|
|
margin: 0 auto 20rpx;
|
|
|
padding: 20rpx;
|
|
|
justify-content: flex-start;
|
|
|
+ position: relative;
|
|
|
.card-img {
|
|
|
flex-shrink: 0;
|
|
|
width: 158rpx;
|
|
@@ -235,6 +490,7 @@
|
|
|
background-color: #eee;
|
|
|
margin-right: 20rpx;
|
|
|
}
|
|
|
+
|
|
|
.card-info {
|
|
|
flex-grow: 1;
|
|
|
font-size: 24rpx;
|
|
@@ -244,36 +500,44 @@
|
|
|
flex-direction: column;
|
|
|
justify-content: space-between;
|
|
|
align-items: flex-start;
|
|
|
-
|
|
|
+
|
|
|
.name {
|
|
|
font-size: 32rpx;
|
|
|
font-weight: bold;
|
|
|
color: #333333;
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
+
|
|
|
.price {
|
|
|
font-size: 20rpx;
|
|
|
font-weight: 500;
|
|
|
- color: #FC4141;
|
|
|
+ color: $base-color;
|
|
|
line-height: 35rpx;
|
|
|
+ .show {
|
|
|
+ font-size: 36rpx;
|
|
|
+ font-weight: bold;
|
|
|
+ color: #FC4141;
|
|
|
+ vertical-align: bottom;
|
|
|
+ padding: 0 5rpx;
|
|
|
+ }
|
|
|
image {
|
|
|
width: 34rpx;
|
|
|
height: 33rpx;
|
|
|
- vertical-align:bottom;
|
|
|
+ vertical-align: bottom;
|
|
|
}
|
|
|
+
|
|
|
text {
|
|
|
- font-size: 36rpx;
|
|
|
- font-weight: bold;
|
|
|
- color: #FC4141;
|
|
|
- vertical-align:bottom;
|
|
|
- padding: 0 5rpx;
|
|
|
+ color: #999999;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.card-btn {
|
|
|
flex-shrink: 0;
|
|
|
width: 137rpx;
|
|
|
height: 52rpx;
|
|
|
- background: #ff4c4c;
|
|
|
+ background: $base-color;
|
|
|
border-radius: 26rpx;
|
|
|
font-size: 26rpx;
|
|
|
font-weight: 500;
|
|
@@ -282,6 +546,218 @@
|
|
|
line-height: 50rpx;
|
|
|
align-self: flex-end;
|
|
|
}
|
|
|
+ .buyless {
|
|
|
+ background:#999 ;
|
|
|
+ }
|
|
|
+ .card-nun {
|
|
|
+ position: absolute;
|
|
|
+ top: 20rpx;
|
|
|
+ right: 20rpx;
|
|
|
+ font-size: 26rpx;
|
|
|
+ color: $base-color;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .order-wrap {
|
|
|
+ width: 686rpx;
|
|
|
+ height: 297rpx;
|
|
|
+ background: #FFFFFF;
|
|
|
+ box-shadow: 0rpx 0rpx 20rpx 0rpx rgba(50, 50, 52, 0.06);
|
|
|
+ border-radius: 20rpx;
|
|
|
+ margin: 0 auto 20rpx;
|
|
|
+ padding: 33rpx 40rpx;
|
|
|
+ position: relative;
|
|
|
+
|
|
|
+ .m-info {
|
|
|
+ justify-content: flex-start;
|
|
|
+
|
|
|
+ image {
|
|
|
+ width: 55rpx;
|
|
|
+ height: 55rpx;
|
|
|
+ margin-right: 13rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ text {
|
|
|
+ font-size: 28rpx;
|
|
|
+ font-weight: bold;
|
|
|
+ color: #333333;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .price {
|
|
|
+ font-size: 40rpx;
|
|
|
+ font-family: PingFang SC;
|
|
|
+ font-weight: bold;
|
|
|
+ color: #FF4C4C;
|
|
|
+ padding: 40rpx 0 30rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .num {
|
|
|
+ font-size: 26rpx;
|
|
|
+ font-weight: 500;
|
|
|
+ color: #888785;
|
|
|
+ }
|
|
|
+
|
|
|
+ .order-btn {
|
|
|
+ width: 148rpx;
|
|
|
+ height: 62rpx;
|
|
|
+ border: 2px solid #FF5570;
|
|
|
+ border-radius: 30rpx;
|
|
|
+ line-height: 62rpx;
|
|
|
+ text-align: center;
|
|
|
+ font-size: 28rpx;
|
|
|
+ font-weight: bold;
|
|
|
+ color: #FF4C4C;
|
|
|
+ position: absolute;
|
|
|
+ right: 40rpx;
|
|
|
+ bottom: 33rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .attr-list {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ font-size: $font-base + 2rpx;
|
|
|
+ color: $font-color-base;
|
|
|
+ padding-top: 30rpx;
|
|
|
+ padding-left: 40rpx;
|
|
|
+ padding-right: 30rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .item-list {
|
|
|
+ padding: 20rpx 0 0;
|
|
|
+ display: flex;
|
|
|
+ flex-wrap: wrap;
|
|
|
+
|
|
|
+ .tit {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ background: #eee;
|
|
|
+ // margin-left: 10rpx;
|
|
|
+ margin-right: 20rpx;
|
|
|
+ margin-bottom: 20rpx;
|
|
|
+ border-radius: 100rpx;
|
|
|
+ min-width: 60rpx;
|
|
|
+ height: 60rpx;
|
|
|
+ padding: 0 20rpx;
|
|
|
+ font-size: $font-base;
|
|
|
+ color: $font-color-dark;
|
|
|
+ }
|
|
|
+
|
|
|
+ .selected {
|
|
|
+ background: #fbebee;
|
|
|
+ color: $uni-color-primary;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .btn {
|
|
|
+ width: 750rpx;
|
|
|
+ height: 98rpx;
|
|
|
+ background: $base-color;
|
|
|
+ line-height: 98rpx;
|
|
|
+ // background: $uni-color-primary;
|
|
|
+ font-size: $font-base + 2rpx;
|
|
|
+ color: #fff;
|
|
|
+ }
|
|
|
+
|
|
|
+ .a-t {
|
|
|
+ padding: 0 30rpx;
|
|
|
+ display: flex;
|
|
|
+
|
|
|
+ image {
|
|
|
+ width: 170rpx;
|
|
|
+ height: 170rpx;
|
|
|
+ flex-shrink: 0;
|
|
|
+ border-radius: 8rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .right {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ padding-left: 24rpx;
|
|
|
+ font-size: $font-sm + 2rpx;
|
|
|
+ color: $font-color-base;
|
|
|
+ line-height: 42rpx;
|
|
|
+
|
|
|
+ .good-name {
|
|
|
+ padding-top: 20rpx;
|
|
|
+ max-width: 320rpx;
|
|
|
+ font-size: 30rpx;
|
|
|
+ font-family: PingFang SC;
|
|
|
+ font-weight: bold;
|
|
|
+ color: #1d2023;
|
|
|
+ line-height: 42rpx;
|
|
|
+ margin-bottom: 15rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .price {
|
|
|
+ font-size: 60rpx;
|
|
|
+ font-family: PingFang SC;
|
|
|
+ font-weight: bold;
|
|
|
+ color: $base-color;
|
|
|
+ // font-size: $font-lg;
|
|
|
+ // color: $uni-color-primary;
|
|
|
+ // margin-bottom: 10rpx;
|
|
|
+ &::after {
|
|
|
+ content: '阅读积分';
|
|
|
+ font-size: 30rpx;
|
|
|
+ padding-left: 10rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ .selected-text {
|
|
|
+ margin-right: 10rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .px-wrap {
|
|
|
+ height: 60rpx;
|
|
|
+ background-color: #fff;
|
|
|
+ position: fixed;
|
|
|
+ width: 750rpx;
|
|
|
+ top: 0;
|
|
|
+ z-index: 999;
|
|
|
+ .nav-item {
|
|
|
+ flex: 1;
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ height: 100%;
|
|
|
+ font-size: 25rpx;
|
|
|
+ font-weight: 500;
|
|
|
+ color: #666666;
|
|
|
+ position: relative;
|
|
|
+ &.current {
|
|
|
+ color: $base-color;
|
|
|
+ }
|
|
|
}
|
|
|
+ .p-box {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ .iconfont {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ width: 30rpx;
|
|
|
+ height: 14rpx;
|
|
|
+ line-height: 1;
|
|
|
+ margin-left: 4rpx;
|
|
|
+ font-size: 20rpx;
|
|
|
+ color: #888;
|
|
|
+ &.active {
|
|
|
+ color: $base-color;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .xia {
|
|
|
+ transform: scaleY(-1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .p2 {
|
|
|
+ padding-top: 80rpx;
|
|
|
}
|
|
|
</style>
|