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

update

上级 94be2730
......@@ -220,6 +220,7 @@ const handleClickEvent = item => {
// 跳转人员详情
const handleClickUser = item => {
window.sessionStorage.setItem('curTabName', item.name)
const routeData = router.resolve({
path: "/characterPage",
query: {
......
......@@ -177,7 +177,7 @@
</div>
<div class="info-box">
<div class="info-left">
<img :src="defaultAvatar" alt="" @click="handleClickAvatar(curPerson.id)"/>
<img :src="defaultAvatar" alt="" @click="handleClickAvatar(curPerson)"/>
<div class="usr-icon1">
<img src="./assets/images/usr-icon1.png" alt="" />
</div>
......@@ -360,11 +360,12 @@ const route = useRoute();
const router = useRouter();
// 跳转到人物页面
const handleClickAvatar = id => {
const handleClickAvatar = item => {
window.sessionStorage.setItem('curTabName', item.name)
const routeData = router.resolve({
path: "/characterPage",
query: {
personId: id
personId: item.id
}
});
window.open(routeData.href, "_blank");
......
......@@ -265,7 +265,7 @@ const handleGetRelateOrder = async () => {
const handleToDecreeDetail = item => {
console.log('item', item.id);
window.sessionStorage.setItem('curTabName', item.totalTitle)
const route = router.resolve({
path: "/decreeLayout/overview/introduction",
query: {
......
......@@ -246,6 +246,7 @@ const handleMouseMove = event => {
};
const handleToBillDetail = item => {
window.sessionStorage.setItem('curTabName', item.title)
const route = router.resolve({
path: "/billLayout",
query: {
......
......@@ -64,7 +64,7 @@
<div class="item">
<div class="item-left">{{ "执行期限:" }}</div>
<div class="item-right text">
{{ basicInfo.deadline+ ' 天' }}
{{ basicInfo.deadline + " 天" }}
</div>
</div>
</div>
......@@ -110,8 +110,8 @@
<div class="box3">
<div class="box-header">
<div class="header-left"></div>
<div class="title">执行机构</div>
<div class="header-btn-box">
<div class="title">发布机构</div>
<!-- <div class="header-btn-box">
<div
class="btn"
:class="{ btnActive: box3ActiveBtn === item }"
......@@ -121,7 +121,7 @@
>
{{ item }}
</div>
</div>
</div> -->
<div class="header-right">
<div class="icon">
<img src="../assets/icons/header-right-icon1.png" alt="" />
......@@ -137,7 +137,7 @@
<img :src="box3TopData.logo ? box3TopData.logo : DefaultIcon2" alt="" />
</div>
<div class="right">
<div class="name">{{ box3TopData.name }}</div>
<div class="name">{{ box3TopData.name + " >" }}</div>
<div class="ename">{{ box3TopData.eName }}</div>
</div>
<!-- <div class="more">
......@@ -148,23 +148,21 @@
</div> -->
</div>
<div class="box3-top-bottom">
<div class="box3-top-right-main">
<div class="main-item">
<div class="item-icon"></div>
<div class="item-left">{{ "成立时间:" }}</div>
<div class="item-right">{{ box3TopData.clsj }}</div>
<div class="box3-top-bottom-header">
<div class="icon">
<img src="./assets/images/box3-icon1.png" alt="" />
</div>
<div class="main-item">
<div class="item-icon"></div>
<div class="item-left">{{ "总部地址:" }}</div>
<div class="item-right">
{{ box3TopData.zbdz }}
<div class="text">{{ "关键人物" }}</div>
</div>
<div class="box3-top-bottom-main">
<div class="box3-top-bottom-item" v-for="(item, index) in box3TopBottomData" :key="index">
<div class="box3-top-bottom-item-left">
<img :src="item.image ? item.image : DefaultIcon1" alt="" />
</div>
<div class="box3-top-bottom-item-right">
<div class="name">{{ item.name }}</div>
<div class="position">{{ item.position }}</div>
</div>
<div class="main-item">
<div class="item-icon"></div>
<div class="item-left">{{ "部长:" }}</div>
<div class="item-right">{{ box3TopData.bz }}</div>
</div>
</div>
</div>
......@@ -190,9 +188,6 @@
</el-timeline-item>
</el-timeline>
</div>
<!-- <div class="box3-bottom-footer">
<img src="./assets/images/more-icon.png" alt="" />
</div> -->
</div>
</div>
</div>
......@@ -322,6 +317,39 @@ const box3TopData = ref({
bz: ""
});
const box3TopBottomData = ref([
{
image: "",
name: "杰弗里·凯斯勒",
position: "副秘书"
},
{
image: "",
name: "杰弗里·凯斯勒",
position: "副秘书"
},
{
image: "",
name: "杰弗里·凯斯勒",
position: "副秘书"
},
{
image: "",
name: "杰弗里·凯斯勒",
position: "副秘书"
},
{
image: "",
name: "杰弗里·凯斯勒",
position: "副秘书"
},
{
image: "",
name: "杰弗里·凯斯勒",
position: "副秘书"
}
]);
// 跳转行政机构主页
const handleToInstitution = item => {
const curRoute = router.resolve({
......@@ -443,7 +471,7 @@ onMounted(() => {
flex-wrap: wrap;
gap: 5px 8px;
white-space: nowrap;
overflow:hidden;
overflow: hidden;
overflow-y: auto;
padding-right: 5px;
.btn {
......@@ -634,8 +662,8 @@ onMounted(() => {
box-shadow: 0px 0px 15px 0px rgba(60, 87, 126, 0.2);
background: rgba(255, 255, 255, 1);
.box3-top {
margin-top: 30px;
height: 241px;
margin-top: 2px;
// height: 241px;
border-bottom: 1px solid rgba(234, 236, 238, 1);
.box3-top-top {
width: 473px;
......@@ -704,36 +732,90 @@ onMounted(() => {
}
}
.box3-top-bottom {
margin-left: 50px;
.box3-top-right-main {
height: 150px;
width: 473px;
height: 193px;
margin: 0 auto;
.box3-top-bottom-header {
height: 40px;
display: flex;
padding-top: 14px;
box-sizing: border-box;
gap: 12px;
.icon {
margin-top: 5px;
width: 14px;
height: 14px;
img {
width: 100%;
height: 100%;
}
}
.text {
width: 100px;
height: 24px;
color: rgba(59, 65, 75, 1);
font-family: Microsoft YaHei;
font-style: Bold;
font-size: 16px;
font-weight: 700;
line-height: 24px;
letter-spacing: 1px;
text-align: left;
}
}
.box3-top-bottom-main {
margin-top: 2px;
height: 130px;
overflow: hidden;
overflow-y: auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
.box3-top-bottom-item {
margin-top: 17px;
height: 48px;
width: 200px;
display: flex;
justify-content: flex-start;
.box3-top-bottom-item-left {
width: 48px;
height: 48px;
img {
width: 100%;
height: 100%;
}
}
.box3-top-bottom-item-right {
margin-left: 8px;
width: 144px;
.name {
width: 144px;
height: 24px;
color: rgba(59, 65, 75, 1);
font-family: Microsoft YaHei;
font-style: Bold;
font-size: 16px;
font-weight: 400;
font-weight: 700;
line-height: 24px;
margin-top: 4px;
.main-item {
display: flex;
margin-top: 12px;
// height: 26px;
line-height: 26px;
.item-icon {
width: 4px;
height: 4px;
border-radius: 2px;
background: #3b414b;
margin-top: 11px;
margin-right: 19px;
letter-spacing: 0px;
text-align: left;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.item-left {
.position {
margin-top: 1px;
width: 144px;
height: 24px;
width: 80px;
color: rgba(95, 101, 108, 1);
font-family: Microsoft YaHei;
font-style: Regular;
font-size: 16px;
font-weight: 400;
line-height: 24px;
letter-spacing: 0px;
text-align: left;
}
.item-right {
width: 291px;
}
}
}
......@@ -770,16 +852,6 @@ onMounted(() => {
overflow: hidden;
overflow-y: auto;
}
// .box3-bottom-footer {
// width: 108px;
// height: 32px;
// margin: 5px auto;
// cursor: pointer;
// img {
// width: 100%;
// height: 100%;
// }
// }
}
}
}
......
......@@ -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,7 +22,7 @@
: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>
......@@ -40,15 +38,15 @@
</template>
<script setup>
import { ref } from 'vue'
import { ref } 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";
......@@ -58,15 +56,14 @@ import icon2Active from "../assets/icons/icon2_active.png";
import icon3 from "../assets/icons/icon3.png";
import icon3Active from "../assets/icons/icon3_active.png";
const headerTitle = ref({
img: title,
title: "实体清单",
titleEn: "Entity List",
department: "美国商务部工业与安全局"
})
});
const activeIndex = ref(0)
const activeIndex = ref(0);
const headerNavList = ref([
{
......@@ -83,28 +80,25 @@ const headerNavList = ref([
img: icon2,
imgActive: icon2Active,
title: "深度挖掘"
},
}
// {
// img: icon3,
// imgActive: icon3Active,
// title: "影响分析"
// }
])
]);
</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;
......@@ -113,7 +107,7 @@ const headerNavList = ref([
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);
......@@ -217,11 +211,11 @@ const headerNavList = ref([
}
}
}
.main{
.main {
width: 100%;
height: auto;
min-height: calc(100% - 148px);
background-color: #F7F8F9;
background-color: #f7f8f9;
}
}
</style>
......@@ -9,14 +9,12 @@
<div class="en-title">
{{ thinkInfo.ename }}
</div>
<div style="display: flex;">
<div style="display: flex">
<div class="tag-box" v-for="value in thinkInfo.tags">
<div class="tag">{{ value.industryName }}</div>
</div>
</div>
</div>
</div>
<div class="header-top-right">
<div class="name">{{ thinkInfo.thinkTankName }}</div>
......@@ -78,26 +76,22 @@
<script setup>
import { ref, onMounted } from "vue";
import ReportAnalysis from './reportAnalysis/index.vue'
import PolicyTracking from './policyTracking/index.vue'
import {
getThinkTankReportSummary
} from "@/api/thinkTank/overview";
import ReportAnalysis from "./reportAnalysis/index.vue";
import PolicyTracking from "./policyTracking/index.vue";
import { getThinkTankReportSummary } from "@/api/thinkTank/overview";
import { useRouter } from "vue-router";
const router = useRouter();
const reportUrl = ref('')
const thinkInfo = ref({})
const reportUrl = ref("");
const thinkInfo = ref({});
// 获取报告全局信息
const handleGetThinkTankReportSummary = async () => {
try {
const res = await getThinkTankReportSummary(router.currentRoute._value.params.id);
console.log("报告全局信息", res);
if (res.code === 200 && res.data) {
reportUrl.value = res.data.reportUrl
thinkInfo.value = res.data
reportUrl.value = res.data.reportUrl;
thinkInfo.value = res.data;
}
} catch (error) {
console.error("获取报告全局信息error", error);
......@@ -105,7 +99,7 @@ const handleGetThinkTankReportSummary = async () => {
};
const toReport = () => {
console.log(reportUrl.value, 'reportUrl.valuereportUrl.value')
console.log(reportUrl.value, "reportUrl.valuereportUrl.value");
const route = router.resolve({
name: "ReportOriginal",
params: {
......@@ -113,22 +107,23 @@ const toReport = () => {
}
});
window.open(route.href, "_blank");
}
};
const tabActiveName = ref("报告分析");
const switchTab = name => {
tabActiveName.value = name;
};
onMounted(async () => {
handleGetThinkTankReportSummary()
handleGetThinkTankReportSummary();
});
</script>
<style lang="scss" scoped>
.wrap {
width: 1920px;
// height: 984px;
width: 100%;
height: 100%;
overflow: hidden;
overflow-y: auto;
.header {
width: 1920px;
......@@ -138,7 +133,9 @@ onMounted(async () => {
border-top: 1px solid rgba(234, 236, 238, 1);
box-shadow: 0px 0px 20px 0px rgba(25, 69, 130, 0.1);
background: rgba(255, 255, 255, 1);
position: sticky;
top: 0;
z-index: 99999999;
.header-top {
margin-top: 20px;
margin-left: 160px;
......
......@@ -149,7 +149,7 @@
</div>
</div>
<div>
<div class="more" @click="toDetaile(item.reportId)">
<div class="more" @click="toDetail(item)">
<img src="@/assets/icons/open.png" alt="" />
</div>
</div>
......@@ -547,12 +547,12 @@ function getDateMonthsAgo(months) {
return `${year}-${month}-${day}`;
}
const toDetaile = (id) => {
const toDetail = (item) => {
window.sessionStorage.setItem("curTabName", item.content)
const route = router.resolve({
name: "ReportDetail",
params: {
id: id
id: item.reportId
}
});
window.open(route.href, "_blank");
......
......@@ -14,8 +14,7 @@
{{ thinkTank.describe }}
</div>
<div class="center-footer">
<div class="tag" v-for="tag,index in thinkTank.tags" :key="index">{{ tag.industryName }}</div>
<div class="tag" v-for="(tag, index) in thinkTank.tags" :key="index">{{ tag.industryName }}</div>
</div>
</div>
<!-- <div class="header-top-right">{{ '查看智库官网' }}</div> -->
......@@ -55,12 +54,10 @@
<script setup>
import { ref, reactive, computed, onMounted } from "vue";
import ThinkDaynamics from "./thinkDynamics/index.vue"
import ThinkDaynamics from "./thinkDynamics/index.vue";
import PolicyTracking from "./PolicyTracking/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";
const router = useRouter();
......@@ -69,17 +66,17 @@ const switchTab = name => {
tabActiveName.value = name;
};
const thinkTank = ref({})
const thinkTank = ref({});
// 获取智库基本信息
const handleGetThinkTankSummary = async () => {
try {
const parmas = {
id: router.currentRoute._value.params.id
}
};
const res = await getThinkTankSummary(parmas);
console.log("智库信息", res);
if (res.code === 200 && res.data) {
thinkTank.value = res.data
thinkTank.value = res.data;
}
} catch (error) {
console.error("获取智库列表error", error);
......@@ -87,15 +84,16 @@ const handleGetThinkTankSummary = async () => {
};
onMounted(async () => {
handleGetThinkTankSummary()
handleGetThinkTankSummary();
});
</script>
<style lang="scss" scoped>
.wrap {
width: 1920px;
height: 984px;
width: 100%;
height: 100%;
overflow: hidden;
overflow-y: auto;
.header {
width: 1920px;
height: 188px;
......@@ -106,7 +104,9 @@ onMounted(async () => {
box-shadow: 0px 0px 20px 0px rgba(25, 69, 130, 0.1);
background: rgba(255, 255, 255, 1);
position: relative;
position: sticky;
top: 0;
z-index: 99999999;
.header-top {
margin-top: 24px;
display: flex;
......@@ -114,7 +114,7 @@ onMounted(async () => {
.header-top-left {
width: 88px;
height: 88px;
img{
img {
width: 100%;
height: 100%;
}
......
......@@ -154,7 +154,7 @@
<div class="box3-main-left" id="box3Chart"></div>
<div class="box3-main-right">
<div class="box3-right-item" v-for="(item, index) in box3RightData" :key="index">
<div class="icon" @click="handleClickPerson">
<div class="icon" @click="handleClickPerson(item)">
<img :src="item.imageUrl?item.imageUrl:DefaultIcon1" alt="" />
</div>
<div class="info">
......@@ -480,7 +480,9 @@ const handleGetThinkPerson = async () => {
};
// 点击人物头像,跳转到人物主页
const handleClickPerson = () => {
const handleClickPerson = (item) => {
console.log('item',item);
window.sessionStorage.setItem("curTabName", item.name)
const route = router.resolve({
path: "/characterPage",
query: {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论