From b20d8e3e948b4a08c31d1136b81806599aa6c1ea Mon Sep 17 00:00:00 2001 From: cwchen <1048842385@qq.com> Date: Wed, 11 Dec 2024 17:37:03 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=91=E6=8E=A7=E8=A6=86=E7=9B=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bns/css/supplement/monitoring_coverage.css | 19 +- bns/css/table-common4.css | 306 ++++++++++++++++++ .../supplement/child/monitoring_fgd_list.html | 111 +++++++ .../supplement/child/monitoring_hyd_list.html | 111 +++++++ bns/html/supplement/monitoring_coverage.html | 3 +- bns/img/supplement/back_img2.png | Bin 0 -> 13595 bytes bns/js/public/openIframe.js | 42 +++ .../supplement/child/monitoring_fgd_list.js | 216 +++++++++++++ .../supplement/child/monitoring_hyd_list.js | 235 ++++++++++++++ bns/js/supplement/monitoring_coverage.js | 31 +- .../supplement/monitoring_coverage_echarts.js | 32 +- 11 files changed, 1092 insertions(+), 14 deletions(-) create mode 100644 bns/css/table-common4.css create mode 100644 bns/html/supplement/child/monitoring_fgd_list.html create mode 100644 bns/html/supplement/child/monitoring_hyd_list.html create mode 100644 bns/img/supplement/back_img2.png create mode 100644 bns/js/supplement/child/monitoring_fgd_list.js create mode 100644 bns/js/supplement/child/monitoring_hyd_list.js diff --git a/bns/css/supplement/monitoring_coverage.css b/bns/css/supplement/monitoring_coverage.css index 72dec43..b00dc83 100644 --- a/bns/css/supplement/monitoring_coverage.css +++ b/bns/css/supplement/monitoring_coverage.css @@ -204,4 +204,21 @@ html { color: #fff; font-size: 14px; text-align: center; -} \ No newline at end of file +} + +/*iframe 页面start*/ +body .my-skin.layui-layer, +body .my-skin .layui-layer-content { + background-color: transparent; +} + +.shadows { + background-color: transparent !important; + box-shadow: 0 0 0 rgba(0, 0, 0, 0) !important; +} + +body .my-skin.child-skin { + background: url("../../img/supplement/back_img2.png") no-repeat 0 0/100% 100% transparent; +} + +/*iframe 页面end*/ \ No newline at end of file diff --git a/bns/css/table-common4.css b/bns/css/table-common4.css new file mode 100644 index 0000000..9ea5351 --- /dev/null +++ b/bns/css/table-common4.css @@ -0,0 +1,306 @@ +/*表格/查询条件公共样式*/ +html, +body { + width: 100%; + height: 100%; + margin: 0; + padding: 0; + font-family: 'Alibaba PuHuiTi R'; +} + +.layout { + display: flex; + align-items: center; + justify-content: start; + box-sizing: border-box; +} + +.title { + width: 100%; + height: 64px; + color: #fff; + font-size: 20px; + padding: 1% 2%; + justify-content: space-between; +} + +#content { + width: 98.4%; + height: calc(100% - 85px); + margin: 0 0.8% 0 0.8%; +} + +.search-box { + width: 100%; + height: 100px; + display: flex; + align-items: center; +} + +/* 表格样式 start */ +.table-box { + width: 100%; + height: calc(100% - 200px); +} + +.table { + width: 100%; + overflow-x: auto; + cursor: pointer; + table-layout: fixed !important; + word-break: break-all; +} + +.layui-table-cell a { + color: #2F82FB; + font-size: 16px; + text-decoration: none; + cursor: pointer; +} + +.layui-table-cell div { + color: #D9D9D9; + margin: 0 6px; + vertical-align: top; + display: inline-block; +} + +.layui-table-view .layui-table th { + font-size: 18px; + color: #fff; + background-color: #072345; + letter-spacing: 1px; +} + +.layui-table-view .layui-table td { + font-size: 16px; + color: #fff; + letter-spacing: 1px; +} + +.layui-table thead tr { + background-color: #072345; + height: 50px; + border: 1px solid red !important; +} + +.layui-table-header { + background-color: transparent; +} + +.layui-table td, +.layui-table th, +.layui-table-col-set, +.layui-table-fixed-r, +.layui-table-grid-down, +.layui-table-header, +.layui-table-page, +.layui-table-tips-main, +.layui-table-tool, +.layui-table-total, +.layui-table-view, +.layui-table[lay-skin="line"], +.layui-table[lay-skin="row"] { + border: none; +} + +.layui-table td { + border-bottom: none; +} + +.layui-table tbody tr { + background-color: #06182E; +} + +#layui-table-page1 { + float: right !important; +} + +.layui-laypage .layui-laypage-curr .layui-laypage-em { + background-color: #1890FF; +} + +.layui-laypage a:hover { + color: #1890FF; +} + +.layui-laypage input:focus, +.layui-laypage select:focus { + border-color: #1890FF !important +} + +.layui-laypage-default a, +.layui-laypage-default span { + font-size: 16px; + color: #fff !important; + background-color: transparent !important; +} + +.layui-table-page select { + height: 24px; + padding: 0; +} + +.layui-laypage input, +.layui-laypage select { + border-color: #fff !important; + background-color: transparent; + color: #fff !important; +} + +.layui-laypage select option { + background-color: #06182E; +} + +.layui-form-select dl dd.layui-this { + background-color: #2F5D6B; + color: #8FFFFA; +} + +.layui-form-select dl dd:hover { + background-color: #2F5D6B !important; + color: #8FFFFA !important; +} + +.layui-table-page .layui-laypage button { + background: transparent; + color: #fff; +} + +.layui-table-body { + margin-bottom: 0px; +} + +.layui-table-cell { + height: auto; + white-space: normal; + line-height: 18px; +} + +/* 表格样式 end */ + +/* layui 样式设置 start */ +.layui-form-label { + font-size: 14px; + width: 85px !important; + padding: 9px 0 9px 5px !important; + color: #fff; + display: flex; + align-items: center; + justify-content: center; + letter-spacing: 1px; +} + +.layui-form-item { + margin-bottom: 10px; +} + +.layui-form-item .layui-inline { + margin: 0; +} + + +.layui-table-body { + margin-right: 0px; +} + +.oper-btn { + display: flex; + align-items: center; +} + +.layui-btn+.layui-btn { + margin-left: 20px; + color: #fff; +} + +.layui-input, +.layui-select, +.layui-textarea { + color: #fff !important; + border: 1px solid #fff !important; + height: 30px; + font-size: 14px; + background-color: transparent; + letter-spacing: 1px; +} + +.layui-form-selected dl { + background: #06182E; +} + +.layui-form-select dl dd, +.layui-form-select dl dt { + padding: 0 10px; + line-height: 36px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + color: #fff; +} + +.layui-input:hover, +.layui-select:hover, +.layui-textarea:hover { + border: 1px solid #D9D9D9 !important; +} + +.layui-input:focus, +.layui-select:focus, +.layui-textarea:focus { + border: 1px solid #D9D9D9 !important; +} + +.layui-form-item .layui-inline .layui-input-inline { + width: 210px +} + +.layui-input::-webkit-input-placeholder, +.layui-textarea::-webkit-input-placeholder { + color: #D9D9D9; +} + +.layui-input::-moz-placeholder, +.layui-textarea::-webkit-input-placeholder { + color: #D9D9D9; +} + +.layui-input::-ms-input-placeholder, +.layui-textarea::-webkit-input-placeholder { + color: #D9D9D9; +} + +/* layui 样式设置 end */ + +/*滚动条样式start*/ +::-webkit-scrollbar { + width: 30px; + height: 30px; +} + + +::-webkit-scrollbar-thumb:hover { + background: #dadee8; + cursor: pointer; +} + +::-webkit-scrollbar-thumb { + border-radius: 14px; + border-style: dashed; + border-color: transparent; + border-width: 10px; + background-color: #dadee8; + background-clip: padding-box; +} + +::-webkit-scrollbar-corner { + background-color: transparent; +} + +/*滚动条样式end*/ + +/*laydate 日期样式 end*/ + +.layui-table tbody tr:hover { + background-color: #666 +} \ No newline at end of file diff --git a/bns/html/supplement/child/monitoring_fgd_list.html b/bns/html/supplement/child/monitoring_fgd_list.html new file mode 100644 index 0000000..2fc8376 --- /dev/null +++ b/bns/html/supplement/child/monitoring_fgd_list.html @@ -0,0 +1,111 @@ + + + +
+ + + + + + + + + + + + + + +
+
+ 监控活跃度分析
' + transformNull(d.workManager) + '
' + transformNull(d.workManagerPhone) + '
'; + } + }, + { + field: "name", + title: "球机编号", + width: '15%', + unresize: true, + align: "center", + }, + ], + ], + done: function (res, curr, count) { + layer.close(loadingMsg); + table.resize("currTable"); + count || this.elem.next(".layui-table-view").find(".layui-table-header").css("display", "inline-block"); + count || this.elem.next(".layui-table-view").find(".layui-table-box").css("overflow", "auto"); + let that = this.elem.next(); + res.data.forEach(function (item, index) { + if (index % 2 === 0) { + that.find(".layui-table-box tbody tr[data-index='" + index + "']").css('background-color', '#06182E') + } else { + that.find(".layui-table-box tbody tr[data-index='" + index + "']").css('background-color', '#1F2F43') + } + }) + }, + }); +} + +// 获取参数 +function getReqParams(page, limit, type) { + let obj = {}; + if (!type) { + obj = { + page: page + "", + limit: limit + "", + proName: $('#proName').val(), + org: $('#org').val(), + riskLevel: $('#riskLevel').val(), + teamName: $('#teamName').val(), + workManager: $('#workManager').val(), + currentUserId: user.userId + '', + isSup: user.isSup, + currentUserOrgId: user.orgId + }; + } else { + obj = { + page: '1', + limit: '10', + proName: '', + org: $('#org').val(), + riskLevel: '', + teamName: '', + workManager: '', + currentUserId: user.userId + '', + isSup: user.isSup, + currentUserOrgId: user.orgId + }; + } + return obj; +} + +// 查询/重置 +function queryTable(type) { + if (type === 2) { + $('#proName').val(''); + $('#org').val(''); + $('#riskLevel').val(''); + $('#teamName').val(''); + $('#workManager').val(''); + layui.form.render(); + } + let pattern = new RegExp("[%_<>]"); + if (pattern.test($("#proName").val())) { + $("#proName").val(''); + return layer.msg('工程名称查询包含特殊字符,请重新输入', { + icon: 2, + time: 2000 //2秒关闭(如果不配置,默认是3秒) + }); + } + if (pattern.test($("#teamName").val())) { + $("#teamName").val(''); + return layer.msg('班组名称查询包含特殊字符,请重新输入', { + icon: 2, + time: 2000 //2秒关闭(如果不配置,默认是3秒) + }); + } + if (pattern.test($("#workManager").val())) { + $("#workManager").val(''); + return layer.msg('班组长查询包含特殊字符,请重新输入', { + icon: 2, + time: 2000 //2秒关闭(如果不配置,默认是3秒) + }); + } + pageNum = 1; + pages(1, limitSize) +} + +// 关闭页面 +function closePage(type) { + let index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引 + parent.layer.close(index); //再执行关闭 +} \ No newline at end of file diff --git a/bns/js/supplement/child/monitoring_hyd_list.js b/bns/js/supplement/child/monitoring_hyd_list.js new file mode 100644 index 0000000..ac1c802 --- /dev/null +++ b/bns/js/supplement/child/monitoring_hyd_list.js @@ -0,0 +1,235 @@ +let form, layer, table, laydate, tableIns, user = getUser(), tableHeight; +let pageNum = 1, limitSize = 10; // 默认第一页,分页数量为10 +let objParam; +function setParams(params) { + objParam = JSON.parse(params); + $('#title').html(objParam.title); + layui.use(['form', 'layer', 'table', 'laydate'], function () { + form = layui.form; + layer = layui.layer; + table = layui.table; + laydate = layui.laydate; + pages(1, 10, 1); + }) +} + +/* 加载表格 */ +function pages(pageNum, pageSize, typeNum) { + let params = getReqParams(pageNum, pageSize, typeNum); + let url = dataUrl + "proteam/pot/monitoringCoverage/getMonitoringHydList"; + ajaxRequest(url, "POST", params, true, function () { + }, function (result) { + if (result.code === 200) { + initTable(result.data, result.limit, result.curr) + laypages(result.count, result.curr, result.limit) + } else if (result.code === 500) { + layer.alert(result.msg, { icon: 2 }) + } + }, function (xhr, status, error) { + errorFn(xhr, status, error) + }, null); +} + +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: [10, 20, 50, 100, 200, 500], + 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 initTable(dataList, limit, page) { + let loadingMsg = layer.msg("数据加载中,请稍候...", { icon: 16, scrollbar: false, time: 0, }); + tableIns = table.render({ + id: 'currTable', + elem: "#currTable", + height: 'full-230', + data: dataList, + limit: limit, + cols: [ + [ + { + title: "排名", + width: '7%', + unresize: true, + align: "center", + templet: function (d) { + return (page - 1) * limit + d.LAY_NUM; + } + }, + { + field: "proName", + title: "工程名称", + width: '15%', + unresize: true, + align: "center", + style: 'word-break: break-all' + }, + { + field: "riskLevel", + title: "风险等级", + width: '10%', + unresize: true, + align: "center", + templet: function (d) { + return setRiskLevelColor(d.riskLevel); + } + }, + { + field: "org", + title: "建管单位", + width: '10%', + unresize: true, + align: "center", + }, + { + field: "teamName", + title: "班组名称", + width: '13%', + unresize: true, + align: "center", + }, + { + title: "班组长姓名", + width: '10%', + unresize: true, + align: "center", + templet: function (d) { + return '' + transformNull(d.workManager) + '
' + transformNull(d.workManagerPhone) + '
'; + } + }, + + { + title: "球机地址", + width: '10%', + unresize: true, + align: "center", + templet: function (d) { + return '' + d.lon + '
' + d.lat + '
'; + } + }, + { + field: "timeValue", + title: "运行时长", + width: '15%', + unresize: true, + align: "center", + }, + { + field: "name", + title: "球机编号", + width: '10%', + unresize: true, + align: "center", + }, + ], + ], + done: function (res, curr, count) { + layer.close(loadingMsg); + table.resize("currTable"); + count || this.elem.next(".layui-table-view").find(".layui-table-header").css("display", "inline-block"); + count || this.elem.next(".layui-table-view").find(".layui-table-box").css("overflow", "auto"); + let that = this.elem.next(); + res.data.forEach(function (item, index) { + if (index % 2 === 0) { + that.find(".layui-table-box tbody tr[data-index='" + index + "']").css('background-color', '#06182E') + } else { + that.find(".layui-table-box tbody tr[data-index='" + index + "']").css('background-color', '#1F2F43') + } + }) + }, + }); +} + +// 获取参数 +function getReqParams(page, limit, type) { + let obj = {}; + if (!type) { + obj = { + page: page + "", + limit: limit + "", + proName: $('#proName').val(), + org: $('#org').val(), + riskLevel: $('#riskLevel').val(), + teamName: $('#teamName').val(), + workManager: $('#workManager').val(), + type:objParam.type, + id:objParam.id, + currentUserId: user.userId + '', + isSup: user.isSup, + currentUserOrgId: user.orgId + }; + } else { + obj = { + page: '1', + limit: '10', + proName: '', + org:'', + riskLevel:'', + teamName:'', + workManager:'', + type:objParam.type, + id:objParam.id, + currentUserId: user.userId + '', + isSup: user.isSup, + currentUserOrgId: user.orgId + }; + } + return obj; +} + +// 查询/重置 +function queryTable(type) { + if (type === 2) { + $('#proName').val(''); + $('#org').val(''); + $('#riskLevel').val(''); + $('#teamName').val(''); + $('#workManager').val(''); + layui.form.render(); + } + let pattern = new RegExp("[%_<>]"); + if (pattern.test($("#proName").val())) { + $("#proName").val(''); + return layer.msg('工程名称查询包含特殊字符,请重新输入', { + icon: 2, + time: 2000 //2秒关闭(如果不配置,默认是3秒) + }); + } + if (pattern.test($("#teamName").val())) { + $("#teamName").val(''); + return layer.msg('班组名称查询包含特殊字符,请重新输入', { + icon: 2, + time: 2000 //2秒关闭(如果不配置,默认是3秒) + }); + } + if (pattern.test($("#workManager").val())) { + $("#workManager").val(''); + return layer.msg('班组长查询包含特殊字符,请重新输入', { + icon: 2, + time: 2000 //2秒关闭(如果不配置,默认是3秒) + }); + } + pageNum = 1; + pages(1, limitSize) +} + +// 关闭页面 +function closePage(type) { + let index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引 + parent.layer.close(index); //再执行关闭 +} \ No newline at end of file diff --git a/bns/js/supplement/monitoring_coverage.js b/bns/js/supplement/monitoring_coverage.js index 7c3b878..c85b59a 100644 --- a/bns/js/supplement/monitoring_coverage.js +++ b/bns/js/supplement/monitoring_coverage.js @@ -1,5 +1,5 @@ let form, layer, table, laydate, tableIns, user = getUser(); -let mapPointList = [],mainMapPointList = []; +let mapPointList = [], mainMapPointList = []; layui.use(['form', 'layer', 'table', 'laydate'], function () { form = layui.form; layer = layui.layer; @@ -9,7 +9,7 @@ layui.use(['form', 'layer', 'table', 'laydate'], function () { }) /* 数据初始化 */ -function initData(){ +function initData() { getHyd(); getFgd(); getMap(); @@ -20,7 +20,7 @@ function initData(){ } /* 获取监控活跃度分析 */ -function getHyd(){ +function getHyd() { let params = {}; let url = dataUrl + "proteam/pot/monitoringCoverage/getHyd"; ajaxRequest(url, "GET", params, true, function () { @@ -36,7 +36,7 @@ function getHyd(){ } /* 获取监控覆盖度分析 */ -function getFgd(){ +function getFgd() { let params = {}; let url = dataUrl + "proteam/pot/monitoringCoverage/getFgd"; ajaxRequest(url, "GET", params, true, function () { @@ -52,14 +52,14 @@ function getFgd(){ } /* 获取地图球机 */ -function getMap(){ +function getMap() { let params = {}; let url = dataUrl + "proteam/pot/monitoringCoverage/getMap"; ajaxRequest(url, "GET", params, true, function () { }, function (result) { if (result.code === 200) { let dataList = []; - $.each(result.data,function(index,item){ + $.each(result.data, function (index, item) { item.coordinate = [parseFloat(item.lon), parseFloat(item.lat)] dataList.push(item); }) @@ -74,13 +74,13 @@ function getMap(){ } /* 获取球机异常类型 */ -function getErrorNum(){ +function getErrorNum() { let params = {}; let url = dataUrl + "proteam/pot/monitoringCoverage/getErrorNum"; ajaxRequest(url, "GET", params, true, function () { }, function (result) { if (result.code === 200) { - $.each(result.data,function(index,item){ + $.each(result.data, function (index, item) { $('#num' + item.name).html(item.num); }) } else if (result.code === 500) { @@ -92,7 +92,7 @@ function getErrorNum(){ } /* 下行观看分析 */ -function getWatchNum(){ +function getWatchNum() { let params = {}; let url = dataUrl + "proteam/pot/monitoringCoverage/getWatchNum"; ajaxRequest(url, "GET", params, true, function () { @@ -109,7 +109,7 @@ function getWatchNum(){ } /* 风险球机覆盖度 */ -function getCoverRate(){ +function getCoverRate() { let params = {}; let url = dataUrl + "proteam/pot/monitoringCoverage/getCoverRate"; ajaxRequest(url, "GET", params, true, function () { @@ -126,7 +126,7 @@ function getCoverRate(){ } /* 球机速率正常/异常数量 */ -function getSpeedNum(){ +function getSpeedNum() { let params = {}; let url = dataUrl + "proteam/pot/monitoringCoverage/getSpeedNum"; ajaxRequest(url, "GET", params, true, function () { @@ -140,4 +140,13 @@ function getSpeedNum(){ }, function (xhr, status, error) { errorFn(xhr, status, error) }, null); +} + +function openHyd() { + let obj = { + type: 1, + title: '监控活跃度分析', + id: '' + } + openIframeByParamObj3("hyd_detail", "监控活跃度分析", "../supplement/child/monitoring_hyd_list.html", "62%", "85%", obj); } \ No newline at end of file diff --git a/bns/js/supplement/monitoring_coverage_echarts.js b/bns/js/supplement/monitoring_coverage_echarts.js index 771059a..6f39d46 100644 --- a/bns/js/supplement/monitoring_coverage_echarts.js +++ b/bns/js/supplement/monitoring_coverage_echarts.js @@ -21,7 +21,6 @@ function initEchartsOne(list) { type: 'shadow', }, formatter: function (params) { - console.error(params); let result = ''; $.each(list, function (index, item) { if (parseInt(params[0].name) === item.num) { @@ -143,6 +142,22 @@ function initEchartsOne(list) { window.addEventListener("resize", function () { myChart.resize(); }); + let name = '',id = ''; + myChart.off("click").on("click", function (params) { + $.each(list, function (index, item) { + if (parseInt(params.name) === item.num) { + name = item.name; + id = item.id; + } + }) + let obj = { + name: name, + type: 1, + title:'监控活跃度分析', + id:id + } + openIframeByParamObj3("hyd_detail", "监控活跃度分析", "../supplement/child/monitoring_hyd_list.html", "62%", "85%", obj); + }); } function initEchartsTwo(list) { @@ -271,6 +286,21 @@ function initEchartsTwo(list) { window.addEventListener("resize", function () { myChart2.resize(); }); + myChart2.off("click").on("click", function (params) { + console.error(params); + let id = ''; + $.each(list, function (index, item) { + if (params.name === item.name) { + id = item.id; + } + }) + let obj = { + type: 2, + title:'监控覆盖度分析', + id:id + } + openIframeByParamObj3("fgd_detail", "监控活跃度分析", "../supplement/child/monitoring_fgd_list.html", "62%", "85%", obj); + }); } function initEchartsThree(list) {