room.js 2.92 KB
import App from '../../../utils/api';
import util from '../../../utils/util';
let dur=['morning','noon','night','midnight']
Component({
	properties:{
		seller:Object,
		date:{
			type:String,
			value:util.unixtoTime(new Date()/1000,'YYYY-MM-DD')
		},
		section:String,
		usecondition:{
			type:String,
			value:'custom'
		},
		seletroomlist:{
			type:Array,
			value:[]
		}
	},
	data:{
		roomlist:[],	
	},
	observers: {
		'date,section': function(newdate,newsection) {
			console.log('room',newdate,newsection)
			if(newdate && newsection){
				if(this.data.roomlist.length>0){
					this.data.roomlist.forEach((v,i)=>{
						if(v.selectnum>0){
							v.selectnum=0;
						}
					})
				}
				this.setData({
					roomlist:this.data.roomlist
				})
				this.getroomtype();
			}
		}
	},
	methods:{
		getroomtype(){
			let parmdata={
				sellerid:this.data.seller.id,
				day:util.timetouUnix(this.data.date+' 00:00:00'),
				interval:dur.indexOf(this.data.section)+1
			}
			App.Seller.GetSellerTableClass(parmdata).then((json)=>{
				console.log('roomlist',json)
				if(json.ret==200){
					if(json.data.length>0){
						if(this.data.usecondition=="custom"){
							json.data.forEach((v,i)=>{
								v.selectnum=0;
							})
						}
					}
					this.setData({
						roomlist:json.data
					})
					if(this.data.seletroomlist.length>0){
						this.changestyle();
					}
				}
			})
		},
		selectroom(e){
			let _target=e.currentTarget.dataset;
			console.log(typeof _target.selectnum,this.data.usecondition)
			if(this.data.usecondition=='custom'){
				if((this.data.seletroomlist && this.data.seletroomlist.length<3) || !this.data.seletroomlist){
					let setkey='roomlist['+_target.index+'].selectnum';
					this.setData({
						[setkey]:_target.selectnum+1
					})
					let obj={
						id:_target.id,
						name:this.data.roomlist[_target.index].name
					}
					this.triggerEvent('selectroom',obj)
				}else{
					util.toast('最多可选3个包间','none');
				}
				
			}else{
				//////
				console.log('置满')
				let  parmdata={
					 classid:_target.id,
					 day:util.timetouUnix(this.data.date+' 00:00:00'),
					 interval:dur.indexOf(this.data.section)+1
				}
				if(_target.fid){
					parmdata.id=_target.fid;
				}
				App.Seller.SetTableClassFull(parmdata).then((json)=>{
					console.log(json)
					if(json.ret==200){
						this.triggerEvent('changeroom',{id:_target.id,action:parmdata.id ? 'cancel' : 'confirm'})
						this.getroomtype();
					}
				})
			}
		},
		cancelroom(id){
			let roomlist=this.data.roomlist;
			roomlist.forEach((v,i)=>{
				if(v.id==id){
					let setkey='roomlist['+i+'].selectnum';
					this.setData({
						[setkey]:v.selectnum-1,
					})
				}
			})
		},
		changestyle(){
			let seletroomlist=this.data.seletroomlist;
			let roomlist=this.data.roomlist;
			seletroomlist.forEach((v,i)=>{
				roomlist.forEach((r,n)=>{
					if(v.id==r.id){
						r.selectnum+=1;
					}
				})
			})
			this.setData({
				roomlist:roomlist
			})
		},
	}
})