提交 398012e2 authored 作者: coderBryanFu's avatar coderBryanFu

fix:政令概览及详情

......@@ -417,6 +417,7 @@ const pageSize = ref(5); // 每页显示 5 条
const handleFieldChange = domainId => {
console.log("领域改变", domainId);
console.log("领域值 =>", selectedFieldForLatest.value);
newsCurrentPage.value = 1;
getUSGovernmentLatestDynamicData();
};
......
......@@ -320,13 +320,11 @@ const monthNum = computed(() => {
}
});
// 全政府-美政府部门对我打压遏制时间线
const loadingHistory = ref(false);
const timelineData = ref([])
const timelineData = ref([]);
const getUSGovernmentSanctionHistoryData = async () => {
timelineData.value = [] // 初始化数据
timelineData.value = []; // 初始化数据
loadingHistory.value = true;
try {
const params = {
......@@ -803,12 +801,17 @@ const handleGetSanList = async () => {
const res = await getSanTypeList(params);
console.log("制裁手段列表", res);
if (res.code === 200 && res.data) {
methodOptions.value = res.data.map(item => {
let _methodOptions = res.data.map(item => {
return {
label: item.name,
value: item.id
};
});
_methodOptions.unshift({
label: "全部制裁手段",
value: ""
});
methodOptions.value = _methodOptions;
methodValue.value = "";
}
} catch (error) {}
......
......@@ -1062,16 +1062,20 @@ const initRightDonut = async () => {
{
type: "graph",
layout: "circular",
circular: {
rotateLabel: true
},
symbolSize: 80,
roam: true,
label: {
show: true
show: true,
position: "outside"
},
edgeSymbol: ["circle", ""],
edgeSymbolSize: [4, 80],
edgeLabel: {
fontSize: 20,
show: false
show: true
},
data: data,
// links: [],
......@@ -1232,7 +1236,12 @@ const getPredictionList = async () => {
const res = await getPrediction();
if (res && res.code === 200) {
console.log("----getPredictionList", res.data);
warningList.value = res.data;
warningList.value = res.data.map(item => {
return {
...item,
statementList: item.statementList.reverse()
};
});
}
} catch (error) {
console.error("获取联盟动态接口失败:", error);
......@@ -2055,7 +2064,7 @@ watch(activeDate, async () => {
.area-left {
width: 792px;
height: 500px;
height: 520px;
box-sizing: border-box;
border-radius: var(---10, 10px);
/* 业务系统/模块阴影 */
......@@ -2098,7 +2107,7 @@ watch(activeDate, async () => {
.area-right {
width: 792px;
height: 500px;
height: 520px;
box-sizing: border-box;
border-radius: var(---10, 10px);
/* 业务系统/模块阴影 */
......@@ -2134,8 +2143,8 @@ watch(activeDate, async () => {
.right-content {
width: 100%;
height: calc(100% - 48px);
padding: 33px 48px 59px 50px;
height: 450px;
// padding: 33px 48px 59px 50px;
}
}
}
......
......@@ -18,8 +18,8 @@
<div
class="left-box-bottom-item"
:class="{ leftBoxBottomItemActive: activeTitle === item.name }"
v-for="(item, index) in mainHeaderBtnList"
:key="index"
v-for="item in mainHeaderBtnList"
:key="item.path"
@click="handleClickMainHeaderBtn(item)"
>
<div class="icon">
......@@ -133,6 +133,7 @@
import { ref, onMounted } from "vue";
import router from "@/router";
import { useRoute } from "vue-router";
import { ElMessage } from "element-plus";
import { getBillInfoGlobal, getBillFullText } from "@/api/bill";
const route = useRoute();
......@@ -227,6 +228,10 @@ const mainHeaderBtnList = ref([
const activeTitle = ref("法案概况");
const handleClickMainHeaderBtn = item => {
if (["影响分析", "相关情况"].includes(item.name)) {
ElMessage.warning("当前功能正在开发中,敬请期待!");
return;
}
activeTitle.value = item.name;
window.sessionStorage.setItem("activeTitle", activeTitle.value);
router.push({
......
......@@ -1024,16 +1024,19 @@ export const getMultipleBarChart_m = object => {
type: "value",
splitNumber: 5,
alignTicks: false,
name: "个",
nameLocation: "end",
nameGap: 10,
nameTextStyle: {
color: "rgba(95, 101, 108, 1)",
fontSize: 14,
fontWeight: 400,
fontFamily: "Microsoft YaHei",
padding: [0, 0, 0, 0]
}
axisLabel: {
formatter: "{value} 个"
}
// name: "个",
// nameLocation: "end",
// nameGap: 10,
// nameTextStyle: {
// color: "rgba(95, 101, 108, 1)",
// fontSize: 14,
// fontWeight: 400,
// fontFamily: "Microsoft YaHei",
// padding: [0, 0, 0, 0]
// }
},
series: datas
};
......
......@@ -13,8 +13,13 @@
</div> -->
<div class="home-main-header-center">
<SearchContainer style="margin-bottom: 0; margin-top: 51px; height: fit-content" v-if="containerRef"
placeholder="搜索智库报告" :containerRef="containerRef" areaName="智库" />
<SearchContainer
style="margin-bottom: 0; margin-top: 51px; height: fit-content"
v-if="containerRef"
placeholder="搜索智库报告"
:containerRef="containerRef"
areaName="智库"
/>
<!-- <el-input v-model="searchThinktankText" @keyup.enter="handleSearch"
style="width: 838px; height: 100%" placeholder="搜索智库报告" />
<div class="search">
......@@ -49,8 +54,11 @@
<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 }">
<!-- <div class="rank" :class="{ rank1: item.rank === 1, rank2: item.rank === 2, rank3: item.rank === 3 }">
{{ "No." + (index + 1) }}
</div> -->
<div class="rank">
{{ item.reportNumber }}
</div>
</div>
<div class="card-title">
......@@ -99,8 +107,14 @@
</div>
<div class="box1-header-right" @click="handleClickToDetail">查看详情 ></div>
</div>
<el-carousel ref="carouselRef" height="395px" :autoplay="true" :interval="3000" arrow="never"
indicator-position="none">
<el-carousel
ref="carouselRef"
height="395px"
:autoplay="true"
:interval="3000"
arrow="never"
indicator-position="none"
>
<el-carousel-item v-for="(itemData, index) in box1Data" :key="index">
<div class="box1-main">
<div class="box1-main-left">
......@@ -112,7 +126,11 @@
<!-- <div class="tag" v-for="(item, index) in itemData?.industryVOList" :key="index">
{{ item.industryName }}
</div> -->
<AreaTag v-for="(item, index) in itemData?.industryVOList" :key="index" :tagName="item.industryName" ></AreaTag>
<AreaTag
v-for="(item, index) in itemData?.industryVOList"
:key="index"
:tagName="item.industryName"
></AreaTag>
</div>
<div class="content">{{ itemData?.summary }}</div>
<div class="box1-right-footer">
......@@ -130,15 +148,34 @@
</el-carousel-item>
</el-carousel>
</div>
<RiskSignal :list="warningList" @more-click="handleToMoreRiskSignal" postDate="time" name="title"
@item-click="handleClickToDetail" />
<RiskSignal
:list="warningList"
@more-click="handleToMoreRiskSignal"
postDate="time"
name="title"
@item-click="handleClickToDetail"
/>
</div>
<DivideHeader id="position2" class="divide-header" :titleText="'资讯要闻'"></DivideHeader>
<div class="center-center">
<NewsList :newsList="newsList" @item-click="handleToNewsAnalysis" @more-click="handleToMoreNews"
img="newsImage" title="newsTitle" content="newsContent" from="from" />
<MessageBubble :messageList="messageList" imageUrl="personImage" @more-click="handleToSocialDetail"
@person-click="handleClickPerson" name="personName" content="remarks" source="orgName" />
<NewsList
:newsList="newsList"
@item-click="handleToNewsAnalysis"
@more-click="handleToMoreNews"
img="newsImage"
title="newsTitle"
content="newsContent"
from="from"
/>
<MessageBubble
:messageList="messageList"
imageUrl="personImage"
@more-click="handleToSocialDetail"
@person-click="handleClickPerson"
name="personName"
content="remarks"
source="orgName"
/>
</div>
<DivideHeader id="position3" class="divide-header" :titleText="'数据总览'"></DivideHeader>
<div class="center-footer">
......@@ -152,8 +189,13 @@
</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-option
v-for="item in box5MonthsList"
:key="item.value"
:label="item.label"
:value="item.value"
@click="changeBox5Data(item.value)"
/>
</el-select>
</div>
</div>
......@@ -167,8 +209,13 @@
<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-option
v-for="item in box6YearList"
:key="item.value"
:label="item.label"
:value="item.value"
@click="handleBox6()"
/>
</el-select>
</div>
</div>
......@@ -197,21 +244,30 @@
</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-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 }">
<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 }">
<div
class="item-center"
:class="{ itemBold1: index === 0, itemBold2: index === 1, itemBold3: index === 2 }"
>
{{ item.clause }}
</div>
<!-- </template>
......@@ -229,8 +285,13 @@
<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)">
<div
class="btn"
:class="{ btnActive: activeCate === cate }"
v-for="(cate, index) in categoryList"
:key="index"
@click="handleClickCate(cate)"
>
{{ cate }}
</div>
</div>
......@@ -261,12 +322,22 @@
</div>
<div class="select-main">
<div class="checkbox-group">
<el-checkbox v-model="checkAll" :indeterminate="isIndeterminate" class="all-checkbox"
@change="handleCheckAllChange">
<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">
<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>
......@@ -280,13 +351,22 @@
</div>
<div class="select-main">
<div class="checkbox-group">
<el-checkbox v-model="checkAllTime" class="all-checkbox" :indeterminate="isIndeterminateTime"
@change="handleCheckAllChangeTime">
<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()">
<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>
......@@ -296,8 +376,12 @@
</div>
<div class="right">
<div class="card-box">
<div class="footer-card" v-for="(item, index) in curFooterList" :key="index"
@click="handleToReportDetail(item)">
<div
class="footer-card"
v-for="(item, index) in curFooterList"
:key="index"
@click="handleToReportDetail(item)"
>
<div class="footer-card-top">
<img :src="item.imageUrl" alt="" />
</div>
......@@ -320,8 +404,14 @@
<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" />
<el-pagination
:page-size="12"
background
layout="prev, pager, next"
:total="total"
@current-change="handleCurrentChange"
:current-page="currentPage"
/>
</div>
</div>
</div>
......@@ -394,8 +484,6 @@ import { setCanvasCreator } from "echarts/core";
import { ElMessage } from "element-plus";
const containerRef = ref(null);
const searchThinktankText = ref(""); //搜索科技人物及观点
// 智库列表
const cardList = ref([
......@@ -450,7 +538,8 @@ const handleGetThinkTankList = async () => {
tagList: item.tags,
country: item.country,
desc: item.describe,
rank: item.id
rank: item.id,
reportNumber: item.reportNumber
};
});
}
......@@ -1415,7 +1504,7 @@ const handleClickPerson = async item => {
ElMessage.warning("找不到当前人员的类型值!");
return;
}
} catch (error) { }
} catch (error) {}
};
// 点击新闻条目,跳转到新闻分析页
......@@ -1635,8 +1724,6 @@ onMounted(async () => {
padding: 0 160px;
}
.home-main-header-footer {
margin-top: 38px;
width: 688px;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论