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.

469 lines
17 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 pageSize = 10
let pageNum = 1
let pagesNum = 0
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")'
})
pageSize = 10
pageNum = 1
pagesNum = 0
$("#chart2").empty()
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 = $.common.dateFormat(new Date($('#startTime1').val()), 'yyyy-MM-dd HH-mm-ss');
}
if ($('#endTime1').val()) {
params.endTime = $.common.dateFormat(new Date($('#endTime1').val()), 'yyyy-MM-dd HH-mm-ss');
}
params.timeInterval = $('#timeInterval1').val();
$.get(ctx + 'broad/home/queryParamListA', params, (e) => {
let data = e.data
if (data.length > 0) {
$('#chart1').remove()
$("#modal1 .centerModal .centerModalInfo").append('<div class="chart1" id="chart1"></div>')
chart = null
chart1(document.getElementById('chart1'), data)
} else {
$("#chart1").html(`<div style="width: 100%;height: 100%;text-align: center;line-height:35vw;color: #fff ">暂无数据</div>`)
}
})
}
const Modal2SearchReq = async (params) => {
await $.get(ctx + 'broad/home/queryParamDataA', {...params, pageSize, pageNum}, (e) => {
pagesNum = Math.ceil(e.total / 10)
let data = e.rows
$("#chart2").empty()
tableHeadChangeArr = [
"采集时间",
"一体机A转速",
"一体机A电流",
"一体机A机头压力",
"一体机A机头温度",
"一体机A切刀电流",
"一体机A切刀转速"
]
if (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: data.map((val, i) => [i + 1, val.recordTime, val['speedA'],
val['currentA'], val['pressureHead'], val['tempHead'], val['currentCutter'], val['speedCutter']]),
index: true,
fontColor: '#03BCD4',
indexBGC: '#86F3FF',
headerBGC: '#092A77',
oddRowBGC: '#092A77',
evenRowBGC: '#092A77',
})
let num1 = e.total / 10
let arr = []
if (num1 < 6) {
arr = new Array(Math.ceil(e.total / 10)).fill(1).map((i, k) => {
return k + 1
})
} else {
if (pageNum <= 3) {
arr = [1, 2, 3, '...', num1 - 1, num1]
} else {
if (pageNum < num1 - 3) {
arr = ['...', pageNum - 1, pageNum, pageNum + 1, '...', num1]
}
if (pageNum === num1 - 3) {
arr = ['...', pageNum - 1, pageNum, pageNum + 1, num1 - 1, num1]
}
if (pageNum === num1 - 2) {
arr = ['...', pageNum - 2, pageNum - 1, pageNum, num1 - 1, num1]
}
if (pageNum === num1 - 1) {
arr = ['...', pageNum - 3, pageNum - 2, pageNum - 1, pageNum, pageNum + 1]
}
if (pageNum === num1) {
arr = ['...', pageNum - 4, pageNum - 3, pageNum - 2, pageNum - 1, pageNum]
}
}
}
$("#Pagination").empty()
$("#Pagination").append(`
<li onclick="pageClick(this,1)">
<a aria-label="Previous" href="#">
<span aria-hidden="true">首页</span>
</a>
</li>
<li onclick="pre()">
<a aria-label="Previous" href="#">
<span aria-hidden="true">&laquo;</span>
</a>
</li>
`)
arr.map((i, k) => {
$("#Pagination").append(`
<li class="page" onclick="pageClick(this,${i})"><a href="#">${i}</a></li>
`)
})
$("#Pagination").append(`
<li onclick="Next()">
<a aria-label="Next" href="#">
<span aria-hidden="true">&raquo;</span>
</a>
</li>
<li onclick="pageClick(this,${num1}})">
<a aria-label="Previous" href="#">
<span aria-hidden="true">首页</span>
</a>
</li>
`)
} else {
$("#chart2").html(`<div style="width: 100%;height: 100%;text-align: center;line-height:35vw;color: #fff ">暂无数据</div>`)
}
})
}
const Modal2Search = async () => {
let params = {}
params.timeInterval = $('#timeInterval').val();
if ($('#startTime2').val()) {
params.beginTime = $.common.dateFormat(new Date($('#startTime2').val()), 'yyyy-MM-dd HH-mm-ss');
}
if ($('#endTime2').val()) {
params.endTime = $.common.dateFormat(new Date($('#endTime2').val()), 'yyyy-MM-dd HH-mm-ss');
}
await Modal2SearchReq(params)
$($(".page")[0]).addClass('active')
$($(".page")[0]).siblings().removeClass('active')
}
const pageClick = (e, i) => {
$(e).addClass('active')
$(e).siblings().removeClass('active')
pageNum = i
let params = {}
params.timeInterval = $('#timeInterval').val();
if ($('#startTime2').val()) {
params.beginTime = $.common.dateFormat(new Date($('#startTime2').val()), 'yyyy-MM-dd HH-mm-ss');
}
if ($('#endTime2').val()) {
params.endTime = $.common.dateFormat(new Date($('#endTime2').val()), 'yyyy-MM-dd HH-mm-ss');
}
Modal2SearchReq(params)
}
const pre = () => {
pageNum -= 1
if (pageNum < 1) {
pageNum = 1
}
let params = {}
params.timeInterval = $('#timeInterval').val();
if ($('#startTime2').val()) {
params.beginTime = $.common.dateFormat(new Date($('#startTime2').val()), 'yyyy-MM-dd HH-mm-ss');
}
if ($('#endTime2').val()) {
params.endTime = $.common.dateFormat(new Date($('#endTime2').val()), 'yyyy-MM-dd HH-mm-ss');
}
Modal2SearchReq(params)
}
const Next = () => {
pageNum += 1
if (pageNum > pagesNum) {
pageNum = pagesNum
}
let params = {}
params.timeInterval = $('#timeInterval').val();
if ($('#startTime2').val()) {
params.beginTime = $.common.dateFormat(new Date($('#startTime2').val()), 'yyyy-MM-dd HH-mm-ss');
}
if ($('#endTime2').val()) {
params.endTime = $.common.dateFormat(new Date($('#endTime2').val()), 'yyyy-MM-dd HH-mm-ss');
}
Modal2SearchReq(params)
}
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 = $.common.dateFormat(new Date($('#startTime2').val()), 'yyyy-MM-dd HH-mm-ss');
}
if ($('#endTime2').val()) {
params.endTime = $.common.dateFormat(new Date($('#endTime2').val()), 'yyyy-MM-dd HH-mm-ss');
}
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 class="centerInfoDiv" id="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 class="form-control m-b" id="timeInterval1" 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>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="derive()"><i class="fa fa-download"></i>&nbsp;导出</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 class="form-control m-b" id="timeInterval" 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>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="derive2()"><i class="fa fa-download"></i>&nbsp;导出</a>
</div>
<div class="chart1" id="chart2" style="position:relative;top:2%;left: 0;height: 80%"></div>
<nav aria-label="Page navigation">
<ul class="pagination pagination-lg" id="Pagination">
</ul>
</nav>
</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>