jhwxapp/miniprogram/pages/Security-control-echarts/index.js

357 lines
9.8 KiB
JavaScript
Raw Normal View History

2023-08-10 01:21:29 +08:00
// pages/Security-control-echarts/index.js
const app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
biaoyangList: {},
peidianList: [{
text: '配电箱监测',
id: 0
}],
PWRList: [{
text: 'PWR.02731XTJ',
id: 0
}],
indexNum: 0,
indexNums: 0,
lastChooseDevice: {},
startTime: '',
endTime: '',
initData: {},
projectId: '',
projectData: {},
tumidityTrendData:{},
show:false
},
onClickBtn(e){
this.setData({
indexNum:e.currentTarget.dataset.set
})
this.onClickTemperatureTrend(e.currentTarget.dataset.set)
},
onClickBtns(e){
this.setData({
indexNums:e.currentTarget.dataset.set
})
this.onClickTumidityTrend(e.currentTarget.dataset.set)
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
var that = this;
//获取缓存数据
wx.getStorage({
key: 'userinfo',
success:function(res){
that.setData({
loginName:res.data.loginName,
userName:res.data.userName,
projectId:app.globalData.projectId,
projectNameArgs:app.globalData.projectName,
initData:{text:app.globalData.projectName,id:app.globalData.projectId}
})
}
})
that.setData({
endTime:that.dateFormat(new Date(),"yyyy-MM-dd")+ " 23:59:59"
})
that.getProjectCorrespondence(app.globalData.projectId)
},
/**
* 项目对应关系
*/
getProjectCorrespondence(projectId) {
var that = this;
wx.request({
url: app.globalData.reqUrl + '/weixin/training/getProjectCorrespondence',
data: {
"projectId": projectId,
},
method: "get",
success: function (res) {
that.setData({
projectData: res.data
})
//获取设备列表
that.gainDeviceList()
}
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
},
//获取配电箱装置
gainDeviceList() {
let that = this
wx.request({
url: app.globalData.szhUrl + '/api/iot/power/deviceList',
data: {
typeName: "配电箱"
},
method: "POST",
header: {
'content-type': 'application/x-www-form-urlencoded'
},
success: function (res) {
for(let row of res.data.rows){
row.id = row.deviceId
row.text = row.deviceId
}
that.setData({
selectData :res.data.rows,
lastChooseDevice:res.data.rows[0]
})
//温度监控
that.onClickTemperatureTrend(that.data.indexNum)
that.onClickTumidityTrend(that.data.indexNums)
}
})
},
//温度趋势
onClickTemperatureTrend(n) {
var that = this
that.setData({
indexNum:n,
endTime:that.dateFormat(new Date(),"yyyy-MM-dd")+ " 23:59:59"
})
if (n == 0) {
var time = that.getBeforeDate(-6)+" 00:00:00"
that.setData({
startTime:time
})
} else {
var time = that.getBeforeDate(-29)+" 00:00:00"
that.setData({
startTime:time
})
}
wx.request({
url: app.globalData.szhUrl + '/api/iot/power/runList',
data: {
projectId: parseInt(that.data.projectData.szh),
uid: that.data.lastChooseDevice.deviceId,
startTime: that.data.startTime,
endTime: that.data.endTime
},
header: {
'content-type': 'application/x-www-form-urlencoded'
},
method: "POST",
success: function (res) {
if (res.data.code == 0) {
var data = {}
data.lineData = []
data.color = ['#008ffd', '#f6d023', '#5af9fd', '#fc6902']
data.legend = ['A相温度', 'B相温度', 'C相温度', '零线温度']
data.unit = '℃'
data.date = []
var data1 = []
var data2 = []
var data3 = []
var data4 = []
for (let row of res.data.rows) {
data.date.push((row.time.slice(0, row.time.length - 3)))
data1.push(row.t1)
data2.push(row.t2)
data3.push(row.t3)
data4.push(row.t4)
}
data.lineData.push(data1)
data.lineData.push(data2)
data.lineData.push(data3)
data.lineData.push(data4)
that.setData({
biaoyangList: data
})
} else {
that.setData({
biaoyangList:{}
})
}
}
})
},
//电流监控
onClickTumidityTrend(n) {
var that = this
that.setData({
indexNums:n,
endTime:that.dateFormat(new Date(),"yyyy-MM-dd")+ " 23:59:59"
})
if (n == 0) {
var time = that.getBeforeDate(-6)+" 00:00:00"
that.setData({
startTime:time
})
} else {
var time = that.getBeforeDate(-29)+" 00:00:00"
that.setData({
startTime:time
})
}
wx.request({
url: app.globalData.szhUrl + '/api/iot/power/runList',
data: {
projectId: parseInt(that.data.projectData.szh),
uid: that.data.lastChooseDevice.deviceId,
startTime: that.data.startTime,
endTime: that.data.endTime
},
header: {
'content-type': 'application/x-www-form-urlencoded'
},
method: "POST",
success: function (res) {
if (res.data.code == 0) {
var data = {}
data.lineData = []
data.color = ['#008ffd', '#f6d023', '#5af9fd', '#fc6902']
data.legend = ['A相电流', 'B相电流', 'C相电流', '电流阈值']
data.unit = 'A'
data.date = []
var data1 = []
var data2 = []
var data3 = []
var data4 = []
for (let row of res.data.rows) {
data.date.push((row.time.slice(0, row.time.length - 3)))
data1.push(row.c1)
data2.push(row.c2)
data3.push(row.c3)
data4.push(131)
}
data.lineData.push(data1)
data.lineData.push(data2)
data.lineData.push(data3)
data.lineData.push(data4)
that.setData({
tumidityTrendData: data
})
}else {
that.setData({
tumidityTrendData:{}
})
}
}
})
},
/**
* 格式化时间
*/
dateFormat(date,fmt) {
let ret;
const opt = {
"y+": date.getFullYear().toString(), // 年
"M+": (date.getMonth() + 1).toString(), // 月
"d+": date.getDate().toString(), // 日
"H+": date.getHours().toString(), // 时
"m+": date.getMinutes().toString(), // 分
"s+": date.getSeconds().toString() // 秒
// 有其他格式化字符需求可以继续添加,必须转化成字符串
};
for (let k in opt) {
ret = new RegExp("(" + k + ")").exec(fmt);
if (ret) {
fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
};
};
return fmt;
},
//获取之前的时间
getBeforeDate(num) {
var date1 = new Date()
var date2 = new Date(date1)
date2.setDate(date1.getDate() + num)
var time2 = date2.getFullYear() + "-" + ((date2.getMonth() + 1) <= 9?"0"+(date2.getMonth() + 1):(date2.getMonth() + 1)) + "-" + date2.getDate()
return time2
},
//项目切换 返回值
onProjectSelect(e){
var that = this
let projectId = e.detail.id;
let projectName = e.detail.text;
app.globalData.projectId = projectId;
app.globalData.projectName = projectName;
that.setData({
projectId:projectId,
projectName:projectName
})
that.onLoad();
},
//返回到安全管理页面
goGCLB:function(){
wx.redirectTo({
url:'../newAddPage/safetyManagement/index'
})
},
showPopup() {
this.setData({ show: true });
},
onClose() {
this.setData({ show: false });
},
//配电箱改变
peidianChange(e){
console.log(e)
},
//设备改变
pwdChange(e){
console.log(e)
},
})