From 34475f972c47ab1706f2e7b7640f1cd9b81ae1ea Mon Sep 17 00:00:00 2001
From: quanyawei <401863037@qq.com>
Date: Wed, 15 Nov 2023 10:58:21 +0800
Subject: [PATCH] Merge branch 'feature_1.0'
---
src/views/air/index.vue | 1119 +++++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 745 insertions(+), 374 deletions(-)
diff --git a/src/views/air/index.vue b/src/views/air/index.vue
index 9c2479b..e01af93 100644
--- a/src/views/air/index.vue
+++ b/src/views/air/index.vue
@@ -1,123 +1,157 @@
<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">
+ v-for="item in options"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
</el-option>
</el-select>
</div>
<el-date-picker
- v-if="value==='gx'"
- v-model="value3"
- style="margin-right: 5%"
- align="right"
- type="date"
- placeholder="������������">
+ 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">������������������������������</div>
+ 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">���������������������������</div>
+ 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">���������������������������</div>
+ 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">������������������������������</div>
+ 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">������������������������</div>
+ 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>
+ 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>
-<!-- <el-upload
- v-if="value==='gx'"
+ <div v-if="value === 'hn'" style="position: relative">
+ <el-upload
class="upload-demo"
ref="upload7"
action=""
@@ -128,11 +162,25 @@
: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>
- <el-upload
+ :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"
@@ -148,86 +196,117 @@
<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%" v-if="value==='gx'">
- <el-button type="success" @click="submitUpload" size="small">������������</el-button>
-<!-- <el-button type="primary" @click="exportReport" size="small">������������</el-button>-->
+ <!-- <div style="position: absolute; bottom: 2%; right: 20%">-->
+ <div style="position: absolute; right: 20%; padding-top: 20px">
+ <el-button
+ v-if="value === 'gx'"
+ type="success"
+ @click="submitUpload"
+ size="small"
+ >������������</el-button
+ >
</div>
</div>
- <div class="exDown" v-if="value==='gx'">
+ <div class="exDown">
<el-card class="box-card" style="position: relative">
- <div class="block" style="margin-bottom: 30px;">
+ <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">
+ 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">
+ v-for="item in optionsSelect"
+ :key="item.valueSelect"
+ :label="item.label"
+ :value="item.valueSelect"
+ >
</el-option>
</el-select>
- <el-button type="primary" @click="selectReport" size="small" class="selectBtn">������</el-button>
-<!-- <el-button type="primary" @click="selectReport" size="small" class="selectBtn">������������</el-button>-->
- </div>
- <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-button
+ type="primary"
+ @click="selectReport(1)"
+ size="small"
+ class="selectBtn"
+ >������</el-button
>
- </el-table-column>
- <el-table-column label="������">
- <template slot-scope="scope">
- <el-button type="text" size="medium" @click="expReport(scope.row)">������</el-button>
- </template>
- </el-table-column>
- </el-table>
-<!-- <el-pagination
- class="paginationDemo"
+ <!-- <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
- layout="prev, pager, next"
- :total="100">
- </el-pagination>-->
+ @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 {
@@ -248,53 +327,60 @@
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])
- }
- }]
+ 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: 'sy',
- label: '������'
- }, {
+ value: 'hn',
+ label: '���������',
+ },
+ {
value: 'gx',
- label: '���������'
- }
+ label: '���������',
+ },
],
value: 'gx', // ������
valueSelect: 'gx',
+ valueSelect2: 'hn',
optionsSelect: [
{
- valueSelect: 'sy',
- label: '������'
- }, {
+ valueSelect: 'hn',
+ label: '���������',
+ },
+ {
valueSelect: 'gx',
- label: '���������'
- }
+ label: '���������',
+ },
],
tableData: [],
sensorTime: [], // ���������������������
@@ -305,13 +391,42 @@
isIndeterminate: true,
dateArr: [], // ���������������������
airData: {},
- reportInfo: {}
+ 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)
+ if (
+ file.raw.type !==
+ 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
+ ) {
+ this.$refs.upload1.handleRemove(file)
this.$message.warning(`���������������������������`)
return
}
@@ -323,7 +438,10 @@
this.file1 = fileList[0]
},
handleChange2(file, fileList) {
- if (file.raw.type !== 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') {
+ if (
+ file.raw.type !==
+ 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
+ ) {
this.$refs.upload2.handleRemove(file)
this.$message.warning(`���������������������������`)
return
@@ -336,7 +454,10 @@
this.file2 = fileList[0]
},
handleChange3(file, fileList) {
- if (file.raw.type !== 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') {
+ if (
+ file.raw.type !==
+ 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
+ ) {
this.$refs.upload3.handleRemove(file)
this.$message.warning(`���������������������������`)
return
@@ -349,7 +470,10 @@
this.file3 = fileList[0]
},
handleChange4(file, fileList) {
- if (file.raw.type !== 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') {
+ if (
+ file.raw.type !==
+ 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
+ ) {
this.$refs.upload4.handleRemove(file)
this.$message.warning(`���������������������������`)
return
@@ -362,7 +486,10 @@
this.file4 = fileList[0]
},
handleChange5(file, fileList) {
- if (file.raw.type !== 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') {
+ if (
+ file.raw.type !==
+ 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
+ ) {
this.$refs.upload5.handleRemove(file)
this.$message.warning(`���������������������������`)
return
@@ -375,7 +502,11 @@
this.file5 = fileList[0]
},
handleChange6(file, fileList) {
- if (file.raw.type !== 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' && file.raw.type !== 'application/vnd.ms-excel') {
+ 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
@@ -387,8 +518,12 @@
this.fileList6 = fileList
this.file6 = fileList[0]
},
- /* handleChange7(file, fileList) {
- if (file.raw.type !== 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') {
+ 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
@@ -400,33 +535,40 @@
this.fileList7 = fileList
this.file7 = fileList[0]
},
- handleChange8(file, fileList) {
- if (file.raw.type !== 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') {
- this.$refs.upload8.handleRemove(file)
- this.$message.warning(`���������������������������`)
- return
- }
- this.fileList8 = fileList
- this.file8 = fileList[0]
- },
- handleRemove8(file, fileList) {
- this.fileList8 = fileList
- this.file8 = fileList[0]
- },*/
handleExceed(files, fileList) {
- this.$message.warning(`������������������ 1 ��������������������������� ${files.length} ������������������������ ${files.length + fileList.length} ���������`)
+ this.$message.warning(
+ `������������������ 1 ��������������������������� ${files.length} ������������������������ ${
+ files.length + fileList.length
+ } ���������`
+ )
},
submitUpload() {
this.formData2 = []
-
if (!this.value3) {
this.$message({
message: '���������������',
- type: 'warning'
+ type: 'warning',
})
return
}
- if (this.file1 && this.file2 && this.file3 && this.file4 && this.file5 && this.file6) {
+ 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')
@@ -443,33 +585,86 @@
// 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)
- })
+ 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'
+ type: 'warning',
})
}
},
- // ������������������
- MultipartFile(data) {
- return this.$request({
- url: '/excel/excelImport',
- method: 'post',
- headers: { 'Content-Type': 'multipart/form-data' }, // ���������������������������������
- data
- })
+ // ���������������������������
+ 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)
@@ -481,7 +676,7 @@
return y + '-' + m + '-' + d
} else {
var arr = []
- timeArr.map(v => {
+ timeArr.map((v) => {
var date = new Date(v)
var y = date.getFullYear()
var m = date.getMonth() + 1
@@ -500,11 +695,19 @@
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 => {
+ this.tableData.forEach((item) => {
item.checked = val
this.dateArr.push(item.date)
})
@@ -519,7 +722,7 @@
handleCheckOneChange(obj) {
// console.info('check one change is ', obj)
if (obj.checked === false) {
- this.dateArr = this.dateArr.filter(v => {
+ this.dateArr = this.dateArr.filter((v) => {
return v !== obj.date
})
} else {
@@ -527,42 +730,98 @@
}
var totalCount = this.tableData.length
let someStatusCount = 0
- this.tableData.forEach(item => {
+ this.tableData.forEach((item) => {
if (item.checked === obj.checked) {
someStatusCount++
}
})
this.count = someStatusCount
- this.checkAll = totalCount === someStatusCount ? obj.checked : !obj.checked
+ 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
- this.airData.month = res.data.time.split('���')[0]
- this.airData.day = res.data.time.split('���')[1].split('���')[0]
- var arr = obj.time.split('-')
- this.airData.currentTime = arr[0] + '���' + arr[1] + '���' + arr[2] + '���'
- ExportBriefDataDocx('/airQuality.docx', this.airData, `${obj.name}.docx`)
- }).catch(err => {
- console.log(err)
+ id: obj.id,
+ },
})
+ .then((res) => {
+ console.log(res, 'xia')
+ var getData = {}
+ getData = res.data
+ // ���������������������
+ getData.list1 = this.cityLast(getData.list1)
+ getData.list5 = this.cityLast(getData.list5)
+ // ���������/���������������������
+ getData.list2 = this.cityFirst2(getData.list2)
+ getData.list3 = this.cityFirst2(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(
+ '/airQuality1.docx',
+ this.airData,
+ `${obj.name}.docx`
+ )
+ })
+ .catch((err) => {
+ console.log(err)
+ })
},
// ���������������������
cityLast(list) {
@@ -573,7 +832,9 @@
list.splice(i, 1)
}
})
- list.push(obj)
+ if (obj.place) {
+ list.push(obj)
+ }
return list
},
// ���������������������
@@ -585,131 +846,241 @@
list.splice(i, 1)
}
})
- list.unshift(obj)
+ if (obj.place) {
+ list.unshift(obj)
+ }
return list
},
- // ������������
- exportReport() {
- // ExportBriefDataDocx('/airQuality.docx', this.airData, `������������������.docx`)
+ // ���������������������������������������/���������
+ cityFirst2(list) {
+ var obj = {}
+ list.map((v, i) => {
+ if (v.place === '���������') {
+ obj = v
+ list.splice(i, 1)
+ }
+ if (v.place === '���������') {
+ obj = v
+ list.splice(i, 1)
+ }
+ })
+ if (obj.place) {
+ list.unshift(obj)
+ }
+ return list
+ },
+ // ���������������������
+ hnExpReport(obj) {
this.$request({
- url: '/excel/excelExport',
+ url: '/excel/hnExcelExport',
method: 'get',
params: {
- id: 23
- }
- }).then(res => {
- console.log(res)
- this.airData = res.data
- this.airData.month = res.data.time.split('���')[0]
- this.airData.day = res.data.time.split('���')[1].split('���')[0]
- ExportBriefDataDocx('/airQuality.docx', this.airData, `������������������.docx`)
- }).catch(err => {
- console.log(err)
+ id: obj.id,
+ // id: 68
+ },
})
-
- // if (this.isInfo) {
- // // ExportBriefDataDocx('/airQ.docx', this.airData, `������������������.docx`)
- // } else {
- // this.$message({
- // message: '������������������',
- // type: 'warning'
- // })
- // }
+ .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 = [
+ ['', '���������', '���������', '������', '������'],
+ ['', '���������', '���������', '������', '������'],
+ ['���������', '69', '69', res.data.code5, ''],
+ ['', '', '', '', ''],
+ ['PM2.5', '40', '40', 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)
+ })
},
// ������������
- selectReport() {
+ 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',
+ url: 'excel/selectExcel',
method: 'get',
params: {
startTime: this.sensorTime2[0],
endTime: this.sensorTime2[1],
- code: this.valueSelect
- }
- }).then(res => {
- if (res.code === 0) {
- var info = res.data
- info.map(v => {
- 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)
+ 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{
+.analyseAir {
width: 100%;
height: 100%;
display: flex;
padding-top: 22px;
}
- .exTop{
- width: 30%;
- height: 95%;
- position: relative;
- }
- .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{
+.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;
- }
+.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>
--
Gitblit v1.8.0