IntelligentRecognition/ah-jjsp-web/.svn/pristine/ad/ada5965cbe5e784eba9fdcdb6cb...

320 lines
9.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

let form, layer, table, formSelects, orgIdParam, classIdParam, checkedType, riskLevelList;
let pageNum = 1, limitSize = 30; // 默认第一页分页数量为10
function setParams(orgId, type, classId) {
let html = '球机未开机详情';
if (type === '2') {
html = '球机在线时长不合格详情';
}
checkedType = type;
orgIdParam = orgId;
classIdParam = classId;
$('.closePage').find('p').html(html)
layui.config({
base: "../../../js/layui/", //此处路径请自行处理, 可以使用绝对路径
}).extend({
formSelects: 'formSelects-v4'
}).use(['form', 'layer', 'table', 'formSelects'], function () {
form = layui.form;
layer = layui.layer;
table = layui.table;
formSelects = layui.formSelects;
riskLevelList = getRiskLevelSelect('risk_level');
setRiskLevel();
pages(1, 30, 1);
})
}
function pages(pageNum, pageSize, typeNum) {
let params = getReqParams(pageNum, pageSize, typeNum);
let url = dataUrl + "proteam/pot/ballStatusStatistic/getBallOffLineList?token=" + token;
if (checkedType === '2') {
url = dataUrl + "proteam/pot/ballStatusStatistic/getBallBhgDetailList?token=" + token;
}
$.ajax({
headers: {
"encrypt": sm3(JSON.stringify(params))
},
url: url,
data: params,
type: 'POST',
async: false,
success: function (result) {
if (result.code === 200) {
if (result.data) {
initTable(result.data, result.limit, result.curr)
laypages(result.count, result.curr, result.limit)
}
} 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 initTable(dataList, limit, page) {
let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, scrollbar: false, time: 0,});
tableIns = table.render({
elem: "#ballStatusDetailTable",
height: "full-160",
data: dataList,
limit: limit,
cols: [setTableColByType(checkedType, page, limit)],
done: function (res, curr, count) {
layer.close(loadingMsg);
table.resize("ballStatusDetailTable");
count || this.elem.next(".layui-table-view").find(".layui-table-header").css("display", "inline-block");
count || this.elem.next(".layui-table-view").find(".layui-table-box").css("overflow", "auto");
},
});
}
// 表格字段
function setTableColByType(value, page, limit) {
let cols = [];
if (value === '1') {
cols = [{
title: "序号",
width: 80,
unresize: true,
align: "center",
templet: function (d) {
return (page - 1) * limit + d.LAY_INDEX;
}
}, {
field: "orgName",
title: "建管单位",
unresize: true,
align: "center",
sort: true
}, {
field: "ticketNo",
title: "作业票号",
unresize: true,
align: "center",
sort: true
}, {
field: "proName",
title: "工程名称",
unresize: true,
align: "center",
sort: true
}, {
title: "风险等级",
unresize: true,
align: "center",
sort: true,
templet: function (d) {
return setRiskLevelColor(d.riskLevel);
}
},
{
title: "班组负责人",
unresize: true,
align: "center",
sort: true,
templet: function (d) {
return '<span>' + setValue2(d.workManager) + '</span><br><span>' + setValue2(d.workManagerPhone) + '</span>'
}
},
{
title: "球机状态",
unresize: true,
align: "center",
sort: true,
templet: function (d) {
return '未开机'
}
}]
} else if (value === '2') {
cols = [{
title: "序号",
width: 80,
unresize: true,
align: "center",
templet: function (d) {
return (page - 1) * limit + d.LAY_INDEX;
}
}, {
field: "orgName",
title: "建管单位",
unresize: true,
align: "center",
sort: true
}, {
field: "ticketNo",
title: "作业票号",
unresize: true,
align: "center",
sort: true
}, {
field: "proName",
title: "工程名称",
unresize: true,
align: "center",
sort: true
},
{
title: "风险等级",
unresize: true,
align: "center",
sort: true,
templet: function (d) {
return setRiskLevelColor(d.riskLevel);
}
},
{
title: "班组负责人",
unresize: true,
align: "center",
sort: true,
templet: function (d) {
return '<span>' + setValue2(d.workManager) + '</span><br><span>' + setValue2(d.workManagerPhone) + '</span>'
}
},
{
field: "kgTime",
title: "开工时长",
unresize: true,
align: "center",
sort: true
},
{
field: "ballOnlineTime",
title: "球机在线时长",
unresize: true,
align: "center",
sort: true
}]
}
return cols;
}
// 获取参数
function getReqParams(page, limit, type) {
let obj = {};
if (!type) {
obj = {
page: page + "",
limit: limit + "",
type: $('#type').val(),
keyWord: $('#keyWord').val(),
orgId: orgIdParam,
id: classIdParam,
riskLevel: formSelects.value('riskLevel', 'val').toString(),
};
} else {
obj = {
page: '1',
limit: '30',
type: '1',
keyWord: '',
orgId: orgIdParam,
id: classIdParam,
riskLevel: '',
};
}
return obj;
}
function query(type) {
let pattern = new RegExp("[%_<>]");
if (pattern.test($("#keyWord").val())) {
$("#keyWord").val('');
return layer.msg('关键字查询包含特殊字符,请重新输入', {
icon: 2,
time: 2000 //2秒关闭如果不配置默认是3秒
});
}
pageNum = 1;
pages(1, limitSize)
}
/*导出*/
function exportData() {
let fileName = '球机未开机详情';
if (checkedType === '2') {
fileName = '球机在线时长不合格详情';
}
let keyWord = $('#keyWord').val(),
riskLevel = formSelects.value('riskLevel', 'val').toString();
let loadingMsg = layer.msg("数据导出中,请稍候...", {icon: 16, scrollbar: false, time: 0,});
let url = dataUrl + "proteam/pot/ballStatusStatistic/exportData?keyWord=" + keyWord + "&riskLevel="
+ riskLevel + "&type=" + checkedType + "&orgId=" + orgIdParam + "&id=" + classIdParam + "&token=" + token;
let xhr = new XMLHttpRequest();
xhr.open("get", url, true);
xhr.responseType = "blob"; // 转换流
xhr.setRequestHeader("encrypt",
sm3(JSON.stringify({
keyWord: keyWord,
riskLevel: riskLevel,
type: checkedType,
orgId: orgIdParam,
id: classIdParam
})));
xhr.onload = function () {
layer.close(loadingMsg);
if (this.status === 200) {
let blob = this.response;
var a = document.createElement("a");
var url = window.URL.createObjectURL(blob);
a.href = url;
a.download = fileName + getNowDate() + ".xlsx"; // 文件名
} else {
layer.msg("数据发生异常,请稍后重试", {icon: 16, scrollbar: false, time: 2000});
}
a.click();
window.URL.revokeObjectURL(url);
};
xhr.send();
}
/* 风险等级赋值 */
function setRiskLevel() {
let keys = [];
$.each(riskLevelList, function (index, item) {
let temp = {
"name": item.name,
"value": item.code
};
keys.push(temp);
})
formSelects.data('riskLevel', 'local', {
arr: keys
});
layui.form.render();
}
function closePage() {
let index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
parent.layer.close(index); //再执行关闭
}