235 lines
5.5 KiB
JavaScript
235 lines
5.5 KiB
JavaScript
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, //举牌验收数量
|
|
menuKey: 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,
|
|
menuKey: res.data.menuKey + 1,
|
|
});
|
|
}
|
|
});
|
|
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,
|
|
menuKey: res.data.menuKey + 1,
|
|
});
|
|
}
|
|
});
|
|
}
|
|
},
|
|
});
|