Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
Z
zh-baseversion-project
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王浩
zh-baseversion-project
Commits
a06dcdcf
Commit
a06dcdcf
authored
Apr 30, 2026
by
xulihui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bug修复
parent
cef2e7c3
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
177 additions
and
97 deletions
+177
-97
CommonController.java
...va/com/zehong/web/controller/common/CommonController.java
+27
-1
TEmergencyResources.java
...in/java/com/zehong/system/domain/TEmergencyResources.java
+1
-1
TPlanInfo.java
...tem/src/main/java/com/zehong/system/domain/TPlanInfo.java
+1
-0
index.vue
...version-web/src/views/emergencydrills/resources/index.vue
+1
-0
index.vue
...ion-web/src/views/regulation/staEnterpriseInfor/index.vue
+29
-15
index.vue
...on-web/src/views/supervision/analysisInspection/index.vue
+1
-1
index.vue
zh-baseversion-web/src/views/system/planInfo/index.vue
+117
-79
No files found.
zh-baseversion-admin/src/main/java/com/zehong/web/controller/common/CommonController.java
View file @
a06dcdcf
...
...
@@ -42,24 +42,50 @@ public class CommonController
{
try
{
log
.
info
(
"开始下载文件,fileName={}, delete={}"
,
fileName
,
delete
);
if
(!
FileUtils
.
checkAllowDownload
(
fileName
))
{
log
.
error
(
"文件名称非法,不允许下载: {}"
,
fileName
);
throw
new
Exception
(
StringUtils
.
format
(
"文件名称({})非法,不允许下载。 "
,
fileName
));
}
String
realFileName
=
System
.
currentTimeMillis
()
+
fileName
.
substring
(
fileName
.
indexOf
(
"_"
)
+
1
);
String
filePath
=
GassafetyProgressConfig
.
getDownloadPath
()
+
fileName
;
log
.
info
(
"文件完整路径: {}"
,
filePath
);
// 检查文件是否存在
java
.
io
.
File
file
=
new
java
.
io
.
File
(
filePath
);
if
(!
file
.
exists
())
{
log
.
error
(
"文件不存在: {}"
,
filePath
);
response
.
setContentType
(
"text/html;charset=utf-8"
);
response
.
getWriter
().
write
(
"文件不存在:"
+
fileName
);
return
;
}
log
.
info
(
"文件大小: {} bytes"
,
file
.
length
());
response
.
setContentType
(
MediaType
.
APPLICATION_OCTET_STREAM_VALUE
);
FileUtils
.
setAttachmentResponseHeader
(
response
,
realFileName
);
FileUtils
.
writeBytes
(
filePath
,
response
.
getOutputStream
());
log
.
info
(
"文件下载成功"
);
if
(
delete
)
{
FileUtils
.
deleteFile
(
filePath
);
log
.
info
(
"已删除临时文件: {}"
,
fileName
);
}
}
catch
(
Exception
e
)
{
log
.
error
(
"下载文件失败"
,
e
);
log
.
error
(
"下载文件失败,fileName={}"
,
fileName
,
e
);
try
{
response
.
setContentType
(
"text/html;charset=utf-8"
);
response
.
getWriter
().
write
(
"下载失败:"
+
e
.
getMessage
());
}
catch
(
Exception
ex
)
{
log
.
error
(
"写入错误信息失败"
,
ex
);
}
}
}
...
...
zh-baseversion-system/src/main/java/com/zehong/system/domain/TEmergencyResources.java
View file @
a06dcdcf
...
...
@@ -23,7 +23,7 @@ public class TEmergencyResources extends BaseEntity
private
String
resourceName
;
/** 资源类型 */
@Excel
(
name
=
"资源类型"
)
@Excel
(
name
=
"资源类型"
,
dictType
=
"sys_resource_type"
)
private
String
resourceType
;
/** 经度 */
...
...
zh-baseversion-system/src/main/java/com/zehong/system/domain/TPlanInfo.java
View file @
a06dcdcf
...
...
@@ -50,6 +50,7 @@ public class TPlanInfo extends BaseEntity
/*到期时间*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
@Excel
(
name
=
"到期时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd"
)
private
Date
endTime
;
/** 图片路径 */
...
...
zh-baseversion-web/src/views/emergencydrills/resources/index.vue
View file @
a06dcdcf
...
...
@@ -85,6 +85,7 @@
<el-table
v-loading=
"loading"
:data=
"resourcesList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"45"
align=
"center"
/>
<el-table-column
label=
"编号"
align=
"center"
prop=
"id"
width=
"50"
/>
<el-table-column
label=
"资源名称"
align=
"center"
prop=
"resourceName"
/>
<el-table-column
label=
"资源类型"
align=
"center"
prop=
"resourceType"
:formatter=
"resourceTypeFormat"
/>
<el-table-column
label=
"经度"
align=
"center"
prop=
"longitude"
/>
...
...
zh-baseversion-web/src/views/regulation/staEnterpriseInfor/index.vue
View file @
a06dcdcf
...
...
@@ -78,6 +78,7 @@
<el-table
v-loading=
"loading"
:data=
"inforList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"编号"
align=
"center"
prop=
"fEnterpriseId"
/>
<el-table-column
label=
"所属区县名称"
align=
"center"
prop=
"fDistrictName"
/>
<el-table-column
label=
"统一社会信用代码"
align=
"center"
prop=
"fBizCode"
/>
<el-table-column
label=
"企业名称"
align=
"center"
prop=
"fCompanyName"
/>
...
...
@@ -192,91 +193,91 @@
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"企业主要负责人数量"
prop
=
"fResponsibleCount"
>
<
el
-
input
v
-
model
=
"form.fResponsibleCount"
type
=
"number"
placeholder
=
"请输入企业主要负责人数量
"
/>
<
el
-
input
v
-
model
.
number
=
"form.fResponsibleCount"
type
=
"number"
placeholder
=
"请输入企业主要负责人数量"
@
input
=
"(val) => handleNumberInput(val, 'fResponsibleCount')
"
/>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"安全生产管理人数量"
prop
=
"fManagementCount"
>
<
el
-
input
v
-
model
=
"form.fManagementCount"
type
=
"number"
placeholder
=
"请输入安全生产管理人数量
"
/>
<
el
-
input
v
-
model
.
number
=
"form.fManagementCount"
type
=
"number"
placeholder
=
"请输入安全生产管理人数量"
@
input
=
"(val) => handleNumberInput(val, 'fManagementCount')
"
/>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"运行、维护和抢修人数量"
prop
=
"fMaintenanceCount"
>
<
el
-
input
v
-
model
=
"form.fMaintenanceCount"
type
=
"number"
placeholder
=
"请输入运行、维护和抢修人数量
"
/>
<
el
-
input
v
-
model
.
number
=
"form.fMaintenanceCount"
type
=
"number"
placeholder
=
"请输入运行、维护和抢修人数量"
@
input
=
"(val) => handleNumberInput(val, 'fMaintenanceCount')
"
/>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"企业主要负责人持证数量"
prop
=
"fResponsibleCertCount"
>
<
el
-
input
v
-
model
=
"form.fResponsibleCertCount"
type
=
"number"
placeholder
=
"请输入企业主要负责人持证数量
"
/>
<
el
-
input
v
-
model
.
number
=
"form.fResponsibleCertCount"
type
=
"number"
placeholder
=
"请输入企业主要负责人持证数量"
@
input
=
"(val) => handleNumberInput(val, 'fResponsibleCertCount')
"
/>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"安全生产管理人持证数量"
prop
=
"fManagementCertCount"
>
<
el
-
input
v
-
model
=
"form.fManagementCertCount"
type
=
"number"
placeholder
=
"请输入安全生产管理人持证数量
"
/>
<
el
-
input
v
-
model
.
number
=
"form.fManagementCertCount"
type
=
"number"
placeholder
=
"请输入安全生产管理人持证数量"
@
input
=
"(val) => handleNumberInput(val, 'fManagementCertCount')
"
/>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"运行、维护和抢修人支持数量"
prop
=
"fMaintenanceCertCount"
>
<
el
-
input
v
-
model
=
"form.fMaintenanceCertCount"
type
=
"number"
placeholder
=
"请输入运行、维护和抢修人支持数量
"
/>
<
el
-
input
v
-
model
.
number
=
"form.fMaintenanceCertCount"
type
=
"number"
placeholder
=
"请输入运行、维护和抢修人支持数量"
@
input
=
"(val) => handleNumberInput(val, 'fMaintenanceCertCount')
"
/>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"门站数量"
prop
=
"fStationCount"
>
<
el
-
input
v
-
model
=
"form.fStationCount"
type
=
"number"
placeholder
=
"请输入门站数量
"
/>
<
el
-
input
v
-
model
.
number
=
"form.fStationCount"
type
=
"number"
placeholder
=
"请输入门站数量"
@
input
=
"(val) => handleNumberInput(val, 'fStationCount')
"
/>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"燃气储配站数量"
prop
=
"fStorageStationCount"
>
<
el
-
input
v
-
model
=
"form.fStorageStationCount"
type
=
"number"
placeholder
=
"请输入燃气储配站数量
"
/>
<
el
-
input
v
-
model
.
number
=
"form.fStorageStationCount"
type
=
"number"
placeholder
=
"请输入燃气储配站数量"
@
input
=
"(val) => handleNumberInput(val, 'fStorageStationCount')
"
/>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"气化站数量"
prop
=
"fGasificationStationCount"
>
<
el
-
input
v
-
model
=
"form.fGasificationStationCount"
type
=
"number"
placeholder
=
"请输入气化站数量
"
/>
<
el
-
input
v
-
model
.
number
=
"form.fGasificationStationCount"
type
=
"number"
placeholder
=
"请输入气化站数量"
@
input
=
"(val) => handleNumberInput(val, 'fGasificationStationCount')
"
/>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"混气站数量"
prop
=
"fMixingStationCount"
>
<
el
-
input
v
-
model
=
"form.fMixingStationCount"
type
=
"number"
placeholder
=
"请输入混气站数量
"
/>
<
el
-
input
v
-
model
.
number
=
"form.fMixingStationCount"
type
=
"number"
placeholder
=
"请输入混气站数量"
@
input
=
"(val) => handleNumberInput(val, 'fMixingStationCount')
"
/>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"加气站数量"
prop
=
"fGasStationCount"
>
<
el
-
input
v
-
model
=
"form.fGasStationCount"
type
=
"number"
placeholder
=
"请输入加气站数量
"
/>
<
el
-
input
v
-
model
.
number
=
"form.fGasStationCount"
type
=
"number"
placeholder
=
"请输入加气站数量"
@
input
=
"(val) => handleNumberInput(val, 'fGasStationCount')
"
/>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"灌装站数量"
prop
=
"fFillingStationCount"
>
<
el
-
input
v
-
model
=
"form.fFillingStationCount"
type
=
"number"
placeholder
=
"请输入灌装站数量
"
/>
<
el
-
input
v
-
model
.
number
=
"form.fFillingStationCount"
type
=
"number"
placeholder
=
"请输入灌装站数量"
@
input
=
"(val) => handleNumberInput(val, 'fFillingStationCount')
"
/>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"供应站数量"
prop
=
"fSupplyStationCount"
>
<
el
-
input
v
-
model
=
"form.fSupplyStationCount"
type
=
"number"
placeholder
=
"请输入供应站数量
"
/>
<
el
-
input
v
-
model
.
number
=
"form.fSupplyStationCount"
type
=
"number"
placeholder
=
"请输入供应站数量"
@
input
=
"(val) => handleNumberInput(val, 'fSupplyStationCount')
"
/>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"调压站数量"
prop
=
"fPressureStationCount"
>
<
el
-
input
v
-
model
=
"form.fPressureStationCount"
type
=
"number"
placeholder
=
"请输入调压站数量
"
/>
<
el
-
input
v
-
model
.
number
=
"form.fPressureStationCount"
type
=
"number"
placeholder
=
"请输入调压站数量"
@
input
=
"(val) => handleNumberInput(val, 'fPressureStationCount')
"
/>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"其他站数量"
prop
=
"fOtherStationCount"
>
<
el
-
input
v
-
model
=
"form.fOtherStationCount"
type
=
"number"
placeholder
=
"请输入其他站数量
"
/>
<
el
-
input
v
-
model
.
number
=
"form.fOtherStationCount"
type
=
"number"
placeholder
=
"请输入其他站数量"
@
input
=
"(val) => handleNumberInput(val, 'fOtherStationCount')
"
/>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
...
...
@@ -568,6 +569,19 @@ export default {
this
.
getList
();
}
,
methods
:
{
/** 处理数字输入限制 */
handleNumberInput
(
value
,
field
)
{
if
(
value
!==
null
&&
value
!==
undefined
&&
value
!==
''
)
{
const
numValue
=
Number
(
value
);
if
(
numValue
>
10000000
)
{
this
.
$set
(
this
.
form
,
field
,
10000000
);
this
.
$message
.
warning
(
'输入值不能超过10000000'
);
}
else
if
(
numValue
<
0
)
{
this
.
$set
(
this
.
form
,
field
,
0
);
this
.
$message
.
warning
(
'输入值不能小于0'
);
}
}
}
,
/** 查询年度行业指标汇总 - 燃气企业基本情况信息列表 */
getList
()
{
this
.
loading
=
true
;
...
...
zh-baseversion-web/src/views/supervision/analysisInspection/index.vue
View file @
a06dcdcf
...
...
@@ -158,7 +158,7 @@ export default {
flex-direction
:
column
;
height
:
100%
;
.top
{
height
:
38
.
7%
;
height
:
4
7%
;
.left
{
width
:
70%
;
...
...
zh-baseversion-web/src/views/system/planInfo/index.vue
View file @
a06dcdcf
...
...
@@ -57,24 +57,24 @@
>
新增
</el-button>
</el-col>
<!--
<el-col
:span=
"1.5"
>
-->
<!--
<el-button-->
<!--type="success"-->
<!--plain-->
<!--icon="el-icon-edit"-->
<!--size="mini"-->
<!--:disabled="single"-->
<!--@click="handleUpdate"-->
<!-->修改
</el-button>
-->
<!--
<el-button-->
<!--type="success"-->
<!--plain-->
<!--icon="el-icon-edit"-->
<!--size="mini"-->
<!--:disabled="single"-->
<!--@click="handleUpdate"-->
<!-->修改
</el-button>
-->
<!--
</el-col>
-->
<!--
<el-col
:span=
"1.5"
>
-->
<!--
<el-button-->
<!--type="danger"-->
<!--plain-->
<!--icon="el-icon-delete"-->
<!--size="mini"-->
<!--:disabled="multiple"-->
<!--@click="handleDelete"-->
<!-->删除
</el-button>
-->
<!--
<el-button-->
<!--type="danger"-->
<!--plain-->
<!--icon="el-icon-delete"-->
<!--size="mini"-->
<!--:disabled="multiple"-->
<!--@click="handleDelete"-->
<!-->删除
</el-button>
-->
<!--
</el-col>
-->
<el-col
:span=
"1.5"
>
<el-button
...
...
@@ -82,7 +82,7 @@
plain
icon=
"el-icon-download"
size=
"mini"
:loading=
"exportLoading"
:loading=
"exportLoading"
@
click=
"handleExport"
>
导出
</el-button>
</el-col>
...
...
@@ -230,7 +230,7 @@
<
/div
>
<
div
style
=
"width: 58%;margin-left: 2%"
>
<
div
class
=
"titletitle"
>
方案内容
<
/div
>
<!--
<
editor
v
-
model
=
"form.planContents"
style
=
"height: 300px;"
readonly
=
"false"
/>-->
<!--
<
editor
v
-
model
=
"form.planContents"
style
=
"height: 300px;"
readonly
=
"false"
/>-->
<
editor
v
-
if
=
"isOpen"
id
=
"editor"
v
-
model
=
"form.planContents"
:
min
-
height
=
"300"
:
readOnly
=
"readonly"
/>
<
/div
>
<
/div
>
...
...
@@ -316,6 +316,7 @@ export default {
planTypeList
:[],
planLevelList
:[],
enterpriseList
:[],
options
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
...
...
@@ -369,8 +370,15 @@ export default {
this
.
planLevelList
=
response
.
data
;
}
)
this
.
getlackenterprise
();
this
.
getDicts
(
"enterprise_type"
).
then
(
response
=>
{
this
.
options
=
response
.
data
;
console
.
log
(
"this.options = "
+
JSON
.
stringify
(
this
.
options
))
}
);
}
,
methods
:
{
enterpriseTypeFormat
(
row
)
{
return
this
.
selectDictLabel
(
this
.
options
,
row
.
enterpriseType
);
}
,
getlackenterprise
(){
getlackenterprise
().
then
(
response
=>
{
this
.
lackenterpriseList
=
response
.
data
;
...
...
@@ -413,11 +421,11 @@ export default {
}
,
qiyechang
(
value
){
let
obj
=
{
}
;
obj
=
this
.
enterpriseList
.
find
((
item
)
=>
{
return
item
.
enterpriseId
===
value
;
}
);
this
.
form
.
beyondEnterpriseName
=
obj
.
enterpriseName
;
this
.
form
.
beyondEnterpriseId
=
value
;
obj
=
this
.
enterpriseList
.
find
((
item
)
=>
{
return
item
.
enterpriseId
===
value
;
}
);
this
.
form
.
beyondEnterpriseName
=
obj
.
enterpriseName
;
this
.
form
.
beyondEnterpriseId
=
value
;
}
,
//上传
getFileInfo
(
res
){
...
...
@@ -506,19 +514,19 @@ export default {
this
.
title
=
"添加应急预案"
;
}
,
handleDtail
(
row
){
// this.readonly=true;
// this.open = true;
// this.fileList = [];
// this.reset();
// const planId = row.planId || this.ids
// getPlanInfo(planId).then(response =>
{
// this.form = response.data;
// this.title = "应急预案详情";
// this.fileList = [
{
name
:
'附件'
,
url
:
uploadfile
}
];
// this.fileurl = row.iconUrl;
//
}
);
// this.readonly=true;
// this.open = true;
// this.fileList = [];
// this.reset();
// const planId = row.planId || this.ids
// getPlanInfo(planId).then(response =>
{
// this.form = response.data;
// this.title = "应急预案详情";
// this.fileList = [
{
name
:
'附件'
,
url
:
uploadfile
}
];
// this.fileurl = row.iconUrl;
//
}
);
this
.
$refs
.
detail
.
getDetailInfo
(
row
.
planId
);
this
.
$refs
.
detail
.
getDetailInfo
(
row
.
planId
);
}
,
/** 修改按钮操作 */
handleUpdate
(
row
)
{
...
...
@@ -561,15 +569,15 @@ export default {
handleDelete
(
row
)
{
const
planIds
=
row
.
planId
||
this
.
ids
;
this
.
$confirm
(
'是否确认删除应急预案编号为"'
+
planIds
+
'"的数据项?'
,
"警告"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}
).
then
(
function
()
{
return
delPlanInfo
(
planIds
);
}
).
then
(()
=>
{
this
.
getList
();
this
.
msgSuccess
(
"删除成功"
);
}
).
catch
(()
=>
{
}
);
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}
).
then
(
function
()
{
return
delPlanInfo
(
planIds
);
}
).
then
(()
=>
{
this
.
getList
();
this
.
msgSuccess
(
"删除成功"
);
}
).
catch
(()
=>
{
}
);
}
,
// 事件类型:1.泄漏 2.火灾 3.爆炸字典翻译
planTypeFormat
(
row
,
column
)
{
...
...
@@ -583,47 +591,77 @@ export default {
handleExport
()
{
const
queryParams
=
this
.
queryParams
;
this
.
$confirm
(
'是否确认导出所有应急预案数据项?'
,
"警告"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}
).
then
(()
=>
{
this
.
exportLoading
=
true
;
return
exportPlanInfo
(
queryParams
);
}
).
then
(
response
=>
{
this
.
download
(
response
.
msg
);
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}
).
then
(()
=>
{
this
.
exportLoading
=
true
;
return
exportPlanInfo
(
queryParams
);
}
).
then
(
response
=>
{
console
.
log
(
'导出响应:'
,
response
);
if
(
!
response
.
msg
)
{
this
.
$message
.
error
(
'导出失败:未获取到文件名'
);
this
.
exportLoading
=
false
;
}
).
catch
(()
=>
{
}
);
return
;
}
// 方法1:使用隐藏的 a 标签触发下载(推荐)
const
fileName
=
response
.
msg
;
const
downloadUrl
=
process
.
env
.
VUE_APP_BASE_API
+
'/common/download?fileName='
+
encodeURIComponent
(
fileName
)
+
'&delete=true'
;
console
.
log
(
'下载地址:'
,
downloadUrl
);
// 创建隐藏的 a 标签
const
link
=
document
.
createElement
(
'a'
);
link
.
href
=
downloadUrl
;
link
.
style
.
display
=
'none'
;
document
.
body
.
appendChild
(
link
);
link
.
click
();
// 清理
setTimeout
(()
=>
{
document
.
body
.
removeChild
(
link
);
this
.
exportLoading
=
false
;
this
.
$message
.
success
(
'导出成功'
);
}
,
100
);
}
).
catch
((
error
)
=>
{
console
.
error
(
'导出错误:'
,
error
);
this
.
$message
.
error
(
'导出失败'
);
this
.
exportLoading
=
false
;
}
);
}
}
}
;
<
/script
>
<
style
>
.
division
{
display
:
flex
;
flex
-
direction
:
row
;
justify
-
content
:
flex
-
start
;
}
.
dbtn
{
display
:
inline
-
block
;
line
-
height
:
normal
;
padding
-
left
:
2
px
;
padding
-
right
:
2
px
;
cursor
:
pointer
;
border
-
radius
:
3
px
;
border
-
style
:
solid
;
border
-
width
:
0
;
color
:
rgb
(
48
,
180
,
107
);
}
.
titletitle
{
background
:
#
1
c84c6
;
color
:
white
;
height
:
20
px
;
line
-
height
:
20
px
;
text
-
align
:
center
;
margin
-
bottom
:
10
px
;
}
.
division
{
display
:
flex
;
flex
-
direction
:
row
;
justify
-
content
:
flex
-
start
;
}
.
dbtn
{
display
:
inline
-
block
;
line
-
height
:
normal
;
padding
-
left
:
2
px
;
padding
-
right
:
2
px
;
cursor
:
pointer
;
border
-
radius
:
3
px
;
border
-
style
:
solid
;
border
-
width
:
0
;
color
:
rgb
(
48
,
180
,
107
);
}
.
titletitle
{
background
:
#
1
c84c6
;
color
:
white
;
height
:
20
px
;
line
-
height
:
20
px
;
text
-
align
:
center
;
margin
-
bottom
:
10
px
;
}
<
/style
>
<
style
lang
=
"scss"
scoped
>
::
v
-
deep
.
el
-
select
{
width
:
100
%
;
}
::
v
-
deep
.
el
-
select
{
width
:
100
%
;
}
<
/style
>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment