|
|
- <template>
- <view class="vip flex-1">
- <view class="vip-header flex">
- <view class="flex align-start vip-header-avatar">
- <u-avatar :src="src" size="120"></u-avatar>
- <text class="font-28 text-white m-l-20 m-t-10">今今呀呀~</text>
- </view>
- </view>
- <view class="vip-container position-absolute bg-white flex">
- <scroll-view scroll-y>
- <view class="vip-container-box">
- <view class="vip-container-box-title flex align-center justify-center m-b-30">
- <view class="vip-container-box-title-icon"><image :src="vipImg" mode="widthFix"></image></view>
- <text class="m-l-10 font-32 text-black font-weight-bold">会员购物 更省钱、更实惠</text>
- </view>
-
- <view class="vip-container-box-grid flex align-center justify-between flex-wrap">
- <view
- class="vip-container-box-grid-item flex flex-column align-center justify-center m-b-16"
- :class="{ 'vip-container-box-grid-item-active': gridActive === item.id }"
- v-for="item in gridData"
- :key="item.id"
- @click="gridActive = item.id"
- >
- <text class="font-34 grid-text font-weight-bold m-b-16">{{ item.name }}</text>
- <text class="font-30 grid-text m-b-16">{{ item.price }}</text>
- <view class="grid-text grid-scale">
- <text>原价:</text>
- <text class="text-through">¥{{ item.originalPrice }}</text>
- </view>
- </view>
- </view>
-
- <view>
- <view class="vip-container-box-tips flex align-center m-b-30">
- <view class="vip-container-box-tips-icon"><image :src="vipImg" mode="widthFix"></image></view>
- <text class="m-l-10 font-32 text-black font-weight-bold">次卡专属权益</text>
- </view>
-
- <view class="vip-container-box-list flex align-center m-b-16">
- <image class="vip-container-box-list-icon" :src="tipImg" mode="widthFix"></image>
- <text class="m-l-16 font-28 text-black font-weight-bold">有效期30分钟</text>
- </view>
- <view class="vip-container-box-list flex align-center m-b-16">
- <image class="vip-container-box-list-icon" :src="tipImg" mode="widthFix"></image>
- <text class="m-l-16 font-28 text-black font-weight-bold">有效期30分钟</text>
- </view>
- <view class="vip-container-box-list flex align-center m-b-16">
- <image class="vip-container-box-list-icon" :src="tipImg" mode="widthFix"></image>
- <text class="m-l-16 font-28 text-black font-weight-bold">开通后可享受次卡会员价和返消费金</text>
- </view>
- </view>
- </view>
- </scroll-view>
- </view>
-
- <view class="position-fixed vip-btn overflow-hidden flex align-center">
- <view class="flex-1 vip-btn-left font-34 flex align-center justify-center h-100">
- <view class="flex align-end lineHeight-1">
- <text class="vip-btn-left-icon">¥</text>
- <text>365</text>
- <text class="vip-btn-left-txt m-l-2">开通即享特权</text>
- </view>
- </view>
- <view class="flex-1 vip-btn-right font-34 flex align-center justify-center h-100 font-weight-bold" @click="open">立即开通</view>
- </view>
- <!-- <payment-box confirmText="付款" ref="payment" @change="change" @confirm="confirm" @hide="hide"></payment-box> -->
- </view>
- </template>
-
- <script>
- import { IMG_URL } from '@/env.js'
- export default {
- data() {
- return {
- vipImg: IMG_URL + 'vip/vip.png',
- tipImg: IMG_URL + 'vip/tip.png',
- src: IMG_URL + 'test.png',
- idData: [
- { id: 0, name: '次卡', price: '39元/30分钟', originalPrice: '999' },
- { id: 1, name: '银卡', price: '39元/30分钟', originalPrice: '999' },
- { id: 2, name: '金卡', price: '39元/30分钟', originalPrice: '999' },
- { id: 3, name: '钻石卡', price: '39元/30分钟', originalPrice: '999' }
- ],
- gridActive: null
- };
- },
- onReady() {
- },
- methods: {
- open() {
- console.log('微信支付')
- },
- }
- };
- </script>
-
- <style lang="scss" scoped>
- .vip {
- &-header {
- position: absolute;
- top: 0;
- left: 50%;
- transform: translateX(-50%);
- width: 110%;
- height: 360rpx;
- background: #000;
- border-radius: 0 0 50% 50%;
- padding: 30rpx calc(45rpx + 5vw);
- }
- &-container {
- width: calc(100vw - 32rpx);
- height: calc(100vh - 170rpx);
- bottom: 0;
- left: 50%;
- transform: translateX(-50%);
- border-radius: 60rpx 60rpx 0 0;
- &-box {
- padding: 20rpx 58rpx;
- &-title {
- &-icon {
- width: 45rpx;
- }
- }
-
- &-grid {
- margin-bottom: 50rpx;
- &-item {
- width: 280rpx;
- height: 220rpx;
- border-radius: 20rpx;
- background: #f5f5f5;
- &-active {
- background: #ffedcf;
- .grid-text {
- color: #8b5b13;
- }
- }
- }
- }
-
- &-tips {
- &-icon {
- width: 60rpx;
- }
- }
- &-list {
- &-icon {
- width: 21rpx;
- }
- }
- }
- }
-
- &-btn {
- left: 50%;
- bottom: 50rpx;
- transform: translateX(-50%);
- width: 620rpx;
- height: 90rpx;
- border-radius: 40rpx;
- &-left {
- background: #302f2d;
- color: #ffda85;
- &-icon {
- font-size: 16rpx;
- }
- &-txt {
- font-size: 14rpx;
- }
- }
- &-right {
- background: #ffda85;
- color: #6f4920;
- }
- }
- }
- .grid-text {
- color: #000;
- }
- .grid-scale {
- font-size: 18rpx;
- }
- </style>
|