smartswrtch-app/page_geren/index.vue

860 lines
17 KiB
Vue
Raw Normal View History

2025-01-19 21:19:51 +08:00
<template>
<view class="page">
<view class="">
<u-navbar title="会员中心" :border-bottom="false" :background="background" title-color='#000' title-size='36'
back-icon-color='#000' height='45'></u-navbar>
</view>
<!-- <view class="vip_box" @click="btnkt(1)">
<view class="txt1">会员卡</view>
<view class="txt2" > 仅需10可享30天折扣权益
</view>
</view> -->
<view class="vip_box1">
<view class="txt1">会员卡</view>
<view class="txt2"> 会员卡25天后到期</view>
<view class="btn">
已开通
</view>
<view class="btn" v-if="false">
未开通
</view>
</view>
<view class="vipcard">
<view class="card_top">
<view class="name">
17795402553
</view>
</view>
<view class="card_bot">
<view class="txts">
开通立享超值会员特权
</view>
<view class="txts" v-if="flase">
会员卡23天后到期
</view>
<view class="topage" @click="topage">
购买记录 >
</view>
</view>
</view>
<image class="mc" src="https://lxnapi.ccttiot.com/bike/img/static/uCIpavkHbM18al7gpxH8" mode=""></image>
<view class="" style="background-color: #fff;">
<view class="cont_box">
<view class="cont_li" v-for="(item,index) in 3" :key="index" @click="choose(item,index)" :class="chooseidx==index?'act1':''">
<view class="tit">
会员卡
</view>
<view class="tips">
40天享7折
</view>
<view class="money">
36.66
</view>
<view class="tips" style="text-decoration: line-through; ">
30.66
</view>
<view class="tips">
立省6.00
</view>
</view>
</view>
<view class="txt">
该卡只能用于付费享折扣
</view>
</view>
<view class="pay_btn" @click="buy()">
38.88立即开通
</view>
</view>
</template>
<script>
export default {
data() {
return {
background: {
backgroundColor: '#fff'
},
userinfo:{},
chooseInfo:{},
chooseidx:0,
}
},
onLoad() {
},
onShow() {
},
methods: {
// 点击开通会员
btnkt(num){
if(num == 1){ //月卡开通
uni.navigateTo({
url:'/page_geren/kaitonghuiyuan'
})
}else{ //年卡开通
uni.navigateTo({
url:'/page_geren/kaitonghuiyuan'
})
}
},
topage(){
uni.navigateTo({
url:'/page_geren/vip_his'
})
},
tobuy(){
uni.navigateTo({
url:'/page_geren/buyCard'
})
},
choose(itm,idx){
this.chooseInfo=itm
this.chooseidx=idx
},
buy(){
let data={
userId:this.userinfo.userId,
couponId:this.chooseInfo.couponId
}
let that=this
that.$u.get("/appVerify/coupon/buy?",data ).then((res) => {
if (res.code == 200) {
uni.requestPayment({
provider: 'wxpay',
timeStamp: res.data.timeStamp,
nonceStr: res.data.nonceStr,
package: res.data.packageVal,
signType: res.data.signType,
paySign: res.data.paySign,
success(res) {
// 支付成功逻辑
setTimeout(()=>{
},500)
},
fail(err) {
// 支付失败逻辑
uni.showToast({
title: '支付失败',
icon: 'none',
duration: 2000
});
}
});
}
});
},
}
}
</script>
<style lang="scss">
/deep/ .uni-navbar {
background: transparent !important; // 使用 !important 确保覆盖原样式
}
page {
background-color: #F4F4F4;
}
.custom-select {
.mask {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5);
z-index: 999;
}
.select-content {
position: fixed;
left: 0;
right: 0;
bottom: 0;
background: #fff;
border-radius: 20rpx 20rpx 0 0;
z-index: 1000;
height: 50vh; // 最大高度
// min-height: 400rpx; // 添加最小高度
display: flex;
flex-direction: column;
padding-bottom: 20rpx;
.select-header {
padding: 20rpx 30rpx;
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid #eee;
.close {
font-size: 40rpx;
color: #999;
}
}
.search-box {
padding: 15rpx 20rpx;
border-bottom: 1px solid #eee;
input {
width: 100%;
height: 60rpx;
background: #f5f5f5;
border-radius: 30rpx;
padding: 0 30rpx;
font-size: 28rpx;
}
}
.select-list {
flex: 1;
max-height: calc(50vh - 140rpx);
min-height: 260rpx; // 为列表添加最小高度
.select-item {
display: flex;
// flex-direction: column;
justify-content: space-between;
align-items: center;
padding: 20rpx 30rpx;
border-bottom: 1px solid #eee;
font-size: 28rpx;
&.highlight {
background-color: #f0f9ff;
color: #2d8cf0;
}
&:active {
background: #f5f5f5;
}
}
}
}
}
.page {
.fee_box {
margin-top: 18rpx;
position: relative;
margin-left: 38rpx;
width: 680rpx;
height: 288rpx;
background-image: url('https://lxnapi.ccttiot.com/bike/img/static/ugciMYClSGgJxP8HYoRU');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
.auto_box::-webkit-scrollbar {
display: none;
}
.auto_box {
padding-left: 24rpx;
display: flex;
overflow-x: auto; /* 允许横向滚动 */
flex-wrap: nowrap; /* 禁止换行,保持所有元素在一行 */
position: absolute;
top: 90rpx;
width: 100%; /* 根据需要调整宽度 */
height: auto; /* 根据内容自动调整高度 */
.auto_li {
position: relative;
padding: 24rpx 28rpx;
margin-right: 22rpx;
width: 408rpx;
height: 176rpx;
flex-shrink: 0; /* 防止子元素被压缩 */
background-image: url('https://lxnapi.ccttiot.com/bike/img/static/ui88NWy9R1j2zFGojdHU');
background-size: cover;
background-position: center;
.txt1{
width: 100%;
font-weight: 600;
font-size: 32rpx;
color: #495E74;
}
.txt2{
font-weight: 400;
font-size: 24rpx;
color: #495E74;
}
.buy_btn{
position: absolute;
right: 26rpx;
bottom: 38rpx;
display: flex;
align-items: center;
justify-content: center;
width: 132rpx;
height: 50rpx;
background: #495E74;
border-radius: 25rpx 25rpx 25rpx 25rpx;
font-weight: 500;
font-size: 28rpx;
color: #FFF3DB;
}
}
}
}
.fixed {
z-index: 999;
position: fixed;
top: 0;
}
.tipss{
margin-left: 40rpx;
font-weight: 500;
font-size: 36rpx;
color: #3D3D3D;
}
.vipcard {
padding: 36rpx ;
position: fixed;
top: 428rpx;
left: 38rpx;
width: 680rpx;
height: 244rpx;
z-index: 1;
background-image: url('https://lxnapi.ccttiot.com/bike/img/static/u78FEc5oHRKzdvopQpZE');
background-size: cover;
/* 背景图片等比缩放以覆盖整个容器 */
background-position: center;
/* 背景图片居中显示 */
background-repeat: no-repeat;
.card_top{
display: flex;
flex-wrap: nowrap;
align-items: center;
.name{
font-weight: 500;
font-size: 44rpx;
color: #B07C1E;
}
.type{
margin-left: 30rpx;
padding: 4rpx 18rpx;
font-weight: 400;
font-size: 24rpx;
color: #B07C1E;
border-radius: 35rpx 35rpx 35rpx 35rpx;
border: 1rpx solid #B07C1E;
}
}
.card_bot{
margin-top: 20rpx;
display: flex;
flex-wrap: nowrap;
align-items: center;
.txts{
font-weight: 400;
font-size: 28rpx;
color: #B07C1E;
}
.topage{
margin-left: auto;
font-weight: 400;
font-size: 28rpx;
color: #B07C1E;
}
}
}
.pay_btn{
display: flex;
align-items: center;
justify-content: center;
margin: 20rpx auto ;
width: 680rpx;
height: 104rpx;
background: linear-gradient( 90deg, rgba(255,201,87,0.84) 0%, rgba(255,224,158,0.58) 100%);
border-radius: 58rpx 58rpx 58rpx 58rpx;
font-weight: 500;
font-size: 44rpx;
color: #B07C1E;
position: fixed;
left: 50%;
transform: translateX(-50%);
bottom: 100rpx;
}
.backimg {
position: fixed;
width: 750rpx;
height: 670rpx;
top: 0;
left: 0;
z-index: -1; // 确保背景图片在所有内容之下
}
.txt{
margin: 56rpx 48rpx;
font-weight: 400;
font-size: 24rpx;
color: #64B6A7;
padding-bottom: 50rpx;
box-sizing: border-box;
}
.cont_box {
display: flex;
flex-wrap: nowrap;
padding: 0 38rpx;
margin-top: 280rpx;
padding-top: 50rpx;
box-sizing: border-box;
z-index: 10;
overflow-x: auto; // 允许横向滚动
white-space: nowrap; // 保持内容不换行
-webkit-overflow-scrolling: touch; // 使滚动更流畅
// 隐藏横向滚动条
::-webkit-scrollbar {
display: none; // 针对 WebKit 浏览器 (如 Safari 和 Chrome)
height: 0; // 设定横向滚动条高度为 0
}
scrollbar-width: none; // 针对 Firefox
-ms-overflow-style: none; // 针对 Internet Explorer 和 Edge
.act1{
background: #FFFBF1;
}
.cont_li {
width: 218rpx;
height: 256rpx;
background: rgba(255, 224, 158, 0.15) #FFFFFF;
border-radius: 20rpx;
border: 1rpx solid rgba(176, 124, 30, 0.56);
z-index: 10;
flex-shrink: 0; // 防止子元素缩小
margin-right: 20rpx; // 子元素之间的间距
.tit{
width: 100%;
text-align: center;
font-weight: 500;
font-size: 32rpx;
color: #B07C1E;
}
.money{
width: 100%;
text-align: center;
margin-top: 10rpx;
font-weight: 600;
font-size: 32rpx;
color: #E46666;
}
.tips{
margin-top: 10rpx;
width: 100%;
text-align: center;
font-weight: 400;
font-size: 24rpx;
color: #979797;
}
}
}
.cont_box::-webkit-scrollbar {
display: none;
}
.mc {
position: fixed;
top: 611rpx;
left: 0rpx;
width: 750rpx;
height: 107.29rpx;
z-index: 2;
}
}
.page {
width: 750rpx;
.fee_box {
margin-top: 40rpx;
position: relative;
margin-left: 38rpx;
width: 680rpx;
height: 288rpx;
background-image: url('https://lxnapi.ccttiot.com/bike/img/static/ugciMYClSGgJxP8HYoRU');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
.auto_box::-webkit-scrollbar {
display: none;
}
.auto_box {
padding-left: 24rpx;
display: flex;
overflow-x: auto;
/* 允许横向滚动 */
flex-wrap: nowrap;
/* 禁止换行,保持所有元素在一行 */
position: absolute;
top: 90rpx;
width: 100%;
/* 根据需要调整宽度 */
height: auto;
/* 根据内容自动调整高度 */
.auto_li {
position: relative;
padding: 24rpx 28rpx;
margin-right: 22rpx;
width: 408rpx;
height: 176rpx;
flex-shrink: 0;
/* 防止子元素被压缩 */
background-image: url('https://lxnapi.ccttiot.com/bike/img/static/ui88NWy9R1j2zFGojdHU');
background-size: cover;
background-position: center;
.txt1 {
width: 100%;
font-weight: 600;
font-size: 32rpx;
color: #495E74;
}
.txt2 {
font-weight: 400;
font-size: 24rpx;
color: #495E74;
}
.buy_btn {
position: absolute;
right: 26rpx;
bottom: 38rpx;
display: flex;
align-items: center;
justify-content: center;
width: 132rpx;
height: 50rpx;
background: #495E74;
border-radius: 25rpx 25rpx 25rpx 25rpx;
font-weight: 500;
font-size: 28rpx;
color: #FFF3DB;
}
}
}
}
.vip_box1 {
position: relative;
margin-left: 38rpx;
width: 680rpx;
height: 158rpx;
background-image: url('https://lxnapi.ccttiot.com/bike/img/static/uiaiNkMy7221n3bk2ta0');
background-size: cover;
/* 背景图片等比缩放以覆盖整个容器 */
background-position: center;
/* 背景图片居中显示 */
background-repeat: no-repeat;
margin-top: 40rpx;
.txt1 {
top: 20rpx;
left: 171rpx;
position: absolute;
font-weight: 500;
font-size: 39rpx;
color: #B07C1E;
}
.txt2 {
position: absolute;
left: 171rpx;
bottom: 20rpx;
font-weight: 400;
font-size: 25rpx;
color: #B07C1E;
}
.btn {
display: flex;
align-items: center;
justify-content: center;
position: absolute;
top: 18rpx;
right: 23rpx;
width: 150rpx;
height: 43rpx;
border-radius: 31rpx 31rpx 31rpx 31rpx;
border: 1rpx solid #B07C1E;
font-weight: 400;
font-size: 25rpx;
color: #B07C1E;
}
}
.vip_box {
position: relative;
margin-left: 38rpx;
width: 680rpx;
height: 158rpx;
background-image: url('https://lxnapi.ccttiot.com/bike/img/static/uw6bYgjn1bS1ayNm6VI9');
background-size: cover;
/* 背景图片等比缩放以覆盖整个容器 */
background-position: center;
/* 背景图片居中显示 */
background-repeat: no-repeat;
margin-top: 40rpx;
.txt1 {
top: 20rpx;
left: 100rpx;
position: absolute;
font-weight: 500;
font-size: 44rpx;
color: #FFE09E;
}
.txt2 {
position: absolute;
right: 74rpx;
bottom: 10rpx;
font-weight: 400;
font-size: 24rpx;
color: #FFE09E;
}
}
.btns {
display: flex;
align-items: center;
justify-content: center;
width: 680rpx;
height: 90rpx;
background: #64B6A7;
color: #fff;
font-size: 36rpx;
border-radius: 20rpx;
margin: 40rpx auto;
}
.fixed {
z-index: 999;
position: fixed;
top: 0;
}
.backimg-container {
position: fixed;
top: -7px;
left: 0;
width: 100%;
height: 564rpx;
z-index: 0;
.backimg {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
}
}
.topbg {
width: 750rpx;
// background: #fff;
height: 184rpx;
.topbox {
width: 750rpx;
// background: #fff;
height: 184rpx;
border-radius: 0 0 100rpx 0;
.info {
padding-top: 40rpx;
margin-left: 100rpx;
display: flex;
flex-wrap: nowrap;
align-items: center;
image {
width: 90rpx;
height: 90rpx;
border-radius: 50%;
}
.cont {
margin-left: 40rpx;
width: 70%;
.name {
font-weight: 400;
font-size: 32rpx;
color: #FFFFFF;
width: 100%;
text-shadow: 0px 8px 20px rgba(0, 0, 0, 0.3);
}
.phone {
margin-top: 4rpx;
width: 100%;
font-weight: 400;
font-size: 20rpx;
color: #FFFFFF;
text-shadow: 0px 8px 20px rgba(0, 0, 0, 0.3);
}
}
}
}
}
.type_cont {
width: 680rpx;
padding: 58rpx 54rpx;
// height: 608rpx;
background: #FFFFFF;
border-radius: 20rpx 20rpx 20rpx 20rpx;
margin: 0 auto;
margin-top: 30rpx;
.type_li {
width: 100%;
display: flex;
align-items: center;
flex-wrap: nowrap;
font-weight: 400;
font-size: 32rpx;
color: #2F3240;
image {
width: 44rpx;
height: 44rpx;
margin-right: 20rpx;
}
.icon-xiangyou1 {
margin-left: auto;
color: #2F3240;
font-size: 36rpx;
}
}
}
.tocont {
display: flex;
flex-wrap: nowrap;
align-items: center;
justify-content: space-around;
margin: 0 auto;
margin-top: 100rpx;
width: 680rpx;
height: 176rpx;
background: #fff;
border-radius: 20rpx 20rpx 20rpx 20rpx;
z-index: 10;
position: relative;
.cont_li {
width: 112rpx;
display: flex;
flex-wrap: wrap;
justify-content: center;
image {
margin-top: 10rpx;
width: 44rpx;
height: 44rpx;
}
.txt {
width: 112rpx;
text-align: center;
font-weight: 400;
font-size: 28rpx;
color: #2F3240;
}
}
}
.btnbg {
width: 750rpx;
// background: #4C97E7;
.btnbox {
padding-top: 36rpx;
width: 750rpx;
background: #fff;
border-radius: 100rpx 0 0 0;
.btncard {
padding: 0 54rpx;
margin: 0 auto;
width: 680rpx;
// height: 438rpx;
padding: 0 56rpx;
background: #FFFFFF;
box-shadow: 0rpx 10rpx 64rpx 0rpx rgba(0, 0, 0, 0.08);
border-radius: 34rpx 34rpx 34rpx 34rpx;
.card_li {
padding-top: 18rpx;
width: 100%;
display: flex;
flex-wrap: nowrap;
align-items: center;
justify-content: space-between;
border-bottom: 2rpx solid #D8D8D8;
padding-bottom: 26rpx;
.card_left {
// width: 100%;
display: flex;
flex-wrap: nowrap;
// align-items: center;
image {
margin-right: 28rpx;
width: 40rpx;
height: 40rpx;
}
.text {
margin-right: 24rpx;
font-weight: 400;
font-size: 28rpx;
color: #3D3D3D;
}
.tip {
display: flex;
align-items: center;
justify-content: center;
width: 80rpx;
height: 28rpx;
background: #FFEFEF;
border-radius: 17rpx 17rpx 17rpx 17rpx;
font-weight: 400;
font-size: 16rpx;
color: #FA5F5F;
}
}
.icon-xiangyou1 {
font-size: 42rpx;
color: #3D3D3D;
}
}
}
}
}
}
</style>