<template>
|
<div class="analyseAir">
|
<!-- 头部-->
|
<div class="exTop">
|
<div class="cascader-demo">
|
<el-select v-model="value" clearable placeholder="请选择地区">
|
<el-option
|
v-for="item in options"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value">
|
</el-option>
|
</el-select>
|
</div>
|
<el-date-picker
|
v-model="value3"
|
style="margin-right: 5%"
|
align="right"
|
type="date"
|
placeholder="选择日期">
|
</el-date-picker>
|
<el-upload
|
v-if="value==='gx'"
|
class="upload-demo"
|
ref="upload1"
|
action=""
|
accept="xlsx"
|
:on-change="handleChange"
|
:on-remove="handleRemove"
|
:file-list="fileList"
|
:limit="1"
|
:on-exceed="handleExceed"
|
multiple
|
:auto-upload="false">
|
<el-button slot="trigger" type="primary" size="small">选取文件</el-button>
|
<div slot="tip" class="el-upload__tip" v-if="value==='gx'">上传四国控及市区均值</div>
|
<div slot="tip" class="el-upload__tip" v-else></div>
|
</el-upload>
|
<el-upload
|
v-if="value==='gx'"
|
class="upload-demo"
|
ref="upload2"
|
action=""
|
accept="xlsx"
|
:on-change="handleChange2"
|
:on-remove="handleRemove2"
|
:file-list="fileList2"
|
:limit="1"
|
:on-exceed="handleExceed"
|
multiple
|
:auto-upload="false">
|
<el-button slot="trigger" type="primary" size="small">选取文件</el-button>
|
<div slot="tip" class="el-upload__tip" v-if="value==='gx'">上传乡镇街道日数据</div>
|
<div slot="tip" class="el-upload__tip" v-else></div>
|
</el-upload>
|
<el-upload
|
v-if="value==='gx'"
|
class="upload-demo"
|
ref="upload3"
|
action=""
|
accept="xlsx"
|
:on-change="handleChange3"
|
:on-remove="handleRemove3"
|
:file-list="fileList3"
|
:limit="1"
|
:on-exceed="handleExceed"
|
multiple
|
:auto-upload="false">
|
<el-button slot="trigger" type="primary" size="small">选取文件</el-button>
|
<div slot="tip" class="el-upload__tip" v-if="value==='gx'">上传乡镇街道月累计</div>
|
<div slot="tip" class="el-upload__tip" v-else></div>
|
</el-upload>
|
<el-upload
|
v-if="value==='gx'"
|
class="upload-demo"
|
ref="upload4"
|
action=""
|
accept="xlsx"
|
:on-change="handleChange4"
|
:on-remove="handleRemove4"
|
:file-list="fileList4"
|
:limit="1"
|
:on-exceed="handleExceed"
|
multiple
|
:auto-upload="false">
|
<el-button slot="trigger" type="primary" size="small">选取文件</el-button>
|
<div slot="tip" class="el-upload__tip" v-if="value==='gx'">上传乡镇街道改善数据</div>
|
<div slot="tip" class="el-upload__tip" v-else></div>
|
</el-upload>
|
<el-upload
|
v-if="value==='gx'"
|
class="upload-demo"
|
ref="upload5"
|
action=""
|
accept="xlsx"
|
:on-change="handleChange5"
|
:on-remove="handleRemove5"
|
:file-list="fileList5"
|
:limit="1"
|
:on-exceed="handleExceed"
|
multiple
|
:auto-upload="false">
|
<el-button slot="trigger" type="primary" size="small">选取文件</el-button>
|
<div slot="tip" class="el-upload__tip" v-if="value==='gx'">上传国控改善数据</div>
|
<div slot="tip" class="el-upload__tip" v-else></div>
|
</el-upload>
|
<el-upload
|
v-if="value==='gx'"
|
class="upload-demo"
|
ref="upload6"
|
action=""
|
accept="xlsx"
|
:on-change="handleChange6"
|
:on-remove="handleRemove6"
|
:file-list="fileList6"
|
:limit="1"
|
:on-exceed="handleExceed"
|
multiple
|
:auto-upload="false">
|
<el-button slot="trigger" type="primary" size="small">选取文件</el-button>
|
<div slot="tip" class="el-upload__tip">上传餐饮油烟超标数据</div>
|
</el-upload>
|
<div v-if="value==='hn'" style="position: relative">
|
<el-upload
|
class="upload-demo"
|
ref="upload7"
|
action=""
|
accept="xlsx"
|
:on-change="handleChange7"
|
:on-remove="handleRemove7"
|
:file-list="fileList7"
|
:limit="1"
|
:on-exceed="handleExceed"
|
multiple
|
:auto-upload="false">
|
<el-button slot="trigger" type="primary" size="small">选取文件</el-button>
|
<div slot="tip" class="el-upload__tip">请上传国控点位日污染物浓度及AQI文件</div>
|
</el-upload>
|
<el-button type="success" @click="submitUpload" :disabled="idDisabled" size="small" style="position: absolute;right: 20%;bottom: -100%">提交文件</el-button>
|
</div>
|
<!-- <el-upload
|
v-if="value==='gx'"
|
class="upload-demo"
|
ref="upload8"
|
action=""
|
accept="xlsx"
|
:on-change="handleChange8"
|
:on-remove="handleRemove8"
|
:file-list="fileList8"
|
:limit="1"
|
:on-exceed="handleExceed"
|
multiple
|
:auto-upload="false">
|
<el-button slot="trigger" type="primary" size="small">选取文件</el-button>
|
<div slot="tip" class="el-upload__tip">上传数据</div>
|
</el-upload>-->
|
<!-- <div style="position: absolute; bottom: 2%; right: 20%">-->
|
<div style="position: absolute; right: 20%">
|
<el-button v-if="value==='gx'" type="success" @click="submitUpload" size="small">提交文件</el-button>
|
<!-- <el-button type="primary" @click="exportReport" size="small">下载报告</el-button>-->
|
</div>
|
</div>
|
<div class="exDown">
|
<el-card class="box-card" style="position: relative">
|
<div class="block" style="margin-bottom: 30px;">
|
<el-date-picker
|
v-model="value2"
|
type="daterange"
|
align="right"
|
unlink-panels
|
range-separator="至"
|
start-placeholder="开始日期"
|
end-placeholder="结束日期"
|
:picker-options="pickerOptions">
|
</el-date-picker>
|
<el-select v-model="valueSelect" clearable placeholder="请选择地区">
|
<el-option
|
v-for="item in optionsSelect"
|
:key="item.valueSelect"
|
:label="item.label"
|
:value="item.valueSelect">
|
</el-option>
|
</el-select>
|
<el-button type="primary" @click="selectReport(1)" size="small" class="selectBtn">查询</el-button>
|
<!-- <el-button type="primary" @click="selectReport" size="small" class="selectBtn">下载多个</el-button>-->
|
</div>
|
<div style="overflow-y: auto; height: 82%;margin-bottom: 2%;">
|
<el-table
|
:data="tableData"
|
style="width: 100%">
|
<!-- <el-table-column
|
width="100"
|
align="center">
|
<template slot="header">
|
<el-checkbox
|
:indeterminate="isIndeterminate"
|
v-model="checkAll"
|
@change="handleCheckAllChange">全选</el-checkbox>
|
</template>
|
<template slot-scope="scope">
|
<el-checkbox
|
v-model="scope.row.checked"
|
@change="handleCheckOneChange(scope.row)"></el-checkbox>
|
</template>
|
</el-table-column>-->
|
<el-table-column
|
prop="name"
|
label="报告名称"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="time"
|
label="提交时间"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="date"
|
label="创建时间"
|
>
|
</el-table-column>
|
<el-table-column label="操作">
|
<template slot-scope="scope">
|
<el-button type="text" size="medium" v-if="valueSelect==='gx'" @click="expReport(scope.row)">下载</el-button>
|
<!--导出excel-->
|
<img src="../../assets/icon/hn_excel.png" alt="蓝天计划excel" v-if="valueSelect==='hn'" @click="hnExcel(scope.row)" style="margin-left:0; cursor:pointer;">
|
<!--导出word -->
|
<img src="../../assets/icon/hn_word.png" alt="浑南区环境空气质量报告" v-if="valueSelect==='hn'" @click="hnExpReport(scope.row)" style="cursor:pointer;">
|
</template>
|
</el-table-column>
|
</el-table>
|
</div>
|
<div class="block" v-if="isDisplay">
|
<el-pagination
|
background
|
@size-change="handleSizeChange"
|
@current-change="handleCurrentChange"
|
:current-page.sync="currentPage3"
|
:page-size="onePageCount"
|
layout="total, prev, pager, next, jumper"
|
:total="totalNumber">
|
</el-pagination>
|
</div>
|
</el-card>
|
</div>
|
</div>
|
</template>
|
<script>
|
import { ExportBriefDataDocx } from '@/utils/exportBriefDataDocx'
|
import { ExportHunnanExcel } from '@/utils/ExportHunnanExcel'
|
export default {
|
data() {
|
return {
|
fileList: [],
|
fileList2: [],
|
fileList3: [],
|
fileList4: [],
|
fileList5: [],
|
fileList6: [],
|
fileList7: [],
|
fileList8: [],
|
file1: null,
|
file2: null,
|
file3: null,
|
file4: null,
|
file5: null,
|
file6: null,
|
file7: null,
|
file8: null,
|
pickerOptions: {
|
shortcuts: [{
|
text: '最近一周',
|
onClick(picker) {
|
const end = new Date()
|
const start = new Date()
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
|
picker.$emit('pick', [start, end])
|
}
|
}, {
|
text: '最近一个月',
|
onClick(picker) {
|
const end = new Date()
|
const start = new Date()
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
|
picker.$emit('pick', [start, end])
|
}
|
}, {
|
text: '最近三个月',
|
onClick(picker) {
|
const end = new Date()
|
const start = new Date()
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
|
picker.$emit('pick', [start, end])
|
}
|
}]
|
},
|
value2: [new Date(), new Date()], // 查询报告日期时间
|
value3: new Date(), // 提交文件的时间日期
|
options: [
|
{
|
value: 'hn',
|
label: '浑南区'
|
}, {
|
value: 'gx',
|
label: '高新区'
|
}
|
],
|
value: 'gx', // 地区
|
valueSelect: 'gx',
|
valueSelect2: 'hn',
|
optionsSelect: [
|
{
|
valueSelect: 'hn',
|
label: '浑南区'
|
}, {
|
valueSelect: 'gx',
|
label: '高新区'
|
}
|
],
|
tableData: [],
|
sensorTime: [], // 提交文件的日期
|
sensorTime2: [], // 查看报告的日期
|
formData2: [],
|
isInfo: false,
|
checkAll: false,
|
isIndeterminate: true,
|
dateArr: [], // 存储多选的日期
|
airData: {},
|
reportInfo: {},
|
hunNanAirData: [], // 浑南区word报告数据
|
hnexcelID: '',
|
idDisabled: false,
|
currentPage3: 1, // 前往第几页
|
totalNumber: 0, // 总条数
|
onePageCount: 8, // 一页多少条
|
isDisplay: false // 是否显示分页
|
}
|
},
|
watch: {
|
value(newName, oldName) {
|
this.valueSelect = newName
|
this.tableData = []
|
this.value2 = [new Date(), new Date()]
|
},
|
valueSelect(newName, oldName) {
|
this.tableData = []
|
}
|
},
|
methods: {
|
// 分页
|
handleSizeChange(val) {
|
console.log(`每页 ${val} 条`)
|
},
|
handleCurrentChange(val) {
|
console.log(`当前页: ${val}`)
|
this.selectReport(val)
|
},
|
// 上传
|
handleChange(file, fileList) {
|
if (file.raw.type !== 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') {
|
this.$refs.upload.handleRemove(file)
|
this.$message.warning(`上传文件格式不符合`)
|
return
|
}
|
this.fileList = fileList
|
this.file1 = fileList[0]
|
},
|
handleRemove(file, fileList) {
|
this.fileList = fileList
|
this.file1 = fileList[0]
|
},
|
handleChange2(file, fileList) {
|
if (file.raw.type !== 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') {
|
this.$refs.upload2.handleRemove(file)
|
this.$message.warning(`上传文件格式不符合`)
|
return
|
}
|
this.fileList2 = fileList
|
this.file2 = fileList[0]
|
},
|
handleRemove2(file, fileList) {
|
this.fileList2 = fileList
|
this.file2 = fileList[0]
|
},
|
handleChange3(file, fileList) {
|
if (file.raw.type !== 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') {
|
this.$refs.upload3.handleRemove(file)
|
this.$message.warning(`上传文件格式不符合`)
|
return
|
}
|
this.fileList3 = fileList
|
this.file3 = fileList[0]
|
},
|
handleRemove3(file, fileList) {
|
this.fileList3 = fileList
|
this.file3 = fileList[0]
|
},
|
handleChange4(file, fileList) {
|
if (file.raw.type !== 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') {
|
this.$refs.upload4.handleRemove(file)
|
this.$message.warning(`上传文件格式不符合`)
|
return
|
}
|
this.fileList4 = fileList
|
this.file4 = fileList[0]
|
},
|
handleRemove4(file, fileList) {
|
this.fileList4 = fileList
|
this.file4 = fileList[0]
|
},
|
handleChange5(file, fileList) {
|
if (file.raw.type !== 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') {
|
this.$refs.upload5.handleRemove(file)
|
this.$message.warning(`上传文件格式不符合`)
|
return
|
}
|
this.fileList5 = fileList
|
this.file5 = fileList[0]
|
},
|
handleRemove5(file, fileList) {
|
this.fileList5 = fileList
|
this.file5 = fileList[0]
|
},
|
handleChange6(file, fileList) {
|
if (file.raw.type !== 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' && file.raw.type !== 'application/vnd.ms-excel') {
|
this.$refs.upload6.handleRemove(file)
|
this.$message.warning(`上传文件格式不符合`)
|
return
|
}
|
this.fileList6 = fileList
|
this.file6 = fileList[0]
|
},
|
handleRemove6(file, fileList) {
|
this.fileList6 = fileList
|
this.file6 = fileList[0]
|
},
|
handleChange7(file, fileList) {
|
if (file.raw.type !== 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' && file.raw.type !== 'application/vnd.ms-excel') {
|
this.$refs.upload7.handleRemove(file)
|
this.$message.warning(`上传文件格式不符合`)
|
return
|
}
|
this.fileList7 = fileList
|
this.file7 = fileList[0]
|
},
|
handleRemove7(file, fileList) {
|
this.fileList7 = fileList
|
this.file7 = fileList[0]
|
},
|
handleExceed(files, fileList) {
|
this.$message.warning(`当前限制选择 1 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`)
|
},
|
submitUpload() {
|
this.formData2 = []
|
if (!this.value3) {
|
this.$message({
|
message: '请选择时间',
|
type: 'warning'
|
})
|
return
|
}
|
if (this.value === 'gx') { // 高新区表格导入
|
this.gxSubmit()
|
} else { // 浑南区表格导入
|
this.hnSubmit()
|
}
|
},
|
// 提交高新区表格数据
|
gxSubmit() {
|
if (this.file1 && this.file2 && this.file3 && this.file4 && this.file5 && this.file6) {
|
const formData = new FormData()
|
formData.append(`code`, this.value)
|
this.sensorTime = this.newTime(this.value3, 'submit')
|
var date = new Date()
|
date = this.newTime(date, 'submit')
|
formData.append(`time`, this.sensorTime)
|
formData.append(`date`, date)
|
formData.append(`files`, this.file1.raw)
|
formData.append(`files`, this.file2.raw)
|
formData.append(`files`, this.file3.raw)
|
formData.append(`files`, this.file4.raw)
|
formData.append(`files`, this.file5.raw)
|
formData.append(`files`, this.file6.raw)
|
// formData.append(`file7`, this.file7.raw)
|
// formData.append(`file8`, this.file8.raw)
|
// 后端上传接口
|
this.MultipartFile(formData).then(res => {
|
if (res.code === 0) {
|
var reportInfo = res.data
|
this.value2 = [this.value3, this.value3]
|
reportInfo.name = '高新区空气质量分析报告' + reportInfo.time.split('-').join('')
|
this.tableData = [reportInfo]
|
}
|
}).catch(err => {
|
console.log(err)
|
})
|
} else {
|
this.$message({
|
message: '提交文件数量不符合',
|
type: 'warning'
|
})
|
}
|
},
|
// 提交浑南区表格数据
|
hnSubmit() {
|
if (this.file7) {
|
const formData = new FormData()
|
formData.append(`code`, this.value)
|
this.sensorTime = this.newTime(this.value3, 'submit')
|
var date = new Date()
|
date = this.newTime(date, 'submit')
|
formData.append(`time`, this.sensorTime)
|
formData.append(`date`, date)
|
formData.append(`files`, this.file7.raw)
|
// 后端上传接口
|
this.MultipartFile(formData).then(res => {
|
this.idDisabled = false
|
if (res.code === 0) {
|
this.$message({
|
message: '提交成功!',
|
type: 'success'
|
})
|
var reportInfo = res.data
|
this.value2 = [this.value3, this.value3]
|
reportInfo.name = '浑南区报告' + reportInfo.time.split('-').join('')
|
this.tableData = [reportInfo]
|
} else {
|
this.$message.error('提交失败!')
|
}
|
}).catch(err => {
|
console.log(err)
|
})
|
} else {
|
this.$message({
|
message: '提交文件数量不符合',
|
type: 'warning'
|
})
|
}
|
},
|
// 文件上传接口
|
MultipartFile(data) {
|
this.idDisabled = true
|
if (this.value === 'gx') {
|
return this.$request({
|
url: '/excel/excelImport',
|
method: 'post',
|
headers: { 'Content-Type': 'multipart/form-data' }, // 多文件上传这一句必须加
|
data
|
})
|
} else {
|
return this.$request({
|
url: '/excel/syExcelImport',
|
method: 'post',
|
headers: { 'Content-Type': 'multipart/form-data' }, // 多文件上传这一句必须加
|
data
|
})
|
}
|
},
|
// 时间处理函数(日期带0)
|
newTime(timeArr, name) {
|
if (name === 'submit') {
|
var date = new Date(timeArr)
|
var y = date.getFullYear()
|
var m = date.getMonth() + 1
|
m = m < 10 ? '0' + m : m
|
var d = date.getDate()
|
d = d < 10 ? '0' + d : d
|
return y + '-' + m + '-' + d
|
} else {
|
var arr = []
|
timeArr.map(v => {
|
var date = new Date(v)
|
var y = date.getFullYear()
|
var m = date.getMonth() + 1
|
m = m < 10 ? '0' + m : m
|
var d = date.getDate()
|
d = d < 10 ? '0' + d : d
|
// var h = date.getHours()
|
// h = h < 10 ? '0' + h : h
|
// var minute = date.getMinutes()
|
// minute = minute < 10 ? '0' + minute : minute
|
// var s = date.getSeconds()
|
// s = s < 10 ? '0' + s : s
|
// arr.push(y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + s)
|
arr.push(y + '-' + m + '-' + d)
|
})
|
return arr
|
}
|
},
|
// 时间处理函数(日期不包括0)
|
newTimeNotZero(time) {
|
var date = new Date(time)
|
var y = date.getFullYear()
|
var m = date.getMonth() + 1
|
var d = date.getDate()
|
return y + '-' + m + '-' + d
|
},
|
// 全选
|
handleCheckAllChange(val) {
|
// console.info('check all change is ', val)
|
this.isIndeterminate = false
|
this.tableData.forEach(item => {
|
item.checked = val
|
this.dateArr.push(item.date)
|
})
|
if (val === false) {
|
this.dateArr = []
|
} else {
|
// console.log(this.dateArr, '全选')
|
this.dateArr = Array.from(new Set(this.dateArr))
|
}
|
},
|
// 选择
|
handleCheckOneChange(obj) {
|
// console.info('check one change is ', obj)
|
if (obj.checked === false) {
|
this.dateArr = this.dateArr.filter(v => {
|
return v !== obj.date
|
})
|
} else {
|
this.dateArr.push(obj.date)
|
}
|
var totalCount = this.tableData.length
|
let someStatusCount = 0
|
this.tableData.forEach(item => {
|
if (item.checked === obj.checked) {
|
someStatusCount++
|
}
|
})
|
this.count = someStatusCount
|
this.checkAll = totalCount === someStatusCount ? obj.checked : !obj.checked
|
this.isIndeterminate = someStatusCount > 0 && someStatusCount < totalCount
|
},
|
// 高新区报告下载
|
expReport(obj) {
|
this.$request({
|
url: '/excel/excelExport',
|
method: 'get',
|
params: {
|
id: obj.id
|
}
|
}).then(res => {
|
var getData = {}
|
getData = res.data
|
// 苏州市区放最后
|
getData.list1 = this.cityLast(getData.list1)
|
getData.list5 = this.cityLast(getData.list5)
|
// 高新区放最前边
|
getData.list2 = this.cityFirst(getData.list2)
|
getData.list3 = this.cityFirst(getData.list3)
|
getData.list4 = this.cityFirst(getData.list4)
|
this.airData = getData
|
var monthZero = res.data.time.split('月')[0]
|
if (monthZero.substr(0, 1) === '0') {
|
this.airData.month = monthZero.substr(1)
|
} else {
|
this.airData.month = res.data.time.split('月')[0]
|
}
|
var dayZero = res.data.time.split('月')[1].split('日')[0]
|
if (dayZero.substr(0, 1) === '0') {
|
this.airData.day = dayZero.substr(1)
|
} else {
|
this.airData.day = dayZero
|
}
|
var arr = obj.date.split('-')
|
if (arr[2].substr(0, 1) === '0') {
|
arr[2] = arr[2].substr(1)
|
}
|
if (arr[1].substr(0, 1) === '0') {
|
arr[1] = arr[1].substr(1)
|
}
|
this.airData.currentTime = arr[0] + '年' + arr[1] + '月' + arr[2] + '日'
|
this.airData.currentYear = arr[0]
|
var time1DayZero = ''
|
var time1MonthZero = ''
|
if (res.data.time1.split('年')[1].split('月')[0].substr(0, 1) === '0') {
|
time1MonthZero = res.data.time1.split('年')[1].split('月')[0].substr(1)
|
} else {
|
time1MonthZero = res.data.time1.split('年')[1].split('月')[0]
|
}
|
|
if (res.data.time1.split('月')[1].split('日')[0].substr(0, 1) === '0') {
|
time1DayZero = res.data.time1.split('月')[1].split('日')[0].substr(1)
|
} else {
|
time1DayZero = res.data.time1.split('月')[1].split('日')[0]
|
}
|
this.airData.time1 = res.data.time1.split('年')[0] + '年' + time1MonthZero + '月' + time1DayZero + '日'
|
ExportBriefDataDocx('/airQuality.docx', this.airData, `${obj.name}.docx`)
|
}).catch(err => {
|
console.log(err)
|
})
|
},
|
// 苏州市区放最后
|
cityLast(list) {
|
var obj = {}
|
list.map((v, i) => {
|
if (v.place === '苏州市区') {
|
obj = v
|
list.splice(i, 1)
|
}
|
})
|
list.push(obj)
|
return list
|
},
|
// 高新区放最前边
|
cityFirst(list) {
|
var obj = {}
|
list.map((v, i) => {
|
if (v.place === '高新区') {
|
obj = v
|
list.splice(i, 1)
|
}
|
})
|
list.unshift(obj)
|
return list
|
},
|
// 浑南区报告下载
|
hnExpReport(obj) {
|
this.$request({
|
url: '/excel/hnExcelExport',
|
method: 'get',
|
params: {
|
id: obj.id
|
// id: 68
|
}
|
}).then(res => {
|
// console.log(res)
|
this.hunNanAirData = res.data
|
// currentTime时间
|
var arr = res.data.time2.split('-')
|
var currentTime = arr[0] + '年' + arr[1] + '月' + arr[2] + '日'
|
var currentYear = arr[0]
|
this.hunNanAirData.currentTime = currentTime
|
this.hunNanAirData.currentYear = currentYear
|
// 对后端传来的09月26日,yearDate进行分割
|
var month = res.data.time.split('-')[0]
|
if (month.substr(0, 1) === '0') {
|
month = month.substr(1)
|
}
|
this.hunNanAirData.month = month
|
var day = res.data.time.split('-')[1]
|
if (day.substr(0, 1) === '0') {
|
day = day.substr(1)
|
}
|
this.hunNanAirData.day = day
|
ExportBriefDataDocx('/hunnan.docx', this.hunNanAirData, `浑南区${arr[1]}月${arr[2]}日环境空气质量报告.docx`)
|
}).catch(err => {
|
console.log(err)
|
})
|
},
|
// 浑南区excel下载
|
hnExcel(obj) {
|
this.$request({
|
url: '/excel/syExcelExport',
|
method: 'get',
|
params: {
|
id: obj.id
|
}
|
}).then(res => {
|
var code2 = res.data.code2.substr(0, 2) + '\n' + res.data.code2.substr(2)
|
var code4 = res.data.code4.substr(0, 2) + '\n' + res.data.code4.substr(2)
|
var table1Data = [['', '目标值', '进度', '进度', '同比'], ['', '', '', '', ''], ['优良天', '300', res.data.code1, '', code2], ['', '', '', '', ''], ['PM2.5', '41', res.data.code3, '', code4], ['', '', '', '', '']]
|
var table3Data = [['', '目标值', '目标值', '进度', '进度'], ['', '目标值', '目标值', '进度', '进度'], ['优良天', '80', '80', res.data.code5, ''], ['', '', '', '', ''], ['PM2.5', '23', '23', res.data.code6, ''], ['', '', '', '', '']]
|
var table2Data = [
|
res.data.list.sy1,
|
res.data.list.sy2,
|
res.data.list.hnd1,
|
res.data.list.hnd2,
|
res.data.list.xxj1,
|
res.data.list.xxj2,
|
res.data.list.hnq1,
|
res.data.list.hnq2
|
]
|
var data = new Date()
|
var currentYearData = data.getFullYear()
|
var jd = res.data.season
|
ExportHunnanExcel(`蓝天计划挂图作战${obj.time.split('-').join('')}`, table1Data, table3Data, table2Data, currentYearData, jd)
|
}).catch(err => {
|
console.log(err)
|
})
|
},
|
// 导出报告
|
exportReport() {
|
// 导出excel报告
|
// table1的数据:
|
/* var table1Data = [['', '目标值', '进度', '进度', '同比'], ['', '', '', '', ''], ['优良天', '300', '215', '', '增加\n11天'], ['', '', '', '', ''], ['PM2.5', '41', '33', '33', '改善\n20.7%'], ['', '', '', '', '']]
|
var table3Data = [['', '目标值', '目标值', '进度', '进度'], ['', '目标值', '目标值', '进度', '进度'], ['优良天', '80', '80', '61', '61'], ['', '', '', '', ''], ['PM2.5', '23', '23', '18', '18'], ['', '', '', '', '']]
|
var table2Data = [
|
['优良天数', '21', '25', '29', '27', '24', '26', '28', '18', '5', '', '', '', '215', '增加9天'],
|
['PM2.5浓度微克/立方', '11', '30', '29', '27', '24', '26', '28', '18', '5', '', '', '', '215', '改善17.9%'],
|
['优良天数', '21', '25', '29', '27', '24', '26', '28', '18', '5', '', '', '', '215', '增加9天'],
|
['PM2.5浓度微克/立方', '22', '25', '23', '37', '34', '36', '38', '18', '5', '', '', '', '215', '改善17.9%'],
|
['优良天数', '21', '25', '29', '27', '24', '26', '28', '18', '5', '', '', '', '215', '增加9天'],
|
['PM2.5浓度微克/立方', '28', '69', '39', '27', '24', '26', '28', '18', '5', '', '', '', '215', '改善17.9%'],
|
['优良天数', '21', '25', '29', '27', '24', '26', '28', '18', '5', '', '', '', '215', '增加9天'],
|
['PM2.5浓度微克/立方', '32', '20', '29', '27', '24', '26', '28', '18', '5', '', '', '', '215', '改善17.9%']
|
]
|
var data = new Date()
|
var currentYearData = data.getFullYear()
|
var jd = '四'
|
ExportHunnanExcel('蓝天计划挂图作战', table1Data, table3Data, table2Data, currentYearData, jd)*/
|
|
// 导出word报告
|
// 时间
|
/* var arr = this.newTimeNotZero(this.value3).split('-')
|
var currentTime = arr[0] + ' 年' + arr[1] + ' 月' + arr[2] + ' 日'
|
var currentYear = arr[0]
|
this.hunNanAirData.currentTime = currentTime
|
this.hunNanAirData.currentYear = currentYear
|
// 以下是后端传来数据
|
var yearDate = '09月26日'
|
var list1 = {
|
sy: {
|
AQI: 127,
|
PM25: 38,
|
PM10: 75,
|
CO: 1.1,
|
O38H: 21,
|
SO2: 189,
|
NO2: 20,
|
ZH: 32,
|
PaiM: '-'
|
},
|
hnd: {
|
AQI: 71,
|
PM25: 38,
|
PM10: 75,
|
CO: 1.1,
|
O38H: 21,
|
SO2: 189,
|
NO2: 20,
|
ZH: 32,
|
PaiM: '-'
|
},
|
xxj: {
|
AQI: 72,
|
PM25: 38,
|
PM10: 75,
|
CO: 1.1,
|
O38H: 21,
|
SO2: 189,
|
NO2: 20,
|
ZH: 32,
|
PaiM: '-'
|
}
|
}
|
var hnd = {
|
hnd1: {
|
nd: '2022',
|
yl: '226',
|
excellent: '92',
|
good: '134',
|
slightPol: '36',
|
moderatePol: '6',
|
heavyPol: '1',
|
seriousPol: '0'
|
},
|
hnd2: {
|
nd: '2021',
|
yl: '222',
|
excellent: '92',
|
good: '134',
|
slightPol: '36',
|
moderatePol: '6',
|
heavyPol: '1',
|
seriousPol: '0'
|
},
|
hnd3: {
|
nd: '变化幅度',
|
yl: '4',
|
excellent: '92',
|
good: '134',
|
slightPol: '36',
|
moderatePol: '6',
|
heavyPol: '1',
|
seriousPol: '0'
|
}
|
}
|
var xxj = {
|
xxj1: {
|
nd: '2022',
|
yl: '226',
|
excellent: '92',
|
good: '134',
|
slightPol: '36',
|
moderatePol: '6',
|
heavyPol: '1',
|
seriousPol: '0'
|
},
|
xxj2: {
|
nd: '2021',
|
yl: '222',
|
excellent: '92',
|
good: '134',
|
slightPol: '36',
|
moderatePol: '6',
|
heavyPol: '1',
|
seriousPol: '0'
|
},
|
xxj3: {
|
nd: '变化幅度',
|
yl: '4',
|
excellent: '92',
|
good: '134',
|
slightPol: '36',
|
moderatePol: '6',
|
heavyPol: '1',
|
seriousPol: '0'
|
}
|
}
|
var datafor = {
|
so2: '23%',
|
no2: '25%',
|
co: '-23'
|
}
|
// var airQua = '二级良'
|
var airQua = '一级优'
|
this.hunNanAirData.list1 = list1
|
this.hunNanAirData.hnd = hnd
|
this.hunNanAirData.xxj = xxj
|
this.hunNanAirData.airQua = airQua
|
// 对后端传来的9月26日进行分割
|
var month = yearDate.split('月')[0]
|
if (month.substr(0, 1) === '0') {
|
month = month.substr(1)
|
}
|
this.hunNanAirData.month = month
|
var day = yearDate.split('月')[1].split('日')[0]
|
if (day.substr(0, 1) === '0') {
|
day = day.substr(1)
|
}
|
this.hunNanAirData.day = day
|
this.hunNanAirData.datafor = datafor
|
ExportBriefDataDocx('/HunnanReport.docx', this.hunNanAirData, `浑南区${month}月${day}日环境空气质量报告.docx`)*/
|
},
|
// 查询报告
|
selectReport(val) {
|
var page = val
|
if (this.isDisplay === false) {
|
page = 0
|
}
|
this.sensorTime2 = this.newTime(this.value2, 'select')
|
this.$request({
|
// url: '/excel/selectExcel',
|
url: 'excel/selectExcel',
|
method: 'get',
|
params: {
|
startTime: this.sensorTime2[0],
|
endTime: this.sensorTime2[1],
|
code: this.valueSelect,
|
pageCount: page
|
}
|
}).then(res => {
|
if (res.code === 0) {
|
var info = []
|
if (this.isDisplay) {
|
this.totalNumber = res.data.total
|
info = res.data.item
|
} else {
|
info = res.data
|
}
|
info.map(v => {
|
if (this.valueSelect === 'gx') {
|
v.name = '高新区空气质量分析报告' + v.time.split('-').join('')
|
} else {
|
v.name = '浑南区报告' + v.time.split('-').join('')
|
}
|
})
|
info.sort((a, b) => { return b.time.split('-').join('') - a.time.split('-').join('') })
|
this.tableData = info
|
}
|
}).catch(err => {
|
console.log(err)
|
})
|
}
|
}
|
}
|
</script>
|
|
<style scoped>
|
.analyseAir{
|
width: 100%;
|
height: 100%;
|
display: flex;
|
padding-top: 22px;
|
}
|
.exTop{
|
width: 30%;
|
/*height: 95%;*/
|
position: relative;
|
overflow: auto;
|
margin-bottom: 2%;
|
}
|
.cascader-demo{
|
float: left;
|
padding: 0% 2%;
|
}
|
.upload-demo{
|
margin-left: 2%;
|
/*float: left;*/
|
margin-top: 4%;
|
height: 65px;
|
}
|
.upload-demo /deep/ .el-upload-list__item{
|
font-size: 15px;
|
}
|
.upload-demo /deep/ .el-upload-list__item:first-child{
|
margin-top: 2px;
|
}
|
.exDown {
|
width: 50%;
|
height: 95%;
|
margin-left: 2%;
|
font-size: 18px;
|
}
|
.exDown /deep/ .el-card{
|
width: 100%;
|
height: 100%;
|
}
|
.divPadding{
|
width: 80%;
|
margin: auto;
|
}
|
.textCenter{
|
text-align: center;
|
}
|
.fontS14{
|
font-size: 14px;
|
}
|
.upload-demo button{
|
margin-right: 10%;
|
}
|
.upload-demo /deep/ .el-upload{
|
margin-right: 10%;
|
}
|
.selectBtn{
|
margin-left: 5%;
|
}
|
.el-card /deep/ .el-card__body{
|
height: 815px;
|
}
|
.paginationDemo{
|
position: absolute;
|
left: 0;
|
bottom: 3%;
|
}
|
.el-upload__tip{
|
color: red;
|
}
|
</style>
|