hengmei-two/pagesA/signIn/signIn.vue

141 lines
4.3 KiB
Vue

<template>
<view>
<!-- 状态栏 -->
<status-nav :titleVal="'签到管理'" :statusTitle="true"></status-nav>
<view v-if="loading" :style="{paddingTop: statusHNH+'px'}" class=" fon28 col3">
<view style="position: sticky;z-index: 3;background: #FFFFFF;padding-bottom: 20rpx;" :style="{top:statusHNH+'px'}">
<view class="posir">
<image class="posia width100" src="/static/public/sign-01.png" mode="widthFix"></image>
<view class="posir tc pad-sx20" style="z-index: 5;">
<image v-if="isSigin==0" @tap="siginEv" src="/static/public/sign-02.png" mode="" class="sigin-img"></image>
<image v-else src="/static/public/sigined.png" mode="" class="sigin-img"></image>
<view class="fon20 colf mar-s20">在连续签到可获得积分</view>
<view class="disjcac mar-sx30">
<image src="/static/public/sign-03.png" class="sigin-success" mode=""></image>
<view class="bold colf mar-z10 fon56">{{user_score}}</view>
</view>
<view class="disjb pad-zy30">
<view v-for="(item,index) in timeList" :key="index" class="disjcac fc">
<view class="disjcac fon24 posir sigin-day" :style="{color:item.isSign?'#789CFB':'#FFFFFF',background:item.isSign?'#FFFFFF':''}">
+{{item.num}}
<image v-if="item.isSign==1" class="posia" src="/static/public/gou.png" mode=""></image>
</view>
<view class="fon28 colf mar-s20">{{item.day}}</view>
</view>
</view>
</view>
</view>
<view class="mar-s20 fon28 col3 bold mar-z50">签到记录</view>
</view>
<!-- 获取列表,提现列表 -->
<view class="pad-zy30">
<view class="bacf pad-zy20 pad-x20 radius20">
<scroll-view scroll-y="true" >
<view v-for="(item,index) in dataList" :key="index" class="disjbac bbot pad-sx10">
<view>
<view class="fon26 col3">{{item.title}}</view>
<view class="mar-s10 fon20 col9">{{item.time}}</view>
</view>
<view class="fon36 bold pcol">+{{item.num}}</view>
</view>
</scroll-view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
statusHNH:uni.getStorageSync('statusHNH'),
publicColor:uni.getStorageSync('publicColor'),//主题颜色
timeList:[],
dataList:[
// {title:'签到积分',time:'2021.09.06 10:30:10',num:'1'},
],
user_score:0,//账户余额
page:1,
size:10,
total:'',//总数
isZanw:true,
isSigin:0,
loading:false
}
},
onReachBottom() {//触底事件
if(this.total!=this.dataList.length){
this.page++
this.checkTime()//调用自主预约列表事件
} else {
if(this.isZanw) this.$toolAll.tools.showToast('暂无更多列表','none',1000,'bottom')
this.isZanw = false
}
},
onLoad() {
this.$toolAll.tools.isLogin();
this.checkTime();
this.checkList();
},
methods: {
siginEv(){
this.$toolAll.tools.showToast('正在签到...');
this.$requst.post('sign/online-singIn').then(res=>{
if(res.code==0){
this.$toolAll.tools.showToast('签到成功');
this.checkTime();
this.checkList();
} else {
this.$toolAll.tools.showToast(res.msg);
}
})
},
checkTime(){
this.$requst.post('sign/online-sign-record',{page:this.page,size:this.size}).then(res=>{
if(res.code==0){
if(this.page==1) this.dataList = [];
this.total = res.data.total;
if(res.data.length!=0){
res.data.forEach(item=>{
let obj = {
title:'签到积分',
time:item.created_at,
num:item.score
}
this.dataList.push(obj);
})
}
} else this.$toolAll.tools.showToast(res.msg);
})
},
checkList(){
this.$requst.post('sign/mini-load').then(res=>{
if(res.code==0){
this.timeList = [];
for (let key in res.data.sign_record) {
let obj = {
num:res.data.sign_record[key].record,
day:res.data.sign_record[key].key,
isSign:res.data.sign_record[key].is_sign
}
this.timeList.push(obj)
// console.log(key);
}
this.isSigin = res.data.today_sign_in;//0未签到 1已签到
this.user_score = res.data.user_score;
setTimeout(()=>{
this.loading = true;
},1000)
}
// console.log(res);
})
}
}
}
</script>
<style>
page{background-color: #FFFFFF;}
</style>