<template>
	<view class="page">
		<u-navbar title="订单详情" :custom-back="btnback" :border-bottom="false" :background="bgc" title-color='#3D3D3D' back-icon-color="#3D3D3D"
			title-size='36' height='44'></u-navbar>

		<view class="shengyu">
			剩余时长
		</view>
		<view class="time">
			{{detailobj.isUsing == true ? formattedTime : 0}}
		</view>
		<view class="setmeal">
			<view class="lt">
				<image src="https://api.ccttiot.com/smartmeter/img/static/ujJcBAlIiMjakFEBQV8O" mode=""></image>
				<view class="quan">
					<view class="one">
						{{detailobj.suitTime == undefined ? '--' : detailobj.suitTime}}{{detailobj.suitTimeUnit == 3 ? '分钟' : '小时'}}
					</view>
					<view class="two">
						套餐时长
					</view>
				</view>
			</view>
			<view class="cen"></view>
			<view class="rt">
				<image src="https://api.ccttiot.com/smartmeter/img/static/u9hyl89RRMfuvTFnuVbi" mode=""></image>
				<view class="quan">
					<view class="one">
						{{detailobj.money == undefined ? '--' : detailobj.money}}元
					</view>
					<view class="two">
						实付金额
					</view>
				</view>
			</view>
		</view>

		<view class="list_item">
			<view class="top">
				<view class="bh">
					设备编号:{{detailobj.deviceNo == undefined ? '--' : detailobj.deviceNo}}
				</view>
			</view>
			<view class="item_xx">
				<view class="">
					订单号
				</view>
				<view class="">
					{{detailobj.billNo == undefined ? '--' : detailobj.billNo}}
				</view>
			</view>
			<view class="item_xx">
				<view class="">
					购买套餐:
				</view>
				<view class="">
					{{detailobj.suitName == undefined ? '--' : detailobj.suitName}}
				</view>
			</view>
			<view class="item_xx">
				<view class="">
					金额
				</view>
				<view class="">
					¥{{detailobj.money == undefined ? '--' : detailobj.money}}
				</view>
			</view>
			<view class="item_xx" v-if="detailobj.status == 3">
				<view class="">
					退款金额
				</view>
				<view class="">
					¥{{detailobj.refundAmount == undefined ? '--' : detailobj.refundAmount}}
				</view>
			</view>
			<view class="item_xx">
				<view class="">
					经营场所:
				</view>
				<view class="">
					{{detailobj.storeName == undefined ? '--' : detailobj.storeName}} {{detailobj.deviceRoom == undefined ? '' : detailobj.deviceRoom + '室'}}
				</view>
			</view>
			<view class="item_xx">
				<view class="">
					支付时间:
				</view>
				<view class="">
					{{detailobj.payTime == undefined ? '--' : detailobj.payTime}}
				</view>
			</view>
		</view>

		<view class="lishi" v-if="isUsing == true">
			<view class="lt">
				临时开关
			</view>
			<view class="rt">
				<image v-if="imgflag" @click="btnimg"
					src="https://api.ccttiot.com/smartmeter/img/static/uccaWar4FDp37op7haWM " mode=""></image>
				<image v-else @click="btnimgs" src="https://api.ccttiot.com/smartmeter/img/static/ur9HRtZKY7YcxGewJARz"
					mode=""></image>
			</view>
		</view>
		<!-- 结束订单 -->
		<view class="jieshu" v-if="msakflag">
			<view class="jieshus">
				<view class="tishi">
					温馨提示
				</view>
				<view class="img">
					<image src="https://api.ccttiot.com/smartmeter/img/static/uKR4t1SZuW0VrpwgyXDK" mode=""></image>
				</view>
				<view class="shuom">
					结束订单后,设备也将被关闭<br>
					套餐费用不予退还,是否结束?
				</view>
			</view>
			<view class="anniu">
				<view class="qux" @click="btnqx">
					取消
				</view>
				<view class="qued" @click="btnqd">
					确定
				</view>
			</view>
		</view>
		<view class="mask" v-if="msakflag"></view>


		<view class="dels" @click="btnjieshu" v-if="detailobj.isUsing == true">
			结束订单
		</view>

		<view class="del" @click="btndel" v-if="flag">
			删除订单
		</view>
		<view class="del" v-else>
			删除订单
		</view>


		<!-- 蓝牙连接 -->
		<view class="bluetoothbox" v-if="bluetoothflag">
			<view class="stop">
				设备已离线,正在连接该设备蓝牙
			</view>
			<view class="xtop">
				请将手机与设备尽量靠近,连接成功后可操作
			</view>
			<image src="https://api.ccttiot.com/smartmeter/img/static/ucDphMKsozqwwllJTAKL" mode=""></image>
		</view>

		<!-- 蓝牙连接失败 -->
		<view class="bluetoothbox" v-if="shibaiflag">
			<image class="img" src="https://api.ccttiot.com/smartmeter/img/static/uTb3vSlbcHdPMFQMBjyL" mode=""></image>
			<view class="one">
				蓝牙连接失败
			</view>
			<view class="two">
				请确保手机足够靠近设备
			</view>
			<view class="thr">
				并且设备处于上电状态
			</view>
			<view class="anfour">
				<view class="qx" @click="btnlyqx">
					取消
				</view>
				<view class="cx" @click="topage">
					重新连接
				</view>
			</view>
		</view>
		<view v-if="btnmsk"
			style="width: 100%;height: 100vh;position: fixed;top: 0;left: 0;background-color: #000;opacity: .1;z-index: 999;">
		</view>

		<view class="" style="position: fixed;top: 0;left: 0;width: 100%;height: 100vh;z-index: -1;">
			<image style="width: 100%;height: 100vh;"
				src="https://api.ccttiot.com/smartmeter/img/static/u5AWkMT3khOhGPKrUPMH" mode=""></image>
		</view>
	</view>
</template>

<script>
	var xBlufi = require("@/components/blufi/xBlufi.js")
	export default {
		data() {
			return {
				imgad: '',
				detailobj: {},
				billId: '',
				timeday: '',
				flag: true,
				imgflag: true,
				msakflag: false,
				bluetoothflag: false,
				shibaiflag: false,
				btnmsk: false,
				deviceId: '',
				name: '',
				setMode: null,
				qrResult: '',
				isUsing: false,
				timer: null,
				timers: null,
				pictrim:true,
				billidflag:''
			}
		},
		onShow() {
			// 页面显示时启动定时器  
			this.startTimers();
		},
		onHide() {
			// 页面隐藏时清除定时器  
			if (this.timers) {
				clearInterval(this.timers);
				this.timers = null;
				console.log('消除');
			} 
		},
		onUnload() {
			if (this.timers) {
				clearInterval(this.timers);
				this.timers = null;
				console.log('消除');
			} 
		},
		onLoad(option) {
			if (option.billId) {
				this.billId = option.billId
			} else if(option.idss){
				this.billidflag = 1
			} else {
				this.billId = option.id
			}
			this.getlist()
		},
		// 分享到好友(会话)
		onShareAppMessage: function() {
			return {
				title: '创亿康',
				path: '/pages/index/index'
			}
		},

		// 分享到朋友圈  
		onShareTimeline: function() {
			return {
				title: '创亿康',
				query: '',
				path: '/pages/index/index'
			}
		},
		computed: {
			formattedTime() {
				if (this.timeday.days > 0) {
					// 只展示天和小时  
					return `${this.timeday.days}天${this.timeday.hours}小时`
				} else if (this.timeday.hours > 0) {
					// 展示小时和分钟  
					return `${this.timeday.hours}小时${this.timeday.minutes}分钟`
				} else if (this.timeday.minutes > 0) {
					// 展示分钟和秒  
					return `${this.timeday.minutes}分钟${this.timeday.seconds}秒`
				} else if (this.timeday.seconds == 0) {
					this.getlist()
				} else {
					// 展示秒或0(如果秒也为0) 
					this.isUsing = false
					return this.timeday.seconds > 0 ? `${this.timeday.seconds}秒` : '0'
				}
			}
		},
		methods: {
			btnback(){
				uni.reLaunch({
					url:'/pages/index/index'
				})
			},
			
			startTimers() {
				if (this.timers) {
					clearInterval(this.timers); // 防止重复设置定时器  
				}
				this.timers = setInterval(() => {
					this.getlist()
				}, 60000); // 60秒  
			},
			// 蓝牙连接取消
			btnlyqx() {
				this.shibaiflag = false
				this.bluetoothflag = false
			},
			// 蓝牙重新连接
			topage() {
				this.btnmsk = false
				this.shibaiflag = false
				this.bluetoothflag = true
				if (this.setMode == null) {
					xBlufi.initXBlufi(1)
					xBlufi.listenDeviceMsgEvent(true, this.funListenDeviceMsgEvent)
					xBlufi.notifyStartDiscoverBle({
						'isStart': true
					})
					// 停止蓝牙搜索  
					setTimeout(() => {
						xBlufi.notifyStartDiscoverBle({
							'isStart': false
						})
						xBlufi.notifyConnectBle({
							isStart: true,
							deviceId: this.deviceId,
							name: this.name
						})
						xBlufi.notifyInitBleEsp32({
							deviceId: this.deviceId
						})
					}, 1000)
				}
			},


			// 结束订单
			btnjieshu() {
				this.msakflag = true
			},
			btnqx() {
				this.msakflag = false
			},
			btnqd() {
				if (this.detailobj.deviceOnlineStatus == 1) {
					let data = {
						billId: this.billId,
						totalEle: 0
					}
					this.$u.put(`/app/bill/endUse`, data).then(res => {
						if (res.code == 200) {
							this.getlist()
							this.msakflag = false
						} else {
							uni.showToast({
								title: res.msg,
								icon: 'none',
								duration: 1000
							})
						}
					})
				} else {
					if (this.setMode == null) {
						this.btnmsk = false
						this.shibaiflag = false
						this.bluetoothflag = true
						xBlufi.initXBlufi(1)
						xBlufi.listenDeviceMsgEvent(true, this.funListenDeviceMsgEvent)
						xBlufi.notifyStartDiscoverBle({
							'isStart': true
						})
						// 停止蓝牙搜索  
						setTimeout(() => {
							xBlufi.notifyStartDiscoverBle({
								'isStart': false
							})
							xBlufi.notifyConnectBle({
								isStart: true,
								deviceId: this.deviceId,
								name: this.name
							})
							xBlufi.notifyInitBleEsp32({
								deviceId: this.deviceId
							})
						}, 1000)
					} else {
						let that = this
						uni.getNetworkType({
							success(res) {
								if (res.networkType !== 'none') {
									uni.getConnectedBluetoothDevices({
										success(res) {
											setTimeout(() => {
												xBlufi.notifySendCustomData({
													customData: '11time0@'
												})
												uni.showToast({
													title: '操作成功',
													icon: 'success',
													duration: 1000
												})
												let data = {
													billId: that.billId,
													totalEle: 0
												}
												that.$u.put(`/app/bill/endUse`, data).then(
													res => {
														if (res.code == 200) {
															that.getlist()
															that.msakflag = false
															that.btnmsk = false
															that.shibaiflag = false
															that.bluetoothflag = false
														} else {
															uni.showToast({
																title: res.msg,
																icon: 'none',
																duration: 1000
															})
														}
													})
											}, 1000)
										},
										fail(err) {
											console.error('获取已连接蓝牙设备信息失败:', err)
										}
									})
								}
							}
						})
					}
				}
			},

			// 点击临时开关
			btnimg() {
				if(this.pictrim == true){  //防止频繁点击
					this.pictrim = false
					setTimeout(()=>{
						this.pictrim = true
					},5000)
					if (this.detailobj.deviceOnlineStatus == 1) {
						this.$u.put(`/app/bill/switchDevice?billId=${this.billId}&open=false`).then(res => {
							if (res.code == 200) {
								this.imgflag = false
							} else {
								uni.showToast({
									title: res.msg,
									icon: 'none',
									duration: 1000
								})
							}
						})
					} else {
						if (this.setMode == null) {
							this.btnmsk = false
							this.shibaiflag = false
							this.bluetoothflag = true
							xBlufi.initXBlufi(1)
							xBlufi.listenDeviceMsgEvent(true, this.funListenDeviceMsgEvent)
							xBlufi.notifyStartDiscoverBle({
								'isStart': true
							})
							// 停止蓝牙搜索  
							setTimeout(() => {
								xBlufi.notifyStartDiscoverBle({
									'isStart': false
								})
								xBlufi.notifyConnectBle({
									isStart: true,
									deviceId: this.deviceId,
									name: this.name
								})
								xBlufi.notifyInitBleEsp32({
									deviceId: this.deviceId
								})
							}, 1000)
						} else {
							let that = this
							uni.getNetworkType({
								success(res) {
									if (res.networkType !== 'none') {
										uni.getConnectedBluetoothDevices({
											success(res) {
												setTimeout(() => {
													xBlufi.notifySendCustomData({
														customData: '11close'
													})
													uni.showToast({
														title: '操作成功',
														icon: 'success',
														duration: 1000
													})
													this.imgflag = false
													that.getlist()
													that.msakflag = false
													that.btnmsk = false
													that.shibaiflag = false
													that.bluetoothflag = false
												}, 1000)
											},
											fail(err) {
												console.error('获取已连接蓝牙设备信息失败:', err)
											}
										})
									}
								}
							})
						}
					}
				}else{
					uni.showToast({
						title: '请不要频繁点击',
						icon: 'none',
						duration: 1000
					})
				}
			},
			btnimgs() {
				if(this.pictrim == true){ //防止频繁点击
					this.pictrim = false
					setTimeout(()=>{  
						this.pictrim = true
					},5000)
					if (this.detailobj.deviceOnlineStatus == 1) {
						this.$u.put(`/app/bill/switchDevice?billId=${this.billId}&open=true`).then(res => {
							if (res.code == 200) {
								this.imgflag = true
							} else {
								uni.showToast({
									title: res.msg,
									icon: 'none',
									duration: 1000
								})
							}
						})
					} else {
						if (this.setMode == null) {
							this.btnmsk = false
							this.shibaiflag = false
							this.bluetoothflag = true
							xBlufi.initXBlufi(1)
							xBlufi.listenDeviceMsgEvent(true, this.funListenDeviceMsgEvent)
							xBlufi.notifyStartDiscoverBle({
								'isStart': true
							})
							// 停止蓝牙搜索  
							setTimeout(() => {
								xBlufi.notifyStartDiscoverBle({
									'isStart': false
								})
								xBlufi.notifyConnectBle({
									isStart: true,
									deviceId: this.deviceId,
									name: this.name
								})
								xBlufi.notifyInitBleEsp32({
									deviceId: this.deviceId
								})
							}, 1000)
						} else {
							let that = this
							uni.getNetworkType({
								success(res) {
									if (res.networkType !== 'none') {
										uni.getConnectedBluetoothDevices({
											success(res) {
												setTimeout(() => {
													xBlufi.notifySendCustomData({
														customData: '11open'
													})
													uni.showToast({
														title: '操作成功',
														icon: 'success',
														duration: 1000
													})
													this.imgflag = true
													that.getlist()
													that.msakflag = false
													that.btnmsk = false
													that.shibaiflag = false
													that.bluetoothflag = false
												}, 1000)
											},
											fail(err) {
												console.error('获取已连接蓝牙设备信息失败:', err)
											}
										})
									}
								}
							})
						}
					}
				}else{
					uni.showToast({
						title: '请不要频繁点击',
						icon: 'none',
						duration: 1000
					})
				}
			},

			btndel() {
				let that = this
				uni.showModal({
					title: '提示',
					content: '您确定要删除此订单吗?',
					success: function(res) {
						if (res.confirm) {
							that.flag = false
							that.$u.delete(`/app/bill/${that.billId}`).then(res => {
								if (res.code == 200) {
									uni.showToast({
										title: res.msg,
										icon: 'success',
										duration: 1000
									})
									setTimeout(() => {
										that.flag = true
										uni.navigateBack()
									}, 1500)
								} else {
									uni.showToast({
										title: res.msg,
										icon: 'none',
										duration: 1000
									})
									setTimeout(() => {
										that.flag = true
									}, 1500)
								}
							})
						} else if (res.cancel) {
							console.log('用户点击取消')
						}
					}
				})
			},

			// 请求订单详情
			getlist() {
				this.$u.get(`/app/bill/${this.billId}`).then((res) => {
					if (res.code == 200) {
						this.detailobj = res.data
						this.isUsing = res.data.isUsing
						this.qrResult = res.data.deviceMac
						if (res.data.devicePowerStatus == 1) {
							this.imgflag = true
						} else {
							this.imgflag = false
						}
						if (this.detailobj.device.expireTime == null) {
							this.timeday = 0
						} else {
							let expireTimeStr = this.detailobj.device.expireTime
							let expireTimeParts = expireTimeStr.split(" ")
							let expireDateParts = expireTimeParts[0].split("-")
							let expireTimePartsTime = expireTimeParts[1].split(":")
							let expireDate = new Date(expireDateParts[0], expireDateParts[1] - 1,
								expireDateParts[2],
								expireTimePartsTime[0], expireTimePartsTime[1], expireTimePartsTime[2])
							let now = new Date()
							let differenceInMs = expireDate - now
							if (differenceInMs <= 0) {
								this.timeday = 0
							} else {
								if (this.timeday == '') {
									this.timeday = this.formatMilliseconds(differenceInMs)
									this.startTimer()
								}
							}
						}
					}
				})
			},

			// 订单倒计时定时器
			startTimer() {
				this.timer = setInterval(() => {
					if (this.timeday.seconds > 0) {
						this.timeday.seconds--
					} else if (this.timeday.minutes > 0) {
						this.timeday.seconds = 59 // 重置秒数为59  
						this.timeday.minutes--
					} else if (this.timeday.hours > 0) {
						this.timeday.minutes = 59 // 重置分钟数为59  
						this.timeday.hours--
						this.timeday.seconds = 0 // 同时重置秒数为0  
					} else if (this.timeday.days > 0) {
						this.timeday.hours = 23 // 重置小时数为23  
						this.timeday.minutes = 59 // 重置分钟数为59  
						this.timeday.seconds = 0 // 重置秒数为0  
						this.timeday.days--
					} else {
						// 所有时间单位都已减为0,停止定时器  
						clearInterval(this.timer)
						this.timer = null;
						console.log('时间已到期')
					}
				}, 1000); // 每秒执行一次  
			},
			formatMilliseconds(milliseconds) {
				// 计算天数  
				let days = Math.floor(milliseconds / (1000 * 60 * 60 * 24))
				// 计算剩余的小时数  
				let hours = Math.floor((milliseconds % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60))
				// 计算剩余的分钟数  
				let minutes = Math.floor((milliseconds % (1000 * 60 * 60)) / (1000 * 60))
				// 计算剩余的秒数  
				let seconds = Math.floor((milliseconds % (1000 * 60)) / 1000)
				// 返回一个对象,包含天、小时、分钟和秒  
				return {
					days: days,
					hours: hours,
					minutes: minutes,
					seconds: seconds
				}
			},

			// 搜索蓝牙部分
			funListenDeviceMsgEvent: function(options) {
				switch (options.type) {
					case xBlufi.XBLUFI_TYPE.TYPE_RECIEVE_MY_DATA:
						let loadPercent = options.data;
						let loadText = '文件读取中'
						// console.log("文件读取中", options.data)
						break;
					case xBlufi.XBLUFI_TYPE.TYPE_RECIEVE_CUSTON_DATA:
						let ver_data = this.parseCustomData(options.data)
						this.setMode = Math.floor(ver_data.setMode / 60)
						console.log("1收到设备发来的自定义数据结果:", ver_data, this.setMode)
						break;
					case xBlufi.XBLUFI_TYPE.TYPE_GET_DEVICE_LISTS:
						if (options.result) {
							let devicesarr = options.data
							devicesarr.forEach(device => {
								const mac = device.name.substring(5)
								if (device.name.slice(5, 17) == this.qrResult) {
									this.deviceId = device.deviceId
									this.name = device.name
									this.mac = device.name.slice(5, 17)
								}
							})
						}
						break;
					case xBlufi.XBLUFI_TYPE.TYPE_CONNECTED:
						// console.log("连接回调:" + JSON.stringify(options))
						if (options.result) {
							setTimeout(() => {
								this.bluetoothflag = false
							}, 3000)
							uni.hideLoading(); {
								console.log("连接回调options.data.deviceId:" + options.data.deviceId,
									"连接回调options.data.name:" + options.data.name)
							}
						} else {
							this.shibaiflag = true
							this.bluetoothflag = false
							uni.hideLoading()
						}
						break;
					case xBlufi.XBLUFI_TYPE.TYPE_GET_DEVICE_LISTS_START:
						if (!options.result) {
							setTimeout(() => {
								uni.hideLoading()
								this.bluetoothflag = false
							}, 3000)
							console.log("蓝牙未开启", options)
							this.shibaiflag = true
							return
						}
						break;
					case xBlufi.XBLUFI_TYPE.TYPE_GET_DEVICE_LISTS_STOP:
						if (options.result) {
							let uniqueDevicesList = Array.from(new Set(this.devicesList))
							// 将去重后的数组重新赋值给 this.devicesList
							this.devicesList = uniqueDevicesList
							let list = []
							setTimeout(() => {
								this.devicesList = list
							}, 200)
							console.log('蓝牙停止搜索ok')
						} else {
							//蓝牙停止搜索失败
							console.log('蓝牙停止搜索失败')
						}
						this.searching = false
						break
				}
			},
			parseCustomData(data) {
				const dataArray = data.split('@');
				const parsedData = {};
				const prefixMap = {
					'V': 'voltage',
					'S': 'switchState',
					'A': 'current',
					'P': 'power',
					'M': 'remainingPower',
					'T': 'setMode',
					'W': 'temperature'
				};
				// 遍历数组并解析每个字段  
				for (let i = 0; i < dataArray.length; i++) {
					const field = dataArray[i];
					for (const prefix in prefixMap) {
						if (field.startsWith(prefix)) {
							const value = field.substring(1);
							const propertyName = prefixMap[prefix];
							parsedData[propertyName] = isNaN(parseFloat(value)) ? value : parseFloat(value);
							break;
						}
					}
				}
				return parsedData;
			},

		}
	}
</script>

<style lang="scss">
	/deep/ .u-title {
		padding-bottom: 15rpx;
	}

	/deep/ .u-icon__icon {
		padding-bottom: 15rpx;
	}

	page {
		background: #F4F5F7;
	}

	.bluetoothbox {
		width: 100%;
		height: 100vh;
		background-color: #f4f1f6;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 99;
		text-align: center;

		.img {
			margin-top: 400rpx;
			width: 320rpx;
			height: 320rpx;
		}

		.one {
			font-size: 36rpx;
			color: #000;
		}

		.two {
			margin-top: 30rpx;
			font-size: 24rpx;
			color: #ccc;
		}

		.thr {
			margin-top: 30rpx;
			font-size: 28rpx;
			color: #ccc;
		}

		.anfour {
			display: flex;
			margin-top: 30rpx;
			justify-content: space-between;
			padding: 0 220rpx;
			box-sizing: border-box;

			.qx {
				width: 100rpx;
				height: 70rpx;
				line-height: 70rpx;
				text-align: center;
				border: 1px solid #3D3D3D;
				border-radius: 10rpx;
			}

			.cx {
				width: 200rpx;
				height: 70rpx;
				line-height: 70rpx;
				text-align: center;
				background-color: #8883F0;
				color: #fff;
				border-radius: 10rpx;
			}
		}

		.stop {
			font-size: 36rpx;
			color: #000;
			margin-top: 380rpx;
		}

		.xtop {
			margin-top: 30rpx;
			font-size: 24rpx;
			color: #ccc;
		}

		.xqx {
			width: 530rpx;
			height: 90rpx;
			line-height: 90rpx;
			border-radius: 20rpx;
			text-align: center;
			background-color: #fff;
			margin: auto;
			margin-top: 200rpx;
		}

		image {
			width: 500rpx;
			height: 500rpx;
			margin-top: 100rpx;
		}
	}

	.jieshu {
		position: fixed;
		top: 30%;
		left: 50%;
		transform: translateX(-50%);
		z-index: 2;

		.jieshus {
			width: 500rpx;
			max-height: 430rpx;
			border-radius: 20rpx 20rpx 0 0;
			padding: 20rpx;
			box-sizing: border-box;
			background-color: #fff;
		}

		.tishi {
			font-size: 32rpx;
			width: 100%;
			text-align: center;
		}

		.img {
			width: 100%;
			margin-top: 20rpx;
			text-align: center;
			margin-bottom: 20rpx;

			image {
				width: 160rpx;
				height: 140rpx;
			}
		}

		.shuom {
			width: 100%;
			padding: 0 20rpx;
			box-sizing: border-box;
			text-align: center;
		}

		.anniu {
			display: flex;
			justify-content: space-between;
			align-items: center;
			background-color: #fff;
			border-radius: 0 0 20rpx 20rpx;

			.qux {
				text-align: center;
				width: 100%;
				font-size: 30rpx;
				height: 80rpx;
				line-height: 80rpx;
				border-top: 1px solid #ccc;
				border-right: 1px solid #ccc;
				font-weight: 600;
			}

			.qued {
				text-align: center;
				width: 100%;
				font-size: 30rpx;
				height: 80rpx;
				line-height: 80rpx;
				border-top: 1px solid #ccc;
				color: red;
				font-weight: 600;
			}
		}
	}

	.lishi {
		width: 100%;
		height: 110rpx;
		background-color: #fff;
		padding: 24rpx;
		box-sizing: border-box;
		margin-top: 30rpx;
		border-radius: 20rpx;
		display: flex;
		justify-content: space-between;
		align-items: center;

		.lt {
			font-size: 32rpx;
		}

		.rt {
			image {
				width: 160rpx;
				height: 80rpx;
			}
		}
	}

	.del {
		position: fixed;
		bottom: 100rpx;
		left: 50%;
		transform: translateX(-50%);
		// background-color: #fff;
		// background: linear-gradient(to right, #FFEFEF 20%, #D9F6FF 100%);
		background-color: rgb(162, 91, 91);
		padding-left: 50rpx;
		padding-right: 50rpx;
		width: 650rpx;
		height: 84rpx;
		// background: red;
		filter: blur(0px);
		text-align: center;
		line-height: 84rpx;
		font-size: 36rpx;
		color: #fff;
		border-radius: 50rpx;
	}

	.dels {
		position: fixed;
		bottom: 200rpx;
		left: 50%;
		transform: translateX(-50%);
		background-color: rgb(126, 126, 126);
		padding-left: 50rpx;
		padding-right: 50rpx;
		width: 650rpx;
		height: 84rpx;
		// background: red;
		filter: blur(0px);
		text-align: center;
		line-height: 84rpx;
		font-size: 36rpx;
		color: #fff;
		border-radius: 50rpx;
	}

	.mask {
		width: 100%;
		height: 100vh;
		position: fixed;
		top: 0;
		left: 0;
		background-color: #000;
		opacity: .6;
		z-index: 1;
	}

	.page {
		width: 750rpx;
		height: 100vh;
		overflow: hidden;
		padding: 0 46rpx;
		box-sizing: border-box;

		.guangg {
			margin-top: 30rpx;
			margin-bottom: 10rpx;

			image {
				border-radius: 30rpx;
				width: 100%;
				height: 218rpx;
			}
		}

		.list_item {
			width: 658rpx;
			max-height: 410rpx;
			background: #FFFFFF;
			box-shadow: 0rpx 16rpx 40rpx 0rpx rgba(42, 130, 228, 0.1);
			border-radius: 24rpx 24rpx 24rpx 24rpx;
			margin: auto;
			margin-top: 30rpx;
			padding: 24rpx 30rpx;
			box-sizing: border-box;

			.top {
				width: 100%;
				display: flex;
				justify-content: space-between;
				align-items: center;
				border-bottom: 1px solid #D8D8D8;
				padding-bottom: 20rpx;
				box-sizing: border-box;

				.bh {
					font-size: 28rpx;
					color: #3D3D3D;
				}

				.wc {
					font-size: 28rpx;
					color: #8883F0;
				}
			}

			.bot {
				margin-top: 22rpx;
				width: 100%;
				display: flex;
				justify-content: space-between;
				align-items: center;
				margin-top: 28rpx;
				padding-top: 20rpx;
				box-sizing: border-box;
				border-top: 1px solid #D8D8D8;

				.time {
					font-size: 24rpx;
					color: #808080;
				}

				.pagexq {
					width: 142rpx;
					height: 48rpx;
					background: #8883F0;
					border-radius: 26rpx 26rpx 26rpx 26rpx;
					text-align: center;
					line-height: 48rpx;
					font-size: 24rpx;
					color: #FFFFFF;
					border-radius: 20rpx;
				}
			}

			.item_xx {
				margin-top: 22rpx;
				width: 100%;
				display: flex;
				justify-content: space-between;
				align-items: center;
				font-size: 24rpx;
				color: #3D3D3D;
			}
		}

		.shengyu {
			font-size: 40rpx;
			color: #3D3D3D;
			margin-top: 46rpx;
		}

		.time {
			font-size: 48rpx;
			color: #8883F0;
			margin-top: 12rpx;
		}

		.setmeal {
			margin-top: 38rpx;
			width: 658rpx;
			height: 150rpx;
			background: rgba(136, 131, 240, 0.1);
			border-radius: 24rpx 24rpx 24rpx 24rpx;
			border-image: linear-gradient(180deg, rgba(255, 255, 255, 0.07999999821186066), rgba(156.31499379873276, 140.25000303983688, 255, 0.23999999463558197)) 2 2;
			display: flex;
			justify-content: space-between;
			align-items: center;
			padding: 0 42rpx;
			box-sizing: border-box;

			.cen {
				width: 2rpx;
				height: 108rpx;
				border: 2rpx solid #8883F0;
				opacity: 0.5;
			}

			.lt {
				display: flex;
				align-items: center;
				text-align: center;

				image {
					width: 84rpx;
					height: 84rpx;
					margin-right: 30rpx;
				}

				.one {
					font-size: 32rpx;
					color: #3D3D3D;
				}

				.two {
					font-size: 24rpx;
					color: #3D3D3D;
					margin-top: 8rpx;
				}
			}

			.rt {
				display: flex;
				align-items: center;
				text-align: center;

				image {
					width: 84rpx;
					height: 84rpx;
					margin-right: 30rpx;
				}

				.one {
					font-size: 32rpx;
					color: #3D3D3D;
				}

				.two {
					font-size: 24rpx;
					color: #3D3D3D;
					margin-top: 8rpx;
				}
			}
		}
	}
</style>