346 lines
11 KiB
Plaintext
346 lines
11 KiB
Plaintext
|
|
let table, form, layer, rate, util;
|
|||
|
|
$(function () {
|
|||
|
|
layui.use(['rate', 'layer', 'form', 'table', 'util'], function () {
|
|||
|
|
layer = layui.layer;
|
|||
|
|
form = layui.form;
|
|||
|
|
rate = layui.rate;
|
|||
|
|
table = layui.table;
|
|||
|
|
util = layui.util;
|
|||
|
|
util.event('lay-active', {
|
|||
|
|
query: function () {
|
|||
|
|
table.reloadData('teamTable', {
|
|||
|
|
page: {
|
|||
|
|
curr: 1
|
|||
|
|
},
|
|||
|
|
where: getReqParams()
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
reset: function () {
|
|||
|
|
$('#keyword').val('');
|
|||
|
|
$('#teamName').val('');
|
|||
|
|
$('#foreman').val('');
|
|||
|
|
$('#projectName').val('');
|
|||
|
|
$('#type').val('');
|
|||
|
|
form.render();
|
|||
|
|
table.reloadData('teamTable', {
|
|||
|
|
page: {
|
|||
|
|
curr: 1
|
|||
|
|
},
|
|||
|
|
where: getReqParams()
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
export: function () {
|
|||
|
|
exportData();
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
form.render();
|
|||
|
|
getPerNum();
|
|||
|
|
initTable();
|
|||
|
|
//触发单元格工具事件
|
|||
|
|
table.on('tool(teamTable)', function (obj) { // 双击 toolDouble
|
|||
|
|
let data = obj.data;
|
|||
|
|
if (obj.event === 'detail') {
|
|||
|
|
toEvaluatePage(data.classId, data.idNumber, data.teamName);
|
|||
|
|
} else if (obj.event === 'edit') {
|
|||
|
|
layer.prompt({
|
|||
|
|
formType: 2,
|
|||
|
|
title: '拉黑说明 '
|
|||
|
|
}, function (value, index) {
|
|||
|
|
/**
|
|||
|
|
* 拉黑操作
|
|||
|
|
*/
|
|||
|
|
Ajax().post({
|
|||
|
|
url: dataUrl + 'proteam/pot/team/insertTeamBlack',
|
|||
|
|
data: {
|
|||
|
|
idNumber: data.idNumber,
|
|||
|
|
content: value,
|
|||
|
|
userId: '1'
|
|||
|
|
},
|
|||
|
|
success: function (data) {
|
|||
|
|
if (data.code === 200) {
|
|||
|
|
layer.msg(data.msg, {
|
|||
|
|
icon: 1,
|
|||
|
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
|||
|
|
}, function () {
|
|||
|
|
table.reloadData('teamTable', {
|
|||
|
|
page: {
|
|||
|
|
curr: 1
|
|||
|
|
},
|
|||
|
|
where: getReqParams()
|
|||
|
|
});
|
|||
|
|
layer.close(index);
|
|||
|
|
});
|
|||
|
|
} else {
|
|||
|
|
layer.msg(data.msg, {icon: -1});
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
async: false
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
});
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
// 获取参数
|
|||
|
|
function getReqParams() {
|
|||
|
|
let obj = {
|
|||
|
|
keyWord: $('#keyword').val(),
|
|||
|
|
teamName: $('#teamName').val(),
|
|||
|
|
fzrName: $('#foreman').val(),
|
|||
|
|
proName: $('#projectName').val(),
|
|||
|
|
status: $('#type').val()
|
|||
|
|
|
|||
|
|
};
|
|||
|
|
return obj;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function initTable() {
|
|||
|
|
table.render({
|
|||
|
|
elem: "#deviceTable",
|
|||
|
|
id: "deviceTable",
|
|||
|
|
height: "full-170",
|
|||
|
|
url: dataUrl + "proteam/pot/team/getTeamList" + '?token=' + token,
|
|||
|
|
page: true, //开启分页
|
|||
|
|
method: "POST",
|
|||
|
|
limit: 10, //默认十条数据一页
|
|||
|
|
limits: [10, 20, 30], //数据分页条
|
|||
|
|
cellMinWidth: 100,
|
|||
|
|
loading: true,
|
|||
|
|
totalRow: false,
|
|||
|
|
request: {
|
|||
|
|
pageName: 'pageNum',
|
|||
|
|
limitName: 'pageSize'
|
|||
|
|
},
|
|||
|
|
where: getReqParams(),
|
|||
|
|
cols: [
|
|||
|
|
[//表头
|
|||
|
|
{
|
|||
|
|
field: "number",
|
|||
|
|
type: "numbers",
|
|||
|
|
title: "序号",
|
|||
|
|
minWidth: 200,
|
|||
|
|
unresize: true,
|
|||
|
|
align: "center",
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
field: "teamName",
|
|||
|
|
title: "班组名称",
|
|||
|
|
unresize: true,
|
|||
|
|
minWidth: 200,
|
|||
|
|
align: "center",
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
field: 'fzrName',
|
|||
|
|
title: "班组长",
|
|||
|
|
unresize: true,
|
|||
|
|
minWidth: 200,
|
|||
|
|
align: "center",
|
|||
|
|
templet: function (d) {
|
|||
|
|
return "<span>" + d.fzrName + "</span><br><span>" + d.phone + "</span>";
|
|||
|
|
},
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
field: "zhpj",
|
|||
|
|
title: "班组星级",
|
|||
|
|
minWidth: 200,
|
|||
|
|
unresize: true,
|
|||
|
|
templet: function (d) {
|
|||
|
|
console.log(d)
|
|||
|
|
return '<div id="test' + d.LAY_TABLE_INDEX + '"></div>'
|
|||
|
|
},
|
|||
|
|
align: "center",
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
field: "proName",
|
|||
|
|
title: "当前所在工程",
|
|||
|
|
unresize: true,
|
|||
|
|
minWidth: 200,
|
|||
|
|
align: "center",
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
field: "status",
|
|||
|
|
title: "状态",
|
|||
|
|
unresize: true,
|
|||
|
|
minWidth: 200,
|
|||
|
|
align: "center",
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
field: "dayNum",
|
|||
|
|
title: "今日站班会人数",
|
|||
|
|
unresize: true,
|
|||
|
|
minWidth: 200,
|
|||
|
|
templet: function (d) {
|
|||
|
|
return "<h2 onclick='toTodayPage(" + d.dayNum + ")' style='color: blue;cursor: pointer;'>" + d.dayNum + "</h2>";
|
|||
|
|
},
|
|||
|
|
align: "center",
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
field: "yeNum",
|
|||
|
|
title: "昨日站班会人数",
|
|||
|
|
unresize: true,
|
|||
|
|
minWidth: 200,
|
|||
|
|
align: "center",
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
field: "yeNum",
|
|||
|
|
title: "累计违章次数",
|
|||
|
|
unresize: true,
|
|||
|
|
minWidth: 200,
|
|||
|
|
templet: function (d) {
|
|||
|
|
return "<h2 onclick='toViolationsPage(" + d.vzNum + ")' style='color: blue;cursor: pointer;'>" + (isEmpty(d.vzNum) ? "0" : d.vzNum) + "</h2>";
|
|||
|
|
},
|
|||
|
|
align: "center",
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
fixed: 'right',
|
|||
|
|
title: "操作",
|
|||
|
|
align: 'center',
|
|||
|
|
minWidth: 200,
|
|||
|
|
toolbar: '#barDemo'
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
],
|
|||
|
|
done: function (res, curr, count) {
|
|||
|
|
for (let i = 0; i < res.data.length; i++) {
|
|||
|
|
rate.render({
|
|||
|
|
elem: '#test' + i
|
|||
|
|
, value: res.data[i].zhpj / 2
|
|||
|
|
, readonly: true
|
|||
|
|
, half: true,
|
|||
|
|
theme: '#2F82FB'
|
|||
|
|
});
|
|||
|
|
table.render()
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
parseData: function (res) {
|
|||
|
|
return {
|
|||
|
|
"code": res.code === 200 ? 0 : res.code,
|
|||
|
|
"msg": res.msg,
|
|||
|
|
"count": res.total,
|
|||
|
|
"data": res.rows
|
|||
|
|
};
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 跳转违章页面
|
|||
|
|
* @param teamId 班组id
|
|||
|
|
*/
|
|||
|
|
function toViolationsPage(teamId) {
|
|||
|
|
console.log(teamId);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 跳转今日人员页面
|
|||
|
|
* @param teamId 班组id
|
|||
|
|
*/
|
|||
|
|
function toTodayPage(classId, idNumber, teamName) {
|
|||
|
|
let width = '90%', height = '80%';
|
|||
|
|
let index = parent.layer.open({
|
|||
|
|
/* color:#253E78;font-size:24px;background-color:rgb(37 62 120 / 22%);*/
|
|||
|
|
title: ['班组人员', 'font-size:24px;'],
|
|||
|
|
type: 2,
|
|||
|
|
skin: 'shadows',
|
|||
|
|
content: '../../html/teamInformation/child/teamPersonnel.html',
|
|||
|
|
area: [width, height],
|
|||
|
|
maxmin: false
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 跳转班组评价页面
|
|||
|
|
* @param classId 站班会id
|
|||
|
|
* @param idNumber 身份证号
|
|||
|
|
* @param teamName 班组名称
|
|||
|
|
*/
|
|||
|
|
function toEvaluatePage(classId, idNumber, teamName) {
|
|||
|
|
let width = '90%', height = '80%';
|
|||
|
|
layer.open({
|
|||
|
|
id: 'abc',
|
|||
|
|
/* color:#253E78;font-size:24px;background-color:rgb(37 62 120 / 22%);*/
|
|||
|
|
title: ['班组评价', 'font-size:24px;'],
|
|||
|
|
type: 2,
|
|||
|
|
skin: 'shadows',
|
|||
|
|
content: '../../html/teamInformation/child/teamEvaluate.html',
|
|||
|
|
area: [width, height],
|
|||
|
|
maxmin: false,
|
|||
|
|
success: function (layero, index) {
|
|||
|
|
let body = layer.getChildFrame('body', index);
|
|||
|
|
let iframeWin = window[layero.find('iframe')[0]['name']];//获得iframe页的窗口对象,执行iframe页的方法:
|
|||
|
|
iframeWin.setForm(classId, idNumber, teamName);//调用子页面的方法,页面锁定
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//导出
|
|||
|
|
function exportData() {
|
|||
|
|
let loadingMsg = layer.msg("数据导出中,请稍候...", {icon: 16, scrollbar: false, time: 0,});
|
|||
|
|
let url = dataUrl + "proteam/pot/team/exportTeamData?" + setData(getReqParams()) + '&token=' + token;
|
|||
|
|
let xhr = new XMLHttpRequest();
|
|||
|
|
let a = document.createElement("a");
|
|||
|
|
xhr.open("get", url, true);
|
|||
|
|
xhr.responseType = "blob"; // 转换流
|
|||
|
|
xhr.onload = function () {
|
|||
|
|
layer.close(loadingMsg);
|
|||
|
|
if (this.status === 200) {
|
|||
|
|
let url = window.URL.createObjectURL(new Blob([this.response]))
|
|||
|
|
let link = document.createElement('a')
|
|||
|
|
link.style.display = 'none'
|
|||
|
|
link.href = url
|
|||
|
|
link.setAttribute('download', "班组明细.xlsx")
|
|||
|
|
document.body.appendChild(link)
|
|||
|
|
link.click()
|
|||
|
|
// 释放URL对象所占资源
|
|||
|
|
window.URL.revokeObjectURL(url)
|
|||
|
|
// 用完即删
|
|||
|
|
document.body.removeChild(link)
|
|||
|
|
} else {
|
|||
|
|
layer.msg("数据发生异常,请稍后重试", {icon: 16, scrollbar: false, time: 2000});
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
xhr.send();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function getPerNum() {
|
|||
|
|
$.ajax({
|
|||
|
|
url: dataUrl + 'proteam/pot/team/getPerNum' + '?token=' + token,
|
|||
|
|
type: 'post',
|
|||
|
|
success: function (obj) {
|
|||
|
|
if (obj.code === 200) {
|
|||
|
|
$.each(obj.data, function (index, item) {
|
|||
|
|
$("#dTeam").html(item.dTeam);
|
|||
|
|
$("#dZTeam").html(item.dZTeam);
|
|||
|
|
$("#dPer").html(item.dPer);
|
|||
|
|
$("#dZPer").html(item.dZPer);
|
|||
|
|
$("#dWTeam").html(item.dWTeam);
|
|||
|
|
$("#xZteam").html(item.xZteam);
|
|||
|
|
$("#yTeam").html(item.yTeam);
|
|||
|
|
$("#yPer").html(item.yPer);
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 展开/收起
|
|||
|
|
function isShow(type) {
|
|||
|
|
if (type === 1) {
|
|||
|
|
$("#basic-info").slideLeftHide();
|
|||
|
|
setTimeout(() => {
|
|||
|
|
$("#show").removeAttr("style");
|
|||
|
|
}, 510);
|
|||
|
|
$(".basic-info-box").animate({backgroundColor: "#fff"}, "500");
|
|||
|
|
} else if (type === 2) {
|
|||
|
|
$("#show").css("display", "none");
|
|||
|
|
$(".basic-info-box").animate({backgroundColor: "#EEF5FF"}, "500");
|
|||
|
|
$("#basic-info").slideLeftShow();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|