<template>
	<view class="admin-shouye-page">
		<view class="shouye-head-box">{{indexInfoData.jzName}}</view>
		<view class="index-banner-default" v-if="!swiperInfo.length>0"></view>
		<uni-swiper-dot v-else class="shouye-swiper-box" :info="swiperInfo" :current="current" field="content"
			mode="dot" :dots-styles="dotStyle">
			<swiper class="swiper-box" @change="change" autoplay circular interval="5000">
				<!-- autoplay circular interval="3000" -->
				<swiper-item v-for="(item ,index) in swiperInfo" :key="index">
					<img class="index-banner-img" :src="item.pic" @click="gotoKc(item)" />
				</swiper-item>
			</swiper>
		</uni-swiper-dot>

		<view class="tj-btn-box">
			<text :class="{active: tjBtn == 1}" @click="tjBtnClick(1)">本周</text>
			<text :class="{active: tjBtn == 2}" @click="tjBtnClick(2)">本月</text>
			<text :class="{active: tjBtn == 0}" @click="tjBtnClick(0)">全部</text>
		</view>
		<view class="index-tj-row">
			<view class="index-tj-box">
				<view class="tj-num-box">{{indexInfoData.bzCount}}/{{indexInfoData.jzCount}}</view>
				<view class="tj-tip-box">考证人员/家政人员</view>
			</view>
			<view class="index-kc-box" @click="goToPage('sykc')">
				<view class="tj-num-box">{{indexInfoData.kechengCount}}/{{indexInfoData. kechengUsed}}</view>
				<view class="tj-tip-box">剩余课程/已售课程</view>
				<icon class="sjkc-jt-icon"></icon>
			</view>
		</view>
		<view class="index-tongzhi-box" @click="goToPage('tz')">
			<text class="tongzhi-num">{{tzNum}}</text>
			<rich-text :nodes="tzContent" class="tongzhi-content"></rich-text>
			<icon></icon>
		</view>
		<view class="card-list-box">
			<view class="card-list-title">用户管理</view>
			<view @click="goToPage('jz')" class="card-item-box">
				<icon class="index-icon jz-icon"></icon>
				<text>家政人员</text>
			</view>
			<!-- 添加子账号权限只有主账号拥有，其他子账号无法查看 -->
			<view @click="goToPage('zzh')" class="card-item-box" v-if="auth.type == 2">
				<icon class="index-icon zzh-icon"></icon>
				<text>创建子账号</text>
			</view>
			<view @click="goToPage('zjz')" class="card-item-box" v-if="auth.type == 2">
				<icon class="index-icon zjz-icon"></icon>
				<text>子家政公司</text>
			</view>
			<view @click="goToPage('zjkh')" class="card-item-box" v-if="auth.type == 2">
				<icon class="index-icon jzkh-icon"></icon>
				<text>家政客户</text>
			</view>
			<!-- <view @click="goToPage('demo')" class="card-item-box" v-if="auth.type == 2">
		 	<icon class="index-icon zjz-icon"></icon>
		 	<text>demo</text>
		 </view> -->
		</view>
		<view class="card-list-box">
			<view class="card-list-title">考务管理</view>
			<view @click="goToPage('bz')" class="card-item-box">
				<icon class="index-icon kz-icon"></icon>
				<text>办证管理</text>
			</view>
			<view @click="goToPage('ks')" class="card-item-box">
				<icon class="index-icon ks-icon"></icon>
				<text>考试管理</text>
			</view>
			<view @click="goToPage('cj')" class="card-item-box">
				<icon class="index-icon cj-icon"></icon>
				<text>成绩管理</text>
			</view>
			<view @click="goToPage('lc')" class="card-item-box">
				<icon class="index-icon lx-icon"></icon>
				<text>练习管理</text>
			</view>
			<view @click="goToPage('kc')" class="card-item-box">
				<icon class="index-icon kc-icon"></icon>
				<text>课程管理</text>
			</view>
		</view>
		<view class="card-list-box">
			<view class="card-list-title">合同管理</view>
			<view @click="goToPage('jzht')" class="card-item-box">
				<icon class="index-icon ht-a-icon" v-if="indexInfoData.status === 0">待签</icon>
				<icon class="index-icon ht-a-icon" v-if="indexInfoData.status === 1">待审核</icon>
				<icon class="index-icon ht-icon" v-if="indexInfoData.status === 2 && indexInfoData.status === 3">其他</icon>
				<text>家政合同</text>
			</view>
			<view @click="goToPage('sfht')" class="card-item-box">
				<view class="num-icon-box" v-if="indexInfoData.sfCount > 0">{{indexInfoData.sfCount}}</view>
				<icon class="index-icon sfht-icon"></icon>
				<text>三方合同</text>
			</view>
			
		</view>
		<view class="card-list-box">
			<view class="card-list-title">其他服务</view>
			<view @click="goToPage('ycms')" class="card-item-box">
				<icon class="index-icon ycms-icon"></icon>
				<text>远程面试</text>
			</view>
			<view @click="goToPage('zyhb')" class="card-item-box">
				<icon class="index-icon zyhb-icon"></icon>
				<text>职业海报</text>
			</view>
		</view>
		<!-- 页面底端 -->
		<customTabbarAdminVue :current-tab="0"></customTabbarAdminVue>
		<tip-dialog ref="tipDialogRef" :title="tipTitle" :content="tipContent"></tip-dialog>

		<!-- 安卓强制升级 -->
		<shengJiDialog ref="tipDialogRef2" :closeFlag='false' :title="tipTitle" @confirm-btn="BanbenConfirmBtn"
			:showTip="true" :notClose="true" :content="tipContentAndroid">
		</shengJiDialog>

	</view>
</template>

<script setup>
	import cacheManager from "@/utils/cacheManager.js";
	import {
		onLoad,
		onShow
	} from '@dcloudio/uni-app';
	import {
		reactive,
		ref
	} from "vue";
	import customTabbarAdminVue from "@/components/custom-tabbar/custom-tabbar-admin.vue";
	import {
		getAppNoticeList,
		getAppNoticeWait,
		getGlIndexInfo,
		getIndexKechengList
	} from '@/api/shouye.js'
	import tipDialog from '@/components/dialog/tipDialog.vue';
	import config from '../../../config.js'
	import * as httpApi from "@/api/login.js"
	import shengJiDialog from '@/components/dialog/shengJiDialog.vue';
	import {
		useVersionUpdate
	} from "@/utils/versionUpdate.js";

	const version = config.appInfo.version;
	const tipDialogRef = ref(null);
	const tipTitle = '升级提醒';
	const tipContent = '您的APP不是最新版本，部分功能不能使用，请升级至最新版本！';
	const auth = cacheManager.get('auth');
	const tjBtn = ref(1);
	const tzNum = ref(0);
	const tzContent = ref('');
	const searchType = ref('');
	const current = ref(0);
	const tipContentAndroid = '您的APP不是最新版本，部分功能不能使用，请升级至最新版本！'

	const tipDialogRef2 = ref(null)
	const updateUrl = ref(null)

	const {
		initDownload
	} = useVersionUpdate()
	let indexInfoData = reactive({
		searchType: 1,
		bzCount: 0,
		jzCount: 0,
		jzName: '',
		kechengCount: 0, //剩余课程数量
		kechengUsed: 0, //售出课程数量
		status:null,// 合同状态：0待签字，1审核中，2生效,3失效
		jzHtId:null,
		sfCount:null,
	});
	const swiperInfo = ref([]);
	const dotStyle = reactive({
		width: '8',
		height: '8',
		bottom: '-12',
		backgroundColor: 'rgba(226,230,236)',
		border: '1px rgb(226,230,236) solid',
		selectedBackgroundColor: 'rgb(92, 192, 147)',
		selectedBorder: '1px rgb(92, 192, 147) solid'
	});

	const goToExternalPage = () => {
		 // const externalUrl = 'https://www.baidu.com/'
	  const externalUrl = 'https://kf2.mtavip.com/aliyunZhibo/index.html?roomId=900803&appId=dehjl65ff&uid=1145&userName=123456&token=000eJxjYGBQkNwl6RPe+n+pxsfW/3yNTNsT46azfzZTMppyaIvoS6VnpxkYGDhSUjOycsxM0zLjuSb7xF8/kZkQIwoUZ7M0MLAwMAayWAwNTUwZGBlGwZACAEbtGUY='; // 替换为你的 H5 地址

	  // 使用 encodeURIComponent 防止 URL 中含特殊字符（如 ? & =）
	  uni.navigateTo({
		url: `/pages/admin/webview/index?url=${encodeURIComponent(externalUrl)}`
	  });
	};


	function change(e) {
		current.value = e.detail.current
	}

	function gotoKc(item) {
		uni.navigateTo({
			url: `/pages/admin/Kecheng/study?kcId=${item.kcId}&from=shouye`
		})
	}

	onLoad((options) => {
		
	})

	function initPage() {
		getKcTg();
		getTzNum();
		getTzlist();
		getIndexInfo();
	}

	function getKcTg() {
		getIndexKechengList({}).then(res => {
			swiperInfo.value = res.data.data;
		})
	}

	function getTzNum() {
		getAppNoticeWait({}).then(res => {
			tzNum.value = res.data;
		})
	}

	function getIndexInfo() {
		getGlIndexInfo({
			searchType: indexInfoData.searchType
		}).then(res => {
			indexInfoData.bzCount = res.data.bzCount;
			indexInfoData.jzCount = res.data.jzCount;
			indexInfoData.jzName = res.data.jzName;
			indexInfoData.kechengCount = res.data.kechengCount;
			indexInfoData.kechengUsed = res.data.kechengUsed;
			indexInfoData.status =res.data.status;
			indexInfoData.jzHtId =res.data.jzHtId;
			indexInfoData.sfCount = res.data.sfCount;
		})
	}

	function getTzlist() {
		const opt = {
			page: 1,
			size: 10, // 固定查询10条
		}
		getAppNoticeList(opt).then(res => {
			tzContent.value = res.data.data[0].name;
		})
	}

	// 按钮切换
	function tjBtnClick(data) {
		tjBtn.value = data;
		indexInfoData.searchType = data;
		getIndexInfo();
	}
	// 获取用户头像
	function goToPage(data) {
		switch (data) {
			case 'jz':
				uni.redirectTo({
					url: '/pages/admin/Jiazheng/index'
				})
				break;
			case 'zzh':
				uni.redirectTo({
					url: '/pages/admin/zizhanghao/list'
				})
				break;
			case 'sykc':
				uni.redirectTo({
					url: '/pages/admin/yishou/yishou'
				})
				break;
			case 'bz':
				uni.redirectTo({
					url: '/pages/admin/banzheng/list'
				})
				break;
			case 'ks':
				uni.redirectTo({
					url: '/pages/admin/Kaoshi/list'
				})
				break;
			case 'cj':
				uni.redirectTo({
					url: '/pages/admin/Chengji/list'
				})
				break;
			case 'kc':
				uni.redirectTo({
					url: '/pages/admin/Kecheng/list'
				})
				break;
			case 'tz':
				uni.redirectTo({
					url: '/pages/admin/tongzhi/list'
				})
				break;
			case 'lc':
				uni.redirectTo({
					url: '/pages/admin/Lianxi/list'
				})
				break;
			case 'zjz':
				uni.redirectTo({
					url: '/pages/admin/zijiazheng/index'
				})
				break;
			case 'zjkh':
			uni.redirectTo({
				url: '/pages/admin/kehu/kehuList'
			})
			break;
			// 家政合同	
			case 'jzht':
				if(indexInfoData.status === 0){
					uni.navigateTo({
						url: `/pages/admin/Hetong/Hetong?id=${indexInfoData.jzHtId}`
					})
				}else{
					uni.redirectTo({
						url: '/pages/admin/Hetong/HetongList'
					})
				}
				break;
			case 'sfht':
			uni.navigateTo({
				url: '/pages/admin/Hetong/sanfangHetong?from=shouye'
			})
			break;
			case 'ycms':
			uni.navigateTo({
				url: '/pages/admin/mianshi/index'
			})
			break;
			case 'zyhb':
			uni.navigateTo({
				url: '/pages/admin/haibao/index'
			})
			break;
			case 'demo':
				uni.redirectTo({
					url: '/pages/demo/demo2'
				})
				break;
		}
	}

	function BanbenConfirmBtn() {
		const systemInfo = uni.getSystemInfoSync();
		if (systemInfo.platform == 'ios') {
			const appStoreUrl = 'itms-apps://itunes.apple.com/app/6754060756'
			plus.runtime.openURL(appStoreUrl)
		} else {
			initDownload(updateUrl.value)
		}
	}

	function getLoginInit() {
		httpApi.getVersion({}).then(res => {
			if (version != res.data.version) {
				updateUrl.value = res.data.updateUrl
				// test 版本相同唤起弹窗
				// tipDialogRef2.value.handleShow();
				const systemInfo = uni.getSystemInfoSync();
				if (systemInfo.platform == 'ios') {

				} else {
					tipDialogRef2.value.handleShow();
				}
			}
		})
	}

	onShow(() => {
		initPage();
		getLoginInit()
	})
</script>