commit
cabade84d3
|
@ -257,7 +257,15 @@ geteqetdata(data) {
|
||||||
getControlChartdata(data) {
|
getControlChartdata(data) {
|
||||||
return sendPostRequest('/equip/chartdata?equipmentId=' + data, '')
|
return sendPostRequest('/equip/chartdata?equipmentId=' + data, '')
|
||||||
},
|
},
|
||||||
|
//首页历史数据/数据分析弹窗
|
||||||
|
selFsAvgdata(data) {
|
||||||
|
return sendPostRequest('/selFs/avgdata',data)
|
||||||
|
},
|
||||||
|
//首页历史数据/数据分析弹窗下载数据
|
||||||
|
selFsAvgdatadownload(data) {
|
||||||
|
return sendPostRequest('/selFs/avgdatadownload',data)
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 根据用户id查询对应的设备大数据信息
|
// 根据用户id查询对应的设备大数据信息
|
||||||
|
|
|
@ -20,8 +20,8 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="input-sel-time">
|
<div class="input-sel-time">
|
||||||
<span>时间段</span>
|
<span>时间段</span>
|
||||||
<el-date-picker v-model="dateRange" type="datetimerange" range-separator="至" start-placeholder="开始时间"
|
<el-date-picker v-model="dateRange" type="datetimerange" range-separator="至"
|
||||||
end-placeholder="结束时间">
|
start-placeholder="开始时间" end-placeholder="结束时间">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</div>
|
</div>
|
||||||
<div class="input-btn ">
|
<div class="input-btn ">
|
||||||
|
@ -31,10 +31,10 @@
|
||||||
<div class="btn blue" @click="download">
|
<div class="btn blue" @click="download">
|
||||||
下载
|
下载
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="btn blue">
|
<div class="btn blue" @click="openModel">
|
||||||
数据统计
|
数据统计
|
||||||
</div>
|
</div>
|
||||||
<div class="btn blue">
|
<!-- <div class="btn blue">
|
||||||
日/夜平均时间范围设置
|
日/夜平均时间范围设置
|
||||||
</div> -->
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
|
@ -51,14 +51,64 @@
|
||||||
|
|
||||||
</el-table>
|
</el-table>
|
||||||
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
|
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
|
||||||
:current-page="currentPage" :page-sizes="[10, 20, 50, 100, 200, 500, 1000,1500]" :page-size="pageSize"
|
:current-page="currentPage" :page-sizes="[10, 20, 50, 100, 200, 500, 1000, 1500]"
|
||||||
layout="->,total, sizes, prev, pager, next, jumper" :total="total">
|
:page-size="pageSize" layout="->,total, sizes, prev, pager, next, jumper" :total="total">
|
||||||
</el-pagination>
|
</el-pagination>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<el-dialog title="数据统计" class="vrcode-model" :append-to-body="true" :visible.sync="addModel" width="80%">
|
||||||
|
<el-button class="model-return-btn" type="primary" @click="addModel = false">返 回</el-button>
|
||||||
|
<div class="model-title">数据统计</div>
|
||||||
|
<div class="flex-view">
|
||||||
|
<div class="input-btn">
|
||||||
|
<span>快速查询</span>
|
||||||
|
<div class="btn btn-w66" @click="active1 = 0" :class="active1 == 0 ? 'blue' : 'off'">
|
||||||
|
今日
|
||||||
|
</div>
|
||||||
|
<div class="btn btn-w66" @click="active1 = 1" :class="active1 == 1 ? 'blue' : 'off'">
|
||||||
|
昨日
|
||||||
|
</div>
|
||||||
|
<div class="btn btn-w66" @click="active1 = 2" :class="active1 == 2 ? 'blue' : 'off'">
|
||||||
|
自定义
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="input-sel-time">
|
||||||
|
<span>时间段</span>
|
||||||
|
<el-date-picker v-model="dateRange1" type="datetimerange" range-separator="至"
|
||||||
|
start-placeholder="开始时间" end-placeholder="结束时间">
|
||||||
|
</el-date-picker>
|
||||||
|
</div>
|
||||||
|
<div class="input-btn ">
|
||||||
|
<div class="btn blue" @click="search1">
|
||||||
|
查询
|
||||||
|
</div>
|
||||||
|
<div class="btn blue" @click="download1">
|
||||||
|
下载
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="table-view" style="padding-bottom: 20px;">
|
||||||
|
<el-table :data="tableData1" :row-class-name="tableRowClassName" max-height="520" style="width: 100%">
|
||||||
|
<el-table-column min-width='180' prop="time" label="时间"></el-table-column>
|
||||||
|
<el-table-column min-width='150' prop="envirnmentName" label="名称"></el-table-column>
|
||||||
|
<el-table-column min-width='150' prop="dif" label="差值"></el-table-column>
|
||||||
|
<el-table-column min-width='150' prop="max" label="最大值"></el-table-column>
|
||||||
|
<el-table-column min-width='150' prop="min" label="最小值"></el-table-column>
|
||||||
|
<el-table-column min-width='150' prop="avg" label="平均值"></el-table-column>
|
||||||
|
|
||||||
|
</el-table>
|
||||||
|
<el-pagination @size-change="handleSizeChange1" @current-change="handleCurrentChange1"
|
||||||
|
:current-page="currentPage1" :page-sizes="[10, 20, 50, 100, 200, 500, 1000, 1500]"
|
||||||
|
:page-size="pageSize1" layout="->,total, sizes, prev, pager, next, jumper" :total="total1">
|
||||||
|
</el-pagination>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
|
// 本页面内后缀带1的都是数据分析弹窗的数据 不带1的都是页面初始的
|
||||||
import { Loading } from 'element-ui';
|
import { Loading } from 'element-ui';
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
|
@ -70,7 +120,16 @@ export default {
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
tableList: [],
|
tableList: [],
|
||||||
total: 0,
|
total: 0,
|
||||||
loading:null,
|
loading: null,
|
||||||
|
|
||||||
|
addModel:false,
|
||||||
|
active1: 0,
|
||||||
|
dateRange1: [],
|
||||||
|
tableData1: [],
|
||||||
|
currentPage1: 1,
|
||||||
|
pageSize1: 10,
|
||||||
|
tableList1: [],
|
||||||
|
total1: 0,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
|
@ -79,6 +138,11 @@ export default {
|
||||||
this.dataInit()
|
this.dataInit()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
active1(newVal, oldVal) {
|
||||||
|
if (newVal != 2) {
|
||||||
|
this.dataInit1()
|
||||||
|
}
|
||||||
|
},
|
||||||
$route(newVal, oldVal) {
|
$route(newVal, oldVal) {
|
||||||
const that = this;
|
const that = this;
|
||||||
const store = this.$store.state
|
const store = this.$store.state
|
||||||
|
@ -92,6 +156,12 @@ export default {
|
||||||
this.dataInit()
|
this.dataInit()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
openModel() {
|
||||||
|
this.addModel = true
|
||||||
|
setTimeout(() => {
|
||||||
|
this.dataInit1()
|
||||||
|
}, 0);
|
||||||
|
},
|
||||||
getTime(time) {
|
getTime(time) {
|
||||||
// 中国标准时间
|
// 中国标准时间
|
||||||
var chinaTime = new Date(time);
|
var chinaTime = new Date(time);
|
||||||
|
@ -103,13 +173,34 @@ export default {
|
||||||
var formattedTime = utcTime.toISOString().slice(0, 19).replace('T', ' ');
|
var formattedTime = utcTime.toISOString().slice(0, 19).replace('T', ' ');
|
||||||
return formattedTime
|
return formattedTime
|
||||||
},
|
},
|
||||||
|
search1() {
|
||||||
|
this.dataInit1()
|
||||||
|
},
|
||||||
|
dataInit1() {
|
||||||
|
this.loading = this.$loading({
|
||||||
|
lock: true,
|
||||||
|
text: '加载中',
|
||||||
|
spinner: 'el-icon-loading',
|
||||||
|
background: 'rgba(0, 0, 0, 0.7)'
|
||||||
|
});
|
||||||
|
if (this.active1 == 0) {
|
||||||
|
this.timeInit(1)
|
||||||
|
} else if (this.active1 == 1) {
|
||||||
|
this.yesterdayTime(1)
|
||||||
|
}
|
||||||
|
this.pageSize1 = 10
|
||||||
|
this.currentPage1 = 1
|
||||||
|
setTimeout(() => {
|
||||||
|
this.getData1()
|
||||||
|
}, 0);
|
||||||
|
},
|
||||||
dataInit() {
|
dataInit() {
|
||||||
this.loading = this.$loading({
|
this.loading = this.$loading({
|
||||||
lock: true,
|
lock: true,
|
||||||
text: '加载中',
|
text: '加载中',
|
||||||
spinner: 'el-icon-loading',
|
spinner: 'el-icon-loading',
|
||||||
background: 'rgba(0, 0, 0, 0.7)'
|
background: 'rgba(0, 0, 0, 0.7)'
|
||||||
});
|
});
|
||||||
if (this.active == 0) {
|
if (this.active == 0) {
|
||||||
this.timeInit()
|
this.timeInit()
|
||||||
} else if (this.active == 1) {
|
} else if (this.active == 1) {
|
||||||
|
@ -121,26 +212,26 @@ export default {
|
||||||
this.getData()
|
this.getData()
|
||||||
}, 0);
|
}, 0);
|
||||||
},
|
},
|
||||||
download() {
|
download1() {
|
||||||
this.loading = this.$loading({
|
this.loading = this.$loading({
|
||||||
lock: true,
|
lock: true,
|
||||||
text: '加载中',
|
text: '加载中',
|
||||||
spinner: 'el-icon-loading',
|
spinner: 'el-icon-loading',
|
||||||
background: 'rgba(0, 0, 0, 0.7)'
|
background: 'rgba(0, 0, 0, 0.7)'
|
||||||
});
|
});
|
||||||
var store = this.$store.state
|
var store = this.$store.state
|
||||||
var index = store.equipmentIndex;
|
var index = store.equipmentIndex;
|
||||||
var data = {
|
var data = {
|
||||||
equipmentId: store.equipmentList[index - 1].deviceId,
|
equipmentId: store.equipmentList[index - 1].deviceId,
|
||||||
startTime: this.getTime(this.dateRange[0]),
|
startTime: this.getTime(this.dateRange1[0]),
|
||||||
endTime: this.getTime(this.dateRange[1]),
|
endTime: this.getTime(this.dateRange1[1]),
|
||||||
page: this.currentPage,
|
page: this.currentPage1,
|
||||||
pageSize: this.pageSize,
|
pageSize: this.pageSize1,
|
||||||
isEquipment: store.equipmentList[index - 1].deviceName == 30 ? 1 : 0
|
isEquipment: store.equipmentList[index - 1].deviceName == 30 ? 1 : 0
|
||||||
}
|
}
|
||||||
this.api.loadHistorydata(data).then(res => {
|
this.api.selFsAvgdatadownload(data).then(res => {
|
||||||
// 创建一个blob对象
|
// 创建一个blob对象
|
||||||
this.loading.close()
|
this.loading.close()
|
||||||
const blob = new Blob([res.data], { type: 'text/csv' });
|
const blob = new Blob([res.data], { type: 'text/csv' });
|
||||||
|
|
||||||
// 创建一个a标签
|
// 创建一个a标签
|
||||||
|
@ -160,6 +251,64 @@ export default {
|
||||||
window.URL.revokeObjectURL(url);
|
window.URL.revokeObjectURL(url);
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
download() {
|
||||||
|
this.loading = this.$loading({
|
||||||
|
lock: true,
|
||||||
|
text: '加载中',
|
||||||
|
spinner: 'el-icon-loading',
|
||||||
|
background: 'rgba(0, 0, 0, 0.7)'
|
||||||
|
});
|
||||||
|
var store = this.$store.state
|
||||||
|
var index = store.equipmentIndex;
|
||||||
|
var data = {
|
||||||
|
equipmentId: store.equipmentList[index - 1].deviceId,
|
||||||
|
startTime: this.getTime(this.dateRange[0]),
|
||||||
|
endTime: this.getTime(this.dateRange[1]),
|
||||||
|
page: this.currentPage,
|
||||||
|
pageSize: this.pageSize,
|
||||||
|
isEquipment: store.equipmentList[index - 1].deviceName == 30 ? 1 : 0
|
||||||
|
}
|
||||||
|
this.api.loadHistorydata(data).then(res => {
|
||||||
|
// 创建一个blob对象
|
||||||
|
this.loading.close()
|
||||||
|
const blob = new Blob([res.data], { type: 'text/csv' });
|
||||||
|
|
||||||
|
// 创建一个a标签
|
||||||
|
const url = window.URL.createObjectURL(blob);
|
||||||
|
const link = document.createElement('a');
|
||||||
|
link.href = url;
|
||||||
|
|
||||||
|
// 设置文件名
|
||||||
|
link.setAttribute('download', 'filename.csv');
|
||||||
|
|
||||||
|
// 模拟点击下载
|
||||||
|
document.body.appendChild(link);
|
||||||
|
link.click();
|
||||||
|
|
||||||
|
// 清理资源
|
||||||
|
document.body.removeChild(link);
|
||||||
|
window.URL.revokeObjectURL(url);
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getData1() {
|
||||||
|
var store = this.$store.state
|
||||||
|
var index = store.equipmentIndex;
|
||||||
|
var data = {
|
||||||
|
equipmentId: store.equipmentList[index - 1].deviceId,
|
||||||
|
startTime: this.getTime(this.dateRange1[0]),
|
||||||
|
endTime: this.getTime(this.dateRange1[1]),
|
||||||
|
page: this.currentPage1,
|
||||||
|
pageSize: this.pageSize1,
|
||||||
|
isEquipment: store.equipmentList[index - 1].deviceName == 30 ? 1 : 0
|
||||||
|
}
|
||||||
|
this.api.selFsAvgdata(data).then(res => {
|
||||||
|
this.loading.close()
|
||||||
|
if (res.data.code == 200) {
|
||||||
|
this.tableData1 = res.data.data.data
|
||||||
|
this.total1 = res.data.data.totalCount
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
getData() {
|
getData() {
|
||||||
var store = this.$store.state
|
var store = this.$store.state
|
||||||
var index = store.equipmentIndex;
|
var index = store.equipmentIndex;
|
||||||
|
@ -197,7 +346,7 @@ export default {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
yesterdayTime() {
|
yesterdayTime(index) {
|
||||||
// 获取当前日期
|
// 获取当前日期
|
||||||
var today = new Date();
|
var today = new Date();
|
||||||
|
|
||||||
|
@ -212,17 +361,37 @@ export default {
|
||||||
// 设置时间为23:59
|
// 设置时间为23:59
|
||||||
yesterday.setHours(23, 59, 59, 999);
|
yesterday.setHours(23, 59, 59, 999);
|
||||||
var end = yesterday.toISOString();
|
var end = yesterday.toISOString();
|
||||||
this.dateRange = [start, end]
|
if(index==1){
|
||||||
|
this.dateRange1 = [start, end]
|
||||||
|
}else{
|
||||||
|
this.dateRange = [start, end]
|
||||||
|
}
|
||||||
},
|
},
|
||||||
timeInit() {
|
timeInit(index) {
|
||||||
const start = new Date()
|
const start = new Date()
|
||||||
start.setHours(0, 0, 0, 0)
|
start.setHours(0, 0, 0, 0)
|
||||||
const end = new Date()
|
const end = new Date()
|
||||||
this.dateRange = [start, end]
|
if(index==1){
|
||||||
|
this.dateRange1 = [start, end]
|
||||||
|
}else{
|
||||||
|
this.dateRange = [start, end]
|
||||||
|
}
|
||||||
},
|
},
|
||||||
search() {
|
search() {
|
||||||
this.dataInit()
|
this.dataInit()
|
||||||
},
|
},
|
||||||
|
handleSizeChange1(val) {
|
||||||
|
this.pageSize1 = val
|
||||||
|
setTimeout(() => {
|
||||||
|
this.getData1()
|
||||||
|
}, 0);
|
||||||
|
},
|
||||||
|
handleCurrentChange1(val) {
|
||||||
|
this.currentPage1 = val
|
||||||
|
setTimeout(() => {
|
||||||
|
this.getData1()
|
||||||
|
}, 0);
|
||||||
|
},
|
||||||
handleSizeChange(val) {
|
handleSizeChange(val) {
|
||||||
this.pageSize = val
|
this.pageSize = val
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
|
Loading…
Reference in New Issue