提交 4569b019 authored 作者: coderBryanFu's avatar coderBryanFu

feat:新增goToPage.js文件

上级 84861ffe
流水线 #589 已通过 于阶段
in 2 分 0 秒
...@@ -5,11 +5,16 @@ import router from "@/router/index"; ...@@ -5,11 +5,16 @@ import router from "@/router/index";
export const goToBill = (id, tabName) => { export const goToBill = (id, tabName) => {
window.sessionStorage.setItem("billId", id); window.sessionStorage.setItem("billId", id);
window.sessionStorage.setItem("curTabName", tabName); window.sessionStorage.setItem("curTabName", tabName);
const param = {
billId: id
}
const jsonStr = JSON.stringify(param);
const base64 = btoa(encodeURIComponent(jsonStr));
const route = router.resolve({ const route = router.resolve({
path: "/billLayout", path: "/billLayout",
query: { query: base64
billId: id
}
}); });
window.open(route.href, "_blank"); window.open(route.href, "_blank");
}; };
...@@ -18,11 +23,14 @@ export const goToBill = (id, tabName) => { ...@@ -18,11 +23,14 @@ export const goToBill = (id, tabName) => {
export const goToDecree = (id, tabName) => { export const goToDecree = (id, tabName) => {
window.sessionStorage.setItem("decreeId", id); window.sessionStorage.setItem("decreeId", id);
window.sessionStorage.setItem("curTabName", tabName); window.sessionStorage.setItem("curTabName", tabName);
const param = {
id: id
}
const jsonStr = JSON.stringify(param);
const base64 = btoa(encodeURIComponent(jsonStr));
const route = router.resolve({ const route = router.resolve({
path: "/decreeLayout", path: "/decreeLayout",
query: { query: base64
id: id
}
}); });
window.open(route.href, "_blank"); window.open(route.href, "_blank");
}; };
...@@ -30,10 +38,11 @@ export const goToDecree = (id, tabName) => { ...@@ -30,10 +38,11 @@ export const goToDecree = (id, tabName) => {
// 跳转智库详情 // 跳转智库详情
export const goToThinkTank = (id, tabName) => { export const goToThinkTank = (id, tabName) => {
window.sessionStorage.setItem("curTabName", tabName); window.sessionStorage.setItem("curTabName", tabName);
const base64 = btoa(encodeURIComponent(id));
const curRoute = router.resolve({ const curRoute = router.resolve({
name: "ThinkTankDetail", name: "ThinkTankDetail",
params: { params: {
id: id id: base64
} }
}); });
window.open(curRoute.href, "_blank"); window.open(curRoute.href, "_blank");
...@@ -51,14 +60,191 @@ export const goToThinkTankReport = (id, tabName) => { ...@@ -51,14 +60,191 @@ export const goToThinkTankReport = (id, tabName) => {
window.open(route.href, "_blank"); window.open(route.href, "_blank");
} }
// 跳转实体清单
export const goToEntityList = () => {
const param = {
sanTypeId: 1
}
const jsonStr = JSON.stringify(param);
const base64 = btoa(encodeURIComponent(jsonStr));
const route = router.resolve({
path: '/exportControl/entityList',
query: base64
});
window.open(route.href, "_blank");
}
// 跳转实体清单事件
export const goToSingleEntityEvent = (id, tabName, date) => {
window.sessionStorage.setItem("curTabName", tabName);
const param = {
id: id,
sanTypeId: 1,
date: date
}
const jsonStr = JSON.stringify(param);
const base64 = btoa(encodeURIComponent(jsonStr));
const route = router.resolve({
path: "/exportControl/singleSanction",
query: base64
});
window.open(route.href, "_blank");
}
// 跳转商业管制清单
export const goToCCLList = () => {
const param = {
sanTypeId: 13,
}
const jsonStr = JSON.stringify(param);
const base64 = btoa(encodeURIComponent(jsonStr));
const route = router.resolve({
path: "/exportControl/commercialControlList",
query: base64
});
window.open(route.href, "_blank");
}
// 跳转SDN清单
export const goToSDNList = () => {
const param = {
sanTypeId: 2,
}
const jsonStr = JSON.stringify(param);
const base64 = btoa(encodeURIComponent(jsonStr));
const route = router.resolve({
path: "/finance/sdnlistoverview",
query: base64
});
window.open(route.href, "_blank");
}
// 跳转SDN清单事件
export const goToSingleSDNEvent = (id, tabName, date) => {
window.sessionStorage.setItem("curTabName", tabName);
const param = {
id: id,
sanTypeId: 2,
date: date
}
const jsonStr = JSON.stringify(param);
const base64 = btoa(encodeURIComponent(jsonStr));
const route = router.resolve({
path: "/finance/singleSanction",
query: base64
});
window.open(route.href, "_blank");
}
// 跳转232调查概览页
export const goToCase232 = () => {
window.sessionStorage.setItem("curTabName", '232调查');
const param = {
id: 232,
}
const jsonStr = JSON.stringify(param);
const base64 = btoa(encodeURIComponent(jsonStr));
const route = router.resolve({
path: "/marketAccessLayout/case",
query: base64
});
window.open(route.href, "_blank");
}
// 跳转232调查详情页
export const goToCaseDetail232 = (searchId, tabName) => {
window.sessionStorage.setItem("curTabName", tabName);
const param = {
id: 232,
searchId: searchId
}
const jsonStr = JSON.stringify(param);
const base64 = btoa(encodeURIComponent(jsonStr));
const route = router.resolve({
path: "/marketSingleCaseLayout/overview",
query: base64
});
window.open(route.href, "_blank");
}
// 跳转301调查概览页
export const goToCase301 = () => {
window.sessionStorage.setItem("curTabName", '301调查');
const param = {
id: 301,
}
const jsonStr = JSON.stringify(param);
const base64 = btoa(encodeURIComponent(jsonStr));
const route = router.resolve({
path: "/marketAccessLayout/case",
query: base64
});
window.open(route.href, "_blank");
}
// 跳转301调查详情页
export const goToCaseDetail301 = (searchId, tabName) => {
window.sessionStorage.setItem("curTabName", tabName);
const param = {
id: 301,
searchId: searchId
}
const jsonStr = JSON.stringify(param);
const base64 = btoa(encodeURIComponent(jsonStr));
const route = router.resolve({
path: "/marketSingleCaseLayout/overview",
query: base64
});
window.open(route.href, "_blank");
}
// 跳转337调查概览页
export const goToCase337 = () => {
window.sessionStorage.setItem("curTabName", '337调查');
const param = {
id: 337,
}
const jsonStr = JSON.stringify(param);
const base64 = btoa(encodeURIComponent(jsonStr));
const route = router.resolve({
path: "/marketAccessLayout/case",
query: base64
});
window.open(route.href, "_blank");
}
// 跳转337调查详情页
export const goToCaseDetail337 = (searchId, tabName) => {
window.sessionStorage.setItem("curTabName", tabName);
const param = {
id: 337,
searchId: searchId
}
const jsonStr = JSON.stringify(param);
const base64 = btoa(encodeURIComponent(jsonStr));
const route = router.resolve({
path: "/marketSingleCaseLayout/overview",
query: base64
});
window.open(route.href, "_blank");
}
// 跳转机构详情 // 跳转机构详情
export const goToInstitution = (id, tabName) => { export const goToInstitution = (id, tabName) => {
window.sessionStorage.setItem('curTabName', tabName) window.sessionStorage.setItem('curTabName', tabName)
const param = {
id: id
}
const jsonStr = JSON.stringify(param);
const base64 = btoa(encodeURIComponent(jsonStr));
const curRoute = router.resolve({ const curRoute = router.resolve({
path: "/institution", path: "/institution",
query: { query: base64
id: id
}
}); });
window.open(curRoute.href, "_blank"); window.open(curRoute.href, "_blank");
} }
...@@ -72,6 +258,18 @@ export const goToCharacterPage = async (id, tabName) => { ...@@ -72,6 +258,18 @@ export const goToCharacterPage = async (id, tabName) => {
const params = { const params = {
personId: id personId: id
} }
const param1 = {
personId: item.id
}
const jsonStr1 = JSON.stringify(param1);
const base64_1 = btoa(encodeURIComponent(jsonStr1));
const param2 = {
personId: item.id
}
const jsonStr2 = JSON.stringify(param2);
const base64_2 = btoa(encodeURIComponent(jsonStr2));
// 先获取人物全局信息 // 先获取人物全局信息
try { try {
const res = await getPersonSummaryInfo(params) const res = await getPersonSummaryInfo(params)
...@@ -91,28 +289,21 @@ export const goToCharacterPage = async (id, tabName) => { ...@@ -91,28 +289,21 @@ export const goToCharacterPage = async (id, tabName) => {
personTypeName = "其他类型"; personTypeName = "其他类型";
const route = router.resolve({ const route = router.resolve({
path: "/characterPage", path: "/characterPage",
query: { query: base64_1
personId: item.id
}
}); });
window.open(route.href, "_blank"); window.open(route.href, "_blank");
return; return;
} }
const route = router.resolve({ const route = router.resolve({
path: "/characterPage", path: "/characterPage",
query: { query: base64_2
type: type, // type=1为科技企业领袖,2为国会议员,3为智库研究人员
personId: item.id
}
}); });
window.open(route.href, "_blank"); window.open(route.href, "_blank");
} else { } else {
personTypeName = ""; personTypeName = "";
const route = router.resolve({ const route = router.resolve({
path: "/characterPage", path: "/characterPage",
query: { query: base64_1
personId: item.id
}
}); });
window.open(route.href, "_blank"); window.open(route.href, "_blank");
return; return;
...@@ -120,9 +311,7 @@ export const goToCharacterPage = async (id, tabName) => { ...@@ -120,9 +311,7 @@ export const goToCharacterPage = async (id, tabName) => {
} else { } else {
const route = router.resolve({ const route = router.resolve({
path: "/characterPage", path: "/characterPage",
query: { query: base64_1
personId: item.id
}
}); });
window.open(route.href, "_blank"); window.open(route.href, "_blank");
return; return;
...@@ -130,9 +319,7 @@ export const goToCharacterPage = async (id, tabName) => { ...@@ -130,9 +319,7 @@ export const goToCharacterPage = async (id, tabName) => {
} catch (error) { } catch (error) {
const route = router.resolve({ const route = router.resolve({
path: "/characterPage", path: "/characterPage",
query: { query: base64_1
personId: item.id
}
}); });
window.open(route.href, "_blank"); window.open(route.href, "_blank");
return; return;
...@@ -142,11 +329,14 @@ export const goToCharacterPage = async (id, tabName) => { ...@@ -142,11 +329,14 @@ export const goToCharacterPage = async (id, tabName) => {
// 跳转企业 // 跳转企业
export const goToCompanyPage = (id, tabName) => { export const goToCompanyPage = (id, tabName) => {
window.sessionStorage.setItem('curTabName', tabName) window.sessionStorage.setItem('curTabName', tabName)
const param = {
id: id
}
const jsonStr = JSON.stringify(param);
const base64 = btoa(encodeURIComponent(jsonStr));
const route = router.resolve({ const route = router.resolve({
name: "companyPages", name: "companyPages",
params: { params: base64
id: id
}
}); });
window.open(route.href, "_blank"); window.open(route.href, "_blank");
} }
...@@ -154,11 +344,14 @@ export const goToCompanyPage = (id, tabName) => { ...@@ -154,11 +344,14 @@ export const goToCompanyPage = (id, tabName) => {
// 跳转新闻详情 // 跳转新闻详情
export const goToNewsPage = (id, tabName) => { export const goToNewsPage = (id, tabName) => {
window.sessionStorage.setItem("curTabName", tabName); window.sessionStorage.setItem("curTabName", tabName);
const param = {
newsId: id
}
const jsonStr = JSON.stringify(param);
const base64 = btoa(encodeURIComponent(jsonStr));
const route = router.resolve({ const route = router.resolve({
path: "/newsAnalysis", path: "/newsAnalysis",
query: { query: base64
newsId: id
}
}); });
window.open(route.href, "_blank"); window.open(route.href, "_blank");
} }
...@@ -166,7 +359,7 @@ export const goToNewsPage = (id, tabName) => { ...@@ -166,7 +359,7 @@ export const goToNewsPage = (id, tabName) => {
// 跳转搜索详情页 // 跳转搜索详情页
export const goToSearch = (tabName, areaName, billSearchType) => { export const goToSearch = (tabName, areaName, billSearchType) => {
window.sessionStorage.setItem("curTabName", tabName); window.sessionStorage.setItem("curTabName", tabName);
// if (!areaName) return;
const query = { const query = {
searchText: tabName, searchText: tabName,
areaName: areaName areaName: areaName
...@@ -174,9 +367,14 @@ export const goToSearch = (tabName, areaName, billSearchType) => { ...@@ -174,9 +367,14 @@ export const goToSearch = (tabName, areaName, billSearchType) => {
if (enableBillTypeSwitch) { if (enableBillTypeSwitch) {
query.billSearchType = billSearchType query.billSearchType = billSearchType
} }
const param = query
const jsonStr = JSON.stringify(param);
const base64 = btoa(encodeURIComponent(jsonStr));
const curRoute = router.resolve({ const curRoute = router.resolve({
path: "/searchResults", path: "/searchResults",
query query: base64
}); });
window.open(curRoute.href, "_blank"); window.open(curRoute.href, "_blank");
} }
...@@ -199,21 +397,36 @@ export const goToDataCountryBill = (selectParam) => { ...@@ -199,21 +397,36 @@ export const goToDataCountryBill = (selectParam) => {
} }
// 解码 // 解码-------------------------------------------!!!!!
export const getDecodedParams = () => { export const getDecodedParams = () => {
const urlParams = new URLSearchParams(window.location.search); if (window.location.search) {
const encoded = urlParams.get('data'); const urlParams = new URLSearchParams(window.location.search)
const encoded = urlParams.get('data')
if (!encoded) return null; if (!encoded) return null;
try { try {
// Base64 解码 // Base64 解码
const decoded = atob(encoded); const decoded = atob(encoded);
const jsonStr = decodeURIComponent(decoded); const jsonStr = decodeURIComponent(decoded);
return JSON.parse(jsonStr); return JSON.parse(jsonStr);
} catch (e) { } catch (e) {
console.error('解码失败', e); console.error('解码失败', e);
return null; return null;
}
} else {
const obj = router.currentRoute.value.params
const encoded = Object.values(obj)[0]
if (!encoded) return null;
try {
// Base64 解码
const decoded = atob(encoded);
const jsonStr = decodeURIComponent(decoded);
return jsonStr;
} catch (e) {
console.error('解码失败', e);
return null;
}
} }
} }
......
...@@ -322,6 +322,7 @@ import iconILetter from "./assets/icons/icon-iLetter.png"; ...@@ -322,6 +322,7 @@ import iconILetter from "./assets/icons/icon-iLetter.png";
import { ElMessage } from "element-plus"; import { ElMessage } from "element-plus";
import { useGotoNewsDetail } from "@/router/modules/news"; import { useGotoNewsDetail } from "@/router/modules/news";
import { goToBill } from "@/utils/goToPage";
// 跳转人物主页(MessageBubble 的 person-click 传入整条列表项,需取 personId) // 跳转人物主页(MessageBubble 的 person-click 传入整条列表项,需取 personId)
const handleClickToCharacter = async item => { const handleClickToCharacter = async item => {
...@@ -518,11 +519,12 @@ const handleClickToDetail = () => { ...@@ -518,11 +519,12 @@ const handleClickToDetail = () => {
}; };
// 查看详情 传递参数 // 查看详情 传递参数
const handleClickToDetailO = item => { const handleClickToDetailO = item => {
window.sessionStorage.setItem("billId", item.billId); // window.sessionStorage.setItem("billId", item.billId);
window.sessionStorage.setItem("curTabName", item.name || item.signalTitle); // window.sessionStorage.setItem("curTabName", item.name || item.signalTitle);
const route = router.resolve("/billLayout?billId=" + item.billId); // const route = router.resolve("/billLayout?billId=" + item.billId);
window.open(route.href, "_blank"); // window.open(route.href, "_blank");
// router.push("/billLayout?billId=" + item.billId) // router.push("/billLayout?billId=" + item.billId)
goToBill(item.billId, item.signalTitle)
}; };
const isRiskOverviewDetailOpen = ref(false); const isRiskOverviewDetailOpen = ref(false);
......
...@@ -64,6 +64,7 @@ import PolicyTracking from "./PolicyTracking/index.vue"; ...@@ -64,6 +64,7 @@ import PolicyTracking from "./PolicyTracking/index.vue";
import ThinkInfo from "./thinkInfo/index.vue"; import ThinkInfo from "./thinkInfo/index.vue";
import { getThinkTankSummary } from "@/api/thinkTank/overview"; import { getThinkTankSummary } from "@/api/thinkTank/overview";
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
import { getDecodedParams } from "@/utils/goToPage";
const router = useRouter(); const router = useRouter();
const tabActiveName = ref("智库动态"); const tabActiveName = ref("智库动态");
...@@ -74,9 +75,13 @@ const switchTab = name => { ...@@ -74,9 +75,13 @@ const switchTab = name => {
const thinkTank = ref({}); const thinkTank = ref({});
// 获取智库基本信息 // 获取智库基本信息
const handleGetThinkTankSummary = async () => { const handleGetThinkTankSummary = async () => {
const id = getDecodedParams()
try { try {
const parmas = { const parmas = {
id: router.currentRoute._value.params.id id: id
}; };
const res = await getThinkTankSummary(parmas); const res = await getThinkTankSummary(parmas);
console.log("智库信息", res); console.log("智库信息", res);
......
...@@ -515,6 +515,7 @@ import { setCanvasCreator } from "echarts/core"; ...@@ -515,6 +515,7 @@ import { setCanvasCreator } from "echarts/core";
import { ElMessage } from "element-plus"; import { ElMessage } from "element-plus";
import { useRouter } from 'vue-router'; import { useRouter } from 'vue-router';
import { useGotoNewsDetail } from '@/router/modules/news'; import { useGotoNewsDetail } from '@/router/modules/news';
import { goToThinkTank } from "@/utils/goToPage";
const gotoNewsDetail = useGotoNewsDetail() const gotoNewsDetail = useGotoNewsDetail()
const containerRef = ref(null); const containerRef = ref(null);
const isRiskDetailVisible = ref(false); const isRiskDetailVisible = ref(false);
...@@ -2284,14 +2285,17 @@ const handleGetetThinkTankReport = async () => { ...@@ -2284,14 +2285,17 @@ const handleGetetThinkTankReport = async () => {
const handleClick = tank => { const handleClick = tank => {
console.log(tank); console.log(tank);
window.sessionStorage.setItem("curTabName", tank.name + "概览");
// router.push({ name: "ThinkTankDetail", params: { id: tank.id } }); // router.push({ name: "ThinkTankDetail", params: { id: tank.id } });
if (!tank.id) { if (!tank.id) {
ElMessage.warning("当前智库id为空,无法进入详情页"); ElMessage.warning("当前智库id为空,无法进入详情页");
return; return;
} }
const curRoute = router.resolve({ name: "ThinkTankDetail", params: { id: tank.id, name: tank.name } }); goToThinkTank(tank.id, tank.name + "概览")
window.open(curRoute.href, "_blank"); // window.sessionStorage.setItem("curTabName", tank.name + "概览");
// const curRoute = router.resolve({ name: "ThinkTankDetail", params: { id: tank.id, name: tank.name } });
// window.open(curRoute.href, "_blank");
// router.push({ name: "ThinkTankDetail", params: { id: tank.id, name: tank.name } }) // router.push({ name: "ThinkTankDetail", params: { id: tank.id, name: tank.name } })
}; };
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论