<template>
	<view class="page flex-col">
		<view class="top_">
			<u-swiper class="lunbo_" :list="swiperList" keyName="swiperPicture" radius="10" height="300" indicator
				indicatorMode="line"></u-swiper>
		</view>
		<view class="section_2 flex-col">
			<view class="list_1 flex-row">
				<view class="image-text_1 flex-col align-items-center justify-content-center;"
					v-for="(item, index) in loopData0" :key="index" @click="handleItemClick(item)">
					<image class="label_1" referrerpolicy="no-referrer" :src="item.url" />
					<text class="text-group_1" v-text="item.text"></text>
				</view>
			</view>
			<view class="box_4 flex-row justify-between">

				<view class="image-text_2 flex-row justify-between">
					<!-- <u-notice-bar direction="column" duration="10000" bgColor="#e9f1ff"  color="black" :text="textList.map(item => item.title)" @click="handleNoticeClick" icon="/static/lanhu_shouye2gai/FigmaDDSSlicePNGd2c17b5f24182e597acbfa50481040c1.png"></u-notice-bar> -->
					<u-notice-bar direction="column" duration="10000" bgColor="#e9f1ff" color="black" :text="textList"
						@click="handleNoticeClick"
						icon="/static/lanhu_shouye2gai/FigmaDDSSlicePNGd2c17b5f24182e597acbfa50481040c1.png" />
				</view>

				<view class="group_3 flex-col justify-between">
					<view class="block_5 flex-col"></view>
					<view class="block_6 flex-col"></view>
					<view class="block_7 flex-col"></view>
				</view>
			</view>
			<view class="box_5 flex-row justify-between">
				<text class="text_2">优质驾校</text>
				<view class="image-text_3 flex-row justify-between">
					<text class="text-group_3" @click="goSchoolList()">查看更多</text>
					<image class="thumbnail_2" referrerpolicy="no-referrer"
						src="/static/lanhu_shouye2gai/FigmaDDSSlicePNGc8586e4d9e76802e4b93ae8fb3654b38.png" />
				</view>
			</view>

			<view class="itemContent">
				<!-- 使用 scroll-view 包裹 SchoolInfo 组件 -->
				<scroll-view class="scroll-view" scroll-y :style="{ height: scrollHeight + 'px' }"
					@scrolltolower="onReachBottomCus" refresher-enabled @refresherrefresh="onRefresherrefresh"
					:refresher-triggered="isTriggered">
					<SchoolInfo style="" v-for="(school, index) in schoolList" :key="index" :schoolInfo="school"
						@click="goSchoolDetail(school)" />
				</scroll-view>
			</view>

		</view>
		<!-- <tabbar :msg='msg'></tabbar> -->
	</view>
</template>

<script>
	import SchoolInfo from './SchoolInfo.vue';
	import request from "@/utils/request";
	import {
		getCoachId,
		getInviteId,
		getLocalUserInfo,
		getStaffType,
		getToken,
		removeCoachId,
		removeInviteId,
		removeTenantId,
		setCoachId,
		setInviteId,
		setLocalUserInfo,
		setStaffType,
		setTenantId
	} from '@/utils/auth'
	export default {
		components: {
			SchoolInfo
		},
		data() {
			return {
				loopData0: [{
						url: '/static/lanhu_shouye2gai/xcbm.png',
						text: '学车报名'
					},
					{
						url: '/static/lanhu_shouye2gai/yyxl.png',
						text: '预约训练'
					},
					{
						url: '/static/lanhu_shouye2gai/kslr.png',
						text: '考试结果录入'
					},
					{
						url: '/static/lanhu_shouye2gai/pj.png',
						text: '评价'
					},
					{
						url: '/static/lanhu_shouye2gai/pj.png',
						text: '业务办理指南'
					},
				],
				swiperList: [],
				msg: "1",
				constants: {},
				schoolList: [],
				//下来刷新状态
				isTriggered: false,
				pageNo: 1,
				pageSize: 10,
				total: 0,
				imageUrl: this.$imagesUrl,
				textList: [],
				noticeList: [],
				qTenantId: null,
				qCoachId: null,
				scrollHeight: 0,
			};
		},
		onLoad(query) {
			console.log('query', query)
			// setInviteId('JLPXF1')
			// this.getTenantIdByInviteId()
			console.log('userInfo', getLocalUserInfo())
			console.log('token', getToken())
			this.getSwiperList()
			this.getTextList()

			const q = decodeURIComponent(query.q) // 获取到二维码原始链接内容
			let theRequest = this.getUrlValue(q)
			if (theRequest.hasOwnProperty("inviteId")) {
				//扫码邀请过来的，设置邀请者code
				setInviteId(theRequest['inviteId'])
				this.getTenantIdByInviteId()
				/* //先登录
				uni.reLaunch({
				  url: '/pages/login/login'
				}) */
			} else {
				removeInviteId()
				removeCoachId()
				removeTenantId()
				this.getList()
				/* uni.reLaunch({
				  url: '/pages-home/home/home'
				}) */
			}
		},
		onReady() {
			// 动态计算滚动区域高度
			this.calculateScrollHeight();
		},
		methods: {
			getTenantIdByInviteId() {
				console.log('1122', getInviteId())
				if (!getInviteId()) {
					console.log(1)
					this.getList()
					return
				}
				request({
					url: '/app-api/dl-drive-school-coach-small/getCoachByUniqueCode',
					method: 'GET',
					params: {
						uniqueCode: getInviteId()
					}
				}).then(res => {
					console.log(123)
					if (res.data != null) {
						this.qTenantId = res.data.tenantId
						this.qCoachId = res.data.userId
						console.log('tenantId', this.qTenantId)
						console.log('coachId', this.qCoachId)
						setTenantId(res.data.tenantId)
						this.getList()
						if (res.data.type == 'jl') {
							setCoachId(res.data.userId)
							setStaffType('02')
						}
						if (res.data.type == 'yg') {
							setCoachId(res.data.userId)
							setStaffType('01')
						}
						console.log('getCoachId', getCoachId())
						console.log('getStaffType', getStaffType())
					}
				})
			},
			getList() {
				console.log('getInviteId', getInviteId())
				const params = {
					pageNo: this.pageNo,
					pageSize: this.pageSize,
					serviceCodes: 'jiaxiao',
				};

				if (this.qTenantId) {
					params.tenantId = this.qTenantId;
				}
				console.log('params', params)
				request({
					url: '/userClient/base/companySmallProgram/pageNoTenantId',
					method: 'GET',
					params: params,
					tenantIdFlag: false
				}).then(res => {
					res.data.records.forEach(item => {
						item.features = ['有接送', '规模大']
						item.imageUrl = this.imageUrl + '/' + item.photo
					})
					this.schoolList = this.schoolList.concat(res.data.records)
					this.isTriggered = false
					this.total = res.data.total
					console.log(res)
				})
			},
			getUrlValue(url) {
				var theRequest = new Object();
				if (url.indexOf("?") != -1) {
					//有参数
					var str = url.split("?")[1];
					var strs = str.split("&");
					for (var i = 0; i < strs.length; i++) {
						theRequest[strs[i].split("=")[0]] = (strs[i].split("=")[1]);
					}
				}
				return theRequest
			},
			/**
			 * 实时讯息
			 */
			/* async getTextList() {
      let res = await request({
        url: '/app-api/base/notice/pageList',
        method: 'get',
        params: {
          pageNum: 1,
          pageSize: 10000,
		  parentServer: 'jiaxiao',
		  server: 'wx'
        }
      })
	  this.textList = []
      res.data.records.forEach(item => {
        this.textList.push(item.title)
      })
    }, */
			async getTextList() {
				let res = await request({
					url: '/app-api/base/notice/pageList',
					method: 'get',
					params: {
						pageNum: 1,
						pageSize: 10000,
						parentServer: 'jiaxiao',
						server: 'wx'
					}
				})
				this.noticeList = res.data.records // 保留原始数据
				this.textList = res.data.records.map(item => item.title) // 提取 title 用于展示
			},
			handleNoticeClick(index) {
				const currentNotice = this.noticeList[index]
				if (currentNotice && currentNotice.id) {
					uni.navigateTo({
						url: `/pagesA/noticeContent/index?id=${currentNotice.id}`
					})
				}
			},
			getSwiperList() {
				request({
					url: '/app-api/drivingSchool/text/swiper/list',
					method: 'GET'
				}).then(res => {
					res.data.forEach(item => {
						item.swiperPicture = this.imageUrl + '/' + item.swiperPicture
					})
					this.swiperList = res.data
				})
			},
			/**
			 * 上滑加载数据
			 */
			onReachBottomCus() {
				//判断 如果页码*页容量大于等于总条数，提示该页数据加载完毕
				if (this.pageNo * this.pageSize >= this.total) {
					uni.$u.toast('没有更多数据了')
					return
				}
				//页码+1,调用获取数据的方法获取第二页数据
				this.pageNo++
				//此处调用自己获取数据列表的方法
				this.getList()
			},
			/**
			 * 下拉刷新数据
			 */
			onRefresherrefresh() {
				this.isTriggered = true
				this.pageNo = 1
				this.total = 0
				this.schoolList = []
				this.getList()
			},
			goSchoolList() {
				uni.navigateTo({
					url: '/newPages/schoolList/index',
				});
			},
			goSchoolDetail(data) {
				uni.navigateTo({
					url: `/newPages/schoolDetail/index?id=${data.id}&tenantId=${data.tenantId}&schoolName=${data.corpName}`,
					// url: '/newPages/schoolDetail/index',
				});
			},

			calculateScrollHeight() {
				/* // 获取屏幕高度
				const screenHeight = uni.getSystemInfoSync().windowHeight;
				// 获取顶部区域高度
				const topHeight = 490;
				// 计算滚动区域高度
				this.scrollHeight = screenHeight - topHeight; */
				const systemInfo = uni.getSystemInfoSync();
				const windowHeight = systemInfo.windowHeight;
				const rpxToPx = systemInfo.windowWidth / 750;

				const topOccupiedHeight = 960 * rpxToPx;

				this.scrollHeight = windowHeight - topOccupiedHeight;
			},
			/* calculateScrollHeight() {
				// 获取屏幕高度
				const screenHeight = uni.getSystemInfoSync().windowHeight;
				// 使用选择器获取顶部区域实际高度
				const query = uni.createSelectorQuery().in(this);
				query.select('.top_').boundingClientRect(data => {
					const topHeight = data ? data.height : 0;
					query.select('.section_2').boundingClientRect(data => {
						const sectionHeight = data ? data.height : 0;
						// 转换为 rpx (假设 1px = 2rpx，根据实际情况调整)
						this.scrollHeight = (screenHeight - topHeight - sectionHeight) * 2;
					}).exec();
				}).exec();
			}, */

			handleItemClick(item) {
				// 根据 item.text 判断点击的是哪一项
				switch (item.text) {
					case '学车报名':
						uni.navigateTo({
							url: '/newPages/schoolList/index'
							// url: `/pagesA/guideContent/index?tenantId=${180}`
						});
						break;
					case '预约训练':
						if (!getToken()) {
							/* uni.showToast({
			  title: '请先登录',
			  icon: 'none',
			  duration: 2000
			}); */
							uni.showModal({
								title: '未登录',
								content: '请先登录',
								confirmText: '去登录',
								success: (res) => {
									if (res.confirm) {
										uni.navigateTo({
											url: '/pages/login/login'
										});
									}
								}
							});
							return;
						}
						uni.navigateTo({
							url: '/pagesA/appointment/index'
						});
						break;
					case '考试结果录入':
						if (!getToken()) {
							uni.showModal({
								title: '未登录',
								content: '请先登录',
								confirmText: '去登录',
								success: (res) => {
									if (res.confirm) {
										uni.navigateTo({
											url: '/pages/login/login'
										});
									}
								}
							});
							return;
						}
						uni.navigateTo({
							url: '/pagesA/examinationList/index'
						});
						break;
					case '评价':
						if (!getToken()) {
							uni.showModal({
								title: '未登录',
								content: '请先登录',
								confirmText: '去登录',
								success: (res) => {
									if (res.confirm) {
										uni.navigateTo({
											url: '/pages/login/login'
										});
									}
								}
							});
							return;
						}
						uni.navigateTo({
							url: '/pagesA/evaluate/index'
						});
						break;
					default:
						console.warn('未知的点击项:', item.text);
						break;
				}
			}

		}
	};
</script>

<style lang='scss'>
	@import '../common/common.scss';
	@import './assets/style/index.rpx.scss';

	// 新增样式，使文字居中显示
	.text-group_1 {
		text-align: center;
	}

	// 修改 image-text_1 样式，使其内容垂直排列并居中
	.image-text_1 {
		display: flex;
		flex-direction: column;
		align-items: center; // 使内容水平居中
		justify-content: center; // 可根据需要使内容垂直居中
	}

	// 新增 scroll-view 样式
	.school-scroll-view {
		/* height: 500rpx; // 设置一个固定高度，根据需要调整 */
		overflow-y: auto;
		margin-left: 22rpx;
	}

	.itemContent {
		margin-top: 20rpx;
		/* padding: 10rpx 0; */
		display: flex;
		flex-direction: column;
		/* row-gap: 10rpx; */
		margin-bottom: 200rpx;
	}

	.top_ {
		//padding-top: 200rpx;
	}
</style>