dur.js 2.42 KB
//获取当前时间
const date=new Date();
import App from '../../../utils/api';
import util from '../../../utils/util';
Component({
	properties:{
		seller:Object,
		//时间段
		time:{
			type:String,
			value:''
		},
		//日期
		date:{
			type:String,
			value:util.unixtoTime(date/1000,'YYYY-MM-DD')
		}
	},
	attached(){
		
	},
	ready(){
		
	},
	observers: {
		'date': function(newdate) {
			if(newdate!=''){
				this.getroombydate();
			}
			
		}
    },
	methods:{
		selecttime(e){
			const target=e.currentTarget.dataset;
			this.triggerEvent('selecttime',{time:target.time,action:'click'})
		},
		//获得默认所有可订时间段
		getdurlist(houseFull){
			let currenttimemark=date.getHours()+date.getMinutes()/60;
			let timedur=this.data.seller.daily;
			for(let key in houseFull){
				if(houseFull[key]==1){
					delete timedur[key];
				}
			}
			let durlist=[];
			for(let key in timedur){
				let arr=timedur[key].split('-');
				//每个时段的开始时间、结束时间
				let starttime=Number(arr[0].split(':')[0]);
				let endtime=Number(arr[1].split(':')[0]);
				if(util.unixtoTime(date/1000,'YYYY-MM-DD')==this.data.date){
					if(currenttimemark+0.5<endtime){
						if(currenttimemark+0.5>starttime){
							starttime=Math.round(currenttimemark)+0.5;
						}
						let thisdurlist=this.getsinglelist(starttime,endtime)
						durlist=durlist.concat(thisdurlist)
					}
				}else{
					let thisdurlist=this.getsinglelist(starttime,endtime);
					durlist=durlist.concat(thisdurlist)
				}	
			}
			this.setData({
				durlist:durlist,
				time:this.data.time=='' ? (durlist.length>0 ? durlist[0].showdur : '暂无可预订时段') : this.data.time
			})
			this.triggerEvent('selecttime',{time:this.data.time,action:'defalut'})
		},
		//获取每个时段的时间列表
		getsinglelist(starttime,endtime){
			let singledurlist=[];
			for(let i=starttime;i<=endtime;i+=0.5){
				let obj={};
				if(i%1==0){
					obj.showdur=i<10 ? '0'+i+':00' : i+':00'
				}else{
					obj.showdur=i<10 ? '0'+Math.floor(i)+':30' : Math.floor(i)+':30'
				}
				singledurlist.push(obj)
			}
			return singledurlist;
		},
		//获取具体日期时间段满房状态
		getroombydate(){
			//参数:date:'2019-07-24'    sid:1
			let parmdata={
				date:this.data.date,
				sid:this.data.seller.id
			}
			App.Customer.GetHouseFullDateTimes(parmdata).then((json)=>{
				console.log(json)
				if(json.ret==200){
					this.getdurlist(json.data);
				}
			})
		},
	}
})