提交 1a2a37ac authored 作者: coderBryanFu's avatar coderBryanFu

feat:更新系统及数据资源库

上级 68717834
...@@ -12,11 +12,15 @@ export function search(data) { ...@@ -12,11 +12,15 @@ export function search(data) {
}) })
} }
/**
* @param { type } 4:智库列表 6:科技人物所属机构
*/
// 智库列表 // 智库列表
export function getThinkTankList() { export function getThinkTankList(params) {
return request({ return request({
method: 'GET', method: 'GET',
url: `/temporarySearch/search-info/all-organization-names`, url: `/temporarySearch/search-info/all-organization-names`,
params
}) })
} }
...@@ -66,4 +70,20 @@ export function getControlReason() { ...@@ -66,4 +70,20 @@ export function getControlReason() {
method: 'GET', method: 'GET',
url: `/temporarySearch/search-info/all-controlReason`, url: `/temporarySearch/search-info/all-controlReason`,
}) })
}
// 科技人物-人物类别
export function getPersonType() {
return request({
method: 'GET',
url: `/temporarySearch/search-info/all-personType`,
})
}
// 科技企业-企业类型
export function getBusinessType() {
return request({
method: 'GET',
url: `/temporarySearch/search-info/all-businessType`,
})
} }
\ No newline at end of file
...@@ -151,15 +151,15 @@ const handleToNewsAnalysis = (item, index) => { ...@@ -151,15 +151,15 @@ const handleToNewsAnalysis = (item, index) => {
&:hover { &:hover {
background: var(--color-bg-hover); background: var(--color-bg-hover);
.right-top .title { .right-top > .title {
text-decoration: underline; text-decoration: underline;
color: rgb(5, 95, 194) !important; color: rgb(5, 95, 194) !important;
font-weight: 700; font-weight: 700;
} }
.right-top .text-inner { // .right-top .text-inner {
border-bottom-color: rgb(5, 95, 194) !important; // border-bottom-color: rgb(5, 95, 194) !important;
} // }
} }
.left { .left {
......
// 企业资源库
const DataCompany = () => import('@/views/dataLibrary/company/index.vue')
const dataCompanyRoutes = [
// 企业资源库路由
{
path: "/dataLibrary/dataCompany",
name: "DataCompany",
component: DataCompany,
meta: {
title: '科技企业', // 显示在tag上的文字
affix: false, // 是否为固定tag(首页通常设置为true,不可关闭)
keepAlive: true // 是否需要缓存
}
},
]
export default dataCompanyRoutes
\ No newline at end of file
// 机构资源库
const DataIns = () => import('@/views/dataLibrary/institution/index.vue')
const dataInsRoutes = [
// 机构资源库路由
{
path: "/dataLibrary/dataInstitution",
name: "DataIns",
component: DataIns,
meta: {
title: '政府机构', // 显示在tag上的文字
affix: false, // 是否为固定tag(首页通常设置为true,不可关闭)
keepAlive: true // 是否需要缓存
}
},
]
export default dataInsRoutes
\ No newline at end of file
// 新闻资源库
const DataNews = () => import('@/views/dataLibrary/news/index.vue')
const dataNewsRoutes = [
// 新闻资源库路由
{
path: "/dataLibrary/dataNews",
name: "DataNews",
component: DataNews,
meta: {
title: '新闻', // 显示在tag上的文字
affix: false, // 是否为固定tag(首页通常设置为true,不可关闭)
keepAlive: true // 是否需要缓存
}
},
]
export default dataNewsRoutes
\ No newline at end of file
// 风险信号资源库
const DataRiskSignal = () => import('@/views/dataLibrary/riskSignal/index.vue')
const dataRiskSignalRoutes = [
// 风险信号资源库路由
{
path: "/dataLibrary/dataRiskSignal",
name: "DataRiskSignal",
component: DataRiskSignal,
meta: {
title: '风险信号', // 显示在tag上的文字
affix: false, // 是否为固定tag(首页通常设置为true,不可关闭)
keepAlive: true // 是否需要缓存
}
},
]
export default dataRiskSignalRoutes
\ No newline at end of file
// 法案资源库 // 风险信号资源库
const CongressMan = () => import('@/views/dataLibrary/technologyFigures/congressMan/index.vue') const DataTechnologyFigures = () => import('@/views/dataLibrary/technologyFigures/index.vue')
const Minister = () => import('@/views/dataLibrary/technologyFigures/minister/index.vue')
const TechnologyLeader = () => import('@/views/dataLibrary/technologyFigures/technologyLeader/index.vue')
const ThinkTankResearcher = () => import('@/views/dataLibrary/technologyFigures/thinkTankResearcher/index.vue')
const dataDecreeRoutes = [ const dataTechnologyFiguresRoutes = [
// 科技法案资源库路由 // 风险信号资源库路由
{ {
path: "/dataLibrary/congressMan", path: "/dataLibrary/dataTechnologyFigures",
name: "CongressMan", name: "DataTechnologyFigures",
component: CongressMan, component: DataTechnologyFigures,
meta: { meta: {
title: '国会议员', // 显示在tag上的文字 title: '科技人物', // 显示在tag上的文字
affix: false, // 是否为固定tag(首页通常设置为true,不可关闭)
keepAlive: true // 是否需要缓存
}
},
{
path: "/dataLibrary/minister",
name: "Minister",
component: Minister,
meta: {
title: '机构主官', // 显示在tag上的文字
affix: false, // 是否为固定tag(首页通常设置为true,不可关闭)
keepAlive: true // 是否需要缓存
}
},
{
path: "/dataLibrary/technologyLeader",
name: "TechnologyLeader",
component: TechnologyLeader,
meta: {
title: '科技企业领袖', // 显示在tag上的文字
affix: false, // 是否为固定tag(首页通常设置为true,不可关闭)
keepAlive: true // 是否需要缓存
}
},
{
path: "/dataLibrary/thinkTankResearcher",
name: "ThinkTankResearcher",
component: ThinkTankResearcher,
meta: {
title: '智库研究人员', // 显示在tag上的文字
affix: false, // 是否为固定tag(首页通常设置为true,不可关闭) affix: false, // 是否为固定tag(首页通常设置为true,不可关闭)
keepAlive: true // 是否需要缓存 keepAlive: true // 是否需要缓存
} }
...@@ -49,4 +16,4 @@ const dataDecreeRoutes = [ ...@@ -49,4 +16,4 @@ const dataDecreeRoutes = [
] ]
export default dataDecreeRoutes export default dataTechnologyFiguresRoutes
\ No newline at end of file \ No newline at end of file
...@@ -355,6 +355,9 @@ import { ElMessage } from "element-plus"; ...@@ -355,6 +355,9 @@ import { ElMessage } from "element-plus";
import { ArrowLeft, ArrowRight } from "@element-plus/icons-vue"; import { ArrowLeft, ArrowRight } from "@element-plus/icons-vue";
import SimplePagination from "@/components/SimplePagination.vue"; import SimplePagination from "@/components/SimplePagination.vue";
import CustomContainer from "@/components/Container/index.vue"; import CustomContainer from "@/components/Container/index.vue";
import { useGotoNewsDetail } from "@/router/modules/news";
const gotoNewsDetail = useGotoNewsDetail();
const router = useRouter(); const router = useRouter();
...@@ -515,13 +518,15 @@ const getUSGovernmentLatestDynamicData = async () => { ...@@ -515,13 +518,15 @@ const getUSGovernmentLatestDynamicData = async () => {
const handleClickTitle = item => { const handleClickTitle = item => {
if (!item || !item.id) return; if (!item || !item.id) return;
// 打开新标签页 // 打开新标签页
const { href } = router.resolve({ // const { href } = router.resolve({
path: "/newsAnalysis", // path: "/newsAnalysis",
query: { // query: {
newsId: item.id // newsId: item.id
} // }
}); // });
window.open(href, "_blank"); // window.open(href, "_blank");
gotoNewsDetail(item.id);
}; };
const timelineList = ref([]); const timelineList = ref([]);
......
...@@ -300,6 +300,8 @@ import { ...@@ -300,6 +300,8 @@ import {
getThreeMonthSanctionProcess getThreeMonthSanctionProcess
} from "@/api/allGovernment.js"; } from "@/api/allGovernment.js";
import CalendarHeatmap from "./components/CalendarHeatmap.vue"; import CalendarHeatmap from "./components/CalendarHeatmap.vue";
import { useGotoNewsDetail } from "@/router/modules/news";
const gotoNewsDetail = useGotoNewsDetail();
const router = useRouter(); const router = useRouter();
const activeDate = inject("activeDate"); const activeDate = inject("activeDate");
...@@ -501,13 +503,15 @@ const updateRankListByPage = () => { ...@@ -501,13 +503,15 @@ const updateRankListByPage = () => {
const handleNewsClick = item => { const handleNewsClick = item => {
if (!item || !item.id) return; if (!item || !item.id) return;
// 打开新标签页 // 打开新标签页
const { href } = router.resolve({ // const { href } = router.resolve({
path: "/newsAnalysis", // path: "/newsAnalysis",
query: { // query: {
newsId: item.id // newsId: item.id
} // }
}); // });
window.open(href, "_blank"); // window.open(href, "_blank");
gotoNewsDetail(item.id);
}; };
// 点击联合制裁项-如果是政令则跳转详情 // 点击联合制裁项-如果是政令则跳转详情
......
...@@ -47,12 +47,8 @@ ...@@ -47,12 +47,8 @@
<!-- <div class="right-num" :class="{ click: currentAntiType === 'num' }">排华联盟数量</div> --> <!-- <div class="right-num" :class="{ click: currentAntiType === 'num' }">排华联盟数量</div> -->
<!-- <div class="right-num" :class="{ click: currentAntiType === 'active' }">排华联盟动态</div> --> <!-- <div class="right-num" :class="{ click: currentAntiType === 'active' }">排华联盟动态</div> -->
<button-list :list="buttonList" :active-id="activeButtonId" @click="setActiveButtonId"></button-list> <button-list :list="buttonList" :active-id="activeButtonId" @click="setActiveButtonId"></button-list>
<el-select <el-select v-model="selectedFieldForLatest" @change="handleFieldChange" placeholder="全部领域"
v-model="selectedFieldForLatest" class="field-select">
@change="handleFieldChange"
placeholder="全部领域"
class="field-select"
>
<el-option v-for="item in fieldOptions" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in fieldOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-select> </el-select>
</div> </div>
...@@ -69,22 +65,12 @@ ...@@ -69,22 +65,12 @@
<div class="right-num">参与排华联盟</div> <div class="right-num">参与排华联盟</div>
</div> </div>
</div> </div>
<div <div class="item" v-for="(item, index) in countList" :key="index" @click="handleCountryClick(item)"
class="item" :class="{ 'selected-country': currentSelectedCountry && currentSelectedCountry.name === item.name }">
v-for="(item, index) in countList"
:key="index"
@click="handleCountryClick(item)"
:class="{ 'selected-country': currentSelectedCountry && currentSelectedCountry.name === item.name }"
>
<div class="item-left"> <div class="item-left">
<img :src="item.image" alt /> <img :src="item.image" alt />
<el-tooltip <el-tooltip effect="dark" :content="item.zhName" popper-class="common-prompt-popper" placement="top"
effect="dark" :show-after="500">
:content="item.zhName"
popper-class="common-prompt-popper"
placement="top"
:show-after="500"
>
<span>{{ item.zhName }}</span> <span>{{ item.zhName }}</span>
</el-tooltip> </el-tooltip>
</div> </div>
...@@ -100,22 +86,12 @@ ...@@ -100,22 +86,12 @@
<div class="right-num">{{ unionDynamicCount }}条动态</div> <div class="right-num">{{ unionDynamicCount }}条动态</div>
</div> </div>
</div> </div>
<div <div class="item carousel-item" v-for="(item, index) in carouselPageList" :key="index"
class="item carousel-item"
v-for="(item, index) in carouselPageList"
:key="index"
@click="handleUnionItemClick(item)" @click="handleUnionItemClick(item)"
:class="{ 'selected-item': currentSelectedUnion && currentSelectedUnion.id === item.id }" :class="{ 'selected-item': currentSelectedUnion && currentSelectedUnion.id === item.id }">
>
<div class="item-top"> <div class="item-top">
<div class="top-img"> <div class="top-img">
<img <img :src="ele" :class="{ img1: idx !== 0 }" alt v-for="(ele, idx) in item.imageList" :key="idx" />
:src="ele"
:class="{ img1: idx !== 0 }"
alt
v-for="(ele, idx) in item.imageList"
:key="idx"
/>
</div> </div>
<div class="top-num">{{ item.count }}</div> <div class="top-num">{{ item.count }}</div>
</div> </div>
...@@ -159,13 +135,8 @@ ...@@ -159,13 +135,8 @@
<img src="./assets/news.png" alt /> <img src="./assets/news.png" alt />
<span>排华联盟最新动态</span> <span>排华联盟最新动态</span>
</div> </div>
<el-select <el-select v-model="selectUnion" placeholder="全部排华联盟" class="custom-select" :style="{ width: '160px' }"
v-model="selectUnion" @change="handleUnionChange">
placeholder="全部排华联盟"
class="custom-select"
:style="{ width: '160px' }"
@change="handleUnionChange"
>
<el-option v-for="item in unionListOption" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in unionListOption" :key="item.value" :label="item.label" :value="item.value" />
</el-select> </el-select>
</div> </div>
...@@ -175,13 +146,8 @@ ...@@ -175,13 +146,8 @@
<img :src="item.image || defaultImg" alt /> <img :src="item.image || defaultImg" alt />
<span @click="handleClick(item)">{{ item.title }}</span> <span @click="handleClick(item)">{{ item.title }}</span>
</div> </div>
<el-tooltip <el-tooltip effect="dark" :content="item.content" popper-class="common-prompt-popper" placement="top"
effect="dark" :show-after="500">
:content="item.content"
popper-class="common-prompt-popper"
placement="top"
:show-after="500"
>
<template #content> <template #content>
<div class="item-tooltip"> <div class="item-tooltip">
{{ item.content }} {{ item.content }}
...@@ -201,12 +167,8 @@ ...@@ -201,12 +167,8 @@
</div> </div>
</div> </div>
</div> </div>
<simple-pagination <simple-pagination v-model:current-page="newsCurrentPage" :page-size="newsPageSize" :total="allNewsList.length"
v-model:current-page="newsCurrentPage" @page-change="handleUnionPageChange" />
:page-size="newsPageSize"
:total="allNewsList.length"
@page-change="handleUnionPageChange"
/>
</div> </div>
<div class="warning"> <div class="warning">
<div class="warning-title"> <div class="warning-title">
...@@ -218,26 +180,16 @@ ...@@ -218,26 +180,16 @@
<div class="item-title"> <div class="item-title">
<div class="title-left"> <div class="title-left">
<div class="img-list"> <div class="img-list">
<img <img :src="ele.image || defaultImg" :class="{ img1: index !== 0 }"
:src="ele.image || defaultImg" @error="e => (e.target.src = defaultImg)" alt v-for="(ele, index) in item.countryList"
:class="{ img1: index !== 0 }" :key="index" />
@error="e => (e.target.src = defaultImg)"
alt
v-for="(ele, index) in item.countryList"
:key="index"
/>
</div> </div>
<div class="left-content">{{ getContent(item.countryList) }}</div> <div class="left-content">{{ getContent(item.countryList) }}</div>
</div> </div>
<div class="title-right">{{ item.statementList?.length }}次合作</div> <div class="title-right">{{ item.statementList?.length }}次合作</div>
</div> </div>
<div class="item-content"> <div class="item-content">
<div <div class="content-list" v-for="(ele, idx) in item.statementList" :key="idx" @click="handleClick(ele)">
class="content-list"
v-for="(ele, idx) in item.statementList"
:key="idx"
@click="handleClick(ele)"
>
<div class="list-left"> <div class="list-left">
<!-- <span>{{ getName(ele.industryList) }}</span> --> <!-- <span>{{ getName(ele.industryList) }}</span> -->
<AreaTag v-if="getName(ele.industryList)" :tagName="getName(ele.industryList)"></AreaTag> <AreaTag v-if="getName(ele.industryList)" :tagName="getName(ele.industryList)"></AreaTag>
...@@ -248,12 +200,8 @@ ...@@ -248,12 +200,8 @@
</div> </div>
</div> </div>
</div> </div>
<simple-pagination <simple-pagination v-model:current-page="warningCurrentPage" :page-size="warningPageSize"
v-model:current-page="warningCurrentPage" :total="allWarningList.length" @page-change="handleWarningPageChange" />
:page-size="warningPageSize"
:total="allWarningList.length"
@page-change="handleWarningPageChange"
/>
</div> </div>
</div> </div>
...@@ -305,6 +253,9 @@ import { get, union, update } from "lodash"; ...@@ -305,6 +253,9 @@ import { get, union, update } from "lodash";
import ButtonList from "@/components/buttonList/buttonList.vue"; import ButtonList from "@/components/buttonList/buttonList.vue";
import { fieldOptions, COLORS, countryNameMap, nameMap } from "@/views/ZMOverView/public.js"; import { fieldOptions, COLORS, countryNameMap, nameMap } from "@/views/ZMOverView/public.js";
import { countryCoordMap, convertAsiaCenterCoord } from "@/assets/json/countryCoordMap.js"; import { countryCoordMap, convertAsiaCenterCoord } from "@/assets/json/countryCoordMap.js";
import { useGotoNewsDetail } from "@/router/modules/news";
const gotoNewsDetail = useGotoNewsDetail();
const buttonList = ref([ const buttonList = ref([
{ {
...@@ -1485,13 +1436,14 @@ const getDynamicList = async () => { ...@@ -1485,13 +1436,14 @@ const getDynamicList = async () => {
} }
}; };
const handleClick = item => { const handleClick = item => {
const { href } = router.resolve({ // const { href } = router.resolve({
path: "/newsAnalysis", // path: "/newsAnalysis",
query: { // query: {
newsId: item.id // newsId: item.id
} // }
}); // });
window.open(href, "_blank"); // window.open(href, "_blank");
gotoNewsDetail(item.id);
}; };
// 获取联盟预警 // 获取联盟预警
...@@ -1859,6 +1811,7 @@ watch(activeDate, async () => { ...@@ -1859,6 +1811,7 @@ watch(activeDate, async () => {
height: calc(100% - 48px); height: calc(100% - 48px);
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
.content-left { .content-left {
width: 320px; width: 320px;
...@@ -1873,6 +1826,7 @@ watch(activeDate, async () => { ...@@ -1873,6 +1826,7 @@ watch(activeDate, async () => {
overflow: hidden; overflow: hidden;
border: 1px solid rgb(231, 243, 255); border: 1px solid rgb(231, 243, 255);
border-radius: 10px; border-radius: 10px;
// gap: 12px; // gap: 12px;
.count-box-header { .count-box-header {
display: flex; display: flex;
...@@ -1967,9 +1921,11 @@ watch(activeDate, async () => { ...@@ -1967,9 +1921,11 @@ watch(activeDate, async () => {
border-radius: 0px; border-radius: 0px;
border-bottom: 1px solid rgb(231, 243, 255); border-bottom: 1px solid rgb(231, 243, 255);
padding: 10px; padding: 10px;
&.selected-item { &.selected-item {
background-color: rgb(246, 250, 255) !important; background-color: rgb(246, 250, 255) !important;
} }
.item-top { .item-top {
width: 100%; width: 100%;
height: 16px; height: 16px;
...@@ -2509,6 +2465,7 @@ watch(activeDate, async () => { ...@@ -2509,6 +2465,7 @@ watch(activeDate, async () => {
height: calc(100% - 80px); height: calc(100% - 80px);
padding: 33px 48px 40px 50px; padding: 33px 48px 40px 50px;
} }
.anti-area-datasource { .anti-area-datasource {
text-align: center; text-align: center;
font-family: Source Han Sans CN; font-family: Source Han Sans CN;
...@@ -2518,6 +2475,7 @@ watch(activeDate, async () => { ...@@ -2518,6 +2475,7 @@ watch(activeDate, async () => {
align-items: center; align-items: center;
justify-content: center; justify-content: center;
gap: 5px; gap: 5px;
.tips-icon { .tips-icon {
margin-top: 2px; margin-top: 2px;
width: 16px; width: 16px;
...@@ -2567,6 +2525,7 @@ watch(activeDate, async () => { ...@@ -2567,6 +2525,7 @@ watch(activeDate, async () => {
height: 430px; height: 430px;
// padding: 33px 48px 59px 50px; // padding: 33px 48px 59px 50px;
} }
.anti-area-datasource { .anti-area-datasource {
text-align: center; text-align: center;
font-family: Source Han Sans CN; font-family: Source Han Sans CN;
...@@ -2576,6 +2535,7 @@ watch(activeDate, async () => { ...@@ -2576,6 +2535,7 @@ watch(activeDate, async () => {
align-items: center; align-items: center;
justify-content: center; justify-content: center;
gap: 5px; gap: 5px;
.tips-icon { .tips-icon {
margin-top: 2px; margin-top: 2px;
width: 16px; width: 16px;
......
...@@ -447,15 +447,12 @@ const handleToPage = async item => { ...@@ -447,15 +447,12 @@ const handleToPage = async item => {
// break; // break;
case "机构": case "机构":
curRoute = router.resolve({ curRoute = router.resolve({
path: "/institution", path: "/newsModeule/" + item.id
query: {
id: item.id
}
}); });
break; break;
case "新闻": case "新闻":
curRoute = router.resolve({ curRoute = router.resolve({
path: "/newsAnalysis", name: "newsDetail",
query: { query: {
newsId: item.id newsId: item.id
} }
......
...@@ -129,13 +129,13 @@ const handleToMoreNews = () => { ...@@ -129,13 +129,13 @@ const handleToMoreNews = () => {
}; };
// 查看新闻资讯详情 // 查看新闻资讯详情
const handleToNewsDetail = (item) => { const handleToNewsDetail = (item) => {
const route = router.resolve({ // const route = router.resolve({
path: "/newsAnalysis", // path: "/newsAnalysis",
query: { // query: {
newsId: item.id // newsId: item.id
} // }
}); // });
window.open(route.href, "_blank"); // window.open(route.href, "_blank");
} }
// 查看社交媒体详情 // 查看社交媒体详情
const handleToSocialDetail = (item) => { const handleToSocialDetail = (item) => {
......
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24.000000" height="24.000000" fill="none" customFrame="#000000">
<defs>
<linearGradient id="paint_linear_10" x1="12" x2="12" y1="4" y2="20" gradientUnits="userSpaceOnUse">
<stop stop-color="rgb(114,46,209)" offset="0" stop-opacity="1" />
<stop stop-color="rgb(114,46,209)" offset="1" stop-opacity="0.5" />
</linearGradient>
</defs>
<rect id="容器 1604" width="24.000000" height="24.000000" x="0.000000" y="0.000000" />
<path id="矢量 1680" d="M9.63557 4.71309L9.63557 4.71448C9.53504 4.71448 9.45369 4.6337 9.45369 4.53621L9.45369 4.35655C9.45404 4.16017 9.61674 4 9.81746 4L12.0001 4L14.1827 4C14.3837 4 14.5465 4.16017 14.5465 4.35655L14.5465 4.53482C14.5465 4.6337 14.4651 4.71309 14.3646 4.71309C14.264 4.71309 14.1827 4.79248 14.1827 4.89137L14.1827 8.45125C14.1827 8.51532 14.2001 8.57799 14.2335 8.63231L19.7952 17.8482C20.3689 18.798 19.6698 20 18.5429 20L5.45721 20C4.33038 20 3.63126 18.798 4.20498 17.8482L9.76666 8.63231C9.80005 8.57799 9.81746 8.51532 9.81746 8.45125L9.81746 4.89137C9.81746 4.79248 9.73611 4.71309 9.63557 4.71309ZM10.545 15.0529C10.545 14.4624 10.0565 13.9833 9.45369 13.9833C8.85084 13.9833 8.36238 14.4624 8.36238 15.0529C8.36238 15.6435 8.85084 16.1226 9.45369 16.1226C10.0565 16.1226 10.545 15.6435 10.545 15.0529ZM15.0921 14.6964C15.5944 14.6964 16.0015 15.0961 16.0015 15.5877C16.0015 16.0794 15.5944 16.4791 15.0921 16.4791C14.5898 16.4791 14.1827 16.0794 14.1827 15.5877C14.1827 15.0961 14.5898 14.6964 15.0921 14.6964ZM12.7276 17.5487C12.7276 17.1546 12.4018 16.8357 12.0001 16.8357C11.5983 16.8357 11.2725 17.1546 11.2725 17.5487C11.2725 17.9429 11.5983 18.2618 12.0001 18.2618C12.4018 18.2618 12.7276 17.9429 12.7276 17.5487Z" fill="url(#paint_linear_10)" fill-rule="evenodd" />
</svg>
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24.000000" height="24.000000" fill="none" customFrame="#000000">
<defs>
<linearGradient id="paint_linear_0" x1="12.5" x2="12.5" y1="5" y2="19.2500038" gradientUnits="userSpaceOnUse">
<stop stop-color="rgb(5,95,194)" offset="0" stop-opacity="1" />
<stop stop-color="rgb(5,95,194)" offset="1" stop-opacity="0.5" />
</linearGradient>
</defs>
<rect id="容器 1604" width="24.000000" height="24.000000" x="0.000000" y="0.000000" />
<path id="合并" d="M19.625 7.375L19.625 6C19.625 5.44772 19.1773 5 18.625 5L4 5C3.44772 5 3 5.44772 3 6L3 18.0625C3 18.7186 3.53141 19.25 4.1875 19.25L20.2188 19.25C21.2026 19.25 22 18.4526 22 17.4688L22 8.375C22 7.82272 21.5523 7.375 21 7.375L19.625 7.375ZM17.5 8L5.5 8C5.22386 8 5 8.22386 5 8.5C5 8.77614 5.22386 9 5.5 9L17.5 9C17.7761 9 18 8.77614 18 8.5C18 8.22386 17.7761 8 17.5 8ZM6.00414 10L9.99929 10C10.5518 10 11.0005 10.4482 11 11.0007L10.995 16.0007C10.9946 16.5527 10.5477 17 9.99574 17L6.00071 17C5.44815 17 4.99961 16.5519 5 15.9993L5.00497 10.9992C5.00543 10.4472 5.45218 10 6.00414 10ZM17.498 10L12.502 10C12.2254 10 11.9978 10.2254 12 10.502L12.0041 10.502C12.0052 10.7774 12.2267 11 12.502 11L17.498 11C17.7749 11 18.0011 10.7749 18 10.498L17.9959 10.4979C17.9937 10.2223 17.7736 10 17.498 10ZM10 16L10 11L6 11L6 16L10 16ZM17.498 12L12.502 12C12.2254 12 11.9978 12.2254 12 12.502L12.0041 12.502C12.0052 12.7774 12.2267 13 12.502 13L17.498 13C17.7749 13 18.0011 12.7749 18 12.498L17.9959 12.4979C17.9937 12.2223 17.7736 12 17.498 12ZM17.498 14L12.502 14C12.2254 14 11.9978 14.2254 12 14.502L12.0041 14.502C12.0052 14.7774 12.2267 15 12.502 15L17.498 15C17.7749 15 18.0011 14.7749 18 14.498L17.9959 14.4979C17.9937 14.2223 17.7736 14 17.498 14ZM12.502 16L17.498 16C17.7736 16 17.9937 16.2223 17.9959 16.4979L18 16.498C18.0011 16.7749 17.7749 17 17.498 17L12.502 17C12.2267 17 12.0052 16.7774 12.0041 16.502L12 16.502C11.9978 16.2254 12.2254 16 12.502 16Z" fill="url(#paint_linear_0)" fill-rule="evenodd" />
</svg>
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24.000000" height="24.000000" fill="none" customFrame="#000000">
<defs>
<linearGradient id="paint_linear_1" x1="12" x2="12" y1="4" y2="20" gradientUnits="userSpaceOnUse">
<stop stop-color="rgb(206,79,81)" offset="0" stop-opacity="1" />
<stop stop-color="rgb(206,79,81)" offset="1" stop-opacity="0.5" />
</linearGradient>
</defs>
<rect id="容器 1605" width="24.000000" height="24.000000" x="0.000000" y="0.000000" />
<path id="矢量 347" d="M21.9043 19.0204L12.6181 4.32654C12.5871 4.27668 12.5495 4.2314 12.5053 4.1907C12.4611 4.15001 12.4118 4.11531 12.3575 4.08661C12.3032 4.05792 12.2457 4.03623 12.1851 4.02154C12.1244 4.00685 12.0627 3.99967 12 4.00001C11.759 4.00001 11.5181 4.10798 11.3819 4.32654L2.0957 19.0204C2.0801 19.0451 2.06633 19.0706 2.05439 19.097C2.04244 19.1234 2.03243 19.1503 2.02436 19.1779C2.01628 19.2054 2.0102 19.2333 2.00612 19.2616C2.00205 19.2899 2.00001 19.3183 2 19.3468C1.99999 19.3754 2.00203 19.4038 2.00609 19.432C2.01016 19.4603 2.01622 19.4882 2.02429 19.5158C2.03236 19.5434 2.04236 19.5703 2.05429 19.5967C2.06622 19.623 2.07999 19.6486 2.09558 19.6733C2.11117 19.698 2.12846 19.7217 2.14744 19.7443C2.16643 19.7669 2.18695 19.7883 2.209 19.8085C2.23106 19.8287 2.25446 19.8475 2.2792 19.8649C2.30395 19.8822 2.32983 19.8981 2.35684 19.9123C2.38385 19.9266 2.41177 19.9392 2.44059 19.9501C2.46941 19.9611 2.49889 19.9702 2.52902 19.9776C2.55916 19.985 2.58969 19.9906 2.62062 19.9944C2.65156 19.9981 2.68262 20 2.71383 20L21.2862 20C21.3174 20 21.3484 19.9981 21.3794 19.9944C21.4103 19.9906 21.4408 19.985 21.471 19.9776C21.5011 19.9702 21.5306 19.9611 21.5594 19.9501C21.5882 19.9392 21.6161 19.9266 21.6432 19.9123C21.6702 19.8981 21.6961 19.8822 21.7208 19.8649C21.7455 19.8475 21.7689 19.8287 21.791 19.8085C21.8131 19.7883 21.8336 19.7669 21.8526 19.7443C21.8715 19.7217 21.8888 19.698 21.9044 19.6733C21.92 19.6486 21.9338 19.623 21.9457 19.5967C21.9576 19.5703 21.9676 19.5434 21.9757 19.5158C21.9838 19.4882 21.9898 19.4603 21.9939 19.432C21.998 19.4038 22 19.3754 22 19.3468C22 19.3183 21.998 19.2899 21.9939 19.2616C21.9898 19.2333 21.9837 19.2054 21.9756 19.1779C21.9676 19.1503 21.9576 19.1234 21.9456 19.097C21.9337 19.0706 21.9199 19.0451 21.9043 19.0204ZM11.2857 10.0408C11.2857 9.95114 11.3662 9.87756 11.4643 9.87756L12.5357 9.87756C12.6338 9.87756 12.7143 9.95114 12.7143 10.0408L12.7143 13.7959C12.7143 13.8176 12.7097 13.8384 12.7006 13.8583C12.6915 13.8783 12.6786 13.8959 12.6619 13.9112C12.6451 13.9265 12.6259 13.9383 12.604 13.9466C12.5822 13.9549 12.5594 13.9591 12.5357 13.9592L11.4643 13.9592C11.4406 13.9591 11.4178 13.955 11.396 13.9466C11.3741 13.9383 11.3549 13.9265 11.3381 13.9112C11.3214 13.8959 11.3085 13.8783 11.2994 13.8583C11.2903 13.8384 11.2857 13.8176 11.2857 13.7959L11.2857 10.0408ZM12 17.2245C11.9296 17.2245 11.8599 17.2182 11.7909 17.2056C11.7219 17.1931 11.6549 17.1745 11.5899 17.1498C11.5249 17.1252 11.4631 17.095 11.4046 17.0592C11.3461 17.0235 11.292 16.9829 11.2422 16.9374C11.1925 16.8919 11.1481 16.8424 11.109 16.7889C11.0699 16.7354 11.0369 16.6789 11.01 16.6194C10.9831 16.56 10.9628 16.4987 10.9491 16.4356C10.9354 16.3725 10.9285 16.3088 10.9285 16.2445C10.9285 16.1801 10.9354 16.1164 10.9492 16.0533C10.9629 15.9902 10.9832 15.929 11.0102 15.8695C11.0371 15.8101 11.0702 15.7536 11.1093 15.7001C11.1484 15.6467 11.1928 15.5972 11.2426 15.5517C11.2924 15.5062 11.3465 15.4656 11.405 15.4299C11.4635 15.3941 11.5253 15.364 11.5903 15.3394C11.6553 15.3148 11.7224 15.2962 11.7914 15.2837C11.8604 15.2711 11.9301 15.2649 12.0005 15.2649C12.0708 15.2649 12.1405 15.2712 12.2096 15.2837C12.2786 15.2963 12.3456 15.3149 12.4106 15.3395C12.4756 15.3642 12.5373 15.3944 12.5959 15.4301C12.6544 15.4659 12.7085 15.5065 12.7582 15.552C12.808 15.5975 12.8524 15.647 12.8915 15.7005C12.9306 15.754 12.9636 15.8105 12.9905 15.8699C13.0174 15.9294 13.0377 15.9906 13.0514 16.0537C13.0651 16.1168 13.072 16.1806 13.072 16.2449C13.0719 16.3092 13.0651 16.3729 13.0513 16.436C13.0376 16.4991 13.0172 16.5604 12.9903 16.6198C12.9633 16.6793 12.9303 16.7357 12.8912 16.7892C12.8521 16.8427 12.8077 16.8922 12.7579 16.9377C12.7081 16.9831 12.654 17.0238 12.5955 17.0595C12.5369 17.0952 12.4752 17.1254 12.4101 17.15C12.3451 17.1746 12.2781 17.1932 12.2091 17.2057C12.1401 17.2182 12.0704 17.2245 12 17.2245Z" fill="url(#paint_linear_1)" fill-rule="nonzero" />
</svg>
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24.000000" height="24.000000" fill="none" customFrame="#000000">
<defs>
<linearGradient id="paint_linear_6" x1="13" x2="13" y1="4" y2="20" gradientUnits="userSpaceOnUse">
<stop stop-color="rgb(212,56,13)" offset="0" stop-opacity="1" />
<stop stop-color="rgb(212,56,13)" offset="1" stop-opacity="0.5" />
</linearGradient>
</defs>
<rect id="容器 1601" width="24.000000" height="24.000000" x="0.000000" y="0.000000" />
<path id="矢量 1679" d="M17 4C18.0195 4 18.8462 4.81132 18.8462 5.81132L18.8462 11.3443C18.2323 11.0861 17.5562 10.9434 16.8462 10.9434C14.0424 10.9434 11.7692 13.1733 11.7692 15.9245C11.7692 17.6097 12.6217 19.0991 13.9264 20L6.84615 20C5.82662 20 5 19.1887 5 18.1887L5 5.81132C5 4.81132 5.82662 4 6.84615 4L17 4ZM15.7692 6.71698C16.1091 6.71698 16.3846 6.98703 16.3846 7.32076C16.3846 7.65448 16.1091 7.92453 15.7692 7.92453L8.07692 7.92453C7.73708 7.92453 7.46154 7.65448 7.46154 7.32076C7.46154 6.98703 7.73708 6.71698 8.07692 6.71698L15.7692 6.71698ZM12.6923 9.73585C13.0322 9.73585 13.3077 10.0059 13.3077 10.3396C13.3077 10.6733 13.0322 10.9434 12.6923 10.9434L8.07692 10.9434C7.73708 10.9434 7.46154 10.6733 7.46154 10.3396C7.46154 10.0059 7.73708 9.73585 8.07692 9.73585L12.6923 9.73585ZM21 15.9245C21 13.6733 19.1403 11.8491 16.8462 11.8491C14.552 11.8491 12.6923 13.6733 12.6923 15.9245C12.6923 18.1757 14.552 20 16.8462 20C19.1403 20 21 18.1757 21 15.9245ZM10.8462 13.3585C10.8462 13.0248 10.5706 12.7547 10.2308 12.7547L8.07692 12.7547C7.73708 12.7547 7.46154 13.0248 7.46154 13.3585C7.46154 13.6922 7.73708 13.9623 8.07692 13.9623L10.2308 13.9623C10.5706 13.9623 10.8462 13.6922 10.8462 13.3585ZM16.8462 13.0566C17.4378 13.0566 17.9886 13.2288 18.4486 13.5259L14.4011 17.4965C14.0989 17.0448 13.9231 16.5047 13.9231 15.9245C13.9231 14.3408 15.2317 13.0566 16.8462 13.0566ZM16.8462 18.7925C16.2689 18.7925 15.7305 18.6285 15.2773 18.3443L19.3131 14.3856C19.6019 14.8302 19.7692 15.3585 19.7692 15.9245C19.7692 17.5083 18.4606 18.7925 16.8462 18.7925Z" fill="url(#paint_linear_6)" fill-rule="evenodd" />
</svg>
差异被折叠。
...@@ -71,8 +71,13 @@ const getBarChart = (data) => { ...@@ -71,8 +71,13 @@ const getBarChart = (data) => {
fontSize: 16, fontSize: 16,
fontFamily: 'Source Han Sans CN', fontFamily: 'Source Han Sans CN',
formatter: function (params) { formatter: function (params) {
return params.value // params.value 是当前数据项的值
}, if (params.value > 0) {
return params.value; // 值大于0时返回数值,显示标签
} else {
return ''; // 值等于0时返回空字符串,不显示标签
}
}
}, },
barWidth: data.dataX.length < 60 ? 20 : 3, barWidth: data.dataX.length < 60 ? 20 : 3,
itemStyle: { itemStyle: {
......
...@@ -13,14 +13,16 @@ const getPieChart = (data) => { ...@@ -13,14 +13,16 @@ const getPieChart = (data) => {
let option = { let option = {
color: colorList, color: colorList,
legend: { legend: {
show: false show: true,
top: 12
}, },
series: [ series: [
{ {
type: 'pie', type: 'pie',
radius: [160, 190], radius: [150, 180],
height: '100%', // height: '96%',
left: 'center', left: 'center',
top: 24,
width: '98%', width: '98%',
itemStyle: { itemStyle: {
borderColor: '#fff', borderColor: '#fff',
......
...@@ -1082,18 +1082,18 @@ const initParam = () => { ...@@ -1082,18 +1082,18 @@ const initParam = () => {
} }
// 跳转政令详情 // 跳转机构详情
const handleClickToDetail = (curDecree) => { const handleClickToDetail = (curEntity) => {
console.log('curDecree', curDecree); console.log('curEntity', curEntity);
window.sessionStorage.setItem("decreeId", curDecree.id); window.sessionStorage.setItem("decreeId", curEntity.id);
window.sessionStorage.setItem("curTabName", curDecree.title); window.sessionStorage.setItem("curTabName", curEntity.title);
const route = router.resolve({ const route = router.resolve({
path: "/decreeLayout", name: "companyPages",
query: { params: {
id: curDecree.id id: curEntity.id
} }
}); });
window.open(route.href, "_blank"); window.open(route.href, "_blank");
}; };
......
...@@ -819,19 +819,35 @@ const initParam = () => { ...@@ -819,19 +819,35 @@ const initParam = () => {
} }
// 跳转政令详情 // 跳转单次清单事件详情
const handleClickToDetail = (curDecree) => { const handleClickToDetail = (curEntityEvent) => {
console.log('curDecree', curDecree); console.log('curEntityEvent', curEntityEvent);
window.sessionStorage.setItem("decreeId", curDecree.id); // window.sessionStorage.setItem("decreeId", curEntityEvent.id);
window.sessionStorage.setItem("curTabName", curDecree.title); // window.sessionStorage.setItem("curTabName", curEntityEvent.title);
const route = router.resolve({
path: "/decreeLayout", // let id = item?.id;
query: { // let sanTypeId = item?.sanTypeId || 1;
id: curDecree.id // if (!id) {
} // const currentItem = entitiesDataInfoList.value[currentCarouselIndex.value];
}); // id = currentItem?.id;
window.open(route.href, "_blank"); // sanTypeId = currentItem?.sanTypeId || 1;
// }
// window.sessionStorage.setItem(
// "curTabName",
// entitiesDataInfoList.value[currentCarouselIndex.value].postDate + " 《实体清单新增条目》"
// );
// let date = entitiesDataInfoList.value[currentCarouselIndex.value].postDate
// const routeData = router.resolve({
// path: "/exportControl/singleSanction",
// query: {
// id,
// sanTypeId,
// date
// }
// });
// // 打开一个新页面
// window.open(routeData.href, "_blank");
}; };
// 跳转机构详情 // 跳转机构详情
......
...@@ -77,13 +77,12 @@ import Icon1 from "./assets/icons/sider-icon1.svg"; ...@@ -77,13 +77,12 @@ import Icon1 from "./assets/icons/sider-icon1.svg";
import Icon2 from "./assets/icons/sider-icon2.svg"; import Icon2 from "./assets/icons/sider-icon2.svg";
import Icon3 from "./assets/icons/sider-icon3.svg"; import Icon3 from "./assets/icons/sider-icon3.svg";
import Icon4 from "./assets/icons/sider-icon4.svg"; import Icon4 from "./assets/icons/sider-icon4.svg";
import Icon5 from "./assets/icons/sider-icon5.svg";
import Icon6 from "./assets/icons/sider-icon6.svg"; import Icon6 from "./assets/icons/sider-icon6.svg";
import Icon7 from "./assets/icons/sider-icon7.svg"; import Icon7 from "./assets/icons/sider-icon7.svg";
import Icon8 from "./assets/icons/sider-icon8.svg";
import Icon9 from "./assets/icons/sider-icon9.svg"; import Icon9 from "./assets/icons/sider-icon9.svg";
import Icon10 from "./assets/icons/sider-icon10.svg"; import Icon10 from "./assets/icons/sider-icon10.svg";
import Icon11 from "./assets/icons/sider-icon11.svg"; import Icon12 from "./assets/icons/sider-icon12.svg";
import Icon13 from "./assets/icons/sider-icon13.svg";
import { useRouter, useRoute } from "vue-router"; import { useRouter, useRoute } from "vue-router";
import useTagsViewStore from "@/stores/tagsView.js"; import useTagsViewStore from "@/stores/tagsView.js";
...@@ -172,14 +171,6 @@ const siderList = ref([ ...@@ -172,14 +171,6 @@ const siderList = ref([
} }
] ]
}, },
// {
// name: '合作限制',
// icon: Icon5,
// active: false,
// isExpanded: false,
// children: [
// ]
// },
{ {
name: "投融资限制", name: "投融资限制",
icon: Icon6, icon: Icon6,
...@@ -231,52 +222,23 @@ const siderList = ref([ ...@@ -231,52 +222,23 @@ const siderList = ref([
} }
] ]
}, },
// {
// name: '规则限制',
// icon: Icon8,
// active: false,
// isExpanded: false,
// children: [
// ]
// },
{ {
name: "美国科技人物观点", name: "科技人物",
path: "/dataLibrary/dataTechnologyFigures",
icon: Icon9, icon: Icon9,
active: false, active: false,
isExpanded: false, isExpanded: false,
children: [ children: []
{
name: "国会议员",
path: "/dataLibrary/congressMan",
active: false
},
{
name: "科技企业领袖",
path: "/dataLibrary/technologyLeader",
active: false
},
{
name: "机构主官",
path: "/dataLibrary/minister",
active: false
},
{
name: "智库研究人员",
path: "/dataLibrary/thinkTankResearcher",
active: false
}
]
}, },
{ {
name: "美国主要创新主体", name: "重要实体",
icon: Icon10, icon: Icon10,
active: false, active: false,
isExpanded: false, isExpanded: false,
children: [ children: [
{ {
name: "科技企业", name: "科技企业",
path: "/dataLibrary/technologyCompany", path: "/dataLibrary/dataCompany",
active: false active: false
}, },
{ {
...@@ -288,25 +250,30 @@ const siderList = ref([ ...@@ -288,25 +250,30 @@ const siderList = ref([
name: "重点实验室", name: "重点实验室",
path: "/dataLibrary/keyLab", path: "/dataLibrary/keyLab",
active: false active: false
},
{
name: "政府机构",
path: "/dataLibrary/dataInstitution",
active: false
} }
] ]
} },
// { {
// name: '美国科研资助体系', name: "新闻",
// icon: Icon11, path: "/dataLibrary/dataNews",
// active: false, icon: Icon12,
// isExpanded: false, active: false,
// children: [ isExpanded: false,
// { children: []
// name: '美国科研资助体系1', },
// active: false, {
// }, name: "风险信号",
// { path: "/dataLibrary/dataRiskSignal",
// name: '美国科研资助体系2', icon: Icon13,
// active: false, active: false,
// }, isExpanded: false,
// ] children: []
// }, },
]); ]);
const handleSiderItem = item => { const handleSiderItem = item => {
...@@ -545,27 +512,10 @@ onMounted(() => { ...@@ -545,27 +512,10 @@ onMounted(() => {
siderList.value[5].isExpanded = true; siderList.value[5].isExpanded = true;
siderList.value[5].children[2].active = true; siderList.value[5].children[2].active = true;
break; break;
case "/dataLibrary/congressMan": case "/dataLibrary/dataTechnologyFigures":
siderList.value[6].active = true;
siderList.value[6].isExpanded = true;
siderList.value[6].children[0].active = true;
break;
case "/dataLibrary/technologyLeader":
siderList.value[6].active = true; siderList.value[6].active = true;
siderList.value[6].isExpanded = true;
siderList.value[6].children[1].active = true;
break; break;
case "/dataLibrary/minister": case "/dataLibrary/dataCompany":
siderList.value[6].active = true;
siderList.value[6].isExpanded = true;
siderList.value[6].children[2].active = true;
break;
case "/dataLibrary/thinkTankResearcher":
siderList.value[6].active = true;
siderList.value[6].isExpanded = true;
siderList.value[6].children[3].active = true;
break;
case "/dataLibrary/technologyCompany":
siderList.value[7].active = true; siderList.value[7].active = true;
siderList.value[7].isExpanded = true; siderList.value[7].isExpanded = true;
siderList.value[7].children[0].active = true; siderList.value[7].children[0].active = true;
...@@ -580,6 +530,17 @@ onMounted(() => { ...@@ -580,6 +530,17 @@ onMounted(() => {
siderList.value[7].isExpanded = true; siderList.value[7].isExpanded = true;
siderList.value[7].children[2].active = true; siderList.value[7].children[2].active = true;
break; break;
case "/dataLibrary/dataInstitution":
siderList.value[7].active = true;
siderList.value[7].isExpanded = true;
siderList.value[7].children[3].active = true;
break;
case "/dataLibrary/dataNews":
siderList.value[8].active = true;
break;
case "/dataLibrary/keyLab":
siderList.value[9].active = true;
break;
} }
}); });
......
差异被折叠。
差异被折叠。
差异被折叠。
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论