<template>
	<view>
		<!-- 状态栏 -->
		<status-nav :titleVal="'自主预约'" :statusTitle="true"></status-nav>
		<!-- 自定义二级分类 -->
		<!-- 列表 -->
		<view v-if="isLoading" :style="{paddingTop: statusHNH+'px'}" class="pad-zy30" style="padding-bottom: 160rpx;">
			<view v-if="dataList.length!=0" class="mar-s30 bacf pad20" v-for="(item,index) in dataList" :key="index" style="border-radius: 28rpx;">
				<view class="disjbac">
					<view class="disac">
						<image class="radius20 mar-y20 flexs" src="/static/public/logo.png" style="width: 98rpx;height: 98rpx;" mode=""></image>
						<view>
							<view class="fon36 col3 bold clips1">{{item.name}}</view>
							<view class="fon24 col3 mar-s10">{{item.content}}</view>
						</view>
					</view>
					<view :style="{background:[ingColor,publicColor,failColor,failColor,failColor][item.status]}" class="fon24 colf radius10 flexs" style="padding: 14rpx 24rpx;">{{['审核中...','预约成功','预约失败','预约取消','预约完成'][item.status]}}</view>
				</view>
				<view class="mar-s36 fon24 col3">预约时间:{{item.yuTime}}</view>
				<view class="disjbac fon24 col3 mar-s30">
					<!-- <view>联系人:{{item.lname}}</view> -->
					<view>联系电话:{{item.lphone}}</view>
				</view>
				<view @tap="quyuy(index)" class="disjcac mar-s40 width100 colf fon30 radius10 posir" :style="{background:[quColor,quColor,publicColor,publicColor,publicColor][item.status]}" style="height: 90rpx;line-height: 90rpx;">
					{{['取消预约','取消预约','重新预约','再次预约','再次预约'][item.status]}}
					<!-- <button :disabled="(item.status==2 || item.status==3 || item.status==4)?true:false" class="posia" 
					style="top: 0;left: 0;right: 0;bottom: 0;background-color: #000000;opacity: 0;">{{['取消预约','取消预约','重新预约','再次预约','再次预约'][item.status]}}</button> -->
				</view>
			</view>
			<nothing-page v-if="dataList.length==0" :content="'暂无更多预约内容'"></nothing-page>
		</view>
		<!-- 底部按钮 -->
		<view class="posixzy bacf pad-sx25">
			<view @tap="goYu" class="fon30 radius20 tc colf bold" style="margin: 0 83rpx;height: 90rpx;line-height: 90rpx;" :style="{background:publicColor}">我要预约</view>
		</view>
		<!-- 弹框 -->
		<pu-po :isShowT="isShowT" :contentVal="'是否取消当前预约?'" :clearVal="'否'" :comfrimVal="'是'" @comfirmev="comfirmev" @cancleev="isShowT=false"></pu-po>
		<!-- 底部客服 -->
		<public-customer></public-customer>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				statusHNH:uni.getStorageSync('statusHNH'),
				publicColor:uni.getStorageSync('publicColor'),//主题颜色
				failColor:'#CCCCCC',//失败背景颜色
				ingColor:'#FFBE4D',//审核中背景颜色
				quColor:'#FF4D4D',//取消预约背景色
				dataList:[
					// {status:0,imgSrc:'',name:'陈高医生',content:'植发',yuTime:'2021年07月08日 14:30至15:30',lname:'甄先生',lphone:'18888888888'},
					// {status:1,imgSrc:'',name:'陈高医生',content:'植发',yuTime:'2021年07月08日 14:30至15:30',lname:'甄先生',lphone:'18888888888'},
					// {status:2,imgSrc:'',name:'陈高医生',content:'植发',yuTime:'2021年07月08日 14:30至15:30',lname:'甄先生',lphone:'18888888888'},
				],
				btnCon:'取消预约',//取消预约/重新预约
				page:1,
				size:20,
				total:'',//总数
				isZanw:true,
				isLoading:false,
				isShowT:false,
				zzId:''//自主预约ID
			}
		},
		onReachBottom() {
			if(this.total!=this.dataList.length){
				this.page++
				this.checkPoint()//调用自主预约列表事件
			} else {
				if(this.isZanw) this.$toolAll.tools.showToast('暂无更多预约记录','none',1000)
				this.isZanw = false
			}
		},
		onShow() {
			this.$toolAll.tools.isLogin()
			this.checkPoint()//调用自主预约列表事件
			this.$toolAll.tools.showToast('加载中...','loading')
		},
		methods: {
			checkPoint(){//查询自主预约列表事件
				this.$requst.post('user/appointment-list',{page:this.page,size:this.size}).then(res=>{
					// console.log('查询自主预约列表:',res);
					if(res.code==0){
						if(this.page==1) this.dataList = []
						if(res.data.list.length!=0){
							this.total = res.data.total
							res.data.list.forEach(item=>{
								let timeStr = item.appointment_at.slice(0,10).split('-')
								let timeZui = item.period.name.split('-')
								let newStatus = ''
								if(item.status_text=='审核中') newStatus = 0
								if(item.status_text=='预约成功') newStatus = 1
								if(item.status_text=='预约失败') newStatus = 2
								if(item.status_text=='预约取消') newStatus = 3
								if(item.status_text=='预约完成') newStatus = 4
								let obj = {
									id:item.id,
									status:newStatus,
									imgSrc:	uni.getStorageSync('userLogo'),//缓存token,
									name:item.name,
									content:item.typeInfo.title,
									yuTime:`${timeStr[0]}年${timeStr[1]}月${timeStr[2]}日 ${timeZui[0]}至${timeZui[1]}`,
									lname:item.name,
									lphone:item.phone
								}
								this.dataList.push(obj)
							})
						}
						this.isLoading = true
					}
				},error=>{})
			},
			goYu(){//去预约
				uni.navigateTo({
					url:'/pagesA/ppointmentEv/ppointmentEv'
				})
			},
			quyuy(index){//取消预约事件
				if(this.dataList[index].status==0 || this.dataList[index].status==1){
					this.zzId = this.dataList[index].id
					this.isShowT = true
				} else {
					uni.navigateTo({
						url:'/pagesA/ppointmentEv/ppointmentEv'
					})
				}
				
			},
			comfirmev(){
				this.isShowT = false
				this.$requst.post('user/appointment-cancel',{appointment_id:this.zzId}).then(res=>{
					// console.log('取消预约成功返回:',res);
					if(res.code==0){
						this.$toolAll.tools.showToast('取消预约成功')
						setTimeout(()=>{
							this.checkPoint()
						},1500)
					}
				},error=>{})
			}
		}
	}
</script>

<style>
</style>