初始化项目

This commit is contained in:
2024-04-01 09:20:31 +08:00
commit fefd704e6e
4694 changed files with 1869737 additions and 0 deletions

View File

@@ -0,0 +1,66 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags"%>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
<title>资源未找到</title>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/dataTables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
body,html{
background-color: #ccc;
}
#errorCode{
font-family: 'wuxin',serif !important;
line-height: 280%;
}
#errorMsg{
font-size: 30px;
}
.aBlank{
color: blue;
}
</style>
</head>
<body>
<div class="container-fluid" >
<div class="row">
<div class="col-sm-8 col-sm-offset-2 col-md-8 col-md-offset-2" id="main">
<div class="row pd15" id="mainCode">
<div class="col-sm-8 col-sm-offset-2 col-md-8 col-md-offset-2">
<div style="margin: 0 auto">
<img src="${ctx}/images/img/error.png" class="fl">
<div class="fl mt20 ml20" id="errorCode">
<p id="errorMsg">所访问的资源不存在:404</p>
<p>可能原因:</p>
<p>1手抖打错资源路径。</p>
<p>2链接过了保质期。</p>
<p><a class="aBlank" href="/sso">重新登录</a></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script>
var $main=$("#main");
var $mainCode=$("#mainCode");
$(function () {
var height=$(window).height();
$main.eq(0).css("margin-top",height*0.1);
$mainCode.eq(0).css("margin-top",height*0.1);
$main.eq(0).css("height",height*0.8);
})
</script>
</body>
</html>

View File

@@ -0,0 +1,63 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags"%>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
<title>资源内部出错</title>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/dataTables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
body,html{
background-color: #ccc;
}
#errorCode{
font-family: 'wuxin',serif !important;
line-height: 280%;
}
#errorMsg{
font-size: 30px;
}
.aBlank{
color: blue;
}
</style>
</head>
<body>
<div class="container-fluid" >
<div class="row">
<div class="col-sm-8 col-sm-offset-2 col-md-8 col-md-offset-2" id="main">
<div class="row pd15" id="mainCode">
<div class="col-sm-8 col-sm-offset-2 col-md-8 col-md-offset-2">
<div style="margin: 0 auto">
<img src="${ctx}/images/img/error.png" class="fl">
<div class="fl mt20 ml20" id="errorCode">
<p id="errorMsg">所访问的资源错误:500</p>
<p><a class="aBlank" href="/sso">重新登录</a></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script>
var $main=$("#mainA");
var $mainCode=$("#mainCode");
$(function () {
var height=$(window).height();
$main.eq(0).css("margin-top",height*0.1);
$mainCode.eq(0).css("margin-top",height*0.1);
$main.eq(0).css("height",height*0.8);
})
</script>
</body>
</html>

View File

@@ -0,0 +1,63 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<title>友情提示</title>
<link rel="shortcut icon" href="/pqs9900/images/favicon.ico" type="image/x-icon"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
body,html{
background-color: #ccc;
}
#errorCode{
font-family: 'wuxin',serif !important;
line-height: 280%;
}
#errorMsg{
font-size: 30px;
}
.aBlank{
color: blue;
}
</style>
</head>
<body>
<div class="container-fluid" >
<div class="row">
<div class="col-sm-8 col-sm-offset-2 col-md-8 col-md-offset-2" id="main">
<div class="row pd15" id="mainCode">
<div class="col-sm-8 col-sm-offset-2 col-md-8 col-md-offset-2">
<div style="margin: 0 auto">
<img src="${ctx}/images/img/error.png" class="fl">
<div class="fl mt20 ml20" id="errorCode">
<p id="errorMsg">该用户已被管理员踢下线</p>
<p>请联系管理员</p>
<p> <a class="aBlank" href="/sso/login?item=pqs9000">重新登录</a></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script>
var $main=$("#main");
var $mainCode=$("#mainCode");
$(function () {
var height=$(window).height();
$main.eq(0).css("margin-top",height*0.1);
$mainCode.eq(0).css("margin-top",height*0.1);
$main.eq(0).css("height",height*0.8);
})
</script>
</body>
</html>

View File

@@ -0,0 +1,63 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<title>没有权限访问</title>
<link rel="shortcut icon" href="/pqs9900/images/favicon.ico" type="image/x-icon"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
body,html{
background-color: #ccc;
}
#errorCode{
font-family: 'wuxin',serif !important;
line-height: 280%;
}
#errorMsg{
font-size: 30px;
}
.aBlank{
color: blue;
}
</style>
</head>
<body>
<div class="container-fluid" >
<div class="row">
<div class="col-sm-8 col-sm-offset-2 col-md-8 col-md-offset-2" id="main">
<div class="row pd15" id="mainCode">
<div class="col-sm-8 col-sm-offset-2 col-md-8 col-md-offset-2">
<div style="margin: 0 auto">
<img src="${ctx}/images/img/error.png" class="fl">
<div class="fl mt20 ml20" id="errorCode">
<p id="errorMsg">没有访问该资源的权限</p>
<p>请联系管理员</p>
<p><a class="aBlank" href="/sso">重新登录</a></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script>
var $main=$("#main");
var $mainCode=$("#mainCode");
$(function () {
var height=$(window).height();
$main.eq(0).css("margin-top",height*0.1);
$mainCode.eq(0).css("margin-top",height*0.1);
$main.eq(0).css("height",height*0.8);
})
</script>
</body>
</html>

View File

@@ -0,0 +1,115 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags"%>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>数据完整性</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css" >
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrapSwitch/bootstrap-switch.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/ztree/zTreeStyle.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/plugin/basicButton.css">
<link rel="stylesheet" href="${ctx}/css/tip.css">
<style>
html,body{
background-color: #F9F9F9 !important;
}
</style>
</head>
<body>
<%--<div id="message">aaa</div>--%>
<div class="container-fluid">
<div class="form-inline mt10">
<div class="form-group has-feedback mr10" >
<label >分类方式:</label>
<select class="width3 form-control" id="datatype">
<option selected value="0">区域</option>
<option value="1">电压等级</option>
<option value="2">终端厂家</option>
<option value="3">干扰源类型</option>
</select>
</div>
<div class="form-group has-feedback" >
<label >统计类型:</label>
<input type="checkbox" checked class="checkbox" />
</div>
<div class="form-group" >
<%@include file="../../include/time.jsp"%>
<button type="button" class="btn btn-primary " id="query">
<i class="glyphicon glyphicon-search"></i>
</button>
<button id="helper" type="button" class="btn btn-primary tip tip-bottom" data-tip="数据完整性详解">
<i class="glyphicon glyphicon-info-sign" style="margin-left: -3px;margin-right: -3px;"></i>
</button>
</div>
<div class="form-group fr mr15">
<span class='fr font12' ><span class='info'><span class='inB bg-info smallBlock'></span> 完整性≥90%</span><span class='warn'> <span class='inB bg-warn smallBlock'></span> 60%≤完整性<90% </span><span class='error'> <span class='inB bg-error smallBlock'></span> 完整性<60%</span></span>
</div>
</div>
<div class="form-inline mt10">
<div class="form-group has-feedback" >
<label >区域:</label>
<div class="disinlineb">
<input id="area" class="form-control" style="width: 140px" readonly>
<i class="fa fa-caret-down areaicon"></i>
<i class="fa fa-caret-up treeUpIcon disnone"
style="color: #C9CBCE;position: absolute;left: 60px;font-size: 18px;z-index: 9999;top: 20px"></i>
<div class=" ztree treeUpDiv disnone " id="areaTree"
style="position: absolute;width: 140px;height: 147px;border: 2px solid #C9CBCE;overflow: auto;top: 32px;background: #fff;z-index: 100;border-radius: 2px">
</div>
</div>
</div>
<div class="form-group has-feedback mr10" >
<label >电压等级:</label>
<select class="width3 form-control" id="scale"></select>
</div>
<div class="form-group has-feedback mr10" >
<label >终端厂家:</label>
<select class="width3 form-control" id="manc"></select>
</div>
<div class="form-group has-feedback mr10" >
<label >干扰源类型:</label>
<select class="width3 form-control" id="loadtype"></select>
</div>
</div>
<div class="row">
<%--区域模块--%>
<div class="col-sm-12" id="areaChart"></div>
</div>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/echarts/echarts.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.contextMenu.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.cleverTabs.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/bootstrapSwitch/bootstrap-switch.min.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/area.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/jspJS/utils/barUtil.js"></script>
<script src="${ctx}/jspJS/area/dataIntegrality.js"></script>
<script src="${ctx}/jspJS/utils/helper.js"></script>
<script type="text/javascript">
$("#helper").click(function (){
toHelper("#jcdsjwzx");
});
</script>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,109 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>台账统计</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/buttons.dataTables.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/bootstrap-select.css"/>
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/plugin/basicButton.css">
<style>
html, body {
background-color: #F9F9F9 !important;
}
.dropdown-menu {
font-size: 12px;
}
.dt-button {
margin-top: -3px;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="form-inline header mt10">
<div class="form-group has-feedback mr10">
<label>区域:</label>
<div class="disinlineb">
<select multiple data-width="140px" data-none-selected-text="--请选择--" class="selectpicker" id="area"
readonly="">
<option value="-1">全部</option>
</select>
</div>
<label>电压等级:</label>
<div class="disinlineb">
<select multiple data-width="100px" data-none-selected-text="--请选择--" class="selectpicker" id="voltage"
readonly="">
<option value="-1">全部</option>
</select>
</div>
<label>终端厂家:</label>
<div class="disinlineb">
<select multiple data-width="140px" data-none-selected-text="--请选择--" class="selectpicker" id="factory"
readonly="">
<option value="-1">全部</option>
</select>
</div>
<label>干扰源类型:</label>
<div class="disinlineb">
<select multiple data-width="140px" data-none-selected-text="--请选择--" class="selectpicker" id="type"
readonly="">
<option value="-1">全部</option>
</select>
</div>
<label>上报类型:</label>
<div class="disinlineb">
<select class="selectpicker" data-width="100px" data-none-selected-text="--请选择--" id="appear"
readonly="">
<option value="-1">全部</option>
</select>
</div>
<label>监测点性质:</label>
<div class="disinlineb">
<select class="selectpicker" data-none-selected-text="--请选择--" data-width="100px" id="nature"
readonly="">
<option value="-1">全部</option>
<option value="0">电网侧</option>
<option value="1">非电网侧</option>
</select>
</div>
<button type="button" class="btn btn-primary " id="query">
<i class="glyphicon glyphicon-search"></i>
</button>
<button type="button" class="btn btn-primary" id="export">
<i class='glyphicon glyphicon-share'>导出</i>
</button>
</div>
</div>
<div class="form-inline mt5">
<table id="tongji" class="table table-striped table-bordered dataTable no-footer">
</table>
</div>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.cleverTabs.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/js/plugin/datatables/dataTables.buttons.min.js"></script>
<script src="${ctx}/js/plugin/datatables/buttons.html5.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/3.3.7/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-select.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/area/ledger.js"></script>
</body>
</html>

View File

@@ -0,0 +1,221 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<title>监测点首页</title>
<meta name="description" content="">
<meta name="author" content="">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/plugin/map/SearchInfoWindow_min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/bootstrap-select.css"/>
<!--加载地图文件-->
</head>
<style type="text/css">
html {
height: 100%
}
body {
height: 100%;
margin: 0px;
padding: 0px
}
#container {
height: 100%
}
.divs {
display: flex;
margin-bottom: 5px;
}
.imgs {
height: 25px;
margin-right: 5px;
}
.iconBox {
position: absolute;
bottom: 7px;
left: 5px;
z-index: 2000;
width: 120px;
height: 260px;
padding: 10px;
background: rgba(255, 255, 255, 0.75) !important;
border: 1px solid #ccc;
border-radius: 4px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12), 0 0 6px rgba(0, 0, 0, 0.04);
}
.selectBox {
top: 11.5px;
position: absolute;
right: 180px;
z-index: 2000;
width: 180px;
}
#container .anchorBL img {
display: none;
}
#container .BMap_cpyCtrl span {
display: none !important;
;
}
.rightTitle{
position: absolute;
top: 11px;
left: 5px;
z-index: 2000;
width: 270px;
height: 240px;
padding: 10px;
background: rgba(255, 255, 255, 0.75) !important;
border: 1px solid #ccc;
border-radius: 4px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12), 0 0 6px rgba(0, 0, 0, 0.04);
}
.btn-default{
padding: 3px 9px;
color: #333;
background-color: #fff;
}
.icon {
position: absolute;
top: 50%;
transform: translateY(-50%);
font-size: 10px;
color: #0088CC;
background-color:#fff;
border: none;
padding: 1px 1px;
cursor: pointer;
}
#rightIcon {
right: 10px;
}
#leftIcon {
right: 10px;
}
</style>
<body>
<!-- 右上角搜索框 -->
<div class="selectBox">
<select class="selectpicker" style="outline: none;width:150px;" data-live-search="true"
id="select_article" name="select_article">
<option value="" data-name="">---请选择监测点---</option>
</select>
</div>
<div class="rightTitle" id="leftT">
<button id="rightIcon" onclick="rightBox()" class="icon">&#9668;</button>
<button id="leftIcon" style="display: none" onclick="leftBox()" class="icon">&#9658;</button>
<div style="margin-bottom: 10px">
</div>
<div id="leftContent">
<label>总数:</label>
<label>在线:</label>
<label>离线:</label>
<label>暂降事件个数:</label>
</div>
</div>
<div class="iconBox">
<div class="divs">
<img style="margin-right:9px;height: 15px" src="../images/img/pyellow.png" alt=""/> <label>热备用</label>
</div>
<div class="divs">
<img style="margin-right:5px;height: 15px" src="../images/img/pgray.png" alt=""/> <label>停运</label>
</div>
<label class="divs">投运</label>
<div class="divs" style="padding-left: 10px">
<label>通讯正常</label>
</div>
<div class="divs" style="padding-left: 15px">
<img class="imgs" src="../images/img/wingreen.gif" alt=""/> <label style="padding-top: 3px">有暂降</label>
</div>
<div class="divs" style="padding-left: 15px">
<img style="margin-right:5px;height: 25px" src="../images/img/pgreen.png" alt=""/> <label style="padding-top: 3px">无暂降</label>
</div>
<div class="divs" style="padding-left: 10px">
<label>通讯异常</label>
</div>
<div class="divs" class="divs" style="padding-left: 15px">
<img class="imgs" src="../images/img/winred.gif" alt=""/> <label style="padding-top: 3px">有暂降</label>
</div>
<div class="divs" style="padding-left: 20px">
<img style="margin-right:5px;height: 15px" src="../images/img/pred.png" alt=""/> <label>无暂降</label>
</div>
</div>
<div id="container"></div>
<%--Common Modal --%>
<script src="${ctx}/js/plugin/jquery.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/3.3.7/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-select.js"></script>
<script src="${ctx}/js/plugin/map/map_load.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/js/plugin/map/SearchInfoWindow_min.js"></script>
<script src="${ctx}/jspJS/area/moinitorMap.js"></script>
<script type="text/javascript">
/*var tileLayer = new BMap.TileLayer();
tileLayer.getTilesUrl = function (tileCoord, zoom) {
var x = tileCoord.x;
var y = tileCoord.y;
var url = outputPath + zoom + '/' + x + '/' + y + fromat;
return url;
}
var tileMapType = new BMap.MapType('tileMapType', tileLayer);*/
$('.selectpicker').selectpicker({
noneSelectedText: '',
width:250,
noneResultsText: '',
liveSearch: true,
size: 8 //设置select高度同时显示5个值
});
</script>
</body>
</html>

View File

@@ -0,0 +1,112 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags"%>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>终端在线率</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css" >
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrapSwitch/bootstrap-switch.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/ztree/zTreeStyle.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/plugin/basicButton.css">
<style>
html,body{
background-color: #F9F9F9 !important;
}
#area {
background-color: #fff !important;
}
</style>
</head>
<body>
<%--<div id="message">aaa</div>--%>
<div class="container-fluid">
<div class="form-inline mt10">
<div class="form-group has-feedback mr10" >
<label >区域:</label>
<div class="disinlineb">
<input id="area" class="form-control" style="width: 140px" readonly>
<i class="fa fa-caret-down areaicon"></i>
<i class="fa fa-caret-up treeUpIcon disnone"
style="color: #C9CBCE;position: absolute;left: 60px;font-size: 18px;z-index: 9999;top: 20px"></i>
<div class=" ztree treeUpDiv disnone " id="areaTree"
style="position: absolute;width: 140px;height: 147px;border: 2px solid #C9CBCE;overflow: auto;top: 32px;background: #fff;z-index: 100;border-radius: 2px">
</div>
</div>
</div>
<div class="form-group has-feedback mr10" >
<label >统计类型:</label>
<input type="checkbox" checked class="checkbox" />
</div>
<div class="form-group" >
<%@include file="../../include/time.jsp"%>
<button type="button" class="btn btn-primary " id="query">
<i class="glyphicon glyphicon-search"></i>
</button>
</div>
<div class="form-group fr mr15">
<span class='fr font12' ><span class='info'><span class='inB bg-info smallBlock'></span> 在线率≥90%</span><span class='warn'> <span class='inB bg-warn smallBlock'></span> 60%≤在线率<90% </span><span class='error'> <span class='inB bg-error smallBlock'></span> 在线率<60%</span></span>
</div>
</div>
<div class="row">
<%--区域模块--%>
<div class="col-sm-8" id="areaDepts"></div>
<div class="col-sm-4" id="areaT">
<table id="areaTable" class="table table-striped table-bordered dataTable no-footer">
<thead>
<tr>
<th>区域</th>
<th id="typeTitle">终端数</th>
<th>在线率(%)</th>
</tr>
</thead>
</table>
</div>
<%--终端厂家模块--%>
<div class="col-sm-8" id="company"></div>
<div class="col-sm-4" id="companyT">
<table id="companyTable" class="table table-striped table-bordered dataTable no-footer">
<thead>
<tr>
<th>终端厂家</th>
<th id="typeTitle1">终端数</th>
<th>在线率(%)</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/echarts/echarts.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.contextMenu.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.cleverTabs.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/bootstrapSwitch/bootstrap-switch.min.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/area.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/area/onlineRate.js"></script>
</body>
</html>

View File

@@ -0,0 +1,192 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>电能质量评估</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/ztree/zTreeStyle.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/plugin/basicButton.css">
<link rel="stylesheet" href="${ctx}/css/tip.css">
<style>
html, body {
background-color: #F9F9F9 !important;
overflow: hidden;
}
ul {
padding: 0 2px;
border: 1px solid #696969;
border-radius: 0px;
}
.tips {
color: red;
font-size: 12px;
font-weight: bold;
cursor: pointer;
}
#tipTable, #tipTableAll {
font-size: 10px !important;
}
#tipTable td, #tipTableAll td {
padding: 2px !important;
vertical-align: center !important;
}
#tips, #tipsAll {
display: none;
position: absolute;
top: 30px;
right: 0px;
z-index: 999;
background-color: #F9F9F9;
}
#areaTable {
width: 100% !important;
}
#area {
background-color: #fff !important;
}
#treeDemo ul{
border: transparent !important;
}
</style>
</head>
<body>
<%--<div id="message">aaa</div>--%>
<div class="container-fluid">
<div class="form-inline mt10">
<div class="form-group has-feedback mr10">
<label>区域:</label>
<div class="disinlineb">
<input id="area" class="form-control" style="width: 140px" readonly>
<i class="fa fa-caret-down areaicon"></i>
<i class="fa fa-caret-up treeUpIcon disnone"
style="color: #C9CBCE;position: absolute;left: 60px;font-size: 18px;z-index: 9999;top: 20px"></i>
<div class=" ztree treeUpDiv disnone " id="areaTree"
style="position: absolute;width: 140px;height: 147px;border: 2px solid #C9CBCE;overflow: auto;top: 32px;background: #fff;z-index: 100;border-radius: 2px">
</div>
</div>
</div>
<div class="form-group">
<%@include file="../../include/time.jsp" %>
<button type="button" class="btn btn-primary " id="query">
<i class="glyphicon glyphicon-search"></i>
</button>
<button id="helper" type="button" class="btn btn-primary tip tip-bottom" data-tip="综合评估详解">
<i class="glyphicon glyphicon-info-sign" style="margin-left: -3px;margin-right: -3px;"></i>
</button>
</div>
<div class="form-group fr tips">
<span onMouseOver='divdangerMouseOver()' onMouseOut='divdangerMouseOut()'>详细电能质量评估等级划分</span>
</div>
<div id="tips">
<table id="tipTable" class="table table-striped table-bordered dataTable no-footer">
<thead>
<tr>
<td>电能指标评估</td>
<td>特质</td>
<td>优质</td>
<td>优良</td>
<td>良好</td>
<td>轻度污染</td>
<td>中度污染</td>
<td>重度污染</td>
<td>极度污染</td>
</tr>
</thead>
</table>
</div>
</div>
<div id="tipsAll">
<table id="tipTableAll" class="table table-striped table-bordered dataTable no-footer">
<thead>
<tr>
<td>电能指标评估</td>
<td>极差</td>
<td>较差</td>
<td>合格</td>
<td>良好</td>
<td>优质</td>
</tr>
</thead>
</table>
</div>
<div class="row" style="padding-right: 15px !important;padding-left: 15px !important;">
<ul class="nav nav-pills nav-justified mt10" id="qualifiedTab" style="border-radius: 3px">
<li class="active"><a href="#frequency" data-toggle="tab" id="allData">综合评估</a></li>
<li><a href="#frequency" data-toggle="tab" id="vuDev">电压偏差</a></li>
<li><a href="#frequency" data-toggle="tab" id="frequencyDeviation">频率偏差</a></li>
<li><a href="#frequency" data-toggle="tab" id="vthd">谐波含量</a></li>
<li><a href="#frequency" data-toggle="tab" id="vplt">电压闪变</a></li>
<li><a href="#frequency" data-toggle="tab" id="vUnbalance">三相电压不平衡度</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="frequency">
<%--区域模块--%>
<div class="col-sm-5 col-md-5" id="map"></div>
<div class="col-sm-7 col-md-7">
<div class="width100" id="bar"></div>
<div class="width100 " id="table">
<table id="areaTable" class="table table-striped table-bordered dataTable no-footer">
<thead>
<tr>
<th>区域</th>
<th id="norm">电压偏差</th>
<th>等级</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/echarts/echarts.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/jspJS/area/powerCommon.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/js/mapCommon.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/area.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/barUtil.js"></script>
<script src="${ctx}/jspJS/area/powerQuality.js"></script>
<script src="${ctx}/jspJS/utils/helper.js"></script>
<script>
$("#helper").click(function (){
toHelper("#zhpg");
});
</script>
</body>
</html>

View File

@@ -0,0 +1,154 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>稳态指标合格率</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/ztree/zTreeStyle.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/plugin/basicButton.css">
<link rel="stylesheet" href="${ctx}/css/tip.css">
<style>
html, body {
background-color: #F9F9F9 !important;
overflow: hidden;
}
ul {
padding: 0 2px;
border: 1px solid #696969;
border-radius: 4px;
}
#area {
background-color: #fff !important;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="form-inline mt10">
<div class="form-group has-feedback mr10">
<label>区域:</label>
<div class="disinlineb">
<input id="area" class="form-control" style="width: 140px" readonly>
<i class="fa fa-caret-down areaicon"></i>
<i class="fa fa-caret-up treeUpIcon disnone"
style="color: #C9CBCE;position: absolute;left: 60px;font-size: 18px;z-index: 9999;top: 20px"></i>
<div class=" ztree treeUpDiv disnone " id="areaTree"
style="position: absolute;width: 140px;height: 147px;border: 2px solid #C9CBCE;overflow: auto;top: 32px;background: #fff;z-index: 100;border-radius: 2px">
</div>
</div>
</div>
<div class="form-group">
<%@include file="../../include/time.jsp" %>
<button type="button" class="btn btn-primary " id="query">
<i class="glyphicon glyphicon-search"></i>
</button>
<button id="helper" type="button" class="btn btn-primary tip tip-bottom" data-tip="合格率详解">
<i class="glyphicon glyphicon-info-sign" style="margin-left: -3px;margin-right: -3px;"></i>
</button>
</div>
<div class="form-group fr mr15">
<span class='fr font12'><span class='info'><span class='inB bg-info smallBlock'></span> 合格率≥90%</span><span
class='warn'> <span class='inB bg-warn smallBlock'></span> 60%≤合格率<90% </span><span
class='error'> <span class='inB bg-error smallBlock'></span> 合格率<60%</span></span>
</div>
</div>
<div class="row">
<ul class="nav nav-pills nav-justified mt10" id="qualifiedTab">
<li class="active"><a href="#steady" data-toggle="tab" id="allData">全部</a></li>
<li><a href="#steady" data-toggle="tab" id="frequency">频率偏差</a></li>
<li><a href="#steady" data-toggle="tab" id="flicker">闪变</a></li>
<li><a href="#steady" data-toggle="tab" id="uBalance">三相电压不平衡度</a></li>
<li><a href="#steady" data-toggle="tab" id="harmVoltage">谐波电压</a></li>
<li><a href="#steady" data-toggle="tab" id="voltageDeviation">电压偏差</a></li>
<li><a href="#steady" data-toggle="tab" id="harmElec">谐波电流</a></li>
<li><a href="#steady" data-toggle="tab" id="iNeg">负序电流</a></li>
<li><a href="#steady" data-toggle="tab" id="inUharm">间谐波电压含有率</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="steady">
<%--区域模块--%>
<div class="col-sm-12 single" id="areaDepts"></div>
<%--电压等级、终端厂家模块--%>
<div class="col-sm-6 single" id="voltage"></div>
<div class="col-sm-6 single" id="loadType"></div>
<div class="col-sm-12 allArea" id="table">
<table id="areaTable" class="table table-striped table-bordered dataTable no-footer">
<thead>
<tr>
<th>区域</th>
<th>频率偏差(%)</th>
<th>闪变(%)</th>
<th>三相电压不平衡度(%)</th>
<th>谐波电压(%)</th>
<th>电压偏差(%)</th>
<th>谐波电流(%)</th>
<th>负序电流(%)</th>
<th>间谐波电压含有率(%)</th>
<th>操作</th>
</tr>
</thead>
</table>
</div>
<div class="col-sm-12 allArea" id="allArea"></div>
<div class="col-sm-6 singleArea none" id="singleTable">
<table id="singeleAreaTable" class="table table-striped table-bordered dataTable no-footer ">
<thead>
<tr>
<th>稳态指标</th>
<th>合格率(%)</th>
</tr>
</thead>
</table>
</div>
<div class="col-sm-6 singleArea none" id="singleArea"></div>
</div>
</div>
</div>
</div>
<input type="hidden" id="startTime">
<input type="hidden" id="endTime">
<input type="hidden" id="gist">
<input type="hidden" id="type">
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/echarts/echarts.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.contextMenu.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.cleverTabs.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/area.js"></script>
<script src="${ctx}/jspJS/area/steadyCommon.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/barUtil.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/jspJS/utils/tableSort.js"></script>
<script src="${ctx}/jspJS/area/steady.js"></script>
<script src="${ctx}/jspJS/utils/helper.js"></script>
<script>
$("#helper").click(function (){
toHelper("#wtzbhgl");
});
</script>
</body>
</html>

View File

@@ -0,0 +1,369 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>稳态指标越限详情</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/buttons.dataTables.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/plugin/basicButton.css">
<style>
body {
overflow: hidden;
}
.tr {
text-align: center;
}
.td {
text-align: center;
height: 48px;
line-height: 48px
}
.table > tbody > tr > td {
padding: 5px;
line-height: 1.42857143;
vertical-align: top;
border-top: 1px solid #ddd;
}
.pagination > li > a, .pagination > li > span {
padding: 6px 12px;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="form-inline header mt10">
<div class="form-group fr ml10" id="levelDiv">
<label>合格率等级:</label>
<select class="form-control" id="dataLevel">
<option value="全部">全部</option>
<option value="优">优</option>
<option value="良">良</option>
<option value="差">差</option>
</select>
</div>
<div class="form-group fr mr10" id="fliteData">
<label>筛选数据:</label>
<input type="text" class="form-control" onkeyup="searchResult(this.value)" placeholder="空格分开多条件筛选数据">
</div>
</div>
<table id="steadylist" class="table table-striped table-bordered dataTable no-footer width100">
<thead>
<tr>
<th>变电站</th>
<th>监测点名称</th>
<th>频率偏差(%)</th>
<th>闪变(%)</th>
<th>三相电压不平衡度(%)</th>
<th>谐波电压(%)</th>
<th>电压偏差(%)</th>
<th>谐波电流(%)</th>
<th>负序电流(%)</th>
<th>间谐波电压含有率(%)</th>
</tr>
</thead>
</table>
</div>
<input id="_startTime" value="${startTime}" hidden>
<input id="_endTime" value="${endTime}" hidden>
<input id="_area" value="${area}" hidden>
</body>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
<script src="${ctx}/js/plugin/datatables/dataTables.buttons.min.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/js/plugin/datatables/buttons.html5.min.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/js/plugin/xss/xss.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/js/color.js"></script>
<script>
var dataTable = null;
var resultData = null;
var excellentData = [];
var benignData = [];
var badData = [];
$(function () {
var startTime = $("#_startTime").val();
var endTime = $("#_endTime").val();
var area = $("#_area").val();
startTime = filterXSS(startTime);
endTime = filterXSS(endTime);
area = filterXSS(area);
refresh(startTime, endTime, area);
})
//获取表格数据
function refresh(startTime, endTime, area) {
var i;
$.ajax({
type: "POST",
url: "/pqs9000/area/outOfLimitDetail",
dataType: "json",
data: {
area: area,
startTime: startTime,
endTime: endTime
},
beforeSend: function () {
i = ityzl_SHOW_LOAD_LAYER();
},
success: function (data) {
if (data.code === 500) {
layer.msg(data.message, {icon: 2, time: 2000})
//没有数据
resultData = null;
} else {
resultData = data.body;
}
startQuery();
//***********关闭loading
ityzl_CLOSE_LOAD_LAYER(i);
}
});
}
//实例化表格
function initTable(data) {
var height = $(window).height() - 155;
var length = Math.floor(height / 28);
if (length < 1) {
length = 1;
}
dataTable = $("#steadylist").DataTable();
dataTable.clear().draw();
dataTable = $('#steadylist').DataTable({
order: [],
autoWidth: false,
columnDefs: [
{
orderable: false,
targets: [0]
}
],
columns: [
{
width: "8%", data: "substation", render: function (data, type, full, meta) {
var value = data;
if (data.length > 8) {
value = data.substring(0, 7) + "...";
value = "<span title=" + data + ">" + value + "</span>";
}
return value;
}
},
{
width: "9.09%", data: "lineName", render: function (data, type, full, meta) {
var value = data;
if (data.length > 8) {
value = data.substring(0, 7) + "...";
value = "<span title=" + data + ">" + value + "</span>";
}
return value;
}
},
{
width: "9.09%",
data: "frequency",
render: function (data, type, full, meta) {
return getValue(Number(data));
}
},
{
width: "9.09%",
data: "flicker",
render: function (data, type, full, meta) {
return getValue(Number(data));
}
},
{
width: "9.09%",
data: "uBalance",
render: function (data, type, full, meta) {
return getValue(Number(data));
}
},
{
width: "9.09%",
data: "harmVoltage",
render: function (data, type, full, meta) {
return getValue(Number(data));
}
},
{
width: "9.09%",
data: "voltageDeviation",
render: function (data, type, full, meta) {
return getValue(Number(data));
}
},
{
width: "9.09%",
data: "harmElec",
render: function (data, type, full, meta) {
return getValue(Number(data));
}
},
{
width: "9.09%",
data: "iNeg",
render: function (data, type, full, meta) {
return getValue(Number(data));
}
},
{
width: "10%",
data: "inUharm",
render: function (data, type, full, meta) {
return getValue(Number(data));
}
}
],
destroy: true,
data: data,
lengthChange: false,
searching: true,
dom: 'rtip',
scrollY: height,
scrollX: true,
lengthMenu: [length],
language: {
url: '/pqs9000/json/chine.json'
},
fnDrawCallback: function (oTable) {
$("#steadylist_info").addClass("fl");
$("#steadylist_paginate").addClass("fr");
$("#steadylist_paginate").append("<div style='float:right;padding-top:4px;padding-left:10px'>到第 <input type='text' id='changePage' class='input-text' style='width:50px;height:28px;'> 页 <button class='btn btn-primary' id='dataTable-btn'>确定</button></div>");
var table = $("#steadylist").dataTable();
$('#dataTable-btn').click(function (e) {
if ($("#changePage").val() && $("#changePage").val() > 0) {
var redirectpage = $("#changePage").val() - 1;
} else {
var redirectpage = 0;
}
table.fnPageChange(redirectpage);
});
}
});
modifyCss(dataTable);
}
function modifyCss(dataTable) {
dataTable.buttons().container().css("display", "inline-block");
dataTable.buttons().container().css("float", "right");
dataTable.buttons().container().css("top", "4px");
dataTable.buttons().container().find("a").prepend("<i class='glyphicon glyphicon-share'></i>");
dataTable.buttons().container().appendTo('.header');
dataTable.buttons().container().after($("#fliteData")[0]);
}
//搜索表中的数据
function searchResult(value) {
dataTable.search(value).draw();
}
$("#dataLevel").on("change", function () {
const level = $(this).val();
switch (level) {
case "全部":
initTable(resultData);
break;
case "优":
initTable(excellentData);
break;
case "良":
initTable(benignData);
break;
case "差":
initTable(badData);
break;
default:
initTable(resultData);
break;
}
})
//筛选出所有负荷数据
function dealWithAllData(resultData) {
for (let i = 0; i < resultData.length; i++) {
if (resultData[i].frequency >= 90 && resultData[i].flicker >= 90 && resultData[i].uBalance >= 90 && resultData[i].harmVoltage >= 90 && resultData[i].voltageDeviation >= 90 && resultData[i].harmElec >= 90 && resultData[i].iNeg >= 90 && resultData[i].inUharm >= 90) {
excellentData.push(resultData[i]);
} else if (resultData[i].frequency < 60 || resultData[i].flicker < 60 || resultData[i].uBalance < 60 || resultData[i].harmVoltage < 60 || resultData[i].voltageDeviation < 60 || resultData[i].harmElec < 60 || resultData[i].iNeg < 60 || resultData[i].inUharm < 60) {
badData.push(resultData[i])
} else {
benignData.push(resultData[i])
}
}
}
//特殊处理,表头紧缩问题--start
var it = null;
function startQuery() {
//实时刷新时间单位为毫秒
it = setInterval('refreshQuery()', 100);
}
/* 刷新查询 */
function refreshQuery() {
var width = $("#steadylist").width();
if (width > 100) {
$("#dataLevel").val("差");
if (resultData == null) {
resultData = [];
}
//筛选出数据
dealWithAllData(resultData);
//默认显示差的数据
initTable(badData);
window.clearInterval(it)
}
}
//特殊处理,表头紧缩问题--end
function getValue(temp) {
var value = temp;
if (temp > 100) {
value = 100;
}
if (temp < 0) {
value = 0;
}
var color = getColor(value)
return "<span style='color:" + color + "'>" + temp + "</span>";
}
//根据在线率获取颜色
function getColor(data) {
if (data >= 90) {
return green;
} else if (data < 60) {
return red;
} else {
return yellow;
}
}
</script>
</html>

View File

@@ -0,0 +1,84 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>稳态越限天数统计</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/plugin/basicButton.css">
<link rel="stylesheet" href="${ctx}/css/tip.css">
<style>
html, body {
background-color: #F9F9F9 !important;
}
.hide {
display: none;
}
.tipname {
display: none;
position: absolute;
padding: 0 5px;
border-radius: 3px;
box-shadow: 2px 2px 2px 0 #000;
background: #fff;
font-size: 12px;
line-height: 18px;
color: #575757;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="form-inline mt10">
<div class="form-group has-feedback mr10">
<label>统计类型:</label>
<select class="form-control" id="total" style="width: 140px" readonly>
<option value="0">电网拓扑</option>
<option value="1">干扰源类型</option>
<option value="2">电压等级</option>
</select>
</div>
<div class="form-group">
<%@include file="../../include/time.jsp" %>
<button type="button" class="btn btn-primary " id="query">
<i class="glyphicon glyphicon-search"></i>
</button>
<button id="helper" type="button" class="btn btn-primary tip tip-bottom" data-tip="监测点越限天数详解">
<i class="glyphicon glyphicon-info-sign" style="margin-left: -3px;margin-right: -3px;"></i>
</button>
</div>
<div style="float:right;font-size: 12px;color: red;">操作提示:点击图表数据可查看稳态越限详情</div>
<div id="bx" style="margin-top: 7px;"></div>
<div id="tip" class="tipname" style="display: none;"></div>
</div>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/js/plugin/echarts/echarts.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/helper.js"></script>
<script src="${ctx}/jspJS/area/steadystat.js"></script>
<script type="text/javascript">
$("#helper").click(function (){
toHelper("#jcdyxts");
});
</script>
</body>
</html>

View File

@@ -0,0 +1,307 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>稳态指标越限详情</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/buttons.dataTables.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/plugin/basicButton.css">
<style>
body {
overflow: hidden;
}
.tr {
text-align: center;
}
.td {
text-align: center;
height: 48px;
line-height: 48px
}
.table > tbody > tr > td {
padding: 5px;
line-height: 1.42857143;
vertical-align: top;
border-top: 1px solid #ddd;
}
.pagination > li > a, .pagination > li > span {
padding: 6px 12px;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="form-inline header mt10">
<div class="form-group fr mr10" id="fliteData">
<label>筛选数据:</label>
<input type="text" class="form-control" onkeyup="searchResult(this.value)" placeholder="空格分开多条件筛选数据">
</div>
</div>
<table id="steadylist" class="table table-striped table-bordered dataTable no-footer width100">
<thead>
<tr>
<th>变电站</th>
<th>监测点名称</th>
<th>频率偏差(%)</th>
<th>三相电压不平衡度(%)</th>
<th>电压总谐波畸变率(%)</th>
<th>电压偏差(%)</th>
<th>闪变(%)</th>
<th>谐波电压(%)</th>
<th>谐波电流(%)</th>
</tr>
</thead>
</table>
</div>
<input id="_startTime" value="${startTime}" hidden>
<input id="_endTime" value="${endTime}" hidden>
<input id="_area" value="${area}" hidden>
</body>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
<script src="${ctx}/js/plugin/datatables/dataTables.buttons.min.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/js/plugin/datatables/buttons.html5.min.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/js/plugin/xss/xss.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/js/color.js"></script>
<script>
var dataTable = null;
var resultData = null;
$(function () {
var startTime = $("#_startTime").val();
var endTime = $("#_endTime").val();
var area = $("#_area").val();
startTime=filterXSS(startTime);
endTime=filterXSS(endTime);
area=filterXSS(area);
refresh(startTime, endTime, area);
})
//获取表格数据
function refresh(startTime, endTime, area) {
var i;
$.ajax({
type: "POST",
url: "/pqs9000/area/outOfLimitDetail",
dataType: "json",
data: {
area: area,
startTime: startTime,
endTime: endTime
},
beforeSend: function () {
i = ityzl_SHOW_LOAD_LAYER();
},
success: function (data) {
if (data.code === 500) {
layer.msg(data.message, {icon: 2, time: 2000})
//没有数据
resultData = null;
} else {
resultData = data.body;
}
startQuery();
//***********关闭loading
ityzl_CLOSE_LOAD_LAYER(i);
}
});
}
//实例化表格
function initTable(data) {
var height = $(window).height() - 155;
var length = Math.floor(height / 28);
if (length < 1) {
length = 1;
}
dataTable = $("#steadylist").DataTable();
dataTable.clear().draw();
dataTable = $('#steadylist').DataTable({
order: [],
autoWidth: false,
columnDefs: [
{
orderable: false,
targets: [0]
}
],
columns: [
{
width: "9.09%", data: "substation", render: function (data, type, full, meta) {
var value = data;
if (data.length > 8) {
value = data.substring(0, 7) + "...";
value = "<span title=" + data + ">" + value + "</span>";
}
return value;
}
},
{
width: "9.09%", data: "lineName", render: function (data, type, full, meta) {
var value = data;
if (data.length > 8) {
value = data.substring(0, 7) + "...";
value = "<span title=" + data + ">" + value + "</span>";
}
return value;
}
},
{
width: "9.09%",
data: "frequency",
render: function (data, type, full, meta) {
return getValue(Number(data));
}
},
{
width: "9.09%",
data: "uBalance",
render: function (data, type, full, meta) {
return getValue(Number(data));
}
},
{
width: "9.09%",
data: "uAberrance",
render: function (data, type, full, meta) {
return getValue(Number(data));
}
},
{
width: "9.09%",
data: "voltageDeviation",
render: function (data, type, full, meta) {
return getValue(Number(data));
}
},
{
width: "9.09%",
data: "flicker",
render: function (data, type, full, meta) {
return getValue(Number(data));
}
},
{
width: "9.09%",
data: "oddVoltage",
render: function (data, type, full, meta) {
return getValue(Number(data));
}
},
{
width: "9.09%",
data: "oddElectric",
render: function (data, type, full, meta) {
return getValue(Number(data));
}
}
],
destroy: true,
data: data,
lengthChange: false,
searching: true,
dom: 'rtip',
scrollY: height,
scrollX: true,
lengthMenu: [length],
language: {
url: '/pqs9000/json/chine.json'
},
fnDrawCallback: function (oTable) {
$("#steadylist_info").addClass("fl");
$("#steadylist_paginate").addClass("fr");
$("#steadylist_paginate").append("<div style='float:right;padding-top:4px;padding-left:10px'>到第 <input type='text' id='changePage' class='input-text' style='width:50px;height:28px;'> 页 <button class='btn btn-primary' id='dataTable-btn'>确定</button></div>");
var table = $("#steadylist").dataTable();
$('#dataTable-btn').click(function (e) {
if ($("#changePage").val() && $("#changePage").val() > 0) {
var redirectpage = $("#changePage").val() - 1;
} else {
var redirectpage = 0;
}
table.fnPageChange(redirectpage);
});
}
});
modifyCss(dataTable);
}
function modifyCss(dataTable) {
dataTable.buttons().container().css("display", "inline-block");
dataTable.buttons().container().css("float", "right");
dataTable.buttons().container().css("top", "4px");
dataTable.buttons().container().find("a").prepend("<i class='glyphicon glyphicon-share'></i>");
dataTable.buttons().container().appendTo('.header');
dataTable.buttons().container().after($("#fliteData")[0]);
}
//搜索表中的数据
function searchResult(value) {
dataTable.search(value).draw();
}
//特殊处理,表头紧缩问题--start
var it = null;
function startQuery() {
//实时刷新时间单位为毫秒
it = setInterval('refreshQuery()', 100);
}
/* 刷新查询 */
function refreshQuery() {
var width = $("#steadylist").width();
if (width > 100) {
if (resultData == null) {
resultData = [];
}
initTable(resultData);
window.clearInterval(it)
}
}
//特殊处理,表头紧缩问题--end
function getValue(temp) {
var value = temp;
if (temp > 100) {
value = 100;
}
if (temp < 0) {
value = 0;
}
var color = getColor(value)
return "<span style='color:" + color + "'>" + temp + "</span>";
}
//根据在线率获取颜色
function getColor(data) {
if (data >= 90) {
return green;
} else if (data < 60) {
return red;
} else {
return yellow;
}
}
</script>
</html>

View File

@@ -0,0 +1,68 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>越限详细事件</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/buttons.dataTables.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/bootstrap-select.css"/>
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/plugin/basicButton.css">
<style>
html, body {
background-color: #F9F9F9 !important;
}
.dropdown-menu {
font-size: 12px;
}
.dt-button {
margin-top: -3px;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="header">
</div>
<div class="form-inline mt5">
<table id="tableId"
class="table table-striped table-bordered dataTable no-footer table-hover table-condensed"
cellspacing="0" width="100%" role="grid"
aria-describedby="example_info" style="white-space: nowrap;">
<thead>
<tr role="row">
<th class="text-center">供电公司</th>
<th class="text-center">变电站</th>
<th class="text-center">监测点名称</th>
<th class="text-center">日期</th>
<th class="text-center">描述</th>
</tr>
</thead>
</table>
</div>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.cleverTabs.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/js/plugin/datatables/dataTables.buttons.min.js"></script>
<script src="${ctx}/js/plugin/datatables/buttons.html5.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/3.3.7/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-select.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/area/steadystattable.js"></script>
</body>
</html>

View File

@@ -0,0 +1,145 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>暂降事件列表</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/buttons.dataTables.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/basicButton.css">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrapSwitch/bootstrap-switch.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/ztree/zTreeStyle.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
.tr {
text-align: center;
}
.td {
text-align: center;
height: 48px;
line-height: 48px
}
#vdlist {
min-width: 2120px;
}
.table > tbody > tr > td {
padding: 3px;
line-height: 1.42857143;
vertical-align: top;
border-top: 1px solid #ddd;
}
#downloadWave {
margin-top: -21px;
}
body {
overflow: hidden;
}
.pagination > li > a, .pagination > li > span {
position: relative;
float: left;
padding: 6px 12px;
margin-left: -1px;
line-height: 1.42857143;
text-decoration: none;
border: 1px solid #ddd;
}
@media screen and (max-width: 1400px) {
#fliteData input {
width: 150px;
}
}
#area {
background-color: #fff !important;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="form-inline header mt10">
<label class="form-group">区域:</label>
<div class="form-group has-feedback">
<div class="disinlineb">
<input id="area" class="form-control" style="width: 120px" readonly>
<i class="fa fa-caret-down areaicon"></i>
<i class="fa fa-caret-up treeUpIcon disnone"
style="color: #C9CBCE;position: absolute;left: 20px;font-size: 18px;z-index: 9999;top: 20px"></i>
<div class=" ztree treeUpDiv disnone " id="areaTree"
style="position: absolute;width: 140px;height: 147px;border: 2px solid #C9CBCE;overflow: auto;top: 32px;background: #fff;z-index: 100;border-radius: 2px">
</div>
</div>
</div>
<%@include file="../../include/time.jsp" %>
<div class="form-group has-feedback ml10">
<label>统计类型:</label>
<input type="checkbox" checked class="checkbox"/>
</div>
<button id="maxQuery" type="button" class="btn btn-primary ml5">
<i class="glyphicon glyphicon-align-justify"></i>多条件筛选
</button>
<button id="query" type="button" class="btn btn-primary ml5">
<i class="glyphicon glyphicon-search"></i>
</button>
<div class="form-group fr mr10" id="fliteData">
<%-- <label >筛选数据:</label>--%>
<input id="searchValue" type="text" class="form-control" onkeyup="searchResult(this.value)" placeholder="筛选数据"
style="width: 130px;margin-top: 4px">
</div>
</div>
<table id="vdlist" class="table table-striped table-bordered dataTable no-footer">
<thead>
<tr>
<th><input type="checkbox" class="icheckbox_minimal" id="all_checked"></th>
<th>序号</th>
<th>暂降发生时刻</th>
<th>供电公司</th>
<th>变电站</th>
<th>网络参数</th>
<th>监测点</th>
<th>电压等级</th>
<th>触发类型</th>
<th>暂降(骤升)幅值(%)</th>
<th>暂降深度(%)</th>
<th>持续时间(s)</th>
<th>严重度</th>
<th>操作按钮</th>
</tr>
</thead>
</table>
</div>
</body>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
<script src="${ctx}/js/plugin/datatables/dataTables.buttons.min.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/js/plugin/datatables/buttons.html5.min.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/js/plugin/bootstrapSwitch/bootstrap-switch.min.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/area.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/jspJS/area/vdlist.js"></script>
</html>

View File

@@ -0,0 +1,121 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<link rel="stylesheet" href="${ctx}/css/basic.css">
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>暂降事件列表多条件筛选</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/plugin/mulitiCheckbox/fSelect.css">
<style>
.form-control{
height:23px;
padding:1px 5px
}
label{
margin-top: 3px;
}
.fs-wrap{
width: 235px;
}
.fs-dropdown .fs-options{
max-height: 130px;
}
</style>
</head>
<body>
<div class="container-fluid">
<form class="form-horizontal mt15" role="form">
<div class="form-group">
<label class="col-xs-3 control-label" style="padding-right: 0px">暂态幅值(%)</label>
<div class="col-xs-2" style="padding-left: 0px;padding-right: 0px">
<input type="text" class="form-control" id="minfuzhi" placeholder="0">
</div>
<label class="col-xs-4 control-label" style="padding-right: 0px;padding-left: 0px;text-align: center">&lt; &nbsp; 幅值 &nbsp; &lt;</label>
<div class="col-xs-2" style="padding-left: 0px;padding-right: 0px">
<input type="text" class="form-control" id="maxfuzhi" placeholder="200">
</div>
</div>
<div class="form-group">
<label class="col-xs-3 control-label" style="padding-right: 0px">暂态持续时间</label>
<div class="col-xs-2" style="padding-left: 0px;padding-right: 0px">
<input type="text" class="form-control" id="mintime" placeholder="X毫秒">
</div>
<label class="col-xs-4 control-label" style="padding-right: 0px;padding-left: 0px;text-align: center">&lt; &nbsp; 持续时间 &nbsp; &lt;</label>
<div class="col-xs-2" style="padding-left: 0px;padding-right: 0px">
<input type="text" class="form-control" id="maxtime" placeholder="X毫秒">
</div>
</div>
<div class="form-group">
<label class="col-xs-3 control-label" style="padding-right: 0px">事件严重度</label>
<div class="col-xs-2" style="padding-left: 0px;padding-right: 0px">
<input type="text" class="form-control" id="minseverity" placeholder="正负数">
</div>
<label class="col-xs-4 control-label" style="padding-right: 0px;padding-left: 0px;text-align: center">&lt; &nbsp; 严重度 &nbsp; &lt;</label>
<div class="col-xs-2" style="padding-left: 0px;padding-right: 0px">
<input type="text" class="form-control" id="maxseverity" placeholder="正负数">
</div>
</div>
<%--<div class="form-group" style="margin-bottom: 10px">
<label for="eventType" class="col-xs-3 control-label" style="padding-right: 0px">暂降类型</label>
<div class="col-xs-9"style="padding-left: 0px">
<select id="eventType" class="form-control" multiple="multiple" id="eventType" name="eventType">
</select>
</div>
</div>
<div class="form-group" style="margin-bottom: 10px">
<label for="eventReason" class="col-xs-3 control-label" style="padding-right: 0px">暂降原因</label>
<div class="col-xs-9" style="padding-left: 0px">
<select id="eventReason" class="form-control" multiple="multiple" id="eventReason" name="eventReason">
</select>
</div>
</div>--%>
<div class="form-group" style="margin-bottom: 10px">
<label for="triggerType" class="col-xs-3 control-label" style="padding-right: 0px">触发类型</label>
<div class="col-xs-9" style="padding-left: 0px">
<select id="triggerType" class="form-control" multiple="multiple" id="triggerType" name="triggerType">
<option value="4">其他</option>
<option value="0">扰动</option>
<option value="1">暂降</option>
<option value="2">暂升</option>
<option value="3">中断</option>
<option value="5">录波</option>
</select>
</div>
</div>
<div class="form-group">
<label for="fileflag" class="col-xs-3 control-label" style="padding-right: 0px">是否存在波形</label>
<div class="col-xs-9"style="padding-left: 0px">
<select id="fileflag" class="form-control" style="width: 235px">
<option value="">请选择是否存在波形</option>
<option value="1">是</option>
<option value="0">否</option>
</select>
</div>
</div>
<div class="form-group">
<div class="col-xs-12 mt10" style="text-align: center">
<button id="submit" type="button" class="btn btn-primary">确认</button>
</div>
</div>
</form>
</div>
</body>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/xss/xss.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/js/plugin/mulitiCheckbox/fSelect.js"></script>
<script src="${ctx}/jspJS/area/vdListQuery.js"></script>
</html>

View File

@@ -0,0 +1,78 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<title>工作台</title>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/animate/animate.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/plugin/basicButton.css">
<style>
.clearUi:after {
content: "";
display: block;
clear: both;
}
.nav > li > a {
padding: 3px 15px;
}
body {
overflow-x: auto;
}
</style>
</head>
<body class="container-fluid">
<div class="row">
<div class="col-sm-12 col-md-12">
<div class="clearUi">
<div class="fr mt10 ml10 ">
<form class="form-inline">
<label class="form-group">值类型选择:</label>
<div class="form-group has-feedback">
<select class="form-control" id="interval">
<option value="one">一次值</option>
<option value="two">二次值</option>
</select>
</div>
</form>
</div>
</div>
<ul id="myTab" class="nav nav-tabs">
<li class="active"><a href="#instance" data-toggle="tab">瞬时波形</a></li>
<li><a href="#RMSD" data-toggle="tab">RMS波形</a></li>
</ul>
<div class="tab-content">
<div id="instance" class="tab-pane fade in active">
<div class="bx" id="wave"></div>
</div>
<div id="RMSD" class="tab-pane fade in">
<div class="bx" id="rms"></div>
</div>
</div>
</div>
<input type="hidden" value="${sessionScope.eventIndex}" id="eventIndex">
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/highcharts/highstock.js"></script>
<script src="${ctx}/js/plugin/highcharts/export.js"></script>
<script src="${ctx}/js/plugin/highcharts/offline-exporting.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/layui/layui.all.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/plugin/xss/xss.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/area/wave.js"></script>
</body>
</html>

View File

@@ -0,0 +1,123 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<title>历史数据</title>
<meta name="description" content="">
<meta name="author" content="">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/jquery/jquery-ui.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style type="text/css">
body, html, #allmap {
width: 100%;
height: 100%;
overflow: hidden;
margin: 0;
font-family: "微软雅黑";
}
.dg-sub b.red {
border-bottom: solid 1px #98af9f;
font-weight: bold;
}
.dg-sub b {
padding: 2px 5px;
color: #666;
font-weight: normal;
}
.left-menu {
top: 5px;
left: 5px;
}
#tj {
min-height: 550px;
}
@media screen and (min-width: 1000px) and (max-width: 1400px) and (max-height: 500px) {
#tj {
min-height: 500px;
}
}
.nav > li > a {
padding: 3px 15px;
}
.middlediv {
background: #FFFFFF;
float: left;
position: absolute;
left: 280px;
}
.imgarrow {
float: left;
margin-left: 0px;
margin-top: 1px;
}
.mainright {
float: left;
margin-left: 1px;
width: 300px;
}
#middle_tree {
}
</style>
</head>
<body>
<%@include file="../../include/deviceTree.jsp" %>
<div class="row" style="background:#fff;">
<%--中间操作区域--%>
<div id="middle_div" class="middlediv" style="width:100%;">
<iframe class="mainright" id="main_right" scrolling="no"
name="main_right" frameborder="0"></iframe>
</div>
</div>
<%--Common Modal --%>
<input type="hidden" id="lineIndex" name="lineIndex">
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/highcharts/highstock.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/plugin/highcharts/export.js"></script>
<script src="${ctx}/js/plugin/highcharts/highchart-ZH.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/layui/layui.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.contextMenu.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.cleverTabs.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.exhide.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.exhide.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.excheck.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.dataTables.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script>
var picWidth = $(window).width() - 280;
$("#main_right").css("width", picWidth);
var picHeight = $(window).height();
$("#main_right").css("height", picHeight);
document.getElementById("main_right").src = "abnormLimits";
</script>
</body>
</html>

View File

@@ -0,0 +1,111 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<title>图例</title>
<meta name="description" content="">
<meta name="author" content="">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/jquery/jquery-ui.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style type="text/css">
body, html, #allmap {
width: 100%;
height: 100%;
overflow: hidden;
margin: 0;
font-family: "微软雅黑";
}
.dg-sub b.red {
border-bottom: solid 1px #98af9f;
font-weight: bold;
}
.dg-sub b {
padding: 2px 5px;
color: #666;
font-weight: normal;
}
.left-menu {
top: 5px;
left: 5px;
}
#tj {
min-height: 550px;
}
@media screen and (min-width: 1000px) and (max-width: 1400px) and (max-height: 500px) {
#tj {
min-height: 500px;
}
}
.nav > li > a {
padding: 3px 15px;
}
.middlediv {
background: #FFFFFF;
float: left;
position: absolute;
left: 245px;
}
.imgarrow {
float: left;
margin-left: 0px;
margin-top: 1px;
}
.mainright {
float: left;
margin-left: 1px;
width: 300px;
}
#middle_tree {
}
</style>
</head>
<body>
<div class="bxfx" id="container"></div>
<%--Common Modal --%>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/highcharts/highstock.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/plugin/highcharts/export.js"></script>
<script src="${ctx}/js/plugin/highcharts/export-csv.js"></script>
<script src="${ctx}/js/plugin/highcharts/highchart-ZH.js"></script>
<script src="${ctx}/js/plugin/highcharts/offline-exporting.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/layui/layui.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.contextMenu.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.cleverTabs.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.excheck.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.dataTables.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/jspJS/utils/historyUtils.js"></script>
<script src="${ctx}/jspJS/assessmentsis/abnormLimitDraw.js"></script>
<script>
</script>
</body>
</html>

View File

@@ -0,0 +1,245 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>异常数据统计</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet"
href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/js/plugin/layui/css/layui.css">
<link rel="stylesheet" href="${ctx}/css/plugin/mulitiCheckbox/hsCheckData.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/buttons.dataTables.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/jquery/jquery-ui.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet"
href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/bootstrap-select.css"/>
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
html, body {
background-color: #F9F9F9 !important;
font-size: 12px;
overflow: hidden;
}
.btn {
font-size: 12px
}
.buttons-html5 {
height: 22px;
}
a {
color: #003078;
text-decoration: underline;
}
a:link, a:visited, a:hover, a:active {
text-decoration: underline;
}
.dt-buttons a {
text-decoration: none;
}
</style>
</head>
<body>
<div class="container-fluid fr" style="margin-bottom: 5px;">
<div class="form-inline header" style="margin-top:2px;position: relative;z-index: 99">
<%@include file="../../include/time.jsp" %>
<div id="harmonic" style="display: none;">
<label class="ml15">谐波次数:</label>
<select multiple data-width="140px" data-none-selected-text="--请选择--" class="selectpicker vermiddle"
id="times"
readonly="">
<option value="-1">全部</option>
<option value="-2">偶次</option>
<option value="-3">奇次</option>
</select>
</div>
<div id="harmonicInHarm" style="display: none;">
<label class="ml15">间谐波次数:</label>
<select multiple data-width="140px" data-none-selected-text="--请选择--" class="selectpicker vermiddle"
id="harmonicInHarms"
readonly="">
<option value="-1">全部</option>
</select>
</div>
<%--查询--%>
<div class="form-group">
<button type="button" class="btn btn-primary" id="query" style="margin-right: 2px;">
<i class="glyphicon glyphicon-search"></i>
</button>
</div>
</div>
</div>
<%-- 指标 --%>
<div class="float-open" id="float-open"
style="right: 7px; float: right;">
<a id="open-btn" href="javascript:void(0);"><i class="fa fa-arrow-circle-o-left"
style="font-size: 33px"></i></a>
</div>
<div class="float-news" id="float-news"
style="right: -450px; float: right; height: 65%">
<a id="float-close" href="javascript:void(0);"><i
class="fa fa-remove" style="font-size: 33px;margin-left: 160px;"></i></a>
<div style="margin-top: -30px;">
<h3>指标</h3>
<div id="target" class="ztree" style="overflow-y: auto"></div>
</div>
</div>
<div style="width: 100%;">
<table id="tableId"
class="table table-striped table-bordered dataTable no-footer table-hover table-condensed"
cellspacing="0" width="100%" role="grid"
aria-describedby="example_info">
<thead>
<tr role="row">
<th class="text-center">变电站</th>
<th class="text-center">监测点名称</th>
<th class="text-center">指标类型</th>
<th class="text-center">相别</th>
<th class="text-center">电压等级</th>
<th class="text-center">时间</th>
<th class="text-center">单位</th>
<th class="text-center">最大值</th>
<th class="text-center">最小值</th>
<th class="text-center">平均值</th>
<th class="text-center">95概率值</th>
</tr>
</thead>
</table>
</div>
<input type="hidden" id="obj_Search"
name="obj_Search">
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/highcharts/lodash.min.js"></script>
<script src="${ctx}/js/plugin/highcharts/highstock.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/plugin/highcharts/export.js"></script>
<script src="${ctx}/js/plugin/highcharts/offline-exporting.js"></script>
<script src="${ctx}/js/plugin/highcharts/highchart-ZH.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/layui/layui.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.contextMenu.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.cleverTabs.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.excheck.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.dataTables.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/js/plugin/bootstrap/3.3.7/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-select.js"></script>
<script src="${ctx}/js/plugin/datatables/dataTables.buttons.min.js"></script>
<script src="${ctx}/js/plugin/datatables/buttons.html5.min.js"></script>
<script src="${ctx}/js/plugin/mulitiCheckbox/hsCheckData.js"></script>
<script src="${ctx}/jspJS/assessmentsis/abnormLimits.js"></script>
<script>
$("#interval").val("周");
$(function () {
$("#float-close").click(function () {
$(".float-news").animate({
right: '-450px'
}, 300, function () {
$(".float-open").delay(50).animate({
right: '7px'
}, 300);
});
});
$("#open-btn").click(function () {
$(".float-open").animate({
right: '-70px'
}, 100, function () {
$(".float-news").delay(50).animate({
right: '10px'
}, 300);
});
});
});
// 右边统计类型tree节点增加数据
var zNodes = [{
id: 1,
pId: 0,
name: "电压趋势",
open: true,
checked: true,
}, {
id: 13,
pId: 1,
name: "电压偏差",
checked: true
}, {
id: 15,
pId: 1,
name: "三相电压不平衡度",
checked: true
}, {
id: 17,
pId: 1,
name: "电压总谐波畸变率"
}, {
id: 2,
pId: 0,
name: "电流趋势",
}, {
id: 23,
pId: 2,
name: "负序电流"
}, {
id: 3,
pId: 0,
name: "频率趋势",
}, {
id: 31,
pId: 3,
name: "频率偏差"
}, {
id: 4,
pId: 0,
name: "谐波趋势",
}, {
id: 41,
pId: 4,
name: "谐波电压含有率"
}, {
id: 42,
pId: 4,
name: "谐波电流幅值"
}, {
id: 43,
pId: 4,
name: "间谐波电压含有率"
}, {
id: 6,
pId: 0,
name: "闪变趋势",
}, {
id: 62,
pId: 6,
name: "长时电压闪变"
}];
for (var i = 2; i < 26; i++) {
$('#times').append("<option value='" + i + "'>" + i + "次</option>");
}
for (var j = 1; j < 17; j++) {
$('#harmonicInHarms').append("<option value='" + j + "'>" + (j-0.5) + "次</option>");
}
</script>
</body>
</html>

View File

@@ -0,0 +1,176 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>历史谐波频谱</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/jquery/jquery-ui.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<style>
ul {
padding: 0 2px;
border: 1px solid #696969;
border-radius: 4px;
}
.xieboTtitle {
clear: both;
}
.form-control {
font-size: 12px;
padding: 4px 12px !important;
height: 25px;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="form-inline mt5 pr">
<%@include file="../../include/time.jsp" %>
<div class="form-inline pdr15" style="display: inline-block;">
<button type="button" class="btn btn-primary" id="query">
<i class="glyphicon glyphicon-search"></i>
</button>
</div>
</div>
<div class="container-fluid" id="outI">
<ul class="nav nav-pills nav-justified mt10" id="qualifiedTab">
<li class="active"><a href="#frequency" data-toggle="tab" id="allData">谐波电压含有率</a></li>
<li><a href="#frequency" data-toggle="tab" id="vuDev">谐波电流幅值</a></li>
</ul>
</div>
<div class="xieboTtitle" style="text-align: center;font-size: 18px" id="point"></div>
<div id="divtable" class="mt5" style="display: none">
<table id="example"
class="table table-striped table-bordered dataTable no-footer"
cellspacing="0">
<thead>
<tr role="row">
<th class="text-center">次数</th>
<th class="text-center">2</th>
<th class="text-center">3</th>
<th class="text-center">4</th>
<th class="text-center">5</th>
<th class="text-center">6</th>
<th class="text-center">7</th>
<th class="text-center">8</th>
<th class="text-center">9</th>
<th class="text-center">10</th>
<th class="text-center">11</th>
<th class="text-center">12</th>
<th class="text-center">13</th>
<th class="text-center">14</th>
<th class="text-center">15</th>
<th class="text-center">16</th>
<th class="text-center">17</th>
<th class="text-center">18</th>
<th class="text-center">19</th>
<th class="text-center">20</th>
<th class="text-center">21</th>
<th class="text-center">22</th>
<th class="text-center">23</th>
<th class="text-center">24</th>
<th class="text-center">25</th>
<th class="text-center">26</th>
<th class="text-center">27</th>
<th class="text-center">28</th>
<th class="text-center">29</th>
<th class="text-center">30</th>
<th class="text-center">31</th>
<th class="text-center">32</th>
<th class="text-center">33</th>
<th class="text-center">34</th>
<th class="text-center">35</th>
<th class="text-center">36</th>
<th class="text-center">37</th>
<th class="text-center">38</th>
<th class="text-center">39</th>
<th class="text-center">40</th>
<th class="text-center">41</th>
<th class="text-center">42</th>
<th class="text-center">43</th>
<th class="text-center">44</th>
<th class="text-center">45</th>
<th class="text-center">46</th>
<th class="text-center">47</th>
<th class="text-center">48</th>
<th class="text-center">49</th>
<th class="text-center">50</th>
</tr>
</thead>
</table>
</div>
<div id="divtable1" style="display: none">
<table id="example1"
class="table table-striped table-bordered dataTable no-footer"
cellspacing="0">
<thead>
<tr role="row">
<th class="text-center">次数</th>
<th class="text-center">2</th>
<th class="text-center">3</th>
<th class="text-center">4</th>
<th class="text-center">5</th>
<th class="text-center">6</th>
<th class="text-center">7</th>
<th class="text-center">8</th>
<th class="text-center">9</th>
<th class="text-center">10</th>
<th class="text-center">11</th>
<th class="text-center">12</th>
<th class="text-center">13</th>
<th class="text-center">14</th>
<th class="text-center">15</th>
<th class="text-center">16</th>
<th class="text-center">17</th>
<th class="text-center">18</th>
<th class="text-center">19</th>
<th class="text-center">20</th>
<th class="text-center">21</th>
<th class="text-center">22</th>
<th class="text-center">23</th>
<th class="text-center">24</th>
<th class="text-center">25</th>
</tr>
</thead>
</table>
</div>
<div id="container" class="mt10"></div>
</div>
<input type="hidden" id="lineIndex" name="lineIndex">
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.exhide.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.exhide.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.dataTables.js"></script>
<script src="${ctx}/js/plugin/highcharts/highstock.js"></script>
<script src="${ctx}/js/plugin/highcharts/export.js"></script>
<script src="${ctx}/js/plugin/highcharts/offline-exporting.js"></script>
<script src="${ctx}/js/plugin/highcharts/highchart-ZH.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.excheck.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/assessmentsis/harmonic.js"></script>
</body>
</html>

View File

@@ -0,0 +1,120 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<title>历史数据</title>
<meta name="description" content="">
<meta name="author" content="">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/jquery/jquery-ui.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style type="text/css">
body, html, #allmap {
width: 100%;
height: 100%;
overflow: hidden;
margin: 0;
font-family: "微软雅黑";
}
.dg-sub b.red {
border-bottom: solid 1px #98af9f;
font-weight: bold;
}
.dg-sub b {
padding: 2px 5px;
color: #666;
font-weight: normal;
}
.left-menu {
top: 5px;
left: 5px;
}
#tj {
min-height: 550px;
}
@media screen and (min-width: 1000px) and (max-width: 1400px) and (max-height: 500px) {
#tj {
min-height: 500px;
}
}
.nav > li > a {
padding: 3px 15px;
}
.middlediv {
background: #FFFFFF;
float: left;
position: absolute;
left: 285px;
}
.imgarrow {
float: left;
margin-left: 0px;
margin-top: 1px;
}
.mainright {
float: left;
margin-left: 1px;
}
#middle_tree {
}
</style>
</head>
<body>
<%@include file="../../include/deviceTree.jsp" %>
<div class="row" style="background:#fff;">
<%--中间操作区域--%>
<div id="middle_div" class="middlediv" style="width:100%;margin-left:0%">
<iframe class="mainright" id="main_right" scrolling="no"
name="main_right" frameborder="0"></iframe>
</div>
</div>
<%--Common Modal --%>
<input type="hidden" id="lineIndex" name="lineIndex">
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/highcharts/highstock.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/plugin/highcharts/export.js"></script>
<script src="${ctx}/js/plugin/highcharts/highchart-ZH.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/layui/layui.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.contextMenu.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.cleverTabs.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.exhide.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.exhide.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.excheck.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.dataTables.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script>
var picWidth = $(window).width() - 320;
$("#main_right").css("width", picWidth);
var picHeight = $(window).height();
$("#main_right").css("height", picHeight);
document.getElementById("main_right").src = "ham";
</script>
</body>
</html>

View File

@@ -0,0 +1,245 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>历史数据</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet"
href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/js/plugin/layui/css/layui.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/jquery/jquery-ui.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet"
href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
html, body {
background-color: #F9F9F9 !important;
font-size: 12px;
overflow: hidden;
}
.form-control {
font-size: 12px;
padding: 4px 12px;
}
.btn {
font-size: 12px
}
.picDiv {
clear: both;
background-color: #fff;
overflow-y: auto;
}
a {
color: #003078;
}
.newslist div{
margin-top: 10px;
position: relative;
height: 100%;
line-height: 30px;
font-size: 14px;
}
</style>
</head>
<body>
<div class="container-fluid fr">
<div class="form-inline header" style="margin-top:2px;position: relative;z-index: 99">
<div class="checkbox">
<label class="checkbox" style="font-weight: bold;font-size: 13px">
<input type="checkbox" id="multiply" onclick="c()" style="margin-top: -3px;
vertical-align: middle;
margin-right: 3px;">多监测点
</label>
</div>
<div class="form-group ">
<label style="font-weight: bold;margin-top: 5px">类型:</label>
<select class="form-control" id="choo" onchange='targetState(this[selectedIndex].value)'>
<option id="avg" value="0">平均值</option>
<option id="max" value="1">最大值</option>
<option id="min" value="2">最小值</option>
<option id="cp95" value="3">CP95</option>
</select>
</div>
<div class="form-group " id="harmonicSelect">
<label style="font-weight: bold;margin-top: 5px">谐波:</label>
<select class="form-control" id="harmonicId" onchange="harmonicState(this[selectedIndex].value)">
</select>
</div>
<div class="form-group " id="harmonicInHarmSelect">
<label style="font-weight: bold;margin-top: 5px">间谐波:</label>
<select class="form-control" id="harmonicInHarmId" onchange="harmonicInState(this[selectedIndex].value)">
</select>
</div>
<%@include file="../../include/time.jsp" %>
<label class="form-group">时:</label>
<div class="form-group has-feedback">
<select class="form-control" id="start">
<option value="00" selected="selected">00</option>
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
</select>
</div>&nbsp;—
<div class="form-group">
<select class="form-control" id="end">
<option value="00">01</option>
<option value="01">02</option>
<option value="02">03</option>
<option value="03">04</option>
<option value="04">05</option>
<option value="05">06</option>
<option value="06">07</option>
<option value="07">08</option>
<option value="08">09</option>
<option value="09">10</option>
<option value="10">11</option>
<option value="11">12</option>
<option value="12">13</option>
<option value="13">14</option>
<option value="14">15</option>
<option value="15">16</option>
<option value="16">17</option>
<option value="17">18</option>
<option value="18">19</option>
<option value="19">20</option>
<option value="20">21</option>
<option value="21">22</option>
<option value="22">23</option>
<option value="23" selected="selected">24</option>
</select>
</div>
<%--查询--%>
<div class="form-group">
<button type="button" class="btn btn-primary" id="query">
<i class="glyphicon glyphicon-search"></i>
</button>
</div>
<div class="form-group">
<button type="button" class="njcn btn themeBGColor" id="btnfullScreen">
<i class="glyphicon glyphicon-resize-full" title="全屏" aria-hidden="true"></i>
</button>
</div>
</div>
</div>
<%-- 指标 --%>
<div class="float-open" id="float-open"
style="right: 7px; float: right;">
<a id="open-btn" href="javascript:void(0);"><i class="fa fa-arrow-circle-o-left"
style="font-size: 33px"></i></a>
</div>
<div class="float-news" id="float-news"
style="right: -450px; float: right; height: 70%;width: 19%">
<a id="float-close" href="javascript:void(0);"><i
class="fa fa-remove" style="font-size: 33px;margin-left: 160px;"></i></a>
<div class="newslist" style="margin-top: -46px;">
<h3>指标</h3>
<div id="target" class="ztree" style="overflow-y: auto"></div>
</div>
</div>
<div class="picDiv" id="echartId" style="width: 98%">
<div id="point" class="a"
style="max-width: 98%; max-height:100%;display: none">
<li id="pointInfo" style="font-size: 20px;text-align: center"></li>
<img src="${ctx}/images/timg.png" id="imgs">
</div>
<div class="bxfx" id="container1"></div>
<div class="bxfx" id="container2"></div>
<div class="bxfx" id="container3"></div>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/highcharts/lodash.min.js"></script>
<script src="${ctx}/js/plugin/highcharts/highstock.js"></script>
<script src="${ctx}/js/plugin/highcharts/export.js"></script>
<script src="${ctx}/js/plugin/highcharts/export-csv.js"></script>
<script src="${ctx}/js/plugin/highcharts/offline-exporting.js"></script>
<script src="${ctx}/js/plugin/highcharts/highchart-ZH.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.exhide.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.exhide.min.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.excheck.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.dataTables.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/jspJS/utils/historyUtils.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/assessmentsis/history.js"></script>
<script>
$("#interval").val("自定义");
$(function () {
$("#float-close").click(function () {
$(".float-news").animate({
right: '-450px'
}, 300, function () {
$(".float-open").delay(50).animate({
right: '7px'
}, 300);
});
});
$("#open-btn").click(function () {
$(".float-open").animate({
right: '-70px'
}, 100, function () {
$(".float-news").delay(50).animate({
right: '10px'
}, 300);
});
});
})
function c() {
if ($("#multiply").is(":checked")) {
changeState(true);
ismult = true;
} else {
changeState(false);
ismult = false;
}
}
</script>
</body>
</html>

View File

@@ -0,0 +1,117 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<title>历史数据</title>
<meta name="description" content="">
<meta name="author" content="">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/jquery/jquery-ui.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style type="text/css">
body, html, #allmap {
width: 100%;
height: 100%;
overflow: hidden;
margin: 0;
font-family: "微软雅黑";
}
.dg-sub b.red {
border-bottom: solid 1px #98af9f;
font-weight: bold;
}
.dg-sub b {
padding: 2px 5px;
color: #666;
font-weight: normal;
}
.left-menu {
top: 5px;
left: 5px;
}
#tj {
min-height: 550px;
}
@media screen and (min-width: 1000px) and (max-width: 1400px) and (max-height: 500px) {
#tj {
min-height: 500px;
}
}
.nav > li > a {
padding: 3px 15px;
}
.middlediv {
background: #FFFFFF;
float: left;
position: absolute;
left: 280px;
}
.imgarrow {
float: left;
margin-left: 0px;
margin-top: 1px;
}
#middle_tree {
}
</style>
</head>
<body>
<%@include file="../../include/deviceTree.jsp" %>
<div class="row" style="background:#fff;">
<%--中间操作区域--%>
<div id="middle_div" class="middlediv" style="width:100%;">
<iframe class="mainright" id="main_right" scrolling="no"
name="main_right" style="width: 98%" frameborder="0"></iframe>
</div>
</div>
<%--Common Modal --%>
<input type="hidden" id="lineIndex" name="lineIndex">
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/highcharts/highstock.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/plugin/highcharts/export.js"></script>
<script src="${ctx}/js/plugin/highcharts/highchart-ZH.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/layui/layui.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.contextMenu.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.cleverTabs.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.exhide.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.exhide.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.excheck.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.dataTables.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script>
var picWidth = $(window).width() - 280;
$("#main_right").css("width", picWidth);
var pttypes = window.parent.pttype;
var picHeight = $(window).height();
$("#main_right").css("height", picHeight);
document.getElementById("main_right").src = "his";
</script>
</body>
</html>

View File

@@ -0,0 +1,123 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<title>历史数据</title>
<meta name="description" content="">
<meta name="author" content="">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/jquery/jquery-ui.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style type="text/css">
body, html, #allmap {
width: 100%;
height: 100%;
overflow: hidden;
margin: 0;
font-family: "微软雅黑";
}
.dg-sub b.red {
border-bottom: solid 1px #98af9f;
font-weight: bold;
}
.dg-sub b {
padding: 2px 5px;
color: #666;
font-weight: normal;
}
.left-menu {
top: 5px;
left: 5px;
}
#tj {
min-height: 550px;
}
@media screen and (min-width: 1000px) and (max-width: 1400px) and (max-height: 500px) {
#tj {
min-height: 500px;
}
}
.nav > li > a {
padding: 3px 15px;
}
.middlediv {
background: #FFFFFF;
float: left;
position: absolute;
left: 280px;
}
.imgarrow {
float: left;
margin-left: 0px;
margin-top: 1px;
}
.mainright {
float: left;
margin-left: 1px;
width: 300px;
}
#middle_tree {
}
</style>
</head>
<body>
<%@include file="../../include/deviceTree.jsp" %>
<div class="row" style="background:#fff;">
<%--中间操作区域--%>
<div id="middle_div" class="middlediv" style="width:100%;">
<iframe class="mainright" id="main_right" scrolling="no"
name="main_right" frameborder="0"></iframe>
</div>
</div>
<%--Common Modal --%>
<input type="hidden" id="lineIndex" name="lineIndex">
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/highcharts/highstock.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/plugin/highcharts/export.js"></script>
<script src="${ctx}/js/plugin/highcharts/highchart-ZH.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/layui/layui.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.contextMenu.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.cleverTabs.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.exhide.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.exhide.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.excheck.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.dataTables.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script>
var picWidth = $(window).width() - 280;
$("#main_right").css("width", picWidth);
var picHeight = $(window).height();
$("#main_right").css("height", picHeight);
document.getElementById("main_right").src = "normLimits";
</script>
</body>
</html>

View File

@@ -0,0 +1,113 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<title>图例</title>
<meta name="description" content="">
<meta name="author" content="">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/jquery/jquery-ui.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style type="text/css">
body, html, #allmap {
width: 100%;
height: 100%;
overflow: hidden;
margin: 0;
font-family: "微软雅黑";
}
.dg-sub b.red {
border-bottom: solid 1px #98af9f;
font-weight: bold;
}
.dg-sub b {
padding: 2px 5px;
color: #666;
font-weight: normal;
}
.left-menu {
top: 5px;
left: 5px;
}
#tj {
min-height: 550px;
}
@media screen and (min-width: 1000px) and (max-width: 1400px) and (max-height: 500px) {
#tj {
min-height: 500px;
}
}
.nav > li > a {
padding: 3px 15px;
}
.middlediv {
background: #FFFFFF;
float: left;
position: absolute;
left: 245px;
}
.imgarrow {
float: left;
margin-left: 0px;
margin-top: 1px;
}
.mainright {
float: left;
margin-left: 1px;
width: 300px;
}
#middle_tree {
}
</style>
</head>
<body>
<div class="bxfx" id="container"></div>
<%--Common Modal --%>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/highcharts/highstock.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/plugin/highcharts/export.js"></script>
<script src="${ctx}/js/plugin/highcharts/export-csv.js"></script>
<script src="${ctx}/js/plugin/highcharts/highchart-ZH.js"></script>
<script src="${ctx}/js/plugin/highcharts/offline-exporting.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/layui/layui.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.contextMenu.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.cleverTabs.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.exhide.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.exhide.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.excheck.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.dataTables.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/jspJS/utils/historyUtils.js"></script>
<script src="${ctx}/jspJS/assessmentsis/normLimitDraw.js"></script>
<script>
</script>
</body>
</html>

View File

@@ -0,0 +1,253 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>稳态指标统计</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet"
href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/js/plugin/layui/css/layui.css">
<link rel="stylesheet" href="${ctx}/css/plugin/mulitiCheckbox/hsCheckData.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/buttons.dataTables.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/jquery/jquery-ui.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet"
href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/bootstrap-select.css"/>
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
html, body {
background-color: #F9F9F9 !important;
font-size: 12px;
overflow: hidden;
}
.btn {
font-size: 12px
}
.buttons-html5 {
height: 22px;
}
a {
color: #003078;
text-decoration: underline;
}
a:link, a:visited, a:hover, a:active {
text-decoration: underline;
}
.dt-buttons a {
text-decoration: none;
}
</style>
</head>
<body>
<div class="container-fluid fr" style="margin-bottom: 5px;">
<div class="form-inline header" style="margin-top:2px;position: relative;z-index: 99">
<%@include file="../../include/time.jsp" %>
<label class="ml15">数据类型:</label>
<select class="form-control" id="type" readonly="">
<option value="全部">全部</option>
<option value="合格">合格</option>
<option value="不合格">不合格</option>
</select>
<div id="harmonic" style="display: none;">
<label class="ml15">谐波次数:</label>
<select multiple data-width="140px" data-none-selected-text="--请选择--" class="selectpicker vermiddle"
id="times"
readonly="">
<option value="-1">全部</option>
<option value="-2">偶次</option>
<option value="-3">奇次</option>
</select>
</div>
<div id="harmonicInHarm" style="display: none;">
<label class="ml15">间谐波次数:</label>
<select multiple data-width="140px" data-none-selected-text="--请选择--" class="selectpicker vermiddle"
id="harmonicInHarms"
readonly="">
<option value="-1">全部</option>
</select>
</div>
<%--查询--%>
<div class="form-group">
<button type="button" class="btn btn-primary" id="query" style="margin-right: 2px;">
<i class="glyphicon glyphicon-search"></i>
</button>
</div>
</div>
</div>
<%-- 指标 --%>
<div class="float-open" id="float-open"
style="right: 7px; float: right;">
<a id="open-btn" href="javascript:void(0);"><i class="fa fa-arrow-circle-o-left"
style="font-size: 33px"></i></a>
</div>
<div class="float-news" id="float-news"
style="right: -450px; float: right; height: 65%">
<a id="float-close" href="javascript:void(0);"><i
class="fa fa-remove" style="font-size: 33px;margin-left: 160px;"></i></a>
<div style="margin-top: -30px;">
<h3>指标</h3>
<div id="target" class="ztree" style="overflow-y: auto"></div>
</div>
</div>
<div style="width: 100%;">
<table id="tableId"
class="table table-striped table-bordered dataTable no-footer table-hover table-condensed"
cellspacing="0" width="100%" role="grid"
aria-describedby="example_info">
<thead>
<tr role="row">
<th class="text-center">变电站</th>
<th class="text-center">监测点名称</th>
<th class="text-center">指标类型</th>
<th class="text-center">相别</th>
<th class="text-center">电压等级</th>
<th class="text-center">时间</th>
<th class="text-center">单位</th>
<th class="text-center">最大值</th>
<th class="text-center">最小值</th>
<th class="text-center">平均值</th>
<th class="text-center">95概率值</th>
<th class="text-center">是否合格</th>
</tr>
</thead>
</table>
</div>
<input type="hidden" id="obj_Search" name="obj_Search">
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/highcharts/lodash.min.js"></script>
<script src="${ctx}/js/plugin/highcharts/highstock.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/plugin/highcharts/export.js"></script>
<script src="${ctx}/js/plugin/highcharts/offline-exporting.js"></script>
<script src="${ctx}/js/plugin/highcharts/highchart-ZH.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/layui/layui.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.contextMenu.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.cleverTabs.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.exhide.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.exhide.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.excheck.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.dataTables.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/js/plugin/bootstrap/3.3.7/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-select.js"></script>
<script src="${ctx}/js/plugin/datatables/dataTables.buttons.min.js"></script>
<script src="${ctx}/js/plugin/datatables/buttons.html5.min.js"></script>
<script src="${ctx}/js/plugin/mulitiCheckbox/hsCheckData.js"></script>
<script src="${ctx}/jspJS/assessmentsis/normLimits.js"></script>
<script>
$("#interval").val("周");
$(function () {
$("#float-close").click(function () {
$(".float-news").animate({
right: '-450px'
}, 300, function () {
$(".float-open").delay(50).animate({
right: '7px'
}, 300);
});
});
$("#open-btn").click(function () {
$(".float-open").animate({
right: '-70px'
}, 100, function () {
$(".float-news").delay(50).animate({
right: '10px'
}, 300);
});
});
});
// 右边统计类型tree节点增加数据
var zNodes = [{
id: 1,
pId: 0,
name: "电压趋势",
open: true,
checked: true,
}, {
id: 13,
pId: 1,
name: "电压偏差",
checked: true
}, {
id: 15,
pId: 1,
name: "三相电压不平衡度",
checked: true
}, {
id: 17,
pId: 1,
name: "电压总谐波畸变率"
}, {
id: 2,
pId: 0,
name: "电流趋势",
}, {
id: 23,
pId: 2,
name: "负序电流"
}, {
id: 3,
pId: 0,
name: "频率趋势",
}, {
id: 31,
pId: 3,
name: "频率偏差"
}, {
id: 4,
pId: 0,
name: "谐波趋势",
}, {
id: 41,
pId: 4,
name: "谐波电压含有率"
}, {
id: 42,
pId: 4,
name: "谐波电流幅值"
}, {
id: 43,
pId: 4,
name: "间谐波电压含有率"
}, {
id: 6,
pId: 0,
name: "闪变趋势",
}, {
id: 62,
pId: 6,
name: "长时电压闪变"
}];
for (var i = 2; i < 26; i++) {
$('#times').append("<option value='" + i + "'>" + i + "次</option>");
}
for (var j = 1; j < 17; j++) {
$('#harmonicInHarms').append("<option value='" + j + "'>" + (j-0.5) + "次</option>");
}
</script>
</body>
</html>

View File

@@ -0,0 +1,358 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>电度数据导出</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet"
href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/jquery/jquery-ui.css">
<link rel="stylesheet"
href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<link rel="stylesheet" href="${ctx}/js/plugin/layui/css/layui.css"
media="all">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
html, body {
background-color: #F9F9F9 !important;
font-size: 12px;
overflow: hidden;
}
.form-control {
font-size: 12px;
padding: 4px 12px;
}
.btn {
font-size: 12px
}
.picDiv {
clear: both;
background-color: #fff;
overflow-y: auto;
}
a {
color: #003078;
}
.newslist div {
margin-top: 10px;
position: relative;
height: 100%;
line-height: 30px;
font-size: 14px;
}
</style>
</head>
<body>
<div class="container-fluid fr">
<div class="form-inline header" style="margin-top:2px;position: relative;z-index: 99">
<%@include file="../../include/time.jsp" %>
<%--导出--%>
<button type="button" class="btn btn-primary" id="uploadCsv" title="导出电度数据">
<i class="glyphicon glyphicon-share"></i>
</button>
</div>
</div>
<div style="padding: 10px;">
<form class="layui-form" action="/pqs9000/plate/getCreaExcelResult" id="download_form" method="post">
<div id="rightContent"
style="position: absolute;left:20px;right: 20px; top: 65px; bottom: 0; z-index: 1;">
<table class="table layui-layout-body" id="jcd" frame="border" rules="groups"
style="font-size: 14px; border-collapse: initial;overflow-y: scroll;">
<tr>
<td align="center" colspan="2">
<div class="title_1 fr">
所选监测点:<a href="#" id="lineName" style="color: black;">暂未选中监测点</a>
</div>
</td>
</tr>
<tr>
<td align="center">
<div class="title">三相总有功电能</div>
</td>
<td align="left">
<input type="checkbox" id="zxygdn" title="正向有功电能" lay-skin="primary">
<input type="checkbox" id="fxygdn" title="反向有功电能" lay-skin="primary">
<input type="checkbox" id="zhygdn" title="组合有功电能" lay-skin="primary">
</td>
</tr>
<tr>
<td align="center">
<div class="title">三相总无功电能</div>
</td>
<td align="left">
<input type="checkbox" title="I象限无功电能" lay-skin="primary" id="oneXxwgdn">
<input type="checkbox" title="II象限无功电能" lay-skin="primary" id="twoXxwgdn">
<input type="checkbox" title="III象限无功电能" lay-skin="primary" id="threeXxwgdn">
<input type="checkbox" title="IV象限无功电能" lay-skin="primary" id="fourXxwgdn">
<input type="checkbox" title="组合1无功电能" lay-skin="primary" id="oneComXxwgdn">
<input type="checkbox" title="组合2无功电能" lay-skin="primary" id="twoComXxwgdn">
</td>
</tr>
<tr>
<td align="center">
<div class="title">三相总视在电能</div>
</td>
<td align="left">
<input type="checkbox" id="zxszdn" title="正向视在电能" lay-skin="primary">
<input type="checkbox" id="fxszdn" title="反向视在电能" lay-skin="primary">
</td>
</tr>
<tr>
<td align="center">
<div class="title">三相总基波有功电能</div>
</td>
<td align="left">
<input type="checkbox" id="jbzxygdn" title="正向基波有功电能" lay-skin="primary">
<input type="checkbox" id="jbfxygdn" title="反向基波有功电能" lay-skin="primary">
<input type="checkbox" id="jbzhygdn" title="组合基波有功电能" lay-skin="primary">
</td>
</tr>
<tr>
<td align="center">
<div class="title">三相总基波无功电能</div>
</td>
<td align="left">
<input type="checkbox" title="I象限基波无功电能" lay-skin="primary" id="oneXxjbwgdn">
<input type="checkbox" title="II象限基波无功电能" lay-skin="primary" id="twoXxjbwgdn">
<input type="checkbox" title="III象限基波无功电能" lay-skin="primary" id="threeXxjbwgdn">
<input type="checkbox" title="IV象限基波无功电能" lay-skin="primary" id="fourXxjbwgdn">
<input type="checkbox" title="组合1基波无功电能" lay-skin="primary" id="oneComXxjbwgdn">
<input type="checkbox" title="组合2基波无功电能" lay-skin="primary" id="twoComXxjbwgdn">
</td>
</tr>
<tr>
<td align="center">
<div class="title">三相总谐波有功电能</div>
</td>
<td align="left">
<input type="checkbox" id="zxxbygdn" title="正向谐波有功电能" lay-skin="primary">
<input type="checkbox" id="fxxbygdn" title="反向谐波有功电能" lay-skin="primary">
<input type="checkbox" id="zhxbygdn" title="组合谐波有功电能" lay-skin="primary">
</td>
</tr>
<tr>
<td align="center">
<div class="title">三相总谐波无功电能</div>
</td>
<td align="left">
<input type="checkbox" title="I象限谐波无功电能" lay-skin="primary" id="oneXxxbwgdn">
<input type="checkbox" title="II象限谐波无功电能" lay-skin="primary" id="twoXxxbwgdn">
<input type="checkbox" title="III象限谐波无功电能" lay-skin="primary" id="threeXxxbwgdn">
<input type="checkbox" title="IV象限谐波无功电能" lay-skin="primary" id="fourXxxbwgdn">
<input type="checkbox" title="组合1谐波无功电能" lay-skin="primary" id="oneComXxxbwgdn">
<input type="checkbox" title="组合2谐波无功电能" lay-skin="primary" id="twoComXxxbwgdn">
</td>
</tr>
</table>
</div>
<input type="hidden" id="page_data" class="layui-inline" name="userList">
</form>
</div>
<script src="${ctx}/js/plugin/jquery.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/plugin/layui/layui.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<%--<script src="${ctx}/jspJS/assessmentsis/plateReport.js"></script>--%>
<script>
layui.use('form', function () {
var form = layui.form;
});
$("#interval option[value='自定义']").remove();
$("#interval option[value='周']").remove();
$("#interval").val("月份");
$("#lineName").text(parent.jcdxq);
var lineIndex = parent.$("#lineIndex").val();
$("#uploadCsv").click(function () {
var startTime = $("#startTime").val() + ' 00:00:00';// 起始时间
var endTime = $("#endTime").val() + ' 23:59:59';// 结束时间
var intervalNum;
if ($("#interval").val() == "月份") {
intervalNum = 1;
} else if($("#interval").val() == "季度"){
intervalNum = 2;
}else {
intervalNum = 3;
}
var jsonArr;
var condition = [];//指标
var conditionyg = [], conditionwg = [], conditionsz = [], conditionjbyg = [], conditionjbwg = [],
conditionxbyg = [], conditionxbwg = [];
var valueYGTypeNum = [], valueWGTypeNum = [], valueSZTypeNum = [], valueJBYGTypeNum = [], valueJBWGTypeNum = [],
valueXBYGTypeNum = [], valueXBWGTypeNum = [];
<%--三相总有功电能--%>
if ($("#zxygdn").is(":checked")) {
valueYGTypeNum.push(1);
}
if ($("#fxygdn").is(":checked")) {
valueYGTypeNum.push(2);
}
if ($("#zhygdn").is(":checked")) {
valueYGTypeNum.push(3);
}
if (valueYGTypeNum.length > 0) {
conditionyg = {
id: '111',
valueTypeNum: valueYGTypeNum
}
condition.push(conditionyg);
}
<%--三相总无功电能--%>
if ($("#oneXxwgdn").is(":checked")) {
valueWGTypeNum.push(1);
}
if ($("#twoXxwgdn").is(":checked")) {
valueWGTypeNum.push(2);
}
if ($("#threeXxwgdn").is(":checked")) {
valueWGTypeNum.push(3);
}
if ($("#fourXxwgdn").is(":checked")) {
valueWGTypeNum.push(4);
}
if ($("#oneComXxwgdn").is(":checked")) {
valueWGTypeNum.push(5);
}
if ($("#twoComXxwgdn").is(":checked")) {
valueWGTypeNum.push(6);
}
if (valueWGTypeNum.length > 0) {
conditionwg = {
id: '121',
valueTypeNum: valueWGTypeNum
}
condition.push(conditionwg);
}
<%--三相总视在电能--%>
if ($("#zxszdn").is(":checked")) {
valueSZTypeNum.push(1);
}
if ($("#fxszdn").is(":checked")) {
valueSZTypeNum.push(2);
}
if (valueSZTypeNum.length > 0) {
conditionsz = {
id: '131',
valueTypeNum: valueSZTypeNum
}
condition.push(conditionsz);
}
<%--三相总基波有功电能--%>
if ($("#jbzxygdn").is(":checked")) {
valueJBYGTypeNum.push(1);
}
if ($("#jbfxygdn").is(":checked")) {
valueJBYGTypeNum.push(2);
}
if ($("#jbzhygdn").is(":checked")) {
valueJBYGTypeNum.push(3);
}
if (valueJBYGTypeNum.length > 0) {
conditionjbyg = {
id: '141',
valueTypeNum: valueJBYGTypeNum
}
condition.push(conditionjbyg);
}
<%--三相总基波无功电能--%>
if ($("#oneXxjbwgdn").is(":checked")) {
valueJBWGTypeNum.push(1);
}
if ($("#twoXxjbwgdn").is(":checked")) {
valueJBWGTypeNum.push(2);
}
if ($("#threeXxjbwgdn").is(":checked")) {
valueJBWGTypeNum.push(3);
}
if ($("#fourXxjbwgdn").is(":checked")) {
valueJBWGTypeNum.push(4);
}
if ($("#oneComXxjbwgdn").is(":checked")) {
valueJBWGTypeNum.push(5);
}
if ($("#twoComXxjbwgdn").is(":checked")) {
valueJBWGTypeNum.push(6);
}
if (valueJBWGTypeNum.length > 0) {
conditionjbwg = {
id: '151',
valueTypeNum: valueJBWGTypeNum
}
condition.push(conditionjbwg);
}
<%--三相总谐波有功电能--%>
if ($("#zxxbygdn").is(":checked")) {
valueXBYGTypeNum.push(1);
}
if ($("#fxxbygdn").is(":checked")) {
valueXBYGTypeNum.push(2);
}
if ($("#zhxbygdn").is(":checked")) {
valueXBYGTypeNum.push(3);
}
if (valueXBYGTypeNum.length > 0) {
conditionxbyg = {
id: '161',
valueTypeNum: valueXBYGTypeNum
}
condition.push(conditionxbyg);
}
<%--三相总谐波无功电能--%>
if ($("#oneXxxbwgdn").is(":checked")) {
valueXBWGTypeNum.push(1);
}
if ($("#twoXxxbwgdn").is(":checked")) {
valueXBWGTypeNum.push(2);
}
if ($("#threeXxxbwgdn").is(":checked")) {
valueXBWGTypeNum.push(3);
}
if ($("#fourXxxbwgdn").is(":checked")) {
valueXBWGTypeNum.push(4);
}
if ($("#oneComXxxbwgdn").is(":checked")) {
valueXBWGTypeNum.push(5);
}
if ($("#twoComXxxbwgdn").is(":checked")) {
valueXBWGTypeNum.push(6);
}
if (valueXBWGTypeNum.length > 0) {
conditionxbwg = {
id: '171',
valueTypeNum: valueXBWGTypeNum
}
condition.push(conditionxbwg);
}
jsonArr = {
startTime: startTime,
endTime: endTime,
intervalNum: intervalNum,
lineIndex: lineIndex,
condition: condition
}
$('#page_data').val(JSON.stringify(jsonArr));
$("#download_form").submit();
})
</script>
</body>
</html>

View File

@@ -0,0 +1,171 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>电度数据展示</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet"
href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/js/plugin/layui/css/layui.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/jquery/jquery-ui.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet"
href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
html, body {
background-color: #F9F9F9 !important;
font-size: 12px;
overflow: hidden;
}
.form-control {
font-size: 12px;
padding: 4px 12px;
}
.btn {
font-size: 12px
}
.picDiv {
clear: both;
background-color: #fff;
overflow-y: auto;
}
a {
color: #003078;
}
.newslist div {
margin-top: 10px;
position: relative;
height: 100%;
line-height: 30px;
font-size: 14px;
}
</style>
</head>
<body>
<div class="container-fluid fr">
<div class="form-inline header" style="margin-top:2px;position: relative;z-index: 99">
<div class="form-group ">
<label style="font-weight: bold;margin-top: 5px">数据展示:</label>
<select class="form-control" id="dataTail" onchange='getDatail(this[selectedIndex].value)'>
<option value="0">总量方式</option>
<option value="1">增量方式</option>
</select>
</div>
<div class="form-group ">
<label style="font-weight: bold;margin-top: 5px" id="typeName"></label>
<select class="form-control" id="choo" onchange='targetState(this[selectedIndex].value)'>
</select>
</div>
<div class="form-group " id="harmonicSelect">
<label style="font-weight: bold;margin-top: 5px">次数:</label>
<select class="form-control" id="harmonicId" onchange="harmonicState(this[selectedIndex].value)">
</select>
</div>
<%@include file="../../include/time.jsp" %>
<%--查询--%>
<div class="form-group">
<button type="button" class="btn btn-primary" id="query">
<i class="glyphicon glyphicon-search"></i>
</button>
</div>
</div>
</div>
<%-- 指标 --%>
<div class="float-open" id="float-open"
style="right: 7px; float: right;">
<a id="open-btn" href="javascript:void(0);"><i class="fa fa-arrow-circle-o-left"
style="font-size: 33px"></i></a>
</div>
<div class="float-news" id="float-news"
style="right: -450px; float: right; height: 70%;width: 19%">
<a id="float-close" href="javascript:void(0);"><i
class="fa fa-remove" style="font-size: 33px;margin-left: 160px;"></i></a>
<div class="newslist" style="margin-top: -46px;">
<h3>指标</h3>
<div id="target" class="ztree" style="overflow-y: auto"></div>
</div>
</div>
<div class="picDiv" id="echartId" style="width: 98%">
<div id="point" class="a"
style="max-width: 98%; max-height:100%;display: none">
<li id="pointInfo" style="font-size: 20px;text-align: center"></li>
<img
src="${ctx}/images/timg.png" id="imgs">
</div>
<div class="bxfx" id="container1"></div>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/highcharts/lodash.min.js"></script>
<script src="${ctx}/js/plugin/highcharts/highstock.js"></script>
<script src="${ctx}/js/plugin/highcharts/export.js"></script>
<script src="${ctx}/js/plugin/highcharts/export-csv.js"></script>
<script src="${ctx}/js/plugin/highcharts/offline-exporting.js"></script>
<script src="${ctx}/js/plugin/highcharts/highchart-ZH.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.exhide.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.exhide.min.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.excheck.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.dataTables.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/jspJS/utils/plateUtils.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/assessmentsis/plateNormal.js"></script>
<script>
$("#interval").val("自定义");
$(function () {
$("#float-close").click(function () {
$(".float-news").animate({
right: '-450px'
}, 300, function () {
$(".float-open").delay(50).animate({
right: '7px'
}, 300);
});
});
$("#open-btn").click(function () {
$(".float-open").animate({
right: '-70px'
}, 100, function () {
$(".float-news").delay(50).animate({
right: '10px'
}, 300);
});
});
c();
})
function c() {
changeState(true);
ismult = true;
}
</script>
</body>
</html>

View File

@@ -0,0 +1,117 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<title>电度数据展示</title>
<meta name="description" content="">
<meta name="author" content="">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/jquery/jquery-ui.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style type="text/css">
body, html, #allmap {
width: 100%;
height: 100%;
overflow: hidden;
margin: 0;
font-family: "微软雅黑";
}
.dg-sub b.red {
border-bottom: solid 1px #98af9f;
font-weight: bold;
}
.dg-sub b {
padding: 2px 5px;
color: #666;
font-weight: normal;
}
.left-menu {
top: 5px;
left: 5px;
}
#tj {
min-height: 550px;
}
@media screen and (min-width: 1000px) and (max-width: 1400px) and (max-height: 500px) {
#tj {
min-height: 500px;
}
}
.nav > li > a {
padding: 3px 15px;
}
.middlediv {
background: #FFFFFF;
float: left;
position: absolute;
left: 280px;
}
.imgarrow {
float: left;
margin-left: 0px;
margin-top: 1px;
}
#middle_tree {
}
</style>
</head>
<body>
<%@include file="../../include/devicePlateTree.jsp" %>
<div class="row" style="background:#fff;">
<%--中间操作区域--%>
<div id="middle_div" class="middlediv" style="width:100%;">
<iframe class="mainright" id="main_right" scrolling="no"
name="main_right" style="width: 98%" frameborder="0"></iframe>
</div>
</div>
<%--Common Modal --%>
<input type="hidden" id="lineIndex" name="lineIndex">
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/highcharts/highstock.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/plugin/highcharts/export.js"></script>
<script src="${ctx}/js/plugin/highcharts/highchart-ZH.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/layui/layui.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.contextMenu.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.cleverTabs.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.exhide.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.exhide.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.excheck.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.dataTables.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script>
var picWidth = $(window).width() - 280;
$("#main_right").css("width", picWidth);
var pttypes = window.parent.pttype;
var picHeight = $(window).height();
$("#main_right").css("height", picHeight);
document.getElementById("main_right").src = "plate";
</script>
</body>
</html>

View File

@@ -0,0 +1,165 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>电度数据展示</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet"
href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/js/plugin/layui/css/layui.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/jquery/jquery-ui.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet"
href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
html, body {
background-color: #F9F9F9 !important;
font-size: 12px;
overflow: hidden;
}
.form-control {
font-size: 12px;
padding: 4px 12px;
}
.btn {
font-size: 12px
}
.picDiv {
clear: both;
background-color: #fff;
overflow-y: auto;
}
a {
color: #003078;
}
.newslist div {
margin-top: 10px;
position: relative;
height: 100%;
line-height: 30px;
font-size: 14px;
}
</style>
</head>
<body>
<div class="container-fluid fr">
<div class="form-inline header" style="margin-top:2px;position: relative;z-index: 99">
<div class="form-group ">
<label style="font-weight: bold;margin-top: 5px" id="typeName"></label>
<select class="form-control" id="choo" onchange='targetState(this[selectedIndex].value)'>
</select>
</div>
<%@include file="../../include/time.jsp" %>
<%--查询--%>
<div class="form-group">
<button type="button" class="btn btn-primary" id="query">
<i class="glyphicon glyphicon-search"></i>
</button>
</div>
<%--导出--%>
<div class="form-group">
<button type="button" class="btn btn-primary" id="uploadCsv" title="导出电度数据">
<i class="glyphicon glyphicon-share"></i>
</button>
</div>
</div>
</div>
<%-- 指标 --%>
<div class="float-open" id="float-open"
style="right: 7px; float: right;">
<a id="open-btn" href="javascript:void(0);"><i class="fa fa-arrow-circle-o-left"
style="font-size: 33px"></i></a>
</div>
<div class="float-news" id="float-news"
style="right: -450px; float: right; height: 70%;width: 19%">
<a id="float-close" href="javascript:void(0);"><i
class="fa fa-remove" style="font-size: 33px;margin-left: 160px;"></i></a>
<div class="newslist" style="margin-top: -46px;">
<h3>指标</h3>
<div id="target" class="ztree" style="overflow-y: auto"></div>
</div>
</div>
<div class="picDiv" id="echartId" style="width: 98%">
<div id="point" class="a"
style="max-width: 98%; max-height:100%;display: none">
<li id="pointInfo" style="font-size: 20px;text-align: center"></li>
<img src="${ctx}/images/timg.png" id="imgs">
</div>
<div class="bxfx" id="container"></div>
</div>
<input type="hidden" id="jcdxq" name="jcdxq">
<input type="hidden" id="lineIndex" name="lineIndex">
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/highcharts/lodash.min.js"></script>
<script src="${ctx}/js/plugin/highcharts/highstock.js"></script>
<script src="${ctx}/js/plugin/highcharts/export.js"></script>
<script src="${ctx}/js/plugin/highcharts/export-csv.js"></script>
<script src="${ctx}/js/plugin/highcharts/offline-exporting.js"></script>
<script src="${ctx}/js/plugin/highcharts/highchart-ZH.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.exhide.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.exhide.min.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.excheck.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.dataTables.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/jspJS/utils/plateUtils.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/assessmentsis/plateReport.js"></script>
<script>
$("#interval").val("月份");
$(function () {
$("#float-close").click(function () {
$(".float-news").animate({
right: '-450px'
}, 300, function () {
$(".float-open").delay(50).animate({
right: '7px'
}, 300);
});
});
$("#open-btn").click(function () {
$(".float-open").animate({
right: '-70px'
}, 100, function () {
$(".float-news").delay(50).animate({
right: '10px'
}, 300);
});
});
// c();
})
// function c() {
// changeState(true);
// ismult = true;
// }
</script>
</body>
</html>

View File

@@ -0,0 +1,117 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<title>电度数据展示</title>
<meta name="description" content="">
<meta name="author" content="">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/jquery/jquery-ui.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style type="text/css">
body, html, #allmap {
width: 100%;
height: 100%;
overflow: hidden;
margin: 0;
font-family: "微软雅黑";
}
.dg-sub b.red {
border-bottom: solid 1px #98af9f;
font-weight: bold;
}
.dg-sub b {
padding: 2px 5px;
color: #666;
font-weight: normal;
}
.left-menu {
top: 5px;
left: 5px;
}
#tj {
min-height: 550px;
}
@media screen and (min-width: 1000px) and (max-width: 1400px) and (max-height: 500px) {
#tj {
min-height: 500px;
}
}
.nav > li > a {
padding: 3px 15px;
}
.middlediv {
background: #FFFFFF;
float: left;
position: absolute;
left: 280px;
}
.imgarrow {
float: left;
margin-left: 0px;
margin-top: 1px;
}
#middle_tree {
}
</style>
</head>
<body>
<%@include file="../../include/devicePlateTree.jsp" %>
<div class="row" style="background:#fff;">
<%--中间操作区域--%>
<div id="middle_div" class="middlediv" style="width:100%;">
<iframe class="mainright" id="main_right" scrolling="no"
name="main_right" style="width: 98%" frameborder="0"></iframe>
</div>
</div>
<%--Common Modal --%>
<input type="hidden" id="lineIndex" name="lineIndex">
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/highcharts/highstock.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/plugin/highcharts/export.js"></script>
<script src="${ctx}/js/plugin/highcharts/highchart-ZH.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/layui/layui.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.contextMenu.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.cleverTabs.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.exhide.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.exhide.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.excheck.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.dataTables.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script>
var picWidth = $(window).width() - 280;
$("#main_right").css("width", picWidth);
var pttypes = window.parent.pttype;
var picHeight = $(window).height();
$("#main_right").css("height", picHeight);
document.getElementById("main_right").src = "platereport";
</script>
</body>
</html>

View File

@@ -0,0 +1,107 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<title>监测点详情</title>
<meta name="description" content="">
<meta name="author" content="">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style type="text/css">
#pointmap label {
max-width: none;
}
#rightContent label {
max-width: none;
}
</style>
</head>
<body style="padding: 2px">
<table class="table table-bordered" style="table-layout:fixed;">
<tr>
<th colspan="24" class="text-center" id="jcdxx"></th>
</tr>
<tr>
<td colspan="6">变电站:</td>
<td colspan="6" id="jcxl"></td>
<td colspan="6">投运日期:</td>
<td colspan="6" id="tyrq"></td>
</tr>
<tr>
<td colspan="6">厂家:</td>
<td colspan="6" id="cj"></td>
<td colspan="6">型号:</td>
<td colspan="6" id="xh"></td>
</tr>
<tr>
<td colspan="6">网络参数:</td>
<td colspan="6" id="wlcs"></td>
<td colspan="6">通讯状态:</td>
<td colspan="6" id="txzt"></td>
</tr>
<tr>
<td colspan="6">干扰源类型:</td>
<td colspan="6" id="loadtype"></td>
<td colspan="6">监测点对象:</td>
<td colspan="6" id="lineOnject"></td>
</tr>
<tr>
<td colspan="6">行业类型:</td>
<td colspan="6" id="businessType"></td>
<td colspan="6">主接线图:</td>
<td colspan="6" id="wiringDiagram">
<button class="btn btn-primary" style="margin-left: 10px;padding-top: 0px;padding-bottom: 0px" id="demo1">查看</button>
</td>
</tr>
<tr>
<td colspan="6">电压等级(kV):</td>
<td colspan="6" id="dydj"></td>
<td colspan="3">PT变比:</td>
<td colspan="3" id="pt"></td>
<td colspan="3">CT变比:</td>
<td colspan="3" id="ct"></td>
</tr>
<tr>
<td colspan="6">基准短路容量(MVA):</td>
<td colspan="6" id="jzdl"></td>
<td colspan="6">母线最小短路容量(MVA):</td>
<td colspan="6" id="mxdl"></td>
</tr>
<tr>
<td colspan="6">用户协议用电容量(MVA):</td>
<td colspan="6" id="ydrl"></td>
<td colspan="6">供电设备容量(MVA):</td>
<td colspan="6" id="gdrl"></td>
</tr>
<tr id="onlycld">
<td colspan="6">流量套餐(M):</td>
<td colspan="6" id="baseFlow"></td>
<td colspan="3">扩展套餐(M):</td>
<td colspan="3" id="extendFlow"></td>
<td colspan="3">使用占比(%):</td>
<td colspan="3" id="useFlow"></td>
</tr>
<tr>
<td colspan="6">用户联系人:</td>
<td colspan="6" id="owner"></td>
<td colspan="3">职务:</td>
<td colspan="3" id="ownerDuty"></td>
<td colspan="3">联系方式:</td>
<td colspan="3" id="ownerTel"></td>
</tr>
</table>
<%--Common Modal --%>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/assessmentsis/pointInfo.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
</body>
</html>

View File

@@ -0,0 +1,93 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>谐波总畸变率统计</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrapSwitch/bootstrap-switch.min.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/plugin/basicButton.css">
<style>
html, body {
background-color: #F9F9F9 !important;
}
.hide {
display: none;
}
.tipname {
display: none;
position: absolute;
padding: 0 5px;
border-radius: 3px;
box-shadow: 2px 2px 2px 0 #000;
background: #fff;
font-size: 12px;
line-height: 18px;
color: #575757;
}
</style>
</head>
<body style="overflow: hidden">
<div class="container-fluid">
<div class="form-inline header mt10">
<%@include file="../../include/time.jsp" %>
<button id="query" type="button" class="btn btn-primary ml5">
<i class="glyphicon glyphicon-search"></i>
</button>
<div class="form-group fr mr10" id="fliteData">
<label>筛选数据:</label>
<input type="text" class="form-control" onkeyup="searchResult(this.value)" placeholder="空格分开多条件筛选数据">
</div>
</div>
<div>
<table id="harmonicrate"
class="table table-striped table-bordered dataTable no-footer"
cellspacing="0" width="100%" role="grid"
aria-describedby="example_info">
<thead>
<tr>
<th>序号</th>
<th>供电公司</th>
<th>变电站</th>
<th>监测点名称</th>
<th>电压等级</th>
<th>终端IP</th>
<th>总谐波畸变率</th>
</tr>
</thead>
</table>
<div id="pic"></div>
</div>
<div id="tip" class="tipname" style="display: none;"></div>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/echarts/echarts.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.contextMenu.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.cleverTabs.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/plugin/layui/layui.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.dataTables.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/manage/harmonicrate.js"></script>
</body>
</html>

View File

@@ -0,0 +1,168 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>数据完整性详情</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/buttons.dataTables.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/ztree/zTreeStyle.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrapSwitch/bootstrap-switch.min.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/plugin/basicButton.css">
<link rel="stylesheet" href="${ctx}/css/tip.css">
<style>
body {
overflow: hidden;
}
#integritylist {
min-width: 2000px;
}
.tr {
text-align: center;
}
.td {
text-align: center;
height: 48px;
line-height: 48px
}
.table > tbody > tr > td {
padding: 5px;
line-height: 1.42857143;
vertical-align: top;
border-top: 1px solid #ddd;
}
.pagination > li > a, .pagination > li > span {
padding: 6px 12px;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="form-inline header mt10">
<table id="detail" class="table table-striped table-bordered dataTable no-footer width100">
<thead>
<tr>
<th>统计时间</th>
<th>应收数据量(条)</th>
<th>实收数据量(条)</th>
<th>数据完整率(%)</th>
<th>备注</th>
</tr>
</thead>
</table>
</div>
<input id="_startTime" value="${startTime}" hidden>
<input id="_endTime" value="${endTime}" hidden>
<input id="_timeType" value="${timeType}" hidden>
<input id="_lineId" value="${lineId}" hidden>
</body>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
<script src="${ctx}/js/plugin/datatables/dataTables.buttons.min.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/js/plugin/datatables/buttons.html5.min.js"></script>
<script src="${ctx}/js/plugin/bootstrapSwitch/bootstrap-switch.min.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/area.js"></script>
<script src="${ctx}/js/plugin/xss/xss.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/js/color.js"></script>
<script type="text/javascript">
var dataTable = null;
$(function () {
var i;
var startTime = $("#_startTime").val();
var endTime = $("#_endTime").val();
var timeType = $("#_timeType").val();
var lineId = $("#_lineId").val();
//初始化区域
$.ajax({
type: "POST",
url: "/pqs9000/area/integralityDetail",
dataType: 'json',
data: {
timeType: timeType,
startTime: startTime,
endTime: endTime,
lineId: lineId
},
beforeSend: function () {
i = ityzl_SHOW_LOAD_LAYER();
},
success: function (data) {
if (data.code === 500) {
layer.msg(data.message, {icon: 2, time: 2000})
} else {
initTable(data.body);
}
//***********关闭loading
ityzl_CLOSE_LOAD_LAYER(i);
}
});
});
function initTable(data) {
var height = $(window).height() - 155;
var length = Math.floor(height / 50);
if (length < 1) {
length = 1;
}
dataTable = $("#detail").DataTable();
dataTable.clear().draw();
dataTable = $('#detail').DataTable({
columnDefs: [
{
orderable: false,
targets: [0]
}
],
columns: [
{width: "4%", data: "startTime"},
{width: "2%", data: "due"},
{width: "2%", data: "real"},
{width: "2%", data: "rate"},
{width: "4%", data: "explain"}
],
destroy: true,
data: data,
paging: false,
info: false,
lengthChange: false,
searching: true,
dom: 'rtip',
scrollY: height,
scrollX: "",
lengthMenu: [length],
language: {
url: '/pqs9000/json/chine.json'
}
});
}
</script>
</html>

View File

@@ -0,0 +1,149 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>监测点数据完整性</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/buttons.dataTables.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/ztree/zTreeStyle.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrapSwitch/bootstrap-switch.min.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/plugin/basicButton.css">
<link rel="stylesheet" href="${ctx}/css/tip.css">
<style>
body {
overflow: hidden;
}
#integritylist {
min-width: 2000px;
}
.tr {
text-align: center;
}
.td {
text-align: center;
height: 48px;
line-height: 48px
}
.table > tbody > tr > td {
padding: 5px;
line-height: 1.42857143;
vertical-align: top;
border-top: 1px solid #ddd;
}
.pagination > li > a, .pagination > li > span {
padding: 6px 12px;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="form-inline header mt10">
<label class="form-group">区域:</label>
<div class="form-group has-feedback mr10">
<div class="disinlineb">
<input id="area" class="form-control" style="width: 140px" readonly>
<i class="fa fa-caret-down areaicon"></i>
<i class="fa fa-caret-up treeUpIcon disnone"
style="color: #C9CBCE;position: absolute;left: 60px;font-size: 18px;z-index: 9999;top: 20px"></i>
<div class=" ztree treeUpDiv disnone " id="areaTree"
style="position: absolute;width: 140px;height: 147px;border: 2px solid #C9CBCE;overflow: auto;top: 32px;background: #fff;z-index: 100;border-radius: 2px">
</div>
</div>
</div>
<%@include file="../../include/time.jsp" %>
<label class="form-group">终端状态:</label>
<select class="form-control" id="devflag">
<option value="">全部</option>
<option value="0">投运</option>
<option value="1">热备用</option>
<option value="2">停运</option>
</select> <label class="form-group">
<div class="form-inline disinlineb wanzhengdiv">
<div class="form-group has-feedback mr10">
<label>统计类型:</label>
<input type="checkbox" checked class="wanzheng"/>
</div>
</div>
<button id="query" type="button" class="btn btn-primary ml5">
<i class="glyphicon glyphicon-search"></i>
</button>
<button id="helper" type="button" class="btn btn-primary tip tip-bottom" data-tip="数据完整性详解">
<i class="glyphicon glyphicon-info-sign" style="margin-left: -3px;margin-right: -3px;"></i>
</button>
<div class="form-group fr mr10" id="fliteData">
<label>筛选数据:</label>
<input type="text" class="form-control" onkeyup="searchResult(this.value)"
placeholder="空格分开多条件筛选数据">
</div>
</div>
<table id="integritylist" class="table table-striped table-bordered dataTable no-footer width100">
<thead>
<tr>
<th>序号</th>
<th>供电公司</th>
<th>变电站</th>
<th>监测点名称</th>
<th>终端IP</th>
<th>终端状态</th>
<th>通讯状态</th>
<th>最新数据时间</th>
<th>完整性(%)</th>
<th>终端名称</th>
<th>厂家</th>
<th>电压等级</th>
<th>操作</th>
</tr>
</thead>
</table>
</div>
<input id="_startTime" value="${startTime}" hidden>
<input id="_endTime" value="${endTime}" hidden>
<input id="_area" value="${area}" hidden>
<input id="_interval" value="${interval}" hidden>
</body>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
<script src="${ctx}/js/plugin/datatables/dataTables.buttons.min.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/js/plugin/datatables/buttons.html5.min.js"></script>
<script src="${ctx}/js/plugin/bootstrapSwitch/bootstrap-switch.min.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/area.js"></script>
<script src="${ctx}/js/plugin/xss/xss.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/jspJS/manage/integrityTable.js"></script>
<script src="${ctx}/jspJS/utils/helper.js"></script>
<script type="text/javascript">
$("#helper").click(function () {
toHelper("#jcdsjwzx");
});
</script>
</html>

View File

@@ -0,0 +1,182 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>监测点台账信息</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/buttons.dataTables.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/bootstrap-select.css"/>
<link rel="stylesheet" href="${ctx}/css/plugin/ztree/zTreeStyle.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
th, td {
white-space: nowrap;
}
.form-control{
padding: 4px 12px !important;
}
.dropdown-menu {
font-size: 12px;
}
.dt-button {
margin-top: -3px;
}
</style>
</head>
<body style="overflow: hidden">
<div class="container-fluid">
<div class="form-inline header mt10">
<label>区域:</label>
<div class="disinlineb">
<input id="area" class="form-control" style="width: 140px" readonly>
<i class="fa fa-caret-down areaicon"></i>
<i class="fa fa-caret-up treeUpIcon disnone"
style="color: #C9CBCE;position: absolute;left: 60px;font-size: 18px;z-index: 9999;top: 20px"></i>
<div class=" ztree treeUpDiv disnone " id="areaTree"
style="position: absolute;width: 140px;height: 147px;border: 2px solid #C9CBCE;overflow: auto;top: 32px;background: #fff;z-index: 100;border-radius: 2px">
</div>
</div>
<label>干扰源类型:</label>
<div class="disinlineb">
<select multiple data-width="140px" data-none-selected-text="--请选择--" class="selectpicker" id="type">
<option value="-1">全部</option>
</select>
</div>
<label>电压等级:</label>
<div class="disinlineb">
<select multiple data-width="100px" data-none-selected-text="--请选择--" class="selectpicker" id="voltage">
<option value="-1">全部</option>
</select>
</div>
<label class="form-group">通讯状态:</label>
<select id="status" class="form-control">
<option value="">全部</option>
<option value="1">正常</option>
<option value="0">中断</option>
</select>
<label>上报类型:</label>
<div class="disinlineb">
<select class="selectpicker" data-width="100px" data-none-selected-text="--请选择--" id="appear"
readonly="">
<option value="-1">全部</option>
</select>
</div>
<button id="query" type="button" class="btn btn-primary ml5">
<i class="glyphicon glyphicon-search"></i>
</button>
<div class="form-group fr mr10" id="fliteData">
<label>筛选数据:</label>
<input type="text" class="form-control" onkeyup="searchResult(this.value)" placeholder="空格分开多条件筛选数据">
</div>
</div>
<div>
<table id="lineLedger" class="table table-striped table-bordered dataTable no-footer">
<thead>
<tr>
<th>序号</th>
<th>省公司</th>
<th>市公司</th>
<th>监测点电压等级</th>
<th>监测点名称</th>
<th>所属电站</th>
<th>干扰源类型</th>
<th>监测对象名称</th>
<th>电网侧变电站</th>
<th>监测终端状态</th>
<th>监测装置通讯状态</th>
<th>最新数据时间</th>
<th>监测装置网络参数</th>
<th>监测装置投运时间</th>
<th>监测装置型号</th>
<th>所属前置机</th>
<th>监测装置厂家</th>
<th>监测装置安装位置</th>
<th>最小短路容量MVA</th>
<th>供电设备容量MVA</th>
<th>用户协议容量MVA</th>
<th>监测点状态</th>
<th>监测点运行状态</th>
<th>监测点序号</th>
<th>监测终端编号(电能质量监测系统终端编号)</th>
<th>监测厂家设备编号</th>
<th>监测点编号</th>
<th>监测终端接线方式</th>
<th>电压偏差上限</th>
<th>电压偏差下限</th>
<th>频率限值</th>
<th>三相电压不平衡度限值</th>
<th>负序电流限值)</th>
<th>长时间闪变限值</th>
<th>电压总谐波畸变率限值(%</th>
<th>奇数次谐波电压限值(%</th>
<th>偶次次谐波电压限值(%</th>
<th>电流限值2次谐波</th>
<th>电流限值3次谐波</th>
<th>电流限值4次谐波</th>
<th>电流限值5次谐波</th>
<th>电流限值6次谐波</th>
<th>电流限值7次谐波</th>
<th>电流限值8次谐波</th>
<th>电流限值9次谐波</th>
<th>电流限值10次谐波</th>
<th>电流限值11次谐波</th>
<th>电流限值12次谐波</th>
<th>电流限值13次谐波</th>
<th>电流限值14次谐波</th>
<th>电流限值15次谐波</th>
<th>电流限值16次谐波</th>
<th>电流限值17次谐波</th>
<th>电流限值18次谐波</th>
<th>电流限值19次谐波</th>
<th>电流限值20次谐波</th>
<th>电流限值21次谐波</th>
<th>电流限值22次谐波</th>
<th>电流限值23次谐波</th>
<th>电流限值24次谐波</th>
<th>电流限值25次谐波</th>
<th>电流限值2次间谐波</th>
<th>电流限值3-16次间谐波</th>
</tr>
</thead>
</table>
<div id="pic"></div>
</div>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/3.3.7/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
<script src="${ctx}/js/plugin/datatables/dataTables.buttons.min.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/js/plugin/datatables/buttons.html5.min.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-select.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/plugin/xss/xss.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/js/area.js"></script>
<script src="${ctx}/jspJS/manage/lineLedger.js"></script>
</body>
</html>

View File

@@ -0,0 +1,110 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>终端在线率</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/buttons.dataTables.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/ztree/zTreeStyle.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/plugin/basicButton.css">
<style>
.tr {
text-align: center;
}
.td {
text-align: center;
height: 48px;
line-height: 48px
}
#onlineRatelist {
min-width: 100%;
}
.table > tbody > tr > td {
padding: 5px;
line-height: 1.42857143;
vertical-align: top;
border-top: 1px solid #ddd;
}
.pagination > li > a, .pagination > li > span {
padding: 6px 12px;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="form-inline header mt10">
<label class="form-group">区域:</label>
<div class="form-group has-feedback mr10">
<div class="disinlineb">
<input id="area" class="form-control" style="width: 140px" readonly>
<i class="fa fa-caret-down areaicon"></i>
<i class="fa fa-caret-up treeUpIcon disnone"
style="color: #C9CBCE;position: absolute;left: 60px;font-size: 18px;z-index: 9999;top: 20px"></i>
<div class=" ztree treeUpDiv disnone " id="areaTree"
style="position: absolute;width: 140px;height: 147px;border: 2px solid #C9CBCE;overflow: auto;top: 32px;background: #fff;z-index: 100;border-radius: 2px">
</div>
</div>
</div>
<%@include file="../../include/time.jsp" %>
<button id="query" type="button" class="btn btn-primary ml5">
<i class="glyphicon glyphicon-search"></i>
</button>
<div class="form-group fr mr10" id="fliteData">
<label>筛选数据:</label>
<input type="text" class="form-control" onkeyup="searchResult(this.value)" placeholder="空格分开多条件筛选数据">
</div>
</div>
<table id="onlineRatelist" class="table table-striped table-bordered dataTable no-footer width100" style="table-layout:fixed">
<thead>
<tr>
<th>序号</th>
<th>供电公司</th>
<th>变电站</th>
<th>终端名称</th>
<th>终端IP</th>
<th>厂家</th>
<th>在线率(%)</th>
</tr>
</thead>
</table>
</div>
<input id="_startTime" value="${startTime}" hidden>
<input id="_endTime" value="${endTime}" hidden>
<input id="_area" value="${area}" hidden>
<input id="_interval" value="${interval}" hidden>
</body>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
<script src="${ctx}/js/plugin/datatables/dataTables.buttons.min.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/js/plugin/datatables/buttons.html5.min.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/area.js"></script>
<script src="${ctx}/js/plugin/xss/xss.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/jspJS/manage/onlineRateTable.js"></script>
</html>

View File

@@ -0,0 +1,162 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html >
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>终端运行</title>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/animate/animate.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/buttons.dataTables.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/iconfont/iconfont.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/ztree/zTreeStyle.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/basicButton.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
.tr {
text-align: center;
}
.td {
text-align: center;
line-height: 48px
}
#runtimeid{
min-width: 1880px;
}
.table > tbody > tr > td {
padding: 3px;
line-height: 1.42857143;
vertical-align: top;
border-top: 1px solid #ddd;
}
#downloadWave{
margin-top: -25px;
}
body{
overflow: hidden;
}
</style>
</head>
<body class="bg-white">
<div class="container-fluid">
<div class="row ">
<div class="form-inline header mt10">
<div class="form-group has-feedback ml10">
<label>区域:</label>
<div class="disinlineb">
<input id="area" class="form-control" style="width: 140px" readonly>
<i class="fa fa-caret-down areaicon"></i>
<i class="fa fa-caret-up treeUpIcon disnone"
style="color: #C9CBCE;position: absolute;left: 60px;font-size: 18px;z-index: 9999;top: 20px"></i>
<div class=" ztree treeUpDiv disnone " id="areaTree"
style="position: absolute;width: 140px;height: 147px;border: 2px solid #C9CBCE;overflow: auto;top: 32px;background: #fff;z-index: 100;border-radius: 2px">
</div>
</div>
<label class="form-group">终端状态:</label> <select
class="form-control" id="devflag">
<option value="">全部</option>
<option value="0">投运</option>
<option value="1">热备用</option>
<option value="2">停运</option>
</select> <label class="form-group">通讯状态:</label> <select id="status"
class="form-control">
<option value="">全部</option>
<option value="1">正常</option>
<option value="0">中断</option>
</select>
<label class="form-group">供电公司:</label>
<select id="gdIndex" class="form-control">
<option value="">全部</option>
</select>
<label class="form-group">厂家:</label>
<select id="manufacturer" class="form-control">
<option value="">全部</option>
</select>
</div>
<div class="form-inline"
style="margin-left: 4px; display: inline-block;">
<button id="query" type="button" class="btn themeBGColor">
<i class="glyphicon glyphicon-search"></i>
</button>
</div>
<div class="form-group mr10 mt5 fr" id="fliteData">
<label>筛选数据:</label>
<input type="text" class="form-control" onkeyup="searchResult(this.value)" placeholder="空格分开多条件筛选数据">
</div>
</div>
<div class="col-sm-12 col-md-12">
<div class="fr" style="margin-bottom: -11px;">
<label>终端评价说明:</label><font
color="#2E8B57">在线率≥90%:优&nbsp;&nbsp;&nbsp;</font><font
color="#DAA520">60%&lt;在线率<90%:良&nbsp;&nbsp;&nbsp;</font><font
color="#A52a2a">在线率&lt;60%:差</font>
</div>
</div>
<div class="col-sm-12">
<table id="runtimeid" class="table table-striped table-bordered dataTable no-footer width100">
<thead>
<tr role="row">
<th class="text-center">序号</th>
<th class="text-center">供电公司</th>
<th class="text-center">变电站</th>
<th class="text-center">终端编号</th>
<th class="text-center">投运时间</th>
<th class="text-center">厂家</th>
<th class="text-center">型号</th>
<th class="text-center">网络参数</th>
<th class="text-center">端口</th>
<th class="text-center">终端状态</th>
<th class="text-center">通讯状态</th>
<th class="text-center">最新数据</th>
<th class="text-center">评价</th>
<th class="text-center">操作</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
<%--当前会话的用户名--%>
<input type="hidden" id="username" value="${username}">
<input type="hidden" id="token" value="${token}">
<input id="_area" value="${area}" hidden>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.dataTables.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/js/plugin/layui/layui.all.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/datatables/dataTables.buttons.min.js"></script>
<script src="${ctx}/js/plugin/datatables/buttons.html5.min.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/js/plugin/xss/aes.js"></script>
<script src="${ctx}/js/plugin/xss/xss.js"></script>
<script src="${ctx}/js/plugin/xss/security.js"></script>
<script src="${ctx}/jspJS/sm2.js"></script>
<script src="${ctx}/jspJS/sm3.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/area.js"></script>
<script src="${ctx}/jspJS/confirmIndentity.js"></script>
<script src="${ctx}/jspJS/manage/runtime.js"></script>
<script type="text/javascript">
$("#helper").click(function (){
toHelper("#jcdyxzt");
});
var $area = $("#area");
</script>
</body>
</html>

View File

@@ -0,0 +1,103 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<title>暂降程度分析</title>
<link rel="stylesheet" href="${ctx}/js/plugin/layui/css/layui.css" media="all">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/dataTables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
</head>
<script type="text/javascript" charset="utf-8"></script>
<style>
thead tr th {
text-align: center;
width: 50%;
}
._area {
text-align: center;
width: 33.3%;
}
html {
background-color: #fff;
}
.table > tbody > tr > td {
padding: 5px;
line-height: 1.42857143;
vertical-align: top;
border-top: 1px solid #ddd;
}
</style>
<body>
<div style="padding: 5px 15px 15px 15px">
<div class="layui-collapse">
<div class="layui-colla-item">
<h2 class="layui-colla-title">基本资源(推荐)</h2>
<div class="layui-colla-content layui-show">
<table id="areaTable" class="table table-striped table-bordered dataTable no-footer">
<thead>
<tr>
<th class="_area">资源名称</th>
<th class="_area">资源描述</th>
<th class="_area">资源下载</th>
</tr>
</thead>
</table>
</div>
</div>
<div class="layui-colla-item">
<h2 class="layui-colla-title">报告发布</h2>
<div class="layui-colla-content">
<table id="subTable" class="table table-striped table-bordered dataTable no-footer">
<thead>
<tr>
<th class="_area">资源名称</th>
<th class="_area">资源描述</th>
<th class="_area">资源下载</th>
</tr>
</thead>
</table>
</div>
</div>
<div class="layui-colla-item">
<h2 class="layui-colla-title">辅助资源</h2>
<div class="layui-colla-content">
<table id="monitorTable" class="table table-striped table-bordered dataTable no-footer">
<thead>
<tr>
<th class="_area">资源名称</th>
<th class="_area">资源描述</th>
<th class="_area">资源下载</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
</div>
<%--Common Modal --%>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/layui/layui.all.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.dataTables.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/manage/sourceManage.js"></script>
</body>
</html>

View File

@@ -0,0 +1,146 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>监测点稳态指标合格率</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/buttons.dataTables.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/ztree/zTreeStyle.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/plugin/basicButton.css">
<link rel="stylesheet" href="${ctx}/css/tip.css">
<style>
body {
overflow: hidden;
}
#steadylist {
min-width: 2000px;
}
.tr {
text-align: center;
}
.td {
text-align: center;
height: 48px;
line-height: 48px
}
.table > tbody > tr > td {
padding: 5px;
line-height: 1.42857143;
vertical-align: top;
border-top: 1px solid #ddd;
}
.pagination > li > a, .pagination > li > span {
padding: 6px 12px;
}
#focus{
display: none;
margin-left: 23px;
margin-top: -20px;
font-size: 10px;
color: red;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="form-inline header mt10">
<label class="form-group">区域:</label>
<div class="form-group has-feedback mr10">
<div class="disinlineb">
<input id="area" class="form-control" style="width: 140px" readonly>
<i class="fa fa-caret-down areaicon"></i>
<i class="fa fa-caret-up treeUpIcon disnone"
style="color: #C9CBCE;position: absolute;left: 60px;font-size: 18px;z-index: 9999;top: 20px"></i>
<div class=" ztree treeUpDiv disnone " id="areaTree"
style="position: absolute;width: 140px;height: 147px;border: 2px solid #C9CBCE;overflow: auto;top: 32px;background: #fff;z-index: 100;border-radius: 2px">
</div>
</div>
</div>
<%@include file="../../include/time.jsp" %>
<button id="query" type="button" class="btn btn-primary ml5">
<i class="glyphicon glyphicon-search"></i>
</button>
<button id="helper" type="button" class="btn btn-primary tip tip-bottom" data-tip="合格率详解">
<i class="glyphicon glyphicon-info-sign" style="margin-left: -3px;margin-right: -3px;"></i>
</button>
<div class="form-group fr mr10" id="fliteData">
<label>筛选数据:</label>
<input type="text" class="form-control" onkeyup="searchResult(this.value)" placeholder="空格分开多条件筛选数据">
</div>
</div>
<table id="steadylist" class="table table-striped table-bordered dataTable no-footer width100">
<thead>
<tr>
<th>序号</th>
<th>供电公司</th>
<th>变电站</th>
<th>监测点名称</th>
<th>频率偏差(%)</th>
<th>闪变(%)</th>
<th>三相电压不平衡度(%)</th>
<th>谐波电压(%)</th>
<th>电压偏差(%)</th>
<th>谐波电流(%)</th>
<th>负序电流(%)</th>
<th>间谐波电压含有率(%)</th>
<th>终端名称</th>
<th>终端IP</th>
<th>厂家</th>
<th>电压等级</th>
</tr>
</thead>
</table>
</div>
<div id="focus">注意:在框选时间段内,由于某些监测点无数据等原因,总计<font id="allCount"></font>个监测点,参与统计为<font id="realCount"></font>个。</div>
<input id="_startTime" value="${startTime}" hidden>
<input id="_endTime" value="${endTime}" hidden>
<input id="_area" value="${area}" hidden>
<input id="_interval" value="${interval}" hidden>
</body>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
<script src="${ctx}/js/plugin/datatables/dataTables.buttons.min.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/js/plugin/datatables/buttons.html5.min.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/area.js"></script>
<script src="${ctx}/js/plugin/xss/xss.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/jspJS/utils/tableSort.js"></script>
<script src="${ctx}/jspJS/manage/steadyTable.js"></script>
<script src="${ctx}/jspJS/utils/helper.js"></script>
<script>
$("#helper").click(function (){
toHelper("#wtzbhgl");
});
</script>
</html>

View File

@@ -0,0 +1,92 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html >
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>终端更改日志列表</title>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/animate/animate.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/buttons.dataTables.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/ztree/zTreeStyle.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/iconfont/iconfont.css">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/dataTables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
.tr {
text-align: center;
}
.td {
text-align: center;
line-height: 48px
}
#terminallogid {
min-width: 1880px;
}
.table > tbody > tr > td {
padding: 3px;
line-height: 1.42857143;
vertical-align: top;
border-top: 1px solid #ddd;
}
#downloadWave {
margin-top: -25px;
}
body {
overflow: hidden;
}
</style>
</head>
<body class="bg-white">
<div class="container-fluid">
<div class="row ">
<div class="form-inline header mt10">
<div class="form-group mr10 mt5 fr" id="fliteData">
<label>筛选数据:</label>
<input type="text" class="form-control" onkeyup="searchResult(this.value)" placeholder="空格分开多条件筛选数据">
</div>
</div>
<div class="col-sm-12">
<table id="terminallogid" class="table table-striped table-bordered dataTable no-footer width100">
<thead>
<tr role="row">
<th class="text-center">序号</th>
<th class="text-center">终端名称</th>
<th class="text-center">更改人员</th>
<th class="text-center">更改时间</th>
<th class="text-center">描述</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
<%--当前会话的用户名--%>
<input type="hidden" id="username" value="${username}">
<input type="hidden" id="token" value="${token}">
<input id="_area" value="${area}" hidden>
<script src="${ctx}/js/plugin/jquery.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/datatables/dataTables.buttons.min.js"></script>
<script src="${ctx}/js/plugin/datatables/buttons.html5.min.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/js/plugin/layui/layui.all.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/jspJS/manage/terminalLogManage.js"></script>
</body>
</html>

View File

@@ -0,0 +1,134 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>监测点范围</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
.row {
margin-top: 15px;
}
</style>
</head>
<div class="container">
<div class="row">
<label class="col-sm-12 col-xs-12 control-label" id="title" style="color: red"></label>
</div>
<div class="row">
<label for="startTime" class="col-sm-3 col-xs-3 control-label" style="margin-top: 10px">开始时间</label>
<div class="col-sm-9 col-xs-9">
<input readonly type="text" class="form-control" id="startTime" placeholder="请选择开始时间">
</div>
</div>
<div class="row">
<label for="endTime" class="col-sm-3 col-xs-3 control-label" style="margin-top: 10px">结束时间</label>
<div class="col-sm-9 col-xs-9">
<input readonly type="text" class="form-control" id="endTime" placeholder="请选择结束时间">
</div>
</div>
<div class="row">
<div class="col-sm-offset-5 col-xs-offset-5 col-sm-7 col-xs-7">
<button style="margin-top: 150px" type="submit" class="btn btn-primary" id="submit">确认</button>
</div>
</div>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/jspJS/utils/common.js"></script>
<script>
$("#startTime").datetimepicker({
format: 'yyyy-mm-dd hh:00:00',
language: 'zh-CN',
minView: 1,
autoclose: 1,
});
$("#endTime").datetimepicker({
format: 'yyyy-mm-dd hh:00:00',
language: 'zh-CN',
minView: 1,
autoclose: 1,
});
$(function () {
var lineId = getQueryString('lineId');
var devId = getQueryString('devId');
let title = getQueryString('titleName');
$("#title").text("监测点信息: "+title)
$("#submit").click(function () {
let startTime = $("#startTime").val();
let endTime = $("#endTime").val();
if (startTime == null || startTime == '' || endTime == null || endTime == '') {
layer.msg('请选择时间', {icon: 2, time: 1000});
return;
}
if (new Date(startTime).getTime() > new Date(endTime).getTime()) {
layer.msg('开始时间不可大于结束时间', {icon: 2, time: 1000});
return;
}
let i;
$.ajax({
type: "get",
url: "/pqs9000/area/integralityRepair",
dataType: "json",
data: {
lineId: lineId,
devId: devId,
startTime: startTime,
endTime: endTime
},
beforeSend: function () {
i = ityzl_SHOW_LOAD_LAYER();
},
success: function (data) {
if (data.code === 500) {
layer.msg(data.message, {icon: 2, time: 2000})
//没有数据
} else {
layer.msg(data.message, {icon: 1, time: 2000})
}
//***********关闭loading
ityzl_CLOSE_LOAD_LAYER(i);
}
});
})
})
</script>
</body>
</html>

View File

@@ -0,0 +1,270 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>常见问题</title>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/docs.css">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
</head>
<style>
p{
font-size:16px;
}
.pcontent{
text-indent:2em;
}
h1, .h1 {
font-size: 30px; !important
}
h2, .h2 {
font-size: 20px; !important
}
</style>
<body>
<div class="container bs-docs-container">
<div class="row">
<div class="col-md-9" role="main">
<div class="bs-docs-section">
<h1 id="mc">名词和术语</h1>
<h1 class="pdt10">网公司算法:</h1>
<h2 id="jcdzxl" class="pdt10">一、监测点在线率</h2>
<p class="pcontent pdt10">1.监测点在线率(日)</p>
<div class="row">
<img src="${ctx}/images/jcdzxlr.png" class="col-md-4 col-md-offset-2" style="width: 500px;height: 100px;" >
</div>
<p class="pcontent">式中,</p>
<p class="pcontent">RD--网公司监测点在线率(日),%。</p>
<p class="pcontent">计算方法说明:</p>
<p class="pcontent">监测点台帐信息显示为“在运”且能在数据库中查找到当日至少一个时间点历史数据的监测点当日在线率为100%。无历史数据当日在线率为0%。</p>
<p class="pcontent">每天1点开始统计前一天监测点日在线率在此后上传或补招的会重新统计一次在线率。</p>
<p class="pcontent pdt10">2.监测点在线率(月)</p>
<div class="row">
<img src="${ctx}/images/jcdzxly.png" class="col-md-4 col-md-offset-2" style="width: 500px;height: 100px;" >
</div>
<p class="pcontent">式中,</p>
<p class="pcontent">RM--网公司监测点在线率(月),%</p>
<p class="pcontent">m--第m天统计周期内共M天</p>
<p class="pcontent">RDm--第m天网公司监测点在线率%。</p>
<p class="pcontent">计算方法说明:</p>
<p class="pcontent">监测点在线率按自然月统计每月3日24点开始统计上月的监测点月在线率此后上传或补招的数据将不再计入统计范围。</p>
<p class="pcontent"></p>
<p class="pcontent pdt10">3.区域监测点在线率(日)</p>
<div class="row">
<img src="${ctx}/images/qyzxlr.png" class="col-md-4 col-md-offset-2" style="width: 500px;height: 100px;" >
</div>
<p class="pcontent">式中,</p>
<p class="pcontent">ZD--区域网公司监测点在线率(日),%</p>
<p class="pcontent">d--区域内网公司监测点的数量,个;</p>
<p class="pcontent">RDd--第d个网公司监测点在线率%。</p>
<p class="pcontent pdt10">4.区域监测点在线率(月)</p>
<div class="row">
<img src="${ctx}/images/qyzxly.png" class="col-md-4 col-md-offset-2" style="width: 500px;height: 100px;" >
</div>
<p class="pcontent">式中,</p>
<p class="pcontent">ZM--网公司监测点在线率(月),%</p>
<p class="pcontent">m--第m天统计周期内共M天</p>
<p class="pcontent">ZDm--第m天区域网公司监测点在线率%。</p>
<h2 id="jcdyxts" class="pdt10">二、监测点越限天数</h2>
<p class="pcontent pdt10">1.监测点越限判据</p>
<p class="pcontent">当日在运且在线监测点稳态电能质量指标日统计值具体越限判断日统计值类型和指标类型见表1超过设定的国标限值就认为当日该监测点越限。</p>
<div class="row">
<img src="${ctx}/images/yxpj.png" class="col-md-4 col-md-offset-2" style="width: 600px;height: 400px;" >
</div>
<p class="pcontent">每天1点开始统计前一天监测点日稳态越限指标越限。此后上传或补招的数据将不再计入统计范围。</p>
<p class="pcontent pdt10">2.监测点越限天数(月)</p>
<p class="pcontent">监测点越限天数(月) = ∑每日在运且在线测点越限天数总和</p>
<p class="pcontent">计算方法说明:</p>
<p class="pcontent">监测点越限天数按自然月统计每月3日24点开始统计上月的监测点越限天数此后上传或补招的数据将不再计入统计范围。</p>
<p class="pcontent"></p>
<h1 class="pdt10">系统算法:</h1>
<h2 id="zhpg" class="pdt10">三、谐波综合评估算法</h2>
<p class="pcontent pdt10">1生成评估数据矩阵</p>
<p class="pcontent">根据一定周期内如一天、一周、一月取得电能质量统计数据对每项指标的每个数据按分级的分数打分分5级也及5分制然后再统计各项指标的分值占比生成评估数据矩阵如下图所示</p>
<div class="row">
<img src="${ctx}/images/zhpg1.png" class="col-md-4 col-md-offset-2" style="width: 600px;height: 400px;" >
</div>
<p class="pcontent">统计周期内的各项指标的分值的时间,下图示例统计周期3600秒(一个小时)</p>
<div class="row">
<img src="${ctx}/images/zhpg2.png" class="col-md-4 col-md-offset-2" style="width: 600px;height: 400px;" >
</div>
<p class="pcontent">计算各项指标分值的占比,确定评估数据矩阵</p>
<div class="row">
<img src="${ctx}/images/zhpg3.png" class="col-md-4 col-md-offset-2" style="width: 600px;height: 400px;" >
</div>
<p class="pcontent pdt10">2采用客观权重赋权和主观赋权2种结合生成综合赋权的比重。</p>
<p class="pcontent">主观赋权法有层次分析法、优序图法、专家打分法,客观赋权法有熵权法、变异系数法。</p>
<p class="pcontent">主观赋权法是根据人的主观评分给予的赋权权重生成的权重矩阵是不变的。客观赋权法是根据输入的数据矩阵根据一定的算法来生成权重矩阵是变化的每次代入的评估数据不同客观赋权矩阵就可能不同。采用一定的算法将这5种权重矩阵代入计算出最终的综合权重矩阵目前在重要性上客观赋权和主观赋权一致及占比都是50%。</p>
<p class="pcontent pdt10">3用综合权重矩阵和评估数据矩阵相乘最后得到一个综合的分数5分制比如3.87分按得分最终确定电能质量评级。1-2很差 2-3较差 3-4合格 4-4.5良好 4.5-5优质</p>
<p class="pcontent"></p>
<h2 id="wtzbhgl" class="pdt10">四、稳态指标合格率</h2>
<p class="pcontent pdt10">
1.稳态指标合格率(日)
</p>
<div class="row">
<img src="${ctx}/images/wthglr.png" class="col-md-4 col-md-offset-2" style="width: 800px;height: 100px;" >
</div>
<p class="pcontent">式中,</p>
<p class="pcontent">CPs--在运监测点稳态电能质量指标S的合格率%</p>
<p class="pcontent">S--稳态电能质量指标类型,包括:频率偏差、电压偏差、三相电压不平衡度、电压总谐波畸变率、各次谐波电压含有率、闪变、各次谐波电流;</p>
<p class="pcontent">CDs--监测点未发生指标S超标的个数</p>
<p class="pcontent">OD--监测点应有指标个数,天。</p>
<p class="pcontent">计算方法说明:</p>
<p class="pcontent">每天1点开始统计前一天在运监测点日稳态指标合格率。此后上传或补招的数据将不再计入统计范围。</p>
<p class="pcontent pdt10">
2.稳态指标合格率(月)
</p>
<div class="row">
<img src="${ctx}/images/wthgly.png" class="col-md-4 col-md-offset-2" style="width: 800px;height: 100px;" >
</div>
<p class="pcontent">式中,</p>
<p class="pcontent">CGs--电网稳态电能质量指标S的合格率%</p>
<p class="pcontent">S--稳态电能质量指标类型,包括:频率偏差、电压偏差、三相电压不平衡度、电压总谐波畸变率、各次谐波电压含有率、闪变、各次谐波电流;</p>
<p class="pcontent">m--第m天统计周期内共M天</p>
<p class="pcontent">CPs-m--第m天的稳态指标合格率</p>
<p class="pcontent">计算方法说明:</p>
<p class="pcontent">稳态指标合格率(月)按自然月统计,每月3日24点开始统计上月的稳态指标合格率,此后上传或补招的数据将不再计入统计范围。</p>
<p class="pcontent"></p>
<h2 id="jcdsjwzx" class="pdt10">五、监测点数据完整性</h2>
<p class="pcontent pdt10">
1.数据完整性(日)
</p>
<div class="row">
<img src="${ctx}/images/sjwzxr.png" class="col-md-4 col-md-offset-2" style="width: 800px;height: 100px;" >
</div>
<p class="pcontent">式中,</p>
<p class="pcontent">ID--监测点数据完整率(日),%;</p>
<p class="pcontent">VD--当日在运监测点以统计时间间隔1分钟或3分钟计算实际上送的数据总和</p>
<p class="pcontent">OD--当日在运监测点以统计时间间隔1分钟或3分钟计算应上送的数据总和。</p>
<p class="pcontent">计算方法说明:</p>
<p class="pcontent">每天1点开始统计前一天监测点数据完整率在此后上传或补招的会重新统计一次数据完整率。</p>
<p class="pcontent pdt10">
2.数据完整性(月)
</p>
<div class="row">
<img src="${ctx}/images/sjwzxy.png" class="col-md-4 col-md-offset-2" style="width: 800px;height: 100px;" >
</div>
<p class="pcontent">式中,</p>
<p class="pcontent">IM--监测点数据完整率(月),%</p>
<p class="pcontent">m--第m天统计周期内共M天</p>
<p class="pcontent">IDm--第m天监测点数据完整率%。</p>
<p class="pcontent">计算方法说明:</p>
<p class="pcontent">监测点在线率按自然月统计每月3日24点开始统计上月的监测点月在线率此后上传或补招的数据将不再计入统计范围。</p>
<p class="pcontent"></p>
<p class="pcontent pdt10">
3.区域数据完整性(日)
</p>
<div class="row">
<img src="${ctx}/images/qysjwzxr.png" class="col-md-4 col-md-offset-2" style="width: 800px;height: 100px;" >
</div>
<p class="pcontent">式中,</p>
<p class="pcontent">KD--区域监测点数据完整率(日),%</p>
<p class="pcontent">d--区域内监测点的数量,个;</p>
<p class="pcontent">IDd--第d个监测点数据完整率%。</p>
<p class="pcontent pdt10">
4.区域数据完整性(月)
</p>
<div class="row">
<img src="${ctx}/images/qysjwzxy.png" class="col-md-4 col-md-offset-2" style="width: 800px;height: 100px;" >
</div>
<p class="pcontent">式中,</p>
<p class="pcontent">KM--区域监测点数据完整率(月),%</p>
<p class="pcontent">m--第m天统计周期内共M天</p>
<p class="pcontent">KDm--第m天区域监测点数据完整率%。</p>
<p class="pcontent"></p>
<h2 id="rbbsf" class="pdt10">六、谐波日报表算法</h2>
<p class="pcontent">基于各项指标的存储时间间隔数据按日做统计,日统计值类型包括:最大值、最小值、平均值、95%概率值。具体统计方法为:</p>
<p class="pcontent">a)最大值:取当日该指标存储时间间隔最大值数据序列中的最大值;</p>
<p class="pcontent">b)最小值:取当日该指标存储时间间隔最小值数据序列中的最小值;</p>
<p class="pcontent">c)平均值:取当日该指标存储时间间隔平均值数据序列计算算术平均值;</p>
<p class="pcontent">d)95%概率值将当日该指标存储时间间隔平均值数据序列由大到小排序舍弃前面5%的大值取剩余数据中的最大值。</p>
<p class="pcontent">谐波日报表每日1点启动计算前一日的各统计值。</p>
<p class="pcontent"></p>
<h1 id="fj1" class="pdt10">附件1</h1>
<div class="row">
<img src="${ctx}/images/fj1.png" class="col-md-4 col-md-offset-2" style="width: 600px;height: 400px;" >
</div>
</div>
</div>
<div class="col-md-3" role="complementary">
<nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix-top">
<ul class="nav bs-docs-sidenav">
<li>
<a href="#mc">名词和术语</a>
<a>网公司算法</a>
<ul class="nav">
<li >
<a href="#jcdzxl">一、监测点在线率</a>
</li>
<li>
<a href="#jcdyxts">二、监测点越限天数</a>
</li>
</ul>
<a>系统算法</a>
<ul class="nav">
<li>
<a href="#zhpg">三、谐波综合评估算法</a>
</li>
<li>
<a href="#wtzbhgl">四、稳态指标合格率</a>
</li>
<li>
<a href="#jcdsjwzx">五、监测点数据完整性</a>
</li>
<li>
<a href="#rbbsf">六、谐波日报表算法</a>
</li>
</ul>
<a href="#fj1">附件1</a>
</li>
<li style="margin-top: 20px">
<a href="#top">回到顶部</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<input type="hidden" id="parameter" name="parameter">
<script src="${ctx}/js/plugin/jquery.min.js"></script>
<script src="${ctx}/js/plugin/xss/xss.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/docs.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/helper.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var parameter = $('#parameter').val();
parameter=filterXSS(parameter);
if(parameter!=""){
window.location.href = parameter;
}
})
function zTreeOnAsyncSuccess(parameter){
if(parameter!=""){
$('html,body').scrollTop($(parameter).offset().top);
}
}
</script>
</body>
</html>

View File

@@ -0,0 +1,220 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags"%>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>实时数据</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/plugin/basicButton.css">
<style>
html,body{
background-color: #F9F9F9 !important;
overflow-x: hidden;
}
.table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th {
padding: 3px;
}
</style>
</head>
<body>
<div class="container-fluid">
<form class="form-inline">
<div class="form-inline mr10 mt5 fr">
<button id="btn_trend" type="button" class="btn themeBGColor" style="display:none;">
<i class="glyphicon glyphicon-object-align-bottom"></i>实时趋势
</button>
<button id="btn_deal" type="button" class="btn themeBGColor" style="display:none;">
<i class="glyphicon glyphicon-object-align-bottom"></i>谐波频谱
</button>
</div>
</form>
<div class="row">
<%--实时数据--%>
<div class="col-sm-12" id="sssj"></div>
</div>
<div style="position:absolute;margin-bottom: 5px;margin-top: -20px;width:100%">
<label style="font-weight: bold;font-size: 15px;padding-left: 15%;" class="div-inline">电压有效值</label>
<label style="font-weight: bold;font-size: 15px;padding-left: 22%;" class="div-inline">基波电压/电流幅值(相位)</label>
<label style="font-weight: bold;font-size: 15px;padding-left: 20%;" class="div-inline">电流有效值</label>
</div>
<div id="table" class="col-sm-12">
<table id="areaTable" class="table table-striped table-bordered dataTable no-footer"
style="width:100%;cellspacing:0;margin-bottom: 0px;" role="grid" aria-describedby="example_info">
<thead>
<tr role="row">
<th class="table-middle" colspan="3">电压有效值(kV)</th>
<th class="table-middle" colspan="3">电流有效值(A)</th>
<th class="table-middle" colspan="3">基波电压幅值(kV)</th>
<th class="table-middle" colspan="3">基波电压相位(°)</th>
<th class="table-middle" colspan="3">基波电流幅值(A)</th>
<th class="table-middle" colspan="3">基波电流相位(°)</th>
</tr>
<tr>
<th id="title1" class="table-middle"></th>
<th id="title2" class="table-middle"></th>
<th id="title3" class="table-middle"></th>
<th class="table-middle">A相</th>
<th class="table-middle">B相</th>
<th class="table-middle">C相</th>
<th class="table-middle">A相</th>
<th class="table-middle">B相</th>
<th class="table-middle">C相</th>
<th class="table-middle">A相</th>
<th class="table-middle">B相</th>
<th class="table-middle">C相</th>
<th class="table-middle">A相</th>
<th class="table-middle">B相</th>
<th class="table-middle">C相</th>
<th class="table-middle">A相</th>
<th class="table-middle">B相</th>
<th class="table-middle">C相</th>
</tr>
</thead>
<tr>
<td id="data1"></td>
<td id="data2"></td>
<td id="data3"></td>
<td id="data4"></td>
<td id="data5"></td>
<td id="data6"></td>
<td id="data7"></td>
<td id="data8"></td>
<td id="data9"></td>
<td id="data10"></td>
<td id="data11"></td>
<td id="data12"></td>
<td id="data13"></td>
<td id="data14"></td>
<td id="data15"></td>
<td id="data16"></td>
<td id="data17"></td>
<td id="data18"></td>
</tr>
</table>
</div>
<div id="table2" class="col-sm-12">
<table id="areaTable2" class="table table-striped table-bordered dataTable no-footer"
style="width:100%;cellspacing:0;margin-bottom: 0px;" role="grid" aria-describedby="example_info">
<thead>
<tr role="row">
<th class="table-middle" colspan="3">电压偏差(%)</th>
<th class="table-middle" colspan="3">电压总谐波畸变率(%)</th>
<th class="table-middle" colspan="3">电流总谐波畸变率(%)</th>
<th class="table-middle" rowspan="2">电压不平<br/>衡度(%)</th>
<th class="table-middle" rowspan="2">电流不平<br/>衡度(%)</th>
<th class="table-middle" rowspan="2">频率(Hz)</th>
</tr>
<tr>
<th id="title4" class="table-middle"></th>
<th id="title5" class="table-middle"></th>
<th id="title6" class="table-middle"></th>
<th id="title7" class="table-middle"></th>
<th id="title8" class="table-middle"></th>
<th id="title9" class="table-middle"></th>
<th class="table-middle">A相</th>
<th class="table-middle">B相</th>
<th class="table-middle">C相</th>
</tr>
</thead>
<tr>
<td id="sdata1"></td>
<td id="sdata2"></td>
<td id="sdata3"></td>
<td id="sdata4"></td>
<td id="sdata5"></td>
<td id="sdata6"></td>
<td id="sdata7"></td>
<td id="sdata8"></td>
<td id="sdata9"></td>
<td id="sdata10"></td>
<td id="sdata11"></td>
<td id="sdata12"></td>
</tr>
</table>
</div>
<div id="table3" class="col-sm-12">
<table id="areaTable3" class="table table-striped table-bordered dataTable no-footer"
style="width:100%;cellspacing:0;margin-bottom: 0px;" role="grid" aria-describedby="example_info">
<thead>
<tr role="row">
<th class="table-middle" colspan="4">有功功率(kW)</th>
<th class="table-middle" colspan="4">无功功率(kVar)</th>
<th class="table-middle" colspan="4">视在功率(kVA)</th>
<th class="table-middle" colspan="4">功率因数</th>
<th class="table-middle" colspan="4">基波功率因数</th>
</tr>
<tr>
<th class="table-middle">A相</th>
<th class="table-middle">B相</th>
<th class="table-middle">C相</th>
<th class="table-middle">总有功功率</th>
<th class="table-middle">A相</th>
<th class="table-middle">B相</th>
<th class="table-middle">C相</th>
<th class="table-middle">总无功功率</th>
<th class="table-middle">A相</th>
<th class="table-middle">B相</th>
<th class="table-middle">C相</th>
<th class="table-middle">总视在功率</th>
<th class="table-middle">A相</th>
<th class="table-middle">B相</th>
<th class="table-middle">C相</th>
<th class="table-middle">总功率因数</th>
<th class="table-middle">A相</th>
<th class="table-middle">B相</th>
<th class="table-middle">C相</th>
<th class="table-middle">总基波功率因数</th>
</tr>
</thead>
<tr>
<td id="gdata1"></td>
<td id="gdata2"></td>
<td id="gdata3"></td>
<td id="gdata4"></td>
<td id="gdata5"></td>
<td id="gdata6"></td>
<td id="gdata7"></td>
<td id="gdata8"></td>
<td id="gdata9"></td>
<td id="gdata10"></td>
<td id="gdata11"></td>
<td id="gdata12"></td>
<td id="gdata13"></td>
<td id="gdata14"></td>
<td id="gdata15"></td>
<td id="gdata16"></td>
<td id="gdata17"></td>
<td id="gdata18"></td>
<td id="gdata19"></td>
<td id="gdata20"></td>
</tr>
</table>
</div>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/echarts/echarts.js"></script>
<script src="${ctx}/js/plugin/highcharts/highcharts.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/xss/xss.js"></script>
<script src="${ctx}/js/plugin/json/json2.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/getTime.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/jspJS/monitor/actualData.js"></script>
<script>
</script>
</body>
</html>

View File

@@ -0,0 +1,414 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags"%>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>间谐波数据</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet"
href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/js/plugin/layui/css/layui.css">
<link rel="stylesheet"
href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
body, html {
width: 100%;
height: 100%;
overflow: hidden;
margin: 0;
font-family: "微软雅黑";
background-color: #F9F9F9 !important;
}
.nav>li>a {
padding: 3px 15px;
}
th,td {
white-space:nowrap;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="header" id="timepoint"
style="margin-top: 2px; text-align: center; height: 30px;font-weight: bolder;"></div>
</div>
<div class="xieboTtitle" style="text-align: center; font-size: 20px"
id="point"></div>
<table id="example"
class="table table-striped table-bordered dataTable no-footer"
cellspacing="0" id="ss">
<thead>
<tr role="row">
<th class="text-center" style="white-space: nowrap;padding-right: 70px;padding-left: 70px">次数</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">0.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">2.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">3.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">4.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">5.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">6.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">7.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">8.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">9.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">10.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">11.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">12.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">13.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">14.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">15.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">16.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">17.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">18.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">19.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">20.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">21.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">22.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">23.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">24.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">25.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">26.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">27.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">28.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">29.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">30.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">31.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">32.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">33.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">34.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">35.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">36.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">37.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">38.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">39.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">40.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">41.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">42.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">43.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">44.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">45.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">46.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">47.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">48.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">49.5</th>
<th class="text-center" style="white-space: nowrap;padding-right: 15px;padding-left: 15px">49.5</th>
</tr>
</thead>
</table>
<div id="container" class="mt10"></div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/highcharts/highcharts.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/plugin/highcharts/highchart-ZH.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/layui/layui.js"></script>
<script src="${ctx}/js/plugin/json/json2.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.dataTables.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script
src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script
src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script>
var lineIndex = window.parent.parent.parent.document
.getElementById("lineIndex").value;
var webSocket = window.parent.parent.parent.parent.webSocket;
var obj=null;
var gb = [];
$(document).ready(
function() {
var oTable = $('#example').DataTable({
info : false,
paging : false,
lengthChange : false,
columns : [ {
"width" : "130px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
} ],
ordering : false,
// autoWidth:true,
scrollX : true,
destroy : true,
language : {
url : '/pqs9000/json/chine.json',
"sEmptyTable" : "没有内容"
},
})
var serName = [];
var number = [];
for (i = 0; i < 50; i++) {
serName.push([ parseFloat(null) ]);
number.push([ i+0.5 ])
}
$("#container").css("height", $(window).height() - 115);
//画图
var chart = Highcharts.chart('container', {
chart : {
type : 'column',
events : {
load : function(data) {
var series = null, chart = this;
if (obj == null) {
obj = chart;
}else{
chart=obj;
}
series=chart.series[0];
if (data.length > 0) {
series.update({
data:data
});
}
}
}
},
credits : {
enabled : false
},
title : {
text : ''
},
xAxis : {
categories : number
},
yAxis : [ {
min : 0,
title : {
text : '间谐波电压含有率(%)'
}
} ],
legend : {
shadow : false
},
tooltip : {
shared : true,
formatter : function() {
var x, y1, y2;
if (this.points.length == 1) {
x = "间谐波次数:" + this.points[0].x
y2 = this.points[0].series.name + ":"
+ this.points[0].y + "%"
return x + '<br>' + y2;
} else {
x = "间谐波次数:" + this.points[0].x
y1 = "间谐波电压含有率(%):" + this.points[0].y + "%"
y2 = "国际限值(%):" + this.points[1].y + "%"
return x + '<br>' + y1+'<br>'+y2;
}
}
},
plotOptions : {
column : {
grouping : false,
shadow : false,
borderWidth : 0
}
},
series : [ {
name : '间谐波含有率(%)',
color : green,
data : serName,
tooltip : {
valueSuffix : '%'
},
pointPadding : 0.3,
pointPlacement : -0.2
}, {
name: '国标限值(%)',
color: yellow,
data: gb,
tooltip: {
valueSuffix: '%'
},
pointPadding: 0.4, // 通过 pointPadding 和 pointPlacement 控制柱子位置
pointPlacement: -0.2
} ]
});
getOverLimit()
getData();
})
Highcharts.setOptions({ global: { useUTC: false } });
function getData() {
webSocket.onmessage = function(event) {
var data = [];
var tabledata = [];
var tmp=[];
tmp.push("间谐波电压含有率(%)");
var json0 = $.parseJSON(event.data);
var rescode = json0['resultcode']
if(rescode == '10000'){
var json1 = json0['resultmsg'];
var json2 = json1[lineIndex];// 监测点数据
var timepoint = parseInt(json2['TIME']);// 发生时刻
$("#timepoint").html("时刻:" + Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', timepoint));
var vjson = json2['V'];// 电压相关数据,数组
for (var i = 0; i < vjson.length; i++) {
var tmplist = vjson[i];
if (tmplist['SEQ'] === "A") {
for (var n = 0; n < 50; n++) {
var name = 'SV_' + (n+1);
data.push(parseFloat((tmplist[name]*100/100).toFixed(2)));
tmp.push((parseFloat(tmplist[name])*100/100).toFixed(2));
}
}
}
obj.hcEvents.load[0](data);
tabledata.push(tmp);
reloadTable(tabledata);
}
}
}
function reloadTable(tabledata){
var table = $('#example').DataTable();
var currentPage = table.page();
table.clear();
table.rows.add(tabledata);
table.page(currentPage).draw( false );
}
//获取监测点国标限值
function getOverLimit() {
$.ajax({
type:'get',
url:'/pqs9000/getOverLimit',
data:{
pointIndex:lineIndex
},
success:function (data) {
if(data.code == 200){
gb = [];
for(var n=1;n<17;n++){
let str = 'INUHARM_'+n;
gb.push(data.body[str])
}
obj.series[1].update({data:gb})
}else {
layer.msg(data.message,{icon:2})
}
}
})
}
</script>
</body>
</html>

View File

@@ -0,0 +1,223 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<title>监测点首页</title>
<meta name="description" content="">
<meta name="author" content="">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/jquery/jquery-ui.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrapSwitch/bootstrap-switch.min.css">
<style type="text/css">
body, html, #allmap {
width: 100%;
height: 100%;
overflow: hidden;
margin: 0;
font-family: "微软雅黑";
background-color: #F9F9F9 !important;
}
.dg-sub b.red {
border-bottom: solid 1px #98af9f;
font-weight: bold;
}
.dg-sub b {
padding: 2px 5px;
color: #666;
font-weight: normal;
}
.left-menu {
top: 0px;
left: 5px;
width:280px;
}
#tj {
min-height: 550px;
}
@media screen and (min-width: 1000px) and (max-width: 1400px) and (max-height: 500px) {
#tj {
min-height: 500px;
}
}
.nav > li > a {
padding: 3px 15px;
}
.middlediv {
background: #FFFFFF;
float: left;
position: absolute;
left: 285px;
}
.middleleft {
border: 1px solid rgb(0, 106, 106);
margin-bottom: 1px;
margin-top: 1px;
float: left;
width: 220px;
}
.imgarrow {
float: left;
margin-left: 0px;
margin-top: 1px;
}
.mainright {
float: left;
margin-left: 1px;
width: 300px;
}
#middle_tree {
}
</style>
</head>
<body class="pd5">
<div id="middle_tree" style="float:left;">
<div id="middle_left" class="left-menu fl" style="color:#333;bottom:0;">
<div class="has-feedback" style="width:100%;">
<form class="form-inline" style="padding-top: 5px;padding-bottom: 5px;">
<label style="font-size:12px;font-weight: 500;">分类方式:</label>
<div class="form-group">
<select id="datatype" style="width: 145px;padding-bottom: 3px;padding-top: 3px">
<option selected value="0">电网拓扑</option>
<option value="1">终端厂家</option>
<option value="2">电压等级</option>
<option value="3">干扰源类型</option>
</select>
</div>
<div class="form-group">
<button type="button" id="export"
class="btn-primary"
onclick="javascript: getExport()"
style="height: 25px; width: 55px; border-radius: 4px; border: 1px solid;">
<i class="glyphicon glyphicon-share"></i>导出
</button>
</div>
</form>
</div>
<div id="search">
<input style="width: 200px; height: 25px;" id="search_value"
type="text" value="" placeholder="请输入关键词" autocomplete="off"
oninput="valueChange(this.value)" />
<button type="button" id="serchB"
class="btn-primary"
onclick="javascript: searchNode(search_value.value)"
style="height: 25px; width: 55px; border-radius: 4px; border: 1px solid;">
<i class="glyphicon glyphicon-search"></i>搜索
</button>
<button type="button" id="resetB"
class="btn-primary"
onclick="resetTree()"
style="padding: 0 5px; height: 25px; width: 55px; border-radius: 4px; border: 1px solid;display:none;">
<i class="glyphicon glyphicon-refresh"></i>重置
</button>
</div>
<div style="width:280px;">
<div id="tree" class="ztree" style="overflow:auto;margin-left: -8px;"></div>
</div>
</div>
</div>
<div class="row" style="background:#fff;">
<!--中间操作区域-->
<div id="middle_div" class="middlediv">
<ul id="myTab" class="nav nav-tabs">
<li class="active"><a href="#zlpg" id="zlpg" data-toggle="tab">电能质量综合评估</a></li>
<li><a href="#wtzb" id="wtzb" data-toggle="tab">稳态指标合格率分析</a></li>
<li><a href="#yxzt" id="yxzt" data-toggle="tab">运行状态统计</a></li>
<li><a href="#wtqs" id="wtqs" data-toggle="tab">稳态趋势分析</a></li>
<shiro:hasPermission name="/pqs9000/business/monitor/#">
<li><a href="#sssj" id="sssj" data-toggle="tab">实时数据</a></li>
</shiro:hasPermission>
<li style="float: right;margin-right:10px;">
<button id="query" type="button" class="btn themeBGColor" onclick="showInfo()">
<i class="glyphicon glyphicon-list-alt"></i>监测点详情
</button>
</li>
<li style="float: right;"><a href="javascript:void(0)" id="pointInfo" style="font:12px;"><font
color="#ff0000">所选监测点:</font></a></li>
</ul>
<iframe class="mainright" id="main_right"
name="main_right" frameborder="0"></iframe>
</div>
</div>
<input type="hidden" id="lineIndex" name="lineIndex">
<input type="hidden" id="lineName" name="lineName">
<input type="hidden" id="middlesrc" name="middlesrc">
<%--Common Modal --%>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/xss/xss.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.contextMenu.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.cleverTabs.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.exhide.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.exhide.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/bootstrapSwitch/bootstrap-switch.min.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/jspJS/utils/deviceTree.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/jspJS/monitor/monitor.js"></script>
<script type="text/javascript">
$('#myTab').find('li').click(function () {
var index = $(this).index();
(index) ? $('#right-arr').hide() : $('#right-arr').show();
});
$('#fx1').click(function () {
var fxclick = $("#fxclick").val();
if (fxclick == 'on') {
var fxsrc = $("#fxsrc").val();
fxsrc=filterXSS(fxsrc);
document.getElementById("fx").src = fxsrc;
$("#fxclick").val('off');
}
})
function getExport(){
let i;
$.ajax({
type: "get",
url: "/pqs9000/device/exportDev",
beforeSend: function () {
i = ityzl_SHOW_LOAD_LAYER();
},
success: function (data) {
if (data.code === 500) {
layer.msg(data.message, {icon: 2, time: 2000})
}else {
window.location.href="/pqs9000/device/exportDevMain";
}
//***********关闭loading
ityzl_CLOSE_LOAD_LAYER(i);
}
})
}
</script>
</body>
</html>

View File

@@ -0,0 +1,170 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<title>监测点首页</title>
<meta name="description" content="">
<meta name="author" content="">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/jquery/jquery-ui.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<link rel="stylesheet" href="${ctx}/css/plugin/checkbutton.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrapSwitch/bootstrap-switch.min.css">
<style type="text/css">
body, html, #allmap {
width: 100%;
height: 100%;
overflow: hidden;
margin: 0;
font-family: "微软雅黑";
background-color: #F9F9F9 !important;
}
.dg-sub b.red {
border-bottom: solid 1px #98af9f;
font-weight: bold;
}
.dg-sub b {
padding: 2px 5px;
color: #666;
font-weight: normal;
}
.left-menu {
top: 5px;
left: 5px;
}
#tj {
min-height: 550px;
}
@media screen and (min-width: 1000px) and (max-width: 1400px) and (max-height: 500px) {
#tj {
min-height: 500px;
}
}
.nav > li > a {
padding: 3px 15px;
}
.middlediv {
background: #FFFFFF;
float: left;
position: absolute;
left: 245px;
}
.middleleft {
border: 1px solid rgb(0, 106, 106);
margin-bottom: 1px;
margin-top: 1px;
float: left;
width: 220px;
}
.imgarrow {
float: left;
margin-left: 0px;
margin-top: 1px;
}
.mainright {
float: left;
margin-left: 1px;
width: 300px;
}
#middle_tree {
}
</style>
</head>
<body class="pd5">
<div id="middle_tree" style="float:left;">
<div id="middle_left" class="left-menu fl" style="color:#333;bottom:0;overflow:auto;">
<div class=""><input style="width:170px;" id="search_value" type="text" value="" placeholder="请输入关键词"/>
<input type="button" value="搜索" class="btn-primary" onclick="javascript: searchNode(search_value.value)"
style="padding:0 5px;border: 0px;border-radius: 2px">
</div>
<div style="width:220px;">
<div id="tree" class="ztree" style="overflow:auto;"></div>
</div>
<div id="myVue">
<el-radio-group v-model="radio3" size="small">
<el-radio-button class="primary" label="监测点" onclick="offlineTree()"></el-radio-button>
<el-radio-button class="primary" label="年份" onclick="yearTree()"></el-radio-button>
<el-radio-button class="primary" label="干扰源类型" onclick="loadtypeTree()"></el-radio-button>
</el-radio-group>
</div>
</div>
</div>
<div class="row" style="background:#fff;">
<%--中间操作区域--%>
<div id="middle_div" class="middlediv">
<ul id="myTab" class="nav nav-tabs">
<li class="active"><a href="#offwtqs" id="offwtqs" data-toggle="tab">稳态趋势对比</a></li>
<li><a href="#offxbpp" id="offxbpp" data-toggle="tab">谐波频谱</a></li>
<li><a href="#offword" id="offword" data-toggle="tab">word报告</a></li>
<li style="float: right;"><a href="javascript:void(0)" id="pointInfo" style="font:12px;"><font
color="#ff0000">所选监测点:</font></a></li>
</ul>
<iframe class="mainright" id="main_right"
name="main_right" frameborder="0"></iframe>
</div>
</div>
<input type="hidden" id="lineIndex" name="lineIndex">
<input type="hidden" id="lineName" name="lineName">
<input type="hidden" id="middlesrc" name="middlesrc">
<input type="hidden" id="allstime" name="allstime">
<input type="hidden" id="alletime" name="alletime">
<input type="hidden" id="checkpieces" name="checkpieces">
<input type="hidden" id="checkpiecee" name="checkpiecee">
<%--Common Modal --%>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/layui/lay/modules/vue.min.js"></script>
<script src="${ctx}/js/plugin/layui/lay/modules/element.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/xss/xss.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.contextMenu.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.cleverTabs.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/bootstrapSwitch/bootstrap-switch.min.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/offLineTree.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/jspJS/monitor/offLinemonitor.js"></script>
<script type="text/javascript">
$('#myTab').find('li').click(function () {
var index = $(this).index();
(index) ? $('#right-arr').hide() : $('#right-arr').show();
});
new Vue({
el: '#myVue',
data() {
return {
radio3: '监测点'
}
},
methods: {
}
})
</script>
</body>
</html>

View File

@@ -0,0 +1,152 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>历史数据</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/jquery/jquery-ui.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<link rel="stylesheet" href="${ctx}/css/plugin/checkbutton.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/dateSlider/dateSlider.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<style>
html, body {
background-color: #F9F9F9 !important;
font-size: 12px;
overflow: hidden;
}
ul {
padding: 0 2px;
border: 1px solid #696969;
border-radius: 4px;
}
.xieboTtitle {
clear: both;
}
.form-control {
font-size: 12px;
padding: 4px 12px !important;
}
.table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th {
padding: 5px;
}
.picDiv {
clear: both;
background-color: #fff;
overflow-y: auto;
}
</style>
</head>
<body>
<div id="main" style="display: none;">
<div class="container-fluid" style="overflow: hidden;">
<div class="form-inline header fr" style="margin-top: 2px;padding-bottom:15px; position: relative; z-index: 99">
<div class="form-group pdr10" id="timegroup">
<label style="font-weight: bold; margin-top: 5px">总区间:</label>
<div class="form-group" id="container" style="height: 45px;"></div>
</div>
<div class="form-group">
<input type="text" class="form-control form_datetime con" autocomplete="off"
id="startTime" style="width: 138px">
</div>
&nbsp;—
<div class="form-group">
<input type="text" class="form-control form_datetime con" autocomplete="off"
id="endTime" style="width: 138px">
</div>
<div class="form-group pdr10">
<label class="form-group">模板策略:</label>
<div class="form-group has-feedback">
<select class="form-control" id="template">
</select>
</div>
<button id="ploymanage" class="btn themeBGColor" style="padding-top: 0px;padding-right: 3px;padding-bottom: 0px;padding-left: 3px;">
<i class="glyphicon glyphicon-edit mr0"></i></button>
<button type="button" class="btn btn-primary" id="saveReport">
报告生成
</button>
</div>
</div>
</div>
<%--时间横轴--%>
<label style="font-weight: bold; position: absolute;margin-top: -5px;font-size: 12px;padding-left: 25px;">时间段:</label>
<div class="dateSlider" id="dateSlider" style="height:50px;padding:0px 50px 0px 80px;">&nbsp;</div>
<div class="col-sm-12">
<table id="nodelist"
class="table table-striped table-bordered dataTable no-footer"
style="width: 100%; cellspacing: 0;" role="grid"
aria-describedby="example_info" style="margin-top: -25px;">
<thead>
<tr role="row">
<th class="text-center">ID</th>
<th class="text-center">报告名称</th>
<th class="text-center">生成人员</th>
<th class="text-center">生成时间</th>
<th class="text-center">更新人员</th>
<th class="text-center">更新时间</th>
<th class="text-center">操作</th>
</tr>
</thead>
</table>
</div>
</div>
<div id="point" class="a"
style="width: 100%;height: 100%;">
<img src="${ctx}/images/timg.png" id="imgs">
<div class="bxfx" id="container1"></div>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/highcharts/highstock.js"></script>
<script src="${ctx}/js/plugin/highcharts/timeline.js"></script>
<script src="${ctx}/js/plugin/highcharts/export.js"></script>
<script src="${ctx}/js/plugin/highcharts/highchart-ZH.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.dataTables.min.js"></script>
<script src="${ctx}/js/plugin/datatables/dataTables.bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/datatables/dataTables.buttons.min.js"></script>
<script src="${ctx}/js/plugin/jquery-ui/jquery-ui.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/plugin/laydate/laydate.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/layui/layui.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.contextMenu.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.cleverTabs.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script
src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/js/plugin/dateSlider/dataSlider-hour.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/monitor/offword.js"></script>
<script type="text/javascript">
$(function() {
//执行一个laydate实例
laydate.render({
elem: '#startTime', //指定元素
type: 'datetime'
});
laydate.render({
elem: '#endTime', //指定元素
type: 'datetime'
});
})
</script>
</body>
</html>

View File

@@ -0,0 +1,194 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags"%>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>历史数据</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/js/plugin/layui/css/layui.css">
<link rel="stylesheet"
href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/jquery/jquery-ui.css">
<link rel="stylesheet"
href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet"
href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<link rel="stylesheet" href="${ctx}/css/plugin/dateSlider/dateSlider.css">
<link rel="stylesheet" href="${ctx}/css/plugin/checkbutton.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
html, body {
background-color: #F9F9F9 !important;
font-size: 12px;
overflow: hidden;
}
.form-control {
font-size: 12px;
padding: 4px 12px;
}
.picDiv {
clear: both;
background-color: #fff;
overflow-y: auto;
}
a {
color: #003078;
}
</style>
</head>
<body>
<div id="main" style="display: none;">
<div class="container-fluid">
<div class="form-inline header fr"
style="margin-top: 2px;padding-bottom:15px; position: relative; z-index: 99">
<div class="form-group pdr10" id="timegroup">
<label style="font-weight: bold; margin-top: 5px">总区间:</label>
<div class="form-group" id="container" style="height: 45px;"></div>
</div>
<div class="form-group " style="width:130px;">
<div class="form-group " id="harmonicSelect">
<label style="font-weight: bold; margin-top: 5px">谐波次数:</label> <select
class="form-control" id="harmonicId"
onchange="harmonicState(this[selectedIndex].value)">
</select>
</div>
</div>
<div class="form-group ">
<label style="font-weight: bold; margin-top: 5px">值类型:</label> <select
class="form-control" id="choo"
onchange='targetState(this[selectedIndex].value)'>
<option value="0">平均值</option>
<option value="1">最大值</option>
<option value="2">最小值</option>
<option value="3">CP95</option>
</select>
</div>
<div class="form-group has-feedback" style="display:none">
<select class="form-control" id="interval">
<option value="年份">年份</option>
<option value="季度">季度</option>
<option value="月份">月份</option>
<option value="周">周</option>
<option value="自定义">自定义</option>
</select>
</div>
<div class="form-group">
<input type="text" class="form-control form_datetime con" autocomplete="off"
id="startTime" style="width: 138px">
</div>
&nbsp;—
<div class="form-group">
<input type="text" class="form-control form_datetime con" autocomplete="off"
id="endTime" style="width: 138px">
</div>
<%--查询--%>
<div class="form-group">
<button type="button" class="btn btn-primary" id="query">
<i class="glyphicon glyphicon-search"></i>
</button>
</div>
</div>
</div>
<%--时间横轴--%>
<label style="font-weight: bold; position: absolute;margin-top: -5px;font-size: 12px;padding-left: 25px;">时间段:</label>
<div class="dateSlider" id="dateSlider" style="height:50px;padding:0px 50px 0px 80px;">&nbsp;</div>
</div>
<%-- 指标 --%>
<div class="float-open" id="float-open"
style="right: 7px; float: right;">
<a id="open-btn" href="javascript:void(0);"><i
class="fa fa-arrow-circle-o-left" style="font-size: 33px"></i></a>
</div>
<div class="float-news" id="float-news"
style="right: -450px; float: right; height: 65%">
<a id="float-close" href="javascript:void(0);"><i
class="fa fa-remove" style="font-size: 33px; margin-left: 160px;"></i></a>
<div class="newslist" style="margin-top: -46px;">
<h3>指标</h3>
<div id="target" class="ztree"></div>
</div>
</div>
<div class="picDiv" id="echartId" style="width: 98%">
<div class="bxfx" id="container1"></div>
<div class="bxfx" id="container2"></div>
<div class="bxfx" id="container3"></div>
</div>
<div id="point" class="a"
style="max-width: 100%;height:100%">
<li id="pointInfo" style="font-size: 20px; text-align: center"></li>
<img src="${ctx}/images/timg.png" id="imgs">
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/jquery-ui/jquery-ui.js"></script>
<script src="${ctx}/js/plugin/highcharts/highstock.js"></script>
<script src="${ctx}/js/plugin/highcharts/timeline.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/plugin/highcharts/export.js"></script>
<script src="${ctx}/js/plugin/highcharts/highchart-ZH.js"></script>
<script src="${ctx}/js/plugin/laydate/laydate.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/layui/layui.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.contextMenu.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.cleverTabs.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script
src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.excheck.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/js/plugin/dateSlider/dataSlider-hour.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/jspJS/utils/historyUtils.js"></script>
<script src="${ctx}/jspJS/monitor/offwtqs.js"></script>
<script>
$(function() {
$("#float-close").click(function() {
$(".float-news").animate({
right : '-450px'
}, 300, function() {
$(".float-open").delay(50).animate({
right : '7px'
}, 300);
});
});
$("#open-btn").click(function() {
$(".float-open").animate({
right : '-70px'
}, 100, function() {
$(".float-news").delay(50).animate({
right : '10px'
}, 300);
});
});
//执行一个laydate实例
laydate.render({
elem: '#startTime', //指定元素
type: 'datetime'
});
laydate.render({
elem: '#endTime', //指定元素
type: 'datetime'
});
})
</script>
</body>
</html>

View File

@@ -0,0 +1,194 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>历史数据</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/jquery/jquery-ui.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<link rel="stylesheet" href="${ctx}/css/plugin/checkbutton.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/dateSlider/dateSlider.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<style>
html, body {
background-color: #F9F9F9 !important;
font-size: 12px;
overflow: hidden;
}
ul {
padding: 0 2px;
border: 1px solid #696969;
border-radius: 4px;
}
.xieboTtitle {
clear: both;
}
.form-control {
font-size: 12px;
padding: 4px 12px !important;
}
.table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th {
padding: 5px;
}
.picDiv {
clear: both;
background-color: #fff;
overflow-y: auto;
}
</style>
</head>
<body>
<div id="main" style="display: none;">
<div class="container-fluid">
<div class="form-inline header fr" style="margin-top: 2px;padding-bottom:15px; position: relative; z-index: 99">
<div class="form-group pdr10" id="timegroup">
<label style="font-weight: bold; margin-top: 5px">总区间:</label>
<div class="form-group" id="container0" style="height: 45px;"></div>
</div>
<div class="form-group">
<input type="text" class="form-control form_datetime con" autocomplete="off"
id="startTime" style="width: 138px">
</div>
&nbsp;—
<div class="form-group">
<input type="text" class="form-control form_datetime con" autocomplete="off"
id="endTime" style="width: 138px">
</div>
<%--查询--%>
<div class="form-group">
<button type="button" class="btn btn-primary" id="query">
<i class="glyphicon glyphicon-search"></i>
</button>
</div>
</div>
</div>
<%--时间横轴--%>
<label style="font-weight: bold; position: absolute;margin-top: -5px;font-size: 12px;padding-left: 25px;">时间段:</label>
<div class="dateSlider" id="dateSlider" style="height:50px;padding:0px 50px 0px 80px;">&nbsp;</div>
<div class="container-fluid" id="outI">
<ul class="nav nav-pills nav-justified mt10" id="qualifiedTab">
<li class="active"><a href="#frequency" data-toggle="tab" id="allData">谐波电压含有率</a></li>
<li><a href="#frequency" data-toggle="tab" id="vuDev">谐波电流幅值</a></li>
</ul>
</div>
<table id="example"
class="table table-striped table-bordered dataTable no-footer"
cellspacing="0">
<thead>
<tr role="row">
<th class="text-center">次数</th>
<th class="text-center">2</th>
<th class="text-center">3</th>
<th class="text-center">4</th>
<th class="text-center">5</th>
<th class="text-center">6</th>
<th class="text-center">7</th>
<th class="text-center">8</th>
<th class="text-center">9</th>
<th class="text-center">10</th>
<th class="text-center">11</th>
<th class="text-center">12</th>
<th class="text-center">13</th>
<th class="text-center">14</th>
<th class="text-center">15</th>
<th class="text-center">16</th>
<th class="text-center">17</th>
<th class="text-center">18</th>
<th class="text-center">19</th>
<th class="text-center">20</th>
<th class="text-center">21</th>
<th class="text-center">22</th>
<th class="text-center">23</th>
<th class="text-center">24</th>
<th class="text-center">25</th>
<th class="text-center">26</th>
<th class="text-center">27</th>
<th class="text-center">28</th>
<th class="text-center">29</th>
<th class="text-center">30</th>
<th class="text-center">31</th>
<th class="text-center">32</th>
<th class="text-center">33</th>
<th class="text-center">34</th>
<th class="text-center">35</th>
<th class="text-center">36</th>
<th class="text-center">37</th>
<th class="text-center">38</th>
<th class="text-center">39</th>
<th class="text-center">40</th>
<th class="text-center">41</th>
<th class="text-center">42</th>
<th class="text-center">43</th>
<th class="text-center">44</th>
<th class="text-center">45</th>
<th class="text-center">46</th>
<th class="text-center">47</th>
<th class="text-center">48</th>
<th class="text-center">49</th>
<th class="text-center">50</th>
</tr>
</thead>
</table>
<div id="container" class="mt10"></div>
</div>
<div id="point" class="a"
style="width: 100%; height: 100%;">
<img src="${ctx}/images/timg.png" id="imgs"">
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/jquery-ui/jquery-ui.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.contextMenu.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.cleverTabs.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/plugin/laydate/laydate.js"></script>
<script src="${ctx}/js/plugin/layui/layui.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.dataTables.js"></script>
<script src="${ctx}/js/plugin/highcharts/highstock.js"></script>
<script src="${ctx}/js/plugin/highcharts/timeline.js"></script>
<script src="${ctx}/js/plugin/highcharts/export.js"></script>
<script src="${ctx}/js/plugin/highcharts/highchart-ZH.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.excheck.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/plugin/dateSlider/dataSlider-hour.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/monitor/offxbpp.js"></script>
<script type="text/javascript">
$(function() {
//执行一个laydate实例
laydate.render({
elem: '#startTime', //指定元素
type: 'datetime'
});
laydate.render({
elem: '#endTime', //指定元素
type: 'datetime'
});
})
</script>
</body>
</html>

View File

@@ -0,0 +1,102 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<!DOCTYPE html >
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>模板管理</title>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet"
href="${ctx}/css/plugin/datatables/buttons.dataTables.min.css">
<link rel="stylesheet"
href="${ctx}/css/plugin/bootstrap/dataTables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
.tr {
text-align: center;
}
.td {
height: 37px;
line-height: 37px
}
#vdlist_filter {
display: none;
}
body {
max-height: 500px;
}
.table>thead>tr>th, .table>tbody>tr>th, .table>tfoot>tr>th, .table>thead>tr>td,
.table>tbody>tr>td, .table>tfoot>tr>td {
padding: 7px 0;
line-height: 1.42857143;
vertical-align: top;
border-top: 1px solid #ddd;
}
@media screen and (min-width: 1200px) and (max-width:1400px) {
.table>thead>tr>th, .table>tbody>tr>th, .table>tfoot>tr>th, .table>thead>tr>td,
.table>tbody>tr>td, .table>tfoot>tr>td {
padding: 4px;
line-height: 1.42857143;
vertical-align: top;
border-top: 1px solid #ddd;
}
}
</style>
</head>
<body class="pd15 bg-white">
<div class="container-fluid">
<div class="row ">
<form class="form-inline ml12 ">
<div style="margin-left: 1%">
<div class="form-inline pdr15 mt30 fr header">
<button type="button" class="btn themeBGColor" id="addnode">
<i class="glyphicon glyphicon-plus"></i>新增
</button>
</div>
</div>
</form>
<div class="col-sm-12">
<table id="nodelist"
class="table table-striped table-bordered dataTable no-footer"
style="width: 100%; cellspacing: 0;" role="grid"
aria-describedby="example_info" style="margin-top: -25px;">
<thead>
<tr role="row">
<th class="text-center">ID</th>
<th class="text-center">名称</th>
<th class="text-center">上传时间</th>
<th class="text-center">状态</th>
<th class="text-center">操作</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.dataTables.min.js"></script>
<script src="${ctx}/js/plugin/datatables/dataTables.bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/datatables/dataTables.buttons.min.js"></script>
<script src="${ctx}/js/plugin/jquery-ui/jquery-ui.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/layui/layui.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.contextMenu.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.cleverTabs.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script
src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/jspJS/monitor/ploymanage.js"></script>
</body>
</html>

View File

@@ -0,0 +1,105 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags"%>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>历史数据</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/js/plugin/layui/css/layui.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/jquery/jquery-ui.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
html, body {
background-color: #F9F9F9 !important;
font-size: 20px;
overflow: hidden;
}
.picDiv{
clear:both;
background-color: #fff;
overflow-y: auto;
}
a {
color: #003078;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="header" id="timepoint" style="margin-top:2px;text-align: center;height:30px;">
</div>
</div>
<%-- 指标 --%>
<div class="float-open" id="float-open"
style="right: 7px; float: right;">
<a id="open-btn" href="javascript:void(0);"><i class="fa fa-arrow-circle-o-left"
style="font-size: 33px"></i></a>
</div>
<div class="float-news" id="float-news"
style="right: -450px; float: right; height: 65%">
<a id="float-close" href="javascript:void(0);"><i
class="fa fa-remove" style="font-size: 33px;margin-left: 160px;"></i></a>
<div class="newslist" style="margin-top: -46px;">
<h3>指标</h3>
<div id="target" class="ztree"></div>
</div>
</div>
<div class="picDiv" id="echartId" style="width: 98%;max-height:100%;">
<div class="bxfx" id="container1"></div>
<div class="bxfx" id="container2"></div>
<div class="bxfx" id="container3"></div>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/highcharts/highcharts.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/plugin/highcharts/highchart-ZH.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/layui/layui.js"></script>
<script src="${ctx}/js/plugin/json/json2.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.excheck.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/jspJS/monitor/trend.js"></script>
<script>
$("#float-close").click(function () {
$(".float-news").animate({
right: '-450px'
}, 300, function () {
$(".float-open").delay(50).animate({
right: '7px'
}, 300);
});
});
$("#open-btn").click(function () {
$(".float-open").animate({
right: '-70px'
}, 100, function () {
$(".float-news").delay(50).animate({
right: '10px'
}, 300);
});
});
</script>
</body>
</html>

View File

@@ -0,0 +1,103 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>上传模板</title>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/js/plugin/layui/css/layui.css" media="all">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style type="text/css">
html { overflow: hidden; }
</style>
</head>
<body class="bg-white">
<div class="layui-left layui-tab self-style pd10">
<table class="table" id="device">
<tr>
<td align="right" class="width1"></td>
<td align="left" class="width2"><form class="form-inline ml12"
enctype="multipart/form-data" id="uploadForm">
<input type="file" name="file" id="inputfile">
</form></td>
</tr>
<tr>
<td></td>
<td align="left" class="width2"><button type="button"
id="import" class="btn btn-primary" style="margin-left:85px;font-size: 15px;">提交</button></td>
<td></td>
</tr>
</table>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/jquery-ui/jquery-ui.js"></script>
<script src="${ctx}/js/plugin/datatables/dataTables.buttons.min.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/layui/layui.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.contextMenu.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.cleverTabs.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script
src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script type="text/javascript">
$("#import").click(function(){
var i;
var uploadEventFile=$("#inputfile").val();
/**
* xuyang
* 前端对所选文件的大小做个简单判断
*/
var uploadFile = document.getElementById("inputfile").files;
//文件大小
var size = uploadFile[0].size;
if (Math.floor(size/1024) <= 3072){
if(uploadEventFile == ''){
layer.msg("请选择Docx文件再上传",{icon:5,time:2000},function(){
layer.closeAll()});
}else if(uploadEventFile.lastIndexOf(".docx")<0){
layer.msg("只能上传Docx文件",{icon:5,time:2000},function(){
layer.closeAll()});
}else{
layer.confirm('确定上传?', function(index){
var formData = new FormData($('#uploadForm')[0]);
$.ajax({
method : "post",
url : "/pqs9000/devicereport/uploadOffPloy",
data :formData,
beforeSend: function () {
i = ityzl_SHOW_LOAD_LAYER();
},
success : function(data) {
if(data.code == 200){
layer.msg("上传成功",{icon:1,time:2000},function(){
parent.layer.closeAll()});
//***********关闭loading
ityzl_CLOSE_LOAD_LAYER(i);
} else{
layer.msg(data.message,{icon:5,time:2000},function(){
parent.layer.closeAll()});
//***********关闭loading
ityzl_CLOSE_LOAD_LAYER(i);
}
},
cache: false,
contentType: false,
processData: false
});
})
}
}else {
layer.msg("上传失败,文件大小不超过3M!",{icon:5,time:2000},function(){
layer.closeAll()});
}
})
</script>
</body>
</html>

View File

@@ -0,0 +1,119 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>上传模板</title>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/js/plugin/layui/css/layui.css" media="all">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style type="text/css">
html { overflow: hidden; }
</style>
</head>
<body class="bg-white">
<div class="layui-left layui-tab self-style pd10">
<table class="table" id="device">
<tr>
<td align="right" class="width1"></td>
<td align="left" class="width2"><form class="form-inline ml12"
enctype="multipart/form-data" id="uploadForm">
<input type="file" name="file" id="inputfile">
</form></td>
</tr>
<tr>
<td></td>
<td align="left" class="width2"><button type="button"
id="import" class="btn btn-primary" style="margin-left:85px;font-size: 15px;">提交</button></td>
<td></td>
</tr>
</table>
</div>
<input type="hidden" value="${sessionScope.reportIndex}" id="reportIndex"
name="reportIndex">
<input type="hidden" value="${sessionScope.reportName}" id="reportName"
name="reportName">
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/jquery-ui/jquery-ui.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/layui/layui.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.contextMenu.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.cleverTabs.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script
src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/js/plugin/xss/xss.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script type="text/javascript">
var reportIndex = $("#reportIndex").val();
var reportName = $("#reportName").val();
reportIndex=filterXSS(reportIndex);
reportName=filterXSS(reportName);
$("#import").click(function(){
var i;
var uploadEventFile=$("#inputfile").val();
/**
* xuyang
* 前端对所选文件的大小做个简单判断
*/
var uploadFile = document.getElementById("inputfile").files;
//文件大小
var size = uploadFile[0].size;
if (Math.floor(size/1024) <= 3072){
if(uploadEventFile == ''){
layer.msg("请选择Doc文件再上传",{icon:5,time:2000},function(){
layer.closeAll()});
}else if(uploadEventFile.lastIndexOf(".doc")<0){//可判断以.xls和.xlsx结尾的excel
layer.msg("只能上传Doc文件",{icon:5,time:2000},function(){
layer.closeAll()});
}else{
layer.confirm('确定上传?', function(index){
var formData = new FormData($('#uploadForm')[0]);
formData.append("reportIndex",reportIndex);
formData.append("reportName",reportName);
$.ajax({
method : "post",
url : "/pqs9000/devicereport/updatereport",
data :formData,
beforeSend: function () {
i = ityzl_SHOW_LOAD_LAYER();
},
success : function(data) {
if(data.code == 200){
layer.msg("上传成功",{icon:1,time:2000},function(){
parent.layer.closeAll()});
//***********关闭loading
ityzl_CLOSE_LOAD_LAYER(i);
} else{
// layer.msg("上传失败,请核对文档内容!",{icon:5,time:2000},function(){
// parent.layer.closeAll()});
// //***********关闭loading
// ityzl_CLOSE_LOAD_LAYER(i);
layer.msg(data.message,{icon:5,time:2000},function(){
parent.layer.closeAll()});
//***********关闭loading
ityzl_CLOSE_LOAD_LAYER(i);
}
},
cache: false,
contentType: false,
processData: false
});
})
}
} else {
layer.msg("上传失败,文件大小不超过3M!",{icon:5,time:2000},function(){
layer.closeAll()});
}
})
</script>
</body>
</html>

View File

@@ -0,0 +1,229 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags"%>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>历史数据</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/js/plugin/layui/css/layui.css">
<link rel="stylesheet"
href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/jquery/jquery-ui.css">
<link rel="stylesheet"
href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet"
href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
html, body {
background-color: #F9F9F9 !important;
font-size: 12px;
overflow: hidden;
}
.form-control {
font-size: 12px;
padding: 4px 12px;
}
.picDiv {
clear: both;
background-color: #fff;
overflow-y: auto;
}
.layui-input, .layui-select, .layui-textarea {
height: 28px;
}
a {
color: #003078;
}
</style>
</head>
<body>
<div class="container-fluid fr">
<div class="form-inline header"
style="margin-top: 2px; position: relative; z-index: 99">
<div class="form-group ">
<label style="font-weight: bold; margin-top: 5px">类型:</label> <select
class="form-control" id="choo"
onchange='targetState(this[selectedIndex].value)'>
<option id="avg" value="0">平均值</option>
<option id="max" value="1">最大值</option>
<option id="min" value="2">最小值</option>
<option id="cp95" value="3">CP95</option>
</select>
</div>
<div class="form-group " id="harmonicSelect">
<label style="font-weight: bold; margin-top: 5px">谐波:</label> <select
class="form-control" id="harmonicId"
onchange="harmonicState(this[selectedIndex].value)">
</select>
</div>
<div class="form-group " id="harmonicInHarmSelect">
<label style="font-weight: bold;margin-top: 5px">间谐波:</label>
<select class="form-control" id="harmonicInHarmId" onchange="harmonicInState(this[selectedIndex].value)">
</select>
</div>
<%@include file="../../include/time.jsp"%>
<label class="form-group">时:</label>
<div class="form-group has-feedback">
<select class="form-control" id="start">
<option value="00" selected="selected">00</option>
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
</select>
</div>
&nbsp;—
<div class="form-group">
<select class="form-control" id="end">
<option value="00">01</option>
<option value="01">02</option>
<option value="02">03</option>
<option value="03">04</option>
<option value="04">05</option>
<option value="05">06</option>
<option value="06">07</option>
<option value="07">08</option>
<option value="08">09</option>
<option value="09">10</option>
<option value="10">11</option>
<option value="11">12</option>
<option value="12">13</option>
<option value="13">14</option>
<option value="14">15</option>
<option value="15">16</option>
<option value="16">17</option>
<option value="17">18</option>
<option value="18">19</option>
<option value="19">20</option>
<option value="20">21</option>
<option value="21">22</option>
<option value="22">23</option>
<option value="23" selected="selected">24</option>
</select>
</div>
<%--查询--%>
<div class="form-group">
<button type="button" class="btn btn-primary" id="query">
<i class="glyphicon glyphicon-search"></i>
</button>
</div>
<div class="form-group" style="display: none;">
<button type="button" class="njcn btn themeBGColor"
id="btnfullScreen">
<i class="glyphicon glyphicon-resize-full" title="全屏"
aria-hidden="true"></i>
</button>
</div>
</div>
</div>
<%-- 指标 --%>
<div class="float-open" id="float-open"
style="right: 7px; float: right;">
<a id="open-btn" href="javascript:void(0);"><i
class="fa fa-arrow-circle-o-left" style="font-size: 33px"></i></a>
</div>
<div class="float-news" id="float-news"
style="right: -450px; float: right; height: 65%">
<a id="float-close" href="javascript:void(0);"><i
class="fa fa-remove" style="font-size: 33px; margin-left: 160px;"></i></a>
<div class="newslist" style="margin-top: -46px;">
<h3>指标</h3>
<div id="target" class="ztree"></div>
</div>
</div>
<div class="picDiv" id="echartId" style="width: 98%">
<div id="point" class="a"
style="max-width: 98%; max-height: 100%; display: none">
<li id="pointInfo" style="font-size: 20px; text-align: center"></li>
<img src="${ctx}/images/timg.png" id="imgs">
</div>
<div class="bxfx" id="container1"></div>
<div class="bxfx" id="container2"></div>
<div class="bxfx" id="container3"></div>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/highcharts/highstock.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/plugin/highcharts/export.js"></script>
<script src="${ctx}/js/plugin/highcharts/export-csv.js"></script>
<script src="${ctx}/js/plugin/highcharts/offline-exporting.js"></script>
<script src="${ctx}/js/plugin/highcharts/highchart-ZH.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/layui/layui.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.contextMenu.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.cleverTabs.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.excheck.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/jspJS/utils/historyUtils.js"></script>
<script src="${ctx}/jspJS/assessmentsis/history.js"></script>
<script>
$("#interval").val("自定义");
$(function() {
$("#float-close").click(function() {
$(".float-news").animate({
right : '-450px'
}, 300, function() {
$(".float-open").delay(50).animate({
right : '7px'
}, 300);
});
});
$("#open-btn").click(function() {
$(".float-open").animate({
right : '-70px'
}, 100, function() {
$(".float-news").delay(50).animate({
right : '20px'
}, 300);
});
});
//changeState(false);
ismult = false;
})
</script>
</body>
</html>

View File

@@ -0,0 +1,100 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>稳态指标合格率</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet"
href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet"
href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/plugin/basicButton.css">
<link rel="stylesheet" href="${ctx}/css/tip.css">
<style>
html, body {
background-color: #F9F9F9 !important;
overflow: hidden;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="row">
<form class="form-inline pd10">
<%@include file="../../include/time.jsp" %>
<div class="form-group">
<button id="query" type="button" class=" btn themeBGColor">
<i class="glyphicon glyphicon-search"></i>
</button>
<button id="tb" type="button" class="btn themeBGColor">同比</button>
<button id="hb" type="button" class="btn themeBGColor">环比</button>
<button id="res" type="button" class="btn themeBGColor"
style="display: none">返回
</button>
<button id="helper" type="button" class="btn btn-primary tip tip-bottom" data-tip="合格率详解">
<i class="glyphicon glyphicon-info-sign" style="margin-left: -3px;margin-right: -3px;"></i>
</button>
</div>
</form>
<div class="tab-pane active">
<div id="table" class="col-sm-12">
<table id="areaTable"
class="table table-striped table-bordered dataTable no-footer">
<thead>
<tr>
<th style="background-color: #ebebeb;">指标</th>
<th style="background-color: #ebebeb;">频率偏差(%)</th>
<th style="background-color: #ebebeb;">闪变(%)</th>
<th style="background-color: #ebebeb;">三相电压不平衡度(%)</th>
<th style="background-color: #ebebeb;">谐波电压(%)</th>
<th style="background-color: #ebebeb;">电压偏差(%)</th>
<th style="background-color: #ebebeb;">谐波电流(%)</th>
<th style="background-color: #ebebeb;">负序电流(%)</th>
<th style="background-color: #ebebeb;">间谐波电压含有率(%)</th>
</tr>
<tr>
<th style="background-color: #f9f9f9;">值</th>
<th id="data1" style="background-color: #f9f9f9;"></th>
<th id="data2" style="background-color: #f9f9f9;"></th>
<th id="data3" style="background-color: #f9f9f9;"></th>
<th id="data4" style="background-color: #f9f9f9;"></th>
<th id="data5" style="background-color: #f9f9f9;"></th>
<th id="data6" style="background-color: #f9f9f9;"></th>
<th id="data7" style="background-color: #f9f9f9;"></th>
<th id="data8" style="background-color: #f9f9f9;"></th>
</tr>
</thead>
</table>
</div>
<%--稳态指标合格率--%>
<div class="col-sm-12" id="wtzb"></div>
</div>
</div>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/echarts/echarts.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/xss/xss.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/helper.js"></script>
<script src="${ctx}/jspJS/monitor/wtzb.js"></script>
<script>
$("#helper").click(function () {
toHelper("#wtzbhgl");
});
</script>
</body>
</html>

View File

@@ -0,0 +1,413 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags"%>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>谐波数据</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet"
href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/js/plugin/layui/css/layui.css">
<link rel="stylesheet"
href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
body, html {
width: 100%;
height: 100%;
overflow: hidden;
margin: 0;
font-family: "微软雅黑";
background-color: #F9F9F9 !important;
}
.nav>li>a {
padding: 3px 15px;
}
th,td {
white-space:nowrap;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="header" id="timepoint"
style="margin-top: 2px; text-align: center; height: 30px;font-weight: bolder;"></div>
<table id="example"
class="table table-striped table-bordered dataTable no-footer"
cellspacing="0" id="ss">
<thead>
<tr role="row">
<th class="text-center" style="white-space: nowrap;padding-right: 50px;padding-left: 50px">次数</th>
<th class="text-center">2</th>
<th class="text-center">3</th>
<th class="text-center">4</th>
<th class="text-center">5</th>
<th class="text-center">6</th>
<th class="text-center">7</th>
<th class="text-center">8</th>
<th class="text-center">9</th>
<th class="text-center">10</th>
<th class="text-center">11</th>
<th class="text-center">12</th>
<th class="text-center">13</th>
<th class="text-center">14</th>
<th class="text-center">15</th>
<th class="text-center">16</th>
<th class="text-center">17</th>
<th class="text-center">18</th>
<th class="text-center">19</th>
<th class="text-center">20</th>
<th class="text-center">21</th>
<th class="text-center">22</th>
<th class="text-center">23</th>
<th class="text-center">24</th>
<th class="text-center">25</th>
<th class="text-center">26</th>
<th class="text-center">27</th>
<th class="text-center">28</th>
<th class="text-center">29</th>
<th class="text-center">30</th>
<th class="text-center">31</th>
<th class="text-center">32</th>
<th class="text-center">33</th>
<th class="text-center">34</th>
<th class="text-center">35</th>
<th class="text-center">36</th>
<th class="text-center">37</th>
<th class="text-center">38</th>
<th class="text-center">39</th>
<th class="text-center">40</th>
<th class="text-center">41</th>
<th class="text-center">42</th>
<th class="text-center">43</th>
<th class="text-center">44</th>
<th class="text-center">45</th>
<th class="text-center">46</th>
<th class="text-center">47</th>
<th class="text-center">48</th>
<th class="text-center">49</th>
<th class="text-center">50</th>
</tr>
</thead>
</table>
</div>
<div class="xieboTtitle" style="text-align: center; font-size: 20px"
id="point"></div>
<div id="container" class="mt10"></div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/highcharts/highcharts.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/plugin/highcharts/highchart-ZH.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/layui/layui.js"></script>
<script src="${ctx}/js/plugin/json/json2.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.dataTables.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script>
var chart
$("#container").css("height", $(window).height() - 115);
var lineIndex = window.parent.parent.parent.document
.getElementById("lineIndex").value;
var webSocket = window.parent.parent.parent.parent.webSocket;
var obj=null;
var gb = [];
$(document).ready(
function() {
var oTable = $('#example').DataTable({
info : false,
paging : false,
lengthChange : false,
columns : [ {
"width" : "180px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
} ],
ordering : false,
// autoWidth:true,
scrollX : true,
destroy : true,
language : {
url : '/pqs9000/json/chine.json',
"sEmptyTable" : "没有内容"
},
})
var serName = [];
var number = [];
for (i = 1; i < 50; i++) {
serName.push([ parseFloat(null) ]);
number.push([ i + 1 ]);
}
//画图
chart = Highcharts.chart('container', {
chart : {
type : 'column',
events : {
load : function(data) {
var series = null, chart = this;
if (obj == null) {
obj = chart;
}else{
chart=obj;
}
series=chart.series[0];
if (data.length > 0) {
series.update({
data:data
});
}
}
}
},
credits : {
enabled : false
},
title : {
text : ''
},
xAxis : {
categories : number
},
yAxis : [ {
min : 0,
title : {
text : '谐波电流幅值(A)'
}
} ],
legend : {
shadow : false
},
tooltip : {
shared : true,
formatter : function() {
var x, y1, y2;
if (this.points.length == 1) {
x = "谐波次数:" + this.points[0].x
y2 = this.points[0].series.name + ":"
+ this.points[0].y + "A"
return x + '<br>' + y2;
} else {
x = "谐波次数:" + this.points[0].x
y1 = "谐波电流幅值(A):" + this.points[0].y + "A"
y2 = "国际限值(A):" + this.points[1].y + "A"
return x + '<br>' + y1+'<br>'+y2;
}
}
},
plotOptions : {
column : {
grouping : false,
shadow : false,
borderWidth : 0
}
},
series : [ {
name : '谐波电流幅值(A)',
color : green,
data : serName,
tooltip : {
valueSuffix : 'A'
},
pointPadding : 0.3,
pointPlacement : -0.2
}, {
name: '国标限值(A)',
color: yellow,
data: gb,
tooltip: {
valueSuffix: 'A'
},
pointPadding: 0.4, // 通过 pointPadding 和 pointPlacement 控制柱子位置
pointPlacement: -0.2
} ]
});
getOverLimit()
getData();
})
Highcharts.setOptions({ global: { useUTC: false } });
function getData() {
webSocket.onmessage = function(event) {
var data = [];
var tabledata = [];
var tmp=[];
tmp.push("谐波电流幅值");
var json0 = $.parseJSON(event.data);
var rescode = json0['resultcode']
if(rescode == '10000') {
var json1 = json0['resultmsg'];
var json2 = json1[lineIndex];// 监测点数据
var timepoint = parseInt(json2['TIME']);// 发生时刻
var s = "时刻:" + Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', timepoint);
$("#timepoint").html(s);
var vjson = json2['I'];// 电流相关数据,数组
for (var i = 0; i < vjson.length; i++) {
var tmplist = vjson[i];
if (tmplist['SEQ'] == 'A') {
for (var n = 2; n < 51; n++) {
var name = 'I' + n;
data.push(parseFloat((tmplist[name]*1).toFixed(2)));
tmp.push((parseFloat(tmplist[name])*1).toFixed(2));
}
}
}
obj.hcEvents.load[0](data);
tabledata.push(tmp);
reloadTable(tabledata);
}
}
}
function reloadTable(tabledata){
var table = $('#example').DataTable();
var currentPage = table.page();
table.clear();
table.rows.add(tabledata);
table.page(currentPage).draw( false );
}
//获取监测点国标限值
function getOverLimit() {
$.ajax({
type:'get',
url:'/pqs9000/getOverLimit',
data:{
pointIndex:lineIndex
},
success:function (data) {
if(data.code == 200){
gb = [];
for(var n=2;n<26;n++){
let str = 'IHARM_'+n;
gb.push(data.body[str])
}
console.log(gb)
obj.series[1].update({data:gb})
}else {
layer.msg(data.message,{icon:2})
}
}
})
}
</script>
</body>
</html>

View File

@@ -0,0 +1,94 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags"%>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>谐波频谱</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
<link rel="stylesheet"
href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/jquery/jquery-ui.css">
<link rel="stylesheet"
href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet"
href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<link reJl="stylesheet" href="${ctx}/css/basic.css">
<style>
html, body {
overflow: hidden;
background-color: #F9F9F9 !important;
}
.btn {
font-size: 11px;
}
.mainright {
float: left;
margin-left: 1px;
width: 300px;
}
.nav>li>a {
font-size: 11px;
padding: 5px 15px;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="row">
<ul id="myTab" class="nav nav-tabs">
<li><a href="#xb" id="xb" data-toggle="tab">谐波</a></li>
<li><a href="#jxb" id="jxb" data-toggle="tab">间谐波</a></li>
<li><a href="#xbdl" id="xbdl" data-toggle="tab">谐波电流幅值</a></li>
</ul>
<iframe class="mainright" id="main_right" style="width: 100%;"
name="main_right" frameborder="0"></iframe>
</div>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.cleverTabs.js"></script>
<script src="${ctx}/js/plugin/echarts/echarts.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script
src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script>
$('#myTab').find('li').click(function() {
var index = $(this).index();
(index) ? $('#right-arr').hide() : $('#right-arr').show();
});
$(document).ready(function() {
var picHeight = $(window).height() - 30;
$("#main_right").css("height", picHeight);
document.getElementById("main_right").src = "xbsj";
})
$('#xb').click(function() {
document.getElementById("main_right").src = "xbsj";
})
$('#jxb').click(function() {
document.getElementById("main_right").src = "jxbsj";
})
//电流
$('#xbdl').click(function() {
document.getElementById("main_right").src = "xbdl";
})
</script>
</body>
</html>

View File

@@ -0,0 +1,409 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags"%>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>谐波数据</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet"
href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/js/plugin/layui/css/layui.css">
<link rel="stylesheet"
href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
body, html {
width: 100%;
height: 100%;
overflow: hidden;
margin: 0;
font-family: "微软雅黑";
background-color: #F9F9F9 !important;
}
.nav>li>a {
padding: 3px 15px;
}
th,td {
white-space:nowrap;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="header" id="timepoint"
style="margin-top: 2px; text-align: center; height: 30px;font-weight: bolder;"></div>
</div>
<div class="xieboTtitle" style="text-align: center; font-size: 20px"
id="point"></div>
<table id="example"
class="table table-striped table-bordered dataTable no-footer"
cellspacing="0" id="ss">
<thead>
<tr role="row">
<th class="text-center" style="white-space: nowrap;padding-right: 50px;padding-left: 50px">次数</th>
<th class="text-center">2</th>
<th class="text-center">3</th>
<th class="text-center">4</th>
<th class="text-center">5</th>
<th class="text-center">6</th>
<th class="text-center">7</th>
<th class="text-center">8</th>
<th class="text-center">9</th>
<th class="text-center">10</th>
<th class="text-center">11</th>
<th class="text-center">12</th>
<th class="text-center">13</th>
<th class="text-center">14</th>
<th class="text-center">15</th>
<th class="text-center">16</th>
<th class="text-center">17</th>
<th class="text-center">18</th>
<th class="text-center">19</th>
<th class="text-center">20</th>
<th class="text-center">21</th>
<th class="text-center">22</th>
<th class="text-center">23</th>
<th class="text-center">24</th>
<th class="text-center">25</th>
<th class="text-center">26</th>
<th class="text-center">27</th>
<th class="text-center">28</th>
<th class="text-center">29</th>
<th class="text-center">30</th>
<th class="text-center">31</th>
<th class="text-center">32</th>
<th class="text-center">33</th>
<th class="text-center">34</th>
<th class="text-center">35</th>
<th class="text-center">36</th>
<th class="text-center">37</th>
<th class="text-center">38</th>
<th class="text-center">39</th>
<th class="text-center">40</th>
<th class="text-center">41</th>
<th class="text-center">42</th>
<th class="text-center">43</th>
<th class="text-center">44</th>
<th class="text-center">45</th>
<th class="text-center">46</th>
<th class="text-center">47</th>
<th class="text-center">48</th>
<th class="text-center">49</th>
<th class="text-center">50</th>
</tr>
</thead>
</table>
<div id="container" class="mt10"></div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/highcharts/highcharts.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/plugin/highcharts/highchart-ZH.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/layui/layui.js"></script>
<script src="${ctx}/js/plugin/json/json2.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.dataTables.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script>
$("#container").css("height", $(window).height() - 115);
var lineIndex = window.parent.parent.parent.document
.getElementById("lineIndex").value;
var webSocket = window.parent.parent.parent.parent.webSocket;
var obj=null;
var gb = [];
$(document).ready(
function() {
var oTable = $('#example').DataTable({
info : false,
paging : false,
lengthChange : false,
columns : [ {
"width" : "180px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
}, {
"width" : "41px"
} ],
ordering : false,
// autoWidth:true,
scrollX : true,
destroy : true,
language : {
url : '/pqs9000/json/chine.json',
"sEmptyTable" : "没有内容"
},
})
var serName = [];
var number = [];
for (i = 1; i < 50; i++) {
serName.push([ parseFloat(null) ]);
number.push([ i + 1 ]);
}
//画图
chart = Highcharts.chart('container', {
chart : {
type : 'column',
events : {
load : function(data) {
var series = null, chart = this;
if (obj == null) {
obj = chart;
}else{
chart=obj;
}
series=chart.series[0];
if (data.length > 0) {
series.update({
data:data
});
}
}
}
},
credits : {
enabled : false
},
title : {
text : ''
},
xAxis : {
categories : number
},
yAxis : [ {
min : 0,
title : {
text : '谐波含有率(%)'
}
} ],
legend : {
shadow : false
},
tooltip : {
shared : true,
formatter : function() {
var x, y1, y2;
if (this.points.length == 1) {
x = "谐波次数:" + this.points[0].x
y2 = this.points[0].series.name + ":"
+ this.points[0].y + "%"
return x + '<br>' + y2;
} else {
x = "谐波次数:" + this.points[0].x
y1 = "谐波含有率(%):" + this.points[0].y + "%"
y2 = "国际限值(%):" + this.points[1].y + "%"
return x + '<br>' + y1+'<br>'+y2;
}
}
},
plotOptions : {
column : {
grouping : false,
shadow : false,
borderWidth : 0
}
},
series : [ {
name : '谐波含有率(%)',
color : green,
data : serName,
tooltip : {
valueSuffix : '%'
},
pointPadding : 0.3,
pointPlacement : -0.2
}, {
name: '国标限值(%)',
color: yellow,
data: gb,
tooltip: {
valueSuffix: '%'
},
pointPadding: 0.4, // 通过 pointPadding 和 pointPlacement 控制柱子位置
pointPlacement: -0.2
} ]
});
getOverLimit()
getData();
})
Highcharts.setOptions({ global: { useUTC: false } });
function getData() {
webSocket.onmessage = function(event) {
var data = [];
var tabledata = [];
var tmp=[];
tmp.push("谐波电压含有率(%)");
var json0 = JSON.parse(event.data);
var rescode = json0['resultcode']
if(rescode == '10000'){
var json1 = json0['resultmsg'];
var json2 = json1[lineIndex];// 监测点数据
var timepoint = parseInt(json2['TIME']);// 发生时刻
var time = timepoint;
var s = "时刻:" + Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', timepoint);
$("#timepoint").html(s);
var vjson = json2['V'];// 电压相关数据,数组
for (var i = 0; i < vjson.length; i++) {
var tmplist = vjson[i];
if (tmplist['SEQ'] == 'A') {
for (var n = 2; n < 51; n++) {
var name = 'V' + n;
data.push(parseFloat((tmplist[name]*100).toFixed(2)));
tmp.push((parseFloat(tmplist[name])*100).toFixed(2));
}
}
}
obj.hcEvents.load[0](data);
tabledata.push(tmp);
reloadTable(tabledata);
}
}
}
function reloadTable(tabledata){
var table = $('#example').DataTable();
var currentPage = table.page();
table.clear();
table.rows.add(tabledata);
table.page(currentPage).draw( false );
}
//获取监测点国标限值
function getOverLimit() {
$.ajax({
type:'get',
url:'/pqs9000/getOverLimit',
data:{
pointIndex:lineIndex
},
success:function (data) {
if(data.code == 200){
gb = [];
for(var n=2;n<26;n++){
let str = 'UHARM_'+n;
gb.push(data.body[str])
}
obj.series[1].update({data:gb})
}else {
layer.msg(data.message,{icon:2})
}
}
})
}
</script>
</body>
</html>

View File

@@ -0,0 +1,68 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags"%>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>终端在线率</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css" >
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/plugin/basicButton.css">
<link rel="stylesheet" href="${ctx}/css/tip.css">
<style>
html,body{
background-color: #F9F9F9 !important;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="row">
<form class="form-inline pd5">
<%@include file="../../include/time.jsp"%>
<div class="form-group" >
<button id="query" type="button" class=" btn themeBGColor">
<i class="glyphicon glyphicon-search"></i>
</button>
<button id="tb" type="button" class="btn themeBGColor">同比</button>
<button id="hb" type="button" class="btn themeBGColor">环比</button>
<button id="res" type="button" class="btn themeBGColor" style="display:none">返回</button>
<button id="helper" type="button" class="btn btn-primary tip tip-bottom" data-tip="在线率详解">
<i class="glyphicon glyphicon-info-sign" style="margin-left: -3px;margin-right: -3px;"></i>
</button>
</div>
</form>
<%--实时状态--%>
<div class="col-sm-6" id="sszt"></div>
<%--在线率数据完整性--%>
<div class="col-sm-6" id="yxzt"></div>
</div>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/echarts/echarts.js"></script>
<script src="${ctx}/js/plugin/highcharts/highstock.js"></script>
<script src="${ctx}/js/plugin/highcharts/export.js"></script>
<script src="${ctx}/js/plugin/highcharts/offline-exporting.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/xss/xss.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/helper.js"></script>
<script src="${ctx}/jspJS/monitor/yxzt.js"></script>
<script>
$("#helper").click(function (){
toHelper("#jcdzxl");
});
</script>
</body>
</html>

View File

@@ -0,0 +1,110 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags"%>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>稳态质量评估</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css" >
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/plugin/basicButton.css">
<link rel="stylesheet" href="${ctx}/css/tip.css">
<style>
html,body{
background-color: #F9F9F9 !important;
}
.table{
font-size:10px;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="row">
<form class="form-inline pd10">
<%@include file="../../include/time.jsp"%>
<div class="form-group" >
<button id="query" type="button" class=" btn themeBGColor">
<i class="glyphicon glyphicon-search"></i>
</button>
<button id="tb" type="button" class="btn themeBGColor">同比</button>
<button id="hb" type="button" class="btn themeBGColor">环比</button>
<button id="res" type="button" class="btn themeBGColor" style="display:none">返回</button>
<button id="helper" type="button" class="btn btn-primary tip tip-bottom" data-tip="综合评估详解">
<i class="glyphicon glyphicon-info-sign" style="margin-left: -3px;margin-right: -3px;"></i>
</button>
</div>
</form>
<div class="tab-pane active">
<div id="table" class="col-sm-12">
<table id="areaTable" class="table table-striped table-bordered dataTable no-footer">
<thead>
<tr>
<th style="background-color: #ebebeb;">指标</th>
<th style="background-color: #ebebeb;">综合评估</th>
<th style="background-color: #ebebeb;">电压偏差(%)</th>
<th style="background-color: #ebebeb;">电压闪变</th>
<th style="background-color: #ebebeb;">频率偏差(Hz)</th>
<th style="background-color: #ebebeb;">谐波含量(%)</th>
<th style="background-color: #ebebeb;">三相电压不平衡度(%)</th>
</tr>
<tr>
<th style="background-color: #f9f9f9;">值</th>
<th id="data0" style="background-color: #f9f9f9;"></th>
<th id="data1" style="background-color: #f9f9f9;"></th>
<th id="data2" style="background-color: #f9f9f9;"></th>
<th id="data3" style="background-color: #f9f9f9;"></th>
<th id="data4" style="background-color: #f9f9f9;"></th>
<th id="data5" style="background-color: #f9f9f9;"></th>
</tr>
<tr>
<th style="background-color: #f9f9f9;">等级</th>
<th id="level0" style="background-color: #f9f9f9;"></th>
<th id="level1" style="background-color: #f9f9f9;"></th>
<th id="level2" style="background-color: #f9f9f9;"></th>
<th id="level3" style="background-color: #f9f9f9;"></th>
<th id="level4" style="background-color: #f9f9f9;"></th>
<th id="level5" style="background-color: #f9f9f9;"></th>
</tr>
</thead>
</table>
</div>
<%--稳态指标合格率--%>
<div class="col-sm-12" id="zlpg"></div>
</div>
<div id="zlpgbz" class="alert" role="alert" style="position:absolute;width:410px;top:45px;right:0px;display:none;background-color:#fff;">
<ul class="list-group" style="margin-top:0px;">
<li >
<img src="${ctx}/images/zlpgbz.png" class="col-md-4" style="width: 400px;height: 200px;" >
</li>
</ul>
</div>
</div>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/echarts/echarts.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/xss/xss.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/helper.js"></script>
<script src="${ctx}/jspJS/monitor/zlpg.js"></script>
<script>
$("#helper").click(function (){
toHelper("#zhpg");
});
</script>
</body>
</html>

View File

@@ -0,0 +1,164 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>区域稳态指标超标分类</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/buttons.dataTables.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/basicButton.css">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrapSwitch/bootstrap-switch.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/ztree/zTreeStyle.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
.tr {
text-align: center;
}
.table > tbody > tr > td {
padding: 3px;
line-height: 1.42857143;
vertical-align: top;
border-top: 1px solid #ddd;
}
body {
overflow: hidden;
}
.pagination > li > a, .pagination > li > span {
position: relative;
float: left;
padding: 6px 12px;
margin-left: -1px;
line-height: 1.42857143;
text-decoration: none;
border: 1px solid #ddd;
}
#overLimitTable {
min-width: 4700px;
}
#allLineCheck {
width: 18px;
height: 18px;
display: inline-block;
text-align: center;
vertical-align: middle;
line-height: 18px;
margin-right: 10px;
position: relative;
margin-top: 0px;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="form-inline header mt10">
<div class="form-group has-feedback mr10">
<label>统计类型:</label>
<select class="form-control" id="statistic" style="width: 140px" readonly>
<option value="0">电网拓扑</option>
<option value="1">干扰源类型</option>
<option value="2">电压等级</option>
</select>
</div>
<%@include file="../../include/time.jsp" %>
<div class="form-group has-feedback ml10">
<label>监测点:</label>
<input type="checkbox" checked class="checkbox"/>
</div>
<div class="form-group has-feedback ml10">
<label style="margin-top: 3px">全部监测点:</label>
<input type="checkbox" id="allLineCheck"/>
</div>
<button id="selectData" type="button" class="btn btn-primary ml5">
<i class="glyphicon glyphicon-search"></i>
</button>
<div class="form-group fr mr10" id="exportTable">
<a class="dt-button buttons-csv buttons-html5"><i class='glyphicon glyphicon-share'></i><span>导出</span></a>
</div>
</div>
<table id="overLimitTable" class="table table-striped table-bordered dataTable no-footer">
<thead>
<tr>
<th style="line-height: 50px" rowspan="2">序号</th>
<th style="line-height: 50px" rowspan="2">名称</th>
<th style="line-height: 50px" rowspan="2">在线监测点数量(个)</th>
<th style="line-height: 50px" rowspan="2">超标监测点数量(个)</th>
<th style="line-height: 50px" rowspan="2">超标监测点占比(%)</th>
<th colspan="4">频率偏差超标情况</th>
<th colspan="4">电压偏差超标情况</th>
<th colspan="4">谐波电压超标情况</th>
<th colspan="4">谐波电流超标情况</th>
<th colspan="4">三相电压不平衡度超标情况</th>
<th colspan="4">闪变超标情况</th>
<th colspan="4">负序电流超标情况</th>
<th colspan="4">间谐波电压超标情况</th>
</tr>
<tr>
<th>超标点数(个)</th>
<th>累计占比(%)</th>
<th>日均占比(%)</th>
<th>平均超标天数(天/点)</th>
<th>超标点数(个)</th>
<th>累计占比(%)</th>
<th>日均占比(%)</th>
<th>平均超标天数(天/点)</th>
<th>超标点数(个)</th>
<th>累计占比(%)</th>
<th>日均占比(%)</th>
<th>平均超标天数(天/点)</th>
<th>超标点数(个)</th>
<th>累计占比(%)</th>
<th>日均占比(%)</th>
<th>平均超标天数(天/点)</th>
<th>超标点数(个)</th>
<th>累计占比(%)</th>
<th>日均占比(%)</th>
<th>平均超标天数(天/点)</th>
<th>超标点数(个)</th>
<th>累计占比(%)</th>
<th>日均占比(%)</th>
<th>平均超标天数(天/点)</th>
<th>超标点数(个)</th>
<th>累计占比(%)</th>
<th>日均占比(%)</th>
<th>平均超标天数(天/点)</th>
<th>超标点数(个)</th>
<th>累计占比(%)</th>
<th>日均占比(%)</th>
<th>平均超标天数(天/点)</th>
</tr>
</thead>
</table>
</div>
</body>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
<script src="${ctx}/js/plugin/datatables/dataTables.buttons.min.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/js/plugin/datatables/buttons.html5.min.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/js/plugin/bootstrapSwitch/bootstrap-switch.min.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/area.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/jspJS/area/areaovernormal.js"></script>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,200 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>完整性不足详情信息列表</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/buttons.dataTables.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/basicButton.css">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrapSwitch/bootstrap-switch.min.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
.tr {
text-align: center;
}
.td {
text-align: center;
height: 48px;
line-height: 48px
}
.table > tbody > tr > td {
padding: 3px;
line-height: 1.42857143;
vertical-align: top;
border-top: 1px solid #ddd;
}
body {
overflow: hidden;
}
.pagination > li > a, .pagination > li > span {
position: relative;
float: left;
padding: 6px 12px;
margin-left: -1px;
line-height: 1.42857143;
text-decoration: none;
border: 1px solid #ddd;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="form-inline header mt10">
<div class="form-group fr mr10" id="fliteData">
<label>筛选数据:</label>
<input type="text" class="form-control" onkeyup="searchResult(this.value)" placeholder="空格分开多条件筛选数据">
</div>
</div>
<div class="row">
<%--用采数据列表--%>
<div class="col-sm-12">
<table id="lackList" class="table table-striped table-bordered dataTable no-footer">
<thead>
<tr>
<th>用采数据名</th>
<th>用户名</th>
<th>测量点局号</th>
<th>日期</th>
<th>完整性(%)</th>
</tr>
</thead>
</table>
</div>
</div>
<input type="hidden" value="${excelIndex}" id="excelIndex">
</div>
</body>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
<script src="${ctx}/js/plugin/datatables/dataTables.buttons.min.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/js/plugin/datatables/buttons.html5.min.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/js/plugin/bootstrapSwitch/bootstrap-switch.min.js"></script>
<script src="${ctx}/js/color.js"></script>
<script>
var dataTable=null;
var resultData=null;
var $lackList=$("#lackList").eq(0);
$(function () {
refresh();
})
//点击确定,去后台请求参数
$("#query").click(function() {
refresh();
});
//获取表格数据
function refresh(){
var i ;
var excelIndex=$("#excelIndex").val();
$.ajax({
type : "POST",
url : "/pqs9000/responsibility/getLackIntergrityList",
data:{
excelIndex:excelIndex
},
dataType : "json",
beforeSend: function () {
i = ityzl_SHOW_LOAD_LAYER();
},
success : function(data) {
if (data.body === null) {
resultData=null;
} else {
resultData=data.body;
}
startQuery();
//***********关闭loading
ityzl_CLOSE_LOAD_LAYER(i);
}
});
}
//实例化表格
function initTable(data){
var height=$(window).height()-140;
dataTable=$lackList.DataTable();
dataTable.clear().draw();
dataTable=$lackList.DataTable({
order:[[1,'asc'],[3,'asc']],
columns: [
{data:"excelIndex"},
{data:"userName"},
{data:"lineNo"},
{data:"lackDate"},
{data:"intergrity",
render: function (data, type, full, meta) {
return (data*100.0).toFixed(2);
}
}
],
autoWidth:false,
serverSide : false,
destroy : true,
data : data,
lengthChange: false,
searching: true,
dom: 'rtip',
scrollY: height,
scrollX: true,
lengthMenu : [ 20 ],
language : {
url:'/pqs9000/json/chine.json'
},
fnDrawCallback: function(oTable) {
$("#lackList_info").addClass("fl");
$("#lackList_paginate").addClass("fr");
$("#lackList_paginate").append("<div style='float:right;padding-top:4px;padding-left:10px'>到第 <input type='text' id='changePage' class='input-text' style='width:50px;height:28px;'> 页 <button class='btn btn-primary' id='dataTable-btn'>确定</button></div>");
var table = $lackList.dataTable();
$('#dataTable-btn').click(function(e) {
if($("#changePage").val() && $("#changePage").val() > 0) {
var redirectpage = $("#changePage").val() - 1;
} else {
var redirectpage = 0;
}
table.fnPageChange(redirectpage);
});
}
});
}
//搜索表中的数据
function searchResult(value) {
dataTable.search(value).draw();
}
//特殊处理,表头紧缩问题--start
var it=null;
function startQuery() {
//实时刷新时间单位为毫秒
it= setInterval('refreshQuery()',100);
}
/* 刷新查询 */
function refreshQuery(){
var width=$("#lackList").width();
if(width>100){
initTable(resultData);
window.clearInterval(it)
}
}
//特殊处理,表头紧缩问题--end
</script>
</html>

View File

@@ -0,0 +1,257 @@
<%--
Created by IntelliJ IDEA.
User: 徐扬
Date: 2020/10/30
Time: 10:59
To change this template use File | Settings | File Templates.
--%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>监测点稳态指标超标明细界面</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/buttons.dataTables.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/basicButton.css">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrapSwitch/bootstrap-switch.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/ztree/zTreeStyle.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
.tr {
text-align: center;
}
.td {
text-align: center;
height: 48px;
line-height: 48px
}
th,td{
white-space:nowrap;
}
#vdlist {
min-width: 6000px;
}
.table > tbody > tr > td {
padding: 3px;
line-height: 1.42857143;
vertical-align: top;
border-top: 1px solid #ddd;
}
body {
overflow: hidden;
}
.pagination > li > a, .pagination > li > span {
position: relative;
float: left;
padding: 6px 12px;
margin-left: -1px;
line-height: 1.42857143;
text-decoration: none;
border: 1px solid #ddd;
}
@media screen and (max-width: 1400px) {
#fliteData input {
width: 150px;
}
}
#area {
background-color: #fff !important;
}
#allLineCheck {
width: 18px;
height: 18px;
display: inline-block;
text-align: center;
vertical-align: middle;
line-height: 18px;
margin-right: 10px;
position: relative;
margin-top: 0px;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="form-inline header mt10">
<label class="form-group">区域:</label>
<div class="form-group has-feedback">
<div class="disinlineb">
<input id="area" class="form-control" style="width: 80px" readonly>
<i class="fa fa-caret-down areaicon"></i>
<i class="fa fa-caret-up treeUpIcon disnone"
style="color: #C9CBCE;position: absolute;left: 20px;font-size: 18px;z-index: 9999;top: 20px"></i>
<div class=" ztree treeUpDiv disnone " id="areaTree"
style="position: absolute;width: 140px;height: 147px;border: 2px solid #C9CBCE;overflow: auto;top: 32px;background: #fff;z-index: 100;border-radius: 2px">
</div>
</div>
</div>
<div class="form-group has-feedback mr10" >
<label >监测点电压等级:</label>
<select class="width3 form-control" id="vollevel"></select>
</div>
<%@include file="../../include/time.jsp"%>
<div class="form-group has-feedback ml10">
<label>统计类型:</label>
<input type="checkbox" checked class="checkbox"/>
</div>
<div class="form-group has-feedback ml10">
<label style="margin-top: 3px">全部监测点:</label>
<input type="checkbox" id="allLineCheck"/>
</div>
<button id="query" type="button" class="btn btn-primary ml5">
<i class="glyphicon glyphicon-search"></i>
</button>
<div class="fr" id="exportMonitorTable" style="margin-top: 3px">
<a class="dt-button buttons-html5"><i class='glyphicon glyphicon-share'></i><span>导出</span></a>
</div>
<div class="fr" id="calculate" style="margin-top: 3px;display: none">
<a class="dt-button buttons-html5"><i class='glyphicon glyphicon-share'></i><span>计算</span></a>
</div>
<div class="form-group fr mr10" id="fliteData">
<input id="searchInfo" type="text" class="form-control" onkeyup="searchResult(this.value)" placeholder="筛选数据" style="width: 130px">
</div>
</div>
<table id="vdlist" class="table table-striped table-bordered dataTable no-footer">
<thead>
<tr>
<th style="line-height: 90px" rowspan="3">序号</th>
<th style="line-height: 90px" rowspan="3">省公司</th>
<th style="line-height: 90px" rowspan="3">地市公司</th>
<th style="line-height: 90px" rowspan="3">监测点名称</th>
<th style="line-height: 90px" rowspan="3">干扰源类型</th>
<th style="line-height: 90px" rowspan="3">电网侧变电站名称</th>
<th style="line-height: 90px" rowspan="3">监测点对象名称</th>
<th style="line-height: 90px" rowspan="3">监测点电压等级</th>
<th style="line-height: 90px" rowspan="3">监测点所在变电站/场站名称</th>
<th style="line-height: 90px" rowspan="3">监测点所在变电站/场站电压等级</th>
<th style="line-height: 90px" rowspan="3">最小短路容量</th>
<th style="line-height: 90px" rowspan="3">供电设备容量</th>
<th style="line-height: 90px" rowspan="3">用户协议容量</th>
<th style="line-height: 90px" rowspan="3">超标天数</th>
<th colspan="57">各项指标超标明细</th>
</tr>
<tr>
<th colspan="4">电压偏差</th>
<th colspan="4">谐波电流</th>+
<th colspan="4">谐波电压</th>
<th colspan="4">电压总谐波畸变率</th>
<th colspan="4">谐波电压含有率</th>
<th colspan="4">三相电压不平衡度</th>
<th colspan="4">频率偏差</th>
<th colspan="4">间谐波电压含有率</th>
<th colspan="4">负序电流</th>
<th colspan="4">闪变</th>
<th colspan="8">各次谐波电压含有率超标天数</th>
<th colspan="8">各次谐波电流含量超标天数</th>
<th style="line-height: 50px" rowspan="2">监测点编号</th>
</tr>
<tr>
<th>超标天数</th>
<th>最大幅值(绝对值)</th>
<th>限值</th>
<th>差值</th>
<th>超标天数</th>
<th>最大幅值</th>
<th>限值</th>
<th>差值</th>
<th>超标天数</th>
<th>最大幅值</th>
<th>限值</th>
<th>差值</th>
<th>超标天数</th>
<th>最大幅值</th>
<th>限值</th>
<th>差值</th>
<th>超标天数</th>
<th>最大幅值</th>
<th>限值</th>
<th>差值</th>
<th>超标天数</th>
<th>最大幅值</th>
<th>限值</th>
<th>差值</th>
<th>超标天数</th>
<th>最大幅值(绝对值)</th>
<th>限值(±)</th>
<th>差值</th>
<th>超标天数</th>
<th>最大幅值</th>
<th>限值</th>
<th>差值</th>
<th>超标天数</th>
<th>最大幅值</th>
<th>限值</th>
<th>差值</th>
<th>超标天数</th>
<th>最大幅值</th>
<th>限值</th>
<th>差值</th>
<th>3次</th>
<th>5次</th>
<th>7次</th>
<th>11次</th>
<th>13次</th>
<th>23次</th>
<th>25次</th>
<th>其他次</th>
<th>3次</th>
<th>5次</th>
<th>7次</th>
<th>11次</th>
<th>13次</th>
<th>23次</th>
<th>25次</th>
<th>其他次</th>
</tr>
</thead>
</table>
</div>
</body>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
<script src="${ctx}/js/plugin/datatables/dataTables.buttons.min.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/js/plugin/datatables/buttons.html5.min.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/js/plugin/bootstrapSwitch/bootstrap-switch.min.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/area.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/jspJS/area/overLimitMonitor.js"></script>
</html>

View File

@@ -0,0 +1,374 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>谐波责任划分列表</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/buttons.dataTables.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/basicButton.css">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrapSwitch/bootstrap-switch.min.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
.tr {
text-align: center;
}
.td {
text-align: center;
height: 48px;
line-height: 48px
}
#resList {
width: 1720px;
min-width: 1720px;
}
.table > tbody > tr > td {
padding: 3px;
line-height: 1.42857143;
vertical-align: top;
border-top: 1px solid #ddd;
}
#calculate,#userDataList {
margin-top: -20px;
}
body {
overflow: hidden;
}
.pagination > li > a, .pagination > li > span {
position: relative;
float: left;
padding: 6px 12px;
margin-left: -1px;
line-height: 1.42857143;
text-decoration: none;
border: 1px solid #ddd;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="form-inline header mt10">
<%@include file="../../include/time.jsp" %>
<button id="query" type="button" class="btn btn-primary ml5">
<i class="glyphicon glyphicon-search"></i>
</button>
<div class="form-group fr mr10" id="fliteData">
<label>筛选数据:</label>
<input type="text" class="form-control" onkeyup="searchResult(this.value)" placeholder="空格分开多条件筛选数据">
</div>
</div>
<table id="resList" class="table table-striped table-bordered dataTable no-footer">
<thead>
<tr>
<th>供电公司</th>
<th>变电站</th>
<th>终端名称</th>
<th>IP</th>
<th>监测点名称</th>
<th>类型</th>
<th>谐波次数</th>
<th>用采数据</th>
<th>计算时间</th>
<th>计算窗口</th>
<th>操作</th>
</tr>
</thead>
</table>
</div>
</body>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
<script src="${ctx}/js/plugin/datatables/dataTables.buttons.min.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/js/plugin/datatables/buttons.html5.min.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/js/plugin/bootstrapSwitch/bootstrap-switch.min.js"></script>
<script src="${ctx}/js/color.js"></script>
<script>
var $startTime=$("#startTime");
var $endTime=$("#endTime");
var dataTable=null;
var resultData=null;
$("#interval").val("月份");
$(function () {
var startTime = $startTime.eq(0).val();
var endTime = $endTime.eq(0).val();
refresh(startTime,endTime);
})
//点击确定,去后台请求参数
$("#query").click(function() {
var startTime = $startTime.eq(0).val();
var endTime = $endTime.eq(0).val();
refresh(startTime,endTime);
});
//获取表格数据
function refresh(startTime,endTime){
var i ;
$.ajax({
type : "POST",
url : "/pqs9000/responsibility/responsibilityDataList",
dataType : "json",
data : {
startTime : startTime,
endTime : endTime,
},
beforeSend: function () {
i = ityzl_SHOW_LOAD_LAYER();
},
success : function(data) {
if (data.code === 500) {
layer.msg(data.message,{icon:2,time:2000})
resultData=null;
} else {
resultData=data.body;
}
startQuery();
//***********关闭loading
ityzl_CLOSE_LOAD_LAYER(i);
}
});
}
//实例化表格
function initTable(data){
var height=$(window).height()-140;
dataTable=$("#resList").DataTable();
dataTable.clear().draw();
dataTable=$('#resList').DataTable({
order:[[8,"desc"]],
columnDefs : [
{
orderable : false,
targets : [6,9,10]
}
],
columns: [
{width: "8%",data:"gdName", render:function (data, type, full, meta) {
var value=data;
if(data.length>8){
value=data.substring(0,7)+"...";
value="<span title="+data+">"+value+"</span>";
}
return value;
}},
{width: "10%",data:"subName", render:function (data, type, full, meta) {
var value=data;
if(data.length>10){
value=data.substring(0,9)+"...";
value="<span title="+data+">"+value+"</span>";
}
return value;
}},
{width: "11",data:"devName", render:function (data, type, full, meta) {
var value=data;
if(data.length>10){
value=data.substring(0,9)+"...";
value="<span title="+data+">"+value+"</span>";
}
return value;
}},
{width: "8%",data:"ip"},
{width: "8%",data:"lineName"},
{width: "8%",data:"resType"},
{width: "8%",data:"resTimes"},
{width: "12%",data:"userData", render:function (data, type, full, meta) {
var value=data;
if(data.length>14){
value=data.substring(0,13)+"...";
value="<span title="+data+">"+value+"</span>";
}
return value;
}},
{width: "10%",data:"time"},
{width: "10%",data:"timeWin"},
{width: "9%",data:"resIndex",
render:function (data, type, full, meta) {
var name=full.gdName+"->"+full.subName+"->"+full.devName+"->"+full.lineName;
var deleteButton="<button type='button' class='btn themeBGColor ml10' href='javascript:void(0);' onclick='deleteRes(\"" + data + "\")' >删除</button>";
return "<button type='button' class='btn themeBGColor' href='javascript:void(0);' onclick='viewDetail(\"" + data + "\","+"\"" + name + "\")' >查看详情</button>"+deleteButton;
}
}
],
autoWidth:false,
serverSide : false,
destroy : true,
data : data,
lengthChange: false,
searching: true,
dom: 'rtip',
scrollY: height,
scrollX: true,
lengthMenu : [ 50 ],
language : {
url:'/pqs9000/json/chine.json'
},
fnDrawCallback: function(oTable) {
$("#resList_info").addClass("fl");
$("#resList_paginate").addClass("fr");
$("#resList_paginate").append("<div style='float:right;padding-top:4px;padding-left:10px'>到第 <input type='text' id='changePage' class='input-text' style='width:50px;height:28px;'> 页 <button class='btn btn-primary' id='dataTable-btn'>确定</button></div>");
var table = $("#resList").dataTable();
$('#dataTable-btn').click(function(e) {
if($("#changePage").val() && $("#changePage").val() > 0) {
var redirectpage = $("#changePage").val() - 1;
} else {
var redirectpage = 0;
}
table.fnPageChange(redirectpage);
});
}
});
new $.fn.dataTable.Buttons( dataTable, {
buttons: [
{
extend: 'csv',
title:'谐波责任列表',//导出csv名称
exportOptions:{
columns :[0,1,2,3,4,5,6,7,8,9],
format:{
body:function(data,rID,cID){
if(cID===8){
return data.replace("0","O");
}else if(cID===1|cID===7|cID===2|cID===3){
if(data.indexOf("title")>0){
return data.substring(data.indexOf("=")+1,data.indexOf(">"));
}else{
return data
}
} else{
return data;
}
}
}
}
}
]
} );
modifyCss(dataTable);
}
function modifyCss(dataTable){
dataTable.buttons().container().css("display","inline-block");
dataTable.buttons().container().css("float","right");
dataTable.buttons().container().css("top","4px");
dataTable.buttons().container().find("a").prepend("<i class='glyphicon glyphicon-share'></i>");
dataTable.buttons().container().find("a").before("<button id='calculate' type='button' class='btn btn-primary mr10' > <i class='fa fa-line-chart'></i>谐波贡献度计算</button>");
dataTable.buttons().container().find("a").before("<button id='userDataList' type='button' class='btn btn-primary mr10' > <i class='fa fa-list-ul'></i>用采数据列表</button>");
dataTable.buttons().container().appendTo('.header');
dataTable.buttons().container().after($("#fliteData")[0]);
}
//点击贡献度计算
$("body").on("click","#calculate",function(){
layer.open({
type: 2,
title: '贡献度计算',
maxmin : false,
area : ['100%' , '100%'],
content: '/pqs9000/responsibility/calculate',
scrollbar: false,
end:function () {
var startTime = $startTime.eq(0).val();
var endTime = $endTime.eq(0).val();
refresh(startTime,endTime);
}
});
})
//点击用采数据列表
$("body").on("click","#userDataList",function(){
layer.open({
type: 2,
title: '用采数据列表',
maxmin : false,
area : ['100%' , '100%'],
content: '/pqs9000/responsibility/userDataList',
scrollbar: false
});
})
//搜索表中的数据
function searchResult(value) {
dataTable.search(value).draw();
}
//特殊处理,表头紧缩问题--start
var it=null;
function startQuery() {
//实时刷新时间单位为毫秒
it= setInterval('refreshQuery()',100);
}
/* 刷新查询 */
function refreshQuery(){
var width=$("#resList").width();
if(width>100){
initTable(resultData);
window.clearInterval(it)
}
}
//特殊处理,表头紧缩问题--end
//查看谐波详情
function viewDetail(resIndex,name) {
layer.open({
id: 'viewDetail',
type: 2,
title: "<span class='fr font12'>"+name+"</span>",
maxmin: false,
resize: false,
shadeClose: true, //点击遮罩关闭层
area: ['100%', '100%'],
content: '/pqs9000/responsibility/viewDetail?resIndex='+resIndex,
scrollbar: false
});
}
//根据索引删除指定记录以及本地文件夹下的所有文件
function deleteRes(resIndex) {
var i ;
$.ajax({
type : "POST",
url : "/pqs9000/responsibility/deleteResponsibility",
dataType : "json",
data : {
resIndex : resIndex,
},
beforeSend: function () {
i = ityzl_SHOW_LOAD_LAYER();
},
success : function(data) {
if (data.code === 500) {
layer.msg(data.message,{icon:2,time:2000})
} else {
layer.msg(data.message,{icon:6,time:2000})
}
var startTime = $startTime.eq(0).val();
var endTime = $endTime.eq(0).val();
refresh(startTime,endTime);
//***********关闭loading
ityzl_CLOSE_LOAD_LAYER(i);
}
});
}
</script>
</html>

View File

@@ -0,0 +1,176 @@
<%--
Created by IntelliJ IDEA.
User: 徐扬
Date: 2020/10/9
Time: 19:00
--%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>告警变电站明细</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/buttons.dataTables.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/basicButton.css">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrapSwitch/bootstrap-switch.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/ztree/zTreeStyle.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
.tr {
text-align: center;
}
.td {
text-align: center;
height: 48px;
line-height: 48px
}
#vdlist {
min-width: 3000px;
}
.table > tbody > tr > td {
padding: 3px;
line-height: 1.42857143;
vertical-align: top;
border-top: 1px solid #ddd;
}
body {
overflow: hidden;
}
.pagination > li > a, .pagination > li > span {
position: relative;
float: left;
padding: 6px 12px;
margin-left: -1px;
line-height: 1.42857143;
text-decoration: none;
border: 1px solid #ddd;
}
@media screen and (max-width: 1400px) {
#fliteData input {
width: 150px;
}
}
#area {
background-color: #fff !important;
}
#allLineCheck {
width: 18px;
height: 18px;
display: inline-block;
text-align: center;
vertical-align: middle;
line-height: 18px;
margin-right: 10px;
position: relative;
margin-top: 0px;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="form-inline header mt10">
<label class="form-group">区域:</label>
<div class="form-group has-feedback">
<div class="disinlineb">
<input id="area" class="form-control" style="width: 120px" readonly>
<i class="fa fa-caret-down areaicon"></i>
<i class="fa fa-caret-up treeUpIcon disnone"
style="color: #C9CBCE;position: absolute;left: 20px;font-size: 18px;z-index: 9999;top: 20px"></i>
<div class=" ztree treeUpDiv disnone " id="areaTree"
style="position: absolute;width: 140px;height: 147px;border: 2px solid #C9CBCE;overflow: auto;top: 32px;background: #fff;z-index: 100;border-radius: 2px">
</div>
</div>
</div>
<div class="form-group has-feedback mr10" >
<label >电压等级:</label>
<select class="width3 form-control" id="vollevel"></select>
</div>
<%@include file="../../include/time.jsp"%>
<div class="form-group has-feedback ml10">
<label>统计类型:</label>
<input type="checkbox" checked class="checkbox"/>
</div>
<div class="form-group has-feedback ml10">
<label style="margin-top: 3px">全部监测点:</label>
<input type="checkbox" id="allLineCheck"/>
</div>
<button id="query" type="button" class="btn btn-primary ml5">
<i class="glyphicon glyphicon-search"></i>
</button>
<div class="fr" id="exportSubTable" style="margin-top: 6px">
<a class="dt-button buttons-html5"><i class='glyphicon glyphicon-share'></i><span>导出</span></a>
</div>
<div class="form-group fr mr10" id="fliteData">
<input type="text" class="form-control" onkeyup="searchResult(this.value)" placeholder="筛选数据"
style="width: 130px;margin-top: 4px">
</div>
</div>
<table id="vdlist" class="table table-striped table-bordered dataTable no-footer">
<thead>
<tr>
<th style="line-height: 50px" rowspan="2">序号</th>
<%-- <th style="line-height: 50px" rowspan="2">省公司</th>--%>
<th style="line-height: 50px" rowspan="2">地市公司</th>
<th style="line-height: 50px" rowspan="2">电站名称</th>
<th style="line-height: 50px" rowspan="2">电站电压等级</th>
<th style="line-height: 50px" rowspan="2">在线监测点数量(个)</th>
<th style="line-height: 50px" rowspan="2">告警监测点数量(个)</th>
<th style="line-height: 50px" rowspan="2">告警次数</th>
<th style="line-height: 50px" rowspan="2">告警频次(次/点)</th>
<th colspan="8">各项稳态指标告警频次(次/点)</th>
<th colspan="3">各项暂态指标告警频次(次/点)</th>
</tr>
<tr>
<th>频率偏差</th>
<th>电压偏差</th>
<th>谐波电压</th>
<th>谐波电流</th>
<th>三相电压不平衡度</th>
<th>闪变</th>
<th>间谐波电压</th>
<th>负序电流</th>
<th>短时中断</th>
<th>电压暂降</th>
<th>电压暂升</th>
</tr>
</thead>
</table>
</div>
</body>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
<script src="${ctx}/js/plugin/datatables/dataTables.buttons.min.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/js/plugin/datatables/buttons.html5.min.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/js/plugin/bootstrapSwitch/bootstrap-switch.min.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/area.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/jspJS/area/warningsubstation.js"></script>
</html>

View File

@@ -0,0 +1,355 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>用采数据列表</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/buttons.dataTables.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/basicButton.css">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrapSwitch/bootstrap-switch.min.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
.tr {
text-align: center;
}
.td {
text-align: center;
height: 48px;
line-height: 48px
}
.table > tbody > tr > td {
padding: 3px;
line-height: 1.42857143;
vertical-align: top;
border-top: 1px solid #ddd;
}
body {
overflow: hidden;
}
.pagination > li > a, .pagination > li > span {
position: relative;
float: left;
padding: 6px 12px;
margin-left: -1px;
line-height: 1.42857143;
text-decoration: none;
border: 1px solid #ddd;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="form-inline header mt10">
<div class="form-group fr mr10" id="fliteData">
<label>筛选数据:</label>
<input type="text" class="form-control" onkeyup="searchResult(this.value)" placeholder="空格分开多条件筛选数据">
</div>
</div>
<div class="row">
<%--用采数据列表--%>
<div class="col-sm-12">
<table id="userList" class="table table-striped table-bordered dataTable no-footer">
<thead>
<tr>
<th>用采表名</th>
<th>起始时间</th>
<th>截止时间</th>
<th>更新时间</th>
<th>操作</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
</body>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
<script src="${ctx}/js/plugin/datatables/dataTables.buttons.min.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/js/plugin/datatables/buttons.html5.min.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/js/plugin/bootstrapSwitch/bootstrap-switch.min.js"></script>
<script src="${ctx}/js/color.js"></script>
<script>
var dataTable=null;
var resultData=null;
var $userList=$("#userList").eq(0);
$(function () {
refresh();
})
//点击确定,去后台请求参数
$("#query").click(function() {
refresh();
});
//获取表格数据
function refresh(){
var i ;
$.ajax({
type : "POST",
url : "/pqs9000/responsibility/getUserDataList",
dataType : "json",
beforeSend: function () {
i = ityzl_SHOW_LOAD_LAYER();
},
success : function(data) {
if (data.code === 500) {
resultData=null;
} else {
resultData=data.body;
}
startQuery();
//***********关闭loading
ityzl_CLOSE_LOAD_LAYER(i);
}
});
}
//实例化表格
function initTable(data){
var height=$(window).height()-140;
dataTable=$userList.DataTable();
dataTable.clear().draw();
dataTable=$userList.DataTable({
order:[3,'desc'],
columnDefs : [
{
orderable : false,
targets : [4]
}
],
columns: [
{data:"excelName"},
{data:"sTime"},
{data:"eTime"},
{data:"uTime"},
{data:"lackIntegrity", render:function (data, type, full, meta) {
var detailButton="",deleteButton="";
var index=full.excelIndex;
if(data!==0){
//存在完整性缺失,除了删除按钮,还需要给详情按钮
detailButton="<button type='button' class='btn themeBGColor' style='margin-right:10px;' href='javascript:void(0);' onclick='viewDetail(\"" + index + "\")' >完整性详情</button>";
}
deleteButton="<button type='button' class='btn themeBGColor mr10' href='javascript:void(0);' onclick='deleteUserData(\"" + index + "\")'>删除</button>";
return detailButton+deleteButton;
}}
],
autoWidth:false,
serverSide : false,
destroy : true,
data : data,
lengthChange: false,
searching: true,
dom: 'rtip',
scrollY: height,
scrollX: true,
lengthMenu : [ 20 ],
language : {
url:'/pqs9000/json/chine.json'
},
fnDrawCallback: function(oTable) {
$("#userList_info").addClass("fl");
$("#userList_paginate").addClass("fr");
$("#userList_paginate").append("<div style='float:right;padding-top:4px;padding-left:10px'>到第 <input type='text' id='changePage' class='input-text' style='width:50px;height:28px;'> 页 <button class='btn btn-primary' id='dataTable-btn'>确定</button></div>");
var table = $userList.dataTable();
$('#dataTable-btn').click(function(e) {
if($("#changePage").val() && $("#changePage").val() > 0) {
var redirectpage = $("#changePage").val() - 1;
} else {
var redirectpage = 0;
}
table.fnPageChange(redirectpage);
});
}
});
new $.fn.dataTable.Buttons( dataTable, {
buttons: [
{
extend: 'csv',
exportOptions:{
columns :[1,2,3,4],
format:{
body:function(data,rID,cID){
return data
}
}
}
}
]
} );
modifyCss(dataTable);
}
function modifyCss(dataTable){
dataTable.buttons().container().css("display","inline-block");
dataTable.buttons().container().css("float","right");
dataTable.buttons().container().css("top","4px");
dataTable.buttons().container().find("a").prepend("<i class='glyphicon glyphicon-share'></i>");
dataTable.buttons().container().find("a").css("display","none");
dataTable.buttons().container().find("a").before("<button id='add' type='button' class='btn btn-primary mr10' > <i class='fa fa-plus-square'></i>新增</button>");
dataTable.buttons().container().find("a").before(" <button id='query' type='button' class='btn btn-primary'><i class='glyphicon glyphicon-search'></i></button>");
dataTable.buttons().container().appendTo('.header');
dataTable.buttons().container().after($("#fliteData")[0]);
}
//重新查询用采数据列表
$("body").on("click","#query",function(){
refresh();
});
//新增用采数据
$("body").on("click","#add",function(){
//上传的是配置文件
var UPLOAD_USER_DATA_INDEX;
layer.open({
type: '1',
title: "上传用采数据",
shadeClose: true,
resize: false,
scrollbar: false,
closeBtn: 0,
content: "<form class='ml5 mt15' enctype='multipart/form-data' id='uploadForm'> <div class='form-group'> <input type='file' name='file' id='userDataFile'> </div></form>",
btn: ['确定', '取消'],
yes: function (indexp, layero) {
var $userDataFile=$("#userDataFile").eq(0);
var uploadEventFile = $userDataFile.val();
/**
* xuyang
* 前端对所选文件的大小做个简单判断
*/
var uploadFile = document.getElementById("userDataFile").files;
//文件大小
var size = uploadFile[0].size;
//判断文件大小
if (Math.floor(size/1024) <= 3072){
if (uploadEventFile === '') {
layer.msg("请选择Excel文件再上传", {icon: 2, time: 2000}, function () {
layer.close(index);
});
} else if (uploadEventFile.lastIndexOf(".xls") < 0) {
layer.msg("只能上传Excel文件", {icon: 2, time: 2000}, function () {
layer.close(index);
});
} else {
layer.confirm('确定导入?', function (index) {
var formData = new FormData($('#uploadForm')[0]);
$.ajax({
method: "post",
url: "/pqs9000/responsibility/uploadExcelData",
data: formData,
beforeSend: function () {
UPLOAD_USER_DATA_INDEX = ityzl_SHOW_LOAD_LAYER();
},
dataType: "json",
success: function (data) {
ityzl_CLOSE_LOAD_LAYER(UPLOAD_USER_DATA_INDEX);
if (data.code === 200) {
layer.msg(data.message, {icon: 1, time: 2000}, function () {
layer.close(indexp);
});
} else {
layer.msg(data.message, {icon: 2, time: 2000}, function () {
layer.close(indexp);
});
}
},
cache: false,
contentType: false,
processData: false
});
})
}
} else {
layer.msg("上传失败,文件大小超过3M!",{icon:5,time:2000},function(){
layer.closeAll()});
}
}, btn2: function (index, layero) {
layer.close(index);
},
end:function () {
refresh()
}
})
});
//查看某次用采数据的完整性不足的详情
function viewDetail(index) {
parent.layer.open({
type: 2,
title: '完整性不足详情',
maxmin : false,
area : ['100%' , '100%'],
content: '/pqs9000/responsibility/noIntergrity?excelIndex='+index,
scrollbar: false
});
}
//根据用采数据索引删除用采数据以及其下面所有的完整性不足的记录
function deleteUserData(index) {
var i ;
$.ajax({
type : "POST",
url : "/pqs9000/responsibility/deleteUserData",
dataType : "json",
data : {
userDataIndex : index,
},
beforeSend: function () {
i = ityzl_SHOW_LOAD_LAYER();
},
success : function(data) {
if (data.code === 500) {
layer.msg(data.message,{icon:2,time:2000})
} else {
layer.msg(data.message,{icon:6,time:2000})
}
refresh();
//***********关闭loading
ityzl_CLOSE_LOAD_LAYER(i);
}
});
}
//搜索表中的数据
function searchResult(value) {
dataTable.search(value).draw();
}
//特殊处理,表头紧缩问题--start
var it=null;
function startQuery() {
//实时刷新时间单位为毫秒
it= setInterval('refreshQuery()',100);
}
/* 刷新查询 */
function refreshQuery(){
var width=$("#userList").width();
if(width>100){
initTable(resultData);
window.clearInterval(it)
}
}
//特殊处理,表头紧缩问题--end
</script>
</html>

View File

@@ -0,0 +1,306 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>责任计算详细结果展示</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/buttons.dataTables.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/basicButton.css">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrapSwitch/bootstrap-switch.min.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
.table > tbody > tr > td, .table > tbody > tr > th, .table > tfoot > tr > td, .table > tfoot > tr > th, .table > thead > tr > td, .table > thead > tr > th {
padding: 5px;
}
#resContainer{
overflow-x: hidden;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="row" id="mainContainer">
<ul class="nav nav-tabs mt10 col-sm-12" id="resTab"></ul>
<div class="tab-content pdt5 col-sm-12">
<div class="tab-pane active" id="resContainer">
</div>
</div>
</div>
<input type="hidden" value="${resIndex}" id="resIndex">
</div>
</body>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
<script src="${ctx}/js/plugin/datatables/dataTables.buttons.min.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/js/plugin/datatables/buttons.html5.min.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/js/plugin/highcharts/highstock.js"></script>
<script src="${ctx}/js/plugin/highcharts/exporting.js"></script>
<script src="${ctx}/js/plugin/highcharts/highchart-ZH.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/js/plugin/bootstrapSwitch/bootstrap-switch.min.js"></script>
<script src="${ctx}/js/color.js"></script>
<script>
var $resIndex = $("#resIndex").eq(0);
var $resTab = $("#resTab").eq(0);
var $resContainer = $("#resContainer").eq(0);
Highcharts.setOptions({
global: {
useUTC: false
}
});
//首先根据索引获取此处责任计算的详细数据
$(function () {
var resIndex = $resIndex.val();
$.ajax({
type: "post",
url: "/pqs9000/responsibility/getResponsbilityData",
data: {
resIndex: resIndex
},
dataType: 'json',
success: function (data) {
$resTab.empty();
var time = data.body.resTimes;
if (data.code === 500) {
//异常获取用采列表或者用采列表为空
layer.msg('获取责任详细信息失败', {icon: 2, time: 2000});
} else {
//拼接用采数据列表
var times = time.split(",");
$("#resTab").append("<li class='active'><a class='navtab' href='#resContainer' data-toggle='tab' id='" + times[0] + "次谐波'>" + times[0] + "次谐波</a></li>")
if (times.length > 1) {
for (var t = 1; t < times.length; t++) {
$("#resTab").append("<li><a class='navtab' href='#resContainer' data-toggle='tab' id='" + times[t] + "次谐波'>" + times[t] + "次谐波</a></li>")
}
}
var timeTemp = getTime();
//tab初始化好了获取动态数据和责任数据开始页面填充
drawPic(timeTemp);
}
}
})
})
//监听tab的切换更新页面内容
$("#mainContainer").on("click", ".navtab", function () {
var time = $(this).text();
time = time.replace("次谐波", "");
time = time.replace(/(^\s*)|(\s*$)/g, '');
drawPic(time);
})
//获取动态数据和责任数据进行页面填充
function drawPic(time) {
var resIndex = $resIndex.val();
var historyLodingIndex;
$.ajax({
url: "/pqs9000/responsibility/displayHistoryData",
type: "post",
beforeSend: function () {
historyLodingIndex = ityzl_SHOW_LOAD_LAYER();
},
dataType: "json",
data: {
time: time,
resIndex: resIndex
},
success: function (data) {
if (data.code === 200) {
//循环给内容框展示数据
displayHistoryData(data.body);
} else {
layer.msg(data.message, {icon: 2, time: 2000});
}
//***********关闭loading
ityzl_CLOSE_LOAD_LAYER(historyLodingIndex);
}
})
}
//获取当前导航栏次数
function getTime() {
var time = $("#mainContainer li[class='active'] a").text();
time = time.replace("次谐波", "");
time = time.replace(/(^\s*)|(\s*$)/g, '');
return time;
}
//绘制内容模块内的各个数据
function displayHistoryData(data) {
//先清空原来的内容
$resContainer.empty();
for (var i = 0; i < data.length; i++) {
var picID="pic"+i;
var tableID="table"+i;
var responsibilityResult = data[i];
var div = "<div class='row'> <div class='col-sm-6' style='height: 250px' id='"+picID+"'></div> <div class='col-sm-6'> <table class='table table-striped table-bordered dataTable no-footer' id='"+tableID+"'> <thead> <tr> <th>用户名(用户号)</th> <th>责任数据(%)</th> </tr> </thead> </table> </div> </div>";
$resContainer.append(div)
//准备绘制波形图和表格
var dynamicData=responsibilityResult.datas;
var responsibilityData=responsibilityResult.responsibilities;
var title ="时间:"+responsibilityResult.limitSTime+"至"+responsibilityResult.limitETime+" 限值:"+responsibilityResult.limitValue;
var chart=initBasePic(title,picID);
//根据后台返回的数据绘制波形图
initDynamicPic(chart,dynamicData);
//填充表格
initTable(tableID,responsibilityData);
}
}
//初始化动态责任图形基础信息
function initBasePic(title,picID) {
var chartDynamic;
//绘制瞬时波形图
Highcharts.stockChart(picID, {
chart: {
type: 'spline',
},
title: {
text: title,
align: 'center',
},
tooltip: {
borderColor: grey,
backgroundColor: 'rgba(105,105,105,0.7)',
style: {
color: 'white',
fontSize: "10px",
padding: 10,
},
formatter: function () {
var s = '<b>时刻:'
+ Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', this.x)
+ '</b>';
//获取是电压 还是 电流,以及谐波次数作为提示
$.each(this.points, function () {
s += '<br/>' + this.series.name + ': ' +
this.y.toFixed(4);
});
return s;
},
shared: true
},
rangeSelector: {
enabled: false,
},
//导航器各项属性设置
navigator: {
enabled: false
},
scrollbar: {
enabled: false
},
exporting: false,
credits: false,
xAxis: {
labels: {
step: 2
},
type: 'datetime',
dateTimeLabelFormats: {
second: '%H:%M:%S',
minute: '%H:%M',
hour: '%H:%M',
day: '%m-%d',
week: '%m-%d',
month: '%Y-%m',
year: '%Y'
},
},
yAxis: {
showLastLabel: true,//显示纵坐标最大值highstock默认不显示最大值即默认为false
// allowDecimals: false,
opposite: false
},
series: [],
noData: {
style: {
fontWeight: 'bold',
fontSize: '15px',
color: '#303030'
}
}
}, function (c) {
chartDynamic = c;
});
return chartDynamic;
}
//绘制动态相关责任图形
function initDynamicPic(chart,dynamicData) {
if(dynamicData!==null&dynamicData.length>1){
for (var i=0;i<dynamicData.length;i++){
var data=assembleData(dynamicData,i);
var name=dynamicData[i].customerName;
chart.addSeries({
name: name,
type: 'spline',
data: data
}, false);
}
chart.redraw(); //刷新
}
}
//根据索引返回指定动态责任数据
function assembleData(data, i) {
var picData = [];
for (var j = 0; j < data[i].timeDatas.length; j++) {
var value= data[i].valueDatas[j];
if(value===0){
value=0.0;
}
picData.push([data[i].timeDatas[j], value])
}
return picData;
}
//填充用户责任量化表格
function initTable(tableID,responsibilityData) {
$("#"+tableID).DataTable({
data: responsibilityData,
autoWidth: false,
order: [[1,"desc"]],
columnDefs: [
{"width": "70%", "targets": 0},
{"width": "30%", "targets": 1},
],
paging: false,
lengthChange: false,
searching: false,
destroy: true,
scrollY: 210,
info: false,
pageLength: 100,
language: {
url: '/pqs9000/json/chine.json',
},
columns: [
{data: 'customerName'},
{data: 'responsibilityData'}
],
})
}
</script>
</html>

View File

@@ -0,0 +1,70 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags"%>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
<title>资源未找到</title>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/dataTables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
body,html{
background-color: #ccc;
}
#errorCode{
font-family: 'wuxin',serif !important;
line-height: 280%;
}
#errorMsg{
font-size: 30px;
}
.aBlank{
color: blue;
}
</style>
</head>
<body>
<div class="container-fluid" >
<div class="row">
<div class="col-sm-8 col-sm-offset-2 col-md-8 col-md-offset-2" id="main">
<div class="row pd15" id="mainCode">
<div class="col-sm-8 col-sm-offset-2 col-md-8 col-md-offset-2">
<div style="margin: 0 auto">
<img src="${ctx}/images/img/error.png" class="fl">
<div class="fl mt20 ml20" id="errorCode">
<p id="errorMsg">所访问的资源不存在:404</p>
<p>可能原因:</p>
<p>1手抖打错资源路径。</p>
<p>2链接过了保质期。</p>
<p> 跳往<a class="aBlank" id="mainA" href="javascript:void(0);">首页</a>,或<a class="aBlank" href="/sso/login?item=pqs9000">重新登录</a></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="${ctx}/js/plugin/jquery.min.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script>
var $main=$("#main");
var $mainCode=$("#mainCode");
$(function () {
var height=$(window).height();
$main.eq(0).css("margin-top",height*0.1);
$mainCode.eq(0).css("margin-top",height*0.1);
$main.eq(0).css("height",height*0.8);
$("#mainA").on('click',function () {
window.parent.location.href='/sso/business/main';
})
})
</script>
</body>
</html>

View File

@@ -0,0 +1,49 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags"%>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<link rel="stylesheet"
href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<div id="father"
style="width: 280px; float: left; height: 100%; margin-top: 5px">
<div class="has-feedback" style="width: 100%;">
<form class="form-inline" style="padding-top: 5px;padding-bottom: 5px;">
<label style="font-size: 12px;font-weight: 500;">分类方式:</label>
<div class="form-group">
<select id="datatype" style="width: 145px;padding-bottom: 3px;padding-top: 3px">
<option selected value="0">电网拓扑</option>
<option value="1">终端厂家</option>
<option value="2">电压等级</option>
<option value="3">干扰源类型</option>
</select>
</div>
</form>
</div>
<div id="search">
<input style="width: 200px; height: 25px;" id="search_value"
type="text" value="" placeholder="请输入关键词" autocomplete="off"
oninput="valueChange(this.value)" />
<button type="button" id="serchB"
class="btn-primary"
onclick="javascript: searchNode(search_value.value)"
style="height: 25px; width: 55px; border-radius: 4px; border: 1px solid;">
<i class="glyphicon glyphicon-search"></i>搜索
</button>
<button type="button" id="resetB"
class="btn-primary"
onclick="resetTree()"
style="padding: 0 5px; height: 25px; width: 55px; border-radius: 4px; border: 1px solid;display:none;">
<i class="glyphicon glyphicon-refresh"></i>重置
</button>
</div>
<div id="tree" class="ztree" style="overflow: auto;margin-left: -8px;"></div>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/xss/xss.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.exhide.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.exhide.min.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/devicePlateTree.js"></script>

View File

@@ -0,0 +1,49 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags"%>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<link rel="stylesheet"
href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<div id="father"
style="width: 280px; float: left; height: 100%; margin-top: 5px">
<div class="has-feedback" style="width: 100%;">
<form class="form-inline" style="padding-top: 5px;padding-bottom: 5px;">
<label style="font-size: 12px;font-weight: 500;">分类方式:</label>
<div class="form-group">
<select id="datatype" style="width: 145px;padding-bottom: 3px;padding-top: 3px">
<option selected value="0">电网拓扑</option>
<option value="1">终端厂家</option>
<option value="2">电压等级</option>
<option value="3">干扰源类型</option>
</select>
</div>
</form>
</div>
<div id="search">
<input style="width: 200px; height: 25px;" id="search_value"
type="text" value="" placeholder="请输入关键词" autocomplete="off"
oninput="valueChange(this.value)" />
<button type="button" id="serchB"
class="btn-primary"
onclick="javascript: searchNode(search_value.value)"
style="height: 25px; width: 55px; border-radius: 4px; border: 1px solid;">
<i class="glyphicon glyphicon-search"></i>搜索
</button>
<button type="button" id="resetB"
class="btn-primary"
onclick="resetTree()"
style="padding: 0 5px; height: 25px; width: 55px; border-radius: 4px; border: 1px solid;display:none;">
<i class="glyphicon glyphicon-refresh"></i>重置
</button>
</div>
<div id="tree" class="ztree" style="overflow: auto;margin-left: -8px;"></div>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/xss/xss.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.exhide.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.exhide.min.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/deviceTree.js"></script>

View File

@@ -0,0 +1,32 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<label class="form-group">时间间隔:</label>
<div class="form-group has-feedback">
<select class="form-control" id="interval">
<option value="年份">年份</option>
<option value="季度">季度</option>
<option value="月份">月份</option>
<option value="周">周</option>
<option value="天">天</option>
<option value="自定义">自定义</option>
</select>
</div>
<div class="form-group">
<input type="text" class="form-control form_datetime con"
id="startTime" style="width: 88px">
</div>
&nbsp;—
<div class="form-group">
<input type="text" class="form-control form_datetime con"
id="endTime" style="width: 88px">
</div>
<button type="button" class="njcn btn themeBGColor" id="before">
<i class="glyphicon glyphicon-backward"></i>
</button>
<div class="form-group" id="present">
<button type="button" class="njcn btn themeBGColor">当前</button>
</div>
<button type="button" class="njcn btn themeBGColor" id="next">
<span class="glyphicon glyphicon-forward" aria-hidden="true"></span>
</button>

View File

@@ -0,0 +1,29 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<label class="form-group">时间间隔:</label>
<div class="form-group has-feedback">
<select class="form-control" id="interval">
<option value="年份">年份</option>
<option value="季度">季度</option>
<option value="月份" selected>月份</option>
</select>
</div>
<div class="form-group">
<input type="text" class="form-control form_datetime con"
id="startTime" style="width: 88px">
</div>
&nbsp;—
<div class="form-group">
<input type="text" class="form-control form_datetime con"
id="endTime" style="width: 88px">
</div>
<button type="button" class="njcn btn themeBGColor" id="before">
<i class="glyphicon glyphicon-backward"></i>
</button>
<div class="form-group" id="present">
<button type="button" class="njcn btn themeBGColor">当前</button>
</div>
<button type="button" class="njcn btn themeBGColor" id="next">
<span class="glyphicon glyphicon-forward" aria-hidden="true"></span>
</button>

View File

@@ -0,0 +1,416 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<title>PQS9000电能质量监测系统</title>
<link rel="shortcut icon" href="/pqs9900/images/favicon.ico" type="image/x-icon"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/animate/animate.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/jquery/jquery-ui.css">
<link rel="stylesheet" href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<link rel="stylesheet" href="${ctx}/css/plugin/iconfont/iconfont.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/jquery/jquery.dataTables.min.css">
<link rel="stylesheet" href="${ctx}/css/switchCss.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
* {
padding: 0;
margin: 0;
font-family: "微软雅黑";
}
.scroll li {
width: 200px;
float: left;
line-height: 15px;
text-align: center;
}
.layui-layer-setwin .layui-layer-close2 {
position: absolute;
right: -14px;
top: -14px;
width: 30px;
height: 30px;
margin-left: 0;
background-position: -149px -31px;
}
#swapSystem {
color: #FFF;
cursor: pointer;
}
.subSystem {
/*display: block !important;*/
top: 18px !important;
opacity: 1 !important;
left: -70px !important;
padding: 5px;
border: 1px solid;
border-radius: 3px !important;
width: 140px;
}
.subSystem a {
color: #fff;
font-size: 12px !important;
display: block;
height: 20px !important;
line-height: 20px !important;
width: 130px !important;
text-align: center;
/*border-bottom: 1 !important;*/
}
.small_traggle {
width: 0;
height: 0;
border: 8px solid;
border-color: transparent transparent #fff;
position: relative;
top: -12px;
left: 25px;
display: none;
}
.switchSystem {
margin-right: 0px !important;
right: 10px;
}
#userDiv {
position: fixed;
right: 10px;
top: 10px;
width: 53px;
}
@-webkit-keyframes rotation {
rom {
-webkit-transform: rotate(0deg);
}
to {
-webkit-transform: rotate(360deg);
}
}
</style>
</head>
<body class="bg-main">
<header id="page_header">
<div class="logow fadeInLeft f20 fb fl mt-3" id="logo">
<img src="/pqs9900/images/logo.png" style="height: 68px"/>
</div>
<div class="fl top-menu">
<span class="ml10 disinlineb mt-6" id="bigTitle">电能质量监测系统</span>
<span class="f14" id="smallTitle">PQS-9000谐波监测系统v1.1.0</span>
<div id="userDiv">
<c:if test="${false}">
<span id="swapSystem">
<ul>
<li class="switchSystem">
<i class="fa fa-exchange">
</i>
<a href="javascript:void(0)" class="menuone switchSystem">模块切换</a>
<div class="small_traggle"></div>
<div class="menutwo subSystem">
<c:forEach items="${webItems }" var="item">
<a href="javascript:void(0)" item="${item.item}">${item.name}</a>
</c:forEach>
</div>
</li>
</ul>
</span>
</c:if>
<span onclick="addTab('userhelp','帮助中心')" id="_help">
<ul>
<i class="fa fa-question-circle-o" style="margin-right: 3px;z-index: -10">
</i>帮助
</ul>
</span>
</div>
<ul class="f20 ml10 menu">
<shiro:hasPermission name="/pqs9000/business/overview">
<li>
<a href="javascript:void(0);" onclick="addTab('overview','概览')" class="menuone"><i
class="icon iconfont icon-shouye mr10"></i>概览 </a>
</li>
</shiro:hasPermission>
<shiro:hasPermission name="/point">
<li><a href="javascript:void(0);" class="menuone"><i class="icon iconfont icon-jiance mr10"></i>监测点</a>
<div class="menutwo">
<shiro:hasPermission name="/pqs9000/business/monitor">
<a href="javascript:void(0);" onclick="addTabs('monitor','在线监测点')">在线监测点 </a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/business/offlinemonitor">
<a href="javascript:void(0);" onclick="addTab('offlinemonitor','离线监测点')">离线监测点 </a>
</shiro:hasPermission>
</div>
</li>
</shiro:hasPermission>
<shiro:hasPermission name="/area">
<li><a href="javascript:void(0);" class="menuone"><i class="icon iconfont icon-ditu mr10"></i>区域</a>
<div class="menutwo">
<shiro:hasPermission name="/pqs9000/area/quality">
<a href="javascript:void(0)" onclick="addTab('/pqs9000/area/quality','电能质量评估')">电能质量评估</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/area/steady">
<a href="javascript:void(0)" onclick="addTab('/pqs9000/area/steady','指标合格率统计')">指标合格率统计</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/area/steadystat">
<a href="javascript:void(0)" onclick="addTab('/pqs9000/area/steadystat','稳态指标超标占比')">稳态指标超标占比</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/area/integrality">
<a href="javascript:void(0)"
onclick="addTab('/pqs9000/area/integrality','数据完整性统计')">数据完整性统计</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/area/status">
<a href="javascript:void(0)" onclick="addTab('/pqs9000/area/status','终端状态统计')">终端状态统计</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/area/harmonicrate">
<a href="javascript:void(0)" onclick="addTab('/pqs9000/area/harmonicrate','谐波总畸变率统计')">谐波总畸变率统计</a>
</shiro:hasPermission>
<%-- <shiro:hasPermission name="/pqs9000/area/onlinerate">--%>
<%-- <a href="javascript:void(0)" onclick="addTab('/pqs9000/area/onlinerate','终端在线率')">终端在线率</a>--%>
<%-- </shiro:hasPermission>--%>
<shiro:hasPermission name="/pqs9000/area/vdlist">
<a href="javascript:void(0)" onclick="addTab('/pqs9000/area/vdlist','暂态事件列表')">暂态事件列表</a>
</shiro:hasPermission>
</div>
</li>
</shiro:hasPermission>
<shiro:hasPermission name="/advanced">
<li><a href="javascript:void(0);" class="menuone"><i class="icon iconfont icon-tongji mr10"></i>详细分析</a>
<div class="menutwo">
<shiro:hasPermission name="/pqs9000/business/norm">
<a href="javascript:void(0)" onclick="addTab('norm','稳态趋势对比')">稳态趋势对比</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/business/normlimit">
<a href="javascript:void(0)" onclick="addTab('normlimit','稳态指标统计')">稳态指标统计</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/business/abnormlimit">
<a href="javascript:void(0)" onclick="addTab('abnormlimit','异常数据统计')">异常数据统计</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/business/harmonic">
<a href="javascript:void(0)" onclick="addTab('harmonic','历史谐波频谱')">历史谐波频谱</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/responsibility/responsibilitylist">
<a href="javascript:void(0)"
onclick="addTab('/pqs9000/responsibility/responsibilitylist','谐波责任划分')">谐波责任划分</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/responsibility/areaovernoraml">
<a href="javascript:void(0)"
onclick="addTab('/pqs9000/responsibility/areaovernoraml','区域稳态指标超标分类')">区域稳态指标超标</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/responsibility/warningsubstation">
<a href="javascript:void(0)"
onclick="addTab('/pqs9000/responsibility/warningsubstation','告警变电站明细')">告警变电站明细</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/responsibility/overlimitmonitor">
<a href="javascript:void(0)"
onclick="addTab('/pqs9000/responsibility/overlimitmonitor','监测点稳态超标')">监测点稳态超标</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/business/platenormal">
<a href="javascript:void(0)" onclick="addTab('platenormal','电度数据展示')">电度数据展示</a>
</shiro:hasPermission>
</div>
</li>
</shiro:hasPermission>
<shiro:hasPermission name="/run">
<li><a href="javascript:void(0);" class="menuone"><i class="icon iconfont icon-caidan mr10"></i>运行管理</a>
<div class="menutwo">
<shiro:hasPermission name="/pqs9000/area/ledger">
<a href="javascript:void(0)" onclick="addTab('/pqs9000/area/ledger','终端台账统计')">终端台账统计</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/business/runtime">
<a href="javascript:void(0)" onclick="addTab('runtime','终端运行列表')">终端运行列表</a>
</shiro:hasPermission>
<%-- <shiro:hasPermission name="/pqs9000/business/terminallog">--%>
<%-- <a href="javascript:void(0)" onclick="addTab('terminallog','终端状态更新列表')">终端状态更新列表</a>--%>
<%-- </shiro:hasPermission>--%>
<%-- <shiro:hasPermission name="/pqs9000/business/lineledger">--%>
<a href="javascript:void(0)" onclick="addTab('/pqs9000/business/lineledger','监测点台账信息')">监测点台账信息</a>
<%--</shiro:hasPermission>--%>
<shiro:hasPermission name="/pqs9000/area/steadytable">
<a href="javascript:void(0)"
onclick="addTab('/pqs9000/area/steadytable','指标合格率列表')">指标合格率列表</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/area/integralitytable">
<a href="javascript:void(0)" onclick="addTab('/pqs9000/area/integralitytable','数据完整性列表')">数据完整性列表</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/area/onlineratetable">
<a href="javascript:void(0)"
onclick="addTab('/pqs9000/area/onlineratetable','终端在线率列表')">终端在线率列表</a>
</shiro:hasPermission>
</div>
</li>
</shiro:hasPermission>
<shiro:hasPermission name="/report">
<li><a href="javascript:void(0);" class="menuone"><i class="fa fa-file-excel-o mr10"></i>稳态报表</a>
<div class="menutwo">
<shiro:hasPermission name="/pqs9000/business/excel">
<a href="javascript:void(0)" onclick="addTab('excel','Excel报表')">Excel报表</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/business/expmodel">
<a href="javascript:void(0)" onclick="addTab('expmodel','Word报告')">Word报告</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/business/percent">
<a href="javascript:void(0)" onclick="addTab('percent','合格率报告')">合格率报告</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/business/fpyreport">
<a href="javascript:void(0)" onclick="addTab('fpyreport','合格率报告')">合格率报告</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/business/platereports">
<a href="javascript:void(0)" onclick="addTab('platereports','电度报告')">电度报告</a>
</shiro:hasPermission>
<%--<a href="javascript:void(0)" onclick="addTab('report/word','Word报表')">Word报告</a>--%>
</div>
</li>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/business/sourcemanage">
<li><a href="javascript:void(0);" onclick="addTab('sourcemanage','资源管理')" class="menuone"><i
class="fa fa-cloud-download" aria-hidden="true"></i>资源管理</a>
</li>
</shiro:hasPermission>
</ul>
<ul class="user-checkout pa" style="right: 5px;z-index: -10">
<li style="margin-right: 0px" id="selectUserUpdatePass">
<input id="user_name" type='hidden' value=<shiro:principal property="loginName"/>/>
<input id="user_index" type='hidden' value=<shiro:principal property="userIndex"/>/>
<i class="fa fa-user" style="color: #fff;font-size: 12px"></i>
<shiro:authenticated>
<shiro:principal property="name"/>
</shiro:authenticated>&nbsp;
</li>
<li id="destory"><i class="fa fa-power-off" style="margin-right: 5px"></i>注销</li>
</ul>
</div>
</header>
<div class="footer-copy clearfix">
<div class="fr f13">CopyRight@2017 南京灿能电力自动化股份有限公司 版权所有</div>
</div>
<div id="rightContent" style="position: absolute; left: 270px; right: 20px; top: 80px;">
<div id="tabs" style="width: 100%; height: 100%;">
<ul>
</ul>
</div>
</div>
<c:if test="${displayFlag eq true}">
<img class="switchImg" src="/pqs9000/images/switchSystem/switch.png" onclick="openDiv('div1')">
<div id="div1" class="opendiv">
<div class="switchTitle">系统切换 <p class="closeX" onclick="tkClose()">x</p></div>
<c:choose>
<c:when test="${fn:length(webItems) == 2}">
<div id="switchDiv" class="fdz2">
</c:when>
<c:otherwise>
<div id="switchDiv" class="fdz1">
</c:otherwise>
</c:choose>
<div class="container-fluid">
<div class="row">
<c:forEach items="${webItems}" var="item">
<c:choose>
<c:when test="${fn:length(webItems) == 2}">
<div class="col-md-6" style="text-align: center">
</c:when>
<c:otherwise>
<div class="col-md-12" style="text-align: center">
</c:otherwise>
</c:choose>
<c:if test="${item.item == 'pqs9300'}">
<img class="dz" item="${item.item}" src="/pqs9000/images/switchSystem/pqs9300.png"/>
</c:if>
<c:if test="${item.item == 'pqs9200'}">
<img class="dz" item="${item.item}" src="/pqs9000/images/switchSystem/pqs9200.png"/>
</c:if>
</div>
</c:forEach>
</div>
</div>
</div>
</div>
</div>
</div>
</c:if>
</div>
<div id="bgdiv"></div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.dataTables.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap-table/dataTables.bootstrap.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.contextMenu.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.cleverTabs.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/main.js"></script>
<script>
$("#swapSystem").on('mouseover', function () {
$(".small_traggle").css("display", "block")
})
$("#swapSystem").on('mouseleave', function () {
$(".small_traggle").css("display", "none")
})
$("#switchDiv img").on("click", function () {
window.location.href = "/sso/user/judgeLogin?item=" + $(this).attr("item");
})
function getDiv(id) {
return document.getElementById(id);
}
function openDiv(obj) {
if (!getDiv(obj)) return false;
var b = getDiv('bgdiv');
var d = getDiv(obj);
b.style.visibility = 'visible';
d.style.visibility = 'visible';
var wd = window.top.document.documentElement.clientWidth - d.offsetWidth;
var ht = window.top.document.documentElement.clientHeight - d.offsetHeight;
d.style.left = (wd / 2) + 'px';//横向居中
d.style.top = (ht / 2) + 'px';//垂直居中
b.onclick = function () {
closeDiv(obj);
window.onresize = null;
}; //点击背景关闭弹出层
}
//关闭弹出层
function closeDiv(obj) {
var b = getDiv('bgdiv');
var d = getDiv(obj);
b.style.visibility = 'hidden';
d.style.visibility = 'hidden';
}
function tkClose() {
var tk = document.getElementById("div1");
var tk2 = document.getElementById("bgdiv");
tk.style.visibility = 'hidden';
tk2.style.visibility = 'hidden';
}
</script>
</body>
</html>

View File

@@ -0,0 +1,308 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<title>PQS9000电能质量监测系统</title>
<link rel="shortcut icon" href="/pqs9900/images/favicon.ico" type="image/x-icon"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/animate/animate.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/jquery/jquery-ui.css">
<link rel="stylesheet" href="${ctx}/css/plugin/metroStyle/metroStyle.css">
<link rel="stylesheet" href="${ctx}/css/plugin/iconfont/iconfont.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/jquery/jquery.dataTables.min.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
* {
padding: 0;
margin: 0;
font-family: "微软雅黑";
}
.scroll li {
width: 200px;
float: left;
line-height: 15px;
text-align: center;
}
.layui-layer-setwin .layui-layer-close2 {
position: absolute;
right: -14px;
top: -14px;
width: 30px;
height: 30px;
margin-left: 0;
background-position: -149px -31px;
}
#swapSystem {
color: #FFF;
cursor: pointer;
}
.subSystem {
/*display: block !important;*/
top: 18px !important;
opacity: 1 !important;
left: -70px !important;
padding: 5px;
border: 1px solid;
border-radius: 3px !important;
width: 140px;
}
.subSystem a {
color: #fff;
font-size: 12px !important;
display: block;
height: 20px !important;
line-height: 20px !important;
width: 130px !important;
text-align: center;
/*border-bottom: 1 !important;*/
}
.small_traggle {
width: 0;
height: 0;
border: 8px solid;
border-color: transparent transparent #fff;
position: relative;
top: -12px;
left: 25px;
display: none;
}
.switchSystem {
margin-right: 0px !important;
right: 10px;
}
#userDiv {
position: fixed;
right: 10px;
top: 10px;
width: 110px;
}
</style>
</head>
<body class="bg-main">
<header id="page_header">
<div class="logow fadeInLeft f20 fb fl mt-3" id="logo">
<img src="/pqs9900/images/logo.png" style="height: 68px"/>
</div>
<div class="fl top-menu">
<span class="ml10 disinlineb mt-6" id="bigTitle">电能质量监测系统</span>
<span class="f14" id="smallTitle">PQS-9000谐波监测系统v1.1.0</span>
<div id="userDiv">
<c:if test="${displayFlag eq true}">
<span id="swapSystem">
<ul>
<li class="switchSystem">
<i class="fa fa-exchange">
</i>
<a href="javascript:void(0)" class="menuone switchSystem">系统切换</a>
<div class="small_traggle"></div>
<div class="menutwo subSystem">
<c:forEach items="${webItems }" var="item" >
<a href="javascript:void(0)" item="${item.item}">${item.name}</a>
</c:forEach>
</div>
</li>
</ul>
</span>
</c:if>
<span onclick="addTab('userhelp','帮助中心')" id="_help">
<ul>
<i class="fa fa-question-circle-o" style="margin-right: 3px;z-index: -10">
</i>帮助
</ul>
</span>
</div>
<ul class="f20 ml10 menu">
<shiro:hasPermission name="/pqs9000/business/overview">
<li>
<a href="javascript:void(0);" onclick="addTab('overview','概览')" class="menuone"><i
class="icon iconfont icon-shouye mr10"></i>概览 </a>
</li>
</shiro:hasPermission>
<shiro:hasPermission name="/point">
<li><a href="javascript:void(0);" class="menuone"><i class="icon iconfont icon-jiance mr10"></i>监测点</a>
<div class="menutwo">
<shiro:hasPermission name="/pqs9000/business/monitor">
<a href="javascript:void(0);" onclick="addTab('monitor','在线监测点')">在线监测点 </a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/business/offlinemonitor">
<a href="javascript:void(0);" onclick="addTab('offlinemonitor','离线监测点')">离线监测点 </a>
</shiro:hasPermission>
</div>
</li>
</shiro:hasPermission>
<shiro:hasPermission name="/area">
<li><a href="javascript:void(0);" class="menuone"><i class="icon iconfont icon-ditu mr10"></i>区域</a>
<div class="menutwo">
<shiro:hasPermission name="/pqs9000/area/quality">
<a href="javascript:void(0)" onclick="addTab('/pqs9000/area/quality','电能质量评估')">电能质量评估</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/area/steady">
<a href="javascript:void(0)" onclick="addTab('/pqs9000/area/steady','指标合格率统计')">指标合格率统计</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/area/steadystat">
<a href="javascript:void(0)" onclick="addTab('/pqs9000/area/steadystat','稳态指标超标占比')">稳态指标超标占比</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/area/integrality">
<a href="javascript:void(0)" onclick="addTab('/pqs9000/area/integrality','数据完整性统计')">数据完整性统计</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/area/status">
<a href="javascript:void(0)" onclick="addTab('/pqs9000/area/status','终端状态统计')">终端状态统计</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/area/harmonicrate">
<a href="javascript:void(0)" onclick="addTab('/pqs9000/area/harmonicrate','谐波总畸变率统计')">谐波总畸变率统计</a>
</shiro:hasPermission>
<%-- <shiro:hasPermission name="/pqs9000/area/onlinerate">--%>
<%-- <a href="javascript:void(0)" onclick="addTab('/pqs9000/area/onlinerate','终端在线率')">终端在线率</a>--%>
<%-- </shiro:hasPermission>--%>
<shiro:hasPermission name="/pqs9000/area/vdlist">
<a href="javascript:void(0)" onclick="addTab('/pqs9000/area/vdlist','暂降事件列表')">暂降事件列表</a>
</shiro:hasPermission>
</div>
</li>
</shiro:hasPermission>
<shiro:hasPermission name="/advanced">
<li><a href="javascript:void(0);" class="menuone"><i class="icon iconfont icon-tongji mr10"></i>详细分析</a>
<div class="menutwo">
<shiro:hasPermission name="/pqs9000/business/norm">
<a href="javascript:void(0)" onclick="addTab('norm','稳态趋势对比')">稳态趋势对比</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/business/normlimit">
<a href="javascript:void(0)" onclick="addTab('normlimit','稳态指标统计')">稳态指标统计</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/business/abnormlimit">
<a href="javascript:void(0)" onclick="addTab('abnormlimit','异常数据统计')">异常数据统计</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/business/harmonic">
<a href="javascript:void(0)" onclick="addTab('harmonic','历史谐波频谱')">历史谐波频谱</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/responsibility/responsibilitylist">
<a href="javascript:void(0)"
onclick="addTab('/pqs9000/responsibility/responsibilitylist','谐波责任划分')">谐波责任划分</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/responsibility/areaovernoraml">
<a href="javascript:void(0)"
onclick="addTab('/pqs9000/responsibility/areaovernoraml','区域稳态指标超标分类')">区域稳态指标超标</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/responsibility/warningsubstation">
<a href="javascript:void(0)"
onclick="addTab('/pqs9000/responsibility/warningsubstation','告警变电站明细')">告警变电站明细</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/responsibility/overlimitmonitor">
<a href="javascript:void(0)"
onclick="addTab('/pqs9000/responsibility/overlimitmonitor','监测点稳态超标')">监测点稳态超标</a>
</shiro:hasPermission>
</div>
</li>
</shiro:hasPermission>
<shiro:hasPermission name="/run">
<li><a href="javascript:void(0);" class="menuone"><i class="icon iconfont icon-caidan mr10"></i>运行管理</a>
<div class="menutwo">
<shiro:hasPermission name="/pqs9000/area/ledger">
<a href="javascript:void(0)" onclick="addTab('/pqs9000/area/ledger','终端台账统计')">终端台账统计</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/business/runtime">
<a href="javascript:void(0)" onclick="addTab('runtime','终端运行列表')">终端运行列表</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/area/steadytable">
<a href="javascript:void(0)"
onclick="addTab('/pqs9000/area/steadytable','指标合格率列表')">指标合格率列表</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/area/integralitytable">
<a href="javascript:void(0)" onclick="addTab('/pqs9000/area/integralitytable','数据完整性列表')">数据完整性列表</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/area/onlineratetable">
<a href="javascript:void(0)"
onclick="addTab('/pqs9000/area/onlineratetable','终端在线率列表')">终端在线率列表</a>
</shiro:hasPermission>
</div>
</li>
</shiro:hasPermission>
<shiro:hasPermission name="/report">
<li><a href="javascript:void(0);" class="menuone"><i class="fa fa-file-excel-o mr10"></i>稳态报表</a>
<div class="menutwo">
<shiro:hasPermission name="/pqs9000/business/excel">
<a href="javascript:void(0)" onclick="addTab('excel','Excel报表')">Excel报表</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/business/expmodel">
<a href="javascript:void(0)" onclick="addTab('expmodel','Word报告')">Word报告</a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/business/percent">
<a href="javascript:void(0)" onclick="addTab('percent','合格率报告')">合格率报告</a>
</shiro:hasPermission>
<%--<a href="javascript:void(0)" onclick="addTab('report/word','Word报表')">Word报告</a>--%>
</div>
</li>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/business/sourcemanage">
<li><a href="javascript:void(0);" onclick="addTab('sourcemanage','资源管理')" class="menuone"><iclass="fa fa-cloud-download" aria-hidden="true"></i>资源管理</a>
</li>
</shiro:hasPermission>
</ul>
<ul class="user-checkout pa" style="right: 5px;z-index: -10">
<li style="margin-right: 0px" id="selectUserUpdatePass" >
<input id="user_name" type='hidden' value=<shiro:principal property="loginName"/>/>
<input id="user_index" type='hidden' value=<shiro:principal property="userIndex"/>/>
<i class="fa fa-user" style="color: #fff;font-size: 12px"></i>
<shiro:authenticated>
<shiro:principal property="name"/>
</shiro:authenticated>&nbsp;
</li>
<li id="destory"><i class="fa fa-power-off" style="margin-right: 5px"></i>注销</li>
</ul>
</div>
</header>
<div class="footer-copy clearfix">
<div class="fr f13">CopyRight@2017 南京灿能电力自动化股份有限公司 版权所有</div>
</div>
<div id="rightContent" style="position: absolute; left: 270px; right: 20px; top: 80px;">
<div id="tabs" style="width: 100%; height: 100%;">
<ul>
</ul>
</div>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.dataTables.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap-table/dataTables.bootstrap.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.contextMenu.js"></script>
<script src="${ctx}/js/plugin/jquery/jquery.cleverTabs.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/main.js"></script>
<script>
$("#swapSystem").on('mouseover', function () {
$(".small_traggle").css("display", "block")
})
$("#swapSystem").on('mouseleave', function () {
$(".small_traggle").css("display", "none")
})
$(".subSystem a").on("click", function () {
window.location.href = "/sso/user/judgeLogin?item=" + $(this).attr("item");
})
</script>
</body>
</html>

View File

@@ -0,0 +1,75 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>数据完整性</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrapSwitch/bootstrap-switch.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/tip.css">
<style>
html, body {
background-color: #F9F9F9 !important;
}
.wanzhengdiv {
position: absolute;
z-index: 100;
left: 25px;
}
</style>
</head>
<body>
<%--<div id="message">aaa</div>--%>
<div class="container-fluid">
<div class="form-inline mt10 wanzhengdiv">
<div class="form-group has-feedback mr10">
<label>统计类型:</label>
<input type="checkbox" checked class="wanzheng"/>
<button id="helper" type="button" class="btn btn-primary tip tip-bottom" data-tip="数据完整性详解">
<i class="glyphicon glyphicon-info-sign" style="margin-left: -3px;margin-right: -3px;"></i>
</button>
</div>
</div>
<div class="row">
<%--区域模块--%>
<div class="col-sm-12" id="area"></div>
<%--电压等级、终端厂家模块--%>
<div class="col-sm-6" id="voltage"></div>
<div class="col-sm-6" id="company"></div>
</div>
</div>
<input type="hidden" id="startTime">
<input type="hidden" id="endTime">
<input type="hidden" id="gist">
<input type="hidden" id="type">
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/echarts/echarts.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/jspJS/utils/getTime.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/bootstrapSwitch/bootstrap-switch.min.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/barUtil.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/jspJS/utils/helper.js"></script>
<script src="${ctx}/jspJS/overview/dataIntegrality.js"></script>
<script type="text/javascript">
$("#helper").click(function (){
toHelper("#jcdsjwzx");
});
</script>
</body>
</html>

View File

@@ -0,0 +1,929 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<html lang="zh-CN">
<head>
<title>终端状态</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrapSwitch/bootstrap-switch.min.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
html, body {
background-color: #F9F9F9 !important;
}
table {
font-size: 12px !important;
}
.wanzhengdiv {
position: absolute;
z-index: 100;
left: 25px;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="form-inline mt10 wanzhengdiv">
<div class="form-group has-feedback mr10">
<label>统计类型:</label>
<input type="checkbox" checked class="wanzheng"/>
</div>
</div>
<div class="row">
<%--区域模块--%>
<div class="col-sm-7" id="area"></div>
<div class="col-sm-5" id="areaT">
<table id="areaTable" class="table table-striped table-bordered dataTable no-footer">
<thead>
<tr>
<th>区域</th>
<th>终端个数</th>
<th>投运</th>
<th>热备用</th>
<th>停运</th>
<th>在线率(%)</th>
</tr>
</thead>
</table>
</div>
<%--终端厂家模块--%>
<div class="col-sm-7" id="company"></div>
<div class="col-sm-5" id="companyT">
<table id="companyTable" class="table table-striped table-bordered dataTable no-footer">
<thead>
<tr>
<th>厂家</th>
<th>终端个数</th>
<th>投运</th>
<th>热备用</th>
<th>停运</th>
<th>在线率(%)</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/echarts/echarts.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/plugin/bootstrapSwitch/bootstrap-switch.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/jspJS/utils/getTime.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/barUtil.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script>
var picHeight;
var areLength;//区域的个数
var companyLength;//厂家个数
var tiggleValue = "";
var areaResult = null;
var companyResult = null;
var buttonname;
var companyname;
$(function () {
var end = getEndTime();
var start = getMonthStartTime(end);
$.ajax({
type: "POST",
data:{
start: start,
end: end
},
async:false,
url: "/pqs9000/device/getMsgInfo",
dataType: 'json',
success: function (data) {
buttonname = data.body.name;
tiggleValue = data.body.name;
}
});
$.ajax({
type: "POST",
url: "/pqs9000/theme/getThemeInfo",
async: false,
dataType: 'json',
success: function (data) {
companyname = data.body.name;
}
});
//开关初始化
$(".wanzheng").bootstrapSwitch({
onText: buttonname, // 设置ON文本
offText: companyname, // 设置OFF文本
onColor: "primary",// 设置ON文本颜色 (info/success/warning/danger/primary)
offColor: "primary", // 设置OFF文本颜色 (info/success/warning/danger/primary)
size: "small", // 设置控件大小,从小到大 (mini/small/normal/large)
handleWidth: "60",//设置控件宽度
// 当开关状态改变时触发
onSwitchChange: function (event, state) {
if (state == true) {
tiggleValue = buttonname;
} else {
tiggleValue = companyname;
}
//重新画图
reDrawAllPic();
}
});
var i;
picHeight = $(window).height() * 0.5 - 5;
endTime = getEndTime();
startTime = getMonthStartTime(endTime);
$.ajax({
url: '/pqs9000/overview/deviceStatus',
type: 'post',
dataType: 'json',
data: {
startTime: startTime,
endTime: endTime
},
beforeSend: function () {
i = ityzl_SHOW_LOAD_LAYER();
},
success: function (data) {
if (data.code === 500 | data.body === null) {
companyResult = null;
areaResult = null;
} else {
areLength = data.body.area === null ? 0 : data.body.area.length;
companyLength = data.body.interval === null ? 0 : data.body.interval.length;
companyResult = data.body.interval;
areaResult = data.body.area;
}
startQuery();
//***********关闭loading
ityzl_CLOSE_LOAD_LAYER(i);
}
})
})
//按区域进行统计
function drawAreaPic(area, lineFeed, route) {
//给div指定宽高
$("#area").css("height", picHeight);
var normal = [];
var breaks = [];
var shutdown = [];
var areas = [];
var rate = [];
if (null != area) {
for (var i = 0; i < area.length; i++) {
var monitors;
var onlineRate;
if (tiggleValue === buttonname) {
monitors = area[i].amounts;
areas[i] = area[i].name + lineFeed + "(" + area[i].amounts + ")";
onlineRate = Number(area[i].online);
var singleDataNormal = {};
var singleDatabreal = {};
var singleDatashutdown = {};
singleDataNormal.value = area[i].status.normal;
singleDataNormal.areaIndex = area[i].deptsIndex;
normal[i]= singleDataNormal;
singleDatabreal.value = area[i].status.breaks;
singleDatabreal.areaIndex = area[i].deptsIndex;
breaks[i] = singleDatabreal;
singleDatashutdown.value = area[i].status.shutdown;
singleDatashutdown.areaIndex = area[i].deptsIndex;
shutdown[i] = singleDatashutdown;
} else {
monitors = area[i].gwamounts;
areas[i] = area[i].name + lineFeed + "(" + area[i].gwamounts + ")";
onlineRate = Number(area[i].gwonline);
if (null !== area[i].gdStatus) {
var singleDataNormal = {};
var singleDatabreal = {};
var singleDatashutdown = {};
singleDataNormal.value = area[i].status.normal;
singleDataNormal.areaIndex = area[i].deptsIndex;
normal[i]= singleDataNormal;
singleDatabreal.value = area[i].status.breaks;
singleDatabreal.areaIndex = area[i].deptsIndex;
breaks[i] = singleDatabreal;
singleDatashutdown.value = area[i].status.shutdown;
singleDatashutdown.areaIndex = area[i].deptsIndex;
shutdown[i] = singleDatashutdown;
} else {
var singleData = {};
var item = {};
singleData.value = 3.1415;
item.color = noMonitor;
singleData.itemStyle = item;
normal[i] = singleData;
breaks[i] = 0;
shutdown[i] = 0;
}
}
if (Number(monitors) === 0) {
var singleData = {};
var item = {};
singleData.value = 3.1415;
item.color = noMonitor;
singleData.itemStyle = item;
normal[i] = singleData;
rate[i] = singleData;
breaks[i] = 0;
shutdown[i] = 0;
} else {
var singleData = {};
var normalData = {};
var itemStyle = {};
normalData.color = getColor(onlineRate);
if (onlineRate < 3.1414) {
singleData.value = 3.1415;
normalData.actual = onlineRate;
} else {
singleData.value = onlineRate;
}
itemStyle.normal = normalData;
singleData.itemStyle = itemStyle;
singleData.areaIndex = area[i].deptsIndex;
rate[i] = singleData;
}
}
}
var option = {
backgroundColor: canvasBG,//背景色
title: {
text: '区域',
x: 'center',
padding: [
15, // 上
0, // 右
0, // 下
0, // 左
]
},
color: [runColor, breaksColor, grey],
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
},
position: function (point, params, dom, rect, size) {
// 鼠标坐标和提示框位置的参考坐标系是以外层div的左上角那一点为原点x轴向右y轴向下
// 提示框位置
var x = 0; // x坐标位置
var y = 0; // y坐标位置
// 当前鼠标位置
var pointX = point[0];
var pointY = point[1];
// 外层div大小
// var viewWidth = size.viewSize[0];
// var viewHeight = size.viewSize[1];
// 提示框大小
var boxWidth = size.contentSize[0];
var boxHeight = size.contentSize[1];
// boxWidth > pointX 说明鼠标左边放不下提示框
if (boxWidth > pointX) {
x = 5;
} else { // 左边放的下
x = pointX - boxWidth;
}
// boxHeight > pointY 说明鼠标上边放不下提示框
if (boxHeight > pointY) {
y = 5;
} else { // 上边放得下
y = pointY - boxHeight;
}
return [x, y];
},
formatter: function (params) {
var tips = "";
tips += '<font style="font-size: 12px">' + params[0].name + '</font>';
var color = params[0].color;
tips += '<br/><font style="font-size: 12px">终端状态(%)</font>';
if (color === noMonitor) {
tips += '<br/><font style="font-size: 10px">投运 : /</font>';
tips += '<br/><font style="font-size: 10px">热备用 : /</font>';
tips += '<br/><font style="font-size: 10px">停运 : /</font>';
tips += '<br/><font style="font-size: 12px">终端在线率(%)</font>';
tips += '<br/><font style="font-size: 10px">/</font>';
} else {
for (var i = 0; i < 3; i++) {
tips += '<br/><font style="font-size: 10px">' + params[i].seriesName + ' : ' + params[i].value + '</font>';
}
tips += '<br/><font style="font-size: 12px">终端在线率(%)</font>';
var onlineRate;
if (Number(params[3].value) === 3.14159) {
onlineRate = '暂无数据';
}else if(Number(params[3].value)===3.1415){
onlineRate='/';
} else {
onlineRate = params[3].value;
}
tips += '<br/><font style="font-size: 10px">' + onlineRate + '</font>';
}
return tips;
}
},
//控制图标在dataroom中的位置大小
grid: {
left: '1%',
right: '11%',
bottom: '3%',
containLabel: true
},
xAxis: [{
type: 'category',
data: areas,
name: '地区\n(终端个数)\n',
splitLine: {
show: false
},
axisLabel: {
show: true,
interval: 0,
rotate: route,
fontSize: 10
}
}],
yAxis: [{
type: 'value',
name: '%',
max: 100
}],
series: [{
name: '投运',
type: 'bar',
stack: 'sum',
barMaxWidth: barMax,
data: normal
}, {
name: '热备用',
type: 'bar',
stack: 'sum',
barMaxWidth: barMax,
data: breaks
}, {
name: '停运',
type: 'bar',
stack: 'sum',
barMaxWidth: barMax,
data: shutdown
}, {
name: '在线率',
type: 'bar',
barGap: 0,
barMaxWidth: barMax,
data: rate
}]
};
var district = echarts.init(document.getElementById('area'));
district.setOption(option);
district.on('click', function (params) {
var city=params.data.areaIndex;
if (getRole("/pqs9000/business/runtime") === 1) {
window.top.addTab('runtime?area='+city, '终端运行情况')
}
});
}
//填充区域表格
function initAreaTable(data) {
var height = picHeight - 50;
if (data == null) {
data = [];
}
$("#areaTable").DataTable({
data: data,
autoWidth: false,
order:[1,"desc"],
columnDefs : [
{ orderable: false, targets: [0,2,3,4] }
],
paging: false,
lengthChange: false,
searching: false,
destroy: true,
scrollY: height,
info: false,
language: {
url: '/pqs9000/json/chine.json',
},
columns: [
{data: 'name'},
{
data: 'amounts', render: function (data, type, full, meta) {
if (tiggleValue === buttonname) {
if (full.amounts == 0) {
return "0";
}
return full.amounts;
} else {
if (full.gwamounts == 0) {
return "0";
}
return full.gwamounts;
}
}, type: "number-fate"
},
{
data: 'status.normalData', render: function (data, type, full, meta) {
if (tiggleValue === buttonname) {
if (full.amounts == 0) {
return "/";
}
return full.status.normalData;
} else {
if (full.gwamounts == 0) {
return "/";
}
if (null === full.gdStatus) {
return "0"
}
return full.gdStatus.normalData;
}
}, type: "number-fate"
},
{
data: 'status.breaksData', render: function (data, type, full, meta) {
if (tiggleValue === buttonname) {
if (full.amounts == 0) {
return "/";
}
return full.status.breaksData;
} else {
if (full.gwamounts == 0) {
return "/";
}
if (null === full.gdStatus) {
return "0"
}
return full.gdStatus.breaksData;
}
}, type: "number-fate"
},
{
data: 'status.shutdownData', render: function (data, type, full, meta) {
if (tiggleValue === buttonname) {
if (full.amounts == 0) {
return "/";
}
return full.status.shutdownData;
} else {
if (full.gwamounts == 0) {
return "/";
}
if (null === full.gdStatus) {
return "0"
}
return full.gdStatus.shutdownData;
}
}, type: "number-fate"
}, {
data: 'online', render: function (data, type, full, meta) {
if (tiggleValue === buttonname) {
data = full.online;
} else {
data = full.gwonline;
}
if (Number(data) === 3.1415) {
return "/";
} else if (Number(data) === 3.14159) {
return "(暂无数据)";
} else {
return data;
}
}, type: "number-fate"
},
],
})
}
//按终端厂家进行统计
function drawCompanyPic(companys, lineFeed, route) {
$("#company").css("height", picHeight);
var run = [];
var breaks = [];
var shutdown = [];
var rate = [];
var areas = [];
if (null != companys) {
for (var i = 0; i < companys.length; i++) {
var monitors;
var onlineRate;
if (tiggleValue === buttonname) {
monitors = companys[i].amounts;
areas[i] = companys[i].name + lineFeed + "(" + companys[i].amounts + ")";
onlineRate = Number(companys[i].online);
run[i] = companys[i].status.normal;
breaks[i] = companys[i].status.breaks;
shutdown[i] = companys[i].status.shutdown;
} else {
monitors = companys[i].gwamounts;
areas[i] = companys[i].name + lineFeed + "(" + companys[i].gwamounts + ")";
onlineRate = Number(companys[i].gwonline);
if (null !== companys[i].gdStatus) {
run[i] = companys[i].gdStatus.normal;
breaks[i] = companys[i].gdStatus.breaks;
shutdown[i] = companys[i].gdStatus.shutdown;
} else {
var singleData = {};
var item = {};
singleData.value = 3.1415;
item.color = noMonitor;
singleData.itemStyle = item;
run[i] = singleData;
breaks[i] = 0;
shutdown[i] = 0;
}
}
if (Number(monitors) === 0) {
var singleData = {};
var normal = {};
var itemStyle = {};
singleData.value = 3.1415;
normal.color = noMonitor;
itemStyle.normal = normal;
singleData.itemStyle = itemStyle;
run[i] = singleData;
rate[i] = singleData;
breaks[i] = 0;
shutdown[i] = 0;
} else {
var singleData = {};
var normal = {};
var itemStyle = {};
normal.color = getColor(onlineRate);
if (onlineRate < 3.1414) {
singleData.value = 3.1415;
normal.actual = onlineRate;
} else {
singleData.value = onlineRate;
}
itemStyle.normal = normal;
singleData.itemStyle = itemStyle;
rate[i] = singleData;
}
}
}
var option = {
backgroundColor: canvasBG,//背景色
title: {
text: '终端厂家',
left: '46%',
padding: [
15, // 上
0, // 右
0, // 下
0, // 左
]
},
// color: [green, yellow, grey],
color: [runColor, breaksColor, grey],
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
},
position: function (point, params, dom, rect, size) {
// 鼠标坐标和提示框位置的参考坐标系是以外层div的左上角那一点为原点x轴向右y轴向下
// 提示框位置
var x = 0; // x坐标位置
var y = 0; // y坐标位置
// 当前鼠标位置
var pointX = point[0];
var pointY = point[1];
// 外层div大小
// var viewWidth = size.viewSize[0];
// var viewHeight = size.viewSize[1];
// 提示框大小
var boxWidth = size.contentSize[0];
var boxHeight = size.contentSize[1];
// boxWidth > pointX 说明鼠标左边放不下提示框
if (boxWidth > pointX) {
x = 5;
} else { // 左边放的下
x = pointX - boxWidth;
}
// boxHeight > pointY 说明鼠标上边放不下提示框
if (boxHeight > pointY) {
y = 5;
} else { // 上边放得下
y = pointY - boxHeight;
}
return [x, y];
},
formatter: function (params) {
var tips = "";
tips += '<font style="font-size: 12px">' + params[0].name + '</font>';
var color = params[0].color;
tips += '<br/><font style="font-size: 12px">终端状态(%)</font>';
if (color === noMonitor) {
tips += '<br/><font style="font-size: 10px">投运 : /</font>';
tips += '<br/><font style="font-size: 10px">热备用 : /</font>';
tips += '<br/><font style="font-size: 10px">停运 : /</font>';
tips += '<br/><font style="font-size: 12px">终端在线率(%)</font>';
tips += '<br/><font style="font-size: 10px">/</font>';
} else {
for (var i = 0; i < 3; i++) {
tips += '<br/><font style="font-size: 10px">' + params[i].seriesName + ' : ' + params[i].value + '</font>';
}
tips += '<br/><font style="font-size: 12px">终端在线率(%)</font>';
var onlineRate;
if (Number(params[3].value) === 3.14159) {
onlineRate = '暂无数据';
}else if(Number(params[3].value)===3.1415){
onlineRate='/';
}else {
onlineRate = params[3].value;
}
tips += '<br/><font style="font-size: 10px">' + onlineRate + '</font>';
}
return tips;
}
},
//控制图标在dataroom中的位置大小
grid: {
left: '1%',
right: '11%',
bottom: '3%',
containLabel: true
},
xAxis: [{
type: 'category',
data: areas,
name: '终端厂家\n(终端个数)\n',
splitLine: {
show: false
},
axisLabel: {
show: true,
interval: 0,
rotate: route,
fontSize: 10
}
}],
yAxis: [{
type: 'value',
name: '%',
max: 100
}],
series: [{
name: '投运',
type: 'bar',
stack: 'sum',
barMaxWidth: barMax,
data: run
}, {
name: '热备用',
type: 'bar',
stack: 'sum',
barMaxWidth: barMax,
data: breaks
}, {
name: '停运',
type: 'bar',
stack: 'sum',
barMaxWidth: barMax,
data: shutdown
}, {
name: '在线率',
type: 'bar',
barGap: 0,
barMaxWidth: barMax,
data: rate
}]
};
var factory = echarts.init(document.getElementById('company'));
factory.setOption(option);
factory.on('click', function () {
// var city=params.data.areaIndex;
alert(1)
if (getRole("/pqs9000/business/runtime") == 1) {
window.top.addTab('runtime', '终端运行情况')
}
});
}
//填充终端厂家表格
function initCompanyTable(data) {
var height = picHeight - 50;
if (data == null) {
data = [];
}
$("#companyTable").DataTable({
data: data,
autoWidth: false,
order:[1,"desc"],
columnDefs : [
{ orderable: false, targets: [0,2,3,4] }
],
paging: false,
lengthChange: false,
searching: false,
destroy: true,
scrollY: height,
info: false,
language: {
url: '/pqs9000/json/chine.json',
},
columns: [
{data: 'name'},
{
data: 'amounts', render: function (data, type, full, meta) {
if (tiggleValue === buttonname) {
if (full.amounts == 0) {
return "0";
}
return full.amounts;
} else {
if (full.gwamounts == 0) {
return "0";
}
return full.gwamounts;
}
}, type: "number-fate"
},
{
data: 'status.normalData', render: function (data, type, full, meta) {
if (tiggleValue === buttonname) {
if (full.amounts == 0) {
return "/";
}
return full.status.normalData;
} else {
if (full.gwamounts == 0) {
return "/";
}
if (null === full.gdStatus) {
return "0"
}
return full.gdStatus.normalData;
}
}, type: "number-fate"
},
{
data: 'status.breaksData', render: function (data, type, full, meta) {
if (tiggleValue === buttonname) {
if (full.amounts == 0) {
return "/";
}
return full.status.breaksData;
} else {
if (full.gwamounts == 0) {
return "/";
}
if (null === full.gdStatus) {
return "0"
}
return full.gdStatus.breaksData;
}
}, type: "number-fate"
},
{
data: 'status.shutdownData', render: function (data, type, full, meta) {
if (tiggleValue === buttonname) {
if (full.amounts == 0) {
return "/";
}
return full.status.shutdownData;
} else {
if (full.gwamounts == 0) {
return "/";
}
if (null === full.gdStatus) {
return "0"
}
return full.gdStatus.shutdownData;
}
}
},
{
data: 'online', render: function (data, type, full, meta) {
if (tiggleValue === buttonname) {
data = full.online;
} else {
data = full.gwonline;
}
if (Number(data) === 3.1415) {
return "/";
} else if (Number(data) === 3.14159) {
return "(暂无数据)";
} else {
return data;
}
}, type: "number-fate"
},
],
})
}
//特殊处理,表头紧缩问题--start
var it = null;
function startQuery() {
//实时刷新时间单位为毫秒
it = setInterval('refreshQuery()', 100);
}
/* 刷新查询 */
function refreshQuery() {
var width = $("#companyT").width();
if (width > 100) {
if (parseInt(areLength) > parseInt(barUpperLimit7)) {
drawAreaPic(areaResult, noLineFeed, barRouteIncline);
} else {
drawAreaPic(areaResult, lineFeed, barRouteZero);
}
if (parseInt(companyLength) > parseInt(barUpperLimit7)) {
drawCompanyPic(companyResult, noLineFeed, barRouteIncline);
} else {
drawCompanyPic(companyResult, lineFeed, barRouteZero);
}
initAreaTable(areaResult);
initCompanyTable(companyResult);
window.clearInterval(it)
}
}
//根据在线率获取颜色
function getColor(data) {
if (data >= 90) {
return green;
} else if (data === 3.1415) {
return noMonitor;
} else if (data === 3.14159) {
return noData;
} else if (data < 60) {
return red;
} else {
return yellow;
}
}
//开关触发图片更新
function reDrawAllPic() {
if (areaResult === null) {
drawAreaPic(null);
initAreaTable(null);
} else {
if (parseInt(areLength) > parseInt(barUpperLimit7)) {
drawAreaPic(areaResult, noLineFeed, barRouteIncline);
} else {
drawAreaPic(areaResult, lineFeed, barRouteZero);
}
initAreaTable(areaResult);
}
if (companyResult === null) {
drawCompanyPic(null);
initCompanyTable(null);
} else {
if (parseInt(companyLength) > parseInt(barUpperLimit7)) {
drawCompanyPic(companyResult, noLineFeed, barRouteIncline);
} else {
drawCompanyPic(companyResult, lineFeed, barRouteZero);
}
initCompanyTable(companyResult);
}
}
/**
* 数字排序自定义start
*/
jQuery.fn.dataTableExt.oSort['number-fate-asc'] = function (s1, s2) {
if (s1 === "/") {
s1 = 0;
}
if (s2 === "/") {
s2 = 0;
}
return Number(s1) - Number(s2);
};
jQuery.fn.dataTableExt.oSort['number-fate-desc'] = function (s1, s2) {
if (s1 === "/") {
s1 = 0;
}
if (s2 === "/") {
s2 = 0;
}
return Number(s2) - Number(s1);
};
</script>
</body>
</html>

View File

@@ -0,0 +1,112 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>稳态指标合格率</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/tip.css">
<style>
html, body {
background-color: #F9F9F9 !important;
overflow: hidden;
}
ul {
padding: 0 2px;
border: 1px solid #696969;
border-radius: 4px;
}
</style>
</head>
<body>
<%--<div id="message">aaa</div>--%>
<div class="container-fluid">
<ul class="nav nav-pills nav-justified mt10" id="qualifiedTab">
<li class="active"><a href="#steady" data-toggle="tab" id="allData">全部</a></li>
<li><a href="#steady" data-toggle="tab" id="frequency">频率偏差</a></li>
<li><a href="#steady" data-toggle="tab" id="flicker">闪变</a></li>
<li><a href="#steady" data-toggle="tab" id="uBalance">电压不平衡</a></li>
<li><a href="#steady" data-toggle="tab" id="harmVoltage">谐波电压</a></li>
<li><a href="#steady" data-toggle="tab" id="voltageDeviation">电压偏差</a></li>
<li><a href="#steady" data-toggle="tab" id="harmElec">谐波电流</a></li>
<li><a href="#steady" data-toggle="tab" id="iNeg">负序电流</a></li>
<li><a href="#steady" data-toggle="tab" id="inUharm">间谐波电压含有率</a></li>
</ul>
<div class="row">
<div class="tab-content">
<div class="tab-pane active" id="steady">
<%--区域模块--%>
<div class="col-sm-12 single" id="area"></div>
<%--电压等级、终端厂家模块--%>
<div class="col-sm-6 single" id="voltage"></div>
<div class="col-sm-6 single" id="loadType"></div>
<div class="col-sm-12 allArea" id="table">
<table id="areaTable" class="table table-striped table-bordered dataTable no-footer">
<thead>
<tr>
<th>区域</th>
<th>频率偏差(%)</th>
<th>闪变(%)</th>
<th>三相电压不平衡度(%)</th>
<th>谐波电压(%)</th>
<th>电压偏差(%)</th>
<th>谐波电流(%)</th>
<th>负序电流(%)</th>
<th>间谐波电压含有率(%)</th>
<th>操作</th>
</tr>
</thead>
</table>
</div>
<div class="col-sm-12 allArea" id="allArea"></div>
<div>
<button id="helper" type="button" style="z-index: 999;margin-left: -270px;margin-top: 3px;"
class="btn tip tip-bottom" data-tip="合格率详解">
<i class="glyphicon glyphicon-info-sign" style="margin-left: -3px;margin-right: -3px;"></i>
</button>
</div>
</div>
</div>
</div>
</div>
<input type="hidden" id="startTime">
<input type="hidden" id="endTime">
<input type="hidden" id="gist">
<input type="hidden" id="type">
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/echarts/echarts.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/jspJS/utils/getTime.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/area/steadyCommon.js"></script>
<script src="${ctx}/jspJS/utils/barUtil.js"></script>
<script src="${ctx}/jspJS/utils/tableSort.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/jspJS/overview/frequency.js"></script>
<script src="${ctx}/jspJS/utils/helper.js"></script>
<script>
$("#helper").click(function () {
toHelper("#wtzbhgl");
});
</script>
</body>
</html>

View File

@@ -0,0 +1,84 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags"%>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>终端在线率</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css" >
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrapSwitch/bootstrap-switch.min.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
html,body{
background-color: #F9F9F9 !important;
}
.wanzhengdiv{
position: absolute;
z-index: 100;
left: 25px;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="form-inline mt10 wanzhengdiv">
<div class="form-group has-feedback mr10" >
<label >统计类型:</label>
<input type="checkbox" checked class="wanzheng" />
</div>
</div>
<div class="row">
<%--区域模块--%>
<div class="col-sm-8" id="area"></div>
<div class="col-sm-4" id="areaT">
<table id="areaTable" class="table table-striped table-bordered dataTable no-footer">
<thead>
<tr>
<th>区域</th>
<th id="typeTitle">终端个数</th>
<th>在线率(%)</th>
</tr>
</thead>
</table>
</div>
<%--终端厂家模块--%>
<div class="col-sm-8" id="company"></div>
<div class="col-sm-4" id="companyT">
<table id="companyTable" class="table table-striped table-bordered dataTable no-footer">
<thead>
<tr>
<th>终端厂家</th>
<th id="typeTitle1">终端个数</th>
<th>在线率(%)</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
<input type="hidden" id="startTime">
<input type="hidden" id="endTime">
<input type="hidden" id="gist">
<input type="hidden" id="type">
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/echarts/echarts.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/js/plugin/bootstrapSwitch/bootstrap-switch.min.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/jspJS/utils/getTime.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/jspJS/overview/onlineRate.js"></script>
</body>
</html>

View File

@@ -0,0 +1,920 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<title>概览页面</title>
<link rel="stylesheet" href="${ctx}/css/plugin/slide/reset.css">
<link rel="stylesheet" href="${ctx}/css/plugin/slide/slide.css">
<link rel="stylesheet" href="${ctx}/jspCSS/overview/overview.css">
<style>
li {
box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
background: white;
}
</style>
</head>
<body>
<div class="banner">
<div id="divinfo" class="alert alert-info" role="alert"
style="position:absolute;width:180px;top:0px;left:5px;padding:0px 15px 0px 15px;">
<div id="msgInfo" class="alert alert-info"
style="position:absolute;white-space:pre;width:180px;left: 0px;"></div>
</div>
<div id="slide3d" class="slide-carousel slide-3d">
<ul class="item-list clearfix">
<shiro:hasPermission name="/pqs9000/business/frequency">
<li id="item0">
<div style="position:absolute;z-index: 99">
<div>
<span class='fr font12' style="margin-left: 10px;margin-top: 20px"><span class='info'><span class='inB bg-info smallBlock'></span> 合格率≥90%</span><span class='warn'> <span class='inB bg-warn smallBlock'></span> 60%≤合格率<90% </span><span class='error'> <span class='inB bg-error smallBlock'></span> 合格率<60%</span></span>
</div>
</div>
<div class="item-content" id="frequency" titles="稳态指标合格率">
</div>
</li>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/business/powerquality">
<li id="item1">
<div style="position:absolute;z-index: 99;bottom: 10px;margin-left: 10px" >
<div>
<div class="mt10">
<span class='inB smallBlock2' style="background-color:#2E8B57 "></span> 优质
</div>
<div class="mt10">
<span class='inB smallBlock2' style="background-color:#84983C"></span> 良好
</div>
<div class="mt10">
<span class='inB smallBlock2' style="background-color:#DAA520"></span> 合格
</div>
<div class="mt10">
<span class='inB smallBlock2' style="background-color:#C06825"></span> 较差
</div>
<div class="mt10">
<span class='inB smallBlock2' style="background-color:#A52a2a"></span> 极差
</div>
</div>
</div>
<div class="item-content" id="powerquality" titles="电能质量评估">
</div>
</li>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/business/devicestatus">
<li id="item2">
<div style="position:absolute;z-index: 99">
<div>
<span class=' font12 fontBold ' style="display: block;margin-left: 10px">终端状态(左柱) <span class='run'><span class='inB bg-run smallBlock'></span> 投运 </span><span class='breaks'><span class='inB bg-breaks smallBlock'></span> 热备用 </span><span class='grey'><span class='inB bg-grey smallBlock'></span> 停运 &nbsp;</span></span>
<span class=' font12 fontBold' style="display: block;margin-left: 10px;margin-top: 8px" > 终端在线率(右柱) <span class='info'><span class='inB smallBlock' style="background-color:#2E8B57 "></span> 在线率≥90%</span><span class='warn'> <span class='inB bg-warn smallBlock'></span> 60%≤在线率<90% </span><span class='error'> <span class='inB bg-error smallBlock'></span> 在线率<60%</span> </span>
</div>
</div>
<div class="item-content" id="devicestatus" titles="终端状态">
</div>
</li>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/business/detaintegrality">
<li id="item3">
<div style="position:absolute;z-index: 99">
<div>
<span class='fr font12' style="margin-left: 10px;margin-top: 20px"><span class='info'><span class='inB bg-info smallBlock'></span> 完整性≥90%</span><span class='warn'> <span class='inB bg-warn smallBlock'></span> 60%≤完整性<90% </span><span class='error'> <span class='inB bg-error smallBlock'></span> 完整性<60%</span></span>
</div>
</div>
<div class="item-content" id="dataintegrality" titles="数据完整性">
</div>
</li>
</shiro:hasPermission>
</ul>
<%--indicators--%>
<div class="indicator-list">
<shiro:hasPermission name="/pqs9000/business/frequency">
<a href="javascript:void(0);" data-slide-index="0" class="selected"></a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/business/powerquality">
<a href="javascript:void(0);" data-slide-index="1"></a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/business/devicestatus">
<a href="javascript:void(0);" data-slide-index="2"></a>
</shiro:hasPermission>
<shiro:hasPermission name="/pqs9000/business/detaintegrality">
<a href="javascript:void(0);" data-slide-index="3"></a>
</shiro:hasPermission>
</div>
<%--controls--%>
<div class="controls">
<a class="item-prev glyphicon glyphicon-menu-left" href="javascript:void(0);"></a>
<a class="item-next glyphicon glyphicon-menu-right" href="javascript:void(0);"></a>
</div>
</div>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/slide.min.js"></script>
<script src="${ctx}/js/plugin/echarts/echarts.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/jspJS/utils/getTime.js"></script>
<script src="${ctx}/jspJS/area/powerCommon.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/js/mapCommon.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/jspJS/utils/barUtil.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script>
var mapEvent, loadingItem;
var load = 0;
var total = 0;
var areLength;//区域的个数
var companyLength;//厂家个数
var color;
var companyname;
function initInfo() {
var endTime = getEndTime();
var startTime = getMonthStartTime(endTime);
$.ajax({
type: "POST",
data:{
start: startTime,
end: endTime
},
url: "/pqs9000/device/getMsgInfo",
dataType: 'json',
success: function (data) {
var str0 = "<b style='font-size: 13px;color:" + color + ";'>" + "统计时间:" +
"</b>\n<b style='font-size: 12px;color: " + color + ";'>&nbsp;&nbsp;" + startTime + "至" + endTime + "</b>\n";
var str1 = "<b style='font-size: 13px;color:" + color + ";'>" + data.body.name +
":</b>\n<b style='font-size: 12px;color:" + color + ";'>&nbsp;&nbsp;监测点数:" +data.body.pointCount +
"</b>\n<b style='font-size: 12px;color: " + color + ";'>&nbsp;&nbsp;终端数:" + data.body.count +
"</b>\n<b style='font-size: 12px;color: " + color + ";'>&nbsp;&nbsp;在线率:" + data.body.online +
"%</b>\n<b style='font-size: 12px;color: " + color + ";'>&nbsp;&nbsp;数据完整性:" + data.body.dataIntegrality + "%</b>\n";
var str2 = "<b style='font-size: 13px;color: " + color + ";'>" + companyname +
"</b>\n<b style='font-size: 12px;color: " + color + ";'>&nbsp;&nbsp;监测点数:" + data.body.gwPointCount +
"</b>\n<b style='font-size: 12px;color: " + color + ";'>&nbsp;&nbsp;终端数:" + data.body.gwCount +
"</b>\n<b style='font-size: 12px;color: " + color + ";'>&nbsp;&nbsp;在线率:" + data.body.gwOnline +
"%</b>\n<b style='font-size: 12px;color: " + color + ";'>&nbsp;&nbsp;数据完整性:" + data.body.gwDataIntegrality + "%</b>\n";
var str = str0;
str += data.body.count == 0 ? "" : str1;
str += data.body.gwCount == 0 ? "" : str2;
$("#msgInfo").html(str);
}
})
}
$(function () {
$.ajax({
type: "POST",
url: "/pqs9000/theme/getThemeInfo",
async: false,
dataType: 'json',
success: function (data) {
color = data.body.value;
companyname = data.body.name;
}
})
initInfo();
var t1 = getRole("/pqs9000/business/frequency");
var t2 = getRole("/pqs9000/business/powerquality");
var t3 = 0;
var t4 = getRole("/pqs9000/business/devicestatus");
var t5 = getRole("/pqs9000/business/detaintegrality");
var index = 0;
addIndex(t1, "#item0");
addIndex(t2, "#item1");
addIndex(t4, "#item2");
addIndex(t5, "#item3");
function addIndex(t, str) {
if (t1 + t2 + t3 + t4 + t5 === 1) {
index = 1;
}
if (t == 1) {
$(str).addClass("item" + index);
index++;
}
}
total = t1 + t2 + t3 + t4 + t5;
startQuery();
loadingItem = ityzl_SHOW_LOAD_LAYER();
$('#slide3d').slideCarsousel({slideType: '3d', indicatorEvent: 'click'});
//获取当前内容的高度
var height = $(window).height();
$(".banner").css("height", height * 0.8);
$(".banner").css("margin-top", height * 0.1);
$("li").css("height", height * 0.8);
var endTime = getEndTime();
var startTime = getMonthStartTime(endTime);
//打开电能质量评估页面---start
if (t1 == 1) {
$.ajax({
url: '/pqs9000/overview/frequencyDeviation',
type: 'post',
data: {
startTime: startTime,
overview: 'overview',
endTime: endTime
},
dataType: 'json',
success: function (data) {
load = load + 1;
if (data.body === null) {
drawFrequencyDeviationPic(null);
} else {
var deviaLength = data.body.area.length;
if (parseInt(deviaLength) > parseInt(barspaclength)) {
drawFrequencyDeviationPic(data.body.area, 0);
} else {
drawFrequencyDeviationPic(data.body.area, 0);
}
}
}
})
}
//获取数据完整性并画缩略图
if (t5 == 1) {
$.ajax({
url: '/pqs9000/overview/dataIntegrality',
type: 'post',
data: {
startTime: startTime,
overview: 'overview',
endTime: endTime
},
dataType: 'json',
success: function (data) {
load = load + 1;
if (data.body === null) {
drawIntegralityPic(null);
} else {
var typicLength = data.body.area.length;
if (parseInt(typicLength) > parseInt(barspaclength)) {
drawIntegralityPic(data.body.area, 0);
} else {
drawIntegralityPic(data.body.area, 0);
}
}
}
})
}
//获取在线率数据并画图
if (t3 == 1) {
$.ajax({
url: '/pqs9000/overview/onlineRate',
type: 'post',
data: {
startTime: startTime,
overview: 'overview',
endTime: endTime
},
dataType: 'json',
success: function (data) {
load = load + 1;
if (data.body === null) {
drawOnlineRatePic(null);
} else {
companyLength = data.body.area.length;
if (parseInt(companyLength) > parseInt(barspaclength)) {
drawOnlineRatePic(data.body.area, 0);
} else {
drawOnlineRatePic(data.body.area, 0);
}
}
}
})
}
//获取终端运行状态数据并画图
if (t4 == 1) {
$.ajax({
url: "/pqs9000/overview/deviceStatus",
type: 'post',
data: {
startTime: startTime,
overview: 'overview',
endTime: endTime
},
dataType: 'json',
success: function (data) {
load = load + 1;
if (data.body === null) {
drawDeviceStatusPic(null);
} else {
areLength = data.body.area.length;
if (parseInt(areLength) > parseInt(barspaclength)) {
drawDeviceStatusPic(data.body.area, 0);
} else {
drawDeviceStatusPic(data.body.area, 0);
}
}
}
})
}
if (t2 == 1) {
$.ajax({
url: '/pqs9000/overview/powerQualityVol',
type: 'post',
data: {
startTime: startTime,
overview: 'overview',
endTime: endTime
},
dataType: 'json',
success: function (data) {
load = load + 1;
$("#powerquality").css("height", $("li").height())
$("#powerquality").css("width", $("li").width())
if (data.body === null) {
initEvents(null);
} else {
initEvents(data.body.synData);
}
}
})
}
function initEvents(volData) {
//地图容器
mapEvent = echarts.init(document.getElementById('powerquality'));
var pNode, node;
$.ajax({
url: '/pqs9000/area/getMapInfo',
type: 'post',
data: {
area: "overview"
},
async: false,
dataType: 'json',
success: function (data) {
pNode = data.body.name;
node = data.body.subName;
}
})
if (volData == null) {
//获取地图数据
var geoJson = getFullMapData(pNode, node);
d = [];
//注册地图
echarts.registerMap('电能质量', geoJson);
//绘制地图
renderMapEvent(d);
} else {
if (volData.length > 1) {
//获取地图数据
var geoJson = getFullMapData(pNode, node);
var d = [];
for (var i = 0; i < volData.length; i++) {
//根据level获取等级颜色
var color = getColorByLevelAllData(volData[i].level);
var dataTemp;
if (volData[i].data === 3.1415) {
dataTemp = "/";
} else if (volData[i].data === 3.14159) {
dataTemp = "(暂无数据)";
} else {
dataTemp = volData[i].data
}
d.push({
name: volData[i].name,
value: dataTemp,
emphasis: {itemStyle: {areaColor: color, borderColor: "white", borderWidth: "1"}}
})
}
//注册地图
echarts.registerMap('电能质量', geoJson);
//绘制地图
renderMapEvent(d);
} else {
var d = [];
var dataTemp;
var color = getColorByLevelAllData(volData[0].level);
if (volData[0].data === 3.1415) {
dataTemp = "/";
} else if (volData[0].data === 3.14159) {
dataTemp = "(暂无数据)";
} else {
dataTemp = volData[0].data
}
//获取地图数据
var data = getFullMapData(pNode, node);
if (data !== null) {
d.push({
name: volData[0].name,
value: dataTemp,
emphasis: {itemStyle: {areaColor: color, borderColor: "white", borderWidth: "1"}}
});
//注册地图
echarts.registerMap('电能质量', data);
//绘制地图
renderMapEvent(d);
}
}
}
}
//初始化绘制全国地图配置
function renderMapEvent(data) {
var optionEvent={
backgroundColor: canvasBG,
title: {
text: '电能质量评估',
left: 'center'
},
animationDuration: 1000,
animationEasing: 'cubicOut',
animationDurationUpdate: 1000,
tooltip:{
trigger: 'item',
// formatter: '{b}<br/>{c} (p / km2)',
show:false
},
visualMap:{
type: 'piecewise',
pieces: [
{gt: 4.5, lte: 5, label: '优质'},
{gt: 4, lte: 4.5, label: '良好'},
{gt: 3, lte: 4, label: '合格'},
{gt: 2, lte: 3, label: '较差'},
{gte: 0, lte: 2, label: '极差'}
],
show:false,
color: [green, yellow, red],
inverse: false
} ,
series:{
type: 'map',
mapType: '电能质量',
roam: false,
label: {
normal: {
show: true,
textStyle: {
ccolor: 'black',
fontSize: 10
}
},
emphasis: {
show: true,
textStyle: {
color: '#fff',
fontSize: 10
}
}
},
itemStyle: {
normal: {
areaColor: '#CCCCCC',
borderColor: 'dodgerblue'
},
emphasis: {
areaColor: '#B6B5B5'
}
},
data: data
}
}
//渲染地图
mapEvent.setOption(optionEvent);
}
//绑定点击跳转
$('ul').on('click', '.item1 .item-content', function () {
var id = $(this).prop("id");
var title = $(this).attr("titles");
if (id !== '') {
var info = '';
if (id === 'onlinerate') {
info = getTitleInfo("在线率", startTime, endTime, "在线率");
} else if (id === "dataintegrality") {
info = getTitleInfo("完整性", startTime, endTime, "数据完整性");
} else if (id === "frequency") {
info = getTitleInfo("合格率", startTime, endTime, "全部");
} else if (id === "powerquality") {
info = getTitleInfo("综合评估", startTime, endTime, "综合评估");
}else if(id==="devicestatus"){
info = getTitleInfo("终端状态", startTime, endTime, "终端状态");
}
onContent(id, title + info);
}
});
});
//画终端状态缩略图
function drawDeviceStatusPic(area, intervals) {
//给div指定宽高
$("#devicestatus").css("height", $("li").height())
$("#devicestatus").css("width", $("li").width())
var normal = [];
var breaks = [];
var shutdown = [];
var areas = [];
var rate=[];
if (null != area) {
area = area.slice(0, 8);
for (var i = 0; i < area.length; i++) {
areas[i] = area[i].name + "\n(" + area[i].amounts + ")";
var monitors = area[i].amounts;
if (Number(monitors) === 0) {
var singleData = {};
var item = {};
singleData.value = 3.1415;
item.color = noMonitor;
singleData.itemStyle = item;
normal[i] = singleData;
rate[i] = singleData;
breaks[i] = 0;
shutdown[i] = 0;
} else {
var itemStyle={};
normal[i] = area[i].status.normal;
breaks[i] = area[i].status.breaks;
shutdown[i] = area[i].status.shutdown;
var singleData={};
var normalData={};
var onlineRate = Number(area[i].online);
normalData.color = getColor(onlineRate);
if(onlineRate<3.1414){
singleData.value = 3.1415;
normalData.actual = onlineRate;
}else{
singleData.value = onlineRate;
}
itemStyle.normal=normalData;
singleData.itemStyle=itemStyle;
rate[i]=singleData;
}
}
}
var option = {
backgroundColor: canvasBG,//背景色
title: {
text: '终端状态',
x: 'center'
},
color: [runColor, breaksColor, grey],
//控制图标在dataroom中的位置大小
grid: {
left: '3%',
right: '11%',
bottom: '3%',
containLabel: true
},
xAxis: [{
type: 'category',
data: areas,
name: '地区\n(终端个数)',
splitLine: {
show: false
},
axisLabel: {
show: true,
interval: intervals
}
}],
yAxis: [{
type: 'value',
name: '%',
nameLocation:'center',
min: '0',
max: '100'
}],
series: [{
name: '投运',
type: 'bar',
stack: 'sum',
barMaxWidth: barMax,
data: normal
}, {
name: '热备用',
type: 'bar',
stack: 'sum',
barMaxWidth: barMax,
data: breaks
}, {
name: '停运',
type: 'bar',
stack: 'sum',
barMaxWidth: barMax,
data: shutdown
},{
name: '在线率',
type: 'bar',
barGap: 0,
barMaxWidth: barMax,
data: rate
}]
};
var district = echarts.init(document.getElementById('devicestatus'));
district.setOption(option);
}
//裝置在线率缩略图
function drawOnlineRatePic(area, intervals) {
$("#onlinerate").css("height", $("li").height())
$("#onlinerate").css("width", $("li").width())
var onlinerate = echarts.init($("#onlinerate")[0]);
var rate = [];
var areas = [];
if (null != area) {
area = area.slice(0, 8);
for (var i = 0; i < area.length; i++) {
areas[i] = area[i].name + "\n(" + area[i].amounts + ")";
var onlineRate = Number(area[i].online);
var singleData = {};
var item = {};
item.color = getColor(onlineRate);
if (onlineRate === 3.1415) {
singleData.value = onlineRate;
} else if (onlineRate === 3.14159) {
singleData.value = onlineRate;
} else if (onlineRate < 3.15159) {
singleData.value = 3.1415;
item.actual = onlineRate;
} else {
singleData.value = onlineRate;
}
singleData.itemStyle = item;
rate[i] = singleData;
}
}
var option = {
backgroundColor: canvasBG,//背景色
title: {
text: '终端在线率',
x: 'center'
},
//控制图标在dataroom中的位置大小
grid: {
left: '3%',
right: '11%',
bottom: '3%',
containLabel: true
},
xAxis: [{
type: 'category',
data: areas,
name: '地区\n(监测点数)',
splitLine: {
show: false
},
axisLabel: {
show: true,
interval: intervals
}
}],
yAxis: [{
type: 'value',
name: '%',
min: '0',
max: '100'
}],
series: [{
name: '在线率',
type: 'bar',
barMaxWidth: barMax,
data: rate
}]
};
onlinerate.setOption(option);
}
//数据完整性缩率图
function drawIntegralityPic(area, intervals) {
//给div指定宽高
$("#dataintegrality").css("height", $("li").height())
$("#dataintegrality").css("width", $("li").width())
var integrality = echarts.init($("#dataintegrality")[0]);
var inte = [];
var areas = [];
if (null != area) {
area = area.slice(0, 8);
for (var i = 0; i < area.length; i++) {
var integralityRate;
areas[i] = area[i].name + "\n(" + area[i].amounts + ")";
integralityRate = Number(area[i].dataIntegrity);
var singleData = {};
var item = {};
item.color = getColor(integralityRate);
if (integralityRate === 3.1415) {
singleData.value = integralityRate;
} else if (integralityRate === 3.14159) {
singleData.value = integralityRate;
} else if (integralityRate < 3.15159) {
singleData.value = 3.1415;
item.actual = integralityRate;
} else {
singleData.value = integralityRate;
}
singleData.itemStyle = item;
inte[i] = singleData;
}
}
var option = {
backgroundColor: canvasBG,//背景色
title: {
text: '数据完整性',
x: 'center'
},
//控制图标在dataroom中的位置大小
grid: {
left: '3%',
right: '11%',
bottom: '3%',
containLabel: true
},
xAxis: [{
type: 'category',
data: areas,
name: '地区\n(监测点数)',
splitLine: {
show: false
},
axisLabel: {
show: true,
interval: intervals
}
}],
yAxis: [{
type: 'value',
name: '%',
nameLocation:'center',
min: '0',
max: '100'
}],
series: [{
name: '完整性',
type: 'bar',
barMaxWidth: barMax,
data: inte
}]
};
integrality.setOption(option);
};
//稳态指标合格率
function drawFrequencyDeviationPic(area, intervals) {
//给div指定宽高
$("#frequency").css("height", $("li").height());
$("#frequency").css("width", $("li").width());
var frequency = echarts.init($("#frequency")[0]);
var freRate = [];
var areas = [];
if (null != area) {
area = area.slice(0, 8);
for (var i = 0; i < area.length; i++) {
areas[i] = area[i].name + "\n(" + area[i].monitors + ")";
var acceptabilityRate = Number(area[i].frequency);
var singleData = {};
var item = {};
item.color = getColor(acceptabilityRate);
if (acceptabilityRate === 3.1415) {
singleData.value = acceptabilityRate;
} else if (acceptabilityRate === 3.14159) {
singleData.value = acceptabilityRate;
} else if (acceptabilityRate < 3.15159) {
singleData.value = 3.1415;
item.actual = acceptabilityRate;
} else {
singleData.value = acceptabilityRate;
}
singleData.itemStyle = item;
freRate[i] = singleData;
}
}
var option = {
backgroundColor: canvasBG,//背景色
title: {
text: '稳态指标合格率',
x: 'center'
},
//控制图标在dataroom中的位置大小
grid: {
left: '3%',
right: '11%',
bottom: '3%',
containLabel: true
},
xAxis: [{
type: 'category',
data: areas,
name: '地区\n(监测点数)',
splitLine: {
show: false
},
axisLabel: {
show: true,
interval: intervals
}
}],
yAxis: [{
type: 'value',
name: '%',
nameLocation:'center',
min: '0',
max: '100'
}],
series: [{
name: '频率偏差合格率',
type: 'bar',
barMaxWidth: barMax,
data: freRate
}]
};
frequency.setOption(option);
}
//根据跳转页面
function onContent(id, title) {
layer.open({
id: 'overview',
type: 2,
title: title,
maxmin: false,
resize: false,
shadeClose: true, //点击遮罩关闭层
area: ['100%', '100%'],
content: id,
scrollbar: false
});
}
//获取layer打开新页面后在标题添加内容并向右浮动
function getTitleInfo(name, startTime, endTime, target) {
startTime = startTime.replace(/-/g, '/');
endTime = endTime.replace(/-/g, '/');
if (name === "综合评估") {
return "<span style='color:red;cursor:pointer;margin-right: 5px' class='fr fontBold font12' onMouseOver='divdangerMouseOver()' onMouseOut='divdangerMouseOut()' >详细电能质量评估等级划分</span><span class='fr font25'>&nbsp;&nbsp;|&nbsp;&nbsp; </span><span class='fr font12' ></span><span class='fr font12'>&nbsp;&nbsp;统计指标:<span class='fontBold' id='target' >" + target + "</span></span><span class='fr font12'>统计时间:<span class='fontBold' >" + startTime + "-" + endTime + "</span></span>";
}else if(name === "终端状态"){
return "<span class='fr font12 fontBold' > 终端在线率(右柱) <span class='info'><span class='inB bg-info smallBlock'></span> 在线率≥90%</span><span class='warn''> " +
"<span class='inB bg-warn smallBlock'></span>" +
" 60%≤在线率<90% </span><span class='error'> <span class='inB bg-error smallBlock'></span> 在线率" +
"<60%</span> </span><span class='fr font12 fontBold'>终端状态(左柱) <span class='run'><span class='inB bg-run smallBlock'></span> 投运 </span><span class='breaks'><span class='inB bg-breaks smallBlock'></span> 热备用 </span><span class='grey'><span class='inB bg-grey smallBlock'></span> 停运 &nbsp;</span></span><span class='fr font12 '><span class='fontBold'>统计时间:</span><span class='' >" + startTime + "-" + endTime + "&nbsp;</span></span>";
} else {
return "<span class='fr font12' ><span class='info'><span class='inB bg-info smallBlock'></span> "
+ name + "≥90%</span><span class='warn''> <span class='inB bg-warn smallBlock'></span> 60%≤"
+ name + "<90% </span><span class='error'> <span class='inB bg-error smallBlock'></span> "
+ name + "<60%</span></span><span class='fr font25'>&nbsp;&nbsp;|&nbsp;&nbsp; </span><span class='fr font12'>&nbsp;&nbsp;统计指标:<span class='fontBold' id='target' style='cursor:pointer' >" + target + "</span></span><span class='fr font12'>统计时间:<span class='fontBold' >" + startTime + "-" + endTime + "</span></span>";
}
}
function divdangerMouseOver() {
var frameId = document.getElementById('overview').getElementsByTagName("iframe")[0].id;
$('#' + frameId)[0].contentWindow.divdangerMouseOver();
}
function divdangerMouseOut() {
var frameId = document.getElementById('overview').getElementsByTagName("iframe")[0].id;
$('#' + frameId)[0].contentWindow.divdangerMouseOut();
}
//根据合格率获取颜色
function getColor(data) {
if (data >= 90) {
return green;
} else if (data === 3.1415) {
return noMonitor;
} else if (data === 3.14159) {
return noData;
} else if (data < 60) {
return red;
} else {
return yellow;
}
}
var it = null;
function startQuery() {
//实时刷新时间单位为毫秒
it = setInterval('refreshQuery()', 100);
}
/* 刷新查询 */
function refreshQuery() {
if (load === total) {
ityzl_CLOSE_LOAD_LAYER(loadingItem);
window.clearInterval(it)
}
}
</script>
</body>
</html>

View File

@@ -0,0 +1,163 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags"%>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>电能质量评估</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css" >
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/tip.css">
<style>
html,body{
background-color: #F9F9F9 !important;
overflow: hidden;
}
ul{
padding: 0 2px;
border: 1px solid #696969;
border-radius: 4px;
}
#tipTable,#tipTableAll{
font-size:10px !important;
}
#tipTable td,#tipTableAll td{
padding: 2px !important;
vertical-align: center !important;
}
#tips,#tipsAll{
display: none;
position: absolute;
top:0px;
right: 0px;
z-index: 999;
background-color: #F9F9F9;
}
</style>
</head>
<body>
<%--绝对定位的提示--%>
<div id="tips">
<table id="tipTable" class="table table-striped table-bordered dataTable no-footer">
<thead>
<tr>
<td>电能指标评估</td>
<td>特质</td>
<td>优质</td>
<td>优良</td>
<td>良好</td>
<td>轻度污染</td>
<td>中度污染</td>
<td>重度污染</td>
<td>极度污染</td>
</tr>
</thead>
</table>
</div>
<div id="tipsAll">
<table id="tipTableAll" class="table table-striped table-bordered dataTable no-footer">
<thead>
<tr>
<td>电能指标评估</td>
<td>极差</td>
<td>较差</td>
<td>合格</td>
<td>良好</td>
<td>优质</td>
</tr>
</thead>
</table>
</div>
<%--<div id="message">aaa</div>--%>
<div class="container-fluid">
<ul class="nav nav-pills nav-justified mt10" id="qualifiedTab">
<li class="active"><a href="#frequency" data-toggle="tab" id="allData">综合评估</a></li>
<li ><a href="#frequency" data-toggle="tab" id="vuDev">电压偏差</a></li>
<li ><a href="#frequency" data-toggle="tab" id="frequencyDeviation">频率偏差</a></li>
<li ><a href="#frequency" data-toggle="tab" id="vthd">谐波含量</a></li>
<li ><a href="#frequency" data-toggle="tab" id="vplt">电压闪变</a></li>
<li ><a href="#frequency" data-toggle="tab" id="vUnbalance">三相电压不平衡度</a></li>
</ul>
<div class="row">
<div class="tab-content">
<div class="tab-pane active" id="frequency">
<%--区域模块--%>
<div class="col-sm-5 col-md-5" id="map"></div>
<div style="position: relative">
<button id="helper" type="button" style="z-index: 999;position: absolute;top: 2px;left:25%;" class="btn tip tip-bottom" data-tip="综合评估详解">
<i class="glyphicon glyphicon-info-sign" style="margin-left: -3px;margin-right: -3px;"></i>
</button>
</div>
<div class="col-sm-7 col-md-7" >
<div class="col-sm-12 col-md-12" id="bar"></div>
<div class="col-sm-12 col-md-12" id="table">
<table id="areaTable" class="table table-striped table-bordered dataTable no-footer">
<thead>
<tr>
<th>区域</th>
<th id="norm">电压偏差</th>
<th>等级</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/echarts/echarts.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/jspJS/utils/getTime.js"></script>
<script src="${ctx}/jspJS/area/powerCommon.js"></script>
<script src="${ctx}/js/color.js"></script>
<script src="${ctx}/js/mapCommon.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/barUtil.js"></script>
<script src="${ctx}/jspJS/overview/powerQuality.js"></script>
<script src="${ctx}/jspJS/utils/helper.js"></script>
<script>
$("#helper").click(function (){
toHelper("#zhpg");
});
//点击ul切换页面表格数据
$("#qualifiedTab a").on('click',function () {
var html=$(this).html();
parent.$("#target").text(html);
//执行查询操作并画图
var urlPart=$(this).prop("id");
if(urlPart==="vuDev"){
$("#helper").css("display", "none");
}else if (urlPart==="frequencyDeviation"){
$("#helper").css("display", "none");
}else if (urlPart==="vthd"){
$("#helper").css("display", "none");
}else if (urlPart==="vplt"){
$("#helper").css("display", "none");
}else if (urlPart==="vUnbalance"){
$("#helper").css("display", "none");
}else if(urlPart==="allData"){
$("#helper").css("display", "");
}
})
</script>
</body>
</html>

View File

@@ -0,0 +1,126 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags"%>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<title>查询指定监测点的数据完整性</title>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css" >
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
.table>tbody>tr>td,
.table>tbody>tr>th,
.table>tfoot>tr>td,
.table>tfoot>tr>th,
.table>thead>tr>td,
.table>thead>tr>th{
padding:3px
}
</style>
</head>
<body>
<div class="container-fluid">
<table id="content" class="width100 table table-striped table-bordered" cellspacing="0">
<thead>
<tr>
<th>供电公司</th>
<th>变电站</th>
<th>终端</th>
<th>终端IP</th>
<th>监测点</th>
<th>完整性</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script>
var startTime,endTime,gist,type;
$(function () {
startTime=parent.$("#startTime").val();
endTime=parent.$("#endTime").val();
gist=parent.$("#gist").val();
gist=gist.replace(/(^\s*)|(\s*$)/g, '');
type=parent.$("#type").val();
switch (type){
case'city':
executeQuery(type+"Integrality");
break;
case'voltage':
executeQuery(type+"Integrality");
break;
case'company':
executeQuery(type+"Integrality");
break;
}
})
//执行查询
function executeQuery(name) {
var i;
$.ajax({
url:"/pqs9000/overview/"+name,
type:'post',
data:{
startTime:startTime,
endTime:endTime,
gist:gist
},
dataType:'json',
beforeSend: function () {
i = ityzl_SHOW_LOAD_LAYER();
},
success:function (data) {
//画表格
if(data.body===null){
initTable(null)
}else{
initTable(data.body)
}
//***********关闭loading
ityzl_CLOSE_LOAD_LAYER(i);
}
})
}
// 执行表格数据添加
function initTable(data){
$('#content').DataTable({
data:data,
order:[],
columnDefs:[
{target:0,orderable:false}
],
info:false,
paging:false,
searching:false,
lengthChange:false,
columns:[
{data:'gdName'},
{data:'subName'},
{data:'devName'},
{data:'ip'},
{data:'name'},
{data:'integrality'}
],
language : {
url:'/pqs9000/json/chine.json'
}
});
}
</script>
</body>
</html>

View File

@@ -0,0 +1,126 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags"%>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<title>查询指定终端在线率</title>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css" >
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style>
.table>tbody>tr>td,
.table>tbody>tr>th,
.table>tfoot>tr>td,
.table>tfoot>tr>th,
.table>thead>tr>td,
.table>thead>tr>th{
padding:3px
}
</style>
</head>
<body>
<div class="container-fluid">
<table id="content" class="width100 table table-striped table-bordered" cellspacing="0">
<thead>
<tr>
<th>供电公司</th>
<th>变电站</th>
<th>终端</th>
<th>终端IP</th>
<th>在线率(%)</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script>
var startTime,endTime,gist,type;
$(function () {
startTime=parent.$("#startTime").val();
endTime=parent.$("#endTime").val();
gist=parent.$("#gist").val();
gist=gist.replace(/(^\s*)|(\s*$)/g, '');
type=parent.$("#type").val();
switch (type){
case'city':
executeQuery(type+"OnlineRate");
break;
case'voltage':
executeQuery(type+"OnlineRate");
break;
case'company':
executeQuery(type+"OnlineRate");
break;
}
})
//执行查询
function executeQuery(name) {
var i;
$.ajax({
url:"/pqs9000/overview/"+name,
type:'post',
data:{
startTime:startTime,
endTime:endTime,
gist:gist
},
dataType:'json',
beforeSend: function () {
i = ityzl_SHOW_LOAD_LAYER();
},
success:function (data) {
//画表格
if(data.body===null){
initTable(null)
}else{
initTable(data.body)
}
//***********关闭loading
ityzl_CLOSE_LOAD_LAYER(i);
}
})
}
// 执行表格数据添加
function initTable(data){
$('#content').DataTable({
data:data,
order:[],
columnDefs:[
{target:0,orderable:false}
],
info:false,
paging:false,
searching:false,
lengthChange:false,
columns:[
{data:'gdName'},
{data:'subName'},
{data:'name'},
{data:'ip'},
{data:'onlineRate'}
],
language : {
url:'/pqs9000/json/chine.json'
}
});
}
</script>
</body>
</html>

View File

@@ -0,0 +1,805 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>Excel报表</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/js/plugin/layui/css/layui.css">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrapSwitch/bootstrap-switch.min.css">
<link rel="stylesheet" href="${ctx}/js/plugin/dateRangePicker/daterangepicker.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style type="text/css">
body {
overflow: hidden;
}
.layui-left {
float: left;
}
.form-control {
padding: 4px 12px;
}
.self-style {
margin: 9px;
position: absolute;
left: 280px;
top: 40px;
bottom: 0;
z-index: 1;
}
table {
border-collapse: collapse;
border-spacing: 0;
text-align: left;
}
.table-condensed > thead > tr > th,
.table-condensed > tbody > tr > th,
.table-condensed > tfoot > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > td {
padding: 0px !important;
}
td {
white-space: nowrap;
padding: 1px !important
}
.redColor {
color: red;
}
.styleFixd {
table-layout:fixed;
}
.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-off, .bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-on, .bootstrap-switch.bootstrap-switch-small .bootstrap-switch-label{
padding: 1px 6px;
font-size: 12px;
line-height: 18px;
}
</style>
</head>
<body>
<%--终端树区域--%>
<%@include file="../include/deviceTree.jsp" %>
<%--Tab选项卡区域--%>
<div class="layui-left layui-tab self-style">
<ul class="layui-tab-title" style="box-sizing:content-box;!important">
<li class="layui-this" id="myLi" style="font-size: 12px;">非谐波</li>
<li style="font-size: 12px;">谐波电压</li>
<li style="font-size: 12px;">谐波电流</li>
<li style="font-size: 12px;">合格率</li>
</ul>
<div id="myTab" class="layui-tab-content" style="padding: 5px;overflow: auto;height: 100%;">
<div class="layui-tab-item layui-show">
<div id="pointInfo"></div>
<div id="voltage"></div>
<div id="power"></div>
<div id="flicker"></div>
<idv id="distortion"></idv>
<div id="vdeviation"></div>
<div id="frequency"></div>
<div id="threephase"></div>
</div>
<div class="layui-tab-item">
<div id="vPointInfo"></div>
<div id="voltageRate">
</div>
</div>
<div class="layui-tab-item">
<div id="iPointInfo"></div>
<div id="icurrent"></div>
</div>
<div class="layui-tab-item">
<div id="fpyPointInfo"></div>
<div id="fpy"></div>
</div>
</div>
</div>
<%--时间区域--%>
<form class="form-inline header" style="margin-top: 2px;position: absolute;z-index: 99;width: calc(100% - 280px);height: 50px;right: 0;text-align: right">
<label class="form-group">时间间隔:</label>
<div class="form-group has-feedback">
<select class="form-control" id="interval">
<option value="年份">年份</option>
<option value="季度">季度</option>
<option value="月份">月份</option>
<option value="周">周</option>
<option value="天">天</option>
<option value="自定义">自定义</option>
</select>
</div>
<div class="form-group">
<input type="text" class="form-control form_datetime con"
id="startTime" style="width: 140px">
</div>
&nbsp;—
<div class="form-group">
<input type="text" class="form-control form_datetime con"
id="endTime" style="width: 140px">
</div>
<button type="button" class="njcn btn themeBGColor" id="before">
<i class="glyphicon glyphicon-backward"></i>
</button>
<div class="form-group" id="present">
<button type="button" class="njcn btn themeBGColor">当前</button>
</div>
<button type="button" class="njcn btn themeBGColor" id="next">
<span class="glyphicon glyphicon-forward" aria-hidden="true"></span>
</button>
<div class="form-inline pdr15" style="display: inline-block;">
<label style="font-size: 10px;margin-left: 5px;">模板选择:</label>
<%--value与模板的id绑定--%>
<select class="form-control" id="ploy" style="display: inline;font-size:10px;width:125px;"
onchange="changeEvent(this.value)">
<option value="##">默认模板</option>
</select>
<%--检修时间--%>
<input type="checkbox" id="check"
style="margin-left: 5px;width:16px;height: 16px;margin-bottom: 5px;vertical-align: middle;">
<label style="font-size: 10px;margin-left: 3px;">检修时间</label>
<button type="button" class="btn btn-primary" id="timeSet" disabled="disabled">
<i class='glyphicon glyphicon-cog'>检修时间</i>
</button>
<input style="margin-left: 5px;height: 20px" type="checkbox" checked id="dayOrDate"/>
<%--查询按钮--%>
<button type="button" class="btn btn-primary" style="width: 50px" id="query">
<i class="glyphicon glyphicon-search"></i>
</button>
<%--导出按钮--%>
<button type="button" class="btn btn-primary" id="export">
<i class='glyphicon glyphicon-share'>导出</i>
</button>
</div>
</form>
<%-- bootstrap模态框Modal --%>
<div class="modal fade" id="timeModel" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog" style="width:405px;">
<div class="modal-content" style="width:405px;">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title">检修时间</h4>
</div>
<div class="modal-body" style="width: 405px;">
<div>
<label style="font-weight:normal;font-size: 14px;">时段一:</label>
<div class="layui-input-inline">
<input id="first" placeholder="检修时段一"
style="height: 25px; line-height: 25px; cursor: pointer; border: 1px solid #e2e2e2; width: 310px;"/>
</div>
</div>
<div style="margin-top: 5px;">
<label style="font-weight:normal;font-size: 14px;">时段二:</label>
<div class="layui-input-inline">
<input id="second" placeholder="检修时段二"
style="height: 25px; line-height: 25px; cursor: pointer; border: 1px solid #e2e2e2; width: 310px;"/>
</div>
</div>
<div style="margin-top: 5px;">
<label style="font-weight:normal;font-size: 14px;">时段三:</label>
<div class="layui-input-inline">
<input id="thrid" placeholder="检修时段三"
style="height: 25px; line-height: 25px; cursor: pointer; border: 1px solid #e2e2e2; width: 310px;"/>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" style="font-size: 15px;" class="btn btn-default"
onclick="clearData()">重置
</button>
<button type="button" style="font-size: 15px;" class="btn btn-default"
data-dismiss="modal">
关闭
</button>
</div>
</div>
</div>
</div>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/layui/layui.js"></script>
<script src="${ctx}/js/plugin/xss/xss.js"></script>
<script src="${ctx}/js/plugin/dateRangePicker/moment.min.js"></script>
<script src="${ctx}/js/plugin/bootstrapSwitch/bootstrap-switch.min.js"></script>
<script src="${ctx}/js/plugin/dateRangePicker/daterangepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script>
// 用户切换时间间隔,时间会发生变化
$("#interval").change(function () {
var interval = $(this).val();
judgeInterval(interval)
var endTime = getEndTime();
var startTime = getStartTime(interval, endTime);
$("#startTime").val(startTime);
if(interval !== '自定义'){
let tem = endTime.split("-")
endTime = tem[0]+"-"+tem[1]+"-"+tem[2]
}
$("#endTime").val(endTime);
});
//隐藏前进后退按钮
function judgeInterval(interval) {
if (interval === "自定义") {
$('.form_datetime').datetimepicker({
minView: "0", //选择日期后,不会再跳转去选择时分秒
language: 'zh-CN',
format: 'yyyy-mm-dd hh:ii:ss',
todayBtn: false,//今日按钮
autoclose: 1,
});
$("#present").css("display", "none");
$("#before").css("display", "none");
$("#next").css("display", "none");
$("#startTime").removeProp("disabled");
$("#endTime").removeProp("disabled");
} else {
$('.form_datetime').datetimepicker({
minView: "month", //选择日期后,不会再跳转去选择时分秒
language: 'zh-CN',
format: 'yyyy-mm-dd',
todayBtn: false,//今日按钮
autoclose: 1,
});
$("#present").css("display", "inline-block");
$("#before").css("display", "inline-block");
$("#next").css("display", "inline-block");
$("#startTime").prop("disabled", "true");
$("#endTime").prop("disabled", "true");
}
}
//向前
$("#before").click(function () {
var interval = $("#interval").val();
var startTime = $("#startTime").val();
var endTime = $("#endTime").val();
var year = parseInt(startTime.substring(0, 4));
var month = parseInt(startTime.substring(5, 7));
var date = parseInt(startTime.substring(8, 10));
if (interval == "月份") {
// 换年份
if (month == 1) {
year = year - 1;
startTime = year + "-12-01";
endTime = year + "-12-31";
} else if (month <= 10) {
month = month - 1;
startTime = year + "-0" + month + "-01";
var day = getDays(year, month);
endTime = year + "-0" + month + "-" + day;
} else {
month = month - 1;
startTime = year + "-" + month + "-01";
var day = getDays(year, month);
endTime = year + "-" + month + "-" + day;
}
} else if (interval == "周") {
//根据开始时间推
var start = new Date(year, month - 1, date);
start.setDate(start.getDate() - 7);
startTime = formatTime(start);
var end = new Date(start);
end.setDate(start.getDate() + 6);
endTime = formatTime(end);
} else if (interval == "季度") {
// 换年份
if (month == 1) {
year = year - 1;
startTime = year + "-10-01";
endTime = year + "-12-31";
} else {
// 还是本年
month = month - 3;
startTime = year + "-0" + month + "-01";
month = month + 2;
var day = getDays(year, month);
endTime = year + "-0" + month + "-" + day;
}
} else if (interval == "自定义") {
} else if (interval == "年份") {
year = year - 1;
startTime = year + "-01-01";
endTime = year + "-12-31";
} else if (interval == "半年") {
if (month <= 6) {
year = year - 1;
startTime = year + "-07-01";
endTime = year + "-12-31";
}else{
startTime = year + "-01-01";
endTime = year + "-06-30";
}
}else if(interval == "天"){
var start = new Date(year, month - 1, date);
start.setDate(start.getDate() -1);
startTime = formatTime(start);
var end = new Date(start);
endTime = formatTime(end);
}
$("#startTime").val(startTime);
$("#endTime").val(endTime);
// 判断向后键的状态
var temp = getEndTime();
judgeNext(temp, endTime);
});
// 当前
$("#present").click(function () {
var interval = $("#interval").val();
var endTime = getEndTime();
var startTime = getStartTime(interval, endTime);
$("#startTime").val(startTime);
$("#endTime").val(endTime);
// 判断向后键的状态
var temp = getEndTime();
judgeNext(temp, endTime);
});
// 向后
function back() {
var interval = $("#interval").val();
var startTime = $("#startTime").val();
// 获取年份
var year = parseInt(startTime.substring(0, 4));
// 获取月份
var month = parseInt(startTime.substring(5, 7));
var date = parseInt(startTime.substring(8, 10));
var endTime = $("#endTime").val();
var now = new Date();
// 获取当前年份
var presentY = now.getFullYear();
// 获取当前月份
var presentM = now.getMonth() + 1;
// 获取当前日期
var presentD = now.getDate();
if (interval == "月份") {
if (month == 12) {
year = year + 1;
// 年份进位后,大于当前的年份,是不科学的
if (presentY < year) {
startTime = presentY + "-12-01";
if (presentD < 10) {
endTime = presentY + "-12" + "-0" + presentD;
} else {
endTime = presentY + "-12" + "-" + presentD;
}
// 年份进位后,等于当前的年份
} else if (presentY == year) {
startTime = year + "-01-01";
if (presentM > 1) {
endTime = year + "-01-31";
} else {
if (presentD < 10) {
endTime = year + "-01" + "-0" + presentD;
} else {
endTime = year + "-01" + "-" + presentD;
}
}
// 年份进位后,依旧小于当前的年份
} else {
startTime = year + "-01-01";
endTime = year + "-01-31";
}
} else {
month = month + 1;
// 年份等于当前年份
if (presentY == year) {
// 月份超过当前月份,是不科学的
if (month >= presentM) {
if (presentM < 10) {
startTime = year + "-0" + presentM + "-01";
if (presentD < 10) {
endTime = year + "-0" + presentM + "-0" + presentD;
} else {
endTime = year + "-0" + presentM + "-" + presentD;
}
} else {
startTime = year + "-" + presentM + "-01";
if (presentD < 10) {
endTime = year + "-" + presentM + "-0" + presentD;
} else {
endTime = year + "-" + presentM + "-" + presentD;
}
}
} else {
if (month < 10) {
startTime = year + "-0" + month + "-01";
var day = getDays(year, month);
endTime = year + "-0" + month + "-" + day;
} else {
startTime = year + "-" + month + "-01";
var day = getDays(year, month);
endTime = year + "-" + month + "-" + day;
}
}
// 年份小于当前的年份
} else {
if (month < 10) {
startTime = year + "-0" + month + "-01";
var day = getDays(year, month);
endTime = year + "-0" + month + "-" + day;
} else {
startTime = year + "-" + month + "-01";
var day = getDays(year, month);
endTime = year + "-" + month + "-" + day;
}
}
}
} else if (interval == "季度") {
// 前进需要年份进位
if (month == 10) {
year = year + 1;
// 年份进位后大于当前年份是不科学的
if (year > presentY) {
startTime = presentY + "-10-01";
if (presentD < 10) {
endTime = year + "-" + presentM + "-0" + presentD;
} else {
endTime = year + "-" + presentM + "-" + presentD;
}
} else if (year == presentY) {
startTime = year + "-01-01";
// 当前月份大约3月份
if (presentM > 3) {
endTime = year + "-03-31";
} else {
// 当前月份也在第一季度里
if (presentD < 10) {
endTime = year + "-0" + presentM + "-0" + presentD;
} else {
endTime = year + "-0" + presentM + "-" + presentD;
}
}
} else {
startTime = year + "-01-01";
endTime = year + "-03-31";
}
} else {
month = month + 3;
// 季度进位后,超过当前月份是不科学的
if (year == presentY) {
if (month >= presentM) {
// 当季度进位后大于当前月,以当前月的时间显示季度
if (presentM > 0 && presentM < 4) {// 第一季度
startTime = year + "-01-01";
if (presentD < 10) {
endTime = year + "-0" + presentM + "-0" + presentD;
} else {
endTime = year + "-0" + presentM + "-" + presentD;
}
} else if (presentM > 3 && presentM < 7) {// 第二季度
startTime = year + "-04-01";
if (presentD < 10) {
endTime = year + "-0" + presentM + "-0" + presentD;
} else {
endTime = year + "-0" + presentM + "-" + presentD;
}
} else if (presentM > 6 && presentM < 10) {// 第三季度
startTime = year + "-07-01";
if (presentD < 10) {
endTime = year + "-0" + presentM + "-0" + presentD;
} else {
endTime = year + "-0" + presentM + "-" + presentD;
}
} else {// 第四季度
startTime = year + "-10-01";
if (presentD < 10) {
endTime = year + "-" + presentM + "-0" + presentD;
} else {
endTime = year + "-" + presentM + "-" + presentD;
}
}
} else {
if (month == 10) {
startTime = year + "-" + month + "-01";
} else {
startTime = year + "-0" + month + "-01";
}
month = month + 2;
if (month >= presentM) {
endTime = getEndTime();
;
} else {
var day = getDays(year, month);
endTime = year + "-" + month + "-" + day;
}
}
} else {
if (month == 10) {
startTime = year + "-" + month + "-01";
month = month + 2;
var day = getDays(year, month);
endTime = year + "-" + month + "-" + day;
} else {
startTime = year + "-0" + month + "-01";
month = month + 2;
var day = getDays(year, month);
endTime = year + "-0" + month + "-" + day;
}
}
}
} else if (interval == "自定义") {
} else if (interval == "周") {
//根据开始时间推
var start = new Date(year, month - 1, date);
start.setDate(start.getDate() + 7);
startTime = formatTime(start);
var end = new Date(start);
end.setDate(start.getDate() + 6);
endTime = formatTime(end);
if (parseInt((end - new Date()) / 1000 / 60) > 24) { //相差小时大于24小时即超过当天置为当天日期
endTime = formatTime(new Date());
}
} else if (interval == "年份") {
year = year + 1;
// 年份进位后大于当前年份,是不科学的
if (year >= presentY) {
startTime = presentY + "-01-01";
if (presentM < 10) {
if (presentD < 10) {
endTime = presentY + "-0" + presentM + "-0" + presentD;
} else {
endTime = presentY + "-0" + presentM + "-" + presentD;
}
} else {
endTime = presentY + "-" + presentM + "-" + presentD;
}
} else {
startTime = year + "-01-01";
endTime = year + "-12-31";
}
} else if (interval == "半年") {
// 前进需要年份进位
if (month > 6) {
year = year + 1;
// 年份进位后大于当前年份是不科学的
if (year >= presentY) {
startTime = presentY + "-01-01";
if(presentM > 6){
endTime = year + "-06-30";
}else{
if (presentD < 10) {
endTime = year + "-" + presentM + "-0" + presentD;
} else {
endTime = year + "-" + presentM + "-" + presentD;
}
}
} else {
startTime = year + "-01-01";
endTime = year + "-06-30";
}
} else {
if (year == presentY) {
startTime = presentY + "-07-01";
// 进位后大于当前月,以当前月的时间显示
if (presentM < 10) {
if (presentD < 10) {
endTime = year + "-0" + presentM + "-0" + presentD;
} else {
endTime = year + "-0" + presentM + "-" + presentD;
}
}else{
if (presentD < 10) {
endTime = year + "-" + presentM + "-0" + presentD;
} else {
endTime = year + "-" + presentM + "-" + presentD;
}
}
} else {
startTime = year + "-07-01";
endTime = year + "-12-31";
}
}
}else if(interval == "天"){
var start = new Date(year, month - 1, date);
start.setDate(start.getDate() + 1);
startTime = formatTime(start);
var end = new Date(start);
endTime = formatTime(end);
}
// 判断向后键的状态
var temp = getEndTime();
judgeNext(temp, endTime);
$("#startTime").val(startTime);
$("#endTime").val(endTime);
}
$("#next").click(function () {
back();
});
// 判断next按钮的状态
function judgeNext(temp, endTime) {
if (temp == endTime) {
$("#next").attr("class", "njcn btn");
$("#next").unbind();
} else {
restoreNext();
}
}
// 恢复向后键的所有时间点击事件、button变化事件
function restoreNext() {
var $events = $._data($("#next")[0], "events");
if ($events && $events["click"]) {
} else {
$("#next").attr("class", "njcn btn btn-primary");
$("#next").bind("click", function () {
back();
})
}
if ($events && $events["mouseover"]) {
} else {
$("#next").bind("mouseover", function () {
$(this).attr("class", "njcn btn");
})
}
if ($events && $events["mouseout"]) {
} else {
$("#next").bind("mouseout", function () {
$(this).attr("class", "njcn btn btn-primary");
})
}
}
// 获取月份的天数
function getDays(year, month) {
var max = new Date(year, month, 0).getDate();
return max;
}
// 时间格式化
function formatTime(time) {
return time.getFullYear() + '-' + ((time.getMonth() + 1) < 10 ? '0' : '') + (time.getMonth() + 1) + '-' + (time.getDate() < 10 ? '0' : '') + time.getDate();
}
$(function () {
var interval = $("#interval").val();
var endTime = getEndTime();
var startTime = getStartTime(interval, endTime);
$("#startTime").val(startTime);
$("#endTime").val(endTime);
$("#next").attr("class", "njcn btn");
$("#next").unbind();
// 除了自定义其他时间间隔用户可以选择日期
if (interval === "自定义") {
$("#present").css("display", "none");
$("#before").css("display", "none");
$("#next").css("display", "none");
$("#startTime").removeProp("disabled");
$("#endTime").removeProp("disabled");
} else {
$("#present").css("display", "inline-block");
$("#before").css("display", "inline-block");
$("#next").css("display", "inline-block");
$("#startTime").prop("disabled", "true");
$("#endTime").prop("disabled", "true");
}
});
// 获取当前日期,精确到日
function getEndTime() {
var now = new Date();
var sep = "-";
var year = now.getFullYear();
var month = now.getMonth() + 1;
if (month < 10) {
month = "0" + month;
}
var date = now.getDate();
if (date < 10) {
date = "0" + date;
}
// 拼接当前的日期
var endTime = year + sep + month + sep + date;
return endTime;
}
// 获取起始日期
function getStartTime(interval, endTime) {
var now = new Date();
var sep = "-";
var arr = endTime.split("-");
var year = arr[0];
var month = arr[1];
var date = arr[2];
// 按月份间隔
if (interval == "月份") {
date = "01";
// 按季度间隔
} else if (interval == "季度") {
if (month > 0 & month < 4) {// 第一季度
month = "01";
date = "01";
} else if (month > 3 && month < 7) {// 第二季度
month = "04";
date = "01";
} else if (month > 6 && month < 10) {// 第三季度
month = "07";
date = "01";
} else {// 第四季度
month = 10;
date = "01";
}
} else if (interval == "年份") {
month = "01";
date = "01";
} else if (interval == "半年") {
if (month < 7){
month = "01";
date = "01";
}else{
month = "07";
date = "01";
}
} else if (interval == '周') {
var start = new Date(year, month - 1, date);
var dayOfWeek = (start.getDay() == 0) ? 7 : start.getDay(); // 如果为周日则置为7天
start.setDate(start.getDate() - dayOfWeek + 1);// 计算开始时间
if (formatTime(new Date()) != endTime) { // 如果结束时间不是当前时间
var end = new Date(start);
end.setDate(end.getDate() + 6);
$("#endTime").val(formatTime(end));
}
return formatTime(start);
}else if(interval == '天'){
var start = new Date(year, month - 1, date);
return formatTime(start);
}
var startTime = year + sep + month + sep + date;
return startTime;
}
</script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/jspJS/report/excel.js"></script>
</body>
</html>

View File

@@ -0,0 +1,281 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>生成报告</title>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet"
href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/js/plugin/layui/css/layui.css">
<link rel="stylesheet"
href="${ctx}/js/plugin/dateRangePicker/daterangepicker.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style type="text/css">
html {
overflow: hidden;
}
.layui-left {
float: left;
}
.self-style {
margin: 0px;
position: absolute;
left: 280px;
top: 25px;
bottom: 0;
z-index: 1;
}
.width1 {
width: 85px;
!
important
}
.width2 {
width: 140px;
!
important
}
.form-control {
height: 26px;
!important
}
</style>
</head>
<body class="bg-white">
<%@include file="../include/deviceTree.jsp" %>
<%--Tab选项卡区域--%>
<div class="layui-left layui-tab self-style pd10">
<table class="table" id="device" frame="border" rules="groups">
<tr>
<td align="right" class="width1">一次接线图:</td>
<td align="left" class="width2">
<form class="form-inline ml12"
enctype="multipart/form-data" id="uploadForm">
<input type="file" name="file" id="inputfile">
</form>
</td>
<td align="left">
<button type="button" id="importimg"
class="btn themeBGColor">上传
</button>
</td>
</tr>
<tr>
<td align="right" class="width1">报告编号:</td>
<td align="left" class="width2"><input type="text"
name="reportNumber" id="reportNumber"></td>
<td></td>
</tr>
<tr>
<td align="right" class="width1">客户名称:</td>
<td align="left" class="width2"><input type="text"
name="crmName" id="crmName"></td>
<td></td>
</tr>
<tr>
<td align="right" class="width1"></td>
<td align="left" class="width2">
<button type="button"
id="exportWord" class="btn themeBGColor">生成
</button>
</td>
<td></td>
</tr>
</table>
</div>
<%--时间区域--%>
<form class="form-inline header"
style="float: left; margin-top: 2px; position: relative; z-index: 99">
<%@include file="../include/time.jsp" %>
</form>
<input type="hidden" id="imgFlag" value="0">
<input type="hidden" id="lineIndex" name="lineIndex">
<input type="hidden" id="lineName" name="lineName">
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/layui/layui.js"></script>
<script src="${ctx}/js/plugin/dateRangePicker/moment.min.js"></script>
<script src="${ctx}/js/plugin/dateRangePicker/daterangepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script
src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script type="text/javascript">
$("#importimg").click(
function () {
var i;
var uploadEventFile = $("#inputfile").val();
/**
* xuyang
* 前端对所选文件的大小做个简单判断
*/
var uploadFile = document.getElementById("inputfile").files;
//文件大小
var size = uploadFile[0].size;
//判断文件大小
if (Math.floor(size/1024) <= 3072){
if (uploadEventFile == '') {
layer.msg("请选择图片!", {
icon: 5,
time: 2000
}, function () {
layer.closeAll()
});
} else if (uploadEventFile.toLowerCase().lastIndexOf(".jpg") < 0
&& uploadEventFile.toLowerCase().lastIndexOf(".png") < 0) {
layer.msg("只能上传图片文件", {
icon: 5,
time: 2000
}, function () {
layer.closeAll()
});
} else {
layer.confirm('确定上传?', function (index) {
var formData = new FormData($('#uploadForm')[0]);
$.ajax({
method: "post",
url: "/pqs9000/exportmodel/importImg",
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
success: function (data) {
if (data == "namefail") {
layer.msg("上传失败!请选择图片文件", {
icon: 5,
time: 2000
})
} else if (data == "fail") {
layer.msg("上传失败!请重新选择图片文件", {
icon: 5,
time: 2000
})
} else if (data == "sizefail") {
layer.msg("上传失败,图片大小超过3M!", {
icon: 5,
time: 2000
})
} else {
layer.msg("上传成功!", {
icon: 1,
time: 2000
}, function () {
$("#imgFlag").val("1");
})
}
}
})
})
}
}else {
layer.msg("上传失败,文件大小超过3M!",{icon:5,time:2000},function(){
layer.closeAll()});
}
})
$("#exportWord").click(function () {
var tips, picdefult;
var uploadEventFile = $("#imgFlag").val();
if (uploadEventFile == "0") {
tips = '将使用默认一次接线图,确定生成?';
picdefult = '1';
} else {
tips = '确定生成?';
picdefult = '0';
}
var pointNode = getTreeSelected(2);
var startTime = $("#startTime").val();
var endTime = $("#endTime").val();
var lineIndex = $("#lineIndex").val();
var name = $("#lineName").val();
var reportNumber = $("#reportNumber").val();
var crmName = $("#crmName").val();
if(lineIndex == null || lineIndex == ''){
layer.msg("请选择监测点",{icon:2})
return
}
layer.confirm(tips, function (index) {
var idea;
idea = ityzl_SHOW_LOAD_LAYER();
$.ajax({
method: "post",
url: "/pqs9000/exportmodel/exportModel",
data: {
startTime: startTime,
endTime: endTime,
lineIndex: lineIndex,
name: name,
reportNumber: reportNumber,
crmName: crmName,
picdefault: picdefult
},
dataType: 'text',
async: false,
success: function (data) {
if (data == "pathfail") {
layer.msg("生成失败,模板路径错误!", {
icon: 5,
time: 2000
}, function () {
parent.layer.closeAll()
});
//***********关闭loading
ityzl_CLOSE_LOAD_LAYER(i);
} else if (data == "readerror") {
layer.msg("服务器无法打开WORD模板!", {
icon: 5,
time: 2000
}, function () {
parent.layer.closeAll()
});
//***********关闭loading
ityzl_CLOSE_LOAD_LAYER(i);
} else if (data == "filefail") {
layer.msg("生成失败,上传图片文件有误!", {
icon: 5,
time: 2000
}, function () {
parent.layer.closeAll()
});
//***********关闭loading
ityzl_CLOSE_LOAD_LAYER(i);
} else if (data == "exportworld") {
layer.msg("生成失败,数据有误!", {
icon: 5,
time: 2000
}, function () {
parent.layer.closeAll()
});
//***********关闭loading
ityzl_CLOSE_LOAD_LAYER(i);
} else {
layer.msg("生成成功!", {
icon: 1,
time: 2000
}, function () {
self.location.href = "/pqs9000/exportmodel/downloadModel";
});
}
//***********关闭loading
ityzl_CLOSE_LOAD_LAYER(idea);
}
});
})
})
</script>
</body>
</html>

View File

@@ -0,0 +1,392 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>合格率报告</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/buttons.dataTables.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/css/plugin/ztree/zTreeStyle.css">
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<link rel="stylesheet" href="${ctx}/css/plugin/basicButton.css">
<link rel="stylesheet" href="${ctx}/css/tip.css">
<style>
body {
overflow: hidden;
}
#integritylist {
min-width: 2000px;
}
.tr {
text-align: center;
}
.td {
text-align: center;
height: 48px;
line-height: 48px
}
.table > tbody > tr > td {
padding: 5px;
line-height: 1.42857143;
vertical-align: top;
border-top: 1px solid #ddd;
}
.pagination > li > a, .pagination > li > span {
padding: 6px 12px;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="form-inline header mt10">
<label class="form-group">区域:</label>
<div class="form-group has-feedback mr10">
<div class="disinlineb">
<input id="area" class="form-control" style="width: 140px" readonly>
<i class="fa fa-caret-down areaicon"></i>
<i class="fa fa-caret-up treeUpIcon disnone"
style="color: #C9CBCE;position: absolute;left: 60px;font-size: 18px;z-index: 9999;top: 20px"></i>
<div class=" ztree treeUpDiv disnone " id="areaTree"
style="position: absolute;width: 140px;height: 147px;border: 2px solid #C9CBCE;overflow: auto;top: 32px;background: #fff;z-index: 100;border-radius: 2px">
</div>
</div>
</div>
<%@include file="../include/time.jsp" %>
<button id="query" type="button" class="btn btn-primary ml5">
<i class="glyphicon glyphicon-search"></i>
</button>
<div class="form-group fr mr10" id="fliteData">
<label>筛选数据:</label>
<input type="text" class="form-control" onkeyup="searchResult(this.value)" placeholder="空格分开多条件筛选数据">
</div>
</div>
<table id="integritylist" class="table table-striped table-bordered dataTable no-footer width100">
<thead>
<tr>
<th>序号</th>
<th>变电站</th>
<th>监测点名称</th>
<th>行业类型</th>
<th>分类等级</th>
<th>电压等级</th>
<th>上级变电站</th>
<th>挂接线路</th>
<th>PT变比</th>
<th>CT变比</th>
<th>短路容量(MVA)</th>
<th>设备容量(MVA)</th>
<th>协议容量(MVA)</th>
<th>数据完整率</th>
<th>谐波情况</th>
<th>电能质量情况</th>
</tr>
</thead>
</table>
</div>
</body>
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.jquery.js"></script>
<script src="${ctx}/js/plugin/datatables/dataTables.buttons.min.js"></script>
<script src="${ctx}/js/plugin/datatables/datatables.bootstrap.js"></script>
<script src="${ctx}/js/plugin/datatables/buttons.html5.min.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
<script src="${ctx}/js/area.js"></script>
<script src="${ctx}/js/plugin/xss/xss.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/js/color.js"></script>
<script type="text/javascript">
var $area = $("#area");
var $startTime = $("#startTime");
var $endTime = $("#endTime");
var dataTable = null;
var resultData = null;
var areaInfo;
$("#interval").val("周");
$(function () {
//初始化区域
$.ajax({
type: "POST",
url: "/pqs9000/user/getAreasInfo",
dataType: 'json',
success: function (data) {
areaInfo = data;
$("#area").val(data[0].name);
$("#area").attr("index", data[0].id);
areaTree = $.fn.zTree.init($("#areaTree"), settingAreaTree, data);
//初始化页面内容
var area = $area.eq(0).attr("index");
var startTime = $startTime.eq(0).val();
var endTime = $endTime.eq(0).val();
refresh(area, startTime, endTime);
}
})
})
//点击确定,去后台请求参数
$("#query").click(function () {
var area = $area.eq(0).attr("index");
var startTime = $startTime.eq(0).val();
var endTime = $endTime.eq(0).val();
refresh(area, startTime, endTime);
});
//获取表格数据
function refresh(area, startTime, endTime) {
var i;
$.ajax({
type: "get",
url: "/pqs9000/fpyreport/qualifiedRate",
dataType: "json",
data: {
startTime: startTime,
endTime: endTime,
area: area
},
beforeSend: function () {
i = ityzl_SHOW_LOAD_LAYERLONG();
},
success: function (data) {
if (data.code === 500) {
layer.msg(data.message, {icon: 2, time: 2000})
//没有数据
resultData = null;
} else {
resultData = data.body;
}
startQuery();
//***********关闭loading
ityzl_CLOSE_LOAD_LAYER(i);
}
});
}
function startQuery() {
//实时刷新时间单位为毫秒
it = setInterval('refreshQuery()', 100);
}
/* 刷新查询 */
function refreshQuery() {
var width = $("#integritylist").width();
if (width > 100) {
initTable(resultData);
window.clearInterval(it)
}
}
//实例化表格
function initTable(data) {
var height = $(window).height() - 155;
var length = Math.floor(height / 28);
if (length < 1) {
length = 1;
}
dataTable = $("#integritylist").DataTable();
dataTable.clear().draw();
dataTable = $('#integritylist').DataTable({
columnDefs: [
{
orderable: false,
targets: [0]
}
],
columns: [
{width: "2%", data: null},
{
width: "10%", data: "bdName", render: function (data, type, full, meta) {
var value = data;
if (data.length > 10) {
value = data.substring(0, 9) + "...";
value = "<span title=" + data + ">" + value + "</span>";
}
return value;
}
},
{
width: "10%", data: "lineName", render: function (data, type, full, meta) {
var value = data;
if (data.length > 12) {
value = data.substring(0, 11) + "...";
value = "<span title=" + data + ">" + value + "</span>";
}
return value;
}
},
{width: "6%", data: "businessType"},
{width: "6%", data: "calssificationGrade", render: function (data, type, full, meta) {
return data==null?"/":data;
}},
{width: "5%", data: "scale"},
{width: "6%", data: "superiorsSubstation", render: function (data, type, full, meta) {
return data==null?"/":data;
}},
{width: "6%", data: "hangLine", render: function (data, type, full, meta) {
return data==null?"/":data;
}},
{width: "5%", data: "pt"},
{width: "5%", data: "ct"},
{width: "6%", data: "dlcmp"},
{width: "6%", data: "devcmp"},
{width: "6%", data: "xycmp"},
{
width: "6%", data: "integrity",
render: function (data, type, full, meta) {
var temp = Number(data);
if (temp > 100) {
return 100;
} else if (temp < 0) {
return 0;
} else {
return temp;
}
}
},
{width: "8%", data: "harmDes"},
{
width: "20%", data: "powerDes", render: function (data, type, full, meta) {
var value = data;
if (data.length > 21) {
value = data.substring(0, 20) + "...";
value = "<span title=" + data + ">" + value + "</span>";
}
return value;
}
},
],
destroy: true,
data: data,
lengthChange: false,
searching: true,
dom: 'rtip',
scrollY: height,
scrollX: true,
lengthMenu: [length],
language: {
url: '/pqs9000/json/chine.json'
},
fnDrawCallback: function (oTable) {
$("#integritylist_info").addClass("fl");
$("#integritylist_paginate").addClass("fr");
$("#integritylist_paginate").append("<div style='float:right;padding-top:4px;padding-left:10px'>到第 <input type='text' id='changePage' class='input-text' style='width:50px;height:28px;'> 页 <button class='btn btn-primary' id='dataTable-btn'>确定</button></div>");
var table = $("#integritylist").dataTable();
$('#dataTable-btn').click(function (e) {
if ($("#changePage").val() && $("#changePage").val() > 0) {
var redirectpage = $("#changePage").val() - 1;
} else {
var redirectpage = 0;
}
table.fnPageChange(redirectpage);
});
}
});
var name = $area.find("option:selected").text();
var startTime = $startTime.eq(0).val();
var endTime = $endTime.eq(0).val();
startTime.replace("-", "");
endTime.replace("-", "");
new $.fn.dataTable.Buttons(dataTable, {
buttons: [
{
extend: 'csv',
title: name + startTime + '至' + endTime + '合格率',//导出csv名称
exportOptions: {
columns: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
format: {
body: function (data, rID, cID) {
if (cID === 0) {
return rID + 1;
} else if (cID === 1 | cID === 2 | cID === 6 | cID === 7 | cID === 15) {
let result;
if (data.indexOf("title") > 0) {
result = data.substring(data.indexOf("=") + 1, data.indexOf(">"));
} else {
result = data
}
if(cID === 1){
if (result.lastIndexOf("_") > 0) {
result = result.substring(0,result.lastIndexOf("_"));
}
}
if (cID === 15) {
let arr = result.split(";")
if (arr.length == 0) {
return result;
} else {
let resultStr = "";
for (let i = 0; i < arr.length; i++) {
if (i != arr.length - 1) {
resultStr += arr[i] + ';\n';
}
}
return resultStr;
}
}
return result;
} else {
return data;
}
}
}
}
}
]
});
modifyCss(dataTable);
dataTable.on('order.dt search.dt',
function () {
dataTable.column(0, {
search: 'applied',
order: 'applied'
}).nodes().each(function (cell, i) {
cell.innerHTML = i + 1;
});
}).draw();
}
function modifyCss(dataTable) {
dataTable.buttons().container().css("display", "inline-block");
dataTable.buttons().container().css("float", "right");
dataTable.buttons().container().css("top", "4px");
dataTable.buttons().container().find("a").prepend("<i class='glyphicon glyphicon-share'></i>");
dataTable.buttons().container().appendTo('.header');
dataTable.buttons().container().after($("#fliteData")[0]);
}
//特殊处理,表头紧缩问题--start
var it = null;
//搜索表中的数据
function searchResult(value) {
dataTable.search(value).draw();
}
</script>
</html>

View File

@@ -0,0 +1,51 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>合格率报表</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatimepicker/bootstrap-datetimepicker.css">
<link rel="stylesheet" href="${ctx}/js/plugin/layui/css/layui.css">
<link rel="stylesheet" href="${ctx}/js/plugin/dateRangePicker/daterangepicker.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style type="text/css">
body {
overflow: hidden;
}
.form-group .form-control {
height: 26px;
}
</style>
</head>
<body>
<%@include file="../include/deviceTree.jsp" %>
<form class="form-inline header" style="float: right;margin-top:5px;position: relative;z-index: 99">
<%@include file="../include/time.jsp" %>
<div class="form-inline pdr15" style="display: inline-block;">
<button type="button" class="btn btn-primary" id="export">
<i class='glyphicon glyphicon-share'>生成报表</i>
</button>
</div>
</form>
<scrqipt src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></scrqipt>
<script src="${ctx}/js/plugin/layui/layui.js"></script>
<script src="${ctx}/js/plugin/dateRangePicker/moment.min.js"></script>
<script src="${ctx}/js/plugin/dateRangePicker/daterangepicker.js"></script>
<script src="${ctx}/js/plugin/ztree/jquery.ztree.excheck.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/utils/timeControl.js"></script>
<script src="${ctx}/jspJS/utils/loading.js"></script>
<script src="${ctx}/jspJS/report/percent.js"></script>
</body>
</html>

View File

@@ -0,0 +1,245 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html >
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>修改用户密码</title>
<link rel="stylesheet" href="${ctx}/js/plugin/layui/css/layui.css" media="all">
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/buttons.dataTables.min.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style type="text/css">
html {
overflow: hidden;
}
</style>
</head>
<body class="bg-white">
<form class="layui-form" style="text-align: center;">
<%-- <div class="layui-form-item" style="margin-top: 15px; width: 320px">--%>
<%-- <label class="layui-form-label">原密码:</label>--%>
<%-- <div class="layui-input-block">--%>
<%-- <input type="password" id="password" placeholder="请输入原密码" maxlength="100"--%>
<%-- autocomplete="off" style="width: 95%; margin-top: 6px;margin-left:-80px;height: 30px"><font--%>
<%-- color="red">*</font>--%>
<%-- </div>--%>
<%-- </div>--%>
<div class="layui-form-item" style="margin-top: 15px; width: 320px">
<label class="layui-form-label">新密码:</label>
<div class="layui-input-block">
<input type="password" id="Xpassword" placeholder="请输入新密码" maxlength="100"
autocomplete="new-password" style="width: 95%; margin-top: 6px;margin-left:-80px;height: 30px"><font
color="red">*</font>
</div>
</div>
<div class="layui-form-item" style="margin-top: 15px; width: 320px">
<label class="layui-form-label" style="width: 86px;margin-left: -8px;">再次输入:</label>
<div class="layui-input-block">
<input type="password" id="ZXpassword" placeholder="请再次输入新密码" maxlength="100"
autocomplete="new-password" style="width: 95%; margin-top: 6px;margin-left:-80px;height: 30px"><font
color="red">*</font>
</div>
</div>
<div style="width: 100%;text-align: center;">
<button type="button" class="layui-btn themeBGColor"
id="updatePassWord"
style=" margin-top: 10px">提交
</button>
<button type="reset" class="layui-btn cancleBGColor"
style="margin-left: 10%; margin-top: 10px"
id="close">取消
</button>
</div>
</form>
<input type="hidden" id="userIndex" value="${userIndex}">
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/js/plugin/xss/xss.js"></script>
<script src="${ctx}/js/plugin/xss/security.js"></script>
<script src="${ctx}/js/plugin/xss/aes.js"></script>
<script src="${ctx}/jspJS/sm2.js"></script>
<script src="${ctx}/jspJS/sm3.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/jspJS/confirmIndentity.js"></script>
<script>
/**
* 修改用户密码
*/
$(document)
.ready(
function () {
var userIndex = $("#userIndex").val();
// var password;
var passwordX;
var usernames;
$.ajax({
type: "POST",
url: "/pqs9000/user/selectId",
data: {
userIndex: userIndex,
flag:0
},
success: function (data) {
// password = data.password;
usernames = data.loginName;
}
})
$("#close").click(function () {
parent.layer.closeAll();
});
$("#updatePassWord")
.click(
function () {
// var Ypassword = $("#password").val();
// Ypassword = filterXSS(Ypassword);
var Xpassword = $("#Xpassword").val();
Xpassword = filterXSS(Xpassword);
var Zpassword = $("#ZXpassword").val();
if (Xpassword != "" && Zpassword != "") {
if (Xpassword.search(passwordz) != -1) {
if (Zpassword.search(passwordz) != -1) {
if (Xpassword == Zpassword) {
passwordX = Xpassword;
usernames = encrypt(usernames);
$.ajax({
type: "POST",
/*url: "/sso/user/generateSM2Key",*/
url: "/sso/user/generateSM2Key",
dataType: "text",
data: {
username: usernames
},
success: function (data) {
var info = $.parseJSON(data);
if (info.code === 200) {
var pubkeyHex = info.body;//获取SM2加密公钥
var sm3Pwd = sm3Digest(passwordX);//SM3加密
var sm2Pwd =sm2Encrypt(sm3Pwd + "|" + passwordX, pubkeyHex, 0);//SM2公钥加密
var token = $("#token").val();
$.ajax({
method: "post",
url: "/pqs9000/user/updatePassword",
data: {
"username": usernames,
// "password": sm2Pwd,
"passwordX": sm2Pwd,
token: token
},
success: function (info) {
if (info.code == 300) {
layer
.msg(
info.message,
{
icon: 5
},
function () {
parent.layer
.closeAll();
});
} else if (info.code == 500) {
layer
.msg(
info.message,
{
icon: 5
},
function () {
parent.layer
.closeAll();
});
} else if (info.code == 301) {
layer
.msg(
info.message,
{
icon: 5
},
function () {
parent.layer
.closeAll();
});
} else {
layer.msg(
info.message,
{
icon: 6,
time: 1000
},
function () {
location.href = '/pqs9000/user/loginout';
layer.close(index)
parent.layer
.closeAll();
});
}
}
})
}
}
})
} else {
layer.msg('两次密码输入不一致!', {
icon: 2,
time: 2000
});
}
} else {
layer
.msg(
'密码由8-16位字母、数字及@#_等特殊字符组成',
{
icon: 2,
time: 2000
});
}
} else {
layer
.msg(
'新密码由8-16位字母、数字及@#_等特殊字符组成',
{
icon: 2,
time: 2000
});
}
} else {
layer.msg('密码均不能为空!', {
icon: 2,
time: 2000
});
}
})
})
/**
* 加密需要先加载lib/aes/aes.min.js文件
* @param word
* @returns {*}
*/
function encrypt(word) {
var key = CryptoJS.enc.Utf8.parse("njcnpqsqpncjnggg");
var srcs = CryptoJS.enc.Utf8.parse(word);
var encrypted = CryptoJS.AES.encrypt(srcs, key, {mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7});
return encrypted.toString();
}
/**
* 解密
* @param word
* @returns {*}
*/
function decrypt(word) {
var key = CryptoJS.enc.Utf8.parse("njcnpqsqpncjnggg");
var decrypt = CryptoJS.AES.decrypt(word, key, {mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7});
return CryptoJS.enc.Utf8.stringify(decrypt).toString();
}
</script>
</body>
</html>

View File

@@ -0,0 +1,127 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html >
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>用户详情</title>
<link rel="stylesheet" href="${ctx}/js/plugin/layui/css/layui.css"
media="all">
<link rel="stylesheet"
href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
<link rel="stylesheet"
href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
<link rel="stylesheet"
href="${ctx}/css/plugin/datatables/buttons.dataTables.min.css">
<link rel="stylesheet" href="${ctx}/css/basic.css">
<style type="text/css">
html {
overflow: hidden;
}
.btn {
padding: 1px 9px !important;
font-size: 12px !important
}
.align-center {
margin: 0 auto; /* 居中 这个是必须的,,其它的属性非必须 */
text-align: center; /* 文字等内容居中 */
}
</style>
</head>
<body class="bg-white">
<div >
<div style="width:45%;float: left;">
<label class="layui-form-label" style="margin-top: 10px; ">昵称:</label>
<input type="text" id="name" autocomplete="off" maxlength="200" style="margin-top: 7%" disabled>
</div>
<div style="width:45%;margin-left: -60px;float: right;">
<label class="layui-form-label" style="margin-top: 10px">登录名:</label>
<input type="text" id="loginName" disabled autocomplete="off" style="margin-top: 7%" maxlength="50">
</div>
<div style="width:45%;float: left;">
<label class="layui-form-label" style="margin-top: 10px; ">部门:</label>
<input type="text" id="deptsName" autocomplete="off" maxlength="200" style="margin-top: 7%" disabled>
</div>
<div style="width:45%;margin-left: -60px;float: right;">
<label class="layui-form-label" style="margin-top: 10px">角色:</label>
<input type="text" id="roleName" disabled autocomplete="off" style="margin-top: 7%" maxlength="50">
</div>
<div>
<button type="button" class="layui-btn themeBGColor"
id="updatetUser"
style="margin-top: 25%;">修改密码
</button>
</div>
</div>
<%--当前会话的用户名--%>
<input type="hidden" id="username" value="${username}">
<input type="hidden" id="userIndex" value="${userIndex}">
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="${ctx}/js/plugin/layui/layer.js"></script>
<script src="${ctx}/js/basic.js"></script>
<script src="${ctx}/js/plugin/xss/xss.js"></script>
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
<script src="${ctx}/js/plugin/xss/aes.js"></script>
<script src="${ctx}/jspJS/sm2.js"></script>
<script src="${ctx}/jspJS/sm3.js"></script>
<script src="${ctx}/js/plugin/xss/security.js"></script>
<script src="${ctx}/jspJS/confirmIndentity.js"></script>
<script>
var userIndex = $("#userIndex").val();
$(function () {
getUserAll(userIndex);
})
function getUserAll(userIndex) {
$.ajax({
type: 'POST',
async: false,
url: '/pqs9000/device/getUserAll',
data: {
userIndex:userIndex
},
success: function (data) {
if(data!=null){
$("#name").val(data.userName);
$("#loginName").val(data.loginName);
$("#deptsName").val(data.deptsName);
$("#roleName").val(data.roleName);
}
}
})
}
$("#updatetUser").click(function () {
updateUserPassWordByIndex(userIndex);
})
//修改密码
function updateUserPassWordByIndex(index) {
//先进行密码确认
var username = $("#username").val();
confirmIndentity(username, function () {
parent.layer.open({
type: 2,
title: '修改密码',
shadeClose: true,
resize: false,
shade: 0.3,
area: ['20%', '32%'],
content: 'updatePassWord?userIndex='+index, //iframe的url
scrollbar: false,
end: function () {
layer.close();
}
});
})
}
</script>
</body>
</html>

View File

@@ -0,0 +1,148 @@
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>pqs9000</display-name>
<!--tomcat启动的时候初始化spring容器 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/applicationContext*.xml</param-value>
</context-param>
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>xssFilter</filter-name>
<filter-class>com.njcn.fliter.XssFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>xssFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>shiroSecurityFilter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
<init-param>
<param-name>targetFilterLifecycle</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>shiroSecurityFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--Spring的ApplicationContext 载入 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
<listener>
<listener-class>com.pqs9000.listener.ContextListener</listener-class>
</listener>
<servlet>
<!--设置spring mvc的拦截器mvc框架都会有个前端控制器 -->
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--添加参数制定mvc读取配置文件的路径 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/springmvc-config.xml</param-value>
</init-param>
<!--在web应用启动的时候就去加载该servlet -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<!--表示拦截所有的请求 -->
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>DruidStatView</servlet-name>
<servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
<init-param>
<!-- 用户名 -->
<param-name>loginUsername</param-name>
<param-value>druid</param-value>
</init-param>
<init-param>
<!-- 密码 -->
<param-name>loginPassword</param-name>
<param-value>njcn</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>DruidStatView</servlet-name>
<url-pattern>/druid/*</url-pattern>
</servlet-mapping>
<!-- 添加Web应用等监控-->
<filter>
<filter-name>DruidWebStatFilter</filter-name>
<filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class>
<init-param>
<param-name>exclusions</param-name>
<param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</param-value>
</init-param>
<init-param>
<param-name>profileEnable</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>principalCookieName</param-name>
<param-value>USER_COOKIE</param-value>
</init-param>
<init-param>
<param-name>principalSessionName</param-name>
<param-value>USER_SESSION</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>DruidWebStatFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--在请求的过程中出现404、或者500的时候跳向指定的页面 -->
<error-page>
<error-code>404</error-code>
<location>/WEB-INF/error/404.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/WEB-INF/error/500.jsp</location>
</error-page>
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
<session-config>
<session-timeout>30</session-timeout>
<cookie-config>
<http-only>true</http-only>
<secure>true</secure>
</cookie-config>
</session-config>
</web-app>

View File

@@ -0,0 +1,742 @@
:root {
--primarycolor:#D9D9D9;
}
/**
*============================
*楠ㄦ灦
*============================
*/
/*body, button, input, select, textarea, table{font-family:"Helvetica Neue", Helvetica, Arial, \5FAE\8F6F\96C5\9ED1, sans-serif !important;}*/
html{position:relative;min-height:100%;background:#ffffff;color:#000;}
body{width:100%;min-height:100%;font-size: 12px}
body,p,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,form,fieldset,legend,input,select,textarea,button,th,td{margin:0;padding:0;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight: normal;}
ul,dl,ol{list-style:none;cursor: pointer;}
img,fieldset,input[type="submit"]{border:0 none;}
img{display:inline-block;overflow:hidden;vertical-align:top;max-width:100%;}
em{font-style:normal;}
strong{font-weight:normal;}
table{border-collapse:collapse;border-spacing:0;text-align:center}
textarea{word-wrap:break-word;resize:none;}
a{text-decoration:none;color:#333;}
a:link,a:visited,a:hover,a:active{text-decoration:none;}
.fl{float:left;}
.fr{float:right;}
.tc{text-align:center;}
.pr{position:relative;}
.pa{position:absolute;}
.pf{position:fixed;}
.block{display:block;}
.none{display: none;}
.clearBoth{clear:both}
.clearfix{*zoom:1;}
.clearfix:after{clear:both;content:"";display:table;}
/*padding*/
.pd10{padding:10px;}
.pdt10{padding-top:10px;}
.pdr10{padding-right:10px;}
.pdb10{padding-bottom:10px;}
.pdl10{padding-left: 10px;}
.pd15{padding:15px;}
.pdt15{padding-top:15px;}
.pdr15{padding-right:15px;}
.pdr30{padding-right:30px;}
.pdb15{padding-bottom:15px;}
.pdl15{padding-left: 15px;}
.pdl30{padding-left: 30px;}
.pd5{padding:5px;}
.pdt5{padding-top:5px;}
.pdr5{padding-right:5px;}
.pdb5{padding-bottom:5px;}
.pdl5{padding-left: 5px;}
/*margin*/
.mt-3{margin-top: -3px}
.mt-6{margin-top: -6px}
.mt5{margin-top:5px;}
.mt10{margin-top:10px;}
.mr10{margin-right:10px;}
.mb10{margin-bottom:10px;}
.ml10{margin-left:10px !important;}
.m10{margin:10px;}
.mt15{margin-top:15px;}
.mr15{margin-right:15px;}
.mb15{margin-bottom:15px;}
.ml15{margin-left:15px;}
.ml20{margin-left:19px !important;}
.ml30{margin-left: 37% !important;}
.ml5{margin-left:5px;}
.m15{margin:15px;}
.f10{font-size:10px;}
.f12{font-size:12px;}
.f14{font-size:14px;}
.f16{font-size:16px;}
.f18{font-size:18px;}
.f20{font-size:20px;}
.f25{font-size:25px;}
.fb{font-weight:bold;}
.height100{height: 100%}
.height50{height: 50%}
.width100{width: 100%}
.width50{width: 50%}
.disnone{display: none}
.disinlineb{display: inline-block}
.localInput{
display: inline-block;
height: 25px;
border: 1px solid #ccc;
background-color: #ffffff;
cursor: pointer;
border-radius: 5px;
line-height: 30px;
padding-left: 10px;
}
.vermiddle{vertical-align:middle}
html,body{height:100%;}
thead tr th{text-align: center;}
.font12{
font-size: 12px;
}
.bg-error{
background-color: #A52a2a;
}
.error{
color:#A52a2a;
}
.bg-warn{
background-color: #DAA520;
}
.warn{
color:#DAA520;
}
.bg-info{
background-color: #2E8B57;
}
.info{
color:#2E8B57;
}
.inB{
display: inline-block;
}
.smallBlock{
height: 10px;
width: 15px;
border-radius: 3px;
}
#page_header{position:relative;z-index:905;height:70px;padding:10px 13px 0 20px;}
#left_panel{position:absolute;z-index:904;top:0;left:0;width:220px;min-height:100%;padding-top:70px;
background-color: #003679;
-webkit-transition: all 250ms cubic-bezier(0.1,.57,.1,1);
transition: all 250ms cubic-bezier(0.1,.57,.1,1);
}
#main{background-color:#ffffff;}
#main #ribbon{min-height:40px;background:#002049;}
#main #content{padding:5px 0;}
#page_footer{position:absolute;bottom:0;left:0;width:100%;height:50px;line-height:49px;background: #322f2c;color:#fff;border-top:1px solid #CECECE;}
#page_footer .inside{padding-left:220px;text-align:center;}
#page_footer .inside i{margin-right:4px;}
#page_footer .inside a{color:#fff;}
.ajax-loading-animation{font-size:20px;padding:0 15px;}
.ajax-loading-error{font-size:20px;padding:0 15px;}
#page_header .right_side{float:right;}
#page_header .right_side span{display:block;float:left;width:30px;height:30px;line-height:30px;text-align:center;font-size:14px;border-radius:2px;border:1px solid #bfbfbf;color:#6D6A69;margin-left:6px;margin-top:10px;box-shadow:inset 0 0 4px 1px rgba(0,0,0,.08);cursor:pointer;
background: #f8f8f8;
background: -moz-linear-gradient(left,#f8f8f8 93%,#f1f1f1 100%);
background: -webkit-gradient(linear,left top,right top,color-stop(93%,#f8f8f8),color-stop(100%,#f1f1f1));
background: -webkit-linear-gradient(left,#f8f8f8 93%,#f1f1f1 100%);
background: -o-linear-gradient(left,#f8f8f8 93%,#f1f1f1 100%);
background: -ms-linear-gradient(left,#f8f8f8 93%,#f1f1f1 100%);
background: linear-gradient(to right,#f8f8f8 93%,#f1f1f1 100%);
}
#page_header .right_side span:hover{color:#222;}
#page_header .right_side span.active{background:#5a5a5a;color:#fff;border:1px solid #5a5a5a;}
#page_header .right_side .toggleMenu_btn{display:none;}
#page_header .logow{display:inline-block;}
#page_header .logow a{}
#page_header .logow a:hover{text-decoration:none;}
#page_header .logow a:active{text-decoration:none;}
#page_header .logow a:focus{text-decoration:none;}
#left_panel nav ul{list-style:none;padding:0;}
#left_panel nav ul li{position:relative;}
#left_panel nav ul ul{display:none;}
#left_panel nav ul a{position:relative;display:block;padding:10px;font-size:14px;color:#6699cc;text-decoration:none;}
#left_panel nav ul a:hover{color:#fff;background:#004394;}
#left_panel nav ul a:active,#left_panel nav ul a.active{background:#002b61;color:#fff;}
#left_panel nav ul a i{margin-right:5px;}
#left_panel nav ul a b{float:right;font-weight:normal;}
#left_panel nav ul a b i{margin:0;}
#left_panel nav > ul > li > a:hover{background:none;}
#left_panel nav > ul > li > a:active{background:rgba(0,43,97,0.6);}
#left_panel nav > ul > li > ul{position:relative;background:#002b61;overflow:hidden;margin:0;display:none;}
#left_panel nav > ul > li > ul::before{content:"";display:block;position:absolute;z-index:1;left:23px;top:0;bottom:0;border-left:1px solid #7A7A7A;}
#left_panel nav > ul > li > ul > li::before{content:"";display:block;position:absolute;width:8px;left:23px;top:16px;border-top:1px solid #7A7A7A;z-index:1;}
#left_panel nav > ul > li > ul > li > a{padding:7px 10px 7px 42px;}
#left_panel nav > ul > li > ul > li > ul > li > a{padding:8px 0 8px 60px;}
#left_panel nav .open ul{display:block;}
#left_panel .minifyBtn{
display:block;
position:absolute;
right:0;
bottom:0;
width:36px;
height:28px;
margin-top:7px;
border-bottom:1px solid #302F2F;
background:#002049;
border-radius:5px 0 0 5px;
color:#A8A8A8;
font-size:19px;
text-align:center;
cursor:pointer;
-webkit-transition:all .1s linear;
transition:all .1s linear;
}
#left_panel .minifyBtn:hover{width:40px;padding-right:5px;background:#646464;color:#E4E4E4;}
.login_info{width:100%;height:40px;}
.login_info a:hover,.login_info a:active{text-decoration:none;}
.login_info > span{display:block;height:39px;padding:0 10px;border-bottom:1px solid #1A1817;}
.login_info > span > div{position:relative;display:block;height:39px;color:#fff;}
.login_info > span > div > a{display:inline-block;width:100%;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;height:39px;line-height:39px;color:#c0bbb7;font-size:14px;}
.login_info > span > div > .dropdown-menu{margin-top:0;}
.login_info .name{margin-right:2px;}
.minified #main{margin-left:45px;}
.minified #page_footer .inside{padding-left:45px;}
.minified #left_panel{width:45px !important;}
.minified #left_panel, .minified nav > ul > li {overflow:visible;}
.minified #left_panel nav > ul > li{border-bottom:1px solid #1A1817;border-top:1px solid #525151;}
.minified #left_panel nav > ul > li:first-child{border-top:0;}
.minified #left_panel nav > ul > li > a > span{display:none;}
.minified #left_panel nav > ul > li > a > i{margin:0 auto;}
.minified #left_panel nav > ul > li > a > b{display:none;}
.minified #left_panel nav > ul > li > a > span{z-index:2;position:absolute;top:0;left:40px;width:186px;height:38px;padding-left:10px;line-height:38px;background:#f5f5f5;color:#333;border:1px solid #bfbfbf;box-shadow:1px 1px 2px 0 rgba(0,0,0,.2);}
.minified #left_panel nav > ul > li > ul{display:none !important;z-index:1;position:absolute;top:36px;left:40px;width:186px;border:1px solid #bfbfbf;box-shadow:1px 1px 2px 0 rgba(0,0,0,.2);}
.minified #left_panel nav > ul > li > ul::before{border-left:none;}
.minified #left_panel nav > ul > li > ul > li::before{border-top:none;}
.minified #left_panel nav > ul > li:hover > a > span{display:block !important;}
.minified #left_panel nav > ul > li:hover > ul{display:block !important;}
.minified #left_panel nav > ul > li > ul > li > a{padding:7px 10px 7px 10px;}
.minified #left_panel nav > ul > li > ul > li > ul > li > a{padding:7px 10px 7px 30px;}
.minified .login_info{margin-bottom:0;}
.minified .login_info > span{padding:0;}
.minified .login_info > span > div > a{text-align:center;}
.minified .login_info > span > div > a > span{display:none;}
.minified .login_info > span > div > a > i{margin:0;color:#c0bbb7;}
#main #ribbon .breadcrumb{padding:0 0 0 14px;color:#BBB;line-height:40px;margin-bottom:0;list-style:none;background:none;border-radius:0; }
#main #ribbon .breadcrumb li i{margin-right:3px;}
#main #ribbon .breadcrumb li:last-child{color:#E4E4E4;}
@media only screen and (min-width:0px) and (max-width:768px) {
#page_header .right_side .toggleMenu_btn{display:block;}
#page_header .right_side .fullScreen_btn{display:none;}
#main{margin-left:0;}
#left_panel{margin-left:-220px;background:#3a3633;}
#left_panel .minifyBtn{display:none;}
#page_footer .inside{padding-left:0;text-align:center;}
}
.content_wrapper aside{margin-bottom:15px;}
.content_wrapper aside header{line-height:34px;border-bottom :1px solid #ddd;padding-left:30px;}
.content_wrapper aside header i{margin-right:6px;}
.content_wrapper aside section{padding:15px 0;}
/**
*============================
*鐧诲綍椤<E7B68D>
*============================
*/
.bg-login .icon-ren:before,.bg-login .icon-mima:before,.bg-login .icon-yanzhengma:before{font-size:20px;}
.form-signin {width:510px;padding:20px 0 58px 0;background:rgba(255,255,255,0.2);top:50%;left:50%;position:absolute;margin-left:-255px;margin-top:-180px; border-radius:15px;}
.form-signin .logo{font-size:78px;text-align:center;font-weight:bold;color: #444444;font-family:Consolas,"Courier New",monospace;}
.form-signin h3{color:#676a6c;font-size:14px;text-align:center;}
.form-signin .form-control{padding:0 12px;height:46px;line-height:46px;}
.form-signin .form-control:focus {border:2px solid #afacab;outline:0;-webkit-box-shadow:none;box-shadow: none;}
.form-signin .subBtn{padding:9px 35px 13px;border:0;color:#fff;font-size:20px;
-webkit-transition: all 250ms cubic-bezier(0.1,.57,.1,1);
transition: all 250ms cubic-bezier(0.1,.57,.1,1);
}
.form-signin .subBtn:focus{background:#2e6da4;outline:none;}
.form-signin .help{color:#999;margin:14px 0;text-align:center;}
.form-signin .copyright{text-align:center;margin:14px 0;}
.form-signin .copyright i{margin-right:4px;}
.form-signin .copyright a{color:#3a3633;}
.form-signin .icon-wode:before,.form-signin .icon-mima1:before,.form-signin .icon-mima:before{font-size:22px;}
/**
*============================
*瀵筨ootstrap鐨勮ˉ鍏ㄦ垨瑕嗙洊
*============================
*/
.table thead,.table tfoot{background:#ebebeb;}
.form-inline .gap{display:inline-block;width:10px;}
@media only screen and (min-width:0px) and (max-width:767px) {
.form-inline .gap{display:none;width:0;height:0;}
}
hr{margin:15px 0;border-top:1px solid #f0f0f0;}
.help-block{margin-bottom:0;}
button i,a i{margin-right:6px;}
.pagination button i,.pagination a i{margin:0;}
.my_panel .heading{padding:8px 10px;font-weight:bold;background:#ebebeb;border-bottom:2px solid #ddd;}
.my_panel .body{padding:10px 10px 20px;}
.my_panel .body .table{margin-bottom:0;}
.my_panel .body .table tr:first-child td{border-top:0;}
.my_panel .body .table thead,.my_panel .body .table tfoot{background:none !important;}
form .title_bar{padding:8px 10px;font-weight:bold;background:#ebebeb;border-bottom:2px solid #ddd;margin-bottom:14px;}
.form-horizontal .modal-content .form-group {margin-left:0 !important;margin-right:0 !important;}
.modal-header .modal-title{font-size:16px;}
div.dataTables_wrapper div.dataTables_paginate{margin:20px 0 0 0 !important;}
.ajaxForm_tip_success{color:#4cae4c;font-size:14px;}
.ajaxForm_tip_warning{color:#f0ad4e;font-size:14px;}
.J_confirm_btn i{display:none;}
.J_confirm_btn.subBtn_sending i{display:inline-block;}
.J_tree_table th,
.J_tree_table td {
vertical-align:middle !important;
border-top:1px solid #f0f0f0 !important;
}
.table-responsive > .J_tree_table > thead > tr > th,
.table-responsive > .J_tree_table > tbody > tr > th,
.table-responsive > .J_tree_table > tfoot > tr > th,
.table-responsive > .J_tree_table > thead > tr > td,
.table-responsive > .J_tree_table > tbody > tr > td,
.table-responsive > .J_tree_table > tfoot > tr > td {
white-space: nowrap;
}
.J_tree_table > tbody + tbody {border-top:0 !important;}
.J_tree_table .J_pull_btn{display:inline-block;width:20px;height:20px;}
.J_tree_table .pull_down{background:url(../images/icon_list.png) 0 -20px no-repeat !important;cursor:pointer;}
.J_tree_table .pull_up{background:url(../images/icon_list.png) 0 0 no-repeat !important;cursor:pointer;}
.J_tree_table .blank_btn{display:inline-block;width:20px;height:20px;background:url(../images/icon_list.png) -20px 0 no-repeat;}
.J_tree_table .end{display:inline-block;width:46px;height:20px;vertical-align:middle;cursor:pointer;background:url(../images/icon_list.png) 0 -72px no-repeat;}
.J_tree_table .space{display:inline-block;width:46px;height:20px;vertical-align:middle;cursor:pointer;}
.J_tree_table input[type=text]{
display: inline-block;
margin-right:6px;
width: 35px;
height: 28px;
font-size: 14px;
padding:0 4px;
line-height: 1.42857143;
color: #555;
background-color: #fff;
background-image: none;
border: 1px solid #ccc;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
}
#example_filter{display:none;}
.div-inline{ display:inline}
div.dataTables_wrapper div.dataTables_info{margin-top:10px;margin-left:10px;}
.pg-canvas{position:absolute;}
.left-menu{;position:absolute;z-index:904;top:80px;bottom:35px;left:20px;width:240px;padding-top:0;background:rgba(255,255,255,0.3);}
.footer-copy{color:#fff;position:absolute;left:20px;bottom:5px;right:20px;}
.left-menu .menu-hd{background:rgba(255,255,255,0.13);padding-left:10px;height:38px;line-height:38px;color:#fff;}
.left-menu .menu-hd h2{height:38px;line-height:38px;}
.left-menu .menu-hd .menu-arr{position:absolute;right:10px;top:0;}
.left-menu .menu-slidedown li a{display:block;padding-left:40px;height:34px;line-height:34px;color:#fff;}
#bigTitle{
font-size: 35px;letter-spacing:3px;color: #FFFFFF;font-family: '华文楷体', serif;
}
#smallTitle{
color: #FFF;font-family: '华文楷体', serif
}
#_help{
color: #FFF;
}
.left-menu .menu-slidedown{display:none;}
.left-menu .menu-con{margin-bottom:8px;}
/*.top-menu{padding:35px 15px 15px 15px;}*/
.top-menu li{float:left;margin-right:20px;position:relative;}
.top-menu li .menuone{color:#fff;}
.top-menu li:hover .menutwo{display:block;}
.scroll-item{width:500px;overflow:hidden;}
.scroll-item a{margin-right:10px;color:#fff;}
.menu-con.hover .menu-slidedown{display:block;}
.user-checkout li{display:inline-block;margin-left:10px;color:#fff;}
.user-checkout li .iconfont{margin-right:5px;}
.ui-tabs .ui-tabs-panel{padding:0;}
.ui-widget-header{background:#ccc;}
.right-arr{top:50%;right:0;}
.left-arr{top:50%;left:0;}
.right-arr:hover,.left-arr:hover{color:#333;}
.dg-container{
width: 100%;
height: 450px;
position: relative;
}
.dg-wrapper{
width: 576px;
height: 400px;
margin: 0 auto;
position: relative;
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
-o-transform-style: preserve-3d;
-ms-transform-style: preserve-3d;
transform-style: preserve-3d;
-webkit-perspective: 1000px;
-moz-perspective: 1000px;
-o-perspective: 1000px;
-ms-perspective: 1000px;
perspective: 1000px;
}
.dg-wrapper a{
width: 576px;
height: 400px;
display: block;
position: absolute;
left: 0;
top: 0;
box-shadow: 0px 10px 20px rgba(0,0,0,0.3);
background:url(../images/bg.jpg)
}
.dg-wrapper a.dg-transition{
-webkit-transition: all 0.5s ease-in-out;
-moz-transition: all 0.5s ease-in-out;
-o-transition: all 0.5s ease-in-out;
-ms-transition: all 0.5s ease-in-out;
transition: all 0.5s ease-in-out;
}
.dg-wrapper a img{
display: block;
/*padding: 41px 0px 0px 1px;*/
}
.dg-wrapper a div{
font-style: italic;
text-align: center;
line-height: 50px;
text-shadow: 1px 1px 1px rgba(255,255,255,0.5);
color: #333;
font-size: 16px;
width: 100%;
/*bottom: -55px;*/
display: none;
position: absolute;
}
.dg-wrapper a.dg-center div{
display: block;
}
.dg-container nav{
width: auto;
position: absolute;
z-index: 1000;
top:425px;
left: 45%;
margin-left: -29px;
}
.dg-container nav span{
text-indent: -9000px;
float: left;
cursor:pointer;
width: 24px;
height: 25px;
opacity: 0.8;
background: transparent url(../images/arrows.png) no-repeat top left;
}
.dg-container nav span:hover{
opacity: 1;
}
.dg-container nav span.dg-prev{
margin-right: 10px;
width: 33px;
height: 33px;
background: transparent url(../images/dg-prev.png) no-repeat top left;
}
.dg-container nav span.dg-next{
margin-left: 10px;
width: 33px;
height: 33px;
background: transparent url(../images/dg-next.png) no-repeat top left;
}
.tab-content > .tab-pane,
.pill-content > .pill-pane {
display: block;
height: 0;
overflow-y: hidden;
}
.tab-content > .active,
.pill-content > .active {
height: auto;
}
table.dataTable tbody tr.selected{background-color:#eee;}
@media screen and (min-width: 1200px) and (max-width:1400px) {
.form-control{
height: 100%;
}
}
/* ruler */
div.ruler {height:20px; width:220px; background-color:#f0f6e4;border: 1px solid #333; margin-bottom: 5px; cursor: pointer}
div.ruler div.cursor {height:20px; width:30px; background-color:#3C6E31; color:white; text-align: right; padding-right: 5px; cursor: pointer}
.float-news,.float-open{background:#fbfbfb;border:2px solid #e1e1e1;border-right:0 none;border-top-right-radius:4px;border-bottom-right-radius:4px;box-shadow:1px 1px 2px rgba(0, 0, 0, 0.5);display:inline-block;font-size:16px; float:right;!important}
.float-news{height:300px;right:0px;padding:10px 15px;width:210px;z-index:100;top:117px;_margin-top:117px;}
.float-open{height:42px;right:-70px;padding:4px 4px 4px 6px;z-index:99;top:206px;_margin-top:206px;}
.float-news,.float-open{position:fixed;*zoom:1;_position:absolute;_top:expression(eval(document.documentElement.scrollTop));}
.float-close{background:url(../images/nav-close.png) no-repeat left top;overflow:hidden;height:32px;opacity:.6;filter:alpha(opacity=60);position:absolute;right:9px;text-indent:100%;top:10px;white-space:nowrap;width:32px;}
.open-btn{background:url(../images/ml-open-demo.png) no-repeat left top;display:block;overflow:hidden;height:32px;opacity:.6;filter:alpha(opacity=60);text-indent:100%;white-space:nowrap;width:32px;}
.float-close:hover,.open-btn:hover{opacity:1;filter:alpha(opacity=100);}
.newslist h3{color:#333;border-bottom:4px solid #F2F2F2;font-size:26px;height:54px;line-height:54px;font-family:Microsoft Yahei,simsun,arial,sans-serif;}
.newslist div{margin-top:10px; position:relative;height:30px;line-height:30px;font-size:14px;}
/*主题背景色*/
.themeBGColor{background-color: var(--primarycolor);color:#fff;}
.themeBGColor:hover{background-color: var(--primarycolor);color:#fff;}
.themeColor{color: var(--primarycolor);}
/*按钮主题色*/
.btn-primary{color: #fff;background-color: var(--primarycolor);border-color: var(--primarycolor);}
.btn-primary:hover{background-color: var(--primarycolor);}
.btn-primary:focus, .btn-primary.focus {
color: #fff;
background-color: var(--primarycolor);
border-color: var(--primarycolor);
}
.btn.focus, .btn:focus, .btn:hover{
color:#fff;
}
/*分页主题色*/
.pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus{background-color: var(--primarycolor);}
/*main页面的主题色*/
.bg-main{width:100%;height:100%;background: var(--primarycolor);}
/*瀵艰埅鏍忕殑棰滆壊閰嶇疆*/
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #c5dbec; background: #ffffff 50% 50% repeat-x; font-weight: bold; color: #2e6e9e; }
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #79b7e7; background: var(--primarycolor) 50% 50% repeat-x; font-weight: bold; color: #e17009; }
ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited{color: var(--primarycolor)}
.ui-state-active a, .ui-widget-content .ui-state-active a, .ui-widget-header .ui-state-active a {color:#ffffff}
/*瀵艰埅鏍忕殑涓嬭竟妗嗕富棰橀鑹<EE9681>*/
.ui-widget-header {border-bottom: 1px solid var(--primarycolor);color: #ffffff;font-weight: bold;}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
color: #555;
cursor: default;
background-color: #fff;
border: 1px solid var(--primarycolor);
border-bottom-color: transparent;
}
.nav-tabs > li > a {
margin-right: 2px;
line-height: 1.42857143;
border: 1px solid transparent;
border-radius: 4px 4px 0 0;
}
/*菜单下按钮主题色*/
.nav-tabs {border-bottom: 1px solid var(--primarycolor);}
/*按钮主题色*/
button.dt-button,
div.dt-button,
a.dt-button {
color: white;
white-space: nowrap;
overflow: hidden;
background-color: var(--primarycolor);
/* Fallback */
background-image: -webkit-linear-gradient(top, var(--primarycolor) 0%, var(--primarycolor) 100%);
/* Chrome 10+, Saf5.1+, iOS 5+ */
background-image: -moz-linear-gradient(top, var(--primarycolor) 0%, var(--primarycolor) 100%);
/* FF3.6 */
background-image: -ms-linear-gradient(top, var(--primarycolor) 0%, var(--primarycolor) 100%);
/* IE10 */
background-image: -o-linear-gradient(top, var(--primarycolor) 0%, var(--primarycolor) 100%);
/* Opera 11.10+ */
background-image: linear-gradient(to bottom, var(--primarycolor) 0%, var(--primarycolor) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr=' var(--primarycolor)', EndColorStr=' var(--primarycolor)');
}
.nav-pills>li.active>a, .nav-pills>li.active>a:focus, .nav-pills>li.active>a:hover {
color: #fff;
background-color: var(--primarycolor);
}
/*甯姪涓績鐨勬枃瀛楅<E7809B>変腑鐨勪富棰橀鑹<EE9681>*/
.bs-docs-sidebar .nav > .active > a,
.bs-docs-sidebar .nav > .active:hover > a,
.bs-docs-sidebar .nav > .active:focus > a {
color: var(--primarycolor);
border-left: 2px solid var(--primarycolor);
}
/*鐩戞祴鐐归椤祎ip鎻愮ず鐨勬爣绛句富棰橀鑹<EE9681>*/
.mystyle > label{background: var(--primarycolor);color:#FFFFFF;}
.cancleBGColor{background-color: #ff5722;color:#fff;}
.cancleColor{color:#ff5722;}
.table-middle{text-align:center;vertical-align:middle !important;}
.mainright{float:left;margin-left:1px; height:2000px;width:300px;}
.imgarrow{float:left; margin-top:1px; margin-left:20px; margin-top:14px;}
.middlediv{float:left;height: 100%}
.middleleft{border:1px solid rgb(0,106,106); margin-bottom:1px;margin-top:1px;float:left;width:260px;height: 99%}
.lefttophandle{float:left; width:75px;text-align:center;}
.lefttophandle p{ float:left;}
.lefttophandle p a{font-size:11px;}
.rightinfo{padding:8px;}
.lefttoptitle{float:left; width:230px;text-align:center;}
.lefttoptitle img{float:left; margin-top:2px;margin-left:5px;}
.lefttoptitle lable{float:left; margin-left:5px;}
.form-control{font-size:12px}
.toolbar1{float:right;}
.toolbar1 li{background:url(../images/toolbg.gif) repeat-x; line-height:33px; height:33px; border:solid 1px #d3dbde; float:left; padding-right:10px; margin-left:5px;border-radius: 3px;}
.toolbar1 li span{float:left; margin-left:10px; margin-right:5px; margin-top:5px;cursor:pointer;}
.layui-layer-btn .layui-layer-btn0 {
border-color: var(--primarycolor) !important;
background-color: var(--primarycolor) !important;
color: #fff;
}
/*登录按钮获取焦点颜色*/
#login:focus{
background: var(--primarycolor);
}
/*登陆页面输入框小图标的颜色*/
.loginicon{
left:5px;
top:5px;
color: var(--primarycolor);
}
/*登录页面的背景色*/
.bg-login{width:100%;height:100%;overflow:hidden;background: var(--primarycolor);}
/*左侧菜单颜色控制*/
.left-menu .menu-slidedown li a:hover{background: var(--primarycolor);opacity:0.2;}
.left-menu .menu-slidedown li.hover{background: var(--primarycolor);opacity:0.7;}
/*导航菜单的颜色,包括二级菜单*/
.top-menu .menutwo{display:none;position: absolute;left:-10px;top:28px;z-index:99;background: var(--primarycolor);opacity:0.9;font-size:14px; border-bottom-right-radius: 5px;border-bottom-left-radius: 5px;}
.top-menu .menutwo a{color:#fff;display:block;height:40px;line-height:40px;width:120px;text-align:center;border-bottom:1px solid rgba(255,255,255,0.3);}
.top-menu .menutwo a:hover{background: var(--primarycolor);opacity:0.8;}
/**未知**/
.slide-carousel .indicator-list a.selected {
border-color: #fff;
background-color: var(--primarycolor);
}
.ui-widget-header { border-bottom: 1px solid var(--primarycolor); color: #ffffff; font-weight: bold; }
/*监测点*/
.right-arr,.left-arr{position: absolute;font-size:30px;color: var(--primarycolor);cursor: pointer;background:rgba(0,0,0,0.2);}
/*datatables导出按钮*/
button.dt-button:focus:not(.disabled),
div.dt-button:focus:not(.disabled),
a.dt-button:focus:not(.disabled) {
border: 1px solid #426c9e;
text-shadow: 0 1px 0 #c4def1;
outline: none;
background-color: var(--primarycolor);
/* Fallback */
background-image: -webkit-linear-gradient(top, var(--primarycolor) 0%, var(--primarycolor) 100%);
/* Chrome 10+, Saf5.1+, iOS 5+ */
background-image: -moz-linear-gradient(top, var(--primarycolor) 0%, var(--primarycolor) 100%);
/* FF3.6 */
background-image: -ms-linear-gradient(top, var(--primarycolor) 0%, var(--primarycolor) 100%);
/* IE10 */
background-image: -o-linear-gradient(top, var(--primarycolor) 0%, var(--primarycolor) 100%);
/* Opera 11.10+ */
background-image: linear-gradient(to bottom, var(--primarycolor) 0%, var(--primarycolor) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr=' var(--primarycolor)', EndColorStr=' var(--primarycolor)');
}
div.dt-button-collection button.dt-button:active:not(.disabled), div.dt-button-collection button.dt-button.active:not(.disabled),
div.dt-button-collection div.dt-button:active:not(.disabled),
div.dt-button-collection div.dt-button.active:not(.disabled),
div.dt-button-collection a.dt-button:active:not(.disabled),
div.dt-button-collection a.dt-button.active:not(.disabled) {
background-color: var(--primarycolor);
/* Fallback */
background-image: -webkit-linear-gradient(top, var(--primarycolor) 0%, var(--primarycolor) 100%);
/* Chrome 10+, Saf5.1+, iOS 5+ */
background-image: -moz-linear-gradient(top, var(--primarycolor) 0%, var(--primarycolor) 100%);
/* FF3.6 */
background-image: -ms-linear-gradient(top, var(--primarycolor) 0%, var(--primarycolor) 100%);
/* IE10 */
background-image: -o-linear-gradient(top, var(--primarycolor) 0%, var(--primarycolor) 100%);
/* Opera 11.10+ */
background-image: linear-gradient(to bottom, var(--primarycolor) 0%, var(--primarycolor) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr=' var(--primarycolor)', EndColorStr=' var(--primarycolor)');
box-shadow: inset 1px 1px 3px #666;
}
button.dt-button:hover:not(.disabled),
div.dt-button:hover:not(.disabled),
a.dt-button:hover:not(.disabled) {
border: 1px solid #666;
background-color: var(--primarycolor);
/* Fallback */
background-image: -webkit-linear-gradient(top, var(--primarycolor) 0%, var(--primarycolor) 100%);
/* Chrome 10+, Saf5.1+, iOS 5+ */
background-image: -moz-linear-gradient(top, var(--primarycolor) 0%, var(--primarycolor) 100%);
/* FF3.6 */
background-image: -ms-linear-gradient(top, var(--primarycolor) 0%, var(--primarycolor) 100%);
/* IE10 */
background-image: -o-linear-gradient(top, var(--primarycolor) 0%, var(--primarycolor) 100%);
/* Opera 11.10+ */
background-image: linear-gradient(to bottom, var(--primarycolor) 0%, var(--primarycolor) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr=' var(--primarycolor)', EndColorStr=' var(--primarycolor)');
}
/*稳态趋势对比图表颜色*/
.historyA{
color: var(--primarycolor);
}
/*开关的背景色*/
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary, .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary {
color: #fff;
background: var(--primarycolor);
}
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary.active, .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary.disabled, .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary:active, .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary:focus, .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary:hover, .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary[disabled], .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary.active, .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary.disabled, .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary:active, .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary:focus, .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary:hover, .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary[disabled] {
color: #fff;
background-color: var(--primarycolor);
}
/*多选框鼠标浮动的背景颜色*/
[name='datali'] > div:hover,
.ec > div:hover {
background-color: var(--primarycolor);
color: #ffffff;
}
.el-radio-button__orig-radio:checked+.el-radio-button__inner {
color: #FFF;
background-color: var(--primarycolor);
border-color: var(--primarycolor);
-webkit-box-shadow: -1px 0 0 0 var(--primarycolor);
box-shadow: -1px 0 0 0 var(--primarycolor);
}
.menu{
margin-top: -3px;
}
.areaicon{position: relative;right: 15px;}
.ztree ul{
border:0 !important;
}
.dt-buttons .dt-button{
border-radius: 4px;
}

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,310 @@
@import "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css";
/*-------------------------------*/
/* VARIABLES */
/*-------------------------------*/
body {
position: relative;
overflow-x: hidden;
}
body,
html {
height: 100%;
background-color: #583e7e;
}
.nav .open > a {
background-color: transparent;
}
.nav .open > a:hover {
background-color: transparent;
}
.nav .open > a:focus {
background-color: transparent;
}
/*-------------------------------*/
/* Wrappers */
/*-------------------------------*/
#wrapper {
-moz-transition: all 0.5s ease;
-o-transition: all 0.5s ease;
-webkit-transition: all 0.5s ease;
padding-left: 0;
transition: all 0.5s ease;
}
#wrapper.toggled {
padding-left: 220px;
}
#wrapper.toggled #sidebar-wrapper {
width: 220px;
}
#wrapper.toggled #page-content-wrapper {
margin-right: -220px;
position: absolute;
}
#sidebar-wrapper {
-moz-transition: all 0.5s ease;
-o-transition: all 0.5s ease;
-webkit-transition: all 0.5s ease;
background: #1a1a1a;
height: 100%;
left: 220px;
margin-left: -220px;
overflow-x: hidden;
overflow-y: auto;
transition: all 0.5s ease;
width: 0;
z-index: 1000;
}
#sidebar-wrapper::-webkit-scrollbar {
display: none;
}
#page-content-wrapper {
padding-top: 70px;
width: 100%;
}
/*-------------------------------*/
/* Sidebar nav styles */
/*-------------------------------*/
.sidebar-nav {
list-style: none;
margin: 0;
padding: 0;
position: absolute;
top: 0;
width: 220px;
}
.sidebar-nav li {
display: inline-block;
line-height: 20px;
position: relative;
width: 100%;
}
.sidebar-nav li:before {
background-color: #1c1c1c;
content: '';
height: 100%;
left: 0;
position: absolute;
top: 0;
-webkit-transition: width 0.2s ease-in;
transition: width 0.2s ease-in;
width: 3px;
z-index: -1;
}
.sidebar-nav li:first-child a {
background-color: #1a1a1a;
color: #ffffff;
}
.sidebar-nav li:nth-child(2):before {
background-color: #402d5c;
}
.sidebar-nav li:nth-child(3):before {
background-color: #4c366d;
}
.sidebar-nav li:nth-child(4):before {
background-color: #583e7e;
}
.sidebar-nav li:nth-child(5):before {
background-color: #64468f;
}
.sidebar-nav li:nth-child(6):before {
background-color: #704fa0;
}
.sidebar-nav li:nth-child(7):before {
background-color: #7c5aae;
}
.sidebar-nav li:nth-child(8):before {
background-color: #8a6cb6;
}
.sidebar-nav li:nth-child(9):before {
background-color: #987dbf;
}
.sidebar-nav li:hover:before {
-webkit-transition: width 0.2s ease-in;
transition: width 0.2s ease-in;
width: 100%;
}
.sidebar-nav li a {
color: #dddddd;
display: block;
padding: 10px 15px 10px 30px;
text-decoration: none;
}
.sidebar-nav li.open:hover before {
-webkit-transition: width 0.2s ease-in;
transition: width 0.2s ease-in;
width: 100%;
}
.sidebar-nav .dropdown-menu {
background-color: #222222;
border-radius: 0;
border: none;
box-shadow: none;
margin: 0;
padding: 0;
position: relative;
width: 100%;
}
.sidebar-nav li a:hover,
.sidebar-nav li a:active,
.sidebar-nav li a:focus,
.sidebar-nav li.open a:hover,
.sidebar-nav li.open a:active,
.sidebar-nav li.open a:focus {
background-color: transparent;
color: #ffffff;
text-decoration: none;
}
.sidebar-nav > .sidebar-brand {
font-size: 20px;
height: 65px;
line-height: 44px;
}
/*-------------------------------*/
/* Hamburger-Cross */
/*-------------------------------*/
.hamburger {
background: transparent;
border: none;
display: block;
height: 32px;
margin-left: 15px;
position: fixed;
top: 20px;
width: 32px;
z-index: 999;
}
.hamburger:hover {
outline: none;
}
.hamburger:focus {
outline: none;
}
.hamburger:active {
outline: none;
}
.hamburger.is-closed:before {
-webkit-transform: translate3d(0, 0, 0);
-webkit-transition: all 0.35s ease-in-out;
color: #ffffff;
content: '';
display: block;
font-size: 14px;
line-height: 32px;
opacity: 0;
text-align: center;
width: 100px;
}
.hamburger.is-closed:hover before {
-webkit-transform: translate3d(-100px, 0, 0);
-webkit-transition: all 0.35s ease-in-out;
display: block;
opacity: 1;
}
.hamburger.is-closed:hover .hamb-top {
-webkit-transition: all 0.35s ease-in-out;
top: 0;
}
.hamburger.is-closed:hover .hamb-bottom {
-webkit-transition: all 0.35s ease-in-out;
bottom: 0;
}
.hamburger.is-closed .hamb-top {
-webkit-transition: all 0.35s ease-in-out;
background-color: rgba(255, 255, 255, 0.7);
top: 5px;
}
.hamburger.is-closed .hamb-middle {
background-color: rgba(255, 255, 255, 0.7);
margin-top: -2px;
top: 50%;
}
.hamburger.is-closed .hamb-bottom {
-webkit-transition: all 0.35s ease-in-out;
background-color: rgba(255, 255, 255, 0.7);
bottom: 5px;
}
.hamburger.is-closed .hamb-top,
.hamburger.is-closed .hamb-middle,
.hamburger.is-closed .hamb-bottom,
.hamburger.is-open .hamb-top,
.hamburger.is-open .hamb-middle,
.hamburger.is-open .hamb-bottom {
height: 4px;
left: 0;
position: absolute;
width: 100%;
}
.hamburger.is-open .hamb-top {
-webkit-transform: rotate(45deg);
-webkit-transition: -webkit-transform 0.2s cubic-bezier(0.73, 1, 0.28, 0.08);
background-color: #ffffff;
margin-top: -2px;
top: 50%;
}
.hamburger.is-open .hamb-middle {
background-color: #ffffff;
display: none;
}
.hamburger.is-open .hamb-bottom {
-webkit-transform: rotate(-45deg);
-webkit-transition: -webkit-transform 0.2s cubic-bezier(0.73, 1, 0.28, 0.08);
background-color: #ffffff;
margin-top: -2px;
top: 50%;
}
.hamburger.is-open:before {
-webkit-transform: translate3d(0, 0, 0);
-webkit-transition: all 0.35s ease-in-out;
color: #ffffff;
content: '';
display: block;
font-size: 14px;
line-height: 32px;
opacity: 0;
text-align: center;
width: 100px;
}
.hamburger.is-open:hover before {
-webkit-transform: translate3d(-100px, 0, 0);
-webkit-transition: all 0.35s ease-in-out;
display: block;
opacity: 1;
}
/*-------------------------------*/
/* Dark Overlay */
/*-------------------------------*/
.overlay {
position: fixed;
display: none;
width: 100%;
height: 100%;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(0, 0, 0, 0.4);
z-index: 1;
}
/* SOME DEMO STYLES - NOT REQUIRED */
body,
html {
background-color: #583e7e;
}
body h1,
body h2,
body h3,
body h4 {
color: rgba(255, 255, 255, 0.9);
}
body p,
body blockquote {
color: rgba(255, 255, 255, 0.7);
}
body a {
color: rgba(255, 255, 255, 0.8);
text-decoration: underline;
}
body a:hover {
color: #ffffff;
}

View File

@@ -0,0 +1,40 @@
.btn {
display: inline-block;
padding: 1px 9px;
margin-bottom: 0;
font-size: 12px;
font-weight: normal;
line-height: 1.42857143;
text-align: center;
white-space: nowrap;
vertical-align: middle;
-ms-touch-action: manipulation;
touch-action: manipulation;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
background-image: none;
border: 1px solid transparent;
border-radius: 4px;
}
.form-control {
display: block;
width: 100%;
height: 26px;
padding: 4px 12px !important;
font-size: 12px;
line-height: 1.42857143;
color: #555;
background-color: #fff;
background-image: none;
border: 1px solid #ccc;
border-radius: 4px;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
-webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More