初始化项目
This commit is contained in:
138
pqs9900/src/main/webapp/WEB-INF/views/business/device/addDev.jsp
Normal file
138
pqs9900/src/main/webapp/WEB-INF/views/business/device/addDev.jsp
Normal file
@@ -0,0 +1,138 @@
|
||||
<%@ 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;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="bg-white">
|
||||
<div class="layui-form-item layui-form-text pdt15" style="width:320px">
|
||||
<label class="layui-form-label font12" style="width:100px;font-weight: normal;">名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="devName" placeholder="请输入" autocomplete="off" maxlength="64"
|
||||
class="form-control">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-layer-btn">
|
||||
<a class="layui-layer-btn0" id="addDev">确定</a>
|
||||
<a class="layui-layer-btn1" id="cancleAdd">取消</a>
|
||||
</div>
|
||||
</div>
|
||||
<input type="hidden" value="${sessionScope.gdIndex}" id="gdIndex" name="gdIndex">
|
||||
<input type="hidden" value="${sessionScope.subIndex}" id="subIndex" name="subIndex">
|
||||
<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 type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
$("html").css("height", "100px");
|
||||
});
|
||||
|
||||
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
|
||||
|
||||
$("#cancleAdd").click(function () {
|
||||
parent.layer.close(index);
|
||||
});
|
||||
|
||||
// $("#choose").change(function(){
|
||||
// var choose = $(this).val();
|
||||
// var index = parent.layer.getFrameIndex(window.name);
|
||||
// if(choose=="1"){
|
||||
// $("#zdm").removeAttr("hidden");
|
||||
// $("#my").removeAttr("hidden");
|
||||
// parent.layer.style(index,{height:"340px"});
|
||||
// }else{
|
||||
// $("#zdm").attr("hidden","true");
|
||||
// $("#my").attr("hidden","true");
|
||||
// parent.layer.style(index,{height:"220px"});
|
||||
// }
|
||||
// })
|
||||
|
||||
$("#addDev").click(function () {
|
||||
var devName = $("#devName").val();
|
||||
devName = filterXSS(devName);
|
||||
var gdIndex = $("#gdIndex").val();
|
||||
var subIndex = $("#subIndex").val();
|
||||
gdIndex = filterXSS(gdIndex);
|
||||
subIndex = filterXSS(subIndex);
|
||||
// var series = $("#series").val();
|
||||
// series=filterXSS(series);
|
||||
// var key = $("#key").val();
|
||||
// key=filterXSS(key);
|
||||
// var choose = $("#choose").val();
|
||||
if (devName == null || devName == "") {
|
||||
layer.tips('名称不可为空', '#devName', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
}
|
||||
// else if(choose=="1" && series.length<8){
|
||||
// layer.tips('请至少输入8位终端码', '#series', {
|
||||
// tips: [1, 'red'] //还可配置颜色
|
||||
// });
|
||||
// }else if(choose=="1" && key.length<8){
|
||||
// layer.tips('请至少输入8位秘钥', '#key', {
|
||||
// tips: [1, 'red'] //还可配置颜色
|
||||
// });
|
||||
// }
|
||||
else {
|
||||
$.ajax({
|
||||
url: '/pqs9900/device/addDevice',
|
||||
type: 'POST',
|
||||
dataType: "text",
|
||||
data: {
|
||||
devName: devName,
|
||||
gdIndex: gdIndex,
|
||||
subIndex: subIndex
|
||||
// ,series:series,
|
||||
// key:key
|
||||
},
|
||||
success: function (data) {
|
||||
var info = $.parseJSON(data);
|
||||
if (info.code == 200) {
|
||||
layer.msg('添加成功!', {icon: 1, time: 1000});
|
||||
parent.layer.close(index);
|
||||
var pastIndex = info.body;
|
||||
var node = "4";
|
||||
parent.window.getTree();
|
||||
parent.window.zTreeOnAsyncSuccess(node, pastIndex);
|
||||
} else if (info.code == 400) {
|
||||
layer.msg('添加失败!名称已存在', {icon: 2, time: 1000});
|
||||
} else if (info.code == 300) {
|
||||
layer.msg('添加失败!请先添加服务器信息!', {icon: 2, time: 1000});
|
||||
} else if (info.code == 501) {
|
||||
layer.msg(info.message, {icon: 2, time: 1000});
|
||||
} else {
|
||||
layer.msg('添加失败!', {icon: 2, time: 1000});
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -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" %>
|
||||
<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/amazeui/amazeui.css" media="all">
|
||||
<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="padding-top: 15px">
|
||||
<div class="layui-form-item layui-form-text" style="width:320px">
|
||||
<label class="layui-form-label" style="width:100px">名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="nodeName" placeholder="请输入" autocomplete="off" maxlength="32"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text" style="width:320px">
|
||||
<label class="layui-form-label" style="width:100px">等级</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="nodeGrade" maxlength="64" class="layui-select" style="display: block;width: 100%;">
|
||||
<option value="0">重要</option>
|
||||
<option value="1">普通</option>
|
||||
<option value="2">备用</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text" style="width:320px">
|
||||
<label class="layui-form-label" style="width:100px">最大装置数</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="nodeDevNum" value="100" placeholder="请输入" autocomplete="off" maxlength="32"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text" style="width:320px">
|
||||
<label class="layui-form-label" style="width:100px">描述</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="nodeDesc" placeholder="请输入" autocomplete="off" maxlength="64"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-form-text" style="width:320px">
|
||||
<label class="layui-form-label" style="width:100px">IP</label>
|
||||
<div class="layui-input-block">
|
||||
<input name="ip4" id="ip4" style="width:35px" maxlength="3"
|
||||
onkeyup="this.value=this.value.replace(/[^0-9-]+/,'');">.
|
||||
<input name="ip3" id="ip3" style="width:35px" maxlength="3"
|
||||
onkeyup="this.value=this.value.replace(/[^0-9-]+/,'');">.
|
||||
<input name="ip2" id="ip2" style="width:35px" maxlength="3"
|
||||
onkeyup="this.value=this.value.replace(/[^0-9-]+/,'');">.
|
||||
<input name="ip1" id="ip1" style="width:35px" maxlength="3"
|
||||
onkeyup="this.value=this.value.replace(/[^0-9-]+/,'');">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block" style="width:320px">
|
||||
<button type="button" class="layui-btn themeBGColor" id="addNode" style="margin-left:10px">提交</button>
|
||||
<button type="reset" class="layui-btn cancleBGColor" style="margin-left:45px" id="cancleAdd">取消</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<script src="${ctx}/js/plugin/jquery.min.js"></script>
|
||||
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.min.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/plugin/xss/xss.js"></script>
|
||||
<script src="${ctx}/js/basic.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
|
||||
<script type="text/javascript">
|
||||
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
|
||||
|
||||
$("#cancleAdd").click(function () {
|
||||
parent.layer.close(index);
|
||||
});
|
||||
|
||||
$("#addNode").click(function () {
|
||||
var nodeName = $("#nodeName").val();
|
||||
nodeName = filterXSS(nodeName);
|
||||
var nodeDesc = $("#nodeDesc").val();
|
||||
nodeDesc = filterXSS(nodeDesc);
|
||||
var nodeGrade = $("#nodeGrade").val();
|
||||
let nodeDevNum = $("#nodeDevNum").val()
|
||||
|
||||
var ip4 = $("#ip4").val();
|
||||
ip4 = filterXSS(ip4);
|
||||
var ip3 = $("#ip3").val();
|
||||
ip3 = filterXSS(ip3);
|
||||
var ip2 = $("#ip2").val();
|
||||
ip2 = filterXSS(ip2);
|
||||
var ip1 = $("#ip1").val();
|
||||
ip1 = filterXSS(ip1);
|
||||
if (nodeName == null || nodeName == "") {
|
||||
layer.tips('名称不可为空', '#nodeName', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
}else if (!/^[\u4E00-\u9FA5A-Za-z0-9_]+$/gi.test(nodeName)) {
|
||||
layer.tips('名称含有非汉字字符', '#nodeName', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
} else if (!/^\+?[1-9]{1}[0-9]{0,2}\d{0,0}$/.test(nodeDevNum)) {
|
||||
layer.tips('请规范填写最大装置数量', '#nodeDevNum', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
} else if (ip4 > 255 || ip4 < 0) {
|
||||
layer.tips('ip限制为0-255', '#ip4', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
} else if (ip3 > 255 || ip3 < 0) {
|
||||
layer.tips('ip限制为0-255', '#ip3', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
} else if (ip2 > 255 || ip2 < 0) {
|
||||
layer.tips('ip限制为0-255', '#ip2', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
} else if (ip1 > 255 || ip1 < 0) {
|
||||
layer.tips('ip限制为0-255', '#ip1', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
} else {
|
||||
$.ajax({
|
||||
url: '/pqs9900/device/addNode',
|
||||
type: 'POST',
|
||||
dataType: "text",
|
||||
data: {
|
||||
nodeName: nodeName,
|
||||
nodeDesc: nodeDesc,
|
||||
ip4: ip4,
|
||||
ip3: ip3,
|
||||
ip2: ip2,
|
||||
ip1: ip1,
|
||||
nodeGrade: nodeGrade,
|
||||
nodeDevNum:nodeDevNum
|
||||
},
|
||||
success: function (data) {
|
||||
var info = $.parseJSON(data);
|
||||
if (info.code == 200) {
|
||||
layer.msg('添加成功!', {icon: 1, time: 1000});
|
||||
parent.layer.close(index);
|
||||
} else if (info.code == 400) {
|
||||
layer.msg('添加失败!名称已存在', {icon: 2, time: 1000});
|
||||
} else {
|
||||
layer.msg('添加失败!', {icon: 2, time: 1000});
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,282 @@
|
||||
<%@ 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/bootstrap/bootstrap-datetimepicker.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/basic.css">
|
||||
<style>
|
||||
.tr {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.td {
|
||||
text-align: center;
|
||||
line-height: 48px
|
||||
}
|
||||
|
||||
.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 ml15">
|
||||
<%@include file="../../include/time.jsp" %>
|
||||
<button id="query" type="button" class="btn themeBGColor">
|
||||
<i class="glyphicon glyphicon-search"></i>
|
||||
</button>
|
||||
<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">
|
||||
<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>
|
||||
<%--当前会话的用户名--%>
|
||||
<script src="${ctx}/js/plugin/jquery.min.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}/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/timeControl.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/common.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/loading.js"></script>
|
||||
<script>
|
||||
$("#interval").val("月份");
|
||||
let devId = getQueryString("devIndex")
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 终端更改日志
|
||||
*/
|
||||
var dataTable = null;
|
||||
var resultData = null;
|
||||
|
||||
$(document).ready(function () {
|
||||
load();
|
||||
});
|
||||
$("#query").click(function () {
|
||||
load();
|
||||
});
|
||||
|
||||
|
||||
function load() {
|
||||
var startTime = $("#startTime").val();
|
||||
var endTime = $("#endTime").val();
|
||||
var i;
|
||||
$.ajax({
|
||||
type: "get",
|
||||
url: "/pqs9900/device/getDevRunFlagLogs",
|
||||
data: {
|
||||
startTime:startTime,
|
||||
endTime:endTime,
|
||||
devId:devId
|
||||
},
|
||||
beforeSend: function () {
|
||||
i = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
error: function (data) {
|
||||
layer.msg("暂无数据", {
|
||||
icon: 5,
|
||||
time: 3000
|
||||
});
|
||||
//***********关闭loading
|
||||
ityzl_CLOSE_LOAD_LAYER(i);
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.code == 500) {
|
||||
resultData = null;
|
||||
//没有数据
|
||||
initTable(null);
|
||||
} else {
|
||||
|
||||
if (data.body.length == 0) {
|
||||
resultData = null;
|
||||
//没有数据
|
||||
initTable(null);
|
||||
} else {
|
||||
resultData = data.body;
|
||||
initTable(resultData);
|
||||
}
|
||||
}
|
||||
startQuery();
|
||||
//***********关闭loading
|
||||
ityzl_CLOSE_LOAD_LAYER(i);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function initTable(data) {
|
||||
var height = $(window).height() - 160;
|
||||
var length = Math.floor(height / 28);
|
||||
if (length < 1) {
|
||||
length = 1;
|
||||
}
|
||||
dataTable = $("#terminallogid").DataTable();
|
||||
dataTable.clear().draw();
|
||||
dataTable = $('#terminallogid').DataTable({
|
||||
// order: [[10, 'asc']],
|
||||
columnDefs: [
|
||||
{
|
||||
orderable: false,
|
||||
targets: [2, 3]
|
||||
}
|
||||
],
|
||||
columns: [
|
||||
{"width": "4%",data: null,"targets": 0},
|
||||
{"width": "15%",data:"objIndex"},
|
||||
{"width": "8%",data:"userIndex"},
|
||||
{"width": "11%",data:"updateTime",render:function (data) {
|
||||
return formatTime(data,1)
|
||||
}},
|
||||
{"width": "42%",data:"terminalDescribe"}
|
||||
],
|
||||
autoWidth: false,
|
||||
serverSide: false,
|
||||
destroy: true,
|
||||
data: data,
|
||||
lengthChange: false,
|
||||
searching: true,
|
||||
dom: 'rtip',
|
||||
pageLength: length,
|
||||
language: {
|
||||
url: '/pqs9900/json/chine.json'
|
||||
},
|
||||
"createdRow": function (row, data, index) {
|
||||
|
||||
if (data.length > 70) {
|
||||
var realValue = data;
|
||||
var s = data.substr(0, 65) + '...'
|
||||
$('td', row).eq(5).prevObject[5].innerHTML = "<span title='" + realValue + "'>" + s + "</span>";
|
||||
}
|
||||
},
|
||||
fnDrawCallback: function (oTable) {
|
||||
$("#terminallogid_info").addClass("fl");
|
||||
$("#terminallogid_paginate").addClass("fr");
|
||||
$("#terminallogid_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 = $("#terminallogid").dataTable();
|
||||
$('#dataTable-btn').click(function (e) {
|
||||
if ($("#changePage").val() && $("#changePage").val() > 0) {
|
||||
var redirectpage = $("#changePage").val() - 1;
|
||||
} else {
|
||||
var redirectpage = 0;
|
||||
}
|
||||
table.fnPageChange(redirectpage);
|
||||
});
|
||||
}
|
||||
});
|
||||
dataTable.on('order.dt search.dt',
|
||||
function () {
|
||||
dataTable.column(0, {
|
||||
search: 'applied',
|
||||
order: 'applied'
|
||||
}).nodes().each(function (cell, i) {
|
||||
cell.innerHTML = i + 1;
|
||||
});
|
||||
}).draw();
|
||||
new $.fn.dataTable.Buttons(dataTable, {
|
||||
buttons: [
|
||||
{
|
||||
extend: 'csv',//导出格式
|
||||
title: '终端更改日志列表',//导出csv名称
|
||||
exportOptions: {
|
||||
columns: [1, 2, 3,4],//导出需要的列
|
||||
format: {
|
||||
body: function (data) {//对导出内容的筛选 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().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 = $("#terminallogid").width();
|
||||
if (width > 100) {
|
||||
initTable(resultData);
|
||||
window.clearInterval(it)
|
||||
}
|
||||
}
|
||||
|
||||
//特殊处理,表头紧缩问题--end
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -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>
|
||||
<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/datatimepicker/bootstrap-datetimepicker.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.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/bootstrapSwitch/bootstrap-switch.min.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/basic.css">
|
||||
<style>
|
||||
.form-control {
|
||||
height: 22px;
|
||||
padding: 1px 5px;
|
||||
}
|
||||
|
||||
#deviceTable {
|
||||
min-width: 100%;
|
||||
}
|
||||
|
||||
.btn {
|
||||
padding: 1px 6px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.table > tbody > tr > td {
|
||||
padding: 5px;
|
||||
line-height: 1.42857143;
|
||||
vertical-align: middle;
|
||||
border-top: 1px solid #ddd;
|
||||
}
|
||||
.checkbox-inline+.checkbox-inline, .radio-inline+.radio-inline{
|
||||
margin-left: 0px;
|
||||
}
|
||||
|
||||
|
||||
.error {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
margin: auto;
|
||||
position: relative;
|
||||
margin-left: 32px;
|
||||
}
|
||||
.error::before,
|
||||
.error::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
height: 13px;
|
||||
width: 3px;
|
||||
top: 3px;
|
||||
right: 15px;
|
||||
background: red;
|
||||
}
|
||||
.error::before {
|
||||
transform: rotate(45deg);
|
||||
}
|
||||
.error::after {
|
||||
transform: rotate(-45deg);
|
||||
}
|
||||
|
||||
.success{
|
||||
display: inline-block;
|
||||
font-weight: 700;
|
||||
margin: 0 10px;
|
||||
width: 8px;
|
||||
height: 13px;
|
||||
transform: rotate(45deg);
|
||||
border-style: solid;
|
||||
border-color: #009933;
|
||||
border-width: 0 4px 4px 0 ;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-lg-6">
|
||||
|
||||
<div class="form-inline mt10">
|
||||
<div class="row">
|
||||
<form class="form-inline ml15 header">
|
||||
<%@include file="../../include/time.jsp" %>
|
||||
<div class="form-group has-feedback mr10 ml10">
|
||||
<label>统计类型:</label>
|
||||
<input type="checkbox" style="display: none" checked id="wanzheng"/>
|
||||
</div>
|
||||
<button id="query" type="button" title="查询" class="btn themeBGColor">
|
||||
<i class="glyphicon glyphicon-search"></i>
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-lg-6 mt10" style="height: 40px">
|
||||
<div id="content_ch" ></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<%--页面表格--%>
|
||||
<div class="col-md-12 col-lg-12">
|
||||
<div class="width100 halfHeight">
|
||||
<table id="deviceTable" class="table table-striped table-bordered dataTable no-footer width100">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>月份</th>
|
||||
<th>套餐流量(MB)</th>
|
||||
<th>运营商统计流量(MB)</th>
|
||||
<th>系统统计流量(MB)</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-lg-12">
|
||||
<div id="flow_month" style="margin-top: 10px"></div>
|
||||
<div id="flow_month2" style="margin-top: 10px"></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}/js/plugin/highchart/highcharts.js"></script>
|
||||
<script src="${ctx}/js/plugin/highchart/export.js"></script>
|
||||
<script src="${ctx}/js/plugin/highchart/offline-exporting.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}/jspJS/utils/loading.js"></script>
|
||||
<script src="${ctx}/js/plugin/bootstrapSwitch/bootstrap-switch.min.js"></script>
|
||||
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.min.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/common.js"></script>
|
||||
<script src="${ctx}/js/color.js"></script>
|
||||
<script src="${ctx}/jspJS/device/deviceFlowDetail.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,135 @@
|
||||
<%@ 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/datatimepicker/bootstrap-datetimepicker.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.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">
|
||||
<style>
|
||||
.form-control {
|
||||
height: 22px;
|
||||
padding: 1px 5px;
|
||||
}
|
||||
|
||||
#deviceTable {
|
||||
min-width: 100%;
|
||||
}
|
||||
.btn {
|
||||
padding: 1px 6px;
|
||||
font-size:12px;
|
||||
}
|
||||
|
||||
.table > tbody > tr > td {
|
||||
padding: 5px;
|
||||
line-height: 1.42857143;
|
||||
vertical-align: middle;
|
||||
border-top: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.pagination > li > a, .pagination > li > span {
|
||||
padding: 6px 12px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="container-fluid">
|
||||
<div class="row">
|
||||
<%--页面头--%>
|
||||
<div class="col-md-12">
|
||||
<div class="form-inline mt10">
|
||||
<div class="form-group">
|
||||
<label>通讯状态:</label>
|
||||
<select class="form-control" id="comm_state" style="width: 80px">
|
||||
<option value="">全部</option>
|
||||
<option value="0">中断</option>
|
||||
<option value="1">正常</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>装置型号:</label>
|
||||
<select class="form-control" id="decice_model" style="width: 180px">
|
||||
|
||||
</select>
|
||||
</div>
|
||||
<button type="button" class="btn btn-primary " id="query">
|
||||
<i class="glyphicon glyphicon-search"></i>查询
|
||||
</button>
|
||||
<div class="form-group fr mr10" id="fliteData">
|
||||
|
||||
</div>
|
||||
<div class="form-group fr mr10">
|
||||
<label>筛选数据:</label>
|
||||
<input type="text" class="form-control" onkeyup="searchResult(this.value)" placeholder="空格分开多条件筛选数据">
|
||||
<button type="button" style="margin-right: 10px;margin-left: 10px" class="btn btn-primary " id="ztgl">
|
||||
<i class="glyphicon"></i>终端状态管理
|
||||
</button>
|
||||
<button type="button" style="margin-right: 10px" class="btn btn-primary " id="tcgl">
|
||||
<i class="glyphicon glyphicon-cog"></i>流量套餐配置
|
||||
</button>
|
||||
<button type="button" style="margin-right: 10px" class="btn btn-primary " id="clgl">
|
||||
<i class="glyphicon glyphicon-cog"></i>流量策略配置
|
||||
</button>
|
||||
<button type="button" style="margin-right: 20px" class="btn btn-primary " id="lltj">
|
||||
<i class="glyphicon glyphicon-cog"></i>流量统计
|
||||
</button>
|
||||
<button type="button" class="btn btn-primary " id="rest">
|
||||
<i class="glyphicon glyphicon-repeat"></i>重启前置程序
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<%--页面表格--%>
|
||||
|
||||
<div class="col-md-12">
|
||||
<div class="tablediv width100">
|
||||
<table id="deviceTable" class="table table-striped table-bordered dataTable no-footer width100 mt15" style="white-space: nowrap;">
|
||||
<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>基础流量(M)</th>
|
||||
<th>扩展流量(M)</th>
|
||||
<th>已用流量(%)</th>
|
||||
<th>通讯状态</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style=" position: fixed;top: 0px;right:0px;z-index:9999;" id="msgInfo"></div>
|
||||
<input type="hidden" id="username" value="${username}">
|
||||
<script src="${ctx}/js/plugin/jquery/jquery.min.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.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}/jspJS/utils/loading.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}/jspJS/utils/common.js"></script>
|
||||
<script src="${ctx}/jspJS/confirmIndentity.js"></script>
|
||||
<script src="${ctx}/jspJS/device/deviceProperty.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,82 @@
|
||||
<%@ 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/metroStyle/metroStyle.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/basic.css">
|
||||
<style>
|
||||
.list-group-item {
|
||||
height: 33.33%;
|
||||
text-align: center;
|
||||
padding: 30% 0;
|
||||
font-size: 18px
|
||||
}
|
||||
.table>tbody>tr>td{
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body class="container-fluid" style="overflow-y: hidden">
|
||||
<div class="row" style="padding: 5px 5px;text-align: center">
|
||||
<span class="col-md-7 col-xs-7" style="color: red" id="info"></span>
|
||||
<span style="margin-left: 30px" id="timeid"></span>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-xs-12">
|
||||
|
||||
<%--实时状态--%>
|
||||
<div id="run_info" class="mt5">
|
||||
|
||||
</div>
|
||||
|
||||
<div id="info_div" class="mt10">
|
||||
<table class="table table-bordered">
|
||||
<tr><td>cpu详情:</td><td>使用:</td><td class="span0">-</td><td>剩余:</td><td class="span0"></td><td>-</td><td>-</td></tr>
|
||||
<tr><td>内存详情:</td><td>内存总量:</td><td class="span1">-</td><td>已使用:</td><td class="span1">-</td><td>未使用:</td><td class="span1">-</td></tr>
|
||||
<tr><td>磁盘详情:</td><td>磁盘总量:</td><td class="span2">-</td><td>已使用:</td><td class="span2">-</td><td>未使用:</td><td class="span2">-</td></tr>
|
||||
</table>
|
||||
<%-- <div id="div_0" style="width:100%">
|
||||
<label></label><span class="span0"></span>
|
||||
<label style="margin-left: 10%">剩余: </label><span class="span0"></span>
|
||||
</div>
|
||||
<div id="div_1" style="display: none;width: 100%">
|
||||
<label> </label><span class="span1"></span>
|
||||
<label style="margin-left: 10%">已使用: </label><span class="span1"></span>
|
||||
<label style="margin-left: 10%">未使用: </label><span class="span1"></span>
|
||||
</div>
|
||||
<div id="div_2" style="display: none;width: 100%">
|
||||
<label>磁盘总量:</label><span class="span2"></span>
|
||||
<label style="margin-left: 10%">已使用: </label><span class="span2"></span>
|
||||
<label style="margin-left: 10%">未使用: </label><span class="span2"></span>
|
||||
</div>--%>
|
||||
</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}/js/plugin/highchart/highcharts.js"></script>
|
||||
<script src="${ctx}/js/plugin/highchart/export.js"></script>
|
||||
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/loading.js"></script>
|
||||
<script src="${ctx}/js/color.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/common.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
|
||||
<script src="${ctx}/jspJS/device/devicePropertyOpen.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,118 @@
|
||||
<%@ 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/ztree/zTreeStyle.css">
|
||||
<link rel="stylesheet" href="${ctx}/js/plugin/layui/css/layui.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 class="form-group">装置状态:</label>
|
||||
<select id="devFlag" class="form-control">
|
||||
<option value="0">投运</option>
|
||||
<option value="1">热备用</option>
|
||||
<option value="2">停运</option>
|
||||
</select>
|
||||
|
||||
|
||||
<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>相(线)电压基波有效值</th>
|
||||
<th>基波电流</th>
|
||||
<th>基波有功功率</th>
|
||||
<th>基波无功功率</th>
|
||||
<th>电压总谐波畸变率</th>
|
||||
<th>2~50次谐波电压含有率</th>
|
||||
|
||||
<th>2~50次谐波电流有效值</th>
|
||||
<th>2~50次谐波有功功率</th>
|
||||
<th>2~50次谐波无功功率</th>
|
||||
<th>2~50次谐波视在功率</th>
|
||||
<th>0.5~49.5次间谐波电流有效值</th>
|
||||
<th>正序电压</th>
|
||||
<th>零序负序电压</th>
|
||||
<th>操作</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/bootstrap.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}/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/device/deviceUnit.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,213 @@
|
||||
<%@ 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/datatimepicker/bootstrap-datetimepicker.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.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">
|
||||
<style>
|
||||
.form-control {
|
||||
height: 22px;
|
||||
padding: 1px 5px;
|
||||
}
|
||||
|
||||
#deviceTable {
|
||||
min-width: 100%;
|
||||
}
|
||||
.btn {
|
||||
padding: 1px 6px;
|
||||
font-size:12px;
|
||||
}
|
||||
.table > tbody > tr > td {
|
||||
padding: 6px;
|
||||
line-height: 1.42857143;
|
||||
vertical-align: middle;
|
||||
border-top: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.pagination > li > a, .pagination > li > span {
|
||||
padding: 6px 12px;
|
||||
}
|
||||
.process-bar {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
.process-bar {
|
||||
width: 130px;
|
||||
display: inline-block;
|
||||
*zoom: 1;
|
||||
}
|
||||
|
||||
.pb-wrapper {
|
||||
border: 1px solid gray;
|
||||
border-style: solid none;
|
||||
position: relative;
|
||||
background: #cfd0d2;
|
||||
}
|
||||
|
||||
.pb-container {
|
||||
border: 1px solid gray;
|
||||
border-style: none solid;
|
||||
height: 12px;
|
||||
position: relative;
|
||||
left: -1px;
|
||||
margin-right: -2px;
|
||||
font: 1px/0 arial;
|
||||
padding: 1px;
|
||||
}
|
||||
|
||||
.pb-highlight {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
_top: 1px;
|
||||
width: 100%;
|
||||
opacity: 0.6;
|
||||
filter: alpha(opacity=60);
|
||||
height: 6px;
|
||||
background: white;
|
||||
font-size: 1px;
|
||||
line-height: 0;
|
||||
z-index: 1
|
||||
}
|
||||
|
||||
.pb-text {
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
text-align: center;
|
||||
font: 10px/12px arial;
|
||||
}
|
||||
|
||||
.pb-value {
|
||||
height: 100%;
|
||||
width: 50%;
|
||||
background: #19d73d;
|
||||
}
|
||||
|
||||
.pb-text {
|
||||
color: black;
|
||||
}
|
||||
|
||||
|
||||
.loading-div {
|
||||
width: 280px;
|
||||
height: 50px;
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
overflow: hidden;
|
||||
text-align: center;
|
||||
}
|
||||
.loading-div::before {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body class="container-fluid" style="overflow-y: hidden">
|
||||
<div class="row">
|
||||
<%--页面头--%>
|
||||
<div class="col-md-12 mt10">
|
||||
<div class="form-inline">
|
||||
<div class="form-group">
|
||||
<label>通讯状态:</label>
|
||||
<select class="form-control" id="comm_state" style="width: 60px">
|
||||
<option value="">全部</option>
|
||||
<option value="0">中断</option>
|
||||
<option value="1">正常</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group ml15">
|
||||
<label>装置型号:</label>
|
||||
<select class="form-control" id="decice_model" style="width: 160px">
|
||||
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group ml15">
|
||||
<label>装置系列:</label>
|
||||
<select class="form-control" id="devSeries" style="width: 130px">
|
||||
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group ml15" id="fliteData">
|
||||
<label>升级装置筛选:</label>
|
||||
<select class="form-control" id="upIsNo" style="width: 80px">
|
||||
<option value="">全部</option>
|
||||
<option value="1">可升级</option>
|
||||
<option value="0">不可升级</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group ml15" id="queryAndExport">
|
||||
<button type="button" class="btn btn-primary ml15" id="query">
|
||||
<i class="glyphicon glyphicon-search"></i>查询
|
||||
</button>
|
||||
</div>
|
||||
<div class="form-group fr mr10">
|
||||
<label>筛选数据:</label>
|
||||
<input type="text" class="form-control mr15" onkeyup="searchResult(this.value)" placeholder="空格分开多条件筛选数据">
|
||||
<button type="button" class="btn btn-primary mr15" id="manager">
|
||||
<i class="glyphicon glyphicon-th-large"></i>终端版本维护
|
||||
</button>
|
||||
<button type="button" class="btn btn-primary " id="batch_up" name="batch_up">
|
||||
<i class="glyphicon glyphicon-upload"></i>批量升级
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<%--页面表格--%>
|
||||
<div class="col-md-12 mt5">
|
||||
<div class="width100 div_height">
|
||||
<table id="deviceTable" class="table table-striped table-bordered dataTable no-footer width100">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><input type="checkbox" class="icheckbox_minimal" name="all_checked" 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>修改人员</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input type="hidden" id="username" value="${username}">
|
||||
<script src="${ctx}/js/plugin/jquery/jquery.min.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.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}/jspJS/utils/loading.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/common.js"></script>
|
||||
<script src="${ctx}/jspJS/confirmIndentity.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/device/deviceVersion.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,183 @@
|
||||
<%@ 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/fontawesome/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/basic.css">
|
||||
<style>
|
||||
.form-control {
|
||||
height: 22px;
|
||||
padding: 1px 5px;
|
||||
line-height: 22px;
|
||||
}
|
||||
.btn {
|
||||
padding: 1px 6px;
|
||||
font-size:12px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="container-fluid">
|
||||
<div class="row">
|
||||
<%--页面头--%>
|
||||
<div class="col-sm-12 col-xs-12 mt10">
|
||||
<div class="form-inline">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 col-xs-2 control-label" style="padding-right: 0px;padding-left: 0px">版本</label>
|
||||
<div class="col-sm-10 col-xs-10" style="padding-left: 0px;text-align: left">
|
||||
<select class="form-control" id="updateList">
|
||||
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-12 mt10" >
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 col-xs-2 control-label" style="padding-right: 0px;padding-left: 0px">描述</label>
|
||||
<div class="col-sm-10 col-xs-10" style="padding-left: 0px;text-align: left">
|
||||
<textarea id="texte" class="form-control" rows="4" readonly></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<footer class="navbar-fixed-bottom">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-12 mt10" style="text-align: center">
|
||||
<div class="form-group">
|
||||
<button type="button" class="btn btn-primary" id="save">确认</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
|
||||
<script src="${ctx}/js/plugin/layui/layer.js"></script>
|
||||
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/loading.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/common.js"></script>
|
||||
<script>
|
||||
var devSeries = getQueryString('devSeries')
|
||||
var edArr;
|
||||
var sendEdDate = [];
|
||||
edArr = window.parent.sendEdArr() //获取devindex
|
||||
sendEdDate = window.parent.sendEdDate()
|
||||
$(function () {
|
||||
init()
|
||||
|
||||
$('body').on('change','#updateList',function () {
|
||||
var indexi2;
|
||||
var this_id = $(this).val()
|
||||
$.ajax({
|
||||
type: "get",
|
||||
url: "/pqs9900/version/getVersionTwo",
|
||||
dataType: "json",
|
||||
data: {edIndex:this_id},
|
||||
beforeSend: function () {
|
||||
indexi2 = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.code === 200) {
|
||||
if(data.body!=null){
|
||||
//初始化表格
|
||||
$('#texte').val(data.body.edDescribe==null?'':data.body.edDescribe)
|
||||
}
|
||||
} else {
|
||||
layer.msg(data.message, {icon: 2, time: 2000})
|
||||
|
||||
}
|
||||
ityzl_CLOSE_LOAD_LAYER(indexi2);
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
$('#save').click(function () {
|
||||
let id = $('#updateList').val()
|
||||
let eddate = $("#updateList").find("option:selected").attr("eddate");
|
||||
let up = dateTo(eddate)
|
||||
if(id==null||id==''){
|
||||
layer.msg('版本号不可为空',{icon:2})
|
||||
return
|
||||
}
|
||||
|
||||
if(sendEdDate.length!=0){
|
||||
var flag = true;
|
||||
for(let i=0;i<sendEdDate.length;i++){
|
||||
let guo = dateTo(sendEdDate[i])
|
||||
if(guo.getTime()>up){
|
||||
flag = false;
|
||||
break
|
||||
}
|
||||
}
|
||||
if(!flag){
|
||||
layer.confirm('存在装置版本低于目标版本,是否继续',function () {
|
||||
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
|
||||
window.parent.sendWebSocket(id,1)
|
||||
parent.layer.close(index); //再执行关闭
|
||||
})
|
||||
}else {
|
||||
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
|
||||
window.parent.sendWebSocket(id,1)
|
||||
parent.layer.close(index); //再执行关闭
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
|
||||
function dateTo(dateStr) {
|
||||
return new Date(Date.parse(dateStr.replace(/-/g,"/")))
|
||||
}
|
||||
|
||||
//初始化下拉版本
|
||||
function init() {
|
||||
let map ={
|
||||
devType:devSeries,
|
||||
blob:'blob',
|
||||
edList:edArr
|
||||
}
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: "/pqs9900/version/getVersionListFilterDevIndex",
|
||||
dataType: "json",
|
||||
contentType: 'application/json;charset=UTF-8',
|
||||
data: JSON.stringify(map),
|
||||
success: function (data) {
|
||||
if (data.code === 200) {
|
||||
//初始化表格
|
||||
let da = data.body
|
||||
let html='';
|
||||
if(da.length>0){
|
||||
for(var i=0;i<da.length;i++){
|
||||
let op ='<option eddate ="'+da[i].edDate+'" value="'+da[i].edIndex+'">'+da[i].devType+'_'+da[i].edName+'_'+da[i].edProtocol+'_'+da[i].edDate+'</option>'
|
||||
html+=op;
|
||||
}
|
||||
$('#updateList').html(html)
|
||||
$('#updateList').trigger('change')
|
||||
}else {
|
||||
layer.msg('暂无可升级版本!')
|
||||
}
|
||||
} else {
|
||||
layer.msg(data.message, {icon: 2, time: 2000})
|
||||
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,507 @@
|
||||
<%@ 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/metroStyle/metroStyle.css">
|
||||
<link rel="stylesheet" href="${ctx}/js/plugin/layui/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/amazeui/amazeui.css" media="all">
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/mulitiCheckbox/fSelect.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap-datetimepicker.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap-select.css"/>
|
||||
<link rel="stylesheet" href="${ctx}/css/basic.css">
|
||||
<script src="${ctx}/js/plugin/jquery.min.js"></script>
|
||||
<script src="${ctx}/js/plugin/layui/layer.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/loading.js"></script>
|
||||
</head>
|
||||
<script type="text/javascript">
|
||||
</script>
|
||||
<style type="text/css">
|
||||
#rightContent label {
|
||||
max-width: none;
|
||||
}
|
||||
.btn {
|
||||
padding: 2px 6px;
|
||||
}
|
||||
.table {
|
||||
margin-bottom: 5px;
|
||||
border-collapse:separate;
|
||||
border-color: #006a6a;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12{
|
||||
padding-left: 0px !important;
|
||||
}
|
||||
.width1{
|
||||
width:150px
|
||||
}
|
||||
.width2{
|
||||
width:250px
|
||||
}
|
||||
.width3{
|
||||
width:145px
|
||||
}
|
||||
.font12{
|
||||
text-align: right;
|
||||
font-weight: normal;
|
||||
}
|
||||
#zd,#jcd{
|
||||
font-size:14px;
|
||||
font-weight: bolder; !important
|
||||
}
|
||||
.table>tbody>tr>td{
|
||||
padding: 4px;
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
<div class="left-menu" style="color:#333;top:5px;height:5%;overflow-y:hidden">
|
||||
<div class="btn themeBGColor layui-form-item" id="download">
|
||||
<i class="glyphicon glyphicon-share"></i>模板下载
|
||||
</div>
|
||||
<div class="btn themeBGColor layui-form-item" id="importExl">
|
||||
<i class="glyphicon glyphicon-edit"></i>导入
|
||||
</div>
|
||||
<div class="btn themeBGColor layui-form-item" id="exportExl">
|
||||
<i class="glyphicon glyphicon-share"></i>导出
|
||||
</div>
|
||||
</div>
|
||||
<div class="left-menu" style="color:#333;top:5%;bottom:15%;overflow-y:auto;">
|
||||
<div class="pdt5"><input style="width:155px;" id="search_value" type="text" value="" placeholder="请输入关键词" />
|
||||
<input type="button" value="搜索" onclick="javascript: searchNode(search_value.value)" style="padding:0 5px;"></div>
|
||||
<div id="tree" class="ztree" style="padding:2px 2px;"></div>
|
||||
</div>
|
||||
<div class="left-menu" style="color:#333;top:86%;height:13%;overflow-y:hidden">
|
||||
<div class="layui-form-item" id="buttonarea">
|
||||
<div style="width:200px;">
|
||||
<button type="button" id="addProj" class="btn themeBGColor" style="margin-left:5px" hidden>新建</button>
|
||||
<button type="button" id="addPro" class="btn themeBGColor" style="margin-left:5px" hidden>新建</button>
|
||||
<button type="button" id="addGd" class="btn themeBGColor" style="margin-left:5px" hidden>新建</button>
|
||||
<button type="button" id="addSub" class="btn themeBGColor" style="margin-left:5px" hidden>新建</button>
|
||||
<button type="button" id="addDev" class="btn themeBGColor" style="margin-left:5px" hidden>新建</button>
|
||||
<button type="button" id="addSubv" class="btn themeBGColor" style="margin-left:5px" hidden>新建</button>
|
||||
<button type="button" id="addLine" class="btn themeBGColor" style="margin-left:5px" hidden>新建</button>
|
||||
<button type="button" id="modProj" class="btn themeBGColor" style="margin-left:5px" hidden>修改</button>
|
||||
<button type="button" id="modGd" class="btn themeBGColor" style="margin-left:5px" hidden>修改</button>
|
||||
<button type="button" id="modSub" class="btn themeBGColor" style="margin-left:5px" hidden>修改</button>
|
||||
<button type="button" id="modDev" class="btn themeBGColor" style="margin-left:5px" hidden>修改</button>
|
||||
<button type="button" id="modSubv" class="btn themeBGColor" style="margin-left:5px" hidden>修改</button>
|
||||
<button type="button" id="modLine" class="btn themeBGColor" style="margin-left:5px" hidden>修改</button>
|
||||
<button type="button" id="delProj" class="btn themeBGColor" style="margin-left:5px" hidden>删除</button>
|
||||
<button type="button" id="delPro" class="btn themeBGColor" style="margin-left:5px" hidden>删除</button>
|
||||
<button type="button" id="delGd" class="btn themeBGColor" style="margin-left:5px" hidden>删除</button>
|
||||
<button type="button" id="delSub" class="btn themeBGColor" style="margin-left:5px" hidden>删除</button>
|
||||
<button type="button" id="delDev" class="btn themeBGColor" style="margin-left:5px" hidden>删除</button>
|
||||
<button type="button" id="delSubv" class="btn themeBGColor" style="margin-left:5px" hidden>删除</button>
|
||||
<button type="button" id="delLine" class="btn themeBGColor" style="margin-left:5px" hidden>删除</button>
|
||||
<button type="button" id="addProj2" class="btn themeBGColor" style="margin-left:5px;margin-top:5px;" hidden>新建项目</button>
|
||||
<button type="button" id="addPro2" class="btn themeBGColor" style="margin-left:5px;margin-top:5px;" hidden>新建省份</button>
|
||||
<button type="button" id="addGd2" class="btn themeBGColor" style="margin-left:5px;margin-top:5px;" hidden>新建供电公司</button>
|
||||
<button type="button" id="addSub2" class="btn themeBGColor" style="margin-left:5px;margin-top:5px;" hidden>新建变电站</button>
|
||||
<button type="button" id="addDev2" class="btn themeBGColor" style="margin-left:5px;margin-top:5px;" hidden>新建终端</button>
|
||||
<button type="button" id="addSubv2" class="btn themeBGColor" style="margin-left:5px;margin-top:5px;" hidden>新建母线</button>
|
||||
<button type="button" id="addLine2" class="btn themeBGColor" style="margin-left:5px;margin-top:5px;" hidden>新建监测点</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="rightContent" style="position:absolute;left:270px;right:20px;top:0;bottom:0;z-index:1;">
|
||||
<div id="zd">终端:</div>
|
||||
<table class="table" id="device" frame="border" rules="groups">
|
||||
<tr>
|
||||
<td align="right" class="width1">名称:</td>
|
||||
<td align="left" class="width2"><input class="width3" name="devname" id="devname" disabled ></td>
|
||||
|
||||
<td align="right" class="width1"><font color='red'>*</font>型号:</td>
|
||||
<td align="left" class="width2"><select class="width3" id="devtype">
|
||||
</select></td>
|
||||
<td align="right" id="ipmac" class="width1"><font color='red'>*</font>IP:</td>
|
||||
<td align="left" class="width2"><input class="width3" name="mac" id="mac" maxlength="64">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" class="width1">通讯状态:</td>
|
||||
<td align="left" class="width2"><input class="width3" name="status" id="status" disabled></td>
|
||||
<td align="right" class="width1">投运时间:</td>
|
||||
<td align="left" class="width2"><input class="width3 form_datetime" type="text" autocomplete="off"
|
||||
id="LogonTime" style="position:relative;"></td>
|
||||
<td align="right" class="width1">数据更新时间:</td>
|
||||
<td align="left" class="width2"><input type="text" class="width3 form_datetime"
|
||||
id="UpdateTime" style="position:relative;" disabled></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" class="width1">所属供电公司:</td>
|
||||
<td align="left" class="width2"><input class="width3" name="gdname" id="gdname" disabled></td>
|
||||
<td align="right" class="width1">所属变电站:</td>
|
||||
<td align="left" class="width2"><input class="width3" name="subname" id="subname" disabled></td>
|
||||
<td align="right" class="width1"><font color='red'>*</font>所属前置机:</td>
|
||||
<td align="left" class="width2"><select class="width3" id="nodeinfo">
|
||||
</select>
|
||||
<button id="nodemanage" class="btn themeBGColor" style="padding-top: 0px;padding-right: 3px;padding-bottom: 0px;padding-left: 3px;">
|
||||
<i class="glyphicon glyphicon-edit mr0"></i></button></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" class="width1"><font color='red'>*</font>厂家:</td>
|
||||
<td align="left" class="width2"><select class="width3" id="manufacturer">
|
||||
</select></td>
|
||||
<td align="right" class="width1">本次定检时间:</td>
|
||||
<td align="left" class="width2"><input type="text" class="width3 form_datetime"
|
||||
id="ThisTimeCheck" style="position:relative;" disabled></td>
|
||||
<td align="right" class="width1">下次定检时间:</td>
|
||||
<td align="left" class="width2"><input type="text" class="width3 form_datetime" autocomplete="off"
|
||||
id="NextTimeCheck" style="position:relative;"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" class="width1"><font color='red'>*</font>终端模型:</td>
|
||||
<td align="left" class="width2"><select class="width3" id="devmodel">
|
||||
<option selected value="1">实际终端</option>
|
||||
<option value="0">虚拟终端</option>
|
||||
<option value="2">离线终端</option>
|
||||
</select></td>
|
||||
<td align="right" class="width1"><font color='red'>*</font>数据类型:</td>
|
||||
<td align="left" class="width2"><select class="width3" id="datatype">
|
||||
<option selected value="0">暂态系统</option>
|
||||
<option value="1">稳态系统</option>
|
||||
<option value="2">两个系统</option>
|
||||
</select></td>
|
||||
<td align="right" class="width1"><font color='red'>*</font>端口号:</td>
|
||||
<td align="left" class="width2">
|
||||
<input name="port" id="port" class="width3" maxlength="10" onkeyup="this.value=this.value.replace(/[^0-9-]+/,'');" autocomplete="off">
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" class="width1">识别码:</td>
|
||||
<td align="left" class="width2"><input type="password" class="width3" name="series" id="series" autocomplete="off" maxlength="255"></td>
|
||||
<td align="right" class="width1">秘钥:</td>
|
||||
<td align="left" class="width2"><input type="password" class="width3" name="key" id="key" autocomplete="off" maxlength="255"></td>
|
||||
<td align="right" class="width1" id="call"></td>
|
||||
<td align="left" class="width2"><select class="width3" id="callflag" hidden>
|
||||
</select></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" class="width1">电度功能:</td>
|
||||
<td align="left" class="width2"><select class="width3" id="electroplate">
|
||||
<option value="1">开启</option>
|
||||
<option value="0" selected>关闭</option>
|
||||
</select>
|
||||
</td>
|
||||
<td align="right" class="width1">对时功能:</td>
|
||||
<td align="left" class="width2"><select class="width3" id="ontime">
|
||||
<option value="1" selected>开启</option>
|
||||
<option value="0">关闭</option>
|
||||
</select>
|
||||
</td>
|
||||
<td align="right" class="width1">合同号:</td>
|
||||
<td align="left" class="width2"><input type="text" class="width3" name="key" id="contract" autocomplete="off" maxlength="255"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" class="width1">装置系列:</td>
|
||||
<td align="left" class="width2"><select class="width3" id="devCatena">
|
||||
|
||||
</select>
|
||||
</td>
|
||||
|
||||
<td align="right" class="width1">SIM卡号:</td>
|
||||
<td align="left" class="width2"><input type="text" class="width3" name="key" id="sim" autocomplete="off" maxlength="255"></td>
|
||||
|
||||
<td align="right" class="width1">监测装置安装位置:</td>
|
||||
<td align="left" class="width2"><input type="text" class="width3" name="key" id="devLocation" autocomplete="off" maxlength="255"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" class="width1">监测厂家设备编号:</td>
|
||||
<td align="left" class="width2"><input type="text" class="width3" name="key" id="devNo" autocomplete="off" maxlength="255"></td>
|
||||
<td align="right">告警功能:</td>
|
||||
<td align="left"><select class="width3" id="isAlarm"><option value="1">开启</option><option value="0">关闭</option></select></td>
|
||||
<td align="right"><button id="devcommit" class="btn themeBGColor" disabled>更新</button></td>
|
||||
<td align="left"><button id="push" class="btn themeBGColor displayNone">采集重启</button></td>
|
||||
</tr>
|
||||
</table>
|
||||
<div id="jcd">监测点:</div>
|
||||
<table class="table" id="line" frame="border" rules="groups">
|
||||
<tr>
|
||||
<td align="right" class="width1">监测点名称:</td>
|
||||
<td align="left" class="width2"><input class="width3" name="linename" id="linename" disabled></td>
|
||||
<td align="right" class="width1">电压等级:</td>
|
||||
<td align="left" class="width2"><select class="width3" id="scale" disabled>
|
||||
</select></td>
|
||||
<td align="right" class="width1"><font color='red'>*</font>短路容量(MVA):</td>
|
||||
<td align="left" class="width2"><input class="width3" name="dlcMp" id="dlcMp" autocomplete="off" onkeyup="value=value.replace(/[^\-?\d.]/g,'')"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" class="width1"><font color='red'>*</font>协议容量(MVA):</td>
|
||||
<td align="left" class="width2"><input class="width3" name="xycMp" id="xycMp" autocomplete="off" onkeyup="value=value.replace(/[^\-?\d.]/g,'')"></td>
|
||||
<td align="right" class="width1"><font color='red'>*</font>基准容量(MVA):</td>
|
||||
<td align="left" class="width2"><input class="width3" name="jzcMp" id="jzcMp" disabled></td>
|
||||
<td align="right" class="width1"><font color='red'>*</font>设备容量(MVA):</td>
|
||||
<td align="left" class="width2"><input class="width3" name="devcMp" id="devcMp" autocomplete="off" onkeyup="value=value.replace(/[^\-?\d.]/g,'')"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" class="width1"><font color='red'>*</font>CT变比:</td>
|
||||
<td align="left" class="width2"><input name="CT1" id="CT1" style="width:70px" onkeyup="this.value=this.value.replace(/[^0-9-]+/,'');">:
|
||||
<input name="CT2" id="CT2" style="width:70px" onkeyup="this.value=this.value.replace(/[^0-9-]+/,'');"></td>
|
||||
<td align="right" class="width1"><font color='red'>*</font>PT变比:</td>
|
||||
<td align="left" class="width2"><input name="PT1" id="PT1" style="width:70px" onkeyup="this.value=this.value.replace(/[^0-9-]+/,'');">:
|
||||
<input name="PT2" id="PT2" style="width:70px" onkeyup="this.value=this.value.replace(/[^0-9-]+/,'');"></td>
|
||||
<td align="right" class="width1">接线类型:</td>
|
||||
<td align="left" class="width2"><select class="width3" id="ptType">
|
||||
<option selected value="0">星型接线</option>
|
||||
<option value="1">三角型接线</option>
|
||||
<option value="2">V型接线</option>
|
||||
</select></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" class="width1">测量间隔:</td>
|
||||
<td align="left" class="width2"><select class="width3" id="tInterval">
|
||||
<option selected value="1">1分钟</option>
|
||||
<option value="3">3分钟</option>
|
||||
<option value="5">5分钟</option>
|
||||
<option value="10">10分钟</option>
|
||||
</select></td>
|
||||
<td align="right" class="width1">干扰源类型:</td>
|
||||
<td align="left" class="width2"><select class="width3" id="loadType">
|
||||
</select></td>
|
||||
<td align="right" class="width1">行业类型:</td>
|
||||
<td align="left" class="width2"><select class="width3" id="businessType">
|
||||
</select></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" class="width1">监测点性质:</td>
|
||||
<td align="left" class="width2"><select class="width3" id="powerId">
|
||||
<option selected value="0">电网侧</option>
|
||||
<option value="1">非电网侧</option>
|
||||
<option value="2">电网侧(新能源)</option>
|
||||
<option value="3">非电网侧(新能源)</option>
|
||||
<option value="4">上送国网</option>
|
||||
<option value="5">PCC</option>
|
||||
</select></td>
|
||||
<td align="right" class="width1">备注:</td>
|
||||
<td align="left" class="width2"><input class="width3" name="remark" id="remark" maxlength="255"></td>
|
||||
<td align="right" class="width1">国网谐波监测<br/>平台监测点号:</td>
|
||||
<td align="left" class="width2"><input class="width3" maxlength="255" name="monitorId" id="monitorId" onkeyup="this.value=this.value.replace(/[^\w\.\/]/ig,'');"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" class="width1">电压上偏差:</td>
|
||||
<td align="left" class="width2"><input class="width3"
|
||||
name="VOLTAGE" id="VOLTAGE" autocomplete="off" onkeyup="value=value.replace(/[^\-?\d.]/g,'')"></td>
|
||||
<td align="right" class="width1">电压下偏差:</td>
|
||||
<td align="left" class="width2"><input class="width3"
|
||||
name="UVOLTAGE" id="UVOLTAGE" autocomplete="off" onkeyup="value=value.replace(/[^\-?\d.]/g,'')"></td>
|
||||
<td align="right" class="width1">对象名称:</td>
|
||||
<td align="left" class="width2"><input style="width: 100%" name="objName" id="objName"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" class="width1">是否参与报告统计:</td>
|
||||
<td align="left" class="width2">
|
||||
<select class="width3" id="statflag">
|
||||
<option value="0">不参与</option>
|
||||
<option value="1" selected>参与</option>
|
||||
</select>
|
||||
</td>
|
||||
<td align="right" class="width1">电网侧变电站:</td>
|
||||
<td align="left" class="width2"><input class="width3"
|
||||
name="PowerSubName" id="PowerSubName" autocomplete="off"></td>
|
||||
|
||||
<td align="right" class="width1">分类等级:</td>
|
||||
<td align="left" class="width2">
|
||||
<select class="width3" id="calssificationGrade"></select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" class="width1">用户联系人:</td>
|
||||
<td align="left" class="width2">
|
||||
<input class="width3"
|
||||
name="owner" id="owner" autocomplete="off"></td>
|
||||
</td>
|
||||
|
||||
<td align="right" class="width1">联系人职务:</td>
|
||||
<td align="left" class="width2">
|
||||
<input class="width3"
|
||||
name="ownerDuty" id="ownerDuty" autocomplete="off">
|
||||
</td>
|
||||
|
||||
<td align="right" class="width1">联系人电话:</td>
|
||||
<td align="left" class="width2">
|
||||
<input class="width3"
|
||||
name="ownerTel" id="ownerTel" autocomplete="off">
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td align="right" class="width1">上级变电站:</td>
|
||||
<td align="left" class="width2">
|
||||
<input class="width3"
|
||||
name="superiorsSubstation" id="superiorsSubstation" autocomplete="off"></td>
|
||||
</td>
|
||||
|
||||
<td align="right" class="width1">挂接线路:</td>
|
||||
<td align="left" class="width2">
|
||||
<input class="width3"
|
||||
name="hangLine" id="hangLine" autocomplete="off">
|
||||
</td>
|
||||
|
||||
<td align="right" class="width1">主接线图:</td>
|
||||
<td align="left" class="width2">
|
||||
|
||||
<button type="button" class="btn btn-primary" style="display: none;padding-top: 0px;padding-bottom: 0px" id="wiringDiagram">主接线图上传</button>
|
||||
|
||||
<button class="btn btn-primary" style="margin-left: 10px;display: none;padding-top: 0px;padding-bottom: 0px" id="demo1">预览</button>
|
||||
</td>
|
||||
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" class="width1">是否并网点:</td>
|
||||
<td align="left" class="width2">
|
||||
<select class="width3" id="isGridPoint">
|
||||
<option value="0">否</option>
|
||||
<option value="1" selected>是</option>
|
||||
</select>
|
||||
</td>
|
||||
|
||||
<td align="right" class="width1">监测点运行状态:</td>
|
||||
<td align="left" class="width2">
|
||||
<select class="width3" id="lineStatus">
|
||||
<option value="0" selected>投运</option>
|
||||
<option value="1">热备用</option>
|
||||
<option value="2">停运</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td align="right"><button id="linecommit" class="btn themeBGColor" disabled>更新</button></td>
|
||||
<td align="left">
|
||||
<button id="updateAllLimit" class="btn themeBGColor" hidden>限值管理</button>
|
||||
<button id="send" class="btn themeBGColor" style="display: none">推送</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<input type="hidden" id="projIndex" value="projIndex" />
|
||||
<input type="hidden" id="proIndex" value="proIndex" />
|
||||
<input type="hidden" id="gdIndex" value="gdIndex" />
|
||||
<input type="hidden" id="subIndex" value="subIndex" />
|
||||
<input type="hidden" id="devIndex" value="devIndex" />
|
||||
<input type="hidden" id="subvIndex" value="subvIndex" />
|
||||
<input type="hidden" id="lineIndex" value="lineIndex" />
|
||||
<input type="hidden" id="newSub" value="newSub" />
|
||||
<input type="hidden" id="newDev" value="newDev" />
|
||||
<input type="hidden" id="newSubv" value="newSubv" />
|
||||
<input type="hidden" id="newLine" value="newLine" />
|
||||
<input type="hidden" id="node" value="node" />
|
||||
<input type="hidden" id="tips" value="" />
|
||||
<script src="${ctx}/js/plugin/bootstrap/bootstrap.js"></script>
|
||||
<script src="${ctx}/js/plugin/jquery.contextMenu.js"></script>
|
||||
<script src="${ctx}/js/plugin/jquery.cleverTabs.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/bootstrapSwitch/bootstrap-switch.min.js"></script>
|
||||
<script src="${ctx}/js/plugin/mulitiCheckbox/fSelect.js"></script>
|
||||
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.min.js"></script>
|
||||
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
|
||||
<script src="${ctx}/js/plugin/bootstrap/bootstrap-select.js"></script>
|
||||
<script src="${ctx}/jspJS/device/deviceTree.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 src="${ctx}/js/plugin/layui/layui.js" charset="utf-8"></script>
|
||||
<script src="${ctx}/jspJS/device/addDev.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$("#devtype").change(function(){
|
||||
var devtype = $("#devtype").find("option:selected").text();
|
||||
if(devtype.indexOf("_CLD") > 0){
|
||||
$("#ipmac").html("MAC:");
|
||||
|
||||
$("#dataplan").val("500");
|
||||
$("#newtraffic").val("0");
|
||||
}else if(devtype.indexOf("_PQDIF") > 0){
|
||||
$("#ipmac").html("IP/MAC:");
|
||||
|
||||
$("#dataplan").val("");
|
||||
$("#newtraffic").val("");
|
||||
}else{
|
||||
$("#ipmac").html("IP:");
|
||||
|
||||
$("#dataplan").val("");
|
||||
$("#newtraffic").val("");
|
||||
}
|
||||
})
|
||||
$("#demo1").hide()
|
||||
|
||||
})
|
||||
|
||||
|
||||
|
||||
layui.use(['upload', 'element'], function() {
|
||||
var $ = layui.jquery
|
||||
, upload = layui.upload
|
||||
, element = layui.element;
|
||||
|
||||
|
||||
//绑定原始文件域
|
||||
upload.render({
|
||||
elem: '#wiringDiagram'
|
||||
,url: '/pqs9900/device/uploadWiringDiagram' //此处配置你自己的上传接口即可
|
||||
,accept: 'images'
|
||||
,before: function(obj){
|
||||
let lineId = $("#lineIndex").val()
|
||||
if(lineId == "lineIndex" || lineId==''|| lineId==null){
|
||||
layer.msg('请选择监测点', {icon: 2, time: 1000});
|
||||
return false
|
||||
}
|
||||
this.data.lineId = lineId
|
||||
}
|
||||
,done: function(res){
|
||||
$("#demo1").show()
|
||||
layer.msg('上传成功', {icon: 1, time: 1000});
|
||||
|
||||
}
|
||||
,error:function (res) {
|
||||
layer.msg(res.message, {icon: 2, time: 1000});
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
|
||||
$("#demo1").click(function () {
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '/pqs9900/device/queryWiringDiagram',
|
||||
data: {
|
||||
lineId:$("#lineIndex").val()
|
||||
},
|
||||
success: function (data) {
|
||||
if(data.code === 200){
|
||||
layer.open({
|
||||
type: 1,
|
||||
title: '主接线图预览',
|
||||
shadeClose: true,
|
||||
area: ['80%', '90%'],
|
||||
maxmin : false,
|
||||
content: '<div style="padding: 10px;width: 100%;height: 100%"><img style="width: 100%;height: 100%" src="'+data.body+'"></div>', //iframe的url
|
||||
scrollbar: true,
|
||||
end:function(){
|
||||
|
||||
}
|
||||
});
|
||||
}else {
|
||||
layer.msg(data.message, {icon: 2, time: 2000});
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,160 @@
|
||||
<%@ 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/metroStyle/metroStyle.css">
|
||||
<%--<link rel="stylesheet" href="${ctx}/js/plugin/layui/css/layui.css">--%>
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/basic.css">
|
||||
<style>
|
||||
.btn{
|
||||
padding: 2px 6px;
|
||||
}
|
||||
.nav>li>a{
|
||||
padding: 6px 15px;
|
||||
}
|
||||
.form-horizontal{
|
||||
border: 1px solid var(--primarycolor);
|
||||
margin-top: 25px
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="container-fluid">
|
||||
|
||||
<div class="left-menu" style="top:8px">
|
||||
<div class="pdt5">
|
||||
<input style="width:155px;" id="search_value" type="text" value="" placeholder="请输入关键词" />
|
||||
<input type="button" value="搜索" onclick="javascript: searchNode(search_value.value)" style="padding:0 5px;">
|
||||
</div>
|
||||
<div id="tree" class="ztree" style="padding:2px 2px;"></div>
|
||||
</div>
|
||||
<div class="" style="margin-left: 260px">
|
||||
<div class="row show-grid">
|
||||
<div class="col-lg-12">
|
||||
<!-- 导航 -->
|
||||
<ul class="nav nav-tabs" role="tablist" style="margin-top: 8px">
|
||||
<li role="presentation" class="active"><a href="#home" aria-controls="home" role="tab" data-toggle="tab">基本电镀配置</a></li>
|
||||
<li role="presentation"><a href="#profile" aria-controls="profile" role="tab" data-toggle="tab">分时方案结构配置</a></li>
|
||||
<li id="title_top" style="float: right;color: red"></li>
|
||||
<li id="read" style="float: right;color: red"><button class="btn btn-primary">参数读取</button></li>
|
||||
</ul>
|
||||
|
||||
<div class="tab-content">
|
||||
<div role="tabpanel" class="tab-pane fade in active" id="home">
|
||||
<form class="form-horizontal" role="form">
|
||||
<div class="row" style="margin: 15px 0">
|
||||
<label class="col-lg-2 control-label">参数最后修改时间</label>
|
||||
<div class="col-lg-3">
|
||||
<input type="text" class="form-control" placeholder=".col-lg-2">
|
||||
</div>
|
||||
<label class="col-lg-2 control-label">额定电压(KV)</label>
|
||||
<div class="col-lg-3">
|
||||
<input type="text" class="form-control" placeholder=".col-lg-3">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="margin: 15px 0">
|
||||
<label class="col-lg-2 control-label">额定电流(A)</label>
|
||||
<div class="col-lg-3">
|
||||
<input type="text" class="form-control" placeholder=".col-lg-2">
|
||||
</div>
|
||||
<label class="col-lg-2 control-label">最大电流(A)</label>
|
||||
<div class="col-lg-3">
|
||||
<input type="text" class="form-control" placeholder=".col-lg-3">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="margin: 15px 0">
|
||||
<label class="col-lg-2 control-label">有功精确度等级</label>
|
||||
<div class="col-lg-3">
|
||||
<input type="text" class="form-control" placeholder=".col-lg-2">
|
||||
</div>
|
||||
<label class="col-lg-2 control-label">无功精确度等级</label>
|
||||
<div class="col-lg-3">
|
||||
<input type="text" class="form-control" placeholder=".col-lg-3">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="margin: 15px 0">
|
||||
<label class="col-lg-2 control-label">有功组合方式特征字</label>
|
||||
<div class="col-lg-3">
|
||||
<input type="text" class="form-control" placeholder=".col-lg-2">
|
||||
</div>
|
||||
<label class="col-lg-2 control-label">无功组合方式1,2特征字</label>
|
||||
<div class="col-lg-3">
|
||||
<input type="text" class="form-control" placeholder=".col-lg-3">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="margin: 15px 0">
|
||||
<label class="col-lg-2 control-label">最大需量周期(min)</label>
|
||||
<div class="col-lg-3">
|
||||
<input type="text" class="form-control" placeholder=".col-lg-2">
|
||||
</div>
|
||||
<label class="col-lg-2 control-label">需量划窗时间(min)</label>
|
||||
<div class="col-lg-3">
|
||||
<input type="text" class="form-control" placeholder=".col-lg-3">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div role="tabpanel" class="tab-pane fade" id="profile">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</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}/js/plugin/ztree/jquery.ztree.core.js"></script>
|
||||
<script src="${ctx}/js/plugin/ztree/jquery.ztree.excheck.js"></script>
|
||||
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/loading.js"></script>
|
||||
<script src="${ctx}/jspJS/device/terminalTree.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
|
||||
<script>
|
||||
$(function () {
|
||||
var i;
|
||||
$('#read').click(function () {
|
||||
var arr = getTreeSelected(1)
|
||||
if(arr==null||arr.length == 0){
|
||||
layer.msg('请选则终端',{icon:2})
|
||||
return
|
||||
}else if(arr.length>1) {
|
||||
layer.msg('请选则唯一终端',{icon:2})
|
||||
return
|
||||
}else {
|
||||
$.ajax({
|
||||
url:'/pqs9900/device/steadyTB',
|
||||
data:{
|
||||
startTime:startTime,
|
||||
},
|
||||
type:'get',
|
||||
dataType:'json',
|
||||
beforeSend: function () {
|
||||
i = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success:function (data) {
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,108 @@
|
||||
<%@ 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/bootstrap/bootstrap-datetimepicker.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/basic.css">
|
||||
<style>
|
||||
.tr {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.td {
|
||||
text-align: center;
|
||||
line-height: 48px
|
||||
}
|
||||
|
||||
.table > tbody > tr > td {
|
||||
padding: 3px;
|
||||
line-height: 1.42857143;
|
||||
vertical-align: top;
|
||||
border-top: 1px solid #ddd;
|
||||
}
|
||||
#eventPushLogid{
|
||||
min-width: 1880px;
|
||||
}
|
||||
body {
|
||||
overflow: hidden;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="bg-white">
|
||||
<div class="container-fluid">
|
||||
<div class="row ">
|
||||
<div class="form-inline header mt10 ml15">
|
||||
<label class="form-group">推送状态:</label>
|
||||
<select id="resultStatus" class="form-control">
|
||||
<option value="-1" selected>全部</option>
|
||||
<option value="1">成功</option>
|
||||
<option value="0">失败</option>
|
||||
</select>
|
||||
<%@include file="../../include/time.jsp" %>
|
||||
<button id="query" type="button" class="btn themeBGColor">
|
||||
<i class="glyphicon glyphicon-search"></i>
|
||||
</button>
|
||||
<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="eventPushLogid" class="table table-striped table-bordered dataTable no-footer">
|
||||
<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">持续时间(S)</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>
|
||||
<%--当前会话的用户名--%>
|
||||
<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}/jspJS/utils/timeControl.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/device/eventLogManage.js"></script>
|
||||
<script>
|
||||
$("#interval").val("周");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,441 @@
|
||||
<%@ 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/datatimepicker/bootstrap-datetimepicker.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.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">
|
||||
<style>
|
||||
.form-control {
|
||||
height: 22px;
|
||||
padding: 1px 5px;
|
||||
}
|
||||
|
||||
.nav > li > a {
|
||||
padding: 6px 15px;
|
||||
}
|
||||
|
||||
#deviceTable {
|
||||
min-width: 100%;
|
||||
}
|
||||
|
||||
.btn {
|
||||
padding: 1px 6px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
|
||||
.table > tbody > tr > td {
|
||||
padding: 5px;
|
||||
line-height: 1.42857143;
|
||||
vertical-align: middle;
|
||||
border-top: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.pagination > li > a, .pagination > li > span {
|
||||
padding: 6px 12px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="container-fluid">
|
||||
<div class="row">
|
||||
<%--页面头--%>
|
||||
<div class="col-md-12 mt10">
|
||||
<!-- 导航 -->
|
||||
<ul class="nav nav-tabs" role="tablist" style="margin-top: 8px">
|
||||
<li role="presentation" class="active clearValue"><a href="#home" aria-controls="home" role="tab"
|
||||
data-toggle="tab">基础套餐</a></li>
|
||||
<li role="presentation" class="clearValue"><a href="#profile" aria-controls="profile" role="tab"
|
||||
data-toggle="tab">扩展套餐</a></li>
|
||||
<li id="title_top" style="float: right;color: red"></li>
|
||||
|
||||
<li id="read" style="float: right;">
|
||||
<button id="addopen" class="btn btn-primary">新增</button>
|
||||
</li>
|
||||
<li id="chaxun" style="width: 300px;float: right;">
|
||||
<div class="form-inline">
|
||||
<label>筛选数据:</label>
|
||||
<input type="text" id="query" class="form-control" onkeyup="searchResult(this.value)"
|
||||
placeholder="空格分开多条件筛选数据">
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
<div role="tabpanel" class="tab-pane fade in active" id="home">
|
||||
<%--页面表格--%>
|
||||
<div class="col-md-12 mt10">
|
||||
<div class="width100 div_1">
|
||||
<table id="deviceTable1"
|
||||
class="table table-striped table-bordered dataTable no-footer width100">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>套餐名</th>
|
||||
<th>套餐流量(MB)</th>
|
||||
<th>修改人</th>
|
||||
<th>修改时间</th>
|
||||
<th>类型</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div role="tabpanel" class="tab-pane fade" id="profile">
|
||||
<%--页面表格--%>
|
||||
<div class="col-md-12 mt10">
|
||||
<div class="width100 div_2">
|
||||
<table id="deviceTable2"
|
||||
class="table table-striped table-bordered dataTable no-footer width100">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>套餐名</th>
|
||||
<th>套餐流量(MB)</th>
|
||||
<th>修改人</th>
|
||||
<th>修改时间</th>
|
||||
<th>类型</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<input type="hidden" id="username" value="${username}">
|
||||
<script src="${ctx}/js/plugin/jquery/jquery.min.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.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}/jspJS/utils/loading.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
|
||||
<script src="${ctx}/jspJS/confirmIndentity.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>
|
||||
var username = $('#username').val()
|
||||
var resetName = '一次'
|
||||
var dataTable1;
|
||||
var dataTable2;
|
||||
var height = $(window).height() - 70;
|
||||
|
||||
|
||||
$(function () {
|
||||
$(".div_1").css("height", height);
|
||||
$(".div_2").css("height", height);
|
||||
refresh()
|
||||
|
||||
|
||||
$(".clearValue").on("click", function () {
|
||||
$('#query').val('')
|
||||
$('#query').trigger('onkeyup')
|
||||
});
|
||||
|
||||
})
|
||||
|
||||
$('#addopen').click(function () {
|
||||
passwordLocalIndentity(username,resetName,function () {
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '新增流量套餐',
|
||||
maxmin: false,
|
||||
area: ['280px', '300px'],
|
||||
content: ['flowcommainopen?types=1', 'no'],
|
||||
scrollbar: false,
|
||||
end: function () {
|
||||
// refresh();
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
/**
|
||||
* 初始化获取后台数据
|
||||
*/
|
||||
function refresh() {
|
||||
/*获取各项条件 */
|
||||
var indexi;
|
||||
$.ajax({
|
||||
type: "get",
|
||||
url: "/pqs9900/flow/getFlowMealList",
|
||||
dataType: "json",
|
||||
data: {},
|
||||
beforeSend: function () {
|
||||
indexi = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.code === 200) {
|
||||
//初始化表格
|
||||
var base = []
|
||||
var extend = []
|
||||
data.body.map(function (item) {
|
||||
if (item.type == 0) {
|
||||
base.push(item)
|
||||
} else {
|
||||
extend.push(item)
|
||||
}
|
||||
})
|
||||
initTransactionTable1(base);
|
||||
initTransactionTable2(extend);
|
||||
} else {
|
||||
layer.msg(data.message, {icon: 2, time: 2000})
|
||||
initTransactionTable1(null);
|
||||
initTransactionTable2(null);
|
||||
}
|
||||
ityzl_CLOSE_LOAD_LAYER(indexi);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function initTransactionTable1(tableData) {
|
||||
var tableHeight = height - 75;
|
||||
var length = Math.floor(tableHeight / 32);
|
||||
if (length < 1) {
|
||||
length = 1;
|
||||
}
|
||||
var tableCellHeight = 32 * length;
|
||||
dataTable1 = $("#deviceTable1").DataTable();
|
||||
dataTable1.clear().draw();
|
||||
dataTable1 = $('#deviceTable1').DataTable({
|
||||
columnDefs: [
|
||||
{
|
||||
orderable: false,
|
||||
targets: [5]
|
||||
}
|
||||
],
|
||||
columns: [
|
||||
{width: "14%", data: "fmName"},
|
||||
{width: "14%", data: "fmNumber"},
|
||||
{width: "14%", data: "updateUser"},
|
||||
{
|
||||
width: "14%", data: "updateTime", render: function (data) {
|
||||
if (data == null) {
|
||||
return '';
|
||||
} else {
|
||||
var date = new Date(data);
|
||||
var y = date.getFullYear();// 年
|
||||
var MM = date.getMonth() + 1;// 月
|
||||
MM = MM < 10 ? ('0' + MM) : MM;
|
||||
var c = date.getDate();// 日
|
||||
c = c < 10 ? ('0' + c) : c;
|
||||
var h = date.getHours();// 时
|
||||
h = h < 10 ? ('0' + h) : h;
|
||||
var m = date.getMinutes();// 分
|
||||
m = m < 10 ? ('0' + m) : m;
|
||||
var s = date.getSeconds();// 秒
|
||||
s = s < 10 ? ('0' + s) : s;
|
||||
return y + '-' + MM + '-' + c + ' ' + h + ':' + m + ':' + s;
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
width: "14%", render: function (data, type, full) {
|
||||
if (full.secondType == 0) {
|
||||
return '默认套餐'
|
||||
} else {
|
||||
return '其他'
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
data: "fmIndex", render: function (data, type, full, meta) {
|
||||
return "<button type='button' class='btn themeBGColor' style='margin-right:10px;' href='javascript:void(0);' onclick='dealEvent(\"" + data + "\",2)' >修改</button>" +
|
||||
"<button type='button' class='btn themeBGColor' style='margin-right:10px;' href='javascript:void(0);' onclick='dealEvent(\"" + data + "\",1)' >删除</button>"
|
||||
|
||||
}
|
||||
}
|
||||
],
|
||||
destroy: true,
|
||||
data: tableData,
|
||||
lengthChange: false,
|
||||
searching: true,
|
||||
dom: 'rtip',
|
||||
scrollY: tableCellHeight,
|
||||
// scrollX: true,
|
||||
lengthMenu: [length],
|
||||
language: {
|
||||
url: '/pqs9900/json/chine.json'
|
||||
},
|
||||
fnDrawCallback: function (oTable) {
|
||||
$("#deviceTable1_info").addClass("fl");
|
||||
$("#deviceTable1_paginate").addClass("fr");
|
||||
$("#deviceTable1_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 = $("#deviceTable").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 initTransactionTable2(tableData) {
|
||||
let tableHeight = height - 75;
|
||||
let length = Math.floor(tableHeight / 32);
|
||||
if (length < 1) {
|
||||
length = 1;
|
||||
}
|
||||
let tableCellHeight = 32 * length;
|
||||
dataTable2 = $("#deviceTable2").DataTable();
|
||||
dataTable2.clear().draw();
|
||||
dataTable2 = $('#deviceTable2').DataTable({
|
||||
columnDefs: [
|
||||
{
|
||||
orderable: false,
|
||||
targets: [5]
|
||||
}
|
||||
],
|
||||
columns: [
|
||||
{width: "14%", data: "fmName"},
|
||||
{width: "14%", data: "fmNumber"},
|
||||
{width: "14%", data: "updateUser"},
|
||||
{
|
||||
width: "14%", data: "updateTime", render: function (data) {
|
||||
if (data == null) {
|
||||
return '';
|
||||
} else {
|
||||
var date = new Date(data);
|
||||
var y = date.getFullYear();// 年
|
||||
var MM = date.getMonth() + 1;// 月
|
||||
MM = MM < 10 ? ('0' + MM) : MM;
|
||||
var c = date.getDate();// 日
|
||||
c = c < 10 ? ('0' + c) : c;
|
||||
var h = date.getHours();// 时
|
||||
h = h < 10 ? ('0' + h) : h;
|
||||
var m = date.getMinutes();// 分
|
||||
m = m < 10 ? ('0' + m) : m;
|
||||
var s = date.getSeconds();// 秒
|
||||
s = s < 10 ? ('0' + s) : s;
|
||||
return y + '-' + MM + '-' + c + ' ' + h + ':' + m + ':' + s;
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
width: "14%", data: "secondType", render: function (data, type, full) {
|
||||
if (full.secondType == 0) {
|
||||
return '当月生效'
|
||||
} else {
|
||||
return '连续生效'
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
data: "fmIndex", render: function (data, type, full, meta) {
|
||||
return "<button type='button' class='btn themeBGColor' style='margin-right:10px;' href='javascript:void(0);' onclick='dealEvent(\"" + data + "\",2)' >修改</button>" +
|
||||
"<button type='button' class='btn themeBGColor' style='margin-right:10px;' href='javascript:void(0);' onclick='dealEvent(\"" + data + "\",1)' >删除</button>"
|
||||
|
||||
}
|
||||
}
|
||||
],
|
||||
destroy: true,
|
||||
data: tableData,
|
||||
lengthChange: false,
|
||||
searching: true,
|
||||
dom: 'rtip',
|
||||
scrollY: tableCellHeight,
|
||||
// scrollX: true,
|
||||
lengthMenu: [length],
|
||||
language: {
|
||||
url: '/pqs9900/json/chine.json'
|
||||
},
|
||||
fnDrawCallback: function (oTable) {
|
||||
$("#deviceTable2_info").addClass("fl");
|
||||
$("#deviceTable2_paginate").addClass("fr");
|
||||
$("#deviceTable2_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 = $("#deviceTable").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) {
|
||||
if ($('#home').hasClass('active')) {
|
||||
dataTable1.search(value).draw();
|
||||
} else {
|
||||
dataTable2.search(value).draw();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
window.refreshs = function () {
|
||||
refresh()
|
||||
}
|
||||
|
||||
//操作事件
|
||||
function dealEvent(data, type) {
|
||||
passwordLocalIndentity(username,resetName,function () {
|
||||
if (type == 2) {
|
||||
//修改
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '修改流量套餐',
|
||||
maxmin: false,
|
||||
area: ['280px', '300px'],
|
||||
content: ['flowcommainopen?types=2&fmIndex=' + data, 'no'],
|
||||
scrollbar: false,
|
||||
end: function () {
|
||||
// refresh();
|
||||
}
|
||||
})
|
||||
} else {
|
||||
//删除
|
||||
layer.confirm('确认删除?',function () {
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: "/pqs9900/flow/delFlowMeal",
|
||||
data:{fmIndex:data},
|
||||
beforeSend: function () {
|
||||
indexi = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.code === 200) {
|
||||
layer.msg(data.message,{icon:1},function () {
|
||||
refresh()
|
||||
})
|
||||
} else {
|
||||
layer.msg(data.message,{icon:2})
|
||||
}
|
||||
ityzl_CLOSE_LOAD_LAYER(indexi);
|
||||
}
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1,288 @@
|
||||
<%@ 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/datatimepicker/bootstrap-datetimepicker.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.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">
|
||||
<style>
|
||||
.form-control {
|
||||
height: 22px;
|
||||
padding: 1px 5px;
|
||||
}
|
||||
|
||||
.btn {
|
||||
padding: 1px 6px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body class="container-fluid">
|
||||
<form class="form-horizontal" role="form" style="padding-top: 20px">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-xs-3 control-label" style="padding-right: 0px">套餐名</label>
|
||||
<div class="col-xs-9">
|
||||
<input class="form-control" id="fmName" type="text" placeholder="请输入套餐名">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-xs-3 control-label" style="padding-right: 0px">套餐流量</label>
|
||||
<div class="col-xs-9">
|
||||
<input class="form-control" id="fmNumber" type="text" placeholder="请输入套餐流量(单位为兆M)">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-xs-3 control-label" style="padding-right: 0px">套餐类型</label>
|
||||
<div class="col-xs-9">
|
||||
<select class="form-control" id="type">
|
||||
<option value="0">基础套餐</option>
|
||||
<option value="1">扩展套餐</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-xs-3 control-label" style="padding-right: 0px">二级类型</label>
|
||||
<div class="col-xs-9">
|
||||
<select class="form-control" id="secondtype">
|
||||
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<footer class="navbar-fixed-bottom">
|
||||
|
||||
<div class="col-xs-12 col-sm-12 mt10" style="text-align: center">
|
||||
<div class="form-group">
|
||||
<button type="button" class="btn btn-primary" id="save">保存</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</footer>
|
||||
</form>
|
||||
|
||||
<input type="hidden" id="username" value="${username}">
|
||||
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
|
||||
<script src="${ctx}/js/plugin/layui/layer.js"></script>
|
||||
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.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}/jspJS/utils/common.js"></script>
|
||||
<script src="${ctx}/jspJS/confirmIndentity.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>
|
||||
var indexi;
|
||||
var fmIndex;
|
||||
var types;
|
||||
$(function () {
|
||||
|
||||
types = getQueryString('types')
|
||||
if (types == 1) {
|
||||
//新增
|
||||
toOption($('#type').val())
|
||||
} else if (types == 2) {
|
||||
fmIndex = getQueryString('fmIndex')
|
||||
//修改
|
||||
$.ajax({
|
||||
type: "get",
|
||||
url: "/pqs9900/flow/getFlowMeal",
|
||||
dataType: "json",
|
||||
data: {fmIndex: fmIndex},
|
||||
beforeSend: function () {
|
||||
indexi = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.code === 200) {
|
||||
//初始化表格
|
||||
let da = data.body
|
||||
$('#fmName').val(da.fmName)
|
||||
$('#fmNumber').val(da.fmNumber)
|
||||
$('#type').val(da.type)
|
||||
toOption(da.type)
|
||||
$('#secondtype').val(da.secondType)
|
||||
} else {
|
||||
layer.msg('获取失败', {icon: 2})
|
||||
}
|
||||
ityzl_CLOSE_LOAD_LAYER(indexi);
|
||||
}
|
||||
})
|
||||
|
||||
} else {
|
||||
$('#save').hide()
|
||||
$('#fmName').attr('disabled', true)
|
||||
$('#fmNumber').attr('disabled', true)
|
||||
$('#type').attr('disabled', true)
|
||||
$('#secondtype').attr('disabled', true)
|
||||
//查看只查看不可操作
|
||||
fmIndex = getQueryString('fmIndex')
|
||||
$.ajax({
|
||||
type: "get",
|
||||
url: "/pqs9900/flow/getFlowMeal",
|
||||
dataType: "json",
|
||||
data: {fmIndex: fmIndex},
|
||||
beforeSend: function () {
|
||||
indexi = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.code === 200) {
|
||||
//初始化表格
|
||||
let da = data.body
|
||||
$('#fmName').val(da.fmName)
|
||||
$('#fmNumber').val(da.fmNumber)
|
||||
$('#type').val(da.type)
|
||||
toOption(da.type)
|
||||
$('#secondtype').val(da.secondType)
|
||||
|
||||
} else {
|
||||
layer.msg('获取失败', {icon: 2})
|
||||
}
|
||||
ityzl_CLOSE_LOAD_LAYER(indexi);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
$('body').on('change', '#type', function () {
|
||||
$('#secondtype').empty()
|
||||
let ty = $('#type').val()
|
||||
let html = ''
|
||||
if (ty == 0) {
|
||||
html = '<option value="0">默认套餐</option><option value="1">其他</option>'
|
||||
} else {
|
||||
html = '<option value="0">当月生效</option><option value="1">连续生效</option>'
|
||||
}
|
||||
$('#secondtype').append(html)
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
$('#save').click(function () {
|
||||
let fmName = $('#fmName').val()
|
||||
let fmNumber = $('#fmNumber').val()
|
||||
let type = $('#type').val()
|
||||
let secondType = $('#secondtype').val()
|
||||
|
||||
fmName = filterXSS(fmName);
|
||||
fmNumber = filterXSS(fmNumber);
|
||||
valiteLength(fmName)
|
||||
if (fmName == null || fmName == "") {
|
||||
layer.tips('名称不可为空', '#fmName', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return
|
||||
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_]+$/gi.test(fmName)) {
|
||||
layer.tips('名称含有非汉字字符', '#fmName', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
if (fmNumber == null || fmNumber == 0) {
|
||||
layer.tips('套餐不可为空', '#fmNumber', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
} else if (!/^[1-9]+[0-9]*$/.test(fmNumber)) {
|
||||
layer.tips('套餐为正整数', '#fmNumber', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}
|
||||
let username = $('#username').val()
|
||||
let resetName = '二次'
|
||||
passwordIndentityForEd(username, resetName, function () {
|
||||
layer.confirm('确认提交吗', function () {
|
||||
let map = {
|
||||
fmName: fmName,
|
||||
fmNumber: fmNumber,
|
||||
type: type,
|
||||
secondType: secondType
|
||||
}
|
||||
|
||||
if (types == 1) {
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: "/pqs9900/flow/addFlowMeal",
|
||||
dataType: "json",
|
||||
contentType: 'application/json;charset=UTF-8',
|
||||
data: JSON.stringify(map),
|
||||
beforeSend: function () {
|
||||
indexi = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.code === 200) {
|
||||
layer.msg(data.message, {icon: 1}, function () {
|
||||
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
|
||||
parent.layer.close(index); //再执行关闭
|
||||
window.parent.refreshs()
|
||||
})
|
||||
} else {
|
||||
layer.msg(data.message, {icon: 2})
|
||||
}
|
||||
ityzl_CLOSE_LOAD_LAYER(indexi);
|
||||
}
|
||||
})
|
||||
} else {
|
||||
map.fmIndex = fmIndex
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: "/pqs9900/flow/updateFlowMeal",
|
||||
dataType: "json",
|
||||
contentType: 'application/json;charset=UTF-8',
|
||||
data: JSON.stringify(map),
|
||||
beforeSend: function () {
|
||||
indexi = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.code === 200) {
|
||||
//初始化表格
|
||||
layer.msg(data.message, {icon: 1}, function () {
|
||||
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
|
||||
parent.layer.close(index); //再执行关闭
|
||||
window.parent.refreshs()
|
||||
})
|
||||
} else {
|
||||
layer.msg(data.message, {icon: 2})
|
||||
}
|
||||
ityzl_CLOSE_LOAD_LAYER(indexi);
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
//根据套餐类型初始化二级下拉框
|
||||
function toOption(type) {
|
||||
let htm;
|
||||
$('#secondtype').empty()
|
||||
if (type == 0) {
|
||||
htm = '<option value="0">默认套餐</option><option value="1">其他</option>'
|
||||
} else {
|
||||
htm = '<option value="0">当月生效</option><option value="1">连续生效</option>'
|
||||
}
|
||||
$('#secondtype').append(htm)
|
||||
}
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1,124 @@
|
||||
<%@ 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/datatimepicker/bootstrap-datetimepicker.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.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">
|
||||
<style>
|
||||
.form-control {
|
||||
height: 22px;
|
||||
padding: 1px 5px;
|
||||
}
|
||||
|
||||
.btn {
|
||||
padding: 1px 6px;
|
||||
font-size: 12px;
|
||||
}
|
||||
#deviceTable {
|
||||
min-width: 100%;
|
||||
}
|
||||
th,td{
|
||||
white-space:nowrap;
|
||||
|
||||
}
|
||||
.table > tbody > tr > td {
|
||||
height: 27px;
|
||||
padding: 4px;
|
||||
line-height: 1.42857143;
|
||||
vertical-align: middle;
|
||||
border-top: 1px solid #ddd;
|
||||
}
|
||||
.dataTable{
|
||||
max-height: 40px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-lg-12">
|
||||
<div class="form-inline mt15">
|
||||
<form class="form-inline ml15 header">
|
||||
<%@include file="../../include/time.jsp" %>
|
||||
<button id="query" type="button" title="查询" class="btn themeBGColor">
|
||||
<i class="glyphicon glyphicon-search">查询</i>
|
||||
</button>
|
||||
<div class="form-group mr10 fr mb3" style="margin-bottom: 3px" id="fliteData">
|
||||
<label>筛选数据:</label>
|
||||
<input type="text" id="content" class="form-control" placeholder="空格分开多条件筛选数据">
|
||||
<button id="shai" type="button" title="查询" class="btn themeBGColor">筛选数据</button>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-8 col-lg-8" style="padding-right: 0px">
|
||||
<div class="width100" id="div_height">
|
||||
<table id="deviceTable"
|
||||
class="table table-striped table-bordered dataTable no-footer"
|
||||
cellspacing="0" width="100%" role="grid"
|
||||
aria-describedby="example_info">
|
||||
<thead>
|
||||
<tr role="row">
|
||||
<th></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">IP</th>
|
||||
<th class="text-center">套餐流量(M)</th>
|
||||
<th class="text-center">终端统计流量(M)</th>
|
||||
<th class="text-center">剩余流量</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 col-lg-4" style="padding-right: 0px">
|
||||
<div id="flow_sta" class="mt5 width100 height100"></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/layui/layer.js"></script>
|
||||
<script src="${ctx}/js/plugin/highchart/highcharts.js"></script>
|
||||
<script src="${ctx}/js/plugin/highchart/highchart-ZH.js"></script>
|
||||
<script src="${ctx}/js/plugin/highchart/export.js"></script>
|
||||
<script src="${ctx}/js/plugin/highchart/offline-exporting.js"></script>
|
||||
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.min.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}/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/utils/common.js"></script>
|
||||
<script src="${ctx}/js/color.js"></script>
|
||||
<script src="${ctx}/jspJS/device/flowStatistics.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -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" %>
|
||||
<%@ 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/datatimepicker/bootstrap-datetimepicker.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.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">
|
||||
<style>
|
||||
.form-control {
|
||||
height: 22px;
|
||||
padding: 1px 5px;
|
||||
}
|
||||
|
||||
#deviceTable {
|
||||
min-width: 100%;
|
||||
}
|
||||
.btn {
|
||||
padding: 1px 6px;
|
||||
font-size:12px;
|
||||
}
|
||||
.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: middle;
|
||||
border-top: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.pagination > li > a, .pagination > li > span {
|
||||
padding: 6px 12px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="container-fluid">
|
||||
<div class="row">
|
||||
<%--页面头--%>
|
||||
<div class="col-md-12 mt10">
|
||||
<div class="form-inline">
|
||||
<div class="form-group fr mr10">
|
||||
<label>筛选数据:</label>
|
||||
<input style="margin-right: 20px" type="text" class="form-control" onkeyup="searchResult(this.value)" placeholder="空格分开多条件筛选数据">
|
||||
|
||||
<button type="button" class="btn btn-primary " id="add_strategy">
|
||||
<i class="glyphicon glyphicon-plus"></i>新增
|
||||
</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<%--页面表格--%>
|
||||
<div class="col-md-12 mt10">
|
||||
<div class="width100 halfHeight">
|
||||
<table id="deviceTable" 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>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input type="hidden" id="username" value="${username}">
|
||||
<script src="${ctx}/js/plugin/jquery/jquery.min.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.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/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/loading.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
|
||||
<script src="${ctx}/jspJS/confirmIndentity.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>
|
||||
var dataTable;
|
||||
var height = $(window).height() - 70;
|
||||
var username = $('#username').val()
|
||||
var resetName = '一次'
|
||||
$("#interval").val("月份");
|
||||
$(function () {
|
||||
$(".halfHeight").css("height", height);
|
||||
refresh();
|
||||
|
||||
|
||||
//新增策略
|
||||
$('#add_strategy').click(function () {
|
||||
passwordLocalIndentity(username,resetName,function () {
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '新增流量策略',
|
||||
maxmin: false,
|
||||
area: ['25%', '80%'],
|
||||
content: 'flowstrategyopen?type=1',
|
||||
scrollbar: false,
|
||||
end: function () {
|
||||
// refresh();
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
/**
|
||||
* 初始化获取后台数据
|
||||
*/
|
||||
function refresh() {
|
||||
/*获取各项条件 */
|
||||
var indexi;
|
||||
$.ajax({
|
||||
type: "get",
|
||||
url: "/pqs9900/flowstrategy/getStrategyList",
|
||||
dataType: "json",
|
||||
beforeSend: function () {
|
||||
indexi = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.code === 200) {
|
||||
//初始化表格
|
||||
initTransactionTable(data.body);
|
||||
} else {
|
||||
layer.msg(data.message, {icon: 2, time: 2000})
|
||||
initTransactionTable(null);
|
||||
}
|
||||
ityzl_CLOSE_LOAD_LAYER(indexi);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//初始化表格数据
|
||||
function initTransactionTable(tableData) {
|
||||
var tableHeight = height - 40;
|
||||
var length = Math.floor(tableHeight / 32);
|
||||
if (length < 1) {
|
||||
length = 1;
|
||||
}
|
||||
var tableCellHeight = 32 * length-10;
|
||||
dataTable = $("#deviceTable").DataTable();
|
||||
dataTable.clear().draw();
|
||||
dataTable = $('#deviceTable').DataTable({
|
||||
order: [1, 'desc'],
|
||||
columnDefs: [
|
||||
{
|
||||
orderable: false,
|
||||
targets: [0,7]
|
||||
}
|
||||
],
|
||||
columns: [
|
||||
{width: "7%", data: "name"},
|
||||
{width: "7%", data: "type",render:function (data) {
|
||||
if(data == 0){
|
||||
return'通用'
|
||||
}else {
|
||||
return '定制'
|
||||
}
|
||||
}},
|
||||
{width: "8%", data: "updateUser"},
|
||||
{width: "12%", data: "updateTime",render:function (data) {
|
||||
if (data == null) {
|
||||
return '';
|
||||
} else {
|
||||
var date = new Date(data);
|
||||
var y = date.getFullYear();// 年
|
||||
var MM = date.getMonth() + 1;// 月
|
||||
MM = MM < 10 ? ('0' + MM) : MM;
|
||||
var c = date.getDate();// 日
|
||||
c = c < 10 ? ('0' + c) : c;
|
||||
var h = date.getHours();// 时
|
||||
h = h < 10 ? ('0' + h) : h;
|
||||
var m = date.getMinutes();// 分
|
||||
m = m < 10 ? ('0' + m) : m;
|
||||
var s = date.getSeconds();// 秒
|
||||
s = s < 10 ? ('0' + s) : s;
|
||||
return y + '-' + MM + '-' + c + ' ' + h + ':' + m + ':' + s;
|
||||
}
|
||||
}},
|
||||
{width: "7%", data: "comPer"},
|
||||
{width: "7%", data: "warnPer"},
|
||||
{width: "12%", data: "alertPer"},
|
||||
{
|
||||
width: "13%", data: "devIndex", render: function (data, type, full, meta) {
|
||||
return "<button type='button' class='btn themeBGColor' style='margin-right:10px;' href='javascript:void(0);' onclick='viewTransactionDetail(\"" + full.fsIndex + "\",2)' >修改</button>" +
|
||||
"<button type='button' class='btn themeBGColor' style='margin-right:10px;' href='javascript:void(0);' onclick='viewTransactionDetail(\"" + full.fsIndex + "\",3)' >删除</button>";
|
||||
}
|
||||
}
|
||||
],
|
||||
destroy: true,
|
||||
data: tableData,
|
||||
lengthChange: false,
|
||||
searching: true,
|
||||
dom: 'rtip',
|
||||
scrollY: tableCellHeight,
|
||||
// scrollX: true,
|
||||
lengthMenu: [length],
|
||||
language: {
|
||||
url: '/pqs9900/json/chine.json'
|
||||
},
|
||||
fnDrawCallback: function (oTable) {
|
||||
$("#deviceTable_info").addClass("fl");
|
||||
$("#deviceTable_paginate").addClass("fr");
|
||||
$("#deviceTable_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 = $("#deviceTable").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();
|
||||
}
|
||||
|
||||
function viewTransactionDetail(id, type) {
|
||||
passwordLocalIndentity(username,resetName,function () {
|
||||
if (type === 2) {
|
||||
//修改
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '修改流量策略',
|
||||
maxmin: false,
|
||||
area: ['25%', '80%'],
|
||||
content: 'flowstrategyopen?type=2&fsIndex=' + id,
|
||||
scrollbar: false,
|
||||
})
|
||||
} else if (type === 3) {
|
||||
layer.confirm('确定删除该策略吗?', function () {
|
||||
//删除流量策略
|
||||
let indexi;
|
||||
$.ajax({
|
||||
type: "get",
|
||||
url: "/pqs9900/flowstrategy/delStrategy",
|
||||
dataType: "json",
|
||||
data: {fsIndex: id},
|
||||
beforeSend: function () {
|
||||
indexi = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.code === 200) {
|
||||
//初始化表格
|
||||
layer.msg(data.message, {icon: 1, time: 2000})
|
||||
refresh()
|
||||
} else {
|
||||
layer.msg(data.message, {icon: 2, time: 2000})
|
||||
}
|
||||
ityzl_CLOSE_LOAD_LAYER(indexi);
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//子页面刷新父页面
|
||||
window.reflah = function () {
|
||||
refresh()
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,410 @@
|
||||
<%@ 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/fontawesome/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/basic.css">
|
||||
<style>
|
||||
.form-control, .control-label {
|
||||
height: 22px;
|
||||
padding: 1px 5px;
|
||||
line-height: 22px;
|
||||
}
|
||||
|
||||
.form-horizontal .control-label {
|
||||
padding-top: 0px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.btn {
|
||||
padding: 1px 6px;
|
||||
font-size: 12px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="container-fluid">
|
||||
|
||||
<div class="row">
|
||||
<form role="form" class="form-horizontal">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12 col-lg-12" style="margin-top: 25px">
|
||||
<div class="form-group">
|
||||
<label for="strategy_name" class="col-md-3 col-sm-3 col-xs-3 col-lg-3 control-label">策略名称</label>
|
||||
<div class="col-md-6 col-sm-6 col-xs-6" style="padding-left: 5px">
|
||||
<input type="text" class="form-control" id="strategy_name"
|
||||
placeholder="请输入策略名称">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="form-group">
|
||||
<label for="type" class="col-md-3 col-sm-3 col-xs-3 col-lg-3 control-label">类型</label>
|
||||
<div class="col-md-6 col-sm-6 col-xs-6 col-lg-6" style="padding-left: 5px">
|
||||
<select class="form-control" id="type">
|
||||
<option value="0">通用</option>
|
||||
<option value="1">定制</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12 col-sm-12 col-xs-12 col-lg-12 mt10">
|
||||
<div class="form-group">
|
||||
<label for="ptong" class="col-md-3 col-sm-3 col-xs-3 col-lg-3 control-label">普通占比</label>
|
||||
<div class="col-md-6 col-sm-6 col-xs-6 col-lg-6" style="padding-left: 5px">
|
||||
<input type="text" class="form-control" id="ptong"
|
||||
placeholder="请输入普通占比">
|
||||
</div>
|
||||
<div class="col-md-3 col-sm-3 col-xs-3 col-lg-3" style="padding:0px 0px">
|
||||
<button type="button" class="btn btn-primary config" id="ptongConfig">功能配置</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12 col-sm-12 col-xs-12 col-lg-12 mt10">
|
||||
<div class="form-group">
|
||||
<label for="warn" class="col-md-3 col-sm-3 col-xs-3 col-lg-3 control-label">预警占比</label>
|
||||
<div class="col-md-6 col-sm-6 col-xs-6 col-lg-6" style="padding-left: 5px">
|
||||
<input type="text" class="form-control" id="warn"
|
||||
placeholder="请输入预警占比">
|
||||
</div>
|
||||
<div class="col-md-3 col-sm-3 col-xs-3 col-lg-3" style="padding:0px 0px">
|
||||
<button class="btn btn-primary config" id="warnConfig">功能配置</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12 col-sm-12 col-xs-12 col-lg-12 mt10">
|
||||
<div class="form-group">
|
||||
<label for="alarm" class="col-md-3 col-sm-3 col-xs-3 col-lg-3 control-label">告警占比</label>
|
||||
<div class="col-md-6 col-sm-6 col-xs-6 col-lg-6" style="padding-left: 5px">
|
||||
<input type="text" class="form-control" id="alarm"
|
||||
placeholder="请输入告警占比">
|
||||
</div>
|
||||
<div class="col-md-3 col-sm-3 col-xs-3 col-lg-3" style="padding:0px 0px">
|
||||
<button type="button" class="btn btn-primary config" id="alarmConfig">功能配置</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<footer class="navbar-fixed-bottom">
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-lg-12 mt10" style="text-align: center">
|
||||
<div class="form-group">
|
||||
<button type="button" class="btn btn-primary" id="save">确认</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
<input type="hidden" id="username" value="${username}">
|
||||
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
|
||||
<script src="${ctx}/js/plugin/layui/layer.js"></script>
|
||||
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/loading.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
|
||||
<script src="${ctx}/js/plugin/xss/xss.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/common.js"></script>
|
||||
<script src="${ctx}/jspJS/confirmIndentity.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>
|
||||
var comArr=[]
|
||||
var warnArr=[]
|
||||
var alerArr=[]
|
||||
var fsIndex;
|
||||
var type = getQueryString('type')
|
||||
$(function () {
|
||||
var indexi;
|
||||
if(type == 1){
|
||||
//新增
|
||||
}else if(type == 2) {
|
||||
//修改
|
||||
initInfo(2)
|
||||
}else {
|
||||
//只用于查看不可操作
|
||||
initInfo(3)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$('body').on('click', '.config', function () {
|
||||
let pertype;
|
||||
let fsdIndex;
|
||||
|
||||
let id = $(this).attr('id')
|
||||
let title = ''
|
||||
if(type == 1){
|
||||
title = '添加绑定类型'
|
||||
//新增
|
||||
if(id == 'ptongConfig'){
|
||||
pertype = 1
|
||||
}else if(id == 'warnConfig') {
|
||||
pertype = 2
|
||||
}else {
|
||||
pertype = 3
|
||||
}
|
||||
}else if(type == 2) {
|
||||
title = '修改绑定类型'
|
||||
//修改
|
||||
if(id == 'ptongConfig'){
|
||||
pertype = 1
|
||||
fsdIndex = $('#ptongConfig').attr('value')
|
||||
}else if(id == 'warnConfig') {
|
||||
pertype = 2
|
||||
fsdIndex = $('#warnConfig').attr('value')
|
||||
}else {
|
||||
pertype = 3
|
||||
fsdIndex = $('#alarmConfig').attr('value')
|
||||
}
|
||||
} else {
|
||||
title = '查看绑定类型'
|
||||
//只用于查看
|
||||
if(id == 'ptongConfig'){
|
||||
pertype = 1
|
||||
fsdIndex = $('#ptongConfig').attr('value')
|
||||
}else if(id == 'warnConfig') {
|
||||
pertype = 2
|
||||
fsdIndex = $('#warnConfig').attr('value')
|
||||
}else {
|
||||
pertype = 3
|
||||
fsdIndex = $('#alarmConfig').attr('value')
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: title,
|
||||
maxmin: false,
|
||||
area: ['80%', '90%'],
|
||||
content: ['flowopentwo?type='+type+'&pertype='+pertype+'&fsdIndex='+fsdIndex,'no'],
|
||||
scrollbar: false
|
||||
})
|
||||
|
||||
return false
|
||||
})
|
||||
|
||||
$('#save').click(function () {
|
||||
let name =$('#strategy_name').val()
|
||||
let ty = $('#type').val()
|
||||
let com = $('#ptong').val()
|
||||
let warn = $('#warn').val()
|
||||
let alarm = $('#alarm').val()
|
||||
|
||||
|
||||
if(name==null||name==""){
|
||||
layer.tips('名称不可为空', '#strategy_name', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return
|
||||
}else if(!/^[\u4E00-\u9FA5A-Za-z0-9_]+$/gi.test(name)){
|
||||
layer.tips('名称含有非汉字字符', '#strategy_name', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}else {
|
||||
let vv = valiteLength(name)
|
||||
if(vv!=''){
|
||||
layer.tips(vv, '#strategy_name', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if(!/^([1-9]|[1-9]\d|1\d{2}|200)$/.test(com)){
|
||||
layer.tips('请填1~200的正整数', '#ptong', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}
|
||||
if(!/^([1-9]|[1-9]\d|1\d{2}|200)$/.test(warn)){
|
||||
layer.tips('请填1~100的正整数', '#warn', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}
|
||||
if(!/^([1-9]|[1-9]\d|1\d{2}|200)$/.test(alarm)){
|
||||
layer.tips('请填1~100的正整数', '#alarm', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
if(com>=warn || com>=alarm ){
|
||||
layer.tips('普通预警占比不能大于等于告警占比', '#ptong', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}
|
||||
if(warn>=alarm){
|
||||
layer.tips('预警占比不能大于等于告警占比', '#warn', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
name = filterXSS(name)
|
||||
com = filterXSS(com)
|
||||
warn = filterXSS(warn)
|
||||
alarm = filterXSS(alarm)
|
||||
let username = $('#username').val()
|
||||
let resetName = '二次'
|
||||
passwordIndentityForEd(username, resetName, function () {
|
||||
layer.confirm('确认提交吗?', function () {
|
||||
let map = {
|
||||
name: name,
|
||||
type: ty,
|
||||
comPer: com,
|
||||
warnPer: warn,
|
||||
alertPer: alarm,
|
||||
comList: comArr,
|
||||
warnList: warnArr,
|
||||
alertList: alerArr
|
||||
}
|
||||
if (type == 1) {
|
||||
//新增提交
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: "/pqs9900/flowstrategy/addStrategy",
|
||||
contentType: 'application/json;charset=UTF-8',
|
||||
dataType: "json",
|
||||
data: JSON.stringify(map),
|
||||
beforeSend: function () {
|
||||
indexi = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.code === 200) {
|
||||
layer.msg(data.message, {icon: 1, time: 2000}, function () {
|
||||
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
|
||||
parent.layer.close(index); //再执行关闭
|
||||
window.parent.reflah()
|
||||
})
|
||||
} else {
|
||||
layer.msg(data.message, {icon: 2, time: 2000})
|
||||
|
||||
}
|
||||
ityzl_CLOSE_LOAD_LAYER(indexi);
|
||||
}
|
||||
})
|
||||
} else {
|
||||
map.fsIndex = fsIndex
|
||||
map.comPerIndex = $('#ptongConfig').attr('value')
|
||||
map.warnPerIndex = $('#warnConfig').attr('value')
|
||||
map.alertPerIndex = $('#alarmConfig').attr('value')
|
||||
//修改提交
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: "/pqs9900/flowstrategy/updateStrategy",
|
||||
contentType: 'application/json;charset=UTF-8',
|
||||
dataType: "json",
|
||||
data: JSON.stringify(map),
|
||||
beforeSend: function () {
|
||||
indexi = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.code === 200) {
|
||||
layer.msg(data.message, {icon: 1, time: 2000}, function () {
|
||||
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
|
||||
parent.layer.close(index); //再执行关闭
|
||||
window.parent.reflah()
|
||||
})
|
||||
} else {
|
||||
layer.msg(data.message, {icon: 2, time: 2000})
|
||||
|
||||
}
|
||||
ityzl_CLOSE_LOAD_LAYER(indexi);
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
})
|
||||
|
||||
|
||||
function initInfo(tyof){
|
||||
if(tyof == 3){
|
||||
$('#save').hide()
|
||||
//不可操作
|
||||
$('#strategy_name').attr('disabled',true)
|
||||
$('#type').attr('disabled',true)
|
||||
$('#ptong').attr('disabled',true)
|
||||
$('#warn').attr('disabled',true)
|
||||
$('#alarm').attr('disabled',true)
|
||||
/* $('#ptongConfig').attr('disabled',true)
|
||||
$('#warnConfig').attr('disabled',true)
|
||||
$('#alarmConfig').attr('disabled',true)*/
|
||||
}
|
||||
fsIndex = getQueryString('fsIndex')
|
||||
$.ajax({
|
||||
type:'get',
|
||||
url:'/pqs9900/flowstrategy/getStrategy',
|
||||
dataType:'json',
|
||||
data:{fsIndex:fsIndex},
|
||||
beforeSend:function () {
|
||||
indexi = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success:function (data) {
|
||||
if(data.code == 200){
|
||||
let da = data.body
|
||||
$('#strategy_name').val(da.name)
|
||||
$('#type').val(da.type)
|
||||
$('#ptong').val(da.comPer)
|
||||
$('#warn').val(da.warnPer)
|
||||
$('#alarm').val(da.alertPer)
|
||||
$('#ptongConfig').attr('value',da.comPerIndex)
|
||||
$('#warnConfig').attr('value',da.warnPerIndex)
|
||||
$('#alarmConfig').attr('value',da.alertPerIndex)
|
||||
comArr = da.comList
|
||||
warnArr = da.warnList
|
||||
alerArr = da.alertList
|
||||
}else {
|
||||
|
||||
}
|
||||
ityzl_CLOSE_LOAD_LAYER(indexi);
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
//赋值
|
||||
window.bindContent = function (arr,type) {
|
||||
if(type == 1){
|
||||
comArr = arr
|
||||
}else if(type == 2){
|
||||
warnArr= arr
|
||||
}else if(type == 3){
|
||||
alerArr=arr
|
||||
}
|
||||
}
|
||||
|
||||
window.paramContent = function (type) {
|
||||
if(type == 1){
|
||||
return comArr
|
||||
}else if(type == 2){
|
||||
return warnArr
|
||||
}else if(type == 3){
|
||||
return alerArr
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,197 @@
|
||||
<%@ 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/fontawesome/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/basic.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/mulitiCheckbox/fSelect.css">
|
||||
<style>
|
||||
.form-control {
|
||||
height: 22px;
|
||||
padding: 1px 5px;
|
||||
}
|
||||
|
||||
.btn {
|
||||
padding: 1px 6px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.fs-wrap {
|
||||
height: 22px;
|
||||
line-height: 22px;
|
||||
margin-left: 10px;
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
.fs-dropdown .fs-options {
|
||||
max-height: 170px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body style="overflow-y: hidden">
|
||||
|
||||
<div style="padding: 10px 20px; height: 100%">
|
||||
<label class="" style="bottom: 10px;position: relative">类型</label>
|
||||
<select class="form-control" multiple="multiple" id="event" name="event">
|
||||
|
||||
</select>
|
||||
</div>
|
||||
|
||||
|
||||
<footer class="navbar-fixed-bottom">
|
||||
<div class="row" style="text-align: center">
|
||||
<button style="margin-bottom: 10px" type="button" class="btn btn-primary" id="save">确认</button>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="${ctx}/js/plugin/jquery/jquery.min.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/mulitiCheckbox/fSelect.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/loading.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/common.js"></script>
|
||||
<script>
|
||||
var type = getQueryString('type')
|
||||
var pertype = getQueryString('pertype')
|
||||
var arr = []
|
||||
$(function () {
|
||||
if (type == 1) {
|
||||
//新增
|
||||
arr = parent.window.paramContent(pertype)
|
||||
initSelect()
|
||||
} else {
|
||||
var fsdIndex = getQueryString('fsdIndex')
|
||||
$.ajax({
|
||||
type: "get",
|
||||
url: "/pqs9900/flowstrategy/getFun",
|
||||
dataType: "json",
|
||||
data: {fsdIndex: fsdIndex},
|
||||
beforeSend: function () {
|
||||
indexi = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.code === 200) {
|
||||
arr = data.body
|
||||
initSelect()
|
||||
} else {
|
||||
layer.msg(data.message, {icon: 2, time: 2000})
|
||||
|
||||
}
|
||||
ityzl_CLOSE_LOAD_LAYER(indexi);
|
||||
}
|
||||
})
|
||||
if(type == 3){
|
||||
$('#save').hide()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
$(document).on('click', '.fs-option', function () {
|
||||
let list = []
|
||||
if ($(this).attr('data-index') == 0) {
|
||||
let flag = $(this).hasClass('selected')
|
||||
if (flag) {
|
||||
$('#event').find('option').each(function (index, item) {
|
||||
if ($(item).val() != null && $(item).val() != '') {
|
||||
list.push($(item).val())
|
||||
}
|
||||
})
|
||||
//全选
|
||||
$("select[name='event']").val(list);
|
||||
} else {
|
||||
list = []
|
||||
$("select[name='event']").val(list);
|
||||
}
|
||||
//第二步,给fs-optgroup下对应的option添加样式selected
|
||||
$(".fs-option").each(function () {
|
||||
if (flag) {
|
||||
if (list.indexOf($(this)['context']['dataset']['value']) != -1) {
|
||||
$(this).addClass("selected");
|
||||
}
|
||||
} else {
|
||||
$(this).removeClass("selected");
|
||||
}
|
||||
});
|
||||
//第三步,重新加载下拉框,使得添加了selected样式的option处于被勾选状态
|
||||
$("select[name='event']").fSelect('reloadDropdownLabel');
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
//确认按钮
|
||||
$('#save').click(function () {
|
||||
//获取选中的值
|
||||
let all = $("select[name='event']").val()
|
||||
if (all != null && all.length != 0) {
|
||||
all.map(function (index, item) {
|
||||
if (item != null && item != '') {
|
||||
return item
|
||||
}
|
||||
})
|
||||
}
|
||||
var arr = all == null ? [] : all
|
||||
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
|
||||
parent.layer.close(index); //再执行关闭
|
||||
window.parent.bindContent(arr, pertype)
|
||||
})
|
||||
})
|
||||
|
||||
function initSelect() {
|
||||
let indexi;
|
||||
$.ajax({
|
||||
type: "get",
|
||||
url: "/pqs9900/flowstrategy/getDic",
|
||||
dataType: "json",
|
||||
data: {},
|
||||
beforeSend: function () {
|
||||
indexi = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.code === 200) {
|
||||
//初始化表格
|
||||
var html = '<option value="" id="chenck_event">全选</option>';
|
||||
let da = data.body
|
||||
if (da.length != 0) {
|
||||
for (var i = 0; i < da.length; i++) {
|
||||
|
||||
let op = '<option value="' + da[i].dicIndex + '">' + da[i].dicName + '</option>'
|
||||
html += op;
|
||||
}
|
||||
$('#event').empty()
|
||||
$('#event').append(html)
|
||||
$('#event').fSelect();
|
||||
//第一步,先给select标签赋值
|
||||
$("select[name='event']").val(arr);
|
||||
//第二步,给fs-optgroup下对应的option添加样式selected
|
||||
$(".fs-option").each(function () {
|
||||
if (arr.indexOf($(this)['context']['dataset']['value']) != -1) {
|
||||
$(this).addClass("selected");
|
||||
}
|
||||
});
|
||||
//第三步,重新加载下拉框,使得添加了selected样式的option处于被勾选状态
|
||||
$("select[name='event']").fSelect('reloadDropdownLabel');
|
||||
}
|
||||
|
||||
} else {
|
||||
layer.msg(data.message, {icon: 2, time: 2000})
|
||||
|
||||
}
|
||||
ityzl_CLOSE_LOAD_LAYER(indexi);
|
||||
}
|
||||
})
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,888 @@
|
||||
<%@ 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/metroStyle/metroStyle.css">
|
||||
<link rel="stylesheet" href="${ctx}/js/plugin/layui/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/mulitiCheckbox/fSelect.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap-datetimepicker.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/basic.css">
|
||||
<script src="${ctx}/js/plugin/jquery.min.js"></script>
|
||||
<script src="${ctx}/js/plugin/layui/layer.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/loading.js"></script>
|
||||
</head>
|
||||
<script type="text/javascript">
|
||||
</script>
|
||||
<style type="text/css">
|
||||
#rightContent label {
|
||||
max-width: none;
|
||||
}
|
||||
.btn {
|
||||
padding: 2px 6px;
|
||||
}
|
||||
|
||||
.title{
|
||||
text-align: right;
|
||||
}
|
||||
#lineTable td{
|
||||
padding: 10px 0;
|
||||
}
|
||||
#devTable td{
|
||||
padding: 3px 0;
|
||||
}
|
||||
.focus{
|
||||
color:red;
|
||||
}
|
||||
</style>
|
||||
<body style="overflow-y:hidden">
|
||||
<div class="left-menu" style="color:#333;top:1%;bottom:2%;overflow-y:scroll;">
|
||||
<div class="pdt5"><input style="width:155px;" id="search_value" type="text" value="" placeholder="请输入关键词" />
|
||||
<input type="button" value="搜索" onclick="javascript: searchNode(search_value.value)" style="padding:0 5px;"></div>
|
||||
<div id="tree" class="ztree" style="padding:2px 2px;"></div>
|
||||
</div>
|
||||
<div id="rightContent" style="position:absolute;left:270px;right:20px;top:0;bottom:0;z-index:1;">
|
||||
<%--变电站信息部分--%>
|
||||
<div id="subDiv" class="disnone">
|
||||
<table id="subTable" class="width100">
|
||||
<tr>
|
||||
<td class="title" colspan="1"><label class="focus">*</label>电站ID:</td>
|
||||
<td colspan="5"><input type="text" id="subID" class="width100" readonly value="" ></td>
|
||||
<td class="title" colspan="1"><label class="focus">*</label>电站名称:</td>
|
||||
<td colspan="5"><input type="text" id="subName" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">电网设备编号:</td>
|
||||
<td colspan="3"><input type="text" id="powerDeviceNo" class="width100" readonly value="" ></td>
|
||||
<td class="title">电压等级(kV):</td>
|
||||
<td colspan="3"><input type="text" id="vol" class="width100" readonly value="" ></td>
|
||||
<td class="title"><label class="focus">*</label>电站类型:</td>
|
||||
<td colspan="3"><input type="text" id="subType" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title"><label class="focus">*</label>所属地市:</td>
|
||||
<td colspan="3"><input type="text" id="subCity" class="width100" readonly value="" ></td>
|
||||
<td class="title"><label class="focus">*</label>运维单位:</td>
|
||||
<td colspan="3"><input type="text" id="subRunCompany" class="width100" readonly value="" ></td>
|
||||
<td class="title"><label class="focus">*</label>维护班组:</td>
|
||||
<td colspan="3"><input type="text" id="subMaintain" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title"><label class="focus">*</label>是否智能站:</td>
|
||||
<td colspan="3"><input type="text" id="isIntelligent" class="width100" readonly value="" ></td>
|
||||
<td class="title"><label class="focus">*</label>是否枢纽站:</td>
|
||||
<td colspan="3"><input type="text" id="isCroe" class="width100" readonly value="" ></td>
|
||||
<td class="title"><label class="focus">*</label>重要级别:</td>
|
||||
<td colspan="3"><input type="text" id="importantLevel" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">换流站类型:</td>
|
||||
<td colspan="3"><input type="text" id="exchangeTyoe" class="width100" readonly value="" ></td>
|
||||
<td class="title">所属直流系统:</td>
|
||||
<td colspan="3"><input type="text" id="dcOwnerSystem" class="width100" readonly value="" ></td>
|
||||
<td class="title">直流输送容量:</td>
|
||||
<td colspan="3"><input type="text" id="dcContent" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">经度:</td>
|
||||
<td colspan="3"><input type="text" id="longitude" class="width100" readonly value="" ></td>
|
||||
<td class="title">纬度:</td>
|
||||
<td colspan="3"><input type="text" id="latitude" class="width100" readonly value="" ></td>
|
||||
<td class="title"><label class="focus">*</label>海拔:</td>
|
||||
<td colspan="3"><input type="text" id="elevation" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title"><label class="focus">*</label>地区特征:</td>
|
||||
<td colspan="3"><input type="text" id="areaFeature" class="width100" readonly value="" ></td>
|
||||
<td class="title">顺序号:</td>
|
||||
<td colspan="3"><input type="text" id="orderNo" class="width100" readonly value="" ></td>
|
||||
<td class="title">当前状态:</td>
|
||||
<td colspan="3"><input type="text" id="currentStatus" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">电系铭牌运行库ID:</td>
|
||||
<td colspan="3"><input type="text" id="runKurkID" class="width100" readonly value="" ></td>
|
||||
<td class="title">运行编号:</td>
|
||||
<td colspan="3"><input type="text" id="runNo" class="width100" readonly value="" ></td>
|
||||
<td class="title">资产性质:</td>
|
||||
<td colspan="3"><input type="text" id="assetNature" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">资产单位:</td>
|
||||
<td colspan="3"><input type="text" id="assetCompany" class="width100" readonly value="" ></td>
|
||||
<td class="title">投运日期:</td>
|
||||
<td colspan="3"><input type="text" id="subRunDate" class="width100" readonly value="" ></td>
|
||||
<td class="title">是否代维:</td>
|
||||
<td colspan="3"><input type="text" id="isProxy" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">值班方式:</td>
|
||||
<td colspan="3"><input type="text" id="dutyWay" class="width100" readonly value="" ></td>
|
||||
<td class="title">布置方式:</td>
|
||||
<td colspan="3"><input type="text" id="layoutWay" class="width100" readonly value="" ></td>
|
||||
<td class="title">污秽等级:</td>
|
||||
<td colspan="3"><input type="text" id="filthyLevel" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">站址:</td>
|
||||
<td colspan="3"><input type="text" id="location" class="width100" readonly value="" ></td>
|
||||
<td class="title">占地面积:</td>
|
||||
<td colspan="3"><input type="text" id="floorSpace" class="width100" readonly value="" ></td>
|
||||
<td class="title">建筑面积:</td>
|
||||
<td colspan="3"><input type="text" id="buildSpace" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">联系电话:</td>
|
||||
<td colspan="3"><input type="text" id="telNo" class="width100" readonly value="" ></td>
|
||||
<td class="title">接地电阻:</td>
|
||||
<td colspan="3"><input type="text" id="groundResistance" class="width100" readonly value="" ></td>
|
||||
<td class="title">备注:</td>
|
||||
<td colspan="3"><input type="text" id="subMark" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">防误方式:</td>
|
||||
<td colspan="3"><input type="text" id="defenseWay" class="width100" readonly value="" ></td>
|
||||
<td class="title">是否独立建筑物:</td>
|
||||
<td colspan="3"><input type="text" id="isSingleBuild" class="width100" readonly value="" ></td>
|
||||
<td class="title">是否地下站:</td>
|
||||
<td colspan="3"><input type="text" id="isLowerSub" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">重要程度:</td>
|
||||
<td colspan="3"><input type="text" id="subImportLevel" class="width100" readonly value="" ></td>
|
||||
<td class="title">配变总容量:</td>
|
||||
<td colspan="3"><input type="text" id="totalContent" class="width100" readonly value="" ></td>
|
||||
<td class="title">无功补偿容量:</td>
|
||||
<td colspan="3"><input type="text" id="noWorkCompensationContent" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">箱变类型:</td>
|
||||
<td colspan="3"><input type="text" id="boxType" class="width100" readonly value="" ></td>
|
||||
<td class="title">是否具有环网:</td>
|
||||
<td colspan="3"><input type="text" id="hasCircleNet" class="width100" readonly value="" ></td>
|
||||
<td class="title">登记时间:</td>
|
||||
<td colspan="3"><input type="text" id="subSignDate" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">设备主人:</td>
|
||||
<td colspan="3"><input type="text" id="subOwner" class="width100" readonly value="" ></td>
|
||||
<td class="title">资产单位名称:</td>
|
||||
<td colspan="3"><input type="text" id="assetCompanyName" class="width100" readonly value="" ></td>
|
||||
<td class="title">维护班组名称:</td>
|
||||
<td colspan="3"><input type="text" id="subMaintainName" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">设备主人名称:</td>
|
||||
<td colspan="3"><input type="text" id="subOwnerName" class="width100" readonly value="" ></td>
|
||||
<td class="title">所属地市名称:</td>
|
||||
<td colspan="3"><input type="text" id="subOwnerCity" class="width100" readonly value="" ></td>
|
||||
<td class="title">运维单位名称:</td>
|
||||
<td colspan="3"><input type="text" id="maintenanceUnitName" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">变电站简称:</td>
|
||||
<td colspan="3"><input type="text" id="subForShort" class="width100" readonly value="" ></td>
|
||||
<td class="title">最高调度管辖权:</td>
|
||||
<td colspan="3"><input type="text" id="highWeight" class="width100" readonly value="" ></td>
|
||||
<td class="title">是否满足n-1:</td>
|
||||
<td colspan="3"><input type="text" id="isNforOne" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">是否接入avc:</td>
|
||||
<td colspan="3"><input type="text" id="isInputAvc" class="width100" readonly value="" ></td>
|
||||
<td class="title">是否接入故障信息远传系统:</td>
|
||||
<td colspan="3"><input type="text" id="isInputSystem" class="width100" readonly value="" ></td>
|
||||
<td class="title">是否集中监控:</td>
|
||||
<td colspan="3"><input type="text" id="isFocus" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">资产编号:</td>
|
||||
<td colspan="3"><input type="text" id="subAssetNo" class="width100" readonly value="" ></td>
|
||||
<td class="title">是否农网:</td>
|
||||
<td colspan="3"><input type="text" id="isPowerGrid" class="width100" readonly value="" ></td>
|
||||
<td class="title">退运日期:</td>
|
||||
<td colspan="3"><input type="text" id="returnedDate" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">地区特征:</td>
|
||||
<td colspan="3"><input type="text" id="locationType" class="width100" readonly value="" ></td>
|
||||
<td class="title">型号:</td>
|
||||
<td colspan="3"><input type="text" id="subModel" class="width100" readonly value="" ></td>
|
||||
<td class="title">生产厂家:</td>
|
||||
<td colspan="3"><input type="text" id="subDevProduceCompany" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">出厂编号:</td>
|
||||
<td colspan="3"><input type="text" id="outCompanyNo" class="width100" readonly value="" ></td>
|
||||
<td class="title">出厂日期:</td>
|
||||
<td colspan="3"><input type="text" id="outCompanyDate" class="width100" readonly value="" ></td>
|
||||
<td class="title">额定电压:</td>
|
||||
<td colspan="3"><input type="text" id="nominalVol" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<%--终端信息部分--%>
|
||||
<div id="devDiv" class="disnone ">
|
||||
<table id="devTable" class="width100" >
|
||||
<tr>
|
||||
<td class="title"><label class="focus">*</label>监测终端编号:</td>
|
||||
<td colspan="3"><input type="text" id="lineDevNo" class="width100" readonly value="" ></td>
|
||||
<td class="title"><label class="focus">*</label>装置名称:</td>
|
||||
<td colspan="3"><input type="text" id="devName" class="width100" readonly value="" ></td>
|
||||
<td class="title"><label class="focus">*</label>装置类别:</td>
|
||||
<td colspan="3"><input type="text" id="devType" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title"><label class="focus">*</label>装置型号:</td>
|
||||
<td colspan="3"><input type="text" id="devModel" class="width100" readonly value="" ></td>
|
||||
<td class="title"><label class="focus">*</label>所属地市:</td>
|
||||
<td colspan="3"><input type="text" id="city" class="width100" readonly value="" ></td>
|
||||
<td class="title"><label class="focus">*</label>装置级别:</td>
|
||||
<td colspan="3"><input type="text" id="devLevel" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title"><label class="focus">*</label>生产厂家:</td>
|
||||
<td colspan="3"><input type="text" id="produceCompany" class="width100" readonly value="" ></td>
|
||||
<td class="title"><label class="focus">*</label>出厂编号:</td>
|
||||
<td colspan="3"><input type="text" id="outNo" class="width100" readonly value="" ></td>
|
||||
<td class="title">出厂日期:</td>
|
||||
<td colspan="3"><input type="text" id="outDate" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title"><label class="focus">*</label>投运日期:</td>
|
||||
<td colspan="3"><input type="text" id="runDate" class="width100" readonly value="" ></td>
|
||||
<td class="title"><label class="focus">*</label>检测/检定日期:</td>
|
||||
<td colspan="3"><input type="text" id="testDate" class="width100" readonly value="" ></td>
|
||||
<td class="title"><label class="focus">*</label>电源电压:</td>
|
||||
<td colspan="3"><input type="text" id="powerVol" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title"><label class="focus">*</label>投运状态:</td>
|
||||
<td colspan="3"><input type="text" id="runStatus" class="width100" readonly value="" ></td>
|
||||
<td class="title"><label class="focus">*</label>运维单位:</td>
|
||||
<td colspan="3"><input type="text" id="runCompany" class="width100" readonly value="" ></td>
|
||||
<td class="title">维护班组:</td>
|
||||
<td colspan="3"><input type="text" id="maintain" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title"><label class="focus">*</label>测试信号输入形式:</td>
|
||||
<td colspan="3"><input type="text" id="testSignInputWay" class="width100" readonly value="" ></td>
|
||||
<td class="title"><label class="focus">*</label>电压信号输入通道数:</td>
|
||||
<td colspan="3"><input type="text" id="volSignInputNum" class="width100" readonly value="" ></td>
|
||||
<td class="title"><label class="focus">*</label>电流信号输入通道数:</td>
|
||||
<td colspan="3"><input type="text" id="eleSignInputNum" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title"><label class="focus">*</label>存储卡或硬盘容量:</td>
|
||||
<td colspan="3"><input type="text" id="deviceCapacity" class="width100" readonly value="" ></td>
|
||||
<td class="title"><label class="focus">*</label>对时方式:</td>
|
||||
<td colspan="3"><input type="text" id="timeWay" class="width100" readonly value="" ></td>
|
||||
<td class="title">设备主人:</td>
|
||||
<td colspan="3"><input type="text" id="deviceOwner" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">屏柜编号:</td>
|
||||
<td colspan="3"><input type="text" id="cabinetsNo" class="width100" readonly value="" ></td>
|
||||
<td class="title"><label class="focus">*</label>屏柜名称:</td>
|
||||
<td colspan="3"><input type="text" id="cabinetsName" class="width100" readonly value="" ></td>
|
||||
<td class="title"><label class="focus">*</label>屏柜类型:</td>
|
||||
<td colspan="3"><input type="text" id="cabinetsType" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title"><label class="focus">*</label>IP地址:</td>
|
||||
<td colspan="3"><input type="text" id="ip" class="width100" readonly value="" ></td>
|
||||
<td class="title"><label class="focus">*</label>MAC地址:</td>
|
||||
<td colspan="3"><input type="text" id="mac" class="width100" readonly value="" ></td>
|
||||
<td class="title"><label class="focus">*</label>子网掩码:</td>
|
||||
<td colspan="3"><input type="text" id="subnet" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title"><label class="focus">*</label>网关:</td>
|
||||
<td colspan="3"><input type="text" id="wg" class="width100" readonly value="" ></td>
|
||||
<td class="title"><label class="focus">*</label>端口:</td>
|
||||
<td colspan="3"><input type="text" id="dk" class="width100" readonly value="" ></td>
|
||||
<td class="title"><label class="focus">*</label>资产性质:</td>
|
||||
<td colspan="3"><input type="text" id="zcxz" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title"><label class="focus">*</label>资产单位:</td>
|
||||
<td colspan="3"><input type="text" id="AssetsUnit" class="width100" readonly value="" ></td>
|
||||
<td class="title"><label class="focus">*</label>资产编号:</td>
|
||||
<td colspan="3"><input type="text" id="AssetsNo" class="width100" readonly value="" ></td>
|
||||
<td class="title"><label class="focus">*</label>工程编号:</td>
|
||||
<td colspan="3"><input type="text" id="projectNo" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title"> 工程名称:</td>
|
||||
<td colspan="3"><input type="text" id="gcmc" class="width100" readonly value="" ></td>
|
||||
<td class="title">设备添加方式:</td>
|
||||
<td colspan="3"><input type="text" id="sbtjfs" class="width100" readonly value="" ></td>
|
||||
<td class="title">交换机端口号:</td>
|
||||
<td colspan="3"><input type="text" id="jhjdkh" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title"> 所属屏柜:</td>
|
||||
<td colspan="3"><input type="text" id="cabinetsOwner" class="width100" readonly value="" ></td>
|
||||
<td class="title">设备主人名称:</td>
|
||||
<td colspan="3"><input type="text" id="deviceOwnerName" class="width100" readonly value="" ></td>
|
||||
<td class="title">资产单位名称:</td>
|
||||
<td colspan="3"><input type="text" id="assetsUnitName" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">描述:</td>
|
||||
<td colspan="3"><input type="text" id="describe" class="width100" readonly value="" ></td>
|
||||
<td class="title">描述编码:</td>
|
||||
<td colspan="3"><input type="text" id="describeNo" class="width100" readonly value="" ></td>
|
||||
<td class="title">设备编码:</td>
|
||||
<td colspan="3"><input type="text" id="deviceNo" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">登记时间:</td>
|
||||
<td colspan="3"><input type="text" id="signTime" class="width100" readonly value="" ></td>
|
||||
<td class="title">备注:</td>
|
||||
<td colspan="3"><input type="text" id="mark" class="width100" readonly value="" ></td>
|
||||
<td class="title">发布状态:</td>
|
||||
<td colspan="3"><input type="text" id="publisStatus" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">修改后设备名称:</td>
|
||||
<td colspan="3"><input type="text" id="modifiedDeviceName" class="width100" readonly value="" ></td>
|
||||
<td class="title">ERPWBS编码:</td>
|
||||
<td colspan="3"><input type="text" id="erpwbsNo" class="width100" readonly value="" ></td>
|
||||
<td class="title">所属地市名称:</td>
|
||||
<td colspan="3"><input type="text" id="cityOwnerName" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">运维单位名称:</td>
|
||||
<td colspan="3"><input type="text" id="maintenanceName" class="width100" readonly value="" ></td>
|
||||
<td class="title">维护班组名称:</td>
|
||||
<td colspan="3"><input type="text" id="maintenanceClassName" class="width100" readonly value="" ></td>
|
||||
<td class="title">生产厂家名称:</td>
|
||||
<td colspan="3"><input type="text" id="produceCompanyName" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">资产性质名称:</td>
|
||||
<td colspan="3"><input type="text" id="assetTypeName" class="width100" readonly value="" ></td>
|
||||
<td class="title">变更时间:</td>
|
||||
<td colspan="3"><input type="text" id="changeDate" class="width100" readonly value="" ></td>
|
||||
<td class="title">变更类型:</td>
|
||||
<td colspan="3"><input type="text" id="changeType" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">PMS终端UUID:</td>
|
||||
<td colspan="5"><input type="text" id="pmsDevUUID" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<%--监测点信息部分--%>
|
||||
<div id="lineDiv" class="disnone ">
|
||||
<table id="lineTable" class="width100" >
|
||||
<tr>
|
||||
<td class="title"><label class="focus">*</label>监测点名称:</td>
|
||||
<td colspan="11"><input type="text" id="lineName" class="width100" readonly value=""></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title"><label class="focus">*</label>监测点对象名称:</td>
|
||||
<td colspan="3"><input type="text" id="lineObjectName" class="width100" readonly value="" ></td>
|
||||
<td class="title"><label class="focus">*</label>监测点对象类型:</td>
|
||||
<td colspan="3"><input type="text" id="lineObjectType" class="width100" readonly value="" ></td>
|
||||
<td class="title">监测点分类:</td>
|
||||
<td colspan="3"><input type="text" id="lineType" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title"><label class="focus">*</label>最小短路容量(MVA):</td>
|
||||
<td colspan="3"><input type="text" id="minCapacity" class="width100" readonly value="" ></td>
|
||||
<td class="title"><label class="focus">*</label>供电设备容量(MVA):</td>
|
||||
<td colspan="3"><input type="text" id="powerCapacity" class="width100" readonly value="" ></td>
|
||||
<td class="title"><label class="focus">*</label>用户协议容量(MVA):</td>
|
||||
<td colspan="3"><input type="text" id="userCapacity" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">PT1:</td>
|
||||
<td colspan="2"><input type="text" id="pt1" class="width100" readonly value="" ></td>
|
||||
<td class="title">PT2:</td>
|
||||
<td colspan="2"><input type="text" id="pt2" class="width100" readonly value="" ></td>
|
||||
<td class="title">CT1:</td>
|
||||
<td colspan="2"><input type="text" id="ct1" class="width100" readonly value="" ></td>
|
||||
<td class="title">CT2:</td>
|
||||
<td colspan="2"><input type="text" id="ct2" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title"><label class="focus">*</label>数据来源:</td>
|
||||
<td colspan="3"><input type="text" id="dataSource" class="width100" readonly value="" ></td>
|
||||
<td class="title">监测点位置类型:</td>
|
||||
<td colspan="3"><input type="text" id="lineLocationType" class="width100" readonly value="" ></td>
|
||||
<td class="title">连接方式:</td>
|
||||
<td colspan="3"><input type="text" id="connectWay" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">基准电压:</td>
|
||||
<td colspan="3"><input type="text" id="standardVol" class="width100" readonly value="" ></td>
|
||||
<td class="title">线路电压:</td>
|
||||
<td colspan="3"><input type="text" id="lineVol" class="width100" readonly value="" ></td>
|
||||
<td class="title">数据质量:</td>
|
||||
<td colspan="3"><input type="text" id="dataQuality" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">其他系统编码1:</td>
|
||||
<td colspan="3"><input type="text" id="otherSystem1" class="width100" readonly value="" ></td>
|
||||
<td class="title">其他系统编码2:</td>
|
||||
<td colspan="3"><input type="text" id="otherSystem2" class="width100" readonly value="" ></td>
|
||||
<td class="title">其他系统编码3:</td>
|
||||
<td colspan="3"><input type="text" id="otherSystem3" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">是否虚拟监测点:</td>
|
||||
<td colspan="3"><input type="text" id="isVirtual" class="width100" readonly value="" ></td>
|
||||
<td class="title">顺序号:</td>
|
||||
<td colspan="3"><input type="text" id="orderNum" class="width100" readonly value="" ></td>
|
||||
<td class="title">当前状态:</td>
|
||||
<td colspan="3"><input type="text" id="presentStatus" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title"><label class="focus">*</label>电压下偏差限值:</td>
|
||||
<td colspan="5"><input type="text" id="lowLimit" class="width100" readonly value="" ></td>
|
||||
<td class="title">电压上偏差限值:</td>
|
||||
<td colspan="5"><input type="text" id="upLimit" class="width100" readonly value="" ></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<script src="${ctx}/js/plugin/bootstrap/bootstrap.js"></script>
|
||||
<script src="${ctx}/js/plugin/jquery.contextMenu.js"></script>
|
||||
<script src="${ctx}/js/plugin/jquery.cleverTabs.js"></script>
|
||||
<script src="${ctx}/js/plugin/ztree/jquery.ztree.core.js"></script>
|
||||
<script src="${ctx}/js/plugin/bootstrapSwitch/bootstrap-switch.min.js"></script>
|
||||
<script src="${ctx}/js/plugin/mulitiCheckbox/fSelect.js"></script>
|
||||
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.min.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}/jspJS/utils/loading.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>
|
||||
|
||||
var treeObj = null;
|
||||
var setting = {
|
||||
check: {
|
||||
enable: true,
|
||||
chkDisabledInherit: true
|
||||
},
|
||||
data: {
|
||||
simpleData: {
|
||||
enable: true
|
||||
}
|
||||
},
|
||||
view: {
|
||||
fontCss: setHighlight // 高亮一定要设置,setHighlight是自定义方法
|
||||
},
|
||||
callback: {
|
||||
onClick: zTreeOnClick
|
||||
}
|
||||
};
|
||||
function zTreeOnClick() {
|
||||
var zTree = $.fn.zTree.getZTreeObj("tree");
|
||||
if (zTree != null) {
|
||||
var nodes = zTree.getSelectedNodes(); //获取树控件选中对象集合
|
||||
// 关闭所有节点的高亮
|
||||
var allNodes = treeObj.transformToArray(treeObj.getNodes());
|
||||
for (var i = 0; i < allNodes.length; i++) {
|
||||
allNodes[i].highlight = false;
|
||||
treeObj.updateNode(allNodes[i]);
|
||||
}
|
||||
// 高亮并展开搜索到的节点
|
||||
for (var i = 0; i < nodes.length; i++) {
|
||||
nodes[i].highlight = true;
|
||||
treeObj.updateNode(nodes[i]); // 更新节点,让高亮生效
|
||||
}
|
||||
if (nodes[0].level === 3) { //变电站
|
||||
showSubDiv(nodes[0].nodeIndex);
|
||||
} else if (nodes[0].level === 4) { //终端
|
||||
showDevDiv(nodes[0].nodeIndex);
|
||||
} else if (nodes[0].level === 6) { //线路
|
||||
showLineDiv(nodes[0].nodeIndexStr,nodes[0].nodeIndex);
|
||||
}else{
|
||||
hideAllDiv();
|
||||
}
|
||||
//清空所有input的值
|
||||
$("#subDiv input").val("")
|
||||
$("#devDiv input").val("")
|
||||
$("#lineDiv input").val("")
|
||||
}
|
||||
}
|
||||
|
||||
//隐藏变电站、终端、监测点DIV
|
||||
function hideAllDiv(subIndex) {
|
||||
$("#subDiv").css("display","none");
|
||||
$("#devDiv").css("display","none");
|
||||
$("#lineDiv").css("display","none");
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据点击显示变电站内容
|
||||
*/
|
||||
function showSubDiv(subIndex) {
|
||||
$("#subDiv").css("display","block");
|
||||
$("#devDiv").css("display","none");
|
||||
$("#lineDiv").css("display","none");
|
||||
$("#subDiv").css("margin-top",($(window).height()-$("#subDiv").height())/2);
|
||||
loadSub(subIndex);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据点击显示终端内容
|
||||
*/
|
||||
function showDevDiv(devIndex) {
|
||||
$("#devDiv").css("display","block");
|
||||
$("#lineDiv").css("display","none");
|
||||
$("#subDiv").css("display","none");
|
||||
$("#devDiv").css("margin-top",($(window).height()-$("#devDiv").height())/2);
|
||||
loadDevice(devIndex);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据点击显示监测点内容
|
||||
*/
|
||||
function showLineDiv(monitorID,lineIndex) {
|
||||
$("#lineDiv").css("display","block");
|
||||
$("#devDiv").css("display","none");
|
||||
$("#subDiv").css("display","none");
|
||||
$("#lineDiv").css("margin-top",($(window).height()-$("#lineDiv").height())/2);
|
||||
loadLine(monitorID,lineIndex);
|
||||
}
|
||||
|
||||
|
||||
|
||||
function setHighlight(treeId, treeNode) {
|
||||
return (treeNode.highlight) ? {
|
||||
color: "#000000",
|
||||
"font-weight": "bold",
|
||||
"border-bottom": "dotted 1px #fff"
|
||||
} : {color: "#666", "font-weight": "normal"};
|
||||
}
|
||||
|
||||
function getTree() {
|
||||
jQuery.ajax({
|
||||
type: 'POST',
|
||||
dataType: "json",
|
||||
url: '/pqs9900/device/gwDeviceTree',
|
||||
data: {},
|
||||
async: false,
|
||||
error: function () {},
|
||||
success: function (data) {
|
||||
var datalist = [];
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
var str = '';
|
||||
str += '{' + "id:" + data[i].id;
|
||||
str += ',' + "name:'" + data[i].name + "'";
|
||||
str += ',' + "nodeIndex:" + data[i].nodeIndex;
|
||||
if(null!==data[i].nodeIndexStr){
|
||||
if(""===data[i].nodeIndexStr.trim()){
|
||||
str += ',' + "nodeIndexStr:'" + 0+"'";
|
||||
}else{
|
||||
|
||||
str += ',' + "nodeIndexStr:'" + data[i].nodeIndexStr+ "'";
|
||||
}
|
||||
|
||||
}
|
||||
str += ',' + "nodeType:" + data[i].nodeType;
|
||||
str += ',' + "ppId:" + data[i].ppId;
|
||||
if (data[i].nodeType == "0" || data[i].nodeType == "1" || data[i].nodeType == "2") {
|
||||
str += ',' + "open:" + true;
|
||||
} else {
|
||||
str += ',' + "open:" + false;
|
||||
}
|
||||
str += ',' + "state:" + data[i].state;
|
||||
str += ',' + "pId:" + data[i].pId + '}';
|
||||
datalist.push(str);
|
||||
}
|
||||
datalist = eval('[' + datalist + ']');// string->json数组
|
||||
var zNodes = datalist;
|
||||
treeObj = $.fn.zTree.init($("#tree"), setting, zNodes);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$(document).ready(function () {
|
||||
getTree();
|
||||
});
|
||||
|
||||
|
||||
/**
|
||||
* 加载变电站信息
|
||||
* @param subIndex
|
||||
*/
|
||||
function loadSub(subIndex) {
|
||||
var subI;
|
||||
jQuery.ajax({
|
||||
type: 'POST',
|
||||
dataType: "json",
|
||||
url: '/pqs9900/device/loadgwSubstation',
|
||||
data: {
|
||||
subIndex: subIndex
|
||||
},
|
||||
beforeSend: function () {
|
||||
subI = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success: function (data) {
|
||||
if(data.code===500){
|
||||
layer.msg(data.message, {icon:2, time: 2000});
|
||||
}else{
|
||||
var sub=data.body;
|
||||
$("#subID").val(sub.objId);
|
||||
$("#subName").val(sub.bdzmc);
|
||||
// $("#powerDeviceNo").val(sub.objId);/*电网设备编号*/
|
||||
$("#vol").val(sub.dydj);
|
||||
$("#subType").val(sub.dzlx);
|
||||
$("#subCity").val(sub.ssds);
|
||||
$("#subRunCompany").val(sub.ywdw);
|
||||
$("#subMaintain").val(sub.whbz);
|
||||
$("#isIntelligent").val(sub.sfznbdz);
|
||||
$("#isCroe").val(sub.sfsnz);
|
||||
$("#importantLevel").val(sub.bdzzyjb);
|
||||
$("#exchangeTyoe").val(sub.hlzlx);
|
||||
$("#dcOwnerSystem").val(sub.sszlxt);
|
||||
$("#dcContent").val(sub.zlssrl);
|
||||
// $("#longitude").val(sub.sszlxt);/*经度*/
|
||||
// $("#latitude").val(sub.sszlxt)/*纬度*/
|
||||
$("#elevation").val(sub.hb);
|
||||
$("#areaFeature").val(sub.dqtz);
|
||||
// $("#orderNo").val(sub.sszlxt);/*顺序号*/
|
||||
$("#currentStatus").val(sub.yxzt);
|
||||
$("#runKurkID").val(sub.dxmpyxkid);
|
||||
$("#runNo").val(sub.yxbh);
|
||||
$("#assetNature").val(sub.zcxz);
|
||||
$("#assetCompany").val(sub.zcdw);
|
||||
$("#subRunDate").val(sub.tyrq);
|
||||
$("#isProxy").val(sub.sfdw);
|
||||
$("#dutyWay").val(sub.zbfs);
|
||||
$("#layoutWay").val(sub.bzfs);
|
||||
$("#filthyLevel").val(sub.whdj);
|
||||
$("#location").val(sub.zz);
|
||||
$("#floorSpace").val(sub.zdmj);
|
||||
$("#buildSpace").val(sub.jzmj);
|
||||
$("#telNo").val(sub.lxdh);
|
||||
$("#groundResistance").val(sub.jddz);
|
||||
$("#subMark").val(sub.bz);
|
||||
$("#defenseWay").val(sub.fwfs);
|
||||
$("#isSingleBuild").val(sub.sfdljzw);
|
||||
$("#isLowerSub").val(sub.sfdxz);
|
||||
$("#subImportLevel").val(sub.zycd);
|
||||
$("#totalContent").val(sub.pbzrl);
|
||||
$("#noWorkCompensationContent").val(sub.wgbcrl);
|
||||
$("#boxType").val(sub.xblx);
|
||||
$("#hasCircleNet").val(sub.sfjyhw);
|
||||
$("#subOwner").val(sub.sbzr);
|
||||
$("#assetCompanyName").val(sub.zcdwmc);
|
||||
$("#subMaintainName").val(sub.whbzmc);
|
||||
$("#subOwnerName").val(sub.sbzrmc);
|
||||
$("#subOwnerCity").val(sub.ssdsmc);
|
||||
$("#maintenanceUnitName").val(sub.ywdwmc);
|
||||
$("#subForShort").val(sub.bdzjc);
|
||||
$("#highWeight").val(sub.zgddgxq);
|
||||
$("#isNforOne").val(sub.sfmznjy);
|
||||
$("#isInputAvc").val(sub.sfjravc);
|
||||
$("#isInputSystem").val(sub.sfjrgzxxycxt);
|
||||
$("#isFocus").val(sub.sfjzjk);
|
||||
$("#subAssetNo").val(sub.zcbh);
|
||||
$("#isPowerGrid").val(sub.sfnw);
|
||||
$("#returnedDate").val(sub.tuiyrq);
|
||||
$("#locationType").val(sub.dqtz);
|
||||
$("#subModel").val(sub.xh);
|
||||
$("#subDevProduceCompany").val(sub.sccj);
|
||||
$("#outCompanyNo").val(sub.ccbh);
|
||||
$("#outCompanyDate").val(sub.ccrq);
|
||||
$("#nominalVol").val(sub.eddy);
|
||||
}
|
||||
//***********关闭loading
|
||||
ityzl_CLOSE_LOAD_LAYER(subI);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 加载终端信息
|
||||
* @param devIndex
|
||||
*/
|
||||
function loadDevice(devIndex) {
|
||||
var devI;
|
||||
jQuery.ajax({
|
||||
type: 'POST',
|
||||
dataType: "json",
|
||||
url: '/pqs9900/device/loadgwDevice',
|
||||
data: {
|
||||
devIndex: devIndex
|
||||
},
|
||||
beforeSend: function () {
|
||||
devI = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success: function (data) {
|
||||
if(data.code===500){
|
||||
layer.msg(data.message, {icon:2, time: 2000});
|
||||
}else{
|
||||
var dev=data.body;
|
||||
$("#lineDevNo").val(dev.zzbh);
|
||||
$("#devName").val(dev.zzmc);
|
||||
$("#devType").val(dev.zzlb);
|
||||
$("#devModel").val(dev.zzxh);
|
||||
$("#city").val(dev.ssds);
|
||||
$("#devLevel").val(dev.zzjb);
|
||||
$("#produceCompany").val(dev.sccj);
|
||||
$("#outNo").val(dev.ccbh);
|
||||
$("#outDate").val(dev.ccrq);
|
||||
$("#runDate").val(dev.tyrq);
|
||||
$("#testDate").val(dev.jxjdrq);
|
||||
$("#powerVol").val(dev.zzdydy);
|
||||
$("#runStatus").val(dev.yxzt);
|
||||
$("#runCompany").val(dev.ywdw);
|
||||
$("#maintain").val(dev.whbz);
|
||||
$("#testSignInputWay").val(dev.clxhsrxs);
|
||||
$("#volSignInputNum").val(dev.dyxhsrtds);
|
||||
$("#deviceCapacity").val(dev.cckhyprl);
|
||||
$("#timeWay").val(dev.dsfs);
|
||||
$("#deviceOwner").val(dev.sbzr);
|
||||
$("#cabinetsNo").val(dev.pbh);
|
||||
$("#cabinetsName").val(dev.pmc);
|
||||
$("#cabinetsType").val(dev.pglx);
|
||||
$("#ip").val(dev.ip1);
|
||||
$("#mac").val(dev.mac1);
|
||||
$("#subnet").val(dev.zwym1);
|
||||
$("#wg").val(dev.wg1);
|
||||
$("#dk").val(dev.dk1);
|
||||
$("#zcxz").val(dev.zcxz);
|
||||
$("#AssetsUnit").val(dev.zcdw);
|
||||
$("#AssetsNo").val(dev.zcbh);
|
||||
$("#projectNo").val(dev.gcbh);
|
||||
$("#gcmc").val(dev.gcmc);
|
||||
$("#sbtjfs").val(dev.sbtjfs);
|
||||
// $("#jhjdkh").val(dev.jhjdkh);
|
||||
$("#cabinetsOwner").val(dev.sspg);
|
||||
$("#deviceOwnerName").val(dev.sbzrmc);
|
||||
$("#assetsUnitName").val(dev.zcdwmc);
|
||||
$("#describe").val(dev.wbsms);
|
||||
$("#describeNo").val(dev.wbsbm);
|
||||
$("#deviceNo").val(dev.sbbm);
|
||||
$("#signTime").val(dev.djsj);
|
||||
$("#mark").val(dev.bz);
|
||||
$("#publisStatus").val(dev.fbzt);
|
||||
$("#modifiedDeviceName").val(dev.xghsbmc);
|
||||
$("#erpwbsNo").val(dev.erpwbsbm);
|
||||
$("#cityOwnerName").val(dev.ssdsmc);
|
||||
$("#maintenanceName").val(dev.ywdwmc);
|
||||
$("#maintenanceClassName").val(dev.whbzmc);
|
||||
$("#produceCompanyName").val(dev.sccjmc);
|
||||
$("#assetTypeName").val(dev.zcxzmc);
|
||||
$("#changeDate").val(dev.recordtimestamp);
|
||||
$("#changeType").val(dev.recordstatus);
|
||||
$("#pmsDevUUID").val(dev.objId);
|
||||
$("#pmsSubUUID").val(dev.subId);
|
||||
|
||||
}
|
||||
//***********关闭loading
|
||||
ityzl_CLOSE_LOAD_LAYER(devI);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 加载监测点信息
|
||||
* @param lineIndex
|
||||
*/
|
||||
function loadLine(monitorID,lineIndex) {
|
||||
var lineI;
|
||||
jQuery.ajax({
|
||||
type: 'POST',
|
||||
dataType: "json",
|
||||
url: '/pqs9900/device/loadgwLine',
|
||||
data: {
|
||||
monitorID: monitorID,
|
||||
lineIndex: lineIndex
|
||||
},
|
||||
beforeSend: function () {
|
||||
lineI = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success: function (data) {
|
||||
if(data.code===500){
|
||||
layer.msg(data.message, {icon:2, time: 2000});
|
||||
}else{
|
||||
var monitor=data.body;
|
||||
$("#lineName").val(monitor.name);
|
||||
$("#lineObjectName").val(monitor.MONITOR_OBJECT_NAME);
|
||||
$("#lineObjectType").val(monitor.monitorObjectModel);
|
||||
$("#lineType").val(monitor.name);/*监测点分类*/
|
||||
$("#minCapacity").val(monitor.dlrl);
|
||||
$("#powerCapacity").val(monitor.sbrl);
|
||||
$("#userCapacity").val(monitor.xyrl);
|
||||
$("#pt1").val(monitor.line.pt1);
|
||||
$("#pt2").val(monitor.line.pt2);
|
||||
$("#ct1").val(monitor.line.ct1);
|
||||
$("#ct2").val(monitor.line.ct2);
|
||||
// $("#dataSource").val(monitor.line.ct2);/*数据来源*/
|
||||
// $("#lineLocationType").val(monitor.line.ct2);
|
||||
// $("#connectWay").val(monitor.line.ct2);
|
||||
// $("#standardVol").val(monitor.line.ct2);
|
||||
// $("#lineVol").val(monitor.line.ct2);
|
||||
// $("#dataQuality").val(monitor.line.ct2);
|
||||
// $("#otherSystem1").val(monitor.line.ct2);
|
||||
// $("#otherSystem2").val(monitor.line.ct2);
|
||||
// $("#otherSystem3").val(monitor.line.ct2);
|
||||
// $("#isVirtual").val(monitor.line.ct2);
|
||||
// $("#orderNum").val(monitor.line.ct2);
|
||||
// $("#presentStatus").val(monitor.line.ct2);
|
||||
$("#lowLimit").val(monitor.voltageDev);
|
||||
$("#upLimit").val(monitor.uvoltageDev);
|
||||
}
|
||||
//***********关闭loading
|
||||
ityzl_CLOSE_LOAD_LAYER(lineI);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
//模糊搜索name满足条件的节点
|
||||
function searchNode(value) {
|
||||
if (value == "")
|
||||
return;
|
||||
// 获取搜索的节点
|
||||
var nodes = treeObj.getNodesByParamFuzzy("name", value);
|
||||
// 关闭所有节点的高亮
|
||||
var allNodes = treeObj.transformToArray(treeObj.getNodes());
|
||||
for (var i = 0; i < allNodes.length; i++) {
|
||||
allNodes[i].highlight = false;
|
||||
treeObj.updateNode(allNodes[i]);
|
||||
}
|
||||
// 展开第一层节点
|
||||
treeObj.expandAll(false);
|
||||
treeObj.expandNode(treeObj.getNodes()[0], true);
|
||||
// 高亮并展开搜索到的节点
|
||||
for (var i = 0; i < nodes.length; i++) {
|
||||
nodes[i].highlight = true;
|
||||
treeObj.updateNode(nodes[i]); // 更新节点,让高亮生效
|
||||
treeObj.expandNode(nodes[i].getParentNode(), true);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
//动态处理div上下margin
|
||||
|
||||
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,96 @@
|
||||
<%@ 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/amazeui/amazeui.css" media="all">
|
||||
<link rel="stylesheet" href="${ctx}/css/basic.css">
|
||||
<style type="text/css">
|
||||
html { overflow: hidden; }
|
||||
</style>
|
||||
</head>
|
||||
<body class="bg-white">
|
||||
<form class="form-inline ml12" enctype="multipart/form-data" id="uploadForm">
|
||||
<label class="form-group" for="inputfile">文件输入:</label>
|
||||
<div class="form-group" style="margin-left: 10%;padding-top: 10px;padding-bottom: 10px;">
|
||||
<input type="file" name="file" id="inputfile" accept="application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet">
|
||||
</div>
|
||||
<button type="button" id="importdev" class="btn themeBGColor mr15" style="margin-left: 10%;">
|
||||
<i class="glyphicon glyphicon-import"></i>导入
|
||||
</button>
|
||||
</form>
|
||||
|
||||
<script src="${ctx}/js/plugin/jquery.min.js"></script>
|
||||
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.min.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}/jspJS/utils/loading.js"></script>
|
||||
<script src="${ctx}/js/basic.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
|
||||
<script type="text/javascript">
|
||||
$("#importdev").click(function(){
|
||||
var i;
|
||||
var tips;
|
||||
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("请选择Excel文件,再上传!",{icon:5,time:2000},function(){
|
||||
layer.closeAll()});
|
||||
}else if(uploadEventFile.lastIndexOf(".xls")<0 && uploadEventFile.lastIndexOf(".xlsx")<0){//可判断以.xls和.xlsx结尾的excel
|
||||
layer.msg("只能上传Excel文件",{icon:5,time:2000},function(){
|
||||
layer.closeAll()});
|
||||
}else{
|
||||
layer.confirm('确定导入?', function(index){
|
||||
var formData = new FormData($('#uploadForm')[0]);
|
||||
$.ajax({
|
||||
method : "post",
|
||||
url : "/pqs9900/device/importDev",
|
||||
data :formData,
|
||||
async:false,
|
||||
beforeSend: function () {
|
||||
i = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success : function(data) {
|
||||
if(data.code == 200){
|
||||
tips = data.body;
|
||||
layer.msg("上传成功",{icon:1,time:2000},function(){
|
||||
parent.layer.closeAll();
|
||||
});
|
||||
//***********关闭loading
|
||||
ityzl_CLOSE_LOAD_LAYER(i);
|
||||
} else{
|
||||
tips = "上传失败!";
|
||||
layer.msg(data.message,{icon:5,time:2000},function(){
|
||||
parent.layer.closeAll()
|
||||
});
|
||||
//***********关闭loading
|
||||
ityzl_CLOSE_LOAD_LAYER(i);
|
||||
}
|
||||
parent.document.getElementById("tips").value=tips;
|
||||
},
|
||||
cache: false,
|
||||
contentType: false,
|
||||
processData: false
|
||||
});
|
||||
})
|
||||
}
|
||||
} else {
|
||||
layer.msg("上传失败,文件大小不超过3M!",{icon:5,time:2000},function(){
|
||||
layer.closeAll()});
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,203 @@
|
||||
<%@ 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/amazeui/amazeui.css" media="all">
|
||||
<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">
|
||||
<div class="layui-form-item layui-form-text pdt15" style="width:320px">
|
||||
<label class="layui-form-label" style="width:100px">名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="nodeName" placeholder="请输入" autocomplete="off" maxlength="32"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text" style="width:320px">
|
||||
<label class="layui-form-label" style="width:100px">等级</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="nodeGrade" maxlength="64" class="layui-select" style="display: block;width: 100%;">
|
||||
<option value="0">重要</option>
|
||||
<option value="1">普通</option>
|
||||
<option value="2">备用</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text" style="width:320px">
|
||||
<label class="layui-form-label" style="width:100px">最大装置数</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="nodeDevNum" value="100" placeholder="请输入" autocomplete="off" maxlength="32"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text" style="width:320px">
|
||||
<label class="layui-form-label" style="width:100px">排序</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="nodeOrder" value="0" placeholder="请输入" autocomplete="off" maxlength="32"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text" style="width:320px">
|
||||
<label class="layui-form-label" style="width:100px">描述</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="nodeDesc" placeholder="请输入" autocomplete="off" maxlength="64"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-form-text" style="width:320px">
|
||||
<label class="layui-form-label" style="width:100px">IP</label>
|
||||
<div class="layui-input-block">
|
||||
<input name="ip4" id="ip4" style="width:35px" maxlength="3"
|
||||
onkeyup="this.value=this.value.replace(/[^0-9-]+/,'');">.
|
||||
<input name="ip3" id="ip3" style="width:35px" maxlength="3"
|
||||
onkeyup="this.value=this.value.replace(/[^0-9-]+/,'');">.
|
||||
<input name="ip2" id="ip2" style="width:35px" maxlength="3"
|
||||
onkeyup="this.value=this.value.replace(/[^0-9-]+/,'');">.
|
||||
<input name="ip1" id="ip1" style="width:35px" maxlength="3"
|
||||
onkeyup="this.value=this.value.replace(/[^0-9-]+/,'');">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block" style="width:320px">
|
||||
<button type="button" class="layui-btn themeBGColor" id="modNode" style="margin-left:10px">提交</button>
|
||||
<button type="reset" class="layui-btn cancleBGColor" style="margin-left:45px" id="cancleAdd">取消</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<input type="hidden" id="nodeIndex" value="${sessionScope.nodeIndex}"/>
|
||||
<script src="${ctx}/js/plugin/jquery.min.js"></script>
|
||||
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.min.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 type="text/javascript">
|
||||
var nodeIndex = $("#nodeIndex").val();
|
||||
nodeIndex = filterXSS(nodeIndex);
|
||||
$(document).ready(function () {
|
||||
$.ajax({
|
||||
method: "post",
|
||||
url: "/pqs9900/device/loadNode",
|
||||
data: {
|
||||
nodeIndex: nodeIndex
|
||||
},
|
||||
async: false,
|
||||
success: function (data) {
|
||||
if (data == null) {
|
||||
layer.msg('前置机信息加载失败', {icon: 1, time: 1000});
|
||||
} else {
|
||||
$("#nodeName").val(data[0]);
|
||||
$("#nodeDesc").val(data[1]);
|
||||
$("#ip4").val(data[2]);
|
||||
$("#ip3").val(data[3]);
|
||||
$("#ip2").val(data[4]);
|
||||
$("#ip1").val(data[5]);
|
||||
$("#nodeGrade").val(data[6])
|
||||
$("#nodeDevNum").val(data[7])
|
||||
$("#nodeOrder").val(data[8])
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
|
||||
|
||||
$("#cancleAdd").click(function () {
|
||||
parent.layer.close(index);
|
||||
});
|
||||
|
||||
$("#modNode").click(function () {
|
||||
var nodeName = $("#nodeName").val();
|
||||
var nodeDesc = $("#nodeDesc").val();
|
||||
var nodeGrade = $("#nodeGrade").val();
|
||||
let nodeDevNum = $("#nodeDevNum").val()
|
||||
let nodeOrder = $("#nodeOrder").val()
|
||||
var ip4 = $("#ip4").val();
|
||||
var ip3 = $("#ip3").val();
|
||||
var ip2 = $("#ip2").val();
|
||||
var ip1 = $("#ip1").val();
|
||||
nodeName = filterXSS(nodeName);
|
||||
nodeDesc = filterXSS(nodeDesc);
|
||||
if (nodeName == null || nodeName == "") {
|
||||
layer.tips('名称不可为空', '#nodeName', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
} else if (!/^[\u4E00-\u9FA5A-Za-z0-9_]+$/gi.test(nodeName)) {
|
||||
layer.tips('名称含有非汉字字符', '#nodeName', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
} else if (!/^\+?[1-9]{1}[0-9]{0,2}\d{0,0}$/.test(nodeDevNum)) {
|
||||
layer.tips('请规范填写最大装置数量', '#nodeDevNum', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
} else if (!/^\+?[1-9]{1}[0-9]{0,2}\d{0,0}$/.test(nodeOrder)) {
|
||||
layer.tips('请规范填写排序号', '#nodeOrder', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
} else if (ip4 > 255 || ip4 < 0) {
|
||||
layer.tips('ip限制为0-255', '#ip4', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
} else if (ip3 > 255 || ip3 < 0) {
|
||||
layer.tips('ip限制为0-255', '#ip3', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
} else if (ip2 > 255 || ip2 < 0) {
|
||||
layer.tips('ip限制为0-255', '#ip2', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
} else if (ip1 > 255 || ip1 < 0) {
|
||||
layer.tips('ip限制为0-255', '#ip1', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
} else {
|
||||
$.ajax({
|
||||
url: '/pqs9900/device/modNode',
|
||||
type: 'POST',
|
||||
dataType: "text",
|
||||
data: {
|
||||
nodeIndex: nodeIndex,
|
||||
nodeName: nodeName,
|
||||
nodeDesc: nodeDesc,
|
||||
ip4: ip4,
|
||||
ip3: ip3,
|
||||
ip2: ip2,
|
||||
ip1: ip1,
|
||||
nodeGrade:nodeGrade,
|
||||
nodeDevNum:nodeDevNum,
|
||||
nodeOrder:nodeOrder
|
||||
},
|
||||
success: function (data) {
|
||||
var info = $.parseJSON(data);
|
||||
if (info.code == 200) {
|
||||
layer.msg('修改成功!', {icon: 1, time: 1000});
|
||||
parent.layer.close(index);
|
||||
parent.window.load();
|
||||
} else if (info.code == 400) {
|
||||
layer.msg('修改失败!名称已存在', {icon: 2, time: 1000});
|
||||
} else {
|
||||
layer.msg('修改失败!', {icon: 2, time: 1000});
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -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>
|
||||
<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/plugin/bootstrap/bootstrap-datetimepicker.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;
|
||||
}
|
||||
body {
|
||||
min-width: 1620px;
|
||||
max-height: 500px;
|
||||
}
|
||||
}
|
||||
</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">IP</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>
|
||||
<script src="${ctx}/js/plugin/jquery.min.js"></script>
|
||||
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
|
||||
<script src="${ctx}/js/plugin/bootstrap/jquery.dataTables.min.js"></script>
|
||||
<script src="${ctx}/js/plugin/bootstrap/dataTables.bootstrap.min.js"></script>
|
||||
<script src="${ctx}/js/plugin/layui/layui.all.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/bootstrap-datetimepicker.min.js"></script>
|
||||
<script
|
||||
src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
|
||||
<script src="${ctx}/js/plugin/jquery.cleverTabs.js"></script>
|
||||
<script src="${ctx}/js/basic.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/loading.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
|
||||
<script src="${ctx}/jspJS/device/nodeInfo.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -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"%>
|
||||
<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/plugin/bootstrap/bootstrap-datetimepicker.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;
|
||||
}
|
||||
body {
|
||||
min-width: 1620px;
|
||||
max-height: 500px;
|
||||
}
|
||||
}
|
||||
</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">前置机名称</th>
|
||||
<th class="text-center">前置机IP</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>
|
||||
<script src="${ctx}/js/plugin/jquery.min.js"></script>
|
||||
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
|
||||
<script src="${ctx}/js/plugin/bootstrap/jquery.dataTables.min.js"></script>
|
||||
<script src="${ctx}/js/plugin/bootstrap/dataTables.bootstrap.min.js"></script>
|
||||
<script src="${ctx}/js/plugin/layui/layui.all.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/bootstrap-datetimepicker.min.js"></script>
|
||||
<script
|
||||
src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
|
||||
<script src="${ctx}/js/plugin/jquery.cleverTabs.js"></script>
|
||||
<script src="${ctx}/js/basic.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/loading.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
|
||||
<script src="${ctx}/jspJS/device/pushInfo.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,324 @@
|
||||
<%@ 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/datatimepicker/bootstrap-datetimepicker.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/buttons.dataTables.min.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap-select.css"/>
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/basic.css">
|
||||
<style>
|
||||
.form-control, .control-label{
|
||||
height: 22px;
|
||||
line-height: 22px;
|
||||
padding: 0px 12px; !important;
|
||||
}
|
||||
|
||||
#deviceTable {
|
||||
min-width: 100%;
|
||||
}
|
||||
|
||||
.btn {
|
||||
padding: 1px 6px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.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: middle;
|
||||
border-top: 1px solid #ddd;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="container-fluid">
|
||||
<div class="row" style="margin-top: 10px;text-align: right">
|
||||
<form class="form-horizontal" role="form">
|
||||
<div class="col-md-6 col-lg-6">
|
||||
<div class="form-group" style="margin-bottom: 0px">
|
||||
<label class="col-md-2 control-label" style="padding-top: 0px">基础套餐:</label>
|
||||
<div class="col-md-3">
|
||||
<select class="form-control" id="basePack">
|
||||
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-1" style="padding-left: 0px;text-align: left">
|
||||
<button class="btn btn-primary" id="infomeal" type="button"><i class="glyphicon glyphicon-question-sign"></i></button>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<label class="col-md-2 control-label" style="padding-top: 0px">扩展套餐:</label>
|
||||
<div class="col-md-3">
|
||||
<select class="form-control" id="extendPack">
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-1" style="padding-left: 0px;text-align: left">
|
||||
<button class="btn btn-primary" id="infomeal2" type="button"><i class="glyphicon glyphicon-question-sign"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-lg-6">
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="row" style="padding-top: 0px">
|
||||
<%--页面表格--%>
|
||||
<div class="col-md-12">
|
||||
<div class="width100 halfHeight">
|
||||
<table id="deviceTable" class="table table-striped table-bordered dataTable no-footer width100">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>终端名</th>
|
||||
<th>网络参数</th>
|
||||
<th>供电公司</th>
|
||||
<th>变电站</th>
|
||||
<th>基础流量</th>
|
||||
<th>扩展流量</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<footer class="navbar-fixed-bottom">
|
||||
<div class="container" style="text-align: center">
|
||||
<div class="form-group">
|
||||
<button id="save" class="btn btn-primary" style="margin-right: 15px">保存</button>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
<input type="hidden" id="username" value="${username}">
|
||||
<script src="${ctx}/js/plugin/jquery/jquery.min.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.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/xss/aes.js"></script>
|
||||
<script src="${ctx}/jspJS/sm2.js"></script>
|
||||
<script src="${ctx}/jspJS/sm3.js"></script>
|
||||
<script src="${ctx}/jspJS/confirmIndentity.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/loading.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/common.js"></script>
|
||||
<script>
|
||||
var arr = []
|
||||
var type = getQueryString("type")
|
||||
$(function () {
|
||||
if(type == 1){
|
||||
//
|
||||
arr = parent.window.paramSend()
|
||||
}else {
|
||||
arr = []
|
||||
let devIndex = getQueryString("devIndex")
|
||||
arr.push(devIndex)
|
||||
}
|
||||
|
||||
//初始化设备
|
||||
getBaseFlowList()
|
||||
refresh()
|
||||
|
||||
|
||||
//确认按钮
|
||||
$('#save').click(function () {
|
||||
let username = $('#username').val()
|
||||
let resetName = ''
|
||||
passwordIndentity(username, resetName, function () {
|
||||
layer.confirm('是否确认提交?', function () {
|
||||
let fmBaseIndex = $('#basePack').val()
|
||||
let extendPack = $('#extendPack').val()
|
||||
let map = {
|
||||
list: arr,
|
||||
fmBaseIndex: fmBaseIndex,
|
||||
fmReamIndex: extendPack
|
||||
}
|
||||
console.log(map)
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
dataType: "json",
|
||||
url: '/pqs9900/terminalmanger/addDevMealAss',
|
||||
contentType: 'application/json;charset=UTF-8',
|
||||
data: JSON.stringify(map),
|
||||
success: function (data) {
|
||||
if (data.code == 200) {
|
||||
layer.msg(data.message, {icon: 1}, function () {
|
||||
//获取选中的值
|
||||
var arr = $("select[name='event']").val()
|
||||
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
|
||||
parent.layer.close(index); //再执行关闭
|
||||
parent.flashResh()
|
||||
})
|
||||
}
|
||||
},
|
||||
error: function () {
|
||||
layer.msg('未知错误', {icon: 2})
|
||||
}
|
||||
});
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
var tile;
|
||||
//套餐详情页面弹窗
|
||||
$('#infomeal').click(function () {
|
||||
tile='基础套餐详情'
|
||||
let base = $('#basePack').val()
|
||||
if(base == null || base == ''){
|
||||
return
|
||||
}
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: tile,
|
||||
maxmin: false,
|
||||
area: ['280px', '280px'],
|
||||
content: ['flowcommainopen?types=3&fmIndex='+base, 'no'],
|
||||
scrollbar: false
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
$('#infomeal2').click(function () {
|
||||
tile='扩展套餐详情'
|
||||
let extend = $('#extendPack').val()
|
||||
if(extend == null || extend == ''){
|
||||
return
|
||||
}
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: tile,
|
||||
maxmin: false,
|
||||
area: ['280px', '280px'],
|
||||
content: ['flowcommainopen?types=3&fmIndex='+extend, 'no'],
|
||||
scrollbar: false
|
||||
})
|
||||
})
|
||||
})
|
||||
/**
|
||||
* 初始化获取后台数据
|
||||
*/
|
||||
function refresh() {
|
||||
/*获取各项条件 */
|
||||
var indexi;
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: "/pqs9900/terminalmanger/getTerminalList2",
|
||||
contentType: 'application/json;charset=UTF-8',
|
||||
dataType: "json",
|
||||
data: JSON.stringify(arr),
|
||||
beforeSend: function () {
|
||||
indexi = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.code === 200) {
|
||||
//初始化表格
|
||||
initTransactionTable(data.body);
|
||||
} else {
|
||||
layer.msg(data.message, {icon: 2, time: 2000})
|
||||
initTransactionTable(null);
|
||||
}
|
||||
ityzl_CLOSE_LOAD_LAYER(indexi);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
var dataTable;
|
||||
|
||||
//初始化表格数据
|
||||
function initTransactionTable(tableData) {
|
||||
var height = $(window).height()-70
|
||||
let tableLen = height-70
|
||||
var length = Math.floor(tableLen / 32);
|
||||
if (length < 1) {
|
||||
length = 1;
|
||||
}
|
||||
var tableCellHeight = 32 * length;
|
||||
dataTable = $("#deviceTable").DataTable();
|
||||
dataTable.clear().draw();
|
||||
dataTable = $('#deviceTable').DataTable({
|
||||
columns: [
|
||||
{width: "12%", data: "name"},
|
||||
{width: "7%", data: "ip"},
|
||||
{width: "12%", data: "gdName"},
|
||||
{width: "12%", data: "bdName"},
|
||||
{width: "7%", data: "baseFlow"},
|
||||
{width: "7%", data: "extendFlow"},
|
||||
],
|
||||
paging:false,
|
||||
info:false,
|
||||
destroy: true,
|
||||
data: tableData,
|
||||
lengthChange: true,
|
||||
searching: true,
|
||||
dom: 'rtip',
|
||||
scrollY: tableCellHeight,
|
||||
// scrollX: true,
|
||||
lengthMenu: [length],
|
||||
language: {
|
||||
url: '/pqs9900/json/chine.json'
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
//获取流量基础套餐列表
|
||||
function getBaseFlowList() {
|
||||
$.ajax({
|
||||
type: "get",
|
||||
url: "/pqs9900/flow/getFlowMealList",
|
||||
dataType: "json",
|
||||
success: function (data) {
|
||||
if (data.code === 200) {
|
||||
let da = data.body
|
||||
if(da!=null && da.length!=0){
|
||||
let html = ''
|
||||
let html2 = ''
|
||||
let first = '<option value="">空</option>'
|
||||
for(let i =0;i<da.length;i++){
|
||||
let str = '<option value="'+da[i].fmIndex+'">'+da[i].fmName+'</option>'
|
||||
if(da[i].type == 0){
|
||||
//基础套餐
|
||||
html+=str;
|
||||
}else {
|
||||
//扩展套餐
|
||||
html2+=str
|
||||
}
|
||||
}
|
||||
$('#basePack').html(html)
|
||||
$('#extendPack').html(first+html2)
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,290 @@
|
||||
<%@ 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/datatimepicker/bootstrap-datetimepicker.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/buttons.dataTables.min.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap-select.css"/>
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/basic.css">
|
||||
<style>
|
||||
.form-control, .control-label{
|
||||
height: 22px;
|
||||
line-height: 22px;
|
||||
padding: 0px 0px 0px 12px; !important;
|
||||
}
|
||||
|
||||
#deviceTable {
|
||||
min-width: 100%;
|
||||
}
|
||||
|
||||
.btn {
|
||||
padding: 1px 6px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.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: middle;
|
||||
border-top: 1px solid #ddd;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="container-fluid">
|
||||
<div class="row" style="margin-top: 10px;text-align: right">
|
||||
<form class="form-horizontal" role="form">
|
||||
<div class="col-md-7 col-lg-7">
|
||||
</div>
|
||||
<div class="col-md-5 col-lg-5">
|
||||
<div class="form-group" style="margin-bottom: 0px;">
|
||||
<div class="col-md-2 col-lg-2 "></div>
|
||||
<label class="col-md-3 col-lg-3 control-label" style="padding-top: 0px;text-align: right">流量策略:</label>
|
||||
<div class="col-md-5 col-lg-5">
|
||||
<select class="form-control" id="strategy_flow">
|
||||
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-1" style="padding-left: 0px;text-align: left">
|
||||
<button class="btn btn-primary" id="infostrate" type="button"><i class="glyphicon glyphicon-question-sign"></i></button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="row">
|
||||
<%--页面表格--%>
|
||||
<div class="col-md-12">
|
||||
<div class="width100 halfHeight">
|
||||
<table id="deviceTable" class="table table-striped table-bordered dataTable no-footer width100">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>终端名</th>
|
||||
<th>网络参数</th>
|
||||
<th>供电公司</th>
|
||||
<th>变电站</th>
|
||||
<th>流量策略</th>
|
||||
<th>策略类型</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<footer class="navbar-fixed-bottom">
|
||||
<div class="container" style="text-align: center">
|
||||
<div class="form-group">
|
||||
<button id="save" class="btn btn-primary" style="margin-right: 15px">保存</button>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
<input type="hidden" id="username" value="${username}">
|
||||
<script src="${ctx}/js/plugin/jquery/jquery.min.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.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/xss/aes.js"></script>
|
||||
<script src="${ctx}/jspJS/sm2.js"></script>
|
||||
<script src="${ctx}/jspJS/sm3.js"></script>
|
||||
<script src="${ctx}/jspJS/confirmIndentity.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/loading.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
|
||||
<script>
|
||||
var arr = []
|
||||
$(function () {
|
||||
arr = parent.window.paramSend()
|
||||
//初始化设备
|
||||
refresh()
|
||||
getBaseFlowList()
|
||||
|
||||
//确认按钮
|
||||
$('#save').click(function () {
|
||||
let username = $('#username').val()
|
||||
let resetName = ''
|
||||
passwordIndentity(username, resetName, function () {
|
||||
layer.confirm('是否确认提交?', function () {
|
||||
let fsIndex = $('#strategy_flow').val()
|
||||
let map = {
|
||||
list: arr,
|
||||
fsIndex: fsIndex,
|
||||
}
|
||||
console.log(map)
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
dataType: "json",
|
||||
url: '/pqs9900/terminalmanger/addDevStrategyAss',
|
||||
contentType: 'application/json;charset=UTF-8',
|
||||
data: JSON.stringify(map),
|
||||
success: function (data) {
|
||||
if (data.code == 200) {
|
||||
layer.msg(data.message, {icon: 1}, function () {
|
||||
//获取选中的值
|
||||
var arr = $("select[name='event']").val()
|
||||
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
|
||||
parent.layer.close(index); //再执行关闭
|
||||
parent.flashResh()
|
||||
})
|
||||
} else {
|
||||
layer.msg(data.message, {icon: 2})
|
||||
}
|
||||
|
||||
},
|
||||
error: function () {
|
||||
layer.msg('未知错误', {icon: 2})
|
||||
}
|
||||
});
|
||||
})
|
||||
})
|
||||
})
|
||||
//策略详情弹出框
|
||||
$('#infostrate').click(function () {
|
||||
let fsIndex = $('#strategy_flow').val()
|
||||
if(fsIndex == null || fsIndex == ''){
|
||||
return
|
||||
}
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '流量策略详情',
|
||||
maxmin: false,
|
||||
area: ['25%', '80%'],
|
||||
content: ['flowstrategyopen?type=3&fsIndex='+fsIndex,'no'],
|
||||
scrollbar: false,
|
||||
})
|
||||
})
|
||||
})
|
||||
/**
|
||||
* 初始化获取后台数据
|
||||
*/
|
||||
function refresh() {
|
||||
/*获取各项条件 */
|
||||
var indexi;
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: "/pqs9900/terminalmanger/getTerminalList2",
|
||||
contentType: 'application/json;charset=UTF-8',
|
||||
dataType: "json",
|
||||
data: JSON.stringify(arr),
|
||||
beforeSend: function () {
|
||||
indexi = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.code === 200) {
|
||||
//初始化表格
|
||||
initTransactionTable(data.body);
|
||||
} else {
|
||||
layer.msg(data.message, {icon: 2, time: 2000})
|
||||
initTransactionTable(null);
|
||||
}
|
||||
ityzl_CLOSE_LOAD_LAYER(indexi);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
var dataTable;
|
||||
|
||||
//初始化表格数据
|
||||
function initTransactionTable(tableData) {
|
||||
var height = $(window).height()-70
|
||||
let tableLen = height-70
|
||||
var length = Math.floor(tableLen / 32);
|
||||
if (length < 1) {
|
||||
length = 1;
|
||||
}
|
||||
var tableCellHeight = 32 * length;
|
||||
dataTable = $("#deviceTable").DataTable();
|
||||
dataTable.clear().draw();
|
||||
dataTable = $('#deviceTable').DataTable({
|
||||
columns: [
|
||||
{width: "12%", data: "name"},
|
||||
{width: "7%", data: "ip"},
|
||||
{width: "12%", data: "gdName"},
|
||||
{width: "12%", data: "bdName"},
|
||||
{width: "7%", data: "strategyName"},
|
||||
{width: "7%", data: "strategyType",render:function (data) {
|
||||
return getWarnInfo(data);
|
||||
}},
|
||||
],
|
||||
paging:false,
|
||||
info:false,
|
||||
destroy: true,
|
||||
data: tableData,
|
||||
lengthChange: true,
|
||||
searching: true,
|
||||
dom: 'rtip',
|
||||
scrollY: tableCellHeight,
|
||||
// scrollX: true,
|
||||
lengthMenu: [length],
|
||||
language: {
|
||||
url: '/pqs9900/json/chine.json'
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
//获取流量基础套餐列表
|
||||
function getBaseFlowList() {
|
||||
$.ajax({
|
||||
type: "get",
|
||||
url: "/pqs9900/flowstrategy/getStrategyList",
|
||||
dataType: "json",
|
||||
success: function (data) {
|
||||
if (data.code === 200) {
|
||||
let da = data.body
|
||||
if(da!=null && da.length!=0){
|
||||
let html = ''
|
||||
for(let i =0;i<da.length;i++){
|
||||
let str = '<option value="'+da[i].fsIndex+'">'+da[i].name+'</option>'
|
||||
html+=str
|
||||
}
|
||||
$('#strategy_flow').html(html)
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
//获取启用状态
|
||||
function getWarnInfo(data) {
|
||||
data = Number(data);
|
||||
if (data === 0) {
|
||||
info = '<font style="color:#A52a2a">通用策略</font>'
|
||||
}else if(data === 1){
|
||||
info = '<font style="color:#2E8B57">定制策略</font>'
|
||||
} else {
|
||||
info = '<font style="color:#2E8B57">空</font>'
|
||||
}
|
||||
return info;
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,250 @@
|
||||
<%@ 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/datatimepicker/bootstrap-datetimepicker.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.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">
|
||||
<style>
|
||||
.form-control {
|
||||
height: 22px;
|
||||
padding: 1px 5px;
|
||||
}
|
||||
|
||||
#deviceTable {
|
||||
min-width: 100%;
|
||||
}
|
||||
|
||||
.btn {
|
||||
padding: 2px 10px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.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: middle;
|
||||
border-top: 1px solid #ddd;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="container-fluid">
|
||||
<div class="row" style="padding: 10px 2px;text-align: right">
|
||||
<div class="col-md-12">
|
||||
<label class="radio-inline">
|
||||
终端状态:
|
||||
</label>
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="optionsRadiosinline" id="yes" value="0" checked>投运
|
||||
</label>
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="optionsRadiosinline" id="stop" value="2">停运
|
||||
</label>
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="optionsRadiosinline" id="wait" value="1">热备用
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="padding-top: 0px">
|
||||
<%--页面表格--%>
|
||||
<div class="col-md-12">
|
||||
<div class="width100 halfHeight">
|
||||
<table id="deviceTable" 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>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<footer class="navbar-fixed-bottom">
|
||||
<div class="container" style="text-align: center">
|
||||
<div class="form-group">
|
||||
<button id="save" class="btn btn-primary">保存</button>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
<input type="hidden" id="username" value="${username}">
|
||||
<script src="${ctx}/js/plugin/jquery/jquery.min.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.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}/jspJS/utils/loading.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}/jspJS/confirmIndentity.js"></script>
|
||||
<script>
|
||||
var arr = []
|
||||
$(function () {
|
||||
arr = parent.window.paramSend()
|
||||
//初始化设备
|
||||
refresh()
|
||||
|
||||
//确认按钮
|
||||
$('#save').click(function () {
|
||||
let username = $('#username').val()
|
||||
let resetName = ''
|
||||
// passwordIndentity(username, resetName, function () {
|
||||
layer.open({
|
||||
title:'终端状态操作原因',
|
||||
btnAlign: 'c',
|
||||
content: '<div><textarea style="width: 100%;height: 100px" id="desc" placeholder="请输入操作原因"></textarea></div>',
|
||||
btn: ['确认提交'],
|
||||
yes: function(index, layero){
|
||||
if($("#desc").val() == null || $("#desc").val() == ''|| $("#desc").val().trim() == ''){
|
||||
layer.msg("请输入操作原因",{type:1})
|
||||
return false;
|
||||
}
|
||||
|
||||
let map = {
|
||||
list: arr,
|
||||
devFlag: $("[name='optionsRadiosinline']:checked").val(),
|
||||
describe:$("#desc").val()
|
||||
}
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
dataType: "json",
|
||||
url: '/pqs9900/terminalmanger/updateDevFlag',
|
||||
contentType: 'application/json;charset=UTF-8',
|
||||
data: JSON.stringify(map),
|
||||
success: function (data) {
|
||||
if (data.code == 200) {
|
||||
layer.msg(data.message, {icon: 1,time:2000}, function () {
|
||||
//获取选中的值
|
||||
refresh()
|
||||
})
|
||||
}else {
|
||||
layer.msg(data.message,{icon:2})
|
||||
}
|
||||
},
|
||||
error: function () {
|
||||
layer.msg('未知错误', {icon: 2})
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
})
|
||||
|
||||
//})
|
||||
})
|
||||
/**
|
||||
* 初始化获取后台数据
|
||||
*/
|
||||
function refresh() {
|
||||
/*获取各项条件 */
|
||||
var indexi;
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: "/pqs9900/terminalmanger/getTerminalList2",
|
||||
contentType: 'application/json;charset=UTF-8',
|
||||
dataType: "json",
|
||||
data: JSON.stringify(arr),
|
||||
beforeSend: function () {
|
||||
indexi = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.code === 200) {
|
||||
//初始化表格
|
||||
initTransactionTable(data.body);
|
||||
} else {
|
||||
layer.msg(data.message, {icon: 2, time: 2000})
|
||||
initTransactionTable(null);
|
||||
}
|
||||
ityzl_CLOSE_LOAD_LAYER(indexi);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
var dataTable;
|
||||
|
||||
//初始化表格数据
|
||||
function initTransactionTable(tableData) {
|
||||
var height = $(window).height()-70
|
||||
let tableLen = height-70
|
||||
var length = Math.floor(tableLen / 32);
|
||||
if (length < 1) {
|
||||
length = 1;
|
||||
}
|
||||
var tableCellHeight = 32 * length;
|
||||
dataTable = $("#deviceTable").DataTable();
|
||||
dataTable.clear().draw();
|
||||
dataTable = $('#deviceTable').DataTable({
|
||||
columns: [
|
||||
{width: "12%", data: "name"},
|
||||
{width: "7%", data: "ip"},
|
||||
{width: "12%", data: "gdName"},
|
||||
{width: "12%", data: "bdName"},
|
||||
{width: "7%", data: "devFlag",render:function (data) {
|
||||
return getWarnInfo(data)
|
||||
}},
|
||||
],
|
||||
paging:false,
|
||||
info:false,
|
||||
destroy: true,
|
||||
data: tableData,
|
||||
lengthChange: true,
|
||||
searching: true,
|
||||
dom: 'rtip',
|
||||
scrollY: tableCellHeight,
|
||||
// scrollX: true,
|
||||
lengthMenu: [length],
|
||||
language: {
|
||||
url: '/pqs9900/json/chine.json'
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
//获取启用状态
|
||||
function getWarnInfo(data) {
|
||||
var da = Number(data);
|
||||
console.log(da)
|
||||
if (da == 0) {
|
||||
info = '<font style="color:#20B2AA">投运</font>'
|
||||
}else if(da == 1){
|
||||
info = '<font style="color:#F4A460">热备用</font>'
|
||||
}else {
|
||||
info = '<font style="color:#A52a2a">停运</font>'
|
||||
}
|
||||
return info;
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,101 @@
|
||||
<%@ 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/bootstrap/bootstrap-datetimepicker.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/basic.css">
|
||||
<style>
|
||||
.tr {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.td {
|
||||
text-align: center;
|
||||
line-height: 48px
|
||||
}
|
||||
|
||||
.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 ml15">
|
||||
<label class="form-group">日志类型:</label>
|
||||
<select id="status" class="form-control">
|
||||
|
||||
</select>
|
||||
<%@include file="../../include/time.jsp" %>
|
||||
<button id="query" type="button" class="btn themeBGColor">
|
||||
<i class="glyphicon glyphicon-search"></i>
|
||||
</button>
|
||||
<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">
|
||||
<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>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</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/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/timeControl.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/loading.js"></script>
|
||||
<script src="${ctx}/jspJS/device/terminalLogManage.js"></script>
|
||||
<script>
|
||||
$("#interval").val("周");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,318 @@
|
||||
<%@ 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/datatimepicker/bootstrap-datetimepicker.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.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">
|
||||
<style>
|
||||
.form-control {
|
||||
height: 22px;
|
||||
padding: 1px 5px;
|
||||
}
|
||||
|
||||
#deviceTable {
|
||||
min-width: 100%;
|
||||
}
|
||||
|
||||
.btn {
|
||||
padding: 1px 6px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.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: middle;
|
||||
border-top: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.pagination > li > a, .pagination > li > span {
|
||||
padding: 6px 12px;
|
||||
}
|
||||
|
||||
.alert {
|
||||
margin-bottom: 5px
|
||||
}
|
||||
.spansty{
|
||||
color: red;
|
||||
font-size: 15px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
.spansle{
|
||||
font-size: 15px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body class="container-fluid">
|
||||
<div class="row">
|
||||
<%--页面头--%>
|
||||
<div class="col-md-12">
|
||||
<div class="form-inline">
|
||||
|
||||
<div class="alert alert-warning" style="text-align: center">
|
||||
<span class="label label-success" id="nums"></span>
|
||||
<span class="spansle">目标程序版本: </span><span class="spansty" id="edName"></span>
|
||||
<span class="spansle">协议版本: </span><span class="spansty" id="edProtocol"></span>
|
||||
<span class="spansle">版本日期: </span><span class="spansty" id="edDate"></span>
|
||||
<span class="spansle">版本系列: </span><span class="spansty" id="devType"></span>
|
||||
<span class="spansle">版本类型: </span><span class="spansty" id="type"></span>
|
||||
|
||||
<div style="float: right">
|
||||
<button style="margin-right: 20px" type="button" id="confirm" class="btn btn-primary"><li class="glyphicon glyphicon-arrow-up">提交升级申请</li></button>
|
||||
<button type="button" id="getCsv" class="btn btn-primary">导出数据</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<%--页面表格--%>
|
||||
<div class="col-md-12">
|
||||
<div class="width100 div_height">
|
||||
<table id="deviceTable" 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>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input type="hidden" id="username" value="${username}">
|
||||
<script src="${ctx}/js/plugin/jquery/jquery.min.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.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}/jspJS/utils/loading.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/confirmIndentity.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/common.js"></script>
|
||||
|
||||
<script>
|
||||
var dataTable;
|
||||
var jsoncsv;
|
||||
var height = $(window).height() - 70;
|
||||
let edIndex = getQueryString('edIndex')
|
||||
|
||||
let arr = window.parent.senddevArr()
|
||||
$(function () {
|
||||
getTargetEd(edIndex)
|
||||
refresh()
|
||||
$('#nums').text('已选 '+arr.length+' 台装置')
|
||||
})
|
||||
|
||||
|
||||
$('#confirm').click(function () {
|
||||
let username = $('#username').val()
|
||||
let resetName = ''
|
||||
passwordIndentity(username, resetName, function () {
|
||||
window.parent.sendWebSocket(edIndex, 2)
|
||||
})
|
||||
})
|
||||
|
||||
$('#getCsv').click(function () {
|
||||
tableToExcel()
|
||||
})
|
||||
|
||||
|
||||
/**
|
||||
* 初始化获取后台数据
|
||||
*/
|
||||
function refresh() {
|
||||
var indexi;
|
||||
$.ajax({
|
||||
type: "post",
|
||||
contentType: 'application/json;charset=UTF-8',
|
||||
url: "/pqs9900/version/getTerminalListForUp",
|
||||
dataType: "json",
|
||||
data: JSON.stringify(arr),
|
||||
beforeSend: function () {
|
||||
indexi = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.code === 200) {
|
||||
//初始化表格
|
||||
jsoncsv=data.body;
|
||||
initTransactionTable(data.body);
|
||||
} else {
|
||||
jsoncsv=null;
|
||||
layer.msg(data.message, {icon: 2, time: 2000})
|
||||
initTransactionTable(null);
|
||||
}
|
||||
ityzl_CLOSE_LOAD_LAYER(indexi);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//初始化表格数据
|
||||
function initTransactionTable(tableData) {
|
||||
var tableHeight = height - 75;
|
||||
var length = Math.floor(tableHeight / 32);
|
||||
if (length < 1) {
|
||||
length = 1;
|
||||
}
|
||||
var tableCellHeight = 32 * length;
|
||||
dataTable = $("#deviceTable").DataTable();
|
||||
dataTable.clear().draw();
|
||||
dataTable = $('#deviceTable').DataTable({
|
||||
order: [8, 'desc'],
|
||||
columnDefs: [
|
||||
{
|
||||
orderable: false
|
||||
}
|
||||
],
|
||||
columns: [
|
||||
{width: "5%",data: null,"targets": 0},
|
||||
{width: "12%", data: "name"},
|
||||
{width: "6%", data: "edName"},
|
||||
{width: "7%", data: "proTocol"},
|
||||
{width: "7%", data: "edDate"},
|
||||
{width: "7%", data: "devSeriesName"},
|
||||
{width: "12%", data: "devType"},
|
||||
{width: "13%", data: "gdName"},
|
||||
{width: "13%", data: "bdName"},
|
||||
{
|
||||
width: "8%", data: "updateTime", render: function (data) {
|
||||
return formatTime(data,2)
|
||||
}
|
||||
},
|
||||
{width: "8%", data: "updateUser"},
|
||||
],
|
||||
destroy: true,
|
||||
data: tableData,
|
||||
lengthChange: false,
|
||||
searching: true,
|
||||
dom: 'rtip',
|
||||
scrollY: tableCellHeight,
|
||||
// scrollX: true,
|
||||
lengthMenu: [length],
|
||||
language: {
|
||||
url: '/pqs9900/json/chine.json'
|
||||
},
|
||||
fnDrawCallback: function (oTable) {
|
||||
var api = this.api();
|
||||
api.column(0).nodes().each(function(cell, i) {
|
||||
cell.innerHTML = i + 1;
|
||||
});
|
||||
$("#deviceTable_info").addClass("fl");
|
||||
$("#deviceTable_paginate").addClass("fr");
|
||||
$("#deviceTable_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 = $("#deviceTable").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 getTargetEd(edIndex) {
|
||||
var indexi;
|
||||
$.ajax({
|
||||
type: "get",
|
||||
url: "/pqs9900/version/getVersionTwo",
|
||||
dataType: "json",
|
||||
data: {edIndex: edIndex},
|
||||
beforeSend: function () {
|
||||
indexi = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.code === 200) {
|
||||
edNames=data.body.edName== null ? '' :data.body.edName;
|
||||
edProtocols=data.body.edProtocol== null ? '' :data.body.edProtocol;
|
||||
edDates=data.body.edDate== null ? '' :data.body.edDate;
|
||||
devTypes=data.body.devType== null ? '' :data.body.devType;
|
||||
types=data.body.type== null ? '通用类型' :data.body.type
|
||||
//初始化表格
|
||||
$('#edName').text( edNames)
|
||||
$('#edProtocol').text( edProtocols)
|
||||
$('#edDate').text( edDates)
|
||||
$('#devType').text(devTypes )
|
||||
$('#type').text( types)
|
||||
|
||||
} else {
|
||||
layer.msg(data.message, {icon: 2, time: 2000})
|
||||
}
|
||||
ityzl_CLOSE_LOAD_LAYER(indexi);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
var edNames;
|
||||
var edProtocols;
|
||||
var edDates;
|
||||
var devTypes;
|
||||
var types
|
||||
function tableToExcel(){
|
||||
// 要导出的json数据
|
||||
const jsonData = jsoncsv
|
||||
// 列标题,逗号隔开,每一个逗号就是隔开一个单元格
|
||||
let title = `目标版本,协议版本,版本日期,版本系列,版本类型\n`;
|
||||
let t =edNames+'\t,'+edProtocols+'\t,'+edDates+'\t,'+devTypes+'\t,'+types+'\t,\n';
|
||||
let str = `序号,终端名,版本号,协议版本,版本日期,装置系列,终端型号,供电公司,变电站,更新时间,修改人员\n`;
|
||||
// 增加\t为了不让表格显示科学计数法或者其他格式
|
||||
for(let i = 0 ; i < jsonData.length ; i++ ){
|
||||
console.log(jsonData[i])
|
||||
let s= i+1+'\t,'+jsonData[i].name+'\t,'+jsonData[i].edName+'\t,'+jsonData[i].proTocol+'\t,'+jsonData[i].edDate+'\t,'+jsonData[i].devSeriesName+'\t,'+jsonData[i].devType+'\t,'+jsonData[i].gdName+'\t,'+jsonData[i].bdName+'\t,'+formatTime(jsonData[i].updateTime,1)+'\t,'+jsonData[i].updateUser+','
|
||||
str+=s+'\n';
|
||||
}
|
||||
// encodeURIComponent解决中文乱码
|
||||
const uri = 'data:text/csv;charset=utf-8,\ufeff' + encodeURIComponent(title+t+str);
|
||||
// 通过创建a标签实现
|
||||
const link = document.createElement("a");
|
||||
link.href = uri;
|
||||
// 对下载的文件命名
|
||||
link.download = "升级装置.csv";
|
||||
link.click();
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,174 @@
|
||||
<%@ 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/datatimepicker/bootstrap-datetimepicker.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.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">
|
||||
<style>
|
||||
.form-control {
|
||||
height: 22px;
|
||||
padding: 1px 5px;
|
||||
}
|
||||
|
||||
#deviceTable {
|
||||
min-width: 100%;
|
||||
}
|
||||
|
||||
.btn {
|
||||
padding: 2px 10px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.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: middle;
|
||||
border-top: 1px solid #ddd;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="container-fluid">
|
||||
<div class="row">
|
||||
<%--页面表格--%>
|
||||
<div class="col-md-12 col-lg-12 col-sm-12">
|
||||
<div class="width100">
|
||||
<table id="deviceTable" 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>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="hidden" id="username" value="${username}">
|
||||
<script src="${ctx}/js/plugin/jquery/jquery.min.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.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}/jspJS/utils/loading.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}/jspJS/confirmIndentity.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/common.js"></script>
|
||||
<script>
|
||||
var dataTable;
|
||||
var devIndex = getQueryString('devIndex')
|
||||
$(function () {
|
||||
//初始化设备
|
||||
refresh()
|
||||
})
|
||||
|
||||
/**
|
||||
* 初始化获取后台数据
|
||||
*/
|
||||
function refresh() {
|
||||
/*获取各项条件 */
|
||||
var indexi;
|
||||
$.ajax({
|
||||
type: "get",
|
||||
url: "/pqs9900/version/getUpdetail",
|
||||
dataType: "json",
|
||||
data: {
|
||||
devIndex: devIndex
|
||||
},
|
||||
beforeSend: function () {
|
||||
indexi = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.code === 200) {
|
||||
//初始化表格
|
||||
initTransactionTable(data.body);
|
||||
} else {
|
||||
layer.msg(data.message, {icon: 2, time: 2000})
|
||||
initTransactionTable(null);
|
||||
}
|
||||
ityzl_CLOSE_LOAD_LAYER(indexi);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//初始化表格数据
|
||||
function initTransactionTable(tableData) {
|
||||
dataTable = $('#deviceTable').DataTable({
|
||||
order: [3, 'desc'],
|
||||
columns: [
|
||||
{ width: "4%", targets: 1, render: function (data, type, row, meta) {
|
||||
return meta.row+1
|
||||
}
|
||||
},
|
||||
{width: "7%", data: "edName"},
|
||||
{
|
||||
width: "12%", data: "updateresult", render: function (data) {
|
||||
return getWarnInfo(data)
|
||||
}
|
||||
},
|
||||
{
|
||||
width: "12%", data: "updateTime", render: function (data) {
|
||||
return formatTime(data, 1)
|
||||
}
|
||||
},
|
||||
{width: "7%", data: "updateUser"},
|
||||
],
|
||||
paging: false,
|
||||
info: false,
|
||||
destroy: true,
|
||||
data: tableData,
|
||||
lengthChange: true,
|
||||
searching: true,
|
||||
dom: 'rtip',
|
||||
scrollY: true,
|
||||
scrollX: true,
|
||||
language: {
|
||||
url: '/pqs9900/json/chine.json'
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
//获取启用状态
|
||||
function getWarnInfo(data) {
|
||||
var da = Number(data);
|
||||
if (da == 1) {
|
||||
info = '<font style="color:#20B2AA">升级成功</font>'
|
||||
} else {
|
||||
info = '<font style="color:#A52a2a">升级失败</font>'
|
||||
}
|
||||
return info;
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,453 @@
|
||||
<%@ 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}/js/plugin/layui/css/layui.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/basic.css">
|
||||
<style>
|
||||
|
||||
.form-control {
|
||||
height: 22px;
|
||||
padding: 1px 5px;
|
||||
}
|
||||
.control-label{
|
||||
height: 22px;
|
||||
line-height: 22px;
|
||||
}
|
||||
.btn {
|
||||
padding: 1px 6px;
|
||||
font-size:12px;
|
||||
}
|
||||
.col-sm-3,.col-xs-3{
|
||||
padding-right: 0px;
|
||||
text-align: right;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="container-fluid">
|
||||
<form class="form-horizontal" role="form">
|
||||
<div class="form-group mt15">
|
||||
<label for="title" class="col-sm-3 col-xs-3 control-label">版本号:</label>
|
||||
<div class="col-sm-9 col-xs-9">
|
||||
<input type="text" id="title" placeholder="请输入程序版本号"
|
||||
autocomplete="off" class="form-control">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="edProtocol" class="col-sm-3 col-xs-3 control-label">协议版本:</label>
|
||||
<div class="col-sm-9 col-xs-9">
|
||||
<input type="text" id="edProtocol" name="edProtocol"
|
||||
placeholder="请输入协议版本" autocomplete="off" class="form-control">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="edDate" class="col-sm-3 col-xs-3 control-label">版本日期:</label>
|
||||
<div class="col-sm-9 col-xs-9">
|
||||
<input type="text" class="form_datetime form-control"
|
||||
id="edDate" autocomplete="off" placeholder="请选择日期">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="devType" class="col-sm-3 col-xs-3 control-label">装置系列:</label>
|
||||
<div class="col-sm-9 col-xs-9">
|
||||
<select id="devType" class="form-control"></select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="edtype" class="col-sm-3 col-xs-3 control-label">版本类型:</label>
|
||||
<div class="col-sm-9 col-xs-9">
|
||||
<input type="text" id="edtype" placeholder="填写特殊类型(不填默认通用类型)"
|
||||
autocomplete="off" class="form-control">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="describe" class="col-sm-3 col-xs-3 control-label">描述:</label>
|
||||
<div class="col-sm-9 col-xs-9">
|
||||
<textarea id="describe" placeholder="请输入内容" class="form-control" rows="3" style="resize: none;"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-upload" style="height: 50px;margin-top: 15px">
|
||||
<button type="button" class="btn btn-primary" id="upload">上传升级文件</button>
|
||||
<span style="color: red;margin-left: 10px">后缀为.bin的文件/无后缀文件</span>
|
||||
<div class="layui-upload-list" style="margin: 0px 0;padding: 2px 5px">
|
||||
<p id="demoText"></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="crc" class="col-sm-3 col-xs-3 control-label">CRC校验:</label>
|
||||
<div class="col-sm-9 col-xs-9">
|
||||
<input type="text" class="form-control"
|
||||
id="crc" autocomplete="off" placeholder="请输入内容">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<footer class="navbar-fixed-bottom">
|
||||
|
||||
<div class="col-xs-12 col-sm-12 mt10" style="text-align: center">
|
||||
<div class="form-group">
|
||||
<button type="button" class="btn btn-primary" id="save">保存</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</footer>
|
||||
</form>
|
||||
<input type="hidden" id="username" value="${username}">
|
||||
<script src="${ctx}/js/plugin/jquery/jquery.min.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/plugin/bootstrap/bootstrap.min.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/loading.js"></script>
|
||||
<script src="${ctx}/js/plugin/xss/xss.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/confirmIndentity.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/common.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
|
||||
<script>
|
||||
var myFile =null;
|
||||
var isUpFile = true;
|
||||
var edIndex; //版本id
|
||||
var indexi
|
||||
var type = getQueryString('type')
|
||||
var totype = ''; //新增修改接口
|
||||
$(function () {
|
||||
loadselect('装置系列','devType')
|
||||
|
||||
$('.form_datetime').datetimepicker({
|
||||
minView: "month", //选择日期后,不会再跳转去选择时分秒
|
||||
language: 'zh-CN',
|
||||
format: 'yyyy-mm-dd',
|
||||
startView:2,
|
||||
bootcssVer:3,
|
||||
todayHighlight:true,
|
||||
maxView :2,
|
||||
showClear:true,
|
||||
autoclose:1,
|
||||
initialDate:new Date(),
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
})
|
||||
layui.use(['upload','layer'], function () {
|
||||
var upload = layui.upload,
|
||||
layer = layui.layer
|
||||
|
||||
if (type == 1) {
|
||||
//新增
|
||||
isUpFile = true;
|
||||
totype = 'addVersion'
|
||||
} else {
|
||||
edIndex = getQueryString('edIndex')
|
||||
totype = 'updateVersion'
|
||||
if (edIndex == undefined || edIndex == '' || edIndex == null) {
|
||||
layer.msg('获取失败', {icon: 2})
|
||||
return
|
||||
}
|
||||
//修改
|
||||
$.ajax({
|
||||
type: 'get',
|
||||
dataType: 'json',
|
||||
url: '/pqs9900/version/getVersion',
|
||||
data: {edIndex: edIndex},
|
||||
beforeSend: function () {
|
||||
indexi = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.code == 200) {
|
||||
let da= data.body
|
||||
$('#title').val(da.edName)
|
||||
$('#describe').val(da.edDescribe)
|
||||
$('#edProtocol').val(da.edProtocol)
|
||||
$('#edDate').val(da.edDate)
|
||||
$('#devType').val(da.devType)
|
||||
$('#edtype').val(da.type)
|
||||
if (data.body.edFile != null && data.body.edFile != '') {
|
||||
isUpFile = false
|
||||
$('#demoText').html('<i class="glyphicon glyphicon-folder-open" style="font-size: 14px"></i>');
|
||||
} else {
|
||||
isUpFile = true
|
||||
$('#demoText').empty()
|
||||
}
|
||||
} else {
|
||||
|
||||
}
|
||||
ityzl_CLOSE_LOAD_LAYER(indexi);
|
||||
},
|
||||
error: function () {
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
var censz = /^[\w\u4E00-\u9FA5()()/、_ ]+\.?[\w\u4E00-\u9FA5()()/_]+$/;
|
||||
|
||||
$('#save').click(function () {
|
||||
var t = $('#title').val()
|
||||
var d = $('#describe').val()
|
||||
var pp = $('#edProtocol').val()
|
||||
var edate = $('#edDate').val()
|
||||
var devType = $('#devType').val()
|
||||
var edtype = $('#edtype').val()
|
||||
var crc = $('#crc').val()
|
||||
if(t==null || t==''){
|
||||
layer.tips('版本号不可为空', '#title', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}else if(!censz.test(t)){
|
||||
layer.tips('非法字符串', '#title', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}else {
|
||||
let vv = valiteLength(t)
|
||||
if(vv!=''){
|
||||
layer.tips(vv, '#title', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(pp==null || pp==''){
|
||||
layer.tips('协议版本不可为空', '#edProtocol', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}else if(!(/^[a-zA-Z\d\.]+$/.test(pp))){
|
||||
layer.tips('非法字符串', '#edProtocol', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}else {
|
||||
let vv = valiteLength(pp)
|
||||
if(vv!=''){
|
||||
layer.tips(vv, '#edProtocol', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if(edate==null || edate==''){
|
||||
layer.tips('版本日期不可为空', '#edDate', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}else if(!(/^([0-9-]+)$/.test(edate))){
|
||||
layer.tips('非法字符串', '#edDate', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
if(devType==null || devType==''){
|
||||
layer.tips('装置系列不可为空', '#devType', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
t = filterXSS(t)
|
||||
d = filterXSS(d)
|
||||
pp =filterXSS(pp)
|
||||
edate = filterXSS(edate)
|
||||
edtype = filterXSS(edtype)
|
||||
let formdatas = new FormData();
|
||||
formdatas.append("edName", t);
|
||||
formdatas.append("edProtocol",pp);
|
||||
formdatas.append("edDate", edate);
|
||||
formdatas.append("edDescribe", d);
|
||||
formdatas.append("devType", devType);
|
||||
formdatas.append("type", edtype);
|
||||
let resetName = ''
|
||||
var username = $("#username").val();
|
||||
if (type == 2) {
|
||||
//修改
|
||||
resetName = '修改版本'
|
||||
if(isUpFile && myFile==null){
|
||||
layer.msg('请上传升级文件',{icon:2})
|
||||
return ;
|
||||
}
|
||||
if(myFile!=null){
|
||||
if(crc==null || crc==''){
|
||||
layer.tips('crc校验字符不可为空', '#crc', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}else {
|
||||
let vv = valiteLength(crc)
|
||||
if(vv!=''){
|
||||
layer.tips(vv, '#crc', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(myFile!=null){
|
||||
formdatas.append("crc", crc);
|
||||
formdatas.append("file", myFile);
|
||||
}
|
||||
formdatas.append("edIndex", edIndex);
|
||||
}else if(type == 1){
|
||||
resetName = '新增版本'
|
||||
if(myFile==null||myFile==''){
|
||||
layer.msg('请上传文件',{icon:2})
|
||||
return
|
||||
}
|
||||
if(crc==null || crc==''){
|
||||
layer.tips('crc校验字符不可为空', '#crc', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}else{
|
||||
let vv = valiteLength(crc)
|
||||
if(vv!=''){
|
||||
layer.tips(vv, '#crc', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
formdatas.append("file", myFile);
|
||||
formdatas.append("crc", crc);
|
||||
}
|
||||
passwordIndentityForEd(username, resetName, function () {
|
||||
layer.msg('CRC文件校验正确!',{icon:1,time:2000},function () {
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: '/pqs9900/version/' + totype + '/',
|
||||
data: formdatas,
|
||||
contentType: false,
|
||||
processData: false,
|
||||
beforeSend: function () {
|
||||
indexi = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.code == 200) {
|
||||
layer.msg(data.message, {icon: 1}, function () {
|
||||
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
|
||||
parent.layer.close(index); //再执行关闭
|
||||
window.parent.refreshs()
|
||||
})
|
||||
} else {
|
||||
layer.msg(data.message, {icon: 2})
|
||||
}
|
||||
ityzl_CLOSE_LOAD_LAYER(indexi);
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
|
||||
//执行实例
|
||||
|
||||
var uploadInst = upload.render({
|
||||
elem: '#upload' //绑定元素
|
||||
, accept: 'file' //允许上传的文件类型
|
||||
, auto: false
|
||||
, exts: ''
|
||||
, number: 1
|
||||
, choose: function (obj) {
|
||||
//读取本地文件
|
||||
obj.preview(function (index, file, result) {
|
||||
myFile = file;
|
||||
$('#demoText').html('<i class="glyphicon glyphicon-folder-open" style="font-size: 16px;color: #0c7cb5"></i>');
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
, before: function (obj) {
|
||||
|
||||
}
|
||||
, done: function (res) {
|
||||
//上传完毕回调
|
||||
}
|
||||
, error: function () {
|
||||
//请求异常回调
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
/*form.verify({
|
||||
clength: function (value) {
|
||||
var i,sum;
|
||||
sum=0;
|
||||
for(i=0;i<value.length;i++){
|
||||
if ((value.charCodeAt(i)>=0) && (value.charCodeAt(i)<=36))
|
||||
sum=sum+1;
|
||||
else
|
||||
sum=sum+2;
|
||||
}
|
||||
if (sum > 36) {
|
||||
return '最多只能36个字符或者18个中文字';
|
||||
}
|
||||
},
|
||||
totype:function (value) {
|
||||
if(!censz.test(value)){
|
||||
return '格式错误'
|
||||
}
|
||||
}
|
||||
});*/
|
||||
|
||||
|
||||
});
|
||||
|
||||
function loadselect(dictypeName,div){
|
||||
var part='#'+div;
|
||||
$(part).find("option").remove();
|
||||
$.ajax({
|
||||
method : "post",
|
||||
url : "/pqs9900/device/getselect",
|
||||
data : {
|
||||
dictypeName:dictypeName
|
||||
},
|
||||
async:false,
|
||||
success : function(data) {
|
||||
if(data == null){
|
||||
var message = dictypeName + '信息加载失败';
|
||||
layer.msg(message,{icon:1,time:1000});
|
||||
}else{
|
||||
var option0 = $("<option selected value=''>"
|
||||
+ "全部" + "</option>");
|
||||
$(part).append(option0);
|
||||
$.each(data, function(i, item) {
|
||||
var option = $("<option value='"
|
||||
+ item.dicIndex + "'>"
|
||||
+ item.dicName + "</option>");
|
||||
$(part).append(option);
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -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" %>
|
||||
<%@ 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/datatimepicker/bootstrap-datetimepicker.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.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/bootstrapSwitch/bootstrap-switch.min.css">
|
||||
<style>
|
||||
.form-control {
|
||||
height: 22px;
|
||||
padding: 1px 5px;
|
||||
}
|
||||
|
||||
#deviceTableV {
|
||||
min-width: 100%;
|
||||
}
|
||||
.btn {
|
||||
padding: 1px 6px;
|
||||
font-size:12px;
|
||||
}
|
||||
.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: middle;
|
||||
border-top: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.pagination > li > a, .pagination > li > span {
|
||||
padding: 6px 12px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="container-fluid">
|
||||
<div class="row">
|
||||
<%--页面头--%>
|
||||
<div class="col-md-12 mt10">
|
||||
<div class="form-inline">
|
||||
<div class="form-group fl ">
|
||||
<label>装置系列:</label>
|
||||
<select class="form-control" id="devType" style="width: 180px">
|
||||
|
||||
</select>
|
||||
<button type="button" class="btn btn-primary mr15" id="query">
|
||||
<i class="glyphicon glyphicon-search"></i>查询
|
||||
</button>
|
||||
</div>
|
||||
<div class="form-group fr">
|
||||
<label>筛选数据:</label>
|
||||
<input type="text" class="form-control mr15" onkeyup="searchResult(this.value)" placeholder="空格分开多条件筛选数据">
|
||||
<button type="button" class="btn btn-primary mr15" id="addVersion">
|
||||
<i class="glyphicon glyphicon-plus"></i>新增
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<%--页面表格--%>
|
||||
<div class="col-md-12 mt10">
|
||||
<div class="width100 halfHeight">
|
||||
<table id="deviceTableV" class="table table-striped table-bordered dataTable no-footer width100" style="white-space: nowrap;">
|
||||
<thead>
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
<input type="hidden" id="username" value="${username}">
|
||||
<script src="${ctx}/js/plugin/jquery/jquery.min.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.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}/jspJS/utils/loading.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 src="${ctx}/js/plugin/bootstrapSwitch/bootstrap-switch.min.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/common.js"></script>
|
||||
<script src="${ctx}/jspJS/device/versionManger.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user