IntelligentRecognition/ah-jjsp-web/bns/js/dutyTask/todayTask.js

1263 lines
48 KiB
JavaScript
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, tableIns, laydate, formSelects, soulTable;
let pageNum = 1, limitSize = 50; // 默认第一页分页数量为10
let yxsType='',xsUser='';
let user = getUser(), riskLevelList, proStatusList, evaluationStatusList, ballStatusList, bidProList, orgList;
let searchList = [
{ 'titleName': '关键字', 'titleCode': 'keyWord', 'isChecked': true, 'isSelect': false },
{ 'titleName': '督查人', 'titleCode': 'inspector', 'isChecked': false, 'isSelect': false },
{ 'titleName': '评价状态', 'titleCode': 'evaluationStatus', 'isChecked': false, 'isSelect': true },
{ 'titleName': '建管单位', 'titleCode': 'buildCode', 'isChecked': true, 'count': 2, 'isSelect': true, 'isSearch': true },
{ 'titleName': '风险等级', 'titleCode': 'riskLevel', 'isChecked': true, 'count': 3, 'isSelect': true },
{ 'titleName': '施工状态', 'titleCode': 'proStatus', 'isChecked': false, 'count': 3, 'isSelect': true },
{ 'titleName': '工程名称', 'titleCode': 'bidName', 'isChecked': false, 'count': 1, 'isSelect': true, 'isSearch': true },
{ 'titleName': '班组长', 'titleCode': 'foreman', 'isChecked': false, 'isSelect': false },
{ 'titleName': '球机状态', 'titleCode': 'ballStatus', 'isChecked': false, 'isSelect': true },
{ 'titleName': '日期', 'titleCode': 'ballStatus', 'isChecked': false, 'isSelect': false, 'isTime': true }
];
// 获取当前URL
var url = window.location.href;
var queryParams = window.location.search.substring(1);
if(queryParams!='' && queryParams!=null){
let queryParamsObj = {};
var params = decodeURIComponent(queryParams).split('&');
params.forEach(function (param) {
var keyValue = param.split('=');
queryParamsObj[keyValue[0]] = keyValue[1];
});
yxsType=queryParamsObj.yxs;
xsUser=queryParamsObj.xsuser;
console.log(yxsType,xsUser)
}
// 加载soulTable
layui.config({
base: "../../js/layui/", //此处路径请自行处理, 可以使用绝对路径
}).extend({
formSelects: 'formSelects-v4',
soulTable: 'soulTable',
tableChild: 'tableChild',
tableMerge: 'tableMerge',
tableFilter: 'tableFilter',
excel: 'excel',
}).use(['form', 'layer', 'table', 'laydate', 'formSelects', 'soulTable'], function () {
form = layui.form;
layer = layui.layer;
table = layui.table;
laydate = layui.laydate;
soulTable = layui.soulTable;
formSelects = layui.formSelects;
laydate.render({
elem: '#workDay', //指定元素 元素选择器
type: 'date', //选择时间类型 可选值:year(年) month(年月) date(年月日) time(时分秒) datetime(年月日时分秒)
trigger: 'click',
range: true,
format: 'yyyy-MM-dd', //时间格式 常用时间格式:yyyy-MM-dd HH:mm:ss
max: Date.parse(new Date()),
btns: ['now', 'confirm'], //选择框右下角显示的按钮 清除-现在-确定
});
checkedDate = getNowTime();
$('#workDay').val(getNowTime() + " - " + getNowTime())
riskLevelList = getRiskLevelSelect('risk_level');
orgList = getOrgNumAndRate(1);
setOrg();
setBidPro();
setRiskLevel();
// pages(1, 30, 1);
// 清除table缓存
// localStorage.removeItem('table-filter-test');
// localStorage.removeItem('/bns/html/dutyTask/todayTask.htmltodayTaskTable');
initTable();
})
/* function pages(pageNum, pageSize, typeNum) {
let params = getReqParams(pageNum, pageSize, typeNum);
$.ajax({
headers: {
"encrypt": sm3(JSON.stringify(params))
},
url: dataUrl + "proteam/pot/todayTask/getTodayTaskList?token=" + token,
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)
resetContent()
}
} 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: "#todayTaskTable",
id: "todayTaskTable",
// height: "full-120",
height: "full",
url: dataUrl + "proteam/pot/todayTask/getTodayTaskList?token=" + token,
// data: dataList,
page: {
layout: ['prev', 'page', 'next', 'skip', 'count', 'limit'],
groups: 5, //只显示 5 个连续页码
limits: [30, 50, 100],
limit: 50,
curr: 1
},
method: 'POST',
where: {
yxsType:yxsType,
xsUser:xsUser,
workDay: getNowTime() + " - " + getNowTime(),
buildCode: '',
inspector: '',
evaluationStatus: '',
foreman: '',
riskLevel: '',
proStatus: '',
bidName: '',
ballStatus: '',
keyWord: '',
currentUserId: user.userId + '',
isSup: user.isSup,
currentUserOrgId: user.orgId
},
filter: {
items: ['column', 'data', 'condition', 'editCondition', 'excel', 'clearCache'],
cache: true
},
response: {
statusCode: 200 //重新规定成功的状态码为 200table 组件默认为 0
},
parseData: function (res) { // res 即为原始返回的数据
return {
"code": res.code,
"msg": res.msg,
"count": res.count,
"data": res.data,
"limit": res.limit,
"curr": res.curr
};
},
toolbar: true,
drag: 'simple',
defaultToolbar: ['filter'],
cols: [
function () {
var arr = [
//表头
{
fixed: 'left',
title: "序号",
width: 100,
unresize: true,
align: "center",
templet: function (d) {
// return (page - 1) * limit + d.LAY_NUM;
return d.LAY_NUM;
}
},
{
fixed: 'left',
field: "buildCode",
title: "建管单位",
width: 120,
sort: true,
unresize: false,
align: "center",
},
{
fixed: 'left',
field: "bidName",
title: "工程名称",
width: 250,
unresize: false,
sort: true,
align: "center",
},
{
fixed: 'left',
title: "工作内容",
width: 320,
unresize: false,
sort: true,
align: "center",
style: "height:101.5px;",
templet: function (d) {
if (d.content) {
if (d.content.length > 60) {
return '<span title="' + d.content + '">' + d.content.substring(0, 60) + '...</span>'
} else {
return '<span title="' + d.content + '">' + d.content + '</span>'
}
} else {
return '';
}
}
},
{
field: "ticketNo",
title: "作业票号",
width: 200,
unresize: false,
sort: true,
align: "center",
style: "",
templet: function (d) {
return '<a href="javascript:void(0)" onclick="viewTicket(\'' + d.ticketId + '\')">' + d.ticketNo + '</a>';
}
},
{
field: "riskLevel",
title: "风险等级",
width: 120,
unresize: false,
sort: true,
align: "center",
templet: function (d) {
return setRiskLevelColor(d.riskLevel);
}
},
{
title: "视频监控",
field: "ballStatus",
width: 120,
unresize: false,
align: "center",
sort: true,
templet: function (d) {
let html = '';
if (d.ballStatus != null) {
if (d.ballStatus === '1' && d.workDay === getDate()) {
html += '<img src="../../img/common-icon/ball-online.png">'
} else {
html += '<img src="../../img/common-icon/ball-offline.png">'
}
}
return html;
}
},
{
field: "proStatus",
title: "施工状态",
width: 120,
unresize: false,
sort: true,
align: "center",
},
{
field: "mainRisk",
title: "主要风险",
width: 250,
unresize: false,
sort: true,
align: "center", templet: function (d) {
if (d.mainRisk) {
if (d.mainRisk.length > 60) {
return '<span title="' + d.mainRisk + '">' + d.mainRisk.substring(0, 60) + '...</span>'
} else {
return '<span title="' + d.mainRisk + '">' + d.mainRisk + '</span>'
}
} else {
return '';
}
}
},
{
title: "预警状态",
field: "earlyWarningStatus",
width: 180,
unresize: false,
sort: true,
align: "center",
templet: function (d) {
let earlyWarningStatus = d.earlyWarningStatus
let html = '';
if (earlyWarningStatus) {
let earlyWarningStatusArr = earlyWarningStatus.split(',');
$.each(earlyWarningStatusArr, function (index, item) {
if (item) {
var itemss = item.split("@");
if (itemss.length > 1) {
html += '<p style="color: green;">' + itemss[0] + '</p>';
} else {
html += '<p style="color: #FF5D5D;">' + item + '</p>';
}
}
})
} else {
html = '<span style="color: #14B93B">正常施工</span>'
}
return html;
}
},
{
title: "班组长",
field: "foreman",
width: 140,
unresize: false,
sort: true,
align: "center",
templet: function (d) {
return '<p>' + setValue2(d.foreman) + '</p><p>' + setValue2(d.foremanPhone) + '</p>'
}
},
{
field: "kgTime",
title: "开工时长",
width: 140,
unresize: false,
sort: true,
align: "center",
},
{
field: "kjTime",
title: "球机在线时长",
width: 150,
unresize: false,
align: "center",
sort: true,
templet: function (d) {
let html = '';
if (d.isHg === '2') {
html += '<span style="color: #FF5D5D">' + d.kjTime + '</span>'
} else {
html += '<span>' + d.kjTime + '</span>'
}
return html;
}
},
{
title: "评价状态",
field: "evaluationStatus",
width: 130,
unresize: false,
align: "center",
sort: true,
templet: function (d) {
if (d.evaluationStatus === '0' && user.isSup != '3') {
return '<div style="width: 80px;height: 80px;line-height:80px;cursor: pointer;color: #FF5D5D" ' +
'onclick="openEvalStatus(\'' + d.id + '\',\'' + d.idNumber + '\',\'' + d.teamName+ '\',\'' + d.teamId + '\',1)"><span>未评价</span></div>';
} else if (d.evaluationStatus === '1' && user.isSup != '3') {
return '<div style="width: 80px;height: 80px;line-height:80px;cursor: pointer;color: #2F82FB" ' +
'onclick="openEvalStatus(\'' + d.id + '\',\'' + d.idNumber + '\',\'' + d.teamName +'\',\'' + d.teamId + '\',2)"><span>已评价</span></div>';
} else if (d.evaluationStatus === '0' && user.isSup === '3') {
return '<span style="color: #FF5D5D;">未评价</span>';
} else if (d.evaluationStatus === '1' && user.isSup === '3') {
return '<span style="color: #2F82FB;">已评价</span>';
} else {
return '';
}
}
},
{
field: "isStop",
title: "到岗履职",
width: 120,
unresize: false,
sort: true,
align: "center",
templet: function (d) {
return '<p>业主:' + d.yzDuty + '</p><p>监理:' + d.jlDuty + '</p><p>施工:' + d.sgDuty + '</p>';
}
},
{
field: "inspector",
title: "督查人",
width: 140,
unresize: false,
sort: true,
align: "center"
},
{
field: "supervisionTime",
title: "督查时长(分)",
width: 150,
unresize: false,
sort: true,
align: "center",
},
{
title: "当日违章",
field: "voiNum",
width: 140,
unresize: false,
sort: true,
align: "center",
templet: function (d) {
return '<div style="width: 80px;height: 80px;line-height:80px;cursor: pointer;color: #2F82FB" ' +
'onclick="openVoiRecord(\'' + d.id + '\',\'' + d.bidName + '\',\'' + d.ticketNo + '\',\'' + d.org + '\',\'' + d.teamName + '\',\'' + d.riskLevel + '\',\'' + d.bidNo + '\',\'' + d.signCode + '\')"><span>' + d.voiNum + '</span></div>';
}
},
{
title: "累计违章",
field: "proVoiNum",
width: 140,
unresize: false,
sort: true,
align: "center",
templet: function (d) {
return '<div style="width: 80px;height: 80px;line-height:80px;cursor: pointer;color: #2F82FB" ' +
'onclick="openVoiRecord2(\'' + d.bidNo + '\')"><span>' + d.proVoiNum + '</span></div>';
}
},
{
field: "bidCode",
title: "标段编码",
width: 120,
unresize: false,
sort: true,
align: "center",
},
{
field: "proCode",
title: "工程编码",
width: 120,
unresize: false,
sort: true,
align: "center",
},
{
field: "sgdw",
title: "施工单位",
width: 120,
unresize: false,
sort: true,
align: "center",
},
{
field: "jldw",
title: "监理单位",
width: 120,
unresize: false,
sort: true,
align: "center",
},
];
// 初始化筛选状态
var local = layui.data('table-filter-test'); // 获取对应的本地记录
layui.each(arr, function (index, item) {
if (item.field in local) {
item.hide = local[item.field];
}
});
return arr;
}()
],
done: function (res, curr, count) {
layer.close(loadingMsg);
$(".layui-table-main tr").each(function (index, val) {
$($(".layui-table-fixed .layui-table-body tbody tr")[index]).height($(val).height());
});
//动态监听表体高度变化,冻结行跟着改变高度
$(".layui-table-body tr").resize(function () {
$(".layui-table-body tr").each(function (index, val) {
$($(".layui-table-fixed .layui-table-body table tr")[index]).height($(val).height());
});
});
//初始化高度,使得冻结行表体高度一致
$(".layui-table-body tr").each(function (index, val) {
$($(".layui-table-fixed .layui-table-body table tr")[index]).height($(val).height());
});
table.resize("todayTaskTable");
soulTable.render(this);
// 记录筛选状态
var that = this;
that.elem.next().on('mousedown', 'input[lay-filter="LAY_TABLE_TOOL_COLS"]+', function () {
var input = $(this).prev()[0];
// 此处表名可任意定义
layui.data('table-filter-test', {
key: input.name,
value: input.checked
})
});
pageNum = res.curr, limitSize = res.limit;
resetContent();
},
});
table.on('sort(todayTask)', function (obj) {
$(".layui-table-main tr").each(function (index, val) {
$($(".layui-table-fixed .layui-table-body tbody tr")[index]).height($(val).height());
});
//动态监听表体高度变化,冻结行跟着改变高度
$(".layui-table-body tr").resize(function () {
$(".layui-table-body tr").each(function (index, val) {
$($(".layui-table-fixed .layui-table-body table tr")[index]).height($(val).height());
});
});
//初始化高度,使得冻结行表体高度一致
$(".layui-table-body tr").each(function (index, val) {
$($(".layui-table-fixed .layui-table-body table tr")[index]).height($(val).height());
});
})
table.on("rowDouble(todayTask)", function (res) {
let obj = res.data;
openRemotePatrol(obj.id, obj.puid, obj.tCode, obj.twCode, obj.tdCode, obj.passWay, obj.bidNo);
});
}
// 获取参数
function getReqParams(page, limit, type) {
let obj = {};
if (!type) {
obj = {
page: page + "",
limit: limit + "",
workDay: setValue2($('#workDay').val()),
buildCode: setValue2(formSelects.value('buildCode', 'val').toString()),
inspector: setValue2($("#inspector").val()),
evaluationStatus: setValue2($("#evaluationStatus").val() === '-1' ? '' : $("#evaluationStatus").val()),
foreman: setValue2($("#foreman").val()),
riskLevel: setValue2(formSelects.value('riskLevel', 'val').toString()),
proStatus: setValue2(formSelects.value('proStatus', 'val').toString()),
bidName: setValue2(formSelects.value('bidName', 'val').toString()),
ballStatus: setValue2($("#ballStatus").val() === '-1' ? '' : $("#ballStatus").val()),
keyWord: setValue2($("#keyWord").val()),
currentUserId: user.userId + '',
isSup: user.isSup,
currentUserOrgId: user.orgId
};
} else {
obj = {
page: '1',
limit: '50',
workDay: getNowTime() + " - " + getNowTime(),
buildCode: '',
inspector: '',
evaluationStatus: '',
foreman: '',
riskLevel: '',
proStatus: '',
bidName: '',
ballStatus: '',
keyWord: '',
currentUserId: user.userId + '',
isSup: user.isSup,
currentUserOrgId: user.orgId
};
}
return obj;
}
// 查询/重置
function query(type) {
if (type === 2) {
resetForm();
}
let pattern = new RegExp("[%_<>]");
if (pattern.test($("#keyWord").val())) {
$("#keyWord").val('');
return layer.msg('关键字查询包含特殊字符,请重新输入', {
icon: 2,
time: 2000 //2秒关闭如果不配置默认是3秒
});
}
if (pattern.test($("#foreman").val())) {
$("#foreman").val('');
return layer.msg('班组长查询包含特殊字符,请重新输入', {
icon: 2,
time: 2000 //2秒关闭如果不配置默认是3秒
});
}
if (pattern.test($("#inspector").val())) {
$("#inspector").val('');
return layer.msg('督查人查询包含特殊字符,请重新输入', {
icon: 2,
time: 2000 //2秒关闭如果不配置默认是3秒
});
}
// pageNum = 1;
let buildCode = formSelects.value('buildCode', 'val');
orgList = getOrgNumAndRate();
setOrg();
formSelects.value('buildCode', buildCode)
// pages(1, limitSize)
table.reload('todayTaskTable', {
where: {
yxsType:yxsType,
xsUser:xsUser,
workDay: setValue2($('#workDay').val()),
buildCode: setValue2(formSelects.value('buildCode', 'val').toString()),
inspector: setValue2($("#inspector").val()),
evaluationStatus: setValue2($("#evaluationStatus").val() === '-1' ? '' : $("#evaluationStatus").val()),
foreman: setValue2($("#foreman").val()),
riskLevel: setValue2(formSelects.value('riskLevel', 'val').toString()),
proStatus: setValue2(formSelects.value('proStatus', 'val').toString()),
bidName: setValue2(formSelects.value('bidName', 'val').toString()),
ballStatus: setValue2($("#ballStatus").val() === '-1' ? '' : $("#ballStatus").val()),
keyWord: setValue2($("#keyWord").val()),
currentUserId: user.userId + '',
isSup: user.isSup,
currentUserOrgId: user.orgId
},
page: {
curr: 1,
groups: 5, //只显示 5 个连续页码
},
});
}
/*重置查询条件*/
function resetForm() {
$('#workDay').val(getNowTime() + " - " + getNowTime())
formSelects.value('buildCode', []);
$("#inspector").val('')
$("#evaluationStatus").val('-1')
$("#foreman").val('')
$("#keyWord").val('')
formSelects.value('riskLevel', []);
formSelects.value('proStatus', []);
formSelects.value('bidName', []);
$("#ballStatus").val('-1')
layui.form.render()
}
/*打开远程巡视页面*/
function openRemotePatrol(id, puid, tCode, twCode, tdCode, passWay, bidNo) {
if (user.isSup !== '3') {
addSuper(id, "1");
}
let layerIndex = layer.open({
id: "remotePatrol",
title: false,
type: 2,
maxmin: false,
content: 'remotePatrol/remotePatrol.html',
area: ['100%', '100%'],
closeBtn: 0,
success: function (layero, index) {
let iframeWin = window["layui-layer-iframe" + layerIndex];
iframeWin.setParams(id, puid, tCode, twCode, tdCode, passWay, user.isSup, 1, bidNo);
},
end: function () {
if (user.isSup !== '3') {
addSuper(id, "2");
}
}
});
}
/*添加督查时间*/
function addSuper(classId, type) {
let params = {
classId: classId,
type: type
}
$.ajax({
headers: {
"encrypt": sm3(JSON.stringify(params))
},
url: dataUrl + 'proteam/pot/supervision/insertSupervision?token=' + token,
data: params,
type: 'POST',
async: true,
success: function (result) {
}, error: function () {
}
});
}
// 违章记录页面
function openVoiRecord(id, bidName, ticketNo, buildCode,teamName, riskLevel, bidCode, signCode) {
let layerIndex = layer.open({
id: "voiRecord",
title: false,
type: 2,
maxmin: false,
content: 'remotePatrol/voiRecord.html',
area: ['100%', '100%'],
closeBtn: 0,
success: function (layero, index) {
let iframeWin = window["layui-layer-iframe" + layerIndex];
iframeWin.setParams(id, bidName, ticketNo, buildCode,teamName, riskLevel, bidCode, signCode);
},
end: function () {
reloadData();
}
});
}
// 违章记录页面
function openVoiRecord2(bidNo) {
let layerIndex = layer.open({
id: "proVoiRecord",
title: false,
type: 2,
maxmin: false,
content: 'remotePatrol/proVoiRecord.html',
area: ['100%', '100%'],
closeBtn: 0,
success: function (layero, index) {
let iframeWin = window["layui-layer-iframe" + layerIndex];
iframeWin.setParams(bidNo);
},
});
}
// 打开评价状态页面
function openEvalStatus(classId, idNumber, teamName, teamId,type) {
if (type === 1) { // 新增评价页面
let width = '1075px', height = '725px';
layer.open({
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;'],
type: 2,
content: '../../html/teamInformation/child/teamEvaluateAdd.html',
area: [width, height],
maxmin: false,
move: 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,teamId);//调用子页面的方法,页面锁定
},
end: function () {
reloadData();
}
});
} else if (type === 2) { // 评价记录页面
let layerIndex = layer.open({
id: "teamEvaluateByClass",
title: false,
type: 2,
maxmin: false,
content: '../teamInformation/child/teamEvaluate.html',
area: ['100%', '100%'],
closeBtn: 0,
success: function (layero, index) {
let iframeWin = window["layui-layer-iframe" + layerIndex];
iframeWin.setForm(classId, idNumber, teamName, teamId,2);
}
});
}
}
// 地市站班会数量和占比
function getOrgNumAndRate(type) {
let dataList = [];
let params = getReqParams(null, null, type);
$.ajax({
headers: {
"encrypt": sm3(JSON.stringify(params))
},
url: dataUrl + 'proteam/pot/todayTask/getOrgNumAndRate?token=' + token,
data: params,
type: 'POST',
async: false,
success: function (result) {
let data = result.data;
if (result.code === 500) {
return layer.alert(data.msg, { icon: 2 })
} else if (result.code === 401) {
logout(1);
} else if (result.code === 200) {
if (data && data.length > 0) {
$.each(data, function (index, item) {
dataList.push(item)
})
}
}
}, error: function () {
}
});
return dataList;
}
/*导出*/
function exportData() {
let workDay = setValue2($('#workDay').val()),
buildCode = setValue2(formSelects.value('buildCode', 'val').toString()),
inspector = setValue2($("#inspector").val()),
evaluationStatus = setValue2($("#evaluationStatus").val() === '-1' ? '' : $("#evaluationStatus").val()),
foreman = setValue2($("#foreman").val()),
riskLevel = setValue2(formSelects.value('riskLevel', 'val').toString()),
proStatus = setValue2(formSelects.value('proStatus', 'val').toString()),
bidName = setValue2(formSelects.value('bidName', 'val').toString()),
ballStatus = setValue2($("#ballStatus").val() === '-1' ? '' : $("#ballStatus").val()),
keyWord = setValue2($("#keyWord").val()),
currentUserId = user.userId + '',
isSup = user.isSup,
currentUserOrgId = user.orgId;
let loadingMsg = layer.msg("数据导出中,请稍候...", { icon: 16, scrollbar: false, time: 0, });
let url = dataUrl + "proteam/pot/todayTask/exportData?workDay=" + workDay + "&buildCode=" + buildCode + "&inspector=" + inspector +
"&evaluationStatus=" + evaluationStatus + "&foreman=" + foreman + "&riskLevel=" + riskLevel + "&proStatus=" + proStatus + "&bidName=" + bidName + "&ballStatus=" + ballStatus +
"&keyWord=" + keyWord + "&currentUserId=" + currentUserId + "&isSup=" + isSup + "&currentUserOrgId=" + currentUserOrgId + "&token=" + token;
let xhr = new XMLHttpRequest();
xhr.open("get", url, true);
xhr.responseType = "blob"; // 转换流
xhr.setRequestHeader("encrypt",
sm3(JSON.stringify({
workDay: workDay,
buildCode: setValue2(formSelects.value('buildCode', 'val').toString()),
inspector: setValue2($("#inspector").val()),
evaluationStatus: setValue2($("#evaluationStatus").val() === '-1' ? '' : $("#evaluationStatus").val()),
foreman: setValue2($("#foreman").val()),
riskLevel: setValue2(formSelects.value('riskLevel', 'val').toString()),
proStatus: setValue2(formSelects.value('proStatus', 'val').toString()),
bidName: setValue2(formSelects.value('bidName', 'val').toString()),
ballStatus: setValue2($("#ballStatus").val() === '-1' ? '' : $("#ballStatus").val()),
keyWord: setValue2($("#keyWord").val()),
currentUserId: user.userId + '',
isSup: user.isSup,
currentUserOrgId: user.orgId
})));
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 = "今日任务" + getNowDate() + ".xlsx"; // 文件名
} else {
layer.msg("数据发生异常,请稍后重试", { icon: 16, scrollbar: false, time: 2000 });
}
a.click();
window.URL.revokeObjectURL(url);
};
xhr.send();
}
// 预览作业票文件
function viewTicket(ticketId) {
// 预览pdf
function showPdf(base64String) {
let pdfResult = base64String;
let layerIndex = layui.layer.open({
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;'],
type: 2,
area: ['99%', '99%'], // 弹出框的宽高
move:false,
fixed: false, // 是否固定
maxmin: false, // 是否允许最大化
shade: 0, // 隐藏弹框的遮罩层
content: pdfResult, // pdf的地址
})
}
let params = {
'ticketId': ticketId
}
$.ajax({
headers: {
"encrypt": sm3(JSON.stringify(params))
},
url: dataUrl + 'proteam/pot/todayTask/getTicketBase64?token=' + token,
data: params,
type: 'POST',
async: true,
success: function (result) {
let data = result.data;
if (result.code === 500) {
return layer.alert(data.msg, { icon: 2 })
} else if (result.code === 401) {
logout(1);
} else if (result.code === 200) {
if (data.base64Url) {
showPdf('data:application/pdf;base64,' + data.base64Url)
} else {
layer.msg('无作业票文件', { icon: 7 })
}
}
}, error: function () {
}
});
}
/*建管单位赋值*/
function setOrg() {
let keys = [];
$.each(orgList, function (index, item) {
let temp = {
"name": item.name + "" + item.num + "" + item.rate + "",
"value": item.code,
"titleName": item.name
};
keys.push(temp);
})
formSelects.data('buildCode', 'local', {
arr: keys
});
layui.form.render();
}
/*工程赋值*/
function setPro() {
let keys = [];
$.each(signProList, function (index, item) {
let temp = {
"name": item.name,
"value": item.code
};
keys.push(temp);
})
formSelects.data('proName', 'local', {
arr: keys
});
layui.form.render();
}
/*标段工程赋值*/
function setBidPro() {
let keys = [];
$.each(bidProList, function (index, item) {
let temp = {
"name": item.name,
"value": item.code
};
keys.push(temp);
})
formSelects.data('bidName', 'local', {
arr: keys
});
formSelects.btns('bidName', ['remove'])
layui.form.render();
}
/* 风险等级赋值 */
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 setEvaluationStatu() {
let html = '<option value="-1" selected>全部</option>';
$.each(evaluationStatusList, function (index, item) {
html += '<option value="' + item.id + '">' + item.name + '</option>';
})
$('#evaluationStatus').empty().append(html);
layui.form.render();
}
/* 球机状态赋值 */
function setBallStauts() {
let html = '<option value="-1" selected>全部</option>';
$.each(ballStatusList, function (index, item) {
html += '<option value="' + item.id + '">' + item.name + '</option>';
})
$('#ballStatus').empty().append(html);
layui.form.render();
}
/* 施工状态赋值 */
function setProStatus() {
let keys = [];
$.each(proStatusList, function (index, item) {
let temp = {
"name": item.name,
"value": item.id
};
keys.push(temp);
})
formSelects.data('proStatus', 'local', {
arr: keys
});
layui.form.render();
}
/*更多选项*/
function openMoreOption() {
let width = getMoreWidth().toFixed(0) + "px";
let height = getMoreHeight().toFixed(0) + "px";
let layerIndex = layer.open({
id: "moreOption",
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;'],
type: 1,
maxmin: false,
content: setOptionHtml(),
area: [width, height],
move: false,
shade: 0.1,
success: function (layero, index) {
layui.form.render();
$(window).resize(function () {
if (autoMoreResizeWidth) autoMoreResizeWidth(index);
if (autoMoreResizeHeight) autoMoreResizeHeight(index);
});
},
});
}
/*更多选项赋值*/
function setOptionHtml() {
let html = '<form class="layui-form option-form" onsubmit="return false;">';
let cent = '', cent2 = '';
$.each(searchList, function (index, item) {
if (index < 5) {
if (item.isChecked) {
cent += '<div class="layui-input-inline"><input lay-skin="primary" type="checkbox" name="' + item.titleCode + '" title="' + item.titleName + '" checked></div>'
} else {
cent += '<div class="layui-input-inline"><input lay-skin="primary" type="checkbox" name="' + item.titleCode + '" title="' + item.titleName + '"></div>'
}
} else {
if (item.isChecked) {
cent += '<div class="layui-input-inline"><input lay-skin="primary" type="checkbox" name="' + item.titleCode + '" title="' + item.titleName + '" checked></div>'
} else {
cent += '<div class="layui-input-inline"><input lay-skin="primary" type="checkbox" name="' + item.titleCode + '" title="' + item.titleName + '"></div>'
}
}
})
html += '<div class="layui-form-item" style="margin: 5% 0 0 20px;">' + cent + '</div>'
html += '<div class="layui-form-item" style="margin: 5% 0 0 20px;">' + cent2 + '</div>'
html += '<div class="layui-form-item" style="margin-top: 8%;display: flex;align-items: center;justify-content: center;">' +
'<button class="layui-btn layui-btn-normal layui-btn-sm" onclick="sureOption()">确定</button>' +
'<button class="layui-btn layui-btn-primary layui-btn-sm" onclick="layer.closeAll()">取消</button>' +
'</div></form>'
return html;
}
/*确定更多选项*/
function sureOption() {
$("#ttTime").css("display", "none");
let formList = [];
$('input[type=checkbox]').each(function (index) {
let html = '';
searchList[index].isChecked = $(this).prop("checked")
if ($(this).prop("checked")) {
formList.push(setOptionForm(searchList[index]))
}
})
setFormHtml(formList);
layer.closeAll()
}
/*设置更多选项表单*/
function setOptionForm(item) {
let html = '';
if (item.isSelect) {
html = '<div class="layui-inline ' + item.titleCode + '">' +
'<label class="layui-form-label">' + item.titleName + ':</label>' +
'<div class="layui-input-inline">' +
setSelectSearch(item) +
'</select>' +
'</div>' +
'</div>'
} else {
if (item.isTime) {
$("#ttTime").css("display", "");
// html = '<div style="display: none;" class="layui-inline ' + 'test' + '">' +
// '<label class="layui-form-label">' + 'test' + ':</label>' +
// '<div class="layui-input-inline">' +
// '<input type="text" readonly placeholder="日期" id="' + 'test' + '" class="layui-input" autocomplete="off" placeholder="请输入' + 'test' + '">' +
// '<img src="../../img/common-icon/date-icon.png" style="position: absolute;top: 20%;left: 86%;">' +
// '</div>' +
// '</div>'
} else {
html = '<div class="layui-inline ' + item.titleCode + '">' +
'<label class="layui-form-label">' + item.titleName + ':</label>' +
'<div class="layui-input-inline">' +
'<input type="text" id="' + item.titleCode + '" class="layui-input" autocomplete="off" placeholder="请输入' + item.titleName + '">' +
'</div>' +
'</div>'
}
}
return html;
}
/* 设置工程/标段工程下拉选带搜索 */
function setSelectSearch(item) {
if (item.isSearch) {
return '<select class="layui-select" id="' + item.titleCode + '" xm-select="' + item.titleCode + '" xm-select-show-count = "' + item.count + '" xm-select-search="" xm-select-search-type="dl">'
} else {
return '<select class="layui-select" id="' + item.titleCode + '" xm-select="' + item.titleCode + '" xm-select-show-count = "' + item.count + '">'
}
}
/*给表单内容*/
function setFormHtml(data) {
data = data.filter(item => {
if (item) {
return item;
}
})
let html = '', cent = '', cent2 = '';
clearBasicForm();
$('.option-form .layui-form-item').eq(0).empty().css('height', '0px')
$('.option-form .layui-form-item').eq(1).empty().css('height', '0px')
if (data.length > 0 && data.length <= 3) {
if (data.length <= 3) {
$.each(data, function (index, item) {
html += item;
})
$('.workDay').after(html);
}
} else if (data.length > 3) {
$.each(data, function (index, item) {
if (index < 3) {
html += item;
} else if (index >= 3 && index <= 7) {
cent += item;
} else if (index === 8) {
cent2 = item;
}
})
clearBasicForm();
$('.workDay').after(html);
if (cent != '') {
$('.option-form .layui-form-item').eq(0).css('height', '50px')
}
if (cent2 != '') {
$('.option-form .layui-form-item').eq(1).css('height', '50px')
}
$('.option-form .layui-form-item').eq(0).append(cent);
$('.option-form .layui-form-item').eq(1).append(cent2);
}
layui.form.render();
if (data.length <= 3) {
$('.table-box').css('height', 'calc(100% - 60px)')
tableIns.getthat().fullHeightGap = '75'
} else if (data.length > 3 && data.length <= 8) {
$('.table-box').css('height', 'calc(100% - 130px)')
tableIns.getthat().fullHeightGap = '125'
} else if (data.length === 9) {
$('.table-box').css('height', 'calc(100% - 180px)')
tableIns.getthat().fullHeightGap = '175'
}
tableIns.resize();
let pjFlag = false, sgFlag = false, gcFlag = false, qjFlag = false;
$.each(data, function (index, item) {
if (item.indexOf('评价状态') != -1) {
pjFlag = true;
}
if (item.indexOf('施工状态') != -1) {
sgFlag = true;
}
if (item.indexOf('工程名称') != -1) {
gcFlag = true;
}
if (item.indexOf('球机状态') != -1) {
qjFlag = true;
}
})
if (!proStatusList && sgFlag) {
proStatusList = getRiskLevelSelect('work_status');
}
if (!evaluationStatusList && pjFlag) {
evaluationStatusList = getRiskLevelSelect('evaluate_status');
}
if (!ballStatusList && qjFlag) {
ballStatusList = getRiskLevelSelect('ball_status');
}
if (!bidProList && gcFlag) {
bidProList = getProSelected('2');
}
setRiskLevel();
setOrg();
setBidPro();
setEvaluationStatu();
setBallStauts();
setProStatus();
}
/*清空表单的内容*/
function clearBasicForm() {
let obj = $('.basic-form .layui-form-item .layui-inline');
$('.basic-form .layui-form-item .layui-inline').each(function () {
if ($(this).hasClass('workDay') || $(this).hasClass('btns')) {
} else {
let classAttr = $(this).attr('class');
obj.remove('.' + classAttr.substring(classAttr.indexOf(' ') + 1, classAttr.length));
}
})
}
// 重置页面样式
function resetContent() {
if ($('.layui-input-inline').length <= 4) {
$('.table-box').css('height', 'calc(100% - 60px)')
tableIns.getthat().fullHeightGap = '75';
} else if ($('.layui-input-inline').length > 4 && $('.layui-input-inline').length <= 9) {
$('.table-box').css('height', 'calc(100% - 130px)')
tableIns.getthat().fullHeightGap = '125';
} else if ($('.layui-input-inline').length === 10) {
$('.table-box').css('height', 'calc(100% - 180px)')
tableIns.getthat().fullHeightGap = '175'
}
tableIns.resize();
}
function getDate() {
let date = new Date();
let year = date.getFullYear();
let month = date.getMonth() + 1;
let day = date.getDate();
if (month < 10) {
month = "0" + month;
}
if (day < 10) {
day = "0" + day;
}
return year + "-" + month + "-" + day;
}
// 刷新表格
function reloadData() {
table.reload('todayTaskTable', {
where: {
workDay: setValue2($('#workDay').val()),
buildCode: setValue2(formSelects.value('buildCode', 'val').toString()),
inspector: setValue2($("#inspector").val()),
evaluationStatus: setValue2($("#evaluationStatus").val() === '-1' ? '' : $("#evaluationStatus").val()),
foreman: setValue2($("#foreman").val()),
riskLevel: setValue2(formSelects.value('riskLevel', 'val').toString()),
proStatus: setValue2(formSelects.value('proStatus', 'val').toString()),
bidName: setValue2(formSelects.value('bidName', 'val').toString()),
ballStatus: setValue2($("#ballStatus").val() === '-1' ? '' : $("#ballStatus").val()),
keyWord: setValue2($("#keyWord").val()),
currentUserId: user.userId + '',
isSup: user.isSup,
currentUserOrgId: user.orgId
},
page: {
curr: pageNum,
limit: limitSize,
groups: 5, //只显示 5 个连续页码
},
});
// pages(pageNum, limitSize);
}