621 lines
17 KiB
JavaScript
621 lines
17 KiB
JavaScript
import {
|
|
removeToken
|
|
} from '../../utils/auth'
|
|
import {
|
|
loginOut
|
|
} from '../../api/login'
|
|
const app = getApp()
|
|
Page({
|
|
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
userInfo:{},
|
|
title:'工程列表',
|
|
ids: "",
|
|
value1:'省',
|
|
value2:'市/区',
|
|
value3:'公司',
|
|
show1: false,
|
|
show2: false,
|
|
show3: false,
|
|
sheng:[],
|
|
citys:{},
|
|
companys:{},
|
|
cityArea: [],
|
|
company: [],
|
|
proCount:'0',
|
|
projectInfoList:{},
|
|
projectData:[],
|
|
ifSonCompany:'',
|
|
ifDeptId:false,
|
|
deptId:'',
|
|
type:'',
|
|
popUp1:false,
|
|
popUp2:false,
|
|
popUp3:false,
|
|
companyId:'',
|
|
paramPost:'',
|
|
loadShow:false,
|
|
//省、市、区
|
|
provinceId:'',
|
|
cityId:'',
|
|
areaId:'',
|
|
//////新版本/////
|
|
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:'',
|
|
choiceShow:false,
|
|
//模糊查询参数
|
|
FuzzyPorjectId:"",
|
|
FuzzyDeptId:"",
|
|
FuzzyCompanyId:"",
|
|
FuzzyType:"",
|
|
FuzzyifSonCompany:"",
|
|
Fuzzylist:[],
|
|
},
|
|
|
|
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);
|
|
},
|
|
|
|
|
|
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 });
|
|
}
|
|
},
|
|
choice(){
|
|
this.setData({ choiceShow: true });
|
|
},
|
|
onCloseTest() {
|
|
this.setData({ showTest: false });
|
|
this.setData({ choiceShow: false });
|
|
},
|
|
|
|
onChangeSheng(event) {
|
|
//加载蒙版
|
|
this.onClickShow();
|
|
var province = event.detail.value;
|
|
this.setData({
|
|
value1: province.text ,
|
|
value2:"市/区",
|
|
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"});
|
|
this.setData({ show1: false });
|
|
this.getDeptSubordinate(province.id);
|
|
this.selectProjectByCompanyId(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 });
|
|
this.selectProjectByCompanyId(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 });
|
|
},
|
|
onLogout(){
|
|
loginOut({}).then(res => {
|
|
removeToken();
|
|
});
|
|
wx.clearStorageSync();
|
|
wx.setStorageSync('isReload', "1")
|
|
wx.redirectTo({
|
|
url: '../login/index',
|
|
})
|
|
},
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad: function (options) {
|
|
var that = this;
|
|
//获取缓存中数据
|
|
wx.getStorage({
|
|
key: 'userinfo',
|
|
success:function(res){
|
|
that.setData({
|
|
userInfo:res.data,
|
|
value1:app.globalData.value1,
|
|
value2:app.globalData.value2,
|
|
value3:app.globalData.value3
|
|
})
|
|
// let _dataList = app.globalData.projectInfoList;
|
|
// if(app.globalData.type == "1"){
|
|
// that.setData({
|
|
// "type":'1',
|
|
// title:"工程列表",
|
|
// proCount:_dataList.length,
|
|
// projectInfoList:_dataList,
|
|
// })
|
|
// }
|
|
// else{
|
|
// that.setData({
|
|
// projectInfoList:_dataList,
|
|
// proCount:_dataList.length,
|
|
// title:"预警列表",
|
|
// "type":'2',
|
|
// })
|
|
// }
|
|
//加载用户组织架构信息
|
|
that.getFilstDept(res.data.deptId,res.data.userId);
|
|
}
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 加载用户组织架构信息
|
|
* @param {*} even
|
|
* @param {*} even1
|
|
*/
|
|
getFilstDept:function(even,even1){
|
|
var that = this;
|
|
wx.request({
|
|
url: app.globalData.reqUrl+'/wechat/selectDeptAll',
|
|
data:{
|
|
"deptId":even,
|
|
"userId":even1,
|
|
"minRoleId":that.data.userInfo?.minRoleId
|
|
},
|
|
method:"GET",
|
|
success:function(res){
|
|
console.log(res.data);
|
|
res = res.data;
|
|
//判断登录是否项目人员
|
|
if(res.data.projectId != undefined){
|
|
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,monitoringCount:res.data.monitoringCount}]
|
|
that.setData({
|
|
value1:res.data.shengName,
|
|
value2:res.data.shiName+'/'+res.data.quName,
|
|
value3:res.data.companyName,
|
|
projectData:projectData,
|
|
popUp1:true,
|
|
popUp2:true,
|
|
popUp3:true,
|
|
})
|
|
}else{
|
|
var columns = [];
|
|
columns.push(res.data.province_list);
|
|
that.setData({
|
|
value1:res.data.shengName,
|
|
value2:res.data.shiName+'/'+res.data.quName,
|
|
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')
|
|
});
|
|
}
|
|
}
|
|
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'),'','','');
|
|
}
|
|
}
|
|
}
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 获取市区信息
|
|
* @param {*} provinceId
|
|
*/
|
|
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){
|
|
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":this.data.userInfo.userId,
|
|
"deptId":deptId,
|
|
"provinceId":provinceId,
|
|
"cityId":cityId,
|
|
"areaId":areaId,
|
|
"minRoleId":that.data.userInfo.minRoleId
|
|
},
|
|
method:"GET",
|
|
success:function(res){
|
|
that.setData({
|
|
proCount:res.data.length,
|
|
projectData:res.data,
|
|
projectInfoList:res.data
|
|
})
|
|
if(that.data.userInfo.minRoleId<4){
|
|
if(deptId=="0"){
|
|
//存入文件中
|
|
wx.setStorage({
|
|
key: 'projectInfoList',
|
|
data: res.data
|
|
});
|
|
}
|
|
}else{
|
|
//存入文件中
|
|
wx.setStorage({
|
|
key: 'projectInfoList',
|
|
data: res.data
|
|
});
|
|
}
|
|
app.globalData.projectInfoList = res.data;
|
|
//if(that.data.type == 1){
|
|
// that.setData({
|
|
// proCount:res.data.length,
|
|
// projectInfoList:res.data,
|
|
// })
|
|
//}else{
|
|
//that.getEnvironCount(deptId,'',provinceId,cityId,areaId);
|
|
//}
|
|
//关闭蒙版
|
|
that.onClickHide();
|
|
}
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 根据组织架构查询出公司信息
|
|
* @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){
|
|
if(state=="SGS"){
|
|
that.setData({
|
|
shengGs:res.data
|
|
})
|
|
}else{
|
|
that.setData({
|
|
ziGs:res.data
|
|
})
|
|
}
|
|
}
|
|
})
|
|
},
|
|
|
|
//获取当前预警信息
|
|
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.setData({
|
|
projectInfoList:res.data,
|
|
proCount:res.data.length
|
|
})
|
|
}
|
|
})
|
|
},
|
|
|
|
//返回到地图页面
|
|
returnMap:function(){
|
|
wx.redirectTo({
|
|
url: '../map/map',
|
|
})
|
|
},
|
|
|
|
//模糊查询项目信息
|
|
actqu:function(event){
|
|
var that = this;
|
|
that.setData({Fuzzylist:[]});
|
|
if(event.detail.value != ""){
|
|
wx.request({
|
|
url: app.globalData.reqUrl+'/wechat/project/selectProjectInfoByName',
|
|
data:{
|
|
"projectName":event.detail.value,
|
|
"userId":that.data.userInfo.userId,
|
|
"deptId":that.data.jt.length==1?that.data.userInfo.deptId:(wx.getStorageSync('select_dept_id')==""?"0":wx.getStorageSync('select_dept_id')),
|
|
"minRoleId":that.data.userInfo.minRoleId
|
|
},
|
|
method:"GET",
|
|
success:function(res){
|
|
res = res.data;
|
|
that.setData({
|
|
Fuzzylist:res.data
|
|
})
|
|
}
|
|
})
|
|
}else{
|
|
that.setData({Fuzzylist:[]});
|
|
}
|
|
},
|
|
|
|
//点击数据
|
|
checkProjetName:function(event){
|
|
var newList = [];
|
|
var list = event.currentTarget.dataset.list;
|
|
var projectName = event.currentTarget.dataset.name;
|
|
for(var i =0;i<list.length;i++ ){
|
|
if(list[i].projectName == projectName){
|
|
newList.push(list[i]);
|
|
}
|
|
}
|
|
this.setData({
|
|
projectInfoList:newList,
|
|
proCount:newList.length,
|
|
choiceShow:false,
|
|
})
|
|
},
|
|
|
|
//跳转到项目概况
|
|
checkProject:function(even){
|
|
//赋值到公共参数
|
|
app.globalData.projectId = even.currentTarget.dataset['id'];
|
|
app.globalData.projectName = even.currentTarget.dataset['name'];
|
|
//app.globalData.projectInfoList = JSON.stringify(this.data.projectInfoList);
|
|
app.globalData.type = this.data.type;
|
|
app.globalData.value1 = this.data.value1;
|
|
app.globalData.value2 = this.data.value2;
|
|
app.globalData.value3 = this.data.value3;
|
|
wx.redirectTo({
|
|
url: '../xiangmugaikuang/index',
|
|
})
|
|
|
|
}
|
|
|
|
}) |