799 lines
19 KiB
Vue
799 lines
19 KiB
Vue
<template>
|
||
<view class="content" v-if="!loding">
|
||
<!-- 上传凭证弹出 -->
|
||
<view class="canBack" v-if="canForm"></view>
|
||
<view class="canPop" v-if="canForm">
|
||
<block v-if="voucher">
|
||
<image class="canPop-tips" @click="canClick" src="/static/user/order-cancelPay.png" mode="widthFix"></image>
|
||
<view class="canPop-cont">打款凭证</view>
|
||
<image class="canPop-cover" v-if="voucher.status.value === 3" :src="canFromImg.showpath || require('@/static/icons/add-icon.png')" @click="updImg()" mode="aspectFill" />
|
||
<image class="canPop-cover" v-else :src="canFromImg.showpath || require('@/static/icons/add-icon.png')" @click="preImg()" mode="aspectFill" />
|
||
<view class="canPop-status">状态:{{voucher.status.text}}</view>
|
||
<view class="canPop-remark" v-if="voucher.remark && voucher.status.value === 3">驳回原因:{{voucher.remark}}</view>
|
||
<view class="canPop-btn" v-if="voucher.status.value === 3" @click="canSubmitEdit(voucher.voucher_id)">重新提交</view>
|
||
</block>
|
||
<block v-else>
|
||
<image class="canPop-tips" @click="canClick" src="/static/user/order-cancelPay.png" mode="widthFix"></image>
|
||
<view class="canPop-cont">上传打款凭证</view>
|
||
<image class="canPop-cover" :src="canFromImg.showpath || require('@/static/icons/add-icon.png')"
|
||
@click="updImg()" mode="aspectFill"></image>
|
||
<view class="canPop-btn" @click="canSubmit">提交</view>
|
||
</block>
|
||
|
||
</view>
|
||
|
||
<swiper class="vip-container" previous-margin="55rpx" next-margin="55rpx" :current="tabsIndex" circular
|
||
@change="swiperChange">
|
||
<swiper-item class="swiper-item" v-for="(item, index) in identitie" :key="index">
|
||
<view class="vip-item" :class="tabsIndex == index ? 'color-item-img' : ''">
|
||
<image class="vip-back" :src="item.card_cover" mode="scaleToFill"></image>
|
||
<view class="vip-cont">
|
||
<view class="vip-name">
|
||
{{ item.name }}
|
||
<image class="vip-name-img" @click="showRemark(item.name, item.node_definition)"
|
||
src="../../static/user/vip_privilege_03.png" mode="widthFix"></image>
|
||
</view>
|
||
<view class="vip-number" v-if="item.count">
|
||
{{ item.count.stock > 0 ? '剩余名额:' + item.count.residue : '不限名数' }}</view>
|
||
<view class="currentInfo" v-if="currentInfo.identity.identity_id === item.identity_id">当前身份</view>
|
||
<view class="vip-tips">
|
||
<!-- 会员 -->
|
||
<view v-if="item.identity_id == 2" class="vip-tips-text vip-tips-color-01">{{ item.title }}
|
||
</view>
|
||
|
||
<!-- VIP节点 -->
|
||
<view v-else-if="item.identity_id == 3" class="vip-tips-text vip-tips-color-02">
|
||
{{ item.title }}</view>
|
||
|
||
<!-- 主节点 -->
|
||
<view v-else-if="item.identity_id == 4" class="vip-tips-text vip-tips-color-03">
|
||
{{ item.title }}</view>
|
||
|
||
<!-- 超级节点 -->
|
||
<view v-else-if="item.identity_id == 5" class="vip-tips-text vip-tips-color-04">
|
||
{{ item.title }}</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</swiper-item>
|
||
</swiper>
|
||
|
||
<!-- 会员特权 -->
|
||
<view class="privilege">
|
||
<view class="privilege-list">
|
||
<image class="privilege-img" src="/static/user/vip_privilege_00.png" mode=""></image>
|
||
<view class="privilege-text">
|
||
<view class="privilege-name">节点定义</view>
|
||
{{ identitie[tabsIndex].node_definition }}
|
||
</view>
|
||
</view>
|
||
<view class="privilege-list">
|
||
<image class="privilege-img" src="/static/user/vip_privilege_01.png" mode=""></image>
|
||
<view class="privilege-text">
|
||
<view class="privilege-name">升级条件</view>
|
||
<block v-if="openCondition.energy_shard">
|
||
<view class="privilege-label" :class="{ active: openCondition.energy_shard.finish }">
|
||
{{ openCondition.energy_shard.message }}
|
||
<uni-icons v-if="openCondition.energy_shard.finish" type="checkmarkempty" size="17" color="#f6b338"></uni-icons>
|
||
</view>
|
||
<view class="privilege-label" :class="{ active: openCondition.price.finish }" v-if="!openCondition.energy_shard.finish">
|
||
{{ openCondition.price.message }}
|
||
</view>
|
||
<view class="privilege-label" v-else>{{ openCondition.service_charge.message }}</view>
|
||
</block>
|
||
<block v-else>
|
||
<view class="privilege-label" v-if="openCondition.certification"
|
||
:class="{ active: openCondition.certification.finish }">{{ openCondition.certification.message }}</view>
|
||
</block>
|
||
</view>
|
||
</view>
|
||
<view class="privilege-list">
|
||
<image class="privilege-img" src="/static/user/vip_privilege_02.png" mode=""></image>
|
||
<view class="privilege-text">
|
||
<view class="privilege-name">节点权益</view>
|
||
<view class="privilege-label privilege-right" v-for="(item, index) in identitie[tabsIndex].rights"
|
||
:key="index">&{{ item.remark }}</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
|
||
<!-- 用户协议 -->
|
||
<view class="agree" v-if="identitie[tabsIndex].can.show_button">
|
||
<view class="agree-tips" @click="$Router.push({ name: 'vipAgree', params: { type: 'vipAgree' } })">
|
||
请仔细阅读并确认服务协议</view>
|
||
</view>
|
||
<view class="agree-btn" @click="agreeChange" v-if="identitie[tabsIndex].can.show_button">
|
||
<radio :checked="selected" style="transform: scale(.7);" color="#7c52fc"></radio>
|
||
会员服务协议
|
||
</view>
|
||
|
||
<!-- 开通按钮 -->
|
||
<view class="footer" >
|
||
<image class="footer-btn" v-if="identitie[tabsIndex].can.show_button && voucher === ''"
|
||
:src="identitie[tabsIndex].button_cover" mode="widthFix" @click="openOrder" />
|
||
<view class="current-btn-sh" v-if="identitie[tabsIndex].can.show_button && voucher !== ''" @click="openOrder" >{{voucher.status.value === 1?'申请审核中':''}}{{voucher.status.value === 3?'申请被驳回查看原因':''}}</view>
|
||
<view class="current-btn-sh" v-if="!identitie[tabsIndex].can.show_button && voucher === ''">我要开通</view>
|
||
<!-- <view class="current-btn" v-if="currentInfo.identity.identity_id === identitie[tabsIndex].identity_id">当前身份</view> -->
|
||
<!-- <button class="footer-btn" type="default" >
|
||
<view class="footer-btn-num">
|
||
合计:{{total}}
|
||
</view>
|
||
<view class="footer-btn-pay">
|
||
立即支付
|
||
</view>
|
||
</button> -->
|
||
</view>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import {
|
||
identities,
|
||
vipOrder,
|
||
vipWechatPay,
|
||
vipCont,
|
||
vipVoucherUpdate,
|
||
vipVoucher
|
||
} from '@/apis/interfaces/vip';
|
||
import {
|
||
wxConfig
|
||
} from '@/apis/interfaces/wx';
|
||
import {
|
||
uploads
|
||
} from '@/apis/interfaces/uploading';
|
||
export default {
|
||
data() {
|
||
return {
|
||
loding: true,
|
||
tabsIndex: 0,
|
||
user: {},
|
||
identitie: [],
|
||
rights: [],
|
||
description: '',
|
||
identityTime: '', // 到期时间
|
||
sumNumber: 1, // 开通年限
|
||
total: '', // 开通年限总资金额
|
||
selected: false, // 用户协议
|
||
canBtn: '', // 按钮操作
|
||
canForm: false, // 凭证弹出
|
||
canFromImg: {
|
||
showpath: '',
|
||
path: ''
|
||
},
|
||
openCondition: {},
|
||
voucher:'', //弹窗展示得内容
|
||
}
|
||
},
|
||
created() {
|
||
// 获取当前用户信息
|
||
this.idenInfo('cre')
|
||
|
||
},
|
||
methods: {
|
||
// 当前用户信息
|
||
idenInfo(type) {
|
||
identities().then(res => {
|
||
console.log(res, 'res。。。获取身份详情')
|
||
res.identities.map(item => {
|
||
item.obj_condition = new Object()
|
||
for (let val of item.get_condition) {
|
||
item.obj_condition[val.name] = {
|
||
message: val.message,
|
||
finish: val.finish
|
||
};
|
||
}
|
||
return item;
|
||
|
||
});
|
||
this.identitie = res.identities
|
||
if (type === 'cre') {
|
||
this.tabsIndex = res.identities.findIndex(val => val.identity_id == this.$Route.query.identity_id)
|
||
}
|
||
this.openCondition = res.identities[this.tabsIndex].obj_condition
|
||
this.rights = res.identities[this.tabsIndex].rights
|
||
this.total = res.identities[this.tabsIndex].price
|
||
this.canBtn = res.identities[this.tabsIndex].can
|
||
this.currentInfo = res.user
|
||
this.loding = false
|
||
this.voucher = this.identitie[this.tabsIndex].voucher?this.identitie[this.tabsIndex].voucher:''
|
||
if(this.voucher){
|
||
this.canFromImg = this.identitie[this.tabsIndex].voucher.cover
|
||
}else{
|
||
this.canFromImg = {
|
||
path:'',
|
||
showpath:''
|
||
}
|
||
}
|
||
console.log(this.voucher,'voucher...')
|
||
console.log(this.canFromImg,'canFromImg...')
|
||
}).catch(err => {
|
||
uni.showToast({
|
||
title: err.message,
|
||
icon: 'none'
|
||
})
|
||
})
|
||
},
|
||
|
||
// 切换开通身份
|
||
swiperChange(e) {
|
||
this.tabsIndex = e.detail.current
|
||
// 获取当前用户信息
|
||
this.idenInfo()
|
||
},
|
||
|
||
// 开通会员
|
||
openOrder() {
|
||
let can = this.canBtn,
|
||
identitiesId = this.identitie[this.tabsIndex].identity_id;
|
||
if (this.selected == false) {
|
||
uni.showToast({
|
||
title: '请勾选用户协议',
|
||
icon: 'none'
|
||
});
|
||
return;
|
||
}
|
||
if (can.on_line) {
|
||
console.log("微信pay")
|
||
} else {
|
||
this.canClick()
|
||
}
|
||
return;
|
||
},
|
||
// 支付创建订单APP
|
||
wxPayAppConfig(){
|
||
let data = {year:1}
|
||
let identity = this.identitie[this.tabsIndex].identity_id
|
||
vipOrder(identity,data).then(res=>{
|
||
console.log(res)
|
||
this.wechatAppPay(res.id)
|
||
}).catch(err=>{
|
||
uni.showToast({
|
||
title:err.message,
|
||
icon:"none"
|
||
})
|
||
})
|
||
},
|
||
// 微信支付 APP
|
||
wechatAppPay(orderid){
|
||
let data = {
|
||
type:'app'
|
||
}
|
||
let orderId = orderid
|
||
vipWechatPay(orderId,data).then(res=>{
|
||
console.log('-----------------')
|
||
console.log(res)
|
||
}).catch(err=>{
|
||
uni.showToast({
|
||
title:err.message,
|
||
icon:"none"
|
||
})
|
||
})
|
||
},
|
||
// 勾选协议
|
||
agreeChange() {
|
||
this.selected = !this.selected;
|
||
},
|
||
|
||
// 会员权益介绍
|
||
showRemark(title, val) {
|
||
uni.showModal({
|
||
title: title,
|
||
content: val,
|
||
showCancel: false
|
||
})
|
||
},
|
||
|
||
// 上传打款凭证图片
|
||
updImg() {
|
||
uni.chooseImage({
|
||
count: 1,
|
||
success: path => {
|
||
uploads([{
|
||
uri: path.tempFilePaths[0]
|
||
}]).then(res => {
|
||
this.canFromImg = {
|
||
showpath: res.url[0],
|
||
path: res.path[0]
|
||
};
|
||
}).catch(err => {
|
||
uni.showToast({
|
||
title: err.message,
|
||
icon: 'none'
|
||
})
|
||
})
|
||
}
|
||
})
|
||
},
|
||
// 预览图片
|
||
preImg(){
|
||
console.log('袁兰图片')
|
||
uni.previewImage({
|
||
current:this.voucher.cover.showpath,
|
||
urls:[this.voucher.cover.showpath]
|
||
})
|
||
},
|
||
|
||
// 打款凭证弹出状态
|
||
canClick() {
|
||
this.canForm = !this.canForm;
|
||
},
|
||
|
||
// 打款凭证提交
|
||
canSubmit() {
|
||
let newCover = this.canFromImg.path,
|
||
newId = this.identitie[this.tabsIndex].identity_id;
|
||
vipVoucher({
|
||
cover: newCover,
|
||
identity_id: newId
|
||
}).then(res => {
|
||
this.$Router.push({
|
||
name: 'Examine'
|
||
})
|
||
this.canForm = !this.canForm
|
||
}).catch(err => {
|
||
uni.showToast({
|
||
title: err.message,
|
||
icon: 'none'
|
||
})
|
||
})
|
||
},
|
||
// 编辑凭证
|
||
canSubmitEdit(id){
|
||
let newCover = this.canFromImg.path
|
||
vipVoucherUpdate(id,{
|
||
cover: newCover
|
||
}).then(res => {
|
||
this.$Router.push({
|
||
name: 'Examine'
|
||
})
|
||
this.canForm = !this.canForm
|
||
}).catch(err => {
|
||
uni.showToast({
|
||
title: err.message,
|
||
icon: 'none'
|
||
})
|
||
})
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style>
|
||
page {
|
||
background-color: #ffffff;
|
||
}
|
||
</style>
|
||
<style lang="scss" scoped>
|
||
.canBack {
|
||
position: fixed;
|
||
width: 100vw;
|
||
height: 100vh;
|
||
background-color: rgba(0, 0, 0, 0.5);
|
||
left: 0;
|
||
top: 0;
|
||
z-index: 99;
|
||
}
|
||
|
||
.canPop {
|
||
position: absolute;
|
||
background-color: #ffffff;
|
||
left: 100rpx;
|
||
right: 100rpx;
|
||
top: 30%;
|
||
z-index: 101;
|
||
padding: 30rpx;
|
||
box-sizing: border-box;
|
||
border-radius: 10rpx;
|
||
text-align: center;
|
||
|
||
.canPop-tips {
|
||
position: absolute;
|
||
right: 20rpx;
|
||
top: 32rpx;
|
||
width: 32rpx;
|
||
height: 32rpx;
|
||
z-index: 1002;
|
||
}
|
||
|
||
.canPop-cont {
|
||
font-size: 32rpx;
|
||
font-weight: 600;
|
||
}
|
||
|
||
.canPop-cover {
|
||
margin: 40rpx auto 20rpx auto;
|
||
width: 240rpx;
|
||
height: 240rpx;
|
||
border: 2rpx solid #f3f3f3;
|
||
}
|
||
.canPop-remark{
|
||
margin-bottom: 20rpx;
|
||
}
|
||
|
||
.canPop-status{
|
||
margin-bottom: 10rpx;
|
||
}
|
||
|
||
.canPop-btn {
|
||
text-align: center;
|
||
background: $mian-color;
|
||
border-radius: 0;
|
||
height: 90rpx;
|
||
line-height: 90rpx;
|
||
font-size: $title-size;
|
||
color: white;
|
||
|
||
&::after {
|
||
border: none;
|
||
}
|
||
}
|
||
}
|
||
|
||
.vip-container {
|
||
width: 750rpx;
|
||
height: 340rpx;
|
||
margin-top: $margin * 1.5;
|
||
}
|
||
|
||
.swiper-item {
|
||
width: 640rpx;
|
||
height: 340rpx;
|
||
display: flex;
|
||
}
|
||
|
||
.vip-item {
|
||
width: 640rpx;
|
||
height: 340rpx;
|
||
border-radius: 20rpx;
|
||
position: relative;
|
||
|
||
.vip-back {
|
||
position: absolute;
|
||
left: 0;
|
||
top: 0;
|
||
width: 100%;
|
||
height: 100%;
|
||
}
|
||
|
||
.vip-cont {
|
||
position: absolute;
|
||
left: 0;
|
||
top: 0;
|
||
width: 100%;
|
||
height: 100%;
|
||
z-index: 9;
|
||
padding: 45rpx 70rpx;
|
||
box-sizing: border-box;
|
||
|
||
.vip-name {
|
||
display: flex;
|
||
font-size: 46rpx;
|
||
color: #ffffff;
|
||
font-weight: 600;
|
||
|
||
.vip-name-img {
|
||
width: 36rpx;
|
||
height: 36rpx;
|
||
margin: 12rpx 20rpx;
|
||
}
|
||
}
|
||
|
||
.vip-number {
|
||
margin: 10rpx 0 40rpx;
|
||
color: #ffffff;
|
||
font-size: 32rpx;
|
||
opacity: 0.8;
|
||
}
|
||
|
||
.currentInfo {
|
||
position: absolute;
|
||
right: 82rpx;
|
||
top: 20rpx;
|
||
color: #fff;
|
||
font-size: 24rpx;
|
||
}
|
||
|
||
.vip-tips {
|
||
font-size: 30rpx;
|
||
background-color: #e8ebf6;
|
||
display: inline-block;
|
||
border-radius: 80rpx;
|
||
height: 60rpx;
|
||
line-height: 60rpx;
|
||
padding: 0 30rpx;
|
||
|
||
.vip-tips-text {
|
||
font-weight: 700;
|
||
background-clip: text;
|
||
color: transparent;
|
||
}
|
||
|
||
.vip-tips-color-00 {
|
||
background-image: linear-gradient(to bottom, #6189f0, #b6b9c1);
|
||
}
|
||
|
||
.vip-tips-color-01 {
|
||
background-image: linear-gradient(to top, #ffd459, #ff6c52);
|
||
}
|
||
|
||
.vip-tips-color-02 {
|
||
background-image: linear-gradient(to top, #e0c9fe, #892edb);
|
||
}
|
||
|
||
.vip-tips-color-03 {
|
||
background-image: linear-gradient(to top, #f6b237, #f035e3);
|
||
}
|
||
|
||
.vip-tips-color-04 {
|
||
background-image: linear-gradient(to top, #c455ec, #5f76e9);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
// 会员特权
|
||
.privilege {
|
||
padding: 20rpx 30rpx 80rpx;
|
||
box-sizing: border-box;
|
||
|
||
.privilege-list {
|
||
margin-bottom: 30rpx;
|
||
display: flex;
|
||
|
||
.privilege-img {
|
||
width: 50rpx;
|
||
height: 50rpx;
|
||
}
|
||
|
||
.privilege-text {
|
||
width: calc(100% - 60rpx);
|
||
padding-left: 30rpx;
|
||
font-size: 30rpx;
|
||
color: #999999;
|
||
line-height: 48rpx;
|
||
|
||
.privilege-name {
|
||
font-size: 34rpx;
|
||
color: #000000;
|
||
margin: 10rpx 0 20rpx;
|
||
}
|
||
|
||
.privilege-label.active {
|
||
color: #f6b338;
|
||
}
|
||
|
||
.privilege-right {
|
||
color: #7877eb;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
// 用户协议
|
||
.agree {
|
||
margin: 0 0 10rpx 0;
|
||
text-align: center;
|
||
|
||
.agree-tips {
|
||
background-color: #cacaca;
|
||
display: inline-block;
|
||
padding: 14rpx $padding;
|
||
color: #ffffff;
|
||
border-radius: 60rpx;
|
||
}
|
||
}
|
||
|
||
.agree-btn {
|
||
display: flex;
|
||
font-size: $title-size-lg;
|
||
text-align: left;
|
||
color: #999999;
|
||
padding: $padding;
|
||
}
|
||
|
||
// .content{
|
||
// min-height: 100vh;
|
||
// background: #fefaef;
|
||
// }
|
||
// 开通须知
|
||
.notice {
|
||
font-size: $title-size-m;
|
||
color: $text-gray;
|
||
padding: $padding $padding * 2 $padding * 2;
|
||
|
||
.title {
|
||
padding-bottom: $padding/2;
|
||
font-weight: bold;
|
||
}
|
||
|
||
.item {
|
||
padding-bottom: $padding/2;
|
||
line-height: 40rpx;
|
||
text-align: justify;
|
||
}
|
||
}
|
||
|
||
// footer
|
||
.footer {
|
||
padding: 0 $padding;
|
||
box-sizing: border-box;
|
||
text-align: center;
|
||
margin-bottom: 30rpx;
|
||
|
||
.footer-btn {
|
||
width: 74%;
|
||
}
|
||
.current-btn{
|
||
width: 74%;
|
||
height: 80rpx;
|
||
background-image: linear-gradient(to right, #7c52fc, #976dff);
|
||
color: #fff;
|
||
margin-left: 13%;
|
||
border-radius: 80rpx;
|
||
line-height: 80rpx;
|
||
font-size: 36rpx;
|
||
}
|
||
.current-btn-sh{
|
||
background-color: #cacaca;
|
||
width: 74%;
|
||
height: 80rpx;
|
||
color: #fff;
|
||
margin-left: 13%;
|
||
border-radius: 80rpx;
|
||
line-height: 80rpx;
|
||
font-size: 36rpx;
|
||
}
|
||
}
|
||
|
||
// 会员权限
|
||
.privilege {
|
||
padding: $padding;
|
||
|
||
.title {
|
||
font-weight: bold;
|
||
color: #322711;
|
||
font-size: $title-size;
|
||
text-align: center;
|
||
line-height: 90rpx;
|
||
}
|
||
|
||
.privilege-box {
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
padding: $padding 0;
|
||
|
||
.item {
|
||
width: 25%;
|
||
padding: $padding/2;
|
||
box-sizing: border-box;
|
||
text-align: center;
|
||
|
||
.icon {
|
||
width: 78rpx;
|
||
height: 78rpx;
|
||
background: #bd995d;
|
||
border-radius: 50%;
|
||
vertical-align: top;
|
||
}
|
||
|
||
.text {
|
||
font-size: $title-size-sm;
|
||
color: #201212;
|
||
line-height: 60rpx;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
// 会员卡
|
||
.cards {
|
||
position: relative;
|
||
background: #1f1b1c;
|
||
|
||
.card {
|
||
position: relative;
|
||
margin: 0 $margin;
|
||
background: linear-gradient(to right, #3b3d4a, #231d1f);
|
||
padding: 15rpx;
|
||
border-radius: $radius/2;
|
||
z-index: 2;
|
||
|
||
.card-content {
|
||
position: relative;
|
||
border: solid 1rpx rgba($color: white, $alpha: 0.4);
|
||
border-radius: $radius/2;
|
||
padding: 30rpx 180rpx 60rpx 148rpx;
|
||
min-height: 98rpx;
|
||
|
||
.cover {
|
||
position: absolute;
|
||
left: 30rpx;
|
||
top: 30rpx;
|
||
width: 98rpx;
|
||
height: 98rpx;
|
||
border-radius: 50%;
|
||
}
|
||
|
||
.user {
|
||
color: rgba($color: white, $alpha: 0.7);
|
||
line-height: 58rpx;
|
||
font-size: $title-size-lg;
|
||
}
|
||
|
||
.sub-time {
|
||
line-height: 40rpx;
|
||
color: #e6ce9e;
|
||
font-size: $title-size-sm;
|
||
}
|
||
|
||
.btn {
|
||
position: absolute;
|
||
color: #261f0f;
|
||
background: #e6ce9e;
|
||
width: 160rpx;
|
||
border-radius: 30rpx;
|
||
font-size: $title-size-m;
|
||
right: 30rpx;
|
||
top: 50rpx;
|
||
line-height: 58rpx;
|
||
text-align: center;
|
||
}
|
||
}
|
||
}
|
||
|
||
.cards-angle {
|
||
position: absolute;
|
||
left: 0;
|
||
bottom: 0;
|
||
width: 100%;
|
||
z-index: 3;
|
||
}
|
||
|
||
&::after {
|
||
content: ' ';
|
||
height: 70rpx;
|
||
background: #b29671;
|
||
position: absolute;
|
||
width: 100%;
|
||
bottom: 0;
|
||
border-radius: $radius/2;
|
||
z-index: 0;
|
||
}
|
||
}
|
||
|
||
// tabs
|
||
.tabs {
|
||
background: #1f1b1c;
|
||
color: white;
|
||
padding: 0 0 $padding 0;
|
||
display: flex;
|
||
justify-content: center;
|
||
font-size: $title-size-lg;
|
||
|
||
.item {
|
||
margin: 0 $margin;
|
||
line-height: 70rpx;
|
||
height: 70rpx;
|
||
color: rgba($color: white, $alpha: 0.6);
|
||
|
||
&.show {
|
||
position: relative;
|
||
font-weight: bold;
|
||
font-size: $title-size;
|
||
color: white;
|
||
|
||
&::after {
|
||
position: absolute;
|
||
bottom: 0;
|
||
left: 20%;
|
||
width: 60%;
|
||
height: 6rpx;
|
||
border-radius: 3rpx;
|
||
content: ' ';
|
||
background: white;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
</style>
|