196 lines
5.1 KiB
JavaScript
196 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.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
|
|
})
|
|
}
|
|
});
|
|
},
|
|
|
|
}) |