提交 7d4aa2d3 authored 作者: 张烨's avatar 张烨

fix:优化小问题

上级 672ee8d7
import request from "@/api/request.js";
// 最新科技政令
export function getDepartmentList() {
export function getDepartmentList(params) {
return request({
method: 'GET',
url: `/api/administrativeDict/department`,
url: `/api/administrativeDict/department?pageSize`,
})
}
......
......@@ -18,7 +18,7 @@ const decreeRoutes = [
name: "Decree",
component: Decree,
meta: {
title: "政令概览"
title: "科技政令概况"
}
},
{
......
......@@ -8,22 +8,16 @@
<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-else :src="USALogo" alt="" />
<img :src="summaryInfo.imageUrl || USALogo" alt="" />
</div>
<div class="info">
<div class="info-box1">{{ summaryInfo.name }}</div>
<div class="info-box1 one-line-ellipsis">{{ summaryInfo.name || "--" }}</div>
<div class="info-box2">
<div class="info-box2-item item1">{{ summaryInfo.postDate }}</div>
<div class="info-box2-item">{{ summaryInfo.postDate || "--" }}</div>
|
<div class="info-box2-item item2">{{ summaryInfo.orgName }}</div>
<div class="info-box2-item">{{ summaryInfo.orgName || "--" }}</div>
|
<div class="info-box2-item item3">{{ summaryInfo.ename }}</div>
<div class="info-box2-item one-line-ellipsis">{{ summaryInfo.ename || "--" }}</div>
</div>
</div>
</div>
......@@ -47,8 +41,8 @@
</div>
<div class="layout-main-header-right-box">
<div class="right-box-top">
<div class="time">{{ summaryInfo.postDate }}</div>
<div class="name">{{ summaryInfo.orgName }}</div>
<div class="time">{{ summaryInfo.postDate || "--" }}</div>
<div class="name">{{ summaryInfo.orgName || "--" }}</div>
</div>
<div class="right-box-bottom">
<div class="btn" @click="handleShowReport">
......@@ -377,9 +371,9 @@ onMounted(() => {
flex-direction: column;
.header-main {
width: 100%;
background-color: #fff;
box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.05);
overflow: hidden;
border-bottom: 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);
}
.layout-main-header {
width: 1600px;
......@@ -396,30 +390,32 @@ onMounted(() => {
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center;
}
.layout-main-header-left-box {
width: 1100px;
margin-top: 13px;
width: 20px;
flex: auto;
margin-top: 12px;
.left-box-top {
height: 64px;
display: flex;
align-items: center;
.icon {
width: 64px;
height: 64px;
border-radius: 4px;
height: 40px;
overflow: hidden;
img {
width: 100%;
height: 100%;
object-fit: fill;
}
}
.info {
width: 700px;
margin-left: 9px;
margin-left: 10px;
margin-right: 40px;
width: 20px;
flex: auto;
.info-box1 {
width: 700px;
width: 100%;
color: rgba(59, 65, 75, 1);
font-family: Microsoft YaHei;
font-size: 20px;
......@@ -428,9 +424,6 @@ onMounted(() => {
letter-spacing: 0px;
text-align: left;
margin-top: 5px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.info-box2 {
margin-top: 5px;
......@@ -444,15 +437,13 @@ onMounted(() => {
letter-spacing: 0px;
text-align: left;
display: flex;
margin-left: -10px;
.info-box2-item {
white-space: nowrap;
padding: 0 10px;
}
.item3 {
max-width: 420px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
.info-box2-item:first-child {
padding-left: 0px;
}
}
}
......@@ -498,9 +489,9 @@ onMounted(() => {
}
}
.layout-main-header-right-box {
width: 450px;
margin-top: 19px;
.right-box-top {
white-space: nowrap;
padding-top: 11px;
.time {
height: 24px;
line-height: 24px;
......@@ -710,49 +701,5 @@ onMounted(() => {
}
}
}
// .tool-box {
// position: fixed;
// z-index: 10000;
// bottom: 80px;
// left: 0;
// width: 48px;
// height: 144px;
// border-radius: 0px 10px 10px 0px;
// box-shadow: 0px 0px 15px 0px rgba(22, 119, 255, 0.1);
// background: rgba(255, 255, 255, 1);
// .tool1 {
// width: 17px;
// height: 18px;
// margin-top: 17px;
// margin-left: 16px;
// cursor: pointer;
// img {
// width: 100%;
// height: 100%;
// }
// }
// .tool2 {
// width: 22px;
// height: 20px;
// margin-top: 26px;
// margin-left: 14px;
// cursor: pointer;
// img {
// width: 100%;
// height: 100%;
// }
// }
// .tool3 {
// width: 20px;
// height: 20px;
// margin-top: 25px;
// margin-left: 15px;
// cursor: pointer;
// img {
// width: 100%;
// height: 100%;
// }
// }
// }
}
</style>
\ No newline at end of file
......@@ -112,7 +112,7 @@
<script setup name="ChartChain">
import { ref, onMounted } from "vue";
import defaultIcon2 from "@/assets/icons/default-icon2.png";
import noticeIcon from "./assets/images/notice-icon.png";
import noticeIcon from "../assets/images/notice-icon.png";
import { getDeepMiningSelect, getDeepMiningIndustry, getDeepMiningIndustryFishbone, getDeepMiningIndustryEntity } from "@/api/exportControlV2.0";
// 缩放功能处理
......
......@@ -37,14 +37,15 @@
<div class="box2-main">
<div class="custom-collapse">
<el-collapse v-model="dependActive">
<el-collapse-item v-for="(item, index) in dependList" :key="item.billId" title="Consistency" :name="item.billId">
<el-collapse-item v-for="(item, index) in dependList" :key="item.billId" :name="item.billId">
<template #icon>
<el-icon><ArrowDownBold /></el-icon>
<el-icon v-if="dependActive.includes(item.billId)"><ArrowDownBold /></el-icon>
<el-icon v-else><ArrowUpBold /></el-icon>
</template>
<template #title>
<div class="custom-collapse-title">
<div class="custom-collapse-index">{{ index + 1 }}</div>
<div class="custom-collapse-name one-line-ellipsis">{{ item.title }}</div>
<div class="custom-collapse-name one-line-ellipsis" @click.stop="handleClickDecree(item)">{{ item.title }}</div>
</div>
</template>
<div class="custom-collapse-content">
......@@ -192,6 +193,20 @@ const handleGetLaws = async () => {
console.error("获取法律依据数据失败", error);
}
};
// 跳转科技法案详情页
const handleClickDecree = decree => {
window.sessionStorage.setItem("billId", decree.billId);
window.sessionStorage.setItem("curTabName", decree.title);
const route = router.resolve({
path: "/billLayout",
query: {
billId: decree.billId
}
});
console.log(route);
window.open(route.href, "_blank");
};
onMounted(() => {
handleGetBackground();
......@@ -261,29 +276,31 @@ onMounted(() => {
background: rgba(255, 255, 255, 1);
display: flex;
align-items: center;
padding: 12px 0;
padding: 18px 0;
.id {
margin-right: 16px;
margin-left: 15px;
width: 24px;
height: 24px;
text-align: center;
line-height: 30px;
border-radius: 12px;
background: #e7f3ff;
color: #0a57a6;
font-size: 15px;
line-height: 24px;
border-radius: 50%;
}
.title {
width: 914px;
line-height: 24px;
margin-left: 13px;
width: 20px;
flex: auto;
line-height: 30px;
}
.open {
width: 16px;
height: 16px;
margin-left: 16px;
margin: 0 16px;
img {
width: 100%;
......@@ -332,7 +349,8 @@ onMounted(() => {
.custom-collapse-title {
position: relative;
.custom-collapse-index {
font-size: 15px;
font-family: Microsoft YaHei;
font-size: var(--font-size-base);
position: absolute;
top: 12px;
left: -32px;
......@@ -345,6 +363,7 @@ onMounted(() => {
color: #0a57a6;
}
.custom-collapse-name {
cursor: pointer;
font-weight: 600;
font-size: 18px;
color: var(--el-collapse-header-text-color);
......
......@@ -37,9 +37,6 @@
<div class="item">
<div class="item-left">{{ "相关领域:" }}</div>
<div class="item-right tag-box">
<!-- <div class="tag" v-for="(area, index) in basicInfo.areaList" :key="index">
{{ area.industryName }}
</div> -->
<AreaTag v-for="(area, index) in basicInfo.areaList" :key="index" :tagName="area.industryName"></AreaTag>
</div>
</div>
......@@ -336,22 +333,20 @@ onMounted(() => {
.box1-main {
display: flex;
padding: 0 24px;
.box1-main-left {
width: 395px;
height: 332px;
margin-left: 24px;
img {
width: 100%;
// height: 100%;
}
}
.box1-main-left-img-mock {
width: 240px;
height: 332px;
margin-left: 24px;
background-color: #0b1932;
display: flex;
align-items: center;
......@@ -378,7 +373,8 @@ onMounted(() => {
}
.box1-main-right {
width: 590px;
width: 20px;
flex: auto;
margin-left: 20px;
color: rgba(59, 65, 75, 1);
font-family: Microsoft YaHei;
......@@ -387,24 +383,22 @@ onMounted(() => {
line-height: 24px;
.item {
height: 30px;
display: flex;
margin-bottom: 17px;
margin-bottom: 22px;
.item-left {
width: 100px;
}
.item-right {
width: 470px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
width: 20px;
flex: auto;
}
.tag-box {
display: flex;
gap: 8px;
flex-wrap: wrap;
.tag {
height: 24px;
......@@ -423,6 +417,9 @@ onMounted(() => {
}
.text {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-weight: normal !important;
}
}
......
......@@ -387,7 +387,7 @@ onMounted(() => {
.section-title {
font-size: 18px;
line-height: 30px;
font-weight: 600;
// font-weight: 600;
letter-spacing: 1px;
width: 20px;
flex: auto;
......
......@@ -2,25 +2,25 @@
<div class="layout-container">
<!-- 导航菜单 -->
<div class="layout-main">
<div class="layout-main-box">
<div class="header-main">
<div class="layout-main-header">
<div class="icon">
<img :src="summaryInfo.imageUrl" alt="" />
</div>
<div class="info">
<div class="info-box1 one-line-ellipsis">{{ summaryInfo.name }}</div>
<div class="info-box1 one-line-ellipsis">{{ summaryInfo.name || "--" }}</div>
<div class="info-box2">
<div class="info-box2-item">{{ summaryInfo.postDate }}</div>
<div class="info-box2-item">{{ summaryInfo.postDate || "--" }}</div>
|
<div class="info-box2-item">{{ summaryInfo.orgName }}</div>
<div class="info-box2-item">{{ summaryInfo.orgName || "--" }}</div>
|
<div class="info-box2-item one-line-ellipsis">{{ summaryInfo.ename }}</div>
<div class="info-box2-item one-line-ellipsis">{{ summaryInfo.ename || "--" }}</div>
</div>
</div>
<div class="layout-main-header-right-box">
<div class="right-box-top">
<div class="time">{{ summaryInfo.postDate }}</div>
<div class="name">{{ summaryInfo.orgName }}</div>
<div class="time">{{ summaryInfo.postDate || "--" }}</div>
<div class="name">{{ summaryInfo.orgName || "--" }}</div>
</div>
</div>
</div>
......@@ -28,16 +28,20 @@
<div class="layout-main-center">
<div class="report-header">
<div class="report-title">政令原文</div>
<!-- <el-switch v-model="isHighlight" />
<div style="margin-left: 6px; margin-right: 10px;">高亮实体</div> -->
<el-switch v-model="isHighlight" />
<div style="margin-left: 6px; margin-right: 10px;">高亮实体</div>
<el-switch v-model="isTranslate" />
<div style="margin-left: 6px;">原文显示</div>
<!-- <div class="btn" @click="handleDownload">
<el-icon><Document /></el-icon>
<div class="btn" @click="handleDownload">
<div class="icon" style="margin-right: 4px;">
<img :src="download" alt="">
</div>
<div class="text">下载</div>
</div> -->
</div>
<div class="btn" @click="handleFindWord('open')">
<el-icon><Search /></el-icon>
<div class="icon" style="margin-right: 6px;">
<img :src="search" alt="">
</div>
<div class="text">查找</div>
</div>
<div class="find-word-box" v-if="findWordBox">
......@@ -79,6 +83,8 @@ import { ElMessage } from "element-plus";
import { debounce } from "lodash";
import { getDecreeSummary } from "@/api/decree/introduction";
import { getDecreeReport } from "@/api/decree/introduction";
import download from "./assets/icons/download.png";
import search from "./assets/icons/search.png";
const route = useRoute();
......@@ -178,7 +184,10 @@ const handleUpdateWord = debounce(() => {
}
});
if (findWordMax.value > 0) {
nextTick(() => { handleFindWord('next') })
nextTick(() => {
findWordNum.value = findWordNum.value==findWordMax.value ? 1 : findWordNum.value+1;
handleHighlight()
})
}
} else {
originData.forEach((item, index) => {
......@@ -257,11 +266,10 @@ onMounted(() => {
display: flex;
flex-direction: column;
align-items: center;
.layout-main-box {
padding: 16px 0;
.header-main {
padding: 17px 0;
width: 100%;
border-bottom: 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);
background: rgba(255, 255, 255, 1);
}
......@@ -412,7 +420,6 @@ onMounted(() => {
background: rgba(255, 255, 255, 1);
display: flex;
justify-content: center;
gap: 8px;
align-items: center;
cursor: pointer;
.text {
......@@ -426,6 +433,15 @@ onMounted(() => {
letter-spacing: 0px;
text-align: left;
}
.icon {
width: 16px;
height: 16px;
font-size: 0px;
img {
width: 100%;
height: 100%;
}
}
}
}
......
......@@ -53,7 +53,7 @@ export default defineConfig({
'/api': {
target: 'http://8.140.26.4:9085/',
// target: 'http://192.168.0.5:28080/',
// target: 'http://172.20.10.3:28080/',
changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, '')
},
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论