Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
R
risk-monitor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
蔡建
risk-monitor
Commits
853da3a4
提交
853da3a4
authored
12月 05, 2025
作者:
liujq23
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
出口管制详情接口部分完成
上级
275bc508
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
66 行增加
和
23 行删除
+66
-23
exportControl.js
src/api/exportControl.js
+1
-1
panel3.vue
src/views/exportControl/analysis/components/panel3.vue
+4
-5
panel4.vue
src/views/exportControl/analysis/components/panel4.vue
+10
-11
deepDig.vue
src/views/exportControl/analysis/content/deepDig.vue
+2
-1
overview.vue
src/views/exportControl/analysis/content/overview.vue
+27
-4
index.vue
src/views/exportControl/index.vue
+22
-1
没有找到文件。
src/api/exportControl.js
浏览文件 @
853da3a4
...
@@ -13,7 +13,7 @@ const request200 = (requestP) => {
...
@@ -13,7 +13,7 @@ const request200 = (requestP) => {
type
:
'error'
,
type
:
'error'
,
duration
:
3
*
1000
duration
:
3
*
1000
})
})
return
{}
return
null
})
})
}
}
...
...
src/views/exportControl/analysis/components/panel3.vue
浏览文件 @
853da3a4
...
@@ -57,7 +57,7 @@ const line2Option = shallowRef({});
...
@@ -57,7 +57,7 @@ const line2Option = shallowRef({});
onMounted
(
async
()
=>
{
onMounted
(
async
()
=>
{
try
{
try
{
const
[
entitiesAreaCountByYearData
=
[],
countThisDomainData4
=
[],
entitiesDomainCountData
,
countThisDomainData10
=
[]
]
=
const
[
entitiesAreaCountByYearData
,
countThisDomainData4
,
entitiesDomainCountData
,
countThisDomainData10
]
=
await
Promise
.
all
([
await
Promise
.
all
([
getEntitiesAreaCountByYear
(
route
.
query
.
startTime
),
getEntitiesAreaCountByYear
(
route
.
query
.
startTime
),
getCountThisDomain
(
"4"
),
getCountThisDomain
(
"4"
),
...
@@ -65,9 +65,8 @@ onMounted(async () => {
...
@@ -65,9 +65,8 @@ onMounted(async () => {
getCountThisDomain
(
"10"
)
getCountThisDomain
(
"10"
)
]);
]);
pie1Option
.
value
=
getPieOption1
(
entitiesAreaCountByYearData
);
pie1Option
.
value
=
getPieOption1
(
entitiesAreaCountByYearData
??
[]);
const
list4
=
_
.
reverse
(
countThisDomainData4
??
[]);
const
list4
=
_
.
reverse
(
countThisDomainData4
);
line1Option
.
value
=
getLineChart
({
line1Option
.
value
=
getLineChart
({
xAxisData
:
_
.
map
(
list4
,
"year"
),
xAxisData
:
_
.
map
(
list4
,
"year"
),
seriesData
:
_
.
map
(
list4
,
"count"
),
seriesData
:
_
.
map
(
list4
,
"count"
),
...
@@ -82,7 +81,7 @@ onMounted(async () => {
...
@@ -82,7 +81,7 @@ onMounted(async () => {
"领域数"
"领域数"
);
);
const
list10
=
_
.
reverse
(
countThisDomainData10
);
const
list10
=
_
.
reverse
(
countThisDomainData10
??
[]
);
line2Option
.
value
=
getLineChart
({
line2Option
.
value
=
getLineChart
({
xAxisData
:
_
.
map
(
list10
,
"year"
),
xAxisData
:
_
.
map
(
list10
,
"year"
),
seriesData
:
_
.
map
(
list10
,
"count"
),
seriesData
:
_
.
map
(
list10
,
"count"
),
...
...
src/views/exportControl/analysis/components/panel4.vue
浏览文件 @
853da3a4
...
@@ -56,16 +56,15 @@ const line1Option = shallowRef({});
...
@@ -56,16 +56,15 @@ const line1Option = shallowRef({});
const
line2Option
=
shallowRef
({});
const
line2Option
=
shallowRef
({});
onMounted
(
async
()
=>
{
onMounted
(
async
()
=>
{
try
{
try
{
const
[
countSanTypeByTimeData
=
[],
countThisTypeData1
=
[],
countTypeByYearData
=
[],
countThisTypeData2
=
[]]
=
const
[
countSanTypeByTimeData
,
countThisTypeData1
,
countTypeByYearData
,
countThisTypeData2
]
=
await
Promise
.
all
([
await
Promise
.
all
([
getCountSanTypeByTime
(
route
.
query
.
startTime
),
getCountSanTypeByTime
(
route
.
query
.
startTime
),
getCountThisType
(
"1"
),
getCountThisType
(
"1"
),
getCountTypeByYear
(),
getCountTypeByYear
(),
getCountThisType
(
"2"
)
getCountThisType
(
"2"
)
]);
]);
pie1Option
.
value
=
getPieOption1
(
pie1Option
.
value
=
getPieOption1
(
_
.
map
(
countSanTypeByTimeData
,
item
=>
{
_
.
map
(
countSanTypeByTimeData
??
[]
,
item
=>
{
return
{
return
{
name
:
item
?.
type
,
name
:
item
?.
type
,
value
:
item
?.
count
value
:
item
?.
count
...
@@ -73,7 +72,7 @@ onMounted(async () => {
...
@@ -73,7 +72,7 @@ onMounted(async () => {
})
})
);
);
const
list1
=
_
.
reverse
(
countThisTypeData1
);
const
list1
=
_
.
reverse
(
countThisTypeData1
??
[]
);
line1Option
.
value
=
getLineChart
({
line1Option
.
value
=
getLineChart
({
xAxisData
:
_
.
map
(
list1
,
"year"
),
xAxisData
:
_
.
map
(
list1
,
"year"
),
seriesData
:
_
.
map
(
list1
,
"count"
),
seriesData
:
_
.
map
(
list1
,
"count"
),
...
@@ -81,7 +80,7 @@ onMounted(async () => {
...
@@ -81,7 +80,7 @@ onMounted(async () => {
color
:
"rgba(255, 149, 77, 1)"
color
:
"rgba(255, 149, 77, 1)"
});
});
const
list
=
_
.
reverse
(
countTypeByYearData
);
const
list
=
_
.
reverse
(
countTypeByYearData
??
[]
);
bar2Option
.
value
=
getBarChart
(
bar2Option
.
value
=
getBarChart
(
_
.
map
(
list
,
"year"
),
_
.
map
(
list
,
"year"
),
_
.
map
(
list
,
"count"
),
_
.
map
(
list
,
"count"
),
...
@@ -89,7 +88,7 @@ onMounted(async () => {
...
@@ -89,7 +88,7 @@ onMounted(async () => {
"实体数"
"实体数"
);
);
const
list2
=
_
.
reverse
(
countThisTypeData2
);
const
list2
=
_
.
reverse
(
countThisTypeData2
??
[]
);
line2Option
.
value
=
getLineChart
({
line2Option
.
value
=
getLineChart
({
xAxisData
:
_
.
map
(
list2
,
"year"
),
xAxisData
:
_
.
map
(
list2
,
"year"
),
seriesData
:
_
.
map
(
list2
,
"count"
),
seriesData
:
_
.
map
(
list2
,
"count"
),
...
...
src/views/exportControl/analysis/content/deepDig.vue
浏览文件 @
853da3a4
...
@@ -66,7 +66,8 @@ const activePanelId = ref(null);
...
@@ -66,7 +66,8 @@ const activePanelId = ref(null);
onMounted
(
async
()
=>
{
onMounted
(
async
()
=>
{
try
{
try
{
const
[
compareCountSanData
]
=
await
Promise
.
all
([
getCompareCountSan
(
route
.
query
.
startTime
)]);
const
[
compareCountSanData
]
=
await
Promise
.
all
([
getCompareCountSan
(
route
.
query
.
startTime
)]);
const
{
countSanNow
,
countSanLast
,
countDomainNow
,
countDomainLast
,
countTypeNow
,
countTypeLast
}
=
compareCountSanData
;
const
{
countSanNow
,
countSanLast
,
countDomainNow
,
countDomainLast
,
countTypeNow
,
countTypeLast
}
=
compareCountSanData
??
{};
compareCountSan
.
value
=
[
compareCountSan
.
value
=
[
{
{
...
...
src/views/exportControl/analysis/content/overview.vue
浏览文件 @
853da3a4
...
@@ -106,7 +106,10 @@
...
@@ -106,7 +106,10 @@
<el-table-column
prop=
"name"
label=
"实体清单"
min-width=
"180"
>
<el-table-column
prop=
"name"
label=
"实体清单"
min-width=
"180"
>
<
template
#
default=
"{ row }"
>
<
template
#
default=
"{ row }"
>
<div
style=
"font-weight: 500"
class=
"name"
>
<div
style=
"font-weight: 500"
class=
"name"
>
<img
:src=
"row.img"
alt=
""
class=
"img"
/>
<img
v-if=
"row.img"
:src=
"row.img"
alt=
""
class=
"img"
/>
<div
v-else
class=
"imgUndefined"
>
{{
row
.
name
?.
match
(
/
[\u
4e00-
\u
9fa5a-zA-Z0-9
]
/
)?.[
0
]
}}
</div>
{{
row
.
name
}}
{{
row
.
name
}}
</div>
</div>
</
template
>
</
template
>
...
@@ -255,7 +258,7 @@ onMounted(async () => {
...
@@ -255,7 +258,7 @@ onMounted(async () => {
organizationInfo
.
value
=
{
organizationInfo
.
value
=
{
img
:
panel1_1
,
img
:
panel1_1
,
mingcheng
:
organizationInfoData
?.
orgName
,
mingcheng
:
organizationInfoData
?.
orgName
,
cuoshi
:
organizationInfoData
?.
orgIntroduction
||
"--
"
,
cuoshi
:
organizationInfoData
?.
cuoshi
||
"美国商务部工业与安全局
"
,
zhize
:
organizationInfoData
?.
orgIntroduction
||
"--"
zhize
:
organizationInfoData
?.
orgIntroduction
||
"--"
};
};
personLis
.
value
=
_
.
map
(
personListData
,
item
=>
{
personLis
.
value
=
_
.
map
(
personListData
,
item
=>
{
...
@@ -279,7 +282,7 @@ onMounted(async () => {
...
@@ -279,7 +282,7 @@ onMounted(async () => {
isUp
:
true
,
isUp
:
true
,
revenue
:
"--"
,
revenue
:
"--"
,
subCompany
:
"--"
,
subCompany
:
"--"
,
img
:
panel5_5
img
:
""
};
};
});
});
}
catch
(
err
)
{
}
catch
(
err
)
{
...
@@ -422,7 +425,7 @@ const panel6 = ref([
...
@@ -422,7 +425,7 @@ const panel6 = ref([
}
}
.panel1
{
.panel1
{
height
:
100%
;
height
:
100%
;
padding
:
2px
24
px
0
24px
;
padding
:
2px
35
px
0
24px
;
display
:
flex
;
display
:
flex
;
.img
{
.img
{
width
:
90px
;
width
:
90px
;
...
@@ -457,6 +460,11 @@ const panel6 = ref([
...
@@ -457,6 +460,11 @@ const panel6 = ref([
font-size
:
16px
;
font-size
:
16px
;
font-weight
:
400
;
font-weight
:
400
;
line-height
:
24px
;
line-height
:
24px
;
display
:
-
webkit-box
;
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
5
;
/* 控制行数 */
overflow
:
hidden
;
text-overflow
:
ellipsis
;
}
}
}
}
}
}
...
@@ -652,6 +660,7 @@ const panel6 = ref([
...
@@ -652,6 +660,7 @@ const panel6 = ref([
flex
:
1
;
flex
:
1
;
margin-top
:
14px
;
margin-top
:
14px
;
min-height
:
0
;
min-height
:
0
;
overflow
:
auto
;
}
}
.name
{
.name
{
display
:
flex
;
display
:
flex
;
...
@@ -661,6 +670,20 @@ const panel6 = ref([
...
@@ -661,6 +670,20 @@ const panel6 = ref([
height
:
40px
;
height
:
40px
;
margin-right
:
6px
;
margin-right
:
6px
;
margin-left
:
6px
;
margin-left
:
6px
;
flex-shrink
:
0
;
}
.imgUndefined
{
width
:
40px
;
height
:
40px
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
flex-shrink
:
0
;
color
:
rgba
(
5
,
95
,
194
,
1
);
background-color
:
rgb
(
236
,
245
,
255
);
border-radius
:
20px
;
margin-right
:
6px
;
margin-left
:
6px
;
}
}
}
}
.subCompany
{
.subCompany
{
...
...
src/views/exportControl/index.vue
浏览文件 @
853da3a4
...
@@ -139,7 +139,15 @@
...
@@ -139,7 +139,15 @@
v-for=
"(item, index) in entitiesDataInfoReactive.entityList"
v-for=
"(item, index) in entitiesDataInfoReactive.entityList"
:key=
"index"
:key=
"index"
>
>
<el-image
class=
"box1-bottom-content-item-img"
:src=
"item.img"
alt=
""
></el-image>
<el-image
v-if=
"item.img"
class=
"box1-bottom-content-item-img"
:src=
"item.img"
alt=
""
></el-image>
<div
v-else
class=
"box1-bottom-content-item-imgUndefined"
>
{{
(
item
.
name
||
item
.
enName
)?.
match
(
/
[\u
4e00-
\u
9fa5a-zA-Z0-9
]
/
)?.[
0
]
}}
</div>
<div
class=
"box1-bottom-content-item-txt"
>
{{
item
.
name
||
item
.
enName
}}
</div>
<div
class=
"box1-bottom-content-item-txt"
>
{{
item
.
name
||
item
.
enName
}}
</div>
</div>
</div>
</div>
</div>
...
@@ -1481,6 +1489,19 @@ onMounted(async () => {
...
@@ -1481,6 +1489,19 @@ onMounted(async () => {
&
-img
{
&
-img
{
width
:
24px
;
width
:
24px
;
height
:
24px
;
height
:
24px
;
flex-shrink
:
0
;
}
&
-imgUndefined
{
width
:
24px
;
height
:
24px
;
font-size
:
14px
;
font-weight
:
700
;
flex-shrink
:
0
;
color
:
rgba
(
5
,
95
,
194
,
1
);
background-color
:
rgb
(
236
,
245
,
255
);
line-height
:
24px
;
text-align
:
center
;
border-radius
:
12px
;
}
}
&
-txt
{
&
-txt
{
font-size
:
16px
;
font-size
:
16px
;
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论