336 lines
9.4 KiB
JavaScript
336 lines
9.4 KiB
JavaScript
|
// pages/new-map/map.js
|
|||
|
const app = getApp();
|
|||
|
Page({
|
|||
|
|
|||
|
/**
|
|||
|
* 页面的初始数据
|
|||
|
*/
|
|||
|
data: {
|
|||
|
currentId: '', //传值与list id 相同
|
|||
|
showPopup: false,
|
|||
|
bottom: "500rpx",
|
|||
|
showUp: false,
|
|||
|
longitude:'',
|
|||
|
latitude:'',
|
|||
|
markers: [],
|
|||
|
userLongitude:'',
|
|||
|
userLatitude:'',
|
|||
|
userMarkers:[],
|
|||
|
list:[],
|
|||
|
lists:[],
|
|||
|
userHatId:'',
|
|||
|
//页面跳转参数
|
|||
|
loginName:'',
|
|||
|
userName:'',
|
|||
|
projectId:'',
|
|||
|
projectName:'' ,
|
|||
|
index:'',
|
|||
|
userLocationList:{},
|
|||
|
active1:true,
|
|||
|
active2:false,
|
|||
|
active3:false,
|
|||
|
ryshow:false,
|
|||
|
},
|
|||
|
onClickShow() {
|
|||
|
this.setData({ ryshow: true });
|
|||
|
},
|
|||
|
onClickHide() {
|
|||
|
this.setData({ ryshow: false });
|
|||
|
},
|
|||
|
|
|||
|
upward() {
|
|||
|
this.setData({ showUp: true });
|
|||
|
this.setData({ bottom: "500rpx" });
|
|||
|
let userLocationList = this.data.userLocationList;
|
|||
|
this.selectUserHardHatById(userLocationList[0].id,userLocationList)
|
|||
|
},
|
|||
|
downward() {
|
|||
|
this.setData({ showUp: false });
|
|||
|
this.setData({ bottom: "50rpx" });
|
|||
|
},
|
|||
|
|
|||
|
showPopup() {
|
|||
|
this.setData({ showPopup: true });
|
|||
|
},
|
|||
|
|
|||
|
onClose() {
|
|||
|
this.setData({ showPopup: false });
|
|||
|
},
|
|||
|
|
|||
|
selectList(){
|
|||
|
this.setData({ showPopup: false });
|
|||
|
},
|
|||
|
|
|||
|
showActive:function(event){
|
|||
|
this.onClickShow();
|
|||
|
var type = event.currentTarget.dataset.type;
|
|||
|
if(type =="1"){
|
|||
|
this.setData({
|
|||
|
active1:true,
|
|||
|
active2:false,
|
|||
|
active3:false,
|
|||
|
showUp: false,
|
|||
|
currentId:''
|
|||
|
})
|
|||
|
//查询当天工时排行
|
|||
|
this.selectUserAttendance(this.data.projectId,"day");
|
|||
|
}else if(type == "2"){
|
|||
|
this.setData({
|
|||
|
active1:false,
|
|||
|
active2:true,
|
|||
|
active3:false,
|
|||
|
showUp: false,
|
|||
|
currentId:''
|
|||
|
})
|
|||
|
//查询本周工时排行
|
|||
|
this.selectUserAttendance(this.data.projectId,"week");
|
|||
|
}else{
|
|||
|
this.setData({
|
|||
|
active1:false,
|
|||
|
active2:false,
|
|||
|
active3:true,
|
|||
|
showUp: false,
|
|||
|
currentId:''
|
|||
|
})
|
|||
|
//查询本月工时排行
|
|||
|
this.selectUserAttendance(this.data.projectId,"month");
|
|||
|
}
|
|||
|
},
|
|||
|
|
|||
|
//页面初始化
|
|||
|
onLoad: function (options) {
|
|||
|
this.onClickShow();
|
|||
|
var that = this;
|
|||
|
//调用wx.getSystemInfo接口,然后动态绑定组件高度
|
|||
|
wx.getSystemInfo({
|
|||
|
success: function (res) {
|
|||
|
that.setData({
|
|||
|
height: res.windowHeight
|
|||
|
})
|
|||
|
}
|
|||
|
}),
|
|||
|
//获取缓存中数据
|
|||
|
wx.getStorage({
|
|||
|
key: 'userinfo',
|
|||
|
success:function(res){
|
|||
|
that.setData({
|
|||
|
loginName:res.data.loginName,
|
|||
|
userName:res.data.userName,
|
|||
|
projectId:app.globalData.projectId,
|
|||
|
projectName:app.globalData.projectName,
|
|||
|
index:options.index,
|
|||
|
userLocationList:JSON.parse(options.userLocationList),
|
|||
|
userHatId:options.id,
|
|||
|
currentId:options.id,
|
|||
|
})
|
|||
|
}
|
|||
|
})
|
|||
|
//页面初始化判断页面显示
|
|||
|
if(options.skipState =="1"){
|
|||
|
this.setData({ showUp: true })
|
|||
|
//查询单个人员安全帽信息
|
|||
|
this.selectUserHardHatById(options.id,JSON.parse(options.userLocationList));
|
|||
|
}else{
|
|||
|
this.setData({ showPopup:true })
|
|||
|
}
|
|||
|
|
|||
|
//判断列表今日、本周、本月显示
|
|||
|
that.decideData(options.state);
|
|||
|
//获取当天的工时排行
|
|||
|
that.selectUserAttendance(app.globalData.projectId,options.state,options.skipState);
|
|||
|
},
|
|||
|
|
|||
|
//根据id查询安全帽数据
|
|||
|
selectUserHardHatById:function(id,userLocationList){
|
|||
|
var that = this;
|
|||
|
wx.request({
|
|||
|
url: app.globalData.reqUrl+'/weixin/userinfo/selectUserHardhatById',
|
|||
|
data:{
|
|||
|
"id":id
|
|||
|
},
|
|||
|
method:"GET",
|
|||
|
success:function(res){
|
|||
|
that.onClickHide();
|
|||
|
if(res.data.length>0){
|
|||
|
var markers = [];
|
|||
|
for(var i=0;i<userLocationList.length;i++){
|
|||
|
if(userLocationList[i].id == res.data[0].id){
|
|||
|
var marker = {id:res.data[0].id,projectId:res.data[0].projectId,longitude:res.data[0].longitude,latitude:res.data[0].latitude,projectName:res.data[0].projectName,iconPath:"http://fileimg.makalu.cc/051dbbe42b9542568665033cd8a35aea.png",width: 40, height: 40};
|
|||
|
markers.push(marker);
|
|||
|
}else{
|
|||
|
var marker = {id:userLocationList[i].id,projectId:userLocationList[i].projectId,longitude:userLocationList[i].longitude,latitude:userLocationList[i].latitude,projectName:userLocationList[i].projectName
|
|||
|
}
|
|||
|
markers.push(marker);
|
|||
|
}
|
|||
|
}
|
|||
|
that.setData({
|
|||
|
list:res.data,
|
|||
|
markers:markers,
|
|||
|
longitude:res.data[0].longitude,
|
|||
|
latitude:res.data[0].latitude,
|
|||
|
userLongitude:res.data[0].longitude,
|
|||
|
userLatitude:res.data[0].latitude,
|
|||
|
userMarkers:markers,
|
|||
|
})
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
})
|
|||
|
},
|
|||
|
|
|||
|
//工时排行
|
|||
|
selectUserAttendance:function(projectId,state,skipState){
|
|||
|
var that = this;
|
|||
|
wx.request({
|
|||
|
url: app.globalData.reqUrl+'/weixin/userinfo/selectUserAttendance',
|
|||
|
data:{
|
|||
|
"projectId":projectId,
|
|||
|
"state":state
|
|||
|
},
|
|||
|
method:"GET",
|
|||
|
success:function(gsph){
|
|||
|
that.onClickHide();
|
|||
|
if(gsph.data.userLocationList.length >0){
|
|||
|
var markers = [];
|
|||
|
var userLocationList = gsph.data.userLocationList;
|
|||
|
for(var i=0;i<userLocationList.length;i++){
|
|||
|
if(userLocationList[i].id == that.data.userHatId){
|
|||
|
var marker = {id:userLocationList[0].id,projectId:userLocationList[0].projectId,longitude:userLocationList[0].longitude,latitude:userLocationList[0].latitude,projectName:userLocationList[0].projectName,iconPath:"http://fileimg.makalu.cc/051dbbe42b9542568665033cd8a35aea.png",width: 40, height: 40};
|
|||
|
markers.push(marker);
|
|||
|
}else{
|
|||
|
var marker = {id:userLocationList[i].id,projectId:userLocationList[i].projectId,longitude:userLocationList[i].longitude,latitude:userLocationList[i].latitude,projectName:userLocationList[i].projectName
|
|||
|
}
|
|||
|
markers.push(marker);
|
|||
|
}
|
|||
|
}
|
|||
|
if(skipState == "1"){
|
|||
|
that.setData({
|
|||
|
lists:gsph.data.userLocationList,
|
|||
|
userLocationList:gsph.data.userLocationList,
|
|||
|
})
|
|||
|
}else{
|
|||
|
that.setData({
|
|||
|
lists:gsph.data.userLocationList,
|
|||
|
userLocationList:gsph.data.userLocationList,
|
|||
|
markers:markers,
|
|||
|
longitude:gsph.data.userLocationList[0].longitude,
|
|||
|
latitude:gsph.data.userLocationList[0].latitude,
|
|||
|
})
|
|||
|
}
|
|||
|
}else{
|
|||
|
that.setData({
|
|||
|
lists:[],
|
|||
|
markers:[],
|
|||
|
longitude:'',
|
|||
|
latitude:'',
|
|||
|
})
|
|||
|
}
|
|||
|
}
|
|||
|
})
|
|||
|
},
|
|||
|
|
|||
|
//判断列表显示
|
|||
|
decideData:function(event){
|
|||
|
if(event == "day"){
|
|||
|
this.setData({
|
|||
|
active1:true,
|
|||
|
active2:false,
|
|||
|
active3:false,
|
|||
|
})
|
|||
|
}else if(event == "week"){
|
|||
|
this.setData({
|
|||
|
active1:false,
|
|||
|
active2:true,
|
|||
|
active3:false,
|
|||
|
})
|
|||
|
}else{
|
|||
|
this.setData({
|
|||
|
active1:false,
|
|||
|
active2:false,
|
|||
|
active3:true,
|
|||
|
})
|
|||
|
}
|
|||
|
},
|
|||
|
|
|||
|
///向左切换人员数据
|
|||
|
changeLeftData:function(event){
|
|||
|
var userLocationList = this.data.userLocationList;
|
|||
|
if(this.data.index == "0"){
|
|||
|
app.toast("已经到头了,无法进行点击");
|
|||
|
}else{
|
|||
|
this.selectUserHardHatById(userLocationList[this.data.index-1].id,this.data.userLocationList);
|
|||
|
this.setData({
|
|||
|
currentId:userLocationList[this.data.index-1].id,
|
|||
|
index:this.data.index-1
|
|||
|
})
|
|||
|
}
|
|||
|
},
|
|||
|
|
|||
|
//向右切换
|
|||
|
changeRightData:function(event){
|
|||
|
var userLocationList = this.data.userLocationList;
|
|||
|
if(this.data.index == (userLocationList.length-1)){
|
|||
|
app.toast("已经到头了,无法进行点击");
|
|||
|
}else{
|
|||
|
this.selectUserHardHatById(userLocationList[(this.data.index-1+2)].id,this.data.userLocationList);
|
|||
|
this.setData({
|
|||
|
currentId:userLocationList[(this.data.index-1+2)].id,
|
|||
|
index:this.data.index-1+2
|
|||
|
})
|
|||
|
}
|
|||
|
},
|
|||
|
|
|||
|
//点击列表数据查看
|
|||
|
skipUserMap:function(event){
|
|||
|
//查询单个数据
|
|||
|
this.selectUserHardHatById(event.currentTarget.dataset.itemid,this.data.userLocationList);
|
|||
|
this.setData({
|
|||
|
currentId:event.currentTarget.dataset.itemid,
|
|||
|
index:event.currentTarget.dataset.index,
|
|||
|
showUp: true
|
|||
|
})
|
|||
|
},
|
|||
|
|
|||
|
//获取人员定位
|
|||
|
userLocation:function(event){
|
|||
|
this.setData({
|
|||
|
longitude:this.data.userLongitude,
|
|||
|
latitude:this.data.userLatitude,
|
|||
|
markers:this.data.userMarkers
|
|||
|
})
|
|||
|
},
|
|||
|
|
|||
|
//获取个人定位
|
|||
|
personalLocation:function(even){
|
|||
|
this.setData({
|
|||
|
longitude:app.globalData.initialLon,
|
|||
|
latitude:app.globalData.initialLat,
|
|||
|
markers:app.globalData.markers,
|
|||
|
})
|
|||
|
},
|
|||
|
|
|||
|
//点击定位点查询数据
|
|||
|
getListById:function(event){
|
|||
|
//查询单个数据
|
|||
|
this.selectUserHardHatById(event.markerId,this.data.userLocationList);
|
|||
|
var markers = this.data.markers;
|
|||
|
var index = "";
|
|||
|
for(var i = 0;i<markers.length;i++){
|
|||
|
if(markers[i].id == event.markerId){
|
|||
|
index = i;
|
|||
|
}
|
|||
|
}
|
|||
|
this.setData({
|
|||
|
currentId:event.markerId,
|
|||
|
index:index,
|
|||
|
showUp: true
|
|||
|
})
|
|||
|
},
|
|||
|
|
|||
|
//返回到人员管理页面
|
|||
|
goRYGL:function(){
|
|||
|
wx.redirectTo({
|
|||
|
url: '../renyuanguanli/renyuanguanli'
|
|||
|
})
|
|||
|
}
|
|||
|
})
|