Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
R
risk-monitor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
蔡建
risk-monitor
Commits
46febd14
提交
46febd14
authored
11月 18, 2025
作者:
coderBryanFu
浏览文件
操作
浏览文件
下载
差异文件
update
上级
ebb214c2
4a7aa0d1
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
503 行增加
和
29 行删除
+503
-29
newsData1.jpg
public/testData/newsData1.jpg
+0
-0
timeLine-bg.jpg
src/assets/images/bg/timeLine-bg.jpg
+0
-0
ResourceSupport.vue
src/views/overView/component/ResourceSupport.vue
+205
-10
Thematicanalysis.vue
src/views/overView/component/Thematicanalysis.vue
+59
-15
Timeline.vue
src/views/overView/component/Timeline.vue
+230
-0
strengthComparison.vue
src/views/overView/component/strengthComparison.vue
+8
-3
index.vue
src/views/overView/index.vue
+1
-1
没有找到文件。
public/testData/newsData1.jpg
0 → 100644
浏览文件 @
46febd14
16.7 KB
src/assets/images/bg/timeLine-bg.jpg
0 → 100644
浏览文件 @
46febd14
4.5 KB
src/views/overView/component/ResourceSupport.vue
浏览文件 @
46febd14
<!-- 中M博弈
概览页
-->
<!-- 中M博弈
资源支撑
-->
<
template
>
<div
class=
"resource-box"
>
<
img
class=
"title-img"
src=
"@/assets/images/bg/概览页模块标题2.png"
></img
>
<
DivideHeader
class=
"divide1"
:titleText=
"'中美博弈资源支撑'"
></DivideHeader
>
<div
style=
"margin-top: 20px;height: 450px;display: flex;"
>
<div
class=
"resource-content"
style=
"width: 45%; display: block;"
>
<div
class=
"resource-content"
style=
"width: 4
7.
5%; display: block;"
>
<div
class=
"item-header"
>
<img
class=
"item-header-icon"
src=
"@/assets/images/icon/thematic-card-header-time.png"
></img>
<div
class=
"item-header-text"
>
中美博弈资源新闻动态
</div>
<div
class=
"item-header-right"
>
更多 +
</div>
</div>
<div
class=
"item-header-divider"
></div>
<div
style=
" height: 400px;overflow: auto;"
>
<el-timeline
style=
"max-width: 600px;padding: 25px; "
>
<el-timeline-item
placement=
"top"
v-for=
"(activity, index) in newsData"
:key=
"index"
:icon=
"activity.icon"
type=
"primary"
:hollow=
"true"
:timestamp=
"activity.time"
>
<div
class=
"row"
>
<div
class=
"content-wrapper"
>
{{
activity
.
content
}}
</div>
<img
:src=
"activity.image"
/>
</div>
</el-timeline-item>
</el-timeline>
</div>
</div>
<div
class=
"resource-content"
style=
"width: 45%;margin-left: 5%;"
>
<div
class=
"resource-content"
style=
"width: 4
7.
5%;margin-left: 5%;"
>
<div
class=
"item-header"
>
<img
class=
"item-header-icon"
src=
"@/assets/images/icon/thematic-card-header-time.png"
></img>
<div
class=
"item-header-text"
>
创新主体排名
</div>
<div
class=
"item-header-text"
style=
"width: 130px;"
>
创新主体排名
</div>
<el-radio-group
v-model=
"InnovationRankingBtn"
size=
"small"
@
change=
"handleInnovationRankingBtn"
>
<el-radio-button
value=
"enterprise"
border
>
科技企业
</el-radio-button>
<el-radio-button
value=
"lab"
border
>
国家重点实验室
</el-radio-button>
<el-radio-button
value=
"university"
border
>
研究型大学
</el-radio-button>
<el-radio-button
value=
"contractor"
border
>
国防承包商
</el-radio-button>
</el-radio-group>
</div>
<div
class=
"item-header-divider"
></div>
<el-table
:data=
"InnovationRanking"
stripe
style=
"width: 100%;padding: 5px 25px;"
:header-cell-style=
"headerCellStyle"
>
<el-table-column
prop=
"name"
label=
"创新主体"
width=
"100"
/>
<el-table-column
prop=
"markValue"
align=
"right"
>
<template
#
header
>
<div
class=
"custom-header"
>
<div
class=
"label"
>
市值
</div>
<div
class=
"unit"
>
(亿元)
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"所属领域"
width=
"180"
>
<
template
#
default=
"scope"
>
<div
style=
"display: flex; align-items: center; gap: 5px"
>
<el-tag
v-for=
"tag in scope.row.area"
:key=
"tag"
:type=
"tag === '人工智能'
? 'primary'
: TAGTYPE[Math.floor(Math.random() * 5)]
"
>
{{
tag
}}
</el-tag>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"创新实力"
>
<
template
#
default=
"scope"
>
<div
style=
"display: flex; align-items: center"
>
<el-progress
:percentage=
"scope.row.value * 100"
:show-text=
"false"
style=
"width: 50px;"
:status=
"getStatus(scope.row.value)"
/>
</div>
</
template
>
</el-table-column>
</el-table>
</div>
</div>
<div
style=
"margin-top: 20px;height: 450px;display: flex;"
>
<div
class=
"resource-content"
style=
"width: 45%; display: block;"
>
<div
class=
"resource-content"
style=
"width: 4
7.
5%; display: block;"
>
<div
class=
"item-header"
>
<img
class=
"item-header-icon"
src=
"@/assets/images/icon/thematic-card-header-time.png"
></img>
<div
class=
"item-header-text"
>
研发投入情况
</div>
...
...
@@ -37,7 +92,7 @@
</div>
</div>
<div
class=
"resource-content"
style=
"width: 45%;margin-left: 5%;"
>
<div
class=
"resource-content"
style=
"width: 4
7.
5%;margin-left: 5%;"
>
<div
class=
"item-header"
>
<img
class=
"item-header-icon"
src=
"@/assets/images/icon/thematic-card-header-time.png"
></img>
<div
class=
"item-header-text"
>
研发投入领域
</div>
...
...
@@ -51,7 +106,7 @@
</div>
<div
style=
"margin-top: 20px;height: 450px;display: flex;"
>
<div
class=
"resource-content"
style=
"width: 45%; display: block;"
>
<div
class=
"resource-content"
style=
"width: 4
7.
5%; display: block;"
>
<div
class=
"item-header"
>
<img
class=
"item-header-icon"
src=
"@/assets/images/icon/thematic-card-header-time.png"
></img>
<div
class=
"item-header-text"
>
专利申请情况
</div>
...
...
@@ -62,7 +117,7 @@
</div>
</div>
<div
class=
"resource-content"
style=
"width: 45%;margin-left: 5%;"
>
<div
class=
"resource-content"
style=
"width: 4
7.
5%;margin-left: 5%;"
>
<div
class=
"item-header"
>
<img
class=
"item-header-icon"
src=
"@/assets/images/icon/thematic-card-header-time.png"
></img>
<div
class=
"item-header-text"
>
论文发表情况
</div>
...
...
@@ -82,6 +137,8 @@
<
script
setup
>
import
{
onMounted
,
ref
,
computed
}
from
"vue"
;
import
*
as
echarts
from
"echarts"
;
import
DivideHeader
from
"@/components/DivideHeader.vue"
;
import
{
TAGTYPE
}
from
"@/public/constant"
;
import
getBarChart2
from
'../js/barChart2.js'
import
radarChart2
from
'../js/radarChart2.js'
import
getMultiLineChart1
from
"../js/multiLineChart1.js"
;
...
...
@@ -91,6 +148,83 @@ const names = ['Jan', 'Feb', 'Mar', 'Apr', 'May']
const
data1
=
[
120
,
200
,
150
,
80
,
70
]
const
data2
=
[
90
,
230
,
180
,
110
,
100
]
//博弈资源新闻动态
const
newsData
=
ref
([
{
time
:
' 2025-07-31'
,
content
:
'美商务部发布指南,警告全球企业使用华为异腾芯片可能违反美国出口管制。意在限制中国AI产业发展,阻碍其获得先进算力。'
,
image
:
'/testData/newsData1.jpg'
,
},
{
time
:
'2025-07-30'
,
content
:
'美商务部持续对多种中国产品发起“双反”(反倾销、反补贴)调查并作出裁决,涉及产品从工业原料到日常用品,且裁定的税率普遍较高。'
,
image
:
'/testData/newsData1.jpg'
,
},
{
time
:
'2025-07-30'
,
content
:
'美商务部进一步收紧对华先进半导体出口管制,将更多中国实体列入“实体清单”限制14纳米及以下先进芯片、DRAM等对华出口。'
,
image
:
'/testData/newsData1.jpg'
,
},
{
time
:
'2025-07-27'
,
content
:
'美商务部发起第三次反倾销和反补贴日落复审调査。'
,
image
:
'/testData/newsData1.jpg'
,
}
])
function
headerCellStyle
()
{
return
{
color
:
'rgba(59, 65, 75, 1)'
,
fontSize
:
'16px'
,
fontWeight
:
700
,
};
}
//创新主体排名
const
InnovationRanking
=
ref
([
{
name
:
'微软(Microsoft)'
,
markValue
:
'3200'
,
area
:
[
'人工智能'
,
'先进制造'
],
value
:
0.9
},
{
name
:
'苹果(Apple)'
,
markValue
:
'1600'
,
area
:
[
'人工智能'
],
value
:
0.8
},
{
name
:
'英伟达(NVIDIA)'
,
markValue
:
'1200'
,
area
:
[
'人工智能'
],
value
:
0.7
},
{
name
:
'谷歌(Google)'
,
markValue
:
'800'
,
area
:
[
'人工智能'
],
value
:
0.5
},
{
name
:
'Meta (Facebook)'
,
markValue
:
'900'
,
area
:
[
'人工智能'
],
value
:
0.2
}
])
// 进度条状态
const
getStatus
=
_percent
=>
{
const
percent
=
_percent
*
100
;
if
(
percent
>=
90
)
{
return
"exception"
;
}
else
if
(
percent
>=
50
)
{
return
"warning"
;
}
else
{
return
"success"
;
}
};
//科技主体排名按钮
const
InnovationRankingBtn
=
ref
(
'enterprise'
)
function
handleInnovationRankingBtn
()
{
}
//专利申请情况
const
chart5Data
=
ref
({
title
:
[
...
...
@@ -145,6 +279,11 @@ onMounted(() => {
</
script
>
<
style
lang=
"scss"
scoped
>
.divide1
{
margin-top
:
64px
;
margin-bottom
:
36px
;
}
.resource-box
{
height
:
1550px
;
}
...
...
@@ -173,6 +312,44 @@ onMounted(() => {
box-shadow
:
0px
0px
20px
0px
rgba
(
25
,
69
,
130
,
0
.1
);
background
:
rgba
(
255
,
255
,
255
,
1
);
.row
{
display
:
flex
;
/* 横向排列 */
align-items
:
center
;
/* 垂直居中(可选) */
width
:
100%
;
/* 和外层容器同宽 */
}
.content-wrapper
{
flex
:
1
1
auto
;
/* 占满剩余空间,把图片顶到最右 */
/* 文字过长时自动换行 */
word-break
:
break-all
;
}
.row
img
{
width
:
96px
;
height
:
72px
;
margin-left
:
8px
;
/* 图片与文字间距,可删 */
flex-shrink
:
0
;
/* 防止图片被压缩 */
}
:deep
(
.el-timeline-item__timestamp.is-top
)
{
color
:
rgba
(
59
,
65
,
75
,
1
);
font-size
:
16px
;
font-weight
:
700
;
line-height
:
24px
;
text-align
:
left
;
}
:deep
(
.el-timeline-item__node.is-hollow
)
{
border-width
:
4px
}
.item-header
{
height
:
48px
;
width
:
100%
;
...
...
@@ -226,6 +403,24 @@ onMounted(() => {
}
}
.custom-header
{
text-align
:
center
;
line-height
:
1
.3
;
}
.custom-header
.label
{
color
:
rgba
(
59
,
65
,
75
,
1
);
font-size
:
16px
;
font-weight
:
700
;
line-height
:
24px
;
}
.custom-header
.unit
{
font-size
:
12px
;
color
:
#909399
;
}
.item-header-divider
{
/* 矩形 249 */
width
:
100%
;
...
...
src/views/overView/component/Thematicanalysis.vue
浏览文件 @
46febd14
<!--
中M博弈概览页
-->
<!--
打压遏制ts分析
-->
<
template
>
<div
class=
"thematic-box"
>
<div
class=
"title-text"
>
中美博弈专题分析
</div>
<
img
class=
"title-img"
src=
"@/assets/images/bg/概览页模块标题.png"
></img
>
<
DivideHeader
class=
"divide"
:titleText=
"'打压遏制态势分析'"
></DivideHeader
>
<div
class=
"thematic-content"
>
<div
class=
"item-header"
>
<img
class=
"item-header-icon"
src=
"@/assets/images/icon/thematic-card-header-time.png"
></img>
...
...
@@ -12,11 +12,13 @@
</div>
<div
class=
"item-header-divider"
></div>
<div
style=
"display: flex;height: calc(100% - 60px);"
>
<div
class=
"thematic-btn-left"
@
click=
"changeBtn('timwLine', 'left')"
>
<
!--
<
div
class=
"thematic-btn-left"
@
click=
"changeBtn('timwLine', 'left')"
>
<img
class=
"thematic-btn-icon"
src=
"@/assets/images/icon/card-btn-left.png"
></img>
</div>
<div
class=
"timeLine-box"
>
</div>
-->
<Timeline
:data=
"course"
text-key=
"title"
id-key=
"seq"
@
click-card=
"showDetail"
/>
<!--
<div
class=
"timeLine-box"
>
<div
style=
"height: calc(50% - 8px);display: flex"
>
<div
v-for=
"(item, index) in timeLineOddIndexItems"
class=
"time-item-box"
>
{{
item
.
titlle
}}
...
...
@@ -28,7 +30,7 @@
{{
item
.
titlle
}}
</div>
</div>
</div>
</div>
-->
<div
class=
"thematic-btn-right"
@
click=
"changeBtn('right')"
>
<img
class=
"thematic-btn-icon"
src=
"@/assets/images/icon/card-btn-right.png"
></img>
...
...
@@ -84,7 +86,7 @@
</div>
<div
style=
"margin-top: 20px;height: 450px;display: flex;"
>
<div
class=
"thematic-content"
style=
"width: 45%; display: block;"
>
<div
class=
"thematic-content"
style=
"width: 4
7.
5%; display: block;"
>
<div
class=
"item-header"
>
<img
class=
"item-header-icon"
src=
"@/assets/images/icon/thematic-card-header-time.png"
></img>
<div
class=
"item-header-text"
>
打压遏制强度变化
</div>
...
...
@@ -96,7 +98,7 @@
</div>
</div>
<div
class=
"thematic-content"
style=
"width: 45%;margin-left: 5%;"
>
<div
class=
"thematic-content"
style=
"width: 4
7.
5%;margin-left: 5%;"
>
<div
class=
"item-header"
>
<img
class=
"item-header-icon"
src=
"@/assets/images/icon/thematic-card-header-time.png"
></img>
<div
class=
"item-header-text"
>
打压遏制强度变化
</div>
...
...
@@ -117,36 +119,69 @@
<
script
setup
>
import
{
onMounted
,
ref
,
computed
}
from
"vue"
;
import
*
as
echarts
from
"echarts"
;
import
DivideHeader
from
"@/components/DivideHeader.vue"
;
import
Timeline
from
'../component/Timeline.vue'
import
getBarChart
from
'../js/barChart.js'
import
radarChart
from
'../js/radarChart.js'
const
timeLine
=
ref
([
const
course
=
ref
([
{
time
:
'2025年1月'
,
titl
le
:
'《AI扩散暂行最终规则》发布0
'
,
titl
e
:
'《AI扩散暂行最终规则》发布
'
,
content
:
'拜登政府发布《AI扩散暂行最终规则》,建立三级许可制度。'
},
{
time
:
'2025年1月'
,
titl
le
:
'《AI扩散暂行最终规则》发布1
'
,
titl
e
:
'特朗普宣布撤销拜登AI规则
'
,
content
:
'拜登政府发布《AI扩散暂行最终规则》,建立三级许可制度。'
},
{
time
:
'2025年1月'
,
titlle
:
'特朗普签署EO 143202'
,
title
:
'特朗普签署EO 143202'
,
content
:
'特朗普政府宣布撤销拜登AI规则,计划'
},
{
time
:
'2025年1月'
,
title
:
'中国网信办约谈英伟达'
,
content
:
'中国网信办约谈英伟达,要求就H20算力芯片漏洞后门安全风险问题进行说明。'
},
{
time
:
'2025年7月23日'
,
title
:
'英伟达H20发放出口许可证'
,
content
:
'美国商务部为4月份被实质禁售的英伟达H20发放出口许可证。'
},
{
time
:
'2025年1月'
,
title
:
'《AI扩散暂行最终规则》发布'
,
content
:
'拜登政府发布《AI扩散暂行最终规则》,建立三级许可制度。'
},
{
time
:
'2025年1月'
,
titl
le
:
'《AI扩散暂行最终规则》发布3
'
,
titl
e
:
'特朗普宣布撤销拜登AI规则
'
,
content
:
'拜登政府发布《AI扩散暂行最终规则》,建立三级许可制度。'
},
{
time
:
'2025年1月'
,
title
:
'特朗普签署EO 143202'
,
content
:
'特朗普政府宣布撤销拜登AI规则,计划'
},
{
time
:
'2025年1月'
,
title
:
'中国网信办约谈英伟达'
,
content
:
'中国网信办约谈英伟达,要求就H20算力芯片漏洞后门安全风险问题进行说明。'
},
{
time
:
'2025年7月23日'
,
titl
le
:
'《AI扩散暂行最终规则》发布4
'
,
content
:
'
拜登政府发布《AI扩散暂行最终规则》,建立三级许可制度
。'
titl
e
:
'英伟达H20发放出口许可证
'
,
content
:
'
美国商务部为4月份被实质禁售的英伟达H20发放出口许可证
。'
},
])
function
showDetail
(
item
)
{
console
.
log
(
'点击了:'
,
item
);
}
// 过滤出奇数下标(1,3,5...)
const
timeLineOddIndexItems
=
computed
(()
=>
timeLine
.
value
.
filter
((
_
,
idx
)
=>
idx
%
2
===
1
)
...
...
@@ -344,6 +379,13 @@ onMounted(() => {
.thematic-box
{
height
:
1500px
;
.divide
{
width
:
100%
;
margin
:
0
auto
;
margin-top
:
52px
;
margin-bottom
:
36px
;
}
}
.title-text
{
...
...
@@ -370,6 +412,8 @@ onMounted(() => {
box-shadow
:
0px
0px
20px
0px
rgba
(
25
,
69
,
130
,
0
.1
);
background
:
rgba
(
255
,
255
,
255
,
1
);
.item-header
{
height
:
48px
;
width
:
100%
;
...
...
src/views/overView/component/Timeline.vue
0 → 100644
浏览文件 @
46febd14
<
template
>
<div
class=
"timeline-wrapper"
>
<button
class=
"arrow left"
:disabled=
"index
<
=
0
"
@
click=
"index--"
>
<
</button>
<div
class=
"timeline-box"
>
<div
class=
"line"
></div>
<div
v-for=
"(item, i) in showList"
:key=
"item[idKey]"
class=
"node"
:style=
"leftOffset(i)"
>
<div
class=
"node"
:style=
"leftOffset(i)"
>
<!-- 圆环 -->
<div
class=
"dot"
:class=
"linePos(i, flip)"
></div>
<!-- 卡片:放到线右侧 -->
<div
class=
"card"
:class=
"[cardPos(i, flip), 'right-side']"
@
click=
"$emit('click-card', item)"
>
<div
class=
"title"
>
{{
item
.
time
}}
</div>
<div
class=
"name"
>
{{
item
.
name
}}
</div>
<div
class=
"content"
>
{{
item
.
content
}}
</div>
</div>
</div>
</div>
</div>
<button
class=
"arrow right"
:disabled=
"index >= total - 5"
@
click=
"index++"
>
>
</button>
</div>
</
template
>
<
script
>
export
default
{
name
:
'TimeLine'
,
props
:
{
data
:
{
// 父组件传入的数组
type
:
Array
,
required
:
true
},
textKey
:
{
// 要显示的文本字段
type
:
String
,
default
:
'text'
},
idKey
:
{
// 唯一标识字段
type
:
String
,
default
:
'id'
}
},
data
()
{
return
{
index
:
0
};
},
computed
:
{
total
()
{
return
this
.
data
.
length
;
},
showList
()
{
return
this
.
data
.
slice
(
this
.
index
,
this
.
index
+
5
);
},
flip
()
{
return
this
.
index
%
2
===
1
;
}
},
methods
:
{
leftOffset
(
i
)
{
return
{
left
:
`
${(
i
*
100
)
/
5
}
%`
};
},
/* 上下层翻转(保留上次逻辑) */
cardPos
(
i
,
flip
=
false
)
{
return
(
i
%
2
)
^
flip
?
'down'
:
'up'
;
},
/* 线延伸方向 = 卡片出现方向 */
linePos
(
i
,
flip
=
false
)
{
return
this
.
cardPos
(
i
,
flip
);
// up / down
}
}
};
</
script
>
<
style
scoped
>
/* 样式与之前完全一致,不再重复 */
.timeline-wrapper
{
display
:
flex
;
align-items
:
center
;
width
:
100%
;
position
:
relative
;
padding
:
0
40px
;
box-sizing
:
border-box
;
}
.arrow
{
position
:
absolute
;
top
:
50%
;
transform
:
translateY
(
-50%
);
width
:
32px
;
height
:
32px
;
border-radius
:
50%
;
border
:
1px
solid
#dcdfe6
;
background
:
#fff
;
cursor
:
pointer
;
z-index
:
10
;
}
.arrow
:disabled
{
color
:
#c0c4cc
;
cursor
:
not-allowed
;
}
.left
{
left
:
0
;
}
.right
{
right
:
0
;
}
.timeline-box
{
flex
:
1
;
height
:
100%
;
position
:
relative
;
}
.line
{
position
:
absolute
;
left
:
0
;
right
:
0
;
top
:
50%
;
height
:
6px
;
background-image
:
url("@/assets/images/bg/timeLine-bg.jpg")
;
transform
:
translateY
(
-50%
);
background-size
:
auto
100%
;
}
.node
{
position
:
absolute
;
top
:
50%
;
transform
:
translate
(
-50%
,
-50%
);
z-index
:
2
;
}
/* ===== 圆环基础 ===== */
.dot
{
width
:
14px
;
height
:
14px
;
border-radius
:
50%
;
border
:
3px
solid
#409eff
;
background
:
#fff
;
position
:
relative
;
margin
:
0
auto
;
z-index
:
2
;
}
/* ===== 延伸线 ===== */
.dot
::after
{
content
:
''
;
position
:
absolute
;
left
:
50%
;
transform
:
translateX
(
-1px
);
/* 居中细线 */
width
:
1px
;
background
:
#409eff
;
}
/* 向上节点:线往下伸 */
.dot.up
::after
{
bottom
:
100%
;
height
:
120px
;
/* 圆环底部 → 卡片顶 */
}
/* 向下节点:线往上伸 */
.dot.down
::after
{
top
:
100%
;
height
:
120px
;
}
.card
{
position
:
absolute
;
height
:
120px
;
width
:
15vw
;
padding
:
8px
12px
;
text-align
:
center
;
cursor
:
pointer
;
font-size
:
14px
;
}
.title
{
color
:
rgba
(
5
,
95
,
194
,
1
);
font-size
:
18px
;
font-weight
:
700
;
line-height
:
26px
;
letter-spacing
:
0px
;
text-align
:
justify
;
}
.name
{
color
:
var
(
----80
,
rgba
(
59
,
65
,
75
,
1
));
font-size
:
20px
;
font-weight
:
700
;
line-height
:
26px
;
letter-spacing
:
0px
;
text-align
:
justify
;
}
.content
{}
.card.up
{
bottom
:
20px
;
}
.card.down
{
top
:
20px
;
}
</
style
>
\ No newline at end of file
src/views/overView/component/strengthComparison.vue
浏览文件 @
46febd14
<!-- 中M
博弈概览页
-->
<!-- 中M
科技实力对比
-->
<
template
>
<div
class=
"resource-box"
>
<img
class=
"title-img"
src=
"@/assets/images/bg/概览页模块标题3.png"
></img>
<DivideHeader
class=
"divide1"
:titleText=
"'中美科技实力对比'"
></DivideHeader>
<div
style=
"margin-top: 20px;height: 450px;display: flex;"
>
<div
class=
"resource-content"
style=
"width:100%; display: flex;"
>
...
...
@@ -49,6 +48,7 @@
<
script
setup
>
import
{
onMounted
,
ref
,
computed
}
from
"vue"
;
import
*
as
echarts
from
"echarts"
;
import
DivideHeader
from
"@/components/DivideHeader.vue"
;
import
radarChart3
from
'../js/radarChart3.js'
...
...
@@ -94,6 +94,11 @@ onMounted(() => {
</
script
>
<
style
lang=
"scss"
scoped
>
.divide1
{
margin-top
:
64px
;
margin-bottom
:
36px
;
}
/* ========== 一行两个 ========== */
.progress-row
{
display
:
flex
;
...
...
src/views/overView/index.vue
浏览文件 @
46febd14
...
...
@@ -377,7 +377,7 @@ onMounted(() => { });
width
:
100%
;
height
:
100%
;
overflow
:
auto
;
padding
:
0
1
60px
;
padding
:
0
1
0%
;
.title-text
{
font-size
:
32px
;
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论