You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

117 lines
2.4 KiB

// package/pointsStatus/pointsStatus.js
import { getProjectGraph, getDeployPoints, getProjectPoints } from "../../utils/getApiUrl";
import { Request } from "../../common";
Page({
/**
* 页面的初始数据
*/
data: {
imgUrl: getApp().globalData.imgUrl,
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 pointNodeId = e.currentTarget.id;
const pointId = e.currentTarget.dataset.id;
const windowWidth = wx.getSystemInfoSync().windowWidth;
const query = this.createSelectorQuery().in(this);
query.select('#' + pointNodeId).boundingClientRect(data => {
const sub = windowWidth - data.left < 100 ? 100 - (windowWidth - data.left) : 0;
const nextSetedPoints = this.data.setedPoints.map(p => {
if (p.id == pointId) {
p.sub = sub;
p.show = !p.show;
}
return p;
})
this.setData({ setedPoints: nextSetedPoints })
}).exec()
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
const { projectId } = options;
this.getData(projectId);
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})