jhwxapp/miniprogram/pages/safety_manage/index.js

565 lines
14 KiB
JavaScript

// pages/newAddPage/safetyManagement/index.js
const app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
active: 1,
loginName: "",
deptId: "",
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: [],
request: app.globalData.reqUrl,
todoDb: 0,
approveDb: 0,
aq: 0,
},
//项目切换 返回值
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,
deptId: res.data.deptId,
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);
that.awaitTask(res.data.minRoleId, res.data.deptId, res.data.loginName, res.data.userId);
}
})
},
/**
* 初始化项目安全管理
*/
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 && res.data) {
let sum = 0;
let otherSum = 0;
let flag = true;
res.data.forEach((it, idx) => {
sum += it.total;
if (idx > 4 && res.data.length > 6) {
otherSum += it.total;
}
});
let specialStatistics = [];
res.data.forEach((it, idx) => {
if (flag) {
specialStatistics.push({
name: it.typeName,
value: it.total,
prop: (it.total / sum * 100).toFixed(2)
});
if (idx > 3 && res.data.length > 6) {
specialStatistics.push({
name: "其它工种",
value: otherSum,
prop: (otherSum / sum * 100).toFixed(2)
});
flag = false;
}
}
});
//数据绑定
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/attendance/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 && res.data) {
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.comTotal,
"securityCheck.routineCheckNumber": it.total
})
} else {
this.setData({
"securityCheck.specialRectificationRate": (it.comTotal / it.total * 100).toFixed(2),
"securityCheck.specialProblemTotal": it.comTotal,
"securityCheck.specialCheckNumber": it.total,
})
}
});
}
}
})
},
goZXPX() {
wx.setStorageSync('nav-menu', "aq");
wx.navigateTo({
url: '../../pageage/project_train/list/index?trainType=0',
})
},
/**
* 安全隐患页面
*/
goAQYH() {
wx.setStorageSync('nav-menu', "aq");
wx.redirectTo({
url: '../../pageage/project_problemmodify/security/list/index',
})
},
goTZRY() {
wx.setStorageSync('nav-menu', "aq");
wx.redirectTo({
url: '../../pageage/project_special/list/index',
})
},
goXMBX() {
wx.setStorageSync('nav-menu', "aq");
wx.redirectTo({
url: '../../pageage/project_insurance/list/index',
})
},
goZGRY() {
wx.setStorageSync('nav-menu', "aq");
wx.redirectTo({
url: '../../pageage/project_deptWorks/list/index',
})
},
goYJYL() {
wx.setStorageSync('nav-menu', "aq");
wx.navigateTo({
url: '../../pageage/project_train/list/index?trainType=1',
})
},
/****************************底部导航********************************/
onClickShow() {
this.setData({
loadShow: true
});
},
onClickHide() {
this.setData({
loadShow: false
});
},
// 底部导航
onChange(event) {
// event.detail 的值为当前选中项的索引
this.setData({
active: event.detail
});
},
goMenu: function (event) {
wx.setStorageSync('nav-menu', "aq");
wx.redirectTo({
url: event.currentTarget.dataset.url
})
},
/**
* 项目概况页面
*/
XMGK: function () {
wx.redirectTo({
url: '../xiangmugaikuang/index'
})
},
//跳转到质量管理
ZLGL: function () {
wx.redirectTo({
url: '../quality_manage/index'
})
},
//跳转到进度管理
JDGL: function () {
//app.toast("敬请期待!");
wx.redirectTo({
url: '../../pageage/project_schedule/list/index'
})
},
/**
* 更多功能
*/
GDGN: function () {
wx.redirectTo({
url: '../gengduogongneng/index'
})
},
//查询当前登录人的代办任务
awaitTask(minRoleId, deptId, loginName, userId) {
let param = {
"businessKey": app.globalData.projectId,
"nowRole": minRoleId,
"nowDept": deptId,
"nowUserName": loginName,
"nowUser": userId,
"activeName": "await"
}
var that = this;
wx.request({
url: app.globalData.reqUrl + '/wechat/flowTask/myAwaitFlowTaskListCount',
data: param,
method: "post",
success: function (res) {
res = res.data;
if (res.code == "200") {
that.setData({
todoDb: res.data.todo+res.data.approveLZYJ,
approveDb: res.data.approve + res.data.zlCount,
aq: res.data.aqCount
})
}
}
})
},
})