// 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() { } })