提交 18e60f50 authored 作者: 付康's avatar 付康

合并分支 'zy-dev' 到 'master'

Zy dev 查看合并请求 !173
......@@ -321,6 +321,13 @@ body {
.el-popper[data-popper-placement^="top"] > .el-popper__arrow:before {
display: none;
}
/* 单行文本溢出隐藏显示省略号 */
.one-line-ellipsis {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
</style>
<style lang="scss" scoped>
......
......@@ -12,6 +12,18 @@ export function getDecreeBackground(params) {
})
}
// 前序政令
/**
* @param {id}
*/
export function getDecreePrev(params) {
return request({
method: 'GET',
url: `/api/administrativeOrderInfo/prev/${params.id}`,
params
})
}
// 相关事件
/**
* @param { id }
......@@ -35,3 +47,27 @@ export function getDecreeDepend(params) {
params
})
}
// 主要指令
/**
* @param { id }
*/
export function getDecreeMainContent(params) {
return request({
method: 'GET',
url: `/api/administrativeOrderInfo/mainContent/${params.id}`,
params
})
}
// 相关实体
/**
* @param { id }
*/
export function getDecreeRelatedEntity(params) {
return request({
method: 'GET',
url: `/api/administrativeOrderInfo/relatedEntity/${params.id}`,
params
})
}
\ No newline at end of file
import request from "@/api/request.js";
// 获取相关政令
/**
* @param { id }
*/
export function getDecreeRelatedOrder(params) {
return request({
method: 'GET',
url: `/api/administrativeOrderInfo/relatedOrder/${params.id}`,
params
})
}
// 根据政令ID获取领域公司信息
/**
* @param {cRelated, id}
......
......@@ -60,16 +60,17 @@ export function getDecreeSummary(params) {
})
}
// 获取报告原文
// 获取风险信号
/**
* @param {id}
*/
// export function getDecreeReport(params) {
// return request({
// method: 'GET',
// url: `/api/administrativeOrderInfo/contentUrl/${params.id}`,
// })
// }
export function getDecreeRiskSignal(params) {
return request({
method: 'GET',
url: `/api/administrativeOrderInfo/riskSignal/${params.id}`,
params
})
}
export function getDecreeReport(params) {
return request({
......
......@@ -2,7 +2,10 @@
<div class="analysis-box-wrapper" :style="{ width: width ? width : '100%', height: height ? height : '100%' }">
<div class="wrapper-header">
<div class="header-icon"></div>
<div class="header-title">{{ title }}</div>
<div class="header-title">
<div v-if="title">{{ title }}</div>
<slot v-else name="custom-title"></slot>
</div>
<div class="header-btn" v-if="!showAllBtn">
<slot name="header-btn"></slot>
</div>
......@@ -98,54 +101,51 @@ const emit = defineEmits(['save', 'download', 'collect'])
.wrapper-header {
height: 45px;
display: flex;
padding-right: 14px;
align-items: center;
box-sizing: border-box;
position: relative;
.header-icon {
margin-top: 18px;
width: 8px;
height: 20px;
background: var(--color-main-active);
border-radius: 0 4px 4px 0;
margin-right: 14px;
}
.header-title {
margin-left: 14px;
margin-top: 14px;
height: 26px;
flex: auto;
width: 20px;
// color: var(--color-main-active);
// font-family: Source Han Sans CN;
// font-size: 20px;
// font-weight: 700;
// line-height: 26px;
// letter-spacing: 0px;
height: 26px;
height: 100%;
&>div {
height: 100%;
color: var(--color-main-active);
font-family: Microsoft YaHei;
font-size: 20px;
line-height: 45px;
font-weight: 700;
line-height: 26px;
}
}
.header-btn {
position: absolute;
top: 14px;
right: 84px;
// .header-btn {
// display: flex;
// justify-content: flex-end;
// gap: 8px;
}
// }
.header-btn1 {
position: absolute;
top: 14px;
right: 116px;
}
// .header-btn1 {
// position: absolute;
// top: 14px;
// right: 116px;
// }
.header-right {
position: absolute;
top: 14px;
right: 14px;
height: 28px;
display: flex;
justify-content: flex-end;
......
......@@ -4,6 +4,7 @@ const DecreeLayoutContainer = () => import('@/views/decree/decreeLayout/index.vu
const DecreeOverviewLayout = () => import('@/views/decree/decreeLayout/overview/index.vue')
const DecreeIntroduction = () => import('@/views/decree/decreeLayout/overview/introduction/index.vue')
const DecreeBackground = () => import('@/views/decree/decreeLayout/overview/background/index.vue')
const DecreeMeasures = () => import('@/views/decree/decreeLayout/overview/measures/index.vue')
const DecreeDeepDig = () => import('@/views/decree/decreeLayout/deepdig/index.vue')
const DecreeInfluence = () => import('@/views/decree/decreeLayout/influence/index.vue')
const Institution = () => import('@/views/decree/institution/index.vue')
......@@ -50,7 +51,13 @@ const decreeRoutes = [
name: "DecreeBackground",
component: DecreeBackground,
// meta: { title: "政令背景" }
}
},
{
path: "measures",
name: "DecreeMeasures",
component: DecreeMeasures,
// meta: { title: "政令举措" }
},
]
},
// 深度挖掘路由
......
......@@ -19,14 +19,11 @@
<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 item2" v-if="summaryInfo.orgName">
{{ summaryInfo.orgName + " | " }}
</div>
<div class="info-box2-item item3" v-if="summaryInfo.ename">{{ summaryInfo.ename }}</div>
<div class="info-box2-item item1">{{ summaryInfo.postDate }}</div>
|
<div class="info-box2-item item2">{{ summaryInfo.orgName }}</div>
|
<div class="info-box2-item item3">{{ summaryInfo.ename }}</div>
</div>
</div>
</div>
......@@ -60,6 +57,12 @@
</div>
<div class="text">{{ "政令原文" }}</div>
</div>
<!-- <div class="btn" @click="handleToInstitution">
<div class="icon">
<img src="./assets/icons/link-icon.png" alt="" />
</div>
<div class="text">{{ "查看官网" }}</div>
</div> -->
<div class="btn-active" @click="handleAnalysisClick">
<div class="icon-active">
<img src="./assets/icons/edit-icon.png" alt="" />
......@@ -77,7 +80,7 @@
<router-view />
</div>
</div>
<div class="layout-report-box" v-if="activeName === '法案原文'">
<!-- <div class="layout-report-box" v-if="activeName === '法案原文'">
<div class="report-close" @click="handleSwitchActiveName('分析报告')">
<img src="./assets/images/report-close-icon.png" alt="" />
</div>
......@@ -127,8 +130,8 @@
</div>
</div>
</div>
</div>
<div class="report" v-if="isShowReport">
</div> -->
<!-- <div class="report" v-if="isShowReport">
<div class="report-close" @click="handleCloseReport">
<img src="@/assets/icons/close.png" alt="" />
</div>
......@@ -145,7 +148,7 @@
<iframe v-else :src="reportUrlEn" style="border: none" width="100%" height="100%"> </iframe>
</div>
</div>
</div>
</div> -->
</div>
</template>
......@@ -170,30 +173,22 @@ const route = useRoute();
const decreeId = ref(route.query.id);
const isShowReport = ref(false);
const reportUrl = ref("");
const reportUrlEn = ref("");
const activeName = ref("分析报告");
const summaryInfo = ref({});
const handleSwitchActiveName = name => {
activeName.value = name;
};
const curBill = ref("公法(2025年7月4日)");
// const activeName = ref("分析报告");
// const handleSwitchActiveName = name => {
// activeName.value = name;
// };
const billList = ref([
{
label: "公法(2025年7月4日)",
value: "公法(2025年7月4日)"
},
{
label: "公法(2025年7月2日)",
value: "公法(2025年7月2日)"
}
]);
// const curBill = ref("公法(2025年7月4日)");
// const billList = ref([
// {
// label: "公法(2025年7月4日)",
// value: "公法(2025年7月4日)"
// },
// {
// label: "公法(2025年7月2日)",
// value: "公法(2025年7月2日)"
// }
// ]);
const mainHeaderBtnList = ref([
{
......@@ -207,17 +202,16 @@ const mainHeaderBtnList = ref([
activeIcon: icon2Active,
name: "深度挖掘",
path: "/decreeLayout/deepDig"
}
},
// {
// icon: icon3,
// activeIcon: icon3Active,
// name: "影响分析",
// path: "/decreeLayout/influence"
// }
// },
]);
const activeTitle = ref("政令概况");
const handleClickMainHeaderBtn = item => {
activeTitle.value = item.name;
router.push({
......@@ -229,12 +223,10 @@ const handleClickMainHeaderBtn = item => {
};
// 获取全局信息
const summaryInfo = ref({});
const handleGetSummary = async () => {
const params = {
id: route.query.id
};
try {
const res = await getDecreeSummary(params);
const res = await getDecreeSummary({id: route.query.id});
console.log("全局信息", res);
if (res.code === 200 && res.data) {
summaryInfo.value = res.data;
......@@ -243,24 +235,24 @@ const handleGetSummary = async () => {
};
// 获取报告原文
const handleGetReport = async () => {
const params = {
id: route.query.id
};
// const reportUrl = ref("");
// const reportUrlEn = ref("");
// const handleGetReport = async () => {
// try {
// const res = await getDecreeReport({id: route.query.id});
// console.log("报告原文", res);
// if (res.code === 200 && res.data) {
// reportUrl.value = res.data.content;
// reportUrlEn.value = res.data.contentEn;
// }
// } catch (error) {}
// };
try {
const res = await getDecreeReport(params);
console.log("报告原文", res);
if (res.code === 200 && res.data) {
reportUrl.value = res.data.content;
reportUrlEn.value = res.data.contentEn;
}
} catch (error) {}
};
// const isShowReport = ref(false);
// const handleCloseReport = () => {
// isShowReport.value = false;
// };
const handleCloseReport = () => {
isShowReport.value = false;
};
const handleShowReport = () => {
const curRoute = router.resolve({
path: "/decree/decreeOriginal",
......@@ -271,6 +263,16 @@ const handleShowReport = () => {
window.open(curRoute.href, "_blank");
};
const handleToInstitution = () => {
// const curRoute = router.resolve({
// path: "/institution",
// query: {
// id: route.query.id
// }
// });
// window.open(curRoute.href, "_blank");
};
const handleAnalysisClick = () => {
router.push({
path: "/writtingAsstaint",
......@@ -284,14 +286,14 @@ const handleAnalysisClick = () => {
onMounted(() => {
handleGetSummary();
console.log(route.path);
if (route.path === "/decreeLayout/overview/introduction" || route.path === "/decreeLayout/overview/background") {
if (route.path === "/decreeLayout/overview/introduction" || route.path === "/decreeLayout/overview/background" || route.path === "/decreeLayout/overview/measures") {
activeTitle.value = "政令概况";
} else if (route.path === "/decreeLayout/deepDig") {
activeTitle.value = "深度挖掘";
} else {
} else if (route.path === "/decreeLayout/influence") {
activeTitle.value = "影响分析";
}
handleGetReport();
// handleGetReport();
});
</script>
......@@ -370,11 +372,10 @@ onMounted(() => {
}
.layout-main {
width: 100%;
overflow-y: auto;
height: 100%;
display: flex;
flex-direction: column;
.header-main {
position: sticky;
top: 0;
z-index: 1000;
width: 100%;
background-color: #fff;
box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.05);
......@@ -447,18 +448,6 @@ onMounted(() => {
.info-box2-item {
padding: 0 10px;
}
.item1 {
max-width: 100px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.item2 {
max-width: 180px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.item3 {
max-width: 420px;
overflow: hidden;
......@@ -509,7 +498,7 @@ onMounted(() => {
}
}
.layout-main-header-right-box {
width: 300px;
width: 450px;
margin-top: 19px;
.right-box-top {
.time {
......@@ -609,6 +598,9 @@ onMounted(() => {
}
}
.layout-main-center {
height: 20px;
flex: auto;
background-color: #f7f8f9;
}
}
.layout-report-box {
......
差异被折叠。
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论