Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
R
risk-monitor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
蔡建
risk-monitor
Commits
6b608fa3
提交
6b608fa3
authored
1月 16, 2026
作者:
caijian
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'cj_dev'
上级
800667be
9ca212c8
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
14 个修改的文件
包含
311 行增加
和
77 行删除
+311
-77
index.js
src/api/marketAccessRestrictions/index.js
+129
-0
index.vue
...tAccessRestrictions/marketAccessLayout/case/232/index.vue
+0
-0
index.vue
...tAccessRestrictions/marketAccessLayout/case/301/index.vue
+0
-0
index.vue
...tAccessRestrictions/marketAccessLayout/case/337/index.vue
+0
-0
index.vue
...arketAccessRestrictions/marketAccessLayout/case/index.vue
+4
-4
index.vue
...essRestrictions/marketAccessLayout/overview/301/index.vue
+0
-0
index.vue
...essRestrictions/marketAccessLayout/overview/337/index.vue
+178
-73
index.vue
...AccessRestrictions/singleCaseLayout/deepdig/232/index.vue
+0
-0
index.vue
...AccessRestrictions/singleCaseLayout/deepdig/337/index.vue
+0
-0
index_v0.vue
...essRestrictions/singleCaseLayout/deepdig/337/index_v0.vue
+0
-0
index.vue
...views/marketAccessRestrictions/singleCaseLayout/index.vue
+0
-0
index.vue
...ccessRestrictions/singleCaseLayout/overview/232/index.vue
+0
-0
index.vue
...ccessRestrictions/singleCaseLayout/overview/301/index.vue
+0
-0
index.vue
...ccessRestrictions/singleCaseLayout/overview/337/index.vue
+0
-0
没有找到文件。
src/api/marketAccessRestrictions/index.js
浏览文件 @
6b608fa3
...
...
@@ -147,4 +147,132 @@ export function getSurvyInfo(params) {
url
:
`/api/marketsearchHome/statSortDetails`
,
params
})
}
// 查询调查的所有发布领域 /marketsearchDetails/getSearchAllArea
export
function
getSearchAllArea
(
params
)
{
return
request
({
method
:
'GET'
,
url
:
`/api/marketsearchDetails/getSearchAllArea`
,
params
})
}
// 查询调查的所有发布时间
export
function
getSearchAllYear
(
params
)
{
return
request
({
method
:
'GET'
,
url
:
`/api/marketsearchDetails/getSearchYears`
,
params
})
}
// 调查简介 /marketsearchDetails/searchBlurb
export
function
getSearchBlurb
(
params
)
{
return
request
({
method
:
'GET'
,
url
:
`/api/marketsearchDetails/searchBlurb`
,
params
})
}
// 获取相关事件getRelatedEvents
export
function
getRelatedEvents
(
params
)
{
return
request
({
method
:
'GET'
,
url
:
`/api/marketsearchDetails/getRelatedEvents`
,
params
})
}
// 获取事件脉络 getSearchContext
export
function
getSearchContext
(
params
)
{
return
request
({
method
:
'GET'
,
url
:
`/api/marketsearchDetails/getSearchContext`
,
params
})
}
// getSearchMeasures 报复性措施
export
function
getSearchMeasures
(
params
)
{
return
request
({
method
:
'GET'
,
url
:
`/api/marketsearchDetails/getSearchMeasures`
,
params
})
}
// /marketsearchDetails/getSearchDirection 查询调查方向和结果信息
export
function
getSearchDirection
(
params
)
{
return
request
({
method
:
'GET'
,
url
:
`/api/marketsearchDetails/getSearchDirection`
,
params
})
}
// 中国公司受调查情况 /marketsearchDetails/statcnOrgCount
export
function
getStatcnOrgCount
(
params
)
{
return
request
({
method
:
'GET'
,
url
:
`/api/marketsearchDetails/statcnOrgCount`
,
params
})
}
// /marketsearchDetails/getSearchConclusion 查询调查结论
export
function
getSearchConclusion
(
params
)
{
return
request
({
method
:
'GET'
,
url
:
`/api/marketsearchDetails/getSearchConclusion`
,
params
})
}
// getReportAnalyze 报告分析
export
function
getReportAnalyze
(
params
)
{
return
request
({
method
:
'GET'
,
url
:
`/api/marketsearchDetails/getReportAnalyze`
,
params
})
}
// 被诉企业列表
export
function
getSuedOrg
(
params
)
{
return
request
({
method
:
'GET'
,
url
:
`/api/marketsearchDetails/getSuedOrg`
,
params
})
}
// 进出口数据
export
function
getOrgImportAndExport
(
params
)
{
return
request
({
method
:
'GET'
,
url
:
`/api/organization/scale/getOrgImportAndExport`
,
params
})
}
// 营收数据
export
function
getRevenue
(
params
)
{
return
request
({
method
:
'GET'
,
url
:
`/api/organization/scale/revenue`
,
params
})
}
// 净利润数据
export
function
getNetProfit
(
params
)
{
return
request
({
method
:
'GET'
,
url
:
`/api/organization/scale/netProfit`
,
params
})
}
\ No newline at end of file
src/views/marketAccessRestrictions/marketAccessLayout/case/232/index.vue
浏览文件 @
6b608fa3
差异被折叠。
点击展开。
src/views/marketAccessRestrictions/marketAccessLayout/case/301/index.vue
浏览文件 @
6b608fa3
差异被折叠。
点击展开。
src/views/marketAccessRestrictions/marketAccessLayout/case/337/index.vue
浏览文件 @
6b608fa3
差异被折叠。
点击展开。
src/views/marketAccessRestrictions/marketAccessLayout/case/index.vue
浏览文件 @
6b608fa3
<
template
>
<div
class=
"case-wrap"
>
<Discussion1
v-if=
"showDiscussion ==='337'"
></Discussion1>
<Discussion2
v-
else-
if=
"showDiscussion ==='232'"
></Discussion2>
<Discussion3
v-
else
></Discussion3>
<Discussion2
v-if=
"showDiscussion ==='232'"
></Discussion2>
<Discussion3
v-
if=
"showDiscussion ==='301'"
></Discussion3>
</div>
</
template
>
<
script
setup
>
import
{
ref
,
onMounted
,
computed
}
from
"vue"
;
//
import Discussion1 from './337/index.vue'
//
import Discussion2 from './232/index.vue'
import
Discussion1
from
'./337/index.vue'
import
Discussion2
from
'./232/index.vue'
import
Discussion3
from
'./301/index.vue'
import
{
useRoute
}
from
"vue-router"
;
...
...
src/views/marketAccessRestrictions/marketAccessLayout/overview/301/index.vue
浏览文件 @
6b608fa3
差异被折叠。
点击展开。
src/views/marketAccessRestrictions/marketAccessLayout/overview/337/index.vue
浏览文件 @
6b608fa3
...
...
@@ -22,7 +22,7 @@
</div>
</div>
<div
class=
"center"
>
<div
class=
"box1"
>
<div
class=
"box1"
v-loading=
"box1Loading"
>
<div
class=
"box-header"
>
<div
class=
"header-left"
></div>
<div
class=
"title"
>
美国对华337调查年度趋势
</div>
...
...
@@ -39,8 +39,8 @@
</div>
</div>
<div
class=
"box1-main"
id=
"chart1"
></div>
</div>
<div
class=
"box2"
>
</div>
<div
class=
"box2"
v-loading=
"box2Loading"
>
<div
class=
"box-header"
>
<div
class=
"header-left"
></div>
<div
class=
"title"
>
调查案件领域分布
</div>
...
...
@@ -60,7 +60,7 @@
</div>
</div>
<div
class=
"footer"
>
<div
class=
"box3"
>
<div
class=
"box3"
v-loading=
"box3Loading"
>
<div
class=
"box-header"
>
<div
class=
"header-left"
></div>
<div
class=
"title"
>
中国公司受调查情况
</div>
...
...
@@ -106,7 +106,7 @@
<div
class=
"box3-main1-right"
id=
"chartMap"
></div>
</div>
</div>
<div
class=
"box4"
>
<div
class=
"box4"
v-loading=
"box4Loading"
>
<div
class=
"box-header"
>
<div
class=
"header-left"
></div>
<div
class=
"title"
>
调查结果分布
</div>
...
...
@@ -133,6 +133,8 @@ import * as echarts from "echarts";
import
ChinaJson
from
"../../assets/json/China.json"
;
import
{
getStatcnOrgCount
,
getSearchResult
,
getStatArea
,
getStatNum
}
from
"@/api/marketAccessRestrictions"
;
import
getMultiLineChart
from
"./utils/multiLineChart"
;
import
getBarChart
from
"./utils/barChart"
;
import
getPieChart
from
"./utils/piechart"
;
...
...
@@ -147,95 +149,198 @@ const setChart = (option, chartId) => {
return
chart
;
};
const
box1Loading
=
ref
(
false
);
const
box2Loading
=
ref
(
false
);
const
box3Loading
=
ref
(
false
);
const
box4Loading
=
ref
(
false
);
const
btnActiveName
=
ref
(
"注册地分布"
);
const
provinceCoords
=
{
"北京"
:
[
116.46
,
39.92
],
"上海"
:
[
121.48
,
31.22
],
"天津"
:
[
117.2
,
39.13
],
"重庆"
:
[
106.54
,
29.59
],
"河北"
:
[
114.48
,
38.03
],
"山西"
:
[
112.53
,
37.87
],
"内蒙古"
:
[
111.65
,
40.82
],
"辽宁"
:
[
123.38
,
41.8
],
"吉林"
:
[
125.35
,
43.88
],
"黑龙江"
:
[
126.63
,
45.75
],
"江苏"
:
[
118.78
,
32.04
],
"浙江"
:
[
120.19
,
30.26
],
"安徽"
:
[
117.27
,
31.86
],
"福建"
:
[
119.3
,
26.08
],
"江西"
:
[
115.89
,
28.68
],
"山东"
:
[
117.0
,
36.65
],
"河南"
:
[
113.65
,
34.76
],
"湖北"
:
[
114.31
,
30.52
],
"湖南"
:
[
113.0
,
28.21
],
"广东"
:
[
113.23
,
23.16
],
"广西"
:
[
108.33
,
22.84
],
"海南"
:
[
110.35
,
20.02
],
"四川"
:
[
104.06
,
30.67
],
"贵州"
:
[
106.71
,
26.57
],
"云南"
:
[
102.73
,
25.04
],
"西藏"
:
[
91.11
,
29.97
],
"陕西"
:
[
108.95
,
34.27
],
"甘肃"
:
[
103.73
,
36.03
],
"青海"
:
[
101.74
,
36.56
],
"宁夏"
:
[
106.27
,
38.47
],
"新疆"
:
[
87.68
,
43.77
],
"香港"
:
[
114.17
,
22.28
],
"澳门"
:
[
113.54
,
22.19
],
"台湾"
:
[
121.5
,
25.05
]
};
const
handleGetStatcnOrgCount
=
async
(
type
)
=>
{
box3Loading
.
value
=
true
;
try
{
const
res
=
await
getStatcnOrgCount
({
type
,
sortCode
:
"337"
});
if
(
res
.
code
===
200
&&
res
.
data
)
{
if
(
type
===
"01"
)
{
chart3Data
.
value
=
{
name
:
res
.
data
.
map
(
item
=>
item
.
ORGNAME
),
value
:
res
.
data
.
map
(
item
=>
item
.
ORGCOUNT
)
};
nextTick
(()
=>
{
let
chart3
=
getBarChart
(
chart3Data
.
value
.
name
,
chart3Data
.
value
.
value
);
setChart
(
chart3
,
"chart3"
);
});
}
else
if
(
type
===
"02"
)
{
mapData
.
value
=
res
.
data
.
map
(
item
=>
{
const
name
=
item
.
ORGPROVINCE
//.replace(/省|市|自治区|特别行政区/g, "");
return
{
name
:
item
.
ORGPROVINCE
,
value
:
item
.
PROVINCECOUNT
,
coord
:
provinceCoords
[
name
]
||
[
0
,
0
]
};
});
nextTick
(()
=>
{
let
chartMap
=
getMapChart
(
mapData
.
value
);
setChart
(
chartMap
,
"chartMap"
);
});
}
}
}
catch
(
error
)
{
console
.
error
(
"获取中国公司受调查情况失败"
,
error
);
}
finally
{
box3Loading
.
value
=
false
;
}
};
const
handleClickBox3Btn
=
name
=>
{
btnActiveName
.
value
=
name
;
if
(
name
===
"调查次数"
)
{
nextTick
(()
=>
{
let
chart3
=
getBarChart
(
chart3Data
.
value
.
name
,
chart3Data
.
value
.
value
);
setChart
(
chart3
,
"chart3"
);
});
handleGetStatcnOrgCount
(
"01"
);
}
else
{
nextTick
(()
=>
{
let
chartMap
=
getMapChart
(
mapData
.
value
);
setChart
(
chartMap
,
"chartMap"
);
});
handleGetStatcnOrgCount
(
"02"
);
}
};
const
chart1Data
=
ref
({
title
:
[
"2014"
,
"2015"
,
"2016"
,
"2017"
,
"2018"
,
"2019"
,
"2020"
,
"2021"
,
"2022"
,
"2023"
,
"2024"
,
"2025"
],
data
:
[
{
name
:
"提出法案"
,
value
:
[
145
,
52
,
84
,
99
,
71
,
96
,
128
,
144
,
140
,
168
,
188
,
172
]
}
]
title
:
[],
data
:
[]
});
const
chart2Data
=
ref
([
{
name
:
"半导体"
,
value
:
50
},
{
name
:
"电子设备"
,
value
:
46
},
{
name
:
"显示技术"
,
value
:
40
},
{
name
:
"新能源"
,
value
:
32
},
{
name
:
"通信设备"
,
value
:
31
},
{
name
:
"汽车"
,
value
:
31
},
{
name
:
"轻工业制造"
,
value
:
30
},
{
name
:
"其他"
,
value
:
24
}
]);
const
handleGetStatNum
=
async
()
=>
{
box1Loading
.
value
=
true
;
try
{
const
res
=
await
getStatNum
({
byYorM
:
"12"
,
sortCode
:
"337"
});
if
(
res
.
code
===
200
&&
res
.
data
)
{
const
sortedData
=
res
.
data
.
sort
((
a
,
b
)
=>
parseInt
(
a
.
searchYorM
)
-
parseInt
(
b
.
searchYorM
));
chart1Data
.
value
.
title
=
sortedData
.
map
(
item
=>
item
.
searchYorM
);
chart1Data
.
value
.
data
=
[
{
name
:
"调查数量"
,
value
:
sortedData
.
map
(
item
=>
item
.
searchCount
)
}
];
nextTick
(()
=>
{
let
chart1
=
getMultiLineChart
(
chart1Data
.
value
.
title
,
chart1Data
.
value
.
data
[
0
].
value
);
setChart
(
chart1
,
"chart1"
);
});
}
}
catch
(
error
)
{
console
.
error
(
"获取年度趋势数据失败"
,
error
);
}
finally
{
box1Loading
.
value
=
false
;
}
};
const
chart2Data
=
ref
([]);
const
chart2ColorList
=
ref
([
"#69B1FF"
,
"#FFC069"
,
"#87E8DE"
,
"#597EF7"
,
"#D6E4FF"
,
"#FF7875"
,
"#B37FEB"
,
"#FFA39E"
]);
const
handleGetStatArea
=
async
()
=>
{
box2Loading
.
value
=
true
;
try
{
const
res
=
await
getStatArea
({
sortCode
:
"337"
});
if
(
res
.
code
===
200
&&
res
.
data
)
{
chart2Data
.
value
=
res
.
data
.
filter
(
item
=>
item
.
SORTCODE
===
"337"
||
item
.
SORTNAME
===
"337调查"
)
.
map
(
item
=>
({
name
:
item
.
AREANAME
,
value
:
item
.
AREACOUNT
}));
nextTick
(()
=>
{
let
chart2
=
getPieChart
(
chart2Data
.
value
,
chart2ColorList
.
value
);
setChart
(
chart2
,
"chart2"
);
});
}
}
catch
(
error
)
{
console
.
error
(
"获取调查案件领域分布失败"
,
error
);
}
finally
{
box2Loading
.
value
=
false
;
}
};
const
chart3Data
=
ref
({
name
:
[
"华为技术有限公司"
,
"大疆创新科技有限公司"
,
"TCL科技集团股份有限公司"
,
"中兴通讯股份有限公司"
,
"联想集团"
,
"比亚迪集团"
,
"宁德时代新能源科技股份有限公司"
,
"晶科智能科技有限公司"
],
value
:
[
42
,
35
,
28
,
19
,
15
,
12
,
11
,
8
]
name
:
[],
value
:
[]
});
const
mapData
=
ref
([
{
name
:
"北京"
,
value
:
10
,
coord
:
[
116.46
,
39.92
]
},
{
name
:
"上海"
,
value
:
9
,
coord
:
[
121.48
,
31.22
]
},
{
name
:
"广东"
,
value
:
15
,
coord
:
[
113.23
,
23.16
]
},
{
name
:
"江苏"
,
value
:
30
,
coord
:
[
118.78
,
32.04
]
},
{
name
:
"浙江"
,
value
:
20
,
coord
:
[
120.19
,
30.26
]
},
{
name
:
"四川"
,
value
:
4
,
coord
:
[
104.06
,
30.67
]
},
{
name
:
"陕西"
,
value
:
1
,
coord
:
[
108.95
,
34.27
]
},
{
name
:
"辽宁"
,
value
:
3
,
coord
:
[
123.38
,
41.8
]
}
// { name: "湖北", value: 2, coord: [114.31, 30.52] },
// { name: "山东", value: 12, coord: [117.0, 36.65] },
]);
const
chart4Data
=
ref
([
{
name
:
"和解/同意令"
,
value
:
50
},
{
name
:
"裁定不侵权"
,
value
:
46
},
{
name
:
"裁定侵权"
,
value
:
40
},
{
name
:
"申诉方撤诉"
,
value
:
31
},
{
name
:
"其他"
,
value
:
24
}
]);
const
chart4ColorList
=
ref
([
"#69B1FF"
,
"#FFC069"
,
"#87E8DE"
,
"#D6E4FF"
,
"#FFA39E"
]);
const
mapData
=
ref
([]);
onMounted
(()
=>
{
let
chart1
=
getMultiLineChart
(
chart1Data
.
value
.
title
,
chart1Data
.
value
.
data
[
0
].
value
);
setChart
(
chart1
,
"chart1"
);
const
chart4Data
=
ref
([]);
const
chart4ColorList
=
ref
([
"#69B1FF"
,
"#FFC069"
,
"#87E8DE"
,
"#597EF7"
,
"#D6E4FF"
,
"#FF7875"
,
"#B37FEB"
,
"#FFA39E"
]);
let
chart2
=
getPieChart
(
chart2Data
.
value
,
chart2ColorList
.
value
);
setChart
(
chart2
,
"chart2"
);
const
handleGetSearchResult
=
async
()
=>
{
box4Loading
.
value
=
true
;
try
{
const
res
=
await
getSearchResult
({
sortCode
:
"337"
});
if
(
res
.
code
===
200
&&
res
.
data
)
{
chart4Data
.
value
=
res
.
data
.
map
(
item
=>
({
name
:
item
.
RESULTNAME
,
value
:
item
.
RESULTNUM
}));
nextTick
(()
=>
{
let
chart4
=
getPieChart
(
chart4Data
.
value
,
chart4ColorList
.
value
);
setChart
(
chart4
,
"chart4"
);
});
}
}
catch
(
error
)
{
console
.
error
(
"获取调查结果分布失败"
,
error
);
}
finally
{
box4Loading
.
value
=
false
;
}
};
let
chart3
=
getBarChart
(
chart3Data
.
value
.
name
,
chart3Data
.
value
.
value
);
setChart
(
chart3
,
"chart3"
);
onMounted
(()
=>
{
handleGetStatNum
(
);
let
chartMap
=
getMapChart
(
mapData
.
value
);
setChart
(
chartMap
,
"chartMap"
);
handleGetStatArea
();
let
chart4
=
getPieChart
(
chart4Data
.
value
,
chart4ColorList
.
value
);
setChart
(
chart4
,
"chart4"
);
handleGetStatcnOrgCount
(
btnActiveName
.
value
===
"调查次数"
?
"01"
:
"02"
);
handleGetSearchResult
(
);
});
</
script
>
...
...
src/views/marketAccessRestrictions/singleCaseLayout/deepdig/232/index.vue
浏览文件 @
6b608fa3
差异被折叠。
点击展开。
src/views/marketAccessRestrictions/singleCaseLayout/deepdig/337/index.vue
浏览文件 @
6b608fa3
差异被折叠。
点击展开。
src/views/marketAccessRestrictions/singleCaseLayout/deepdig/337/index_v0.vue
0 → 100644
浏览文件 @
6b608fa3
差异被折叠。
点击展开。
src/views/marketAccessRestrictions/singleCaseLayout/index.vue
浏览文件 @
6b608fa3
差异被折叠。
点击展开。
src/views/marketAccessRestrictions/singleCaseLayout/overview/232/index.vue
浏览文件 @
6b608fa3
差异被折叠。
点击展开。
src/views/marketAccessRestrictions/singleCaseLayout/overview/301/index.vue
浏览文件 @
6b608fa3
差异被折叠。
点击展开。
src/views/marketAccessRestrictions/singleCaseLayout/overview/337/index.vue
浏览文件 @
6b608fa3
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论