Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
R
risk-monitor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
蔡建
risk-monitor
Commits
23fb0f30
提交
23fb0f30
authored
11月 19, 2025
作者:
coderBryanFu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update
上级
46febd14
全部展开
显示空白字符变更
内嵌
并排
正在显示
16 个修改的文件
包含
312 行增加
和
19 行删除
+312
-19
index.js
src/router/index.js
+9
-0
index.vue
src/views/bill/billHome/index.vue
+21
-9
ai-avator.png
...iews/comprehensiveSearch/chat/assets/images/ai-avator.png
+0
-0
ai.png
src/views/comprehensiveSearch/chat/assets/images/ai.png
+0
-0
attach.png
src/views/comprehensiveSearch/chat/assets/images/attach.png
+0
-0
down.png
src/views/comprehensiveSearch/chat/assets/images/down.png
+0
-0
microphone.png
...ews/comprehensiveSearch/chat/assets/images/microphone.png
+0
-0
submit.png
src/views/comprehensiveSearch/chat/assets/images/submit.png
+0
-0
index.vue
src/views/comprehensiveSearch/chat/index.vue
+0
-0
index.vue
src/views/comprehensiveSearch/index.vue
+8
-1
img1.png
.../comprehensiveSearch/searchResults/assets/images/img1.png
+0
-0
img2.png
.../comprehensiveSearch/searchResults/assets/images/img2.png
+0
-0
img3.png
.../comprehensiveSearch/searchResults/assets/images/img3.png
+0
-0
index.vue
src/views/comprehensiveSearch/searchResults/index.vue
+251
-9
index.vue
src/views/decree/decreeHome/index.vue
+12
-0
index.vue
...views/marketAccessRestrictions/marketAccessHome/index.vue
+11
-0
没有找到文件。
src/router/index.js
浏览文件 @
23fb0f30
...
@@ -53,6 +53,7 @@ import Portal2 from '@/views/portals/portal2/index.vue';
...
@@ -53,6 +53,7 @@ import Portal2 from '@/views/portals/portal2/index.vue';
// 综合搜索
// 综合搜索
import
ComprehensiveSearch
from
'@/views/comprehensiveSearch/index.vue'
import
ComprehensiveSearch
from
'@/views/comprehensiveSearch/index.vue'
import
SearchResults
from
'@/views/comprehensiveSearch/searchResults/index.vue'
import
SearchResults
from
'@/views/comprehensiveSearch/searchResults/index.vue'
import
Chat
from
'@/views/comprehensiveSearch/chat/index.vue'
const
routes
=
[
const
routes
=
[
// 智能写报
// 智能写报
...
@@ -437,6 +438,14 @@ const routes = [
...
@@ -437,6 +438,14 @@ const routes = [
title
:
"搜索结果"
title
:
"搜索结果"
}
}
},
},
{
path
:
"/chat"
,
name
:
"chat"
,
component
:
Chat
,
meta
:
{
title
:
"智能问答"
}
},
];
];
const
router
=
createRouter
({
const
router
=
createRouter
({
...
...
src/views/bill/billHome/index.vue
浏览文件 @
23fb0f30
...
@@ -212,7 +212,7 @@
...
@@ -212,7 +212,7 @@
<div
class=
"icon"
>
<div
class=
"icon"
>
<img
src=
"./assets/images/box2-footer-icon.png"
alt=
""
/>
<img
src=
"./assets/images/box2-footer-icon.png"
alt=
""
/>
</div>
</div>
<div
class=
"text"
>
{{
"
风险处理
"
}}
</div>
<div
class=
"text"
>
{{
"
查看更多
"
}}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -1707,7 +1707,7 @@ onMounted(async () => {
...
@@ -1707,7 +1707,7 @@ onMounted(async () => {
height
:
100
%
;
height
:
100
%
;
}
}
.
inner
-
box
{
.
inner
-
box
{
width
:
330
px
;
width
:
100
%
;
height
:
93
px
;
height
:
93
px
;
background
:
rgba
(
10
,
18
,
30
,
0.75
);
background
:
rgba
(
10
,
18
,
30
,
0.75
);
position
:
absolute
;
position
:
absolute
;
...
@@ -1719,7 +1719,7 @@ onMounted(async () => {
...
@@ -1719,7 +1719,7 @@ onMounted(async () => {
height
:
30
px
;
height
:
30
px
;
display
:
flex
;
display
:
flex
;
.
inner
-
box
-
title
{
.
inner
-
box
-
title
{
width
:
270
px
;
flex
:
9
;
color
:
rgba
(
255
,
255
,
255
,
1
);
color
:
rgba
(
255
,
255
,
255
,
1
);
font
-
family
:
Microsoft
YaHei
;
font
-
family
:
Microsoft
YaHei
;
font
-
size
:
16
px
;
font
-
size
:
16
px
;
...
@@ -1730,7 +1730,7 @@ onMounted(async () => {
...
@@ -1730,7 +1730,7 @@ onMounted(async () => {
white
-
space
:
nowrap
;
white
-
space
:
nowrap
;
}
}
.
inner
-
box
-
time
{
.
inner
-
box
-
time
{
width
:
60
px
;
flex
:
2
;
height
:
30
px
;
height
:
30
px
;
color
:
rgba
(
255
,
255
,
255
,
0.65
);
color
:
rgba
(
255
,
255
,
255
,
0.65
);
font
-
family
:
Microsoft
YaHei
;
font
-
family
:
Microsoft
YaHei
;
...
@@ -1743,7 +1743,7 @@ onMounted(async () => {
...
@@ -1743,7 +1743,7 @@ onMounted(async () => {
}
}
}
}
.
inner
-
box
-
content
{
.
inner
-
box
-
content
{
width
:
330
px
;
width
:
100
%
;
height
:
40
px
;
height
:
40
px
;
overflow
:
hidden
;
overflow
:
hidden
;
color
:
rgba
(
255
,
255
,
255
,
0.8
);
color
:
rgba
(
255
,
255
,
255
,
0.8
);
...
@@ -1757,7 +1757,7 @@ onMounted(async () => {
...
@@ -1757,7 +1757,7 @@ onMounted(async () => {
}
}
}
}
.
box2
{
.
box2
{
flex
:
1
;
width
:
520
px
;
height
:
450
px
;
height
:
450
px
;
box
-
shadow
:
0
px
0
px
15
px
0
px
rgba
(
22
,
119
,
255
,
0.1
);
box
-
shadow
:
0
px
0
px
15
px
0
px
rgba
(
22
,
119
,
255
,
0.1
);
background
:
rgba
(
255
,
255
,
255
,
1
);
background
:
rgba
(
255
,
255
,
255
,
1
);
...
@@ -1871,16 +1871,16 @@ onMounted(async () => {
...
@@ -1871,16 +1871,16 @@ onMounted(async () => {
}
}
.
box2
-
footer
{
.
box2
-
footer
{
position
:
absolute
;
position
:
absolute
;
left
:
4
0
px
;
left
:
3
0
px
;
bottom
:
20
px
;
bottom
:
20
px
;
width
:
4
3
0
px
;
width
:
4
6
0
px
;
height
:
42
px
;
height
:
42
px
;
display
:
flex
;
display
:
flex
;
flex
-
direction
:
row
;
flex
-
direction
:
row
;
justify
-
content
:
center
;
justify
-
content
:
center
;
align
-
items
:
center
;
align
-
items
:
center
;
border
-
radius
:
6
px
;
border
-
radius
:
6
px
;
background
:
rgba
(
22
,
119
,
255
,
1
);
background
:
var
(
--
color
-
main
-
active
);
cursor
:
pointer
;
cursor
:
pointer
;
.
icon
{
.
icon
{
width
:
16
px
;
width
:
16
px
;
...
@@ -2792,4 +2792,15 @@ onMounted(async () => {
...
@@ -2792,4 +2792,15 @@ onMounted(async () => {
}
}
}
}
}
}
:
deep
(.
el
-
input__wrapper
)
{
box
-
shadow
:
none
;
}
:
deep
(.
el
-
input__wrapper
:
hover
)
{
box
-
shadow
:
none
!
important
;
}
:
deep
(.
el
-
input__wrapper
.
is
-
focus
)
{
box
-
shadow
:
none
!
important
;
}
<
/style>
<
/style>
\ No newline at end of file
src/views/comprehensiveSearch/chat/assets/images/ai-avator.png
0 → 100644
浏览文件 @
23fb0f30
800 Bytes
src/views/comprehensiveSearch/chat/assets/images/ai.png
0 → 100644
浏览文件 @
23fb0f30
1.4 KB
src/views/comprehensiveSearch/chat/assets/images/attach.png
0 → 100644
浏览文件 @
23fb0f30
2.6 KB
src/views/comprehensiveSearch/chat/assets/images/down.png
0 → 100644
浏览文件 @
23fb0f30
590 Bytes
src/views/comprehensiveSearch/chat/assets/images/microphone.png
0 → 100644
浏览文件 @
23fb0f30
2.0 KB
src/views/comprehensiveSearch/chat/assets/images/submit.png
0 → 100644
浏览文件 @
23fb0f30
871 Bytes
src/views/comprehensiveSearch/chat/index.vue
0 → 100644
浏览文件 @
23fb0f30
差异被折叠。
点击展开。
src/views/comprehensiveSearch/index.vue
浏览文件 @
23fb0f30
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
<div
class=
"search"
>
<div
class=
"search"
>
<div
class=
"search-left"
>
<div
class=
"search-left"
>
<el-input
placeholder=
"搜索关键词"
style=
"width: 700px; height: 100%"
/>
<el-input
placeholder=
"搜索关键词"
style=
"width: 700px; height: 100%"
/>
<div
class=
"btn1"
>
<div
class=
"btn1"
@
click=
"handleToChat"
>
<div
class=
"icon"
>
<div
class=
"icon"
>
<img
src=
"./assets/images/ai-icon.png"
alt=
""
/>
<img
src=
"./assets/images/ai-icon.png"
alt=
""
/>
</div>
</div>
...
@@ -279,6 +279,13 @@ const box3List = ref([
...
@@ -279,6 +279,13 @@ const box3List = ref([
}
}
]);
]);
// 点击智能问答,进入智能问答页
const
handleToChat
=
()
=>
{
router
.
push
({
path
:
'/chat'
})
}
// 点击全文搜索,进入搜索结果页
// 点击全文搜索,进入搜索结果页
const
handleToSearchResults
=
()
=>
{
const
handleToSearchResults
=
()
=>
{
router
.
push
({
router
.
push
({
...
...
src/views/comprehensiveSearch/searchResults/assets/images/img1.png
0 → 100644
浏览文件 @
23fb0f30
205.2 KB
src/views/comprehensiveSearch/searchResults/assets/images/img2.png
0 → 100644
浏览文件 @
23fb0f30
139.4 KB
src/views/comprehensiveSearch/searchResults/assets/images/img3.png
0 → 100644
浏览文件 @
23fb0f30
175.3 KB
src/views/comprehensiveSearch/searchResults/index.vue
浏览文件 @
23fb0f30
...
@@ -63,7 +63,7 @@
...
@@ -63,7 +63,7 @@
<div
class=
"header-right"
>
<div
class=
"header-right"
>
<div
class=
"header-right-header"
>
{{
"关联检索"
}}
</div>
<div
class=
"header-right-header"
>
{{
"关联检索"
}}
</div>
<div
class=
"header-right-main"
>
<div
class=
"header-right-main"
>
<div
class=
"header-right-main-item"
v-for=
"
item,index
in relatedSearchList"
:key=
"index"
>
<div
class=
"header-right-main-item"
v-for=
"
(item, index)
in relatedSearchList"
:key=
"index"
>
<div
class=
"icon"
>
<div
class=
"icon"
>
<img
src=
"./assets/images/search-icon2.png"
alt=
""
/>
<img
src=
"./assets/images/search-icon2.png"
alt=
""
/>
</div>
</div>
...
@@ -72,12 +72,39 @@
...
@@ -72,12 +72,39 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"main"
>
<div
class=
"item"
v-for=
"(item, index) in searchResults"
:key=
"index"
>
<div
class=
"item-left"
v-if=
"item.img"
>
<img
:src=
"item.img"
alt=
""
>
</div>
<div
class=
"item-right"
>
<div
class=
"title"
v-html=
"renderContent(item.title)"
></div>
<div
class=
"content"
v-html=
"renderContent(item.content)"
></div>
<div
class=
"item-right-footer"
>
<div
class=
"time"
>
{{
item
.
time
}}
</div>
<div
class=
"tag"
:class=
"
{ tag1: item.tag.status === 1, tag2: item.tag.status === 2, tag3: item.tag.status === 3 }"
>
{{
item
.
tag
.
name
}}
</div>
</div>
</div>
</div>
</div>
<div
class=
"footer"
>
<el-pagination
background
layout=
"prev, pager, next"
:total=
"96"
/>
</div>
</div>
</div>
</
template
>
</
template
>
<
script
setup
>
<
script
setup
>
import
{
ref
,
onMounted
}
from
"vue"
;
import
{
ref
,
onMounted
}
from
"vue"
;
import
Img1
from
'./assets/images/img1.png'
import
Img2
from
'./assets/images/img2.png'
import
Img3
from
'./assets/images/img3.png'
const
selectTime
=
ref
(
"全部时间"
);
const
selectTime
=
ref
(
"全部时间"
);
const
selectRelation
=
ref
(
"相关度优先"
);
const
selectRelation
=
ref
(
"相关度优先"
);
...
@@ -181,13 +208,133 @@ const relationList = ref([
...
@@ -181,13 +208,133 @@ const relationList = ref([
// 关联检索
// 关联检索
const
relatedSearchList
=
ref
([
const
relatedSearchList
=
ref
([
'金融制度是如何建立的?'
,
"金融制度是如何建立的?"
,
'金融有什么用?'
,
"金融有什么用?"
,
'如何办理金融贷款?'
,
"如何办理金融贷款?"
,
'2025年美国金融法案发布情况'
,
"2025年美国金融法案发布情况"
,
'中国如何应对金融制裁'
,
"中国如何应对金融制裁"
,
'中国金融制度建立历史'
"中国金融制度建立历史"
])
]);
const
searchResults
=
ref
([
{
img
:
Img1
,
title
:
"美元 “上链”!美国联邦金融稳定币监管法案正式生效"
,
content
:
"《指导与建立美国稳定币国家创新法案》落地,要求稳定币发行方以 1:1 比例储备美元现金、短期美债等高度流动资产,建立联邦与州双轨监管体系。"
,
time
:
"通过日期:2025-10- 05"
,
tag
:
{
name
:
"科技法案"
,
status
:
3
}
},
{
img
:
Img2
,
title
:
"划清监管边界!美国数字资产分类法案众议院高票通过"
,
content
:
"《数字资产市场清晰法案》按去中心化属性划分资产类别,明确 “数字商品” 归 CFTC 监管、“数字资产证” 归 SEC 监管。创设 “金融成熟链机制”。"
,
time
:
"通过日期:2025-10- 05"
,
tag
:
{
name
:
"科技法案"
,
status
:
3
}
},
{
img
:
null
,
title
:
"划清监管边界!美国数字资产分类法案众议院高票通过"
,
content
:
"《数字资产市场清晰法案》按去中心化属性划分资产类别,明确 “数字商品” 归 CFTC 监管、“数字资产证” 归 SEC 监管。创设 “金融成熟链机制”。"
,
time
:
"通过日期:2025-10- 05"
,
tag
:
{
name
:
"科技法案"
,
status
:
3
}
},
{
img
:
null
,
title
:
"划清监管边界!美国数字资产分类法案众议院高票通过"
,
content
:
"《数字资产市场清晰法案》按去中心化属性划分资产类别,明确 “数字商品” 归 CFTC 监管、“数字资产证” 归 SEC 监管。创设 “金融成熟链机制”。"
,
time
:
"通过日期:2025-10- 05"
,
tag
:
{
name
:
"科技法案"
,
status
:
3
}
},
{
img
:
null
,
title
:
"严管金融稳定币发行!美国《STABLE 法案》推进审议"
,
content
:
"法案禁止未授权发行稳定币,违规者将面临每日最高 10 万美元罚款,同时禁止发行方支付利息。要求发行方开展月度审计并公开储备报告,严防关联方资金占用。"
,
time
:
"通过日期:2025-10- 05"
,
tag
:
{
name
:
"科技法案"
,
status
:
3
}
},
{
img
:
null
,
title
:
"严管金融稳定币发行!美国《STABLE 法案》推进审议"
,
content
:
"法案禁止未授权发行稳定币,违规者将面临每日最高 10 万美元罚款,同时禁止发行方支付利息。要求发行方开展月度审计并公开储备报告,严防关联方资金占用。"
,
time
:
"通过日期:2025-10- 05"
,
tag
:
{
name
:
"科技法案"
,
status
:
3
}
},
{
img
:
null
,
title
:
"拒绝政府数字货币!美国众议院通过反 CBDC 监控法案"
,
content
:
"《反 CBDC 监控国家法案》以保护金融隐私为核心,拟永久禁止美联储发行数字美元,禁止其向个人直接或间接发行 CBDC,也不得将 CBDC 用于货币政策工具或开展相关。"
,
time
:
"通过日期:2025-10- 05"
,
tag
:
{
name
:
"科技法案"
,
status
:
3
}
},
{
img
:
null
,
title
:
"拒绝政府数字货币!美国众议院通过反 CBDC 监控法案"
,
content
:
"《反 CBDC 监控国家法案》以保护金融隐私为核心,拟永久禁止美联储发行数字美元,禁止其向个人直接或间接发行 CBDC,也不得将 CBDC 用于货币政策工具或开展相关。"
,
time
:
"通过日期:2025-10- 05"
,
tag
:
{
name
:
"科技法案"
,
status
:
3
}
},
{
img
:
null
,
title
:
"拒绝政府数字货币!美国众议院通过反 CBDC 监控法案"
,
content
:
"《反 CBDC 监控国家法案》以保护金融隐私为核心,拟永久禁止美联储发行数字美元,禁止其向个人直接或间接发行 CBDC,也不得将 CBDC 用于货币政策工具或开展相关。"
,
time
:
"通过日期:2025-10- 05"
,
tag
:
{
name
:
"科技法案"
,
status
:
3
}
},
{
img
:
Img3
,
title
:
"主流加密货币定调!美国 FIT-21 法案确立 “数字商品” 属性"
,
content
:
"《21 世纪金融创新与技术法案》明确比特币、以太坊等主流加密货币归类为 “数字商品”,适用 CFTC 监管框架。建立 SEC 与 CFTC 跨机构协调机制并要求联合发布分类..."
,
time
:
"通过日期:2025-10- 05"
,
tag
:
{
name
:
"科技法案"
,
status
:
3
}
}
]);
const
renderContent
=
str
=>
{
if
(
str
.
includes
(
"金融"
))
{
return
str
.
replace
(
/金融/g
,
'<span style="color: #CE4F51">金融</span>'
);
}
return
str
;
};
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
...
@@ -236,7 +383,7 @@ const relatedSearchList = ref([
...
@@ -236,7 +383,7 @@ const relatedSearchList = ref([
gap
:
8px
;
gap
:
8px
;
margin-bottom
:
8px
;
margin-bottom
:
8px
;
cursor
:
pointer
;
cursor
:
pointer
;
&
:hover
{
&
:hover
{
background
:
rgb
(
234
,
234
,
234
);
background
:
rgb
(
234
,
234
,
234
);
}
}
.icon
{
.icon
{
...
@@ -449,5 +596,99 @@ const relatedSearchList = ref([
...
@@ -449,5 +596,99 @@ const relatedSearchList = ref([
}
}
}
}
}
}
.main
{
width
:
913px
;
height
:
1464px
;
margin-top
:
36px
;
margin-left
:
264px
;
.item
{
width
:
913px
;
height
:
132px
;
margin-bottom
:
16px
;
border-bottom
:
1px
solid
rgba
(
234
,
236
,
238
,
1
);
display
:
flex
;
.item-left
{
width
:
170px
;
height
:
115px
;
img
{
width
:
100%
;
height
:
100%
;
}
}
.item-right
{
// width: 731px;
flex
:
1
;
margin-left
:
12px
;
.title
{
height
:
24px
;
width
:
731px
;
overflow
:
hidden
;
font-family
:
Microsoft
YaHei
;
font-size
:
18px
;
font-weight
:
700
;
line-height
:
24px
;
letter-spacing
:
0px
;
text-align
:
left
;
}
.content
{
margin-top
:
10px
;
height
:
48px
;
font-family
:
Microsoft
YaHei
;
font-size
:
16px
;
color
:
rgba
(
59
,
65
,
75
,
1
);
font-weight
:
400
;
line-height
:
24px
;
letter-spacing
:
0px
;
text-align
:
left
;
}
.item-right-footer
{
display
:
flex
;
.time
{
height
:
22px
;
color
:
rgba
(
132
,
136
,
142
,
1
);
font-family
:
Microsoft
YaHei
;
font-size
:
14px
;
font-weight
:
400
;
line-height
:
22px
;
letter-spacing
:
0px
;
text-align
:
left
;
}
.tag
{
margin-left
:
16px
;
height
:
24px
;
line-height
:
24px
;
box-sizing
:
border-box
;
padding
:
0
8px
;
border-radius
:
4px
;
}
.tag1
{
border
:
1px
solid
rgba
(
255
,
204
,
199
,
1
);
background
:
rgba
(
255
,
241
,
240
,
1
);
color
:
rgba
(
255
,
77
,
79
,
1
);
}
.tag2
{
color
:
rgba
(
250
,
173
,
20
,
1
);
border
:
1px
solid
rgba
(
255
,
241
,
184
,
1
);
background
:
rgba
(
255
,
251
,
230
,
1
);
}
.tag3
{
color
:
rgba
(
22
,
119
,
255
,
1
);
border
:
1px
solid
rgba
(
186
,
224
,
255
,
1
);
background
:
rgba
(
230
,
244
,
255
,
1
);
}
}
}
}
}
.footer
{
width
:
913px
;
margin-left
:
264px
;
height
:
107px
;
box-sizing
:
border-box
;
padding-top
:
10px
;
display
:
flex
;
justify-content
:
center
;
}
}
}
</
style
>
</
style
>
\ No newline at end of file
src/views/decree/decreeHome/index.vue
浏览文件 @
23fb0f30
...
@@ -2778,4 +2778,15 @@ onMounted(async () => {
...
@@ -2778,4 +2778,15 @@ onMounted(async () => {
.
divide
{
.
divide
{
margin
:
0
auto
;
margin
:
0
auto
;
}
}
:
deep
(.
el
-
input__wrapper
)
{
box
-
shadow
:
none
;
}
:
deep
(.
el
-
input__wrapper
:
hover
)
{
box
-
shadow
:
none
!
important
;
}
:
deep
(.
el
-
input__wrapper
.
is
-
focus
)
{
box
-
shadow
:
none
!
important
;
}
<
/style>
<
/style>
\ No newline at end of file
src/views/marketAccessRestrictions/marketAccessHome/index.vue
浏览文件 @
23fb0f30
...
@@ -1788,4 +1788,14 @@ onMounted(async () => {
...
@@ -1788,4 +1788,14 @@ onMounted(async () => {
}
}
}
}
}
}
:deep
(
.el-input__wrapper
)
{
box-shadow
:
none
;
}
:deep
(
.el-input__wrapper
:hover
)
{
box-shadow
:
none
!
important
;
}
:deep
(
.el-input__wrapper.is-focus
)
{
box-shadow
:
none
!
important
;
}
</
style
>
</
style
>
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论