Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
R
risk-monitor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
蔡建
risk-monitor
Commits
aa49f594
提交
aa49f594
authored
1月 08, 2026
作者:
coderBryanFu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update
上级
94be2730
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
11 个修改的文件
包含
182 行增加
和
108 行删除
+182
-108
index.vue
src/views/bill/background/index.vue
+1
-0
index.vue
src/views/bill/introdoction/index.vue
+4
-3
index.vue
src/views/decree/decreeLayout/deepdig/index.vue
+1
-1
index.vue
src/views/decree/decreeLayout/overview/background/index.vue
+1
-0
box3-icon1.png
...Layout/overview/introduction/assets/images/box3-icon1.png
+0
-0
index.vue
...views/decree/decreeLayout/overview/introduction/index.vue
+134
-62
index.vue
src/views/exportControl/v2.0EntityList/index.vue
+0
-0
index.vue
src/views/thinkTank/ReportDetail/index.vue
+18
-21
index.vue
src/views/thinkTank/ThinkTankDetail/PolicyTracking/index.vue
+4
-4
index.vue
src/views/thinkTank/ThinkTankDetail/index.vue
+15
-15
index.vue
src/views/thinkTank/ThinkTankDetail/thinkInfo/index.vue
+4
-2
没有找到文件。
src/views/bill/background/index.vue
浏览文件 @
aa49f594
...
...
@@ -220,6 +220,7 @@ const handleClickEvent = item => {
// 跳转人员详情
const
handleClickUser
=
item
=>
{
window
.
sessionStorage
.
setItem
(
'curTabName'
,
item
.
name
)
const
routeData
=
router
.
resolve
({
path
:
"/characterPage"
,
query
:
{
...
...
src/views/bill/introdoction/index.vue
浏览文件 @
aa49f594
...
...
@@ -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
:
i
tem
.
i
d
}
}
);
window
.
open
(
routeData
.
href
,
"_blank"
);
...
...
src/views/decree/decreeLayout/deepdig/index.vue
浏览文件 @
aa49f594
...
...
@@ -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
:
{
...
...
src/views/decree/decreeLayout/overview/background/index.vue
浏览文件 @
aa49f594
...
...
@@ -246,6 +246,7 @@ const handleMouseMove = event => {
}
;
const
handleToBillDetail
=
item
=>
{
window
.
sessionStorage
.
setItem
(
'curTabName'
,
item
.
title
)
const
route
=
router
.
resolve
({
path
:
"/billLayout"
,
query
:
{
...
...
src/views/decree/decreeLayout/overview/introduction/assets/images/box3-icon1.png
0 → 100644
浏览文件 @
aa49f594
928 Bytes
src/views/decree/decreeLayout/overview/introduction/index.vue
浏览文件 @
aa49f594
...
...
@@ -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>
<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
:
30
px
;
height
:
241px
;
margin-top
:
2
px
;
//
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
;
color
:
rgba
(
59
,
65
,
75
,
1
)
;
f
ont-family
:
Microsoft
YaHei
;
font-size
:
16px
;
font-weight
:
400
;
line-height
:
24
px
;
margin-top
:
4
px
;
.main-item
{
display
:
flex
;
f
lex-wrap
:
wrap
;
justify-content
:
space-between
;
.box3-top-bottom-item
{
margin-top
:
17
px
;
height
:
48
px
;
width
:
200px
;
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
;
}
.item-left
{
height
:
24px
;
width
:
80px
;
justify-content
:
flex-start
;
.box3-top-bottom-item-left
{
width
:
48px
;
height
:
48px
;
img
{
width
:
100%
;
height
:
100%
;
}
}
.item-right
{
width
:
291px
;
.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
:
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(() => {
overflow
:
hidden
;
overflow-y
:
auto
;
}
// .box3-bottom-footer {
// width: 108px;
// height: 32px;
// margin: 5px auto;
// cursor: pointer;
// img {
// width: 100%;
// height: 100%;
// }
// }
}
}
}
...
...
src/views/exportControl/v2.0EntityList/index.vue
浏览文件 @
aa49f594
差异被折叠。
点击展开。
src/views/thinkTank/ReportDetail/index.vue
浏览文件 @
aa49f594
...
...
@@ -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
;
...
...
src/views/thinkTank/ThinkTankDetail/PolicyTracking/index.vue
浏览文件 @
aa49f594
...
...
@@ -149,7 +149,7 @@
</div>
</div>
<div>
<div
class=
"more"
@
click=
"toDetail
e(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
toDetail
e
=
(
id
)
=>
{
const
toDetail
=
(
item
)
=>
{
window
.
sessionStorage
.
setItem
(
"curTabName"
,
item
.
content
)
const
route
=
router
.
resolve
({
name
:
"ReportDetail"
,
params
:
{
id
:
id
id
:
i
tem
.
reportI
d
}
});
window
.
open
(
route
.
href
,
"_blank"
);
...
...
src/views/thinkTank/ThinkTankDetail/index.vue
浏览文件 @
aa49f594
...
...
@@ -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%
;
}
...
...
src/views/thinkTank/ThinkTankDetail/thinkInfo/index.vue
浏览文件 @
aa49f594
...
...
@@ -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
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论