提交 dc99c723 authored 作者: 朱政's avatar 朱政

Merge branch 'pre' into zz-dev

流水线 #336 已通过 于阶段
in 1 分 36 秒
...@@ -199,6 +199,7 @@ ...@@ -199,6 +199,7 @@
"resolved": "https://registry.npmmirror.com/@antv/g6/-/g6-4.8.25.tgz", "resolved": "https://registry.npmmirror.com/@antv/g6/-/g6-4.8.25.tgz",
"integrity": "sha512-8mdTnN9QMVNQZtlXmftL8fvRsa4L+GajK58Zp51wyrGLFyjeop8R0QSkCALW45DWP2TaQeZAPtjhQUU/wf5hIg==", "integrity": "sha512-8mdTnN9QMVNQZtlXmftL8fvRsa4L+GajK58Zp51wyrGLFyjeop8R0QSkCALW45DWP2TaQeZAPtjhQUU/wf5hIg==",
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"@antv/g6-pc": "0.8.25" "@antv/g6-pc": "0.8.25"
} }
...@@ -2171,6 +2172,7 @@ ...@@ -2171,6 +2172,7 @@
"resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.12.tgz", "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.12.tgz",
"integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==",
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"@types/lodash": "*" "@types/lodash": "*"
} }
...@@ -2287,6 +2289,7 @@ ...@@ -2287,6 +2289,7 @@
"resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.21.tgz", "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.21.tgz",
"integrity": "sha512-SXlyk6I5eUGBd2v8Ie7tF6ADHE9kCR6mBEuPyH1nUZ0h6Xx6nZI29i12sJKQmzbDyr2tUHMhhTt51Z6blbkTTQ==", "integrity": "sha512-SXlyk6I5eUGBd2v8Ie7tF6ADHE9kCR6mBEuPyH1nUZ0h6Xx6nZI29i12sJKQmzbDyr2tUHMhhTt51Z6blbkTTQ==",
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"@babel/parser": "^7.28.3", "@babel/parser": "^7.28.3",
"@vue/compiler-core": "3.5.21", "@vue/compiler-core": "3.5.21",
...@@ -2893,6 +2896,7 @@ ...@@ -2893,6 +2896,7 @@
} }
], ],
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"baseline-browser-mapping": "^2.9.0", "baseline-browser-mapping": "^2.9.0",
"caniuse-lite": "^1.0.30001759", "caniuse-lite": "^1.0.30001759",
...@@ -3251,6 +3255,7 @@ ...@@ -3251,6 +3255,7 @@
"resolved": "https://registry.npmmirror.com/cytoscape/-/cytoscape-3.33.1.tgz", "resolved": "https://registry.npmmirror.com/cytoscape/-/cytoscape-3.33.1.tgz",
"integrity": "sha512-iJc4TwyANnOGR1OmWhsS9ayRS3s+XQ185FmuHObThD+5AeJCakAAbWv8KimMTt08xCCLNgneQwFp+JRJOr9qGQ==", "integrity": "sha512-iJc4TwyANnOGR1OmWhsS9ayRS3s+XQ185FmuHObThD+5AeJCakAAbWv8KimMTt08xCCLNgneQwFp+JRJOr9qGQ==",
"license": "MIT", "license": "MIT",
"peer": true,
"engines": { "engines": {
"node": ">=0.10" "node": ">=0.10"
} }
...@@ -3648,6 +3653,7 @@ ...@@ -3648,6 +3653,7 @@
"resolved": "https://registry.npmmirror.com/d3-selection/-/d3-selection-3.0.0.tgz", "resolved": "https://registry.npmmirror.com/d3-selection/-/d3-selection-3.0.0.tgz",
"integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==",
"license": "ISC", "license": "ISC",
"peer": true,
"engines": { "engines": {
"node": ">=12" "node": ">=12"
} }
...@@ -3736,6 +3742,7 @@ ...@@ -3736,6 +3742,7 @@
"version": "0.8.5", "version": "0.8.5",
"resolved": "https://registry.npmmirror.com/dagre/-/dagre-0.8.5.tgz", "resolved": "https://registry.npmmirror.com/dagre/-/dagre-0.8.5.tgz",
"integrity": "sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==", "integrity": "sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==",
"peer": true,
"dependencies": { "dependencies": {
"graphlib": "^2.1.8", "graphlib": "^2.1.8",
"lodash": "^4.17.15" "lodash": "^4.17.15"
...@@ -3943,6 +3950,7 @@ ...@@ -3943,6 +3950,7 @@
"resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.6.0.tgz", "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.6.0.tgz",
"integrity": "sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA==", "integrity": "sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA==",
"license": "Apache-2.0", "license": "Apache-2.0",
"peer": true,
"dependencies": { "dependencies": {
"tslib": "2.3.0", "tslib": "2.3.0",
"zrender": "5.6.1" "zrender": "5.6.1"
...@@ -5334,13 +5342,15 @@ ...@@ -5334,13 +5342,15 @@
"version": "4.18.1", "version": "4.18.1",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz",
"integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==",
"license": "MIT" "license": "MIT",
"peer": true
}, },
"node_modules/lodash-es": { "node_modules/lodash-es": {
"version": "4.18.1", "version": "4.18.1",
"resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.18.1.tgz", "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.18.1.tgz",
"integrity": "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==", "integrity": "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==",
"license": "MIT" "license": "MIT",
"peer": true
}, },
"node_modules/lodash-unified": { "node_modules/lodash-unified": {
"version": "1.0.3", "version": "1.0.3",
...@@ -5388,6 +5398,7 @@ ...@@ -5388,6 +5398,7 @@
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.1.tgz", "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.1.tgz",
"integrity": "sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==", "integrity": "sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==",
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"argparse": "^2.0.1", "argparse": "^2.0.1",
"entities": "^4.4.0", "entities": "^4.4.0",
...@@ -6467,6 +6478,7 @@ ...@@ -6467,6 +6478,7 @@
"integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"engines": { "engines": {
"node": ">=12" "node": ">=12"
}, },
...@@ -6563,6 +6575,7 @@ ...@@ -6563,6 +6575,7 @@
} }
], ],
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"nanoid": "^3.3.11", "nanoid": "^3.3.11",
"picocolors": "^1.1.1", "picocolors": "^1.1.1",
...@@ -6964,6 +6977,7 @@ ...@@ -6964,6 +6977,7 @@
"integrity": "sha512-VmtB2rFU/GroZ4oL8+ZqXgSA38O6GR8KSIvWmEFv63pQ0G6KaBH9s07PO8XTXP4vI+3UJUEypOfjkGfmSBBR0w==", "integrity": "sha512-VmtB2rFU/GroZ4oL8+ZqXgSA38O6GR8KSIvWmEFv63pQ0G6KaBH9s07PO8XTXP4vI+3UJUEypOfjkGfmSBBR0w==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"@types/estree": "1.0.8" "@types/estree": "1.0.8"
}, },
...@@ -8134,6 +8148,7 @@ ...@@ -8134,6 +8148,7 @@
"integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==", "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"esbuild": "^0.21.3", "esbuild": "^0.21.3",
"postcss": "^8.4.43", "postcss": "^8.4.43",
...@@ -8193,6 +8208,7 @@ ...@@ -8193,6 +8208,7 @@
"resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.21.tgz", "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.21.tgz",
"integrity": "sha512-xxf9rum9KtOdwdRkiApWL+9hZEMWE90FHh8yS1+KJAiWYh+iGWV1FquPjoO9VUHQ+VIhsCXNNyZ5Sf4++RVZBA==", "integrity": "sha512-xxf9rum9KtOdwdRkiApWL+9hZEMWE90FHh8yS1+KJAiWYh+iGWV1FquPjoO9VUHQ+VIhsCXNNyZ5Sf4++RVZBA==",
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"@vue/compiler-dom": "3.5.21", "@vue/compiler-dom": "3.5.21",
"@vue/compiler-sfc": "3.5.21", "@vue/compiler-sfc": "3.5.21",
......
...@@ -4,7 +4,7 @@ import { ElMessage } from "element-plus"; ...@@ -4,7 +4,7 @@ import { ElMessage } from "element-plus";
const request200 = requestP => { const request200 = requestP => {
return requestP.then(data => { return requestP.then(data => {
if (data.code === 200) { if (data.code === 200) {
console.log('返回的数据结构 =>', data.data) console.log("返回的数据结构 =>", data.data);
return data.data; return data.data;
} }
ElMessage({ ElMessage({
...@@ -393,13 +393,13 @@ export function getDomainDistribution(sanctionDate = "2025-11-11") { ...@@ -393,13 +393,13 @@ export function getDomainDistribution(sanctionDate = "2025-11-11") {
* startTime: string * startTime: string
* }[]>} * }[]>}
*/ */
export function getEntitiesList(sanTypeId=1, pageNum = 1, pageSize = 10, sanctionDate = "", isCn = false) { export function getEntitiesList(sanTypeIds = ["1"], pageNum = 1, pageSize = 10, sanctionDate = "", isCn = false) {
return request200( return request200(
request({ request({
method: "POST", method: "POST",
url: "/api/sanctionList/pageQuery", url: "/api/sanctionList/pageQuery",
data: { data: {
sanTypeId, sanTypeIds,
pageNum, pageNum,
pageSize, pageSize,
sanctionDate, sanctionDate,
......
...@@ -30,7 +30,7 @@ import { http } from "./service.js"; ...@@ -30,7 +30,7 @@ import { http } from "./service.js";
/** /**
* 总次数统计 * 总次数统计
*/ */
export function getDataCount() { export function getDataCount() {
return http.get("/api/sanctionList/invFin/getTotalInfo"); return http.get("/api/sanctionList/invFin/getTotalInfo");
} }
...@@ -38,7 +38,7 @@ export function getDataCount() { ...@@ -38,7 +38,7 @@ export function getDataCount() {
/** /**
* 最新出口管制政策 * 最新出口管制政策
* url:/sanctionList/invFin/getLatestEntityListInfo * url:/sanctionList/invFin/getLatestEntityListInfo
*/ */
export function getLatestEntityListInfo() { export function getLatestEntityListInfo() {
return http.get("/api/sanctionList/invFin/getLatestEntityListInfo"); return http.get("/api/sanctionList/invFin/getLatestEntityListInfo");
} }
...@@ -46,31 +46,31 @@ export function getLatestEntityListInfo() { ...@@ -46,31 +46,31 @@ export function getLatestEntityListInfo() {
/** /**
* 风险信号 * 风险信号
* url:/commonFeature/riskSignal/{moduleId} * url:/commonFeature/riskSignal/{moduleId}
*/ */
export function getRiskSignal(moduleId='0104') { export function getRiskSignal(moduleId = "0104") {
return http.get(`/api/commonFeature/riskSignal/${moduleId}`); return http.get(`/api/commonFeature/riskSignal/${moduleId}`);
} }
/** /**
* 新闻资讯 * 新闻资讯
* url:/commonFeature/news/{moduleId} * url:/commonFeature/news/{moduleId}
*/ */
export function getNewsInfo(moduleId='0104') { export function getNewsInfo(moduleId = "0104") {
return http.get(`/api/commonFeature/news/${moduleId}`); return http.get(`/api/commonFeature/news/${moduleId}`);
} }
/** /**
* 社交媒体信息 * 社交媒体信息
* url:/commonFeature/remarks/{moduleId} * url:/commonFeature/remarks/{moduleId}
*/ */
export function getSocialMediaInfo(moduleId='0104') { export function getSocialMediaInfo(moduleId = "0104") {
return http.get(`/api/commonFeature/remarks/${moduleId}`); return http.get(`/api/commonFeature/remarks/${moduleId}`);
} }
/** /**
* 发布频度 * 发布频度
* url:/entitiesDataCount/getAnnualCount * url:/entitiesDataCount/getAnnualCount
*/ */
export function getReleaseCount(id) { export function getReleaseCount(id) {
return http.get(`/api/entitiesDataCount/getAnnualCount?sanTypeId=${id}`); return http.get(`/api/entitiesDataCount/getAnnualCount?sanTypeId=${id}`);
} }
...@@ -78,7 +78,7 @@ export function getReleaseCount(id) { ...@@ -78,7 +78,7 @@ export function getReleaseCount(id) {
/** /**
* 制裁领域分析 * 制裁领域分析
* url:/entitiesDataCount/getSanDomainCount * url:/entitiesDataCount/getSanDomainCount
*/ */
export function getSanDomainCount(sanTypeIds) { export function getSanDomainCount(sanTypeIds) {
return http.get(`/api/entitiesDataCount/getSanDomainCount?sanTypeIds=${sanTypeIds}`); return http.get(`/api/entitiesDataCount/getSanDomainCount?sanTypeIds=${sanTypeIds}`);
} }
...@@ -86,7 +86,7 @@ export function getSanDomainCount(sanTypeIds) { ...@@ -86,7 +86,7 @@ export function getSanDomainCount(sanTypeIds) {
/** /**
* 制裁清单增长趋势 * 制裁清单增长趋势
* url:/entitiesDataCount/getAnnualSanDomain * url:/entitiesDataCount/getAnnualSanDomain
*/ */
export function getAnnualSanDomain(params) { export function getAnnualSanDomain(params) {
return http.post("/api/entitiesDataCount/getAnnualSanDomain", params); return http.post("/api/entitiesDataCount/getAnnualSanDomain", params);
} }
...@@ -94,13 +94,45 @@ export function getAnnualSanDomain(params) { ...@@ -94,13 +94,45 @@ export function getAnnualSanDomain(params) {
/** /**
* 全部制裁(历史制裁过程) * 全部制裁(历史制裁过程)
* url:/entitiesDataCount/getSanctionProcess * url:/entitiesDataCount/getSanctionProcess
*/ */
export function getSanctionProcess(sanTypeIds = "1", pageNum = 1, pageSize = 10, isCn = false) { export function getSanctionProcess(sanTypeIds = "1", pageNum = 1, pageSize = 10, isCn = false) {
return http.post("/api/entitiesDataCount/getSanctionProcess",{ return http.post("/api/entitiesDataCount/getSanctionProcess", {
sanTypeIds, sanTypeIds,
// typeName: tabMap[sanTypeId], // typeName: tabMap[sanTypeId],
pageNum, pageNum,
pageSize, pageSize,
isCn isCn
}); });
} }
/**
* 制裁实体领域数量变化情况
* url:/sanctionList/statistics/domainNum
*/
export function getDomainNum(params) {
return http.get("/api/sanctionList/statistics/domainNum", params);
}
/**
* 获取制裁实体类型分布列表
* url:/sanctionList/statistics/entityTypeId
*/
export function getEntityTypeCount(params) {
return http.get("/api/sanctionList/statistics/entityTypeId", params);
}
/**
* 新闻链接
* url:/sanctionList/invFin/getRelateNews
*/
export function getRelateNews(sanRecordId) {
return http.get(`/api/sanctionList/invFin/getRelateNews?sanRecordId=${sanRecordId}`);
}
/**
* 制裁原因及相关历史制裁
* url:/sanctionList/invFin/getReasonAndSan
*/
export function getReasonAndSan(sanRecordId) {
return http.get(`/api/sanctionList/invFin/getReasonAndSan?sanRecordId=${sanRecordId}`);
}
// 出口管制 // 出口管制
const ExportControl = () => import('@/views/exportControl/index.vue') const ExportControl = () => import("@/views/exportControl/index.vue");
const exportControlRoutes = [ const exportControlRoutes = [
// 出口管制首页 // 出口管制首页
{ {
path: "/exportControl", path: "/exportControl",
name: "ExportControl", name: "ExportControl",
component: ExportControl, component: ExportControl,
meta: { meta: {
title: "出口管制概览", title: "出口管制概览",
isShowHeader: true isShowHeader: true
} }
}, },
{ {
path: "/exportControlAnalysis", path: "/exportControlAnalysis",
name: "exportControlAnalysis", name: "exportControlAnalysis",
component: () => import("@/views/exportControl/analysis/index.vue"), component: () => import("@/views/exportControl/analysis/index.vue"),
redirect: "/exportControlAnalysis/overview", redirect: "/exportControlAnalysis/overview",
meta: { meta: {
title: "分析页" title: "分析页"
}, },
children: [ children: [
{ {
path: "overview", path: "overview",
name: "exportControlAnalysisOverview", name: "exportControlAnalysisOverview",
component: () => import("@/views/exportControl/analysis/content/overview.vue"), component: () => import("@/views/exportControl/analysis/content/overview.vue"),
meta: { meta: {
title: "制裁概况" title: "制裁概况"
} }
}, },
{ {
path: "deepDig", path: "deepDig",
name: "exportControlAnalysisDeepDig", name: "exportControlAnalysisDeepDig",
component: () => import("@/views/exportControl/analysis/content/deepDig.vue"), component: () => import("@/views/exportControl/analysis/content/deepDig.vue"),
meta: { meta: {
title: "深度挖掘" title: "深度挖掘"
} }
}, },
{ {
path: "influence", path: "influence",
name: "exportControlAnalysisInfluence", name: "exportControlAnalysisInfluence",
component: () => import("@/views/exportControl/analysis/content/influence.vue"), component: () => import("@/views/exportControl/analysis/content/influence.vue"),
meta: { meta: {
title: "影响分析" title: "影响分析"
} }
}, }
] ]
}, },
{ {
path: "/exportControl/analysis", path: "/exportControl/analysis",
name: "analysis", name: "analysis",
component: () => import("@/views/exportControl/analysis/index.vue"), component: () => import("@/views/exportControl/analysis/index.vue"),
meta: { meta: {
title: "分析页" title: "分析页"
} }
}, },
{ {
path: "/exportControl/infoplatform", path: "/exportControl/infoplatform",
name: "infoplatform", name: "infoplatform",
component: () => import("@/views/exportControl/infoPlatform/index.vue"), component: () => import("@/views/exportControl/infoPlatform/index.vue"),
meta: { meta: {
title: "信息平台" title: "信息平台"
} }
}, },
{ {
path: "/exportControl/rulelimit", path: "/exportControl/rulelimit",
name: "rulelimit", name: "rulelimit",
component: () => import("@/views/exportControl/ruleLimit/index.vue"), component: () => import("@/views/exportControl/ruleLimit/index.vue"),
meta: { meta: {
title: "规则限制" title: "规则限制"
} }
}, },
{ {
path: "/exportControl/ruledetail", path: "/exportControl/ruledetail",
name: "ruledetail", name: "ruledetail",
component: () => import("@/views/exportControl/ruleDetail/index.vue"), component: () => import("@/views/exportControl/ruleDetail/index.vue"),
meta: { meta: {
title: "规则详情" title: "规则详情"
} }
}, },
{ {
path: "/exportControl/researchfunding", path: "/exportControl/researchfunding",
name: "researchfunding", name: "researchfunding",
component: () => import("@/views/exportControl/researchFunding/index.vue"), component: () => import("@/views/exportControl/researchFunding/index.vue"),
meta: { meta: {
title: "科研资助" title: "科研资助"
} }
}, },
// V2.0全部实体清单 // V2.0全部实体清单
{ {
path: "/exportControl/entityList", path: "/exportControl/entityList",
name: "entityList", name: "entityList",
component: () => import("@/views/exportControl/v2.0EntityList/index.vue"), component: () => import("@/views/exportControl/v2.0EntityList/index.vue"),
meta: { meta: {
title: "实体清单概览" title: "实体清单概览"
} }
}, },
// V2.0单条制裁详情 // V2.0单条制裁详情
{ {
path: "/exportControl/singleSanction", path: "/exportControl/singleSanction",
name: "singleSanction", name: "singleSanction",
component: () => import("@/views/exportControl/v2.0SingleSanction/index.vue"), component: () => import("@/views/exportControl/v2.0SingleSanction/index.vue"),
meta: { meta: {
title: "单条制裁详情", title: "单次制裁详情",
dynamicTitle: true dynamicTitle: true
} }
}, },
// V2.0单条制裁详情-实体清单原文 // V2.0单条制裁详情-实体清单原文
{ {
path: "/exportControl/origin", path: "/exportControl/origin",
name: "entityListOrigin", name: "entityListOrigin",
component: () => import("@/views/exportControl/v2.0SingleSanction/originPage/index.vue"), component: () => import("@/views/exportControl/v2.0SingleSanction/originPage/index.vue")
// meta: { // meta: {
// title: "实体清单原文" // title: "实体清单原文"
// } // }
}, },
// V2.0全部实体清单 // V2.0商业制裁清单
{ {
path: "/exportControl/commercialControlList", path: "/exportControl/commercialControlList",
name: "commercialControlList", name: "commercialControlList",
component: () => import("@/views/exportControl/v2.0CommercialControlList/index.vue"), component: () => import("@/views/exportControl/v2.0CommercialControlList/index.vue"),
meta: { meta: {
title: "商业管制清单概览" title: "商业管制清单概览"
} }
} }
] ];
export default exportControlRoutes export default exportControlRoutes;
\ No newline at end of file
// 投融资限制 // 投融资限制
const Finance = () => import('@/views/finance/index.vue') const Finance = () => import("@/views/finance/index.vue");
const financeRoutes = [ const financeRoutes = [
// 投融资限制 // 投融资限制
{ {
path: "/finance", path: "/finance",
name: "Finance", name: "Finance",
component: Finance, component: Finance,
meta: { meta: {
title: "投融资限制概览", title: "投融资限制概览",
isShowHeader: true isShowHeader: true
} }
}, },
// SDN制裁清单概览
{
path: "/finance/sdnlistoverview",
name: "sdnlistOverview",
component: () => import("@/views/finance/v2.0EntityList/index.vue"),
meta: {
title: "SDN制裁清单概览"
}
},
// V2.0单条制裁详情
{
path: "/finance/singleSanction",
name: "singleSanction",
component: () => import("@/views/finance/v2.0SingleSanction/index.vue"),
meta: {
title: "单条制裁详情",
dynamicTitle: true
}
},
// V2.0单条制裁详情-实体清单原文
{
path: "/exportControl/origin",
name: "entityListOrigin",
component: () => import("@/views/exportControl/v2.0SingleSanction/originPage/index.vue")
// meta: {
// title: "实体清单原文"
// }
},
// V2.0商业制裁清单
{
path: "/finance/cmccontrolList",
name: "cmccontrolList",
component: () => import("@/views/finance/v2.0CommercialControlList/index.vue"),
meta: {
title: "涉军企业清单概览"
}
}
];
] export default financeRoutes;
export default financeRoutes
\ No newline at end of file
...@@ -267,6 +267,7 @@ const resetModal = () => { ...@@ -267,6 +267,7 @@ const resetModal = () => {
}; };
onMounted(() => { onMounted(() => {
console.log("出口管制-单次制裁");
getUrlParams(); getUrlParams();
getSingleSanctionOverviewData(); getSingleSanctionOverviewData();
}); });
......
{
"content": [
{
"id": 138,
"sanTypeId": 1,
"postDate": "2025-10-08",
"name": "实体清单的增补与修订",
"summary": "在该规则中,工业和安全局(BIS)修订了《出口管理条例》(EAR),在中华人民共和国(中国)(19)、土耳其(9)和阿拉伯联合酋长国(阿联酋)(1)的目的地下的实体清单中增加了29个条目(26个实体和3个地址)。美国政府认定这些实体的行为违背了美国的国家安全或外交政策利益。",
"cnEntityCount": 15,
"techDomainList": ["新能源", "先进制造", "航空航天", "人工智能", "新一代通信网络"],
"orgId": "241",
"orgName": "商务部工业与安全局",
"orgLogoUrl": "http://8.140.26.4:10010/kjb-files/images/org/round/BIS美国商务部工业与安全局.png"
},
{
"id": 121,
"sanTypeId": 1,
"postDate": "2025-09-16",
"name": "美国工业与安全局新增32个实体至实体清单,多数为中国企业",
"summary": "美国工业与安全局(BIS)通过在《出口管理条例》(EAR)中新增32个实体至实体清单。这些实体分别位于中国(23个)、印度(1个)、伊朗(1个)、新加坡(1个)、台湾(1个)、土耳其(3个)和阿拉伯联合酋长国(UAE)(2个)。这些实体已被美国政府认定为违反美国国家安全或外交政策利益。其中,中国的23个实体包括中国科学院国家授时中心、北京复旦微电子科技有限公司、上海复旦微电子有限公司等。这些实体因收购或试图收购美国原产物品以支持中国军事及国防相关的太空领域活动、量子技术能力发展以及参与中国先进计算和集成电路制造与分销领域而被加入。此外,还包括一些向中国军队、政府和安全部门供应产品的公司。被列入实体清单的实体将面临更严格的许可证要求,并实行拒绝推定的许可证审查政策。此次更新还修正了部分现有条目中的拼写错误,涉及多个国家和地区,其中包括中国的11个实体。",
"cnEntityCount": 23,
"techDomainList": ["航空航天", "人工智能", "集成电路", "先进制造", "生物科技", "太空", "量子科技"],
"orgId": "241",
"orgName": "商务部工业与安全局",
"orgLogoUrl": "http://8.140.26.4:10010/kjb-files/images/org/round/BIS美国商务部工业与安全局.png"
},
{
"id": 85,
"sanTypeId": 1,
"postDate": "2025-03-28",
"name": "美国将12个中国和台湾实体列入出口管制清单",
"summary": "根据美国商务部工业与安全局(BIS)发布的最终规则,12个实体被列入实体清单,其中11个位于中国,1个位于台湾地区。这些实体包括北京人工智能研究院、北京创新智慧科技有限公司、河南鼎鑫信息产业有限公司、浪潮(北京)电子信息产业有限公司及其相关子公司等。这些实体被认定为参与或支持中国的军事现代化项目,特别是开发用于国防目的的大规模人工智能模型和先进计算芯片,以及参与超级计算机的开发。对于这些实体,BIS对所有受EAR管辖的物品实施许可证要求,并采取推定拒绝的许可审查政策。此外,这些实体还被赋予脚注4标识,意味着“受EAR管辖的物品”包括根据EAR第734.9(e)(2)条受EAR管辖的外国生产物品。此决定自2025年3月25日起生效。",
"cnEntityCount": 12,
"techDomainList": ["先进制造", "集成电路", "人工智能"],
"orgId": "241",
"orgName": "商务部工业与安全局",
"orgLogoUrl": "http://8.140.26.4:10010/kjb-files/images/org/round/BIS美国商务部工业与安全局.png"
},
{
"id": 110,
"sanTypeId": 1,
"postDate": "2025-03-28",
"name": "美国商务部工业和安全局更新实体清单,新增70个涉及多国的实体",
"summary": "美国商务部工业和安全局(BIS)根据《出口管理条例》(EAR)对实体清单进行了修订,将70个实体列入实体清单,其中包括多个中国实体。这些实体被认定为违反了美国国家安全或外交政策利益。涉及中国的实体包括航空计算技术研究院、航天星科技应用有限公司、空军工程大学、安徽科华科技贸易有限公司、重庆关联光电有限公司等。这些实体因参与支持中国军事现代化、量子技术发展以及向其他实体清单上的中国企业供货等活动而被列入。对于这些实体,所有受EAR管辖的物品均需申请许可证,并且许可证申请将按否决推定审查。此外,规则还对实体清单中的四个现有条目进行了修改,涉及法国、伊朗、塞内加尔和英国的实体。该规则自2025年3月28日起生效。",
"cnEntityCount": 40,
"techDomainList": ["新一代通信网络", "先进制造", "航空航天", "新材料", "量子科技", "集成电路", "太空", "核"],
"orgId": "241",
"orgName": "商务部工业与安全局",
"orgLogoUrl": "http://8.140.26.4:10010/kjb-files/images/org/round/BIS美国商务部工业与安全局.png"
},
{
"id": 64,
"sanTypeId": 1,
"postDate": "2025-01-16",
"name": "美国将16个实体列入出口管制清单,其中14家为中国企业",
"summary": "美国工业与安全局(BIS)通过修订《出口管理条例》(EAR),将16个实体列入实体清单,其中包括14家位于中国的公司和2家位于新加坡的公司。这些实体被认定为参与了支持或直接促进先进计算集成电路(ICs)的发展,从而推动中国发展先进武器系统、大规模杀伤性武器以及高科技监控应用,并且存在向被列入实体的华为公司转移的风险。涉及的中国企业包括成都算峰科技有限公司、福建索菲昂科技有限公司、福建算信科技有限公司等。对于这些新增实体,BIS实施对所有受EAR管辖物品的许可证要求,并采取“推定拒绝”的许可证审查政策。此外,该规则自2025年1月16日起生效。",
"cnEntityCount": 14,
"techDomainList": ["人工智能", "集成电路"],
"orgId": "241",
"orgName": "商务部工业与安全局",
"orgLogoUrl": "http://8.140.26.4:10010/kjb-files/images/org/round/BIS美国商务部工业与安全局.png"
},
{
"id": 118,
"sanTypeId": 1,
"postDate": "2025-01-16",
"name": "美国将11家中国实体列入《实体清单》并修订印度相关条目",
"summary": "美国工业与安全局(BIS)通过最终规则,将11个中国实体列入《实体清单》,这些实体包括北京智谱华章科技有限公司、北京灵芯智能科技有限公司等。这些实体因参与先进人工智能研究的开发与集成,推动了中国的军事现代化,违反了美国国家安全和外交政策利益。所有受EAR管辖的商品均需许可,许可审查政策为“推定拒绝”。此外,BIS还修改了《实体清单》中关于印度的一个现有条目,移除了三个实体(印度稀土公司、英迪拉·甘地原子能研究中心和巴哈夫原子能研究中心),以支持美印两国在能源合作及关键矿产和清洁能源供应链方面的合作。",
"cnEntityCount": 11,
"techDomainList": ["人工智能", "先进制造", "集成电路"],
"orgId": "241",
"orgName": "商务部工业与安全局",
"orgLogoUrl": "http://8.140.26.4:10010/kjb-files/images/org/round/BIS美国商务部工业与安全局.png"
},
{
"id": 107,
"sanTypeId": 1,
"postDate": "2025-01-06",
"name": "实体清单修订",
"summary": "在本规则中,工业与安全局(BIS)通过将13个实体下的13个条目添加到实体清单中,对《出口管理条例》(EAR)进行了修订。这些条目在实体清单中分别位于缅甸(1个)、中华人民共和国(中国)(11个)和巴基斯坦(1个)目的地项下。美国政府已认定这些实体的行为违背美国国家安全和/或外交政策利益。本规则还通过进行某些编辑性更正和澄清来修订EAR。BIS进行这些更正和澄清是为了尽量减少混淆,不妨碍商业的自由流动。",
"cnEntityCount": 11,
"techDomainList": ["新材料", "集成电路", "先进制造", "航空航天", "新一代通信网络", "量子科技", "人工智能"],
"orgId": "241",
"orgName": "商务部工业与安全局",
"orgLogoUrl": "http://8.140.26.4:10010/kjb-files/images/org/round/BIS美国商务部工业与安全局.png"
},
{
"id": 14,
"sanTypeId": 1,
"postDate": "2024-12-11",
"name": "实体清单增补项",
"summary": "根据本规定,工业与安全局(BIS)通过将8个实体添加到实体清单中,对《出口管理条例》(EAR)进行了修订,这些实体分别位于缅甸(2个)、中华人民共和国(中国)(2个)和俄罗斯(4个)。美国政府已判定这些实体的行为违背了美国的国家安全或外交政策利益。",
"cnEntityCount": 2,
"techDomainList": ["人工智能", "先进制造", "航空航天", "新一代通信网络"],
"orgId": "241",
"orgName": "商务部工业与安全局",
"orgLogoUrl": "http://8.140.26.4:10010/kjb-files/images/org/round/BIS美国商务部工业与安全局.png"
},
{
"id": 4,
"sanTypeId": 1,
"postDate": "2024-12-05",
"name": "实体清单的增补与修订;经验证最终用户(VEU)计划的移除",
"summary": "在最终规则中,工业与安全局(BIS)通过将140个实体加入实体清单,对《出口管理条例》(EAR)进行了修订。这些实体被列入中国(中华人民共和国)、日本、韩国和新加坡目的地的实体清单中,并被美国政府认定为行为违背美国国家安全和外交政策利益。本最终规则还修改了实体清单上的14个现有条目,包括对中国项下14个条目的修订。此最终规则与BIS的临时最终规则《外国生产直接产品规则增补及对先进计算和半导体制造物项管控的完善》(0694-AJ74)同时发布,后者对先进计算物项和半导体制造物项的EAR管控进行了额外修改。本最终规则是确保对这些物项实施适当EAR管控的更广泛努力的一部分,包括涉及被加入实体清单的实体的交易,以及正在修改的实体清单现有条目。所有这些实体(新增及修改的)均涉及“先进节点集成电路”(“先进节点IC”)和/或半导体制造物项的开发与生产,和/或支持了中国政府的军民融合发展战略。此外,本最终规则将新增的9个实体及修改的7个条目指定为适用涉及外国生产物项的实体特定限制的实体。本最终规则还通过从已验证最终用户(VEU)计划中移除三个实体,对EAR进行了修订。",
"cnEntityCount": 125,
"techDomainList": ["先进制造", "集成电路", "新材料"],
"orgId": "241",
"orgName": "商务部工业与安全局",
"orgLogoUrl": "http://8.140.26.4:10010/kjb-files/images/org/round/BIS美国商务部工业与安全局.png"
},
{
"id": 49,
"sanTypeId": 1,
"postDate": "2024-11-01",
"name": "实体清单中实体的增补与修订",
"summary": "在本规则中,工业与安全局(Bureau of Industry and Security,简称BIS)通过向实体清单添加42个条目下的40个实体和4个条目下的4个地址,修订了《出口管理条例》(Export Administration Regulations,简称EAR)。这些条目被列入实体清单,目的地包括中华人民共和国(中国)(11个)、印度(5个)、马来西亚(2个)、俄罗斯(13个)、新加坡(1个)和土耳其(14个)。两个实体被添加到两个目的地下的实体清单中,这解释了总数上的差异。本最终规则还修改了实体清单上52个现有条目,这些条目位于中国、爱沙尼亚、芬兰、印度、土耳其、阿拉伯联合酋长国(UAE)和英国。美国政府已确定这些实体的行为违背了美国的国家安全或外交政策利益。本最终规则与BIS的另一项最终规则《根据〈出口管理条例〉实施针对俄罗斯和白俄罗斯的额外出口管制;及澄清》(RIN 0694-AJ93)同时发布,该规则包含了与俄罗斯和白俄罗斯相关的出口管制的额外变更。",
"cnEntityCount": 5,
"techDomainList": ["先进制造", "航空航天", "海洋", "生物科技", "集成电路", "新材料"],
"orgId": "241",
"orgName": "商务部工业与安全局",
"orgLogoUrl": "http://8.140.26.4:10010/kjb-files/images/org/round/BIS美国商务部工业与安全局.png"
}
],
"pageable": {
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"pageNumber": 0,
"pageSize": 10,
"offset": 0,
"unpaged": false,
"paged": true
},
"last": false,
"totalPages": 15,
"totalElements": 141,
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"numberOfElements": 10,
"first": true,
"size": 10,
"number": 0,
"empty": false
}
...@@ -1045,7 +1045,7 @@ const handleToEntityList = item => { ...@@ -1045,7 +1045,7 @@ const handleToEntityList = item => {
entitiesDataInfoList.value[currentCarouselIndex.value].postDate + " 《实体清单新增条目》" entitiesDataInfoList.value[currentCarouselIndex.value].postDate + " 《实体清单新增条目》"
); );
const routeData = router.resolve({ const routeData = router.resolve({
path: "/exportControl/singleSanction", path: "/finance/singleSanction",
query: { query: {
id, id,
sanTypeId sanTypeId
...@@ -1057,19 +1057,18 @@ const handleToEntityList = item => { ...@@ -1057,19 +1057,18 @@ const handleToEntityList = item => {
// 跳转到V2.0实体清单无ID // 跳转到V2.0实体清单无ID
const handleToEntityListNoId = item => { const handleToEntityListNoId = item => {
console.log("这是什么数据 =>", item); if (item.id == allSanTypeIds.value[0]) {
if (item.nameZh == "实体清单") {
const routeData = router.resolve({ const routeData = router.resolve({
path: "/exportControl/entityList", path: "/finance/sdnlistoverview",
query: { query: {
sanTypeId: item.id sanTypeId: item.id
} }
}); });
// 打开一个新页面 // 打开一个新页面
window.open(routeData.href, "_blank"); window.open(routeData.href, "_blank");
} else if (item.nameZh == "商业管制清单") { } else if (item.id == allSanTypeIds.value[1]) {
const routeData = router.resolve({ const routeData = router.resolve({
path: "/exportControl/commercialControlList", path: "/finance/cmccontrolList",
query: { query: {
sanTypeId: item.id sanTypeId: item.id
} }
...@@ -1378,7 +1377,7 @@ watch( ...@@ -1378,7 +1377,7 @@ watch(
const fetchEntitiesList = async (page = 1, size = 10) => { const fetchEntitiesList = async (page = 1, size = 10) => {
try { try {
console.log("activeResourceTabItem.value.id", activeResourceTabItem.value.id); console.log("activeResourceTabItem.value.id", activeResourceTabItem.value.id);
const res = await getEntitiesList(activeResourceTabItem.value.id.join(","), page, size); const res = await getEntitiesList(activeResourceTabItem.value.id, page, size);
if (res) { if (res) {
entitiesList.value = res.content.map(item => ({ entitiesList.value = res.content.map(item => ({
...item, ...item,
...@@ -1781,6 +1780,7 @@ onMounted(async () => { ...@@ -1781,6 +1780,7 @@ onMounted(async () => {
// 获取出口管制制裁措施 // 获取出口管制制裁措施
await fetchSanctionList(); await fetchSanctionList();
} catch (err) { } catch (err) {
console.log("此处报错?");
console.log(err); console.log(err);
} }
handleGetHylyList(); handleGetHylyList();
......
...@@ -104,19 +104,8 @@ ...@@ -104,19 +104,8 @@
</div> </div>
</div> </div>
</template> </template>
<!-- <div class="echarts" ref="sanctionCountChartRef"></div> -->
<EChart :option="sanctionCountChartOption" autoresize :style="{ height: '300px', padding: '0 20px' }" /> <EChart :option="sanctionCountChartOption" autoresize :style="{ height: '300px', padding: '0 20px' }" />
<!-- <div class="bottom">
<div class="ai">
<div class="left">
<img :src="ai" alt="" class="icon1" />
<div class="text">美国对中国的制裁近年来呈现显著增长趋势。</div>
</div>
<div class="right">
<img :src="right" alt="" class="icon2" />
</div>
</div>
</div> -->
<div class="data-origin-box"> <div class="data-origin-box">
<div class="data-origin-icon"> <div class="data-origin-icon">
<img :src="tipsIcon" alt="" /> <img :src="tipsIcon" alt="" />
...@@ -129,7 +118,7 @@ ...@@ -129,7 +118,7 @@
</div> </div>
</AnalysisBox> </AnalysisBox>
</div> </div>
<div class="main-item"> <!-- <div class="main-item">
<AnalysisBox title="制裁实体各省分布情况"> <AnalysisBox title="制裁实体各省分布情况">
<template #header-btn> <template #header-btn>
<el-select v-model="regionTime" class="time-select" placeholder="请选择" @change="getRegionCountData"> <el-select v-model="regionTime" class="time-select" placeholder="请选择" @change="getRegionCountData">
...@@ -155,17 +144,6 @@ ...@@ -155,17 +144,6 @@
</div> </div>
</div> </div>
</div> </div>
<!-- <div class="bottom">
<div class="ai">
<div class="left">
<img :src="ai" alt="" class="icon1" />
<div class="text">我国被制裁实体多分布于沿海经济活跃省份。</div>
</div>
<div class="right">
<img :src="right" alt="" class="icon2" />
</div>
</div>
</div> -->
<div class="data-origin-box"> <div class="data-origin-box">
<div class="data-origin-icon"> <div class="data-origin-icon">
<img :src="tipsIcon" alt="" /> <img :src="tipsIcon" alt="" />
...@@ -177,7 +155,7 @@ ...@@ -177,7 +155,7 @@
<AiPane :aiContent="rankChart.interpretation" /> <AiPane :aiContent="rankChart.interpretation" />
</div> </div>
</AnalysisBox> </AnalysisBox>
</div> </div> -->
<div class="main-item"> <div class="main-item">
<AnalysisBox title="制裁实体领域分布情况"> <AnalysisBox title="制裁实体领域分布情况">
<template #header-btn> <template #header-btn>
...@@ -185,19 +163,47 @@ ...@@ -185,19 +163,47 @@
<el-option v-for="item in timeOptions" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in timeOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-select> </el-select>
</template> </template>
<!-- <div class="echarts" ref="domainChartRef"></div> -->
<EChart :option="domainChartOption" autoresize :style="{ height: '300px', padding: '0 20px' }" /> <EChart :option="domainChartOption" autoresize :style="{ height: '300px', padding: '0 20px' }" />
<!-- <div class="bottom">
<div class="ai"> <div class="data-origin-box">
<div class="left"> <div class="data-origin-icon">
<img :src="ai" alt="" class="icon1" /> <img :src="tipsIcon" alt="" />
<div class="text">美国对中国的制裁集中在半导体、人工智能等领域。</div> </div>
<div class="data-origin-text">进入实体清单的中国实体领域分布情况,数据来源:美国商务部官网</div>
</div>
<div class="ai-pane">
<AiButton />
<AiPane :aiContent="domainChart.interpretation" />
</div>
</AnalysisBox>
</div>
<div class="main-item">
<AnalysisBox title="制裁实体领域数量变化情况">
<!-- <template #header-btn>
<el-select v-model="domainTime" class="time-select" placeholder="请选择" @change="getDomainCountData">
<el-option v-for="item in timeOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</template> -->
<template #header-btn>
<div class="toggle-btns">
<div
class="t-btn"
:class="{ active: activeDomainTab === 'year' }"
@click="handleDomainTabChange('year')"
>
按年度
</div> </div>
<div class="right"> <div
<img :src="right" alt="" class="icon2" /> class="t-btn"
:class="{ active: activeDomainTab === 'sanction' }"
@click="handleDomainTabChange('sanction')"
>
按制裁
</div> </div>
</div> </div>
</div> --> </template>
<EChart :option="domainNumChartOption" autoresize :style="{ height: '300px', padding: '0 20px' }" />
<div class="data-origin-box"> <div class="data-origin-box">
<div class="data-origin-icon"> <div class="data-origin-icon">
<img :src="tipsIcon" alt="" /> <img :src="tipsIcon" alt="" />
...@@ -206,7 +212,7 @@ ...@@ -206,7 +212,7 @@
</div> </div>
<div class="ai-pane"> <div class="ai-pane">
<AiButton /> <AiButton />
<AiPane :aiContent="domainChart.interpretation" /> <AiPane :aiContent="domainNumChart.interpretation" />
</div> </div>
</AnalysisBox> </AnalysisBox>
</div> </div>
...@@ -259,6 +265,8 @@ import { ...@@ -259,6 +265,8 @@ import {
getTechDomainCount, getTechDomainCount,
getEntityTypeCount getEntityTypeCount
} from "@/api/exportControlV2.0"; } from "@/api/exportControlV2.0";
import { getDomainNum } from "@/api/finance";
import getMultiLineChart from "@/views/ZMOverView/components/fourSuppress/components/addDomain/multiLineChart";
import EChart from "@/components/Chart/index.vue"; import EChart from "@/components/Chart/index.vue";
import { useRoute } from "vue-router"; import { useRoute } from "vue-router";
import tipsIcon from "../../../assets/icons/info-icon.png"; import tipsIcon from "../../../assets/icons/info-icon.png";
...@@ -267,6 +275,7 @@ import AiPane from "@/components/base/Ai/AiPane/index.vue"; ...@@ -267,6 +275,7 @@ import AiPane from "@/components/base/Ai/AiPane/index.vue";
import { useChartInterpretation } from "@/views/exportControl/utils/common"; import { useChartInterpretation } from "@/views/exportControl/utils/common";
const sanctionCountChart = useChartInterpretation(); const sanctionCountChart = useChartInterpretation();
const domainChart = useChartInterpretation(); const domainChart = useChartInterpretation();
const domainNumChart = useChartInterpretation();
const typeChart = useChartInterpretation(); const typeChart = useChartInterpretation();
const rankChart = useChartInterpretation(); const rankChart = useChartInterpretation();
...@@ -285,14 +294,15 @@ const getTypeCountData = async () => { ...@@ -285,14 +294,15 @@ const getTypeCountData = async () => {
try { try {
const res = await getEntityTypeCount(param); const res = await getEntityTypeCount(param);
console.log("制裁实体类型分布情况", res.data);
if (res && res.code === 200) { if (res && res.code === 200) {
const data = res.data || []; const data = res.data || [];
typeData.value = data.map(item => ({ typeData.value = data.map(item => ({
name: item.name, name: item.name,
value: item.count || item.value value: item.count || item.value
})); }));
typeChart.interpret({ type: "饼图", name: "制裁实体类型分布情况", data: data });
updateTypeChart(); updateTypeChart();
typeChart.interpret({ type: "饼图", name: "制裁实体类型分布情况", data: data });
} }
} catch (error) { } catch (error) {
console.error("获取实体清单-数据统计-制裁实体类型分布情况失败:", error); console.error("获取实体清单-数据统计-制裁实体类型分布情况失败:", error);
...@@ -365,6 +375,35 @@ const getRegionCountData = async () => { ...@@ -365,6 +375,35 @@ const getRegionCountData = async () => {
} }
}; };
// 实体清单-数据统计- 制裁实体领域数量变化趋势
const domainNumChartOption = ref({});
const activeDomainTab = ref("year");
const handleDomainTabChange = tab => {
activeDomainTab.value = tab;
getDomainNumData();
};
const getDomainNumData = async () => {
// 参数
const param = {
IDsanTypeId: activeDomainTab.value === "year" ? "year" : "record",
type: sanTypeId.value
};
try {
const res = await getDomainNum(param);
if (res && res.code === 200) {
domainNumChartOption.value = getMultiLineChart({
data: res.data || [],
xAxis: res.xAxis || [],
yAxis: res.yAxis || [],
title: "制裁实体领域数量变化趋势",
xAxisName: "时间",
yAxisName: "数量"
});
}
} catch (error) {
console.error("获取实体清单-数据统计-制裁实体领域数量变化趋势失败:", error);
}
};
// 实体清单-数据统计-制裁实体数量变化情况 // 实体清单-数据统计-制裁实体数量变化情况
const sanctionCountChange = ref([]); const sanctionCountChange = ref([]);
// 获取实体清单-数据统计-制裁实体数量变化情况 // 获取实体清单-数据统计-制裁实体数量变化情况
...@@ -967,12 +1006,6 @@ const typeChartOption = ref({ ...@@ -967,12 +1006,6 @@ const typeChartOption = ref({
] ]
}); });
const updateTypeChart = () => { const updateTypeChart = () => {
// if (!typeChartRef.value) return;
// let chart = echarts.getInstanceByDom(typeChartRef.value);
// if (!chart) {
// chart = echarts.init(typeChartRef.value);
// }
let data = typeData.value.length let data = typeData.value.length
? [...typeData.value] ? [...typeData.value]
: [ : [
...@@ -989,20 +1022,20 @@ const updateTypeChart = () => { ...@@ -989,20 +1022,20 @@ const updateTypeChart = () => {
totalValue = data.reduce((sum, item) => sum + (item.value || 0), 0); totalValue = data.reduce((sum, item) => sum + (item.value || 0), 0);
} }
if (data.length > TOP_N) { // if (data.length > TOP_N) {
const topData = data.slice(0, TOP_N); const topData = data.slice(0, TOP_N);
const otherData = data.slice(TOP_N); const otherData = data.slice(TOP_N);
const otherValue = otherData.reduce((sum, item) => sum + (item.value || 0), 0); const otherValue = otherData.reduce((sum, item) => sum + (item.value || 0), 0);
// if (otherValue > 0) { // if (otherValue > 0) {
// topData.push({ // topData.push({
// name: "其他", // name: "其他",
// value: otherValue, // value: otherValue,
// extra: otherData // extra: otherData
// }); // });
// } // }
typeChartOption.value.series[0].data = topData; typeChartOption.value.series[0].data = topData;
} // }
// const option = { // const option = {
// tooltip: { // tooltip: {
...@@ -1117,15 +1150,12 @@ onMounted(() => { ...@@ -1117,15 +1150,12 @@ onMounted(() => {
getDomainCountData(); getDomainCountData();
// 获取实体清单-数据统计-制裁实体类型分布情况 // 获取实体清单-数据统计-制裁实体类型分布情况
getTypeCountData(); getTypeCountData();
// 获取实体清单-数据统计-制裁实体领域数量变化趋势
getDomainNumData();
}); });
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
* {
margin: 0;
padding: 0;
}
.data-statistics { .data-statistics {
width: 1601px; width: 1601px;
margin: 0 auto; margin: 0 auto;
......
...@@ -565,7 +565,7 @@ onMounted(async () => { ...@@ -565,7 +565,7 @@ onMounted(async () => {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: 16px; gap: 16px;
display: none;
.tab-item { .tab-item {
cursor: pointer; cursor: pointer;
padding: 4px 20px; padding: 4px 20px;
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
</div> </div>
</div> </div>
<industrial-impact v-if="activeIndex === 0"></industrial-impact> <industrial-impact v-if="activeIndex === 0"></industrial-impact>
<research-impact v-if="activeIndex === 1"></research-impact> <!-- <research-impact v-if="activeIndex === 1"></research-impact> -->
</div> </div>
</template> </template>
...@@ -23,7 +23,8 @@ import { ref } from "vue"; ...@@ -23,7 +23,8 @@ import { ref } from "vue";
import industrialImpact from "./components/industrialImpact/index.vue"; import industrialImpact from "./components/industrialImpact/index.vue";
import researchImpact from "./components/researchImpact/index.vue"; import researchImpact from "./components/researchImpact/index.vue";
const activeTab = ref(["对华产业影响", "对华科研影响"]); // const activeTab = ref(["对华产业影响", "对华科研影响"]);
const activeTab = ref(["对华产业影响"]);
const activeIndex = ref(0); const activeIndex = ref(0);
</script> </script>
...@@ -44,6 +45,7 @@ const activeIndex = ref(0); ...@@ -44,6 +45,7 @@ const activeIndex = ref(0);
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: 16px; gap: 16px;
display: none;
.tab-item { .tab-item {
cursor: pointer; cursor: pointer;
padding: 4px 20px; padding: 4px 20px;
......
...@@ -16,18 +16,18 @@ ...@@ -16,18 +16,18 @@
<div class="label">发布时间:</div> <div class="label">发布时间:</div>
<div class="value">{{ formattedData.postDate }}</div> <div class="value">{{ formattedData.postDate }}</div>
</div> </div>
<div class="info-row"> <!-- <div class="info-row">
<div class="label">生效时间:</div> <div class="label">生效时间:</div>
<div class="value">{{ formattedData.effectiveDate }}</div> <div class="value">{{ formattedData.effectiveDate }}</div>
</div> </div> -->
<div class="info-row"> <div class="info-row">
<div class="label">发布文件:</div> <div class="label">发布文件:</div>
<div class="value">{{ formattedData.fileCode }}</div> <div class="value">{{ formattedData.fileCode }}</div>
</div> </div>
<div class="info-row"> <!-- <div class="info-row">
<div class="label">案卷号:</div> <div class="label">案卷号:</div>
<div class="value">{{ formattedData.administrativeOrderId }}</div> <div class="value">{{ formattedData.administrativeOrderId }}</div>
</div> </div> -->
<div class="info-row"> <div class="info-row">
<div class="label">发布人:</div> <div class="label">发布人:</div>
<div class="value link"> <div class="value link">
...@@ -42,6 +42,15 @@ ...@@ -42,6 +42,15 @@
</div> </div>
</div> </div>
</div> </div>
<div class="left-top-content">
<div class="content-title">新闻链接:</div>
<div class="distribution-list">
<div class="list-item news-item" v-for="item in newsList" :key="item.newsId">
<div class="item-title">{{ item.newsTitle }}</div>
<img :src="openIcon" class="flag" />
</div>
</div>
</div>
<div class="left-top-content"> <div class="left-top-content">
<div class="content-title">制裁实体分布:</div> <div class="content-title">制裁实体分布:</div>
<div class="distribution-list"> <div class="distribution-list">
...@@ -158,7 +167,7 @@ ...@@ -158,7 +167,7 @@
<el-table-column label="实体名称" min-width="280"> <el-table-column label="实体名称" min-width="280">
<template #default="scope"> <template #default="scope">
<div class="name-cell"> <div class="name-cell">
<div class="dot"></div> <!-- <div class="dot"></div> -->
<img :src="defaultTitle" class="company-icon" /> <img :src="defaultTitle" class="company-icon" />
<span class="company-name" @click="handleCompClick(scope.row)">{{ <span class="company-name" @click="handleCompClick(scope.row)">{{
scope.row.name scope.row.name
...@@ -187,7 +196,22 @@ ...@@ -187,7 +196,22 @@
</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" />
<el-table-column prop="date" label="制裁时间" width="150" align="center" /> <el-table-column prop="date" label="制裁时间" width="150" align="center" />
<el-table-column prop="revenue" label="营收(亿元)" width="110" align="center" /> <el-table-column prop="entityTypeId" label="类型" width="120" align="center">
<template #default="scope">
<div style="display: flex; gap: 4px; justify-content: center">
<AreaTag
:tagName="
scope.row.entityType === 1
? '个人'
: scope.row.entityType === 2
? '实体'
: '公司'
"
/>
</div>
</template>
</el-table-column>
<!-- <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 <span
...@@ -209,6 +233,8 @@ ...@@ -209,6 +233,8 @@
</div> </div>
</div> </div>
</AnalysisBox> </AnalysisBox>
<div :style="{ height: '20px' }"></div>
<AnalysisBox title="制裁原因及相关历史制裁" :showAllBtn="false"></AnalysisBox>
</div> </div>
</div> </div>
<!-- 50%规则子企业弹框 --> <!-- 50%规则子企业弹框 -->
...@@ -231,11 +257,13 @@ import { debounce } from "lodash"; ...@@ -231,11 +257,13 @@ import { debounce } from "lodash";
import title from "../../assets/title.png"; import title from "../../assets/title.png";
import defaultTitle from "../../assets/default-icon1.png"; import defaultTitle from "../../assets/default-icon1.png";
import flag from "../../assets/default-icon2.png"; import flag from "../../assets/default-icon2.png";
import openIcon from "../../../assets/icons/icon-open.png";
import { import {
getSingleSanctionEntityCountry, getSingleSanctionEntityCountry,
getSingleSanctionBackground, getSingleSanctionBackground,
getSingleSanctionOverviewList getSingleSanctionOverviewList
} from "@/api/exportControlV2.0"; } from "@/api/exportControlV2.0";
import { getRelateNews } from "@/api/finance";
import RuleSubsidiaryDialog from "../../../v2.0EntityList/components/sanctionsOverview/components/listPage/RuleSubsidiaryDialog.vue"; import RuleSubsidiaryDialog from "../../../v2.0EntityList/components/sanctionsOverview/components/listPage/RuleSubsidiaryDialog.vue";
import { useRoute } from "vue-router"; import { useRoute } from "vue-router";
...@@ -420,6 +448,19 @@ const getEntityCountry = async () => { ...@@ -420,6 +448,19 @@ const getEntityCountry = async () => {
} }
}; };
const newsList = ref([]);
// 调用新闻链接接口
const getNewsList = async () => {
try {
const res = await getRelateNews(sanRecordId.value);
console.log("res --:", res);
newsList.value = res;
} catch (error) {
console.log(error);
}
};
const props = defineProps({ const props = defineProps({
data: { data: {
type: Object, type: Object,
...@@ -562,6 +603,8 @@ onMounted(() => { ...@@ -562,6 +603,8 @@ onMounted(() => {
getUrlParams(); getUrlParams();
// 单次制裁-制裁概况-制裁实体国家分布 // 单次制裁-制裁概况-制裁实体国家分布
getEntityCountry(); getEntityCountry();
// 新闻链接
getNewsList();
// 单次制裁-制裁概况-制裁背景 // 单次制裁-制裁概况-制裁背景
getSanctionBackground(); getSanctionBackground();
// 单次制裁-制裁概况-制裁清单 // 单次制裁-制裁概况-制裁清单
...@@ -751,6 +794,35 @@ onMounted(() => { ...@@ -751,6 +794,35 @@ onMounted(() => {
} }
} }
} }
.news-item {
display: flex;
justify-content: space-between;
align-items: center;
border-radius: 20px;
width: 460px;
background-color: rgb(246, 250, 255);
padding: 5px 15px;
font-size: 14px;
height: 36px;
cursor: pointer;
.item-title {
font-size: 14px;
font-weight: 400;
color: rgba(5, 95, 194, 1);
font-family: Source Han Sans CN;
line-height: 24px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
max-width: 90%;
}
.flag {
width: 16px;
height: 16px;
margin-right: 0px;
}
}
} }
} }
} }
...@@ -1015,10 +1087,10 @@ onMounted(() => { ...@@ -1015,10 +1087,10 @@ onMounted(() => {
:deep(.el-table__header-wrapper) { :deep(.el-table__header-wrapper) {
th { th {
background-color: var(--color-primary-100) !important; // background-color: var(--color-primary-100) !important;
height: 48px; height: 48px;
padding: 0; padding: 0;
color: #fff; color: rgb(34, 41, 52);
font-weight: 700; font-weight: 700;
font-size: 16px; font-size: 16px;
font-family: "Microsoft YaHei"; font-family: "Microsoft YaHei";
...@@ -1079,7 +1151,7 @@ onMounted(() => { ...@@ -1079,7 +1151,7 @@ onMounted(() => {
font-size: 16px; font-size: 16px;
font-weight: 700; font-weight: 700;
line-height: 24px; line-height: 24px;
font-family: "Microsoft YaHei"; font-family: "Source Han Sans CN";
color: rgba(59, 65, 75, 1); color: rgba(59, 65, 75, 1);
cursor: pointer; cursor: pointer;
} }
......
...@@ -273,15 +273,12 @@ onMounted(() => { ...@@ -273,15 +273,12 @@ onMounted(() => {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
* {
margin: 0;
padding: 0;
}
.entity-list { .entity-list {
width: 100%; width: 100%;
height: 100%; height: 100%;
overflow-y: auto; overflow-y: auto;
padding-bottom: 50px; padding-bottom: 10px;
background: #f7f8f9;
.header { .header {
width: 100%; width: 100%;
height: 148px; height: 148px;
......
{
"content": [
{
"id": 138,
"sanTypeId": 1,
"postDate": "2025-10-08",
"name": "实体清单的增补与修订",
"summary": "在该规则中,工业和安全局(BIS)修订了《出口管理条例》(EAR),在中华人民共和国(中国)(19)、土耳其(9)和阿拉伯联合酋长国(阿联酋)(1)的目的地下的实体清单中增加了29个条目(26个实体和3个地址)。美国政府认定这些实体的行为违背了美国的国家安全或外交政策利益。",
"cnEntityCount": 15,
"techDomainList": ["新能源", "先进制造", "航空航天", "人工智能", "新一代通信网络"],
"orgId": "241",
"orgName": "商务部工业与安全局",
"orgLogoUrl": "http://8.140.26.4:10010/kjb-files/images/org/round/BIS美国商务部工业与安全局.png"
},
{
"id": 121,
"sanTypeId": 1,
"postDate": "2025-09-16",
"name": "美国工业与安全局新增32个实体至实体清单,多数为中国企业",
"summary": "美国工业与安全局(BIS)通过在《出口管理条例》(EAR)中新增32个实体至实体清单。这些实体分别位于中国(23个)、印度(1个)、伊朗(1个)、新加坡(1个)、台湾(1个)、土耳其(3个)和阿拉伯联合酋长国(UAE)(2个)。这些实体已被美国政府认定为违反美国国家安全或外交政策利益。其中,中国的23个实体包括中国科学院国家授时中心、北京复旦微电子科技有限公司、上海复旦微电子有限公司等。这些实体因收购或试图收购美国原产物品以支持中国军事及国防相关的太空领域活动、量子技术能力发展以及参与中国先进计算和集成电路制造与分销领域而被加入。此外,还包括一些向中国军队、政府和安全部门供应产品的公司。被列入实体清单的实体将面临更严格的许可证要求,并实行拒绝推定的许可证审查政策。此次更新还修正了部分现有条目中的拼写错误,涉及多个国家和地区,其中包括中国的11个实体。",
"cnEntityCount": 23,
"techDomainList": ["航空航天", "人工智能", "集成电路", "先进制造", "生物科技", "太空", "量子科技"],
"orgId": "241",
"orgName": "商务部工业与安全局",
"orgLogoUrl": "http://8.140.26.4:10010/kjb-files/images/org/round/BIS美国商务部工业与安全局.png"
},
{
"id": 85,
"sanTypeId": 1,
"postDate": "2025-03-28",
"name": "美国将12个中国和台湾实体列入出口管制清单",
"summary": "根据美国商务部工业与安全局(BIS)发布的最终规则,12个实体被列入实体清单,其中11个位于中国,1个位于台湾地区。这些实体包括北京人工智能研究院、北京创新智慧科技有限公司、河南鼎鑫信息产业有限公司、浪潮(北京)电子信息产业有限公司及其相关子公司等。这些实体被认定为参与或支持中国的军事现代化项目,特别是开发用于国防目的的大规模人工智能模型和先进计算芯片,以及参与超级计算机的开发。对于这些实体,BIS对所有受EAR管辖的物品实施许可证要求,并采取推定拒绝的许可审查政策。此外,这些实体还被赋予脚注4标识,意味着“受EAR管辖的物品”包括根据EAR第734.9(e)(2)条受EAR管辖的外国生产物品。此决定自2025年3月25日起生效。",
"cnEntityCount": 12,
"techDomainList": ["先进制造", "集成电路", "人工智能"],
"orgId": "241",
"orgName": "商务部工业与安全局",
"orgLogoUrl": "http://8.140.26.4:10010/kjb-files/images/org/round/BIS美国商务部工业与安全局.png"
},
{
"id": 110,
"sanTypeId": 1,
"postDate": "2025-03-28",
"name": "美国商务部工业和安全局更新实体清单,新增70个涉及多国的实体",
"summary": "美国商务部工业和安全局(BIS)根据《出口管理条例》(EAR)对实体清单进行了修订,将70个实体列入实体清单,其中包括多个中国实体。这些实体被认定为违反了美国国家安全或外交政策利益。涉及中国的实体包括航空计算技术研究院、航天星科技应用有限公司、空军工程大学、安徽科华科技贸易有限公司、重庆关联光电有限公司等。这些实体因参与支持中国军事现代化、量子技术发展以及向其他实体清单上的中国企业供货等活动而被列入。对于这些实体,所有受EAR管辖的物品均需申请许可证,并且许可证申请将按否决推定审查。此外,规则还对实体清单中的四个现有条目进行了修改,涉及法国、伊朗、塞内加尔和英国的实体。该规则自2025年3月28日起生效。",
"cnEntityCount": 40,
"techDomainList": ["新一代通信网络", "先进制造", "航空航天", "新材料", "量子科技", "集成电路", "太空", "核"],
"orgId": "241",
"orgName": "商务部工业与安全局",
"orgLogoUrl": "http://8.140.26.4:10010/kjb-files/images/org/round/BIS美国商务部工业与安全局.png"
},
{
"id": 64,
"sanTypeId": 1,
"postDate": "2025-01-16",
"name": "美国将16个实体列入出口管制清单,其中14家为中国企业",
"summary": "美国工业与安全局(BIS)通过修订《出口管理条例》(EAR),将16个实体列入实体清单,其中包括14家位于中国的公司和2家位于新加坡的公司。这些实体被认定为参与了支持或直接促进先进计算集成电路(ICs)的发展,从而推动中国发展先进武器系统、大规模杀伤性武器以及高科技监控应用,并且存在向被列入实体的华为公司转移的风险。涉及的中国企业包括成都算峰科技有限公司、福建索菲昂科技有限公司、福建算信科技有限公司等。对于这些新增实体,BIS实施对所有受EAR管辖物品的许可证要求,并采取“推定拒绝”的许可证审查政策。此外,该规则自2025年1月16日起生效。",
"cnEntityCount": 14,
"techDomainList": ["人工智能", "集成电路"],
"orgId": "241",
"orgName": "商务部工业与安全局",
"orgLogoUrl": "http://8.140.26.4:10010/kjb-files/images/org/round/BIS美国商务部工业与安全局.png"
},
{
"id": 118,
"sanTypeId": 1,
"postDate": "2025-01-16",
"name": "美国将11家中国实体列入《实体清单》并修订印度相关条目",
"summary": "美国工业与安全局(BIS)通过最终规则,将11个中国实体列入《实体清单》,这些实体包括北京智谱华章科技有限公司、北京灵芯智能科技有限公司等。这些实体因参与先进人工智能研究的开发与集成,推动了中国的军事现代化,违反了美国国家安全和外交政策利益。所有受EAR管辖的商品均需许可,许可审查政策为“推定拒绝”。此外,BIS还修改了《实体清单》中关于印度的一个现有条目,移除了三个实体(印度稀土公司、英迪拉·甘地原子能研究中心和巴哈夫原子能研究中心),以支持美印两国在能源合作及关键矿产和清洁能源供应链方面的合作。",
"cnEntityCount": 11,
"techDomainList": ["人工智能", "先进制造", "集成电路"],
"orgId": "241",
"orgName": "商务部工业与安全局",
"orgLogoUrl": "http://8.140.26.4:10010/kjb-files/images/org/round/BIS美国商务部工业与安全局.png"
},
{
"id": 107,
"sanTypeId": 1,
"postDate": "2025-01-06",
"name": "实体清单修订",
"summary": "在本规则中,工业与安全局(BIS)通过将13个实体下的13个条目添加到实体清单中,对《出口管理条例》(EAR)进行了修订。这些条目在实体清单中分别位于缅甸(1个)、中华人民共和国(中国)(11个)和巴基斯坦(1个)目的地项下。美国政府已认定这些实体的行为违背美国国家安全和/或外交政策利益。本规则还通过进行某些编辑性更正和澄清来修订EAR。BIS进行这些更正和澄清是为了尽量减少混淆,不妨碍商业的自由流动。",
"cnEntityCount": 11,
"techDomainList": ["新材料", "集成电路", "先进制造", "航空航天", "新一代通信网络", "量子科技", "人工智能"],
"orgId": "241",
"orgName": "商务部工业与安全局",
"orgLogoUrl": "http://8.140.26.4:10010/kjb-files/images/org/round/BIS美国商务部工业与安全局.png"
},
{
"id": 14,
"sanTypeId": 1,
"postDate": "2024-12-11",
"name": "实体清单增补项",
"summary": "根据本规定,工业与安全局(BIS)通过将8个实体添加到实体清单中,对《出口管理条例》(EAR)进行了修订,这些实体分别位于缅甸(2个)、中华人民共和国(中国)(2个)和俄罗斯(4个)。美国政府已判定这些实体的行为违背了美国的国家安全或外交政策利益。",
"cnEntityCount": 2,
"techDomainList": ["人工智能", "先进制造", "航空航天", "新一代通信网络"],
"orgId": "241",
"orgName": "商务部工业与安全局",
"orgLogoUrl": "http://8.140.26.4:10010/kjb-files/images/org/round/BIS美国商务部工业与安全局.png"
},
{
"id": 4,
"sanTypeId": 1,
"postDate": "2024-12-05",
"name": "实体清单的增补与修订;经验证最终用户(VEU)计划的移除",
"summary": "在最终规则中,工业与安全局(BIS)通过将140个实体加入实体清单,对《出口管理条例》(EAR)进行了修订。这些实体被列入中国(中华人民共和国)、日本、韩国和新加坡目的地的实体清单中,并被美国政府认定为行为违背美国国家安全和外交政策利益。本最终规则还修改了实体清单上的14个现有条目,包括对中国项下14个条目的修订。此最终规则与BIS的临时最终规则《外国生产直接产品规则增补及对先进计算和半导体制造物项管控的完善》(0694-AJ74)同时发布,后者对先进计算物项和半导体制造物项的EAR管控进行了额外修改。本最终规则是确保对这些物项实施适当EAR管控的更广泛努力的一部分,包括涉及被加入实体清单的实体的交易,以及正在修改的实体清单现有条目。所有这些实体(新增及修改的)均涉及“先进节点集成电路”(“先进节点IC”)和/或半导体制造物项的开发与生产,和/或支持了中国政府的军民融合发展战略。此外,本最终规则将新增的9个实体及修改的7个条目指定为适用涉及外国生产物项的实体特定限制的实体。本最终规则还通过从已验证最终用户(VEU)计划中移除三个实体,对EAR进行了修订。",
"cnEntityCount": 125,
"techDomainList": ["先进制造", "集成电路", "新材料"],
"orgId": "241",
"orgName": "商务部工业与安全局",
"orgLogoUrl": "http://8.140.26.4:10010/kjb-files/images/org/round/BIS美国商务部工业与安全局.png"
},
{
"id": 49,
"sanTypeId": 1,
"postDate": "2024-11-01",
"name": "实体清单中实体的增补与修订",
"summary": "在本规则中,工业与安全局(Bureau of Industry and Security,简称BIS)通过向实体清单添加42个条目下的40个实体和4个条目下的4个地址,修订了《出口管理条例》(Export Administration Regulations,简称EAR)。这些条目被列入实体清单,目的地包括中华人民共和国(中国)(11个)、印度(5个)、马来西亚(2个)、俄罗斯(13个)、新加坡(1个)和土耳其(14个)。两个实体被添加到两个目的地下的实体清单中,这解释了总数上的差异。本最终规则还修改了实体清单上52个现有条目,这些条目位于中国、爱沙尼亚、芬兰、印度、土耳其、阿拉伯联合酋长国(UAE)和英国。美国政府已确定这些实体的行为违背了美国的国家安全或外交政策利益。本最终规则与BIS的另一项最终规则《根据〈出口管理条例〉实施针对俄罗斯和白俄罗斯的额外出口管制;及澄清》(RIN 0694-AJ93)同时发布,该规则包含了与俄罗斯和白俄罗斯相关的出口管制的额外变更。",
"cnEntityCount": 5,
"techDomainList": ["先进制造", "航空航天", "海洋", "生物科技", "集成电路", "新材料"],
"orgId": "241",
"orgName": "商务部工业与安全局",
"orgLogoUrl": "http://8.140.26.4:10010/kjb-files/images/org/round/BIS美国商务部工业与安全局.png"
}
],
"pageable": {
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"pageNumber": 0,
"pageSize": 10,
"offset": 0,
"unpaged": false,
"paged": true
},
"last": false,
"totalPages": 15,
"totalElements": 141,
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"numberOfElements": 10,
"first": true,
"size": 10,
"number": 0,
"empty": false
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论