IntelligentRecognition/ah-jjsp-web/.svn/pristine/01/0154acc7e37842d1cfe6c5a8cf1...

488 lines
16 KiB
Plaintext
Raw Normal View History

2024-05-24 16:09:40 +08:00
let table, form, layer, rate, util, user = getUser();
let pageNum = 1, limitSize = 30;
let data = '';
let teamState = [{
"name": '正常',
"value": '01'
}, {
"name": '解散',
"value": '02'
}];
//getPer();
$(function () {
layui.config({
base: "../../js/layui/", //此处路径请自行处理, 可以使用绝对路径
}).extend({
formSelects: 'formSelects-v4'
}).use(['rate', 'layer', 'formSelects', 'form', 'table', 'util'], function () {
layer = layui.layer;
form = layui.form;
rate = layui.rate;
table = layui.table;
util = layui.util;
formSelects = layui.formSelects;
formSelects.data('teamState', 'local', {
arr: teamState
});
util.event('lay-active', {
query: function () {
pages(1, limitSize);
},
reset: function () {
$('#keyword').val('');
$('#teamName').val('');
$('#foreman').val('');
$('#projectName').val('');
formSelects.value('teamState', []);
form.render();
pages(1, limitSize);
},
export: function () {
exportData();
}
});
form.render();
getPerNum();
pages(1, 30, 1);
table.on("sort(teamTable)", function (obj) {
$(".layui-laypage-skip").css("display", "none");
for (let i = 0; i < data.length; i++) {
rate.render({
elem: '#test' + i
, value: data[i].zhpj / 2
, readonly: true
, half: true,
theme: '#2F82FB'
});
table.render()
}
});
//触发单元格工具事件
table.on('tool(teamTable)', function (obj) { // 双击 toolDouble
let data = obj.data;
if (obj.event === 'detail') {
toEvaluatePage(data.classId, data.idNumber, data.teamName,data.teamId);
} else if (obj.event === 'edit') {
layer.prompt({
formType: 2,
title: '拉黑说明 '
}, function (value, index) {
/**
* 拉黑操作
*/
Ajax().post({
headers: {
"encrypt": sm3(JSON.stringify({
idNumber: data.idNumber,
content: value,
userId: JSON.parse(decrypt(us)).userId + "",
}))
},
url: dataUrl + 'proteam/pot/team/insertTeamBlack',
data: {
idNumber: data.idNumber,
content: value,
userId: JSON.parse(decrypt(us)).userId + "",
},
success: function (data) {
if (data.code === 200) {
layer.msg(data.msg, {
icon: 1,
time: 2000 //2秒关闭如果不配置默认是3秒
}, function () {
pages(1, limitSize);
layer.close(index);
});
} else {
layer.msg(data.msg, {icon: -1});
}
},
async: false
});
});
}
});
});
});
function pages(pageNum, pageSize, typeNum) {
let params = getReqParams(pageNum, pageSize);
$.ajax({
headers: {
"encrypt": sm3(JSON.stringify(params))
},
url: dataUrl + "proteam/pot/team/getTeamList" + '?token=' + token,
data: params,
type: 'POST',
async: false,
success: function (result) {
console.log(result);
if (result.code === 200) {
if (result.rows) {
initTable(result.rows, limitSize, pageNum)
laypages(result.total, pageNum, limitSize)
}
} else if (result.code === 500) {
layer.alert(result.msg, {icon: 2})
} else if (result.code === 401) {
logout(1);
}
}, error: function () {
}
});
}
function laypages(total, page, limit) {
layui.use(['laypage'], function () {
let laypage = layui.laypage;
laypage.render({
elem: 'voi-page',
count: total,
curr: page,
limit: limit,
limits: [30, 50, 100],
layout: ['prev', 'page', 'next', 'skip', 'count', 'limit'],
groups: 5,
jump: function (obj, first) {
if (!first) {
pageNum = obj.curr, limitSize = obj.limit;
pages(obj.curr, obj.limit, null);
}
}
});
})
}
// 获取参数
function getReqParams(page, limit) {
console.log(page + "," + limit)
let obj = {
pageNum: page + "",
pageSize: limit + "",
keyWord: $('#keyword').val(),
teamName: $('#teamName').val(),
fzrName: $('#foreman').val(),
proName: $('#projectName').val(),
status: formSelects.value('teamState', 'val').toString(),
currentUserId: user.userId + "",
isSup: user.isSup,
currentUserOrgId: user.orgId
};
return obj;
}
function initTable(dataList, limit, page) {
table.render({
elem: "#teamTable",
id: "teamTable",
height: "full-175",
data: dataList,
cols: [
[//表头
{
title: "序号",
minWidth: 140,
unresize: true,
align: "center",
templet: function (d) {
return (page - 1) * limit + d.LAY_INDEX;
}
},
{
field: "teamName",
title: "班组名称",
unresize: false,
sort: true,
minWidth: 200,
align: "center",
},
{
field: 'fzrName',
title: "班组长",
unresize: false,
sort: true,
minWidth: 200,
align: "center",
templet: function (d) {
return "<span>" + d.fzrName + "</span><br><span>" + d.phone + "</span>";
},
},
{
field: "zhpj",
title: "班组星级",
minWidth: 200,
unresize: false,
sort: true,
templet: function (d) {
return '<div id="test' + d.LAY_TABLE_INDEX + '"></div>'
},
align: "center",
},
{
field: "proName",
title: "当前所在工程",
unresize: false,
sort: true,
minWidth: 200,
align: "center",
},
{
field: "status",
title: "状态",
unresize: false,
sort: true,
minWidth: 80,
align: "center",
},
{
field: "dayNum",
title: "今日站班会人数",
unresize: false,
sort: true,
minWidth: 200,
templet: function (d) {
return "<span onclick='toTodayPage(\""+ d.teamId + "\")' style='color: blue;cursor: pointer;'>" + d.dayNum + "</span>";
},
align: "center",
},
{
field: "yeNum",
title: "昨日站班会人数",
unresize: false,
sort: true,
minWidth: 200,
align: "center",
},
{
field: "vzNum",
title: "累计违章次数",
unresize: false,
sort: true,
minWidth: 200,
templet: function (d) {
// return '<span onclick="toViolationsPage(\'' + d.classId + '\')" style="color: blue;cursor: pointer;">' + (isEmpty(d.vzNum) ? "0" : d.vzNum) + '</span>';
// return (isEmpty(d.vzNum) ? "0" : d.vzNum);
return '<div style="cursor: pointer;color: #2F82FB" ' +
'onclick="openTeamVoi(\'' + d.idNumber + '\',\'' + d.classId + '\',\''+ d.teamId +'\')"><span>' + d.vzNum + ' </span></div>';
},
align: "center",
},
{
fixed: 'right',
title: "操作",
align: 'center',
minWidth: 200,
toolbar: '#barDemo'
}
],
],
limit: limit,
done: function (res, curr, count) {
$(".layui-laypage-skip").css("display", "none");
data = res.data;
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()
}
},
});
}
/* 班组违章详情 */
function openTeamVoi(teamLeaderNumber,classId,teamId){
console.log(teamId)
let layerIndex = layer.open({
type: 2,
id:'teamVoi',
title: ['<div style="border-left: 3px solid #2F82FB;display: flex;align-items: center;height: 20px;padding: 0 10px;">班组历史违章</div>', 'font-size:16px;background-color:#f0f0f0;display: flex;align-items: center;'],
// closeBtn: true,
content: "../dutyTask/violation/teamVoiDetail.html",
shadeClose: false,
area: ['1600px', '750px'],
move: false,
success: function () {
let iframeWin = window["layui-layer-iframe" + layerIndex];
iframeWin.setParams(teamLeaderNumber,classId,teamId);
}
});
}
/**
* 跳转违章页面
* @param teamId 班组id
*/
function toViolationsPage(classId) {
let width = '100%', height = '100%';
layer.open({
/* color:#253E78;font-size:24px;background-color:rgb(37 62 120 / 22%);*/
title: ['违章统计', 'font-size:24px;'],
type: 2,
skin: 'shadows',
content: 'child/teamStatistics.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);//调用子页面的方法,页面锁定
}
});
}
/**
* 跳转今日人员页面
* @param teamId 班组id
*/
function toTodayPage(teamId) {
let width = '90%', height = '80%';
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,
success: function (layero, index) {
let body = layer.getChildFrame('body', index);
let iframeWin = window[layero.find('iframe')[0]['name']];//获得iframe页的窗口对象执行iframe页的方法
iframeWin.setForm(teamId);//调用子页面的方法,页面锁定
}
});
}
/**
* 跳转班组评价页面
* @param classId 站班会id
* @param idNumber 身份证号
* @param teamName 班组名称
*/
function toEvaluatePage(classId, idNumber, teamName,teamId) {
console.log(teamId)
let width = '100%', height = '100%';
layer.open({
id: 'abc',
/* color:#253E78;font-size:24px;background-color:rgb(37 62 120 / 22%);*/
// title: ['班组评价', 'font-size:24px;'],
title: false,
type: 2,
skin: 'shadows',
content: '../../html/teamInformation/child/teamEvaluate.html',
area: [width, height],
maxmin: false,
move: false,
closeBtn: 0,
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,teamId);//调用子页面的方法,页面锁定
},
end: function () {
pages(1, 30, 1);
},
});
}
//导出
function exportData() {
let loadingMsg = layer.msg("数据导出中,请稍候...", {icon: 16, scrollbar: false, time: 0,});
let url = dataUrl + "proteam/pot/team/exportTeamData?" + setData(getReqParams(pageNum, limitSize)) + '&token=' + token;
let xhr = new XMLHttpRequest();
let a = document.createElement("a");
xhr.open("get", url, true);
xhr.responseType = "blob"; // 转换流
xhr.setRequestHeader("encrypt",
sm3(JSON.stringify(
getReqParams(pageNum, limitSize)
)));
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({
headers: {
"encrypt": sm3(JSON.stringify({
params: encrypt(JSON.stringify({
currentUserId: user.userId,
isSup: user.isSup,
currentUserOrgId: user.orgId
}))
}))
},
url: dataUrl + 'proteam/pot/team/getPerNum' + '?token=' + token,
type: 'post',
data: {
params: encrypt(JSON.stringify({
currentUserId: user.userId,
isSup: user.isSup,
currentUserOrgId: user.orgId
}))
},
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();
}
}