Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
R
risk-monitor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
蔡建
risk-monitor
Commits
01f99fff
提交
01f99fff
authored
3月 28, 2026
作者:
yanpeng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
恢复一些合并出问题的修改
上级
e96cb50b
流水线
#175
已失败 于阶段
变更
5
流水线
1
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
166 行增加
和
90 行删除
+166
-90
index.js
src/api/zmOverview/risk/index.js
+39
-42
index.vue
src/views/ZMOverView/components/gameProfile/index.vue
+49
-8
index.vue
src/views/exportControl/index.vue
+13
-13
index.vue
...v2.0SingleSanction/components/sanctionsOverview/index.vue
+64
-27
index.vue
src/views/exportControl/v2.0SingleSanction/index.vue
+1
-0
没有找到文件。
src/api/zmOverview/risk/index.js
浏览文件 @
01f99fff
...
@@ -2,67 +2,65 @@ import request from "@/api/request.js";
...
@@ -2,67 +2,65 @@ import request from "@/api/request.js";
// 中美博弈概览V2:最新风险动态统计
// 中美博弈概览V2:最新风险动态统计
export
function
getLatestRiskUpdates
(
params
)
{
export
function
getLatestRiskUpdates
(
params
)
{
return
request
({
return
request
({
method
:
'GET'
,
method
:
"GET"
,
url
:
`/api/rivalryIndexV2/LatestRiskUpdates`
,
url
:
`/api/rivalryIndexV2/LatestRiskUpdates`
,
params
:
params
params
:
params
})
});
}
}
// 中美博弈概览V2:最新风险信号
// 中美博弈概览V2:最新风险信号
export
function
getLatestRisks
()
{
export
function
getLatestRisks
()
{
return
request
({
return
request
({
method
:
'GET'
,
method
:
"GET"
,
url
:
`/api/rivalryIndexV2/LatestRisks`
,
url
:
`/api/rivalryIndexV2/LatestRisks`
});
})
}
}
// 中美博弈概览V2:美对华制裁措施数量趋势
// 中美博弈概览V2:美对华制裁措施数量趋势
export
function
geDomainContainmentTrend
(
params
)
{
export
function
geDomainContainmentTrend
(
params
)
{
return
request
({
return
request
({
method
:
'GET'
,
method
:
"GET"
,
url
:
`/api/rivalryIndexV2/DomainContainmentTrend`
,
url
:
`/api/rivalryIndexV2/DomainContainmentTrend`
,
params
:
params
params
:
params
})
});
}
}
// 中美博弈概况:获取榜单字典
// 中美博弈概况:获取榜单字典
export
function
getChartDict
()
{
export
function
getChartDict
()
{
return
request
({
return
request
({
method
:
'GET'
,
method
:
"GET"
,
url
:
`/api/union/summary/chartDict`
,
url
:
`/api/union/summary/chartDict`
})
});
}
// 中美博弈概况:获取年份
export
function
getYear
(
id
)
{
return
request
({
method
:
"GET"
,
url
:
`/api/union/summary/chartYear/
${
id
}
`
});
}
}
// 中美博弈概况:中美科技实力对比
// 中美博弈概况:中美科技实力对比
export
function
getCompare
(
id
)
{
export
function
getCompare
(
id
,
year
)
{
return
request
({
return
request
({
method
:
'GET'
,
method
:
"GET"
,
url
:
`/api/union/summary/compare/
${
id
}
`
,
url
:
`/api/union/summary/compare/
${
id
}
/
${
year
}
`
})
});
}
}
// 中美博弈分析
// 中美博弈分析
export
function
getTechnologyGameAnalysis
()
{
export
function
getTechnologyGameAnalysis
()
{
return
request
({
return
request
({
method
:
'GET'
,
method
:
"GET"
,
url
:
`/api/rivalryIndexV2/TechnologyGameAnalysis`
,
url
:
`/api/rivalryIndexV2/TechnologyGameAnalysis`
});
})
}
}
//中美博弈概览V7:美国政府部门对华制裁最新动态
//中美博弈概览V7:美国政府部门对华制裁最新动态
export
function
getGovernmentSanctionsDynamics
()
{
export
function
getGovernmentSanctionsDynamics
()
{
return
request
({
return
request
({
method
:
'GET'
,
method
:
"GET"
,
url
:
`/api/rivalryIndex/governmentSanctionsDynamics`
,
url
:
`/api/rivalryIndex/governmentSanctionsDynamics`
});
})
}
}
\ No newline at end of file
src/views/ZMOverView/components/gameProfile/index.vue
浏览文件 @
01f99fff
...
@@ -14,10 +14,20 @@
...
@@ -14,10 +14,20 @@
size=
"default"
size=
"default"
style=
"margin-left: 15px; width: 240px; height: 32px"
style=
"margin-left: 15px; width: 240px; height: 32px"
v-model=
"origin"
v-model=
"origin"
@
change=
"handle
GetCompar
e()"
@
change=
"handle
OriginChang
e()"
>
>
<el-option
:value=
"value.id"
:label=
"value.name"
v-for=
"(value, index) in originList"
:key=
"index"
/>
<el-option
:value=
"value.id"
:label=
"value.name"
v-for=
"(value, index) in originList"
:key=
"index"
/>
</el-select>
</el-select>
<el-select
class=
"select-item"
size=
"default"
style=
"margin-left: 15px; width: 200px; height: 32px"
v-model=
"year"
@
change=
"handleGetCompare()"
>
<el-option
:value=
"value"
:label=
"value"
v-for=
"(value, index) in yearList"
:key=
"index"
/>
</el-select>
</div>
</div>
</div>
</div>
<div
style=
"display: flex; height: 650px; width: 100%; padding-top: 12px"
>
<div
style=
"display: flex; height: 650px; width: 100%; padding-top: 12px"
>
...
@@ -237,7 +247,7 @@ import Echarts from "@/components/Chart/index.vue";
...
@@ -237,7 +247,7 @@ import Echarts from "@/components/Chart/index.vue";
import
mockData
from
"./mock.json"
;
import
mockData
from
"./mock.json"
;
import
radarChart
from
"./radarChart3.js"
;
import
radarChart
from
"./radarChart3.js"
;
import
{
getCompare
,
getChartDict
,
getTechnologyGameAnalysis
}
from
"@/api/zmOverview/risk/index.js"
;
import
{
getCompare
,
getChartDict
,
get
Year
,
get
TechnologyGameAnalysis
}
from
"@/api/zmOverview/risk/index.js"
;
import
icon1
from
"./icon/btn-icon-0.png"
;
import
icon1
from
"./icon/btn-icon-0.png"
;
import
icon2
from
"./icon/btn-icon-1.png"
;
import
icon2
from
"./icon/btn-icon-1.png"
;
import
icon3
from
"./icon/btn-icon-2.png"
;
import
icon3
from
"./icon/btn-icon-2.png"
;
...
@@ -351,10 +361,32 @@ const handleGetChartDict = async () => {
...
@@ -351,10 +361,32 @@ const handleGetChartDict = async () => {
console
.
error
(
"获取数据来源error"
,
error
);
console
.
error
(
"获取数据来源error"
,
error
);
}
}
};
};
const
yearList
=
ref
([]);
const
year
=
ref
(
""
);
//年份
const
handleGetYear
=
async
()
=>
{
try
{
const
res
=
await
getYear
(
origin
.
value
);
console
.
log
(
"年份"
,
res
);
if
(
res
.
code
===
200
&&
res
.
data
)
{
yearList
.
value
=
res
.
data
;
year
.
value
=
res
.
data
[
0
];
}
}
catch
(
error
)
{
console
.
error
(
"获取年份error"
,
error
);
}
};
// 数据来源改变时,年份列表也会改变
const
handleOriginChange
=
async
()
=>
{
await
handleGetYear
();
};
//中美科技实力对比
//中美科技实力对比
const
handleGetCompare
=
async
()
=>
{
const
handleGetCompare
=
async
()
=>
{
try
{
try
{
const
res
=
await
getCompare
(
origin
.
value
);
const
res
=
await
getCompare
(
origin
.
value
,
year
.
value
);
console
.
log
(
"中美科技实力对比"
,
res
);
console
.
log
(
"中美科技实力对比"
,
res
);
if
(
res
.
code
===
200
&&
res
.
data
)
{
if
(
res
.
code
===
200
&&
res
.
data
)
{
tableData
.
value
=
res
.
data
[
0
].
children
;
tableData
.
value
=
res
.
data
[
0
].
children
;
...
@@ -392,6 +424,7 @@ const handlegetTechnologyGameAnalysis = async () => {
...
@@ -392,6 +424,7 @@ const handlegetTechnologyGameAnalysis = async () => {
};
};
onMounted
(
async
()
=>
{
onMounted
(
async
()
=>
{
await
handleGetChartDict
();
await
handleGetChartDict
();
await
handleGetYear
();
await
handleGetCompare
();
await
handleGetCompare
();
await
handlegetTechnologyGameAnalysis
();
await
handlegetTechnologyGameAnalysis
();
// const dom = document.getElementById("char");
// const dom = document.getElementById("char");
...
@@ -463,7 +496,13 @@ const handleIndicatorChange = indicator => {
...
@@ -463,7 +496,13 @@ const handleIndicatorChange = indicator => {
const
years
=
chinaData
.
map
(
item
=>
item
.
year
.
toString
());
const
years
=
chinaData
.
map
(
item
=>
item
.
year
.
toString
());
const
chinaValues
=
chinaData
.
map
(
item
=>
item
.
value
);
const
chinaValues
=
chinaData
.
map
(
item
=>
item
.
value
);
const
usaValues
=
usaData
.
map
(
item
=>
item
.
value
);
const
usaValues
=
usaData
.
map
(
item
=>
item
.
value
);
console
.
log
(
"中国"
,
chinaValues
);
console
.
log
(
"美国"
,
usaValues
);
// chinaValues和usaValues的最小值和最大值
const
min
=
Math
.
min
(...
chinaValues
,
...
usaValues
);
const
max
=
Math
.
max
(...
chinaValues
,
...
usaValues
);
lineOption
.
value
.
yAxis
.
min
=
Math
.
floor
(
min
-
1
);
lineOption
.
value
.
yAxis
.
max
=
Math
.
ceil
(
max
+
1
);
lineOption
.
value
.
xAxis
.
data
=
years
;
lineOption
.
value
.
xAxis
.
data
=
years
;
lineOption
.
value
.
series
=
[
lineOption
.
value
.
series
=
[
{
{
...
@@ -566,9 +605,11 @@ const lineOption = ref({
...
@@ -566,9 +605,11 @@ const lineOption = ref({
},
},
yAxis
:
{
yAxis
:
{
type
:
"value"
,
type
:
"value"
,
// name: "指数",
min
:
77
,
nameLocation
:
"top"
,
name
:
"指数"
,
nameGap
:
35
,
nameLocation
:
"end"
,
nameGap
:
1
,
padding
:
[
0
,
-
50
,
0
,
0
],
nameTextStyle
:
{
nameTextStyle
:
{
color
:
"#666"
,
color
:
"#666"
,
fontSize
:
13
,
fontSize
:
13
,
...
@@ -589,7 +630,7 @@ const lineOption = ref({
...
@@ -589,7 +630,7 @@ const lineOption = ref({
}
}
},
},
axisLabel
:
{
axisLabel
:
{
color
:
"#
ccc
"
,
color
:
"#
666
"
,
fontSize
:
14
,
fontSize
:
14
,
fontWeight
:
400
,
fontWeight
:
400
,
formatter
:
value
=>
{
formatter
:
value
=>
{
...
...
src/views/exportControl/index.vue
浏览文件 @
01f99fff
...
@@ -835,7 +835,7 @@ const handleToRiskSignalDetail = item => {
...
@@ -835,7 +835,7 @@ const handleToRiskSignalDetail = item => {
query
:
{
query
:
{
id
:
item
.
sanId
id
:
item
.
sanId
}
}
})
})
;
};
};
const
sanctionList
=
ref
([]);
const
sanctionList
=
ref
([]);
...
@@ -905,7 +905,7 @@ const handleTitleClick = item => {
...
@@ -905,7 +905,7 @@ const handleTitleClick = item => {
id
:
item
.
id
,
id
:
item
.
id
,
sanTypeId
:
item
.
sanTypeId
sanTypeId
:
item
.
sanTypeId
}
}
})
})
;
};
};
const
handleCompClick
=
item
=>
{
const
handleCompClick
=
item
=>
{
...
@@ -1059,7 +1059,7 @@ const handleToSocialDetail = item => {
...
@@ -1059,7 +1059,7 @@ const handleToSocialDetail = item => {
query
:
{
query
:
{
personId
:
item
.
id
personId
:
item
.
id
}
}
})
})
;
};
};
// 获取趋势图数据
// 获取趋势图数据
const
fetchTrendData
=
async
()
=>
{
const
fetchTrendData
=
async
()
=>
{
...
@@ -1188,7 +1188,7 @@ const handleToEntityList = item => {
...
@@ -1188,7 +1188,7 @@ const handleToEntityList = item => {
query
:
{
query
:
{
id
:
id
id
:
id
}
}
})
})
;
};
};
// 跳转到V2.0实体清单无ID
// 跳转到V2.0实体清单无ID
...
@@ -1208,7 +1208,7 @@ const handleToEntityListNoId = item => {
...
@@ -1208,7 +1208,7 @@ const handleToEntityListNoId = item => {
query
:
{
query
:
{
sanTypeId
:
item
.
id
sanTypeId
:
item
.
id
}
}
})
})
;
}
else
if
(
item
.
nameZh
==
"商业管制清单"
)
{
}
else
if
(
item
.
nameZh
==
"商业管制清单"
)
{
// const routeData = router.resolve({
// const routeData = router.resolve({
// path: "/exportControl/commercialControlList",
// path: "/exportControl/commercialControlList",
...
@@ -1223,7 +1223,7 @@ const handleToEntityListNoId = item => {
...
@@ -1223,7 +1223,7 @@ const handleToEntityListNoId = item => {
query
:
{
query
:
{
sanTypeId
:
item
.
id
sanTypeId
:
item
.
id
}
}
})
})
;
}
else
{
}
else
{
return
;
return
;
}
}
...
@@ -1711,7 +1711,7 @@ const handlePerClick = item => {
...
@@ -1711,7 +1711,7 @@ const handlePerClick = item => {
type
:
item
.
personType
||
[
1
,
2
,
3
][
Math
.
floor
(
Math
.
random
()
*
3
)],
type
:
item
.
personType
||
[
1
,
2
,
3
][
Math
.
floor
(
Math
.
random
()
*
3
)],
personId
:
item
.
personId
personId
:
item
.
personId
}
}
})
})
;
};
};
// 处理点击社交媒体消息的方法
// 处理点击社交媒体消息的方法
// const handleInfoClick = item => {
// const handleInfoClick = item => {
...
@@ -1791,7 +1791,7 @@ const chart1Data = ref({
...
@@ -1791,7 +1791,7 @@ const chart1Data = ref({
});
});
const
handleSanc
=
item
=>
{
const
handleSanc
=
item
=>
{
console
.
log
(
item
);
console
.
log
(
"activeResourceTabItem.value.id"
,
activeResourceTabItem
.
value
.
id
);
window
.
sessionStorage
.
setItem
(
"curTabName"
,
`
${
item
.
postDate
}
《
${
item
.
title
}
》`
);
window
.
sessionStorage
.
setItem
(
"curTabName"
,
`
${
item
.
postDate
}
《
${
item
.
title
}
》`
);
// const route = router.resolve({
// const route = router.resolve({
// path: "/exportControl/singleSanction",
// path: "/exportControl/singleSanction",
...
@@ -1805,23 +1805,23 @@ const handleSanc = item => {
...
@@ -1805,23 +1805,23 @@ const handleSanc = item => {
path
:
"/exportControl/singleSanction"
,
path
:
"/exportControl/singleSanction"
,
query
:
{
query
:
{
id
:
item
.
id
,
id
:
item
.
id
,
sanTypeId
:
activeResourceTabItem
.
value
.
id
sanTypeId
:
activeResourceTabItem
.
value
.
id
.
join
(
","
)
}
}
})
})
;
};
};
// 查看更多风险信号
// 查看更多风险信号
const
handleToMoreRiskSignal
=
()
=>
{
const
handleToMoreRiskSignal
=
()
=>
{
// const route = router.resolve("/viewRiskSignal");
// const route = router.resolve("/viewRiskSignal");
// window.open(route.href, "_blank");
// window.open(route.href, "_blank");
router
.
push
(
"/viewRiskSignal"
)
router
.
push
(
"/viewRiskSignal"
)
;
};
};
// 查看更多新闻资讯
// 查看更多新闻资讯
const
handleToMoreNews
=
()
=>
{
const
handleToMoreNews
=
()
=>
{
// const route = router.resolve("/newsBrief");
// const route = router.resolve("/newsBrief");
// window.open(route.href, "_blank");
// window.open(route.href, "_blank");
router
.
push
(
"/newsBrief"
)
router
.
push
(
"/newsBrief"
)
;
};
};
const
handleNewsInfoClick
=
item
=>
{
const
handleNewsInfoClick
=
item
=>
{
...
@@ -1862,7 +1862,7 @@ const handleSearch = () => {
...
@@ -1862,7 +1862,7 @@ const handleSearch = () => {
searchText
:
searchExportControlText
.
value
,
searchText
:
searchExportControlText
.
value
,
areaName
:
"实体清单"
areaName
:
"实体清单"
}
}
})
})
;
};
};
onMounted
(
async
()
=>
{
onMounted
(
async
()
=>
{
...
...
src/views/exportControl/v2.0SingleSanction/components/sanctionsOverview/index.vue
浏览文件 @
01f99fff
...
@@ -49,10 +49,13 @@
...
@@ -49,10 +49,13 @@
<img
:src=
"item.imageUrl || flag"
alt=
""
class=
"flag"
/>
<img
:src=
"item.imageUrl || flag"
alt=
""
class=
"flag"
/>
<div
class=
"country-name"
>
{{
item
.
name
}}
</div>
<div
class=
"country-name"
>
{{
item
.
name
}}
</div>
<div
class=
"progress-bar-container"
>
<div
class=
"progress-bar-container"
>
<div
class=
"progress-bar"
:style=
"
{
<div
width: item.width,
class=
"progress-bar"
background: item.gradient
:style=
"
{
}">
</div>
width: item.width,
background: item.gradient
}"
>
</div>
</div>
</div>
<div
class=
"count"
:class=
"
{ highlight: index === 0 }">
{{
item
.
count
}}
家
</div>
<div
class=
"count"
:class=
"
{ highlight: index === 0 }">
{{
item
.
count
}}
家
</div>
</div>
</div>
...
@@ -95,13 +98,25 @@
...
@@ -95,13 +98,25 @@
</div>
</div>
<div
class=
"filter-right"
>
<div
class=
"filter-right"
>
<el-checkbox
v-model=
"onlyChina"
label=
"只看中国实体"
/>
<el-checkbox
v-model=
"onlyChina"
label=
"只看中国实体"
/>
<el-select
v-model=
"filterField"
placeholder=
"全部领域"
style=
"width: 150px; margin: 0 12px 0 16px"
>
<el-select
v-model=
"filterField"
placeholder=
"全部领域"
style=
"width: 150px; margin: 0 12px 0 16px"
>
<el-option
label=
"全部领域"
value=
""
/>
<el-option
label=
"全部领域"
value=
""
/>
<el-option
v-for=
"item in domainOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
<el-option
v-for=
"item in domainOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</el-select>
<el-input
v-model=
"searchKeyword"
placeholder=
"搜索实体"
<el-input
v-model=
"searchKeyword"
placeholder=
"搜索实体"
style=
"width: 150px; border: 1px solid rgba(170, 173, 177, 0.4); border-radius: 5px"
style=
"width: 150px; border: 1px solid rgba(170, 173, 177, 0.4); border-radius: 5px"
:suffix-icon=
"Search"
/>
:suffix-icon=
"Search"
/>
</div>
</div>
</div>
</div>
<div
class=
"stats-row"
>
<div
class=
"stats-row"
>
...
@@ -116,14 +131,21 @@
...
@@ -116,14 +131,21 @@
<div
class=
"stats-info"
>
<div
class=
"stats-info"
>
<div
class=
"stat-item"
>
<div
class=
"stat-item"
>
<span
class=
"dot red"
></span>
<span
class=
"dot red"
></span>
<span
class=
"text"
>
新增
<span
class=
"num red"
>
{{
addCount
}}
</span>
家 (50%规则涉及
<span
class=
"num red"
>
{{
<span
class=
"text"
addRuleCount
>
新增
<span
class=
"num red"
>
{{
addCount
}}
</span>
家 (50%规则涉及
<span
class=
"num red"
>
{{
}}
</span>
家)
</span>
addRuleCount
}}
</span
>
家)
</span
>
</div>
</div>
<div
class=
"stat-item"
>
<div
class=
"stat-item"
>
<span
class=
"dot green"
></span>
<span
class=
"dot green"
></span>
<span
class=
"text"
>
移除
<span
class=
"num green"
>
{{
removeCount
}}
</span>
家 (50%规则涉及
<span
<span
class=
"text"
class=
"num green"
>
{{
removeRuleCount
}}
</span>
家)
</span>
>
移除
<span
class=
"num green"
>
{{
removeCount
}}
</span>
家 (50%规则涉及
<span
class=
"num green"
>
{{
removeRuleCount
}}
</span
>
家)
</span
>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -146,8 +168,14 @@
...
@@ -146,8 +168,14 @@
</el-table-column>
</el-table-column>
<el-table-column
label=
"涉及领域"
width=
"180"
align=
"center"
>
<el-table-column
label=
"涉及领域"
width=
"180"
align=
"center"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<span
v-for=
"(item, index) in scope.row.fields"
:key=
"index"
class=
"tag"
<span
:style=
"getTagStyle(item)"
style=
"margin: 0 2px"
>
{{
item
}}
</span>
v-for=
"(item, index) in scope.row.fields"
:key=
"index"
class=
"tag"
:style=
"getTagStyle(item)"
style=
"margin: 0 2px"
>
{{
item
}}
</span
>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"location"
label=
"上市地点"
width=
"90"
align=
"center"
/>
<el-table-column
prop=
"location"
label=
"上市地点"
width=
"90"
align=
"center"
/>
...
@@ -155,8 +183,11 @@
...
@@ -155,8 +183,11 @@
<el-table-column
prop=
"revenue"
label=
"营收(亿元)"
width=
"110"
align=
"center"
/>
<el-table-column
prop=
"revenue"
label=
"营收(亿元)"
width=
"110"
align=
"center"
/>
<el-table-column
label=
"50%规则子企业"
width=
"180"
align=
"center"
>
<el-table-column
label=
"50%规则子企业"
width=
"180"
align=
"center"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<span
v-if=
"scope.row.subsidiaryCount"
class=
"subsidiary-link"
<span
@
click=
"handleSubsidiaryClick(scope.row)"
>
v-if=
"scope.row.subsidiaryCount"
class=
"subsidiary-link"
@
click=
"handleSubsidiaryClick(scope.row)"
>
{{
scope
.
row
.
subsidiaryText
}}
{{
scope
.
row
.
subsidiaryText
}}
<span
class=
"blue-text"
>
{{
scope
.
row
.
subsidiaryCount
}}
家 >
</span>
<span
class=
"blue-text"
>
{{
scope
.
row
.
subsidiaryCount
}}
家 >
</span>
</span>
</span>
...
@@ -174,8 +205,12 @@
...
@@ -174,8 +205,12 @@
</div>
</div>
</div>
</div>
<!-- 50%规则子企业弹框 -->
<!-- 50%规则子企业弹框 -->
<RuleSubsidiaryDialog
v-model=
"subsidiaryDialogVisible"
:company-name=
"currentSubsidiaryCompanyName"
<RuleSubsidiaryDialog
:total-count=
"currentSubsidiaryCount"
:data-list=
"currentSubsidiaryList"
/>
v-model=
"subsidiaryDialogVisible"
:company-name=
"currentSubsidiaryCompanyName"
:total-count=
"currentSubsidiaryCount"
:data-list=
"currentSubsidiaryList"
/>
</div>
</div>
</template>
</template>
...
@@ -229,7 +264,7 @@ const handleClickDp = () => {
...
@@ -229,7 +264,7 @@ const handleClickDp = () => {
query
:
{
query
:
{
id
:
props
.
data
.
postOrgId
id
:
props
.
data
.
postOrgId
}
}
})
})
;
};
};
// 50%规则子企业弹框逻辑
// 50%规则子企业弹框逻辑
...
@@ -288,8 +323,8 @@ const getSanctionOverviewList = async () => {
...
@@ -288,8 +323,8 @@ const getSanctionOverviewList = async () => {
subsidiaryText
:
subsidiaryText
:
org
.
ruleOrgList
&&
org
.
ruleOrgList
.
length
>
0
org
.
ruleOrgList
&&
org
.
ruleOrgList
.
length
>
0
?
(
org
.
ruleOrgList
[
0
].
orgName
.
length
>
10
?
(
org
.
ruleOrgList
[
0
].
orgName
.
length
>
10
?
org
.
ruleOrgList
[
0
].
orgName
.
slice
(
0
,
10
)
+
"..."
?
org
.
ruleOrgList
[
0
].
orgName
.
slice
(
0
,
10
)
+
"..."
:
org
.
ruleOrgList
[
0
].
orgName
)
+
"...等"
:
org
.
ruleOrgList
[
0
].
orgName
)
+
"...等"
:
""
:
""
}))
}))
}));
}));
...
@@ -349,10 +384,12 @@ const getUrlParams = () => {
...
@@ -349,10 +384,12 @@ const getUrlParams = () => {
// 单次制裁-制裁概况-制裁实体国家分布
// 单次制裁-制裁概况-制裁实体国家分布
const
getEntityCountry
=
async
()
=>
{
const
getEntityCountry
=
async
()
=>
{
try
{
try
{
const
res
=
await
getSingleSanctionEntityCountry
(
{
const
params
=
{
sanRecordId
:
sanRecordId
.
value
,
sanRecordId
:
sanRecordId
.
value
,
sanTypeId
:
sanTypeId
.
value
||
1
// 实体清单固定1
sanTypeId
:
sanTypeId
.
value
||
1
// 默认为1
});
};
console
.
log
(
"params --:"
,
params
);
const
res
=
await
getSingleSanctionEntityCountry
(
params
);
if
(
res
.
code
===
200
)
{
if
(
res
.
code
===
200
)
{
const
rawData
=
res
.
data
||
[];
const
rawData
=
res
.
data
||
[];
const
maxCount
=
Math
.
max
(...
rawData
.
map
(
item
=>
item
.
count
||
0
),
1
);
const
maxCount
=
Math
.
max
(...
rawData
.
map
(
item
=>
item
.
count
||
0
),
1
);
...
@@ -405,8 +442,7 @@ const handleClick = () => {
...
@@ -405,8 +442,7 @@ const handleClick = () => {
// type: props.data.type,
// type: props.data.type,
personId
:
props
.
data
.
postPersonId
personId
:
props
.
data
.
postPersonId
}
}
})
});
};
};
// 计算属性处理数据
// 计算属性处理数据
...
@@ -526,6 +562,7 @@ const entityDistribution = ref([
...
@@ -526,6 +562,7 @@ const entityDistribution = ref([
const
sanTypeId
=
ref
(
""
);
const
sanTypeId
=
ref
(
""
);
onMounted
(()
=>
{
onMounted
(()
=>
{
// 获取路由参数中的sanTypeId
// 获取路由参数中的sanTypeId
console
.
log
(
"route.query.sanTypeId --:"
,
route
.
query
.
sanTypeId
);
sanTypeId
.
value
=
route
.
query
.
sanTypeId
||
"1"
;
sanTypeId
.
value
=
route
.
query
.
sanTypeId
||
"1"
;
// 获取URL参数
// 获取URL参数
getUrlParams
();
getUrlParams
();
...
...
src/views/exportControl/v2.0SingleSanction/index.vue
浏览文件 @
01f99fff
...
@@ -273,6 +273,7 @@ onMounted(() => {
...
@@ -273,6 +273,7 @@ onMounted(() => {
width
:
100%
;
width
:
100%
;
height
:
100%
;
height
:
100%
;
overflow-y
:
auto
;
overflow-y
:
auto
;
padding-bottom
:
50px
;
.header
{
.header
{
width
:
100%
;
width
:
100%
;
height
:
148px
;
height
:
148px
;
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论