提交 ba8f3569 authored 作者: 张烨's avatar 张烨

Merge remote-tracking branch 'origin/pre' into zy-dev

......@@ -380,7 +380,7 @@ export const goToSearch = (tabName, areaName, billSearchType) => {
}
// 跳转数据资源库
// 跳转数据资源库-国家法案
export const goToDataCountryBill = (selectParam) => {
// const codeParam = new URLSearchParams(selectParam)
// JSON -> Base64
......
......@@ -37,8 +37,7 @@ const setChart = (option, chartId, allowClick, selectParam) => {
});
});
// 初次渲染后判断是否需要显示左右箭头(可一行展示则隐藏)
applyLegendPagingArrowVisibility(chart, option)
if (allowClick) {
chart.on('click', function (params) {
......@@ -152,7 +151,6 @@ const setChart = (option, chartId, allowClick, selectParam) => {
// 容器可能受布局/异步渲染影响,强制一次 resize 保证 canvas 与容器一致
setTimeout(() => {
chart.resize();
applyLegendPagingArrowVisibility(chart, option)
}, 0);
return chart;
};
......
......@@ -3,7 +3,7 @@
<div class="header-box">
<div class="header-top">
<SelectBox :placeholder-name="areaPlaceHolder" select-title="科技领域" :select-list="areaList"
:select-name="selectedArea" @update:select-text="handleSelectArea" />
:select-name="selectedArea" :is-multiple="true" @update:select-text="handleSelectArea" />
<SelectBox :placeholder-name="DatePlaceHolder" select-title="成立时间" :select-list="dateList"
:select-name="selectedDate" :custom-time="customTime" @update:select-text="handleSelectDate"
@update:custom-time="handleCustomDate" />
......@@ -388,11 +388,11 @@ const handleChangeTime = value => {
// 激活的标签列表
const activeTagList = computed(() => {
const arr = []
if (selectedArea.value && selectedArea.value !== '全部领域') {
if (selectedArea.value && selectedArea.value[0] !== '全部领域') {
arr.push(
{
tag: '科技领域',
name: selectedArea.value
name: selectedArea.value.join('、')
}
)
}
......@@ -439,7 +439,7 @@ const activeTagList = computed(() => {
const handleCloseCurTag = (tag, index) => {
switch (tag.tag) {
case '科技领域':
selectedArea.value = '全部领域'
selectedArea.value = ['全部领域']
break
case '成立时间':
selectedDate.value = ''
......@@ -493,7 +493,7 @@ const operationList = ref([
// 科技领域
const areaPlaceHolder = ref('请选择领域')
const selectedArea = ref('全部领域')
const selectedArea = ref(['全部领域'])
const areaList = ref([
{
name: '全部领域',
......@@ -561,7 +561,11 @@ const areaList = ref([
},
])
const handleSelectArea = (value) => {
selectedArea.value = value
if (value[value.length - 1] === '全部领域') {
selectedArea.value = ['全部领域']
return
}
selectedArea.value = value.length > 1 && value.includes('全部领域') ? value.filter(item => item !== '全部领域') : value;
}
// 提出时间
......@@ -678,7 +682,7 @@ const isSanctioned = ref(false)
// 清空条件
const handleClear = () => {
selectedArea.value = '全部领域'
selectedArea.value = ['全部领域']
selectedDate.value = ''
customTime.value = []
selectedCountry.value = '全部国家地区'
......@@ -739,7 +743,7 @@ const fetchTableData = async () => {
page: currentPage.value,
size: pageSize.value,
type: 5, // type 1= 法案 2= 政令 3 =智库 4=智库报告 5=实体清单【制裁记录】 6= 人物 7= 机构 8=新闻 9= 社媒
domains: selectedArea.value === '全部领域' ? null : [selectedArea.value],
domains: selectedArea.value[0] === '全部领域' ? null : selectedArea.value,
proposedDateStart: customTime.value[0] ? customTime.value[0] : null,
proposedDateEnd: customTime.value[1] ? customTime.value[1] : null,
countryId: selectedCountry.value === '全部国家地区' ? null : selectedCountry.value,
......@@ -852,7 +856,7 @@ const fetchAllData = async () => {
page: 1,
size: 9999,
type: 5, // type 1= 法案 2= 政令 3 =智库 4=智库报告 5=实体清单【制裁记录】 6= 人物 7= 机构 8=新闻 9= 社媒
domains: selectedArea.value === '全部领域' ? null : [selectedArea.value],
domains: selectedArea.value[0] === '全部领域' ? null : selectedArea.value,
proposedDateStart: customTime.value[0] ? customTime.value[0] : null,
proposedDateEnd: customTime.value[1] ? customTime.value[1] : null,
countryId: selectedCountry.value === '全部国家地区' ? null : selectedCountry.value,
......@@ -1008,7 +1012,11 @@ const handleDownloadCurChartData = () => {
const initParam = () => {
const hasQuery = Object.keys(route.query).length > 0;
if (hasQuery) {
selectedArea.value = route.query.domains ? route.query.domains : '全部领域'
if (route.query.selectedAreaList) {
selectedArea.value = JSON.parse(route.query.selectedAreaList)
} else {
selectedArea.value = route.query.domains ? [route.query.domains] : ['全部领域']
}
if (route.query.selectedDate && Array.isArray(JSON.parse(route.query.selectedDate)) && JSON.parse(route.query.selectedDate).length) {
selectedDate.value = '自定义'
......@@ -1027,7 +1035,11 @@ const initParam = () => {
}
} else {
const savedQuery = JSON.parse(sessionStorage.getItem('dataCompanyRouteQuery') || '{}');
selectedArea.value = savedQuery.domains ? savedQuery.domains : '全部领域'
if (savedQuery.selectedAreaList) {
selectedArea.value = JSON.parse(savedQuery.selectedAreaList)
} else {
selectedArea.value = savedQuery.domains ? [savedQuery.domains] : ['全部领域']
}
if (savedQuery.selectedDate && Array.isArray(JSON.parse(savedQuery.selectedDate)) && JSON.parse(savedQuery.selectedDate).length) {
selectedDate.value = '自定义'
customTime.value = JSON.parse(savedQuery.selectedDate)
......
......@@ -3,7 +3,7 @@
<div class="header-box">
<div class="header-top">
<SelectBox :placeholder-name="areaPlaceHolder" select-title="科技领域" :select-list="areaList"
:select-name="selectedArea" @update:select-text="handleSelectArea" />
:select-name="selectedArea" :is-multiple="true" @update:select-text="handleSelectArea" />
<SelectBox :placeholder-name="DatePlaceHolder" select-title="发布时间" :select-list="dateList"
:select-name="selectedDate" :custom-time="customTime" @update:select-text="handleSelectDate"
@update:custom-time="handleCustomDate" />
......@@ -331,11 +331,11 @@ const handleChangeTime = value => {
// 激活的标签列表
const activeTagList = computed(() => {
const arr = []
if (selectedArea.value && selectedArea.value !== '全部领域') {
if (selectedArea.value && selectedArea.value[0] !== '全部领域') {
arr.push(
{
tag: '科技领域',
name: selectedArea.value
name: selectedArea.value.join('、')
}
)
}
......@@ -394,7 +394,7 @@ const activeTagList = computed(() => {
const handleCloseCurTag = (tag, index) => {
switch (tag.tag) {
case '科技领域':
selectedArea.value = '全部领域'
selectedArea.value = ['全部领域']
break
case '发布时间':
selectedDate.value = ''
......@@ -493,7 +493,7 @@ const operationList = ref([
// 科技领域
const areaPlaceHolder = ref('请选择领域')
const selectedArea = ref('全部领域')
const selectedArea = ref(['全部领域'])
const areaList = ref([
{
name: '全部领域',
......@@ -561,7 +561,11 @@ const areaList = ref([
},
])
const handleSelectArea = (value) => {
selectedArea.value = value
if (value[value.length - 1] === '全部领域') {
selectedArea.value = ['全部领域']
return
}
selectedArea.value = value.length > 1 && value.includes('全部领域') ? value.filter(item => item !== '全部领域') : value;
}
// 提出时间
......@@ -668,7 +672,7 @@ const isInvolveTechnology = ref(false)
// 清空条件
const handleClear = () => {
selectedArea.value = '全部领域'
selectedArea.value = ['全部领域']
selectedDate.value = ''
customTime.value = []
selectedIns.value = '全部机构'
......@@ -731,7 +735,7 @@ const fetchTableData = async () => {
size: pageSize.value,
// keyword: '',
type: 2, // type 1= 法案 2= 政令 3 =智库 4=智库报告 5=实体清单【制裁记录】 6= 人物 7= 机构 8=新闻 9= 社媒
domains: selectedArea.value === '全部领域' ? null : [selectedArea.value],
domains: selectedArea.value[0] === '全部领域' ? null : selectedArea.value,
proposedDateStart: customTime.value[0] ? customTime.value[0] : null,
proposedDateEnd: customTime.value[1] ? customTime.value[1] : null,
organizationName: selectedIns.value === '全部机构' ? null : selectedIns.value,
......@@ -816,7 +820,7 @@ const fetchAllData = async () => {
size: 9999,
// keyword: '',
type: 2, // type 1= 法案 2= 政令 3 =智库 4=智库报告 5=实体清单【制裁记录】 6= 人物 7= 机构 8=新闻 9= 社媒
domains: selectedArea.value === '全部领域' ? null : [selectedArea.value],
domains: selectedArea.value[0] === '全部领域' ? null : selectedArea.value,
proposedDateStart: customTime.value[0],
proposedDateEnd: customTime.value[1],
organizationName: selectedIns.value === '全部机构' ? null : selectedIns.value,
......@@ -973,7 +977,11 @@ const handleDownloadCurChartData = () => {
const initParam = () => {
const hasQuery = Object.keys(route.query).length > 0;
if (hasQuery) {
selectedArea.value = route.query.domains ? route.query.domains : '全部领域'
if (route.query.selectedAreaList) {
selectedArea.value = JSON.parse(route.query.selectedAreaList)
} else {
selectedArea.value = route.query.domains ? [route.query.domains] : ['全部领域']
}
if (route.query.selectedDate && Array.isArray(JSON.parse(route.query.selectedDate)) && JSON.parse(route.query.selectedDate).length) {
selectedDate.value = '自定义'
......@@ -994,7 +1002,11 @@ const initParam = () => {
}
} else {
const savedQuery = JSON.parse(sessionStorage.getItem('decreeRouteQuery') || '{}');
selectedArea.value = savedQuery.domains ? savedQuery.domains : '全部领域'
if (savedQuery.selectedAreaList) {
selectedArea.value = JSON.parse(savedQuery.selectedAreaList)
} else {
selectedArea.value = savedQuery.domains ? [savedQuery.domains] : ['全部领域']
}
if (savedQuery.selectedDate && Array.isArray(JSON.parse(savedQuery.selectedDate)) && JSON.parse(savedQuery.selectedDate).length) {
selectedDate.value = '自定义'
customTime.value = JSON.parse(savedQuery.selectedDate)
......
......@@ -2,8 +2,8 @@
<div class="thinktank-wrapper">
<div class="header-box">
<div class="header-top">
<SelectBox :placeholder-name="areaPlaceHolder" select-title="科技领域" :select-list="areaList"
:select-name="selectedArea" @update:select-text="handleSelectArea" />
<SelectBox :placeholder-name="areaPlaceHolder" select-title="科技领域" :select-list="areaList"
:select-name="selectedArea" :is-multiple="true" @update:select-text="handleSelectArea" />
<SelectBox :placeholder-name="DatePlaceHolder" select-title="发布时间" :select-list="dateList"
:select-name="selectedDate" :custom-time="customTime" @update:select-text="handleSelectDate"
@update:custom-time="handleCustomDate" />
......@@ -322,10 +322,10 @@ const handleChangeTime = value => {
// 激活的标签列表
const activeTagList = computed(() => {
const arr = [];
if (selectedArea.value && selectedArea.value !== "全部领域") {
if (selectedArea.value && selectedArea.value[0] !== "全部领域") {
arr.push({
tag: "科技领域",
name: selectedArea.value
name: selectedArea.value.join('、')
});
}
if (selectedDate.value === "自定义") {
......@@ -362,7 +362,7 @@ const activeTagList = computed(() => {
const handleCloseCurTag = (tag, index) => {
switch (tag.tag) {
case "科技领域":
selectedArea.value = "全部领域";
selectedArea.value = ['全部领域']
break;
case "发布时间":
selectedDate.value = "";
......@@ -450,7 +450,7 @@ const operationList = ref([
// 科技领域
const areaPlaceHolder = ref("请选择领域");
const selectedArea = ref("全部领域");
const selectedArea = ref(['全部领域']);
const areaList = ref([
{
name: "全部领域",
......@@ -517,9 +517,13 @@ const areaList = ref([
id: "其他"
}
]);
const handleSelectArea = value => {
selectedArea.value = value;
};
const handleSelectArea = (value) => {
if (value[value.length - 1] === '全部领域') {
selectedArea.value = ['全部领域']
return
}
selectedArea.value = value.length > 1 && value.includes('全部领域') ? value.filter(item => item !== '全部领域') : value;
}
// 提出时间
const DatePlaceHolder = ref("请选择时间");
......@@ -585,7 +589,7 @@ const handleGetThinkTankList = async () => {
};
});
thinkTankList.value = [...thinkTankList.value, ...arr];
} catch (error) {
} catch (error) {
} finally {
loading.value = false
......@@ -616,7 +620,7 @@ const isInvolveCn = ref(false);
// 清空条件
const handleClear = () => {
selectedArea.value = "全部领域";
selectedArea.value = ['全部领域']
selectedDate.value = "";
customTime.value = [];
selectedThinkTank.value = "全部智库";
......@@ -676,7 +680,7 @@ const fetchTableData = async () => {
size: pageSize.value,
// keyword: '',
type: 4, // type 1= 法案 2= 政令 3 =智库 4=智库报告 5=实体清单 6= 人物 7= 机构 8=新闻 9= 社媒
domains: selectedArea.value === "全部领域" ? null : [selectedArea.value], // 领域
domains: selectedArea.value[0] === '全部领域' ? null : selectedArea.value,
proposedDateStart: customTime.value[0] ? customTime.value[0] : null, // 开始日期
proposedDateEnd: customTime.value[1] ? customTime.value[1] : null, // 结束日期
organizationName: selectedThinkTank.value === "全部智库" ? null : selectedThinkTank.value, // 智库名称
......@@ -758,7 +762,7 @@ const fetchAllData = async () => {
size: 9999,
// keyword: '',
type: 4, // type 1= 法案 2= 政令 3 =智库 4=智库报告 5=实体清单【制裁记录】 6= 人物 7= 机构 8=新闻 9= 社媒
domains: selectedArea.value === "全部领域" ? null : [selectedArea.value],
domains: selectedArea.value[0] === '全部领域' ? null : selectedArea.value,
proposedDateStart: customTime.value[0],
proposedDateEnd: customTime.value[1],
organizationName: selectedThinkTank.value === "全部智库" ? null : selectedThinkTank.value,
......@@ -908,7 +912,11 @@ const handleDownloadCurChartData = () => {
const initParam = () => {
const hasQuery = Object.keys(route.query).length > 0;
if (hasQuery) {
selectedArea.value = route.query.domains ? route.query.domains : "全部领域";
if (route.query.selectedAreaList) {
selectedArea.value = JSON.parse(route.query.selectedAreaList)
} else {
selectedArea.value = route.query.domains ? [route.query.domains] : ['全部领域']
}
if (
route.query.selectedDate &&
......@@ -931,7 +939,11 @@ const initParam = () => {
}
} else {
const savedQuery = JSON.parse(sessionStorage.getItem("thinktankRouteQuery") || "{}");
selectedArea.value = savedQuery.domains ? savedQuery.domains : "全部领域";
if (savedQuery.selectedAreaList) {
selectedArea.value = JSON.parse(savedQuery.selectedAreaList)
} else {
selectedArea.value = savedQuery.domains ? [savedQuery.domains] : ['全部领域']
}
if (
savedQuery.selectedDate &&
Array.isArray(JSON.parse(savedQuery.selectedDate)) &&
......
......@@ -293,8 +293,10 @@ import defaultNewsIcon from "@/assets/icons/default-icon-news.png";
import AreaTag from "@/components/base/AreaTag/index.vue";
import { useRouter } from "vue-router";
import { getDecodedParams } from "@/utils/goToPage";
const router = useRouter();
const thinkTankId = computed(() => getDecodedParams());
const loading = ref(false);
const pageScrollRef = ref(null);
......@@ -475,8 +477,10 @@ const selectableDepartment = ref([]);
const handleGetThinkPolicyIndustry = async () => {
aiContentPolicyPt1.value = "";
try {
const id = thinkTankId.value;
if (!id) return;
const parmas = {
id: router.currentRoute._value.params.id,
id,
year: box1SelectYear.value
};
const res = await getThinkPolicyIndustry(parmas);
......@@ -570,8 +574,10 @@ const box2TotalData = ref([]);
const handleGetPolicyAdviceDeptDistribution = async () => {
aiContentPolicyPt2.value = "";
try {
const id = thinkTankId.value;
if (!id) return;
const parmas = {
id: router.currentRoute._value.params.id,
id,
year: box2SelectYear.value
};
const res = await getPolicyAdviceDeptDistribution(parmas);
......@@ -631,8 +637,10 @@ const box2YearList = ref([
const handleGetThinkPolicyIndustryTotal = async () => {
try {
const id = thinkTankId.value;
if (!id) return;
const parmas = {
id: router.currentRoute._value.params.id,
id,
year: box2SelectYear.value
};
const res = await getThinkPolicyIndustryTotal(parmas);
......@@ -712,8 +720,10 @@ const box3MonthsList = ref([
const handleGetThinkPolicyIndustryChange = async () => {
aiContentPolicyPt3.value = "";
try {
const id = thinkTankId.value;
if (!id) return;
const parmas = {
id: router.currentRoute._value.params.id,
id,
year: box3SelectMonths.value
};
const res = await getThinkPolicyIndustryChange(parmas);
......@@ -1343,7 +1353,8 @@ const handleCurrentChange = page => {
const handleGetThinkPolicy = async () => {
try {
loading.value = true;
const thinkTankId = router.currentRoute._value.params.id;
const curThinkTankId = thinkTankId.value;
if (!curThinkTankId) return;
const domainIds = selectedAreaList.value
.filter((id) => id != null && id !== "" && id !== POLICY_FILTER_ALL_AREA)
.map((id) => String(id))
......@@ -1357,7 +1368,7 @@ const handleGetThinkPolicy = async () => {
selectedYear.value
);
const parmas = {
thinkTankId,
thinkTankId: curThinkTankId,
startDate,
endDate,
pageNum: currentPage.value,
......
......@@ -75,10 +75,8 @@ const switchTab = name => {
const thinkTank = ref({});
// 获取智库基本信息
const handleGetThinkTankSummary = async () => {
const id = getDecodedParams()
try {
const parmas = {
id: id
......
......@@ -78,9 +78,11 @@ import {
getResourceLibraryReportDateRangeFromTimeSelection
} from "../../utils/resourceLibraryFilters";
import { useRouter } from "vue-router";
import { getDecodedParams } from "@/utils/goToPage";
import ThinkTankReport from "./ThinkTankReport/index.vue";
import CongressHearing from "./CongressHearing/index.vue";
const router = useRouter();
const thinkTankId = getDecodedParams();
const isThinkTankReport = ref(true);
const isSurveyForm = ref(false);
const isCongressHearing = ref(false);
......@@ -420,7 +422,6 @@ const handleGetThinkDynamicsReport = async (payload) => {
? ""
: arrayToString(areas);
const keyword = (searchReport.value || "").trim();
const thinkTankId = router.currentRoute._value.params?.id;
if (isCongressHearing.value) {
curFooterList.value = [];
curFooterProjectList.value = [];
......
......@@ -259,6 +259,7 @@ import { ref, onMounted, nextTick, computed } from "vue";
import setChart from "@/utils/setChart";
import getPieChart from "./utils/piechart";
import getTreeMapChart from "./utils/treeMapChart";
import { getDecodedParams } from "@/utils/goToPage";
import {
getThinkTankInfoBasic,
getThinkTankInfoBranch,
......@@ -274,6 +275,7 @@ import DefaultIcon1 from '@/assets/icons/default-icon1.png'
import { getPersonSummaryInfo } from "@/api/common/index";
const totalPersonNumber = ref(0)
const router = useRouter();
const thinkTankId = getDecodedParams();
import InfoImg from "./images/img.png";
import Icon1 from "./images/icon1.png";
import Icon2 from "./images/icon2.png";
......@@ -297,7 +299,7 @@ const basicInfo = ref({
const handleGetThinkTankInfoBasic = async () => {
try {
const res = await getThinkTankInfoBasic(router.currentRoute._value.params.id);
const res = await getThinkTankInfoBasic(thinkTankId);
console.log("基本信息", res);
if (res.code === 200 && res.data) {
basicInfo.value = res.data
......@@ -319,7 +321,7 @@ const worldInfo = ref({
const handleGetThinkTankInfoBranch = async () => {
try {
const res = await getThinkTankInfoBranch(router.currentRoute._value.params.id);
const res = await getThinkTankInfoBranch(thinkTankId);
console.log("全球分支机构", res);
if (res.code === 200 && res.data) {
......@@ -397,7 +399,7 @@ const box1ChartData = ref([
const handleGetThinkTankFundsTotal = async () => {
try {
const res = await getThinkTankFundsSource(router.currentRoute._value.params.id);
const res = await getThinkTankFundsSource(thinkTankId);
console.log("获取经费来源统计", res);
if (res.code === 200 && res.data) {
// 后端字段已更新:totalAmount/usGovernmentAmount/pentagonContractorAmount
......@@ -419,7 +421,7 @@ const handleGetThinkTankFundsTotal = async () => {
const handleGetThinkTankFundsSource = async () => {
try {
const res = await getThinkTankFundsSource(router.currentRoute._value.params.id);
const res = await getThinkTankFundsSource(thinkTankId);
console.log("获取经费来源", res);
if (res.code === 200 && res.data) {
......@@ -561,7 +563,7 @@ const timeLineList = ref([
const handleGetThinkTankResearchAreae = async () => {
try {
const res = await getThinkTankResearchAreae(router.currentRoute._value.params.id);
const res = await getThinkTankResearchAreae(thinkTankId);
console.log("研究领域演变", res);
if (res.code === 200 && res.data) {
timeLineList.value = res.data
......@@ -675,7 +677,7 @@ const handleGetThinkPerson = async (page = personCurrentPage.value) => {
const params = {
currentPage: safePage,
pageSize: PERSON_PAGE_SIZE,
thinkTankId: router.currentRoute._value.params.id
thinkTankId
}
const res = await getThinkTankPerson(params);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论