Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
R
risk-monitor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
蔡建
risk-monitor
Commits
bfb03421
提交
bfb03421
authored
12月 31, 2025
作者:
coderBryanFu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update
上级
a2418c4e
显示空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
146 行增加
和
155 行删除
+146
-155
index.vue
src/views/bill/background/index.vue
+84
-124
index.vue
src/views/decree/decreeLayout/deepdig/index.vue
+20
-9
index.vue
src/views/decree/decreeLayout/index.vue
+5
-3
index.vue
src/views/decree/decreeLayout/influence/index.vue
+0
-1
index.vue
...views/decree/decreeLayout/overview/introduction/index.vue
+37
-18
没有找到文件。
src/views/bill/background/index.vue
浏览文件 @
bfb03421
...
@@ -7,15 +7,11 @@
...
@@ -7,15 +7,11 @@
<div
class=
"title"
>
立法背景
</div>
<div
class=
"title"
>
立法背景
</div>
<div
class=
"header-btn-box"
>
<div
class=
"header-btn-box"
>
<div
class=
"btn"
@
click=
"handleClickBox1Btn(1)"
>
<div
class=
"btn"
@
click=
"handleClickBox1Btn(1)"
>
<el-button
type=
"primary"
plain
v-if=
"box1BtnActive === 1"
<el-button
type=
"primary"
plain
v-if=
"box1BtnActive === 1"
>
涉华背景
</el-button>
>
涉华背景
</el-button
>
<el-button
type=
"info"
plain
v-else
>
涉华背景
</el-button>
<el-button
type=
"info"
plain
v-else
>
涉华背景
</el-button>
</div>
</div>
<div
class=
"btn"
@
click=
"handleClickBox1Btn(2)"
>
<div
class=
"btn"
@
click=
"handleClickBox1Btn(2)"
>
<el-button
type=
"primary"
plain
v-if=
"box1BtnActive === 2"
<el-button
type=
"primary"
plain
v-if=
"box1BtnActive === 2"
>
全部背景
</el-button>
>
全部背景
</el-button
>
<el-button
type=
"info"
plain
v-else
>
全部背景
</el-button>
<el-button
type=
"info"
plain
v-else
>
全部背景
</el-button>
</div>
</div>
</div>
</div>
...
@@ -30,11 +26,7 @@
...
@@ -30,11 +26,7 @@
</div>
</div>
<div
class=
"box1-main"
>
<div
class=
"box1-main"
>
<div
class=
"box1-main-center"
>
<div
class=
"box1-main-center"
>
<div
<div
class=
"box1-main-item"
v-for=
"(item, index) in backgroundList"
:key=
"item.id"
>
class=
"box1-main-item"
v-for=
"(item, index) in backgroundList"
:key=
"item.id"
>
<div
class=
"id"
>
{{
(
currentPage
-
1
)
*
10
+
index
+
1
}}
</div>
<div
class=
"id"
>
{{
(
currentPage
-
1
)
*
10
+
index
+
1
}}
</div>
<div
class=
"title"
>
{{
item
.
backgroundTitle
}}
</div>
<div
class=
"title"
>
{{
item
.
backgroundTitle
}}
</div>
<div
class=
"share"
>
<div
class=
"share"
>
...
@@ -44,11 +36,7 @@
...
@@ -44,11 +36,7 @@
</div>
</div>
<div
class=
"box1-main-footer"
>
<div
class=
"box1-main-footer"
>
<div
class=
"info"
>
<div
class=
"info"
>
{{
{{
`共有${total
}
条${box1BtnActive === 1 ? "涉华" : "全部"
}
背景`
}}
`共有${total
}
条${
box1BtnActive === 1 ? "涉华" : "全部"
}
背景`
}}
<
/div
>
<
/div
>
<
div
class
=
"page-box"
>
<
div
class
=
"page-box"
>
<
el
-
pagination
<
el
-
pagination
...
@@ -76,13 +64,9 @@
...
@@ -76,13 +64,9 @@
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
div
class
=
"box2-main"
>
<
div
class
=
"box2-main"
>
<
div
<
div
class
=
"box2-main-item"
v
-
for
=
"(item, index) in eventList"
:
key
=
"index"
>
class
=
"box2-main-item"
v
-
for
=
"(item, index) in eventList"
:
key
=
"index"
>
<
div
class
=
"left"
>
<
div
class
=
"left"
>
<
img
:
src
=
"item.imageUrl || defaultNew"
@
error
=
"e => e.target.src = defaultNew
"
alt
=
""
/>
<
img
:
src
=
"item.imageUrl || defaultNew"
@
error
=
"e => (e.target.src = defaultNew)
"
alt
=
""
/>
<
/div
>
<
/div
>
<
div
class
=
"center"
>
<
div
class
=
"center"
>
<
div
class
=
"title"
>
{{
item
.
sjbt
}}
<
/div
>
<
div
class
=
"title"
>
{{
item
.
sjbt
}}
<
/div
>
...
@@ -91,11 +75,11 @@
...
@@ -91,11 +75,11 @@
<
div
class
=
"right"
>
{{
item
.
sjsj
}}
<
/div
>
<
div
class
=
"right"
>
{{
item
.
sjsj
}}
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
div
class
=
"box2-footer"
>
<!--
<
div
class
=
"box2-footer"
>
<
div
class
=
"btn-more"
>
<
div
class
=
"btn-more"
>
<
img
src
=
"../assets/images/btn-more.png"
alt
=
""
/>
<
img
src
=
"../assets/images/btn-more.png"
alt
=
""
/>
<
/div
>
<
/div
>
<
/div
>
<
/div>
--
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
div
class
=
"background-wrap-right"
>
<
div
class
=
"background-wrap-right"
>
...
@@ -104,15 +88,11 @@
...
@@ -104,15 +88,11 @@
<
div
class
=
"title"
>
议员相关性分析
<
/div
>
<
div
class
=
"title"
>
议员相关性分析
<
/div
>
<
div
class
=
"header-btn-box"
>
<
div
class
=
"header-btn-box"
>
<
div
class
=
"btn"
@
click
=
"handleClickBox2Btn(1)"
>
<
div
class
=
"btn"
@
click
=
"handleClickBox2Btn(1)"
>
<
el
-
button
type
=
"primary"
plain
v
-
if
=
"box2BtnActive === 1"
<
el
-
button
type
=
"primary"
plain
v
-
if
=
"box2BtnActive === 1"
>
赞成议员
<
/el-button
>
>
赞成议员
<
/el-butto
n
>
<
el
-
button
type
=
"info"
plain
v
-
else
>
赞成议员
<
/el-button
>
<
el
-
button
type
=
"info"
plain
v
-
else
>
赞成议员
<
/el-button
>
<
/div
>
<
/div
>
<
div
class
=
"btn"
@
click
=
"handleClickBox2Btn(2)"
>
<
div
class
=
"btn"
@
click
=
"handleClickBox2Btn(2)"
>
<
el
-
button
type
=
"primary"
plain
v
-
if
=
"box2BtnActive === 2"
<
el
-
button
type
=
"primary"
plain
v
-
if
=
"box2BtnActive === 2"
>
反对议员
<
/el-button
>
>
反对议员
<
/el-butto
n
>
<
el
-
button
type
=
"info"
plain
v
-
else
>
反对议员
<
/el-button
>
<
el
-
button
type
=
"info"
plain
v
-
else
>
反对议员
<
/el-button
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
...
@@ -135,14 +115,8 @@
...
@@ -135,14 +115,8 @@
<
/div> --
>
<
/div> --
>
<
div
class
=
"right-box1-main"
>
<
div
class
=
"right-box1-main"
>
<
div
class
=
"right-box1-main-top"
>
<
div
class
=
"right-box1-main-top"
>
<
el
-
icon
style
=
"margin-top: 20px"
size
=
"20"
color
=
"#5f656c"
<
el
-
icon
style
=
"margin-top: 20px"
size
=
"20"
color
=
"#5f656c"
><
CaretLeft
/><
/el-icon
>
><
CaretLeft
<
div
class
=
"user-box"
v
-
for
=
"(item, index) in personList"
:
key
=
"index"
>
/><
/el-icon
>
<
div
class
=
"user-box"
v
-
for
=
"(item, index) in personList"
:
key
=
"index"
>
<
div
class
=
"img-box"
>
<
div
class
=
"img-box"
>
<
img
:
src
=
"item.image"
alt
=
""
/>
<
img
:
src
=
"item.image"
alt
=
""
/>
<
div
class
=
"icon1"
>
<
div
class
=
"icon1"
>
...
@@ -154,9 +128,7 @@
...
@@ -154,9 +128,7 @@
<
/div
>
<
/div
>
<
div
class
=
"name"
>
{{
item
.
name
}}
<
/div
>
<
div
class
=
"name"
>
{{
item
.
name
}}
<
/div
>
<
/div
>
<
/div
>
<
el
-
icon
style
=
"margin-top: 20px"
size
=
"20"
color
=
"#5f656c"
<
el
-
icon
style
=
"margin-top: 20px"
size
=
"20"
color
=
"#5f656c"
><
CaretRight
/><
/el-icon
>
><
CaretRight
/><
/el-icon
>
<
/div
>
<
/div
>
<
div
class
=
"right-box1-main-bottom"
>
<
div
class
=
"right-box1-main-bottom"
>
<
WordCloudMap
:
data
=
"wordCloudData"
shape
=
"circle"
/>
<
WordCloudMap
:
data
=
"wordCloudData"
shape
=
"circle"
/>
...
@@ -165,16 +137,10 @@
...
@@ -165,16 +137,10 @@
<
/div
>
<
/div
>
<
div
class
=
"right-box2"
>
<
div
class
=
"right-box2"
>
<
div
class
=
"right-box2-header"
>
<
div
class
=
"right-box2-header"
>
<
div
class
=
"title"
>
<
div
class
=
"title"
><
span
class
=
"title-active"
>
"传统能源"
<
/span>涉及议员动态 ></
div
>
<
span
class
=
"title-active"
>
"传统能源"
<
/span>涉及议员动态
>
<
/div
>
<
/div
>
<
/div
>
<
div
class
=
"right-box2-center"
>
<
div
class
=
"right-box2-center"
>
<
div
<
div
class
=
"user-box"
v
-
for
=
"(item, index) in aboutUserList"
:
key
=
"index"
>
class
=
"user-box"
v
-
for
=
"(item, index) in aboutUserList"
:
key
=
"index"
>
<
div
class
=
"user-left"
>
<
div
class
=
"user-left"
>
<
img
:
src
=
"item.img"
alt
=
""
/>
<
img
:
src
=
"item.img"
alt
=
""
/>
<
/div
>
<
/div
>
...
@@ -184,11 +150,11 @@
...
@@ -184,11 +150,11 @@
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
div
class
=
"right-box2-footer"
>
<!--
<
div
class
=
"right-box2-footer"
>
<
div
class
=
"btn-more"
>
<
div
class
=
"btn-more"
>
<
img
src
=
"../assets/images/btn-more.png"
alt
=
""
/>
<
img
src
=
"../assets/images/btn-more.png"
alt
=
""
/>
<
/div
>
<
/div
>
<
/div
>
<
/div> --
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
...
@@ -211,27 +177,22 @@ import user5 from "./assets/images/user5.png";
...
@@ -211,27 +177,22 @@ import user5 from "./assets/images/user5.png";
import
userIcon
from
"./assets/icons/user-icon.png"
;
import
userIcon
from
"./assets/icons/user-icon.png"
;
import
userIcon1
from
"./assets/icons/user-icon1.png"
;
import
userIcon1
from
"./assets/icons/user-icon1.png"
;
import
userIcon2
from
"./assets/icons/user-icon2.png"
;
import
userIcon2
from
"./assets/icons/user-icon2.png"
;
import
defaultNew
from
"../assets/images/default-icon-news.png"
import
defaultNew
from
"../assets/images/default-icon-news.png"
;
import
{
import
{
getBillBackground
,
getBillEvent
,
getBillPersonAnalyze
,
getBillInfoEvent
}
from
"@/api/bill"
;
getBillBackground
,
getBillEvent
,
getBillPersonAnalyze
,
getBillInfoEvent
}
from
"@/api/bill"
;
const
box1BtnActive
=
ref
(
1
);
const
box1BtnActive
=
ref
(
1
);
const
currentPage
=
ref
(
1
);
const
currentPage
=
ref
(
1
);
const
total
=
ref
(
0
);
const
total
=
ref
(
0
);
const
handleClickBox1Btn
=
(
index
)
=>
{
const
handleClickBox1Btn
=
index
=>
{
box1BtnActive
.
value
=
index
;
box1BtnActive
.
value
=
index
;
currentPage
.
value
=
1
;
currentPage
.
value
=
1
;
handleGetBillBackground
();
handleGetBillBackground
();
}
;
}
;
const
box2BtnActive
=
ref
(
1
);
const
box2BtnActive
=
ref
(
1
);
const
handleClickBox2Btn
=
(
index
)
=>
{
const
handleClickBox2Btn
=
index
=>
{
box2BtnActive
.
value
=
index
;
box2BtnActive
.
value
=
index
;
if
(
index
===
1
)
{
if
(
index
===
1
)
{
handleGetBillPersonAnalyze
(
false
);
handleGetBillPersonAnalyze
(
false
);
...
@@ -244,63 +205,62 @@ const aboutUserList = ref([
...
@@ -244,63 +205,62 @@ const aboutUserList = ref([
{
{
img
:
user1
,
img
:
user1
,
name
:
"林赛·格雷厄姆"
,
name
:
"林赛·格雷厄姆"
,
content
:
"拟对购买俄罗斯石油、天然气等能源的国家征收高达500%的“二级关税”。"
,
content
:
"拟对购买俄罗斯石油、天然气等能源的国家征收高达500%的“二级关税”。"
}
,
}
,
{
{
img
:
user2
,
img
:
user2
,
name
:
"史蒂夫·戴恩斯"
,
name
:
"史蒂夫·戴恩斯"
,
content
:
content
:
"提出了一项两党立法,旨在通过美国能源部(DOE)扩大美国在量子信息科学和研发(R&D)方面的投资能力。”。"
"提出了一项两党立法,旨在通过美国能源部(DOE)扩大美国在量子信息科学和研发(R&D)方面的投资能力。”。"
,
}
,
}
,
{
{
img
:
user3
,
img
:
user3
,
name
:
"乔·曼钦"
,
name
:
"乔·曼钦"
,
content
:
content
:
"介绍了《2024能源许可改革法案》,目的是通过缩短联邦环境审查程序以及限定法院质询等来加快清洁能源、管道和输电项目的审批。”。"
,
"介绍了《2024能源许可改革法案》,目的是通过缩短联邦环境审查程序以及限定法院质询等来加快清洁能源、管道和输电项目的审批。”。"
}
,
}
]);
]);
const
backgroundList
=
ref
([
const
backgroundList
=
ref
([
{
{
id
:
window
.
sessionStorage
.
getItem
(
"billId"
),
id
:
window
.
sessionStorage
.
getItem
(
"billId"
),
bjnr
:
"将中国跨境电商描述为“利用低价商品冲击美国市场、规避关税监管”"
,
bjnr
:
"将中国跨境电商描述为“利用低价商品冲击美国市场、规避关税监管”"
}
,
}
,
{
{
id
:
2
,
id
:
2
,
bjnr
:
"指责“中美技术合作助长军民融合”"
,
bjnr
:
"指责“中美技术合作助长军民融合”"
}
,
}
,
{
{
id
:
3
,
id
:
3
,
bjnr
:
"强调“需防范中国通过第三国转运规避关税”"
,
bjnr
:
"强调“需防范中国通过第三国转运规避关税”"
}
,
}
,
{
{
id
:
4
,
id
:
4
,
bjnr
:
"将中资在美子公司定义为“潜在避税与资本转移工具”"
,
bjnr
:
"将中资在美子公司定义为“潜在避税与资本转移工具”"
}
,
}
,
{
{
id
:
5
,
id
:
5
,
bjnr
:
"将中国列为“试图主导全球清洁能源供应链的竞争对手”"
,
bjnr
:
"将中国列为“试图主导全球清洁能源供应链的竞争对手”"
}
,
}
,
{
{
id
:
6
,
id
:
6
,
bjnr
:
"声称“中国控股企业通过转移定价侵蚀美国税基”"
,
bjnr
:
"声称“中国控股企业通过转移定价侵蚀美国税基”"
}
,
}
,
{
{
id
:
7
,
id
:
7
,
bjnr
:
"法案序言称“中国光伏、风电企业通过政府补贴倾销产品”"
,
bjnr
:
"法案序言称“中国光伏、风电企业通过政府补贴倾销产品”"
}
,
}
,
{
{
id
:
8
,
id
:
8
,
bjnr
:
"辩称“中国主导全球减排议程损害美国利益”"
,
bjnr
:
"辩称“中国主导全球减排议程损害美国利益”"
}
,
}
,
{
{
id
:
9
,
id
:
9
,
bjnr
:
"将中国定位为“通过强制技术转让获取先进制程的威胁”"
,
bjnr
:
"将中国定位为“通过强制技术转让获取先进制程的威胁”"
}
,
}
,
{
{
id
:
10
,
id
:
10
,
bjnr
:
"将中国与伊朗、朝鲜并列,强调“需遏制印太地区对手”"
,
bjnr
:
"将中国与伊朗、朝鲜并列,强调“需遏制印太地区对手”"
}
,
}
]);
]);
const
eventList
=
ref
([
const
eventList
=
ref
([
...
@@ -351,74 +311,69 @@ const personList = ref([
...
@@ -351,74 +311,69 @@ const personList = ref([
name
:
"乔迪·阿灵顿"
,
name
:
"乔迪·阿灵顿"
,
image
:
user1
,
image
:
user1
,
icon
:
userIcon
,
icon
:
userIcon
,
icon1
:
userIcon1
,
icon1
:
userIcon1
}
,
}
,
{
{
name
:
"约翰·图恩"
,
name
:
"约翰·图恩"
,
image
:
user2
,
image
:
user2
,
icon
:
userIcon
,
icon
:
userIcon
,
icon1
:
userIcon2
,
icon1
:
userIcon2
}
,
}
,
{
{
name
:
"贾森·史密斯"
,
name
:
"贾森·史密斯"
,
image
:
user3
,
image
:
user3
,
icon
:
userIcon
,
icon
:
userIcon
,
icon1
:
userIcon1
,
icon1
:
userIcon1
}
,
}
,
{
{
name
:
"拉塞尔·沃特"
,
name
:
"拉塞尔·沃特"
,
image
:
user4
,
image
:
user4
,
icon
:
userIcon
,
icon
:
userIcon
,
icon1
:
userIcon1
,
icon1
:
userIcon1
}
,
}
,
{
{
name
:
"詹姆斯·布莱尔"
,
name
:
"詹姆斯·布莱尔"
,
image
:
user5
,
image
:
user5
,
icon
:
userIcon
,
icon
:
userIcon
,
icon1
:
userIcon1
,
icon1
:
userIcon1
}
,
}
]);
]);
const
progressList
=
ref
([
const
progressList
=
ref
([
{
{
tip
:
true
,
tip
:
true
,
date
:
"7月5日"
,
date
:
"7月5日"
,
title
:
title
:
"特朗普于美国独立日签署法案,公法编号Pub. L. No. 119-21。白宫举行庆典,B-2轰炸机飞越上空,象征“美国新时代”开启。"
,
"特朗普于美国独立日签署法案,公法编号Pub. L. No. 119-21。白宫举行庆典,B-2轰炸机飞越上空,象征“美国新时代”开启。"
,
degree
:
"特别重大风险"
,
degree
:
"特别重大风险"
,
rank
:
4
,
rank
:
4
}
,
}
,
{
{
tip
:
true
,
tip
:
true
,
date
:
"7月4日"
,
date
:
"7月4日"
,
title
:
title
:
"众议院最终表决218票赞成 vs 214票反对,修订版法案以4票优势通过,2名共和党议员倒戈,民主党全员反对。"
,
"众议院最终表决218票赞成 vs 214票反对,修订版法案以4票优势通过,2名共和党议员倒戈,民主党全员反对。"
,
degree
:
"重大风险"
,
degree
:
"重大风险"
,
rank
:
3
,
rank
:
3
}
,
}
,
{
{
tip
:
true
,
tip
:
true
,
date
:
"7月3日"
,
date
:
"7月3日"
,
title
:
title
:
"民主党领袖杰弗里斯发表 8小时45分钟 演讲(众议院现代史最长),抗议法案“劫贫济富”,但仍未阻止表决。"
,
"民主党领袖杰弗里斯发表 8小时45分钟 演讲(众议院现代史最长),抗议法案“劫贫济富”,但仍未阻止表决。"
,
degree
:
"较大风险"
,
degree
:
"较大风险"
,
rank
:
2
,
rank
:
2
}
,
}
,
{
{
tip
:
true
,
tip
:
true
,
date
:
"7月2日"
,
date
:
"7月2日"
,
title
:
title
:
"众议院以 219:213 通过程序规则,为最终表决铺路。此前4名共和党议员反对程序规则,议长约翰逊紧急游说挽回1票。"
,
"众议院以 219:213 通过程序规则,为最终表决铺路。此前4名共和党议员反对程序规则,议长约翰逊紧急游说挽回1票。"
,
degree
:
"低风险"
,
degree
:
"低风险"
,
rank
:
1
,
rank
:
1
}
,
}
,
{
{
tip
:
false
,
tip
:
false
,
date
:
"7月1日"
,
date
:
"7月1日"
,
title
:
title
:
"参议院最终表决投票51:50,副总统万斯(JD Vance)投出关键票打破平局。3名共和党参议员倒戈(蒂利斯、保罗、柯林斯)。"
,
"参议院最终表决投票51:50,副总统万斯(JD Vance)投出关键票打破平局。3名共和党参议员倒戈(蒂利斯、保罗、柯林斯)。"
,
degree
:
""
degree
:
""
,
}
}
,
]);
]);
const
wordCloudData
=
[
const
wordCloudData
=
[
...
@@ -439,17 +394,17 @@ const wordCloudData = [
...
@@ -439,17 +394,17 @@ const wordCloudData = [
{
name
:
"抗议医疗补助条款"
,
value
:
47
}
,
{
name
:
"抗议医疗补助条款"
,
value
:
47
}
,
{
name
:
"深红州"
,
value
:
32
}
,
{
name
:
"深红州"
,
value
:
32
}
,
{
name
:
"温和派选区"
,
value
:
62
}
,
{
name
:
"温和派选区"
,
value
:
62
}
,
{
name
:
"高压游说"
,
value
:
51
}
,
{
name
:
"高压游说"
,
value
:
51
}
];
];
// 获取立法背景内容
// 获取立法背景内容
const
handleGetBillBackground
=
async
()
=>
{
const
handleGetBillBackground
=
async
()
=>
{
const
cRelated
=
box1BtnActive
.
value
===
1
?
'Y'
:
'N'
;
const
cRelated
=
box1BtnActive
.
value
===
1
?
"Y"
:
"N"
;
const
params
=
{
const
params
=
{
cRelated
:
cRelated
,
cRelated
:
cRelated
,
id
:
window
.
sessionStorage
.
getItem
(
"billId"
),
id
:
window
.
sessionStorage
.
getItem
(
"billId"
),
currentPage
:
currentPage
.
value
-
1
,
currentPage
:
currentPage
.
value
-
1
,
pageSize
:
10
,
pageSize
:
10
}
;
}
;
try
{
try
{
const
res
=
await
getBillBackground
(
params
);
const
res
=
await
getBillBackground
(
params
);
...
@@ -462,7 +417,7 @@ const handleGetBillBackground = async () => {
...
@@ -462,7 +417,7 @@ const handleGetBillBackground = async () => {
// 获取相关事件
// 获取相关事件
const
handleGetRelatedEvent
=
async
()
=>
{
const
handleGetRelatedEvent
=
async
()
=>
{
const
params
=
{
const
params
=
{
id
:
window
.
sessionStorage
.
getItem
(
"billId"
),
id
:
window
.
sessionStorage
.
getItem
(
"billId"
)
}
;
}
;
try
{
try
{
const
res
=
await
getBillInfoEvent
(
params
);
const
res
=
await
getBillInfoEvent
(
params
);
...
@@ -485,10 +440,10 @@ const handleGetRelatedEvent = async () => {
...
@@ -485,10 +440,10 @@ const handleGetRelatedEvent = async () => {
}
;
}
;
// 议员相关性分析
// 议员相关性分析
const
handleGetBillPersonAnalyze
=
async
(
isOppose
)
=>
{
const
handleGetBillPersonAnalyze
=
async
isOppose
=>
{
const
params
=
{
const
params
=
{
id
:
window
.
sessionStorage
.
getItem
(
"billId"
),
id
:
window
.
sessionStorage
.
getItem
(
"billId"
),
isOppose
:
isOppose
,
isOppose
:
isOppose
}
;
}
;
try
{
try
{
const
res
=
await
getBillPersonAnalyze
(
params
);
const
res
=
await
getBillPersonAnalyze
(
params
);
...
@@ -553,10 +508,10 @@ onMounted(() => {
...
@@ -553,10 +508,10 @@ onMounted(() => {
display
:
flex
;
display
:
flex
;
justify
-
content
:
flex
-
end
;
justify
-
content
:
flex
-
end
;
gap
:
4
px
;
gap
:
4
px
;
.
icon
{
.
icon
{
width
:
28
px
;
width
:
28
px
;
height
:
28
px
;
height
:
28
px
;
img
{
img
{
width
:
100
%
;
width
:
100
%
;
height
:
100
%
;
height
:
100
%
;
}
}
...
@@ -650,10 +605,11 @@ onMounted(() => {
...
@@ -650,10 +605,11 @@ onMounted(() => {
background
:
#
fff
;
background
:
#
fff
;
border
-
radius
:
4
px
;
border
-
radius
:
4
px
;
.
box2
-
main
{
.
box2
-
main
{
margin
-
top
:
9
px
;
// margin-top: 9px;
width
:
1110
px
;
margin
-
left
:
23
px
;
margin
-
left
:
23
px
;
height
:
300
px
;
height
:
349
px
;
overflow
:
auto
;
overflow
-
y
:
auto
;
.
box2
-
main
-
item
{
.
box2
-
main
-
item
{
width
:
1103
px
;
width
:
1103
px
;
height
:
60
px
;
height
:
60
px
;
...
@@ -685,6 +641,9 @@ onMounted(() => {
...
@@ -685,6 +641,9 @@ onMounted(() => {
line
-
height
:
22
px
;
line
-
height
:
22
px
;
letter
-
spacing
:
0
px
;
letter
-
spacing
:
0
px
;
text
-
align
:
left
;
text
-
align
:
left
;
overflow
:
hidden
;
text
-
overflow
:
ellipsis
;
white
-
space
:
nowrap
;
}
}
.
content
{
.
content
{
margin
-
top
:
2
px
;
margin
-
top
:
2
px
;
...
@@ -940,8 +899,9 @@ onMounted(() => {
...
@@ -940,8 +899,9 @@ onMounted(() => {
}
}
}
}
.
right
-
box2
-
center
{
.
right
-
box2
-
center
{
height
:
30
5
px
;
height
:
34
5
px
;
overflow
:
hidden
;
overflow
:
hidden
;
overflow
-
y
:
auto
;
margin
-
top
:
19
px
;
margin
-
top
:
19
px
;
margin
-
left
:
16
px
;
margin
-
left
:
16
px
;
width
:
544
px
;
width
:
544
px
;
...
@@ -981,20 +941,20 @@ onMounted(() => {
...
@@ -981,20 +941,20 @@ onMounted(() => {
}
}
}
}
}
}
.
right
-
box2
-
footer
{
//
.right-box2-footer
{
margin
-
top
:
7
px
;
//
margin-top: 7px;
display
:
flex
;
//
display: flex;
justify
-
content
:
center
;
//
justify-content: center;
.
btn
-
more
{
//
.btn-more
{
width
:
108
px
;
//
width: 108px;
height
:
32
px
;
//
height: 32px;
cursor
:
pointer
;
//
cursor: pointer;
img
{
//
img
{
width
:
100
%
;
//
width: 100%;
height
:
100
%
;
//
height: 100%;
}
//
}
}
//
}
}
//
}
}
}
}
}
}
}
...
...
src/views/decree/decreeLayout/deepdig/index.vue
浏览文件 @
bfb03421
...
@@ -39,7 +39,11 @@
...
@@ -39,7 +39,11 @@
<div
class=
"item-right-text"
>
<div
class=
"item-right-text"
>
{{
decreeInfo
.
totalTitle
}}
{{
decreeInfo
.
totalTitle
}}
</div>
</div>
<div
class=
"item-right-icon"
v-if=
"decreeInfo.totalTitle"
>
<div
class=
"item-right-icon"
v-if=
"decreeInfo.totalTitle"
@
click=
"handleToDecreeDetail(decreeInfo)"
>
<img
src=
"./assets/icons/open-icon.png"
alt=
""
/>
<img
src=
"./assets/icons/open-icon.png"
alt=
""
/>
</div>
</div>
</div>
</div>
...
@@ -72,12 +76,12 @@
...
@@ -72,12 +76,12 @@
<div
class=
"title"
>
{{
"政令主要内容"
}}
</div>
<div
class=
"title"
>
{{
"政令主要内容"
}}
</div>
</div>
</div>
<div
class=
"list-main"
>
<div
class=
"list-main"
>
<div
class=
"list-item"
v-for=
"(val, idx) in showList"
:key=
"idx"
@
click=
"handleToDecreeDetail(val)"
>
<div
class=
"list-item"
v-for=
"(val, idx) in showList"
:key=
"idx"
>
<div
class=
"id"
>
{{
idx
+
1
}}
</div>
<div
class=
"id"
>
{{
idx
+
1
}}
</div>
<div
class=
"title"
>
{{
val
.
content
}}
</div>
<div
class=
"title"
>
{{
val
.
content
}}
</div>
<div
class=
"open"
>
<
!--
<
div
class=
"open"
>
<img
src=
"./assets/icons/open-icon.png"
alt=
""
/>
<img
src=
"./assets/icons/open-icon.png"
alt=
""
/>
</div>
</div>
-->
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -178,6 +182,7 @@ const handleClickSider = async index => {
...
@@ -178,6 +182,7 @@ const handleClickSider = async index => {
}
;
}
;
const
decreeInfo
=
ref
({
const
decreeInfo
=
ref
({
id
:
0
,
img
:
""
,
img
:
""
,
totalTitle
:
""
,
totalTitle
:
""
,
eTotalTitle
:
""
,
eTotalTitle
:
""
,
...
@@ -212,6 +217,7 @@ const handleGetRelateOrder = async () => {
...
@@ -212,6 +217,7 @@ const handleGetRelateOrder = async () => {
title
:
item
.
name
title
:
item
.
name
}
;
}
;
}
);
}
);
decreeInfo
.
value
.
id
=
allData
.
value
[
0
].
id
;
decreeInfo
.
value
.
img
=
allData
.
value
[
0
].
imageUrl
;
decreeInfo
.
value
.
img
=
allData
.
value
[
0
].
imageUrl
;
decreeInfo
.
value
.
totalTitle
=
allData
.
value
[
0
].
name
;
decreeInfo
.
value
.
totalTitle
=
allData
.
value
[
0
].
name
;
decreeInfo
.
value
.
eTotalTitle
=
allData
.
value
[
0
].
ename
;
decreeInfo
.
value
.
eTotalTitle
=
allData
.
value
[
0
].
ename
;
...
@@ -235,6 +241,7 @@ const handleGetRelateOrder = async () => {
...
@@ -235,6 +241,7 @@ const handleGetRelateOrder = async () => {
}
else
{
}
else
{
allData
.
value
=
[];
allData
.
value
=
[];
siderList
.
value
=
[];
siderList
.
value
=
[];
decreeInfo
.
value
.
id
=
0
;
decreeInfo
.
value
.
img
=
""
;
decreeInfo
.
value
.
img
=
""
;
decreeInfo
.
value
.
totalTitle
=
""
;
decreeInfo
.
value
.
totalTitle
=
""
;
decreeInfo
.
value
.
eTotalTitle
=
""
;
decreeInfo
.
value
.
eTotalTitle
=
""
;
...
@@ -245,6 +252,7 @@ const handleGetRelateOrder = async () => {
...
@@ -245,6 +252,7 @@ const handleGetRelateOrder = async () => {
}
catch
(
error
)
{
}
catch
(
error
)
{
allData
.
value
=
[];
allData
.
value
=
[];
siderList
.
value
=
[];
siderList
.
value
=
[];
decreeInfo
.
value
.
id
=
0
;
decreeInfo
.
value
.
img
=
""
;
decreeInfo
.
value
.
img
=
""
;
decreeInfo
.
value
.
totalTitle
=
""
;
decreeInfo
.
value
.
totalTitle
=
""
;
decreeInfo
.
value
.
eTotalTitle
=
""
;
decreeInfo
.
value
.
eTotalTitle
=
""
;
...
@@ -254,7 +262,7 @@ const handleGetRelateOrder = async () => {
...
@@ -254,7 +262,7 @@ const handleGetRelateOrder = async () => {
}
}
}
;
}
;
const
handleToDecreeDetail
=
(
item
)
=>
{
const
handleToDecreeDetail
=
item
=>
{
const
route
=
router
.
resolve
({
const
route
=
router
.
resolve
({
path
:
"/decreeLayout/overview/introduction"
,
path
:
"/decreeLayout/overview/introduction"
,
query
:
{
query
:
{
...
@@ -262,7 +270,7 @@ const handleToDecreeDetail = (item) => {
...
@@ -262,7 +270,7 @@ const handleToDecreeDetail = (item) => {
}
}
}
);
}
);
window
.
open
(
route
.
href
,
"_blank"
);
window
.
open
(
route
.
href
,
"_blank"
);
}
}
;
onMounted
(()
=>
{
onMounted
(()
=>
{
handleGetRelateOrder
();
handleGetRelateOrder
();
...
@@ -323,7 +331,8 @@ onMounted(() => {
...
@@ -323,7 +331,8 @@ onMounted(() => {
.
box1
{
.
box1
{
margin
:
16
px
auto
;
margin
:
16
px
auto
;
width
:
1600
px
;
width
:
1600
px
;
height
:
898
px
;
max
-
height
:
898
px
;
min
-
height
:
788
px
;
border
-
radius
:
10
px
;
border
-
radius
:
10
px
;
box
-
shadow
:
0
px
0
px
15
px
0
px
rgba
(
60
,
87
,
126
,
0.2
);
box
-
shadow
:
0
px
0
px
15
px
0
px
rgba
(
60
,
87
,
126
,
0.2
);
background
:
rgba
(
255
,
255
,
255
,
1
);
background
:
rgba
(
255
,
255
,
255
,
1
);
...
@@ -445,6 +454,7 @@ onMounted(() => {
...
@@ -445,6 +454,7 @@ onMounted(() => {
margin
-
top
:
7
px
;
margin
-
top
:
7
px
;
width
:
16
px
;
width
:
16
px
;
height
:
16
px
;
height
:
16
px
;
cursor
:
pointer
;
img
{
img
{
width
:
100
%
;
width
:
100
%
;
height
:
100
%
;
height
:
100
%
;
...
@@ -482,7 +492,8 @@ onMounted(() => {
...
@@ -482,7 +492,8 @@ onMounted(() => {
}
}
}
}
.
list
-
main
{
.
list
-
main
{
height
:
540
px
;
min
-
height
:
420
px
;
max
-
height
:
540
px
;
overflow
-
x
:
hidden
;
overflow
-
x
:
hidden
;
overflow
-
y
:
auto
;
overflow
-
y
:
auto
;
.
list
-
item
{
.
list
-
item
{
...
@@ -494,7 +505,7 @@ onMounted(() => {
...
@@ -494,7 +505,7 @@ onMounted(() => {
border
-
bottom
:
1
px
solid
rgba
(
234
,
236
,
238
,
1
);
border
-
bottom
:
1
px
solid
rgba
(
234
,
236
,
238
,
1
);
display
:
flex
;
display
:
flex
;
cursor
:
pointer
;
cursor
:
pointer
;
&
:
hover
{
&
:
hover
{
background
:
var
(
--
color
-
bg
-
hover
);
background
:
var
(
--
color
-
bg
-
hover
);
}
}
.
id
{
.
id
{
...
...
src/views/decree/decreeLayout/index.vue
浏览文件 @
bfb03421
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
<div
class=
"layout-main-header-left-box"
>
<div
class=
"layout-main-header-left-box"
>
<div
class=
"left-box-top"
>
<div
class=
"left-box-top"
>
<div
class=
"icon"
>
<div
class=
"icon"
>
<img
:src=
"summaryInfo.
official
Url"
alt=
""
/>
<img
:src=
"summaryInfo.
image
Url"
alt=
""
/>
</div>
</div>
<div
class=
"info"
>
<div
class=
"info"
>
<div
class=
"info-box1"
>
{{
summaryInfo
.
name
}}
</div>
<div
class=
"info-box1"
>
{{
summaryInfo
.
name
}}
</div>
...
@@ -249,7 +249,7 @@ onMounted(() => {
...
@@ -249,7 +249,7 @@ onMounted(() => {
if
(
route
.
path
===
"/decreeLayout/overview/introduction"
||
route
.
path
===
"/decreeLayout/overview/background"
)
{
if
(
route
.
path
===
"/decreeLayout/overview/introduction"
||
route
.
path
===
"/decreeLayout/overview/background"
)
{
activeTitle
.
value
=
"政令概况"
;
activeTitle
.
value
=
"政令概况"
;
}
else
if
(
route
.
path
===
"/decreeLayout/deepDig"
)
{
}
else
if
(
route
.
path
===
"/decreeLayout/deepDig"
)
{
activeTitle
.
value
=
"
政令概况
"
;
activeTitle
.
value
=
"
深度挖掘
"
;
}
else
{
}
else
{
activeTitle
.
value
=
"影响分析"
;
activeTitle
.
value
=
"影响分析"
;
}
}
...
@@ -349,8 +349,10 @@ onMounted(() => {
...
@@ -349,8 +349,10 @@ onMounted(() => {
height
:
64px
;
height
:
64px
;
display
:
flex
;
display
:
flex
;
.icon
{
.icon
{
width
:
64
px
;
width
:
122
px
;
height
:
64px
;
height
:
64px
;
border-radius
:
4px
;
overflow
:
hidden
;
img
{
img
{
width
:
100%
;
width
:
100%
;
height
:
100%
;
height
:
100%
;
...
...
src/views/decree/decreeLayout/influence/index.vue
浏览文件 @
bfb03421
...
@@ -491,7 +491,6 @@ onMounted(() => {
...
@@ -491,7 +491,6 @@ onMounted(() => {
}
}
}
}
.
left
{
.
left
{
margin
-
left
:
160
px
;
margin
-
top
:
16
px
;
margin
-
top
:
16
px
;
.
box1
{
.
box1
{
width
:
480
px
;
width
:
480
px
;
...
...
src/views/decree/decreeLayout/overview/introduction/index.vue
浏览文件 @
bfb03421
...
@@ -132,7 +132,7 @@
...
@@ -132,7 +132,7 @@
</div>
</div>
</div>
</div>
<div
class=
"box3-top"
>
<div
class=
"box3-top"
>
<div
class=
"box3-top-top"
>
<div
class=
"box3-top-top"
@
click=
"handleToInstitution(box3TopData)"
>
<div
class=
"left"
>
<div
class=
"left"
>
<img
:src=
"box3TopData.logo ? box3TopData.logo : DefaultIcon2"
alt=
""
/>
<img
:src=
"box3TopData.logo ? box3TopData.logo : DefaultIcon2"
alt=
""
/>
</div>
</div>
...
@@ -190,9 +190,9 @@
...
@@ -190,9 +190,9 @@
</el-timeline-item>
</el-timeline-item>
</el-timeline>
</el-timeline>
</div>
</div>
<div
class=
"box3-bottom-footer"
>
<
!-- <
div class="box3-bottom-footer">
<img src="./assets/images/more-icon.png" alt="" />
<img src="./assets/images/more-icon.png" alt="" />
</div>
</div>
-->
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -202,6 +202,7 @@
...
@@ -202,6 +202,7 @@
<
script
setup
>
<
script
setup
>
import
{
ref
,
computed
,
onMounted
}
from
"vue"
;
import
{
ref
,
computed
,
onMounted
}
from
"vue"
;
import
{
useRoute
}
from
"vue-router"
;
import
{
useRoute
}
from
"vue-router"
;
import
router
from
"@/router"
;
import
box1Img
from
"./assets/images/box1-img.png"
;
import
box1Img
from
"./assets/images/box1-img.png"
;
import
Box3Logo
from
"./assets/images/box3-img.png"
;
import
Box3Logo
from
"./assets/images/box3-img.png"
;
import
{
getDecreeBasicInfo
,
getDecreeMainContent
,
getDecreeOrganization
}
from
"@/api/decree/introduction"
;
import
{
getDecreeBasicInfo
,
getDecreeMainContent
,
getDecreeOrganization
}
from
"@/api/decree/introduction"
;
...
@@ -294,6 +295,7 @@ const box3BtnActiveIndex = ref(0);
...
@@ -294,6 +295,7 @@ const box3BtnActiveIndex = ref(0);
const
handleClickBox3Btn
=
(
btn
,
index
)
=>
{
const
handleClickBox3Btn
=
(
btn
,
index
)
=>
{
box3ActiveBtn
.
value
=
btn
;
box3ActiveBtn
.
value
=
btn
;
box3BtnActiveIndex
.
value
=
index
;
box3BtnActiveIndex
.
value
=
index
;
box3TopData
.
value
.
id
=
box3Data
.
value
[
index
].
id
;
box3TopData
.
value
.
logo
=
box3Data
.
value
[
index
].
url
;
box3TopData
.
value
.
logo
=
box3Data
.
value
[
index
].
url
;
box3TopData
.
value
.
name
=
box3Data
.
value
[
index
].
name
;
box3TopData
.
value
.
name
=
box3Data
.
value
[
index
].
name
;
box3TopData
.
value
.
eName
=
box3Data
.
value
[
index
].
ename
;
box3TopData
.
value
.
eName
=
box3Data
.
value
[
index
].
ename
;
...
@@ -311,6 +313,7 @@ const handleClickBox3Btn = (btn, index) => {
...
@@ -311,6 +313,7 @@ const handleClickBox3Btn = (btn, index) => {
const
box3Data
=
ref
([]);
const
box3Data
=
ref
([]);
const
box3TopData
=
ref
({
const
box3TopData
=
ref
({
id
:
""
,
logo
:
""
,
logo
:
""
,
name
:
""
,
name
:
""
,
eName
:
""
,
eName
:
""
,
...
@@ -319,6 +322,17 @@ const box3TopData = ref({
...
@@ -319,6 +322,17 @@ const box3TopData = ref({
bz
:
""
bz
:
""
});
});
// 跳转行政机构主页
const
handleToInstitution
=
item
=>
{
const
curRoute
=
router
.
resolve
({
path
:
"/institution"
,
query
:
{
id
:
item
.
id
}
});
window
.
open
(
curRoute
.
href
,
"_blank"
);
};
// 机构动态
// 机构动态
const
eventList
=
ref
([
const
eventList
=
ref
([
// {
// {
...
@@ -420,10 +434,10 @@ onMounted(() => {
...
@@ -420,10 +434,10 @@ onMounted(() => {
.header-btn-box
{
.header-btn-box
{
position
:
absolute
;
position
:
absolute
;
z-index
:
9999
;
z-index
:
9999
;
width
:
32
0
px
;
width
:
32
5
px
;
height
:
64px
;
height
:
64px
;
top
:
14px
;
top
:
14px
;
right
:
8
4
px
;
right
:
8
2
px
;
display
:
flex
;
display
:
flex
;
justify-content
:
flex-end
;
justify-content
:
flex-end
;
flex-wrap
:
wrap
;
flex-wrap
:
wrap
;
...
@@ -431,6 +445,7 @@ onMounted(() => {
...
@@ -431,6 +445,7 @@ onMounted(() => {
white-space
:
nowrap
;
white-space
:
nowrap
;
overflow
:hidden
;
overflow
:hidden
;
overflow-y
:
auto
;
overflow-y
:
auto
;
padding-right
:
5px
;
.btn
{
.btn
{
min-width
:
min-content
;
min-width
:
min-content
;
height
:
28px
;
height
:
28px
;
...
@@ -633,6 +648,7 @@ onMounted(() => {
...
@@ -633,6 +648,7 @@ onMounted(() => {
align-items
:
center
;
align-items
:
center
;
margin
:
0
auto
;
margin
:
0
auto
;
position
:
relative
;
position
:
relative
;
cursor
:
pointer
;
.more
{
.more
{
position
:
absolute
;
position
:
absolute
;
right
:
17px
;
right
:
17px
;
...
@@ -666,8 +682,8 @@ onMounted(() => {
...
@@ -666,8 +682,8 @@ onMounted(() => {
}
}
}
}
.right
{
.right
{
width
:
3
5
0px
;
width
:
3
7
0px
;
margin-left
:
22
px
;
margin-left
:
15
px
;
.name
{
.name
{
height
:
26px
;
height
:
26px
;
color
:
rgba
(
59
,
65
,
75
,
1
);
color
:
rgba
(
59
,
65
,
75
,
1
);
...
@@ -749,18 +765,21 @@ onMounted(() => {
...
@@ -749,18 +765,21 @@ onMounted(() => {
}
}
}
}
.box3-bottom-main
{
.box3-bottom-main
{
height
:
410px
;
width
:
510px
;
}
height
:
440px
;
.box3-bottom-footer
{
overflow
:
hidden
;
width
:
108px
;
overflow-y
:
auto
;
height
:
32px
;
margin
:
5px
auto
;
cursor
:
pointer
;
img
{
width
:
100%
;
height
:
100%
;
}
}
}
// .box3-bottom-footer {
// width: 108px;
// height: 32px;
// margin: 5px auto;
// cursor: pointer;
// img {
// width: 100%;
// height: 100%;
// }
// }
}
}
}
}
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论