From f6f6ce4b15eebac2de79ce11b59915436be38d33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=9C=E7=AC=99=E6=AD=8C?= <2277317060@qq.com> Date: Mon, 15 Jul 2024 14:27:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=80=E4=BD=93=E6=9C=BAB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/broad/BroadController.java | 5 + .../src/main/resources/static/board/board.js | 8 +- .../src/main/resources/static/board/board2.js | 1 - .../main/resources/static/board/board3.css | 275 ++++++++++++++ .../src/main/resources/static/board/board3.js | 245 ++++++++++++ .../src/main/resources/static/board/doc.js | 6 +- .../resources/templates/board/board1.html | 3 +- .../resources/templates/board/board2.html | 4 +- .../resources/templates/board/board3.html | 352 ++++++++++++++++++ .../main/resources/templates/board/doc.html | 4 +- .../main/resources/templates/board/video.html | 4 +- 11 files changed, 893 insertions(+), 14 deletions(-) create mode 100644 haiwei-admin/src/main/resources/static/board/board3.css create mode 100644 haiwei-admin/src/main/resources/static/board/board3.js create mode 100644 haiwei-admin/src/main/resources/templates/board/board3.html diff --git a/haiwei-admin/src/main/java/com/haiwei/web/controller/broad/BroadController.java b/haiwei-admin/src/main/java/com/haiwei/web/controller/broad/BroadController.java index 6fc0c92..6185425 100644 --- a/haiwei-admin/src/main/java/com/haiwei/web/controller/broad/BroadController.java +++ b/haiwei-admin/src/main/java/com/haiwei/web/controller/broad/BroadController.java @@ -18,6 +18,11 @@ public class BroadController { { return prefix + "/board1"; } + @GetMapping("/board3") + public String board3() + { + return prefix + "/board3"; + } @GetMapping("/board2") public String board2() diff --git a/haiwei-admin/src/main/resources/static/board/board.js b/haiwei-admin/src/main/resources/static/board/board.js index 58631f7..df916b7 100644 --- a/haiwei-admin/src/main/resources/static/board/board.js +++ b/haiwei-admin/src/main/resources/static/board/board.js @@ -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 '运行': diff --git a/haiwei-admin/src/main/resources/static/board/board2.js b/haiwei-admin/src/main/resources/static/board/board2.js index 82b8395..d523a87 100644 --- a/haiwei-admin/src/main/resources/static/board/board2.js +++ b/haiwei-admin/src/main/resources/static/board/board2.js @@ -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 diff --git a/haiwei-admin/src/main/resources/static/board/board3.css b/haiwei-admin/src/main/resources/static/board/board3.css new file mode 100644 index 0000000..edc93b7 --- /dev/null +++ b/haiwei-admin/src/main/resources/static/board/board3.css @@ -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%; +} diff --git a/haiwei-admin/src/main/resources/static/board/board3.js b/haiwei-admin/src/main/resources/static/board/board3.js new file mode 100644 index 0000000..162b78a --- /dev/null +++ b/haiwei-admin/src/main/resources/static/board/board3.js @@ -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) +} diff --git a/haiwei-admin/src/main/resources/static/board/doc.js b/haiwei-admin/src/main/resources/static/board/doc.js index 70cc723..a5d076b 100644 --- a/haiwei-admin/src/main/resources/static/board/doc.js +++ b/haiwei-admin/src/main/resources/static/board/doc.js @@ -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) diff --git a/haiwei-admin/src/main/resources/templates/board/board1.html b/haiwei-admin/src/main/resources/templates/board/board1.html index 26d9374..dd29275 100644 --- a/haiwei-admin/src/main/resources/templates/board/board1.html +++ b/haiwei-admin/src/main/resources/templates/board/board1.html @@ -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> diff --git a/haiwei-admin/src/main/resources/templates/board/board2.html b/haiwei-admin/src/main/resources/templates/board/board2.html index fc4ea48..4e32527 100644 --- a/haiwei-admin/src/main/resources/templates/board/board2.html +++ b/haiwei-admin/src/main/resources/templates/board/board2.html @@ -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> diff --git a/haiwei-admin/src/main/resources/templates/board/board3.html b/haiwei-admin/src/main/resources/templates/board/board3.html new file mode 100644 index 0000000..326333e --- /dev/null +++ b/haiwei-admin/src/main/resources/templates/board/board3.html @@ -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> 搜索</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/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> diff --git a/haiwei-admin/src/main/resources/templates/board/doc.html b/haiwei-admin/src/main/resources/templates/board/doc.html index b9acb4d..f951f33 100644 --- a/haiwei-admin/src/main/resources/templates/board/doc.html +++ b/haiwei-admin/src/main/resources/templates/board/doc.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> diff --git a/haiwei-admin/src/main/resources/templates/board/video.html b/haiwei-admin/src/main/resources/templates/board/video.html index f5eb788..063f7c8 100644 --- a/haiwei-admin/src/main/resources/templates/board/video.html +++ b/haiwei-admin/src/main/resources/templates/board/video.html @@ -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>