Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
R
risk-monitor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
蔡建
risk-monitor
Commits
5201cafd
提交
5201cafd
authored
1月 15, 2026
作者:
coderBryanFu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update
上级
95101793
隐藏空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
134 行增加
和
200 行删除
+134
-200
index.js
src/api/aiAnalysis/index.js
+14
-0
ZMGame.js
src/router/modules/ZMGame.js
+0
-1
ZMOverView.js
src/router/modules/ZMOverView.js
+4
-4
index.vue
src/views/bill/billHome/index.vue
+8
-7
doublePieChart.js
src/views/bill/billHome/utils/doublePieChart.js
+8
-6
piechart.js
src/views/bill/billHome/utils/piechart.js
+6
-4
piechart.js
src/views/decree/decreeHome/utils/piechart.js
+2
-2
RuleSubsidiaryDialog.vue
...ionsOverview/components/listPage/RuleSubsidiaryDialog.vue
+1
-1
index.vue
...views/marketAccessRestrictions/marketAccessHome/index.vue
+24
-11
barChart1.js
...ketAccessRestrictions/marketAccessHome/utils/barChart1.js
+3
-8
SourceLibrary.vue
src/views/technologyFigures/component/SourceLibrary.vue
+45
-44
index.vue
src/views/thinkTank/ReportDetail/reportAnalysis/index.vue
+14
-112
vite.config.js
vite.config.js
+5
-0
没有找到文件。
src/api/aiAnalysis/index.js
0 → 100644
浏览文件 @
5201cafd
import
request
from
"@/api/request.js"
;
// 图表解读(流式)
/**
* @param {text}
*/
export
function
getChartAnalysis
(
data
)
{
return
request
({
method
:
'POST'
,
url
:
`/aiAnalysis/chart_interpretation`
,
data
,
})
}
\ No newline at end of file
src/router/modules/ZMGame.js
浏览文件 @
5201cafd
...
@@ -2,7 +2,6 @@
...
@@ -2,7 +2,6 @@
import
ZMGame
from
"@/views/ZMGame/index.vue"
;
import
ZMGame
from
"@/views/ZMGame/index.vue"
;
const
ZMGameRoutes
=
[
const
ZMGameRoutes
=
[
//创新主体
{
{
path
:
"/ZMGame"
,
path
:
"/ZMGame"
,
name
:
"ZMGame"
,
name
:
"ZMGame"
,
...
...
src/router/modules/ZMOverView.js
浏览文件 @
5201cafd
...
@@ -2,10 +2,9 @@
...
@@ -2,10 +2,9 @@
import
ZMOverview
from
"@/views/ZMOverView/index.vue"
;
import
ZMOverview
from
"@/views/ZMOverView/index.vue"
;
const
ZMOverviewRoutes
=
[
const
ZMOverviewRoutes
=
[
//创新主体
{
{
path
:
"/ZMOerView"
,
path
:
"/ZMO
v
erView"
,
name
:
"ZMOerView"
,
name
:
"ZMO
v
erView"
,
component
:
ZMOverview
,
component
:
ZMOverview
,
meta
:
{
meta
:
{
title
:
"ZM博弈概览"
title
:
"ZM博弈概览"
...
@@ -14,4 +13,4 @@ const ZMOverviewRoutes = [
...
@@ -14,4 +13,4 @@ const ZMOverviewRoutes = [
]
]
export
default
ZMOverviewRoutes
export
default
ZMOverviewRoutes
\ No newline at end of file
src/views/bill/billHome/index.vue
浏览文件 @
5201cafd
...
@@ -299,9 +299,10 @@
...
@@ -299,9 +299,10 @@
{{
news
.
newsDate
?
news
.
newsDate
.
slice
(
5
)
:
""
}}
-
{{
news
.
newsOrg
}}
{{
news
.
newsDate
?
news
.
newsDate
.
slice
(
5
)
:
""
}}
-
{{
news
.
newsOrg
}}
</div>
</div>
</div>
</div>
<CommonPrompt
:content=
"news.newsContent"
>
<div
class=
"right-footer"
>
{{
news
.
newsContent
}}
</div>
<!--
<CommonPrompt
:content=
"news.newsContent"
>
<div
class=
"right-footer"
>
{{
news
.
newsContent
}}
</div>
<div
class=
"right-footer"
>
{{
news
.
newsContent
}}
</div>
</CommonPrompt>
</CommonPrompt>
-->
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -597,7 +598,7 @@
...
@@ -597,7 +598,7 @@
<
el
-
checkbox
class
=
"filter-checkbox"
label
=
"全部领域"
>
全部领域
<
/el-checkbox
>
<
el
-
checkbox
class
=
"filter-checkbox"
label
=
"全部领域"
>
全部领域
<
/el-checkbox
>
<
el
-
checkbox
<
el
-
checkbox
v
-
for
=
"(area, index) in cateKuList"
v
-
for
=
"(area, index) in cateKuList"
:
key
=
"
area.id
"
:
key
=
"
index
"
:
label
=
"area.id"
:
label
=
"area.id"
class
=
"filter-checkbox"
class
=
"filter-checkbox"
>
>
...
@@ -615,7 +616,7 @@
...
@@ -615,7 +616,7 @@
<
el
-
checkbox
-
group
class
=
"checkbox-group"
v
-
model
=
"activeDpList"
@
change
=
"handleDpChange"
>
<
el
-
checkbox
-
group
class
=
"checkbox-group"
v
-
model
=
"activeDpList"
@
change
=
"handleDpChange"
>
<
el
-
checkbox
<
el
-
checkbox
v
-
for
=
"(dp, index) in dpList"
v
-
for
=
"(dp, index) in dpList"
:
key
=
"
dp.id
"
:
key
=
"
index
"
:
label
=
"dp.id"
:
label
=
"dp.id"
class
=
"filter-checkbox"
class
=
"filter-checkbox"
>
>
...
@@ -633,7 +634,7 @@
...
@@ -633,7 +634,7 @@
<
el
-
checkbox
-
group
class
=
"checkbox-group"
v
-
model
=
"activeYyList"
@
change
=
"handleYyChange"
>
<
el
-
checkbox
-
group
class
=
"checkbox-group"
v
-
model
=
"activeYyList"
@
change
=
"handleYyChange"
>
<
el
-
checkbox
<
el
-
checkbox
v
-
for
=
"(yy, index) in yyList"
v
-
for
=
"(yy, index) in yyList"
:
key
=
"
yy.id
"
:
key
=
"
index
"
:
label
=
"yy.id"
:
label
=
"yy.id"
class
=
"filter-checkbox"
class
=
"filter-checkbox"
>
>
...
@@ -652,7 +653,7 @@
...
@@ -652,7 +653,7 @@
<
el
-
checkbox
-
group
class
=
"checkbox-group"
v
-
model
=
"activePubTime"
@
change
=
"handlePubTimeChange"
>
<
el
-
checkbox
-
group
class
=
"checkbox-group"
v
-
model
=
"activePubTime"
@
change
=
"handlePubTimeChange"
>
<
el
-
checkbox
<
el
-
checkbox
v
-
for
=
"(time, index) in pubTime"
v
-
for
=
"(time, index) in pubTime"
:
key
=
"
time.id
"
:
key
=
"
index
"
:
label
=
"time.id"
:
label
=
"time.id"
class
=
"filter-checkbox"
class
=
"filter-checkbox"
>
>
...
@@ -2936,7 +2937,7 @@ onUnmounted(() => {
...
@@ -2936,7 +2937,7 @@ onUnmounted(() => {
justify
-
content
:
flex
-
end
;
justify
-
content
:
flex
-
end
;
}
}
.
box7
-
main
{
.
box7
-
main
{
height
:
3
8
0
px
;
height
:
3
9
0
px
;
}
}
}
}
.
box8
{
.
box8
{
...
...
src/views/bill/billHome/utils/doublePieChart.js
浏览文件 @
5201cafd
...
@@ -6,7 +6,7 @@ const getDoublePieChart = (data1, data2) => {
...
@@ -6,7 +6,7 @@ const getDoublePieChart = (data1, data2) => {
series
:
[
series
:
[
{
{
type
:
'pie'
,
type
:
'pie'
,
radius
:
[
45
,
8
8
],
radius
:
[
35
,
7
8
],
// height: '100%',
// height: '100%',
left
:
'center'
,
left
:
'center'
,
// width: '100%',
// width: '100%',
...
@@ -32,7 +32,7 @@ const getDoublePieChart = (data1, data2) => {
...
@@ -32,7 +32,7 @@ const getDoublePieChart = (data1, data2) => {
},
},
{
{
type
:
'pie'
,
type
:
'pie'
,
radius
:
[
90
,
12
0
],
radius
:
[
80
,
11
0
],
height
:
'100%'
,
height
:
'100%'
,
left
:
'center'
,
left
:
'center'
,
width
:
'98%'
,
width
:
'98%'
,
...
@@ -45,18 +45,20 @@ const getDoublePieChart = (data1, data2) => {
...
@@ -45,18 +45,20 @@ const getDoublePieChart = (data1, data2) => {
formatter
:
'{name|{b}}
\
n{time|{c} 条 {d}%}'
,
formatter
:
'{name|{b}}
\
n{time|{c} 条 {d}%}'
,
minMargin
:
5
,
minMargin
:
5
,
edgeDistance
:
10
,
edgeDistance
:
10
,
lineHeight
:
2
4
,
lineHeight
:
2
0
,
rich
:
{
rich
:
{
name
:
{
name
:
{
color
:
'rgba(59, 65, 75, 1)'
,
color
:
'rgba(59, 65, 75, 1)'
,
fontFamily
:
'Microsoft YaHei'
,
fontFamily
:
'Microsoft YaHei'
,
fontSize
:
1
6
,
fontSize
:
1
4
,
fontWeight
:
'bold'
,
fontWeight
:
'bold'
,
padding
:
[
10
,
0
,
10
,
0
]
},
},
time
:
{
time
:
{
fontSize
:
1
6
,
fontSize
:
1
4
,
fontFamily
:
'Microsoft YaHei'
,
fontFamily
:
'Microsoft YaHei'
,
color
:
'#rgba(95, 101, 108, 1)'
color
:
'#rgba(95, 101, 108, 1)'
,
padding
:
[
10
,
0
,
10
,
0
]
}
}
}
}
},
},
...
...
src/views/bill/billHome/utils/piechart.js
浏览文件 @
5201cafd
...
@@ -17,18 +17,20 @@ const getPieChart = (data, colorList) => {
...
@@ -17,18 +17,20 @@ const getPieChart = (data, colorList) => {
formatter
:
'{name|{b}}
\
n{time|{c} 条 {d}%}'
,
formatter
:
'{name|{b}}
\
n{time|{c} 条 {d}%}'
,
minMargin
:
5
,
minMargin
:
5
,
edgeDistance
:
10
,
edgeDistance
:
10
,
lineHeight
:
2
5
,
lineHeight
:
2
2
,
rich
:
{
rich
:
{
name
:
{
name
:
{
color
:
'rgba(59, 65, 75, 1)'
,
color
:
'rgba(59, 65, 75, 1)'
,
fontFamily
:
'Microsoft YaHei'
,
fontFamily
:
'Microsoft YaHei'
,
fontSize
:
16
,
fontSize
:
16
,
fontWeight
:
'bold'
,
fontWeight
:
'bold'
,
padding
:
[
10
,
0
,
10
,
0
]
},
},
time
:
{
time
:
{
fontSize
:
16
,
fontSize
:
16
,
fontFamily
:
'Microsoft YaHei'
,
fontFamily
:
'Microsoft YaHei'
,
color
:
'#rgba(95, 101, 108, 1)'
color
:
'#rgba(95, 101, 108, 1)'
,
padding
:
[
10
,
0
,
10
,
0
]
}
}
}
}
...
@@ -36,10 +38,10 @@ const getPieChart = (data, colorList) => {
...
@@ -36,10 +38,10 @@ const getPieChart = (data, colorList) => {
labelLine
:
{
labelLine
:
{
length
:
15
,
length
:
15
,
length2
:
0
,
length2
:
0
,
maxSurfaceAngle
:
8
0
maxSurfaceAngle
:
8
8
},
},
labelLayout
:
function
(
params
)
{
labelLayout
:
function
(
params
)
{
const
isLeft
=
params
.
labelRect
.
x
<
params
.
viewWidth
/
2
;
const
isLeft
=
params
.
labelRect
.
x
<
556
/
2
;
const
points
=
params
.
labelLinePoints
;
const
points
=
params
.
labelLinePoints
;
// Update the end point.
// Update the end point.
points
[
2
][
0
]
=
isLeft
points
[
2
][
0
]
=
isLeft
...
...
src/views/decree/decreeHome/utils/piechart.js
浏览文件 @
5201cafd
...
@@ -16,7 +16,7 @@ const getPieChart = (data) => {
...
@@ -16,7 +16,7 @@ const getPieChart = (data) => {
formatter
:
'{name|{b}}
\
n{time|{d}%}'
,
formatter
:
'{name|{b}}
\
n{time|{d}%}'
,
minMargin
:
5
,
minMargin
:
5
,
edgeDistance
:
10
,
edgeDistance
:
10
,
lineHeight
:
2
4
,
lineHeight
:
2
2
,
rich
:
{
rich
:
{
name
:
{
name
:
{
color
:
'rgba(59, 65, 75, 1)'
,
color
:
'rgba(59, 65, 75, 1)'
,
...
@@ -27,7 +27,7 @@ const getPieChart = (data) => {
...
@@ -27,7 +27,7 @@ const getPieChart = (data) => {
time
:
{
time
:
{
fontSize
:
16
,
fontSize
:
16
,
fontFamily
:
'Microsoft YaHei'
,
fontFamily
:
'Microsoft YaHei'
,
color
:
'#rgba(95, 101, 108, 1)'
color
:
'#rgba(95, 101, 108, 1)'
,
}
}
}
}
},
},
...
...
src/views/exportControl/v2.0EntityList/components/sanctionsOverview/components/listPage/RuleSubsidiaryDialog.vue
浏览文件 @
5201cafd
...
@@ -78,7 +78,7 @@
...
@@ -78,7 +78,7 @@
</template>
</template>
<
script
setup
>
<
script
setup
>
import
{
ref
,
defineProps
,
defineEmits
,
computed
,
watch
}
from
"vue"
;
import
{
ref
,
computed
,
watch
}
from
"vue"
;
import
router
from
"@/router"
;
import
router
from
"@/router"
;
import
{
Close
}
from
"@element-plus/icons-vue"
;
import
{
Close
}
from
"@element-plus/icons-vue"
;
import
defaultIcon
from
"@/assets/icons/default-icon1.png"
;
import
defaultIcon
from
"@/assets/icons/default-icon1.png"
;
...
...
src/views/marketAccessRestrictions/marketAccessHome/index.vue
浏览文件 @
5201cafd
...
@@ -620,13 +620,13 @@
...
@@ -620,13 +620,13 @@
<
div
class
=
"item-right-header"
>
<
div
class
=
"item-right-header"
>
<
div
class
=
"tag"
:
class
=
"{tag1: item.SORTCODE === '337', tag2: item.SORTCODE === '301', tag3: item.SORTCODE === '232'
}
"
>
{{
item
.
SORTCODE
}}
<
/div
>
<
div
class
=
"tag"
:
class
=
"{tag1: item.SORTCODE === '337', tag2: item.SORTCODE === '301', tag3: item.SORTCODE === '232'
}
"
>
{{
item
.
SORTCODE
}}
<
/div
>
<
div
class
=
"title"
>
{{
item
.
SEARCHNAME
}}
<
/div
>
<
div
class
=
"title"
>
{{
item
.
SEARCHNAME
}}
<
/div
>
<
div
class
=
"status"
>
<
div
class
=
"status"
v
-
if
=
"item.CASESTATUS"
>
<
div
class
=
"status-icon"
><
/div
>
<
div
class
=
"status-icon"
><
/div
>
<
div
class
=
"status-text"
>
{{
item
.
CASESTATUS
}}
<
/div
>
<
div
class
=
"status-text"
>
{{
item
.
CASESTATUS
}}
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
div
class
=
"item-right-content"
>
<
div
class
=
"item-right-content"
v
-
if
=
"item.CONTENT"
>
{{
item
.
content
}}
{{
item
.
CONTENT
}}
<
/div
>
<
/div
>
<
div
class
=
"item-right-footer"
>
<
div
class
=
"item-right-footer"
>
<
div
class
=
"area-box"
v
-
for
=
"(val, idx) in item.searchArea"
:
key
=
"idx"
>
<
div
class
=
"area-box"
v
-
for
=
"(val, idx) in item.searchArea"
:
key
=
"idx"
>
...
@@ -1600,9 +1600,6 @@ const handleGetSurveyList = async () => {
...
@@ -1600,9 +1600,6 @@ const handleGetSurveyList = async () => {
if
(
res
.
code
===
200
&&
res
.
data
)
{
if
(
res
.
code
===
200
&&
res
.
data
)
{
totalDiscussNum
.
value
=
res
.
data
.
totalElements
;
totalDiscussNum
.
value
=
res
.
data
.
totalElements
;
surveyInfoList
.
value
=
res
.
data
.
content
;
surveyInfoList
.
value
=
res
.
data
.
content
;
surveyInfoList
.
value
.
forEach
(
item
=>
{
item
.
SORTIMAGEURL
=
`http://${item.SORTIMAGEURL
}
`
}
)
}
else
{
}
else
{
surveyInfoList
.
value
=
[];
surveyInfoList
.
value
=
[];
}
}
...
@@ -3179,7 +3176,8 @@ onMounted(async () => {
...
@@ -3179,7 +3176,8 @@ onMounted(async () => {
border
-
bottom
:
1
px
solid
rgba
(
230
,
231
,
232
,
1
);
border
-
bottom
:
1
px
solid
rgba
(
230
,
231
,
232
,
1
);
// height: 780px;
// height: 780px;
.
item
{
.
item
{
height
:
154
px
;
// height: 154px;
min
-
height
:
94
px
;
display
:
flex
;
display
:
flex
;
cursor
:
pointer
;
cursor
:
pointer
;
&
:
hover
{
&
:
hover
{
...
@@ -3199,17 +3197,21 @@ onMounted(async () => {
...
@@ -3199,17 +3197,21 @@ onMounted(async () => {
}
}
.
item
-
center
{
.
item
-
center
{
width
:
30
px
;
width
:
30
px
;
height
:
154
px
;
//
height: 154px;
.
icon
{
.
icon
{
width
:
30
px
;
width
:
30
px
;
height
:
30
px
;
height
:
30
px
;
border
-
radius
:
15
px
;
border
-
radius
:
15
px
;
background
:
orange
;
img
{
width
:
100
%
;
height
:
100
%
;
}
}
}
.
line
{
.
line
{
margin
-
left
:
14
px
;
margin
-
left
:
14
px
;
width
:
2
px
;
width
:
2
px
;
height
:
124
px
;
min
-
height
:
64
px
;
max
-
height
:
124
px
;
border
-
radius
:
1.5
px
;
border
-
radius
:
1.5
px
;
background
:
rgba
(
234
,
236
,
238
,
1
);
background
:
rgba
(
234
,
236
,
238
,
1
);
}
}
...
@@ -3261,13 +3263,17 @@ onMounted(async () => {
...
@@ -3261,13 +3263,17 @@ onMounted(async () => {
line
-
height
:
26
px
;
line
-
height
:
26
px
;
letter
-
spacing
:
0
px
;
letter
-
spacing
:
0
px
;
text
-
align
:
left
;
text
-
align
:
left
;
overflow
:
hidden
;
text
-
overflow
:
ellipsis
;
white
-
space
:
nowrap
;
}
}
.
status
{
.
status
{
margin
-
left
:
9
px
;
margin
-
left
:
9
px
;
display
:
flex
;
display
:
flex
;
width
:
76
px
;
width
:
76
px
;
height
:
24
px
;
height
:
24
px
;
justify
-
content
:
space
-
between
;
justify
-
content
:
flex
-
end
;
gap
:
5
px
;
align
-
items
:
center
;
align
-
items
:
center
;
.
status
-
icon
{
.
status
-
icon
{
width
:
4
px
;
width
:
4
px
;
...
@@ -3323,16 +3329,23 @@ onMounted(async () => {
...
@@ -3323,16 +3329,23 @@ onMounted(async () => {
}
}
.
flag
-
box
{
.
flag
-
box
{
display
:
flex
;
display
:
flex
;
position
:
relative
;
.
flag
{
.
flag
{
width
:
24
px
;
width
:
24
px
;
height
:
24
px
;
height
:
24
px
;
border
-
radius
:
12
px
;
border
-
radius
:
12
px
;
border
:
2
px
solid
#
fff
;
overflow
:
hidden
;
overflow
:
hidden
;
position
:
absolute
;
img
{
img
{
width
:
100
%
;
width
:
100
%
;
height
:
100
%
;
height
:
100
%
;
}
}
}
}
:
nth
-
child
(
1
)
{
left
:
18
px
;
z
-
index
:
99
;
}
}
}
}
}
}
}
...
...
src/views/marketAccessRestrictions/marketAccessHome/utils/barChart1.js
浏览文件 @
5201cafd
...
@@ -54,24 +54,19 @@ const getBarChart = (nameList, valueList) => {
...
@@ -54,24 +54,19 @@ const getBarChart = (nameList, valueList) => {
},
},
barWidth
:
20
,
barWidth
:
20
,
markPoint
:
{
markPoint
:
{
symbol
:
'circle'
,
//
symbol: 'circle',
symbolSize
:
0
,
//
symbolSize: 0,
data
:
(
function
()
{
data
:
(
function
()
{
const
data
=
[];
const
data
=
[];
nameList
.
forEach
((
item
,
index
)
=>
{
nameList
.
forEach
((
item
,
index
)
=>
{
data
.
push
({
data
.
push
({
name
:
'icon'
,
name
:
'icon'
,
// value: '',
xAxis
:
index
,
xAxis
:
index
,
yAxis
:
valueList
[
index
],
yAxis
:
valueList
[
index
],
symbol
:
`image://
${
item
.
img
}
`
,
symbol
:
`image://
${
item
.
img
}
`
,
symbolSize
:
[
20
,
20
],
symbolSize
:
[
20
,
20
],
symbolOffset
:
[
0
,
10
],
symbolOffset
:
[
0
,
10
],
// itemStyle: {
symbolCircle
:
10
// borderRadius: 10, // 设置为圆形
// borderColor: '#fff',
// borderWidth: 2
// }
});
});
});
});
return
data
;
return
data
;
...
...
src/views/technologyFigures/component/SourceLibrary.vue
浏览文件 @
5201cafd
...
@@ -2,24 +2,31 @@
...
@@ -2,24 +2,31 @@
<
template
>
<
template
>
<div
class=
"source-library-container"
>
<div
class=
"source-library-container"
>
<div
class=
"source-library-grid"
>
<div
class=
"source-library-grid"
>
<div
v-for=
"(item, index) in PersonResource"
:key=
"index"
class=
"source-library-card"
@
click=
"handleClcikToCharacter(item.id)"
>
<div
v-for=
"(item, index) in PersonResource"
:key=
"index"
class=
"source-library-card"
@
click=
"handleClcikToCharacter(item.id)"
>
<div
class=
"source-library-avatar-wrapper"
>
<div
class=
"source-library-avatar-wrapper"
>
<img
:src=
"item.avatar"
alt=
""
class=
"source-library-avatar"
/>
<img
:src=
"item.avatar"
alt=
""
class=
"source-library-avatar"
/>
</div>
</div>
<div
class=
"source-library-text-content"
>
<div
class=
"source-library-text-content"
>
<div
style=
"width: 240px;
height: 120px;display: flex; flex-direction: column;
"
>
<div
style=
"width: 240px;
height: 120px; display: flex; flex-direction: column
"
>
<h3
class=
"source-library-name"
>
{{
item
.
name
}}
</h3>
<h3
class=
"source-library-name"
>
{{
item
.
name
}}
</h3>
<p
class=
"source-library-title"
>
{{
item
.
title
}}
</p>
<p
class=
"source-library-title"
>
{{
item
.
title
}}
</p>
<div
class=
"taglist"
>
<div
class=
"taglist"
>
<p
<p
class=
"source-library-tag"
class=
"source-library-tag"
v-for=
"value in item.tag"
v-for=
"(value, index) in item.tag"
:class=
"
{tag1: value.typeId === '001',
:key=
"index"
:class=
"
{
tag1: value.typeId === '001',
tag2: value.typeId === '002',
tag2: value.typeId === '002',
tag3: value.typeId === '003',
tag3: value.typeId === '003',
tag4: value.typeId === '004',
tag4: value.typeId === '004',
tag5: value.typeId === '005',
tag5: value.typeId === '005',
tag6: value.typeId === '006'
,
tag6: value.typeId === '006'
}"
}"
>
>
{{
value
.
typeName
}}
{{
value
.
typeName
}}
...
@@ -30,7 +37,7 @@
...
@@ -30,7 +37,7 @@
</div>
</div>
</div>
</div>
<div
class=
"page"
>
<div
class=
"page"
>
<div
class=
"count"
>
{{
`共 ${total
}
项`
}}
<
/div
>
<div
class=
"count"
>
{{
`共 ${total
}
项`
}}
<
/div
>
<
el
-
pagination
<
el
-
pagination
@
current
-
change
=
"handleCurrentChange"
@
current
-
change
=
"handleCurrentChange"
:
page
-
size
=
"pageSize"
:
page
-
size
=
"pageSize"
...
@@ -46,25 +53,26 @@
...
@@ -46,25 +53,26 @@
<
script
setup
>
<
script
setup
>
// 导入数据(建议使用更具语义的变量名)
// 导入数据(建议使用更具语义的变量名)
import
sourceLibraryData
from
"../json/source.json"
;
import
sourceLibraryData
from
"../json/source.json"
;
import
{
ref
,
onMounted
,
defineProps
,
watch
}
from
"vue"
;
import
{
ref
,
onMounted
,
watch
}
from
"vue"
;
import
{
useRouter
}
from
"vue-router"
;
import
{
useRouter
}
from
"vue-router"
;
import
DefaultIcon1
from
'@/assets/icons/default-icon1.png'
import
DefaultIcon1
from
"@/assets/icons/default-icon1.png"
;
import
DefaultIcon2
from
'@/assets/icons/default-icon2.png'
import
DefaultIcon2
from
"@/assets/icons/default-icon2.png"
;
import
{
getPersonResource
,
getPersonSummaryInfo
}
from
"@/api/technologyFigures/technologyFigures"
;
import
{
getPersonResource
,
getPersonSummaryInfo
}
from
"@/api/technologyFigures/technologyFigures"
;
const
props
=
defineProps
({
const
props
=
defineProps
({
typeId
:
{
typeId
:
{
type
:
String
,
type
:
String
,
default
:
"000"
default
:
"000"
}
}
}
);
}
);
watch
(()
=>
props
.
typeId
,
(
val
)
=>
{
watch
(
()
=>
props
.
typeId
,
val
=>
{
handlegetPersonResourceFn
();
handlegetPersonResourceFn
();
}
)
}
);
const
router
=
useRouter
();
const
router
=
useRouter
();
...
@@ -88,11 +96,11 @@ const handlegetPersonResourceFn = async () => {
...
@@ -88,11 +96,11 @@ const handlegetPersonResourceFn = async () => {
currentPage
:
currentPage
.
value
-
1
,
// Standard Spring Boot page index is 0-based
currentPage
:
currentPage
.
value
-
1
,
// Standard Spring Boot page index is 0-based
pageSize
:
pageSize
.
value
pageSize
:
pageSize
.
value
}
;
}
;
if
(
props
.
typeId
!==
'000'
)
{
if
(
props
.
typeId
!==
"000"
)
{
params
.
personTypeId
=
props
.
typeId
;
params
.
personTypeId
=
props
.
typeId
;
}
}
try
{
try
{
const
res
=
await
getPersonResource
(
params
,
abortController
.
value
.
signal
);
const
res
=
await
getPersonResource
(
params
,
abortController
.
value
.
signal
);
console
.
log
(
"人物资源库"
,
res
);
console
.
log
(
"人物资源库"
,
res
);
if
(
res
.
code
===
200
)
{
if
(
res
.
code
===
200
)
{
if
(
res
.
data
&&
res
.
data
.
content
)
{
if
(
res
.
data
&&
res
.
data
.
content
)
{
...
@@ -104,7 +112,6 @@ const handlegetPersonResourceFn = async () => {
...
@@ -104,7 +112,6 @@ const handlegetPersonResourceFn = async () => {
avatar
:
item
.
personImage
||
DefaultIcon1
avatar
:
item
.
personImage
||
DefaultIcon1
}
));
}
));
total
.
value
=
res
.
data
.
totalElements
;
total
.
value
=
res
.
data
.
totalElements
;
}
else
{
}
else
{
PersonResource
.
value
=
[];
PersonResource
.
value
=
[];
total
.
value
=
0
;
total
.
value
=
0
;
...
@@ -129,7 +136,7 @@ const handleCurrentChange = page => {
...
@@ -129,7 +136,7 @@ const handleCurrentChange = page => {
}
;
}
;
// 跳转人物主页
// 跳转人物主页
const
handleClcikToCharacter
=
async
(
id
)
=>
{
const
handleClcikToCharacter
=
async
id
=>
{
const
personTypeList
=
JSON
.
parse
(
window
.
sessionStorage
.
getItem
(
"personTypeList"
));
const
personTypeList
=
JSON
.
parse
(
window
.
sessionStorage
.
getItem
(
"personTypeList"
));
let
type
=
0
;
let
type
=
0
;
...
@@ -183,13 +190,9 @@ const handleClcikToCharacter = async (id) => {
...
@@ -183,13 +190,9 @@ const handleClcikToCharacter = async (id) => {
}
;
}
;
onMounted
(
async
()
=>
{
onMounted
(
async
()
=>
{
handlegetPersonResourceFn
();
handlegetPersonResourceFn
();
}
);
}
);
const
handlePageChange
=
p
=>
{
const
handlePageChange
=
p
=>
{
currentPage
.
value
=
p
;
currentPage
.
value
=
p
;
}
;
}
;
...
@@ -219,7 +222,6 @@ const handlePageChange = p => {
...
@@ -219,7 +222,6 @@ const handlePageChange = p => {
box
-
shadow
:
0
px
0
px
20
px
0
px
rgba
(
25
,
69
,
130
,
0.1
);
box
-
shadow
:
0
px
0
px
20
px
0
px
rgba
(
25
,
69
,
130
,
0.1
);
background
:
rgba
(
255
,
255
,
255
,
1
);
background
:
rgba
(
255
,
255
,
255
,
1
);
cursor
:
pointer
;
cursor
:
pointer
;
}
}
.
source
-
library
-
card
:
hover
{
.
source
-
library
-
card
:
hover
{
...
@@ -232,25 +234,25 @@ const handlePageChange = p => {
...
@@ -232,25 +234,25 @@ const handlePageChange = p => {
}
}
.
person
-
tags
{
.
person
-
tags
{
display
:
flex
;
display
:
flex
;
margin
-
top
:
-
20
px
;
margin
-
top
:
-
20
px
;
width
:
42
px
;
width
:
42
px
;
padding
-
left
:
28
px
;
padding
-
left
:
28
px
;
text
-
align
:
center
;
text
-
align
:
center
;
}
}
.
person
-
tag
-
bg
{
.
person
-
tag
-
bg
{
/* 椭圆 6 */
/* 椭圆 6 */
width
:
32
px
;
width
:
32
px
;
height
:
32
px
;
height
:
32
px
;
background
:
rgba
(
255
,
255
,
255
,
0.8
);
background
:
rgba
(
255
,
255
,
255
,
0.8
);
border
-
radius
:
50
%
;
border
-
radius
:
50
%
;
}
}
.
tag
-
icon
{
.
tag
-
icon
{
width
:
24
px
;
width
:
24
px
;
height
:
24
px
;
height
:
24
px
;
object
-
fit
:
contain
;
object
-
fit
:
contain
;
}
}
.
source
-
library
-
avatar
{
.
source
-
library
-
avatar
{
...
@@ -263,7 +265,6 @@ const handlePageChange = p => {
...
@@ -263,7 +265,6 @@ const handlePageChange = p => {
.
source
-
library
-
text
-
content
{
.
source
-
library
-
text
-
content
{
width
:
656
px
;
width
:
656
px
;
flex
:
1
;
flex
:
1
;
}
}
.
source
-
library
-
name
{
.
source
-
library
-
name
{
...
@@ -290,7 +291,7 @@ const handlePageChange = p => {
...
@@ -290,7 +291,7 @@ const handlePageChange = p => {
text
-
align
:
left
;
text
-
align
:
left
;
}
}
.
taglist
{
.
taglist
{
display
:
flex
;
display
:
flex
;
gap
:
10
px
;
gap
:
10
px
;
margin
-
top
:
auto
;
margin
-
top
:
auto
;
...
...
src/views/thinkTank/ReportDetail/reportAnalysis/index.vue
浏览文件 @
5201cafd
...
@@ -129,6 +129,7 @@ import {
...
@@ -129,6 +129,7 @@ import {
getThinkTankReportIndustry
,
getThinkTankReportIndustry
,
getThinkTankReportIndustryCloud
getThinkTankReportIndustryCloud
}
from
"@/api/thinkTank/overview"
;
}
from
"@/api/thinkTank/overview"
;
import
{
getChartAnalysis
}
from
'@/api/aiAnalysis/index'
import
{
useRouter
}
from
"vue-router"
;
import
{
useRouter
}
from
"vue-router"
;
const
router
=
useRouter
();
const
router
=
useRouter
();
...
@@ -256,118 +257,6 @@ const majorOpinions = ref([
...
@@ -256,118 +257,6 @@ const majorOpinions = ref([
status
:
2
status
:
2
}
}
]
]
},
{
id
:
3
,
title
:
"我是示例标题"
,
desc
:
"我是示例内容"
,
tagList
:
[
{
name
:
"半导体"
,
status
:
4
}
]
},
{
id
:
4
,
title
:
"我是示例标题"
,
desc
:
"我是示例内容"
,
tagList
:
[
{
name
:
"关税"
,
status
:
2
},
{
name
:
"跨境电商"
,
status
:
1
}
]
},
{
id
:
5
,
title
:
"我是示例标题"
,
desc
:
"我是示例内容"
,
tagList
:
[
{
name
:
"关税"
,
status
:
2
},
{
name
:
"跨境电商"
,
status
:
1
}
]
},
{
id
:
6
,
title
:
"我是示例标题"
,
desc
:
"我是示例内容"
,
tagList
:
[
{
name
:
"关税"
,
status
:
2
},
{
name
:
"跨境电商"
,
status
:
1
}
]
},
{
id
:
7
,
title
:
"我是示例标题"
,
desc
:
"我是示例内容"
,
tagList
:
[
{
name
:
"产业脱钩"
,
status
:
6
}
]
},
{
id
:
8
,
title
:
"我是示例标题"
,
desc
:
"我是示例内容"
,
tagList
:
[
{
name
:
"关税"
,
status
:
2
},
{
name
:
"跨境电商"
,
status
:
1
}
]
},
{
id
:
9
,
title
:
"我是示例标题"
,
desc
:
"我是示例内容"
,
tagList
:
[
{
name
:
"关税"
,
status
:
2
},
{
name
:
"跨境电商"
,
status
:
1
}
]
},
{
id
:
10
,
title
:
"我是示例标题"
,
desc
:
"我是示例内容"
,
tagList
:
[
{
name
:
"关税"
,
status
:
2
},
{
name
:
"跨境电商"
,
status
:
1
}
]
}
}
]);
]);
// 处理页码改变事件
// 处理页码改变事件
...
@@ -384,12 +273,25 @@ const handleGetThinkTankReportContent = async () => {
...
@@ -384,12 +273,25 @@ const handleGetThinkTankReportContent = async () => {
console
.
log
(
"主要观点"
,
res
.
data
);
console
.
log
(
"主要观点"
,
res
.
data
);
if
(
res
.
code
===
200
&&
res
.
data
)
{
if
(
res
.
code
===
200
&&
res
.
data
)
{
majorOpinions
.
value
=
res
.
data
.
content
;
majorOpinions
.
value
=
res
.
data
.
content
;
handleGetBox3AnalysisContent
(
majorOpinions
.
value
)
total
.
value
=
res
.
data
.
totalElements
total
.
value
=
res
.
data
.
totalElements
}
}
}
catch
(
error
)
{
}
catch
(
error
)
{
console
.
error
(
"获取主要观点error"
,
error
);
console
.
error
(
"获取主要观点error"
,
error
);
}
}
};
};
// 获取图表分析内容
const
box3AnalysisContent
=
ref
(
''
)
const
handleGetBox3AnalysisContent
=
async
(
textJson
)
=>
{
const
params
=
{
text
:
textJson
}
const
res
=
await
getChartAnalysis
(
params
)
console
.
log
(
'图表解析内容'
,
res
);
}
onMounted
(()
=>
{
onMounted
(()
=>
{
handleGetThinkTankReportAbstract
();
handleGetThinkTankReportAbstract
();
handleGetThinkTankReportContent
();
handleGetThinkTankReportContent
();
...
...
vite.config.js
浏览文件 @
5201cafd
...
@@ -75,6 +75,11 @@ export default defineConfig({
...
@@ -75,6 +75,11 @@ export default defineConfig({
target
:
'http://106.12.150.59:18826/'
,
target
:
'http://106.12.150.59:18826/'
,
changeOrigin
:
true
,
changeOrigin
:
true
,
rewrite
:
(
path
)
=>
path
.
replace
(
/^
\/
temporarySearch/
,
''
)
rewrite
:
(
path
)
=>
path
.
replace
(
/^
\/
temporarySearch/
,
''
)
},
'/aiAnalysis'
:
{
target
:
'http://8.140.26.4:15000/'
,
changeOrigin
:
true
,
rewrite
:
(
path
)
=>
path
.
replace
(
/^
\/
temporarySearch/
,
''
)
}
}
}
}
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论