提交 8d76bda0 authored 作者: coderBryanFu's avatar coderBryanFu

fix:更新goToPage.js文件部分跳转方法

上级 b7103fb0
......@@ -23,7 +23,7 @@
</div>
</div>
<div class="search-center" v-if="countInfo.length">
<div class="search-item" v-for="info in countInfo">
<div class="search-item" v-for="info,index in countInfo" :key="index">
<div class="search-item-num">{{ info.count }}</div>
<div class="search-item-name">{{ info.name }}</div>
</div>
......@@ -62,6 +62,7 @@ import { ref, nextTick, watchEffect } from "vue";
import { useContainerScroll } from "@/hooks/useScrollShow";
import { useRouter } from "vue-router";
import { useWrittingAsstaintStore } from "@/stores/writtingAsstaintStore";
import { goToSearch } from "@/utils/goToPage";
const store = useWrittingAsstaintStore();
const router = useRouter();
......@@ -108,24 +109,31 @@ const handleChangeBillSearchType = type => {
};
const handleSearch = () => {
window.sessionStorage.setItem("curTabName", `搜索-${store.searchBillText}`);
if (!areaName) return;
// window.sessionStorage.setItem("curTabName", `搜索-${store.searchBillText}`);
// if (!areaName) return;
const query = {
searchText: store.searchBillText,
areaName: areaName
};
// const query = {
// searchText: store.searchBillText,
// areaName: areaName
// };
// // 法案页附带搜索类型参数,便于搜索结果页后续按类型处理
// if (enableBillTypeSwitch) {
// query.billSearchType = billSearchType.value;
// }
// const curRoute = router.resolve({
// path: "/searchResults",
// query
// });
// window.open(curRoute.href, "_blank");
// 法案页附带搜索类型参数,便于搜索结果页后续按类型处理
if (enableBillTypeSwitch) {
query.billSearchType = billSearchType.value;
goToSearch(store.searchBillText, areaName, billSearchType.value)
} else {
goToSearch(store.searchBillText, areaName)
}
const curRoute = router.resolve({
path: "/searchResults",
query
});
window.open(curRoute.href, "_blank");
};
let homeMainRef = ref(containerRef);
......
......@@ -50,9 +50,9 @@ const classObject = computed(() => ({
letter-spacing: 0px;
box-sizing: border-box;
border-radius: 4px;
border: 1px solid rgba(183, 235, 143, 1);
background: rgba(246, 255, 237, 1);
color: rgba(82, 196, 26, 1);
border: 1px solid rgba(174, 214, 255, 1);
background: rgba(246, 250, 255, 1);
color: rgba(5, 95, 194, 1);
}
.tag1 {
......
......@@ -14,7 +14,9 @@ export const goToBill = (id, tabName) => {
const route = router.resolve({
path: "/billLayout",
query: base64
query: {
data: base64
}
});
window.open(route.href, "_blank");
};
......@@ -30,7 +32,9 @@ export const goToDecree = (id, tabName) => {
const base64 = btoa(encodeURIComponent(jsonStr));
const route = router.resolve({
path: "/decreeLayout",
query: base64
query: {
data: base64
}
});
window.open(route.href, "_blank");
};
......@@ -69,7 +73,9 @@ export const goToEntityList = () => {
const base64 = btoa(encodeURIComponent(jsonStr));
const route = router.resolve({
path: '/exportControl/entityList',
query: base64
query: {
data: base64
}
});
window.open(route.href, "_blank");
}
......@@ -88,7 +94,9 @@ export const goToSingleEntityEvent = (id, tabName, date) => {
const route = router.resolve({
path: "/exportControl/singleSanction",
query: base64
query: {
data: base64
}
});
window.open(route.href, "_blank");
}
......@@ -102,7 +110,9 @@ export const goToCCLList = () => {
const base64 = btoa(encodeURIComponent(jsonStr));
const route = router.resolve({
path: "/exportControl/commercialControlList",
query: base64
query: {
data: base64
}
});
window.open(route.href, "_blank");
}
......@@ -116,7 +126,9 @@ export const goToSDNList = () => {
const base64 = btoa(encodeURIComponent(jsonStr));
const route = router.resolve({
path: "/finance/sdnlistoverview",
query: base64
query: {
data: base64
}
});
window.open(route.href, "_blank");
}
......@@ -133,7 +145,9 @@ export const goToSingleSDNEvent = (id, tabName, date) => {
const base64 = btoa(encodeURIComponent(jsonStr));
const route = router.resolve({
path: "/finance/singleSanction",
query: base64
query: {
data: base64
}
});
window.open(route.href, "_blank");
}
......@@ -149,7 +163,9 @@ export const goToCase232 = () => {
const route = router.resolve({
path: "/marketAccessLayout/case",
query: base64
query: {
data: base64
}
});
window.open(route.href, "_blank");
}
......@@ -166,7 +182,9 @@ export const goToCaseDetail232 = (searchId, tabName) => {
const route = router.resolve({
path: "/marketSingleCaseLayout/overview",
query: base64
query: {
data: base64
}
});
window.open(route.href, "_blank");
}
......@@ -182,7 +200,9 @@ export const goToCase301 = () => {
const base64 = btoa(encodeURIComponent(jsonStr));
const route = router.resolve({
path: "/marketAccessLayout/case",
query: base64
query: {
data: base64
}
});
window.open(route.href, "_blank");
}
......@@ -198,7 +218,9 @@ export const goToCaseDetail301 = (searchId, tabName) => {
const base64 = btoa(encodeURIComponent(jsonStr));
const route = router.resolve({
path: "/marketSingleCaseLayout/overview",
query: base64
query: {
data: base64
}
});
window.open(route.href, "_blank");
}
......@@ -213,7 +235,9 @@ export const goToCase337 = () => {
const base64 = btoa(encodeURIComponent(jsonStr));
const route = router.resolve({
path: "/marketAccessLayout/case",
query: base64
query: {
data: base64
}
});
window.open(route.href, "_blank");
}
......@@ -229,7 +253,9 @@ export const goToCaseDetail337 = (searchId, tabName) => {
const base64 = btoa(encodeURIComponent(jsonStr));
const route = router.resolve({
path: "/marketSingleCaseLayout/overview",
query: base64
query: {
data: base64
}
});
window.open(route.href, "_blank");
}
......@@ -244,7 +270,9 @@ export const goToInstitution = (id, tabName) => {
const base64 = btoa(encodeURIComponent(jsonStr));
const curRoute = router.resolve({
path: "/institution",
query: base64
query: {
data: base64
}
});
window.open(curRoute.href, "_blank");
}
......@@ -289,21 +317,27 @@ export const goToCharacterPage = async (id, tabName) => {
personTypeName = "其他类型";
const route = router.resolve({
path: "/characterPage",
query: base64_1
query: {
data: base64_1
}
});
window.open(route.href, "_blank");
return;
}
const route = router.resolve({
path: "/characterPage",
query: base64_2
query: {
data: base64_2
}
});
window.open(route.href, "_blank");
} else {
personTypeName = "";
const route = router.resolve({
path: "/characterPage",
query: base64_1
query: {
data: base64_1
}
});
window.open(route.href, "_blank");
return;
......@@ -311,7 +345,9 @@ export const goToCharacterPage = async (id, tabName) => {
} else {
const route = router.resolve({
path: "/characterPage",
query: base64_1
query: {
data: base64_1
}
});
window.open(route.href, "_blank");
return;
......@@ -319,7 +355,9 @@ export const goToCharacterPage = async (id, tabName) => {
} catch (error) {
const route = router.resolve({
path: "/characterPage",
query: base64_1
query: {
data: base64_1
}
});
window.open(route.href, "_blank");
return;
......@@ -351,32 +389,44 @@ export const goToNewsPage = (id, tabName) => {
const base64 = btoa(encodeURIComponent(jsonStr));
const route = router.resolve({
path: "/newsAnalysis",
query: base64
query: {
data: base64
}
});
window.open(route.href, "_blank");
}
// 跳转搜索详情页
export const goToSearch = (tabName, areaName, billSearchType) => {
window.sessionStorage.setItem("curTabName", tabName);
window.sessionStorage.setItem("curTabName", `搜索-${tabName}`);
const query = {
let selectParam
if (billSearchType) {
selectParam = {
searchText: tabName,
areaName: areaName
};
if (enableBillTypeSwitch) {
query.billSearchType = billSearchType
areaName: areaName,
billSearchType: billSearchType
}
const param = query
const jsonStr = JSON.stringify(param);
} else {
selectParam = {
searchText: tabName,
areaName: areaName,
}
}
// const codeParam = new URLSearchParams(selectParam)
const jsonStr = JSON.stringify(selectParam);
const base64 = btoa(encodeURIComponent(jsonStr));
const curRoute = router.resolve({
path: "/searchResults",
query: base64
query: {
data: base64
}
});
window.open(curRoute.href, "_blank");
// const codeParam = new URLSearchParams(selectParam)
}
......@@ -612,9 +662,7 @@ export const getDecodedParams = () => {
if (window.location.search) {
const urlParams = new URLSearchParams(window.location.search)
const encoded = urlParams.get('data')
if (!encoded) return null;
try {
// Base64 解码
const decoded = atob(encoded);
......
......@@ -4,7 +4,7 @@ import getQuarterRange from './getQuarterRange';
import * as echarts from 'echarts'
import 'echarts-wordcloud';
import router from '@/router/index'
import { goToDataCountryBill } from './goToPage';
import { goToDataCountryBill, goToDataDecree } from './goToPage';
const setChart = (option, chartId, allowClick, selectParam, otherAreaList) => {
let chartDom = document.getElementById(chartId);
if (!chartDom) {
......@@ -51,13 +51,6 @@ const setChart = (option, chartId, allowClick, selectParam, otherAreaList) => {
// console.log('当前点击', selectParam, params.seriesName, params.name);
selectParam.selectedStatus = params.seriesName
selectParam.selectedDate = JSON.stringify(getMonthRange(params.name))
// const route = router.resolve({
// path: "/dataLibrary/countryBill",
// query: selectParam
// });
// window.open(route.href, "_blank");
// goToDataCountryBill(selectParam)
// return
} else if (selectParam.key === 2) {
if(params.name === '其他') {
selectParam.selectedAreaList = JSON.stringify(otherAreaList)
......@@ -80,46 +73,30 @@ const setChart = (option, chartId, allowClick, selectParam, otherAreaList) => {
selectParam.selectedDate = JSON.stringify([selectParam.selectedDate + '-01-01', selectParam.selectedDate + '-12-31'])
}
}
// const route = router.resolve({
// path: "/dataLibrary/countryBill",
// query: selectParam
// });
// window.open(route.href, "_blank");
// goToDataCountryBill(selectParam)
// return
} else {
selectParam.selectedStatus = params.name
// const route = router.resolve({
// path: "/dataLibrary/countryBill",
// query: selectParam
// });
// window.open(route.href, "_blank");
// goToDataCountryBill(selectParam)
}
goToDataCountryBill(selectParam)
break
case '政令':
if (params.componentType === 'series' && params.seriesType === 'pie') {
selectParam.domains = params.name
const route = router.resolve({
path: "/dataLibrary/dataDecree",
query: selectParam
});
window.open(route.href, "_blank");
// const route = router.resolve({
// path: "/dataLibrary/dataDecree",
// query: selectParam
// });
// window.open(route.href, "_blank");
} else if (params.componentType === 'series' && params.seriesType === 'bar') {
const year = params.name.slice(0, 4)
const quatarNum = Number(params.name[params.name.length - 1])
selectParam.selectedDate = JSON.stringify(getQuarterRange(year, quatarNum))
const route = router.resolve({
path: "/dataLibrary/dataDecree",
query: selectParam
});
window.open(route.href, "_blank");
// const route = router.resolve({
// path: "/dataLibrary/dataDecree",
// query: selectParam
// });
// window.open(route.href, "_blank");
}
goToDataDecree(selectParam)
break
case '科技智库报告':
......
......@@ -45,9 +45,10 @@
</div> -->
</div>
<div class="info-right">
<el-select v-model="selectOrder" placeholder="请选择排序条件" style="width: 125px" @change="handleOrderChange">
<!-- <el-select v-model="selectOrder" placeholder="请选择排序条件" style="width: 125px" @change="handleOrderChange">
<el-option v-for="item in orderList" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-select> -->
<TimeSortSelectBox :sort-demension="2" @handle-px-change="handleOrderChange" />
<!-- <el-select v-model="selectRelation" placeholder="选择相关度" style="width: 125px">
<el-option v-for="item in relationList" :key="item.value" :label="item.label" :value="item.value" />
</el-select> -->
......@@ -85,9 +86,10 @@
<div class="content" v-html="item?.originalDescription"></div>
<div class="item-right-footer">
<div class="time" v-if="item.date">{{ item?.date }}</div>
<div class="tag tag3">
<!-- <div class="tag tag3">
{{ item?.typeStr }}
</div>
</div> -->
<AreaTag :tagName="item?.typeStr" />
</div>
</div>
</div>
......@@ -127,10 +129,10 @@ import router from "@/router";
import { useRoute } from "vue-router";
import { search } from "@/api/comprehensiveSearch/index";
import { getPersonSummaryInfo } from "@/api/common/index";
import Img1 from "./assets/images/img1.png";
import Img2 from "./assets/images/img2.png";
import Img3 from "./assets/images/img3.png";
import { ElMessage } from "element-plus";
import TimeSortSelectBox from '@/components/base/TimeSortSelectBox/index.vue'
import AreaTag from '@/components/base/AreaTag/index.vue'
import { getDecodedParams } from "@/utils/goToPage";
const route = useRoute();
const container = ref(null)
......@@ -139,8 +141,16 @@ const isLoading = ref(false)
const selectOrder = ref(2);
const selectRelation = ref("相关度优先");
const handleOrderChange = () => {
// alert(selectOrder.value)
const handleOrderChange = (value) => {
// alert(value)
if (value === 1) {
selectOrder.value = 2
} else if (value === 2) {
selectOrder.value = 3
} else if (value === 3) {
selectOrder.value = 0
}
currentPage.value = 1
handleSearch(true)
}
......@@ -299,7 +309,7 @@ function highlightText(text, keyword) {
if (!text || !keyword) return text;
const regex = new RegExp(`(${keyword})`, "gi");
return text.replace(regex, '<span style="color: red; font-weight: bold;">$1</span>');
return text.replace(regex, '<span style="background: rgb(248, 235, 181);">$1</span>');
}
const handleSearch = async (isShowResultTip) => {
......@@ -588,11 +598,15 @@ const handleToPage = async item => {
};
onMounted(() => {
if (route.query && route.query.searchText) {
keyword.value = route.query.searchText;
const routeQuery = getDecodedParams()
console.log('routeQuery',routeQuery);
if (routeQuery && routeQuery.searchText) {
keyword.value = routeQuery.searchText;
}
if (route.query && route.query.areaName) {
curArea.value = route.query.areaName;
if (routeQuery && routeQuery.areaName) {
curArea.value = routeQuery.areaName;
switch (curArea.value) {
case "全部":
activeTabId.value = 100;
......@@ -868,6 +882,10 @@ const handleCompClick = item => {
font-size: 16px;
font-weight: 400;
cursor: pointer;
&:hover {
background: var(--color-primary-2);
}
}
.tagActive {
......@@ -973,6 +991,15 @@ const handleCompClick = item => {
&:hover {
background: var(--color-bg-hover);
.item-right {
color: var(--color-primary-100);
// text-decoration: underline;
.content {
color: var(--color-primary-100);
}
}
}
.item-left {
......@@ -1093,14 +1120,20 @@ const handleCompClick = item => {
&:hover {
background: var(--color-bg-hover);
.main-header {
.title {
color: var(--color-primary-100);
}
}
.content {
color: var(--color-primary-100);
}
}
.main-header {
min-height: 24px;
display: flex;
align-items: center;
justify-content: space-between;
.title {
width: 820px;
// height: 24px;
......@@ -1116,7 +1149,6 @@ const handleCompClick = item => {
text-overflow: ellipsis;
white-space: nowrap;
}
.tag {
height: 24px;
line-height: 24px;
......
......@@ -186,6 +186,7 @@ import { ElMessage } from 'element-plus'
import getDateRange from '@/utils/getDateRange'
import { getDepartmentList } from "@/api/decree/home";
import { getDecodedParams } from '@/utils/goToPage'
const route = useRoute();
......@@ -975,28 +976,29 @@ const handleDownloadCurChartData = () => {
// 跳转到当前页 初始化筛选条件
const initParam = () => {
const hasQuery = Object.keys(route.query).length > 0;
const routeQuery = getDecodedParams()
const hasQuery = Object.keys(routeQuery).length > 0;
if (hasQuery) {
if (route.query.selectedAreaList) {
selectedArea.value = JSON.parse(route.query.selectedAreaList)
if (routeQuery.selectedAreaList) {
selectedArea.value = JSON.parse(routeQuery.selectedAreaList)
} else {
selectedArea.value = route.query.domains ? [route.query.domains] : ['全部领域']
selectedArea.value = routeQuery.domains ? [routeQuery.domains] : ['全部领域']
}
if (route.query.selectedDate && Array.isArray(JSON.parse(route.query.selectedDate)) && JSON.parse(route.query.selectedDate).length) {
if (routeQuery.selectedDate && Array.isArray(JSON.parse(routeQuery.selectedDate)) && JSON.parse(routeQuery.selectedDate).length) {
selectedDate.value = '自定义'
customTime.value = JSON.parse(route.query.selectedDate)
customTime.value = JSON.parse(routeQuery.selectedDate)
}
selectedIns.value = route.query.orgnizationName ? route.query.orgnizationName : '全部机构'
selectedIns.value = routeQuery.orgnizationName ? routeQuery.orgnizationName : '全部机构'
isInvolveCn.value = route.query.isInvolveCn ? true : false
isInvolveCn.value = routeQuery.isInvolveCn ? true : false
isInvolveTechnology.value = route.query.isInvolveTechnology ? true : false
isInvolveTechnology.value = routeQuery.isInvolveTechnology ? true : false
selectedDecreeType.value = route.query.selectedDecreeType ? route.query.selectedDecreeType : '全部类型'
selectedDecreeType.value = routeQuery.selectedDecreeType ? routeQuery.selectedDecreeType : '全部类型'
const query = route.query;
const query = routeQuery;
if (Object.keys(query).length > 0) {
sessionStorage.setItem('decreeRouteQuery', JSON.stringify(query));
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论