YZProjectCloud/yanzhu-ui-app/miniprogram/pageage/project_more/index.js

175 lines
4.1 KiB
JavaScript
Raw Normal View History

2025-08-14 00:41:26 +08:00
import { getToken, getUserInfo } from "../../utils/auth";
import { findUserMenuList } from "../../api/publics";
import { findMyTask } from "../api/flowable";
import { countGroupByStatus, countTechByStatus } from "../../api/project";
const app = getApp();
2025-05-18 10:49:52 +08:00
Page({
/**
* 页面的初始数据
*/
data: {
active: 1,
2025-08-14 00:41:26 +08:00
projectId: "",
projectName: "",
2025-05-18 10:49:52 +08:00
subDeptUserInfo: {},
menuList: [],
initData: {},
aqglDb: 0,
zlglDb: 0,
todoDB: 0,
fbdwDB: 0,
fbrtDB: 0,
aqyhDB: 0,
2025-08-14 00:41:26 +08:00
zlyhDB: 0,
checkDB: 0, //举牌验收数量
isGroup: false, //是否是班组
2025-05-18 10:49:52 +08:00
},
//项目切换 返回值
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({
2025-08-14 00:41:26 +08:00
url: "../../pages/login/login",
});
2025-05-18 10:49:52 +08:00
}
const proUserInfo = getUserInfo();
this.setData({
projectId: app.globalData.useProjectId,
projectName: app.globalData.useProjectName,
initData: {
id: app.globalData.useProjectId,
text: app.globalData.useProjectName,
},
2025-08-14 00:41:26 +08:00
active: proUserInfo.projectUserInfo.subDeptType == "1" ? 4 : 1,
isGroup: proUserInfo.projectUserInfo.userPost == "3",
2025-05-18 10:49:52 +08:00
subDeptUserInfo: proUserInfo.projectUserInfo,
});
//用户权限菜单
this.getUserMenuList(app.globalData.useProjectId);
this.awaitTask();
},
/**
* 查询功能菜单
2025-08-14 00:41:26 +08:00
* @param {*} proId
2025-05-18 10:49:52 +08:00
*/
getUserMenuList: function (proId) {
2025-08-14 00:41:26 +08:00
findUserMenuList(proId, this.data.active == 1 ? "" : "gdgn").then((res) => {
2025-05-18 10:49:52 +08:00
if (res.code == 200) {
this.setData({
2025-08-14 00:41:26 +08:00
menuList: res.data,
});
2025-05-18 10:49:52 +08:00
}
});
},
goMenu: function (event) {
let _url = event.currentTarget.dataset.url;
if (!_url) {
2025-08-14 00:41:26 +08:00
app.toast("正在建设中...");
2025-05-18 10:49:52 +08:00
return false;
}
2025-08-14 00:41:26 +08:00
wx.setStorageSync("nav-menu", "xmgl");
2025-05-18 10:49:52 +08:00
wx.redirectTo({
2025-08-14 00:41:26 +08:00
url: _url,
});
2025-05-18 10:49:52 +08:00
//跳转到其它小程序
//wx.navigateToMiniProgram({
// appId: 'wx7c39a25db91228f7',
// path: 'pages/tabbar/order-new/index?type=0'
//})
},
// 底部导航
onChange(event) {
// event.detail 的值为当前选中项的索引
this.setData({
2025-08-14 00:41:26 +08:00
active: event.detail,
2025-05-18 10:49:52 +08:00
});
},
//跳转到项目概况
XMGK: function () {
2025-08-14 00:41:26 +08:00
wx.setStorageSync("nav-menu", "xmgk");
2025-05-18 10:49:52 +08:00
wx.redirectTo({
2025-08-14 00:41:26 +08:00
url: "../project_info/index",
});
2025-05-18 10:49:52 +08:00
},
//跳转到安全管理
AQGL: function () {
2025-08-14 00:41:26 +08:00
wx.setStorageSync("nav-menu", "aqgl");
2025-05-18 10:49:52 +08:00
wx.redirectTo({
2025-08-14 00:41:26 +08:00
url: "../project_safety/index",
});
2025-05-18 10:49:52 +08:00
},
//跳转到质量管理
ZLGL: function () {
2025-08-14 00:41:26 +08:00
wx.setStorageSync("nav-menu", "zlgl");
2025-05-18 10:49:52 +08:00
wx.redirectTo({
2025-08-14 00:41:26 +08:00
url: "../project_quality/index",
});
2025-05-18 10:49:52 +08:00
},
//跳转到进度管理
JDGL: function () {
2025-08-14 00:41:26 +08:00
wx.setStorageSync("nav-menu", "xmgl");
2025-05-18 10:49:52 +08:00
wx.redirectTo({
2025-08-14 00:41:26 +08:00
url: "../project_schedule/list/index",
});
2025-05-18 10:49:52 +08:00
},
/**
* 统计代办
*/
awaitTask() {
let param = "proId=" + app.globalData.useProjectId;
2025-08-14 00:41:26 +08:00
findMyTask(param).then((res) => {
2025-05-18 10:49:52 +08:00
if (res.code == 200) {
let proUserInfo = this.data.subDeptUserInfo;
this.setData({
2025-08-14 00:41:26 +08:00
todoDb:
proUserInfo.subDeptType == "1"
? res.data.dwsh + res.data.rysh
: res.data.todo,
2025-05-18 10:49:52 +08:00
fbdwDB: res.data.dwsh,
fbrtDB: res.data.rysh,
aqglDb: proUserInfo.subDeptType == "1" ? res.data.aqgl : 0,
zlglDb: proUserInfo.subDeptType == "1" ? res.data.zlgl : 0,
aqyhDB: res.data.aqgl,
zlyhDB: res.data.zlgl,
2025-08-14 00:41:26 +08:00
});
2025-05-18 10:49:52 +08:00
}
});
2025-08-14 00:41:26 +08:00
param = {
projectId: app.globalData.useProjectId,
phoneNumber: app.globalData.userData.phonenumber,
};
let ajax = null;
if (this.data.isGroup) {
ajax = countGroupByStatus(param);
}
if (ajax) {
ajax.then((res) => {
if (res.success) {
this.setData({
checkDB: res.data.cnt || 0,
});
}
});
}
2025-05-18 10:49:52 +08:00
},
2025-08-14 00:41:26 +08:00
});