jhwxapp/miniprogram/pages/map/map.js

697 lines
19 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

//index.js
const app = getApp()
Page({
data: {
userInfo:{},
deptId:'',
height:"auto",
scale:'10',
initialLon:'108.922306',
initialLat:'34.191848',
markers: [],
value1:'省',
value2:'市/区',
value3:'公司',
show1: false,
show2: false,
show3: false,
sheng: [],
citys:{},
companys:{},
cityArea: [],
company:[],
projectData:[],
environProjectData:[],
projectCount:'0',
ifSonCompany:'',
ifDeptId:false,
monitoringCount:'0',
videoNum:'0',
mechanicsNum:'0',
environCount:'0',
logCompanyName:'',
popUp1:false,
popUp2:false,
popUp3:false,
companyId:'',
paramPost:'',
loadShow:false,
//省、市、区
provinceId:'',
cityId:'',
areaId:'',
temDeptId:'',
//*******新版本*****/
showTest:false,
tabActive:0,
jt:[],
shengGs:[],
ziGs:[],
nav1: "0",
nav2: "-1",
nav3: "-1",
classA:"",
classB:"",
classC:"",
flag1:true,
flag2:false,
flag3:false,
Highlight1:"active",
Highlight2:"",
Highlight3:"",
title2:false,
title3:false,
dataclass1:0,
dataclass2:0,
dataclass3:0,
overall1:"",
overall2:"",
overall3:"",
newCompanyId:'',
},
onclassA(event){
this.setData({nav1: event.target.dataset.index});
this.setData({dataclass1: 1});
if(this.data.dataclass1 == 1){
this.setData({title2: true});
}
this.setData({classA: event.target.dataset.name});
this.setData({overall1: event.target.dataset.name,newCompanyId:event.target.dataset.id});
this.setData({value3:event.target.dataset.name})
//获取子公司信息
this.setData({showTest:false})
wx.setStorageSync('select_dept_id', event.target.dataset.id)
wx.setStorageSync('select_dept_name', event.target.dataset.name)
wx.setStorageSync('select_dept_index', event.target.dataset.index)
this.selectProjectByCompanyId(event.target.dataset.id,'','','');
//this.selectCompanyJG(event.target.dataset.id,'SGS');
},
onclassB(event){
this.setData({nav2: event.target.dataset.index});
this.setData({dataclass2: 1});
if(this.data.dataclass2 == 1){
this.setData({title3: true});
}
this.setData({classB: " / " + event.target.dataset.name });
this.setData({overall2: event.target.dataset.name ,newCompanyId:event.target.dataset.id});
this.setData({value3:this.data.overall1 + " / "+ event.target.dataset.name})
//获取子公司信息
this.selectCompanyJG(event.target.dataset.id,'GS');
},
onclassC(event){
this.setData({nav3: event.target.dataset.index});
this.setData({dataclass3: 1});
this.setData({classC: " / " + event.target.dataset.name });
this.setData({overall3: event.target.dataset.name ,newCompanyId:event.target.dataset.id});
this.setData({value3: this.data.overall1 + " / " + this.data.overall2 + " / " + event.target.dataset.name});
},
queren(event){
//加载蒙版
this.onClickShow();
this.setData({ showTest: false});
this.setData({ show3: false });
if(this.data.overall1 == ""){
this.setData({value3:""});
}else if(this.data.overall2 == ""){
this.setData({value3: this.data.overall1 + " / "});
}else if(this.data.overall3 == ""){
this.setData({value3: this.data.overall1 + " / " + this.data.overall2 + " / " });
}else{
this.setData({value3: this.data.overall1 + " / " + this.data.overall2 + " / " + this.data.overall3});
}
let companyId = this.data.newCompanyId;
let provinceId = this.data.provinceId;
let cityId = this.data.cityId;
let areaId = this.data.areaId;
this.selectProjectByCompanyId(companyId,provinceId,cityId,areaId);
this.selectEarly(companyId,'',provinceId,cityId,areaId);
this.getEnvironCount(companyId,'',provinceId,cityId,areaId);
},
tabTltie(event){
var id = event.currentTarget.id;
if(id == 1){
this.setData({flag1:true})
this.setData({flag2:false})
this.setData({flag3:false})
this.setData({Highlight1:"active"})
this.setData({Highlight2:""})
this.setData({Highlight3:""})
this.setData({title2:false})
this.setData({title3:false})
this.setData({classA:""})
this.setData({classB:""})
this.setData({classC:""})
this.setData({nav2: "-1"});
this.setData({nav3: "-1"});
this.setData({overall1:"",overall2:"",overall3:""})
}else if(id == 2){
this.setData({flag1:false})
this.setData({flag2:true})
this.setData({flag3:false})
this.setData({Highlight1:""})
this.setData({Highlight2:"active"})
this.setData({Highlight3:""})
this.setData({title3:false})
this.setData({classB:""})
this.setData({classC:""})
this.setData({nav3: "-1"});
this.setData({overall2:"",overall3:""})
}else{
this.setData({flag1:false})
this.setData({flag2:false})
this.setData({flag3:true})
this.setData({Highlight1:""})
this.setData({Highlight2:""})
this.setData({Highlight3:"active"})
this.setData({overall3:""})
this.setData({classC:""})
}
},
showTest() {
if(this.data.popUp3 == false){
this.setData({ showTest: true });
}
},
onCloseTest() {
this.setData({ showTest: false });
},
onChangeSheng(event) {
//加载蒙版
this.onClickShow();
var province = event.detail.value;
this.setData({
value1: province.text ,
value2:"市/区",
value3:"公司",
company: {},
ifDeptId:true,
provinceId:province.id,
});
this.setData({flag1:true})
this.setData({flag2:false})
this.setData({flag3:false})
this.setData({Highlight1:"active"})
this.setData({Highlight2:""})
this.setData({Highlight3:""})
this.setData({title2:false})
this.setData({title3:false})
this.setData({classA:""})
this.setData({classB:""})
this.setData({classC:""})
this.setData({nav2: "-1"});
this.setData({nav3: "-1"});
app.globalData.paramDeptId = province.id,
this.setData({ show1: false });
this.getDeptSubordinate(province.id);
this.selectProjectByCompanyId(this.data.userInfo.deptId,province.id,'','');
this.selectEarly(this.data.userInfo.deptId,'',province.id,'','');
this.getEnvironCount(this.data.userInfo.deptId,'',province.id,'','');
},
onChangeShiQu(event) {
//加载蒙版
this.onClickShow();
var city = event.detail.value[0];
var area = event.detail.value[1].text;
var sq = city+"/"+area
this.setData({
value2: sq ,
value3:"公司",
company:{},
ifDeptId:true,
cityId:area == '全部'?event.detail.value[1].id:'',
areaId:area == '全部'?'':event.detail.value[1].id
});
this.setData({flag1:true})
this.setData({flag2:false})
this.setData({flag3:false})
this.setData({Highlight1:"active"})
this.setData({Highlight2:""})
this.setData({Highlight3:""})
this.setData({title2:false})
this.setData({title3:false})
this.setData({classA:""})
this.setData({classB:""})
this.setData({classC:""})
this.setData({nav2: "-1"});
this.setData({nav3: "-1"});
this.setData({ show2: false });
let deptId = this.data.userInfo.deptId;
this.selectProjectByCompanyId(deptId,'','',event.detail.value[1].id);
//this.selectEarly(deptId,'','','',event.detail.value[1].id);
//this.getEnvironCount(deptId,'','','',event.detail.value[1].id);
},
onChange1(event) {
const { picker, value, index } = event.detail;
picker.setColumnValues(1, this.data.citys[value[0]]);
},
onChange2(event) {
// const { picker, value, index } = event.detail;
// picker.setColumnValues(1, this.data.companys[value[0]]);
},
showPopup1() {
if(this.data.popUp1 == false){
this.setData({ show1: true });
}
},
showPopup2() {
if(this.data.popUp2 == false){
this.setData({ show2: true });
}
},
onCancel() {
this.setData({ show1: false });
this.setData({ show2: false });
this.setData({ show3: false });
},
onClose() {
this.setData({ show1: false });
this.setData({ show2: false });
this.setData({ show3: false });
},
onClickShow() {
this.setData({ loadShow: true });
},
onClickHide() {
this.setData({ loadShow: false });
},
//页面初始化
onLoad: function (option) {
var that = this
//加载蒙版
that.onClickShow();
//调用wx.getSystemInfo接口然后动态绑定组件高度
wx.getSystemInfo({
success: function (res) {
that.setData({
height: res.windowHeight,
})
}
}),
//获取缓存中数据
wx.getStorage({
key: 'userinfo',
success:function(res){
console.log(res.data);
that.setData({
userInfo:res.data
})
app.globalData.deptId = res.data.deptId,
//加载用户组织架构信息
that.getFilstDept(res.data.deptId,res.data.userId);
}
})
},
/**
* 加载用户组织架构信息
* @param {*} deptId
* @param {*} userId
*/
getFilstDept:function(deptId,userId){
var that = this;
wx.request({
url: app.globalData.reqUrl+'/wechat/selectDeptAll',
data:{
"deptId":deptId,
"userId":userId,
"minRoleId":that.data.userInfo?.minRoleId
},
method:"GET",
success:function(res){
console.log(res.data);
res = res.data;
//判断登录是否项目人员
if(res.data.projectId != undefined){
var markers = [{id:0,projectId:res.data.projectId,longitude:res.data.longitude,latitude:res.data.latitude,projectName:res.data.projectName}];
var projectData = [{projectId:res.data.projectId,projectName:res.data.projectName,projectAddress:res.data.projectAddress,companyName:res.data.companyName,streamNumber:res.data.streamNumber,projectCount:res.data.projectCount,videoNum:res.data.videoNum,towerCount:res.data.towerCount,monitoringCount:res.data.monitoringCount}]
that.setData({
value1:res.data.shengName,
value2:res.data.shiName+'/'+res.data.quName,
value3:res.data.companyName,
markers:markers,
scale:15,
initialLon:res.data.longitude,
initialLat:res.data.latitude,
projectCount:1,
projectData:projectData,
logCompanyName:res.data.companyName,
popUp1:true,
popUp2:true,
popUp3:true,
})
//that.selectEarly(res.data.deptId,res.data.projectId,'','','');
//that.getEnvironCount(res.data.deptId,res.data.projectId,'','','');
that.onClickHide();
}else{
var columns = [];
columns.push(res.data.province_list);
that.setData({
value1:res.data.shengName,
value2:res.data.shiName+'/'+res.data.quName,
logCompanyName:res.data.logCompanyName,
value3:res.data.logCompanyName,
companyId:res.data.companyId,
paramPost:res.data.postId,
company:columns,
companys:columns,
jt:res.data.province_list,
popUp1:true,
popUp2:true
})
if(res.data.province_list.length==1){
that.setData({
popUp3:true
});
}else{
if(wx.getStorageSync('select_dept_index')!="" && wx.getStorageSync('select_dept_name')!=""){
that.setData({
nav1:wx.getStorageSync('select_dept_index'),
value3:wx.getStorageSync('select_dept_name')
});
}
}
//that.selectEarly(res.data.deptId,'','','','');
//that.getEnvironCount(res.data.deptId,'','','','');
if(wx.getStorageSync('select_dept_id')==""){
if(res.data.province_list.length==1){
that.selectProjectByCompanyId(res.data.deptId,'','','');
}else{
that.selectProjectByCompanyId("0",'','','');
}
}else{
that.selectProjectByCompanyId(wx.getStorageSync('select_dept_id'),'','','');
}
that.onClickHide();
}
}
})
},
/**
* 获取市区信息
* @param {*} provinceId 省id
*/
getDeptSubordinate:function(provinceId){
var that = this;
wx.request({
url: app.globalData.reqUrl+'/wechat/project/selectDeptSubordinate',
data:{
"userId":this.data.userInfo.userId,
"provinceId":provinceId,
"deptId":this.data.userInfo.deptId
},
method:"GET",
success:function(res){
that.onClickHide();
let citys = res.data;
let cityArea = [
{
values: Object.keys(citys),
className: 'column1',
},
{
values: citys[Object.keys(citys)[0]],
className: 'column2',
defaultIndex: 2,
},
]
that.setData({
cityArea: cityArea,
citys:citys
})
}
})
},
/**
* 根据筛选项目信息
* @param {*} deptId
* @param {*} provinceId
* @param {*} cityId
* @param {*} areaId
*/
selectProjectByCompanyId:function(deptId,provinceId,cityId,areaId){
var that = this;
wx.request({
url: app.globalData.reqUrl+'/wechat/project/selectProjectByCompanyId',
data:{
"userId":that.data.userInfo.userId,
"deptId":deptId,
"provinceId":provinceId,
"cityId":cityId,
"areaId":areaId,
"minRoleId":that.data.userInfo.minRoleId
},
method:"GET",
success:function(res){
//关闭蒙版
that.onClickHide();
if(res.data.length >0){
that.setData({
markers:res.data,
projectCount:res.data.length,
projectData:res.data,
scale:5,
initialLon:res.data[0].longitude,
initialLat:res.data[0].latitude,
})
}else{
that.setData({
markers:res.data,
projectCount:res.data.length,
projectData:res.data,
scale:5,
})
}
}
})
},
/**
* 根据组织架构查询出公司信息
* @param {*} deptId
* @param {*} state
*/
selectCompanyJG:function(deptId,state){
var that = this;
wx.request({
url: app.globalData.reqUrl+'/wechat/project/selectCompanyJG',
data:{
"deptId":deptId
},
method:"GET",
success:function(res){
that.onClickHide();
if(state == "SGS"){
that.setData({
shengGs:res.data
})
}else{
that.setData({
ziGs:res.data
})
}
}
})
},
/**
* 预警总个数
* @param {*} deptId
* @param {*} projectId
* @param {*} provinceId
* @param {*} cityId
* @param {*} areaId
*/
selectEarly:function(deptId,projectId,provinceId,cityId,areaId){
var that = this;
wx.request({
url: app.globalData.reqUrl+'/weixin/applets/selectYangchenCount',
method:"GET",
data:{
"deptId":deptId,
"projectId":projectId,
"provinceId":provinceId,
"cityId":cityId,
"areaId":areaId,
},
success:function(res){
that.onClickHide();
that.setData({
monitoringCount:res.data.monitoringCount,
videoNum:res.data.videoNum,
mechanicsNum:res.data.machineEnvirCount
})
}
})
},
/**
* 预警项目信息
* @param {*} deptId
* @param {*} projectId
* @param {*} provinceId
* @param {*} cityId
* @param {*} areaId
*/
getEnvironCount:function(deptId,projectId,provinceId,cityId,areaId){
var that = this;
wx.request({
url: app.globalData.reqUrl+'/weixin/applets/getEnvironCount',
method:'GET',
data:{
"deptId":deptId,
"projectId":projectId,
"provinceId":provinceId,
"cityId":cityId,
"areaId":areaId,
},
success:function(res){
that.onClickHide();
that.setData({
environProjectData:res.data,
environCount:res.data.length
})
}
})
},
/**
* 个人定位点
*/
selectUserLocation:function(){
let markers = this.data.markers;
markers.push(app.globalData.markers[0]);
this.setData({
scale:5,
initialLon:app.globalData.initialLon,
initialLat:app.globalData.latitude,
markers:markers,
})
},
//点击项目点跳转到项目概况页面
getProjectListById:function(even){
if(even.markerId != '-1'){
var projectData= this.data.projectData;
var value1 = "";
if(this.data.value1 != ""){
value1 = this.data.value1;
}else{
value1 = '省';
}
var value2 = "";
if(this.data.value2 != ""){
value2 = this.data.value2;
}else{
value2 = '市/区';
}
var value3 = "";
if(this.data.value3 != ""){
value3= this.data.value3;
}else{
value3 = '公司';
}
//赋值到公共参数
app.globalData.projectId = this.data.markers[even.markerId].projectId;
app.globalData.projectName = this.data.markers[even.markerId].projectName;
app.globalData.projectInfoList = JSON.stringify(projectData);
app.globalData.type = 1;
app.globalData.value1 = value1;
app.globalData.value2 = value2;
app.globalData.value3 = value3;
wx.redirectTo({
url: '../xiangmugaikuang/xiangmugaikuang'
})
}else{
app.toast("本定位点为个人定位");
}
},
//查看项目详情
checkDetailsSY:function(even){
var projectData= this.data.projectData;
var value1 = "";
if(this.data.value1 != ""){
value1 = this.data.value1;
}else{
value1 = '省';
}
var value2 = "";
if(this.data.value2 != ""){
value2 = this.data.value2;
}else{
value2 = '市/区';
}
var value3 = "";
if(this.data.value3 != ""){
value3= this.data.value3;
}else{
value3 = '公司';
}
//添加数据到app.js文件固定参数
app.globalData.projectInfoList = JSON.stringify(projectData);
app.globalData.type = 1;
app.globalData.value1 = value1;
app.globalData.value2 = value2;
app.globalData.value3 = value3;
wx.redirectTo({
url: '../gongchengliebiao/gongchengliebiao'
})
},
//查看预警详情
checkDetailsYJ:function(even){
var environProjectData = this.data.environProjectData;
var value1 = "";
if(this.data.value1 != ""){
value1 = this.data.value1;
}else{
value1 = '省';
}
var value2 = "";
if(this.data.value2 != ""){
value2 = this.data.value2;
}else{
value2 = '市/区';
}
var value3 = "";
if(this.data.value3 != ""){
value3= this.data.value3;
}else{
value3 = '公司';
}
//添加数据到app.js文件固定参数
app.globalData.projectInfoList = JSON.stringify(environProjectData);
app.globalData.type = 2;
app.globalData.value1 = value1;
app.globalData.value2 = value2;
app.globalData.value3 = value3;
wx.redirectTo({
url: '../gongchengliebiao/gongchengliebiao',
})
},
})