choujiang/pagesB/signin/signin.vue

562 lines
15 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<template>
<view>
<statusNav returnColor="#ffffff" fontWeight="800" titleColor="rgba(255, 255, 255, 100)" backgroudColor="#F37A61"
navBarTitle="天天签到">
</statusNav>
<view class="head">
<view class="integral">
当前积分
</view>
<view class="num">
<text class="bold">3000</text>积分
</view>
<view class="text">
每日签到领取积分连续签到领大礼~
</view>
<view class="button">
兑换商城
</view>
</view>
<view class="signin-content">
<view class="text">
已连续签到<text class="cF37A61 bold">3</text>
</view>
<view class="icon-content">
<view class="li" v-for="(item,index) in signinData">
<view class="icon" :class="item.state?'on':''">
<image src="" v-if="item.state" mode=""></image>
</view>
<view class="icon-text">
{{item.title}}
</view>
</view>
</view>
<view class="button" @click="signinFun()">
立即签到
</view>
</view>
<view class="conversion">
<view class="title">
兑换红包
</view>
<view class="conversion-content">
<view class="li" v-for="(item,index) in 4" @click="redPacketFun()">
<image src="" class="img" mode=""></image>
<view class="text">
限量3000个
</view>
</view>
</view>
</view>
<view class="welfare">
<view class="title">
福利任务
</view>
<view class="welfare-content">
<view class="li" v-for="(item,index) in welfareData">
<view class="left">
<view class="text">
{{item.title}} <text class="ml" v-if="item.num>0">{{item.num}}/3</text>
</view>
<view class="num">
<image src="" class="icon" mode=""></image>
<view class="">
积分+40
</view>
</view>
</view>
<view class="button" :class="item.state?'on':''">
<text v-if="item.state">待领取</text>
<text v-else>+40积分</text>
</view>
</view>
</view>
</view>
<view class="welfare time-limit">
<view class="title">
限时任务
</view>
<view class="welfare-content">
<view class="li" v-for="(item,index) in welfareData">
<view class="left">
<view class="text">
{{item.title}} <text class="ml" v-if="item.num>0">{{item.num}}/3</text>
</view>
<view class="num">
<image src="" class="icon" mode=""></image>
<view class="">
积分+40
</view>
</view>
</view>
<view class="right">
<view class="button" :class="item.state?'on':''">
<text v-if="item.state">待领取</text>
<text v-else>+40积分</text>
</view>
<view class="date">
剩余时间20小时30分
</view>
</view>
</view>
</view>
</view>
<view class="make" v-if="isSignin">
<view class="make-content">
<view class="title">
恭喜签到成功
</view>
<view class="signin-make">
<view class="text">
+50积分
</view>
<view class="button" @click="signinFun()">
明天提醒我
</view>
</view>
</view>
<view class="make-close" @click="signinFun()">
<!-- <image src="" class="make-close-img" mode=""></image> -->
</view>
</view>
<view class="make" v-if="isRedPacket">
<view class="make-content">
<view class="title">
恭喜签到成功
</view>
<view class="PacketFun-make">
+0.3元
</view>
</view>
<view class="make-close" @click="redPacketFun()">
<!-- <image src="" class="make-close-img" mode=""></image> -->
</view>
</view>
</view>
</template>
<script>
import footTabOne from "../../components/foot-tabs/foot-tab-one.vue"
import statusNav from '../../components/status-nav.vue';
export default {
components: {
footTabOne,
statusNav
},
data() {
return {
isRedPacket:false,
isSignin: false,
signinData: [{
title: "第1天",
state: true
},
{
title: "第2天",
state: false
},
{
title: "第3天",
state: false
},
{
title: "第4天",
state: false
},
{
title: "第5天",
state: false
},
{
title: "第6天",
state: false
},
{
title: "第7天",
state: false
},
],
welfareData: [{
title: "邀请好友注册",
state: false,
num: 0,
},
{
title: "参与抽奖",
state: true,
num: 2,
},
]
}
},
methods: {
signinFun() {
this.isSignin=!this.isSignin
},
redPacketFun() {
this.isRedPacket=!this.isRedPacket
},
}
}
</script>
<style>
.head {
width: 100%;
height: 360rpx;
line-height: 40rpx;
padding: 0 22rpx 0 26rpx;
background-color: rgba(243, 122, 97, 100);
}
.head .integral {
color: rgba(227, 227, 227, 100);
font-size: 28rpx;
position: relative;
font-family: PingFangSC-regular;
}
.head .num {
color: rgba(255, 255, 255, 100);
font-size: 28rpx;
margin-top: 16rpx;
font-family: PingFangSC-regular;
}
.head .num .bold {
font-size: 44rpx;
line-height: 60rpx;
}
.head .text {
font-size: 28rpx;
margin-top: 12rpx;
color: #E3E3E3;
}
.head .button {
width: 184rpx;
height: 72rpx;
position: absolute;
right: 22rpx;
top: 245rpx;
border-radius: 60rpx;
background-color: rgba(255, 221, 221, 100);
text-align: center;
line-height: 72rpx;
color: rgba(243, 122, 97, 100);
font-size: 28rpx;
}
.signin-content {
width: 702rpx;
height: 368rpx;
border-radius: 20rpx;
background-color: #FFFFFF;
margin: auto;
padding: 20rpx;
box-sizing: border-box;
box-sizing: border-box;
margin-top: -138rpx;
box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(0, 0, 0, 0.08);
}
.signin-content .text {
font-size: 28rpx;
}
.signin-content .text .bold {
font-size: 32rpx;
}
.icon-content {
display: flex;
margin-top: 36rpx;
justify-content: space-between;
color: rgba(208, 208, 208, 100);
font-size: 24rpx;
text-align: center;
}
.icon-content .li .icon {
width: 60rpx;
border-radius: 50%;
margin-bottom: 16rpx;
height: 60rpx;
background-color: rgba(227, 227, 227, 100);
}
.icon-content .li .on {
background-color: rgba(249, 197, 29, 100);
}
.signin-content .button {
width: 602rpx;
height: 84rpx;
line-height: 84rpx;
border-radius: 60rpx;
color: rgba(255, 255, 255, 100);
font-size: 32rpx;
margin: auto;
margin-top: 54rpx;
background-color: rgba(249, 197, 29, 100);
text-align: center;
}
.conversion {
padding: 20rpx 26rpx;
width: 702rpx;
box-sizing: border-box;
background-color: #FFFFFF;
height: 378rpx;
margin: auto;
margin-top: 20rpx;
border-radius: 20rpx;
box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(0, 0, 0, 0.08);
}
.conversion .title {
color: rgba(16, 16, 16, 100);
font-size: 32rpx;
font-family: PingFangSC-regular;
padding-bottom: 16rpx;
border-bottom: 2rpx solid rgba(227, 227, 227, 100);
}
.conversion-content {
display: flex;
margin-top: 30rpx;
justify-content: space-between;
}
.conversion-content .li .img {
width: 122rpx;
height: 196rpx;
border-radius: 20rpx;
background-color: rgba(227, 227, 227, 100);
}
.conversion-content .li .text {
color: rgba(16, 16, 16, 100);
font-size: 24rpx;
text-align: center;
margin-top: 16rpx;
font-family: PingFangSC-regular;
}
.welfare {
padding: 20rpx 26rpx 28rpx;
width: 702rpx;
box-sizing: border-box;
background-color: #FFFFFF;
margin: auto;
margin-top: 20rpx;
border-radius: 20rpx;
box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(0, 0, 0, 0.08);
}
.welfare .title {
color: rgba(16, 16, 16, 100);
font-size: 32rpx;
font-family: PingFangSC-regular;
padding-bottom: 16rpx;
border-bottom: 2rpx solid rgba(227, 227, 227, 100);
}
.welfare-content .li {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20rpx 0rpx;
border-bottom: 2rpx solid rgba(227, 227, 227, 100)
}
.welfare-content .li .text {
font-size: 28rpx;
text-align: left;
margin-bottom: 18rpx;
font-family: PingFangSC-regular;
}
.welfare-content .li .text .ml {
margin-left: 20rpx;
}
.welfare-content .li .num {
display: flex;
color: rgba(16, 16, 16, 100);
font-size: 24rpx;
align-items: center;
}
.welfare-content .li .num .icon {
width: 28rpx;
height: 28rpx;
margin-right: 10rpx;
background-color: rgba(208, 208, 208, 100);
text-align: center;
}
.welfare-content .li .button {
width: 164rpx;
height: 64rpx;
border-radius: 60rpx;
color: rgba(255, 255, 255, 100);
line-height: 64rpx;
font-size: 28rpx;
background-color: rgba(243, 122, 97, 100);
text-align: center;
}
.time-limit .li .right .date {
color: rgba(243, 122, 97, 100);
font-size: 24rpx;
}
.time-limit .li .right {
text-align: right;
}
.time-limit .li .button {
width: 164rpx;
display: inline-block;
height: 56rpx;
margin-bottom: 22rpx;
border-radius: 60rpx;
color: rgba(255, 255, 255, 100);
line-height: 56rpx;
font-size: 28rpx;
background-color: rgba(243, 122, 97, 100);
text-align: center;
}
.time-limit .li .text {
margin-bottom: 30rpx;
}
.welfare-content .li .on {
background-color: rgba(243, 188, 97, 100);
}
.make {
width: 100%;
height: 100%;
position: fixed;
z-index: 100;
left: 0rpx;
top: 0rpx;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
background-color: rgba(0, 0, 0, 0.54);
}
.make-close {
width: 84rpx;
height: 84rpx;
border-radius: 50%;
background-color: rgba(255, 255, 255, 0.6);
text-align: center;
margin-top: 48rpx;
border: 2rpx solid rgba(255, 255, 255, 100);
}
.make-content .title {
width: 524rpx;
height: 168rpx;
font-size: 36rpx;
color: #FFFFFF;
padding-top: 74rpx;
position: relative;
box-sizing: border-box;
border-radius: 20rpx 20rpx 0px 0px;
background-color: rgba(243, 122, 97, 100);
text-align: center;
}
.make-content .title::after {
position: absolute;
content: "";
left: 76rpx;
top: -36rpx;
width: 46rpx;
height: 106rpx;
line-height: 20px;
border-radius: 12px;
background-color: rgba(249, 70, 70, 100);
text-align: center;
}
.make-content .title::before {
position: absolute;
content: "";
right: 76rpx;
top: -36rpx;
width: 46rpx;
height: 106rpx;
line-height: 20px;
border-radius: 12px;
background-color: rgba(249, 70, 70, 100);
text-align: center;
}
.signin-make {
width: 100%;
height: 374rpx;
border-radius: 0px 0px 20rpx 20rpx;
background-color: #FFFFFF;
}
.signin-make .text {
color: rgba(243, 122, 97, 100);
font-size: 40rpx;
padding-top: 74rpx;
box-sizing: border-box;
text-align: center;
font-family: PingFangSC-medium;
}
.signin-make .button {
width: 387rpx;
margin: auto;
height: 84rpx;
color: rgba(255, 255, 255, 100);
font-size: 28rpx;
margin-top: 90rpx;
line-height: 84rpx;
border-radius: 20rpx;
background-color: rgba(243, 122, 97, 100);
text-align: center;
}
.PacketFun-make{
width: 100%;
height: 280rpx;
border-radius: 0px 0px 20rpx 20rpx;
background-color: #FFFFFF;
color: rgba(243, 122, 97, 100);
font-size: 96rpx;
text-align: center;
line-height: 280rpx;
}
</style>