You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
337 lines
13 KiB
HTML
337 lines
13 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
|
|
<head>
|
|
<th:block th:include="include :: header('设备智能驾驶舱')"/>
|
|
</head>
|
|
<body class="white-bg">
|
|
<th:block th:include="include :: datetimepicker-css"/>
|
|
<th:block th:include="include :: datetimepicker-js"/>
|
|
<link href="../../board/board.css" rel="stylesheet">
|
|
<script src="../../js/echarts.js"></script>
|
|
<script src="../../js/scrollTable.js"></script>
|
|
<script src="../../js/tableAnimation.js"></script>
|
|
<script>
|
|
|
|
let status = {
|
|
rightInfoS: false,
|
|
bottomBtn1S: false,
|
|
bottomBtn2S: false,
|
|
bottomBtn3S: false,
|
|
}
|
|
const routerSkip = (e) => {
|
|
try {
|
|
$.modal.openTab('设备智能驾驶舱', ctx + e);
|
|
} catch (val) {
|
|
location.href = ctx + e
|
|
}
|
|
}
|
|
|
|
const showModal = () => {
|
|
$("#eqModal").show()
|
|
}
|
|
const hideModal1 = () => {
|
|
$("#eqModal").hide()
|
|
}
|
|
|
|
const hideModal = (e, el) => {
|
|
$("#centerModal1").append(`<iframe src="monitoring1" frameborder="0" id="monitoringIframe1" style="width: 100%;height: 100%"></iframe>`)
|
|
setTimeout(() => {
|
|
document.getElementById("monitoringIframe1").contentWindow.login()
|
|
}, 1000)
|
|
status[`bottomBtn${e}S`] = false
|
|
$($(el)[0].parentNode).hide()
|
|
$("#bottomBtn" + e).css({
|
|
backgroundImage: status[`bottomBtn${e}S`] ? 'url("../../board/img/btn1bg.png")' : 'url("../../board/img/btnbg.png")'
|
|
})
|
|
if (e === 3) {
|
|
document.getElementById("monitoringIframe").contentWindow.edit()
|
|
setTimeout(() => {
|
|
$("#monitoring").empty()
|
|
}, 100)
|
|
}
|
|
}
|
|
const toggleInfo = () => {
|
|
$("#rightInfo").toggle()
|
|
status.rightInfoS = !status.rightInfoS
|
|
$("#toggleInfoBtn").css({
|
|
backgroundImage: status.rightInfoS ? 'url("../../board/img/click.png")' : 'url("../../board/img/click1.png")'
|
|
})
|
|
}
|
|
const bottomBtnInfo = (e, el) => {
|
|
$('#centerModal1').empty()
|
|
if (e === 3) {
|
|
$("#monitoring").append(`<iframe src="monitoring" frameborder="0" id="monitoringIframe" style="width: 100%;height: 100%"></iframe>`)
|
|
setTimeout(() => {
|
|
document.getElementById("monitoringIframe").contentWindow.login()
|
|
}, 1000)
|
|
}
|
|
$("#modal" + e).show()
|
|
switch (e) {
|
|
case 1:
|
|
status.bottomBtn1S = !status.bottomBtn1S
|
|
$(el).css({
|
|
backgroundImage: status.bottomBtn1S ? 'url("../../board/img/btn1bg.png")' : 'url("../../board/img/btnbg.png")'
|
|
})
|
|
break
|
|
|
|
case 2:
|
|
status.bottomBtn2S = !status.bottomBtn2S
|
|
$(el).css({
|
|
backgroundImage: status.bottomBtn2S ? 'url("../../board/img/btn1bg.png")' : 'url("../../board/img/btnbg.png")'
|
|
})
|
|
break
|
|
|
|
case 3:
|
|
status.bottomBtn3S = !status.bottomBtn3S
|
|
$(el).css({
|
|
backgroundImage: status.bottomBtn3S ? 'url("../../board/img/btn1bg.png")' : 'url("../../board/img/btnbg.png")'
|
|
})
|
|
break
|
|
|
|
}
|
|
}
|
|
const Modal1Search = () => {
|
|
let params = {}
|
|
if ($('#startTime1').val()) {
|
|
params.beginTime = new Date($('#startTime1').val())
|
|
}
|
|
if ($('#endTime1').val()) {
|
|
params.endTime = new Date($('#endTime1').val())
|
|
}
|
|
params.timeInterval=$('#timeInterval1').val();
|
|
$.get(ctx + 'broad/home/queryParamData', params, (e) => {
|
|
if (e.data.length > 0) {
|
|
$('#chart1').remove()
|
|
$("#modal1 .centerModal .centerModalInfo").append('<div class="chart1" id="chart1"></div>')
|
|
chart = null
|
|
chart1(document.getElementById('chart1'), e.data)
|
|
} else {
|
|
$("#chart1").html(`<div style="width: 100%;height: 100%;text-align: center;line-height:35vw;color: #fff ">暂无数据</div>`)
|
|
}
|
|
})
|
|
}
|
|
const Modal2Search = () => {
|
|
let params = {}
|
|
params.timeInterval=$('#timeInterval').val();
|
|
if ($('#startTime2').val()) {
|
|
params.beginTime = new Date($('#startTime2').val())
|
|
}
|
|
if ($('#endTime2').val()) {
|
|
params.endTime = new Date($('#endTime2').val())
|
|
}
|
|
console.log(params)
|
|
$.get(ctx + 'broad/home/queryParamData', params, (e) => {
|
|
$("#chart2").empty()
|
|
tableHeadChangeArr =[
|
|
"采集时间",
|
|
"一体机A转速",
|
|
"一体机A电流",
|
|
"一体机A机头压力",
|
|
"一体机A机头温度",
|
|
"一体机A切刀电流",
|
|
"一体机A切刀转速"
|
|
]
|
|
if (e.data.length > 0) {
|
|
dynamicTable({
|
|
el: '#chart2',
|
|
rowNum: 10,
|
|
timeout: 5,
|
|
header: ['序号', '<input type="checkbox" checked onchange="tableHeadChange(\'采集时间\',this)"/> 采集时间', '<input type="checkbox" checked onchange="tableHeadChange(\'一体机A转速\',this)"/> 一体机A转速', '<input type="checkbox" checked onchange="tableHeadChange(\'一体机A电流\',this)"/> 一体机A电流', '<input type="checkbox" checked onchange="tableHeadChange(\'一体机A机头压力\',this)"/> 一体机A机头压力', '<input type="checkbox" checked onchange="tableHeadChange(\'一体机A机头温度\',this)"/> 一体机A机头温度', '<input type="checkbox" checked onchange="tableHeadChange(\'一体机A切刀电流\',this)"/> 一体机A切刀电流', '<input type="checkbox" checked onchange="tableHeadChange(\'一体机A切刀转速\',this)"/> 一体机A切刀转速'],
|
|
data: e.data.map((val, i) => [i, val.time, val['一体机A转速'], val['一体机A电流'], val['一体机A机头压力'], val['一体机A机头温度'], val['一体机A切刀电流'], val['一体机A切刀转速']]),
|
|
index: true,
|
|
fontColor: '#03BCD4 ',
|
|
indexBGC: '#86F3FF',
|
|
headerBGC: '#092A77',
|
|
oddRowBGC: '#092A77',
|
|
evenRowBGC: '#092A77',
|
|
})
|
|
} else {
|
|
$("#chart2").html(`<div style="width: 100%;height: 100%;text-align: center;line-height:35vw;color: #fff ">暂无数据</div>`)
|
|
}
|
|
})
|
|
}
|
|
const derive = () => {
|
|
let canvasNode = $("#chart1 div canvas")[0]
|
|
console.log(canvasNode)
|
|
let canvasURL = canvasNode.toDataURL("image/png");
|
|
let link = document.createElement("a");
|
|
link.setAttribute("href", canvasURL);
|
|
link.setAttribute("download", "picture.png");
|
|
link.click();
|
|
}
|
|
const derive2 = () => {
|
|
let params = {
|
|
colms:tableHeadChangeArr.toString()
|
|
}
|
|
|
|
params.timeInterval=$('#timeInterval').val();
|
|
if ($('#startTime2').val()) {
|
|
params.beginTime = new Date($('#startTime2').val())
|
|
}
|
|
if ($('#endTime2').val()) {
|
|
params.endTime = new Date($('#endTime2').val())
|
|
}
|
|
if ($('#name').val()) {
|
|
params.name = $('#name').val()
|
|
}
|
|
if ($('#type').val()) {
|
|
params.type = $('#type').val()
|
|
}
|
|
$.post(ctx + 'broad/home/exportParamList', params, (e) => {
|
|
window.location.href = ctx + "common/download?fileName=" + encodeURI(e.msg) + "&delete=" + true;
|
|
})
|
|
}
|
|
</script>
|
|
<div>
|
|
<div class="topBtn" onclick="routerSkip('board/board2')" style="left: 8vw;">首页</div>
|
|
<div class="topBtn topBtnClick" onclick="routerSkip('board/board1')" style="left: 16.5vw;">60型一体机A</div>
|
|
<div class="topBtn" onclick="routerSkip('board/board3')" style="left: 25vw;">60型一体机B</div>
|
|
<!-- <div class="topBtn" style="left: 25vw;">60型一体机</div>-->
|
|
<div class="topBtn" onclick="routerSkip('board/video')" style="left: 71vw;">视频展示</div>
|
|
<div class="topBtn" onclick="routerSkip('board/doc')" style="left: 83vw;">文档归档</div>
|
|
<div class="topBtn" id="toggleInfoBtn" onclick="toggleInfo()" style="left: 83vw;top:13%">设备介绍</div>
|
|
|
|
<div class="bottomBtn" id="bottomBtn1" onclick="bottomBtnInfo(1,this)" style="left: 22.5vw;">历史趋势</div>
|
|
<div class="bottomBtn" id="bottomBtn2" onclick="bottomBtnInfo(2,this)" style="left: 42.5vw;">数据记录</div>
|
|
<div class="bottomBtn" id="bottomBtn3" onclick="bottomBtnInfo(3,this)" style="left: 62.5vw;">实时监控</div>
|
|
|
|
<div class="centerImg">
|
|
|
|
</div>
|
|
|
|
<div id="rightInfo" style="display: none">
|
|
<div class="winDiv">
|
|
<div class="title">基本信息</div>
|
|
<div class="title1">设备描述:</div>
|
|
<div class="bg1">
|
|
</div>
|
|
<div class="title2">技术参数:</div>
|
|
<div class="bg2">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="statusD">
|
|
</div>
|
|
<div id="centerInfoDiv" class="centerInfoDiv" >
|
|
|
|
</div>
|
|
|
|
<div class="eqModal" id="eqModal">
|
|
<div class="shade" onclick="hideModal1()"></div>
|
|
<div class="centerModal"></div>
|
|
</div>
|
|
|
|
<div id="modal1" style="display:none;">
|
|
<div class="shade" onclick="hideModal(1,this)"></div>
|
|
<div class="centerModal">
|
|
|
|
<div class="centerModalInfo">
|
|
<div style="display: inline-block">
|
|
<span style="font-size: 1vw;color: #fff">时间间隔:</span>
|
|
<select id="timeInterval1" class="form-control m-b" style="width: 10vw;height:2vw;display: inline-block"
|
|
th:with="type=${@dict.getType('time_interval')}">
|
|
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
|
|
</select>
|
|
</div>
|
|
<span style="font-size: 1vw;color: #fff">起止时间: </span>
|
|
<input class="form-control" id="startTime1" placeholder="开始时间"
|
|
style="width: 10vw;height:2vw;display: inline-block"
|
|
type="text">
|
|
<span>-</span>
|
|
<input class="form-control" id="endTime1" placeholder="结束时间"
|
|
style="width: 10vw;height:2vw;display: inline-block"
|
|
type="text">
|
|
<a class="btn btn-primary btn-rounded btn-sm" onclick="Modal1Search()"><i class="fa fa-search"></i> 搜索</a>
|
|
<a class="btn btn-warning btn-rounded btn-sm" onclick="derive()"><i class="fa fa-download"></i> 导出</a>
|
|
</div>
|
|
<div class="chart1" id="chart1"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="modal2" style="display:none;">
|
|
<div class="shade" onclick="hideModal(2,this)"></div>
|
|
<div class="centerModal">
|
|
<div class="centerModalInfo">
|
|
<div style="position:relative;">
|
|
<div style="display: inline-block">
|
|
<span style="font-size: 1vw;color: #fff">客户名称: </span>
|
|
<input id="name" name="loginName" style="width: 10vw;height:2vw;display: inline-block" type="text"/>
|
|
</div>
|
|
<div style="display: inline-block">
|
|
<span style="font-size: 1vw;color: #fff">实验胶种: </span>
|
|
<input id="type" name="loginName" style="width: 10vw;height:2vw;display: inline-block" type="text"/>
|
|
</div>
|
|
|
|
<div style="display: inline-block">
|
|
<span style="font-size: 1vw;color: #fff">起止时间: </span>
|
|
<input class="form-control" id="startTime2" placeholder="开始时间"
|
|
style="width: 8vw;height:2vw;display: inline-block"
|
|
type="text">
|
|
<span>-</span>
|
|
<input class="form-control" id="endTime2" placeholder="结束时间"
|
|
style="width: 8vw;height:2vw;display: inline-block"
|
|
type="text">
|
|
</div>
|
|
<div style="display: inline-block">
|
|
<span style="font-size: 1vw;color: #fff">时间间隔:</span>
|
|
<select id="timeInterval" class="form-control m-b" style="width: 10vw;height:2vw;display: inline-block"
|
|
th:with="type=${@dict.getType('time_interval')}">
|
|
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
|
|
</select>
|
|
</div>
|
|
<a class="btn btn-primary btn-rounded btn-sm" onclick="Modal2Search()"><i
|
|
class="fa fa-search"></i> 搜索</a>
|
|
<a class="btn btn-warning btn-rounded btn-sm" onclick="derive2()"><i class="fa fa-download"></i> 导出</a>
|
|
</div>
|
|
<div class="chart1" id="chart2" style="position:relative;top:2%;left: 0;height: 92%"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="modal3" style="display:none;">
|
|
<div class="shade" onclick="hideModal(3,this)"></div>
|
|
<div class="centerModal">
|
|
<div class="monitoring" id="monitoring">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="centerModal1" id="centerModal1" style="display: none">
|
|
<iframe frameborder="0" id="monitoringIframe1" src="monitoring1" style="width: 100%;height: 100%"></iframe>
|
|
</div>
|
|
</div>
|
|
<th:block th:include="include :: footer"/>
|
|
<script src="../../board/board.js"></script>
|
|
<script>
|
|
|
|
layui.use('laydate', function () {
|
|
var laydate = layui.laydate;
|
|
|
|
laydate.render({
|
|
elem: '#startTime1',
|
|
type: 'datetime',
|
|
trigger: 'click'
|
|
});
|
|
|
|
laydate.render({
|
|
elem: '#endTime1',
|
|
type: 'datetime',
|
|
trigger: 'click'
|
|
});
|
|
|
|
laydate.render({
|
|
elem: '#startTime2',
|
|
type: 'datetime',
|
|
trigger: 'click'
|
|
});
|
|
|
|
laydate.render({
|
|
elem: '#endTime2',
|
|
type: 'datetime',
|
|
trigger: 'click'
|
|
});
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|