//自调用函数
(function() {
	// 1、页面一加载就要知道页面宽度计算
	var setFont = function() {
		// 因为要定义变量可能和别的变量相互冲突，污染，所有用自调用函数
		var html = document.documentElement; // 获取html
		// 获取宽度
		var width = html.clientWidth;

		// 判断
		if (width < 1024) width = 1024
		if (width > 1920) width = 1920
		// 设置html的基准值
		var fontSize = width / 80 + 'px';
		// 设置给html
		html.style.fontSize = fontSize;
	}
	setFont();
	// 2、页面改变的时候也需要设置
	// 尺寸改变事件
	window.onresize = function() {
		setFont();
	}
})();
$.get('https://aggadmin.jucai.gov.cn/admin/api/bi_talent', (res) => {
	init(res)
});

function init(data) {
	$('#industry_enterprise_num').text(data.industry_enterprise_num);
	$('#industry_institution_employee').text(data.industry_institution_employee);
	$('#industry_institution_num').text(data.industry_institution_num);
	$('#industry_institution_turnover').text(data.industry_institution_turnover);
	$('#industry_service_num').text(data.industry_service_num);
	$('#talent_problem_deal').text(data.talent_problem_deal);
	$('#talent_problem_total').text(data.talent_problem_total);
	$('#talent_total').text(data.talent_total);
	this.talent_count(data);
	this.talent_level(data.talent_level);
	this.talent_problem(data.talent_problem_cate);
	this.pieTalentChannel(data);
	this.pieInstitutionType(data);
}

function talent_count(data) {
	var htmlArr = [];
	htmlArr['talent_industry'] = '';
	htmlArr['talent_age'] = '';
	htmlArr['talent_education'] = '';
	data.talent_industry.forEach(function (item) {
		htmlArr['talent_industry'] += `<li><span>${item.name}</span><span>${item.count} <s class="icon-up"></s></span></li>`;
	});
	data.talent_age.forEach(function (item) {
		htmlArr['talent_age'] += `<li><span>${item.name}</span><span>${item.count} <s class="icon-up"></s></span></li>`;
	});
	data.talent_education.forEach(function (item) {
		htmlArr['talent_education'] += `<li><span>${item.name}</span><span>${item.count} <s class="icon-up"></s></span></li>`;
	});
	$('.inner').on('mouseenter', '.sup li', function () {
		$(this).addClass('active').siblings().removeClass('active');
		//渲染
		$('.sub').html(htmlArr[$(this).attr('data-type')]);
	});
	$('.province .sup li').eq(0).mouseenter();
	var index = 0;
	var timer = setInterval(() => {
		index++;
		if (index > 2) {
			index = 0;
		}
		$('.sup li').eq(index).mouseenter();
	}, 2000);
}

function talent_level(data) {
	let titleArr = [];
	let countArr = [];
	let total = 0;
	let count = data.length;
	// 中间省略的数据  准备三项
	var hiddenItem = {
		name: '',
		value: 10,
		// 柱子颜色
		itemStyle: {
			color: '#254065'
		},
		// 鼠标经过柱子颜色
		emphasis: {
			itemStyle: {
				color: '#254065'
			}
		},
		// 工具提示隐藏
		tooltip: {
			extraCssText: 'opacity:0'
		}
	};
	data.forEach((item, index) => {
		if (index < 7 || index + 7 >= count) {
			titleArr.push(item.name)
			countArr.push(item.count)
		} else if (count > 12 && index == 7) {
			//随机三个
			let arr = []
			for (let i = 7; i < count - 7; i++) {
				arr.push(i)
			}
			let randomArr = [];
			while (randomArr.length < 3) {
				let temp = (Math.random() * arr.length) >> 0;
				randomArr.push(arr.splice(temp, 1)[0]);
			}
			randomArr.forEach((randomIndex) => {
				titleArr.push(data[randomIndex].name)
				countArr.push(data[randomIndex].count)
			})
		}
		total += (item.count - 0)
	});
	$('.talent_level-total').text(total)

	option = {
		// 工具提示
		tooltip: {
			// 触发类型  经过轴触发axis  经过轴触发item
			trigger: 'item',
			// 轴触发提示才有效
			axisPointer: {
				// 默认为直线，可选为：'line' 线效果 | 'shadow' 阴影效果
				type: 'shadow'
			}
		},
		// 图表边界控制
		grid: {
			// 距离 上右下左 的距离
			left: '0',
			right: '3%',
			bottom: '3%',
			top: '5%',
			// 大小是否包含文本【类似于boxsizing】
			containLabel: true,
			//显示边框
			show: true,
			//边框颜色
			borderColor: 'rgba(0, 240, 255, 0.3)'
		},
		// 控制x轴
		xAxis: [{
			// 使用类目，必须有data属性
			type: 'category',
			// 使用 data 中的数据设为刻度文字
			data: titleArr,
			// 刻度设置
			axisTick: {
				// true意思：图形在刻度中间
				// false意思：图形在刻度之间
				alignWithLabel: false,
				show: false
			},
			//文字
			axisLabel: {
				color: '#4c9bfd'
			}
		}],
		// 控制y轴
		yAxis: [{
			// 使用数据的值设为刻度文字
			type: 'value',
			axisTick: {
				// true意思：图形在刻度中间
				// false意思：图形在刻度之间
				alignWithLabel: false,
				show: false
			},
			//文字
			axisLabel: {
				color: '#4c9bfd'
			},
			splitLine: {
				lineStyle: {
					color: 'rgba(0, 240, 255, 0.3)'
				}
			},
		}],
		// 控制x轴
		series: [

			{
				// series配置
				// 颜色
				itemStyle: {
					// 提供的工具函数生成渐变颜色
					color: new echarts.graphic.LinearGradient(
						// (x1,y2) 点到点 (x2,y2) 之间进行渐变
						0, 0, 0, 1,
						[{
							offset: 0,
							color: '#00fffb'
						}, // 0 起始颜色
							{
								offset: 1,
								color: '#0061ce'
							} // 1 结束颜色
						]
					)
				},
				// 图表数据名称
				name: '层次人数',
				// 图表类型
				type: 'bar',
				// 柱子宽度
				barWidth: '60%',
				// 数据
				data: countArr
			}
		]
	};
	var myechart = echarts.init($('.talent_level')[0]);
	myechart.setOption(option);
}

function talent_problem(data) {
	let titleArr = [];
	let countArr = [];
	let count = data.length;
	// 中间省略的数据  准备三项
	var hiddenItem = {
		name: '',
		value: 10,
		// 柱子颜色
		itemStyle: {
			color: '#254065'
		},
		// 鼠标经过柱子颜色
		emphasis: {
			itemStyle: {
				color: '#254065'
			}
		},
		// 工具提示隐藏
		tooltip: {
			extraCssText: 'opacity:0'
		}
	};
	data.forEach((item, index) => {
		titleArr.push(item.name)
		countArr.push(item.count)
	});

	option = {
		// 工具提示
		tooltip: {
			// 触发类型  经过轴触发axis  经过轴触发item
			trigger: 'item',
			// 轴触发提示才有效
			axisPointer: {
				// 默认为直线，可选为：'line' 线效果 | 'shadow' 阴影效果
				type: 'shadow'
			}
		},
		// 图表边界控制
		grid: {
			// 距离 上右下左 的距离
			left: '0',
			right: '3%',
			bottom: '3%',
			top: '5%',
			// 大小是否包含文本【类似于boxsizing】
			containLabel: true,
			//显示边框
			show: true,
			//边框颜色
			borderColor: 'rgba(0, 240, 255, 0.3)'
		},
		// 控制x轴
		xAxis: [{
			// 使用类目，必须有data属性
			type: 'category',
			// 使用 data 中的数据设为刻度文字
			data: titleArr,
			// 刻度设置
			axisTick: {
				// true意思：图形在刻度中间
				// false意思：图形在刻度之间
				alignWithLabel: false,
				show: false
			},
			//文字
			axisLabel: {
				interval: 0, // 强制显示所有标签
				color: '#4c9bfd'
			}
		}],
		// 控制y轴
		yAxis: [{
			// 使用数据的值设为刻度文字
			type: 'value',
			axisTick: {
				// true意思：图形在刻度中间
				// false意思：图形在刻度之间
				alignWithLabel: false,
				show: false
			},
			//文字
			axisLabel: {
				color: '#4c9bfd'
			},
			splitLine: {
				lineStyle: {
					color: 'rgba(0, 240, 255, 0.3)'
				}
			},
		}],
		// 控制x轴
		series: [

			{
				// series配置
				// 颜色
				itemStyle: {
					// 提供的工具函数生成渐变颜色
					color: new echarts.graphic.LinearGradient(
						// (x1,y2) 点到点 (x2,y2) 之间进行渐变
						0, 0, 0, 1,
						[{
							offset: 0,
							color: '#00fffb'
						}, // 0 起始颜色
							{
								offset: 1,
								color: '#0061ce'
							} // 1 结束颜色
						]
					)
				},
				// 图表数据名称
				name: '咨询人数',
				// 图表类型
				type: 'bar',
				// 柱子宽度
				barWidth: '60%',
				// 数据
				data: countArr
			}
		]
	};
	var myechart = echarts.init($('.talent_problem')[0]);
	myechart.setOption(option);
}

function pieTalentChannel(data) {
	let recruit_age = data.talent_channel;
	let total = 0;
	let other = 0;
	var myechartAge = echarts.init($('.talent_channel')[0]);
	recruit_age.map((item, index) => {
		if (item.name == '其他渠道') {
			other = item.count;
		} else {
			total += item.count - 0;
		}
		item.value = item.count;
		return item;
	});
	$('#talent_channel_total').text(total);
	$('#talent_channel_other').text(other);
	option = {
		// 控制提示
		tooltip: {
			// 非轴图形，使用item的意思是放到数据对应图形上触发提示
			trigger: 'item',
			// 格式化提示内容：
			// a 代表图表名称 b 代表数据名称 c 代表数据  d代表  当前数据/总数据的比例
			formatter: "{b} : {c} ({d}%)"
		},
		// 控制图表
		series: [{
			// 图表名称
			name: '咨询渠道',
			// 图表类型
			type: 'pie',
			// 南丁格尔玫瑰图 有两个圆  内圆半径10%  外圆半径70%
			// 百分比基于  图表DOM容器的半径
			radius: ['10%', '70%'],
			// 图表中心位置 left 50%  top 50% 距离图表DOM容器
			center: ['50%', '50%'],
			// 半径模式，另外一种是 area 面积模式
			roseType: 'radius',
			// 数据集 value 数据的值 name 数据的名称
			data: recruit_age,
			//文字调整
			label: {
				fontSize: 10
			},
			//引导线
			labelLine: {
				length: 8,
				length2: 10
			}
		}],
		color: ['#006cff', '#9fe6b8', '#32c5e9', '#1d9dff', '#60cda0', '#ed8884', '#ff9f7f', '#0096ff']
	};
	myechartAge.setOption(option);
}

function pieInstitutionType(data) {
	let recruit_age = data.industry_institution_type;
	let total = 0;
	let other = 0;
	var myechartAge = echarts.init($('.institution_type')[0]);
	recruit_age.map((item, index) => {
		if (item.name == '其他') {
			other = item.count;
		} else {
			total += item.count - 0;
		}
		item.value = item.count;
		return item;
	});
	$('#institution_type_total').text(total);
	$('#institution_type_other').text(other);
	option = {
		// 控制提示
		tooltip: {
			// 非轴图形，使用item的意思是放到数据对应图形上触发提示
			trigger: 'item',
			// 格式化提示内容：
			// a 代表图表名称 b 代表数据名称 c 代表数据  d代表  当前数据/总数据的比例
			formatter: "{b} : {c} ({d}%)"
		},
		// 控制图表
		series: [{
			// 图表名称
			name: '机构类型',
			// 图表类型
			type: 'pie',
			// 南丁格尔玫瑰图 有两个圆  内圆半径10%  外圆半径70%
			// 百分比基于  图表DOM容器的半径
			radius: ['10%', '70%'],
			// 图表中心位置 left 50%  top 50% 距离图表DOM容器
			center: ['50%', '50%'],
			// 半径模式，另外一种是 area 面积模式
			roseType: 'radius',
			// 数据集 value 数据的值 name 数据的名称
			data: recruit_age,
			//文字调整
			label: {
				fontSize: 10
			},
			//引导线
			labelLine: {
				length: 8,
				length2: 10
			}
		}],
		color: ['#006cff', '#9fe6b8', '#32c5e9', '#1d9dff', '#60cda0', '#ed8884', '#ff9f7f', '#0096ff']
	};
	myechartAge.setOption(option);
}


let second = 10;
let set = null;
function countdown() {
	set = setInterval(() => {
		second--;
		if (second == 0) {
			location.href = "/bi";
		}
		$('#countdown').text(second);
	},1000);
}
$(document).ready(() => {
	countdown();
});

$('#countdown').click(() => {
	if (set) {
		clearInterval(set);
		set = null;
	} else {
		countdown();
	}
});