提交 bf04ed1e authored 作者: coderBryanFu's avatar coderBryanFu

update

......@@ -3,7 +3,6 @@
<!-- 导航菜单 -->
<div class="layout-main">
<div class="header-main">
<div class="layout-main-header">
<div class="layout-main-header-left-box">
<div class="left-box-top">
......@@ -12,9 +11,7 @@
</div>
<div class="info">
<div class="info-box1">{{ billInfoGlobal.billName }}</div>
<div class="info-box2">
{{ billInfoGlobal.description }} {{ billInfoGlobal.billNameEn }}
</div>
<div class="info-box2">{{ billInfoGlobal.description }} {{ billInfoGlobal.billNameEn }}</div>
</div>
</div>
<div class="left-box-bottom">
......@@ -53,7 +50,7 @@
</div>
<div class="text">{{ "查看官网" }}</div>
</div> -->
<div class="btn3">
<div class="btn3" @click="handleAnalysisClick">
<div class="icon">
<img src="./assets/icons/btn-icon3.png" alt="" />
</div>
......@@ -150,7 +147,6 @@ import icon4 from "./assets/icons/icon4.svg";
import icon4Active from "./assets/icons/icon4_active.svg";
import USALogo from "./assets/images/USA-logo.png";
// 法案原文
const billFullText = ref("");
const getBillFullTextFn = async () => {
......@@ -213,7 +209,7 @@ const mainHeaderBtnList = ref([
activeIcon: icon2Active,
name: "深度挖掘",
path: "/billLayout/deepDig"
},
}
// {
// icon: icon3,
// activeIcon: icon3Active,
......@@ -241,6 +237,16 @@ const handleClickMainHeaderBtn = item => {
});
};
const handleAnalysisClick = () => {
router.push({
path: "/writtingAsstaint",
query: {
topic: "法案",
fileId: route.query.billId
}
});
};
onMounted(() => {
getBillInfoGlobalFn();
if (window.sessionStorage.getItem("activeTitle")) {
......@@ -375,7 +381,6 @@ onMounted(() => {
// margin-right: 150px;
// margin-top: 19px;
.right-box-top {
height: 64px;
display: flex;
align-items: right;
......
......@@ -3,23 +3,29 @@
<!-- 导航菜单 -->
<div class="layout-main">
<div class="header-main">
<div class="layout-main-header">
<div class="layout-main-header-container">
<div class="layout-main-header-left-box">
<div class="left-box-top">
<div class="icon">
<img v-if="summaryInfo.imageUrl" :src="summaryInfo.imageUrl" alt="" style="height: 40px;margin-top: 12px;"/>
<img
v-if="summaryInfo.imageUrl"
:src="summaryInfo.imageUrl"
alt=""
style="height: 40px; margin-top: 12px"
/>
<img v-else :src="USALogo" alt="" />
</div>
<div class="info">
<div class="info-box1">{{ summaryInfo.name }}</div>
<div class="info-box2">
<div class="info-box2-item item1" v-if="summaryInfo.order">{{ summaryInfo.order +" | "}}</div>
<div class="info-box2-item item1" v-if="summaryInfo.order">
{{ summaryInfo.order + " | " }}
</div>
<div class="info-box2-item item2" v-if="summaryInfo.type">{{ summaryInfo.type + " | " }}</div>
<div class="info-box2-item item2" v-if="summaryInfo.type">
{{ summaryInfo.type + " | " }}
</div>
<div class="info-box2-item item3" v-if="summaryInfo.ename">{{ summaryInfo.ename }}</div>
</div>
</div>
......@@ -54,7 +60,7 @@
</div>
<div class="text">{{ "政令原文" }}</div>
</div>
<div class="btn-active">
<div class="btn-active" @click="handleAnalysisClick">
<div class="icon-active">
<img src="./assets/icons/edit-icon.png" alt="" />
</div>
......@@ -265,6 +271,16 @@ const handleShowReport = () => {
window.open(curRoute.href, "_blank");
};
const handleAnalysisClick = () => {
router.push({
path: "/writtingAsstaint",
query: {
topic: "政令",
fileId: route.query.id
}
});
};
onMounted(() => {
handleGetSummary();
console.log(route.path);
......
......@@ -2,7 +2,7 @@
<div class="entity-list">
<div class="header">
<div class="header-title">
<img :src="headerTitle.img" alt="">
<img :src="headerTitle.img" alt="" />
<div>
<div class="title">
{{ headerTitle.title }}
......@@ -12,9 +12,7 @@
{{ headerTitle.department }}
</div>
</div>
<div class="btn">
<img :src="icon01" alt="">切换
</div>
<div class="btn"><img :src="icon01" alt="" />切换</div>
</div>
<div class="header-nav">
<div
......@@ -24,21 +22,24 @@
:class="{ active: activeIndex === index }"
@click="activeIndex = index"
>
<img :src="activeIndex === index ? item.imgActive : item.img" alt="">
<img :src="activeIndex === index ? item.imgActive : item.img" alt="" />
<span>{{ item.title }}</span>
<div class="active-line" v-if="activeIndex === index"></div>
</div>
<div class="original-text-btn" @click="handleClickOriginalText">
<img :src="icon1" alt="">
<img :src="icon1" alt="" />
<span>实体清单原文</span>
</div>
<div class="btn3" @click="handleAnalysisClick">
<div class="icon">
<img src="./assets/btn-icon3.png" alt="" />
</div>
<div class="text">{{ "分析报告" }}</div>
</div>
</div>
</div>
<div class="main">
<sanctions-overview
v-if="activeIndex === 0"
:data="singleSanctionOverview"
></sanctions-overview>
<sanctions-overview v-if="activeIndex === 0" :data="singleSanctionOverview"></sanctions-overview>
<data-statistics v-if="activeIndex === 1"></data-statistics>
<deep-mining v-if="activeIndex === 2"></deep-mining>
<impact-analysis v-if="activeIndex === 3"></impact-analysis>
......@@ -47,15 +48,15 @@
</template>
<script setup>
import { ref, onMounted } from 'vue'
import { ref, onMounted } from "vue";
import sanctionsOverview from "./components/sanctionsOverview/index.vue"
import dataStatistics from "./components/dataStatistics/index.vue"
import deepMining from "./components/deepMining/index.vue"
import impactAnalysis from "./components/impactAnalysis/index.vue"
import sanctionsOverview from "./components/sanctionsOverview/index.vue";
import dataStatistics from "./components/dataStatistics/index.vue";
import deepMining from "./components/deepMining/index.vue";
import impactAnalysis from "./components/impactAnalysis/index.vue";
import title from "./assets/title.png"
import icon01 from "./assets/icon01.png"
import title from "./assets/title.png";
import icon01 from "./assets/icon01.png";
import icon1 from "../assets/icons/icon1.png";
import icon1Active from "../assets/icons/icon1_active.png";
import icon5 from "../assets/icons/icon5.png";
......@@ -65,32 +66,33 @@ import icon2Active from "../assets/icons/icon2_active.png";
import icon3 from "../assets/icons/icon3.png";
import icon3Active from "../assets/icons/icon3_active.png";
import { getSingleSanctionOverview } from "@/api/exportControlV2.0.js"
import { getSingleSanctionOverview } from "@/api/exportControlV2.0.js";
import router from "@/router";
// 处理点击实体清单原文按钮
const handleClickOriginalText = () => {
// 打开新标签页
window.open(`/exportControl/origin?id=${sanRecordId.value}`, "_blank")
}
window.open(`/exportControl/origin?id=${sanRecordId.value}`, "_blank");
};
// 获取URL参数
const sanRecordId = ref("")
const sanRecordId = ref("");
const getUrlParams = () => {
const urlParams = new URLSearchParams(window.location.search);
sanRecordId.value = urlParams.get("id") || ""
}
sanRecordId.value = urlParams.get("id") || "";
};
// console.log(sanRecordId.value)
// 单次制裁-制裁概况-基本信息
const singleSanctionOverview = ref({})
const singleSanctionOverview = ref({});
const getSingleSanctionOverviewData = async () => {
if (!sanRecordId.value) return
if (!sanRecordId.value) return;
try {
const res = await getSingleSanctionOverview({
sanRecordId: sanRecordId.value
})
});
if (res.code === 200) {
singleSanctionOverview.value = res.data || {}
singleSanctionOverview.value = res.data || {};
// 格式化日期
let dateStr = "";
......@@ -109,20 +111,18 @@ const getSingleSanctionOverviewData = async () => {
title: `${dateStr}${singleSanctionOverview.value.sanTitleZh || singleSanctionOverview.value.sanTitle}》`,
titleEn: singleSanctionOverview.value.sanTitle || "",
department: singleSanctionOverview.value.fileCode || ""
}
};
}
} catch (error) {
console.error("获取制裁概况失败:", error)
console.error("获取制裁概况失败:", error);
}
}
};
const headerTitle = ref({
img: title,
})
img: title
});
const activeIndex = ref(0)
const activeIndex = ref(0);
const headerNavList = ref([
{
......@@ -145,25 +145,34 @@ const headerNavList = ref([
imgActive: icon3Active,
title: "影响分析"
}
])
]);
const handleAnalysisClick = () => {
router.push({
path: "/writtingAsstaint",
query: {
topic: "清单",
fileId: singleSanctionOverview.value.postDate
}
});
};
onMounted(() => {
getUrlParams()
getSingleSanctionOverviewData()
})
getUrlParams();
getSingleSanctionOverviewData();
});
</script>
<style scoped lang="scss">
*{
* {
margin: 0;
padding: 0;
}
.entity-list{
.entity-list {
width: 100%;
height: 100%;
overflow-y: auto;
.header{
.header {
width: 100%;
height: 148px;
background-color: #fff;
......@@ -172,7 +181,7 @@ onMounted(() => {
top: 0;
z-index: 1000;
box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.05);
.header-title{
.header-title {
width: 1601px;
height: 72px;
background-color: rgba(246, 250, 255, 1);
......@@ -279,7 +288,7 @@ onMounted(() => {
margin-left: auto;
width: 152px;
height: 36px;
background: #FFFFFF;
background: #ffffff;
border-radius: 4px;
border: 1px solid rgba(230, 231, 232, 1);
display: flex;
......@@ -301,13 +310,44 @@ onMounted(() => {
line-height: 24px;
}
}
.btn3 {
cursor: pointer;
width: 120px;
height: 36px;
border-radius: 6px;
background: rgba(5, 95, 194, 1);
display: flex;
justify-content: center;
align-items: center;
gap: 8px;
margin-left: 8px;
.icon {
width: 16px;
height: 16px;
img {
width: 100%;
height: 100%;
}
}
.text {
height: 24px;
color: rgba(255, 255, 255, 1);
font-family: Microsoft YaHei;
font-size: 16px;
font-weight: 400;
line-height: 24px;
letter-spacing: 0px;
text-align: left;
}
}
}
}
.main{
.main {
width: 100%;
height: auto;
min-height: calc(100% - 148px);
background-color: #F7F8F9;
background-color: #f7f8f9;
}
}
</style>
......@@ -57,7 +57,7 @@
</div>
<div class="text">{{ "文档下载" }}</div>
</div>
<div class="btn btn1">
<div class="btn btn1" @click="handleAnalysisClick">
<div class="icon">
<img src="./images/btn-icon4.png" alt="" />
</div>
......@@ -79,8 +79,9 @@ import { ref, onMounted } from "vue";
import ReportAnalysis from "./reportAnalysis/index.vue";
import PolicyTracking from "./policyTracking/index.vue";
import { getThinkTankReportSummary } from "@/api/thinkTank/overview";
import { useRouter } from "vue-router";
import { useRoute, useRouter } from "vue-router";
const router = useRouter();
const route = useRoute();
const reportUrl = ref("");
const thinkInfo = ref({});
......@@ -113,6 +114,16 @@ const tabActiveName = ref("报告分析");
const switchTab = name => {
tabActiveName.value = name;
};
const handleAnalysisClick = () => {
router.push({
path: "/writtingAsstaint",
query: {
topic: "智库",
fileId: router.currentRoute._value.params.id
}
});
};
onMounted(async () => {
handleGetThinkTankReportSummary();
});
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论