YZProjectCloud/yanzhu-ui-app/miniprogram/pages/project_safety/index.js

197 lines
5.1 KiB
JavaScript

import {
getToken,
getUserInfo
} from '../../utils/auth'
import {
findUserMenuList
} from '../../api/publics'
import {
findMyTask
} from '../../api/flowable'
import {
findGroupCountView
} from '../../api/problemmodify'
const app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
active: 1,
projectId: '',
projectName: '',
subDeptUserInfo: {},
menuList: [],
initData: {},
aqyhDB: 0,
aqglDB: 0,
zlglDB: 0,
todoDB: 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, //检查次数
}],
},
//项目切换 返回值
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: '../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, 0);
},
/**
* 查询功能菜单
* @param {*} proId
*/
getUserMenuList: function (proId) {
findUserMenuList(proId, 'aqgl').then(res => {
if (res.code == 200) {
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', "aqgl");
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'
})
},
//跳转到质量管理
ZLGL: function () {
wx.setStorageSync('nav-menu', "zlgl");
wx.redirectTo({
url: '../project_quality/index'
})
},
//跳转到进度管理
JDGL: function () {
wx.setStorageSync('nav-menu', "aqgl");
wx.redirectTo({
url: '../project_schedule/list/index'
})
},
//跳转到项目管理
XMGL: function () {
wx.setStorageSync('nav-menu', "xmgl");
wx.redirectTo({
url: '../project_more/index'
})
},
/**
* 统计代办
*/
awaitTask() {
let param = "proId=" + app.globalData.useProjectId;
findMyTask(param).then(res => {
if (res.code == 200) {
let proUserInfo = this.data.subDeptUserInfo;
this.setData({
aqyhDB: res.data.aqyh,
aqglDb: proUserInfo.subDeptType == "1" ? res.data.aqgl : 0,
zlglDb: proUserInfo.subDeptType == "1" ? res.data.zlgl : 0,
todoDb: proUserInfo.subDeptType == "1" ? (res.data.dwsh + res.data.rysh) : res.data.todo
})
}
});
},
})