添加一体机B

master
夜笙歌 9 months ago
parent 9f5e25589e
commit f6f6ce4b15

@ -18,6 +18,11 @@ public class BroadController {
{
return prefix + "/board1";
}
@GetMapping("/board3")
public String board3()
{
return prefix + "/board3";
}
@GetMapping("/board2")
public String board2()

@ -1,4 +1,6 @@
$(() => {
let name = '60型一体机A'
setTimeout(() => {
$("#centerModal1").show()
setTimeout(() => {
@ -7,14 +9,14 @@ $(() => {
}, 1000)
// tableAnimation('#chart2')
$.get(ctx + 'broad/home/deviceInfo', {}, (e) => {
$.get(ctx + 'broad/home/deviceInfo', {name}, (e) => {
let data = e.data[0]
$('.bg1').html(`<p>${data.deviceFunction}</p>`)
$('.bg2').html(`<p>${data.deviceParam}</p>`)
})
$.get(ctx + 'broad/home/queryParam', {}, (e) => {
$.get(ctx + 'broad/home/queryParam', {name}, (e) => {
let enumArr = {
'转速': ' rpm',
@ -53,7 +55,7 @@ $(() => {
})
$.get(ctx + 'broad/home/queryDeviceState', {}, (data) => {
$.get(ctx + 'broad/home/queryDeviceState', {name}, (data) => {
let imgSrc = (name) => {
switch (name) {
case '运行':

@ -1,6 +1,5 @@
$(() => {
let VH =(window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight)/100;
let itemNum = 0
let fun = () =>{
let width = $('#bottom .info .item:eq(0)').outerWidth() + 18

@ -0,0 +1,275 @@
body {
background-image: url("../../board/img/bg1.png");
background-size: 100% 100%;
background-repeat: no-repeat;
}
.topBtn {
background-image: url("../../board/img/click1.png");
background-size: 100% 100%;
background-repeat: no-repeat;
width: 7.5vw;
height: 2.5vw;
position: absolute;
top: 6%;
line-height: 2.5vw;
font-size: 1.2vw;
text-align: center;
color: #aaa;
}
.topBtnClick {
background-image: url("../../board/img/click.png");
color: #fff;
}
.bottomBtn {
background-image: url("../../board/img/btnbg.png");
background-size: 100% 100%;
background-repeat: no-repeat;
width: 15vw;
height: 3vw;
position: absolute;
bottom: 2.8vw;
line-height: 3vw;
font-size: 1.2vw;
text-align: center;
color: #aaa;
}
.bottomBtnClick {
background-image: url("../../board/img/btn1bg.png");
color: #fff;
}
.centerImg {
background-image: url("../../board/img/equipment.png");
background-size: 100% 100%;
background-repeat: no-repeat;
position: absolute;
top: 45%;
left: 50%;
width: 57vw;
height: 31vw;
transform: translate(-50%, -50%);
}
.winDiv {
background-image: url("../../board/img/winBG.png");
background-size: 100% 100%;
background-repeat: no-repeat;
position: absolute;
right: 7.5vw;
top: 19%;
width: 16vw;
height: 32.9vw;
}
.winDiv p {
margin: 0;
}
.winDiv .title {
position: absolute;
font-size: 1vw;
left: 20%;
top: 6%;
color: #ddd;
}
.winDiv .title1 {
position: absolute;
font-size: 1vw;
left: 10%;
top: 15%;
color: #fff;
}
.winDiv .bg1 {
position: absolute;
font-size: 0.8vw;
left: 7%;
top: calc(15% + 1.5vw);
color: #4888bf;
width: 87%;
height: 45%;
border-radius: 3px;
border: 2px solid #3f65a1;
padding: 1%;
overflow: auto;
}
.winDiv .title2 {
position: absolute;
font-size: 1vw;
left: 10%;
top: 67%;
color: #fff;
}
.winDiv .bg2 {
position: absolute;
font-size: 0.8vw;
left: 7%;
top: calc(67% + 1.5vw);
color: #4888bf;
width: 87%;
height: 26%;
border-radius: 3px;
border: 2px solid #3f65a1;
padding: 1%;
overflow: auto;
}
.status {
/*background-image: url("../../board/img/warnBg.png");*/
background-size: 100% 100%;
background-repeat: no-repeat;
position: absolute;
width: 10vw;
height: 4vw;
transform: translateX(-50%);
}
.status .icon {
background-image: url("../../board/img/green.png");
background-size: 100% 100%;
background-repeat: no-repeat;
position: absolute;
transform: translate(-50%, -50%);
top: 50%;
left: 20%;
width: 30px;
height: 30px;
}
.status span {
width: 20vw;
font-size: 1vw;
color: #fff;
position: absolute;
transform: translateY(-50%);
top: 50%;
left: calc(20% + 35px);
}
.centerInfo {
position: absolute;
transform: translate(-10px, calc(-100% + 10px));
width: 10vw;
height: 10vw;
}
.centerInfo .win {
background-image: url("../../board/img/equipmentBg.png");
background-size: 100% 100%;
background-repeat: no-repeat;
position: absolute;
top: 10%;
left: 0;
width: 9vw;
height: 5.35vw;
transform: translateX(-50%);
}
.centerInfo .win .title {
position: absolute;
transform: translateY(-50%);
top: 16%;
left: 10%;
color: #fff;
font-size: 0.8vw;
}
.centerInfo .win .span1 {
position: absolute;
transform: translateY(-50%);
top: 50%;
left: 10%;
color: #fff;
font-size: 0.8vw;
}
.centerInfo .win .span2 {
position: absolute;
transform: translateY(-50%);
top: 80%;
left: 10%;
color: #fff;
font-size: 0.8vw;
}
.centerInfo .icon {
background-image: url("../../board/img/circle.png");
background-size: 100% 100%;
background-repeat: no-repeat;
position: absolute;
bottom: 0%;
left: 0%;
width: 20px;
height: 20px;
}
.eqModal {
display: none;
}
.shade {
position: absolute;
top: 0%;
left: 0%;
width: 100vw;
height: 100vh;
background-color: #00000066;
z-index: 100;
}
.centerModal {
background-image: url("../../board/img/bigBg.png");
background-size: 100% 100%;
background-repeat: no-repeat;
position: absolute;
transform: translate(-50%, -50%);
top: 50%;
left: 50%;
width: 70vw;
height: 43.7vw;
z-index: 101;
}
.centerModalInfo{
position: absolute;
top: 10%;
left: 4%;
width: 94%;
height: 87%;
overflow: hidden;
}
.chart1{
position: absolute;
top: 17%;
left: 4%;
width: 94%;
height: 80%;
}
.monitoring{
position: absolute;
top: 9%;
left: 4%;
width: 92%;
height: 90%;
}
.centerModal1 {
opacity: 0;
position: absolute;
transform: translate(-50%, -50%);
top: 50%;
left: 16%;
width: 18vw;
height: 10.125vw;
z-index: 101;
}
.plugin{
width: 100%;
height: 100%;
}

@ -0,0 +1,245 @@
$(() => {
let name = '60型一体机B'
setTimeout(() => {
$("#centerModal1").show()
setTimeout(() => {
document.getElementById("monitoringIframe1").contentWindow.login()
}, 1000)
}, 1000)
// tableAnimation('#chart2')
$.get(ctx + 'broad/home/deviceInfo', {name}, (e) => {
let data = e.data[0]
$('.bg1').html(`<p>${data.deviceFunction}</p>`)
$('.bg2').html(`<p>${data.deviceParam}</p>`)
})
$.get(ctx + 'broad/home/queryParam', {name}, (e) => {
let enumArr = {
'转速': ' rpm',
'电流': ' A',
'温度': ' ℃',
'压力': ' MPa',
}
let data = e.data
let arrNum = Array.from(new Set([...e.data.map(e => e.order_by)]))
let arr = arrNum.map(e => {
let data1 = data.filter(val => val.order_by === e)
let obj = {}
data1.forEach((e, i) => {
obj.left = e.location_x + '%'
obj.top = e.location_y + '%'
obj.name = e.name
obj['data' + (i + 1)] = e.pointname
obj['num' + (i + 1)] = e.data
obj['unit' + (i + 1)] = enumArr[e.pointname]
})
return obj
})
arr.forEach(val => {
let html = `
<div class="centerInfo" style="top: ${val.top};left:${val.left}">
<div class="win" style="display: none">
<div class="title">${val.name}</div>
<div class="span1">${val.data1}: ${val.num1 || 0}${val.unit1}</div>
<div class="span2">${val.data2}: ${val.num2 || 0}${val.unit2}</div>
</div>
<div class="icon" onclick="show(this)"></div>
</div>
`
$("#centerInfoDiv").append(html)
})
})
$.get(ctx + 'broad/home/queryDeviceState', {name}, (data) => {
let imgSrc = (name) => {
switch (name) {
case '运行':
return 'green'
case '停机':
return 'yellow'
case '故障':
return 'red'
}
}
let po = [
{
top: 33,
left: 73
},
{
top: 33,
left: 38
},
]
console.log(data)
let html = ``
po.forEach((e, i) => {
html += `<div class="status" style="top:${e.top}%;left:${e.left}%">
<div class="icon" style="background-image: url('../../board/img/${imgSrc(data.data[i].state)}.png');"></div>
<!-- <span>${data.data[i].state}</span>-->
</div>
`
})
$("#statusD").html(html)
})
})
let chart = null
let chart1 = (el, data) => {
console.log('chart', chart)
let xData = Object.keys(data?.[0] || {})?.filter(e => e !== 'time') || []
let series = xData.map(e => {
let dataA = data?.map(val => val[e]) || []
let isBig = false
dataA.forEach(e => {
if (e > 40) {
isBig = true
}
})
return {
name: e,
type: "line",
smooth: true,
symbol: "circle",
yAxisIndex: isBig ? 1 : 0,
symbolSize: 5,
showSymbol: false,
data: dataA,
}
})
if (!chart) {
chart = echarts.init(el)
}
console.log('chart', chart)
let option = {
tooltip: {
trigger: "axis",
axisPointer: {
lineStyle: {
color: "#57617B",
},
},
},
toolbox: {
show: true,
feature: {
dataZoom: {show: false},
dataView: {show: false},
magicType: {show: false},
restore: {show: false},
saveAsImage: {}
}
},
legend: {
icon: "rect",
itemWidth: 14,
itemHeight: 5,
itemGap: 13,
data: xData,
right: "4%",
textStyle: {
fontSize: 12,
color: "#F1F1F3",
},
},
grid: {
left: "3%",
right: "4%",
bottom: "3%",
containLabel: true,
},
xAxis: [
{
type: "category",
boundaryGap: false,
axisLine: {
lineStyle: {
color: "#57617B",
},
},
data: data.map(e => e.time),
},
],
yAxis: [
{
type: "value",
name: "转速n/s",
axisTick: {
show: false,
},
axisLine: {
lineStyle: {
color: "#57617B",
},
},
axisLabel: {
margin: 10,
textStyle: {
fontSize: 14,
},
},
splitLine: {
lineStyle: {
color: "#57617B",
},
},
},
{
type: "value",
name: "转速n/s",
axisTick: {
show: false,
},
axisLine: {
lineStyle: {
color: "#57617B",
},
},
axisLabel: {
margin: 10,
textStyle: {
fontSize: 14,
},
},
splitLine: {
lineStyle: {
color: "#57617B",
},
},
},
],
series: series,
};
chart.setOption(option)
}
const show = (e) => {
let node = $(e).prev()
node.show()
setTimeout(() => {
node.hide()
}, 1000 * 3)
}
let tableHeadChangeArr = [
"采集时间",
"一体机A转速",
"一体机A电流",
"一体机A机头压力",
"一体机A机头温度",
"一体机A切刀电流",
"一体机A切刀转速"
]
const tableHeadChange = (e, val) => {
if ($(val).is(":checked")) {
tableHeadChangeArr.push(e)
} else {
tableHeadChangeArr = tableHeadChangeArr.filter(v => v !== e)
}
console.log(tableHeadChangeArr)
}

@ -10,14 +10,14 @@ new Vue({
treeId: null,
tableData: [],
tableIds: [],
defaultCheckedKeys:[]
defaultCheckedKeys: []
};
},
async mounted() {
await this.getTree()
let thisId = location.href?.split('?')?.[1]?.split('=')?.[1]
if(thisId){
let thisTreeItem = this.treeData.find(e=>e.id.toString() === thisId)
if (thisId) {
let thisTreeItem = this.treeData.find(e => e.id.toString() === thisId)
this.handleNodeClick(thisTreeItem)
this.defaultCheckedKeys = [+thisId]
console.log(this.defaultCheckedKeys)

@ -184,7 +184,8 @@
</script>
<div>
<div class="topBtn" onclick="routerSkip('board/board2')" style="left: 8vw;">首页</div>
<div class="topBtn topBtnClick" onclick="routerSkip('board/board1')" style="left: 18.5vw;">60型一体机</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>

@ -19,8 +19,8 @@
</script>
<div>
<div class="topBtn topBtnClick" onclick="routerSkip('board/board2')" style="left: 8vw;">首页</div>
<div class="topBtn" onclick="routerSkip('board/board1')" style="left: 18.5vw;">60型一体机</div>
<!-- <div class="topBtn" style="left: 25vw;">60型一体机</div>-->
<div class="topBtn" 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" onclick="routerSkip('board/video')" style="left: 71vw;">视频展示</div>
<div class="topBtn" onclick="routerSkip('board/doc')" style="left: 83vw;">文档归档</div>

@ -0,0 +1,352 @@
<!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 " onclick="routerSkip('board/board1')" style="left: 16.5vw;">60型一体机A</div>
<div class="topBtn topBtnClick" onclick="routerSkip('board/board3')" style="left: 25vw;">60型一体机B</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 id="centerInfoDiv">
<!-- <div class="centerInfo" onclick="showModal()" style="top: 35%;left:40%">-->
<!-- <div class="win">-->
<!-- <div class="title">位置1</div>-->
<!-- <div class="span1">转速: 50n/s</div>-->
<!-- <div class="span2">电流: 45A</div>-->
<!-- </div>-->
<!-- <div class="icon"></div>-->
<!-- </div>-->
<!-- <div class="centerInfo" onclick="showModal()" style="top: 45%;left:71%">-->
<!-- <div class="win">-->
<!-- <div class="title">位置1</div>-->
<!-- <div class="span1">转速: 50n/s</div>-->
<!-- <div class="span2">电流: 45A</div>-->
<!-- </div>-->
<!-- <div class="icon"></div>-->
<!-- </div>-->
</div>
</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="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>&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 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>&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: 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/board3.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>

@ -19,8 +19,8 @@
</script>
<div>
<div class="topBtn" onclick="routerSkip('board/board2')" style="left: 8vw;">首页</div>
<div class="topBtn" onclick="routerSkip('board/board1')" style="left: 18.5vw;">60型一体机</div>
<!-- <div class="topBtn" style="left: 25vw;">60型一体机</div>-->
<div class="topBtn " 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 " onclick="routerSkip('board/video')" style="left: 71vw;">视频展示</div>
<div class="topBtn topBtnClick" onclick="routerSkip('board/doc')" style="left: 83vw;">文档归档</div>

@ -20,8 +20,8 @@
</script>
<div>
<div class="topBtn" onclick="routerSkip('board/board2')" style="left: 8vw;">首页</div>
<div class="topBtn " onclick="routerSkip('board/board1')" style="left: 18.5vw;">60型一体机</div>
<!-- <div class="topBtn" style="left: 25vw;">60型一体机</div>-->
<div class="topBtn " 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 topBtnClick" onclick="routerSkip('board/video')" style="left: 71vw;">视频展示</div>
<div class="topBtn" onclick="routerSkip('board/doc')" style="left: 83vw;">文档归档</div>

Loading…
Cancel
Save