|
@@ -1,17 +1,18 @@
|
|
|
<template>
|
|
|
<div class="content-container">
|
|
|
<el-row class="tool-bar">
|
|
|
- <el-col :span="12" class="left">
|
|
|
+ <el-col :span="6" class="left">
|
|
|
<div class="content-title">
|
|
|
{{ title }}
|
|
|
</div>
|
|
|
</el-col>
|
|
|
|
|
|
- <el-col :span="12" class="button-group">
|
|
|
+ <el-col :span="18" class="button-group">
|
|
|
<div class="select-search right">
|
|
|
<el-input v-model="conditions.hdangerTitle" class="search-input" placeholder="请输入内容">
|
|
|
<el-button slot="append" icon="el-icon-search" @click="getData()" />
|
|
|
</el-input>
|
|
|
+ <el-button style="margin-left: 10px;" type="primary" :disabled="downloadLoading" @click="handleExport">导出Excel</el-button>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
@@ -78,6 +79,7 @@ import SubmitActivity from './activity/Submit'
|
|
|
import ReviewActivity from './activity/Review'
|
|
|
import RectifyActivity from './activity/Rectify'
|
|
|
import AcceptActivity from './activity/Accept'
|
|
|
+import { parseTime } from '@/utils'
|
|
|
export default {
|
|
|
name: 'DangerList',
|
|
|
components: { Pagination, SubmitActivity, ReviewActivity, RectifyActivity, AcceptActivity, DangerDetails },
|
|
@@ -102,6 +104,7 @@ export default {
|
|
|
dataList: [],
|
|
|
total: 0,
|
|
|
listLoading: false,
|
|
|
+ downloadLoading: false,
|
|
|
conditions: {
|
|
|
page: 1,
|
|
|
limit: 10,
|
|
@@ -188,7 +191,49 @@ export default {
|
|
|
const { hdangerId } = data
|
|
|
this.$refs['DangerDetails'].showView(hdangerId, JSON.parse(JSON.stringify(data)))
|
|
|
},
|
|
|
+ // 导出EXCEL
|
|
|
+ handleExport() {
|
|
|
+ this.downloadLoading = true
|
|
|
+ const tHeader = Object.values(this.getEnums())
|
|
|
+ const filterVal = Object.keys(this.getEnums())
|
|
|
+ const list = JSON.parse(JSON.stringify(this.dataList))
|
|
|
|
|
|
+ const data = this.formatJson(filterVal, list)
|
|
|
+ if (list.length < 1) {
|
|
|
+ this.$message.error('没有数据可供导出!')
|
|
|
+ this.downloadLoading = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ import('@/vendor/Export2Excel').then(excel => {
|
|
|
+ excel.export_json_to_excel({
|
|
|
+ header: tHeader,
|
|
|
+ data,
|
|
|
+ filename: `严重预警整改台账${parseTime(new Date())}`,
|
|
|
+ autoWidth: true,
|
|
|
+ bookType: 'xlsx'
|
|
|
+ })
|
|
|
+ this.downloadLoading = false
|
|
|
+ })
|
|
|
+ },
|
|
|
+ formatJson(filterVal, jsonData) {
|
|
|
+ const status = ['较低', '一般', '较大', '重大']
|
|
|
+ return jsonData.map(v => filterVal.map(j => {
|
|
|
+ if (j === 'hdangerLevel') {
|
|
|
+ return status[v[j]]
|
|
|
+ } else {
|
|
|
+ return v[j]
|
|
|
+ }
|
|
|
+ }))
|
|
|
+ },
|
|
|
+ getEnums() {
|
|
|
+ return {
|
|
|
+ 'hdangerTitle': '预警标题', 'hdangerLevel': '预警等级',
|
|
|
+ 'submitAccountName': '提交人', 'submitGroupName': '提交部门', 'hdangerDesc': '预警描述', 'submitTime': '提交时间',
|
|
|
+ 'reviewAccountName': '评审人', 'reviewGroupName': '评审部门', 'reviewRemark': '评审描述', 'reviewTime': '评审时间',
|
|
|
+ 'rectifyAccountName': '整改人', 'rectifyGroupName': '整改部门', 'rectifyRemark': '整改描述', 'rectifyTime': '这个时间',
|
|
|
+ 'acceptAccountName': '验收人', 'acceptGroupName': '验收部门', 'acceptRemark': '验收描述', 'acceptTime': '验收时间'
|
|
|
+ }
|
|
|
+ },
|
|
|
// Update View
|
|
|
formSuccess() {
|
|
|
this.getData()
|