zoukankan      html  css  js  c++  java
  • 打卡调数据

    <view class="ctn">
                        
                        <view class="itm" @click="clockIn(1, breakfast_time, a)">//形参
                            <text>今日早餐</text>
                            <image src="../../static/icon/icon_punch2.png"></image>
                            <text>打卡时间 {{breakfast_time}}</text>
                            <text v-if="a" class="unsign">已打卡</text>
                            <text v-else class="sign">去打卡</text>
                        </view>
                        <view class="itm" @click="clockIn(2, lunch_time, b)">
                            <text >今日午餐</text>
                            <image src="../../static/icon/icon_punch3.png"></image>
                            <text>打卡时间 {{lunch_time}}</text>
                            <text v-if="b" class="unsign">已打卡</text>
                            <text v-else class="sign">去打卡</text>
                        </view>
                        <view class="itm" @click="clockIn(3, dinner_time, c)">
                            <text>今日晚餐</text>
                            <image src="../../static/icon/icon_punch4.png"></image>
                            <text>打卡时间 {{dinner_time}}</text>
                            <text v-if="c" class="unsign">已打卡</text>
                            <text v-else class="sign">去打卡</text>
                        </view>
                    </view>
    //获取打卡列表
    			getRecord(date:any){
    				var that:any = this
    				
    				new HealthService().getRecord(date)
    				.then((data:any)=>{
    					// if(data.code==1){
    					// 	that.date=data.data.date
    					// }
    					if (data.code == 1) {
    			                let a = 0, b = 0, c = 0; //设三个参数
    			                if (data.data.length) {  //如果接口有数据
    			                  data.data.forEach(el => { //遍历到每个上面
    			                
    			                    if (el.meal_type == 1) {  //类型为1 为早餐 a=1  有数据就是1就是打卡 反之没数据0就是未打卡
    			                       a = 1
    			                    } 
    			                    if (el.meal_type == 2) {  //类型为2 为午餐 b=1
    			                	 b = 1
    			                       }
    			                    if (el.meal_type == 3) {  //类型为3 为晚餐 c=1
    			                       c = 1
    			                    }
    			                });
    			            }
    			
    						this.a = a;
    						this.b = b;
    						this.c = c;
    			          }
    				})
    				.catch((error:any)=>{
    					that.alert(error.msg)
    				})
    			},
    

      

                    <view class="ctn">
    					
    					<view class="itm" @click="clockIn(1, '', a)">//三个入参
    						<text>今日早餐</text>
    						<image src="../../static/icon/icon_punch2.png"></image>
    						<text>打卡时间 {{breakfast_time}}</text>
    						<text v-if="a" class="unsign">已打卡</text>
    						<text v-else class="sign">去打卡</text>
    					</view>
    					<view class="itm" @click="clockIn(2, '', b)">
    						<text >今日午餐</text>
    						<image src="../../static/icon/icon_punch3.png"></image>
    						<text>打卡时间 {{lunch_time}}</text>
    						<text v-if="b" class="unsign">已打卡</text>
    						<text v-else class="sign">去打卡</text>
    					</view>
    					<view class="itm" @click="clockIn(3, '', c)">
    						<text>今日晚餐</text>
    						<image src="../../static/icon/icon_punch4.png"></image>
    						<text>打卡时间 {{dinner_time}}</text>  
    						<text v-if="c" class="unsign">已打卡</text>
    						<text v-else class="sign">去打卡</text>
    					</view>
    				</view>
    

      

    //获取设置 调用方法
                getRemind(){
                    var that:any = this
                    
                    new HealthService().getRemindSett()
                    .then((data:any)=>{
                        if(data.code==1){
                            
                            that.breakfast_time = data.data.breakfast_time;
                            that.lunch_time = data.data.lunch_time;
                            that.dinner_time = data.data.dinner_time;
                            that.lead_time = data.data.lead_time+"分钟";
                            
                            return;
                        }
                        
                        this.requestTodayData(this.date); 

                //执行完上面设置的接口调用 紧接着执行已打卡的接口调用 保持页面顺序正确 先是设置的时间点击加载上已打卡的当前时间 }) .
    catch((error:any)=>{ that.alert(error.msg) }) },
    requestTodayData(dt:any){
                    var that:any = this 
                    
                    new HealthService().getRecord(dt)
                    .then((data:any)=>{
                        if(data.code!=1) return
                        
                        that.list = data.data
                        
                        var _b:any = that.list.filter((i:any)=>i.meal_type==1)
                        if(_b&&_b.length>0)
                        that.breakfast_time = _b[0].time
                        
                        
                        _b = that.list.filter((i:any)=>i.meal_type==2)
                        if(_b&&_b.length>0)
                        that.lunch_time= _b[0].time
                        
                        _b = that.list.filter((i:any)=>i.meal_type==3)
                        if(_b&&_b.length>0)
                        that.dinner_time= _b[0].time
                    })
                    .catch((error:any)=>{
                        that.alert(error.msg)
                    })
                },
    //点击打卡 进餐打卡
    clockIn(meal_type:any,time:any,num:any){//对应三个入参 var that:any = this
    //点击一次 当为1时 已打卡 跳出方法
             //注意双等号赋值 if(num==1) return;
               //获取数据的时候走这 new HealthService().clockIn(meal_type,time) 传参打卡 .then((data:any)=>{ if(data.code==1){

                    //返回time数据格式是时间戳 转化成08:00的格式
                    var time:any = new Date(data.data.time*1000);
                    time = `${time.getHours()>9?'':'0'}${time.getHours()}:${time.getMinutes()>9?'':'0'}${time.getMinutes()}`


                    //点击后立即已打卡 时间从设置时间变更为打卡的时间

                    if(meal_type==1){
                      that.a = 1
                      that.breakfast_time = time //接口返回的数据time加载到设置的原来时间 覆盖得出
                    }
                    else if(meal_type==2){
                      that.b = 1
                      that.lunch_time = time
                    }
                    else if(meal_type==3){
                      that.c = 1
                      that.dinner_time = time
                    }

                    console.log(data);
                    that.meal_type = data.data.meal_type;
                    that.time = data.data.time;
                    return;

                        }
                        
                    })
                    .catch((error:any)=>{
                        that.alert(error.msg)
                    })
                    
                }

  • 相关阅读:
    vmware 更换网络后不能上网
    IDEA “Cannot resolve symbol” 解决办法
    SpringBoot MyBatis druid数据库连接池
    解决分页插件ClassNotFoundException: org.springframework.boot.bind.RelaxedPropertyResolver
    纯CSS绘制不同角度的三角形
    原生js实现移动端点击、长按、左滑、右滑、上滑、下滑等事件模拟
    移动端下拉滚动刷新
    使用锚点定位不改变url同时平滑的滑动到锚点位置,不会生硬的直接到锚点位置
    简单的mock数据调试
    小程序textarea文本域字数控制---并显示已输入字数
  • 原文地址:https://www.cnblogs.com/lsongyang/p/13516829.html
Copyright © 2011-2022 走看看