552 lines
17 KiB
JavaScript
552 lines
17 KiB
JavaScript
// pages/ranqidetails/ranqidetails.js
|
|
const app = getApp();
|
|
Page({
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
id: '',
|
|
status: '',
|
|
temp: '',
|
|
humi: '',
|
|
voltage: '',
|
|
electric: '',
|
|
error: '',
|
|
oilfume: '',
|
|
hydrocarbon: '',
|
|
oiltemp: '',
|
|
oilhumi: '',
|
|
puri: '',
|
|
fan: '',
|
|
switchChecked: false,
|
|
time: '',
|
|
errorcolor: '#11EE11',
|
|
sensor_state: 'close',
|
|
inductor_fenstate: 'close',
|
|
inductor_purifierstate: 'close',
|
|
highpower_state: 'close',
|
|
devicestate: 'offline',
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad: function (e) {
|
|
app.globalData.imei = e.imei; //修改全局变量-imei
|
|
//获取设备列表
|
|
wx.request({
|
|
url: 'https://api.mpecloud.cn/iotsystem/client/allData',
|
|
header: {
|
|
'content-type': 'application/json',
|
|
'Authorization': 'Bearer ' + app.globalData.token + ''
|
|
},
|
|
success: res => {
|
|
if (res.data.msg == '操作成功') {
|
|
console.log(res.data)
|
|
//设置设备数据
|
|
var datas = new Array(); //创建数据
|
|
datas = res.data.data.datas;
|
|
//设置设备数据
|
|
var devices = new Array();
|
|
devices = res.data.data.devices;
|
|
for (var i = 0; i < datas.length; i++) {
|
|
if (e.imei == datas[i]['imei']) {
|
|
app.globalData.productId = datas[i]['productId'];
|
|
var str = datas[i]['dataValue'];
|
|
var strToObj = JSON.parse(str);
|
|
let iosDate = datas[i]['createTime'].slice(0, 22).replace(/-/g, '/').replace('T', ' ') + '+0000';
|
|
var createdate = new Date(iosDate);
|
|
var month = createdate.getMonth() + 1;
|
|
if (month < 10) {
|
|
month = "0" + month;
|
|
}
|
|
var day = createdate.getDate();
|
|
if (day < 10) {
|
|
day = "0" + day;
|
|
}
|
|
var hour = createdate.getHours();
|
|
if (hour < 10) {
|
|
hour = "0" + hour;
|
|
}
|
|
var min = createdate.getMinutes();
|
|
if (min < 10) {
|
|
min = "0" + min;
|
|
}
|
|
var sec = createdate.getSeconds();
|
|
if (sec < 10) {
|
|
sec = "0" + sec;
|
|
}
|
|
var cdate = month + "/" + day + " " + hour + ":" + min + ":" + sec;
|
|
this.setData({
|
|
id: datas[i]['imei'],
|
|
time: cdate,
|
|
temp: parseInt(strToObj.internal_temperature),
|
|
humi: parseInt(strToObj.internal_humidity),
|
|
|
|
voltage: parseInt(strToObj.power_voltage),
|
|
electric: parseFloat(strToObj.power_electricity).toFixed(1),
|
|
|
|
oilfume: parseFloat(strToObj.Soot_concentration).toFixed(1),
|
|
hydrocarbon: parseFloat(strToObj.NMHC).toFixed(1),
|
|
oiltemp: parseInt(strToObj.sensor_temperature),
|
|
oilhumi: parseInt(strToObj.sensor_humidity),
|
|
|
|
puri: parseFloat(strToObj.purifier_electricity).toFixed(1),
|
|
fan: parseFloat(strToObj.fan_electricity).toFixed(1),
|
|
})
|
|
if (strToObj.openiostate == 0) {
|
|
this.setData({
|
|
switchChecked: false,
|
|
})
|
|
} else {
|
|
this.setData({
|
|
switchChecked: true,
|
|
})
|
|
}
|
|
if (strToObj.power_error == 0) {
|
|
this.setData({
|
|
error: '正常',
|
|
errorcolor: '#11EE11',
|
|
})
|
|
} else {
|
|
this.setData({
|
|
error: '故障',
|
|
errorcolor: 'red',
|
|
})
|
|
}
|
|
|
|
//油烟传感器状态
|
|
if (strToObj.sensor_state == 0) {
|
|
this.setData({
|
|
sensor_state: 'open',
|
|
})
|
|
} else if (strToObj.sensor_state == 1) {
|
|
this.setData({
|
|
sensor_state: 'erro',
|
|
})
|
|
} else if (strToObj.sensor_state == 2) {
|
|
this.setData({
|
|
sensor_state: 'close',
|
|
})
|
|
}
|
|
|
|
//风扇状态
|
|
if (strToObj.inductor_fenstate == 0) {
|
|
this.setData({
|
|
inductor_fenstate: 'open',
|
|
})
|
|
} else if (strToObj.inductor_fenstate == 1) {
|
|
this.setData({
|
|
inductor_fenstate: 'erro',
|
|
})
|
|
} else if (strToObj.inductor_fenstate == 2) {
|
|
this.setData({
|
|
inductor_fenstate: 'close',
|
|
})
|
|
}
|
|
|
|
//净化器状态
|
|
if (strToObj.inductor_purifierstate == 0) {
|
|
this.setData({
|
|
inductor_purifierstate: 'open',
|
|
})
|
|
} else if (strToObj.inductor_purifierstate == 1) {
|
|
this.setData({
|
|
inductor_purifierstate: 'erro',
|
|
})
|
|
} else if (strToObj.inductor_purifierstate == 2) {
|
|
this.setData({
|
|
inductor_purifierstate: 'close',
|
|
})
|
|
}
|
|
|
|
//高压电源状态
|
|
if (strToObj.highpower_state == 0) {
|
|
this.setData({
|
|
highpower_state: 'open',
|
|
})
|
|
} else if (strToObj.highpower_state == 1) {
|
|
this.setData({
|
|
highpower_state: 'erro',
|
|
})
|
|
} else if (strToObj.highpower_state == 2) {
|
|
this.setData({
|
|
highpower_state: 'close',
|
|
})
|
|
}
|
|
}
|
|
if (e.imei == devices[i]['imei']) {
|
|
app.globalData.deviceId = devices[i]['deviceId'];
|
|
//网络状态
|
|
if (devices[i]['isOnline'] == 0) {
|
|
this.setData({
|
|
devicestate: 'offline',
|
|
})
|
|
} else if (devices[i]['isOnline'] == 1) {
|
|
this.setData({
|
|
devicestate: 'green',
|
|
})
|
|
}
|
|
//设备状态
|
|
if (devices[i]['deviceStatus'] == 0) {
|
|
this.setData({
|
|
status: '创建成功',
|
|
})
|
|
} else if (devices[i]['deviceStatus'] == 1) {
|
|
this.setData({
|
|
status: '注册失败',
|
|
})
|
|
} else if (devices[i]['deviceStatus'] == 2) {
|
|
this.setData({
|
|
status: '注册成功',
|
|
})
|
|
} else if (devices[i]['deviceStatus'] == 3) {
|
|
this.setData({
|
|
status: '已激活',
|
|
})
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
fail: function () {
|
|
wx.showToast({
|
|
title: '设备详细数据获取错误!',
|
|
icon: 'none',
|
|
duration: 2000
|
|
})
|
|
}
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
*/
|
|
onReady: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面隐藏
|
|
*/
|
|
onHide: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面卸载
|
|
*/
|
|
onUnload: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
*/
|
|
onPullDownRefresh: function () {
|
|
this.refreshPull();
|
|
wx.stopPullDownRefresh();
|
|
},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage: function () {
|
|
|
|
},
|
|
refreshPull: function () {
|
|
var imei = app.globalData.imei;
|
|
if (imei != 0) {
|
|
//获取设备列表
|
|
wx.request({
|
|
url: 'https://api.mpecloud.cn/iotsystem/client/allData',
|
|
header: {
|
|
'content-type': 'application/json',
|
|
'Authorization': 'Bearer ' + app.globalData.token + ''
|
|
},
|
|
success: res => {
|
|
if (res.data.msg == '操作成功') {
|
|
console.log(res.data)
|
|
//设置设备数据
|
|
var datas = new Array(); //创建数据
|
|
datas = res.data.data.datas;
|
|
//设置设备数据
|
|
var devices = new Array();
|
|
devices = res.data.data.devices;
|
|
for (var i = 0; i < datas.length; i++) {
|
|
if (imei == datas[i]['imei']) {
|
|
app.globalData.productId = datas[i]['productId'];
|
|
var str = datas[i]['dataValue'];
|
|
var strToObj = JSON.parse(str);
|
|
let iosDate = datas[i]['createTime'].slice(0, 22).replace(/-/g, '/').replace('T', ' ') + '+0000';
|
|
var createdate = new Date(iosDate);
|
|
var month = createdate.getMonth() + 1;
|
|
if (month < 10) {
|
|
month = "0" + month;
|
|
}
|
|
var day = createdate.getDate();
|
|
if (day < 10) {
|
|
day = "0" + day;
|
|
}
|
|
var hour = createdate.getHours();
|
|
if (hour < 10) {
|
|
hour = "0" + hour;
|
|
}
|
|
var min = createdate.getMinutes();
|
|
if (min < 10) {
|
|
min = "0" + min;
|
|
}
|
|
var sec = createdate.getSeconds();
|
|
if (sec < 10) {
|
|
sec = "0" + sec;
|
|
}
|
|
var cdate = month + "-" + day + " " + hour + ":" + min + ":" + sec;
|
|
this.setData({
|
|
id: datas[i]['imei'],
|
|
time: cdate,
|
|
temp: parseInt(strToObj.internal_temperature),
|
|
humi: parseInt(strToObj.internal_humidity),
|
|
|
|
voltage: parseInt(strToObj.power_voltage),
|
|
electric: parseFloat(strToObj.power_electricity).toFixed(1),
|
|
|
|
oilfume: parseFloat(strToObj.Soot_concentration).toFixed(1),
|
|
hydrocarbon: parseFloat(strToObj.NMHC).toFixed(1),
|
|
oiltemp: parseInt(strToObj.sensor_temperature),
|
|
oilhumi: parseInt(strToObj.sensor_humidity),
|
|
|
|
puri: parseFloat(strToObj.purifier_electricity).toFixed(1),
|
|
fan: parseFloat(strToObj.fan_electricity).toFixed(1),
|
|
})
|
|
if (strToObj.openiostate == 0) {
|
|
this.setData({
|
|
switchChecked: false,
|
|
})
|
|
} else {
|
|
this.setData({
|
|
switchChecked: true,
|
|
})
|
|
}
|
|
if (strToObj.power_error == 0) {
|
|
this.setData({
|
|
error: '正常',
|
|
errorcolor: '#11EE11',
|
|
})
|
|
} else {
|
|
this.setData({
|
|
error: '故障',
|
|
errorcolor: 'red',
|
|
})
|
|
}
|
|
|
|
//油烟传感器状态
|
|
if (strToObj.sensor_state == 0) {
|
|
this.setData({
|
|
sensor_state: 'open',
|
|
})
|
|
} else if (strToObj.sensor_state == 1) {
|
|
this.setData({
|
|
sensor_state: 'erro',
|
|
})
|
|
} else if (strToObj.sensor_state == 2) {
|
|
this.setData({
|
|
sensor_state: 'close',
|
|
})
|
|
}
|
|
|
|
//风扇状态
|
|
if (strToObj.inductor_fenstate == 0) {
|
|
this.setData({
|
|
inductor_fenstate: 'open',
|
|
})
|
|
} else if (strToObj.inductor_fenstate == 1) {
|
|
this.setData({
|
|
inductor_fenstate: 'erro',
|
|
})
|
|
} else if (strToObj.inductor_fenstate == 2) {
|
|
this.setData({
|
|
inductor_fenstate: 'close',
|
|
})
|
|
}
|
|
|
|
//净化器状态
|
|
if (strToObj.inductor_purifierstate == 0) {
|
|
this.setData({
|
|
inductor_purifierstate: 'open',
|
|
})
|
|
} else if (strToObj.inductor_purifierstate == 1) {
|
|
this.setData({
|
|
inductor_purifierstate: 'erro',
|
|
})
|
|
} else if (strToObj.inductor_purifierstate == 2) {
|
|
this.setData({
|
|
inductor_purifierstate: 'close',
|
|
})
|
|
}
|
|
|
|
//高压电源状态
|
|
if (strToObj.highpower_state == 0) {
|
|
this.setData({
|
|
highpower_state: 'open',
|
|
})
|
|
} else if (strToObj.highpower_state == 1) {
|
|
this.setData({
|
|
highpower_state: 'erro',
|
|
})
|
|
} else if (strToObj.highpower_state == 2) {
|
|
this.setData({
|
|
highpower_state: 'close',
|
|
})
|
|
}
|
|
}
|
|
if (imei == devices[i]['imei']) {
|
|
app.globalData.deviceId = devices[i]['deviceId'];
|
|
//网络状态
|
|
if (devices[i]['isOnline'] == 0) {
|
|
this.setData({
|
|
devicestate: 'offline',
|
|
})
|
|
} else if (devices[i]['isOnline'] == 1) {
|
|
this.setData({
|
|
devicestate: 'green',
|
|
})
|
|
}
|
|
//设备状态
|
|
if (devices[i]['deviceStatus'] == 0) {
|
|
this.setData({
|
|
status: '创建成功',
|
|
})
|
|
} else if (devices[i]['deviceStatus'] == 1) {
|
|
this.setData({
|
|
status: '注册失败',
|
|
})
|
|
} else if (devices[i]['deviceStatus'] == 2) {
|
|
this.setData({
|
|
status: '注册成功',
|
|
})
|
|
} else if (devices[i]['deviceStatus'] == 3) {
|
|
this.setData({
|
|
status: '已激活',
|
|
})
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
fail: function () {
|
|
wx.showToast({
|
|
title: '设备详细数据获取错误!',
|
|
icon: 'none',
|
|
duration: 2000
|
|
})
|
|
}
|
|
})
|
|
}
|
|
},
|
|
RetClick: function (e) {
|
|
var that = this;
|
|
//跳转到设备列表
|
|
wx.switchTab({
|
|
url: '../homefree/homefree'
|
|
})
|
|
},
|
|
REshClick: function () {
|
|
wx.request({
|
|
url: 'https://api.mpecloud.cn/iotsystem/command',
|
|
header: {
|
|
'content-type': 'application/json',
|
|
'Authorization': 'Bearer ' + app.globalData.token + ''
|
|
},
|
|
data: {
|
|
"commandValue": "{\"refreshing\":\"1\"}",
|
|
"createBy": "admin",
|
|
"createUserName": app.globalData.userid,
|
|
"deviceId": app.globalData.deviceId,
|
|
"identifier": "issue_refresh",
|
|
"productId": app.globalData.productId,
|
|
"serviceId": 8008,
|
|
"serviceName": "刷新数据指令",
|
|
"serviceType": "Command",
|
|
},
|
|
method: 'post',
|
|
success: res => {
|
|
console.log(res.data)
|
|
wx.showToast({
|
|
title: '刷新成功',
|
|
icon: 'none',
|
|
duration: 2000
|
|
})
|
|
},
|
|
fail: function () {
|
|
wx.showToast({
|
|
title: '无法刷新数据!',
|
|
icon: 'none',
|
|
duration: 2000
|
|
})
|
|
}
|
|
|
|
})
|
|
},
|
|
switchChange: function (e) {
|
|
var swithstate = 0;
|
|
if (e.detail.value == true) {
|
|
swithstate = 1;
|
|
}
|
|
console.log(e.detail.value);
|
|
|
|
console.log(app.globalData.userid);
|
|
console.log(app.globalData.deviceId);
|
|
console.log(app.globalData.productId);
|
|
console.log(app.globalData.token);
|
|
wx.request({
|
|
url: 'https://api.mpecloud.cn/iotsystem/command',
|
|
header: {
|
|
'content-type': 'application/json',
|
|
'Authorization': 'Bearer ' + app.globalData.token + ''
|
|
},
|
|
data: {
|
|
"commandValue": "{\"openiostate\":\"" + swithstate + "\"}",
|
|
"createBy": "admin",
|
|
"createUserName": app.globalData.userid + "",
|
|
"deviceId": app.globalData.deviceId + "",
|
|
"identifier": "remote_control",
|
|
"productId": app.globalData.productId + "",
|
|
"serviceId": "8005",
|
|
"serviceName": "远程开关控制",
|
|
"serviceType": "Command",
|
|
},
|
|
method: 'post',
|
|
success: res => {
|
|
console.log(res.data)
|
|
wx.showToast({
|
|
title: '远程开关设备已成功!',
|
|
icon: 'none',
|
|
duration: 2000
|
|
})
|
|
},
|
|
fail: function () {
|
|
wx.showToast({
|
|
title: '无法远程开关设备!',
|
|
icon: 'none',
|
|
duration: 2000
|
|
})
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
}) |