// pages/newAddPage/safetyManagement/index.js const app = getApp() Page({ /** * 页面的初始数据 */ data: { active: 1, loginName: "", deptId: "", projectName: '', projectId: '', //教育培训 workTrainStatistics: [{ name: '入场教育', value: 0, prop: 0 }, { name: '班前培训', value: 0, prop: 0 }, { name: '专项教育', value: 0, prop: 0 }, { name: '文件落实', value: 0, prop: 0 }, { name: '其它培训', value: 0, prop: 0 } ], emergencyDrillStatistics: [{ name: '消防演练', value: 0, prop: 0 }, { name: '防汛演练', value: 0, prop: 0 }, { name: '高处坠落演练', value: 0, prop: 0 }, { 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.getTraining(projectId, 0); this.getSecurityCheck(projectId); this.getSpecial(projectId); this.getPojectInsurance(projectId); this.getTraining(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, type) { wx.request({ url: app.globalData.reqUrl + '/wechat/projectTrain/selectGroupCountByProjectIdV2', data: { projectId: projectId, trainType: type, deptId: 0 }, method: "get", success: res => { res = res.data; if (res.code == 200) { let sum = 0; res.data.forEach((it, idx) => { sum += it.total; }); let _workTrainList = []; res.data.forEach((it, idx) => { _workTrainList.push({ name: it.typeName, value: it.total, prop: (it.total / sum * 100).toFixed(2) }); }); //数据绑定 if (type == 0) { this.setData({ workTrainStatistics: _workTrainList }) } else { this.setData({ emergencyDrillStatistics: _workTrainList }) } } } }) }, /** * 特种人员 */ 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 }) } } }) }, })