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

update

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