import { getToken, getUserInfo } from "../../utils/auth"; import { findUserMenuList } from "../../api/publics"; import { findMyTask } from "../api/flowable"; import { findGroupCountView } from "../api/problemmodify"; import { countGroupByStatus, countTechByStatus } from "../../api/project"; const app = getApp(); Page({ /** * 页面的初始数据 */ data: { active: 2, projectId: "", projectName: "", subDeptUserInfo: {}, menuList: [], initData: {}, aqglDb: 0, zlyhDB: 0, zlglDb: 0, todoDB: 0, checkDB: 0, //举牌验收数量 checkList: [ { id: 1, name: "日常巡检问题", rate: 0, //整改率 total: 0, //问题总数 number: 0, //检查次数 }, { id: 2, name: "周检隐患问题", rate: 0, //整改率 total: 0, //问题总数 number: 0, //检查次数 }, { id: 3, name: "月检隐患问题", rate: 0, //整改率 total: 0, //问题总数 number: 0, //检查次数 }, { id: 4, name: "专项检查问题", rate: 0, //整改率 total: 0, //问题总数 number: 0, //检查次数 }, ], showZlyhpcDetail: false, }, //项目切换 返回值 onProjectSelect(e) { let projectId = e.detail.id; let projectName = e.detail.text; app.globalData.useProjectId = projectId; app.globalData.useProjectName = projectName; this.onLoad(); }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { if (!getToken()) { wx.redirectTo({ url: "../../pages/login/login", }); } const proUserInfo = getUserInfo(); this.setData({ projectId: app.globalData.useProjectId, projectName: app.globalData.useProjectName, initData: { id: app.globalData.useProjectId, text: app.globalData.useProjectName, }, subDeptUserInfo: proUserInfo.projectUserInfo, }); //用户权限菜单 this.getUserMenuList(app.globalData.useProjectId); this.awaitTask(); this.getGroupCountView(app.globalData.useProjectId, 1); }, /** * 查询功能菜单 * @param {*} proId */ getUserMenuList: function (proId) { findUserMenuList(proId, "zlgl").then((res) => { if (res.code == 200) { res.data.forEach((item) => { if (item.menuIdenti == "ZLYHPC") { this.setData({ showZlyhpcDetail: true, }); } }); this.setData({ menuList: res.data, }); } }); }, /** * 项目分组查询统计 * @param {*} proId * @param {*} type */ getGroupCountView(proId, type) { findGroupCountView(proId, type).then((res) => { let _checkList = this.data.checkList; //隐患统计数据 res.data.forEach((item, idx) => { let _index = parseInt(item.problemType - 1); _checkList[_index].rate = ((item.comTotal / item.total) * 100).toFixed( 2 ); _checkList[_index].total = item.comTotal; _checkList[_index].number = item.total; }); this.setData({ checkList: _checkList, }); }); }, goMenu: function (event) { let _url = event.currentTarget.dataset.url; if (!_url) { app.toast("正在建设中..."); return false; } wx.setStorageSync("nav-menu", "zlgl"); wx.redirectTo({ url: _url, }); }, // 底部导航 onChange(event) { // event.detail 的值为当前选中项的索引 this.setData({ active: event.detail, }); }, //跳转到项目概况 XMGK: function () { wx.setStorageSync("nav-menu", "xmgk"); wx.redirectTo({ url: "../project_info/index", }); }, //跳转到安全管理 AQGL: function () { wx.setStorageSync("nav-menu", "aqgl"); wx.redirectTo({ url: "../project_safety/index", }); }, //跳转到进度管理 JDGL: function () { wx.setStorageSync("nav-menu", "zlgl"); wx.redirectTo({ url: "../project_schedule/list/index", }); }, //跳转到项目管理 XMGL: function () { wx.setStorageSync("nav-menu", "xmgl"); wx.redirectTo({ url: "../project_more/index", }); }, //质量隐患详情跳转 goZLYH: function () { wx.setStorageSync("nav-menu", "zlgl"); wx.redirectTo({ url: "../project_problemmodify/list/index?type=1", }); }, /** * 统计代办 */ awaitTask() { let param = "proId=" + app.globalData.useProjectId; let proUserInfo = this.data.subDeptUserInfo; findMyTask(param).then((res) => { if (res.code == 200) { this.setData({ aqglDb: proUserInfo.subDeptType == "1" ? res.data.aqgl : 0, zlyhDB: res.data.zlyl, zlglDb: proUserInfo.subDeptType == "1" ? res.data.zlgl : 0, todoDb: proUserInfo.subDeptType == "1" ? res.data.dwsh + res.data.rysh : res.data.todo, }); } }); let ajax = null; param = { projectId: app.globalData.useProjectId, phoneNumber: app.globalData.userData.phonenumber, }; if (proUserInfo.subDeptType == "1") { ajax = countTechByStatus(param); } if (ajax) { ajax.then((res) => { if (res.success) { this.setData({ checkDB: res.data.cnt || 0, }); } }); } }, });