<template>
	<div class="home-wrapper">
		<div class="home-main">
			<div class="home-main-header">
				<div class="home-main-header-top">
					<div class="header-item">国家科技安全</div>
					<div class="header-item">></div>
					<div class="header-item back-item" @click="handleBackHome">中美博弈概览</div>
					<div class="header-item">></div>
					<div class="header-item">科技智库</div>
				</div>
				<div class="home-main-header-center">
					<el-input v-model="searchThinktankText" style="width: 838px; height: 100%" placeholder="搜索科技人物及观点" />
					<div class="search">
						<div class="search-icon">
							<img src="./assets/images/search-icon.png" alt="" />
						</div>
						<div class="search-text" @click="handleSearch">搜索</div>
					</div>
				</div>
				<!-- <div class="home-main-header-footer">
					<div class="home-main-header-footer-item">
						<div class="item-top">128</div>
						<div class="item-footer">追踪智库数量</div>
					</div>
					<div class="home-main-header-footer-item">
						<div class="item-top">42</div>
						<div class="item-footer">本月新增报告</div>
					</div>
					<div class="home-main-header-footer-item">
						<div class="item-top">18</div>
						<div class="item-footer">重点政策建议</div>
					</div>
					<div class="home-main-header-footer-item">
						<div class="item-top">12</div>
						<div class="item-footer">热点科技领域</div>
					</div>
				</div> -->
				<div class="home-main-header-btn-box">
					<div class="btn" @click="scrollToTop('position1')">
						<div class="btn-text">{{ "最新动态" }}</div>
						<div class="btn-icon">
							<img src="@/assets/icons/arrow-right-icon.png" alt="" />
						</div>
					</div>
					<div class="btn" @click="scrollToTop('position2')">
						<div class="btn-text">{{ "资讯要闻" }}</div>
						<div class="btn-icon">
							<img src="@/assets/icons/arrow-right-icon.png" alt="" />
						</div>
					</div>
					<div class="btn" @click="scrollToTop('position3')">
						<div class="btn-text">{{ "数据总览" }}</div>
						<div class="btn-icon">
							<img src="@/assets/icons/arrow-right-icon.png" alt="" />
						</div>
					</div>
					<div class="btn" @click="scrollToTop('position4')">
						<div class="btn-text">{{ "资源库" }}</div>
						<div class="btn-icon">
							<img src="@/assets/icons/arrow-right-icon.png" alt="" />
						</div>
					</div>
				</div>
				<div class="home-main-header-card-box">
					<div class="card" v-for="(item, index) in cardList" :key="index" @click="handleClick(item)">
						<div class="card-header">
							<div class="icon">
								<img :src="item.logo" alt="" />
							</div>
							<div class="rank" :class="{ rank1: item.rank === 1, rank2: item.rank === 2, rank3: item.rank === 3 }">
								{{ "No." + (index + 1) }}
							</div>
						</div>
						<div class="card-title">
							<div class="title-left">{{ item.name }}</div>

							<div class="title-right">{{ item.country }}</div>
						</div>

						<el-popover effect="dark" :content="item.desc" placement="top-start">
							<template #reference>
								<div class="content">{{ item.desc }}</div>
							</template>
						</el-popover>

						<div class="tag-box">
							<div
								class="tag"
								:class="{
									tag1: val.status === 1,
									tag2: val.status === 2,
									tag3: val.status === 3,
									tag4: val.status === 4
								}"
								v-for="(val, idx) in item.tagList"
								:key="idx"
							>
								{{ val.industryName }}
							</div>
						</div>
					</div>
					<div class="card">
						<div class="more">
							{{ "查看全部智库 >" }}
						</div>
					</div>
				</div>
			</div>
			<div class="home-main-center">
				<DivideHeader id="position1" class="divide-header" :titleText="'最新动态'"></DivideHeader>
				<div class="center-top">
					<div class="box1">
						<div class="box1-header">
							<div class="box1-header-left">
								<div class="icon">
									<img src="./assets/images/box1-header-icon.png" alt="" />
								</div>
								<div class="title">{{ "智库发布" }}</div>
							</div>
							<div class="box1-header-right" @click="toDetaile()">查看详情 ></div>
						</div>
						<div style="display: flex">
							<img
								src="./assets/images/right-left-icon1.png"
								alt=""
								style="margin-top: 174px; width: 24px; height: 48px"
								@click="changeBox1Data('previous')"
							/>
							<div class="box1-main">
								<div class="box1-main-left">
									<img :src="box1Data[box1DataIndex]?.imageUrl" alt="" />
								</div>
								<div class="box1-main-right">
									<div class="title">{{ box1Data[box1DataIndex]?.reportName }}</div>
									<div class="tag-box">
										<div
											class="tag"
											v-for="(item, index) in box1Data[box1DataIndex]?.industryVOList"
											:key="index"
										>
											{{ item.industryName }}
										</div>
									</div>
									<div class="content">{{ box1Data[box1DataIndex]?.summary }}</div>
									<div class="box1-right-footer">
										<div class="time">{{ box1Data[box1DataIndex]?.time }}</div>
										<div class="name">
											<div class="logo">
												<img :src="box1Data[box1DataIndex]?.thinkTankImage" alt="" />
											</div>
											<div class="text">{{ box1Data[box1DataIndex]?.thinkTankName }}</div>
											<div class="text">{{ box1Data[box1DataIndex]?.reportDate }}</div>
										</div>
									</div>
								</div>
							</div>
							<img
								src="./assets/images/right-left-icon2.png"
								alt=""
								style="margin-top: 174px; width: 24px; height: 48px"
								@click="changeBox1Data('next')"
							/>
						</div>
					</div>
					<div class="box2">
						<div class="box2-header">
							<div class="icon">
								<img src="./assets/images/box2-header-icon.png" alt="" />
							</div>
							<div class="title">
								<div class="text">{{ "风险信号" }}</div>
								<div class="num">{{ warningList.length }}</div>
							</div>
						</div>
						<div class="box2-main">
							<div class="box2-main-item" v-for="(item, index) in warningList" :key="index">
								<div
									class="item-left"
									:class="{
										itemLeftStatus1: item.status === '一般风险 ' || item.status === '暂无数值',
										itemLeftStatus2: item.status === '重大风险',
										itemLeftStatus3: item.status === '特别重大'
									}"
								>
									{{ item.status || "一般风险" }}
								</div>
								<div class="item-right">
									<el-popover effect="dark" :width="500" :content="item.title" placement="top-start">
										<template #reference>
											<div class="text">
												{{ item.title }}
											</div>
										</template>
									</el-popover>

									<div class="time">{{ item.time }}</div>
								</div>
							</div>
						</div>
						<div class="box2-footer" @click="handleToMoreRiskSignal">
							<div class="icon">
								<img src="./assets/images/box2-footer-icon.png" alt="" />
							</div>
							<div class="text">{{ "查看更多" }}</div>
						</div>
					</div>
				</div>
				<DivideHeader id="position2" class="divide-header" :titleText="'资讯要闻'"></DivideHeader>
				<div class="center-center">
					<div class="box3">
						<div class="box3-header">
							<div class="box3-header-left">
								<div class="box3-header-icon">
									<img src="./assets/images/header-news.png" alt="" />
								</div>
								<div class="box3-header-title">{{ "新闻资讯" }}</div>
								<div class="more" @click="handleToMoreNews">{{ "更多 +" }}</div>
							</div>
						</div>
						<div class="box3-main">
							<div
								class="box3-item"
								v-for="(news, index) in newsList"
								:key="index"
								@click="handleToNewsAnalysis(news)"
							>
								<div class="left">
									<img :src="news.newsImage !== null ? news.newsImage : defaultNewsIcon" />
								</div>
								<div class="right">
									<div class="right-top">
										<div class="title">{{ news.newsTitle }}</div>
										<div class="time">{{ news.newsOrg }}</div>
									</div>

									<el-popover effect="dark" :width="700" :content="news.newsContent" placement="top-start">
										<template #reference>
											<div class="right-footer">{{ news.newsContent }}</div>
										</template>
									</el-popover>
								</div>
							</div>
						</div>
					</div>
					<div class="box4">
						<div class="box4-header">
							<div class="header-icon">
								<img src="./assets/images/header-message.png" alt="" />
							</div>
							<div class="header-title">{{ "智库人物动态" }}</div>
						</div>
						<!-- <div class="box4-tag-box">
							<div class="tag" :class="{
								tagActive: box4ActiveTag === tag.name,
								tag1: tag.status === 1,
								tag2: tag.status === 2,
								tag3: tag.status === 3,
								tag4: tag.status === 4,
								tag5: tag.status === 5
							}" v-for="(tag, index) in box4TagList" :key="index" @click="handleClickBox4Tag(tag.name)">
								{{ tag.name }}
							</div>
						</div> -->
						<div class="box4-main">
							<div class="box4-main-item" v-for="(item, index) in messageList" :key="index">
								<div class="left" @click="handleClickPerson(item)">
									<img :src="item.personImage ? item.personImage : defaultHeaderIcin" alt="" />
								</div>
								<div class="right">
									<div class="right-top">
										<div class="name">{{ item.personName }}</div>
										<div class="time">{{ item.time }}</div>
									</div>
									<div class="content">{{ item.remarks }}</div>
								</div>
							</div>
						</div>
					</div>
				</div>
				<DivideHeader id="position3" class="divide-header" :titleText="'数据总览'"></DivideHeader>
				<div class="center-footer">
					<div class="box5">
						<div class="box5-header">
							<div class="box5-header-left">
								<div class="box5-header-icon">
									<img src="./assets/images/box3-header-icon.png" alt="" />
								</div>
								<div class="box5-header-title">{{ "政策建议趋势分布" }}</div>
							</div>
							<div class="box5-select-box">
								<el-select v-model="box5selectetedMonths" placeholder="选择时间" style="width: 120px">
									<el-option
										v-for="item in box5MonthsList"
										:key="item.value"
										:label="item.label"
										:value="item.value"
										@click="changeBox5Data(item.value)"
									/>
								</el-select>
							</div>
						</div>
						<div class="box5-main" id="box5Chart"></div>
					</div>
					<div class="box6">
						<div class="box6-header">
							<div class="header-icon">
								<img src="./assets/images/box6-header-icon.png" alt="" />
							</div>
							<div class="header-title">{{ "政策建议领域分布" }}</div>
							<div class="box6-select-box">
								<el-select v-model="box6selectetedYear" placeholder="选择时间" style="width: 120px">
									<el-option
										v-for="item in box6YearList"
										:key="item.value"
										:label="item.label"
										:value="item.value"
										@click="handleBox6()"
									/>
								</el-select>
							</div>
						</div>
						<div class="box6-main" id="box6Chart"></div>
					</div>
				</div>
				<div class="center-footer1">
					<div class="box7">
						<div class="box7-header">
							<div class="box7-header-left">
								<div class="box7-header-icon">
									<img src="./assets/images/box7-header-icon.png" alt="" />
								</div>
								<div class="box7-header-title">{{ "智库资金流向" }}</div>
							</div>
						</div>
						<div class="box7-main" id="box7Chart"></div>
					</div>
					<div class="box8">
						<div class="box8-header">
							<div class="box8-header-left">
								<div class="box8-header-icon">
									<img src="./assets/images/box8-header-icon.png" alt="" />
								</div>
								<div class="box8-header-title">{{ "智库研究热点" }}</div>
							</div>
							<div class="box8-select-box">
								<el-select v-model="box8selectetedYear" placeholder="选择时间" style="width: 120px">
									<el-option
										v-for="item in box8YearList"
										:key="item.value"
										:label="item.label"
										:value="item.value"
										@click="changeBox8Data(item.value)"
									/>
								</el-select>
							</div>
						</div>
						<div class="box8-main">
							<div class="box8-item" v-for="(item, index) in box8Data" :key="index">
								<div
									class="item-left"
									:class="{ itemBold1: index === 0, itemBold2: index === 1, itemBold3: index === 2 }"
								>
									{{ index + 1 }}
								</div>
								<!-- <el-popover effect="dark" :content="item.clause" placement="top-start">
									<template #reference> -->
								<div
									class="item-center"
									:class="{ itemBold1: index === 0, itemBold2: index === 1, itemBold3: index === 2 }"
								>
									{{ item.clause }}
								</div>
								<!-- </template>
								</el-popover> -->

								<!-- <div class="item-right">{{ `${item.count}份报告 >` }}</div> -->
							</div>
						</div>
					</div>
				</div>
			</div>

			<div class="home-main-footer">
				<DivideHeader id="position4" class="divide-header" :titleText="'资源库'"></DivideHeader>
				<div class="home-main-footer-header">
					<div class="btn-box">
						<div
							class="btn"
							:class="{ btnActive: activeCate === cate }"
							v-for="(cate, index) in categoryList"
							:key="index"
							@click="handleClickCate(cate)"
						>
							{{ cate }}
						</div>
					</div>
					<el-select v-model="sort" placeholder="发布时间" style="width: 120px; margin-left: 8px">
						<el-option @click="handleGetetThinkTankReport()" :key="true" label="正序" :value="true" />
						<el-option @click="handleGetetThinkTankReport()" :key="false" label="倒序" :value="false" />
					</el-select>
				</div>
				<div class="home-main-footer-main">
					<div class="left">
						<div class="select-box">
							<div class="header">
								<div class="icon"></div>
								<div class="title">{{ "科技领域" }}</div>
							</div>
							<div class="select-main">
								<div class="checkbox-group">
									<el-checkbox
										v-model="checkAll"
										:indeterminate="isIndeterminate"
										class="all-checkbox"
										@change="handleCheckAllChange"
									>
										全部领域
									</el-checkbox>
									<el-checkbox
										v-for="research in areaList"
										:key="research.id"
										v-model="selectedAreaList"
										:label="research.id"
										@change="handleCheckedAreaChange()"
										class="filter-checkbox"
									>
										{{ research.name }}
									</el-checkbox>
								</div>
							</div>
						</div>

						<div class="select-box">
							<div class="header">
								<div class="icon"></div>
								<div class="title">{{ "发布时间" }}</div>
							</div>
							<div class="select-main">
								<div class="checkbox-group">
									<el-checkbox
										v-model="checkAllTime"
										class="all-checkbox"
										:indeterminate="isIndeterminateTime"
										@change="handleCheckAllChangeTime"
									>
										全部时间
									</el-checkbox>
									<el-checkbox-group v-model="selectedPubTimeList">
										<el-checkbox
											v-for="time in pubTimeList"
											:key="time.id"
											:label="time.id"
											class="filter-checkbox"
											@change="handleCheckedAreaChangeTime()"
										>
											{{ time.name }}
										</el-checkbox>
									</el-checkbox-group>
								</div>
							</div>
						</div>
					</div>
					<div class="right">
						<div class="card-box">
							<div
								class="footer-card"
								v-for="(item, index) in curFooterList"
								:key="index"
								@click="handleToReportDetail(item.id)"
							>
								<div class="footer-card-top">
									<img :src="item.imageUrl" alt="" />
								</div>
								<el-popover effect="dark" :content="item.name" placement="top-start">
									<template #reference>
										<div class="footer-card-title">
											{{ item.name }}
										</div>
									</template>
								</el-popover>

								<div class="footer-card-footer">
									<div class="time">{{ item.times }}</div>
									<div class="from">{{ item.thinkTankName }}</div>
								</div>
							</div>
						</div>
						<div class="right-footer">
							<div class="info">共{{ total }}项智库报告</div>
							<div class="page-box">
								<el-pagination
									:page-size="12"
									background
									layout="prev, pager, next"
									:total="total"
									@current-change="handleCurrentChange"
									:current-page="currentPage"
								/>
							</div>
						</div>
					</div>
				</div>
			</div>
		</div>
	</div>
</template>

<script setup>
import { onMounted, ref, computed, reactive } from "vue";
import scrollToTop from "@/utils/scrollToTop";
import router from "@/router";
import DivideHeader from "@/components/DivideHeader.vue";
import setChart from "@/utils/setChart";

import {
	getThinkTankList,
	getThinkTankRiskSignal,
	getThinkTankPolicyIndustryChange,
	getThinkTankPolicyIndustry,
	getThinkTankDonation,
	getThinkTankHot,
	getNewReport,
	getHylyList,
	getThinkTankReport,
	getThinkTankReportNews,
	getThinkTankReportRemarks
} from "@/api/thinkTank/overview";
import { getPersonSummaryInfo } from "@/api/common/index";

import getMultiLineChart from "./utils/multiLineChart";
import getPieChart from "./utils/piechart";
import getSankeyChart from "./utils/sankey";
import defaultNewsIcon from "@/assets/icons/default-icon-news.png";
import defaultHeaderIcin from "@/assets/icons/default-icon1.png";
import News1 from "./assets/images/news1.png";
import News2 from "./assets/images/news2.png";
import News3 from "./assets/images/news3.png";
import News4 from "./assets/images/news4.png";
import News5 from "./assets/images/news5.png";

import Message1 from "./assets/images/message-icon1.png";
import Message2 from "./assets/images/message-icon2.png";
import Message3 from "./assets/images/message-icon3.png";

import Logo1 from "./assets/images/logo1.png";
import Logo2 from "./assets/images/logo2.png";
import Logo3 from "./assets/images/logo3.png";
import Logo4 from "./assets/images/logo4.png";
import Logo5 from "./assets/images/logo5.png";

import Img1 from "./assets/images/img1.png";
import Img2 from "./assets/images/img2.png";
import Img3 from "./assets/images/img3.png";
import Img4 from "./assets/images/img4.png";
import Img5 from "./assets/images/img5.png";
import Img6 from "./assets/images/img6.png";
import Img7 from "./assets/images/img7.png";
import Img8 from "./assets/images/img8.png";
import Img9 from "./assets/images/img9.png";
import Img10 from "./assets/images/img10.png";
import Img11 from "./assets/images/img11.png";
import Img12 from "./assets/images/img12.png";

import Box1Img from "./assets/images/box1-img.png";
import Box1Logo from "./assets/images/box1-logo.png";
import { setCanvasCreator } from "echarts/core";
import { ElMessage } from "element-plus";

const searchThinktankText = ref(""); //搜索科技人物及观点
// 智库列表
const cardList = ref([
	// {
	// 	id: 1,
	// 	logo: Logo1,
	// 	rank: 1,
	// 	name: "兰德科技智库",
	// 	country: "美国",
	// 	desc: "全球顶尖政策研究机构，专注于国家安全、科技政策、医疗卫生、能源政策、公共安全等领域的研究。 ",
	// 	tagList: [
	// 		{
	// 			name: "国家安全",
	// 			status: 2
	// 		},
	// 		{
	// 			name: "科技政策",
	// 			status: 4
	// 		}
	// 	]
	// },
	// {
	// 	id: 2,
	// 	logo: Logo2,
	// 	rank: 2,
	// 	name: "布鲁金斯学会",
	// 	country: "美国",
	// 	desc: "专注于全球经济与发展、外交政策、都市政策、治理研究等领域，是美国最具影响力的智库之一。",
	// 	tagList: [
	// 		{
	// 			name: "经济政策",
	// 			status: 3
	// 		},
	// 		{
	// 			name: "公共政策",
	// 			status: 1
	// 		}
	// 	]
	// }
]);
// 获取智库列表
const handleGetThinkTankList = async () => {
	try {
		const res = await getThinkTankList();
		console.log("智库列表", res);
		if (res.code === 200 && res.data) {
			cardList.value = res.data.map(item => {
				return {
					id: item.id,
					logo: item.imageUrl,
					name: item.name,
					tagList: item.tags,
					country: item.country,
					desc: item.describe,
					rank: item.id
				};
			});
		}
	} catch (error) {
		console.error("获取智库列表error", error);
	}
};

// 智库发布
const box1DataIndex = ref(0);
const box1Data = ref({
	// img: Box1Img,
	// title: "中美经济竞争：复杂经济和地缘政治关系中的收益和风险",
	// tagList: ["外交", "军事", "经济"],
	// content: `自2017年以来，美中竞争，包括经济竞争，已成为美国外交政策的定义。这两个经济体是世界上第一和第二大国家经济体，彼此紧密交织。无论多么必要的关系变化，都可能付出高昂代价。因此，美国面临着在双重战略竞争条件下确保其经济满足国家需求的挑战。为应对这一挑战，兰德研究人员对美中竞争进行了经济和制度分析，开展了参与式前瞻性研究，以理解确保美国经济健全发展`,
	// time: "2025年9月16日",
	// from: "兰德科技智库",
	// logo: Box1Logo
});
//获取智库发布
const handleGetNewReport = async () => {
	try {
		const res = await getNewReport();
		console.log("智库发布", res);
		if (res.code === 200 && res.data) {
			box1Data.value = res.data;
		}
	} catch (error) {
		console.error("获取智库列表error", error);
	}
};

//前后切换智库发布
function changeBox1Data(type) {
	console.log(type, box1DataIndex.value);
	if (type === "previous") {
		box1DataIndex.value === 0 ? "" : (box1DataIndex.value = box1DataIndex.value - 1);
	} else {
		box1DataIndex.value === box1Data.value.length - 1 ? "" : (box1DataIndex.value = box1DataIndex.value + 1);
	}
}

const toDetaile = () => {
	const route = router.resolve({
		name: "ReportDetail",
		params: {
			id: box1Data.value[box1DataIndex.value].reportId
		}
	});
	window.open(route.href, "_blank");
};
// 风险信号
const warningList = ref([
	{
		title: "关于对中华人民共和国合成阿片类药物供应链...",
		time: "一天前",
		status: "特别重大"
	},
	{
		title: "关于调整钢铁进口的公告",
		time: "一天前",
		status: "重大风险"
	},
	{
		title: "关于修订对中华人民共和国低价值进口商品适...",
		time: "一天前",
		status: "一般风险"
	}
]);
// 获取智库风险信号
const handleGetThinkTankRiskSignal = async () => {
	try {
		const res = await getThinkTankRiskSignal();
		console.log("智库风险信号", res);
		if (res.code === 200) {
			warningList.value = res.data.map(item => {
				return {
					title: item.name,
					time: item.times,
					id: item.reportId,
					status: item.riskLevel || "暂无数值"
				};
			});
		}
	} catch (error) {
		console.error("获取智库风险信号error", error);
	}
};

// 新闻资讯
const newsList = ref([
	{
		img: News1,
		title: "美政府停摆仍持续，拨款法案存缺陷，但两党磋商露曙光",
		content: `美国政府停摆已持续34天，距离历史上最长的停摆纪录仅差一天，参议院已先后13次尝试...`,
		from: "11-4 · 华盛顿邮报"
	},
	{
		img: News2,
		title: "美参议院通过决议，要求终止特朗普全球关税政策",
		content: `参议院以51票赞成、47票反对通过一项决议，旨在终止特朗普实施的全面关税政策，四名......`,
		from: "11-4 · 纽约时报"
	},
	{
		img: News3,
		title: "美众院通过950亿美元对外援助法案，包含对台军援",
		content: `国会众议院在4月通过了大规模对外援助法案，其中包括为“印太安全”提供资金的条款，......`,
		from: "11-3 · 洛杉矶时报"
	},
	{
		img: News4,
		title: "“大而美”法案在激烈争议中通过",
		content: `特朗普力推的大规模税收与支出法案在国会以微弱优势通过。该法案因大幅削减医疗补助和......`,
		from: "11-3 · 今日美国"
	},
	{
		img: News5,
		title: "美政府“停摆”追平历史最长纪录，民生多领域受重创",
		content: `联邦政府“停摆”进入第35天，追平历史纪录。食品救济项目资金中断，数百万低收入民......`,
		from: "11-2 ·  ​福克斯新闻网"
	}
]);

//获取新闻资讯
const handleGetThinkTankReportNews = async () => {
	try {
		const res = await getThinkTankReportNews();
		console.log("新闻资讯", res);
		if (res.code === 200 && res.data) {
			newsList.value = res.data;
		}
	} catch (error) {
		console.error("获取新闻资讯error", error);
	}
};
// 智库人物动态
// const box4TagList = ref([
// 	{
// 		name: "新能源",
// 		status: 3
// 	},
// 	{
// 		name: "人工智能",
// 		status: 2
// 	},
// 	{
// 		name: "通信网络",
// 		status: 2
// 	},
// 	{
// 		name: "量子科技",
// 		status: 5
// 	},
// 	{
// 		name: "生物科技",
// 		status: 1
// 	},
// 	{
// 		name: "集成电路",
// 		status: 4
// 	}
// ]);

// const box4ActiveTag = ref("通信网络");
// const handleClickBox4Tag = tag => {
// 	box4ActiveTag.value = tag;
// };

const messageList = ref([
	{
		img: Message1,
		name: "唐纳德·特朗普",
		time: "15:23 · 发布于真实社交",
		content: `埃隆·马斯克在强力支持我竞选总统之前，早就知道我强烈反对‘电动汽车强制令’。这太荒谬了，这一直是我竞选活动的主要部分。电动汽车没问题，但不应该强迫每个人都拥有一辆。埃隆获得的补贴可能远远超过历史上任何一个人。如果没有补贴，埃隆可能不得不关门大吉，回到南非老家。`
	},
	{
		img: Message2,
		name: "埃隆·马斯克",
		time: "14:49 · 发布于X",
		content: `如果这个疯狂的支出法案获得通过，‘美国党’将在第二天成立。`
	},
	{
		img: Message3,
		name: "塞巴斯蒂安·马拉比",
		time: "11:05 · 发布于X",
		content: `提出特朗普政府的AI政策强调技术开放与快速应用，但可能以牺牲安全防范为代价，开启了“潘多拉魔盒”。`
	}
]);

//智库人物动态
const handleGetThinkTankReportRemarks = async () => {
	try {
		const res = await getThinkTankReportRemarks();
		console.log("智库人物动态", res);
		if (res.code === 200 && res.data) {
			messageList.value = res.data;
		}
	} catch (error) {
		console.error("获取智库人物动态error", error);
	}
};

// 政策建议趋势分布
const box5Data = ref({
	// title: ["2014", "2015", "2016", "2017", "2018", "2019", "2020", "2021", "2022", "2023", "2024", "2025"],
	// data: [
	// 	{
	// 		name: "人工智能",
	// 		value: [73, 32, 42, 48, 38, 49, 63, 75, 70, 86, 95, 87]
	// 	},
	// 	{
	// 		name: "集成电路",
	// 		value: [8, 3, 2, 8, 9, 10, 12, 18, 16, 18, 20, 22]
	// 	},
	// 	{
	// 		name: "量子科技",
	// 		value: [1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 2, 3]
	// 	}
	// ]
});

//获取当前时间x年前的日期
function getDateYearsAgo(years) {
	// 获取当前日期
	const currentDate = new Date();
	// 计算指定年数之前的日期
	const pastDate = new Date(currentDate.getFullYear() - years, currentDate.getMonth(), currentDate.getDate());
	// 格式化日期为 "YYYY-MM-DD" 的形式
	const year = pastDate.getFullYear();
	const month = String(pastDate.getMonth() + 1).padStart(2, "0"); // 月份从0开始，需要加1
	const day = String(pastDate.getDate()).padStart(2, "0");
	return `${year}-${month}-${day}`;
}
function getDateMonthsAgo(months) {
	// 获取当前日期
	const currentDate = new Date();
	// 计算指定月数之前的日期
	const pastDate = new Date(currentDate);
	pastDate.setMonth(currentDate.getMonth() - months); // 减去指定的月数
	// 格式化日期为 "YYYY-MM-DD" 的形式
	const year = pastDate.getFullYear();
	const month = String(pastDate.getMonth() + 1).padStart(2, "0"); // 月份从0开始，需要加1
	const day = String(pastDate.getDate()).padStart(2, "0");
	return `${year}-${month}-${day}`;
}
const box5selectetedMonths = ref(24);
const box5MonthsList = ref([
	{
		label: "近3个月",
		value: 3
	},
	{
		label: "近6个月",
		value: 6
	},
	{
		label: "近12个月",
		value: 12
	},
	{
		label: "近24个月",
		value: 24
	}
]);

function changeBox5Data(value) {
	handleBox5(getDateMonthsAgo(value));
}
// 政策建议趋势分布
const handleGetThinkTankPolicyIndustryChange = async date => {
	try {
		const res = await getThinkTankPolicyIndustryChange(date);
		console.log("政策建议趋势分布", res);
		if (res.code === 200 && res.data) {
			const originalData = res.data;
			// 提取年份
			const years = originalData.map(item => item.year);
			// 提取所有行业名称
			const industries = new Set();
			originalData.forEach(item => {
				item.industryList.forEach(industry => {
					industries.add(industry.industry);
				});
			});

			// 初始化目标数据结构
			const result = {
				title: years,
				data: []
			};

			// 遍历每个行业，生成对应的 value 数组
			industries.forEach(industry => {
				const industryData = {
					name: industry,
					value: []
				};
				originalData.forEach(yearData => {
					const amount = yearData.industryList.find(i => i.industry === industry)?.amount || 0;
					industryData.value.push(amount);
				});
				result.data.push(industryData);
			});
			box5Data.value = result;
		} else {
			box5Data.value = [];
		}
	} catch (error) {
		console.error("获取政策建议趋势分布error", error);
	}
};
const handleBox5 = async date => {
	await handleGetThinkTankPolicyIndustryChange(date);

	let box5Chart = box5Data.value ? getMultiLineChart(box5Data.value) : "";
	setChart(box5Chart, "box5Chart");
};

// 政策建议领域分布
const box6Data = ref([
	{
		name: "半导体",
		value: 50,
		color: "#4096FF"
	},
	{
		name: "电子设备",
		value: 46,
		color: "#FFA39E"
	},
	{
		name: "显示技术",
		value: 40,
		color: "#ADC6FF"
	},
	{
		name: "新能源",
		value: 32,
		color: "#FFC069"
	},
	{
		name: "通信设备",
		value: 31,
		color: "#B5F5EC"
	},
	{
		name: "汽车",
		value: 30,
		color: "#B37FEB"
	},
	{
		name: "其他",
		value: 24,
		color: "#D6E4FF"
	}
]);
const box6selectetedYear = ref("2025");
const box6YearList = ref([
	{
		label: "2025",
		value: "2025"
	},
	{
		label: "2024",
		value: "2024"
	},
	{
		label: "2023",
		value: "2023"
	},
	{
		label: "2022",
		value: "2022"
	}
]);
function transformToChartFormat(data) {
	// 预设颜色池（可按需修改或扩展）
	const colorPalette = ["#4096FF", "#FFA39E", "#ADC6FF", "#FFC069", "#B5F5EC", "#B37FEB", "#D6E4FF", "#FF8C8C", "#87E8DE"];

	return data.map((item, index) => ({
		name: item.industry,
		value: item.amount,
		color: colorPalette[index % colorPalette.length]
	}));
}
// 政策建议领域分布
const handleGetThinkTankPolicyIndustry = async () => {
	const params = {
		year: box6selectetedYear.value
	};
	try {
		const res = await getThinkTankPolicyIndustry(params);

		console.log("政策建议领域分布", res);
		if (res.code === 200 && res.data) {
			box6Data.value = transformToChartFormat(res.data);
			console.log(transformToChartFormat(res.data), "datadatadata");
		} else {
			box6Data.value = [];
		}
	} catch (error) {
		console.error("获取政策建议领域分布error", error);
	}
};

const handleBox6 = async () => {
	await handleGetThinkTankPolicyIndustry();
	const box6Chart = getPieChart(box6Data.value);
	setChart(box6Chart, "box6Chart");
};

// 智库资金流向
const box7Data = ref({
	nodes: [
		{ name: "美国", itemStyle: { color: "#1f5cb8" } },
		{ name: "英国", itemStyle: { color: "#6f42c1" } },
		{ name: "加拿大", itemStyle: { color: "#d9534f" } },
		// 中间层
		{ name: "美国能源部", itemStyle: { color: "#a4c639" } },
		{ name: "美国财政部", itemStyle: { color: "#f06292" } },
		{ name: "美国国务院", itemStyle: { color: "#b08d55" } },
		{ name: "美国国际开发署", itemStyle: { color: "#4285f4" } },
		{ name: "美国内政部", itemStyle: { color: "#8cae9e" } },
		{ name: "美国国家民主基金会", itemStyle: { color: "#a1887f" } },
		// 右侧层 (部分)
		{ name: "麻省理工学院科技评论", itemStyle: { color: "#7cb342" } },
		{ name: "麦肯锡全球研究院", itemStyle: { color: "#cddc39" } },
		{ name: "卡内基国际和平研究院", itemStyle: { color: "#afb42b" } },
		{ name: "战略与国际研究中心", itemStyle: { color: "#827717" } },
		{ name: "兰德公司", itemStyle: { color: "#689f38" } }
	],

	links: [
		{ source: "美国", target: "美国能源部", value: 50 },
		{ source: "美国", target: "美国财政部", value: 40 },
		{ source: "美国", target: "美国国务院", value: 60 },
		{ source: "美国", target: "美国国际开发署", value: 20 },
		{ source: "美国", target: "美国内政部", value: 15 },
		{ source: "英国", target: "美国国务院", value: 10 },
		{ source: "加拿大", target: "美国能源部", value: 5 },

		// Flow to right
		{ source: "美国能源部", target: "麻省理工学院科技评论", value: 20 },
		{ source: "美国能源部", target: "麦肯锡全球研究院", value: 25 },
		{ source: "美国财政部", target: "卡内基国际和平研究院", value: 30 },
		{ source: "美国国务院", target: "战略与国际研究中心", value: 40 },
		{ source: "美国国务院", target: "兰德公司", value: 15 }
	]
});

// 遍历每个智库
function transformDataToSankey(inputData) {
	const nodes = [];
	const links = [];

	// 遍历输入数据
	inputData.forEach(item => {
		const thinkTankName = item.thinkTankName;

		// 添加智库节点（如果尚未添加）
		if (!nodes.some(node => node.name === thinkTankName)) {
			nodes.push({ name: thinkTankName });
		}

		// 遍历捐赠来源
		item.thinkTankDonationSourceVOList.forEach(donation => {
			const institution = donation.institution;
			const secondInstitution = donation.secondInstitution;
			const amount = donation.amount;

			// 添加捐赠机构节点（如果尚未添加）
			if (!nodes.some(node => node.name === institution)) {
				nodes.push({ name: institution });
			}

			// 如果存在二级机构，也添加二级机构节点（如果尚未添加）
			if (secondInstitution && !nodes.some(node => node.name === secondInstitution)) {
				nodes.push({ name: secondInstitution });
			}

			// 添加链接
			if (secondInstitution) {
				// 如果存在二级机构，先从捐赠机构到二级机构
				if (institution !== secondInstitution) {
					// 检查自引用
					links.push({
						source: institution,
						target: secondInstitution,
						value: amount
					});
				}
				// 再从二级机构到智库
				if (secondInstitution !== thinkTankName) {
					// 检查自引用
					links.push({
						source: secondInstitution,
						target: thinkTankName,
						value: amount
					});
				}
			} else {
				// 如果没有二级机构，直接从捐赠机构到智库
				if (institution !== thinkTankName) {
					// 检查自引用
					links.push({
						source: institution,
						target: thinkTankName,
						value: amount
					});
				}
			}
		});
	});

	return { nodes, links };
}

// 智库资金流向
const handleGetThinkTankDonation = async () => {
	try {
		const res = await getThinkTankDonation();
		console.log("智库资金流向", res.data, transformDataToSankey(res.data));
		if (res.code === 200 && res.data) {
			box7Data.value = transformDataToSankey(res.data);
		}
	} catch (error) {
		console.error("获取智库资金流向error", error);
	}
};
const handleBox7 = async () => {
	await handleGetThinkTankDonation();
	const box7Chart = getSankeyChart(box7Data.value.nodes, box7Data.value.links);
	setChart(box7Chart, "box7Chart");
};

// 智库研究热点
const box8Data = ref([
	// {
	// 	title: "人工智能领域竞争发展",
	// 	report: "11份报告"
	// },
	// {
	// 	title: "美元未来与能源出口挂钩",
	// 	report: "7份报告"
	// },
	// {
	// 	title: "量子领域国家合作",
	// 	report: "5份报告"
	// },
	// {
	// 	title: "限制中国产燃油进口",
	// 	report: "5份报告"
	// },
	// {
	// 	title: "禁止政府部门采购受控半导体或服务",
	// 	report: "4份报告"
	// },
	// {
	// 	title: "禁止向部分中国实体提供资金",
	// 	report: "3份报告"
	// },
	// {
	// 	title: "中国生产电池",
	// 	report: "2份报告"
	// },
	// {
	// 	title: "重视新兴中国技术公司威胁",
	// 	report: "2份报告"
	// },
	// {
	// 	title: "禁止卫星出口至中国",
	// 	report: "1份报告"
	// },
	// {
	// 	title: "华为设备",
	// 	report: "1份报告"
	// }
]);

const box8selectetedYear = ref(1);
const box8YearList = ref([
	{
		label: "近一年",
		value: 1
	},
	{
		label: "近两年",
		value: 2
	},
	{
		label: "近三年",
		value: 3
	}
]);

function changeBox8Data(value) {
	handleGetThinkTankHot(getDateYearsAgo(value));
}

//智库研究热点
const handleGetThinkTankHot = async date => {
	try {
		const res = await getThinkTankHot(date);
		console.log("智库研究热点", res);
		if (res.code === 200 && res.data) {
			box8Data.value = res.data;
		} else {
			box8Data.value = [];
		}
	} catch (error) {
		console.error("获取智库研究热点error", error);
	}
};

// 资源库
const categoryList = ref(["智库报告", "政策建议"]);
const activeCate = ref("智库报告");
const handleClickCate = cate => {
	activeCate.value = cate;
};

const areaList = ref([
	// {
	// 	id: "全部领域",
	// 	name: "全部领域"
	// },
	// "通信网络",
	// "量子科技",
	// "能源"
]);

//获取行业领域字典
// getHylyList
const handleGetHylyList = async () => {
	try {
		const res = await getHylyList();
		console.log("行业领域字典", res);
		if (res.code === 200 && res.data) {
			areaList.value = res.data;
		}
	} catch (error) {
		console.error("获取行业领域字典error", error);
	}
};

const checkAll = ref(false);
const isIndeterminate = ref(true);
const selectedAreaList = ref([]);

const handleCheckAllChange = val => {
	// console.log(val, "handleCheckAllChange");
	if (val) {
		isIndeterminate.value = false;
		selectedAreaList.value.length !== areaList.value.length
			? (selectedAreaList.value = areaList.value.map(obj => obj.id))
			: "";
	} else {
		selectedAreaList.value = [];
	}
	// selectedAreaList.value = val ? areaList : []
	// isIndeterminate.value = false
	handleGetetThinkTankReport();
};
const handleCheckedAreaChange = () => {
	// console.log(selectedAreaList.value, "handleCheckedAreaChange");
	console.log(selectedAreaList.value, "当前选中的领域");
	selectedAreaList.value.length !== areaList.value.length
		? (isIndeterminate.value = true)
		: ((checkAll.value = true), (isIndeterminate.value = false));
	handleGetetThinkTankReport();
};

const pubTimeList = ref([
	{
		id: 2025,
		name: "2025"
	},
	{
		id: 2024,
		name: "2024"
	},
	{
		id: 2023,
		name: "2023"
	},
	{
		id: 2022,
		name: "2022"
	},
	{
		id: 2021,
		name: "2021"
	}
	// {
	// 	id: "更早时间",
	// 	name: "更早时间"
	// }
]);
const selectedPubTimeList = ref([""]);
const checkAllTime = ref(false);
const isIndeterminateTime = ref(true);
const sort = ref(false);
const handleCheckAllChangeTime = val => {
	// console.log(val, "handleCheckAllChange");
	if (val) {
		isIndeterminateTime.value = false;
		selectedPubTimeList.value.length !== pubTimeList.value.length
			? (selectedPubTimeList.value = pubTimeList.value.map(obj => obj.id))
			: "";
	} else {
		selectedPubTimeList.value = [];
	}
	// selectedAreaList.value = val ? areaList : []
	// isIndeterminate.value = false
	handleGetetThinkTankReport();
};
const handleCheckedAreaChangeTime = () => {
	// console.log(selectedAreaList.value, "handleCheckedAreaChange");
	console.log(selectedPubTimeList.value, "当前选中的时间");
	selectedPubTimeList.value.length !== pubTimeList.value.length
		? (isIndeterminateTime.value = true)
		: ((checkAllTime.value = true), (isIndeterminateTime.value = false));
	handleGetetThinkTankReport();
};

const curFooterList = ref([
	{
		title: "中国对AI的转型产业政策",
		time: "2025年6月26日",
		from: "兰德科技智库",
		img: Img1
	},
	{
		title: "中美对抗、竞争和合作跨越人工智能通用领域...",
		time: "2025年6月26日",
		from: "兰德科技智库",
		img: Img2
	},
	{
		title: "中国、智慧城市和中东：地区和美国的选择",
		time: "2025年6月26日",
		from: "兰德科技智库",
		img: Img3
	},
	{
		title: "中国对AI的转型产业政策",
		time: "2025年6月26日",
		from: "兰德科技智库",
		img: Img4
	},
	{
		title: "中美经济竞争：复杂经济和地缘政治关系中的...",
		time: "2025年6月26日",
		from: "兰德科技智库",
		img: Img5
	},
	{
		title: "中国、智慧城市和中东：留给地区和美国的选择",
		time: "2025年6月26日",
		from: "兰德科技智库",
		img: Img6
	},
	{
		title: "中国对AI的转型产业政策",
		time: "2025年6月26日",
		from: "兰德科技智库",
		img: Img7
	},
	{
		title: "中美对抗、竞争和合作跨越人工智能通用领域...",
		time: "2025年6月26日",
		from: "",
		img: Img8
	},
	{
		title: "中国、智慧城市和中东：地区和美国的选择",
		time: "2025年6月26日",
		from: "兰德科技智库",
		img: Img9
	},
	{
		title: "中国对AI的转型产业政策",
		time: "2025年6月26日",
		from: "兰德科技智库",
		img: Img10
	},
	{
		title: "中美对抗、竞争和合作跨越人工智能通用领域...",
		time: "2025年6月26日",
		from: "兰德科技智库",
		img: Img11
	},
	{
		title: "中国、智慧城市和中东：地区和美国的选择",
		time: "2025年6月26日",
		from: "兰德科技智库",
		img: Img12
	}
]);
const currentPage = ref(1);
const total = ref(0);
// 处理页码改变事件
const handleCurrentChange = page => {
	console.log(page, "pagepagepage");
	currentPage.value = page;
	handleGetetThinkTankReport();
};
function arrayToString(arr) {
	return arr.reduce((acc, item) => {
		if (item !== null && item !== undefined && item !== "") {
			return acc === "" ? item : acc + "," + item;
		}
		return acc;
	}, "");
}

//获取智库报告
const handleGetetThinkTankReport = async () => {
	const params = {
		currentPage: currentPage.value - 1,
		pageSize: 12,
		sortFun: sort.value,
		researchTypeIds: arrayToString(selectedAreaList.value),
		years: arrayToString(selectedPubTimeList.value)
	};
	try {
		const res = await getThinkTankReport(params);
		console.log("智库报告", res);
		if (res.code === 200 && res.data) {
			curFooterList.value = res.data.content;
			total.value = res.data.totalElements;
		}
	} catch (error) {
		console.error("获取智库报告error", error);
	}
};

const handleClick = tank => {
	console.log(tank);
	// router.push({ name: "ThinkTankDetail", params: { id: tank.id } });
	if (!tank.id) {
		ElMessage.warning("当前智库id为空,无法进入详情页");
		return;
	}
	const curRoute = router.resolve({ name: "ThinkTankDetail", params: { id: tank.id, name: tank.name } });
	window.open(curRoute.href, "_blank");
};

// 返回首页
const handleBackHome = () => {
	router.push({
		path: "/overview"
	});
};

// 查看更多风险信号
const handleToMoreRiskSignal = () => {
	const route = router.resolve("/riskSignal");
	window.open(route.href, "_blank");
};

// 查看更多新闻资讯
const handleToMoreNews = () => {
	const route = router.resolve("/newsBrief");
	window.open(route.href, "_blank");
};

// 点击人物头像，跳转到人物主页
const handleClickPerson = async item => {
	console.log("person", item);
	const personTypeList = JSON.parse(window.sessionStorage.getItem("personTypeList"));
	console.log("personTypeList", personTypeList);

	let type = 0;
	let personTypeName = "";

	const params = {
		personId: item.personId
	};
	try {
		const res = await getPersonSummaryInfo(params);
		console.log("人物全局信息", res);
		if (res.code === 200 && res.data) {
			const arr = personTypeList.filter(item => {
				return item.typeId === res.data.personType;
			});
			console.log("arr", arr);

			if (arr && arr.length > 0) {
				personTypeName = arr[0].typeName;
				console.log("personTypeName", personTypeName);

				if (personTypeName === "科技企业领袖") {
					type = 1;
				} else if (personTypeName === "国会议员") {
					type = 2;
				} else if (personTypeName === "智库研究人员") {
					type = 3;
				} else {
					personTypeName = "";
					ElMessage.warning("找不到当前人员的类型值！");
					return;
				}
				const route = router.resolve({
					path: "/characterPage",
					query: {
						type: type, // type=1为科技企业领袖，2为国会议员，3为智库研究人员
						personId: item.personId
					}
				});
				window.open(route.href, "_blank");
			} else {
				personTypeName = "";
				ElMessage.warning("找不到当前人员的类型值！");
				return;
			}
		} else {
			ElMessage.warning("找不到当前人员的类型值！");
			return;
		}
	} catch (error) {}
};

// 点击新闻条目，跳转到新闻分析页
const handleToNewsAnalysis = news => {
	const route = router.resolve({
		path: "/newsAnalysis",
		query: {
			newsId: news.newsId
		}
	});
	window.open(route.href, "_blank");
};

const handleToReportDetail = id => {
	const route = router.resolve({
		name: "ReportDetail",
		params: {
			id: id
		}
	});
	window.open(route.href, "_blank");
};

const handleSearch = () => {
	const curRoute = router.resolve({
		path: "/searchResults",
		query: {
			searchText: searchThinktankText.value,
			areaName: '智库'
		}
	});
	window.open(curRoute.href, "_blank");
	
}

onMounted(async () => {
	handleGetThinkTankList();
	// 定义一个定时器，每隔2秒轮播一次
	setInterval(() => {
		// 索引加1
		box1DataIndex.value++;
		// 如果索引大于等于数组长度，重置为0，实现循环轮播
		if (box1DataIndex.value >= box1Data.value.length) {
			box1DataIndex.value = 0;
		}
	}, 3000); // 2000毫秒，即2秒
	handleGetNewReport();
	handleGetThinkTankRiskSignal();

	handleBox5(getDateMonthsAgo(24));
	handleBox6();
	handleBox7();
	handleGetHylyList();
	handleGetThinkTankHot(getDateYearsAgo(1));
	handleGetetThinkTankReport();
	handleGetThinkTankReportNews();
	handleGetThinkTankReportRemarks();
});
</script>

<style lang="scss" scoped>
:deep(.el-input__wrapper) {
	box-shadow: none;
}

.home-wrapper {
	width: 100%;
	height: calc(100vh - 96px);
	position: relative;
	overflow-y: hidden;

	.home-main {
		width: 100%;
		height: 100%;
		overflow-y: auto;
		background: url("./assets/images/background.png");
		background-size: 100% 100%;

		.home-main-header {
			display: flex;
			flex-direction: column;
			align-items: center;

			.home-main-header-top {
				box-sizing: border-box;
				width: 100%;
				height: 64px;
				color: rgba(95, 101, 108, 1);
				font-family: Microsoft YaHei;
				font-size: 16px;
				font-weight: 400;
				line-height: 64px;
				background: url("./assets/images/header-bg.png");
				font-family: Microsoft YaHei;
				font-size: 20px;
				font-weight: 700;
				color: #fff;
				padding-left: 160px;
				display: flex;

				.header-item {
					margin: 0 3px;
				}

				.back-item {
					cursor: pointer;

					&:hover {
						color: #ccc;
					}
				}
			}

			.home-main-header-center {
				margin-top: 48px;
				width: 960px;
				height: 48px;
				border-radius: 10px;
				box-shadow: 0px 0px 15px 0px rgba(22, 119, 255, 0.1);
				background: rgba(255, 255, 255, 1);
				box-sizing: border-box;
				padding: 1px;
				position: relative;
				border: 1px solid transparent;

				&:hover {
					border: 1px solid var(--color-main-active);
				}

				.search {
					position: absolute;
					right: -1px;
					top: 0px;
					width: 120px;
					height: 46px;
					border-radius: 10px;
					background: var(--color-main-active);
					display: flex;
					justify-content: center;
					align-items: center;
					cursor: pointer;

					.search-icon {
						width: 18px;
						height: 18px;

						img {
							width: 100%;
							height: 100%;
						}
					}

					.search-text {
						margin-left: 8px;
						height: 22px;
						color: #fff;
						font-family: Microsoft YaHei;
						font-size: 16px;
						font-weight: 400;
						line-height: 22px;
					}
				}
			}

			.home-main-header-footer {
				margin-top: 38px;
				width: 688px;
				height: 64px;
				box-sizing: border-box;
				display: flex;
				justify-content: space-between;

				.home-main-header-footer-item {
					padding: 0 10px;
					text-align: center;

					.item-top {
						height: 22px;
						color: rgba(20, 89, 187, 1);
						font-family: Microsoft YaHei;
						font-size: 36px;
						font-weight: 700;
						line-height: 22px;
					}

					.item-footer {
						margin-top: 10px;
						height: 30px;
						color: rgba(95, 101, 108, 1);
						font-family: Microsoft YaHei;
						font-size: 16px;
						font-weight: 400;
						line-height: 30px;
					}
				}
			}

			.home-main-header-btn-box {
				width: 688px;
				margin: 0 auto;
				margin-top: 39px;
				display: flex;
				justify-content: space-between;
				.btn {
					display: flex;
					align-items: center;
					gap: 9px;
					width: 160px;
					height: 48px;
					border: 1px solid #aed6ff;
					box-sizing: border-box;
					border-radius: 24px;
					background: #e7f3ff;
					cursor: pointer;
					position: relative;
					&:hover {
						background: #cae3fc;
					}
					.btn-text {
						width: 80px;
						color: var(--color-main-active);
						font-family: Microsoft YaHei;
						font-size: 20px;
						font-weight: 400;
						line-height: 48px;
						margin-left: 36px;
						text-align: center;
					}
					.btn-icon {
						position: absolute;
						top: 16px;
						right: 19px;
						width: 6px;
						height: 12px;
						img {
							width: 100%;
							height: 100%;
						}
					}
				}
			}

			.home-main-header-card-box {
				margin-top: 64px;
				width: 1600px;
				display: flex;
				justify-content: space-between;

				.card {
					width: 253px;
					height: 228px;
					box-sizing: border-box;
					border: 1px solid rgba(255, 255, 255, 1);
					border-radius: 10px;
					box-shadow: 0px 0px 20px 0px rgba(25, 69, 130, 0.1);
					background: rgba(255, 255, 255, 0.65);
					transition: all 0.3s;
					cursor: pointer;

					&:hover {
						transform: translateY(-3px);
						box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
					}

					.card-header {
						display: flex;
						height: 32px;
						margin-top: 19px;
						margin-left: 20px;
						justify-content: space-between;

						.icon {
							width: 32px;
							height: 32px;

							img {
								width: 100%;
								height: 100%;
							}
						}

						.rank {
							width: 100px;
							height: 32px;
							line-height: 32px;
							text-align: center;
							background: linear-gradient(270deg, rgba(10, 87, 166, 0.3), rgba(10, 87, 166, 0) 100%);
							color: rgba(5, 95, 194, 1);
							font-family: YouSheBiaoTiHei;
							font-size: 24px;
							font-weight: 400;
							line-height: 32px;
							letter-spacing: 0px;
							overflow: hidden;
							// text-overflow: ellipsis;
							// white-space: nowrap;
						}

						.rank1 {
							background: linear-gradient(270deg, rgba(206, 79, 81, 0.3), rgba(206, 79, 81, 0) 100%);
							color: rgba(206, 79, 81, 1);
						}

						.rank2 {
							background: linear-gradient(270deg, rgba(255, 172, 77, 0.3), rgba(255, 172, 77, 0) 100%);
							color: rgba(255, 149, 77, 1);
						}

						.rank3 {
							background: linear-gradient(270deg, rgba(255, 197, 61, 0.3), rgba(255, 197, 61, 0) 100%);
							color: rgba(255, 197, 61, 1);
						}
					}

					.card-title {
						margin-top: 13px;
						display: flex;
						margin-left: 20px;
						margin-right: 21px;
						justify-content: space-between;

						.title-left {
							width: 175px;
							height: 24px;
							color: rgba(59, 65, 75, 1);
							font-family: Microsoft YaHei;
							font-size: 16px;
							font-weight: 700;
							line-height: 24px;
							letter-spacing: 1px;
							text-align: left;
						}

						.title-right {
							height: 22px;
							color: rgba(132, 136, 142, 1);
							font-family: Microsoft YaHei;
							font-size: 14px;
							font-weight: 400;
							line-height: 22px;
							letter-spacing: 0px;
							text-align: right;
						}
					}

					.content {
						margin: 13px auto 19px;
						width: 212px;
						height: 66px;
						color: rgba(95, 101, 108, 1);
						font-family: Microsoft YaHei;
						font-size: 14px;
						font-weight: 400;
						line-height: 22px;
						letter-spacing: 0px;
						text-align: justify;
						display: -webkit-box;
						-webkit-box-orient: vertical;
						-webkit-line-clamp: 3;
						overflow: hidden;
						text-overflow: ellipsis;
					}

					.tag-box {
						margin: 0 20px;
						display: flex;
						gap: 8px;
						height: 25px;
						margin: 0 20px;
						display: flex;
						flex-wrap: wrap;
						/* 允许换行 */
						gap: 8px;
						overflow: auto;
						/* 根据内容自动调整高度 */
						// max-width: calc(3 * 40px + 2 * 8px);
						/* 每行 3 列，每个 tag 最大宽度 200px，gap 8px */

						.tag {
							// width: auto; /* 根据内容自动调整宽度 */
							height: 22px;
							padding: 0 8px;
							box-sizing: border-box;
							border-radius: 4px;
							font-family: Microsoft YaHei;
							font-size: 14px;
							font-weight: 400;
							line-height: 20px;
							white-space: nowrap;
							/* 不换行 */
							box-sizing: border-box;
							border: 1px solid rgba(186, 224, 255, 1);
							border-radius: 4px;
							background: rgba(230, 244, 255, 1);
							color: rgba(22, 119, 255, 1);
							font-family: Microsoft YaHei;
							font-style: Regular;
							font-size: 14px;
							font-weight: 400;
							line-height: 20px;
							letter-spacing: 0px;
							text-align: left;
						}

						.tag1 {
							box-sizing: border-box;
							border: 1px solid rgba(135, 232, 222, 1);
							border-radius: 4px;
							background: rgba(230, 255, 251, 1);
							color: rgba(19, 168, 168, 1);
						}

						.tag2 {
							box-sizing: border-box;
							border: 1px solid rgba(186, 224, 255, 1);
							border-radius: 4px;
							background: rgba(230, 244, 255, 1);
							color: rgba(22, 119, 255, 1);
						}

						.tag3 {
							box-sizing: border-box;
							border: 1px solid rgba(255, 229, 143, 1);
							border-radius: 4px;
							background: rgba(255, 251, 230, 1);
							color: rgba(250, 173, 20, 1);
						}

						.tag4 {
							box-sizing: border-box;
							border: 1px solid rgba(255, 163, 158, 1);
							border-radius: 4px;
							background: rgba(255, 241, 240, 1);
							color: rgba(245, 34, 45, 1);
						}
					}

					.more {
						margin: 103px auto;
						height: 22px;
						color: rgba(5, 95, 194, 1);
						font-family: Microsoft YaHei;
						font-size: 16px;
						font-weight: 700;
						line-height: 24px;
						letter-spacing: 1px;
						text-align: center;
						cursor: pointer;
					}
				}
			}
		}

		.home-main-center {
			margin-top: 34px;

			.center-top {
				height: 450px;
				display: flex;
				justify-content: center;
				gap: 20px;

				.box1 {
					width: 1064px;
					height: 450px;
					box-shadow: 0px 0px 15px 0px rgba(22, 119, 255, 0.1);
					background: #fff;
					box-sizing: border-box;
					border-radius: 10px;
					position: relative;

					.box1-left {
						position: absolute;
						left: 0;
						top: 220px;
						width: 24px;
						height: 48px;
						cursor: pointer;

						img {
							width: 100%;
							height: 100%;
						}
					}

					.box1-right {
						position: absolute;
						right: 0;
						top: 220px;
						width: 24px;
						height: 48px;
						cursor: pointer;

						img {
							width: 100%;
							height: 100%;
						}
					}

					.box1-header {
						height: 48px;
						border-bottom: 1px solid rgba(240, 242, 244, 1);
						display: flex;
						justify-content: space-between;

						.box1-header-left {
							display: flex;

							.icon {
								width: 18px;
								height: 18px;
								margin-left: 19px;
								margin-top: 16px;

								img {
									width: 100%;
									height: 100%;
								}
							}

							.title {
								width: 112px;
								height: 48px;
								margin-left: 25px;
								color: #fff;
								background: var(--color-main-active);
								font-family: Microsoft YaHei;
								font-size: 20px;
								font-weight: 700;
								line-height: 48px;
								text-align: center;
							}
						}

						.box1-header-right {
							margin-top: 16px;
							height: 16px;
							color: var(--color-main-active);
							font-family: Microsoft YaHei;
							font-size: 16px;
							font-weight: 400;
							line-height: 16px;
							cursor: pointer;
							margin-right: 39px;
						}
					}

					.box1-main {
						margin: 24px auto;
						width: 948px;
						height: 353px;
						display: flex;
						gap: 28px;

						.box1-main-left {
							width: 458px;
							height: 353px;
							border-radius: 4px;

							img {
								width: 100%;
								height: 100%;
							}
						}

						.box1-main-right {
							width: 462px;

							.title {
								width: 462px;
								max-height: 52px;
								overflow: hidden;
								color: rgba(59, 65, 75, 1);
								font-family: Microsoft YaHei;
								font-size: 20px;
								font-weight: 700;
								line-height: 26px;
								letter-spacing: 0px;
								text-align: left;
							}

							.tag-box {
								width: 462px;
								height: 26px;
								overflow: hidden;
								margin-top: 16px;
								display: flex;
								gap: 8px;

								.tag {
									height: 26px;
									padding: 0 8px;
									box-sizing: border-box;
									border: 1px solid rgba(231, 243, 255, 1);
									border-radius: 4px;
									background: rgba(246, 250, 255, 1);
									color: var(--color-main-active);
									font-family: Microsoft YaHei;
									font-size: 16px;
									font-weight: 400;
									line-height: 24px;
									letter-spacing: 0px;
									text-align: left;
								}
							}

							.content {
								margin-top: 17px;
								width: 462px;
								height: 183px;
								color: rgba(59, 65, 75, 1);
								font-family: Microsoft YaHei;
								font-size: 16px;
								font-weight: 400;
								line-height: 30px;
								letter-spacing: 0px;
								text-align: justify;
								display: -webkit-box;
								-webkit-line-clamp: 6;
								/* 限制行数为5 */
								-webkit-box-orient: vertical;
								overflow: hidden;
							}

							.box1-right-footer {
								margin-top: 31px;
								display: flex;
								justify-content: space-between;

								.time {
									height: 24px;
									color: rgba(95, 101, 108, 1);
									font-family: Microsoft YaHei;
									font-size: 16px;
									font-weight: 400;
									line-height: 24px;
									letter-spacing: 0px;
									text-align: left;
								}

								.name {
									display: flex;
									justify-content: flex-end;
									gap: 6px;
									height: 36px;

									.logo {
										width: 36px;
										height: 36px;

										img {
											width: 100%;
											height: 100%;
										}
									}

									.text {
										margin-top: 6px;
										height: 24px;
										color: rgba(95, 101, 108, 1);
										font-family: Microsoft YaHei;
										font-size: 16px;
										font-weight: 400;
										line-height: 24px;
										letter-spacing: 0px;
										text-align: right;
									}
								}
							}
						}
					}
				}

				.box2 {
					width: 521px;
					height: 450px;
					box-shadow: 0px 0px 15px 0px rgba(22, 119, 255, 0.1);
					background: rgba(255, 255, 255, 1);
					position: relative;
					border-radius: 10px;

					.box2-header {
						height: 48px;
						border-bottom: 1px solid rgba(240, 242, 244, 1);
						display: flex;

						.icon {
							width: 24px;
							height: 22px;
							margin-left: 18px;
							margin-top: 14px;

							img {
								width: 100%;
								height: 100%;
							}
						}

						.title {
							display: flex;
							width: 148px;
							height: 48px;
							background: rgba(206, 79, 81, 1);
							margin-left: 18px;

							.text {
								margin-left: 15px;
								margin-top: 13px;
								height: 22px;
								color: #fff;
								font-family: Microsoft YaHei;
								font-size: 20px;
								font-weight: 700;
								line-height: 22px;
							}

							.num {
								width: 24px;
								height: 20px;
								line-height: 20px;
								text-align: center;
								color: rgba(255, 255, 255, 1);
								font-family: Microsoft YaHei;
								font-size: 12px;
								margin-left: 15px;
								margin-top: 14px;
								border-radius: 100px;
								background: rgba(255, 255, 255, 0.3);
							}
						}

						.more {
							margin-top: 16px;
							margin-left: 200px;
							color: rgba(20, 89, 187, 1);
							font-family: Microsoft YaHei;
							font-size: 16px;
							font-weight: 400;
							line-height: 16px;
							cursor: pointer;
						}
					}

					.box2-main {
						margin-top: 2px;
						height: 330px;
						overflow-y: auto;

						.box2-main-item {
							margin-left: 23px;
							height: 47px;
							width: 464px;
							display: flex;
							cursor: pointer;

							&:hover {
								background: var(--color-bg-hover);
							}

							.item-left {
								margin-top: 4px;
								margin-left: 2px;
								width: 40px;
								height: 40px;
								border-radius: 20px;
								font-family: Microsoft YaHei;
								font-size: 12px;
								font-weight: 400;
								line-height: 14px;
								box-sizing: border-box;
								padding: 6px 4px;
								text-align: center;
							}

							.itemLeftStatus1 {
								color: rgba(82, 196, 26, 1) !important;
								background: rgba(246, 255, 237, 1) !important;
							}

							.itemLeftStatus2 {
								color: rgba(250, 140, 22, 1) !important;
								background: rgba(255, 247, 230, 1) !important;
							}

							.itemLeftStatus3 {
								color: rgba(245, 34, 45, 1);
								background: rgba(255, 241, 240);
							}

							.item-right {
								margin-left: 13px;
								width: 408px;
								height: 47px;
								border-bottom: 1px solid rgba(240, 242, 244, 1);
								display: flex;

								.text {
									width: 315px;
									color: rgba(59, 65, 75, 1);
									font-family: Microsoft YaHei;
									font-size: 16px;
									font-weight: 400;
									line-height: 47px;
									overflow: hidden;
									text-overflow: ellipsis;
									white-space: nowrap;
								}

								.time {
									width: 90px;
									margin-left: 10px;
									line-height: 47px;
									color: rgba(132, 136, 142, 1);
									font-family: Microsoft YaHei;
									font-size: 14px;
									font-weight: 400;
								}
							}
						}
					}

					.box2-footer {
						position: absolute;
						left: 30px;
						bottom: 20px;
						width: 460px;
						height: 42px;
						display: flex;
						flex-direction: row;
						justify-content: center;
						align-items: center;
						border-radius: 6px;
						background: var(--color-main-active);
						gap: 8px;
						cursor: pointer;

						.icon {
							width: 16px;
							height: 16px;

							img {
								width: 100%;
								height: 100%;
							}
						}

						.text {
							color: rgba(255, 255, 255, 1);
							font-family: Microsoft YaHei;
							font-size: 16px;
							font-weight: 400;
							line-height: 22px;
						}
					}
				}
			}

			.center-center {
				margin-top: 21px;
				height: 450px;
				display: flex;
				justify-content: center;

				.box3 {
					width: 792px;
					height: 450px;
					border-radius: 10px;
					box-shadow: 0px 0px 15px 0px rgba(25, 69, 130, 0.2);
					background: rgba(255, 255, 255, 1);

					.box3-header {
						height: 48px;
						border-bottom: 1px solid rgba(240, 242, 244, 1);
						margin: 0 auto;
						display: flex;
						justify-content: space-between;
						padding: 0 20px;
						position: relative;

						.box3-header-left {
							display: flex;

							.box3-header-icon {
								margin-top: 16px;
								width: 19px;
								height: 19px;

								img {
									width: 100%;
									height: 100%;
								}
							}

							.box3-header-title {
								margin-top: 16px;
								margin-left: 19px;
								height: 22px;
								color: rgba(20, 89, 187, 1);
								font-family: Microsoft YaHei;
								font-size: 20px;
								font-weight: 700;
								line-height: 22px;
							}

							.more {
								width: 49px;
								height: 24px;
								position: absolute;
								top: 14px;
								right: 27px;
								color: rgba(20, 89, 187, 1);
								font-family: Microsoft YaHei;
								font-size: 16px;
								font-weight: 400;
								line-height: 24px;
								cursor: pointer;
							}
						}
					}

					.box3-main {
						height: 402px;
						overflow-y: auto;
						overflow-x: hidden;
						padding-top: 6px;

						.box3-item {
							display: flex;
							height: 77px;
							width: 749px;
							margin-left: 21px;
							border-bottom: 1px solid rgba(240, 242, 244, 1);

							.left {
								width: 72px;
								height: 48px;
								margin-top: 15px;

								img {
									width: 100%;
									height: 100%;
								}
							}

							.right {
								width: 657px;
								margin-left: 20px;

								.right-top {
									width: 657px;
									display: flex;
									justify-content: space-between;

									.title {
										margin-top: 13px;
										width: 520px;
										height: 24px;
										color: rgba(59, 65, 75, 1);
										font-family: Microsoft YaHei;
										font-size: 16px;
										font-weight: 700;
										line-height: 24px;
										overflow: hidden;
										text-overflow: ellipsis;
										white-space: nowrap;
									}

									.time {
										flex: 1;
										text-align: right;
										height: 22px;
										margin-top: 19px;
										color: rgba(95, 101, 108, 1);
										font-family: Microsoft YaHei;
										font-size: 14px;
										font-weight: 400;
										line-height: 22px;
									}
								}

								.right-footer {
									width: 657px;
									height: 24px;
									color: rgba(59, 65, 75, 1);
									font-family: Microsoft YaHei;
									font-size: 16px;
									font-weight: 400;
									line-height: 24px;
									overflow: hidden;
									text-overflow: ellipsis;
									white-space: nowrap;
									cursor: pointer;
								}
							}
						}
					}
				}

				.box4 {
					margin-left: 20px;
					width: 792px;
					height: 450px;
					border-radius: 10px;
					box-shadow: 0px 0px 15px 0px rgba(25, 69, 130, 0.2);
					background: rgba(255, 255, 255, 1);

					.box4-header {
						width: 792px;
						height: 48px;
						border-bottom: 1px solid rgba(240, 242, 244, 1);
						display: flex;
						box-sizing: border-box;
						padding-left: 22px;
						position: relative;

						.header-icon {
							margin-top: 15px;
							width: 20px;
							height: 20px;

							img {
								width: 100%;
								height: 100%;
							}
						}

						.header-title {
							margin-top: 16px;
							margin-left: 18px;
							height: 22px;
							color: var(--color-main-active);
							font-family: Microsoft YaHei;
							font-size: 20px;
							font-weight: 700;
							line-height: 22px;
						}

						.more {
							width: 49px;
							height: 24px;
							position: absolute;
							top: 14px;
							right: 27px;
							color: rgba(20, 89, 187, 1);
							font-family: Microsoft YaHei;
							font-size: 16px;
							font-weight: 400;
							line-height: 24px;
							cursor: pointer;
						}
					}

					.box4-tag-box {
						height: 60px;
						display: flex;
						padding: 0 10px;
						align-items: center;
						gap: 8px;

						.tag {
							height: 28px;
							line-height: 28px;
							padding: 0 4px;
							box-sizing: border-box;
							border-radius: 4px;
							cursor: pointer;
						}

						.tagActive {
							height: 36px;
							line-height: 36px;
							box-sizing: border-box;
							border: 1px solid rgba(114, 46, 209, 1) !important;
							border-radius: 4px;
							background: rgba(114, 46, 209, 1) !important;
							color: rgba(249, 240, 255, 1) !important;
							font-family: Microsoft YaHei;
							font-size: 16px;
							font-weight: 700;
							line-height: 36px;
							letter-spacing: 1px;
						}

						.tag1 {
							border: 1px solid rgba(135, 232, 222, 1);
							background: rgba(230, 255, 251, 1);
							color: rgba(19, 168, 168, 1);
						}

						.tag2 {
							border: 1px solid rgba(145, 202, 255, 1);
							background: rgba(230, 244, 255, 1);
							color: rgba(22, 119, 255, 1);
						}

						.tag3 {
							border: 1px solid rgba(255, 213, 145, 1);
							background: rgba(255, 247, 230, 1);
							color: rgba(250, 140, 22, 1);
						}

						.tag4 {
							border: 1px solid rgba(255, 187, 150, 1);
							background: rgba(255, 242, 232, 1);
							color: rgba(250, 84, 28, 1);
						}

						.tag5 {
							border: 1px solid rgba(255, 163, 158, 1);
							background: rgba(255, 241, 240, 1);
							color: rgba(206, 79, 81, 1);
						}
					}

					.box4-main {
						height: 380px;
						overflow-y: auto;
						box-sizing: border-box;
						padding: 8px 0;

						.box4-main-item {
							margin-top: 16px;
							display: flex;
							margin-left: 21px;

							.left {
								margin-top: 5px;
								width: 36px;
								height: 36px;
								border-radius: 18px;
								overflow: hidden;
								cursor: pointer;

								img {
									width: 100%;
									height: 100%;
								}
							}

							.right {
								margin-left: 10px;
								width: 690px;
								box-sizing: border-box;
								border: 1px solid rgba(231, 243, 255, 1);
								background: rgba(246, 250, 255, 1);
								padding: 10px 15px;
								border-radius: 4px;

								.right-top {
									display: flex;
									justify-content: space-between;

									.name {
										height: 24px;
										color: rgba(59, 65, 75, 1);
										font-family: Microsoft YaHei;
										font-size: 16px;
										font-weight: 700;
										line-height: 24px;
									}

									.time {
										height: 30px;
										color: rgba(95, 101, 108, 1);
										font-family: Microsoft YaHei;
										font-size: 16px;
										font-weight: 400;
										line-height: 30px;
									}
								}

								.content {
									color: rgba(59, 65, 75, 1);
									font-family: Microsoft YaHei;
									font-size: 16px;
									font-weight: 400;
									line-height: 24px;
								}
							}
						}
					}
				}
			}

			.center-footer {
				margin-top: 21px;
				height: 460px;
				display: flex;
				justify-content: center;
				gap: 15px;

				.box5 {
					width: 1064px;
					height: 460px;
					box-sizing: border-box;
					border: 1px solid rgba(234, 236, 238, 1);
					border-radius: 10px;
					box-shadow: 0px 0px 20px 0px rgba(25, 69, 130, 0.1);
					background: rgba(255, 255, 255, 1);

					.box5-header {
						height: 53px;
						border-bottom: 1px solid rgba(240, 242, 244, 1);
						margin: 0 auto;
						display: flex;
						justify-content: space-between;
						padding: 0 20px;
						position: relative;

						.box5-header-left {
							display: flex;

							.box5-header-icon {
								margin-top: 15px;
								margin-left: 2px;
								width: 19px;
								height: 19px;

								img {
									width: 100%;
									height: 100%;
								}
							}

							.box5-header-title {
								margin-top: 12px;
								margin-left: 19px;
								height: 26px;
								color: rgba(20, 89, 187, 1);
								font-family: Microsoft YaHei;
								font-size: 20px;
								font-weight: 700;
								line-height: 26px;
							}
						}

						.box5-select-box {
							width: 120px;
							height: 28px;
							position: absolute;
							top: 12px;
							right: 25px;
						}
					}

					.box5-main {
						height: 397px;
					}
				}

				.box6 {
					width: 521px;
					height: 460px;
					box-sizing: border-box;
					border: 1px solid rgba(234, 236, 238, 1);
					border-radius: 10px;
					box-shadow: 0px 0px 20px 0px rgba(25, 69, 130, 0.1);
					background: rgba(255, 255, 255, 1);

					.box6-header {
						width: 521px;
						height: 53px;
						box-sizing: border-box;
						padding: 0 20px;
						border-bottom: 1px solid rgba(240, 242, 244, 1);
						display: flex;
						position: relative;

						.header-icon {
							margin-top: 18px;
							width: 19px;
							height: 19px;

							img {
								width: 100%;
								height: 100%;
							}
						}

						.header-title {
							margin-top: 16px;
							margin-left: 15px;
							height: 22px;
							color: rgba(20, 89, 187, 1);
							font-family: Microsoft YaHei;
							font-size: 20px;
							font-weight: 700;
							line-height: 22px;
						}

						.box6-select-box {
							width: 120px;
							height: 28px;
							position: absolute;
							top: 12px;
							right: 25px;
						}
					}

					.box6-main {
						height: 360px;
					}
				}
			}

			.center-footer1 {
				margin-top: 16px;
				display: flex;
				justify-content: center;
				gap: 15px;

				.box7 {
					width: 1064px;
					height: 460px;
					box-sizing: border-box;
					border: 1px solid rgba(234, 236, 238, 1);
					border-radius: 10px;
					box-shadow: 0px 0px 20px 0px rgba(25, 69, 130, 0.1);
					background: rgba(255, 255, 255, 1);

					.box7-header {
						height: 53px;
						border-bottom: 1px solid rgba(240, 242, 244, 1);
						margin: 0 auto;
						display: flex;
						justify-content: space-between;
						padding: 0 20px;
						position: relative;

						.box7-header-left {
							display: flex;

							.box7-header-icon {
								margin-top: 15px;
								margin-left: 2px;
								width: 19px;
								height: 19px;

								img {
									width: 100%;
									height: 100%;
								}
							}

							.box7-header-title {
								margin-top: 12px;
								margin-left: 19px;
								height: 26px;
								color: rgba(20, 89, 187, 1);
								font-family: Microsoft YaHei;
								font-size: 20px;
								font-weight: 700;
								line-height: 26px;
							}
						}

						.box-header-right {
							position: absolute;
							height: 24px;
							top: 12px;
							right: 17px;
							display: flex;
							justify-content: flex-end;
							align-items: center;
							gap: 8px;

							.icon {
								width: 14px;
								height: 16px;

								img {
									width: 100%;
									height: 100%;
								}
							}

							.text {
								height: 24px;
								color: rgba(132, 136, 142, 1);
								font-family: Microsoft YaHei;
								font-size: 16px;
								font-weight: 400;
								line-height: 24px;
								letter-spacing: 0px;
								text-align: left;
							}
						}
					}

					.box7-main {
						height: 412px;
					}
				}

				.box8 {
					width: 521px;
					height: 460px;
					box-sizing: border-box;
					border: 1px solid rgba(234, 236, 238, 1);
					border-radius: 10px;
					box-shadow: 0px 0px 20px 0px rgba(25, 69, 130, 0.1);
					background: rgba(255, 255, 255, 1);

					.box8-header {
						height: 53px;
						border-bottom: 1px solid rgba(240, 242, 244, 1);
						margin: 0 auto;
						display: flex;
						justify-content: space-between;
						padding: 0 20px;
						position: relative;

						.box8-header-left {
							display: flex;

							.box8-header-icon {
								margin-top: 15px;
								margin-left: 2px;
								width: 19px;
								height: 19px;

								img {
									width: 100%;
									height: 100%;
								}
							}

							.box8-header-title {
								margin-top: 12px;
								margin-left: 19px;
								height: 26px;
								color: rgba(20, 89, 187, 1);
								font-family: Microsoft YaHei;
								font-size: 20px;
								font-weight: 700;
								line-height: 26px;
							}
						}

						.box8-select-box {
							width: 120px;
							height: 28px;
							position: absolute;
							top: 12px;
							right: 25px;
						}
					}

					.box8-main {
						margin: 0 auto;
						margin-top: 5px;
						width: 452px;
						height: 382px;
						overflow: hidden;

						.box8-item {
							margin-top: 14px;
							width: 452px;
							height: 24px;
							display: flex;

							.item-left {
								width: 20px;
								height: 24px;
								color: rgba(95, 101, 108, 1);
								font-family: Microsoft YaHei;
								font-size: 16px;
								font-weight: 400;
								line-height: 24px;
								letter-spacing: 0px;
								text-align: center;
							}

							.item-center {
								margin-left: 20px;
								width: 425px;
								height: 24px;
								color: rgba(59, 65, 75, 1);
								font-family: Microsoft YaHei;
								font-size: 16px;
								font-weight: 400;
								line-height: 24px;
								letter-spacing: 0px;
								text-align: left;
								overflow: hidden;
								text-overflow: ellipsis;
								white-space: nowrap;
							}

							.itemBold1 {
								color: rgba(206, 79, 81, 1);
								font-weight: 700;
							}

							.itemBold2 {
								color: rgba(255, 169, 64, 1);
								font-weight: 700;
							}

							.itemBold3 {
								color: rgba(255, 197, 61, 1);
								font-weight: 700;
							}

							.item-right {
								width: 92px;
								height: 24px;
								color: rgba(95, 101, 108, 1);
								font-family: Microsoft YaHei;
								font-size: 16px;
								font-weight: 400;
								line-height: 24px;
								letter-spacing: 0px;
								text-align: right;
								cursor: pointer;
							}
						}
					}
				}
			}
		}

		.home-main-footer {
			overflow: hidden;
			background: rgba(247, 248, 249, 1);

			.home-main-footer-header {
				width: 1600px;
				height: 42px;
				margin: 36px auto;
				// background: orange;
				display: flex;
				justify-content: space-between;

				.btn-box {
					width: 1000px;
					display: flex;

					.btn {
						color: rgba(95, 101, 108, 1);
						font-family: Microsoft YaHei;
						font-size: 20px;
						font-weight: 400;
						line-height: 42px;
						padding: 0 24px;
						border-radius: 21px;
						background: rgba(20, 89, 187, 0);
						margin-right: 20px;
						cursor: pointer;

						&:hover {
							background: rgba(20, 89, 187, 0.1);
						}
					}

					.btnActive {
						padding: 0 24px;
						border-radius: 21px;
						background: var(--color-main-active);
						color: #fff;
						font-weight: 700;

						&:hover {
							color: #fff;
							background: var(--color-main-active);
						}
					}
				}

				.select-box {
					height: 42px;
					box-sizing: border-box;
					padding: 5px 0;
				}
			}

			.home-main-footer-main {
				margin: 0 auto;
				margin-top: 36px;
				width: 1600px;
				display: flex;
				gap: 16px;

				.left {
					width: 360px;
					height: 100%;
					padding-bottom: 36px;
					box-sizing: border-box;
					border: 1px solid rgba(234, 236, 238, 1);
					border-radius: 10px;
					box-shadow: 0px 0px 20px 0px rgba(94, 95, 95, 0.1);
					background: rgba(255, 255, 255, 1);
					position: relative;

					.select-box {
						margin-top: 21px;

						.header {
							display: flex;
							gap: 17px;

							.icon {
								margin-top: 4px;
								width: 8px;
								height: 16px;
								background: var(--color-main-active);
								border-radius: 0 4px 4px 0;
							}

							.title {
								height: 24px;
								color: var(--color-main-active);
								font-family: Microsoft YaHei;
								font-size: 16px;
								font-weight: 700;
								line-height: 24px;
								letter-spacing: 1px;
								text-align: left;
							}
						}

						.select-main {
							margin-left: 25px;
						}

						.select-main1 {
							width: 100px;
						}
					}

					.left-footer-box {
						left: 25px;
						bottom: 20px;
						position: absolute;
						width: 250px;
						height: 149px;
						border-radius: 4px;
						background: rgba(246, 250, 255, 1);

						.header {
							margin-top: 8px;
							margin-left: 21px;
							height: 24px;
							color: rgba(59, 65, 75, 1);
							font-family: Microsoft YaHei;
							font-size: 16px;
							font-weight: 700;
							line-height: 24px;
							letter-spacing: 1px;
							text-align: left;
						}

						.content {
							margin: 0 auto;
							margin-top: 11px;
							width: 210px;
							height: 44px;
							color: rgba(95, 101, 108, 1);
							font-family: Microsoft YaHei;
							font-size: 14px;
							font-weight: 400;
							line-height: 22px;
							letter-spacing: 0px;
							text-align: left;
						}

						.btn {
							margin: 0 auto;
							margin-top: 13px;
							width: 210px;
							height: 36px;
							line-height: 36px;
							text-align: center;
							border-radius: 6px;
							background: var(--color-main-active);
							color: rgba(255, 255, 255, 1);
							font-family: Microsoft YaHei;
							font-size: 16px;
							font-weight: 400;
							letter-spacing: 0px;
						}
					}
				}

				.right {
					width: 1284px;
					max-height: 1377px;

					.card-box {
						width: 1226px;
						max-height: 1248px;
						min-height: 616px;
						display: flex;
						flex-wrap: wrap;
						gap: 16px 16px;

						.footer-card {
							width: 398px;
							height: 300px;
							border-radius: 10px;
							box-shadow: 0px 0px 20px 0px rgba(25, 69, 130, 0.1);
							background: rgba(255, 255, 255, 1);

							.footer-card-top {
								width: 364px;
								height: 180px;
								margin: 0 auto;
								margin-top: 15px;

								img {
									width: 100%;
									height: 100%;
								}
							}

							.footer-card-title {
								margin: 0 auto;
								margin-top: 13px;
								width: 376px;
								height: 48px;
								/* 修改高度为两行的高度 */
								color: rgba(59, 65, 75, 1);
								font-family: Microsoft YaHei;
								font-size: 18px;
								font-weight: 700;
								line-height: 24px;
								overflow: hidden;
								/* 隐藏超出部分 */
								text-overflow: ellipsis;
								/* 显示省略号 */
								display: -webkit-box;
								/* 使用弹性盒模型 */
								-webkit-line-clamp: 2;
								/* 限制显示两行 */
								-webkit-box-orient: vertical;
								/* 设置盒模型方向为垂直 */
							}

							.footer-card-footer {
								margin: 0 auto;
								margin-top: 5px;
								width: 376px;
								height: 22px;
								display: flex;
								justify-content: space-between;
								color: rgba(95, 101, 108, 1);
								font-family: Microsoft YaHei;
								font-size: 14px;
								font-weight: 400;
								line-height: 22px;
							}
						}
					}

					.right-footer {
						height: 50px;
						margin-top: 43px;
						display: flex;
						justify-content: space-between;

						.info {
							height: 19px;
							color: rgba(132, 136, 142, 1);
							font-family: Microsoft YaHei;
							font-size: 14px;
							font-weight: 400;
							line-height: 18px;
							letter-spacing: 0px;
							text-align: left;
						}
					}
				}
			}
		}
	}
}

.divide-header {
	margin: 0 auto;
	margin-top: 52px;
	margin-bottom: 36px;
}

.all-checkbox {
	width: 220px;
}

.filter-checkbox {
	width: 105px;
}

:deep(.el-input__wrapper) {
	box-shadow: none;
	border-radius: 10px;
}

:deep(.el-input__wrapper:hover) {
	box-shadow: none !important;
}

:deep(.el-input__wrapper.is-focus) {
	box-shadow: none !important;
}

.page {
	width: 1600px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 36px 0 0 0;
	padding-left: 11px;

	.count {
		color: rgba(59, 65, 75, 1);

		font-family: Microsoft YaHei;
		font-size: 16px;
		font-weight: 400;
		line-height: 24px;
		letter-spacing: 0px;
		text-align: left;
	}
}

:deep(.el-pagination) {
	display: flex;
	align-items: center;
}

:deep(.el-pagination.is-background .el-pager li) {
	min-width: 32px;
	height: 32px;
	line-height: 32px;
	border-radius: 6px;
	margin: 0 6px;
	border: 1px solid rgba(0, 0, 0, 0.15);
	background-color: #fff;
	color: rgb(95, 101, 108);
	font-size: 16px;
	font-weight: 400;
	font-family: "Microsoft YaHei";
}

:deep(.el-pagination.is-background .el-pager li.is-active) {
	background-color: #fff;
	color: rgba(22, 119, 255, 1);
	border-color: rgba(22, 119, 255, 1);
}

:deep(.el-pagination.is-background .el-pager li.is-ellipsis) {
	border: none;
	background-color: transparent;
	color: rgb(95, 101, 108);
	min-width: 16px;
	margin: 0 6px;
}

:deep(.el-pagination.is-background .btn-prev),
:deep(.el-pagination.is-background .btn-next) {
	min-width: 32px;
	height: 32px;
	border-radius: 6px;
	border: 1px solid rgba(0, 0, 0, 0.15);
	background-color: #fff;
	color: rgb(95, 101, 108);
	font-size: 16px;
	font-family: "Microsoft YaHei";
	margin: 0 6px;
}

:deep(.el-pagination.is-background .btn-prev.is-disabled),
:deep(.el-pagination.is-background .btn-next.is-disabled) {
	color: rgba(95, 101, 108, 0.45);
	border-color: rgb(235, 238, 242);
	background-color: #fff;
}
</style>
