2024-12-29 11:46:50 +08:00
|
|
|
import config from '../../config'
|
|
|
|
import {
|
2025-02-16 17:19:52 +08:00
|
|
|
getToken,
|
|
|
|
getUserInfo
|
2024-12-29 11:46:50 +08:00
|
|
|
} from '../../utils/auth'
|
|
|
|
import {
|
|
|
|
findProjectInfo,
|
2025-02-16 17:19:52 +08:00
|
|
|
findProjectDepts
|
2024-12-29 11:46:50 +08:00
|
|
|
} from '../../api/project'
|
|
|
|
import {
|
|
|
|
findSubDeptsUsers,
|
|
|
|
findDaysAttendanceView,
|
|
|
|
findUsersAttendanceView,
|
|
|
|
findSubDeptsAttendanceView
|
|
|
|
} from '../../api/attendance'
|
2024-12-30 00:30:39 +08:00
|
|
|
import {
|
|
|
|
findMyTask
|
|
|
|
} from '../../api/flowable'
|
2024-12-29 11:46:50 +08:00
|
|
|
const app = getApp();
|
|
|
|
Page({
|
|
|
|
/**
|
|
|
|
* 页面的初始数据
|
|
|
|
*/
|
|
|
|
data: {
|
|
|
|
title: "项目详情",
|
|
|
|
activeNames: ["base"],
|
|
|
|
//项目信息
|
|
|
|
projectInfo: {},
|
|
|
|
projectDeptsList: [],
|
|
|
|
deptTypes: [{
|
|
|
|
"name": "建设单位",
|
2025-01-19 00:59:43 +08:00
|
|
|
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/icon/jsdw.png"
|
2024-12-29 11:46:50 +08:00
|
|
|
}, {
|
|
|
|
"name": "监理单位",
|
2025-01-19 00:59:43 +08:00
|
|
|
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/icon/jldw.png"
|
2024-12-29 11:46:50 +08:00
|
|
|
}, {
|
|
|
|
"name": "设计单位",
|
2025-01-19 00:59:43 +08:00
|
|
|
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/icon/sjdw.png"
|
2024-12-29 11:46:50 +08:00
|
|
|
}, {
|
|
|
|
"name": "检测单位",
|
2025-01-19 00:59:43 +08:00
|
|
|
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/icon/jcjg.png"
|
2024-12-29 11:46:50 +08:00
|
|
|
}, {
|
|
|
|
"name": "勘察单位",
|
2025-01-19 00:59:43 +08:00
|
|
|
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/icon/fbdw.png"
|
2024-12-29 11:46:50 +08:00
|
|
|
}, {
|
|
|
|
"name": "总包单位",
|
2025-01-19 00:59:43 +08:00
|
|
|
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/icon/zbdw.png"
|
2024-12-29 11:46:50 +08:00
|
|
|
}],
|
|
|
|
active: 0,
|
|
|
|
projectId: '',
|
2024-12-29 21:35:34 +08:00
|
|
|
projectName: '',
|
2024-12-29 11:46:50 +08:00
|
|
|
initData: {},
|
2025-03-09 15:12:00 +08:00
|
|
|
aqglDb: 0,
|
|
|
|
zlglDb: 0,
|
2024-12-29 11:46:50 +08:00
|
|
|
todoDb: 0,
|
|
|
|
nactive: 0,
|
|
|
|
labourData: [{
|
|
|
|
name: "管理人员",
|
|
|
|
total: 0,
|
|
|
|
unit: "人",
|
|
|
|
yesMonitor: 180
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "劳务人员",
|
|
|
|
yesMonitor: 0,
|
|
|
|
total: 0,
|
|
|
|
unit: "人"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "特殊工种",
|
|
|
|
yesMonitor: 0,
|
|
|
|
total: 0,
|
|
|
|
unit: "人"
|
|
|
|
},
|
|
|
|
],
|
|
|
|
labourDataList: [],
|
|
|
|
labourDays: [{
|
|
|
|
name: "管理人员",
|
|
|
|
total: 0,
|
|
|
|
unit: "人",
|
|
|
|
yesMonitor: 180
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "劳务人员",
|
|
|
|
yesMonitor: 0,
|
|
|
|
total: 0,
|
|
|
|
unit: "人"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "特殊工种",
|
|
|
|
yesMonitor: 0,
|
|
|
|
total: 0,
|
|
|
|
unit: "人"
|
|
|
|
},
|
|
|
|
],
|
|
|
|
labourDaysTotal: 0,
|
|
|
|
labourImg: "https://szgcwx.jhncidg.com/staticFiles/icon/zgry.png",
|
|
|
|
labourName: "在岗人员",
|
|
|
|
labourTotal: 0,
|
|
|
|
labourTypeList: [{
|
|
|
|
name: "在岗人员",
|
|
|
|
total: 0,
|
|
|
|
img: "https://szgcwx.jhncidg.com/staticFiles/icon/zgry.png"
|
|
|
|
}, {
|
|
|
|
name: "离岗人员",
|
|
|
|
total: 0,
|
|
|
|
img: "https://szgcwx.jhncidg.com/staticFiles/icon/rylg.png"
|
|
|
|
}],
|
|
|
|
animation: true,
|
|
|
|
animationData: {},
|
|
|
|
labourDatas: {
|
|
|
|
unit: '人',
|
|
|
|
legend: ['出勤人数', '当前在岗'],
|
|
|
|
color: ['#2e6ed0', '#fb9300'],
|
|
|
|
Xdata: ['01-01', '01-02', '01-03', '01-04', '01-05', '01-06', '01-07'],
|
|
|
|
Ydata: [
|
|
|
|
[0, 0, 0, 0, 0, 0, 0],
|
|
|
|
[0, 0, 0, 0, 0, 0, 0]
|
|
|
|
]
|
|
|
|
},
|
|
|
|
switchChart: false,
|
2024-12-29 21:35:34 +08:00
|
|
|
attendanceListData: [],
|
|
|
|
subDeptUserInfo: {},
|
|
|
|
imgBaseUrl: config.baseImgUrl
|
2024-12-29 11:46:50 +08:00
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 生命周期函数--监听页面加载
|
|
|
|
*/
|
|
|
|
onLoad: function (options) {
|
2025-03-09 15:12:00 +08:00
|
|
|
if (!getToken()) {
|
2024-12-29 11:46:50 +08:00
|
|
|
wx.redirectTo({
|
2025-04-28 00:40:37 +08:00
|
|
|
url: '../login/login',
|
2024-12-29 11:46:50 +08:00
|
|
|
})
|
|
|
|
}
|
2025-03-09 15:12:00 +08:00
|
|
|
wx.setStorageSync('nav-menu', "xmgk");
|
|
|
|
const proUserInfo = getUserInfo();
|
|
|
|
app.globalData.subDeptUserData = proUserInfo.projectUserInfo;
|
|
|
|
this.initAnimationData();
|
|
|
|
this.setData({
|
|
|
|
labourImg: this.data.labourTypeList[this.data.nactive].img,
|
|
|
|
projectId: app.globalData.useProjectId,
|
|
|
|
projectName: app.globalData.useProjectName,
|
|
|
|
initData: {
|
|
|
|
id: app.globalData.useProjectId,
|
|
|
|
text: app.globalData.useProjectName,
|
|
|
|
},
|
|
|
|
subDeptUserInfo: proUserInfo.projectUserInfo
|
|
|
|
});
|
|
|
|
//项目基本信息
|
|
|
|
this.getProjectInfo(app.globalData.useProjectId);
|
|
|
|
//用户项目信息
|
|
|
|
this.getProUserDatas();
|
|
|
|
//项目建设单位
|
|
|
|
this.getProjectDepts(app.globalData.useProjectId);
|
2024-12-29 11:46:50 +08:00
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 统计劳务人员信息
|
|
|
|
* @param {*} proId
|
|
|
|
*/
|
|
|
|
getSubDeptsUsers(proId) {
|
|
|
|
findSubDeptsUsers(proId).then(res => {
|
|
|
|
if (res.code == 200) {
|
|
|
|
let zg = 0;
|
|
|
|
let lg = 0;
|
|
|
|
res.data.forEach(item => {
|
2025-02-13 00:20:07 +08:00
|
|
|
if (item.useStatus == '0') {
|
2024-12-29 11:46:50 +08:00
|
|
|
zg += item.total;
|
|
|
|
} else {
|
|
|
|
lg += item.total;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
this.setData({
|
|
|
|
"labourTypeList[0].total": zg,
|
|
|
|
"labourTypeList[1].total": lg,
|
|
|
|
labourTotal: zg,
|
|
|
|
labourDataList: res.data || []
|
|
|
|
})
|
|
|
|
this.initSubDeptUsersCharts();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 初始化动画
|
|
|
|
*/
|
|
|
|
initAnimationData() {
|
|
|
|
var animation = wx.createAnimation({
|
|
|
|
duration: 1000,
|
|
|
|
timingFunction: 'linear',
|
|
|
|
})
|
|
|
|
this.animation = animation;
|
|
|
|
if (this.data.animation) {
|
|
|
|
animation.translateY(-8).step();
|
|
|
|
} else {
|
|
|
|
animation.translateY(8).step();
|
|
|
|
}
|
|
|
|
this.setData({
|
|
|
|
animation: this.data.animation ? false : true,
|
|
|
|
animationData: animation.export()
|
|
|
|
})
|
|
|
|
setTimeout(() => {
|
|
|
|
this.initAnimationData();
|
|
|
|
}, 1200)
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 初始化统计图表
|
|
|
|
*/
|
|
|
|
initSubDeptUsersCharts() {
|
|
|
|
let labourDataList = this.data.labourDataList;
|
|
|
|
if (labourDataList.length > 0) {
|
|
|
|
let gl = 0;
|
|
|
|
let ts = 0;
|
|
|
|
let lw = 0;
|
|
|
|
labourDataList.forEach(item => {
|
|
|
|
if (this.data.nactive == 0) {
|
2025-02-13 00:20:07 +08:00
|
|
|
if (item.useStatus == '0') {
|
2024-12-29 11:46:50 +08:00
|
|
|
if (item.craftType == '2') {
|
|
|
|
ts += item.total;
|
|
|
|
} else if (item.craftType == '3') {
|
|
|
|
gl += item.total;
|
|
|
|
} else {
|
|
|
|
lw += item.total;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
2025-02-13 00:20:07 +08:00
|
|
|
if (item.useStatus != '0') {
|
2024-12-29 11:46:50 +08:00
|
|
|
if (item.craftType == '2') {
|
|
|
|
ts += item.total;
|
|
|
|
} else if (item.craftType == '3') {
|
|
|
|
gl += item.total;
|
|
|
|
} else {
|
|
|
|
lw += item.total;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
this.setData({
|
|
|
|
"labourData[0].total": gl,
|
|
|
|
"labourData[0].yesMonitor": gl,
|
|
|
|
"labourData[1].total": ts,
|
|
|
|
"labourData[1].yesMonitor": ts,
|
|
|
|
"labourData[2].total": lw,
|
|
|
|
"labourData[2].yesMonitor": lw,
|
|
|
|
labourTotal: this.data.labourTypeList[this.data.nactive].total
|
|
|
|
})
|
2024-12-29 21:35:34 +08:00
|
|
|
if (this.data.switchChart) {
|
|
|
|
let chats = this.selectComponent("#userChart");
|
|
|
|
chats.initChart();
|
|
|
|
}
|
2024-12-29 11:46:50 +08:00
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 初始化
|
|
|
|
* 今日考勤
|
|
|
|
* @param {*} proId
|
|
|
|
*/
|
|
|
|
initSubDeptDaysCharts(proId) {
|
|
|
|
findDaysAttendanceView(proId).then(res => {
|
|
|
|
if (res.code == 200) {
|
|
|
|
let gl = 0;
|
|
|
|
let ts = 0;
|
|
|
|
let lw = 0;
|
|
|
|
res.data.forEach(item => {
|
|
|
|
if (item.craftType == '2') {
|
|
|
|
ts += item.total;
|
|
|
|
} else if (item.craftType == '3') {
|
|
|
|
gl += item.total;
|
|
|
|
} else {
|
|
|
|
lw += item.total;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
this.setData({
|
|
|
|
"labourDays[0].total": gl,
|
|
|
|
"labourDays[0].yesMonitor": gl,
|
|
|
|
"labourDays[1].total": ts,
|
|
|
|
"labourDays[1].yesMonitor": ts,
|
|
|
|
"labourDays[2].total": lw,
|
|
|
|
"labourDays[2].yesMonitor": lw,
|
|
|
|
labourDaysTotal: gl + ts + lw
|
|
|
|
})
|
2024-12-29 21:35:34 +08:00
|
|
|
if (this.data.switchChart) {
|
|
|
|
let chats = this.selectComponent("#attsChart");
|
|
|
|
chats.initChart();
|
|
|
|
}
|
2024-12-29 11:46:50 +08:00
|
|
|
}
|
|
|
|
});
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 统计
|
|
|
|
* 最近出勤信息
|
|
|
|
* @param {*} proId
|
|
|
|
*/
|
|
|
|
getSubDeptsAttendanceView(proId) {
|
|
|
|
findSubDeptsAttendanceView(proId).then(res => {
|
|
|
|
if (res.code == 200) {
|
|
|
|
let xd = [];
|
|
|
|
let yd1 = [];
|
|
|
|
let yd2 = [];
|
|
|
|
res.data.list.forEach(item => {
|
|
|
|
xd.push(item.attendanceTime);
|
|
|
|
yd1.push(item.total);
|
|
|
|
});
|
|
|
|
if (xd.length < 7) {
|
|
|
|
let n = 7 - xd.length;
|
|
|
|
for (let i = 0; i < n; i++) {
|
|
|
|
xd.push('-');
|
|
|
|
yd1.push(0);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
for (let y = 0; y < 7; y++) {
|
|
|
|
yd2.push(res.data.user);
|
|
|
|
}
|
|
|
|
let yd = [];
|
|
|
|
yd.push(yd1);
|
|
|
|
yd.push(yd2);
|
|
|
|
this.setData({
|
|
|
|
"labourDatas.Xdata": xd,
|
|
|
|
"labourDatas.Ydata": yd
|
|
|
|
});
|
|
|
|
if (this.data.switchChart) {
|
|
|
|
let chats = this.selectComponent("#chartBar");
|
|
|
|
chats.initChart();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 查询用户考勤
|
|
|
|
* @param {*} proId
|
|
|
|
*/
|
2024-12-29 21:35:34 +08:00
|
|
|
getUsersAttendanceView(proId) {
|
|
|
|
findUsersAttendanceView(proId).then(res => {
|
|
|
|
if (res.code == 200) {
|
2024-12-29 11:46:50 +08:00
|
|
|
this.setData({
|
|
|
|
attendanceListData: res.data
|
|
|
|
});
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
2025-03-09 15:12:00 +08:00
|
|
|
* 单位人员信息
|
2024-12-29 11:46:50 +08:00
|
|
|
* @param {*} proId
|
|
|
|
*/
|
2025-03-09 15:12:00 +08:00
|
|
|
getProUserDatas() {
|
2025-02-16 17:19:52 +08:00
|
|
|
//劳务人员信息
|
2025-03-09 15:12:00 +08:00
|
|
|
if ((app.globalData.subDeptUserData.subDeptType == '1' || app.globalData.subDeptUserData.subDeptType == '4' || app.globalData.subDeptUserData.subDeptType == '5') && app.globalData.subDeptUserData.userPost != '4' && app.globalData.subDeptUserData.userPost != '5' && app.globalData.subDeptUserData.userPost != '6' && app.globalData.subDeptUserData.userPost != '8') {
|
2025-02-16 17:19:52 +08:00
|
|
|
//统计劳务人员信息
|
|
|
|
this.getSubDeptsUsers(app.globalData.useProjectId);
|
|
|
|
this.initSubDeptDaysCharts(app.globalData.useProjectId);
|
|
|
|
}
|
|
|
|
this.awaitTask();
|
|
|
|
//今日出勤信息
|
2025-03-09 15:12:00 +08:00
|
|
|
if (app.globalData.subDeptUserData.subDeptType == '1') {
|
2025-02-16 17:19:52 +08:00
|
|
|
this.getSubDeptsAttendanceView(app.globalData.useProjectId);
|
|
|
|
}
|
|
|
|
//人员出勤信息
|
|
|
|
if (app.globalData.subDeptUserData.userPost == '4' || app.globalData.subDeptUserData.userPost == '5' || app.globalData.subDeptUserData.userPost == '6' || app.globalData.subDeptUserData.userPost == '8') {
|
|
|
|
//统计劳务人员信息
|
|
|
|
this.getUsersAttendanceView(app.globalData.useProjectId);
|
|
|
|
}
|
2024-12-29 11:46:50 +08:00
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 查询公众号消息授权
|
|
|
|
*/
|
|
|
|
reUserOpenMsgId() {
|
|
|
|
let userInfos = this.selectComponent("#userInfos");
|
|
|
|
userInfos.loadUserInfo();
|
|
|
|
},
|
|
|
|
|
|
|
|
// 底部导航
|
|
|
|
onChange(event) {
|
|
|
|
// event.detail 的值为当前选中项的索引
|
|
|
|
this.setData({
|
|
|
|
active: event.detail
|
|
|
|
});
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 初始化曲线图表
|
|
|
|
*/
|
|
|
|
initLabourDatas() {
|
|
|
|
findGroupAllByDays({
|
|
|
|
projectId: app.globalData.projectId
|
|
|
|
}).then(res => {
|
|
|
|
if (res.code == 200) {
|
|
|
|
let xd = [];
|
|
|
|
let yd1 = [];
|
|
|
|
let yd2 = [];
|
|
|
|
res.data.list.forEach(item => {
|
|
|
|
xd.push(item.attendanceTime);
|
|
|
|
yd1.push(item.total);
|
|
|
|
});
|
|
|
|
if (xd.length < 7) {
|
|
|
|
let n = 7 - xd.length;
|
|
|
|
for (let i = 0; i < n; i++) {
|
|
|
|
xd.push('');
|
|
|
|
yd1.push(0);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
for (let y = 0; y < 7; y++) {
|
|
|
|
yd2.push(res.data.user);
|
|
|
|
}
|
|
|
|
let yd = [];
|
|
|
|
yd.push(yd1);
|
|
|
|
yd.push(yd2);
|
|
|
|
this.setData({
|
|
|
|
"labourDatas.Xdata": xd,
|
|
|
|
"labourDatas.Ydata": yd
|
|
|
|
});
|
|
|
|
if (this.data.switchChart) {
|
|
|
|
let chats = this.selectComponent("#chartBar");
|
|
|
|
chats.initChart();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 查询项目详情
|
|
|
|
* @param {*} proId
|
|
|
|
*/
|
|
|
|
getProjectInfo: function (proId) {
|
|
|
|
findProjectInfo(proId).then(res => {
|
|
|
|
if (res.data.scheduledStartTime) {
|
|
|
|
res.data.scheduledStartTime = res.data.scheduledStartTime.split("T")[0];
|
|
|
|
} else {
|
|
|
|
res.data.scheduledStartTime = " - ";
|
|
|
|
}
|
|
|
|
if (res.data.actualOperatingTime) {
|
|
|
|
res.data.actualOperatingTime = res.data.actualOperatingTime.split("T")[0];
|
|
|
|
} else {
|
|
|
|
res.data.actualOperatingTime = " - ";
|
|
|
|
}
|
|
|
|
if (res.data.plannedCompletionTime) {
|
|
|
|
res.data.plannedCompletionTime = res.data.plannedCompletionTime.split("T")[0];
|
|
|
|
} else {
|
|
|
|
res.data.plannedCompletionTime = " - ";
|
|
|
|
}
|
|
|
|
res.data.projectDeptsList.forEach(item => {
|
|
|
|
this.data.deptTypes.forEach(_it => {
|
|
|
|
if (_it.name == item.deptType) {
|
|
|
|
item.iconSrc = _it.iconSrc;
|
|
|
|
}
|
|
|
|
})
|
|
|
|
});
|
|
|
|
this.setData({
|
|
|
|
projectInfo: res.data,
|
|
|
|
projectDeptsList: res.data.projectDeptsList
|
|
|
|
})
|
|
|
|
});
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 查询
|
2025-02-16 17:19:52 +08:00
|
|
|
* 项目建设单位
|
2024-12-29 11:46:50 +08:00
|
|
|
* @param {*} proId
|
|
|
|
*/
|
|
|
|
getProjectDepts: function (proId) {
|
|
|
|
findProjectDepts(proId).then(res => {
|
2025-01-14 11:34:38 +08:00
|
|
|
this.setData({
|
2024-12-29 11:46:50 +08:00
|
|
|
projectDeptsList: res.data
|
|
|
|
})
|
|
|
|
});
|
|
|
|
},
|
|
|
|
|
2024-12-29 21:35:34 +08:00
|
|
|
// 页签选中事件
|
|
|
|
selectedTab(e) {
|
|
|
|
this.setData({
|
|
|
|
nactive: e.target.dataset.set,
|
|
|
|
labourImg: this.data.labourTypeList[e.target.dataset.set].img,
|
2024-12-29 11:46:50 +08:00
|
|
|
})
|
2024-12-29 21:35:34 +08:00
|
|
|
this.initSubDeptUsersCharts();
|
2024-12-29 11:46:50 +08:00
|
|
|
},
|
|
|
|
|
2024-12-29 21:35:34 +08:00
|
|
|
//项目切换 返回值
|
|
|
|
onProjectSelect(e) {
|
|
|
|
let projectId = e.detail.id;
|
|
|
|
let projectName = e.detail.text;
|
|
|
|
app.globalData.useProjectId = projectId;
|
|
|
|
app.globalData.useProjectName = projectName;
|
|
|
|
this.setData({
|
|
|
|
switchChart: true
|
2024-12-29 11:46:50 +08:00
|
|
|
})
|
2024-12-29 21:35:34 +08:00
|
|
|
this.onLoad();
|
2024-12-29 11:46:50 +08:00
|
|
|
},
|
|
|
|
|
2024-12-29 21:35:34 +08:00
|
|
|
// 手风琴
|
|
|
|
onCollChange(event) {
|
|
|
|
this.setData({
|
|
|
|
activeNames: event.detail,
|
|
|
|
});
|
2024-12-29 11:46:50 +08:00
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 拨打电话
|
|
|
|
* @param {*} event
|
|
|
|
*/
|
|
|
|
calling: function (event) {
|
|
|
|
let callPhone = event.currentTarget.dataset.phone;
|
|
|
|
wx.makePhoneCall({
|
|
|
|
phoneNumber: callPhone,
|
|
|
|
success: function () {
|
|
|
|
console.log("拨打电话成功!")
|
|
|
|
},
|
|
|
|
fail: function () {
|
|
|
|
console.log("拨打电话失败!")
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
|
2025-03-09 15:12:00 +08:00
|
|
|
showImg: function (e) {
|
2025-02-05 21:34:18 +08:00
|
|
|
let paths = e.target.dataset.set;
|
|
|
|
let path = [];
|
|
|
|
paths.split(',').forEach(url => {
|
|
|
|
path.push(config.baseImgUrl + url);
|
|
|
|
});
|
|
|
|
wx.previewImage({
|
|
|
|
urls: path,
|
|
|
|
current: path[0]
|
2025-03-09 15:12:00 +08:00
|
|
|
})
|
2025-02-05 21:34:18 +08:00
|
|
|
},
|
|
|
|
|
2024-12-29 11:46:50 +08:00
|
|
|
/**
|
|
|
|
* 劳务管理查看详细
|
|
|
|
*/
|
|
|
|
goLWGL: function () {
|
|
|
|
if (this.data.nactive == 2) {
|
|
|
|
wx.redirectTo({
|
|
|
|
url: '../../pageage/project_attendance/project_attendanceData/list/index'
|
|
|
|
})
|
|
|
|
} else {
|
|
|
|
let type;
|
|
|
|
if (this.data.nactive == 0) {
|
|
|
|
type = 1;
|
|
|
|
} else {
|
|
|
|
type = 2;
|
|
|
|
}
|
|
|
|
wx.redirectTo({
|
|
|
|
url: '../../pageage/project_attendance/project_attendanceUser/list/index?type=' + type
|
|
|
|
})
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 最近出勤
|
|
|
|
*/
|
|
|
|
goZJCQ: function () {
|
|
|
|
wx.redirectTo({
|
|
|
|
url: '../../pageage/project_attendance/project_attendanceData/list/index'
|
|
|
|
})
|
|
|
|
},
|
|
|
|
|
|
|
|
//跳转到安全管控
|
|
|
|
XMSP: function () {
|
2025-03-09 15:12:00 +08:00
|
|
|
wx.setStorageSync('nav-menu', "aqgl");
|
|
|
|
wx.redirectTo({
|
|
|
|
url: '../project_safety/index'
|
|
|
|
})
|
2024-12-29 11:46:50 +08:00
|
|
|
},
|
|
|
|
|
|
|
|
//跳转到质量管理
|
|
|
|
ZLGL: function () {
|
2025-03-09 15:12:00 +08:00
|
|
|
wx.setStorageSync('nav-menu', "zlgl");
|
|
|
|
wx.redirectTo({
|
|
|
|
url: '../project_quality/index'
|
|
|
|
})
|
2024-12-29 11:46:50 +08:00
|
|
|
},
|
|
|
|
|
|
|
|
//跳转到进度管理
|
2025-03-09 15:12:00 +08:00
|
|
|
JDGL: function () {
|
2025-04-29 00:39:23 +08:00
|
|
|
wx.setStorageSync('nav-menu', "xmgk");
|
2025-04-28 00:40:37 +08:00
|
|
|
wx.redirectTo({
|
|
|
|
url: '../project_schedule/list/index'
|
|
|
|
})
|
2024-12-29 11:46:50 +08:00
|
|
|
},
|
|
|
|
|
2025-03-09 15:12:00 +08:00
|
|
|
//跳转到项目管理
|
|
|
|
XMGL: function () {
|
|
|
|
wx.setStorageSync('nav-menu', "xmgl");
|
2024-12-29 11:46:50 +08:00
|
|
|
wx.redirectTo({
|
2024-12-29 21:35:34 +08:00
|
|
|
url: '../project_more/index'
|
|
|
|
})
|
|
|
|
},
|
|
|
|
|
|
|
|
//跳转到项目列表
|
|
|
|
XMLB: function () {
|
|
|
|
wx.redirectTo({
|
|
|
|
url: '../project_list/index'
|
2024-12-29 11:46:50 +08:00
|
|
|
})
|
|
|
|
},
|
|
|
|
|
2024-12-30 00:30:39 +08:00
|
|
|
/**
|
|
|
|
* 统计代办
|
|
|
|
*/
|
|
|
|
awaitTask() {
|
|
|
|
let param = "proId=" + app.globalData.useProjectId;
|
|
|
|
findMyTask(param).then(res => {
|
2025-03-09 15:12:00 +08:00
|
|
|
if (res.code == 200) {
|
|
|
|
let proUserInfo = this.data.subDeptUserInfo;
|
2024-12-30 00:30:39 +08:00
|
|
|
this.setData({
|
2025-03-09 15:12:00 +08:00
|
|
|
todoDb: proUserInfo.subDeptType=="1"?(res.data.dwsh+res.data.rysh):res.data.todo,
|
|
|
|
aqglDb: proUserInfo.subDeptType=="1"?res.data.aqgl:0,
|
|
|
|
zlglDb: proUserInfo.subDeptType=="1"?res.data.zlgl:0
|
2024-12-30 00:30:39 +08:00
|
|
|
})
|
2024-12-29 11:46:50 +08:00
|
|
|
}
|
2024-12-30 00:30:39 +08:00
|
|
|
});
|
2024-12-29 11:46:50 +08:00
|
|
|
},
|
|
|
|
})
|