IntelligentRecognition/ah-jjsp-web/.svn/pristine/ff/ff23d9d795c348b6b80187a1c44...

683 lines
22 KiB
Plaintext
Raw Permalink 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 num = 0;
let noNum = 0;
let all = 0;
let idParam;
let util, dtree, form, layer, table, laydate;
let bidCode;
// 作业票文件、标段工程名称、作业票编号、建管单位、班组负责人身份证号
let filePath, bidName, ticketNo, org, workManagerNum;
//initMap();
let pageNum = 1, limitSize = 30;
//班组长
let bzgg = ['52', '55', '4123', '4115', '49', '4111', '46', '50', '4116', '4103', '27'];
//特种作业
let tzzy = ['445', '4117', '4120', '4113', '54'];
layui.extend({
dtree: '{/}../../js/layui_dtree/dtree/dtree'
}).use(['form', 'layer', 'table', 'laydate', 'util', 'dtree'], function () {
util = layui.util;
dtree = layui.dtree;
form = layui.form;
layer = layui.layer;
table = layui.table;
laydate = layui.laydate;
try {
getConnect();
} catch (e) {
console.error(e.message)
}
initTree();
pages(1, 30, "");
util.event('lay-active', {
platform: function () {
toPage();
},
query: function () {
$('.right_table').removeClass('layui-hide');
$('.classmeeting-info').addClass('layui-hide');
}
});
table.on('row(table)', function (obj) {
idParam = obj.data.classId
getZbhWarnAjax();
getZbhDetailAjax();
getZbhPeopleAjax();
getClassMettingSignAjax();
getZbhImageAjax();
getExceptionReportListAjax();
$('.right_table').addClass('layui-hide');
$('.classmeeting-info').removeClass('layui-hide');
});
dtree.on("node('tree')", function (obj) {
if ($.isEmptyObject(obj.param.recordData.bidCode)) {
obj.param.recordData.bidCode = "";
layer.alert("此无人机未绑定工程!!!", {icon: 2})
}
pages(1, limitSize, obj.param.recordData.bidCode)
});
dtree.on("nodedblclick('tree')", function (obj) {
toVideoPage(obj.param.recordData.puId,obj.param.recordData.tCode);
});
});
function pages(pageNum, pageSize, bidCode) {
let params = getReqParams(pageNum, pageSize, bidCode);
$.ajax({
headers: {
"encrypt": sm3(JSON.stringify(params))
},
url: dataUrl + "proteam/pot/uav/getClass" + '?token=' + token,
data: params,
type: 'POST',
async: false,
success: function (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, bidCode) {
return {
pageNum: page + "",
pageSize: limit + "",
bidCode: bidCode
};
}
function initTable(dataList, limit, page) {
table.render({
elem: "#table",
id: "table",
height: "full-80",
limit: limit, //默认十条数据一页
data: dataList,
cols: [
[//表头
{
field: "number",
type: "numbers",
title: "序号",
minWidth: 50,
unresize: true,
align: "center",
},
{
field: "bidName",
title: "工程名称",
unresize: true,
minWidth: 200,
align: "center",
},
{
field: 'workManager',
title: "班组长",
unresize: true,
minWidth: 100,
align: "center",
templet: function (d) {
return "<span>" + d.workManager + "</span><br><span>" + transformNull(d.workManagerPhone) + "</span>";
},
},
{
field: "riskLevel",
title: "风险等级",
unresize: true,
minWidth: 50,
align: "center"
}
],
],
done: function (res, curr, count) {
},
parseData: function (res) {
return {
"code": res.code === 200 ? 0 : res.code,
"msg": res.msg,
"count": res.total,
"data": res.rows
};
}
});
}
function initTree() {
Ajax().post({
headers: {
"encrypt": sm3(JSON.stringify({}))
},
url: dataUrl + 'proteam/pot/uav/getUavData',
success: function (data) {
calleArr(data.data);
let treeData = [{
id: "top",
title: '<span style="font-size: 18px">无人机</span><span style="font-size: 16px;">&nbsp;&nbsp;(在线:<span style="color: green">' + num + '&nbsp;&nbsp;</span>' + " 不在线:" + '<span style="color: red">' + noNum + '&nbsp;&nbsp;</span>' + " 总数:" + all + ')</span>',
checkArr: "0",
parentId: "-1",
children: data.data,
iconClass: 'iconfont icon-a-iconwurenjixunhang',
spread: true,
}];
dtree.render({
elem: "#tree",
data: treeData,
initLevel: 1,
checkbar: false,//开启复选框
menubar: false,
ficon: ['2'],
skin: "lay",
record: true,
done: function (res, $ul, first) {
$('.icon-a-iconwurenjixunhang1').next().css('color', "#2f82fb");
$('div[data-id$="top"]').addClass('top');
}
});
}
});
}
/**
* 遍历树数据
* @param treeData
*/
function calleArr(treeData) {
console.log(treeData);
num = 0;
noNum = 0;
all = 0;
for (let i in treeData) {
let obj = treeData[i];
obj.id = obj.puId;
obj.parentId = 'top';
if (!isEmpty(obj.isOnline) && obj.isOnline == '1') {
//在线图标
obj.iconClass = 'iconfont icon-a-iconwurenjixunhang1';
getUavGps(obj.puId);
num++;
} else {
//不在线图标
obj.iconClass = 'iconfont icon-a-iconwurenjixunhang';
noNum++;
}
}
}
/**
* 跳转无人机绑定页面
* @param classId 站班会id
* @param idNumber 身份证号
* @param teamName 班组名称
*/
function toPage() {
let width = '40%', height = '50%';
layer.open({
title: ['工程绑定', 'font-size:24px;'],
type: 2,
skin: 'shadows',
content: 'child/bandPro.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页的方法
},
end: function () {
initTree();
}
});
}
/**
* 跳转无人机绑定页面
*/
function toVideoPage(puid,tCode) {
let width = '50%', height = '70%';
layer.open({
title: ['视频播放', 'font-size:24px;'],
type: 2,
skin: 'shadows',
content: 'child/UAV_Video.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.setParams(puid,tCode);
},
end: function () {
initTree();
}
});
}
/*站班会预警信息赋值*/
function setClassWarnInfo(result) {
let html = '';
if (result) {
warnInfo = result;
let data = result.split(",");
if (data.length) {
$.each(data, function (index, item) {
if (item) {
html += '<p>' + item + '</p>';
}
})
}
} else {
html += '<p style="color: #14B93B;">正常施工</p>'
}
$('.early-waring-info').empty().append(html);
}
/*站班会详情赋值*/
function setClassDetailData(result) {
if (result) {
let data = JSON.parse(result)
console.log(data)
let sgStatus = '';
if (data.sgStatus === '1') {
sgStatus = '开工'
} else if (data.sgStatus === '2') {
sgStatus = '暂停'
} else if (data.sgStatus === '3') {
sgStatus = '完工'
}
$('#sgStatus').html('(' + sgStatus + ')')
$('#ticketNo').html(data.ticketNo)
$('#bidName').html(data.bidName)
$('#workDay').html(data.workDay)
$('#workingTime').html(data.startTime)
$('#content').html(setValue2(data.workType) + '' + setValue2(data.workGx) + '' + setValue2(data.workContent))
$('#workManager').html(data.workManager)
$('#workManagePhone').html(data.workManagePhone)
$(safetyManagers(data.safetyManager)).appendTo('#addPostion')
$('#controll').html(setValue(data.controll))
$('#changes').html(setValue(data.changes))
filePath = data.filePath;
bidName = data.bidName;
ticketNo = data.ticketNo;
org = data.org;
workManagerNum = data.workManagerNum;
}
}
// 获取安全监护人
function safetyManagers(value) {
let numArr = ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十'];
let html = '';
if (value) {
let valueArr = value.split(",");
valueArr.forEach((o, index) => {
html += '<p>第' + numArr[index] + '作业面安全监护:' + o + '</p>';
});
return html;
} else {
return html;
}
}
/*参与施工人员签名、临时人员赋值*/
function setWorkerPersonData(result) {
let cent = '', cent2 = '';
if (result) {
let data = JSON.parse(result);
if (data.sgPeople.length) {
var bzz = '', tszyry = '', bzcy = '', wsg = '';
$.each(data.sgPeople, function (index, item) {
if (bzgg.indexOf(item.peopleType) > -1) {
if (getSex(item.idNumber) === '0') {
bzz += setWorkPhoto("../../img/remotePatrol/people-1-0.png", '#e90606', item);
} else {
bzz += setWorkPhoto("../../img/remotePatrol/people-1-1.png", '#e90606', item);
}
} else if (tzzy.indexOf(item.peopleType) > -1) {
if (getSex(item.idNumber) === '0') {
tszyry += setWorkPhoto("../../img/remotePatrol/people-2-3.png", '#2F82FB', item);
} else {
tszyry += setWorkPhoto("../../img/remotePatrol/people-2-4.png", '#2F82FB', item);
}
} else if (item.peopleType === '未施工') {
if (getSex(item.idNumber) === '0') {
wsg += setWorkPhoto("../../img/remotePatrol/people-4-0.png", '#BFBFBF', item);
} else {
wsg += setWorkPhoto("../../img/remotePatrol/people-4-1.png", '#BFBFBF', item);
}
} else {
if (getSex(item.idNumber) === '0') {
bzcy += setWorkPhoto("../../img/remotePatrol/people-3-0.png", '#2F82FB', item);
} else {
bzcy += setWorkPhoto("../../img/remotePatrol/people-3-1.png", '#2F82FB', item);
}
}
})
cent = bzz + tszyry + bzcy + wsg;
} else {
cent += '<p>暂无数据</p>';
$('.work-people-sign').css('justify-content', 'center')
}
if (data.lsPeople.length) {
$.each(data.lsPeople, function (index, item) {
cent2 += setWorkPhoto("../../img/remotePatrol/people-3.png", '#2F82FB', item)
})
} else {
cent2 += '<p>暂无数据</p>';
$('.temporary-people-photo').css('justify-content', 'center')
}
} else {
cent += '<p>暂无数据</p>';
$('.work-people-sign').css('justify-content', 'center')
cent2 += '<p>暂无数据</p>';
$('.temporary-people-photo').css('justify-content', 'center')
}
$('.work-people-sign').empty().append(cent);
$('.temporary-people-photo').empty().append(cent2);
}
function isRyTrue(value, allValue){
value=value+"@";
if(allValue.indexOf(value)!='-1'){//包含
return true;
}
return false;
}
/*施工人员签名*/
function setWorkPhoto(imgPath, color, item) {
return '<div class="work-people-type layout">' +
'<img style="height: 40px;width: 40px;" src="' + imgPath + '" title="' + item.typeName + '">' +
'<p style="color: ' + color + '">' + item.userName + '</p>' +
'</div>'
}
function getSex(idCard) {
let sexStr = '';
if (parseInt(idCard.slice(-2, -1)) % 2 === 1) {
sexStr = '0'
} else {
sexStr = '1'
}
return sexStr;
}
/*到岗到位签到表赋值*/
function setDutyTableData(result) {
let html = '<tr><td>职务</td><td>姓名</td><td>手机号</td><td>签到时间</td></tr>';
if (result.data.length) {
$.each(result.data, function (index, item) {
html += '<tr style="height:50px ">' +
'<td>' + item.peopleType + '</td>' +
'<td>' + item.userName + '</td>' +
'<td>' + item.phone + '</td>' +
'<td>' + item.inTime + '</td>' +
'</tr>';
})
} else {
html += '<tr><td colspan="4" style="height: 50px;border-bottom: 1px solid #d9d9d9">暂无数据</td></tr>';
}
$('#onDutyTable').empty().append(html);
}
/*关键点措施赋值*/
function setKeyPointPhoto(result) {
// 站班会交底拍照、现场勘查、地脚螺栓、跨越架、有限空间、地锚
let photoList = [], photoList2 = [], photoList3 = [], photoList4 = [], photoList5 = [], photoList6 = [], photoList7 = [], photoList8 = [], photoList9 = [];
if (result) {
let data = JSON.parse(result);
let prefix = 'data:image/Jpeg;base64,';
if (data.length) {
$.each(data, function (index, item) {
console.log(item);
let base64Path = prefix + item.imagePath;
if (item.imageType === '1') {
photoList.push('<img src="' + base64Path + '" data-original = "' + base64Path + '">')
} else if (item.imageType === '2') {
photoList2.push('<img src="' + base64Path + '" data-original = "' + base64Path + '">')
} else if (item.imageType === '3') {
photoList3.push('<img src="' + base64Path + '" data-original = "' + base64Path + '">')
} else if (item.imageType === '4') {
photoList4.push('<img src="' + base64Path + '" data-original = "' + base64Path + '">')
} else if (item.imageType === '5') {
photoList5.push('<img src="' + base64Path + '" data-original = "' + base64Path + '">')
} else if (item.imageType === '6') {
photoList6.push('<img src="' + base64Path + '" data-original = "' + base64Path + '">')
}else if (item.imageType === '7') {
photoList7.push('<img src="' + base64Path + '" data-original = "' + base64Path + '">')
}else if (item.imageType === '8') {
photoList8.push('<img src="' + base64Path + '" data-original = "' + base64Path + '">')
}else if (item.imageType === '9') {
photoList9.push('<img src="' + base64Path + '" data-original = "' + base64Path + '">')
}
})
}
}
setPhoto(photoList, 0);
setPhoto(photoList2, 1);
setPhoto(photoList3, 2);
setPhoto(photoList4, 3);
setPhoto(photoList5, 4);
setPhoto(photoList6, 5);
setPhoto(photoList7, 6);
setPhoto(photoList8, 7);
setPhoto(photoList9, 8);
}
/*关键点措施照片*/
function setPhoto(data, index) {
if (data.length) {
let html = '';
$.each(data, function (index, item) {
html += item
})
$('.key-point-photo-type').eq(index).empty().append(html)
} else {
$('.key-point-photo-type').eq(index).empty().append('<p>暂无数据</p>').css('justify-content', 'center')
$('.key-point-photo-type').eq(index).find('p').eq(0).css('margin-top', '10px');
}
}
/*作业票文件下载*/
function downLoadTicketFile() {
if (filePath) {
showPdf('data:application/pdf;base64,' + filePath)
} else {
layer.msg('无作业票文件', {icon: 5})
}
}
// 预览pdf
function showPdf(base64String) {
let pdfResult = base64String;
let pdfWindow = window.open("");
pdfWindow.document.write("<iframe width='100%' height='100%' src=" + pdfResult + "></iframe>");
pdfWindow.document.title = "附件"
pdfWindow.document.close();
}
/*异常上报赋值*/
function setExceptionReport(result) {
let html = '';
if (result && result.length) {
$.each(result, function (index, item) {
html += '<div class="exceptionReporting-info layout">' +
'<div class="exceptionReporting-num"><p>' + (index + 1) + '</p></div>' +
'<div class="exceptionReporting-content layout">' +
'<div class="content-box layout"><p>上报时间:</p><p>' + item.uploadTime + '</p></div>' +
'<div class="content-box layout"><p>异常内容:</p><p>' + item.content + '</p></div>' +
'<div class="content-box layout"><p>异常图片:</p> <div class="exception-img layout">' +
setExceptionImg(item.imgPath) +
'</div></div>' +
'</div>' +
'</div>';
})
} else {
html += '<p>暂无数据</p>'
}
$('.exceptionReporting-detail').empty().append(html);
}
function setExceptionImg(data) {
let html = '';
if (data) {
let imgArr = data.split(',');
$.each(imgArr, function (index, item) {
html += '<img src="' + item + '">'
})
}
return html;
}
/*刷新异常上报*/
function reloadExceptReport() {
getExceptionReportListAjax();
}
// 关闭页面
function closePage() {
let index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
parent.layer.close(index); //再执行关闭
}
function setValue(value) {
if (!value) {
return "暂无数据"
}
return value;
}
function setValue2(value) {
if (!value) {
return '';
}
return value;
}
/**
* 获取清晰物联token
*/
function getUavGps(puId) {
let settings = {
"url": qxUrl+"icvs2/GPS/C_GS_QueryLastGPSData?token=" + qxToken,
"method": "POST",
"timeout": 0,
"headers": {
"Content-Type": "application/json",
},
"data": JSON.stringify({
"equipment": [
{
"puid": puId,
"idx": 0,
"type": "无线编码器"
}
]
}),
};
$.ajax(settings).done(function (response) {
getTerminal(response);
});
}
/**
* 创建清新平台连接
*/
function getConnect() {
var passWay = localStorage.getItem("passWay");
if (passWay == null || passWay == '') {
passWay = 'to-2';
}
let params = {
"address": _cf.connParams.address,
"port": _cf.connParams.port,
"user": _cf.connParams.user,
"password": _cf.connParams.password,
"epid": _cf.connParams.epid,
"fixaddr": _cf.connParams.bfix
}
if (passWay == 'to-2' || passWay == 'to-4') {
posts(_cf.q2http_urlN, 'login', params, function (rv) {
let result = {
errcode: -1,
token: ''
}
let respJSON = JSON.parse(rv.responseText);
if (respJSON.hasOwnProperty('errcode')) {
result.errcode = respJSON.errcode;
}
if (respJSON.hasOwnProperty('token')) {
result.token = respJSON.token;
result.errcode = 0;
if (!isEmpty(result.token)) {
qxUrl = _cf.q2http_urlN;
qxToken = result.token;
getUavGps(puId)
}
}
});
}
if (passWay == 'to-2' || passWay == 'to-3') {
posts(_cf.q2http_url, 'login', params, function (rv) {
let result = {
errcode: -1,
token: ''
}
let respJSON = JSON.parse(rv.responseText);
if (respJSON.hasOwnProperty('errcode')) {
result.errcode = respJSON.errcode;
}
if (respJSON.hasOwnProperty('token')) {
result.token = respJSON.token;
result.errcode = 0;
if (!isEmpty(result.token)) {
qxUrl = _cf.q2http_url;
qxToken = result.token;
getUavGps(puId)
}
}
});
}
}