<template>
	<view class="page">
		<u-navbar  :is-back="false" title="设备管理" :border-bottom="false" :background="bgc" title-color='#2E4975'
			title-size='36' height='36'></u-navbar>
		<view class="top_box">
			<view class="left_text">
				时间范围
			</view>
			<view class="timebox">
				<view class="left_time" @click="time1=true">
					{{firsTime}}
				</view>
				-
				<view class="right_time" @click="time2=true">
					{{lasTime}}
				</view>
			</view>
		</view>
		<view class="top_box">
			<view class="left_text">
				手机号
			</view>
			<view class="sear_ipt">
				<input type="text"
					 v-model="searchKeyword"
					 placeholder="请输入内容"
					 class="input"
					 placeholder-style="color:#C7CDD3"
					 @input="search()">
			</view>
		</view>
		<view class="tap">
			<view class="tap_cont " :class="curtitidx==0?'act1':''" @click="changeidx(0)">
				全部
			</view>
			<view class="tap_cont" :class="curtitidx==1?'act1':''"  @click="changeidx(1)">
				进行中
			</view>
			<view class="tap_cont" :class="curtitidx==2?'act1':''"  @click="changeidx(2)">
				待支付
			</view>
			<view class="tap_cont" :class="curtitidx==3?'act1':''"  @click="changeidx(3)">
				已完成
			</view>
		</view>
		<u-mask :show="show" @click="show = false" :z-index='100' />
		
		<u-picker mode="time" v-model="time1" :params="params" @confirm="confirm1" :default-time='pickertime'></u-picker>
		<u-picker mode="time" v-model="time2" :params="params" @confirm="confirm2" :default-time='pickertime'></u-picker>
		<view class="warp_box">
			<swiper class="swiper" :style="{ height: swiperHeight + 'rpx' }"  :current='curtitidx' @change="swiperchange" next-margin='-20rpx'>
				<swiper-item>
					<view class="swiper-item ">
						<view class="card"   v-for="(item,index) in allList" :key="index">
							<view class="line"></view>
							<view class="top_info">
								<view class="top_info_left">
									订单编号:{{item.orderNo}}
								</view>
								<view class="top_info_right" v-if="item.status==0||item.status==2">
									<view class="yuan"></view>
									进行中
								</view>
								<view class="top_info_right" v-if="item.status==1||item.status==3" style="color: orangered;">
									<view class="yuan" style="background: orangered;"></view>
									待支付
								</view>
								<view class="top_info_right" v-if="item.status==4" style="color: green;">
									<view class="yuan" style="background: green;"></view>
									已完成
								</view>
							</view>
							
							<view class="lines"></view>
							<view class="order_info">
								<view class="info_li">
									租赁用户:{{item.phonenumber}}
								</view>
								<view class="info_li">
									<view class="half_info_li">
										车辆编号:{{item.sn}}
									</view>
									<view class="half_info_li">
										租赁时长:{{item.duration/60}}分钟
									</view>
								</view>
								<view class="info_li">
									订单费用:{{item.totalFee}}元
								</view>
								<view class="info_li" v-if="item.unlock_time">
									开关时间:{{item.unlock_time}}  {{ item.return_time ? item.return_time : '--' }}
								</view>
							</view>
							<view class="lines"></view>
							<view class="btn_box">
								<view class="btn" v-if="item.status==0||item.status==2" @click="showfzs(item)">
									辅助还车
								</view>
								<view class="btn" v-if="item.status==1||item.status==3" @click="showgjs()">
									改价
								</view>
								<view class="btn_line" v-if="item.status!=4">
									
								</view>
								<view class="btn" v-if="item.status==4" style="width: 100%;">
									查看详情
								</view>
								<view class="btn" v-if="item.status!=4&&item.status!=2" >
									查看详情
								</view>
							</view>
						</view>
					</view>
				</swiper-item>
				<swiper-item>
					<view class="swiper-item ">
						<view class="card"   v-for="(item,index) in ingList" :key="index">
							<view class="line"></view>
							<view class="top_info">
								<view class="top_info_left">
									订单编号:{{item.orderNo}}
								</view>
								<view class="top_info_right" v-if="item.status==0||item.status==2">
									<view class="yuan"></view>
									进行中
								</view>
								<view class="top_info_right" v-if="item.status==1||item.status==3" style="color: orangered;">
									<view class="yuan" style="background: orangered;"></view>
									待支付
								</view>
								<view class="top_info_right" v-if="item.status==4" style="color: green;">
									<view class="yuan" style="background: green;"></view>
									已完成
								</view>
							</view>
							
							<view class="lines"></view>
							<view class="order_info">
								<view class="info_li">
									租赁用户:{{item.phonenumber}}
								</view>
								<view class="info_li">
									<view class="half_info_li">
										车辆编号:{{item.sn}}
									</view>
									<view class="half_info_li">
										租赁时长:{{item.duration/60}}分钟
									</view>
								</view>
								<view class="info_li">
									订单费用:{{item.totalFee}}元
								</view>
								<view class="info_li" v-if="item.unlock_time">
									开关时间:{{item.unlock_time}}  {{ item.return_time ? item.return_time : '--' }}
								</view>
							</view>
							<view class="lines"></view>
							<view class="btn_box">
								<view class="btn" v-if="item.status==0||item.status==2" @click="showfzs(item)">
									辅助还车
								</view>
								<view class="btn" v-if="item.status==1||item.status==3" @click="showgjs()">
									改价
								</view>
								<view class="btn_line" v-if="item.status!=4">
									
								</view>
								<view class="btn" v-if="item.status==4" style="width: 100%;">
									查看详情
								</view>
								<view class="btn" v-if="item.status!=4" >
									查看详情
								</view>
							</view>
						</view>
					</view>
				</swiper-item>
				<swiper-item>
					<view class="swiper-item ">
						<view class="card"  @click="todetail(item.id)" v-for="(item,index) in reprement" :key="index">
							<view class="line"></view>
							<view class="top_info">
								<view class="top_info_left">
									订单编号:{{item.orderNo}}
								</view>
								<view class="top_info_right" v-if="item.status==0||item.status==2">
									<view class="yuan"></view>
									进行中
								</view>
								<view class="top_info_right" v-if="item.status==1||item.status==3" style="color: orangered;">
									<view class="yuan" style="background: orangered;"></view>
									待支付
								</view>
								<view class="top_info_right" v-if="item.status==4" style="color: green;">
									<view class="yuan" style="background: green;"></view>
									已完成
								</view>
							</view>
							
							<view class="lines"></view>
							<view class="order_info">
								<view class="info_li">
									租赁用户:{{item.phonenumber}}
								</view>
								<view class="info_li">
									<view class="half_info_li">
										车辆编号:{{item.sn}}
									</view>
									<view class="half_info_li">
										租赁时长:{{item.duration/60}}分钟
									</view>
								</view>
								<view class="info_li">
									订单费用:{{item.totalFee}}元
								</view>
								<view class="info_li" v-if="item.unlock_time">
									开关时间:{{item.unlock_time}}  {{ item.return_time ? item.return_time : '--' }}
								</view>
							</view>
							<view class="lines"></view>
							<view class="btn_box">
								<view class="btn" v-if="item.status==0||item.status==2" @click="showfzs(item)">
									辅助还车
								</view>
								<view class="btn" v-if="item.status==1||item.status==3" @click="showgjs()">
									改价
								</view>
								<view class="btn_line" v-if="item.status!=4">
									
								</view>
								<view class="btn" v-if="item.status==4" style="width: 100%;">
									查看详情
								</view>
								<view class="btn" v-if="item.status!=4" >
									查看详情
								</view>
							</view>
						</view>
					</view>
				</swiper-item>
				<swiper-item>
					<view class="swiper-item ">
						
						<view class="card"  v-for="(item,index) in alreadyList" :key="index">
							<view class="line"></view>
							<view class="top_info">
								<view class="top_info_left">
									订单编号:{{item.orderNo}}
								</view>
								<view class="top_info_right" v-if="item.status==0||item.status==2">
									<view class="yuan"></view>
									进行中
								</view>
								<view class="top_info_right" v-if="item.status==1||item.status==3" style="color: orangered;">
									<view class="yuan" style="background: orangered;"></view>
									待支付
								</view>
								<view class="top_info_right" v-if="item.status==4" style="color: green;">
									<view class="yuan" style="background: green;"></view>
									已完成
								</view>
							</view>
							
							<view class="lines"></view>
							<view class="order_info">
								<view class="info_li">
									租赁用户:{{item.phonenumber}}
								</view>
								<view class="info_li">
									<view class="half_info_li">
										车辆编号:{{item.sn}}
									</view>
									<view class="half_info_li">
										租赁时长:{{item.duration/60}}分钟
									</view>
								</view>
								<view class="info_li">
									订单费用:{{item.totalFee}}元
								</view>
								<view class="info_li" v-if="item.unlock_time">
									开关时间:{{item.unlock_time}}  {{ item.return_time ? item.return_time : '--' }}
								</view>
							</view>
							<view class="lines"></view>
							<view class="btn_box">
								<view class="btn" v-if="item.status==0||item.status==2" @click="showfzs(item)"> 
									辅助还车
								</view>
								<view class="btn_line">
									
								</view>
								<view class="btn">
									查看详情
								</view>
							</view>
						</view>
					</view>
				</swiper-item>
			
			</swiper>
		</view>
		<view class="tip_box" v-if="showfz">
			<view class="top">
				<view class="tip">
					提示
				</view>
				
				<view class="txt">
					确定要辅助还车吗?
				</view>
			</view>
			<view class="bot">
				<view class="bot_left" @click="closefz()">
					取消
				</view>
				<view class="bot_right" @click="backDevice()">
					确定
				</view>
			</view>
		</view>
		<view class="tip_box" v-if="showgj">
			<view class="top">
				<view class="tip">
					改价
				</view>
				
				<view class="ipt_box">
					<view class="text">
						租赁费
					</view>
					<view class="ipt">
						<input type="text"
							 v-model="searchKeyword"
							 placeholder="0.00"
							 class="input"
							 placeholder-style="color:#C7CDD3"
							>
							元
					</view>
				</view>
				<view class="ipt_box">
					<view class="text">
						租赁费
					</view>
					<view class="ipt">
						<input type="text"
							 v-model="searchKeyword"
							 placeholder="0.00"
							 class="input"
							 placeholder-style="color:#C7CDD3"
							>
							元
					</view>
				</view>
			</view>
			<view class="bot">
				<view class="bot_left" @click="closefz()">
					取消
				</view>
				<view class="bot_right">
					确定
				</view>
			</view>
		</view>
		<view class="tip_box" v-if="showtk">
			<view class="top">
				<view class="tip">
					退款
				</view>
				
				<view class="ipt_box">
					<view class="text">
						租赁费
					</view>
					<view class="ipt">
						<input type="text"
							 v-model="searchKeyword"
							 placeholder="0.00"
							 class="input"
							 placeholder-style="color:#C7CDD3"
							>
							元
					</view>
				</view>
				<view class="ipt_box">
					<view class="text">
						调度费
					</view>
					<view class="ipt">
						<input type="text"
							 v-model="searchKeyword"
							 placeholder="0.00"
							 class="input"
							 placeholder-style="color:#C7CDD3"
							>
							元
					</view>
				</view>
				<view class="ipt_box">
					<view class="text">
						管理费
					</view>
					<view class="ipt">
						<input type="text"
							 v-model="searchKeyword"
							 placeholder="0.00"
							 class="input"
							 placeholder-style="color:#C7CDD3"
							>
							元
					</view>
				</view>
				<view class="ipt_box">
					<view class="text">
						原因
					</view>
					<view class="ipt">
						<input type="text"
							 v-model="searchKeyword"
							 placeholder="选填"
							 class="input"
							 placeholder-style="color:#C7CDD3"
							>
							元
					</view>
				</view>
			</view>
			<view class="bot">
				<view class="bot_left" @click="show=false">
					取消
				</view>
				<view class="bot_right">
					确定
				</view>
			</view>
		</view>
		<tab-bar :indexs='2' style=""></tab-bar>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				bgc: {
					backgroundColor: "#F7FAFE",
				},
				params: {
					year: true,
					month: true,
					day: true,
					hour: false,
					minute: false,
					second: false
				},
				pickertime: '',
				time1:false,
				time2:false,
				lasTime:'00-00',
				firsTime:'00-00',
				searchKeyword:'',
				curtitidx:0,
				swiperHeight:414*3,
				allList:[],
				ingList:[],
				reprement:[],
				alreadyList:[],
				show:false,
				showfz:false,
				showgj:false,
				showtk:false,
				orderInfo:{}
				

			}
		},
		onShow() {
			this.$store.dispatch('userInfo', this.$u).then(() => {

				// 执行其他操作...
			});
			this.orderList()
			this.orderList1()
			this.orderList2()
			this.orderList3()
		},
		watch: {
			curtitidx(newValue, oldValue) {
				// 处理userId变化的逻辑
				console.log('userId 发生变化', newValue, oldValue);
				if(newValue==0){
					this.swiperHeight=(this.allList.length*440)
				}else if(newValue==1){
					this.swiperHeight=this.ingList.length*440
				}else if(newValue==2){
					this.swiperHeight=this.reprement.length*440
				}else if(newValue==3){
					this.swiperHeight=this.alreadyList.length*440
				}
			}
		},
		computed: {
			userId() {
				return this.$store.getters.userId;
			},
		},
		methods: {
			backDevice(){
				this.$u.post('/appVerify/device/return?orderNo='+this.orderInfo.orderNo+'&returnType=2').then((res) => {
					if (res.code === 200) {
						// 处理接口返回的数据,将边界数据转换为地图组件需要的折线结构
						this.show=false
						this.showfz=false
						this.orderInfo={}
						if(this.curtitidx==0){
							this.orderList()
						}else if(this.curtitidx==1){
							this.orderList1()
						}
					}else{
						uni.showToast({
							title:res.msg,
							icon: 'none',
							duration: 2000
						});
					}
				}).catch(error => {
					console.error("Error fetching area data:", error);
				});
			},
			closefz(){
				this.show=false
				this.showfz=false
				this.orderInfo={}
			},
			showfzs(item){
				this.orderInfo=item
				this.show=true
				this.showfz=true
			},
			orderList() {
				let data ={
					phonenumber:this.searchKeyword,
					type:'1',
					status:'',
					beginTime:'',
					endTime:'',
					
				}
				
			
				this.$u.get('/appVerify/order/list?',data).then((res) => {
					if (res.code === 200) {
						// 处理接口返回的数据,将边界数据转换为地图组件需要的折线结构
						this.allList = res.rows
						this.swiperHeight=(this.allList.length*440)
						// console.log(this.polyline);
					}
				}).catch(error => {
					console.error("Error fetching area data:", error);
				});
			},
			orderList1() {
				let data ={
					phonenumber:this.searchKeyword,
					type:'1',
					statusList:'0,2',
					beginTime:'',
					endTime:'',
					
				}
				this.$u.get('/appVerify/order/list?',data).then((res) => {
					if (res.code === 200) {
						// 处理接口返回的数据,将边界数据转换为地图组件需要的折线结构
						this.ingList = res.rows
						// console.log(this.polyline);
					}
				}).catch(error => {
					console.error("Error fetching area data:", error);
				});
			},
			orderList2() {
				let data ={
					phonenumber:this.searchKeyword,
					type:'1',
					statusList:'1,3',
					beginTime:'',
					endTime:'',
					
				}
				this.$u.get('/appVerify/order/list?',data).then((res) => {
					if (res.code === 200) {
						// 处理接口返回的数据,将边界数据转换为地图组件需要的折线结构
						this.reprement = res.rows
						// console.log(this.polyline);
					}
				}).catch(error => {
					console.error("Error fetching area data:", error);
				});
			},
			orderList3() {
				let data ={
					phonenumber:this.searchKeyword,
					type:'1',
					status:'4',
					beginTime:'',
					endTime:'',
					
				}
				this.$u.get('/appVerify/order/list?',data).then((res) => {
					if (res.code === 200) {
						// 处理接口返回的数据,将边界数据转换为地图组件需要的折线结构
						this.alreadyList = res.rows
						console.log(this.alreadyList);
					}
				}).catch(error => {
					console.error("Error fetching area data:", error);
				});
			},
			changeidx(idx){
				this.curtitidx=idx
				if(idx==0){
					// this.orderList()
				}else if(idx==1){
						// this.orderList1()
				}else if(idx==2){
						// this.orderList2()
				}else if(idx==3){
						// this.orderList3()
				}
			},
			swiperchange(e){
				this.curtitidx=e.detail.current
				console.log(e,'eeeeeeeee');
			},
			confirm1(e) {
				console.log(e,'eeeeeeee');
				this.firsTime = e.year+'-'+e.month+'-'+e.day
				
			},
			confirm2(e) {
				this.lasTime =  e.year+'-'+e.month+'-'+e.day
				
			},
			search() {
			    // 根据关键字过滤 this.classlist
			    if (this.searchKeyword !== '') {
			        const filteredList = JSON.parse(JSON.stringify(this.orgstulist)).filter(item => {
			            // 匹配 nickName 或者 id
			            return item.nickName.includes(this.searchKeyword) || item.id.toString().includes(this.searchKeyword);
			        });
			        // 更新 this.classlist 为过滤后的列表
			        this.stulist = filteredList;
			    } else {
			        this.fuwei();
			    }
			},
		}
	}
</script>

<style lang="scss">
	page {
		background-color: #fff;
	}

	.page {
		width: 750rpx;
		.tip_box {
			position: fixed;
			left: 72rpx;
			top: 628rpx;
			width: 610rpx;
			// height: 282rpx;
			background: #FFFFFF;
			border-radius: 30rpx 30rpx 30rpx 30rpx;
			z-index: 110;
			padding-bottom: 100rpx;
			.top {
				padding: 52rpx 38rpx 42rpx 36rpx;
				.ipt_box{
					margin-top: 22rpx;
					display: flex;
					flex-wrap: nowrap;
					align-items: center;
					.text{
						width: 96rpx;
						font-weight: 400;
						font-size: 32rpx;
						color: #3D3D3D;
					}
					.ipt{
						padding: 10rpx 18rpx;
						display: flex;
						align-items: center;
						justify-content: space-between;
						margin-left: 26rpx;
						width: 420rpx;
						height: 64rpx;
						border-radius: 0rpx 0rpx 0rpx 0rpx;
						border: 2rpx solid #979797;
						.input{
							width: 80%;
						}
					}
				}
				.tip{
					width: 100%;
					text-align: center;
					font-weight: 700;
					font-size: 32rpx;
					color: #3D3D3D;
				}
				.txt {
					margin-top: 32rpx;
					width: 100%;
					text-align: center;
					font-weight: 500;
					font-size: 32rpx;
					color: #3D3D3D;
				}
			}
		
			.bot {
				position: absolute;
				
				width: 610rpx;
				// border-top: 2rpx solid #D8D8D8;
				display: flex;
				flex-wrap: nowrap;
				// height: 100%;
				bottom: -20rpx;
				.bot_left {
					border-radius: 0rpx 0rpx 0rpx 30rpx;
					width: 50%;
					height: 86rpx;
					display: flex;
					align-items: center;
					justify-content: center;
					font-weight: 500;
					font-size: 32rpx;
					color: #3D3D3D;
					background: #EEEEEE;
				}
		
				.bot_right {
						border-radius: 0rpx 0rpx 30rpx 0rpx;
					width: 50%;
					height: 86rpx;
					background: #4C97E7;
					display: flex;
					align-items: center;
					justify-content: center;
					color: #FFFFFF;
					// border-left: 2rpx solid #D8D8D8;
					font-weight: 500;
					font-size: 32rpx;
					// color: #4C97E7;
		
				}
		
			}
		}
		.warp_box{
			.swiper{
				.swiper-item{
					.card{
						margin: 16rpx auto;
						width: 750rpx;
						background: #fff;
						.btn_box{
							display: flex;
							flex-wrap: nowrap;
							align-items: center;
							width: 100%;
							height: 96rpx;
							.btn{
								display: flex;
								align-items: center;
								justify-content: center;
								font-weight: 400;
								font-size: 36rpx;
								color: #3D3D3D;
								width: 49%;
							}
							.btn_line{
								width: 0rpx;
								height: 51rpx;
								border: 2rpx solid #4C97E7;
							}
						}
						.order_info{
							padding: 26rpx 30rpx ;
							display: flex;
							flex-wrap: wrap;
							.info_li{
								display: flex;
								flex-wrap: nowrap;
								width: 100%;
								font-weight: 400;
								font-size: 28rpx;
								color: #808080;
								.half_info_li{
									width: 50%;
									font-weight: 400;
									font-size: 28rpx;
									color: #808080;
								}
							}
						}
						.line{
							width: 750rpx;
							height: 22rpx;
							background: #F6F6F6;
							border-radius: 0rpx 0rpx 0rpx 0rpx;
						}
						.lines{
							width: 750rpx;
							height: 2rpx;
							background: #D8D8D8;
							// border: 2rpx solid #D8D8D8;
						}
						.top_info{
							padding: 24rpx 32rpx;
							display: flex;
							flex-wrap: nowrap;
							align-items: center;
							.top_info_left {
							    width: 70%;
							    font-weight: 400;
							    font-size: 28rpx;
							    color: #3D3D3D;
							    white-space: nowrap; /* 禁止换行 */
							    overflow: hidden; /* 超出部分隐藏 */
							    text-overflow: ellipsis; /* 显示省略号 */
							}
							.top_info_right{
								display: flex;
								flex-wrap: nowrap;
								align-items: center;
								margin-left: auto;
								.yuan{
									margin-right: 12rpx;
									border-radius: 50%;
									width: 14rpx;
									height: 14rpx;
									background: #4C97E7;
								}
								font-weight: 400;
								font-size: 28rpx;
								color: #4C97E7;
							}
						}
					}
				}
			}
		}
		.tap{
			margin-top: 24rpx;
			width: 750rpx;
			display: flex;
			flex-wrap: nowrap;
			align-items: center;
			justify-content: space-around;
			
			.tap_cont{
				text-align: center;
				padding-bottom: 15rpx;
				width: 100rpx;
				font-weight: 500;
				font-size: 32rpx;
				color: #3D3D3D;
				border-bottom: 6rpx solid #fff ;
			}
			.act1{
				border-bottom: 6rpx solid #4C97E7 ;
				color: #4C97E7;
			}
		}
		.top_box {
			display: flex;
			flex-wrap: nowrap;
			align-items: center;
			padding: 28rpx 30rpx;
			margin: 20rpx auto;
			width: 672rpx;
			height: 100rpx;
			background: #FFFFFF;
			box-shadow: 0rpx 4rpx 22rpx 0rpx rgba(0, 0, 0, 0.07);
			border-radius: 10rpx 10rpx 10rpx 10rpx;

			.left_text {
				width: 25%;
				font-weight: 400;
				font-size: 32rpx;
				color: #3D3D3D;
			}

			.timebox {
				width: 75%;
				display: flex;
				flex-wrap: nowrap;
				align-items: center;
				margin-left: 34rpx;

				.left_time {
					text-align: center;
					margin-right: 6rpx;
					height: 50rpx;
					width: 45%;
					border: 2rpx solid #ccc;
					border-radius: 12rpx;
					font-weight: 400;
					font-size: 32rpx;
					color: #979797;
				}

				.right_time {
					text-align: center;
					margin-left: 6rpx;
					height: 50rpx;
					width: 45%;
					border: 2rpx solid #ccc;
					border-radius: 12rpx;
					font-weight: 400;
					font-size: 32rpx;
					color: #979797;
				}
			}
		}

	}
</style>