|
|
|
// package/pointsStatus/pointsStatus.js
|
|
|
|
import { getProjectGraph, getDeployPoints, getProjectPoints, getdPointCurPatrolRecord } from "../../utils/getApiUrl";
|
|
|
|
import { Request } from "../../common";
|
|
|
|
|
|
|
|
Page({
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 页面的初始数据
|
|
|
|
*/
|
|
|
|
data: {
|
|
|
|
imgUrl: getApp().globalData.imgUrl,
|
|
|
|
describe: '',
|
|
|
|
image: '',
|
|
|
|
allPoints: [],
|
|
|
|
setedPoints: [],
|
|
|
|
},
|
|
|
|
|
|
|
|
getData(projectId) {
|
|
|
|
const that = this;
|
|
|
|
wx.showLoading({ title: '加载中...' });
|
|
|
|
Request.get(getProjectGraph(projectId)).then(res => {
|
|
|
|
if (res) {
|
|
|
|
Request.get(getDeployPoints(res.id)).then(deployPointsRes => {
|
|
|
|
Request.get(getProjectPoints(projectId)).then(allPointRes => {
|
|
|
|
wx.hideLoading();
|
|
|
|
that.setData({
|
|
|
|
image: res.graph,
|
|
|
|
allPoints: allPointRes,
|
|
|
|
setedPoints: deployPointsRes.map(p => ({
|
|
|
|
...p,
|
|
|
|
position: JSON.parse(p.position),
|
|
|
|
pointInfo: allPointRes.find(a => a.id === p.pointId),
|
|
|
|
})),
|
|
|
|
})
|
|
|
|
})
|
|
|
|
})
|
|
|
|
} else {
|
|
|
|
wx.hideLoading();
|
|
|
|
// 未布设
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
|
|
|
|
calcTooltip(e) {
|
|
|
|
const that = this;
|
|
|
|
const pointNodeId = e.currentTarget.id;
|
|
|
|
const { id: pointId, show } = e.currentTarget.dataset;
|
|
|
|
const windowWidth = wx.getSystemInfoSync().windowWidth;
|
|
|
|
const setTooltip = (status) => {
|
|
|
|
const query = that.createSelectorQuery().in(that);
|
|
|
|
query.select('#' + pointNodeId).boundingClientRect(data => {
|
|
|
|
const sub = windowWidth - data.left < 100 ? 100 - (windowWidth - data.left) : 0;
|
|
|
|
const nextSetedPoints = that.data.setedPoints.map(p => {
|
|
|
|
if (p.pointId == pointId) {
|
|
|
|
p.sub = sub;
|
|
|
|
p.show = !p.show;
|
|
|
|
if (status) {
|
|
|
|
p.status = status;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return p;
|
|
|
|
})
|
|
|
|
that.setData({ setedPoints: nextSetedPoints })
|
|
|
|
}).exec()
|
|
|
|
}
|
|
|
|
if (!show) {
|
|
|
|
wx.showLoading({ title: '加载中...' });
|
|
|
|
Request.get(getdPointCurPatrolRecord(pointId)).then(res => {
|
|
|
|
wx.hideLoading();
|
|
|
|
setTooltip(res.length ? res[0].alarm ? '异常' : '正常' : '--');
|
|
|
|
})
|
|
|
|
} else {
|
|
|
|
setTooltip();
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 生命周期函数--监听页面加载
|
|
|
|
*/
|
|
|
|
onLoad(options) {
|
|
|
|
const { projectId, describe } = options;
|
|
|
|
this.setData({ describe });
|
|
|
|
this.getData(projectId);
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
|
|
*/
|
|
|
|
onReady() {
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 生命周期函数--监听页面显示
|
|
|
|
*/
|
|
|
|
onShow() {
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 生命周期函数--监听页面隐藏
|
|
|
|
*/
|
|
|
|
onHide() {
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 生命周期函数--监听页面卸载
|
|
|
|
*/
|
|
|
|
onUnload() {
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
|
|
*/
|
|
|
|
onPullDownRefresh() {
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 页面上拉触底事件的处理函数
|
|
|
|
*/
|
|
|
|
onReachBottom() {
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 用户点击右上角分享
|
|
|
|
*/
|
|
|
|
onShareAppMessage() {
|
|
|
|
|
|
|
|
}
|
|
|
|
})
|