提交 199fd9dd authored 作者: 张伊明's avatar 张伊明

合并分支 'zz-dev' 到 'pre'

feat:资助体系图表切换时间或经费项目时,重新调用ai 查看合并请求 !309
流水线 #349 已通过 于阶段
in 2 分 22 秒
...@@ -15,8 +15,8 @@ ...@@ -15,8 +15,8 @@
<div class="main-content" ref="homeMainRef" :class="{ 'scroll-main': isShow }"> <div class="main-content" ref="homeMainRef" :class="{ 'scroll-main': isShow }">
<div class="home-top-bg"></div> <div class="home-top-bg"></div>
<!-- 搜索栏部分 --> <!-- 搜索栏部分 -->
<SearchContainer v-if="homeMainRef" :countInfo="cooperationCountInfo" placeholder="搜索合作限制" <SearchContainer v-if="homeMainRef" placeholder="搜索合作限制" :containerRef="homeMainRef" areaName=""
:containerRef="homeMainRef" areaName="" /> style="height: fit-content" />
<!-- 最新动态 --> <!-- 最新动态 -->
<div class="newdata" id="position1"> <div class="newdata" id="position1">
...@@ -164,7 +164,7 @@ const handleToPosi = id => { ...@@ -164,7 +164,7 @@ const handleToPosi = id => {
background-size: 100% 100%; background-size: 100% 100%;
position: absolute; position: absolute;
width: 100%; width: 100%;
height: 100%;
z-index: -100; z-index: -100;
top: -64px; top: -64px;
} }
...@@ -177,7 +177,7 @@ const handleToPosi = id => { ...@@ -177,7 +177,7 @@ const handleToPosi = id => {
.search { .search {
width: 960px; width: 960px;
height: 168px;
margin: 0 auto 68px auto; margin: 0 auto 68px auto;
.search-main { .search-main {
...@@ -368,12 +368,12 @@ const handleToPosi = id => { ...@@ -368,12 +368,12 @@ const handleToPosi = id => {
.reslib { .reslib {
width: 1600px; width: 1600px;
height: 1633px;
margin: 0 auto 0px auto; margin: 0 auto 0px auto;
.reslib-main { .reslib-main {
width: 1600px; width: 1600px;
height: 1565px;
margin-top: 26px; margin-top: 26px;
} }
} }
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<div class="select-box"> <div class="select-box">
<el-select v-model="sortModel" class="resource-library-sort-select" placeholder="发布时间" style="width: 120px" <el-select v-model="sortModel" class="resource-library-sort-select" placeholder="发布时间" style="width: 120px"
:teleported="true" placement="bottom-start" :popper-options="resourceLibrarySortPopperOptions" :teleported="true" placement="bottom-start" :popper-options="resourceLibrarySortPopperOptions"
@change="handleResourceLibrarySortChange"> @change="handleResourceLibrarySortChange" popper-class="datasub-select-popper">
<template #prefix> <template #prefix>
<img v-if="sortModel !== true" src="@/views/thinkTank/ThinkTankDetail/thinkDynamics/images/image down.png" <img v-if="sortModel !== true" src="@/views/thinkTank/ThinkTankDetail/thinkDynamics/images/image down.png"
class="resource-library-sort-prefix-img" alt="" @click.stop="toggleResourceLibrarySortPrefix" /> class="resource-library-sort-prefix-img" alt="" @click.stop="toggleResourceLibrarySortPrefix" />
...@@ -322,7 +322,9 @@ onMounted(async () => { ...@@ -322,7 +322,9 @@ onMounted(async () => {
margin: 0; margin: 0;
padding: 0; padding: 0;
} }
:global(.datasub-select-popper .el-select-dropdown__item) {
padding-left: 20px;
}
.reslib-page { .reslib-page {
width: 1600px; width: 1600px;
...@@ -459,6 +461,10 @@ onMounted(async () => { ...@@ -459,6 +461,10 @@ onMounted(async () => {
height: 24px; height: 24px;
margin-right: 0 !important; margin-right: 0 !important;
} }
:deep(.el-checkbox__label) {
font-size: 16px;
}
} }
} }
} }
......
...@@ -14,8 +14,8 @@ ...@@ -14,8 +14,8 @@
<div class="main-content" ref="containerRef"> <div class="main-content" ref="containerRef">
<div class="home-top-bg"></div> <div class="home-top-bg"></div>
<!-- 搜索栏部分 --> <!-- 搜索栏部分 -->
<SearchContainer style="margin-bottom: 48px; height: fit-content" v-if="containerRef" :countInfo="countInfo" <SearchContainer style="margin-bottom: 52px; height: fit-content" v-if="containerRef" placeholder="搜索科研资助实体、资助记录"
placeholder="搜索科研资助实体、资助记录" :containerRef="containerRef" areaName="" /> :containerRef="containerRef" areaName="" />
<!-- <div class="search"> --> <!-- <div class="search"> -->
<!-- <div class="search-main"> <!-- <div class="search-main">
......
...@@ -1611,9 +1611,9 @@ onMounted(() => { ...@@ -1611,9 +1611,9 @@ onMounted(() => {
.page-box { .page-box {
/* 最大 300px:允许变小,但绝不变大 */ /* 最大 300px:允许变小,但绝不变大 */
flex: 0 1 300px; flex: 0 1 600px;
width: 100%; width: 100%;
max-width: 300px; max-width: 600px;
min-width: 0; min-width: 0;
display: flex; display: flex;
justify-content: flex-end; justify-content: flex-end;
...@@ -1621,7 +1621,7 @@ onMounted(() => { ...@@ -1621,7 +1621,7 @@ onMounted(() => {
} }
.page-box :deep(.el-pagination) { .page-box :deep(.el-pagination) {
max-width: 100%;
min-width: 0; min-width: 0;
overflow: hidden; overflow: hidden;
} }
......
...@@ -105,6 +105,11 @@ const handleGetThinkTankReportSummary = async () => { ...@@ -105,6 +105,11 @@ const handleGetThinkTankReportSummary = async () => {
if (res.code === 200 && res.data) { if (res.code === 200 && res.data) {
reportUrl.value = res.data.reportUrl; reportUrl.value = res.data.reportUrl;
thinkInfo.value = res.data; thinkInfo.value = res.data;
const title = String(res.data.name || "").trim();
if (title) {
document.title = title;
window.sessionStorage.setItem("curTabName", title);
}
console.log(reportUrl.value, "reportUrl.value"); console.log(reportUrl.value, "reportUrl.value");
} }
} catch (error) { } catch (error) {
......
...@@ -1377,9 +1377,9 @@ onMounted(() => { ...@@ -1377,9 +1377,9 @@ onMounted(() => {
.page-box { .page-box {
/* 最大 300px:允许变小,但绝不变大 */ /* 最大 300px:允许变小,但绝不变大 */
flex: 0 1 300px; flex: 0 1 600px;
width: 100%; width: 100%;
max-width: 300px; max-width: 600px;
min-width: 0; min-width: 0;
display: flex; display: flex;
justify-content: flex-end; justify-content: flex-end;
...@@ -1387,7 +1387,7 @@ onMounted(() => { ...@@ -1387,7 +1387,7 @@ onMounted(() => {
} }
.page-box :deep(.el-pagination) { .page-box :deep(.el-pagination) {
max-width: 100%;
min-width: 0; min-width: 0;
overflow: hidden; overflow: hidden;
} }
......
...@@ -72,8 +72,8 @@ ...@@ -72,8 +72,8 @@
</div> --> </div> -->
<AnalysisBox title="项目报告" :showAllBtn="true"> <AnalysisBox title="项目报告" :showAllBtn="true">
<div class="box2-main"> <div class="box2-main">
<div class="box2-item" v-for="(report, idx) in reportList" :key="idx"> <div class="box2-item" v-for="(report, idx) in reportList" :key="report.id || idx">
<div class="box2-item-content"> <div class="box2-item-content" @click="handleClickProjectReport(report)">
<div class="left"><img :src="report.imgUrl" alt="" /></div> <div class="left"><img :src="report.imgUrl" alt="" /></div>
<div class="right-content"> <div class="right-content">
<div class="report-title">{{ report.nameZh }}</div> <div class="report-title">{{ report.nameZh }}</div>
...@@ -222,7 +222,7 @@ const getOpinionExpandKey = (item, index) => { ...@@ -222,7 +222,7 @@ const getOpinionExpandKey = (item, index) => {
} }
return `idx-${index}`; return `idx-${index}`;
}; };
const reportList = ref({}); const reportList = ref([]);
const formatDate = (dateStr) => { const formatDate = (dateStr) => {
if (!dateStr) return ""; if (!dateStr) return "";
const date = new Date(dateStr) const date = new Date(dateStr)
...@@ -237,12 +237,29 @@ const handleGetThinkTankReport = async () => { ...@@ -237,12 +237,29 @@ const handleGetThinkTankReport = async () => {
const res = await getThinkTankProjectRelated(router.currentRoute._value.params.id); const res = await getThinkTankProjectRelated(router.currentRoute._value.params.id);
console.log("报告全局信息", res); console.log("报告全局信息", res);
if (res.code === 200 && res.data) { if (res.code === 200 && res.data) {
reportList.value = res.data; reportList.value = Array.isArray(res.data) ? res.data : [];
} }
} catch (error) { } catch (error) {
console.error("获取相关报告error", error); console.error("获取相关报告error", error);
} }
}; };
/** 新标签页打开智库报告详情 /thinkTank/reportDetail/:id */
const handleClickProjectReport = (report) => {
const id = report?.id;
if (!id) {
ElMessage.warning("报告 id 为空,无法跳转");
return;
}
const reportTitle = String(report?.nameZh || report?.name || "").trim();
const route = router.resolve({
name: "ReportDetail",
params: { id: String(id) },
query: reportTitle ? { name: reportTitle } : {}
});
window.open(route.href, "_blank");
};
const handleClickReportAuthor = async (author) => { const handleClickReportAuthor = async (author) => {
const personId = author?.personId; const personId = author?.personId;
if (!personId) return; if (!personId) return;
...@@ -807,6 +824,7 @@ onMounted(() => { ...@@ -807,6 +824,7 @@ onMounted(() => {
height: 90px; height: 90px;
margin-top: 7px; margin-top: 7px;
display: flex; display: flex;
cursor: pointer;
.left { .left {
width: 56px; width: 56px;
......
...@@ -100,7 +100,7 @@ ...@@ -100,7 +100,7 @@
</div> </div>
<div class="right-footer"> <div class="right-footer">
<div class="info"> <div class="info">
{{ total }}智库报告 {{ total }}国会听证会
</div> </div>
<div class="page-box"> <div class="page-box">
<el-pagination :page-size="10" background layout="prev, pager, next" :total="total" <el-pagination :page-size="10" background layout="prev, pager, next" :total="total"
...@@ -290,7 +290,7 @@ const handleToReportDetail = item => { ...@@ -290,7 +290,7 @@ const handleToReportDetail = item => {
gap: 16px; gap: 16px;
height: 100%; height: 100%;
margin-bottom: 100px; margin-bottom: 80px;
...@@ -489,14 +489,9 @@ const handleToReportDetail = item => { ...@@ -489,14 +489,9 @@ const handleToReportDetail = item => {
.right { .right {
width: 1224px; width: 1224px;
.card-box { .card-box {
height: 100%;
display: flex; display: flex;
......
...@@ -70,7 +70,7 @@ ...@@ -70,7 +70,7 @@
</div> </div>
<div class="right-footer"> <div class="right-footer">
<div class="info"> <div class="info">
{{ total }}智库报告 {{ total }}调查项目
</div> </div>
<div class="page-box"> <div class="page-box">
<el-pagination :page-size="12" background layout="prev, pager, next" :total="total" <el-pagination :page-size="12" background layout="prev, pager, next" :total="total"
...@@ -218,6 +218,7 @@ const handleToReportDetail = item => { ...@@ -218,6 +218,7 @@ const handleToReportDetail = item => {
.main-content { .main-content {
display: flex; display: flex;
gap: 16px; gap: 16px;
margin-bottom: 80px;
.left { .left {
width: 360px; width: 360px;
...@@ -359,11 +360,10 @@ const handleToReportDetail = item => { ...@@ -359,11 +360,10 @@ const handleToReportDetail = item => {
.right { .right {
width: 1284px; width: 1284px;
height: 1377px;
.card-box { .card-box {
width: 1226px;
height: 1248px;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
......
...@@ -219,6 +219,7 @@ const handleToReportDetail = item => { ...@@ -219,6 +219,7 @@ const handleToReportDetail = item => {
.main-content { .main-content {
display: flex; display: flex;
gap: 16px; gap: 16px;
margin-bottom: 80px;
.left { .left {
width: 360px; width: 360px;
...@@ -359,12 +360,10 @@ const handleToReportDetail = item => { ...@@ -359,12 +360,10 @@ const handleToReportDetail = item => {
} }
.right { .right {
width: 1284px;
height: 1377px;
.card-box { .card-box {
width: 1226px;
height: 1248px;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
......
...@@ -819,7 +819,7 @@ onMounted(() => { ...@@ -819,7 +819,7 @@ onMounted(() => {
display: flex; display: flex;
margin-top: 12px; margin-top: 12px;
width: 332px; width: 332px;
height: 24px;
margin-left: 34px; margin-left: 34px;
.item-left { .item-left {
...@@ -836,7 +836,7 @@ onMounted(() => { ...@@ -836,7 +836,7 @@ onMounted(() => {
.item-right { .item-right {
width: 240px; width: 240px;
height: 24px;
color: rgba(59, 65, 75, 1); color: rgba(59, 65, 75, 1);
font-family: Microsoft YaHei; font-family: Microsoft YaHei;
font-size: 16px; font-size: 16px;
......
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
</div> </div>
</div> </div>
<div class="right-footer"> <div class="right-footer">
<div class="info">{{ total }}政府报告</div> <div class="info">{{ total }}智库报告</div>
<div class="page-box"> <div class="page-box">
<el-pagination :page-size="12" background layout="prev, pager, next" :total="total" <el-pagination :page-size="12" background layout="prev, pager, next" :total="total"
@current-change="emit('page-change', $event)" :current-page="currentPage" /> @current-change="emit('page-change', $event)" :current-page="currentPage" />
...@@ -198,8 +198,7 @@ const formatDate = (str) => { ...@@ -198,8 +198,7 @@ const formatDate = (str) => {
.card-box { .card-box {
width: 1226px; width: 1226px;
max-height: 1248px;
min-height: 616px;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
gap: 16px 16px; gap: 16px 16px;
......
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
</div> </div>
</div> </div>
<div class="right-footer"> <div class="right-footer">
<div class="info">{{ total }}智库报告</div> <div class="info">{{ total }}调查项目</div>
<div class="page-box"> <div class="page-box">
<el-pagination :page-size="12" background layout="prev, pager, next" :total="total" <el-pagination :page-size="12" background layout="prev, pager, next" :total="total"
@current-change="emit('page-change', $event)" :current-page="currentPage" /> @current-change="emit('page-change', $event)" :current-page="currentPage" />
...@@ -174,8 +174,7 @@ const handleTimeGroupChange = (val) => { ...@@ -174,8 +174,7 @@ const handleTimeGroupChange = (val) => {
.card-box { .card-box {
width: 1226px; width: 1226px;
max-height: 1248px;
min-height: 616px;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
gap: 16px 16px; gap: 16px 16px;
......
...@@ -87,7 +87,7 @@ ...@@ -87,7 +87,7 @@
</div> </div>
<div class="right-footer"> <div class="right-footer">
<div class="info"> <div class="info">
{{ hearingData.length }}智库报告 {{ hearingData.length }}国会听证会
</div> </div>
<div class="page-box"> <div class="page-box">
<el-pagination :page-size="pageSize" background layout="prev, pager, next" :total="total" <el-pagination :page-size="pageSize" background layout="prev, pager, next" :total="total"
...@@ -193,9 +193,9 @@ const handlePageChange = page => { ...@@ -193,9 +193,9 @@ const handlePageChange = page => {
width: 1600px; width: 1600px;
display: flex; display: flex;
gap: 16px; gap: 16px;
}
.left {
.left {
width: 360px; width: 360px;
height: 100%; height: 100%;
padding-bottom: 24px; padding-bottom: 24px;
...@@ -205,9 +205,9 @@ const handlePageChange = page => { ...@@ -205,9 +205,9 @@ const handlePageChange = page => {
box-shadow: 0px 0px 20px 0px rgba(94, 95, 95, 0.1); box-shadow: 0px 0px 20px 0px rgba(94, 95, 95, 0.1);
background: rgba(255, 255, 255, 1); background: rgba(255, 255, 255, 1);
position: relative; position: relative;
} }
.select-box-header { .select-box-header {
display: flex; display: flex;
gap: 17px; gap: 17px;
...@@ -230,26 +230,26 @@ const handlePageChange = page => { ...@@ -230,26 +230,26 @@ const handlePageChange = page => {
letter-spacing: 1px; letter-spacing: 1px;
text-align: left; text-align: left;
} }
} }
.select-research-box { .select-research-box {
width: 360px; width: 360px;
height: 284px; height: 284px;
margin-top: 16px; margin-top: 16px;
} }
.select-time-box { .select-time-box {
margin-top: 16px; margin-top: 16px;
width: 360px; width: 360px;
} }
.select-hearing-box { .select-hearing-box {
margin-top: 16px; margin-top: 16px;
width: 360px; width: 360px;
} }
.select-main { .select-main {
margin-left: 24px; margin-left: 24px;
margin-top: 12px; margin-top: 12px;
...@@ -270,9 +270,9 @@ const handlePageChange = page => { ...@@ -270,9 +270,9 @@ const handlePageChange = page => {
width: 259px; width: 259px;
gap: 4px; gap: 4px;
} }
} }
.right { .right {
width: 1224px; width: 1224px;
...@@ -286,7 +286,6 @@ const handlePageChange = page => { ...@@ -286,7 +286,6 @@ const handlePageChange = page => {
border-radius: 10px; border-radius: 10px;
box-shadow: 0px 0px 20px 0px rgba(94, 95, 95, 0.1); box-shadow: 0px 0px 20px 0px rgba(94, 95, 95, 0.1);
padding-right: 36px; padding-right: 36px;
height: 100%;
.card-content { .card-content {
width: 1211px; width: 1211px;
...@@ -298,10 +297,7 @@ const handlePageChange = page => { ...@@ -298,10 +297,7 @@ const handlePageChange = page => {
} }
} }
.right-footer {
}
.right-footer {
margin-top: 43px; margin-top: 43px;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
...@@ -316,9 +312,12 @@ const handlePageChange = page => { ...@@ -316,9 +312,12 @@ const handlePageChange = page => {
letter-spacing: 0px; letter-spacing: 0px;
text-align: left; text-align: left;
} }
} }
}
.card-item { .card-item {
width: 100%; width: 100%;
height: 77px; height: 77px;
display: flex; display: flex;
...@@ -375,11 +374,12 @@ const handlePageChange = page => { ...@@ -375,11 +374,12 @@ const handlePageChange = page => {
} }
} }
} }
.divider { .divider {
height: 1px; height: 1px;
background: rgb(234, 236, 238); background: rgb(234, 236, 238);
margin: 16px 0; margin: 16px 0;
}
} }
</style> </style>
...@@ -81,7 +81,7 @@ ...@@ -81,7 +81,7 @@
</div> </div>
</div> </div>
<div class="right-footer"> <div class="right-footer">
<div class="info">{{ total }}智库报告</div> <div class="info">{{ total }}政策建议</div>
<div class="page-box"> <div class="page-box">
<el-pagination :page-size="pageSize" background layout="prev, pager, next" :total="total" <el-pagination :page-size="pageSize" background layout="prev, pager, next" :total="total"
@current-change="p => emit('page-change', p)" :current-page="currentPage" /> @current-change="p => emit('page-change', p)" :current-page="currentPage" />
...@@ -298,7 +298,7 @@ const handleYearGroupChange = (val) => { ...@@ -298,7 +298,7 @@ const handleYearGroupChange = (val) => {
.right { .right {
width: 1224px; width: 1224px;
height: 1377px;
.card-box { .card-box {
width: 100%; width: 100%;
...@@ -316,7 +316,12 @@ const handleYearGroupChange = (val) => { ...@@ -316,7 +316,12 @@ const handleYearGroupChange = (val) => {
height: 1067px; height: 1067px;
margin-top: 33px; margin-top: 33px;
margin-left: 37px; margin-left: 37px;
}
.divider {
height: 1px;
background: rgb(234, 236, 238);
margin: 16px 0;
} }
.card-item { .card-item {
...@@ -468,6 +473,10 @@ const handleYearGroupChange = (val) => { ...@@ -468,6 +473,10 @@ const handleYearGroupChange = (val) => {
} }
} }
} }
}
}
.right-footer { .right-footer {
margin-top: 43px; margin-top: 43px;
...@@ -487,11 +496,4 @@ const handleYearGroupChange = (val) => { ...@@ -487,11 +496,4 @@ const handleYearGroupChange = (val) => {
} }
} }
} }
.divider {
height: 1px;
background: rgb(234, 236, 238);
margin: 16px 0;
}
</style> </style>
...@@ -4243,7 +4243,7 @@ onBeforeUnmount(() => { ...@@ -4243,7 +4243,7 @@ onBeforeUnmount(() => {
.home-main-footer { .home-main-footer {
overflow: hidden; overflow: hidden;
background: rgba(247, 248, 249, 1); background: rgba(247, 248, 249, 1);
height: 1700px;
.home-main-footer-header { .home-main-footer-header {
width: 1600px; width: 1600px;
...@@ -4332,6 +4332,7 @@ onBeforeUnmount(() => { ...@@ -4332,6 +4332,7 @@ onBeforeUnmount(() => {
width: 1600px; width: 1600px;
display: flex; display: flex;
gap: 16px; gap: 16px;
margin-bottom: 140px;
.left { .left {
width: 360px; width: 360px;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论