Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
R
risk-monitor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
蔡建
risk-monitor
Commits
06cad7ab
提交
06cad7ab
authored
12月 31, 2025
作者:
coderBryanFu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update
上级
a94961db
隐藏空白字符变更
内嵌
并排
正在显示
12 个修改的文件
包含
425 行增加
和
254 行删除
+425
-254
App.vue
src/App.vue
+1
-1
index.js
src/api/comprehensiveSearch/index.js
+14
-0
index.vue
src/views/bill/billHome/index.vue
+81
-57
index.vue
src/views/comprehensiveSearch/searchResults/index.vue
+152
-73
index.vue
src/views/decree/decreeHome/index.vue
+7
-7
index.vue
src/views/decree/decreeLayout/deepdig/index.vue
+1
-1
index.vue
src/views/decree/decreeLayout/influence/index.vue
+2
-2
index.vue
src/views/decree/decreeLayout/overview/background/index.vue
+1
-1
index.vue
...views/decree/decreeLayout/overview/introduction/index.vue
+8
-6
index.vue
src/views/exportControl/index.vue
+8
-15
index.vue
src/views/thinkTank/index.vue
+145
-91
vite.config.js
vite.config.js
+5
-0
没有找到文件。
src/App.vue
浏览文件 @
06cad7ab
...
@@ -276,7 +276,7 @@ body {
...
@@ -276,7 +276,7 @@ body {
border-radius
:
6px
;
border-radius
:
6px
;
color
:
#333
;
color
:
#333
;
position
:
absolute
;
position
:
absolute
;
right
:
37
px
;
right
:
160
px
;
.email
{
.email
{
width
:
20px
;
width
:
20px
;
...
...
src/api/comprehensiveSearch/index.js
0 → 100644
浏览文件 @
06cad7ab
import
request
from
"@/api/request.js"
;
// 头部信息
/**
* @param { page, size, keyword, type, domains }
*/
export
function
search
(
data
)
{
return
request
({
method
:
'POST'
,
url
:
`/temporarySearch/search-info/es/page`
,
data
:
data
})
}
\ No newline at end of file
src/views/bill/billHome/index.vue
浏览文件 @
06cad7ab
...
@@ -24,7 +24,7 @@
...
@@ -24,7 +24,7 @@
</div>
</div>
</div>
</div>
<div
class=
"btn"
@
click=
"handleToPosi('position3')"
>
<div
class=
"btn"
@
click=
"handleToPosi('position3')"
>
<div
class=
"btn-text"
>
{{
"
统计概
览"
}}
</div>
<div
class=
"btn-text"
>
{{
"
数据总
览"
}}
</div>
<div
class=
"btn-icon"
>
<div
class=
"btn-icon"
>
<img
src=
"@/assets/icons/arrow-right-icon.png"
alt=
""
/>
<img
src=
"@/assets/icons/arrow-right-icon.png"
alt=
""
/>
</div>
</div>
...
@@ -92,7 +92,7 @@
...
@@ -92,7 +92,7 @@
</div>
</div>
</div>
</div>
<div
class=
"btn"
@
click=
"handleToPosi('position3')"
>
<div
class=
"btn"
@
click=
"handleToPosi('position3')"
>
<div
class=
"btn-text"
>
{{
"
统计概
览"
}}
</div>
<div
class=
"btn-text"
>
{{
"
数据总
览"
}}
</div>
<div
class=
"btn-icon"
>
<div
class=
"btn-icon"
>
<img
src=
"@/assets/icons/arrow-right-icon.png"
alt=
""
/>
<img
src=
"@/assets/icons/arrow-right-icon.png"
alt=
""
/>
</div>
</div>
...
@@ -269,7 +269,12 @@
...
@@ -269,7 +269,12 @@
@
click=
"handleClickToNewsDetail(news)"
@
click=
"handleClickToNewsDetail(news)"
>
>
<div
class=
"left"
>
<div
class=
"left"
>
<img
:src=
"getProxyUrl(news.newsImage) || defaultNew"
alt=
""
referrerpolicy=
"no-referrer"
@
error=
"e => e.target.src = News1"
/>
<img
:src=
"getProxyUrl(news.newsImage) || defaultNew"
alt=
""
referrerpolicy=
"no-referrer"
@
error=
"e => (e.target.src = News1)"
/>
</div>
</div>
<div
class=
"right"
>
<div
class=
"right"
>
<div
class=
"right-top"
>
<div
class=
"right-top"
>
...
@@ -293,7 +298,12 @@
...
@@ -293,7 +298,12 @@
<div
class=
"box4-main"
>
<div
class=
"box4-main"
>
<div
class=
"box4-main-item"
v-for=
"(item, index) in messageList"
:key=
"index"
>
<div
class=
"box4-main-item"
v-for=
"(item, index) in messageList"
:key=
"index"
>
<div
class=
"left"
@
click=
"handleClcikToCharacter(item, index)"
>
<div
class=
"left"
@
click=
"handleClcikToCharacter(item, index)"
>
<img
:src=
"getProxyUrl(item.personImage) || Message3"
alt=
""
referrerpolicy=
"no-referrer"
@
error=
"e => e.target.src = Message3"
/>
<img
:src=
"getProxyUrl(item.personImage) || Message3"
alt=
""
referrerpolicy=
"no-referrer"
@
error=
"e => (e.target.src = Message3)"
/>
</div>
</div>
<div
class=
"right"
>
<div
class=
"right"
>
<div
class=
"right-top"
>
<div
class=
"right-top"
>
...
@@ -306,7 +316,7 @@
...
@@ -306,7 +316,7 @@
</div>
</div>
</div>
</div>
</div>
</div>
<DivideHeader
id=
"position3"
class=
"divide3"
:titleText=
"'
统计概
览'"
></DivideHeader>
<DivideHeader
id=
"position3"
class=
"divide3"
:titleText=
"'
数据总
览'"
></DivideHeader>
<div
class=
"center-footer"
>
<div
class=
"center-footer"
>
<div
class=
"box5"
>
<div
class=
"box5"
>
<div
class=
"box5-header"
>
<div
class=
"box5-header"
>
...
@@ -673,7 +683,14 @@
...
@@ -673,7 +683,14 @@
<
div
class
=
"item"
>
<
div
class
=
"item"
>
<
div
class
=
"item-left"
>
{{
"法案进展:"
}}
<
/div
>
<
div
class
=
"item-left"
>
{{
"法案进展:"
}}
<
/div
>
<
div
class
=
"item-right2"
>
<
div
class
=
"item-right2"
>
<
div
class
=
"tag"
v
-
for
=
"(val, idx) in [...item.progress].reverse()"
:
key
=
"idx"
:
style
=
"{ zIndex: item.progress.length - idx
}
"
>
{{
val
}}
<
/div
>
<
div
class
=
"tag"
v
-
for
=
"(val, idx) in [...item.progress].reverse()"
:
key
=
"idx"
:
style
=
"{ zIndex: item.progress.length - idx
}
"
>
{{
val
}}
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
...
@@ -751,7 +768,7 @@ import bill10 from "./assets/images/bill10.png";
...
@@ -751,7 +768,7 @@ import bill10 from "./assets/images/bill10.png";
import
bill11
from
"./assets/images/bill11.png"
;
import
bill11
from
"./assets/images/bill11.png"
;
import
bill12
from
"./assets/images/bill12.png"
;
import
bill12
from
"./assets/images/bill12.png"
;
import
defaultNew
from
"../assets/images/default-icon-news.png"
import
defaultNew
from
"../assets/images/default-icon-news.png"
;
import
News1
from
"./assets/images/news1.png"
;
import
News1
from
"./assets/images/news1.png"
;
import
News2
from
"./assets/images/news2.png"
;
import
News2
from
"./assets/images/news2.png"
;
import
News3
from
"./assets/images/news3.png"
;
import
News3
from
"./assets/images/news3.png"
;
...
@@ -777,15 +794,20 @@ import { iteratee } from "lodash";
...
@@ -777,15 +794,20 @@ import { iteratee } from "lodash";
const
searchBillText
=
ref
(
""
);
const
searchBillText
=
ref
(
""
);
// 处理图片代理
// 处理图片代理
const
getProxyUrl
=
(
url
)
=>
{
const
getProxyUrl
=
url
=>
{
if
(
!
url
)
return
""
;
if
(
!
url
)
return
""
;
const
urlStr
=
String
(
url
);
const
urlStr
=
String
(
url
);
// 排除非 http 开头(相对路径)、已经是代理链接、或者是本地链接
// 排除非 http 开头(相对路径)、已经是代理链接、或者是本地链接
if
(
!
urlStr
.
startsWith
(
'http'
)
||
urlStr
.
includes
(
'images.weserv.nl'
)
||
urlStr
.
includes
(
'localhost'
)
||
urlStr
.
includes
(
'127.0.0.1'
))
{
if
(
!
urlStr
.
startsWith
(
"http"
)
||
urlStr
.
includes
(
"images.weserv.nl"
)
||
urlStr
.
includes
(
"localhost"
)
||
urlStr
.
includes
(
"127.0.0.1"
)
)
{
return
url
;
return
url
;
}
}
// 移除协议头 http:// 或 https://
// 移除协议头 http:// 或 https://
const
cleanUrl
=
urlStr
.
replace
(
/^https
?
:
\/\/
/i
,
''
);
const
cleanUrl
=
urlStr
.
replace
(
/^https
?
:
\/\/
/i
,
""
);
return
`https://images.weserv.nl/?url=${encodeURIComponent(cleanUrl)
}
`
;
return
`https://images.weserv.nl/?url=${encodeURIComponent(cleanUrl)
}
`
;
}
;
}
;
...
@@ -887,16 +909,14 @@ const handleToMoreRiskSignal = () => {
...
@@ -887,16 +909,14 @@ const handleToMoreRiskSignal = () => {
window
.
open
(
route
.
href
,
"_blank"
);
window
.
open
(
route
.
href
,
"_blank"
);
}
;
}
;
// 跳转新闻详情页
// 跳转新闻详情页
const
handleClickToNewsDetail
=
(
news
)
=>
{
const
handleClickToNewsDetail
=
news
=>
{
// window.sessionStorage.setItem("newsId", "119_HR_1");
// window.sessionStorage.setItem("newsId", "119_HR_1");
const
route
=
router
.
resolve
(
const
route
=
router
.
resolve
({
{
path
:
"/newsAnalysis"
,
path
:
"/newsAnalysis"
,
query
:
{
query
:
{
newsId
:
news
.
newsId
newsId
:
news
.
newsId
}
}
}
);
}
);
window
.
open
(
route
.
href
,
"_blank"
);
window
.
open
(
route
.
href
,
"_blank"
);
}
;
}
;
...
@@ -1979,45 +1999,49 @@ onUnmounted(() => {});
...
@@ -1979,45 +1999,49 @@ onUnmounted(() => {});
}
}
}
}
.
home
-
main
-
header
-
btn
-
box
{
.
home
-
main
-
header
-
btn
-
box
{
margin
-
top
:
36
px
;
width
:
688
px
;
margin
:
0
auto
;
margin
-
top
:
39
px
;
display
:
flex
;
display
:
flex
;
.
btn
{
justify
-
content
:
space
-
between
;
display
:
flex
;
.
btn
{
width
:
160
px
;
display
:
flex
;
height
:
48
px
;
align
-
items
:
center
;
border
:
1
px
solid
#
aed6ff
;
gap
:
9
px
;
box
-
sizing
:
border
-
box
;
width
:
160
px
;
border
-
radius
:
24
px
;
height
:
48
px
;
justify
-
content
:
center
;
border
:
1
px
solid
#
aed6ff
;
margin
:
0
16
px
;
box
-
sizing
:
border
-
box
;
background
:
#
e7f3ff
;
border
-
radius
:
24
px
;
cursor
:
pointer
;
background
:
#
e7f3ff
;
position
:
relative
;
cursor
:
pointer
;
&
:
hover
{
position
:
relative
;
background
:
#
cae3fc
;
&
:
hover
{
}
background
:
#
cae3fc
;
.
btn
-
text
{
}
color
:
var
(
--
color
-
main
-
active
);
.
btn
-
text
{
font
-
family
:
Microsoft
YaHei
;
width
:
80
px
;
font
-
size
:
20
px
;
color
:
var
(
--
color
-
main
-
active
);
font
-
weight
:
400
;
font
-
family
:
Microsoft
YaHei
;
line
-
height
:
42
px
;
font
-
size
:
20
px
;
margin
-
left
:
5
px
;
font
-
weight
:
400
;
text
-
align
:
center
;
line
-
height
:
48
px
;
}
margin
-
left
:
36
px
;
.
btn
-
icon
{
text
-
align
:
center
;
position
:
absolute
;
}
top
:
16
px
;
.
btn
-
icon
{
right
:
19
px
;
position
:
absolute
;
width
:
6
px
;
top
:
16
px
;
height
:
12
px
;
right
:
19
px
;
img
{
width
:
6
px
;
width
:
100
%
;
height
:
12
px
;
height
:
100
%
;
img
{
}
width
:
100
%
;
height
:
100
%
;
}
}
}
}
}
}
}
}
}
.
divide1
{
.
divide1
{
margin
-
top
:
64
px
;
margin
-
top
:
64
px
;
...
@@ -3437,7 +3461,7 @@ onUnmounted(() => {});
...
@@ -3437,7 +3461,7 @@ onUnmounted(() => {});
font
-
weight
:
400
;
font
-
weight
:
400
;
&
::
after
{
&
::
after
{
content
:
''
;
content
:
""
;
position
:
absolute
;
position
:
absolute
;
top
:
50
%
;
top
:
50
%
;
right
:
-
8.485
px
;
right
:
-
8.485
px
;
...
@@ -3448,17 +3472,17 @@ onUnmounted(() => {});
...
@@ -3448,17 +3472,17 @@ onUnmounted(() => {});
border
-
right
:
1
px
solid
rgb
(
234
,
236
,
238
);
border
-
right
:
1
px
solid
rgb
(
234
,
236
,
238
);
transform
:
translateY
(
-
50
%
)
rotate
(
45
deg
);
transform
:
translateY
(
-
50
%
)
rotate
(
45
deg
);
z
-
index
:
1
;
z
-
index
:
1
;
box
-
shadow
:
2
px
-
2
px
2
px
rgba
(
0
,
0
,
0
,
0.05
);
box
-
shadow
:
2
px
-
2
px
2
px
rgba
(
0
,
0
,
0
,
0.05
);
box
-
sizing
:
border
-
box
;
box
-
sizing
:
border
-
box
;
}
}
&
:
first
-
child
{
&
:
first
-
child
{
margin
-
left
:
0
;
margin
-
left
:
0
;
padding
-
left
:
10
px
;
padding
-
left
:
10
px
;
border
-
left
:
1
px
solid
rgb
(
234
,
236
,
238
);
border
-
left
:
1
px
solid
rgb
(
234
,
236
,
238
);
border
-
radius
:
4
px
0
0
4
px
;
border
-
radius
:
4
px
0
0
4
px
;
}
}
&
:
last
-
child
{
&
:
last
-
child
{
background
:
rgb
(
59
,
65
,
75
);
background
:
rgb
(
59
,
65
,
75
);
color
:
rgba
(
255
,
255
,
255
,
1
);
color
:
rgba
(
255
,
255
,
255
,
1
);
...
...
src/views/comprehensiveSearch/searchResults/index.vue
浏览文件 @
06cad7ab
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
<div
class=
"icon"
>
<div
class=
"icon"
>
<img
src=
"./assets/images/search-icon1.png"
alt=
""
/>
<img
src=
"./assets/images/search-icon1.png"
alt=
""
/>
</div>
</div>
<el-input
:border=
"false"
style=
"width: 900px; height: 100%"
/>
<el-input
v-model=
"keyword"
:border=
"false"
style=
"width: 900px; height: 100%"
/>
</div>
</div>
<div
class=
"right"
>
<div
class=
"right"
>
<img
src=
"./assets/images/ai-icon.png"
alt=
""
/>
<img
src=
"./assets/images/ai-icon.png"
alt=
""
/>
...
@@ -14,41 +14,55 @@
...
@@ -14,41 +14,55 @@
</div>
</div>
<div
class=
"tab-box"
>
<div
class=
"tab-box"
>
<div
class=
"tab-left"
>
<div
class=
"tab-left"
>
<div
class=
"tab"
:class=
"
{ tabActive: item.isActive }" v-for="(item, index) in tabList" :key="index">
<div
class=
"tab"
:class=
"
{ tabActive: activeTabId === item.id }"
v-for="(item, index) in tabList"
:key="index"
@click="handleClickTab(item.name, item.id)"
>
{{
item
.
name
}}
{{
item
.
name
}}
</div>
</div>
</div>
</div>
<div
class=
"tab-right"
>
<
!--
<
div
class=
"tab-right"
>
<div
class=
"text"
>
{{
"全部国家"
}}
</div>
<div
class=
"text"
>
{{
"全部国家"
}}
</div>
<div
class=
"icon"
>
<div
class=
"icon"
>
<img
src=
"./assets/images/down.png"
alt=
""
/>
<img
src=
"./assets/images/down.png"
alt=
""
/>
</div>
</div>
</div>
</div>
-->
</div>
</div>
<div
class=
"tag-box"
>
<div
class=
"tag-box"
>
<div
class=
"tag"
v-for=
"(item, index) in tagList"
:key=
"index"
>
{{
item
.
name
}}
</div>
<div
class=
"tag"
:class=
"
{ tagActive: item.selected }"
@click="handleClickDomains(item)"
v-for="item in domains"
:key="item.id"
>
{{
item
.
name
}}
</div>
</div>
</div>
<div
class=
"info-box"
>
<div
class=
"info-box"
>
<div
class=
"info-left"
>
<div
class=
"info-left"
>
<div
class=
"text-box"
>
<div
class=
"text-box"
>
搜索结果
<span
class=
"text-1"
>
{{
"356"
}}
</span
搜索结果
<span
class=
"text-1"
>
{{
totalNum
}}
</span
>
条
>
条
</div>
</div>
<div
class=
"text-box"
>
<div
class=
"text-box"
>
搜索关键词:
<span
class=
"text-2"
>
{{
"金融"
}}
</span>
搜索关键词:
<span
class=
"text-2"
>
{{
keyword
}}
</span>
</div>
</div>
<div
class=
"text-box"
>
<div
class=
"text-box"
>
当前领域:
<span
class=
"text-2"
>
{{
"科技法案"
}}
</span>
当前领域:
<span
class=
"text-2"
>
{{
curArea
}}
</span>
</div>
</div>
</div>
</div>
<div
class=
"info-right"
>
<
!--
<
div
class=
"info-right"
>
<el-select
v-model=
"selectTime"
placeholder=
"选择时间"
style=
"width: 125px"
>
<el-select
v-model=
"selectTime"
placeholder=
"选择时间"
style=
"width: 125px"
>
<el-option
v-for=
"item in timeList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
<el-option
v-for=
"item in timeList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</el-select>
<el-select
v-model=
"selectRelation"
placeholder=
"选择相关度"
style=
"width: 125px"
>
<el-select
v-model=
"selectRelation"
placeholder=
"选择相关度"
style=
"width: 125px"
>
<el-option
v-for=
"item in relationList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
<el-option
v-for=
"item in relationList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</el-select>
</div>
</div>
-->
</div>
</div>
<div
class=
"summary-box"
>
<div
class=
"summary-box"
>
<div
class=
"summary-header"
>
<div
class=
"summary-header"
>
...
@@ -75,25 +89,24 @@
...
@@ -75,25 +89,24 @@
<div
class=
"main"
>
<div
class=
"main"
>
<div
class=
"item"
v-for=
"(item, index) in searchResults"
:key=
"index"
>
<div
class=
"item"
v-for=
"(item, index) in searchResults"
:key=
"index"
>
<div
class=
"item-left"
v-if=
"item.img"
>
<div
class=
"item-left"
v-if=
"item.img"
>
<img
:src=
"item.img"
alt=
""
>
<img
:src=
"item.img"
alt=
""
/
>
</div>
</div>
<div
class=
"item-right"
>
<div
class=
"item-right"
>
<div
class=
"title"
v-html=
"renderContent(item.title)"
></div>
<div
class=
"title"
v-html=
"renderContent(item.title)"
></div>
<div
class=
"content"
v-html=
"renderContent(item.
content
)"
></div>
<div
class=
"content"
v-html=
"renderContent(item.
description
)"
></div>
<div
class=
"item-right-footer"
>
<div
class=
"item-right-footer"
>
<div
class=
"time"
>
{{
item
.
tim
e
}}
</div>
<div
class=
"time"
>
{{
item
.
dat
e
}}
</div>
<div
<div
class=
"tag"
class=
"tag tag3"
:class=
"
{ tag1: item.tag.status === 1, tag2: item.tag.status === 2, tag3: item.tag.status === 3 }"
>
>
{{
item
.
t
ag
.
name
}}
{{
item
.
t
ypeStr
}}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"footer"
>
<div
class=
"footer"
>
<el-pagination
background
layout=
"prev, pager, next"
:total=
"96
"
/>
<el-pagination
@
current-change=
"handleChangeCurrentPage"
:size=
"pageSize"
:current-page=
"currentPage"
background
layout=
"prev, pager, next"
:total=
"totalNum
"
/>
</div>
</div>
</div>
</div>
</
template
>
</
template
>
...
@@ -101,81 +114,67 @@
...
@@ -101,81 +114,67 @@
<
script
setup
>
<
script
setup
>
import
{
ref
,
onMounted
}
from
"vue"
;
import
{
ref
,
onMounted
}
from
"vue"
;
import
Img1
from
'./assets/images/img1.png'
import
{
search
}
from
"@/api/comprehensiveSearch/index"
;
import
Img2
from
'./assets/images/img2.png'
import
Img3
from
'./assets/images/img3.png'
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
(
"相关度优先"
);
const
keyword
=
ref
(
"出口"
);
const
tabList
=
ref
([
const
tabList
=
ref
([
{
{
name
:
"法案"
,
name
:
"法案"
,
i
sActive
:
true
i
d
:
1
},
},
{
{
name
:
"政令"
,
name
:
"政令"
,
isActive
:
false
id
:
2
},
{
name
:
"科技智库"
,
isActive
:
false
},
{
name
:
"企业"
,
isActive
:
false
},
{
name
:
"出口管制"
,
isActive
:
false
},
{
name
:
"市场准入"
,
isActive
:
false
},
{
name
:
"投融资限制"
,
isActive
:
false
},
{
name
:
"重要人物"
,
isActive
:
false
}
]);
const
tagList
=
ref
([
{
name
:
"人工智能"
},
},
{
{
name
:
"集成电路"
name
:
"智库"
,
id
:
3
},
},
{
{
name
:
"通信网络"
name
:
"智库报告"
,
id
:
4
},
},
{
{
name
:
"量子科技"
name
:
"实体清单"
,
id
:
5
},
},
{
{
name
:
"能源"
name
:
"人物"
,
id
:
6
},
},
{
{
name
:
"生物科技"
name
:
"机构"
,
id
:
7
},
},
{
{
name
:
"航空航天"
name
:
"新闻"
,
id
:
8
},
},
{
{
name
:
"海洋"
name
:
"社媒"
,
},
id
:
9
{
name
:
"新材料"
},
{
name
:
"先进制造"
}
}
]);
]);
const
activeTabId
=
ref
(
5
);
const
curArea
=
ref
(
'实体清单'
)
const
handleClickTab
=
(
name
,
id
)
=>
{
activeTabId
.
value
=
id
;
curArea
.
value
=
name
domains
.
value
=
[]
selectedDomains
.
value
=
[]
handleSearch
()
};
const
timeList
=
ref
([
const
timeList
=
ref
([
{
{
label
:
"全部时间"
,
label
:
"全部时间"
,
...
@@ -335,6 +334,62 @@ const renderContent = str => {
...
@@ -335,6 +334,62 @@ const renderContent = str => {
}
}
return
str
;
return
str
;
};
};
const
pageSize
=
ref
(
10
);
const
currentPage
=
ref
(
1
);
const
totalNum
=
ref
(
0
)
const
handleChangeCurrentPage
=
page
=>
{
currentPage
.
value
=
page
handleSearch
()
}
const
domains
=
ref
([
{
name
:
""
,
id
:
""
}
]);
const
selectedDomains
=
ref
([]);
const
handleClickDomains
=
domain
=>
{
domain
.
selected
=
!
domain
.
selected
;
selectedDomains
.
value
=
domains
.
value
.
filter
(
item
=>
{
return
item
.
selected
;
})
.
map
(
item
=>
item
.
name
);
console
.
log
(
"selectedDomains"
,
selectedDomains
.
value
);
handleSearch
();
};
const
handleSearch
=
async
()
=>
{
const
params
=
{
size
:
pageSize
.
value
,
page
:
currentPage
.
value
,
keyword
:
keyword
.
value
,
// "出口"
type
:
activeTabId
.
value
,
domains
:
selectedDomains
.
value
};
try
{
const
res
=
await
search
(
params
);
console
.
log
(
"综合搜索结果"
,
res
);
if
(
res
.
code
===
200
&&
res
.
data
)
{
if
(
!
selectedDomains
.
value
.
length
)
{
domains
.
value
=
Object
.
entries
(
res
.
data
.
aggregations
).
map
(([
name
,
id
])
=>
({
name
,
id
,
selected
:
false
}));
}
searchResults
.
value
=
res
.
data
.
records
totalNum
.
value
=
res
.
data
.
total
}
}
catch
(
error
)
{}
};
handleSearch
();
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
...
@@ -510,8 +565,10 @@ const renderContent = str => {
...
@@ -510,8 +565,10 @@ const renderContent = str => {
.tag-box
{
.tag-box
{
margin-top
:
16px
;
margin-top
:
16px
;
width
:
908px
;
width
:
908px
;
height
:
32px
;
min-height
:
32px
;
max-height
:
64px
;
display
:
flex
;
display
:
flex
;
flex-wrap
:
wrap
;
gap
:
12px
;
gap
:
12px
;
margin-left
:
256px
;
margin-left
:
256px
;
.tag
{
.tag
{
...
@@ -526,10 +583,16 @@ const renderContent = str => {
...
@@ -526,10 +583,16 @@ const renderContent = str => {
font-family
:
Microsoft
YaHei
;
font-family
:
Microsoft
YaHei
;
font-size
:
16px
;
font-size
:
16px
;
font-weight
:
400
;
font-weight
:
400
;
cursor
:
pointer
;
}
.tagActive
{
color
:
var
(
--
color-main-active
);
border
:
1px
solid
var
(
--
color-main-active
);
background
:
rgba
(
231
,
243
,
255
,
1
);
}
}
}
}
.info-box
{
.info-box
{
margin-top
:
1
6px
;
margin-top
:
2
6px
;
margin-left
:
257px
;
margin-left
:
257px
;
width
:
920px
;
width
:
920px
;
height
:
32px
;
height
:
32px
;
...
@@ -567,7 +630,7 @@ const renderContent = str => {
...
@@ -567,7 +630,7 @@ const renderContent = str => {
width
:
960px
;
width
:
960px
;
height
:
260px
;
height
:
260px
;
margin-left
:
240px
;
margin-left
:
240px
;
margin-top
:
3
6px
;
margin-top
:
2
6px
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
border
:
1px
solid
rgba
(
231
,
243
,
255
,
1
);
border
:
1px
solid
rgba
(
231
,
243
,
255
,
1
);
border-radius
:
10px
;
border-radius
:
10px
;
...
@@ -603,14 +666,16 @@ const renderContent = str => {
...
@@ -603,14 +666,16 @@ const renderContent = str => {
margin-left
:
264px
;
margin-left
:
264px
;
.item
{
.item
{
width
:
913px
;
width
:
913px
;
height
:
132px
;
min-height
:
108px
;
max-height
:
132px
;
padding-bottom
:
24px
;
margin-bottom
:
16px
;
margin-bottom
:
16px
;
border-bottom
:
1px
solid
rgba
(
234
,
236
,
238
,
1
);
border-bottom
:
1px
solid
rgba
(
234
,
236
,
238
,
1
);
display
:
flex
;
display
:
flex
;
.item-left
{
.item-left
{
width
:
170px
;
width
:
170px
;
height
:
115px
;
height
:
115px
;
img
{
img
{
width
:
100%
;
width
:
100%
;
height
:
100%
;
height
:
100%
;
}
}
...
@@ -633,7 +698,8 @@ const renderContent = str => {
...
@@ -633,7 +698,8 @@ const renderContent = str => {
}
}
.content
{
.content
{
margin-top
:
10px
;
margin-top
:
10px
;
height
:
48px
;
min-height
:
24px
;
max-height
:
48px
;
font-family
:
Microsoft
YaHei
;
font-family
:
Microsoft
YaHei
;
font-size
:
16px
;
font-size
:
16px
;
color
:
rgba
(
59
,
65
,
75
,
1
);
color
:
rgba
(
59
,
65
,
75
,
1
);
...
@@ -643,14 +709,15 @@ const renderContent = str => {
...
@@ -643,14 +709,15 @@ const renderContent = str => {
text-align
:
left
;
text-align
:
left
;
}
}
.item-right-footer
{
.item-right-footer
{
margin-top
:
10px
;
display
:
flex
;
display
:
flex
;
.time
{
.time
{
height
:
2
2
px
;
height
:
2
4
px
;
color
:
rgba
(
132
,
136
,
142
,
1
);
color
:
rgba
(
132
,
136
,
142
,
1
);
font-family
:
Microsoft
YaHei
;
font-family
:
Microsoft
YaHei
;
font-size
:
14px
;
font-size
:
14px
;
font-weight
:
400
;
font-weight
:
400
;
line-height
:
2
2
px
;
line-height
:
2
4
px
;
letter-spacing
:
0px
;
letter-spacing
:
0px
;
text-align
:
left
;
text-align
:
left
;
}
}
...
@@ -691,4 +758,15 @@ const renderContent = str => {
...
@@ -691,4 +758,15 @@ const renderContent = str => {
justify-content
:
center
;
justify-content
:
center
;
}
}
}
}
:deep
(
.el-input__inner
)
{
color
:
rgba
(
59
,
65
,
75
,
1
);
font-family
:
Microsoft
YaHei
;
font-style
:
Regular
;
font-size
:
16px
;
font-weight
:
400
;
line-height
:
24px
;
letter-spacing
:
0px
;
text-align
:
left
;
}
</
style
>
</
style
>
\ No newline at end of file
src/views/decree/decreeHome/index.vue
浏览文件 @
06cad7ab
...
@@ -419,7 +419,7 @@
...
@@ -419,7 +419,7 @@
v-for=
"cate in govInsList"
v-for=
"cate in govInsList"
:key=
"cate.id"
:key=
"cate.id"
v-model=
"checkedGovIns"
v-model=
"checkedGovIns"
:label=
"cate.
name
"
:label=
"cate.
id
"
style=
"width: 180px"
style=
"width: 180px"
class=
"filter-checkbox"
class=
"filter-checkbox"
@
change=
"handleChangeCheckedGovIns"
@
change=
"handleChangeCheckedGovIns"
...
@@ -640,7 +640,7 @@ const govInsList = ref([
...
@@ -640,7 +640,7 @@ const govInsList = ref([
// name: "美国财政部"
// name: "美国财政部"
// },
// },
]);
]);
const
checkedGovIns
=
ref
([
"白宫"
]);
const
checkedGovIns
=
ref
([]);
const
handleChangeCheckedGovIns
=
val
=>
{};
const
handleChangeCheckedGovIns
=
val
=>
{};
...
@@ -1206,14 +1206,14 @@ const handleGetDecreeOrderList = async () => {
...
@@ -1206,14 +1206,14 @@ const handleGetDecreeOrderList = async () => {
};
};
try
{
try
{
const
res
=
await
getDecreeOrderList
(
params
);
const
res
=
await
getDecreeOrderList
(
params
);
console
.
log
(
"资源库列表"
,
res
.
data
.
content
);
console
.
log
(
"资源库列表"
,
res
);
if
(
res
.
code
===
200
&&
res
.
data
)
{
if
(
res
.
code
===
200
&&
res
.
data
)
{
totalDecreesNum
.
value
=
res
.
data
.
totalElements
;
totalDecreesNum
.
value
=
res
.
data
.
totalElements
;
decreeList
.
value
=
res
.
data
.
content
.
map
(
item
=>
{
decreeList
.
value
=
res
.
data
.
content
.
map
(
item
=>
{
return
{
return
{
id
:
item
.
id
,
id
:
item
.
id
,
time
:
item
.
postDate
,
time
:
item
.
postDate
,
title
:
item
.
name
,
title
:
item
.
proposeOrgName
+
': '
+
item
.
name
,
desc
:
item
.
describe
,
desc
:
item
.
describe
,
img
:
item
.
orgImage
,
img
:
item
.
orgImage
,
tagList
:
item
.
industryList
tagList
:
item
.
industryList
...
@@ -2724,7 +2724,7 @@ onMounted(async () => {
...
@@ -2724,7 +2724,7 @@ onMounted(async () => {
.box7
{
.box7
{
width
:
792px
;
width
:
792px
;
height
:
450px
;
height
:
450px
;
border-radius
:
4
px
;
border-radius
:
10
px
;
box-shadow
:
0px
0px
15px
0px
rgba
(
60
,
87
,
126
,
0
.2
);
box-shadow
:
0px
0px
15px
0px
rgba
(
60
,
87
,
126
,
0
.2
);
background
:
rgba
(
255
,
255
,
255
,
1
);
background
:
rgba
(
255
,
255
,
255
,
1
);
.box7-header
{
.box7-header
{
...
@@ -2829,7 +2829,7 @@ onMounted(async () => {
...
@@ -2829,7 +2829,7 @@ onMounted(async () => {
margin-left
:
16px
;
margin-left
:
16px
;
width
:
792px
;
width
:
792px
;
height
:
450px
;
height
:
450px
;
border-radius
:
4
px
;
border-radius
:
10
px
;
box-shadow
:
0px
0px
15px
0px
rgba
(
60
,
87
,
126
,
0
.2
);
box-shadow
:
0px
0px
15px
0px
rgba
(
60
,
87
,
126
,
0
.2
);
background
:
rgba
(
255
,
255
,
255
,
1
);
background
:
rgba
(
255
,
255
,
255
,
1
);
.box8-header
{
.box8-header
{
...
@@ -2873,7 +2873,7 @@ onMounted(async () => {
...
@@ -2873,7 +2873,7 @@ onMounted(async () => {
.divide4
{
.divide4
{
margin
:
0
auto
;
margin
:
0
auto
;
margin-top
:
52px
;
margin-top
:
52px
;
margin-bottom
:
3
6px
;
margin-bottom
:
6px
;
}
}
.home-main-footer-header
{
.home-main-footer-header
{
width
:
1600px
;
width
:
1600px
;
...
...
src/views/decree/decreeLayout/deepdig/index.vue
浏览文件 @
06cad7ab
...
@@ -324,7 +324,7 @@ onMounted(() => {
...
@@ -324,7 +324,7 @@ onMounted(() => {
margin
:
16
px
auto
;
margin
:
16
px
auto
;
width
:
1600
px
;
width
:
1600
px
;
height
:
898
px
;
height
:
898
px
;
border
-
radius
:
4
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
);
.
box1
-
main
{
.
box1
-
main
{
...
...
src/views/decree/decreeLayout/influence/index.vue
浏览文件 @
06cad7ab
...
@@ -496,7 +496,7 @@ onMounted(() => {
...
@@ -496,7 +496,7 @@ onMounted(() => {
.
box1
{
.
box1
{
width
:
480
px
;
width
:
480
px
;
height
:
845
px
;
height
:
845
px
;
border
-
radius
:
4
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
);
.
box1
-
top
{
.
box1
-
top
{
...
@@ -618,7 +618,7 @@ onMounted(() => {
...
@@ -618,7 +618,7 @@ onMounted(() => {
width
:
1105
px
;
width
:
1105
px
;
height
:
847
px
;
height
:
847
px
;
background
:
rgba
(
255
,
255
,
255
);
background
:
rgba
(
255
,
255
,
255
);
border
-
radius
:
4
px
;
border
-
radius
:
10
px
;
position
:
relative
;
position
:
relative
;
.
box2
-
main
{
.
box2
-
main
{
height
:
799
px
;
height
:
799
px
;
...
...
src/views/decree/decreeLayout/overview/background/index.vue
浏览文件 @
06cad7ab
...
@@ -479,7 +479,7 @@ onMounted(() => {
...
@@ -479,7 +479,7 @@ onMounted(() => {
margin
-
top
:
16
px
;
margin
-
top
:
16
px
;
width
:
520
px
;
width
:
520
px
;
height
:
845
px
;
height
:
845
px
;
border
-
radius
:
4
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
);
.
box3
-
main
{
.
box3
-
main
{
...
...
src/views/decree/decreeLayout/overview/introduction/index.vue
浏览文件 @
06cad7ab
...
@@ -64,7 +64,7 @@
...
@@ -64,7 +64,7 @@
<div
class=
"item"
>
<div
class=
"item"
>
<div
class=
"item-left"
>
{{ "执行期限:" }}
</div>
<div
class=
"item-left"
>
{{ "执行期限:" }}
</div>
<div
class=
"item-right text"
>
<div
class=
"item-right text"
>
{{ basicInfo.deadline }}
{{ basicInfo.deadline
+ ' 天'
}}
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -421,14 +421,16 @@ onMounted(() => {
...
@@ -421,14 +421,16 @@ onMounted(() => {
position
:
absolute
;
position
:
absolute
;
z-index
:
9999
;
z-index
:
9999
;
width
:
320px
;
width
:
320px
;
height
:
56
px
;
height
:
64
px
;
top
:
14px
;
top
:
14px
;
right
:
84px
;
right
:
84px
;
display
:
flex
;
display
:
flex
;
justify-content
:
flex-end
;
justify-content
:
flex-end
;
flex-wrap
:
wrap
;
flex-wrap
:
wrap
;
gap
:
8px
;
gap
:
5px
8px
;
white-space
:
nowrap
;
white-space
:
nowrap
;
overflow
:hidden
;
overflow-y
:
auto
;
.btn
{
.btn
{
min-width
:
min-content
;
min-width
:
min-content
;
height
:
28px
;
height
:
28px
;
...
@@ -473,7 +475,7 @@ onMounted(() => {
...
@@ -473,7 +475,7 @@ onMounted(() => {
margin-top
:
16px
;
margin-top
:
16px
;
width
:
1064px
;
width
:
1064px
;
height
:
414px
;
height
:
414px
;
border-radius
:
4
px
;
border-radius
:
10
px
;
box-shadow
:
0px
0px
15px
0px
rgba
(
60
,
87
,
126
,
0
.2
);
box-shadow
:
0px
0px
15px
0px
rgba
(
60
,
87
,
126
,
0
.2
);
background
:
rgba
(
255
,
255
,
255
,
1
);
background
:
rgba
(
255
,
255
,
255
,
1
);
.box1-main
{
.box1-main
{
...
@@ -536,7 +538,7 @@ onMounted(() => {
...
@@ -536,7 +538,7 @@ onMounted(() => {
margin-top
:
16px
;
margin-top
:
16px
;
width
:
1064px
;
width
:
1064px
;
height
:
415px
;
height
:
415px
;
border-radius
:
4
px
;
border-radius
:
10
px
;
box-shadow
:
0px
0px
15px
0px
rgba
(
60
,
87
,
126
,
0
.2
);
box-shadow
:
0px
0px
15px
0px
rgba
(
60
,
87
,
126
,
0
.2
);
background
:
rgba
(
255
,
255
,
255
,
1
);
background
:
rgba
(
255
,
255
,
255
,
1
);
.box2-main
{
.box2-main
{
...
@@ -613,7 +615,7 @@ onMounted(() => {
...
@@ -613,7 +615,7 @@ onMounted(() => {
margin-top
:
16px
;
margin-top
:
16px
;
width
:
520px
;
width
:
520px
;
height
:
845px
;
height
:
845px
;
border-radius
:
4
px
;
border-radius
:
10
px
;
box-shadow
:
0px
0px
15px
0px
rgba
(
60
,
87
,
126
,
0
.2
);
box-shadow
:
0px
0px
15px
0px
rgba
(
60
,
87
,
126
,
0
.2
);
background
:
rgba
(
255
,
255
,
255
,
1
);
background
:
rgba
(
255
,
255
,
255
,
1
);
.box3-top
{
.box3-top
{
...
...
src/views/exportControl/index.vue
浏览文件 @
06cad7ab
...
@@ -1056,8 +1056,8 @@ const handleToEntityListNoId = item => {
...
@@ -1056,8 +1056,8 @@ const handleToEntityListNoId = item => {
});
});
// 打开一个新页面
// 打开一个新页面
window
.
open
(
routeData
.
href
,
"_blank"
);
window
.
open
(
routeData
.
href
,
"_blank"
);
}
else
{
}
else
{
return
return
;
}
}
};
};
...
@@ -2148,23 +2148,13 @@ const handleMediaClick = item => {
...
@@ -2148,23 +2148,13 @@ const handleMediaClick = item => {
background
:
url("./assets/images/background.png")
;
background
:
url("./assets/images/background.png")
;
background-size
:
100%
100%
;
background-size
:
100%
100%
;
.home-main-header
{
.home-main-header
{
margin-top
:
43px
;
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
align-items
:
center
;
align-items
:
center
;
margin-bottom
:
20px
;
margin-bottom
:
20px
;
.home-main-header-top
{
height
:
30px
;
color
:
rgba
(
95
,
101
,
108
,
1
);
font-family
:
Microsoft
YaHei
;
font-size
:
16px
;
font-weight
:
400
;
line-height
:
30px
;
margin-top
:
43px
;
}
.home-main-header-center
{
.home-main-header-center
{
margin-top
:
20
px
;
margin-top
:
51
px
;
width
:
80
0px
;
width
:
96
0px
;
height
:
48px
;
height
:
48px
;
border-radius
:
10px
;
border-radius
:
10px
;
box-shadow
:
0px
0px
15px
0px
rgba
(
22
,
119
,
255
,
0
.1
);
box-shadow
:
0px
0px
15px
0px
rgba
(
22
,
119
,
255
,
0
.1
);
...
@@ -2208,7 +2198,7 @@ const handleMediaClick = item => {
...
@@ -2208,7 +2198,7 @@ const handleMediaClick = item => {
}
}
}
}
.home-main-header-footer
{
.home-main-header-footer
{
margin-top
:
38
px
;
margin-top
:
64
px
;
width
:
700px
;
width
:
700px
;
height
:
64px
;
height
:
64px
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
...
@@ -2245,6 +2235,9 @@ const handleMediaClick = item => {
...
@@ -2245,6 +2235,9 @@ const handleMediaClick = item => {
gap
:
16px
;
gap
:
16px
;
padding
:
30px
0
;
padding
:
30px
0
;
}
}
.home-main-header-footer-info
{
margin-top
:
34px
;
}
.home-main-header-btn-box
{
.home-main-header-btn-box
{
width
:
688px
;
width
:
688px
;
margin
:
0
auto
;
margin
:
0
auto
;
...
...
src/views/thinkTank/index.vue
浏览文件 @
06cad7ab
...
@@ -50,7 +50,7 @@
...
@@ -50,7 +50,7 @@
</div>
</div>
</div>
</div>
<div
class=
"btn"
@
click=
"scrollToTop('position3')"
>
<div
class=
"btn"
@
click=
"scrollToTop('position3')"
>
<div
class=
"btn-text"
>
{{
"
统计概
览"
}}
</div>
<div
class=
"btn-text"
>
{{
"
数据总
览"
}}
</div>
<div
class=
"btn-icon"
>
<div
class=
"btn-icon"
>
<img
src=
"@/assets/icons/arrow-right-icon.png"
alt=
""
/>
<img
src=
"@/assets/icons/arrow-right-icon.png"
alt=
""
/>
</div>
</div>
...
@@ -85,12 +85,17 @@
...
@@ -85,12 +85,17 @@
</el-popover>
</el-popover>
<div
class=
"tag-box"
>
<div
class=
"tag-box"
>
<div
class=
"tag"
:class=
"{
<div
tag1: val.status === 1,
class=
"tag"
tag2: val.status === 2,
:class=
"{
tag3: val.status === 3,
tag1: val.status === 1,
tag4: val.status === 4
tag2: val.status === 2,
}"
v-for=
"(val, idx) in item.tagList"
:key=
"idx"
>
tag3: val.status === 3,
tag4: val.status === 4
}"
v-for=
"(val, idx) in item.tagList"
:key=
"idx"
>
{{ val.industryName }}
{{ val.industryName }}
</div>
</div>
</div>
</div>
...
@@ -112,15 +117,16 @@
...
@@ -112,15 +117,16 @@
<img
src=
"./assets/images/box1-header-icon.png"
alt=
""
/>
<img
src=
"./assets/images/box1-header-icon.png"
alt=
""
/>
</div>
</div>
<div
class=
"title"
>
{{ "智库发布" }}
</div>
<div
class=
"title"
>
{{ "智库发布" }}
</div>
</div>
<div
class=
"box1-header-right"
@
click=
"toDetaile()"
>
查看详情 >
</div>
</div>
<div
class=
"box1-header-right"
@
click=
"toDetaile()"
>
查看详情 >
</div>
</div>
</div>
<div
style=
"display: flex"
>
<div
style=
"display: flex"
>
<img
src=
"./assets/images/right-left-icon1.png"
alt=
""
<img
style=
"margin-top: 174px; width: 24px; height: 48px"
@
click=
"changeBox1Data('previous')"
/>
src=
"./assets/images/right-left-icon1.png"
alt=
""
style=
"margin-top: 174px; width: 24px; height: 48px"
@
click=
"changeBox1Data('previous')"
/>
<div
class=
"box1-main"
>
<div
class=
"box1-main"
>
<div
class=
"box1-main-left"
>
<div
class=
"box1-main-left"
>
<img
:src=
"box1Data[box1DataIndex]?.imageUrl"
alt=
""
/>
<img
:src=
"box1Data[box1DataIndex]?.imageUrl"
alt=
""
/>
...
@@ -128,7 +134,11 @@
...
@@ -128,7 +134,11 @@
<div
class=
"box1-main-right"
>
<div
class=
"box1-main-right"
>
<div
class=
"title"
>
{{ box1Data[box1DataIndex]?.reportName }}
</div>
<div
class=
"title"
>
{{ box1Data[box1DataIndex]?.reportName }}
</div>
<div
class=
"tag-box"
>
<div
class=
"tag-box"
>
<div
class=
"tag"
v-for=
"(item, index) in box1Data[box1DataIndex]?.industryVOList"
:key=
"index"
>
<div
class=
"tag"
v-for=
"(item, index) in box1Data[box1DataIndex]?.industryVOList"
:key=
"index"
>
{{ item.industryName }}
{{ item.industryName }}
</div>
</div>
</div>
</div>
...
@@ -145,8 +155,12 @@
...
@@ -145,8 +155,12 @@
</div>
</div>
</div>
</div>
</div>
</div>
<img
src=
"./assets/images/right-left-icon2.png"
alt=
""
<img
style=
"margin-top: 174px; width: 24px; height: 48px"
@
click=
"changeBox1Data('next')"
/>
src=
"./assets/images/right-left-icon2.png"
alt=
""
style=
"margin-top: 174px; width: 24px; height: 48px"
@
click=
"changeBox1Data('next')"
/>
</div>
</div>
</div>
</div>
<div
class=
"box2"
>
<div
class=
"box2"
>
...
@@ -161,11 +175,14 @@
...
@@ -161,11 +175,14 @@
</div>
</div>
<div
class=
"box2-main"
>
<div
class=
"box2-main"
>
<div
class=
"box2-main-item"
v-for=
"(item, index) in warningList"
:key=
"index"
>
<div
class=
"box2-main-item"
v-for=
"(item, index) in warningList"
:key=
"index"
>
<div
class=
"item-left"
:class=
"{
<div
itemLeftStatus1: item.status === '一般风险 ' || item.status === '暂无数值',
class=
"item-left"
itemLeftStatus2: item.status === '重大风险',
:class=
"{
itemLeftStatus3: item.status === '特别重大'
itemLeftStatus1: item.status === '一般风险 ' || item.status === '暂无数值',
}"
>
itemLeftStatus2: item.status === '重大风险',
itemLeftStatus3: item.status === '特别重大'
}"
>
{{ item.status || "一般风险" }}
{{ item.status || "一般风险" }}
</div>
</div>
<div
class=
"item-right"
>
<div
class=
"item-right"
>
...
@@ -202,7 +219,12 @@
...
@@ -202,7 +219,12 @@
</div>
</div>
</div>
</div>
<div
class=
"box3-main"
>
<div
class=
"box3-main"
>
<div
class=
"box3-item"
v-for=
"(news, index) in newsList"
:key=
"index"
@
click=
"handleToNewsAnalysis(news)"
>
<div
class=
"box3-item"
v-for=
"(news, index) in newsList"
:key=
"index"
@
click=
"handleToNewsAnalysis(news)"
>
<div
class=
"left"
>
<div
class=
"left"
>
<img
:src=
"news.newsImage !== null ? news.newsImage : defaultNewsIcon"
/>
<img
:src=
"news.newsImage !== null ? news.newsImage : defaultNewsIcon"
/>
</div>
</div>
...
@@ -212,12 +234,11 @@
...
@@ -212,12 +234,11 @@
<div
class=
"time"
>
{{ news.newsOrg }}
</div>
<div
class=
"time"
>
{{ news.newsOrg }}
</div>
</div>
</div>
<el-popover
effect=
"dark"
:width=
700
:content=
"news.newsContent"
placement=
"top-start"
>
<el-popover
effect=
"dark"
:width=
"700"
:content=
"news.newsContent"
placement=
"top-start"
>
<
template
#
reference
>
<
template
#
reference
>
<div
class=
"right-footer"
>
{{
news
.
newsContent
}}
</div>
<div
class=
"right-footer"
>
{{
news
.
newsContent
}}
</div>
</
template
>
</
template
>
</el-popover>
</el-popover>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -243,13 +264,12 @@
...
@@ -243,13 +264,12 @@
</div> -->
</div> -->
<div
class=
"box4-main"
>
<div
class=
"box4-main"
>
<div
class=
"box4-main-item"
v-for=
"(item, index) in messageList"
:key=
"index"
>
<div
class=
"box4-main-item"
v-for=
"(item, index) in messageList"
:key=
"index"
>
<div
class=
"left"
@
click=
"handleClickPerson(item)"
>
<div
class=
"left"
@
click=
"handleClickPerson(item)"
>
<img
:src=
"item.personImage ? item.personImage : defaultHeaderIcin"
alt=
""
/>
<img
:src=
"item.personImage ? item.personImage : defaultHeaderIcin"
alt=
""
/>
</div>
</div>
<div
class=
"right"
>
<div
class=
"right"
>
<div
class=
"right-top"
>
<div
class=
"right-top"
>
<div
class=
"name"
>
{{ item.personName
<div
class=
"name"
>
{{ item.personName }}
</div>
}}
</div>
<div
class=
"time"
>
{{ item.time }}
</div>
<div
class=
"time"
>
{{ item.time }}
</div>
</div>
</div>
<div
class=
"content"
>
{{ item.remarks }}
</div>
<div
class=
"content"
>
{{ item.remarks }}
</div>
...
@@ -270,8 +290,13 @@
...
@@ -270,8 +290,13 @@
</div>
</div>
<div
class=
"box5-select-box"
>
<div
class=
"box5-select-box"
>
<el-select
v-model=
"box5selectetedMonths"
placeholder=
"选择时间"
style=
"width: 120px"
>
<el-select
v-model=
"box5selectetedMonths"
placeholder=
"选择时间"
style=
"width: 120px"
>
<el-option
v-for=
"item in box5MonthsList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
<el-option
@
click=
"changeBox5Data(item.value)"
/>
v-for=
"item in box5MonthsList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
@
click=
"changeBox5Data(item.value)"
/>
</el-select>
</el-select>
</div>
</div>
</div>
</div>
...
@@ -285,8 +310,13 @@
...
@@ -285,8 +310,13 @@
<div
class=
"header-title"
>
{{ "政策建议领域分布" }}
</div>
<div
class=
"header-title"
>
{{ "政策建议领域分布" }}
</div>
<div
class=
"box6-select-box"
>
<div
class=
"box6-select-box"
>
<el-select
v-model=
"box6selectetedYear"
placeholder=
"选择时间"
style=
"width: 120px"
>
<el-select
v-model=
"box6selectetedYear"
placeholder=
"选择时间"
style=
"width: 120px"
>
<el-option
v-for=
"item in box6YearList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
<el-option
@
click=
"handleBox6()"
/>
v-for=
"item in box6YearList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
@
click=
"handleBox6()"
/>
</el-select>
</el-select>
</div>
</div>
</div>
</div>
...
@@ -315,24 +345,33 @@
...
@@ -315,24 +345,33 @@
</div>
</div>
<div
class=
"box8-select-box"
>
<div
class=
"box8-select-box"
>
<el-select
v-model=
"box8selectetedYear"
placeholder=
"选择时间"
style=
"width: 120px"
>
<el-select
v-model=
"box8selectetedYear"
placeholder=
"选择时间"
style=
"width: 120px"
>
<el-option
v-for=
"item in box8YearList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
<el-option
@
click=
"changeBox8Data(item.value)"
/>
v-for=
"item in box8YearList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
@
click=
"changeBox8Data(item.value)"
/>
</el-select>
</el-select>
</div>
</div>
</div>
</div>
<div
class=
"box8-main"
>
<div
class=
"box8-main"
>
<div
class=
"box8-item"
v-for=
"(item, index) in box8Data"
:key=
"index"
>
<div
class=
"box8-item"
v-for=
"(item, index) in box8Data"
:key=
"index"
>
<div
class=
"item-left"
<div
:class=
"{ itemBold1: index === 0, itemBold2: index === 1, itemBold3: index === 2 }"
>
class=
"item-left"
:class=
"{ itemBold1: index === 0, itemBold2: index === 1, itemBold3: index === 2 }"
>
{{ index + 1 }}
{{ index + 1 }}
</div>
</div>
<!-- <el-popover effect="dark" :content="item.clause" placement="top-start">
<!-- <el-popover effect="dark" :content="item.clause" placement="top-start">
<template #reference> -->
<template #reference> -->
<div
class=
"item-center"
<div
:class=
"{ itemBold1: index === 0, itemBold2: index === 1, itemBold3: index === 2 }"
>
class=
"item-center"
{{ item.clause }}
:class=
"{ itemBold1: index === 0, itemBold2: index === 1, itemBold3: index === 2 }"
</div>
>
<!-- </template>
{{ item.clause }}
</div>
<!-- </template>
</el-popover> -->
</el-popover> -->
<!-- <div class="item-right">{{ `${item.count}份报告 >` }}</div> -->
<!-- <div class="item-right">{{ `${item.count}份报告 >` }}</div> -->
...
@@ -346,8 +385,13 @@
...
@@ -346,8 +385,13 @@
<DivideHeader
id=
"position4"
class=
"divide-header"
:titleText=
"'资源库'"
></DivideHeader>
<DivideHeader
id=
"position4"
class=
"divide-header"
:titleText=
"'资源库'"
></DivideHeader>
<div
class=
"home-main-footer-header"
>
<div
class=
"home-main-footer-header"
>
<div
class=
"btn-box"
>
<div
class=
"btn-box"
>
<div
class=
"btn"
:class=
"{ btnActive: activeCate === cate }"
v-for=
"(cate, index) in categoryList"
<div
:key=
"index"
@
click=
"handleClickCate(cate)"
>
class=
"btn"
:class=
"{ btnActive: activeCate === cate }"
v-for=
"(cate, index) in categoryList"
:key=
"index"
@
click=
"handleClickCate(cate)"
>
{{ cate }}
{{ cate }}
</div>
</div>
</div>
</div>
...
@@ -365,12 +409,22 @@
...
@@ -365,12 +409,22 @@
</div>
</div>
<div
class=
"select-main"
>
<div
class=
"select-main"
>
<div
class=
"checkbox-group"
>
<div
class=
"checkbox-group"
>
<el-checkbox
v-model=
"checkAll"
:indeterminate=
"isIndeterminate"
class=
"all-checkbox"
<el-checkbox
@
change=
"handleCheckAllChange"
>
v-model=
"checkAll"
:indeterminate=
"isIndeterminate"
class=
"all-checkbox"
@
change=
"handleCheckAllChange"
>
全部领域
全部领域
</el-checkbox>
</el-checkbox>
<el-checkbox
v-for=
"research in areaList"
:key=
"research.id"
v-model=
"selectedAreaList"
<el-checkbox
:label=
"research.id"
@
change=
"handleCheckedAreaChange()"
class=
"filter-checkbox"
>
v-for=
"research in areaList"
:key=
"research.id"
v-model=
"selectedAreaList"
:label=
"research.id"
@
change=
"handleCheckedAreaChange()"
class=
"filter-checkbox"
>
{{ research.name }}
{{ research.name }}
</el-checkbox>
</el-checkbox>
</div>
</div>
...
@@ -384,13 +438,22 @@
...
@@ -384,13 +438,22 @@
</div>
</div>
<div
class=
"select-main"
>
<div
class=
"select-main"
>
<div
class=
"checkbox-group"
>
<div
class=
"checkbox-group"
>
<el-checkbox
v-model=
"checkAllTime"
class=
"all-checkbox"
:indeterminate=
"isIndeterminateTime"
<el-checkbox
@
change=
"handleCheckAllChangeTime"
>
v-model=
"checkAllTime"
class=
"all-checkbox"
:indeterminate=
"isIndeterminateTime"
@
change=
"handleCheckAllChangeTime"
>
全部时间
全部时间
</el-checkbox>
</el-checkbox>
<el-checkbox-group
v-model=
"selectedPubTimeList"
>
<el-checkbox-group
v-model=
"selectedPubTimeList"
>
<el-checkbox
v-for=
"time in pubTimeList"
:key=
"time.id"
:label=
"time.id"
class=
"filter-checkbox"
<el-checkbox
@
change=
"handleCheckedAreaChangeTime()"
>
v-for=
"time in pubTimeList"
:key=
"time.id"
:label=
"time.id"
class=
"filter-checkbox"
@
change=
"handleCheckedAreaChangeTime()"
>
{{ time.name }}
{{ time.name }}
</el-checkbox>
</el-checkbox>
</el-checkbox-group>
</el-checkbox-group>
...
@@ -400,8 +463,12 @@
...
@@ -400,8 +463,12 @@
</div>
</div>
<div
class=
"right"
>
<div
class=
"right"
>
<div
class=
"card-box"
>
<div
class=
"card-box"
>
<div
class=
"footer-card"
v-for=
"(item, index) in curFooterList"
:key=
"index"
<div
@
click=
"handleToReportDetail(item.id)"
>
class=
"footer-card"
v-for=
"(item, index) in curFooterList"
:key=
"index"
@
click=
"handleToReportDetail(item.id)"
>
<div
class=
"footer-card-top"
>
<div
class=
"footer-card-top"
>
<img
:src=
"item.imageUrl"
alt=
""
/>
<img
:src=
"item.imageUrl"
alt=
""
/>
</div>
</div>
...
@@ -422,8 +489,14 @@
...
@@ -422,8 +489,14 @@
<div
class=
"right-footer"
>
<div
class=
"right-footer"
>
<div
class=
"info"
>
共{{ total }}项智库报告
</div>
<div
class=
"info"
>
共{{ total }}项智库报告
</div>
<div
class=
"page-box"
>
<div
class=
"page-box"
>
<el-pagination
:page-size=
"12"
background
layout=
"prev, pager, next"
:total=
"total"
<el-pagination
@
current-change=
"handleCurrentChange"
:current-page=
"currentPage"
/>
:page-size=
"12"
background
layout=
"prev, pager, next"
:total=
"total"
@
current-change=
"handleCurrentChange"
:current-page=
"currentPage"
/>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -458,8 +531,8 @@ import { getPersonSummaryInfo } from "@/api/common/index";
...
@@ -458,8 +531,8 @@ import { getPersonSummaryInfo } from "@/api/common/index";
import
getMultiLineChart
from
"./utils/multiLineChart"
;
import
getMultiLineChart
from
"./utils/multiLineChart"
;
import
getPieChart
from
"./utils/piechart"
;
import
getPieChart
from
"./utils/piechart"
;
import
getSankeyChart
from
"./utils/sankey"
;
import
getSankeyChart
from
"./utils/sankey"
;
import
defaultNewsIcon
from
'@/assets/icons/default-icon-news.png'
import
defaultNewsIcon
from
"@/assets/icons/default-icon-news.png"
;
import
defaultHeaderIcin
from
'@/assets/icons/default-icon1.png'
import
defaultHeaderIcin
from
"@/assets/icons/default-icon1.png"
;
import
News1
from
"./assets/images/news1.png"
;
import
News1
from
"./assets/images/news1.png"
;
import
News2
from
"./assets/images/news2.png"
;
import
News2
from
"./assets/images/news2.png"
;
import
News3
from
"./assets/images/news3.png"
;
import
News3
from
"./assets/images/news3.png"
;
...
@@ -592,7 +665,6 @@ function changeBox1Data(type) {
...
@@ -592,7 +665,6 @@ function changeBox1Data(type) {
}
}
const
toDetaile
=
()
=>
{
const
toDetaile
=
()
=>
{
const
route
=
router
.
resolve
({
const
route
=
router
.
resolve
({
name
:
"ReportDetail"
,
name
:
"ReportDetail"
,
params
:
{
params
:
{
...
@@ -600,7 +672,7 @@ const toDetaile = () => {
...
@@ -600,7 +672,7 @@ const toDetaile = () => {
}
}
});
});
window
.
open
(
route
.
href
,
"_blank"
);
window
.
open
(
route
.
href
,
"_blank"
);
}
}
;
// 风险信号
// 风险信号
const
warningList
=
ref
([
const
warningList
=
ref
([
{
{
...
@@ -679,7 +751,7 @@ const handleGetThinkTankReportNews = async () => {
...
@@ -679,7 +751,7 @@ const handleGetThinkTankReportNews = async () => {
const
res
=
await
getThinkTankReportNews
();
const
res
=
await
getThinkTankReportNews
();
console
.
log
(
"新闻资讯"
,
res
);
console
.
log
(
"新闻资讯"
,
res
);
if
(
res
.
code
===
200
&&
res
.
data
)
{
if
(
res
.
code
===
200
&&
res
.
data
)
{
newsList
.
value
=
res
.
data
newsList
.
value
=
res
.
data
;
}
}
}
catch
(
error
)
{
}
catch
(
error
)
{
console
.
error
(
"获取新闻资讯error"
,
error
);
console
.
error
(
"获取新闻资讯error"
,
error
);
...
@@ -745,7 +817,7 @@ const handleGetThinkTankReportRemarks = async () => {
...
@@ -745,7 +817,7 @@ const handleGetThinkTankReportRemarks = async () => {
const
res
=
await
getThinkTankReportRemarks
();
const
res
=
await
getThinkTankReportRemarks
();
console
.
log
(
"智库人物动态"
,
res
);
console
.
log
(
"智库人物动态"
,
res
);
if
(
res
.
code
===
200
&&
res
.
data
)
{
if
(
res
.
code
===
200
&&
res
.
data
)
{
messageList
.
value
=
res
.
data
messageList
.
value
=
res
.
data
;
}
}
}
catch
(
error
)
{
}
catch
(
error
)
{
console
.
error
(
"获取智库人物动态error"
,
error
);
console
.
error
(
"获取智库人物动态error"
,
error
);
...
@@ -821,7 +893,6 @@ function changeBox5Data(value) {
...
@@ -821,7 +893,6 @@ function changeBox5Data(value) {
// 政策建议趋势分布
// 政策建议趋势分布
const
handleGetThinkTankPolicyIndustryChange
=
async
date
=>
{
const
handleGetThinkTankPolicyIndustryChange
=
async
date
=>
{
try
{
try
{
const
res
=
await
getThinkTankPolicyIndustryChange
(
date
);
const
res
=
await
getThinkTankPolicyIndustryChange
(
date
);
console
.
log
(
"政策建议趋势分布"
,
res
);
console
.
log
(
"政策建议趋势分布"
,
res
);
if
(
res
.
code
===
200
&&
res
.
data
)
{
if
(
res
.
code
===
200
&&
res
.
data
)
{
...
@@ -928,17 +999,7 @@ const box6YearList = ref([
...
@@ -928,17 +999,7 @@ const box6YearList = ref([
]);
]);
function
transformToChartFormat
(
data
)
{
function
transformToChartFormat
(
data
)
{
// 预设颜色池(可按需修改或扩展)
// 预设颜色池(可按需修改或扩展)
const
colorPalette
=
[
const
colorPalette
=
[
"#4096FF"
,
"#FFA39E"
,
"#ADC6FF"
,
"#FFC069"
,
"#B5F5EC"
,
"#B37FEB"
,
"#D6E4FF"
,
"#FF8C8C"
,
"#87E8DE"
];
"#4096FF"
,
"#FFA39E"
,
"#ADC6FF"
,
"#FFC069"
,
"#B5F5EC"
,
"#B37FEB"
,
"#D6E4FF"
,
"#FF8C8C"
,
"#87E8DE"
];
return
data
.
map
((
item
,
index
)
=>
({
return
data
.
map
((
item
,
index
)
=>
({
name
:
item
.
industry
,
name
:
item
.
industry
,
...
@@ -956,9 +1017,8 @@ const handleGetThinkTankPolicyIndustry = async () => {
...
@@ -956,9 +1017,8 @@ const handleGetThinkTankPolicyIndustry = async () => {
console
.
log
(
"政策建议领域分布"
,
res
);
console
.
log
(
"政策建议领域分布"
,
res
);
if
(
res
.
code
===
200
&&
res
.
data
)
{
if
(
res
.
code
===
200
&&
res
.
data
)
{
box6Data
.
value
=
transformToChartFormat
(
res
.
data
);
box6Data
.
value
=
transformToChartFormat
(
res
.
data
)
console
.
log
(
transformToChartFormat
(
res
.
data
),
"datadatadata"
);
console
.
log
(
transformToChartFormat
(
res
.
data
),
'datadatadata'
)
}
else
{
}
else
{
box6Data
.
value
=
[];
box6Data
.
value
=
[];
}
}
...
@@ -1012,7 +1072,6 @@ const box7Data = ref({
...
@@ -1012,7 +1072,6 @@ const box7Data = ref({
]
]
});
});
// 遍历每个智库
// 遍历每个智库
function
transformDataToSankey
(
inputData
)
{
function
transformDataToSankey
(
inputData
)
{
const
nodes
=
[];
const
nodes
=
[];
...
@@ -1046,7 +1105,8 @@ function transformDataToSankey(inputData) {
...
@@ -1046,7 +1105,8 @@ function transformDataToSankey(inputData) {
// 添加链接
// 添加链接
if
(
secondInstitution
)
{
if
(
secondInstitution
)
{
// 如果存在二级机构,先从捐赠机构到二级机构
// 如果存在二级机构,先从捐赠机构到二级机构
if
(
institution
!==
secondInstitution
)
{
// 检查自引用
if
(
institution
!==
secondInstitution
)
{
// 检查自引用
links
.
push
({
links
.
push
({
source
:
institution
,
source
:
institution
,
target
:
secondInstitution
,
target
:
secondInstitution
,
...
@@ -1054,7 +1114,8 @@ function transformDataToSankey(inputData) {
...
@@ -1054,7 +1114,8 @@ function transformDataToSankey(inputData) {
});
});
}
}
// 再从二级机构到智库
// 再从二级机构到智库
if
(
secondInstitution
!==
thinkTankName
)
{
// 检查自引用
if
(
secondInstitution
!==
thinkTankName
)
{
// 检查自引用
links
.
push
({
links
.
push
({
source
:
secondInstitution
,
source
:
secondInstitution
,
target
:
thinkTankName
,
target
:
thinkTankName
,
...
@@ -1063,7 +1124,8 @@ function transformDataToSankey(inputData) {
...
@@ -1063,7 +1124,8 @@ function transformDataToSankey(inputData) {
}
}
}
else
{
}
else
{
// 如果没有二级机构,直接从捐赠机构到智库
// 如果没有二级机构,直接从捐赠机构到智库
if
(
institution
!==
thinkTankName
)
{
// 检查自引用
if
(
institution
!==
thinkTankName
)
{
// 检查自引用
links
.
push
({
links
.
push
({
source
:
institution
,
source
:
institution
,
target
:
thinkTankName
,
target
:
thinkTankName
,
...
@@ -1077,7 +1139,6 @@ function transformDataToSankey(inputData) {
...
@@ -1077,7 +1139,6 @@ function transformDataToSankey(inputData) {
return
{
nodes
,
links
};
return
{
nodes
,
links
};
}
}
// 智库资金流向
// 智库资金流向
const
handleGetThinkTankDonation
=
async
()
=>
{
const
handleGetThinkTankDonation
=
async
()
=>
{
try
{
try
{
...
@@ -1262,7 +1323,7 @@ const pubTimeList = ref([
...
@@ -1262,7 +1323,7 @@ const pubTimeList = ref([
const
selectedPubTimeList
=
ref
([
""
]);
const
selectedPubTimeList
=
ref
([
""
]);
const
checkAllTime
=
ref
(
false
);
const
checkAllTime
=
ref
(
false
);
const
isIndeterminateTime
=
ref
(
true
);
const
isIndeterminateTime
=
ref
(
true
);
const
sort
=
ref
(
false
)
const
sort
=
ref
(
false
)
;
const
handleCheckAllChangeTime
=
val
=>
{
const
handleCheckAllChangeTime
=
val
=>
{
// console.log(val, "handleCheckAllChange");
// console.log(val, "handleCheckAllChange");
if
(
val
)
{
if
(
val
)
{
...
@@ -1509,7 +1570,6 @@ onMounted(async () => {
...
@@ -1509,7 +1570,6 @@ onMounted(async () => {
handleGetThinkTankList
();
handleGetThinkTankList
();
// 定义一个定时器,每隔2秒轮播一次
// 定义一个定时器,每隔2秒轮播一次
setInterval
(()
=>
{
setInterval
(()
=>
{
// 索引加1
// 索引加1
box1DataIndex
.
value
++
;
box1DataIndex
.
value
++
;
// 如果索引大于等于数组长度,重置为0,实现循环轮播
// 如果索引大于等于数组长度,重置为0,实现循环轮播
...
@@ -1526,8 +1586,8 @@ onMounted(async () => {
...
@@ -1526,8 +1586,8 @@ onMounted(async () => {
handleGetHylyList
();
handleGetHylyList
();
handleGetThinkTankHot
(
getDateYearsAgo
(
1
));
handleGetThinkTankHot
(
getDateYearsAgo
(
1
));
handleGetetThinkTankReport
();
handleGetetThinkTankReport
();
handleGetThinkTankReportNews
()
handleGetThinkTankReportNews
()
;
handleGetThinkTankReportRemarks
()
handleGetThinkTankReportRemarks
()
;
});
});
</
script
>
</
script
>
...
@@ -1674,7 +1734,6 @@ onMounted(async () => {
...
@@ -1674,7 +1734,6 @@ onMounted(async () => {
margin-top
:
39px
;
margin-top
:
39px
;
display
:
flex
;
display
:
flex
;
justify-content
:
space-between
;
justify-content
:
space-between
;
.btn
{
.btn
{
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
...
@@ -1687,13 +1746,11 @@ onMounted(async () => {
...
@@ -1687,13 +1746,11 @@ onMounted(async () => {
background
:
#e7f3ff
;
background
:
#e7f3ff
;
cursor
:
pointer
;
cursor
:
pointer
;
position
:
relative
;
position
:
relative
;
&
:hover
{
&
:hover
{
background
:
#cae3fc
;
background
:
#cae3fc
;
}
}
.btn-text
{
.btn-text
{
width
:
8
2
px
;
width
:
8
0
px
;
color
:
var
(
--
color-main-active
);
color
:
var
(
--
color-main-active
);
font-family
:
Microsoft
YaHei
;
font-family
:
Microsoft
YaHei
;
font-size
:
20px
;
font-size
:
20px
;
...
@@ -1702,14 +1759,12 @@ onMounted(async () => {
...
@@ -1702,14 +1759,12 @@ onMounted(async () => {
margin-left
:
36px
;
margin-left
:
36px
;
text-align
:
center
;
text-align
:
center
;
}
}
.btn-icon
{
.btn-icon
{
position
:
absolute
;
position
:
absolute
;
top
:
16px
;
top
:
16px
;
right
:
19px
;
right
:
19px
;
width
:
6px
;
width
:
6px
;
height
:
12px
;
height
:
12px
;
img
{
img
{
width
:
100%
;
width
:
100%
;
height
:
100%
;
height
:
100%
;
...
@@ -1855,7 +1910,6 @@ onMounted(async () => {
...
@@ -1855,7 +1910,6 @@ onMounted(async () => {
/* 每行 3 列,每个 tag 最大宽度 200px,gap 8px */
/* 每行 3 列,每个 tag 最大宽度 200px,gap 8px */
.tag
{
.tag
{
// width: auto; /* 根据内容自动调整宽度 */
// width: auto; /* 根据内容自动调整宽度 */
height
:
22px
;
height
:
22px
;
padding
:
0
8px
;
padding
:
0
8px
;
...
...
vite.config.js
浏览文件 @
06cad7ab
...
@@ -61,6 +61,11 @@ export default defineConfig({
...
@@ -61,6 +61,11 @@ export default defineConfig({
target
:
'http://8.140.26.4:10021/'
,
target
:
'http://8.140.26.4:10021/'
,
changeOrigin
:
true
,
changeOrigin
:
true
,
rewrite
:
(
path
)
=>
path
.
replace
(
/^
\/
checklistChat/
,
''
)
rewrite
:
(
path
)
=>
path
.
replace
(
/^
\/
checklistChat/
,
''
)
},
'/temporarySearch'
:
{
target
:
'http://106.12.150.59:18826/'
,
changeOrigin
:
true
,
rewrite
:
(
path
)
=>
path
.
replace
(
/^
\/
temporarySearch/
,
''
)
}
}
}
}
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论