<template>
	<view class="container" :style="'overflow:' + (showPage ? 'hidden' : 'visible')" v-if="info">
		<!-- 作者信息区域 -->
		<view class="author">
			<img mode="aspectFill" :src="info.userPhoto" @click="handleGoMyHome(info.userId)" />
			<view class="author_name">{{ info.userName }}</view>
			<view class="author_btn" v-if="info.isFollow !== 2" @click="handleFollow">{{ info.isFollow === 0 ? '关注' : '已关注' }}</view>
		</view>

		<!-- 轮播图区域 -->
		<swiper indicator-color="#ccc" indicator-active-color="#096562" indicator-dots autoplay circular class="swiper" v-if="info.images">
			<swiper-item class="swiper_item" v-for="(item, current) in info.images" :key="current" @click="handleClickSwiper(info.images, current)">
				<img mode="aspectFill" class="img" :src="item" />
			</swiper-item>
		</swiper>

		<video
			v-if="info.video"
			class="swiper"
			:src="info.video"
			id="myVideo"
			:show-fullscreen-btn="false"
			:direction="0"
			@fullscreenchange="fullscreenchange"
			@click="handleClickVideo('myVideo')"
		></video>

		<!-- 推文信息区域 -->
		<view class="tweet">
			<view class="tweet_title">{{ info.title }}</view>
			<view class="tweet_msg">{{ info.content }}</view>
			<view class="tweet_info">{{ info.dateStr }} {{ info.townName }}</view>
		</view>

		<!-- 关联民宿区域 -->
		<view class="and">
			<!-- 每一个关联民宿区域 -->
			<view class="and_box" v-for="item in info.hotels" :key="item.id" @click="goHotelDetail(item)">
				<img mode="aspectFill" :src="item.coverImg" />
				<view class="box_detail">
					<view class="detail_name">
						{{ item.name }}
						<img class="img" :src="item.isCollect === 0 ? '../../static/index/like.png' : '../../static/index/like-active.png'" @click.stop="handleLikeHotel(item)" />
					</view>
					<view class="detail_leave" v-if="item.type === 1">银宿级</view>
					<view class="detail_leave" v-if="item.type === 2">金宿级</view>
					<view class="detail_leave" v-if="item.type === 3">白金级</view>
					<view class="detail_num">
						<view class="num_rate">{{ item.score.toFixed(1) }}分</view>
						<view class="num_comment">{{ item.comment }}条评论</view>
						<view class="num_price">
							¥{{ item.price }}
							<text>起</text>
						</view>
					</view>
				</view>
			</view>

			<!-- 关联民宿查看全部区域 -->
			<view class="and_all" @click="handleClickALL">查看全部 >></view>
		</view>

		<!-- 点赞人数区域 -->
		<view class="like" v-if="info.likes.length !== 0">
			<uv-avatar-group mode="aspectFill" :urls="info.likes" size="30" gap="0.3" maxCount="10"></uv-avatar-group>
			<view class="like_text" @click="handleGoPageLike">{{ info.likeNum }}人已赞</view>
		</view>

		<!-- 评论总条数区域 -->
		<view class="total" v-if="info.commentNum">共{{ info.commentNum }}条评论</view>

		<!-- 评论输入框区域 -->
		<view class="input_box">
			<input type="text" confirm-type="send" placeholder="爱评论的人运气都不差" v-model="commentsValue" @confirm="handleInput" />
		</view>

		<!-- 评论列表区域 -->
		<view class="comment_list" v-if="info.comments">
			<!-- 每一个评论区域 -->
			<view class="comment_box" v-for="item in info.comments" :key="item.id">
				<view class="box_left">
					<img mode="aspectFill" :src="item.image" @click="handleGoMyHome(item.userId)" />
				</view>
				<view class="box_right">
					<view class="right_name">{{ item.userName }}</view>
					<view class="right_content">{{ item.content }}</view>
					<view class="right_time">{{ item.date.slice(0, 19) }}</view>
				</view>
			</view>

			<!-- 查看全部评论区域 -->
			<view class="comment_all" @click="handleClickComment">查看全部评论 >></view>
		</view>

		<!-- 相关推文区域 -->
		<view class="related" v-if="bindTweetList.length !== 0">
			<view class="related_title">相关推文</view>
			<!-- 相关推文列表区域 -->
			<view class="related_list">
				<!-- 每一个推文区域 -->
				<view class="related_box" v-for="item in bindTweetList" :key="item.id" @click="handleGoBind(item)">
					<img class="box_cover" v-if="item.image" mode="aspectFill" :src="item.image" />
					<video class="box_cover" v-if="item.video" :src="item.video" :show-center-play-btn="false" :show-fullscreen-btn="false" :show-play-btn="false"></video>
					<view class="box_content">{{ item.title }}</view>
					<view class="box_info">
						<img class="img" mode="aspectFill" :src="item.userPhoto" />
						<view class="info_name">{{ item.userName }}</view>
						<img
							class="img2"
							mode="aspectFill"
							:src="item.isCollect === 0 ? '../../static/index/like.png' : '../../static/index/like-active.png'"
							@click.stop="handleClickLike(item)"
						/>
						<view class="info_count">{{ item.collectNum }}</view>
					</view>
					<!-- 乡镇信息区域 -->
					<view class="box_town">{{ item.townName }}</view>
					<!-- 视频图标 -->
					<img v-if="item.video" class="box_play" src="../../static/index/video.png" />
				</view>
			</view>
		</view>

		<!-- 底部点赞 评论 收藏区域 -->
		<view class="tab">
			<!-- 点赞 -->
			<view class="tab_box">
				<img class="img" :src="info.isLike === 0 ? '../../static/index/upvote.png' : '../../static/index/upvote-active.png'" @click="clickBtnLike" />
				{{ info.likeNum }}
			</view>
			<!-- 评论 -->
			<view class="tab_box" @click="handleClickComment">
				<img class="img2" src="../../static/index/comment.png" />
				{{ info.commentNum }}
			</view>
			<!-- 收藏 -->
			<view class="tab_box">
				<img class="img" :src="info.isCollect === 0 ? '../../static/index/like.png' : '../../static/index/like-active.png'" @click="handleClickLike(info)" />
				{{ info.collectNum }}
			</view>
		</view>

		<!-- 点击评论弹窗区域 -->
		<uv-popup ref="popup" bgColor="none" :safeAreaInsetBottom="false" :closeOnClickOverlay="false">
			<view class="body_pop" v-if="commentList.length">
				<!-- 评论总数区域 -->
				<view class="pop_title">
					共{{ totalComment }}条评论
					<img class="pop_icon" src="../../static/index/close3.png" @click="handleClosePop" />
				</view>

				<!-- 评论列表区域 -->
				<scroll-view class="pop_list" scroll-y @scrolltolower="handleTolowerComment">
					<!-- 每一条评论区域 -->
					<view class="pop_item" v-for="item in commentList" :key="item.id">
						<!-- 用户区域 -->
						<view class="item_user" @click="handleComment(item)">
							<img mode="aspectFill" :src="item.image" @click.stop="handleGoMyHome(item.userId)" />
							<view class="user_info">
								{{ item.userName }}
							</view>
						</view>
						<!-- 评价内容区域 -->
						<view class="item_content" @click="handleComment(item)">
							<view class="content_top">
								{{ item.content }}
							</view>
							<view class="content_bottom">
								{{ item.date.slice(0, 19) }}
							</view>
						</view>

						<!-- 二级评论区域 -->
						<view class="item_child">
							<CommentChild3 v-if="item.childrens" :list="item.childrens" :commentParentId="tweetId" />
						</view>
					</view>
				</scroll-view>
			</view>

			<!-- 评论输入框区域 -->
			<view class="body_input" v-if="commentList.length">
				<view class="input_box">
					<input type="text" confirm-type="send" placeholder="说点什么呢~" v-model="popInputValue" @confirm="handleInputPop" />
				</view>
			</view>
		</uv-popup>

		<!-- 点击关联民宿弹窗区域 -->
		<uv-popup ref="popup_bind" bgColor="none" :safeAreaInsetBottom="false" :closeOnClickOverlay="false">
			<view class="body_pop">
				<!-- 评论总数区域 -->
				<view class="pop_title">
					全部
					<img class="pop_icon" src="../../static/index/close3.png" @click="handleClosePopBind" />
				</view>

				<!-- 关联民宿列表区域 -->
				<scroll-view class="pop_list" v-if="bindList.length" scroll-y @scrolltolower="handleTolower">
					<!-- 每一个民宿区域 -->
					<view class="pop_item_bind" v-for="item in bindList" :key="item.id" @click="goHotelDetail(item)">
						<img mode="aspectFill" :src="item.coverImg" />
						<view class="box_detail">
							<view class="detail_name">
								{{ item.name }}
								<img
									class="img"
									:src="item.isCollect === 0 ? '../../static/index/like.png' : '../../static/index/like-active.png'"
									@click.stop="handleLikeHotel(item)"
								/>
							</view>
							<view class="detail_leave" v-if="item.type === 1">银宿级</view>
							<view class="detail_leave" v-if="item.type === 2">金宿级</view>
							<view class="detail_leave" v-if="item.type === 3">白金级</view>
							<view class="detail_num">
								<view class="num_rate">{{ item.score.toFixed(1) }}分</view>
								<view class="num_comment">{{ item.comment }}条评论</view>
								<view class="num_price">
									¥{{ item.price }}
									<text>起</text>
								</view>
							</view>
						</view>
					</view>
				</scroll-view>
			</view>
		</uv-popup>
	</view>
</template>

<script>
import CommentChild3 from '@/components/commentChild3.vue'
export default {
	components: { CommentChild3 },
	data() {
		return {
			// 滚动穿透控制
			showPage: false,
			// 推文id
			tweetId: '',
			// 乡镇id
			townId: '',
			// 用户id
			userId: '',
			// 推文信息
			info: null,
			// 相关推文列表数组
			bindTweetList: [],
			// 弹窗评论列表当前页
			pageComment: 1,
			// 弹窗评论列表每页多少条
			rowsComment: 10,
			// 弹窗评论列表总条数
			totalComment: null,
			// 弹窗评论列表
			commentList: [],
			// 弹窗关联民宿列表
			bindList: [],
			// 弹窗关联民宿当前页
			pageBind: 1,
			// 弹窗关联民宿每页多少条
			rowsBind: 10,
			// 弹窗关联民宿总条数
			totalBind: null,
			// 一级评论框绑定数值
			commentsValue: '',
			// 评论弹窗评论框绑定数值
			popInputValue: '',
			// 相关推文当前页
			pageTweet: 1,
			// 相关推文每页多少条
			rowsTweet: 10,
			// 相关推文总条数
			totalTweet: null,
			// video 上下文 videoContext 对象
			videoContext: null,
			// 是否是全屏状态
			isFullScreen: false
		}
	},
	onLoad(options) {
		this.userId = uni.getStorageSync('userInfo').id
		this.tweetId = options.id
		this.townId = options.townId
		this.getTweetInfo()
		this.getBindTweet()
		uni.$on('getReset', this.getReset)
	},
	onReachBottom() {
		if (this.bindTweetList.length < this.totalTweet) {
			this.pageTweet++
			this.getBindTweet()
		} else {
			uni.showToast({
				title: '没有更多数据了',
				icon: 'none'
			})
		}
	},
	methods: {
		// 获取推文详细信息
		async getTweetInfo(id) {
			const res = await this.$myRequest({
				url: '/mhotel/articlequeryDetail.action',
				data: {
					id: id ? id : this.tweetId,
					userId: this.userId
				}
			})
			// console.log(res)
			if (res.code === 200) {
				this.info = res.data
			}
		},
		// 获取相关推文数组
		async getBindTweet() {
			const res = await this.$myRequest({
				url: '/mhotel/articlerelatedTweets.action',
				data: {
					id: this.tweetId,
					townId: this.townId,
					userId: this.userId,
					page: this.pageTweet,
					rows: this.rowsTweet
				}
			})
			// console.log(res)
			if (res.code === 200) {
				this.bindTweetList = res.data.pageList
				this.totalTweet = res.data.total
			}
		},
		// 关注或者取消关注请求
		async handleFollow() {
			const res = await this.$myRequest({
				url: '/mhotel/articlefollowAuthor.action',
				data: {
					authorId: this.info.userId,
					userId: this.userId
				}
			})
			// console.log(res)
			if (res.code === 200) {
				this.info.isFollow === 0 ? (this.info.isFollow = 1) : (this.info.isFollow = 0)
			}
		},
		// 点击关联民宿爱心图标回调
		async handleLikeHotel(item) {
			const res = await this.$myRequest({
				url: item.isCollect === 0 ? '/mhotel/ahpcollectHotel.action' : '/mhotel/ahpdelCollectHotel.action',
				data: {
					hotelId: item.id,
					userId: this.userId
				}
			})
			// console.log(res)
			if (res.code === 200) {
				item.isCollect === 0 ? (item.isCollect = 1) : (item.isCollect = 0)
				this.getTweetInfo()
			}
		},
		// 点击民宿前往民宿详情回调
		goHotelDetail(item) {
			this.showPage = false
			this.$refs.popup_bind.close()
			uni.navigateTo({
				url: `/pages/detail/detail?id=${item.id}`
			})
		},
		// 点击轮播图图片回调
		handleClickSwiper(urls, current) {
			uni.previewImage({
				urls,
				current
			})
		},
		// 一级评论框确定输入回调
		async handleInput(e) {
			const res = await this.$myRequest({
				url: '/mhotel/articlecommentArticle.action',
				method: 'post',
				data: {
					articleId: this.tweetId,
					parentId: 0,
					userId: this.userId,
					content: e.detail.value
				}
			})
			// console.log(res)
			if (res.code === 200) {
				this.commentsValue = ''
				this.getTweetInfo()
			}
		},
		// 评论弹窗输入框回调
		async handleInputPop(e) {
			const res = await this.$myRequest({
				url: '/mhotel/articlecommentArticle.action',
				method: 'post',
				data: {
					articleId: this.tweetId,
					parentId: 0,
					userId: this.userId,
					content: e.detail.value
				}
			})
			// console.log(res)
			if (res.code === 200) {
				this.popInputValue = ''
				this.commentList = []
				this.pageComment = 1
				this.handleClickCommentReq()
				this.getTweetInfo()
			}
		},
		// 点击底部tab评论按钮回调
		handleClickComment() {
			if (this.info.comments) {
				this.commentList = []
				this.showPage = true
				this.$refs.popup.open('bottom')
				this.handleClickCommentReq()
			} else {
				uni.showToast({
					title: '暂无评论',
					icon: 'none'
				})
			}
		},
		async handleClickCommentReq() {
			const res = await this.$myRequest({
				url: '/mhotel/articlequeryCommentList.action',
				data: {
					id: this.tweetId,
					page: this.pageComment,
					rows: this.rowsComment
				}
			})
			// console.log(res)
			if (res.code === 200) {
				this.commentList = [...this.commentList, ...res.data.pageList]
				this.totalComment = res.data.total
			}
		},
		// 点击评论弹窗关闭图标回调
		handleClosePop() {
			this.showPage = false
			this.$refs.popup.close()
		},
		// 点击关联民宿查看全部按钮回调
		handleClickALL() {
			this.bindList = []
			this.showPage = true
			this.$refs.popup_bind.open('bottom')
			this.handleClickALLReq()
		},
		async handleClickALLReq() {
			const res = await this.$myRequest({
				url: '/mhotel/articlequeryHotelList.action',
				data: {
					id: this.tweetId,
					userId: this.userId,
					page: this.pageBind,
					rows: this.rowsBind
				}
			})
			// console.log(res)
			if (res.code === 200) {
				this.bindList = [...this.bindList, ...res.data.pageList]
				this.totalBind = res.data.total
			}
		},
		// 点击关联民宿弹窗关闭图标回调
		handleClosePopBind() {
			this.showPage = false
			this.$refs.popup_bind.close()
		},
		handleGoPageLike() {
			uni.navigateTo({
				url: `/pages/likeList/likeList?id=${this.info.id}`
			})
		},
		// 相关推文点击爱心回调
		async handleClickLike(item) {
			const res = await this.$myRequest({
				url: '/mhotel/articlecollectArticle.action',
				data: {
					id: item.id,
					userId: this.userId
				}
			})
			// console.log(res)
			if (res.code === 200) {
				item.isCollect === 1 ? ((item.isCollect = 0), (item.collectNum -= 1)) : ((item.isCollect = 1), (item.collectNum += 1))
			}
		},
		// 点击底部点赞按钮回调
		async clickBtnLike() {
			const res = await this.$myRequest({
				url: '/mhotel/articlelikeArticle.action',
				data: {
					id: this.tweetId,
					userId: this.userId
				}
			})
			// console.log(res)
			if (res.code === 200) {
				this.getTweetInfo()
			}
		},
		handleGoBind(item) {
			this.tweetId = item.id
			this.townId = item.townId
			this.bindTweetList = []
			this.info = null
			this.getTweetInfo()
			this.getBindTweet()
		},
		handleComment(item) {
			uni.showModal({
				title: '请输入评论',
				editable: true,
				success: async (res) => {
					if (res.confirm) {
						const result = res.content
						if (!res.content) {
							uni.showToast({
								title: '评论内容不能为空',
								icon: 'none',
								mask: true
							})
							setTimeout(() => {
								this.handleComment()
							}, 1500)
						} else {
							const res = await this.$myRequest({
								url: '/mhotel/articlecommentArticle.action',
								method: 'post',
								data: {
									articleId: this.tweetId,
									parentId: item.id,
									userId: this.userId,
									content: result
								}
							})
							// console.log(res);
							if (res.code === 200) {
								this.getReset()
							}
						}
					}
				}
			})
		},
		getReset() {
			this.commentList = []
			this.pageComment = 1
			this.handleClickCommentReq()
		},
		handleTolower() {
			if (this.bindList.length < this.totalBind) {
				this.pageBind++
				this.handleClickALLReq()
			} else {
				uni.showToast({
					title: '没有更多数据了',
					icon: 'none'
				})
			}
		},
		handleTolowerComment() {
			if (this.commentList.length < this.totalComment) {
				this.pageComment++
				this.handleClickCommentReq()
			} else {
				uni.showToast({
					title: '没有更多数据了',
					icon: 'none'
				})
			}
		},
		// 进入全屏和退出全屏时触发的回调
		fullscreenchange(e) {
			this.isFullScreen = e.detail.fullScreen
		},
		// 点击视频控件时触发的回调
		handleClickVideo(id) {
			this.videoContext = uni.createVideoContext(id)
			if (this.isFullScreen) {
				this.videoContext.pause()
				this.videoContext.exitFullScreen()
			} else {
				this.videoContext.requestFullScreen()
				this.videoContext.play()
			}
		},
		handleGoMyHome(userId) {
			uni.navigateTo({
				url: `/pages/myHome/myHome?userId=${userId}`
			})
		}
	}
}
</script>

<style lang="scss" scoped>
.container {
	padding-bottom: 130rpx;
	min-height: 100vh;
	background-color: #fff;

	.author {
		display: flex;
		align-items: center;
		padding: 0 20rpx;
		height: 100rpx;

		img {
			width: 50rpx;
			height: 50rpx;
			border-radius: 50%;
		}

		.author_name {
			margin-left: 15rpx;
			font-size: 28rpx;
			font-weight: bold;
		}

		.author_btn {
			display: flex;
			justify-content: center;
			align-items: center;
			margin-left: auto;
			width: 107rpx;
			height: 50rpx;
			color: #096562;
			font-size: 24rpx;
			border-radius: 69rpx;
			border: 1rpx solid #096562;
		}
	}

	.swiper {
		width: 100%;
		height: 495rpx;

		.swiper_item {
			width: 100%;
			height: 100%;

			.img {
				width: 100%;
				height: 440rpx;
			}
		}
	}

	.tweet {
		margin: auto;
		width: 710rpx;
		border-bottom: 1rpx solid #e6e6e6;

		.tweet_title {
			line-height: 50rpx;
			font-size: 32rpx;
			font-weight: bold;
		}

		.tweet_msg {
			margin-top: 10rpx;
			line-height: 40rpx;
			font-size: 28rpx;
		}

		.tweet_info {
			margin-top: 20rpx;
			height: 55rpx;
			color: #999999;
			font-size: 24rpx;
		}
	}

	.and {
		padding: 20rpx 0;
		margin: auto;
		width: 710rpx;
		border-bottom: 1rpx solid #e6e6e6;

		.and_box {
			display: flex;
			margin-bottom: 20rpx;
			width: 710rpx;
			height: 150rpx;
			background-color: #f2f2f2;

			img {
				width: 126rpx;
				height: 150rpx;
			}

			.box_detail {
				flex: 1;
				display: flex;
				flex-direction: column;
				justify-content: space-evenly;
				padding: 0 23rpx;
				overflow: hidden;

				.detail_name {
					display: flex;
					justify-content: space-between;
					align-items: center;
					font-size: 28rpx;
					font-weight: bold;
					overflow: hidden;
					text-overflow: ellipsis;
					white-space: nowrap;

					.img {
						width: 40rpx;
						height: 40rpx;
					}
				}

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

				.detail_num {
					display: flex;
					align-items: center;
					font-size: 24rpx;

					.num_rate {
						color: #ff5733;
					}

					.num_comment {
						margin-left: 15rpx;
						color: #a6a6a6;
					}

					.num_price {
						margin-left: auto;
						font-size: 28rpx;
						color: #ff5733;

						text {
							margin-left: 5rpx;
							font-size: 20rpx;
							color: #a6a6a6;
						}
					}
				}
			}
		}

		.and_all {
			display: flex;
			justify-content: center;
			align-items: center;
			width: 710rpx;
			height: 80rpx;
			color: #096562;
			font-size: 28rpx;
			background-color: #f2f2f2;
		}
	}

	.like {
		display: flex;
		align-items: center;
		padding: 0 20rpx;
		height: 108rpx;
		color: #808080;
		font-size: 28rpx;

		.like_text {
			margin-left: 18rpx;
		}
	}

	.total {
		margin: auto;
		width: 710rpx;
		height: 60rpx;
		line-height: 60rpx;
		font-size: 28rpx;
		color: #808080;
	}

	.input_box {
		margin: 10rpx auto 0;
		width: 710rpx;
		height: 66rpx;
		font-size: 24rpx;
		border-radius: 47rpx;
		background-color: #f2f2f2;

		input {
			box-sizing: border-box;
			padding: 0 33rpx;
			width: 100%;
			height: 100%;
		}
	}

	.comment_list {
		margin: auto;
		width: 710rpx;

		.comment_box {
			display: flex;
			box-sizing: border-box;
			padding-top: 30rpx;

			.box_left {
				width: 75rpx;

				img {
					width: 60rpx;
					height: 60rpx;
					border-radius: 50%;
				}
			}

			.box_right {
				flex: 1;
				flex-wrap: wrap;
				font-size: 24rpx;
				border-bottom: 1rpx solid #e6e6e6;

				.right_name {
					color: #808080;
				}
				.right_content {
					margin-top: 12rpx;
					word-break: break-all;
				}
				.right_time {
					margin: 12rpx 0 20rpx;
					color: #808080;
				}
			}
		}

		.comment_all {
			display: flex;
			justify-content: center;
			align-items: center;
			width: 710rpx;
			height: 80rpx;
			color: #096562;
			font-size: 28rpx;
			background-color: #f2f2f2;
		}
	}

	.related {
		margin: auto;
		width: 710rpx;

		.related_title {
			line-height: 105rpx;
			font-size: 32rpx;
			font-weight: bold;
		}
		.related_list {
			display: grid;
			grid-template-columns: 1fr 1fr;
			grid-auto-rows: auto;
			gap: 40rpx;

			.related_box {
				position: relative;
				width: 335rpx;
				background-color: #f7f7f7;

				.box_cover {
					width: 335rpx;
					height: 463rpx;
					border-radius: 10rpx 10rpx 0 0;
				}

				.box_content {
					padding: 10rpx 60rpx 10rpx 20rpx;
					font-size: 28rpx;
					font-weight: bold;
					word-break: break-all;
					overflow: hidden;
					text-overflow: ellipsis;
					white-space: nowrap;
				}

				.box_info {
					padding: 0 20rpx;
					display: flex;
					align-items: center;
					height: 50rpx;
					font-size: 20rpx;
					color: #666666;

					.img {
						width: 30rpx;
						height: 30rpx;
						border-radius: 50%;
					}

					.info_name {
						margin-left: 10rpx;
					}

					.img2 {
						margin-left: auto;
						width: 28rpx;
						height: 28rpx;
					}

					.info_count {
						margin-left: 5rpx;
					}
				}

				.box_town {
					position: absolute;
					top: 405rpx;
					left: 22rpx;
					padding: 0 20rpx;
					display: flex;
					justify-content: center;
					align-items: center;
					height: 43rpx;
					color: #fff;
					font-size: 20rpx;
					border-radius: 42rpx;
					background-color: rgba(0, 0, 0, 0.3);
				}

				.box_play {
					position: absolute;
					top: 20rpx;
					right: 20rpx;
					width: 50rpx;
					height: 50rpx;
				}
			}
		}
	}

	.tab {
		position: fixed;
		bottom: 0;
		left: 0;
		z-index: 999;
		display: flex;
		justify-content: space-evenly;
		align-items: center;
		width: 100%;
		height: 110rpx;
		border-top: 1rpx solid #e6e6e6;
		background-color: #fff;

		.tab_box {
			display: flex;
			justify-content: center;
			align-items: center;
			width: 200rpx;

			.img {
				margin-right: 10rpx;
				width: 45rpx;
				height: 45rpx;
			}

			.img2 {
				margin-right: 10rpx;
				width: 35rpx;
				height: 35rpx;
			}
		}
	}

	.body_pop {
		position: relative;
		height: 955rpx;
		border-radius: 22rpx 22rpx 0 0;
		background-color: #fff;

		.pop_title {
			position: fixed;
			top: 0;
			left: 0;
			right: 0;
			display: flex;
			justify-content: center;
			align-items: center;
			height: 110rpx;
			font-size: 28rpx;
			background-color: #fff;

			.pop_icon {
				position: absolute;
				top: 35rpx;
				right: 35rpx;
				width: 36rpx;
				height: 36rpx;
			}
		}

		.pop_list {
			box-sizing: border-box;
			padding: 110rpx 20rpx 30rpx;
			height: 955rpx;

			.pop_item {
				margin-bottom: 10rpx;
				padding-bottom: 10rpx;
				border-bottom: 1rpx solid #e6e6e6;

				.item_user {
					display: flex;
					align-items: center;
					height: 70rpx;

					img {
						width: 60rpx;
						height: 60rpx;
						border-radius: 50%;
					}

					.user_info {
						display: flex;
						align-items: center;
						margin-left: 18rpx;
						height: 70rpx;
						color: #808080;
						font-size: 24rpx;
					}
				}

				.item_content {
					margin-left: 80rpx;
					font-size: 24rpx;

					.content_top {
					}

					.content_bottom {
						margin: 10rpx 0;
						color: #808080;
					}

					.content_key {
						color: #808080;
					}
				}

				.item_child {
					margin-left: 50rpx;
				}
			}

			.pop_item_bind {
				display: flex;
				margin-bottom: 20rpx;
				width: 710rpx;
				height: 150rpx;
				background-color: #f2f2f2;

				img {
					width: 126rpx;
					height: 150rpx;
				}

				.box_detail {
					flex: 1;
					display: flex;
					flex-direction: column;
					justify-content: space-evenly;
					padding: 0 23rpx;
					overflow: hidden;

					.detail_name {
						display: flex;
						justify-content: space-between;
						align-items: center;
						font-size: 28rpx;
						font-weight: bold;
						overflow: hidden;
						text-overflow: ellipsis;
						white-space: nowrap;

						.img {
							width: 40rpx;
							height: 40rpx;
						}
					}

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

					.detail_num {
						display: flex;
						align-items: center;
						font-size: 24rpx;

						.num_rate {
							color: #ff5733;
						}

						.num_comment {
							margin-left: 15rpx;
							color: #a6a6a6;
						}

						.num_price {
							margin-left: auto;
							font-size: 28rpx;
							color: #ff5733;

							text {
								margin-left: 5rpx;
								font-size: 20rpx;
								color: #a6a6a6;
							}
						}
					}
				}
			}
		}
	}

	.body_input {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 118rpx;
		border-top: 1rpx solid #cccccc;
		background-color: #fff;

		.input_box {
			width: 710rpx;
			border-radius: 77rpx;
			font-size: 24rpx;
			background-color: #f2f2f2;

			input {
				box-sizing: border-box;
				padding: 0 30rpx;
				width: 100%;
				height: 100%;
			}
		}
	}
}
</style>
