Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
R
risk-monitor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
蔡建
risk-monitor
Commits
3ac30423
提交
3ac30423
authored
4月 15, 2026
作者:
yanpeng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
export CCL
上级
d9782725
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
345 行增加
和
190 行删除
+345
-190
index.js
src/api/finance/index.js
+3
-3
index.vue
src/views/exportControl/index.vue
+87
-55
index.vue
...omponents/sanctionsOverview/components/listPage/index.vue
+11
-9
index.vue
...mercialControlList/components/sanctionsOverview/index.vue
+73
-68
index.vue
src/views/exportControl/v2.0CommercialControlList/index.vue
+2
-0
index.vue
src/views/finance/index.vue
+169
-55
没有找到文件。
src/api/finance/index.js
浏览文件 @
3ac30423
...
@@ -47,7 +47,7 @@ export function getLatestEntityListInfo() {
...
@@ -47,7 +47,7 @@ export function getLatestEntityListInfo() {
* 风险信号
* 风险信号
* url:/commonFeature/riskSignal/{moduleId}
* url:/commonFeature/riskSignal/{moduleId}
*/
*/
export
function
getRiskSignal
(
moduleId
=
"010
4
"
)
{
export
function
getRiskSignal
(
moduleId
=
"010
9
"
)
{
return
http
.
get
(
`/api/commonFeature/riskSignal/
${
moduleId
}
`
);
return
http
.
get
(
`/api/commonFeature/riskSignal/
${
moduleId
}
`
);
}
}
...
@@ -55,7 +55,7 @@ export function getRiskSignal(moduleId = "0104") {
...
@@ -55,7 +55,7 @@ export function getRiskSignal(moduleId = "0104") {
* 新闻资讯
* 新闻资讯
* url:/commonFeature/news/{moduleId}
* url:/commonFeature/news/{moduleId}
*/
*/
export
function
getNewsInfo
(
moduleId
=
"010
4
"
)
{
export
function
getNewsInfo
(
moduleId
=
"010
9
"
)
{
return
http
.
get
(
`/api/commonFeature/news/
${
moduleId
}
`
);
return
http
.
get
(
`/api/commonFeature/news/
${
moduleId
}
`
);
}
}
...
@@ -63,7 +63,7 @@ export function getNewsInfo(moduleId = "0104") {
...
@@ -63,7 +63,7 @@ export function getNewsInfo(moduleId = "0104") {
* 社交媒体信息
* 社交媒体信息
* url:/commonFeature/remarks/{moduleId}
* url:/commonFeature/remarks/{moduleId}
*/
*/
export
function
getSocialMediaInfo
(
moduleId
=
"010
4
"
)
{
export
function
getSocialMediaInfo
(
moduleId
=
"010
9
"
)
{
return
http
.
get
(
`/api/commonFeature/remarks/
${
moduleId
}
`
);
return
http
.
get
(
`/api/commonFeature/remarks/
${
moduleId
}
`
);
}
}
...
...
src/views/exportControl/index.vue
浏览文件 @
3ac30423
...
@@ -89,29 +89,49 @@
...
@@ -89,29 +89,49 @@
</div>
</div>
</div>
</div>
<div
class=
"box1-bottom"
>
<div
class=
"box1-bottom"
>
<div
class=
"box1-bottom-title"
>
· 涉及主要实体:
</div>
<div
class=
"box1-bottom-sanTypeId"
v-if=
"item.sanEntities?.length"
>
<div
class=
"box1-bottom-content"
>
<div
class=
"box1-bottom-title"
>
· 涉及主要实体:
</div>
<div
<div
class=
"box1-bottom-content"
>
class=
"box1-bottom-content-item"
<div
v-for=
"(ett, index) in item.sanEntities"
class=
"box1-bottom-content-item"
:key=
"index"
v-for=
"(ett, index) in item.sanEntities"
@
click=
"handleEntityClick(ett)"
:key=
"index"
>
@
click=
"handleEntityClick(ett)"
<el-image
>
v-if=
"ett.img"
<el-image
class=
"box1-bottom-content-item-img"
v-if=
"ett.img"
:src=
"ett.img"
class=
"box1-bottom-content-item-img"
alt=
""
:src=
"ett.img"
></el-image>
alt=
""
<div
v-else
class=
"box1-bottom-content-item-imgUndefined"
>
></el-image>
{{
<div
v-else
class=
"box1-bottom-content-item-imgUndefined"
>
(
ett
.
orgName
||
ett
.
orgNameZh
)?.
match
(
{{
/
[\u
4e00-
\u
9fa5a-zA-Z0-9
]
/
(
ett
.
orgName
||
ett
.
orgNameZh
)?.
match
(
)?.[
0
]
/
[\u
4e00-
\u
9fa5a-zA-Z0-9
]
/
}}
)?.[
0
]
}}
</div>
<div
class=
"box1-bottom-content-item-txt"
>
{{
ett
.
orgName
||
ett
.
orgNameZh
}}
</div>
</div>
</div>
<div
class=
"box1-bottom-content-item-txt"
>
</div>
{{
ett
.
orgName
||
ett
.
orgNameZh
}}
</div>
<div
class=
"box1-bottom-sanTypeId"
v-if=
"item.sanItems?.length > 0"
>
<div
class=
"box1-bottom-title"
>
· 涉及管制物项:
</div>
<div
class=
"box1-bottom-content__wx"
>
<div
class=
"box1-bottom-content__wx-item"
v-for=
"(ett, index) in item.sanItems"
:key=
"index"
@
click=
"handleWxClick(item)"
>
<div
class=
"box1-bottom-content__wx-item-id"
>
{{
ett
.
id
}}
</div>
<div
class=
"box1-bottom-content__wx-item-txt"
>
{{
ett
.
name
}}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -121,7 +141,9 @@
...
@@ -121,7 +141,9 @@
<el-icon>
<el-icon>
<Warning
color=
"rgba(206, 79, 81, 1)"
/>
<Warning
color=
"rgba(206, 79, 81, 1)"
/>
</el-icon>
</el-icon>
<span>
新增中国实体
</span>
<span>
{{
item
.
sanTypeId
==
allSanTypeIds
[
0
]
?
"新增中国实体"
:
"新增物项"
}}
</span>
</div>
</div>
<div
class=
"box1-absolute-num"
>
{{
item
.
cnEntityCount
}}
家
</div>
<div
class=
"box1-absolute-num"
>
{{
item
.
cnEntityCount
}}
家
</div>
</div>
</div>
...
@@ -949,7 +971,7 @@ onMounted(async () => {
...
@@ -949,7 +971,7 @@ onMounted(async () => {
getIndustryCountByYear
(
13
)
getIndustryCountByYear
(
13
)
]);
]);
// 交换第二个和第三个元素
// 交换第二个和第三个元素
[
dataCount
[
1
],
dataCount
[
2
]]
=
[
dataCount
[
2
],
dataCount
[
1
]];
//
[dataCount[1], dataCount[2]] = [dataCount[2], dataCount[1]];
infoList
.
value
=
dataCount
.
slice
(
0
,
2
).
map
((
item
,
idx
)
=>
{
infoList
.
value
=
dataCount
.
slice
(
0
,
2
).
map
((
item
,
idx
)
=>
{
return
{
return
{
...
item
,
...
item
,
...
@@ -965,9 +987,7 @@ onMounted(async () => {
...
@@ -965,9 +987,7 @@ onMounted(async () => {
}));
}));
resourceTabs
.
value
.
unshift
({
label
:
"全部制裁"
,
value
:
"all"
,
id
:
""
,
disabled
:
false
});
resourceTabs
.
value
.
unshift
({
label
:
"全部制裁"
,
value
:
"all"
,
id
:
""
,
disabled
:
false
});
console
.
log
(
"返回的数据结构 infoList =》"
,
resourceTabs
.
value
);
console
.
log
(
"返回的数据结构 infoList =》"
,
resourceTabs
.
value
);
const
entityList
=
_
.
map
(
entitiesDataInfo
?.
sanEntities
??
[],
({
entityNameZh
,
entityName
})
=>
{
return
{
name
:
entityNameZh
,
enName
:
entityName
};
});
entitiesDataInfoList
.
value
=
entitiesDataInfo
||
[];
entitiesDataInfoList
.
value
=
entitiesDataInfo
||
[];
const
list
=
_
.
chain
(
industryCountByYear
).
filter
(
"year"
).
orderBy
(
"year"
,
"desc"
).
value
().
slice
(
0
,
5
);
const
list
=
_
.
chain
(
industryCountByYear
).
filter
(
"year"
).
orderBy
(
"year"
,
"desc"
).
value
().
slice
(
0
,
5
);
const
cclList1
=
_
.
chain
(
cclList
).
filter
(
"year"
).
orderBy
(
"year"
,
"desc"
).
value
().
slice
(
0
,
5
);
const
cclList1
=
_
.
chain
(
cclList
).
filter
(
"year"
).
orderBy
(
"year"
,
"desc"
).
value
().
slice
(
0
,
5
);
...
@@ -1100,37 +1120,21 @@ const handleEntityClick = item => {
...
@@ -1100,37 +1120,21 @@ const handleEntityClick = item => {
console
.
log
(
"item"
,
item
);
console
.
log
(
"item"
,
item
);
window
.
sessionStorage
.
setItem
(
"curTabName"
,
item
.
name
||
item
.
entityNameZh
);
window
.
sessionStorage
.
setItem
(
"curTabName"
,
item
.
name
||
item
.
entityNameZh
);
gotoCompanyPages
(
item
.
id
);
gotoCompanyPages
(
item
.
id
);
// const route = router.resolve({
};
// name: "companyPages",
// params: {
const
handleWxClick
=
item
=>
{
// // startTime: item.startTime,
const
routeData
=
router
.
resolve
({
// id: item.entityId
path
:
"/exportControl/commercialControlList"
,
// }
query
:
{
// });
sanTypeId
:
item
.
sanTypeId
,
// window.open(route.href, "_blank");
key
:
item
.
id
}
});
// 打开一个新页面
window
.
open
(
routeData
.
href
,
"_blank"
);
};
};
const
carouselRef
=
ref
(
null
);
const
carouselRef
=
ref
(
null
);
// const handleToDetail = () => {
// let activeIndex = 0;
// if (carouselRef.value) {
// activeIndex = carouselRef.value.activeIndex;
// }
// console.log("当前 Carousel 激活索引:", activeIndex);
// // 使用当前激活项的数据
// const currentItem = entitiesDataInfoList.value[activeIndex];
// if (currentItem) {
// const route = router.resolve({
// path: "/exportControlAnalysis",
// query: {
// startTime: currentItem.postDate
// }
// });
// window.open(route.href, "_blank");
// }
// };
const
currentCarouselIndex
=
ref
(
0
);
const
currentCarouselIndex
=
ref
(
0
);
const
handleCarouselChange
=
index
=>
{
const
handleCarouselChange
=
index
=>
{
currentCarouselIndex
.
value
=
index
;
currentCarouselIndex
.
value
=
index
;
...
@@ -2050,6 +2054,34 @@ const handleMediaClick = item => {
...
@@ -2050,6 +2054,34 @@ const handleMediaClick = item => {
margin-bottom
:
15px
;
margin-bottom
:
15px
;
}
}
&
-content__wx
{
display
:
flex
;
flex-direction
:
column
;
gap
:
10px
;
justify-content
:
flex-start
;
padding-left
:
10px
;
height
:
156px
;
overflow
:
auto
;
&
-item
{
display
:
flex
;
align-items
:
center
;
justify-content
:
flex-start
;
gap
:
10px
;
cursor
:
pointer
;
&
-id
{
font-family
:
"Source Han Sans CN"
;
font-size
:
16px
;
font-weight
:
700
;
color
:
rgb
(
95
,
101
,
108
);
}
&
-txt
{
font-size
:
16px
;
font-weight
:
400
;
color
:
rgba
(
95
,
101
,
108
,
1
);
line-height
:
24px
;
}
}
}
&
-content
{
&
-content
{
display
:
flex
;
display
:
flex
;
gap
:
15px
;
gap
:
15px
;
...
...
src/views/exportControl/v2.0CommercialControlList/components/sanctionsOverview/components/listPage/index.vue
浏览文件 @
3ac30423
...
@@ -89,7 +89,7 @@
...
@@ -89,7 +89,7 @@
<
script
setup
>
<
script
setup
>
import
{
ref
,
computed
,
onMounted
,
watch
}
from
"vue"
;
import
{
ref
,
computed
,
onMounted
,
watch
}
from
"vue"
;
import
{
useRouter
}
from
"vue-router"
;
import
{
useRouter
,
useRoute
}
from
"vue-router"
;
import
{
Search
,
Select
}
from
"@element-plus/icons-vue"
;
import
{
Search
,
Select
}
from
"@element-plus/icons-vue"
;
import
defaultIcon
from
"../../../../../assets/icons/default-avatar.png"
;
import
defaultIcon
from
"../../../../../assets/icons/default-avatar.png"
;
import
{
import
{
...
@@ -104,6 +104,7 @@ import {
...
@@ -104,6 +104,7 @@ import {
import
dayjs
from
"dayjs"
;
import
dayjs
from
"dayjs"
;
const
router
=
useRouter
();
const
router
=
useRouter
();
const
route
=
useRoute
();
const
currentCCLType
=
ref
(
""
);
const
currentCCLType
=
ref
(
""
);
const
CCLTypeList
=
ref
([]);
const
CCLTypeList
=
ref
([]);
...
@@ -111,7 +112,7 @@ const getTypeList = async () => {
...
@@ -111,7 +112,7 @@ const getTypeList = async () => {
try
{
try
{
const
res
=
await
getECCNCategory
();
const
res
=
await
getECCNCategory
();
if
(
res
&&
res
.
code
===
200
)
{
if
(
res
&&
res
.
code
===
200
)
{
console
.
log
(
"-----getTypeList"
,
res
.
data
);
//
console.log("-----getTypeList", res.data);
CCLTypeList
.
value
=
[{
id
:
""
,
name
:
"全部类别"
}].
concat
(
res
.
data
);
CCLTypeList
.
value
=
[{
id
:
""
,
name
:
"全部类别"
}].
concat
(
res
.
data
);
currentCCLType
.
value
=
""
;
currentCCLType
.
value
=
""
;
}
}
...
@@ -125,7 +126,7 @@ const getTechFields = async () => {
...
@@ -125,7 +126,7 @@ const getTechFields = async () => {
try
{
try
{
const
res
=
await
getAreaType
();
const
res
=
await
getAreaType
();
if
(
res
&&
res
.
code
===
200
)
{
if
(
res
&&
res
.
code
===
200
)
{
console
.
log
(
"-----getTechFields"
,
res
.
data
);
//
console.log("-----getTechFields", res.data);
techFields
.
value
=
[{
id
:
"all"
,
name
:
"全部领域"
,
checked
:
true
}].
concat
(
res
.
data
);
techFields
.
value
=
[{
id
:
"all"
,
name
:
"全部领域"
,
checked
:
true
}].
concat
(
res
.
data
);
// 默认选中第一个
// 默认选中第一个
// techFields.value[0].checked = true;
// techFields.value[0].checked = true;
...
@@ -225,7 +226,6 @@ const getCclList = async () => {
...
@@ -225,7 +226,6 @@ const getCclList = async () => {
try
{
try
{
const
res
=
await
getCclQuery
(
params
);
const
res
=
await
getCclQuery
(
params
);
if
(
res
&&
res
.
code
===
200
)
{
if
(
res
&&
res
.
code
===
200
)
{
console
.
log
(
"----getCclList"
,
res
.
data
);
cclList
.
value
=
res
.
data
;
cclList
.
value
=
res
.
data
;
// ✅ 新增:处理 changeFlag 向上继承逻辑
// ✅ 新增:处理 changeFlag 向上继承逻辑
...
@@ -251,7 +251,7 @@ const getCclList = async () => {
...
@@ -251,7 +251,7 @@ const getCclList = async () => {
});
});
});
});
console
.
log
(
"----getCclList 11"
,
cclList
.
value
);
//
console.log("----getCclList 11", cclList.value);
loading
.
value
=
false
;
loading
.
value
=
false
;
}
}
}
catch
(
error
)
{
}
catch
(
error
)
{
...
@@ -262,14 +262,14 @@ const getCclList = async () => {
...
@@ -262,14 +262,14 @@ const getCclList = async () => {
// 商业管制清单-CCL清单列表-清单版本
// 商业管制清单-CCL清单列表-清单版本
const
cclVersionList
=
ref
([]);
const
cclVersionList
=
ref
([]);
const
key
=
ref
(
""
);
// 当前选中的清单版本
// 当前选中的清单版本
const
currentCCLVersion
=
ref
(
""
);
const
currentCCLVersion
=
ref
(
Number
(
key
.
value
)
||
""
);
// 获取清单版本列表
// 获取清单版本列表
const
getCCLVersionListApi
=
async
()
=>
{
const
getCCLVersionListApi
=
async
()
=>
{
try
{
try
{
const
res
=
await
getCCLVersionList
();
const
res
=
await
getCCLVersionList
();
if
(
res
&&
res
.
code
===
200
)
{
if
(
res
&&
res
.
code
===
200
)
{
console
.
log
(
"----getCCLVersionList"
,
res
.
data
);
cclVersionList
.
value
=
res
.
data
.
map
(
item
=>
{
cclVersionList
.
value
=
res
.
data
.
map
(
item
=>
{
return
{
return
{
key
:
item
.
key
,
key
:
item
.
key
,
...
@@ -277,7 +277,8 @@ const getCCLVersionListApi = async () => {
...
@@ -277,7 +277,8 @@ const getCCLVersionListApi = async () => {
// value: `清单版本-${item.value}`
// value: `清单版本-${item.value}`
};
};
});
});
currentCCLVersion
.
value
=
res
.
data
[
0
].
key
;
// currentCCLVersion.value = res.data[0].key;
currentCCLVersion
.
value
=
key
.
value
?
Number
(
key
.
value
)
:
res
.
data
[
0
].
key
;
}
}
}
catch
(
error
)
{
}
catch
(
error
)
{
console
.
error
(
"获取清单版本列表失败:"
,
error
);
console
.
error
(
"获取清单版本列表失败:"
,
error
);
...
@@ -341,7 +342,6 @@ watch(currentCCLVersion, newValue => {
...
@@ -341,7 +342,6 @@ watch(currentCCLVersion, newValue => {
// }, 300);
// }, 300);
// });
// });
watch
(
searchKeyword
,
newValue
=>
{
watch
(
searchKeyword
,
newValue
=>
{
console
.
log
(
"-----searchKey"
,
newValue
);
getCclList
();
getCclList
();
});
});
const
loading
=
ref
(
false
);
const
loading
=
ref
(
false
);
...
@@ -349,6 +349,8 @@ const loading = ref(false);
...
@@ -349,6 +349,8 @@ const loading = ref(false);
const
cclList
=
ref
([]);
const
cclList
=
ref
([]);
onMounted
(
async
()
=>
{
onMounted
(
async
()
=>
{
key
.
value
=
route
.
query
.
key
;
console
.
log
(
"url参数 =>"
,
route
.
query
);
// 获取类别字段
// 获取类别字段
await
getTypeList
();
await
getTypeList
();
// 获取科技领域字典
// 获取科技领域字典
...
...
src/views/exportControl/v2.0CommercialControlList/components/sanctionsOverview/index.vue
浏览文件 @
3ac30423
...
@@ -5,81 +5,86 @@
...
@@ -5,81 +5,86 @@
* @LastEditTime: 2026-01-07 09:58:04
* @LastEditTime: 2026-01-07 09:58:04
-->
-->
<
template
>
<
template
>
<div
class=
"sanctions-overview"
>
<div
class=
"sanctions-overview"
>
<div
class=
"side-nav"
>
<div
class=
"side-nav"
>
<div
v-for=
"(item, index) in activeTab"
:key=
"index"
class=
"tab-item"
:class=
"
{'active': index === activeIndex}" @click="activeIndex = index">
<div
{{
item
}}
v-for=
"(item, index) in activeTab"
<span
v-if=
"index === activeIndex"
class=
"arrow"
></span>
:key=
"index"
</div>
class=
"tab-item"
</div>
:class=
"
{ active: index === activeIndex }"
<div
class=
"content-box"
>
@click="activeIndex = index"
<introductionPage
v-if=
"activeIndex === 0"
></introductionPage>
>
<listPage
v-if=
"activeIndex === 1"
></listPage>
{{
item
}}
</div>
<span
v-if=
"index === activeIndex"
class=
"arrow"
></span>
</div>
</div>
</div>
<div
class=
"content-box"
>
<introductionPage
v-if=
"activeIndex === 0"
></introductionPage>
<listPage
v-if=
"activeIndex === 1"
></listPage>
</div>
</div>
</
template
>
</
template
>
<
script
setup
>
<
script
setup
>
import
{
ref
}
from
'vue'
import
{
onMounted
,
ref
}
from
"vue"
;
import
introductionPage
from
"./components/introductionPage/index.vue"
import
introductionPage
from
"./components/introductionPage/index.vue"
;
import
listPage
from
"./components/listPage/index.vue"
import
listPage
from
"./components/listPage/index.vue"
;
import
{
useRoute
}
from
"vue-router"
;
const
activeTab
=
ref
([
"CCL清单简介"
,
"CCL清单列表"
])
const
activeIndex
=
ref
(
0
)
const
route
=
useRoute
();
const
activeTab
=
ref
([
"CCL清单简介"
,
"CCL清单列表"
]);
const
activeIndex
=
ref
(
0
);
onMounted
(()
=>
{
activeIndex
.
value
=
route
.
query
.
key
?
1
:
0
;
});
</
script
>
</
script
>
<
style
scoped
lang=
"scss"
>
<
style
scoped
lang=
"scss"
>
*
{
.sanctions-overview
{
margin
:
0
;
width
:
1601px
;
padding
:
0
;
margin
:
0
auto
;
}
position
:
relative
;
.sanctions-overview
{
// min-height: 800px;
width
:
1601px
;
.side-nav
{
margin
:
0
auto
;
position
:
absolute
;
position
:
relative
;
top
:
27px
;
// min-height: 800px;
right
:
100%
;
.side-nav
{
margin-right
:
12px
;
position
:
absolute
;
display
:
flex
;
top
:
27px
;
flex-direction
:
column
;
right
:
100%
;
gap
:
16px
;
margin-right
:
12px
;
.tab-item
{
display
:
flex
;
cursor
:
pointer
;
flex-direction
:
column
;
padding
:
4px
20px
;
gap
:
16px
;
border-radius
:
22px
;
.tab-item
{
font-size
:
16px
;
cursor
:
pointer
;
font-weight
:
400
;
padding
:
4px
20px
;
font-family
:
"Microsoft YaHei"
;
border-radius
:
22px
;
line-height
:
24px
;
font-size
:
16px
;
color
:
rgb
(
95
,
101
,
108
);
font-weight
:
400
;
white-space
:
nowrap
;
font-family
:
"Microsoft YaHei"
;
display
:
flex
;
line-height
:
24px
;
align-items
:
center
;
color
:
rgb
(
95
,
101
,
108
);
white-space
:
nowrap
;
&
.active
{
display
:
flex
;
background-color
:
rgb
(
5
,
95
,
194
);
align-items
:
center
;
color
:
#fff
;
&
.active
{
.arrow
{
background-color
:
rgb
(
5
,
95
,
194
);
display
:
inline-block
;
color
:
#fff
;
width
:
0
;
height
:
0
;
.arrow
{
border-top
:
5px
solid
transparent
;
display
:
inline-block
;
border-bottom
:
5px
solid
transparent
;
width
:
0
;
border-left
:
6px
solid
#fff
;
height
:
0
;
margin-left
:
8px
;
border-top
:
5px
solid
transparent
;
}
border-bottom
:
5px
solid
transparent
;
}
border-left
:
6px
solid
#fff
;
}
margin-left
:
8px
;
}
}
.content-box
{
}
width
:
100%
;
}
}
}
.content-box
{
width
:
100%
;
}
}
}
</
style
>
</
style
>
src/views/exportControl/v2.0CommercialControlList/index.vue
浏览文件 @
3ac30423
...
@@ -57,9 +57,11 @@ import icon3Active from "../assets/icons/icon3_active.png";
...
@@ -57,9 +57,11 @@ import icon3Active from "../assets/icons/icon3_active.png";
const
route
=
useRoute
();
const
route
=
useRoute
();
const
sanTypeId
=
ref
(
""
);
const
sanTypeId
=
ref
(
""
);
const
key
=
ref
(
""
);
onMounted
(()
=>
{
onMounted
(()
=>
{
// 获取路由参数sanTypeId
// 获取路由参数sanTypeId
sanTypeId
.
value
=
route
.
query
.
sanTypeId
;
sanTypeId
.
value
=
route
.
query
.
sanTypeId
;
key
.
value
=
route
.
query
.
key
;
console
.
log
(
"CommercialControlList 页面接收到的 sanTypeId:"
,
sanTypeId
.
value
);
console
.
log
(
"CommercialControlList 页面接收到的 sanTypeId:"
,
sanTypeId
.
value
);
});
});
...
...
src/views/finance/index.vue
浏览文件 @
3ac30423
...
@@ -3,12 +3,25 @@
...
@@ -3,12 +3,25 @@
<div
class=
"home-main"
ref=
"homeMainRef"
>
<div
class=
"home-main"
ref=
"homeMainRef"
>
<div
class=
"home-top-bg"
></div>
<div
class=
"home-top-bg"
></div>
<div
class=
"home-main-header"
>
<div
class=
"home-main-header"
>
<SearchContainer
style=
"margin-bottom: 0; margin-top: 48px; height: fit-content"
v-if=
"homeMainRef"
<SearchContainer
placeholder=
"搜索投融资限制"
:containerRef=
"homeMainRef"
areaName=
"实体清单"
/>
style=
"margin-bottom: 0; margin-top: 48px; height: fit-content"
v-if=
"homeMainRef"
placeholder=
"搜索投融资限制"
:containerRef=
"homeMainRef"
areaName=
"实体清单"
/>
<div
class=
"home-main-header-footer-info"
>
<div
class=
"home-main-header-footer-info"
>
<InfoCard
v-for=
"(item, index) in infoList"
:key=
"item.id"
:title=
"item.nameZh"
:subtitle=
"item.nameAbbr"
<InfoCard
:description=
"item.description"
:quantity=
"item.postCount"
:unit=
"item.unit"
:color=
"infoListColor[index]"
v-for=
"(item, index) in infoList"
@
click=
"handleToEntityListNoId(item)"
/>
:key=
"item.id"
:title=
"item.nameZh"
:subtitle=
"item.nameAbbr"
:description=
"item.description"
:quantity=
"item.postCount"
:unit=
"item.unit"
:color=
"infoListColor[index]"
@
click=
"handleToEntityListNoId(item)"
/>
</div>
</div>
</div>
</div>
...
@@ -34,8 +47,15 @@
...
@@ -34,8 +47,15 @@
<img
src=
"./assets/images/box1-right.png"
alt=
""
/>
<img
src=
"./assets/images/box1-right.png"
alt=
""
/>
</div>
</div>
</div>
</div>
<el-carousel
ref=
"carouselRef"
height=
"370px"
:autoplay=
"false"
:interval=
"3000"
arrow=
"never"
<el-carousel
indicator-position=
"none"
@
change=
"handleCarouselChange"
>
ref=
"carouselRef"
height=
"370px"
:autoplay=
"false"
:interval=
"3000"
arrow=
"never"
indicator-position=
"none"
@
change=
"handleCarouselChange"
>
<el-carousel-item
v-for=
"(item, index) in entitiesDataInfoList"
:key=
"item.id + index"
>
<el-carousel-item
v-for=
"(item, index) in entitiesDataInfoList"
:key=
"item.id + index"
>
<div>
<div>
<div
class=
"box1-top"
>
<div
class=
"box1-top"
>
...
@@ -60,17 +80,29 @@
...
@@ -60,17 +80,29 @@
>
>
<el-tag
:type=
"getTagType(domainItem)"
>
{{
domainItem
}}
</el-tag>
<el-tag
:type=
"getTagType(domainItem)"
>
{{
domainItem
}}
</el-tag>
</div>
-->
</div>
-->
<AreaTag
v-for=
"(domainItem, index) in item.domains"
:key=
"index"
:tagName=
"domainItem"
/>
<AreaTag
v-for=
"(domainItem, index) in item.domains"
:key=
"index"
:tagName=
"domainItem"
/>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"box1-bottom"
>
<div
class=
"box1-bottom"
>
<div
class=
"box1-bottom-title"
>
· 涉及主要实体:
</div>
<div
class=
"box1-bottom-title"
>
· 涉及主要实体:
</div>
<div
class=
"box1-bottom-content"
>
<div
class=
"box1-bottom-content"
>
<div
class=
"box1-bottom-content-item"
v-for=
"(ett, index) in item.sanEntities"
:key=
"index"
<div
@
click=
"handleEntityClick(ett)"
>
class=
"box1-bottom-content-item"
<el-image
v-if=
"ett.img"
class=
"box1-bottom-content-item-img"
:src=
"ett.img"
v-for=
"(ett, index) in item.sanEntities"
alt=
""
></el-image>
:key=
"index"
@
click=
"handleEntityClick(ett)"
>
<el-image
v-if=
"ett.img"
class=
"box1-bottom-content-item-img"
:src=
"ett.img"
alt=
""
></el-image>
<div
v-else
class=
"box1-bottom-content-item-imgUndefined"
>
<div
v-else
class=
"box1-bottom-content-item-imgUndefined"
>
{{
{{
(
ett
.
orgName
||
ett
.
orgNameZh
)?.
match
(
(
ett
.
orgName
||
ett
.
orgNameZh
)?.
match
(
...
@@ -101,8 +133,14 @@
...
@@ -101,8 +133,14 @@
</custom-container>
</custom-container>
</el-col>
</el-col>
<el-col
:span=
"8"
style=
"padding-right: 0"
>
<el-col
:span=
"8"
style=
"padding-right: 0"
>
<RiskSignal
:list=
"warningList"
@
item-click=
"handleToRiskSignalDetail"
@
more-click=
"handleToMoreRiskSignal"
<RiskSignal
riskLevel=
"signalLevel"
postDate=
"signalTime"
name=
"signalTitle"
/>
:list=
"warningList"
@
item-click=
"handleToRiskSignalDetail"
@
more-click=
"handleToMoreRiskSignal"
riskLevel=
"signalLevel"
postDate=
"signalTime"
name=
"signalTitle"
/>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -125,11 +163,19 @@
...
@@ -125,11 +163,19 @@
</custom-container>
</custom-container>
</el-col> -->
</el-col> -->
<div
class=
"center-center"
>
<div
class=
"center-center"
>
<NewsList
:newsList=
"newsList"
@
item-click=
"handleNewsInfoClick"
@
more-click=
"handleToMoreNews"
<NewsList
content=
"newsContent"
/>
:newsList=
"newsList"
@
item-click=
"handleNewsInfoClick"
<MessageBubble
:messageList=
"socialMediaList"
@
person-click=
"handlePerClick"
imageUrl=
"avatar"
@
more-click=
"handleToMoreNews"
@
more-click=
"handleToSocialDetail"
/>
content=
"newsContent"
/>
<MessageBubble
:messageList=
"socialMediaList"
@
person-click=
"handlePerClick"
imageUrl=
"avatar"
@
more-click=
"handleToSocialDetail"
/>
<!-- <custom-container title="社交媒体" :titleIcon="dialogIcon" height="450px">
<!-- <custom-container title="社交媒体" :titleIcon="dialogIcon" height="450px">
<template #default>
<template #default>
<div class="dialog-list">
<div class="dialog-list">
...
@@ -155,14 +201,19 @@
...
@@ -155,14 +201,19 @@
<template
#
default=
"scope"
>
<template
#
default=
"scope"
>
<div
style=
"display: flex; align-items: center"
>
<div
style=
"display: flex; align-items: center"
>
<span
style=
"margin-right: 10px; width: 40px"
>
{{
scope
.
row
.
num
}}
次
</span>
<span
style=
"margin-right: 10px; width: 40px"
>
{{
scope
.
row
.
num
}}
次
</span>
<el-progress
:percentage=
"scope.row.percent * 100"
:show-text=
"false"
<el-progress
:status=
"getStatus(scope.row.percent)"
/>
:percentage=
"scope.row.percent * 100"
:show-text=
"false"
:status=
"getStatus(scope.row.percent)"
/>
</div>
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"重点领域"
width=
"220"
align=
"center"
>
<el-table-column
label=
"重点领域"
width=
"220"
align=
"center"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<div
style=
"display: flex; justify-content: center; align-items: center; gap: 5px"
>
<div
style=
"display: flex; justify-content: center; align-items: center; gap: 5px"
>
<AreaTag
v-for=
"tag in scope.row.tags"
:key=
"tag"
:tagName=
"tag"
/>
<AreaTag
v-for=
"tag in scope.row.tags"
:key=
"tag"
:tagName=
"tag"
/>
<!--
<el-tag
v-for=
"tag in scope.row.tags"
:key=
"tag"
:type=
"getTagType(tag)"
>
{{
<!--
<el-tag
v-for=
"tag in scope.row.tags"
:key=
"tag"
:type=
"getTagType(tag)"
>
{{
tag
tag
...
@@ -186,20 +237,29 @@
...
@@ -186,20 +237,29 @@
</div>
</div>
<div
class=
"box3-content"
>
<div
class=
"box3-content"
>
<div
class=
"box3-content-title"
>
中国军事工业复合体企业清单(CMIC)更新频度
</div>
<div
class=
"box3-content-title"
>
中国军事工业复合体企业清单(CMIC)更新频度
</div>
<el-table
:data=
"commerceControlListReleaseFreq"
stripe
style=
"width: 100%; margin-bottom: auto"
>
<el-table
:data=
"commerceControlListReleaseFreq"
stripe
style=
"width: 100%; margin-bottom: auto"
>
<el-table-column
prop=
"year"
label=
"年份"
width=
"200"
/>
<el-table-column
prop=
"year"
label=
"年份"
width=
"200"
/>
<el-table-column
label=
"发布次数"
width=
"300"
>
<el-table-column
label=
"发布次数"
width=
"300"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<div
style=
"display: flex; align-items: center"
>
<div
style=
"display: flex; align-items: center"
>
<span
style=
"margin-right: 10px; width: 40px"
>
{{
scope
.
row
.
num
}}
次
</span>
<span
style=
"margin-right: 10px; width: 40px"
>
{{
scope
.
row
.
num
}}
次
</span>
<el-progress
:percentage=
"scope.row.percent * 100"
:show-text=
"false"
<el-progress
:status=
"getStatus(scope.row.percent)"
/>
:percentage=
"scope.row.percent * 100"
:show-text=
"false"
:status=
"getStatus(scope.row.percent)"
/>
</div>
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"重点领域"
width=
"220"
align=
"center"
>
<el-table-column
label=
"重点领域"
width=
"220"
align=
"center"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<div
style=
"display: flex; justify-content: center; align-items: center; gap: 5px"
>
<div
style=
"display: flex; justify-content: center; align-items: center; gap: 5px"
>
<el-tag
v-for=
"tag in scope.row.tags"
:key=
"tag"
:type=
"getTagType(tag)"
>
{{
<el-tag
v-for=
"tag in scope.row.tags"
:key=
"tag"
:type=
"getTagType(tag)"
>
{{
tag
tag
}}
</el-tag>
}}
</el-tag>
...
@@ -228,8 +288,11 @@
...
@@ -228,8 +288,11 @@
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<div
style=
"display: flex; align-items: center"
>
<div
style=
"display: flex; align-items: center"
>
<span
style=
"margin-right: 10px; width: 40px"
>
{{
scope
.
row
.
num
}}
次
</span>
<span
style=
"margin-right: 10px; width: 40px"
>
{{
scope
.
row
.
num
}}
次
</span>
<el-progress
:percentage=
"scope.row.percent * 100"
:show-text=
"false"
<el-progress
:status=
"getStatus(scope.row.percent)"
/>
:percentage=
"scope.row.percent * 100"
:show-text=
"false"
:status=
"getStatus(scope.row.percent)"
/>
</div>
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
...
@@ -305,9 +368,13 @@
...
@@ -305,9 +368,13 @@
<el-row
:gutter=
"16"
style=
"width: 1600px; margin: 0 auto; margin-top: 39px; padding-bottom: 60px"
>
<el-row
:gutter=
"16"
style=
"width: 1600px; margin: 0 auto; margin-top: 39px; padding-bottom: 60px"
>
<CustomTitle
id=
"position4"
title=
"资源库"
style=
"margin-top: 0px"
/>
<CustomTitle
id=
"position4"
title=
"资源库"
style=
"margin-top: 0px"
/>
<div
class=
"resource-tabs"
>
<div
class=
"resource-tabs"
>
<div
v-for=
"tab in resourceTabs"
:key=
"tab.value"
class=
"resource-tab-item"
<div
v-for=
"tab in resourceTabs"
:key=
"tab.value"
class=
"resource-tab-item"
:class=
"{ active: activeResourceTab == tab.value, disabled: tab.disabled }"
:class=
"{ active: activeResourceTab == tab.value, disabled: tab.disabled }"
@
click=
"handleResourceTabClick(tab)"
>
@
click=
"handleResourceTabClick(tab)"
>
{{ tab.label }}
{{ tab.label }}
</div>
</div>
</div>
</div>
...
@@ -320,15 +387,25 @@
...
@@ -320,15 +387,25 @@
<div
class=
"box4-item"
v-for=
"(item, idx) in sanctionProcessList"
:key=
"item.title"
>
<div
class=
"box4-item"
v-for=
"(item, idx) in sanctionProcessList"
:key=
"item.title"
>
<div
class=
"box4-item-left"
>
<div
class=
"box4-item-left"
>
<el-image
:src=
"dotIcon"
alt=
"图片"
class=
"box4-item-left-icon"
/>
<el-image
:src=
"dotIcon"
alt=
"图片"
class=
"box4-item-left-icon"
/>
<div
class=
"box4-item-left-line"
v-if=
"idx + 1 != sanctionProcessList.length"
></div>
<div
class=
"box4-item-left-line"
v-if=
"idx + 1 != sanctionProcessList.length"
></div>
</div>
</div>
<div
class=
"box4-item-right"
>
<div
class=
"box4-item-right"
>
<div
class=
"box4-item-right-header"
@
click=
"handleSanc(item)"
>
<div
class=
"box4-item-right-header"
@
click=
"handleSanc(item)"
>
<span
class=
"box4-item-right-header-title"
>
{{
item
.
postDate
}}
—
{{
item
.
title
}}
</span>
<span
class=
"box4-item-right-header-title"
>
{{
item
.
postDate
}}
—
{{
item
.
title
}}
</span
>
<span
class=
"box4-item-right-header-desc"
>
{{
item
.
desc
}}
</span>
<span
class=
"box4-item-right-header-desc"
>
{{
item
.
desc
}}
</span>
</div>
</div>
<el-tooltip
effect=
"dark"
:content=
"item.content"
popper-class=
"common-prompt-popper"
<el-tooltip
placement=
"top"
:show-after=
"500"
>
effect=
"dark"
:content=
"item.content"
popper-class=
"common-prompt-popper"
placement=
"top"
:show-after=
"500"
>
<div
class=
"box4-item-right-content"
>
<div
class=
"box4-item-right-content"
>
{{
item
.
content
}}
{{
item
.
content
}}
</div>
</div>
...
@@ -336,8 +413,12 @@
...
@@ -336,8 +413,12 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"box4-footer"
:style=
"
{ marginTop: sanctionProcessList.length > 0 ? '0px' : 'auto' }">
<div
<el-button
type=
"primary"
link
@
click=
"handleGetMore"
>
查看更多
class=
"box4-footer"
:style=
"
{ marginTop: sanctionProcessList.length > 0 ? '0px' : 'auto' }"
>
<el-button
type=
"primary"
link
@
click=
"handleGetMore"
>
查看更多
<el-icon>
<el-icon>
<DArrowRight
/>
<DArrowRight
/>
</el-icon>
</el-icon>
...
@@ -354,8 +435,15 @@
...
@@ -354,8 +435,15 @@
</
template
>
</
template
>
<
template
#
default
>
<
template
#
default
>
<div
class=
"box5"
>
<div
class=
"box5"
>
<el-table
:data=
"entitiesList"
class=
"sanction-table"
stripe
empty-text=
"暂无数据"
height=
"700px"
<el-table
header-row-class-name=
"table-header"
row-class-name=
"table-row"
>
:data=
"entitiesList"
class=
"sanction-table"
stripe
empty-text=
"暂无数据"
height=
"700px"
header-row-class-name=
"table-header"
row-class-name=
"table-row"
>
<!--
<el-table-column
prop=
"index"
label=
"序号"
width=
"80"
align=
"center"
>
<!--
<el-table-column
prop=
"index"
label=
"序号"
width=
"80"
align=
"center"
>
<template
#
default=
"scope"
>
<template
#
default=
"scope"
>
{{
scope
.
$index
+
1
+
(
currentPage
-
1
)
*
pageSize
}}
{{
scope
.
$index
+
1
+
(
currentPage
-
1
)
*
pageSize
}}
...
@@ -365,8 +453,12 @@
...
@@ -365,8 +453,12 @@
<el-table-column
prop=
"name"
label=
"实体名称"
min-width=
"200"
>
<el-table-column
prop=
"name"
label=
"实体名称"
min-width=
"200"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<div
class=
"tableName"
@
click=
"handleCompClick(scope.row)"
>
<div
class=
"tableName"
@
click=
"handleCompClick(scope.row)"
>
<el-image
v-if=
"scope.row.img"
class=
"box1-bottom-content-item-img"
:src=
"scope.row.img"
<el-image
alt=
""
></el-image>
v-if=
"scope.row.img"
class=
"box1-bottom-content-item-img"
:src=
"scope.row.img"
alt=
""
></el-image>
<div
v-else
class=
"box1-bottom-content-item-imgUndefined"
>
<div
v-else
class=
"box1-bottom-content-item-imgUndefined"
>
{{
{{
(
scope
.
row
.
name
||
scope
.
row
.
enName
)?.
match
(
(
scope
.
row
.
name
||
scope
.
row
.
enName
)?.
match
(
...
@@ -420,13 +512,19 @@
...
@@ -420,13 +512,19 @@
<el-table-column
prop=
"revenue"
label=
"50%规则子企业"
width=
"280"
align=
"right"
>
<el-table-column
prop=
"revenue"
label=
"50%规则子企业"
width=
"280"
align=
"right"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<div
class=
"num-item"
v-if=
"scope.row.ruleOrgCount > 0"
>
<div
class=
"num-item"
v-if=
"scope.row.ruleOrgCount > 0"
>
<div
class=
"name-item"
:class=
"[
<div
'revenue-cell',
class=
"name-item"
scope.row.revenue === '无营收数据' ? 'no-revenue' : ''
:class=
"[
]"
>
'revenue-cell',
scope.row.revenue === '无营收数据' ? 'no-revenue' : ''
]"
>
{{
scope
.
row
.
ruleOrgList
[
0
].
orgName
}}
...等
{{
scope
.
row
.
ruleOrgList
[
0
].
orgName
}}
...等
</div>
</div>
<div
style=
"width: 50px; color: #409eff; cursor: pointer"
@
click=
"handleOrgClick(scope.row)"
>
<div
style=
"width: 50px; color: #409eff; cursor: pointer"
@
click=
"handleOrgClick(scope.row)"
>
{{
scope
.
row
.
ruleOrgCount
}}
家>
{{
scope
.
row
.
ruleOrgCount
}}
家>
</div>
</div>
</div>
</div>
...
@@ -438,8 +536,15 @@
...
@@ -438,8 +536,15 @@
<!-- <div class="pagination-info">
<!-- <div class="pagination-info">
第{{ currentPage }}页,共{{ totalPages }}页
第{{ currentPage }}页,共{{ totalPages }}页
</div> -->
</div> -->
<el-pagination
v-model:current-page=
"currentPage"
:page-size=
"pageSize"
:total=
"total"
<el-pagination
:pager-count=
"5"
layout=
"prev, pager, next"
background
@
current-change=
"handlePageChange"
/>
v-model:current-page=
"currentPage"
:page-size=
"pageSize"
:total=
"total"
:pager-count=
"5"
layout=
"prev, pager, next"
background
@
current-change=
"handlePageChange"
/>
</div>
</div>
</div>
</div>
</template>
</template>
...
@@ -505,8 +610,14 @@
...
@@ -505,8 +610,14 @@
</div>
</div>
<div
class=
"right-footer"
>
<div
class=
"right-footer"
>
<div
class=
"total-count"
>
共
{{
totalAll
}}
项
</div>
<div
class=
"total-count"
>
共
{{
totalAll
}}
项
</div>
<el-pagination
v-model:current-page=
"currentPageAll"
:page-size=
"pageSizeAll"
:total=
"totalAll"
<el-pagination
layout=
"prev, pager, next"
background
@
current-change=
"handlePageChangeAll"
/>
v-model:current-page=
"currentPageAll"
:page-size=
"pageSizeAll"
:total=
"totalAll"
layout=
"prev, pager, next"
background
@
current-change=
"handlePageChangeAll"
/>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -541,8 +652,12 @@
...
@@ -541,8 +652,12 @@
</div>
</div>
</template>
</template>
</el-dialog> -->
</el-dialog> -->
<RuleSubsidiaryDialog
v-model=
"dialogVisible"
:company-name=
"currentRuleCompany"
:total-count=
"currentRuleCount"
<RuleSubsidiaryDialog
:data-list=
"currentOrgList"
/>
v-model=
"dialogVisible"
:company-name=
"currentRuleCompany"
:total-count=
"currentRuleCount"
:data-list=
"currentOrgList"
/>
</div>
</div>
<el-dialog
v-model=
"mediaVisible"
title=
"社交媒体信息"
width=
"500"
:before-close=
"handleMediaClose"
>
<el-dialog
v-model=
"mediaVisible"
title=
"社交媒体信息"
width=
"500"
:before-close=
"handleMediaClose"
>
<div
class=
"dialog-content"
>
<div
class=
"dialog-content"
>
...
@@ -1209,7 +1324,7 @@ const fetchSanctionList = async () => {
...
@@ -1209,7 +1324,7 @@ const fetchSanctionList = async () => {
});
});
totalAll
.
value
=
res
.
totalElements
;
totalAll
.
value
=
res
.
totalElements
;
}
}
}
catch
(
error
)
{
}
}
catch
(
error
)
{}
};
};
const
handlePageChangeAll
=
val
=>
{
const
handlePageChangeAll
=
val
=>
{
...
@@ -1502,7 +1617,7 @@ const handleGetHylyList = async () => {
...
@@ -1502,7 +1617,7 @@ const handleGetHylyList = async () => {
hylymc
:
"全部分类"
hylymc
:
"全部分类"
};
};
categoryList
.
value
=
[
obj
,
...
categoryList
.
value
];
categoryList
.
value
=
[
obj
,
...
categoryList
.
value
];
}
catch
(
error
)
{
}
}
catch
(
error
)
{}
};
};
const
chart1Data
=
ref
({
const
chart1Data
=
ref
({
...
@@ -1666,7 +1781,7 @@ onMounted(async () => {
...
@@ -1666,7 +1781,7 @@ onMounted(async () => {
// 获取趋势图数据
// 获取趋势图数据
fetchTrendData
();
fetchTrendData
();
fetchRiskSignals
(
"010
4
"
);
fetchRiskSignals
(
"010
9
"
);
// 获取社交媒体信息
// 获取社交媒体信息
fetchSocialMediaInfo
();
fetchSocialMediaInfo
();
// 获取新闻资讯
// 获取新闻资讯
...
@@ -2085,7 +2200,6 @@ const handleMediaClick = item => {
...
@@ -2085,7 +2200,6 @@ const handleMediaClick = item => {
}
}
.box3-content
{
.box3-content
{
// flex: 1;
// flex: 1;
.el-progress--line
{
.el-progress--line
{
width
:
82px
;
width
:
82px
;
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论