jhwxapp/miniprogram/pages/safety_manage/index.js

401 lines
11 KiB
JavaScript

// pages/newAddPage/safetyManagement/index.js
const app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
loginName:"",
userName:"",
deptId:"",
deptName:"",
projectName: '',
projectId: '',
//教育培训
videoSurvey: [
{ name: '应急演练', value: 0, prop: 0 },
{ name: '专项培训', value: 0, prop: 0 }
],
trainList:[],
trainTotal:0,
emergencyDrillList:[],
emergencyDrillTotal:0,
//特种作业人员
specialStatistics:[{name:'其它', value: 0, prop: 0 }],
insuranceStatistics:[{name:'安责险', value: 0, prop: 0 },{name:'一切险', value: 0, prop: 0 }],
deptWorksStatistics:[{name:'劳务人员', value: 0, prop: 0 },{name:'监理人员', value: 0, prop: 0 },{name:'总包人员', value: 0, prop: 0 }],
securityCheck: {
routineRectificationRate: 0, //常规整改率
routineProblemTotal: 0,//常规问题总数
routineCheckNumber: 0,//常规检查次数
specialRectificationRate: 0, //专项整改率
specialProblemTotal: 0,//专项问题总数
specialCheckNumber: 0,//专项检查次数
},
menuList:[],
},
showPopup() {
this.setData({ show: true });
},
onClose() {
this.setData({ show: false });
},
onClickShow() {
this.setData({ loadShow: true });
},
onClickHide() {
this.setData({ loadShow: false });
},
//项目切换 返回值
onProjectSelect(e) {
this.onClickShow();
let projectId = e.detail.id;
let projectName = e.detail.text;
app.globalData.projectId = projectId;
app.globalData.projectName = projectName;
this.setData({
projectId: projectId,
projectName: projectName,
})
this.onLoad()
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
var that = this
wx.getStorage({
key: 'userinfo',
success: function (res) {
console.log(res.data);
that.setData({
loginName: res.data.loginName,
userName: res.data.userName,
deptId: res.data.deptId,
deptName:res.data.deptName,
projectName: app.globalData.projectName,
projectId: app.globalData.projectId,
initData: { text: app.globalData.projectName, id: app.globalData.projectId }
})
that.selectMenuList(res.data.loginName);
that.initPage(app.globalData.projectId);
}
})
},
/**
* 初始化项目安全管理
*/
initPage(projectId) {
this.getTrainList(projectId,0);
this.getSecurityCheck(projectId);
this.getSpecial(projectId);
this.getDeptWorks(projectId);
this.getPojectInsurance(projectId);
//this.getTraining(projectId);
this.getTrainList(projectId,1);
},
selectMenuList:function(loginName){
var that = this;
wx.request({
url: app.globalData.reqUrl+'/wechat/selectRoleMenuList',
data:{
username:loginName,
type:"aq"
},
method:"get",
success:function(res){
res=res.data;
if(res.code =='200'){
that.setData({
menuList:res.data
})
}
}
})
},
/**
* 教育培训
*/
getTraining(projectId) {
wx.request({
url: app.globalData.reqUrl + '/wechat/projectTrain/selectGroupCountByProjectId',
data:{projectId:projectId},
method:"get",
success: res => {
res = res.data;
if(res.code == 200){
let sum=0;
res.data.forEach((it,idx)=>{
sum+=it.total;
});
let videoSurvey=[];
res.data.forEach((it,idx)=>{
videoSurvey.push({ name: it.typeName, value: it.total, prop: (it.total / sum * 100).toFixed(2)});
});
//数据绑定
this.setData({
videoSurvey
})
}
}
})
},
/**
* 特种人员
*/
getSpecial(projectId) {
wx.request({
url: app.globalData.reqUrl + '/wechat/projectSpecial/selectGroupCountByProjectId',
data:{projectId:projectId},
method:"get",
success: res => {
res = res.data;
if(res.code == 200){
let sum=0;
res.data.forEach((it,idx)=>{
sum+=it.total;
});
let specialStatistics=[];
res.data.forEach((it,idx)=>{
specialStatistics.push({ name: it.typeName, value: it.total, prop: (it.total / sum * 100).toFixed(2)});
});
//数据绑定
this.setData({
specialStatistics
})
}
}
})
},
/**
* 专项培训&&应急演练
*/
getTrainList(projectId,type){
let that = this;
wx.request({
url: app.globalData.reqUrl + '/wechat/projectTrain/list',
data:{projectId:projectId,trainType:type,deptId:0},
method:"get",
success: res => {
res = res.data;
if(res.code == 200){
if(type=="1"){
//数据绑定
this.setData({
emergencyDrillList: res.data,
emergencyDrillTotal: res.data.length
})
}else{
//数据绑定
this.setData({
trainList: res.data,
trainTotal: res.data.length
})
}
}
}
})
},
/**
* 项目人员
*/
getDeptWorks(projectId) {
wx.request({
url: app.globalData.reqUrl + '/wechat/projectDeptWroks/findSumByProjectId',
data:{projectId:projectId},
method:"get",
success: res => {
res = res.data;
if(res.code == 200){
if(res.data){
let sum=0;
let deptWorksStatistics=[];
if(res.data.contractorPersonnel){
sum+=res.data.contractorPersonnel;
}
if(res.data.servicePersonnel){
sum+=res.data.servicePersonnel;
}
if(res.data.supervisorPersonnel){
sum+=res.data.supervisorPersonnel;
}
if(res.data.servicePersonnel){
deptWorksStatistics.push({ name: "劳务人员", value: res.data.servicePersonnel, prop: (res.data.servicePersonnel / sum * 100).toFixed(2)});
}else{
deptWorksStatistics.push({ name: "劳务人员", value: 0, prop: (0 / sum * 100).toFixed(2)});
}
if(res.data.supervisorPersonnel){
deptWorksStatistics.push({ name: "监理人员", value: res.data.supervisorPersonnel, prop: (res.data.supervisorPersonnel / sum * 100).toFixed(2)});
}else{
deptWorksStatistics.push({ name: "监理人员", value: 0, prop: (0 / sum * 100).toFixed(2)});
}
if(res.data.contractorPersonnel){
deptWorksStatistics.push({ name: "总包人员", value: res.data.contractorPersonnel, prop: (res.data.contractorPersonnel / sum * 100).toFixed(2)});
}else{
deptWorksStatistics.push({ name: "总包人员", value: 0, prop: (0 / sum * 100).toFixed(2)});
}
//数据绑定
this.setData({
deptWorksStatistics
})
}
}
}
})
},
/**
* 获取项目保险数据
*/
getPojectInsurance(projectId){
wx.request({
url: app.globalData.reqUrl + '/wechat/projectInsurance/selectGroupCountByProjectId',
data:{projectId:projectId},
method:"get",
success: res => {
res = res.data;
if(res.code == 200){
let sum=0;
res.data.forEach((it,idx)=>{
sum+=it.total;
});
let insuranceStatistics=[];
if(res.data.length==2){
res.data.forEach((it,idx)=>{
insuranceStatistics.push({ name: it.insuranceTypeName, value: it.total, prop: (it.total / sum * 100).toFixed(2)});
});
}else{
res.data.forEach((it,idx)=>{
if(it.insuranceType=="1"){
insuranceStatistics.push({ name: it.insuranceTypeName, value: it.total, prop: (it.total / sum * 100).toFixed(2)});
insuranceStatistics.push({ name: "安责险", value: 0, prop:0});
}else{
insuranceStatistics.push({ name: it.insuranceTypeName, value: it.total, prop: (it.total / sum * 100).toFixed(2)});
insuranceStatistics.push({ name: "一切险", value: 0, prop: 0});
}
});
}
//数据绑定
this.setData({
insuranceStatistics
})
}
}
})
},
/**
* 获取安全检查数据
*/
getSecurityCheck(projectId) {
wx.request({
url: app.globalData.reqUrl + '/wechat/projectProblemmodify/selectGroupCountByProjectId',
data:{projectId:projectId,infoType:"0"},
method:"get",
success: res => {
res = res.data;
if(res.code == 200){
//数据绑定
res.data.forEach((it,idx)=>{
if(it.problemType=="1"){
this.setData({
"securityCheck.routineRectificationRate": (it.comTotal / it.total * 100).toFixed(2),
"securityCheck.routineProblemTotal": it.total,
"securityCheck.routineCheckNumber": it.total
})
}else{
this.setData({
"securityCheck.specialRectificationRate": (it.comTotal / it.total * 100).toFixed(2),
"securityCheck.specialProblemTotal": it.total,
"securityCheck.specialCheckNumber": it.total,
})
}
});
}
}
})
},
goHighLightPage() {
wx.navigateTo({
url: '../../Highlight-photos/index',
})
},
/**
* 教育培训页面
*/
goEducations() {
wx.navigateTo({
url: '../../../pageage/educations-list/index?jumpState=1',
})
},
onClosePopup() {
this.setData({ show: false });
},
/****************************底部导航********************************/
goMenu:function(event){
wx.setStorageSync('nav-menu', "aq");
wx.navigateTo({
url: event.currentTarget.dataset.url
})
},
/**
* 项目概况页面
*/
XMGK: function () {
wx.redirectTo({
url: '../xiangmugaikuang/xiangmugaikuang'
})
},
//跳转到质量管理
ZLGL:function(){
wx.redirectTo({
url:'../Quality-Assurance/index'
})
},
//跳转到进度管理
JDGL:function(){
wx.redirectTo({
url:'../../pageage/Progress-management/index'
})
},
/**
* 更多功能
*/
GDGN: function () {
wx.redirectTo({
url: '../gengduogongneng/gengduogongneng'
})
},
//退出登录
TCDL:function(){
wx.clearStorageSync();
wx.setStorageSync('isReload', "1")
wx.redirectTo({
url: '../login/login',
})
},
//修改密码
XGMM:function(){
wx.redirectTo({
url: '../updatePassword/updatePassword'
})
},
})