初始化项目
This commit is contained in:
2682
pqs9900/src/main/webapp/jspJS/device/addDev.js
Normal file
2682
pqs9900/src/main/webapp/jspJS/device/addDev.js
Normal file
File diff suppressed because it is too large
Load Diff
457
pqs9900/src/main/webapp/jspJS/device/deviceFlowDetail.js
Normal file
457
pqs9900/src/main/webapp/jspJS/device/deviceFlowDetail.js
Normal file
@@ -0,0 +1,457 @@
|
||||
var dataTable;
|
||||
var titleName='日均流量';
|
||||
var flag=getQueryString("flag")
|
||||
|
||||
var devIndex=null;
|
||||
devIndex= getQueryString("devIndex")
|
||||
|
||||
var devName =getQueryString("devName")
|
||||
$("#interval").val("月份");
|
||||
//下拉框禁用
|
||||
$("#interval").prop("disabled", true);
|
||||
$(function () {
|
||||
loadselect('装置功能')
|
||||
$("#wanzheng").show()
|
||||
//获取当前日期
|
||||
$("#wanzheng").bootstrapSwitch({
|
||||
onText: "日累计", // 设置ON文本
|
||||
offText: "月累计", // 设置OFF文本
|
||||
onColor: "primary",// 设置ON文本颜色 (info/success/warning/danger/primary)
|
||||
offColor: "primary", // 设置OFF文本颜色 (info/success/warning/danger/primary)
|
||||
size: "small", // 设置控件大小,从小到大 (mini/small/normal/large)
|
||||
handleWidth: "60",//设置控件宽度
|
||||
// 当开关状态改变时触发
|
||||
onSwitchChange: function (event, state) {
|
||||
if (state == true) {
|
||||
titleName = '日均流量';
|
||||
} else {
|
||||
titleName = '日流量增长';
|
||||
}
|
||||
//重新画图
|
||||
reDrawAllPic();
|
||||
}
|
||||
});
|
||||
|
||||
$("#query").click(function () {
|
||||
queryData();
|
||||
});
|
||||
|
||||
refresh();
|
||||
|
||||
|
||||
});
|
||||
|
||||
//开关触发图片更新
|
||||
function reDrawAllPic() {
|
||||
queryData();
|
||||
}
|
||||
|
||||
function queryData() {
|
||||
refresh();
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化获取后台数据
|
||||
*/
|
||||
function refresh() {
|
||||
if(devIndex==null){
|
||||
return
|
||||
}
|
||||
var startTime = $("#startTime").val();
|
||||
let strs = startTime.split("-");
|
||||
startTime = strs[0] + "-" + strs[1]
|
||||
var indexi;
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/pqs9900/flow/getFlowDayDetail",
|
||||
data: {
|
||||
startTime: startTime,
|
||||
devIndex: devIndex
|
||||
},
|
||||
async: false,
|
||||
beforeSend: function () {
|
||||
indexi = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.code === 500) {
|
||||
layer.msg(data.message, {icon: 2, time: 2000})
|
||||
} else {
|
||||
var resultData = data.body;
|
||||
if (titleName == "日均流量") {
|
||||
flowChart(resultData);
|
||||
$("#flow_month2").hide();//隐藏
|
||||
$("#flow_month").show();//显示
|
||||
} else {
|
||||
flowChart2(resultData);
|
||||
$("#flow_month").hide();//隐藏
|
||||
$("#flow_month2").show();//显示
|
||||
}
|
||||
}
|
||||
//***********关闭loading
|
||||
ityzl_CLOSE_LOAD_LAYER(indexi);
|
||||
}
|
||||
})
|
||||
/*获取各项条件 */
|
||||
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: "/pqs9900/terminalmanger/getTerminalFlowDetail",
|
||||
dataType: "json",
|
||||
data: {devIndex:devIndex,startTime:$("#startTime").val()},
|
||||
success: function (data) {
|
||||
if (data.code === 200) {
|
||||
//初始化表格
|
||||
initTransactionTable([data.body]);
|
||||
} else {
|
||||
layer.msg(data.message, {icon: 2, time: 2000})
|
||||
initTransactionTable(null);
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//初始化表格数据
|
||||
function initTransactionTable(tableData) {
|
||||
dataTable = $("#deviceTable").DataTable();
|
||||
dataTable.clear().draw();
|
||||
dataTable = $('#deviceTable').DataTable({
|
||||
columnDefs: [
|
||||
{
|
||||
orderable: false,
|
||||
targets: [0,1,2,3,4]
|
||||
}
|
||||
],
|
||||
columns: [
|
||||
{width: "20%", data: "timeid"},
|
||||
{width: "20%",render:function (data,type,full,meta) {
|
||||
return Number(full.baseFlow)+Number(full.extendFlow)
|
||||
}},
|
||||
{width: "20%", data: "statFlow",render:function (data) {
|
||||
if(data==null){
|
||||
return 0
|
||||
}else {
|
||||
return Number(data).toFixed(2)
|
||||
}
|
||||
|
||||
}},
|
||||
{width: "20%", data: "actualflow",render:function (data,type,full,meta) {
|
||||
return Number(data).toFixed(2)
|
||||
}},
|
||||
{
|
||||
data: "timeid", render: function (data, type, full, meta) {
|
||||
return "<button type='button' class='btn themeBGColor' style='margin-right:10px;' href='javascript:void(0);' onclick='flowMealtoUrl()' >流量套餐配置</button>"
|
||||
}
|
||||
}
|
||||
],
|
||||
destroy: true,
|
||||
paging:false,
|
||||
bInfo:false,
|
||||
data: tableData,
|
||||
lengthChange: false,
|
||||
searching: true,
|
||||
dom: 'rtip',
|
||||
language: {
|
||||
url: '/pqs9900/json/chine.json'
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
//跳转流量管理页面
|
||||
function flowMealtoUrl() {
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '流量配置',
|
||||
maxmin: false,
|
||||
area: ['100%', '100%'],
|
||||
content: 'flowcombo?type=2&devIndex='+devIndex,
|
||||
scrollbar: false,
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
//初始化月流量图表
|
||||
function flowChart(resultData) {
|
||||
var heightchar = $(window).height()-150
|
||||
$("#flow_month").css('height', heightchar);
|
||||
var x = [];
|
||||
var y = [];
|
||||
if (null != resultData) {
|
||||
for (var i = 0; i < resultData.length; i++) {
|
||||
let eValue = Number(resultData[i].dayFlow.toFixed(2));
|
||||
if(eValue>resultData[i].avgFlow){
|
||||
y.push({y:eValue,color:'red'})
|
||||
}else {
|
||||
y.push({y:eValue,color:'green'})
|
||||
}
|
||||
|
||||
|
||||
var strsss = new Array();
|
||||
strsss = resultData[i].timeId.split("-");
|
||||
x[i] = strsss[2];
|
||||
}
|
||||
strss = resultData[0].timeId.split("-");
|
||||
//aveDataPlan = parseFloat(dataPlan/resultData.length).toFixed(2);
|
||||
}
|
||||
var timeMonth = strss[0] + "-" + strss[1];
|
||||
|
||||
var chart = Highcharts.chart('flow_month',{
|
||||
chart: {
|
||||
type: 'column',
|
||||
backgroundColor: canvasBG,//背景色
|
||||
},
|
||||
title: {
|
||||
text: devName + ' 日流量使用',
|
||||
style: {
|
||||
fontSize: "12px",
|
||||
fontWeight: 'bold'
|
||||
},
|
||||
|
||||
},
|
||||
legend:{
|
||||
enabled:false
|
||||
},
|
||||
credits: {
|
||||
enabled: false
|
||||
},
|
||||
exporting:{
|
||||
buttons: {
|
||||
contextButton:{
|
||||
enabled:true
|
||||
}
|
||||
},
|
||||
},
|
||||
xAxis: {
|
||||
categories: x,
|
||||
crosshair: true,
|
||||
title:{
|
||||
text:'时间(天)',
|
||||
align:'high',
|
||||
}
|
||||
},
|
||||
yAxis: {
|
||||
min: 0,
|
||||
max:(resultData[0].avgFlow+30).toFixed(2),
|
||||
title: {
|
||||
text: '流量(MB)'
|
||||
},
|
||||
minorGridLineColor: '#C5EEFA',
|
||||
tickPixelInterval: 30,
|
||||
plotLines: [{
|
||||
color: 'red',
|
||||
dashStyle: 'dot',
|
||||
width: 2,
|
||||
value: resultData[0].avgFlow.toFixed(2),
|
||||
label: {
|
||||
align: 'right',
|
||||
style: {
|
||||
color:'blue',
|
||||
fontStyle: 'italic',
|
||||
},
|
||||
x:-10,
|
||||
text: '日均流量标准线('+resultData[0].avgFlow.toFixed(2)+' MB) ',
|
||||
},
|
||||
zIndex: 3
|
||||
}]
|
||||
},
|
||||
tooltip: {
|
||||
// head + 每个 point + footer 拼接成完整的 table
|
||||
headerFormat: '<span style="font-size:10px">{point.key} 日</span><table>',
|
||||
shared: true,
|
||||
useHTML: true
|
||||
},
|
||||
|
||||
plotOptions: {
|
||||
column: {
|
||||
dataLabels: {
|
||||
// 开启数据标签
|
||||
enabled: true,
|
||||
formatter: function() {
|
||||
if(this.point.y !=0){
|
||||
return this.point.y;
|
||||
}else {
|
||||
return "";
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
series: [{
|
||||
name:'当日使用流量',
|
||||
data:y,
|
||||
lineWidth:1.5,
|
||||
barMaxWidth: barMax,
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: function (params) {
|
||||
return 'red';
|
||||
}
|
||||
}
|
||||
},
|
||||
dataLabels:{
|
||||
formatter:function () {
|
||||
if(this.y!=0){
|
||||
return this.y.toFixed(2)
|
||||
}else {
|
||||
return ''
|
||||
}
|
||||
}
|
||||
},
|
||||
}]
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
//初始日均增长率
|
||||
function flowChart2(resultData) {
|
||||
let nowdate = formatTime(new Date())
|
||||
let da = nowdate.split('-')[2]
|
||||
|
||||
var heightchar = $(window).height()-150
|
||||
$("#flow_month2").css('height', heightchar);
|
||||
var x = [];
|
||||
var y = [];
|
||||
if (null != resultData) {
|
||||
for (var i = 0; i < resultData.length; i++) {
|
||||
let eValue = Number(resultData[i].dayMuchFlow.toFixed(2));
|
||||
|
||||
var strsss = new Array();
|
||||
strsss = resultData[i].timeId.split("-");
|
||||
x[i] = strsss[2];
|
||||
if(x[i]<=da){
|
||||
y.push(eValue)
|
||||
}else {
|
||||
y.push(null)
|
||||
}
|
||||
}
|
||||
strss = resultData[0].timeId.split("-");
|
||||
//aveDataPlan = parseFloat(dataPlan/resultData.length).toFixed(2);
|
||||
}
|
||||
var timeMonth = strss[0] + "-" + strss[1];
|
||||
|
||||
var charts = Highcharts.chart('flow_month2',{
|
||||
chart: {
|
||||
type: 'spline',
|
||||
backgroundColor: canvasBG,//背景色
|
||||
},
|
||||
title: {
|
||||
text: devName + ' 日流量增长图',
|
||||
style: {
|
||||
fontSize: "12px",
|
||||
fontWeight: 'bold'
|
||||
},
|
||||
|
||||
},
|
||||
legend:{
|
||||
enabled:false
|
||||
},
|
||||
credits: {
|
||||
enabled: false
|
||||
},
|
||||
xAxis: {
|
||||
categories: x,
|
||||
crosshair: true,
|
||||
title:{
|
||||
text:'时间(' + timeMonth + ')',
|
||||
align:'high',
|
||||
}
|
||||
},
|
||||
yAxis: {
|
||||
min: 0,
|
||||
title: {
|
||||
text: '流量(M)'
|
||||
},
|
||||
minorGridLineColor: '#C5EEFA',
|
||||
tickPixelInterval: 30,
|
||||
},
|
||||
tooltip: {
|
||||
shared: true,
|
||||
useHTML: true
|
||||
},
|
||||
plotOptions: {
|
||||
series: {
|
||||
dataLabels: {
|
||||
align: 'center',
|
||||
formatter:function(){
|
||||
if(this.y!=0){
|
||||
return this.y
|
||||
}else {
|
||||
return null
|
||||
}
|
||||
|
||||
},
|
||||
enabled: true
|
||||
}
|
||||
}
|
||||
},
|
||||
series: [{
|
||||
color:'#A52a2a',
|
||||
lineWidth:1.5,
|
||||
type: 'spline',
|
||||
name:'日流量增长',
|
||||
data:y
|
||||
}]
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
//获取所有功能
|
||||
function loadselect(dictypeName){
|
||||
$.ajax({
|
||||
type : "post",
|
||||
url : "/pqs9900/device/getselect",
|
||||
data : {
|
||||
dictypeName:dictypeName
|
||||
},
|
||||
success : function(data) {
|
||||
$('#content_ch').empty()
|
||||
if(data == null){
|
||||
var message = dictypeName + '信息加载失败';
|
||||
layer.msg(message,{icon:2,time:1000});
|
||||
}else{
|
||||
let html = '<table ><tr>'
|
||||
for(let i=0;i<data.length;i++){
|
||||
|
||||
if((i+1)%7 == 0){
|
||||
let th = '</tr><tr>'
|
||||
html+=th;
|
||||
}
|
||||
let s ='<td value="'+data[i].dicIndex+'" style="text-align: left;"><li style="padding: 5px 5px"></li><span>'+data[i].dicName+'</span></td>'
|
||||
html+=s;
|
||||
}
|
||||
html = html+'</tr></table>'
|
||||
$('#content_ch').append(html)
|
||||
zuzhang(devIndex)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function zuzhang(devIndex){
|
||||
$.ajax({
|
||||
type : "get",
|
||||
url : "/pqs9900/version/getDevfunction",
|
||||
data : {
|
||||
devIndex:devIndex
|
||||
},
|
||||
success : function(data) {
|
||||
$('#content_ch').find('td').each(function (index,item){
|
||||
let flag = true;
|
||||
let that = this
|
||||
for(let i =0;i<data.body.length;i++){
|
||||
if(data.body[i].fucname == $(that).attr('value')){
|
||||
flag = false;
|
||||
$(that).find('li').eq(0).addClass('glyphicon glyphicon-ok').css('color','green')
|
||||
}
|
||||
}
|
||||
if(flag){
|
||||
$(that).find('li').eq(0).addClass('glyphicon glyphicon-remove').css('color','red')
|
||||
}
|
||||
|
||||
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
443
pqs9900/src/main/webapp/jspJS/device/deviceProperty.js
Normal file
443
pqs9900/src/main/webapp/jspJS/device/deviceProperty.js
Normal file
@@ -0,0 +1,443 @@
|
||||
var height = $(window).height() - 75;
|
||||
var arr = []
|
||||
var username = $('#username').val()
|
||||
var resetName = ''
|
||||
var websocket = window.parent.parent.webSocket
|
||||
$(function () {
|
||||
$(".tablediv").css("height", height);
|
||||
getDeviceType()
|
||||
refresh();
|
||||
|
||||
|
||||
//终端状态管理
|
||||
$('#ztgl').click(function () {
|
||||
arr= []
|
||||
let checkdiv = $("[name=checkboxs]:checked")
|
||||
|
||||
let len = checkdiv.length
|
||||
|
||||
if(len == 0){
|
||||
layer.msg('请至少选择一台终端',{icon:2})
|
||||
return
|
||||
}
|
||||
for(let i = 0;i<len;i++){
|
||||
arr.push(checkdiv.eq(i).val())
|
||||
}
|
||||
|
||||
passwordLocalIndentity(username,resetName,function () {
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '终端状态管理',
|
||||
maxmin: false,
|
||||
area: ['100%', '100%'],
|
||||
content: 'termainstate',
|
||||
scrollbar: false,
|
||||
})
|
||||
})
|
||||
|
||||
})
|
||||
//流量套餐管理
|
||||
$('#tcgl').click(function () {
|
||||
arr= []
|
||||
let checkdiv = $("[name=checkboxs]:checked")
|
||||
|
||||
let len = checkdiv.length
|
||||
|
||||
if(len == 0){
|
||||
layer.msg('请至少选择一台终端',{icon:2})
|
||||
return
|
||||
}
|
||||
for(let i = 0;i<len;i++){
|
||||
arr.push(checkdiv.eq(i).val())
|
||||
}
|
||||
passwordLocalIndentity(username,resetName,function () {
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '流量套餐管理',
|
||||
maxmin: false,
|
||||
area: ['100%', '100%'],
|
||||
content: 'flowcombo?type=1',
|
||||
scrollbar: false,
|
||||
})
|
||||
})
|
||||
})
|
||||
//流量策略管理
|
||||
$('#clgl').click(function () {
|
||||
arr= []
|
||||
let checkdiv = $("[name=checkboxs]:checked")
|
||||
|
||||
let len = checkdiv.length
|
||||
|
||||
if(len == 0){
|
||||
layer.msg('请至少选择一台终端',{icon:2})
|
||||
return
|
||||
}
|
||||
for(let i = 0;i<len;i++){
|
||||
arr.push(checkdiv.eq(i).val())
|
||||
}
|
||||
passwordLocalIndentity(username,resetName,function () {
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '流量策略管理',
|
||||
maxmin: false,
|
||||
area: ['100%', '100%'],
|
||||
content: 'flowstrategy',
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
//重启服务器
|
||||
$('#rest').click(function () {
|
||||
layer.confirm('确认重启前置机服务吗?',function () {
|
||||
$.ajax({
|
||||
type:'post',
|
||||
url:'/pqs9900/terminalmanger/getWebIpList',
|
||||
dataType:"json",
|
||||
beforeSend:function(){
|
||||
indexi = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success:function (data) {
|
||||
if(data.code == 200){
|
||||
|
||||
}else {
|
||||
layer.msg('重启前置服务异常',{icon:2})
|
||||
}
|
||||
ityzl_CLOSE_LOAD_LAYER(indexi);
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
//流量统计
|
||||
$('#lltj').click(function () {
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '流量统计',
|
||||
maxmin: false,
|
||||
area: ['100%', '100%'],
|
||||
content: 'flowstatistics',
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
|
||||
|
||||
//全选
|
||||
$('#all_checked').on("click", function () {
|
||||
$('[name=checkboxs]:checkbox').prop('checked', this.checked)
|
||||
})
|
||||
|
||||
|
||||
|
||||
websocket.onmessage = function (evnt) {
|
||||
if (evnt.data != "") {
|
||||
var info = JSON.parse(evnt.data)
|
||||
if(info.type == 200){
|
||||
let html = "<div class=\"alert alert-success\">\n" +
|
||||
"\t<a href=\"#\" class=\"close\" data-dismiss=\"alert\">\n" +
|
||||
"\t\t×\n" +
|
||||
"\t</a>\n" +
|
||||
"\t<strong>{{1}}</strong>{{2}}\n" +
|
||||
"</div>"
|
||||
let htmls = "<div class=\"alert alert-danger\">\n" +
|
||||
"\t<a href=\"#\" class=\"close\" data-dismiss=\"alert\">\n" +
|
||||
"\t\t×\n" +
|
||||
"\t</a>\n" +
|
||||
"\t<strong>{{1}}</strong>{{2}}\n" +
|
||||
"</div>"
|
||||
if (info.resultcode == 10000) {
|
||||
// layer.msg('服务重启成功',{icon:1})
|
||||
|
||||
$('#msgInfo').append(html.replace('{{1}}','成功').replace('{{2}}','ip为:'+info.resultmsg+'前置服务器重启成功'))
|
||||
}else if(info.resultcode == 13333) {
|
||||
let ip = info.data
|
||||
//layer.msg('ip为'+ip+'的服务重启失败',{icon:5})
|
||||
$('#msgInfo').append(htmls.replace('{{1}}','失败!').replace('{{2}}','ip为:'+info.resultmsg+'前置服务器重启失败'))
|
||||
}else if (info.resultcode == 10003) {
|
||||
layer.msg("JSON字符串解析出错", {
|
||||
icon: 5,
|
||||
time: 3000
|
||||
});
|
||||
} else if (info.resultcode == 10004) {
|
||||
layer.msg("socket处理出现异常", {
|
||||
icon: 5,
|
||||
time: 3000
|
||||
});
|
||||
} else if (info.resultcode == 10005) {
|
||||
layer.msg("未找到ID为对应的设备", {
|
||||
icon: 5,
|
||||
time: 3000
|
||||
});
|
||||
}else {
|
||||
$('#msgInfo').append(html.replace('{{1}}','重启失败!'))
|
||||
// layer.msg('服务重启失败',{icon:2})
|
||||
}
|
||||
/*let time = null;
|
||||
time = window.setTimeout(function () {
|
||||
$('#msgInfo').empty()
|
||||
},5000)*/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//点击查询按钮
|
||||
$("#query").on("click", function () {
|
||||
refresh();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 初始化获取后台数据
|
||||
*/
|
||||
function refresh() {
|
||||
/*获取各项条件 */
|
||||
var statue = $('#comm_state').val()
|
||||
var devtype = $('#decice_model').val()
|
||||
let start = getNowDate()
|
||||
var indexi;
|
||||
$.ajax({
|
||||
type: "get",
|
||||
url: "/pqs9900/terminalmanger/getTerminalList",
|
||||
dataType: "json",
|
||||
data: {
|
||||
status: statue,
|
||||
devType: devtype,
|
||||
startTime:start
|
||||
},
|
||||
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 tableHeight = height - 75;
|
||||
var length = Math.floor(tableHeight / 32);
|
||||
if (length < 1) {
|
||||
length = 1;
|
||||
}
|
||||
var tableCellHeight = 32 * length+20;
|
||||
dataTable = $("#deviceTable").DataTable();
|
||||
dataTable.clear().draw();
|
||||
dataTable = $('#deviceTable').DataTable({
|
||||
order: [10, 'desc'],
|
||||
columnDefs: [
|
||||
{
|
||||
orderable: false,
|
||||
targets: [0,11]
|
||||
}
|
||||
],
|
||||
columns: [
|
||||
{
|
||||
width: "15px", data: "devIndex", render: function (data, type, full, meta) {
|
||||
return "<input type ='checkbox' name='checkboxs' class='icheckbox_minimal' value='" + data + "'>";
|
||||
}
|
||||
},
|
||||
{width: "110px", data: "name"},
|
||||
{width: "60px", data: "edName",render:function (data) {
|
||||
return'<a href="javascript:void(0);" onclick="toUpdate()" ><font style="color:blue">'+data+'</font></a>'
|
||||
}},
|
||||
{width: "120px", data: "ip"},
|
||||
{width: "110px", data: "devType"},
|
||||
{width: "100px", data: "gdName"},
|
||||
{width: "110px", data: "bdName",render:function (data) {
|
||||
let value = data;
|
||||
|
||||
if (data!=null && data.length > 14) {
|
||||
value = data.substring(0, 14) + "..";
|
||||
value = "<span title=" + data + ">" + value + "</span>";
|
||||
}
|
||||
return value;
|
||||
}},
|
||||
{width: "30px", data: "baseFlow"},
|
||||
{width: "30px", data: "extendFlow"},
|
||||
{width: "30px", data: "useFlow",render:function (data, type, full, meta) {
|
||||
let useFlow = full.actualflow/(full.baseFlow+full.extendFlow)
|
||||
return isInteger(useFlow)
|
||||
}},
|
||||
{width: "30px", data: "status",render:function (data) {
|
||||
return getWarnInfo(data)
|
||||
}},
|
||||
{
|
||||
width: "150px", data: "devIndex", render: function (data, type, full, meta) {
|
||||
if(full.edName == '/' ||full.status == 0){
|
||||
return "<button disabled type='button' class='btn themeBGColor' style='margin-right:10px;' href='javascript:void(0);' onclick='viewTransactionDetail(\"" + full.devIndex + "\",\"" + full.gdName + "\",\"" + full.bdName + "\",\"" + full.name + "\",1)' >终端详情</button>" +
|
||||
"<button type='button' class='btn themeBGColor' style='margin-right:10px;' href='javascript:void(0);' onclick='viewTransactionDetail(\"" + full.devIndex + "\",\"" + full.gdName + "\",\"" + full.bdName + "\",\"" + full.name + "\",2)' >流量详情</button>"+
|
||||
"<button type='button' class='btn themeBGColor' style='margin-right:10px;' href='javascript:void(0);' onclick='getDevRunFlagLogs(\"" + full.devIndex + "\",\"" + full.gdName + "\",\"" + full.bdName + "\",\"" + full.name + "\",2)' >装置日志</button>";
|
||||
}else {
|
||||
return "<button type='button' class='btn themeBGColor' style='margin-right:10px;' href='javascript:void(0);' onclick='viewTransactionDetail(\"" + full.devIndex + "\",\"" + full.gdName + "\",\"" + full.bdName + "\",\"" + full.name + "\",1)' >终端详情</button>" +
|
||||
"<button type='button' class='btn themeBGColor' style='margin-right:10px;' href='javascript:void(0);' onclick='viewTransactionDetail(\"" + full.devIndex + "\",\"" + full.gdName + "\",\"" + full.bdName + "\",\"" + full.name + "\",2)' >流量详情</button>"+
|
||||
"<button type='button' class='btn themeBGColor' style='margin-right:10px;' href='javascript:void(0);' onclick='getDevRunFlagLogs(\"" + full.devIndex + "\",\"" + full.gdName + "\",\"" + full.bdName + "\",\"" + full.name + "\",2)' >装置日志</button>";
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
destroy: true,
|
||||
data: tableData,
|
||||
lengthChange: false,
|
||||
searching: true,
|
||||
dom: 'rtip',
|
||||
scrollY: tableCellHeight,
|
||||
scrollX: true,
|
||||
autoWidth: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 toUpdate() {
|
||||
var tabs = window.parent.parent.parent.tabs;
|
||||
tabs.add({url : 'deviceversion',label : '终端程序版本管理',});
|
||||
}
|
||||
|
||||
//搜索表中的数据
|
||||
function searchResult(value) {
|
||||
dataTable.search(value).draw();
|
||||
}
|
||||
//判断是否是整数
|
||||
function isInteger(obj) {
|
||||
if(obj==null){
|
||||
return 0
|
||||
}else {
|
||||
if(typeof obj === 'number' && obj%1 === 0){
|
||||
return obj*100
|
||||
}else {
|
||||
return (obj*100).toFixed(2)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//获取启用状态
|
||||
function getWarnInfo(data) {
|
||||
data = Number(data);
|
||||
if (data === 0) {
|
||||
info = '<font style="color:#A52a2a">中断</font>'
|
||||
}else {
|
||||
info = '<font style="color:#2E8B57">正常</font>'
|
||||
}
|
||||
return info;
|
||||
}
|
||||
|
||||
function viewTransactionDetail(subIndex,gdName,bdName,name,type) {
|
||||
|
||||
if(type == 1){
|
||||
//首先判断webSocket是否连接
|
||||
if (websocket.readyState != 1) {
|
||||
layer.msg('webSocket连接关闭,请联系管理人员', {icon: 2})
|
||||
return;
|
||||
}
|
||||
//终端详情
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '终端使用情况',
|
||||
maxmin: false,
|
||||
area: ['60%', '75%'],
|
||||
content: 'deviceopen?devIndex=' + subIndex+'&gdName='+gdName+'&bdName='+bdName+'&devName='+name,
|
||||
scrollbar: false,
|
||||
end: function () {
|
||||
$.ajax({
|
||||
type:'post',
|
||||
dataType:"json",
|
||||
url:'/pqs9900/terminalmanger/closeSocket',
|
||||
data:{devIndex:subIndex},
|
||||
success : function(data) {
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}else {
|
||||
//流量详情
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '流量使用情况',
|
||||
maxmin: false,
|
||||
area: ['100%', '100%'],
|
||||
content: 'flowdetail?devIndex=' + subIndex+'&devName='+name+'&flag=1',
|
||||
scrollbar: false,
|
||||
end: function () {
|
||||
refresh();
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
//获取所有装置类型
|
||||
function getDeviceType() {
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: '/pqs9900/device/getselect',
|
||||
data: {dictypeName: '装置类型'},
|
||||
dataType: 'json',
|
||||
success: function (data) {
|
||||
$('#decice_model').empty()
|
||||
var html = '<option value="">全部</option>'
|
||||
data.forEach(function (item) {
|
||||
let op = '<option value="' + item.dicIndex + '">' + item.dicName + '</option>'
|
||||
html += op;
|
||||
})
|
||||
$('#decice_model').append(html)
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
//终端运行日志弹框
|
||||
function getDevRunFlagLogs(devIndex){
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '终端运行日志',
|
||||
maxmin: false,
|
||||
area: ['100%', '100%'],
|
||||
content: 'todevlogs?devIndex=' + devIndex,
|
||||
scrollbar: false,
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
window.paramSend = function () {
|
||||
return arr;
|
||||
}
|
||||
|
||||
window.flashResh=function () {
|
||||
refresh()
|
||||
}
|
||||
308
pqs9900/src/main/webapp/jspJS/device/devicePropertyOpen.js
Normal file
308
pqs9900/src/main/webapp/jspJS/device/devicePropertyOpen.js
Normal file
@@ -0,0 +1,308 @@
|
||||
var i;
|
||||
var charts = null; // 定义全局变量
|
||||
var picHeight = $(window).height() * 0.65;
|
||||
var datalist = []
|
||||
var devIndex = getQueryString("devIndex")
|
||||
var devname = getQueryString("devName")
|
||||
var gdName = getQueryString("gdName")
|
||||
var bdName = getQueryString("bdName")
|
||||
|
||||
var websocket = window.parent.parent.webSocket
|
||||
|
||||
|
||||
$(function () {
|
||||
$("#run_info").css('height', picHeight);
|
||||
$("#info_div").css('height', picHeight * 0.5);
|
||||
var html = '所选设备: ' + gdName + '->' + bdName + '->' + devname
|
||||
$('#info').html(html)
|
||||
|
||||
window.setInterval(function () {
|
||||
$('#timeid').text('当前系统时间:' + getNowFormatDate())
|
||||
}, 1000)
|
||||
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
dataType: "json",
|
||||
url: '/pqs9900/terminalmanger/getQuailty',
|
||||
data: {devIndex: devIndex},
|
||||
beforeSend: function () {
|
||||
i = ityzl_SHOW_LOAD_LAYER()
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.code === 200) {
|
||||
//事件委托给父级div来处理
|
||||
initCpuRun()
|
||||
$(".tab-item").hide();
|
||||
$("#tab-item1").show();
|
||||
|
||||
} else {
|
||||
layer.msg(data.message, {icon: 2, time: 2000})
|
||||
}
|
||||
//***********关闭loading
|
||||
ityzl_CLOSE_LOAD_LAYER(i);
|
||||
}
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
|
||||
var heart = null;
|
||||
websocket.onmessage = function (evnt) {
|
||||
console.log(evnt)
|
||||
if (evnt.data != "") {
|
||||
var info = JSON.parse(evnt.data)
|
||||
if (info.type == 190) {
|
||||
if (info.resultcode == 10000) {
|
||||
if (info.resultmsg == "功能已关闭") {
|
||||
layer.msg('此功能已关闭', {icon: 2}, function () {
|
||||
var aa = parent.layer.getFrameIndex(window.name);
|
||||
parent.layer.close(aa);
|
||||
})
|
||||
}
|
||||
if (charts != null) {
|
||||
//cpu
|
||||
var x = (new Date()).getTime() // current time
|
||||
var series0 = charts.series[0];
|
||||
|
||||
let cc = info.data.cpu
|
||||
let cpuArr = cc.split('_')
|
||||
let ycpu = null;
|
||||
if (cpuArr.length > 1) {
|
||||
ycpu = cpuArr[0]
|
||||
} else {
|
||||
ycpu = cc
|
||||
}
|
||||
if (series0.points.length > 20) {
|
||||
for (var i = 20; i < series0.length; i++) {
|
||||
series0[series0.points.length - 20].remove();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
let y = Number(ycpu);
|
||||
series0.addPoint([x, y], true, true);
|
||||
|
||||
//memory
|
||||
var series1 = charts.series[1];
|
||||
if (series1.points.length > 20) {
|
||||
for (var i = 20; i < series1.length; i++) {
|
||||
series1[series1.points.length - 20].remove();
|
||||
}
|
||||
|
||||
}
|
||||
let y1 = parseInt(Number(info.data.Memory) / Number(info.data.Total_Memory) * 100)
|
||||
series1.addPoint([x, y1], true, true);
|
||||
|
||||
//disk
|
||||
var series2 = charts.series[2];
|
||||
if (series2.points.length > 20) {
|
||||
for (var i = 20; i < series2.length; i++) {
|
||||
series2[series2.points.length - 20].remove();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
let y2 = parseInt(Number(info.data.Disk) / Number(info.data.Total_Disk) * 100)
|
||||
series2.addPoint([x, y2], true, true);
|
||||
|
||||
let usec = Number(info.data.cpu)
|
||||
let duoc = 100 - usec
|
||||
$('.span0').eq(0).text(usec + ' %')
|
||||
$('.span0').eq(1).text(duoc + ' %')
|
||||
|
||||
|
||||
let total = Number(info.data.Total_Memory)
|
||||
let use = Number(info.data.Memory)
|
||||
let duo = (Number(info.data.Total_Memory) - Number(info.data.Memory)).toFixed(2)
|
||||
$('.span1').eq(0).text(total + ' M')
|
||||
$('.span1').eq(1).text(use + ' M')
|
||||
$('.span1').eq(2).text(duo + ' M')
|
||||
|
||||
let btotal = Number(info.data.Total_Disk)
|
||||
let buse = Number(info.data.Disk)
|
||||
let bduo = (Number(info.data.Total_Disk) - Number(info.data.Disk)).toFixed(2)
|
||||
$('.span2').eq(0).text(btotal + ' G')
|
||||
$('.span2').eq(1).text(buse + ' G')
|
||||
$('.span2').eq(2).text(bduo + ' G')
|
||||
|
||||
if (heart == null) {
|
||||
heart = window.setInterval(function () {
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
dataType: "json",
|
||||
url: '/pqs9900/terminalmanger/heartSocket',
|
||||
data: {devIndex: devIndex},
|
||||
success: function (data) {
|
||||
|
||||
}
|
||||
})
|
||||
}, 18000)
|
||||
}
|
||||
|
||||
}
|
||||
} else if (info.resultcode == 10009) {
|
||||
//流量超过关闭功能
|
||||
layer.msg('此功能已关闭', {icon: 2}, function () {
|
||||
var aa = parent.layer.getFrameIndex(window.name);
|
||||
parent.layer.close(aa);
|
||||
})
|
||||
} else if (info.resultcode == 20000) {
|
||||
layer.msg('未知异常', {icon: 2}, function () {
|
||||
var aa = parent.layer.getFrameIndex(window.name);
|
||||
parent.layer.close(aa);
|
||||
})
|
||||
} else if (info.resultcode == 10003) {
|
||||
layer.msg("JSON字符串解析出错", {
|
||||
icon: 5,
|
||||
time: 3000
|
||||
});
|
||||
} else if (info.resultcode == 10004) {
|
||||
layer.msg("socket处理出现异常", {
|
||||
icon: 5,
|
||||
time: 3000
|
||||
});
|
||||
} else if (info.resultcode == 10005) {
|
||||
layer.msg("未找到ID为对应的设备", {
|
||||
icon: 5,
|
||||
time: 3000
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//初始化cpu运行情况
|
||||
function initCpuRun() {
|
||||
|
||||
Highcharts.setOptions({
|
||||
global: {
|
||||
useUTC: false
|
||||
}
|
||||
});
|
||||
charts = Highcharts.chart('run_info', {
|
||||
chart: {
|
||||
backgroundColor: canvasBG,
|
||||
borderWidth: 1,
|
||||
plotBorderWidth: 1,
|
||||
borderColor: canvasBG
|
||||
},
|
||||
colors: [red],
|
||||
plotOptions: {
|
||||
|
||||
series: {
|
||||
lineWidth: 1.5,
|
||||
marker: {
|
||||
enabled: false
|
||||
}
|
||||
}
|
||||
},
|
||||
title: {
|
||||
text: '终端性能详情',
|
||||
style: {
|
||||
fontWeight: 'bold',
|
||||
fontSize: '13px',
|
||||
color: '#303030'
|
||||
|
||||
},
|
||||
align: 'center'
|
||||
},
|
||||
xAxis: {
|
||||
type: 'datetime',
|
||||
tickPixelInterval: 100,
|
||||
tickInterval: 10000
|
||||
},
|
||||
yAxis: {
|
||||
max: 100,
|
||||
min: 0,
|
||||
title: {
|
||||
text: '使用率(%)'
|
||||
},
|
||||
showLastLabel: true,
|
||||
opposite: false, //y轴显示对立面
|
||||
},
|
||||
scrollbar: {
|
||||
enabled: true
|
||||
},
|
||||
legend: {
|
||||
enabled: true
|
||||
},
|
||||
tooltip: {
|
||||
split: false
|
||||
},
|
||||
credits: {
|
||||
enabled: false
|
||||
},
|
||||
exporting: {
|
||||
enabled: true,
|
||||
buttons: {
|
||||
contextButton: {
|
||||
enabled: true,
|
||||
align: 'right'
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
series: [{
|
||||
name: 'cpu使用率',
|
||||
data: (function () {
|
||||
var data = [], time = (new Date()).getTime(), i;
|
||||
for (i = -59; i <= 0; i += 3) {
|
||||
data.push([
|
||||
time + i * 1000,
|
||||
null
|
||||
]);
|
||||
}
|
||||
return data;
|
||||
}())
|
||||
}, {
|
||||
name: '内存使用率',
|
||||
color: 'green',
|
||||
data: (function () {
|
||||
// generate an array of random data
|
||||
var data = [], time = (new Date()).getTime(), i;
|
||||
for (i = -59; i <= 0; i += 3) {
|
||||
data.push([
|
||||
time + i * 1000,
|
||||
null
|
||||
]);
|
||||
}
|
||||
return data;
|
||||
}())
|
||||
}, {
|
||||
name: '磁盘使用率',
|
||||
color: orange,
|
||||
data: (function () {
|
||||
// generate an array of random data
|
||||
var data = [], time = (new Date()).getTime(), i;
|
||||
for (i = -59; i <= 0; i += 3) {
|
||||
data.push([
|
||||
time + i * 1000,
|
||||
null
|
||||
]);
|
||||
}
|
||||
return data;
|
||||
}())
|
||||
}]
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
//获取当前时间
|
||||
function getNowFormatDate() {
|
||||
var date = new Date();
|
||||
var month = date.getMonth() + 1;
|
||||
var strDate = date.getDate();
|
||||
if (month >= 1 && month <= 9) {
|
||||
month = "0" + month;
|
||||
}
|
||||
if (strDate >= 0 && strDate <= 9) {
|
||||
strDate = "0" + strDate;
|
||||
}
|
||||
var currentdate = date.getFullYear() + '年' + month + '月' + strDate
|
||||
+ "日" + date.getHours() + '时' + date.getMinutes()
|
||||
+ '分' + date.getSeconds() + '秒';
|
||||
return currentdate;
|
||||
}
|
||||
|
||||
|
||||
670
pqs9900/src/main/webapp/jspJS/device/deviceTree.js
Normal file
670
pqs9900/src/main/webapp/jspJS/device/deviceTree.js
Normal file
@@ -0,0 +1,670 @@
|
||||
var treeObj = null;
|
||||
var setting = {
|
||||
check: {
|
||||
enable: true,
|
||||
chkDisabledInherit: true
|
||||
},
|
||||
data: {
|
||||
simpleData: {
|
||||
enable: true
|
||||
}
|
||||
},
|
||||
view: {
|
||||
fontCss: setHighlight // 高亮一定要设置,setHighlight是自定义方法
|
||||
},
|
||||
callback: {
|
||||
onClick: zTreeOnClick
|
||||
}
|
||||
};
|
||||
|
||||
var flowSet = false;
|
||||
|
||||
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 == 0) { //根节点
|
||||
$("#buttonarea button").attr("hidden", "true");
|
||||
$("#addProj2").removeAttr("hidden");
|
||||
} else if (nodes[0].level == 1) { //项目
|
||||
$("#buttonarea button").attr("hidden", "true");
|
||||
$("#addProj").removeAttr("hidden");
|
||||
$("#modProj").removeAttr("hidden");
|
||||
$("#delProj").removeAttr("hidden");
|
||||
$("#addPro2").removeAttr("hidden");
|
||||
|
||||
var projIndex = nodes[0].nodeIndex;
|
||||
$("#projIndex").val(projIndex);
|
||||
} else if (nodes[0].level == 2) { //省份
|
||||
$("#buttonarea button").attr("hidden", "true");
|
||||
$("#addPro").removeAttr("hidden");
|
||||
$("#modPro").removeAttr("hidden");
|
||||
$("#delPro").removeAttr("hidden");
|
||||
$("#addGd2").removeAttr("hidden");
|
||||
|
||||
var projIndex = nodes[0].getParentNode().nodeIndex;
|
||||
$("#projIndex").val(projIndex);
|
||||
var proIndex = nodes[0].nodeIndex;
|
||||
$("#proIndex").val(proIndex);
|
||||
} else if (nodes[0].level == 3) { //供电公司
|
||||
$("#buttonarea button").attr("hidden", "true");
|
||||
$("#addGd").removeAttr("hidden");
|
||||
$("#modGd").removeAttr("hidden");
|
||||
$("#delGd").removeAttr("hidden");
|
||||
$("#addSub2").removeAttr("hidden");
|
||||
|
||||
var projIndex = nodes[0].getParentNode().getParentNode().nodeIndex;
|
||||
$("#projIndex").val(projIndex);
|
||||
var proIndex = nodes[0].getParentNode().nodeIndex;
|
||||
$("#proIndex").val(proIndex);
|
||||
var gdIndex = nodes[0].nodeIndex;
|
||||
$("#gdIndex").val(gdIndex);
|
||||
} else if (nodes[0].level == 4) { //变电站
|
||||
$("#buttonarea button").attr("hidden", "true");
|
||||
$("#addSub").removeAttr("hidden");
|
||||
$("#modSub").removeAttr("hidden");
|
||||
$("#delSub").removeAttr("hidden");
|
||||
$("#addDev2").removeAttr("hidden");
|
||||
|
||||
var projIndex = nodes[0].getParentNode().getParentNode().getParentNode().nodeIndex;
|
||||
$("#projIndex").val(projIndex);
|
||||
var proIndex = nodes[0].getParentNode().getParentNode().nodeIndex;
|
||||
$("#proIndex").val(proIndex);
|
||||
var gdIndex = nodes[0].getParentNode().nodeIndex;
|
||||
$("#gdIndex").val(gdIndex);
|
||||
var subIndex = nodes[0].nodeIndex;
|
||||
$("#subIndex").val(subIndex);
|
||||
} else if (nodes[0].level == 5) { //终端
|
||||
$("#buttonarea button").attr("hidden", "true");
|
||||
$("#addDev").removeAttr("hidden");
|
||||
$("#modDev").removeAttr("hidden");
|
||||
$("#delDev").removeAttr("hidden");
|
||||
$("#addSubv2").removeAttr("hidden");
|
||||
$("#devcommit").removeAttr("disabled");
|
||||
|
||||
var projIndex = nodes[0].getParentNode().getParentNode().getParentNode().getParentNode().nodeIndex;
|
||||
$("#projIndex").val(projIndex);
|
||||
var proIndex = nodes[0].getParentNode().getParentNode().getParentNode().nodeIndex;
|
||||
$("#proIndex").val(proIndex);
|
||||
var gdIndex = nodes[0].getParentNode().getParentNode().nodeIndex;
|
||||
var gdname = nodes[0].getParentNode().getParentNode().name;
|
||||
$("#gdIndex").val(gdIndex);
|
||||
var subIndex = nodes[0].getParentNode().nodeIndex;
|
||||
var subname = nodes[0].getParentNode().name;
|
||||
$("#subIndex").val(subIndex);
|
||||
var devIndex = nodes[0].nodeIndex;
|
||||
$("#devIndex").val(devIndex);
|
||||
|
||||
loadDevice(devIndex, gdname, subname);
|
||||
loadLineIndex(devIndex);
|
||||
} else if (nodes[0].level == 6) { //母线
|
||||
$("#buttonarea button").attr("hidden", "true");
|
||||
$("#addSubv").removeAttr("hidden");
|
||||
$("#modSubv").removeAttr("hidden");
|
||||
$("#delSubv").removeAttr("hidden");
|
||||
$("#addLine2").removeAttr("hidden");
|
||||
|
||||
var projIndex = nodes[0].getParentNode().getParentNode().getParentNode().getParentNode().getParentNode().nodeIndex;
|
||||
$("#projIndex").val(projIndex);
|
||||
var proIndex = nodes[0].getParentNode().getParentNode().getParentNode().getParentNode().nodeIndex;
|
||||
$("#proIndex").val(proIndex);
|
||||
var gdIndex = nodes[0].getParentNode().getParentNode().getParentNode().nodeIndex;
|
||||
$("#gdIndex").val(gdIndex);
|
||||
var subIndex = nodes[0].getParentNode().getParentNode().nodeIndex;
|
||||
$("#subIndex").val(subIndex);
|
||||
var devIndex = nodes[0].getParentNode().nodeIndex;
|
||||
$("#devIndex").val(devIndex);
|
||||
var subvIndex = nodes[0].nodeIndex;
|
||||
$("#subvIndex").val(subvIndex);
|
||||
} else if (nodes[0].level == 7) { //线路
|
||||
$("#buttonarea button").attr("hidden", "true");
|
||||
$("#addLine").removeAttr("hidden");
|
||||
$("#modLine").removeAttr("hidden");
|
||||
$("#delLine").removeAttr("hidden");
|
||||
|
||||
var projIndex = nodes[0].getParentNode().getParentNode().getParentNode().getParentNode().getParentNode().getParentNode().nodeIndex;
|
||||
$("#projIndex").val(projIndex);
|
||||
var proIndex = nodes[0].getParentNode().getParentNode().getParentNode().getParentNode().getParentNode().nodeIndex;
|
||||
$("#proIndex").val(proIndex);
|
||||
var gdIndex = nodes[0].getParentNode().getParentNode().getParentNode().getParentNode().nodeIndex;
|
||||
var gdname = nodes[0].getParentNode().getParentNode().getParentNode().getParentNode().name;
|
||||
$("#gdIndex").val(gdIndex);
|
||||
var subIndex = nodes[0].getParentNode().getParentNode().getParentNode().nodeIndex;
|
||||
var subname = nodes[0].getParentNode().getParentNode().getParentNode().name;
|
||||
$("#subIndex").val(subIndex);
|
||||
var devIndex = nodes[0].getParentNode().getParentNode().nodeIndex;
|
||||
$("#devIndex").val(devIndex);
|
||||
var subvIndex = nodes[0].getParentNode().nodeIndex;
|
||||
$("#subvIndex").val(subvIndex);
|
||||
var lineIndex = nodes[0].nodeIndex;
|
||||
$("#lineIndex").val(lineIndex);
|
||||
|
||||
$("#linecommit").removeAttr("disabled");
|
||||
loadLine(lineIndex);
|
||||
|
||||
loadDevice(devIndex, gdname, subname);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function zTreeOnAsyncSuccess(node, pastIndex) {
|
||||
var zTree = $.fn.zTree.getZTreeObj("tree");
|
||||
|
||||
var nodes = zTree.getNodes();
|
||||
zTree.expandNode(nodes[0], true);
|
||||
|
||||
// 关闭所有节点的高亮
|
||||
var allNodes = treeObj.transformToArray(treeObj.getNodes());
|
||||
for (var i = 0; i < allNodes.length; i++) {
|
||||
allNodes[i].highlight = false;
|
||||
treeObj.updateNode(allNodes[i]);
|
||||
}
|
||||
|
||||
var childNodes = zTree.transformToArray(nodes[0]);
|
||||
|
||||
var i = 0;
|
||||
for (i = 0; i < childNodes.length; i++) {
|
||||
var index = childNodes[i].nodeIndex.toString();
|
||||
var type = (childNodes[i].level - 1).toString();
|
||||
if (index == pastIndex && type == node) {
|
||||
if (node == "6") {
|
||||
var subvname = childNodes[i].getParentNode();
|
||||
var devname = childNodes[i].getParentNode().getParentNode();
|
||||
var bdname = childNodes[i].getParentNode().getParentNode().getParentNode();
|
||||
var gdname = childNodes[i].getParentNode().getParentNode().getParentNode().getParentNode();
|
||||
var proname = childNodes[i].getParentNode().getParentNode().getParentNode().getParentNode().getParentNode();
|
||||
var projname = childNodes[i].getParentNode().getParentNode().getParentNode().getParentNode().getParentNode().getParentNode();
|
||||
|
||||
zTree.expandNode(projname, true);
|
||||
zTree.expandNode(proname, true);
|
||||
zTree.expandNode(gdname, true);
|
||||
zTree.expandNode(bdname, true);
|
||||
zTree.expandNode(devname, true);
|
||||
zTree.expandNode(subvname, true);
|
||||
zTree.expandNode(childNodes[i], true);
|
||||
|
||||
$("#buttonarea button").attr("hidden", "true");
|
||||
$("#addLine").removeAttr("hidden");
|
||||
$("#modLine").removeAttr("hidden");
|
||||
$("#delLine").removeAttr("hidden");
|
||||
|
||||
var projIndex = childNodes[i].getParentNode().getParentNode().getParentNode().getParentNode().getParentNode().getParentNode().nodeIndex;
|
||||
$("#projIndex").val(projIndex);
|
||||
var proIndex = childNodes[i].getParentNode().getParentNode().getParentNode().getParentNode().getParentNode().nodeIndex;
|
||||
$("#proIndex").val(proIndex);
|
||||
var gdIndex = childNodes[i].getParentNode().getParentNode().getParentNode().getParentNode().nodeIndex;
|
||||
var gName = childNodes[i].getParentNode().getParentNode().getParentNode().getParentNode().name;
|
||||
$("#gdIndex").val(gdIndex);
|
||||
var subIndex = childNodes[i].getParentNode().getParentNode().getParentNode().nodeIndex;
|
||||
var sName = childNodes[i].getParentNode().getParentNode().getParentNode().name;
|
||||
$("#subIndex").val(subIndex);
|
||||
var devIndex = childNodes[i].getParentNode().getParentNode().nodeIndex;
|
||||
$("#devIndex").val(devIndex);
|
||||
var subvIndex = childNodes[i].getParentNode().nodeIndex;
|
||||
$("#subvIndex").val(subvIndex);
|
||||
var lineIndex = childNodes[i].nodeIndex;
|
||||
$("#lineIndex").val(lineIndex);
|
||||
|
||||
$("#linecommit").removeAttr("disabled");
|
||||
loadLine(lineIndex);
|
||||
|
||||
loadDevice(devIndex, gName, sName);
|
||||
} else if (node == "5") {
|
||||
var devname = childNodes[i].getParentNode();
|
||||
var bdname = childNodes[i].getParentNode().getParentNode();
|
||||
var gdname = childNodes[i].getParentNode().getParentNode().getParentNode();
|
||||
var proname = childNodes[i].getParentNode().getParentNode().getParentNode().getParentNode();
|
||||
var projname = childNodes[i].getParentNode().getParentNode().getParentNode().getParentNode().getParentNode();
|
||||
|
||||
zTree.expandNode(projname, true);
|
||||
zTree.expandNode(proname, true);
|
||||
zTree.expandNode(gdname, true);
|
||||
zTree.expandNode(bdname, true);
|
||||
zTree.expandNode(devname, true);
|
||||
zTree.expandNode(childNodes[i], true);
|
||||
|
||||
$("#buttonarea button").attr("hidden", "true");
|
||||
$("#addSubv").removeAttr("hidden");
|
||||
$("#modSubv").removeAttr("hidden");
|
||||
$("#delSubv").removeAttr("hidden");
|
||||
$("#addLine2").removeAttr("hidden");
|
||||
|
||||
var projIndex = childNodes[i].getParentNode().getParentNode().getParentNode().getParentNode().getParentNode().nodeIndex;
|
||||
$("#projIndex").val(projIndex);
|
||||
var proIndex = childNodes[i].getParentNode().getParentNode().getParentNode().getParentNode().nodeIndex;
|
||||
$("#proIndex").val(proIndex);
|
||||
var gdIndex = childNodes[i].getParentNode().getParentNode().getParentNode().nodeIndex;
|
||||
$("#gdIndex").val(gdIndex);
|
||||
var subIndex = childNodes[i].getParentNode().getParentNode().nodeIndex;
|
||||
$("#subIndex").val(subIndex);
|
||||
var devIndex = childNodes[i].getParentNode().nodeIndex;
|
||||
$("#devIndex").val(devIndex);
|
||||
var subvIndex = childNodes[i].nodeIndex;
|
||||
$("#subvIndex").val(subvIndex);
|
||||
} else if (node == "4") {
|
||||
var bdname = childNodes[i].getParentNode();
|
||||
var gdname = childNodes[i].getParentNode().getParentNode();
|
||||
var proname = childNodes[i].getParentNode().getParentNode().getParentNode();
|
||||
var projname = childNodes[i].getParentNode().getParentNode().getParentNode().getParentNode();
|
||||
|
||||
zTree.expandNode(projname, true);
|
||||
zTree.expandNode(proname, true);
|
||||
zTree.expandNode(gdname, true);
|
||||
zTree.expandNode(bdname, true);
|
||||
zTree.expandNode(childNodes[i], true);
|
||||
|
||||
$("#buttonarea button").attr("hidden", "true");
|
||||
$("#addDev").removeAttr("hidden");
|
||||
$("#modDev").removeAttr("hidden");
|
||||
$("#delDev").removeAttr("hidden");
|
||||
$("#addSubv2").removeAttr("hidden");
|
||||
$("#devcommit").removeAttr("disabled");
|
||||
|
||||
var projIndex = childNodes[i].getParentNode().getParentNode().getParentNode().getParentNode().nodeIndex;
|
||||
$("#projIndex").val(projIndex);
|
||||
var proIndex = childNodes[i].getParentNode().getParentNode().getParentNode().nodeIndex;
|
||||
$("#proIndex").val(proIndex);
|
||||
var gdIndex = childNodes[i].getParentNode().getParentNode().nodeIndex;
|
||||
var gName = childNodes[i].getParentNode().getParentNode().name;
|
||||
$("#gdIndex").val(gdIndex);
|
||||
var subIndex = childNodes[i].getParentNode().nodeIndex;
|
||||
var sName = childNodes[i].getParentNode().name;
|
||||
$("#subIndex").val(subIndex);
|
||||
var devIndex = childNodes[i].nodeIndex;
|
||||
$("#devIndex").val(devIndex);
|
||||
|
||||
loadDevice(devIndex, gName, sName);
|
||||
} else if (node == "3") {
|
||||
var gdname = childNodes[i].getParentNode();
|
||||
var proname = childNodes[i].getParentNode().getParentNode();
|
||||
var projname = childNodes[i].getParentNode().getParentNode().getParentNode();
|
||||
|
||||
zTree.expandNode(projname, true);
|
||||
zTree.expandNode(proname, true);
|
||||
zTree.expandNode(gdname, true);
|
||||
zTree.expandNode(childNodes[i], true);
|
||||
|
||||
$("#buttonarea button").attr("hidden", "true");
|
||||
$("#addSub").removeAttr("hidden");
|
||||
$("#modSub").removeAttr("hidden");
|
||||
$("#delSub").removeAttr("hidden");
|
||||
$("#addDev2").removeAttr("hidden");
|
||||
|
||||
var projIndex = childNodes[i].getParentNode().getParentNode().getParentNode().nodeIndex;
|
||||
$("#projIndex").val(projIndex);
|
||||
var proIndex = childNodes[i].getParentNode().getParentNode().nodeIndex;
|
||||
$("#proIndex").val(proIndex);
|
||||
var gdIndex = childNodes[i].getParentNode().nodeIndex;
|
||||
$("#gdIndex").val(gdIndex);
|
||||
var subIndex = childNodes[i].nodeIndex;
|
||||
$("#subIndex").val(subIndex);
|
||||
} else if (node == "2") {
|
||||
var proname = childNodes[i].getParentNode();
|
||||
var projname = childNodes[i].getParentNode().getParentNode();
|
||||
|
||||
zTree.expandNode(projname, true);
|
||||
zTree.expandNode(proname, true);
|
||||
zTree.expandNode(childNodes[i], true);
|
||||
|
||||
$("#buttonarea button").attr("hidden", "true");
|
||||
$("#addGd").removeAttr("hidden");
|
||||
$("#modGd").removeAttr("hidden");
|
||||
$("#delGd").removeAttr("hidden");
|
||||
$("#addSub2").removeAttr("hidden");
|
||||
|
||||
var projIndex = childNodes[i].getParentNode().getParentNode().nodeIndex;
|
||||
$("#projIndex").val(projIndex);
|
||||
var proIndex = childNodes[i].getParentNode().nodeIndex;
|
||||
$("#proIndex").val(proIndex);
|
||||
var gdIndex = childNodes[i].nodeIndex;
|
||||
$("#gdIndex").val(gdIndex);
|
||||
} else {
|
||||
var projname = childNodes[i].getParentNode();
|
||||
|
||||
zTree.expandNode(projname, true);
|
||||
zTree.expandNode(childNodes[i], true);
|
||||
|
||||
$("#buttonarea button").attr("hidden", "true");
|
||||
$("#addPro").removeAttr("hidden");
|
||||
$("#modPro").removeAttr("hidden");
|
||||
$("#delPro").removeAttr("hidden");
|
||||
$("#addGd2").removeAttr("hidden");
|
||||
|
||||
var projIndex = childNodes[i].getParentNode().nodeIndex;
|
||||
$("#projIndex").val(projIndex);
|
||||
var proIndex = childNodes[i].nodeIndex;
|
||||
$("#proIndex").val(proIndex);
|
||||
}
|
||||
|
||||
childNodes[i].highlight = true;
|
||||
treeObj.updateNode(childNodes[i]); // 更新节点,让高亮生效
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function setHighlight(treeId, treeNode) {
|
||||
return (treeNode.highlight) ? {
|
||||
color: "#000000",
|
||||
"font-weight": "bold",
|
||||
"border-bottom": "dotted 1px #fff"
|
||||
} : {color: "#666", "font-weight": "normal"};
|
||||
}
|
||||
|
||||
function getTree(expset) {
|
||||
jQuery.ajax({
|
||||
type: 'POST',
|
||||
dataType: "json",
|
||||
url: '/pqs9900/device/deviceTree',
|
||||
data: {},
|
||||
async: false,
|
||||
error: function () {
|
||||
},
|
||||
success: function (data) {
|
||||
var datalist = [];
|
||||
if (expset == "first") {
|
||||
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;
|
||||
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);
|
||||
}
|
||||
} else {
|
||||
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;
|
||||
str += ',' + "nodeType:" + data[i].nodeType;
|
||||
str += ',' + "ppId:" + data[i].ppId;
|
||||
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 () {
|
||||
var st = "first";
|
||||
getTree(st);
|
||||
var zTree = $.fn.zTree.getZTreeObj("tree");
|
||||
flowSet = parent.flowTrue;
|
||||
if (flowSet) {
|
||||
searchNode(parent.$("#devN").val());
|
||||
$("#buttonarea button").attr("hidden", "true");
|
||||
$("#addDev").removeAttr("hidden");
|
||||
$("#modDev").removeAttr("hidden");
|
||||
$("#delDev").removeAttr("hidden");
|
||||
$("#addSubv2").removeAttr("hidden");
|
||||
$("#devcommit").removeAttr("disabled");
|
||||
|
||||
loadDevice(parent.$("#devI").val(), parent.$("#gdN").val(), parent.$("#suBN").val());
|
||||
loadLineIndex(parent.$("#devI").val());
|
||||
}
|
||||
});
|
||||
|
||||
function loadDevice(devIndex, gdname, subname) {
|
||||
jQuery.ajax({
|
||||
type: 'POST',
|
||||
dataType: "json",
|
||||
url: '/pqs9900/device/loadDevice',
|
||||
data: {
|
||||
devIndex: devIndex
|
||||
},
|
||||
success: function (data) {
|
||||
var iptype = data.iptype;
|
||||
if (iptype == "cld") {
|
||||
$("#ipmac").html("<font color='red'>*</font>MAC:");
|
||||
$("#mac").val(data.ip);
|
||||
|
||||
$("#onlycld").removeAttr("hidden");
|
||||
} else if (iptype == "pqdif") {
|
||||
$("#ipmac").html("<font color='red'>*</font>IP/MAC:");
|
||||
$("#mac").val(data.ip);
|
||||
|
||||
$("#onlycld").attr("hidden", "true");
|
||||
} else {
|
||||
$("#ipmac").html("<font color='red'>*</font>IP:");
|
||||
$("#mac").val(data.ip);
|
||||
|
||||
$("#onlycld").attr("hidden", "true");
|
||||
}
|
||||
$("#devname").val(data.name);
|
||||
$("#devtype").val(data.devType);
|
||||
$("#port").val(data.portId);
|
||||
|
||||
if (data.status == 1) {
|
||||
$("#status").val("正常");
|
||||
} else {
|
||||
$("#status").val("中断");
|
||||
}
|
||||
|
||||
$("#gdname").val(gdname);
|
||||
$("#subname").val(subname);
|
||||
|
||||
$("#LogonTime").val(data.logTime);
|
||||
$("#UpdateTime").val(data.updTime);
|
||||
$("#nodeinfo").val(data.nodeIndex);
|
||||
$("#datatype").val(data.datatype);
|
||||
$("#devmodel").val(data.devmodel);
|
||||
|
||||
$("#ThisTimeCheck").val(data.thisTime);
|
||||
$("#NextTimeCheck").val(data.nextTime);
|
||||
$("#manufacturer").val(data.manufacturer);
|
||||
$("#callflag").val(data.callFlag);
|
||||
$("#electroplate").val(data.electroplate);
|
||||
$("#ontime").val(data.ontime);
|
||||
$("#contract").val(data.contract);
|
||||
$("#devCatena").val(data.devCatena);
|
||||
$("#sim").val(data.sim);
|
||||
$("#devLocation").val(data.devLocation);
|
||||
$("#devNo").val(data.devNo);
|
||||
$("#isAlarm").val(data.isAlarm==null? 1:data.isAlarm);
|
||||
$("#devfunction").find("option").remove();
|
||||
// $("#devfunction").val(data.devfunction);
|
||||
var devfunction = [];
|
||||
for (v of data.devfunction) {
|
||||
devfunction.push(v.fucname);
|
||||
}
|
||||
changeDevfunc(devfunction);
|
||||
// if(data.devfunction!=null){
|
||||
// for(var i=0;i<data.devfunction.length;i++){
|
||||
// $("#devfunction").val(data.devfunction[i]);
|
||||
// var mm = $("#devfunction").find("option:contains("+data.devfunction[i].fucname+")");
|
||||
// .attr("selected",true);
|
||||
// }
|
||||
// }
|
||||
|
||||
if (data.series.length > 0) {
|
||||
$("#series").val(data.series);
|
||||
} else {
|
||||
$("#series").val("");
|
||||
}
|
||||
if (data.key.length > 0) {
|
||||
$("#key").val(data.key);
|
||||
} else {
|
||||
$("#key").val("");
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function loadLineIndex(devIndex) {
|
||||
jQuery.ajax({
|
||||
type: 'POST',
|
||||
dataType: "json",
|
||||
url: '/pqs9900/device/loadLineIndex',
|
||||
data: {
|
||||
devIndex: devIndex
|
||||
},
|
||||
success: function (data) {
|
||||
if (data != 0) {
|
||||
loadLine(data);
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function loadLine(lineIndex) {
|
||||
jQuery.ajax({
|
||||
type: 'POST',
|
||||
dataType: "json",
|
||||
url: '/pqs9900/device/loadLine',
|
||||
data: {
|
||||
lineIndex: lineIndex
|
||||
},
|
||||
success: function (data) {
|
||||
$("#linename").val(data.name);
|
||||
$("#scale").val(data.scale);
|
||||
$("#dlcMp").val(data.dlcMp);
|
||||
$("#xycMp").val(data.xycMp);
|
||||
$("#jzcMp").val(data.jzcMp);
|
||||
$("#devcMp").val(data.devcMp);
|
||||
$("#CT1").val(data.ct1);
|
||||
$("#CT2").val(data.ct2);
|
||||
$("#PT1").val(data.pt1);
|
||||
$("#PT2").val(data.pt2);
|
||||
$("#ptType").val(data.ptType);
|
||||
$("#tInterval").val(data.tinterval);
|
||||
$("#loadType").val(data.loadType);
|
||||
$("#businessType").val(data.businessType);
|
||||
$("#powerId").val(data.powerId);
|
||||
$("#remark").val(data.remark);
|
||||
$("#monitorId").val(data.monitorId);
|
||||
$("#VOLTAGE").val(data.voltageDev);
|
||||
$("#UVOLTAGE").val(data.uvoltageDev);
|
||||
$("#objName").val(data.objName)
|
||||
$("#statflag").val(data.statFlag)
|
||||
$("#PowerSubName").val(data.powerSubstationName)
|
||||
$("#calssificationGrade").val(data.calssificationGrade)
|
||||
$("#superiorsSubstation").val(data.superiorsSubstation)
|
||||
$("#hangLine").val(data.hangLine)
|
||||
$("#owner").val(data.owner)
|
||||
$("#ownerDuty").val(data.ownerDuty)
|
||||
$("#ownerTel").val(data.ownerTel)
|
||||
$("#isGridPoint").val(data.isGridPoint)
|
||||
$("#lineStatus").val(data.status)
|
||||
|
||||
$("#wiringDiagram").show()
|
||||
if(data.wiringDiagram!== null ){
|
||||
$("#demo1").show()
|
||||
}else {
|
||||
$("#demo1").hide()
|
||||
}
|
||||
if (data.monitorId != null && data.monitorId !== ' '){
|
||||
$("#send").css("display","block");
|
||||
} else {
|
||||
$("#send").css("display","none");
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function changeDevfunc(devfunction) {
|
||||
var dictypeName = "装置功能";
|
||||
$.ajax({
|
||||
method: "post",
|
||||
url: "/pqs9900/device/getselect",
|
||||
data: {
|
||||
dictypeName: dictypeName
|
||||
},
|
||||
async: true,
|
||||
success: function (data) {
|
||||
$.each(data, function (i, item) {
|
||||
if (devfunction.indexOf(item.dicIndex) > -1) {
|
||||
var option = $("<option selected value='"
|
||||
+ item.dicIndex + "'>"
|
||||
+ item.dicName + "</option>");
|
||||
$('#devfunction').append(option);
|
||||
} else {
|
||||
var option = $("<option value='"
|
||||
+ item.dicIndex + "'>"
|
||||
+ item.dicName + "</option>");
|
||||
$('#devfunction').append(option);
|
||||
}
|
||||
})
|
||||
$('#devfunction').fSelect("device");
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//模糊搜索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);
|
||||
}
|
||||
}
|
||||
|
||||
$('#send').click(function () {
|
||||
var text = document.getElementById("monitorId").value;
|
||||
jQuery.ajax({
|
||||
type: 'POST',
|
||||
dataType: "json",
|
||||
url: '/pqs9900/device/addMonitor',
|
||||
data: {
|
||||
monitorId: text
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.code === 200) {
|
||||
//提示新增成功
|
||||
layer.msg('推送成功!', {icon: 1, time: 1000});
|
||||
} else if (data.code === 201){
|
||||
//提示重复录入
|
||||
layer.msg('已录入,请勿重复录入!', {icon: 2, time: 1000});
|
||||
} else if (data.code === 500){
|
||||
//提示错误
|
||||
layer.msg('推送失败!', {icon: 2, time: 1000});
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
520
pqs9900/src/main/webapp/jspJS/device/deviceUnit.js
Normal file
520
pqs9900/src/main/webapp/jspJS/device/deviceUnit.js
Normal file
@@ -0,0 +1,520 @@
|
||||
var loading;
|
||||
var resultData;
|
||||
var height = $(window).height() - 140;
|
||||
$(function () {
|
||||
initselect()
|
||||
initTableData()
|
||||
|
||||
})
|
||||
|
||||
|
||||
$("#query").click(function () {
|
||||
initTableData()
|
||||
});
|
||||
|
||||
$("#batchImport").click(function () {
|
||||
var op = layer.open({
|
||||
type: 1,
|
||||
title: '批量导入监测点评级',
|
||||
shadeClose: true,
|
||||
resize: false,
|
||||
area: ['20%', '32%'],
|
||||
content: '<div style="padding: 15px"><button class="btn btn-primary" id="import">选择文件</input></div>' +
|
||||
'<div style="position:absolute;bottom:10px;width: 100%;text-align: center" ><button style="margin: 0px auto" class="btn btn-primary" id="upfile">提交</input></div>',
|
||||
success: function () {
|
||||
layui.use('upload', function () {
|
||||
var upload = layui.upload;
|
||||
|
||||
//执行实例
|
||||
var uploadInst = upload.render({
|
||||
elem: '#import' //绑定元素
|
||||
, url: '/pqs9900/lineWeightMark/batchImportLineWeight' //上传接口
|
||||
, accept: 'file' //普通文件
|
||||
, exts: 'xls|excel|xlsx|csv' //只允许上传压缩文件
|
||||
, auto: false
|
||||
, bindAction: '#upfile' //
|
||||
, done: function (res) {
|
||||
if (res.code == 200) {
|
||||
layer.msg(res.message, {icon: 1}, function () {
|
||||
layer.close(op);
|
||||
initTableData()
|
||||
})
|
||||
|
||||
} else {
|
||||
layer.msg(res.message, {icon: 2})
|
||||
}
|
||||
|
||||
}
|
||||
, error: function () {
|
||||
//请求异常回调
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
function initTableData() {
|
||||
|
||||
let devFlag = $("#devFlag").val()
|
||||
|
||||
$.ajax({
|
||||
type: "get",
|
||||
url: "/pqs9900/deviceUnit/unitTable",
|
||||
dataType: 'json',
|
||||
data: {devFlag: devFlag},
|
||||
beforeSend: function () {
|
||||
loading = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.code === 500) {
|
||||
layer.msg(data.message, {icon: 2, time: 2000})
|
||||
resultData = null;
|
||||
} else {
|
||||
resultData = data.body;
|
||||
}
|
||||
initTable(resultData);
|
||||
//***********关闭loading
|
||||
ityzl_CLOSE_LOAD_LAYER(loading);
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
//实例化表格
|
||||
function initTable(data) {
|
||||
|
||||
dataTable = $("#lineLedger").DataTable();
|
||||
dataTable.clear().draw();
|
||||
dataTable = $('#lineLedger').DataTable({
|
||||
order: [],
|
||||
columnDefs: [
|
||||
{
|
||||
orderable: false,
|
||||
targets: [0]
|
||||
}
|
||||
],
|
||||
columns: [
|
||||
{width: "3%", data: null},
|
||||
{width: "7%", data: "gdName"},
|
||||
{width: "15%", data: "subName"},
|
||||
{width: "10%", data: "devName"},
|
||||
{
|
||||
width: "5%", data: "devFlag", render: function (data) {
|
||||
if (data == 0) {
|
||||
return "投运"
|
||||
} else if (data == 1) {
|
||||
return "热备用"
|
||||
} else {
|
||||
return "停运"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{width: "3%", data: "unitFrequency"},
|
||||
{width: "3%", data: "unitFrequencyDev"},
|
||||
{width: "3%", data: "phaseVoltage"},
|
||||
{width: "3%", data: "lineVoltage"},
|
||||
{width: "3%", data: "voltageDev"},
|
||||
{width: "3%", data: "uvoltageDev"},
|
||||
{width: "3%", data: "iEffective"},
|
||||
|
||||
{width: "3%", data: "singleP"},
|
||||
{width: "3%", data: "singleViewP"},
|
||||
{width: "3%", data: "singleNoP"},
|
||||
{width: "3%", data: "totalActiveP"},
|
||||
{width: "3%", data: "totalViewP"},
|
||||
{width: "3%", data: "totalNoP"},
|
||||
{width: "3%", data: "vFundEffective"},
|
||||
{width: "3%", data: "iFund"},
|
||||
{width: "3%", data: "fundActiveP"},
|
||||
{width: "3%", data: "fundNoP"},
|
||||
{width: "3%", data: "vDistortion"},
|
||||
{width: "3%", data: "vHarmonicRate"},
|
||||
|
||||
{width: "3%", data: "iHarmonic"},
|
||||
{width: "3%", data: "pHarmonic"},
|
||||
{width: "3%", data: "noPHarmonic"},
|
||||
{width: "3%", data: "viewPHarmonic"},
|
||||
{width: "3%", data: "iIharmonic"},
|
||||
{width: "3%", data: "positiveV"},
|
||||
{width: "3%", data: "noPositiveV"},
|
||||
|
||||
{
|
||||
width: "10%", render: function (data, type, full, meta) {
|
||||
return "<button type='button' class='btn themeBGColor' onclick='gradeOperate(\"" + full.devIndex + "\")' >修改</button>"
|
||||
}
|
||||
}
|
||||
],
|
||||
autoWidth: false,
|
||||
destroy: true,
|
||||
data: data,
|
||||
lengthChange: false,
|
||||
searching: true,
|
||||
dom: 'rtip',
|
||||
scrollY: height,
|
||||
scrollX: true,
|
||||
lengthMenu: [50],
|
||||
language: {
|
||||
url: '/pqs9900/json/chine.json'
|
||||
},
|
||||
createdRow: function (row, data, index) {
|
||||
if (data.devFlag == 0) {
|
||||
$('td', row).eq(4).css('color', '#00ff04')
|
||||
} else if (data.devFlag == 1) {
|
||||
$('td', row).eq(4).css('color', '#edca1c')
|
||||
} else if (data.devFlag == 2) {
|
||||
$('td', row).eq(4).css('color', '#ED1C24')
|
||||
}
|
||||
|
||||
},
|
||||
fnDrawCallback: function (oTable) {
|
||||
$("#lineLedger_info").addClass("fl");
|
||||
$("#lineLedger_paginate").addClass("fr");
|
||||
$("#lineLedger_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 = $("#lineLedger").dataTable();
|
||||
$('#dataTable-btn').click(function (e) {
|
||||
if ($("#changePage").val() && $("#changePage").val() > 0) {
|
||||
var redirectpage = $("#changePage").val() - 1;
|
||||
} else {
|
||||
var redirectpage = 0;
|
||||
}
|
||||
table.fnPageChange(redirectpage);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
new $.fn.dataTable.Buttons(dataTable, {
|
||||
buttons: [
|
||||
{
|
||||
extend: 'csv',
|
||||
text: '导出',//导出csv名称
|
||||
title: '单位' + new Date().getTime(),
|
||||
exportOptions: {
|
||||
columns: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,14,15,16,17,18,19,20,21,22,23],
|
||||
format: {
|
||||
body: function (data, rID, cID) {
|
||||
if(cID == 0){
|
||||
return rID+1;
|
||||
}
|
||||
return data;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
|
||||
modifyCss(dataTable);
|
||||
dataTable.on('order.dt search.dt',
|
||||
function () {
|
||||
dataTable.column(0, {
|
||||
search: 'applied',
|
||||
order: 'applied'
|
||||
}).nodes().each(function (cell, i) {
|
||||
cell.innerHTML = i + 1;
|
||||
});
|
||||
}).draw();
|
||||
|
||||
}
|
||||
|
||||
function modifyCss(dataTable) {
|
||||
dataTable.buttons().container().css("display", "inline-block");
|
||||
dataTable.buttons().container().css("float", "right");
|
||||
dataTable.buttons().container().css("top", "4px");
|
||||
dataTable.buttons().container().find("a").prepend("<i class='glyphicon glyphicon-share'></i>");
|
||||
dataTable.buttons().container().appendTo('.header');
|
||||
dataTable.buttons().container().after($("#fliteData")[0]);
|
||||
}
|
||||
|
||||
//评分操作
|
||||
var op2;
|
||||
var devId;
|
||||
|
||||
function gradeOperate(devIndex) {
|
||||
devId = devIndex;
|
||||
|
||||
op2 = layer.open({
|
||||
type: 1,
|
||||
title: "单位修改",
|
||||
shadeClose: true,
|
||||
resize: false,
|
||||
area: ['30%', '90%'],
|
||||
content: '<div class="form-inline" style="padding: 5px;text-align: center">' +
|
||||
'<div class="col-xs-5 col-sm-5"><label style="margin-top: 4px" class="form-group">频率:</label></div><select style="width: 100px" id="unitFrequency" class="form-control"><option value="Hz">Hz</option><option value="kHz">kHz</option></select></div>' +
|
||||
'<div class="form-inline" style="padding: 5px;text-align: center">' +
|
||||
'<div class="col-xs-5 col-sm-5"><label style="margin-top: 4px" class="form-group">频率偏差:</label></div><select style="width: 100px" id="unitFrequencyDev" class="form-control"><option value="Hz">Hz</option><option value="kHz">kHz</option></select></div>' +
|
||||
'<div class="form-inline" style="padding: 5px;text-align: center">' +
|
||||
'<div class="col-xs-5 col-sm-5"><label style="margin-top: 4px" class="form-group">相电压有效值:</label></div><select style="width: 100px" id="phaseVoltage" class="form-control"><option value="kV">kV</option><option value="V">V</option></select></div>' +
|
||||
'<div class="form-inline" style="padding: 5px;text-align: center">' +
|
||||
'<div class="col-xs-5 col-sm-5"><label style="margin-top: 4px" class="form-group">线电压有效值:</label></div><select style="width: 100px" id="lineVoltage" class="form-control"><option value="kV">kV</option><option value="V">V</option></select></div>' +
|
||||
'<div class="form-inline" style="padding: 5px;text-align: center">' +
|
||||
'<div class="col-xs-5 col-sm-5"><label style="margin-top: 4px" class="form-group">电压上偏差:</label></div><select style="width: 100px" id="voltageDev" class="form-control"><option value="%">%</option></select></div>' +
|
||||
'<div class="form-inline" style="padding: 5px;text-align: center">' +
|
||||
'<div class="col-xs-5 col-sm-5"><label style="margin-top: 4px" class="form-group">电压下偏差:</label></div><select style="width: 100px" id="uvoltageDev" class="form-control"><option value="%">%</option></select></div>' +
|
||||
'<div class="form-inline" style="padding: 5px;text-align: center">' +
|
||||
'<div class="col-xs-5 col-sm-5"><label style="margin-top: 4px" class="form-group">电流有效值:</label></div><select style="width: 100px" id="iEffective" class="form-control"><option value="A">A</option></select></div>' +
|
||||
'<div class="form-inline" style="padding: 5px;text-align: center">' +
|
||||
'<div class="col-xs-5 col-sm-5"><label style="margin-top: 4px" class="form-group">单相有功功率:</label></div><select style="width: 100px" id="singleP" class="form-control"><option value="kW">kW</option><option value="W">W</option></select></div>' +
|
||||
'<div class="form-inline" style="padding: 5px;text-align: center">' +
|
||||
'<div class="col-xs-5 col-sm-5"><label style="margin-top: 4px" class="form-group">单相视在功率:</label></div><select style="width: 100px" id="singleViewP" class="form-control"><option value="kVA">kVA</option><option value="VA">VA</option></select></div>' +
|
||||
'<div class="form-inline" style="padding: 5px;text-align: center">' +
|
||||
'<div class="col-xs-5 col-sm-5"><label style="margin-top: 4px" class="form-group">单相无功功率:</label></div><select style="width: 100px" id="singleNoP" class="form-control"><option value="kVar">kVar</option><option value="Var">Var</option></select></div>' +
|
||||
'<div class="form-inline" style="padding: 5px;text-align: center">' +
|
||||
'<div class="col-xs-5 col-sm-5"><label style="margin-top: 4px" class="form-group">总有功功率:</label></div><select style="width: 100px" id="totalActiveP" class="form-control"><option value="kW">kW</option><option value="W">W</option></select></div>' +
|
||||
'<div class="form-inline" style="padding: 5px;text-align: center">' +
|
||||
'<div class="col-xs-5 col-sm-5"><label style="margin-top: 4px" class="form-group">总视在功率:</label></div><select style="width: 100px" id="totalViewP" class="form-control"><option value="kVA">kVA</option><option value="VA">VA</option></select></div>' +
|
||||
'<div class="form-inline" style="padding: 5px;text-align: center">' +
|
||||
'<div class="col-xs-5 col-sm-5"><label style="margin-top: 4px" class="form-group">总无功功率:</label></div><select style="width: 100px" id="totalNoP" class="form-control"><option value="kVar">kVar</option><option value="Var">Var</option></select></div>' +
|
||||
'<div class="form-inline" style="padding: 5px;text-align: center">' +
|
||||
'<div class="col-xs-5 col-sm-5"><label style="margin-top: 4px" class="form-group">相(线)电压基波有效值:</label></div><select style="width: 100px" id="vFundEffective" class="form-control"><option value="kV">kV</option><option value="V">V</option></select></div>' +
|
||||
'<div class="form-inline" style="padding: 5px;text-align: center">' +
|
||||
'<div class="col-xs-5 col-sm-5"><label style="margin-top: 4px" class="form-group">基波电流:</label></div><select style="width: 100px" id="iFund" class="form-control"><option value="A">A</option></select></div>' +
|
||||
'<div class="form-inline" style="padding: 5px;text-align: center">' +
|
||||
'<div class="col-xs-5 col-sm-5"><label style="margin-top: 4px" class="form-group">基波有功功率:</label></div><select style="width: 100px" id="fundActiveP" class="form-control"><option value="kW">kW</option><option value="W">W</option></select></div>' +
|
||||
'<div class="form-inline" style="padding: 5px;text-align: center">' +
|
||||
'<div class="col-xs-5 col-sm-5"><label style="margin-top: 4px" class="form-group">基波无功功率:</label></div><select style="width: 100px" id="fundNoP" class="form-control"><option value="kVar">kVar</option><option value="Var">Var</option></select></div>' +
|
||||
|
||||
'<div class="form-inline" style="padding: 5px;text-align: center">' +
|
||||
'<div class="col-xs-5 col-sm-5"><label style="margin-top: 4px" class="form-group">2~50次谐波电流有效值:</label></div><select style="width: 100px" id="iHarmonic" class="form-control"><option value="A">A</option></select></div>' +
|
||||
'<div class="form-inline" style="padding: 5px;text-align: center">' +
|
||||
'<div class="col-xs-5 col-sm-5"><label style="margin-top: 4px" class="form-group">2~50次谐波有功功率:</label></div><select style="width: 100px" id="pHarmonic" class="form-control"><option value="kW">kW</option><option value="W">W</option></select></div>' +
|
||||
'<div class="form-inline" style="padding: 5px;text-align: center">' +
|
||||
'<div class="col-xs-5 col-sm-5"><label style="margin-top: 4px" class="form-group">2~50次谐波无功功率:</label></div><select style="width: 100px" id="noPHarmonic" class="form-control"><option value="Var">Var</option><option value="kVar">kVar</option></select></div>' +
|
||||
'<div class="form-inline" style="padding: 5px;text-align: center">' +
|
||||
'<div class="col-xs-5 col-sm-5"><label style="margin-top: 4px" class="form-group">2~50次谐波视在功率:</label></div><select style="width: 100px" id="viewPHarmonic" class="form-control"><option value="VA">VA</option><option value="KVA">KVA</option></select></div>' +
|
||||
'<div class="form-inline" style="padding: 5px;text-align: center">' +
|
||||
'<div class="col-xs-5 col-sm-5"><label style="margin-top: 4px" class="form-group">0.5~49.5次间谐波电流有效值:</label></div><select style="width: 100px" id="iIharmonic" class="form-control"><option value="A">A</option></select></div>' +
|
||||
'<div class="form-inline" style="padding: 5px;text-align: center">' +
|
||||
'<div class="col-xs-5 col-sm-5"><label style="margin-top: 4px" class="form-group">正序电压:</label></div><select style="width: 100px" id="positiveV" class="form-control"><option value="kV">kV</option><option value="V">V</option></select></div>' +
|
||||
'<div class="form-inline" style="padding: 5px;text-align: center">' +
|
||||
'<div class="col-xs-5 col-sm-5"><label style="margin-top: 4px" class="form-group">零序负序电压:</label></div><select style="width: 100px" id="noPositiveV" class="form-control"><option value="kV">kV</option><option value="V">V</option></select></div>' +
|
||||
|
||||
|
||||
'<div class="form-inline mt15" style="text-align: center;margin-bottom: 10px"><button id="submit" class="btn btn-primary">提交</button></div>',
|
||||
|
||||
|
||||
|
||||
success: function () {
|
||||
|
||||
$.ajax({
|
||||
type: "get",
|
||||
url: "/pqs9900/deviceUnit/devUnitDetail",
|
||||
data: {devId:devId},
|
||||
dataType: 'json',
|
||||
beforeSend: function () {
|
||||
loading = ityzl_SHOW_LOAD_LAYER()
|
||||
},
|
||||
success: function (res) {
|
||||
if (res.code == 200) {
|
||||
let data = res.body
|
||||
|
||||
$("#unitFrequency").val(data.unitFrequency);
|
||||
|
||||
$("#unitFrequencyDev").val(data.unitFrequencyDev);
|
||||
|
||||
$("#phaseVoltage").val(data.phaseVoltage);
|
||||
|
||||
$("#lineVoltage").val(data.lineVoltage);
|
||||
|
||||
$("#voltageDev").val(data.voltageDev);
|
||||
|
||||
$("#uvoltageDev").val(data.uvoltageDev);
|
||||
|
||||
$("#iEffective").val(data.iEffective);
|
||||
|
||||
$("#singleP").val(data.singleP);
|
||||
|
||||
$("#singleViewP").val(data.singleViewP);
|
||||
|
||||
$("#singleNoP").val(data.singleNoP);
|
||||
|
||||
$("#totalActiveP").val(data.totalActiveP);
|
||||
|
||||
$("#totalViewP").val(data.totalViewP);
|
||||
|
||||
$("#totalNoP").val(data.totalNoP);
|
||||
|
||||
$("#vFundEffective").val(data.vFundEffective);
|
||||
|
||||
$("#iFund").val(data.iFund);
|
||||
|
||||
$("#fundActiveP").val(data.fundActiveP);
|
||||
|
||||
$("#fundNoP").val(data.fundNoP);
|
||||
|
||||
$("#vDistortion").val(data.vDistortion);
|
||||
|
||||
$("#vHarmonicRate").val(data.vHarmonicRate);
|
||||
|
||||
|
||||
|
||||
$("#iHarmonic").val(data.iHarmonic);
|
||||
|
||||
$("#pHarmonic").val(data.pHarmonic);
|
||||
$("#noPHarmonic").val(data.noPHarmonic);
|
||||
$("#viewPHarmonic").val(data.viewPHarmonic);
|
||||
|
||||
$("#iIharmonic").val(data.iIharmonic);
|
||||
|
||||
$("#positiveV").val(data.positiveV);
|
||||
|
||||
$("#noPositiveV").val(data.noPositiveV);
|
||||
|
||||
} else {
|
||||
layer.msg(data.message, {icon: 2})
|
||||
}
|
||||
|
||||
ityzl_CLOSE_LOAD_LAYER(loading)
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//提交操作
|
||||
$("body").on('click', "#submit", function () {
|
||||
let unitFrequency = $("#unitFrequency").val();
|
||||
|
||||
let unitFrequencyDev = $("#unitFrequencyDev").val();
|
||||
|
||||
let phaseVoltage = $("#phaseVoltage").val();
|
||||
|
||||
let lineVoltage = $("#lineVoltage").val();
|
||||
|
||||
let voltageDev = $("#voltageDev").val();
|
||||
|
||||
let uvoltageDev = $("#uvoltageDev").val();
|
||||
|
||||
let iEffective = $("#iEffective").val();
|
||||
|
||||
let singleP = $("#singleP").val();
|
||||
|
||||
let singleViewP = $("#singleViewP").val();
|
||||
|
||||
let singleNoP = $("#singleNoP").val();
|
||||
|
||||
let totalActiveP = $("#totalActiveP").val();
|
||||
|
||||
let totalViewP = $("#totalViewP").val();
|
||||
|
||||
let totalNoP = $("#totalNoP").val();
|
||||
|
||||
let vFundEffective = $("#vFundEffective").val();
|
||||
|
||||
let iFund = $("#iFund").val();
|
||||
|
||||
let fundActiveP = $("#fundActiveP").val();
|
||||
|
||||
let fundNoP = $("#fundNoP").val();
|
||||
|
||||
let vDistortion = $("#vDistortion").val();
|
||||
|
||||
let vHarmonicRate = $("#vHarmonicRate").val();
|
||||
|
||||
let iHarmonic = $("#iHarmonic").val();
|
||||
|
||||
let pHarmonic = $("#pHarmonic").val();
|
||||
|
||||
let noPHarmonic = $("#noPHarmonic").val();
|
||||
|
||||
let viewPHarmonic = $("#viewPHarmonic").val();
|
||||
|
||||
let iIharmonic = $("#iIharmonic").val();
|
||||
|
||||
let positiveV = $("#positiveV").val();
|
||||
|
||||
let noPositiveV = $("#noPositiveV").val();
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/pqs9900/deviceUnit/addUnit",
|
||||
data: JSON.stringify({
|
||||
devIndex:devId,
|
||||
unitFrequency: unitFrequency,
|
||||
unitFrequencyDev: unitFrequencyDev,
|
||||
phaseVoltage: phaseVoltage,
|
||||
lineVoltage: lineVoltage,
|
||||
voltageDev: voltageDev,
|
||||
uvoltageDev: uvoltageDev,
|
||||
iEffective: iEffective,
|
||||
singleP: singleP,
|
||||
singleViewP: singleViewP,
|
||||
singleNoP: singleNoP,
|
||||
totalActiveP: totalActiveP,
|
||||
totalViewP: totalViewP,
|
||||
totalNoP: totalNoP,
|
||||
vFundEffective: vFundEffective,
|
||||
iFund: iFund,
|
||||
fundActiveP: fundActiveP,
|
||||
fundNoP: fundNoP,
|
||||
vDistortion: vDistortion,
|
||||
vHarmonicRate: vHarmonicRate,
|
||||
iHarmonic:iHarmonic,
|
||||
pHarmonic:pHarmonic,
|
||||
noPHarmonic:noPHarmonic,
|
||||
viewPHarmonic:viewPHarmonic,
|
||||
iIharmonic:iIharmonic,
|
||||
positiveV:positiveV,
|
||||
noPositiveV:noPositiveV
|
||||
|
||||
}
|
||||
),
|
||||
dataType: 'json',
|
||||
contentType: "application/json;charset=UTF-8",
|
||||
beforeSend: function () {
|
||||
loading = ityzl_SHOW_LOAD_LAYER()
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.code == 200) {
|
||||
layer.msg(data.message, {icon: 1, time: 2000}, function () {
|
||||
layer.close(op2);
|
||||
initTableData()
|
||||
})
|
||||
} else {
|
||||
layer.msg(data.message, {icon: 2})
|
||||
}
|
||||
|
||||
ityzl_CLOSE_LOAD_LAYER(loading)
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
//搜索表中的数据
|
||||
function searchResult(value) {
|
||||
dataTable.search(value).draw();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
function initselect() {
|
||||
var option = "<option value=''>全部</option>";
|
||||
$.ajax({
|
||||
method: "post",
|
||||
url: "/pqs9900/device/getselect",
|
||||
data: {
|
||||
dictypeName: '终端等级'
|
||||
},
|
||||
dataType: 'json',
|
||||
async: false,
|
||||
success: function (data) {
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
|
||||
option = option + "<option value='"
|
||||
+ data[i].dicLeave + "'>"
|
||||
+ data[i].dicName + "</option>";
|
||||
|
||||
}
|
||||
$("#lineGrade").empty()
|
||||
$("#lineGrade").append(option)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
1489
pqs9900/src/main/webapp/jspJS/device/deviceVersion.js
Normal file
1489
pqs9900/src/main/webapp/jspJS/device/deviceVersion.js
Normal file
File diff suppressed because it is too large
Load Diff
321
pqs9900/src/main/webapp/jspJS/device/eventLogManage.js
Normal file
321
pqs9900/src/main/webapp/jspJS/device/eventLogManage.js
Normal file
@@ -0,0 +1,321 @@
|
||||
/**
|
||||
* 终端更改日志
|
||||
*/
|
||||
var dataTable = null;
|
||||
var resultData = null;
|
||||
var resultStatus = "";
|
||||
var endTime = getEndTime();
|
||||
var startTime = getStartTime("周", endTime);
|
||||
$(document).ready(function () {
|
||||
$("#interval option[value='年份']").remove();
|
||||
$("#interval option[value='季度']").remove();
|
||||
load();
|
||||
});
|
||||
$("#query").click(function () {
|
||||
startTime = $("#startTime").val();
|
||||
endTime = $("#endTime").val();
|
||||
load();
|
||||
});
|
||||
|
||||
function load() {
|
||||
resultStatus = $("#resultStatus option:selected").val();
|
||||
var i;
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: "/pqs9900/device/getEventPushLogsDetail",
|
||||
data: {
|
||||
resultStatus: resultStatus,
|
||||
startTime: startTime,
|
||||
endTime: endTime
|
||||
},
|
||||
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 {
|
||||
var info = data.body;
|
||||
resultData = info;
|
||||
initTable(info);
|
||||
}
|
||||
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 = $("#eventPushLogid").DataTable();
|
||||
dataTable.clear().draw();
|
||||
dataTable = $('#eventPushLogid').DataTable({
|
||||
// order: [[10, 'asc']],
|
||||
columnDefs: [
|
||||
{
|
||||
orderable: false,
|
||||
targets: [2, 3, 5]
|
||||
}
|
||||
],
|
||||
columns: [
|
||||
{width: "5%", data: null},
|
||||
{
|
||||
width: "10%", data: "timtId",
|
||||
render: function (data, type, full, meta) {
|
||||
return format(full.timeId);
|
||||
}
|
||||
},
|
||||
{
|
||||
width: "8%", data: "gdName",
|
||||
render: function (data, type, full, meta) {
|
||||
return full.gdName;
|
||||
}
|
||||
},
|
||||
{
|
||||
width: "8%", data: "subName",
|
||||
render: function (data, type, full, meta) {
|
||||
return full.subName;
|
||||
}
|
||||
},
|
||||
{
|
||||
width: "8%", data: "lineName",
|
||||
render: function (data, type, full, meta) {
|
||||
return full.lineName;
|
||||
}
|
||||
},
|
||||
{
|
||||
width: "6%", data: "eventValue",
|
||||
render: function (data, type, full, meta) {
|
||||
return full.eventValue;
|
||||
}
|
||||
},
|
||||
{
|
||||
width: "10%", data: "persistTime",
|
||||
render: function (data, type, full, meta) {
|
||||
return full.persistTime;
|
||||
}
|
||||
},
|
||||
{
|
||||
width: "10%", data: "creatTime",
|
||||
render: function (data, type, full, meta) {
|
||||
return format(full.creatTime);
|
||||
}
|
||||
},
|
||||
{
|
||||
width: "10%", data: "",
|
||||
render: function (data, type, full, meta) {
|
||||
if (full.result == 1) {
|
||||
return format(full.updateTime);
|
||||
} else {
|
||||
return "/";
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
{
|
||||
width: "8%", data: "",
|
||||
render: function (data, type, full, meta) {
|
||||
if (full.result == 1) {
|
||||
return "/";
|
||||
} else {
|
||||
return full.pushfailed;
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
{
|
||||
width: "5%", data: "",
|
||||
render: function (data, type, full, meta) {
|
||||
if (full.result == 1) {
|
||||
return "成功";
|
||||
} else {
|
||||
return "失败";
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
{
|
||||
width: "10%", data: "",
|
||||
render: function (data, type, full, meta) {
|
||||
if (full.userUpdateTime == null) {
|
||||
return "/";
|
||||
} else {
|
||||
return format(full.userUpdateTime);
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
width: "10%", data: "",
|
||||
render: function (data, type, full, meta) {
|
||||
if (full.result == 1) {
|
||||
return "<button type='button' class='btn themeBGDisableColor' style='margin-right:10px;' href='javascript:void(0);' disabled>已推送</button>";
|
||||
} else {
|
||||
return "<button type='button' class='btn themeBGColor'" +
|
||||
" style='margin-right:10px;' href='javascript:void(0);' onclick='sendEventMsg(\"" + full.lineId + "\",\"" + full.eventDetaileIndex + "\")' >人工推送</button>";
|
||||
}
|
||||
}
|
||||
},
|
||||
],
|
||||
autoWidth: false,
|
||||
serverSide: false,
|
||||
destroy: true,
|
||||
data: data,
|
||||
lengthChange: false,
|
||||
scrollX: true,
|
||||
searching: true,
|
||||
dom: 'rtip',
|
||||
pageLength: length,
|
||||
language: {
|
||||
url: '/pqs9900/json/chine.json'
|
||||
},
|
||||
"createdRow": function (row, data, index) {
|
||||
if (data.subName.length > 10) {
|
||||
var realValue = data.subName;
|
||||
var s = data.subName.substr(0, 10) + '...'
|
||||
$('td', row).eq(3).prevObject[3].innerHTML = "<span title='" + realValue + "'>" + s + "</span>";
|
||||
}
|
||||
if (data.lineName.length > 10) {
|
||||
var lineValue = data.lineName;
|
||||
var lineS = data.lineName.substr(0, 10) + '...'
|
||||
$('td', row).eq(4).prevObject[4].innerHTML = "<span title='" + lineValue + "'>" + lineS + "</span>";
|
||||
}
|
||||
},
|
||||
fnDrawCallback: function (oTable) {
|
||||
$("#eventPushLogid_info").addClass("fl");
|
||||
$("#eventPushLogid_paginate").addClass("fr");
|
||||
$("#eventPushLogid_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 = $("#eventPushLogid").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 = $("#eventPushLogid").width();
|
||||
if (width > 100) {
|
||||
initTable(resultData);
|
||||
window.clearInterval(it)
|
||||
}
|
||||
}
|
||||
|
||||
//特殊处理,表头紧缩问题--end
|
||||
|
||||
function add0(m) {
|
||||
return m < 10 ? '0' + m : m
|
||||
}
|
||||
|
||||
function format(shijianchuo) {
|
||||
var time = new Date(shijianchuo);
|
||||
var y = time.getFullYear();
|
||||
var m = time.getMonth() + 1;
|
||||
var d = time.getDate();
|
||||
var h = time.getHours();
|
||||
var mm = time.getMinutes();
|
||||
var s = time.getSeconds();
|
||||
return y + '-' + add0(m) + '-' + add0(d) + ' ' + add0(h) + ':' + add0(mm) + ':' + add0(s);
|
||||
}
|
||||
|
||||
//人工推送消息
|
||||
function sendEventMsg(lineId, eventDetailIndex) {
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: "/pqs9900/device/sendUserEventMsg",
|
||||
data: {
|
||||
lineId: lineId,
|
||||
eventDetailIndex: eventDetailIndex
|
||||
},
|
||||
beforeSend: function () {
|
||||
i = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.resultCode == 10000) {
|
||||
layer.msg(data.msg, {
|
||||
icon: 6,
|
||||
time: 1000
|
||||
}, function () {
|
||||
load();
|
||||
});
|
||||
} else {
|
||||
layer.msg(data.msg, {
|
||||
icon: 5,
|
||||
time: 1000
|
||||
}, function () {
|
||||
load();
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
357
pqs9900/src/main/webapp/jspJS/device/flowStatistics.js
Normal file
357
pqs9900/src/main/webapp/jspJS/device/flowStatistics.js
Normal file
@@ -0,0 +1,357 @@
|
||||
var dataTable;
|
||||
var height = $(window).height()
|
||||
var pqge = 1;
|
||||
var charts =null;
|
||||
|
||||
$("#interval").val("月份");
|
||||
//下拉框禁用
|
||||
$("#interval").prop("disabled", true);
|
||||
$(function () {
|
||||
$('#div_height').css('height',height-50)
|
||||
refresh()
|
||||
|
||||
|
||||
//点击查询按钮
|
||||
$("#query").on("click", function () {
|
||||
refresh();
|
||||
});
|
||||
|
||||
$('#shai').click(function () {
|
||||
let con = $('#content').val()
|
||||
searchResult(con)
|
||||
})
|
||||
})
|
||||
|
||||
var mealAll = ''
|
||||
var mealUse = ''
|
||||
var mealBi = ''
|
||||
//初始化图表数据
|
||||
function initDate(arr) {
|
||||
if(arr!=null && arr.length>0){
|
||||
var i;
|
||||
let map = {
|
||||
startTime:$('#startTime').val(),
|
||||
list:arr,
|
||||
mealBi:mealBi,
|
||||
mealUse:mealUse,
|
||||
mealAll:mealAll,
|
||||
}
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: '/pqs9900/terminalmanger/getFlowStatiscsList',
|
||||
dataType: "json",
|
||||
contentType: 'application/json;charset=UTF-8',
|
||||
data:JSON.stringify(map),
|
||||
beforeSend: function () {
|
||||
i = ityzl_SHOW_LOAD_LAYER()
|
||||
},
|
||||
success: function (data) {
|
||||
let arr = data.body
|
||||
if (data.code == 200) {
|
||||
init(arr)
|
||||
//***********关闭loading
|
||||
ityzl_CLOSE_LOAD_LAYER(i);
|
||||
}
|
||||
|
||||
},
|
||||
error: function () {
|
||||
layer.msg('未知错误', {icon: 2})
|
||||
}
|
||||
})
|
||||
}else {
|
||||
init(arr)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 初始化获取后台数据
|
||||
*/
|
||||
function refresh() {
|
||||
/*获取各项条件 */
|
||||
let start = $('#startTime').val()
|
||||
let times = start.split("-")
|
||||
start = times[0]+"-"+times[1]
|
||||
var indexi;
|
||||
$.ajax({
|
||||
type: "get",
|
||||
url: "/pqs9900/terminalmanger/getTerminalList",
|
||||
dataType: "json",
|
||||
data: {
|
||||
status: null,
|
||||
devType: null,
|
||||
startTime:start
|
||||
},
|
||||
beforeSend: function () {
|
||||
indexi = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.code === 200) {
|
||||
let arr = data.body
|
||||
//初始化表格
|
||||
initTransactionTable(arr);
|
||||
} else {
|
||||
layer.msg(data.message, {icon: 2, time: 2000})
|
||||
initTransactionTable(null);
|
||||
}
|
||||
ityzl_CLOSE_LOAD_LAYER(indexi);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function init(data) {
|
||||
var arrName = data.map(function (item) {
|
||||
return item.devName
|
||||
})
|
||||
var arrActual =[]
|
||||
var arrAll =[]
|
||||
let obj=null;
|
||||
if(data.length >0){
|
||||
data.forEach(function (item) {
|
||||
if(item.actualflow>=item.allFlow){
|
||||
obj={y:item.actualflow,color:'red',devIndex:item.devIndex}
|
||||
}else {
|
||||
obj={y:item.actualflow,devIndex:item.devIndex}
|
||||
}
|
||||
arrActual.push(obj)
|
||||
arrAll.push({y:item.allFlow,devIndex:item.devIndex})
|
||||
|
||||
})
|
||||
}
|
||||
charts = Highcharts.chart('flow_sta', {
|
||||
chart: {
|
||||
marginBottom:70,
|
||||
height:height-70,
|
||||
type: 'column',
|
||||
borderWidth: 1,
|
||||
borderColor:'#d9d9d9',
|
||||
plotBorderWidth: 1,
|
||||
spacingRight:50,
|
||||
inverted: true,
|
||||
backgroundColor: canvasBG,//背景色
|
||||
/*events:{
|
||||
click:function (e) {
|
||||
console.log(e.xAxis[0].value)
|
||||
}
|
||||
}*/
|
||||
|
||||
},
|
||||
title: {
|
||||
text: ''
|
||||
},
|
||||
xAxis: [{
|
||||
tickPixelInterval:10,
|
||||
tickmarkPlacement:-0.1,
|
||||
categories: arrName,
|
||||
labels:{
|
||||
autoRotation:[15],
|
||||
formatter:function () {
|
||||
return this.value
|
||||
}
|
||||
},
|
||||
|
||||
}],
|
||||
yAxis: [{
|
||||
min:0,
|
||||
offset:3,
|
||||
labels: {
|
||||
format: '{value}M',
|
||||
},
|
||||
opposite:true,
|
||||
// minorGridLineColor: '#C5EEFA',
|
||||
tickPixelInterval: 55,
|
||||
title: {
|
||||
text: false,
|
||||
|
||||
/*style: {
|
||||
color: Highcharts.getOptions().colors[2]
|
||||
}*/
|
||||
},
|
||||
}],
|
||||
plotOptions: {
|
||||
column: {
|
||||
dataLabels: {
|
||||
// 开启数据标签
|
||||
enabled: true,
|
||||
formatter: function() {
|
||||
if(this.point.y !=0){
|
||||
return this.point.y;
|
||||
}else {
|
||||
return "";
|
||||
}
|
||||
|
||||
},
|
||||
},
|
||||
grouping: false,
|
||||
shadow: false,
|
||||
borderWidth: 0,
|
||||
|
||||
},
|
||||
series: {
|
||||
cursor: 'pointer',
|
||||
events: {
|
||||
click: function (event) {
|
||||
let devIndex = event.point.devIndex
|
||||
let devName = event.point.category
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '流量使用情况',
|
||||
maxmin: false,
|
||||
area: ['100%', '100%'],
|
||||
content: 'flowdetail?devIndex=' + devIndex+'&devName='+devName+'&flag=2',
|
||||
scrollbar: false,
|
||||
end: function () {
|
||||
// refresh();
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
exporting:{
|
||||
buttons: {
|
||||
contextButton:{
|
||||
align:'left',
|
||||
enabled:true
|
||||
}
|
||||
},
|
||||
},
|
||||
credits:{
|
||||
enabled: false // 禁用版权信息
|
||||
},
|
||||
tooltip: {
|
||||
shared: true,
|
||||
valueDecimals: 2
|
||||
},
|
||||
legend: {
|
||||
align: 'center',
|
||||
},
|
||||
series: [{
|
||||
name: '套餐总量',
|
||||
type: 'column',
|
||||
color: orange,
|
||||
data: arrAll,
|
||||
pointWidth:18,
|
||||
pointPlacement:0.1
|
||||
},{
|
||||
name: '流量使用量',
|
||||
type: 'column',
|
||||
color: green,
|
||||
data: arrActual,
|
||||
// barMaxWidth: barMax,
|
||||
dataLabels:{
|
||||
formatter:function () {
|
||||
if(this.y!=0){
|
||||
return this.y.toFixed(2)
|
||||
}else {
|
||||
return ''
|
||||
}
|
||||
}
|
||||
},
|
||||
pointWidth:10,
|
||||
pointPlacement:0.1
|
||||
}]
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
//初始化表格数据
|
||||
function initTransactionTable(tableData) {
|
||||
$("#deviceTable").css('height',height-150)
|
||||
let tdHeight = (height-250)/10;
|
||||
|
||||
dataTable = $("#deviceTable").DataTable();
|
||||
dataTable.clear().draw();
|
||||
dataTable = $('#deviceTable').DataTable({
|
||||
order: [8,'asc'],
|
||||
columns: [
|
||||
{data: "devIndex",visible:false},
|
||||
{width: "20px", data:null,orderable:false},
|
||||
{width: "100px", data: "name",orderable:false},
|
||||
{width: "110px", data: "gdName",orderable:false},
|
||||
{width: "110px", data: "bdName",orderable:false},
|
||||
{width: "150px", data: "ip",orderable:false},
|
||||
{width: "80px",render:function (data, type, full, meta) {
|
||||
return full.baseFlow+full.extendFlow
|
||||
}},
|
||||
{width: "150px", data: "actualflow",render:function (data, type, full, meta) {
|
||||
return Number(full.actualflow).toFixed(2)
|
||||
}},
|
||||
{width: "150px", render:function (data, type, full, meta) {
|
||||
let all = Number(full.baseFlow)+Number(full.extendFlow)
|
||||
let use =all - Number(full.actualflow)
|
||||
return (Number(use/all)*100).toFixed(2)+'%'
|
||||
}},
|
||||
|
||||
],
|
||||
destroy: true,
|
||||
data: tableData,
|
||||
lengthChange: true,
|
||||
searching: true,
|
||||
dom: 'rtip',
|
||||
scrollY: height-150,
|
||||
scrollX: true,
|
||||
lengthMenu: [10],
|
||||
language: {
|
||||
url: '/pqs9900/json/chine.json'
|
||||
},
|
||||
fnDrawCallback: function (oTable) {
|
||||
var api = this.api();
|
||||
api.column(1).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();
|
||||
var redirectpage;
|
||||
$('#dataTable-btn').click(function (e) {
|
||||
if ($("#changePage").val() && $("#changePage").val() > 0) {
|
||||
redirectpage = $("#changePage").val() - 1;
|
||||
} else {
|
||||
redirectpage = 0;
|
||||
}
|
||||
table.fnPageChange(redirectpage);
|
||||
});
|
||||
|
||||
|
||||
let obj = oTable.aLastSort[0]
|
||||
console.log(obj)
|
||||
|
||||
let name =obj.dir
|
||||
if(obj.src == 8){
|
||||
mealBi = name
|
||||
mealAll = ''
|
||||
mealUse = ''
|
||||
}else if(obj.src == 7){
|
||||
mealBi = ''
|
||||
mealAll = ''
|
||||
mealUse = name
|
||||
}else if(obj.src == 6){
|
||||
mealBi = ''
|
||||
mealAll = name
|
||||
mealUse = ''
|
||||
}
|
||||
let arr =[]
|
||||
api.column(0,{ page:'current'}).nodes().each(function(cell, i) {
|
||||
arr.push(cell.innerHTML)
|
||||
});
|
||||
|
||||
initDate(arr)
|
||||
$(".odd").find("td").css("height",tdHeight)
|
||||
$(".even").find("td").css("height",tdHeight)
|
||||
},
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
//搜索表中的数据
|
||||
function searchResult(value) {
|
||||
|
||||
|
||||
dataTable.search(value).draw();
|
||||
}
|
||||
189
pqs9900/src/main/webapp/jspJS/device/gwDeviceTree.js
Normal file
189
pqs9900/src/main/webapp/jspJS/device/gwDeviceTree.js
Normal file
@@ -0,0 +1,189 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据点击显示变电站内容
|
||||
*/
|
||||
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(lineIndex,monitorID) {
|
||||
$("#lineDiv").css("display","block");
|
||||
$("#devDiv").css("display","none");
|
||||
$("#subDiv").css("display","none");
|
||||
$("#lineDiv").css("margin-top",($(window).height()-$("#lineDiv").height())/2);
|
||||
loadLine(lineIndex,monitorID);
|
||||
}
|
||||
|
||||
|
||||
|
||||
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;
|
||||
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();
|
||||
});
|
||||
|
||||
|
||||
function loadSub(subIndex) {
|
||||
jQuery.ajax({
|
||||
type: 'POST',
|
||||
dataType: "json",
|
||||
url: '/pqs9900/device/loadgwSubstation',
|
||||
data: {
|
||||
subIndex: subIndex
|
||||
},
|
||||
success: function (data) {}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
function loadDevice(devIndex) {
|
||||
jQuery.ajax({
|
||||
type: 'POST',
|
||||
dataType: "json",
|
||||
url: '/pqs9900/device/loadgwDevice',
|
||||
data: {
|
||||
devIndex: devIndex
|
||||
},
|
||||
success: function (data) {}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
function loadLine(lineIndex,monitorID) {
|
||||
|
||||
jQuery.ajax({
|
||||
type: 'POST',
|
||||
dataType: "json",
|
||||
url: '/pqs9900/device/loadgwLine',
|
||||
data: {
|
||||
lineIndex: lineIndex,
|
||||
monitorID:monitorID
|
||||
},
|
||||
success: function (data) {}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
//模糊搜索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);
|
||||
}
|
||||
}
|
||||
159
pqs9900/src/main/webapp/jspJS/device/nodeInfo.js
Normal file
159
pqs9900/src/main/webapp/jspJS/device/nodeInfo.js
Normal file
@@ -0,0 +1,159 @@
|
||||
$(document).ready(function() {
|
||||
load();
|
||||
})
|
||||
|
||||
function load(){
|
||||
var heightTemp=screen.height;
|
||||
var length;
|
||||
if(heightTemp==768){
|
||||
length=8;
|
||||
}else{
|
||||
length=11;
|
||||
}
|
||||
$.ajax({
|
||||
method : "post",
|
||||
url : "/pqs9900/device/loadNodeInfo",
|
||||
data : {},
|
||||
beforeSend: function () {
|
||||
i = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
error:function(data) {
|
||||
//***********关闭loading
|
||||
ityzl_CLOSE_LOAD_LAYER(i);
|
||||
},
|
||||
success : function(data) {
|
||||
var info = JSON.parse(data);
|
||||
var table=$('#nodelist').DataTable({
|
||||
scrollX : true,
|
||||
lengthChange : false,
|
||||
destroy : true,
|
||||
searching: false,
|
||||
order:[7,'asc'],
|
||||
language: {
|
||||
url: '/pqs9900/json/chine.json'
|
||||
},
|
||||
pageLength:length,
|
||||
data : info,
|
||||
"columnDefs" : [ {
|
||||
"targets": 0,
|
||||
"visible": false,
|
||||
"searchable": false
|
||||
},{
|
||||
// // 定义操作列,######以下是重点########
|
||||
"targets" : 8,//操作按钮目标列
|
||||
"data" : null,
|
||||
"orderable" : false,
|
||||
"width":'300px',
|
||||
"render" : function(row) {
|
||||
return null;
|
||||
}
|
||||
}],
|
||||
"createdRow": function ( row, data, index ) {
|
||||
$btnView = $('<button type="button" class="btn themeBGColor glyphicon glyphicon-edit" id="btn_view">修改</button>');
|
||||
$btnExp = $('<button type="button" class="btn btn-danger glyphicon glyphicon-trash" id="btn_exp" style="margin-left:10px">删除</button>');
|
||||
if(data[4] == "正常"){
|
||||
$('td', row).eq(7).append($btnView,$btnExp);
|
||||
}else{
|
||||
$('td', row).eq(7).append($btnView);
|
||||
}
|
||||
},
|
||||
'fnDrawCallback': function(table) {
|
||||
$("#nodelist_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 oTable = $("#nodelist").dataTable();
|
||||
$('#dataTable-btn').click(function(e) {
|
||||
if($("#changePage").val() && $("#changePage").val() > 0) {
|
||||
var redirectpage = $("#changePage").val() - 1;
|
||||
} else {
|
||||
var redirectpage = 0;
|
||||
}
|
||||
oTable.fnPageChange(redirectpage);
|
||||
});
|
||||
}
|
||||
});
|
||||
new $.fn.dataTable.Buttons($("#nodelist").dataTable(), {
|
||||
buttons: [
|
||||
{
|
||||
extend: 'csv',//导出格式
|
||||
title:'前置机列表',//导出csv名称
|
||||
exportOptions:{
|
||||
columns :[1,2,3,4,5],//导出需要的列
|
||||
format:{
|
||||
body:function(data,rID,cID){//对导出内容的筛选 data 表格内容 rid 行索引 cid 列索引
|
||||
return data;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
} );
|
||||
|
||||
table.buttons().container().css("display","inline-block");
|
||||
table.buttons().container().css("float","right");
|
||||
table.buttons().container().find("a").prepend("<i class='glyphicon glyphicon-share'></i>");
|
||||
table.buttons().container().appendTo('.header');
|
||||
|
||||
//***********关闭loading
|
||||
ityzl_CLOSE_LOAD_LAYER(i);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$('#nodelist').on("click", "#btn_view", function() {
|
||||
objTable=$('#nodelist').DataTable();
|
||||
if (objTable != null) {
|
||||
var item = objTable.row($(this).closest('tr')).data();
|
||||
var nodeIndex = item[0];
|
||||
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '修改前置机信息',
|
||||
shadeClose: true,
|
||||
area : ['380px', '80%'],
|
||||
maxmin : false,
|
||||
content: 'modnode?nodeIndex='+nodeIndex,
|
||||
scrollbar: false
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$('#nodelist').on("click", ".btn-danger", function() {
|
||||
objTable=$('#nodelist').DataTable();
|
||||
if (objTable != null) {
|
||||
var item = objTable.row($(this).closest('tr')).data();
|
||||
var nodeIndex = item[0];
|
||||
|
||||
layer.confirm('是否确认?',function(){
|
||||
$.ajax({
|
||||
method : "post",
|
||||
url : "/pqs9900/device/delNodeInfo",
|
||||
data : {
|
||||
nodeIndex:nodeIndex
|
||||
},
|
||||
async:false,
|
||||
success : function(data) {
|
||||
if(data.code==200){
|
||||
layer.msg('删除成功!',{icon:1,time:1000});
|
||||
load();
|
||||
}else{
|
||||
layer.msg('删除失败!',{icon:2,time:1000});
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
$("#addnode").click(function(){
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '新增前置机',
|
||||
shadeClose: true,
|
||||
area: ['380px', '390px'],
|
||||
maxmin : false,
|
||||
content: 'addnodeinfo',
|
||||
scrollbar: false,
|
||||
end:function(){
|
||||
load();
|
||||
}
|
||||
});
|
||||
})
|
||||
156
pqs9900/src/main/webapp/jspJS/device/pushInfo.js
Normal file
156
pqs9900/src/main/webapp/jspJS/device/pushInfo.js
Normal file
@@ -0,0 +1,156 @@
|
||||
$(document).ready(function() {
|
||||
load();
|
||||
})
|
||||
|
||||
function load(){
|
||||
var heightTemp=screen.height;
|
||||
var length;
|
||||
if(heightTemp==768){
|
||||
length=8;
|
||||
}else{
|
||||
length=11;
|
||||
}
|
||||
$.ajax({
|
||||
method : "post",
|
||||
url : "/pqs9900/device/loadpushInfo",
|
||||
data : {},
|
||||
beforeSend: function () {
|
||||
i = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
error:function(data) {
|
||||
//***********关闭loading
|
||||
ityzl_CLOSE_LOAD_LAYER(i);
|
||||
},
|
||||
success : function(data) {
|
||||
var info = JSON.parse(data);
|
||||
var table=$('#nodelist').DataTable({
|
||||
scrollX : true,
|
||||
lengthChange : false,
|
||||
destroy : true,
|
||||
searching: false,
|
||||
|
||||
language : {
|
||||
url : '../json/chine.json'
|
||||
},
|
||||
pageLength:length,
|
||||
data : info,
|
||||
"columnDefs" : [{
|
||||
// // 定义操作列,######以下是重点########
|
||||
"targets" : 7,//操作按钮目标列
|
||||
"data" : null,
|
||||
"orderable" : false,
|
||||
"render" : function(row) {
|
||||
return null;
|
||||
}
|
||||
}],
|
||||
"createdRow": function ( row, data, index ) {
|
||||
$btnView = $('<button type="button" class="btn themeBGColor glyphicon glyphicon-edit" id="btn_view">推送</button>');
|
||||
$btnExp = $('<button type="button" class="btn btn-danger glyphicon glyphicon-trash" id="btn_exp" style="margin-left:10px">删除</button>');
|
||||
if(data[5] == "未推送"){
|
||||
$('td', row).eq(7).append($btnView,$btnExp);
|
||||
}else{
|
||||
$('td', row).eq(7).append("无");
|
||||
}
|
||||
},
|
||||
'fnDrawCallback': function(table) {
|
||||
$("#nodelist_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 oTable = $("#nodelist").dataTable();
|
||||
$('#dataTable-btn').click(function(e) {
|
||||
if($("#changePage").val() && $("#changePage").val() > 0) {
|
||||
var redirectpage = $("#changePage").val() - 1;
|
||||
} else {
|
||||
var redirectpage = 0;
|
||||
}
|
||||
oTable.fnPageChange(redirectpage);
|
||||
});
|
||||
}
|
||||
});
|
||||
new $.fn.dataTable.Buttons($("#nodelist").dataTable(), {
|
||||
buttons: [
|
||||
{
|
||||
extend: 'csv',//导出格式
|
||||
title:'前置机列表',//导出csv名称
|
||||
exportOptions:{
|
||||
columns :[1,2,3,4,5,6,7],//导出需要的列
|
||||
format:{
|
||||
body:function(data,rID,cID){//对导出内容的筛选 data 表格内容 rid 行索引 cid 列索引
|
||||
return data;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
} );
|
||||
|
||||
table.buttons().container().css("display","inline-block");
|
||||
table.buttons().container().css("float","right");
|
||||
table.buttons().container().find("a").prepend("<i class='glyphicon glyphicon-share'></i>");
|
||||
table.buttons().container().appendTo('.header');
|
||||
|
||||
//***********关闭loading
|
||||
ityzl_CLOSE_LOAD_LAYER(i);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$('#nodelist').on("click", "#btn_view", function() {
|
||||
objTable=$('#nodelist').DataTable();
|
||||
if (objTable != null) {
|
||||
var item = objTable.row($(this).closest('tr')).data();
|
||||
var nodeIndex = item[0];
|
||||
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '修改前置机信息',
|
||||
shadeClose: true,
|
||||
area : ['380px', '300px'],
|
||||
offset: '0px',
|
||||
maxmin : false,
|
||||
content: 'modnode?nodeIndex='+nodeIndex,
|
||||
scrollbar: false
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$('#nodelist').on("click", ".btn-danger", function() {
|
||||
objTable=$('#nodelist').DataTable();
|
||||
if (objTable != null) {
|
||||
var item = objTable.row($(this).closest('tr')).data();
|
||||
var nodeIndex = item[0];
|
||||
|
||||
layer.confirm('是否确认?',function(){
|
||||
$.ajax({
|
||||
method : "post",
|
||||
url : "/pqs9900/device/delNodeInfo",
|
||||
data : {
|
||||
nodeIndex:nodeIndex
|
||||
},
|
||||
async:false,
|
||||
success : function(data) {
|
||||
if(data.code==200){
|
||||
layer.msg('删除成功!',{icon:1,time:1000});
|
||||
load();
|
||||
}else{
|
||||
layer.msg('删除失败!',{icon:2,time:1000});
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
$("#addnode").click(function(){
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '新增前置机',
|
||||
shadeClose: true,
|
||||
offset: '0px',
|
||||
area: ['380px', '300px'],
|
||||
maxmin : false,
|
||||
content: 'addnodeinfo',
|
||||
scrollbar: false,
|
||||
end:function(){
|
||||
load();
|
||||
}
|
||||
});
|
||||
})
|
||||
201
pqs9900/src/main/webapp/jspJS/device/terminalLogManage.js
Normal file
201
pqs9900/src/main/webapp/jspJS/device/terminalLogManage.js
Normal file
@@ -0,0 +1,201 @@
|
||||
/**
|
||||
* 终端更改日志
|
||||
*/
|
||||
var dataTable = null;
|
||||
var resultData = null;
|
||||
var terminalType = "";
|
||||
$(document).ready(function () {
|
||||
load();
|
||||
getStatus();
|
||||
});
|
||||
$("#query").click(function () {
|
||||
load();
|
||||
});
|
||||
var obj = document.getElementById('status');
|
||||
obj.options.add(new Option("全部", ""));
|
||||
function getStatus(){
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: "/pqs9900/device/getStatus",
|
||||
data: "",
|
||||
error: function (data) {
|
||||
layer.msg("暂无数据", {
|
||||
icon: 5,
|
||||
time: 3000
|
||||
});
|
||||
},
|
||||
success: function (data) {
|
||||
$.each(data, function (i, item) {
|
||||
var option = $("<option value='" + item.dicIndex
|
||||
+ "'>" + item.dicName + "</option>");
|
||||
$("#status").append(option);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
function load() {
|
||||
terminalType = $("#status option:selected").val();
|
||||
var startTime = $("#startTime").val();
|
||||
var endTime = $("#endTime").val();
|
||||
var i;
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: "/pqs9900/device/getLogsDetail",
|
||||
data: {
|
||||
terminalType: terminalType,
|
||||
startTime:startTime,
|
||||
endTime:endTime
|
||||
},
|
||||
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 == "") {
|
||||
resultData = null;
|
||||
//没有数据
|
||||
initTable(null);
|
||||
} else {
|
||||
var info = $.parseJSON(data);
|
||||
if (info.code == 500) {
|
||||
resultData = null;
|
||||
//没有数据
|
||||
initTable(null);
|
||||
} else {
|
||||
resultData = info;
|
||||
initTable(info);
|
||||
}
|
||||
}
|
||||
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, 5]
|
||||
}
|
||||
],
|
||||
columns: [
|
||||
{"width": "4%"},
|
||||
{"width": "15%"},
|
||||
{"width": "8%"},
|
||||
{"width": "8%"},
|
||||
{"width": "11%"},
|
||||
{"width": "42%"}
|
||||
],
|
||||
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[5].length > 70) {
|
||||
var realValue = data[5];
|
||||
var s = data[5].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
|
||||
511
pqs9900/src/main/webapp/jspJS/device/terminalTree.js
Normal file
511
pqs9900/src/main/webapp/jspJS/device/terminalTree.js
Normal file
@@ -0,0 +1,511 @@
|
||||
var treeObj = null;
|
||||
var limitMax = 1; //最多选取一个节点
|
||||
var arrVerify;
|
||||
var setting = {
|
||||
check : {
|
||||
enable : true,
|
||||
nocheckInherit: true
|
||||
},
|
||||
data: {
|
||||
simpleData: {
|
||||
enable: true
|
||||
}
|
||||
},
|
||||
view: {
|
||||
fontCss: setHighlight // 高亮一定要设置,setHighlight是自定义方法
|
||||
},
|
||||
callback : {
|
||||
beforeCheck: doVerify,
|
||||
onCheck: onVerify,
|
||||
onClick: zTreeOnClick
|
||||
}
|
||||
};
|
||||
|
||||
var flowSet = false;
|
||||
|
||||
$(function(){
|
||||
getTree();
|
||||
triggerCheckBox(1)
|
||||
});
|
||||
|
||||
function getTree() {
|
||||
$.ajax({
|
||||
type : 'POST',
|
||||
dataType : "json",
|
||||
url : '/pqs9900/device/terminalDeviceTree',
|
||||
data : {},
|
||||
async:false,
|
||||
error : function() {
|
||||
console.log("获取终端树请求发送失败!");
|
||||
},
|
||||
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;
|
||||
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);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
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 == 0) { //根节点
|
||||
$("#buttonarea button").attr("hidden","true");
|
||||
$("#addProj2").removeAttr("hidden");
|
||||
}else if(nodes[0].level == 1){ //项目
|
||||
$("#buttonarea button").attr("hidden","true");
|
||||
$("#addProj").removeAttr("hidden");
|
||||
$("#modProj").removeAttr("hidden");
|
||||
$("#delProj").removeAttr("hidden");
|
||||
$("#addPro2").removeAttr("hidden");
|
||||
|
||||
var projIndex=nodes[0].nodeIndex;
|
||||
$("#projIndex").val(projIndex);
|
||||
}else if(nodes[0].level == 2){ //省份
|
||||
$("#buttonarea button").attr("hidden","true");
|
||||
$("#addPro").removeAttr("hidden");
|
||||
$("#modPro").removeAttr("hidden");
|
||||
$("#delPro").removeAttr("hidden");
|
||||
$("#addGd2").removeAttr("hidden");
|
||||
|
||||
var projIndex=nodes[0].getParentNode().nodeIndex;
|
||||
$("#projIndex").val(projIndex);
|
||||
var proIndex=nodes[0].nodeIndex;
|
||||
$("#proIndex").val(proIndex);
|
||||
}else if(nodes[0].level == 3){ //供电公司
|
||||
$("#buttonarea button").attr("hidden","true");
|
||||
$("#addGd").removeAttr("hidden");
|
||||
$("#modGd").removeAttr("hidden");
|
||||
$("#delGd").removeAttr("hidden");
|
||||
$("#addSub2").removeAttr("hidden");
|
||||
|
||||
var projIndex=nodes[0].getParentNode().getParentNode().nodeIndex;
|
||||
$("#projIndex").val(projIndex);
|
||||
var proIndex=nodes[0].getParentNode().nodeIndex;
|
||||
$("#proIndex").val(proIndex);
|
||||
var gdIndex=nodes[0].nodeIndex;
|
||||
$("#gdIndex").val(gdIndex);
|
||||
}else if(nodes[0].level == 4){ //变电站
|
||||
$("#buttonarea button").attr("hidden","true");
|
||||
$("#addSub").removeAttr("hidden");
|
||||
$("#modSub").removeAttr("hidden");
|
||||
$("#delSub").removeAttr("hidden");
|
||||
$("#addDev2").removeAttr("hidden");
|
||||
|
||||
var projIndex=nodes[0].getParentNode().getParentNode().getParentNode().nodeIndex;
|
||||
$("#projIndex").val(projIndex);
|
||||
var proIndex=nodes[0].getParentNode().getParentNode().nodeIndex;
|
||||
$("#proIndex").val(proIndex);
|
||||
var gdIndex=nodes[0].getParentNode().nodeIndex;
|
||||
$("#gdIndex").val(gdIndex);
|
||||
var subIndex=nodes[0].nodeIndex;
|
||||
$("#subIndex").val(subIndex);
|
||||
}else if(nodes[0].level == 5){ //终端
|
||||
$("#buttonarea button").attr("hidden","true");
|
||||
$("#addDev").removeAttr("hidden");
|
||||
$("#modDev").removeAttr("hidden");
|
||||
$("#delDev").removeAttr("hidden");
|
||||
$("#addSubv2").removeAttr("hidden");
|
||||
$("#devcommit").removeAttr("disabled");
|
||||
|
||||
var projIndex=nodes[0].getParentNode().getParentNode().getParentNode().getParentNode().nodeIndex;
|
||||
$("#projIndex").val(projIndex);
|
||||
var proIndex=nodes[0].getParentNode().getParentNode().getParentNode().nodeIndex;
|
||||
$("#proIndex").val(proIndex);
|
||||
var gdIndex=nodes[0].getParentNode().getParentNode().nodeIndex;
|
||||
var gdname=nodes[0].getParentNode().getParentNode().name;
|
||||
$("#gdIndex").val(gdIndex);
|
||||
var subIndex=nodes[0].getParentNode().nodeIndex;
|
||||
var subname=nodes[0].getParentNode().name;
|
||||
$("#subIndex").val(subIndex);
|
||||
var devIndex=nodes[0].nodeIndex;
|
||||
$("#devIndex").val(devIndex);
|
||||
|
||||
loadDevice(devIndex,gdname,subname);
|
||||
loadLineIndex(devIndex);
|
||||
}else if(nodes[0].level == 6){ //母线
|
||||
$("#buttonarea button").attr("hidden","true");
|
||||
$("#addSubv").removeAttr("hidden");
|
||||
$("#modSubv").removeAttr("hidden");
|
||||
$("#delSubv").removeAttr("hidden");
|
||||
$("#addLine2").removeAttr("hidden");
|
||||
|
||||
var projIndex=nodes[0].getParentNode().getParentNode().getParentNode().getParentNode().getParentNode().nodeIndex;
|
||||
$("#projIndex").val(projIndex);
|
||||
var proIndex=nodes[0].getParentNode().getParentNode().getParentNode().getParentNode().nodeIndex;
|
||||
$("#proIndex").val(proIndex);
|
||||
var gdIndex=nodes[0].getParentNode().getParentNode().getParentNode().nodeIndex;
|
||||
$("#gdIndex").val(gdIndex);
|
||||
var subIndex=nodes[0].getParentNode().getParentNode().nodeIndex;
|
||||
$("#subIndex").val(subIndex);
|
||||
var devIndex=nodes[0].getParentNode().nodeIndex;
|
||||
$("#devIndex").val(devIndex);
|
||||
var subvIndex=nodes[0].nodeIndex;
|
||||
$("#subvIndex").val(subvIndex);
|
||||
}else if(nodes[0].level == 7){ //线路
|
||||
$("#buttonarea button").attr("hidden","true");
|
||||
$("#addLine").removeAttr("hidden");
|
||||
$("#modLine").removeAttr("hidden");
|
||||
$("#delLine").removeAttr("hidden");
|
||||
|
||||
var projIndex=nodes[0].getParentNode().getParentNode().getParentNode().getParentNode().getParentNode().getParentNode().nodeIndex;
|
||||
$("#projIndex").val(projIndex);
|
||||
var proIndex=nodes[0].getParentNode().getParentNode().getParentNode().getParentNode().getParentNode().nodeIndex;
|
||||
$("#proIndex").val(proIndex);
|
||||
var gdIndex=nodes[0].getParentNode().getParentNode().getParentNode().getParentNode().nodeIndex;
|
||||
var gdname=nodes[0].getParentNode().getParentNode().getParentNode().getParentNode().name;
|
||||
$("#gdIndex").val(gdIndex);
|
||||
var subIndex=nodes[0].getParentNode().getParentNode().getParentNode().nodeIndex;
|
||||
var subname=nodes[0].getParentNode().getParentNode().getParentNode().name;
|
||||
$("#subIndex").val(subIndex);
|
||||
var devIndex=nodes[0].getParentNode().getParentNode().nodeIndex;
|
||||
$("#devIndex").val(devIndex);
|
||||
var subvIndex=nodes[0].getParentNode().nodeIndex;
|
||||
$("#subvIndex").val(subvIndex);
|
||||
var lineIndex=nodes[0].nodeIndex;
|
||||
$("#lineIndex").val(lineIndex);
|
||||
|
||||
$("#linecommit").removeAttr("disabled");
|
||||
loadLine(lineIndex);
|
||||
|
||||
loadDevice(devIndex,gdname,subname);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function doVerify() {
|
||||
arrVerify = getAllSelected();
|
||||
}
|
||||
|
||||
//复选框操作事件
|
||||
function onVerify() {
|
||||
var arrPoint = getTreeSelected(1);
|
||||
console.log(arrPoint)
|
||||
if (0 === arrPoint.length) {
|
||||
return;
|
||||
}
|
||||
|
||||
var arr = getAllSelected();
|
||||
var zTree = $.fn.zTree.getZTreeObj("tree");
|
||||
|
||||
closeHigh();
|
||||
|
||||
if (arrPoint.length > limitMax) {
|
||||
if (arrVerify.length == 0) {
|
||||
zTree.checkAllNodes(false);
|
||||
} else {
|
||||
for (var i = 0; i < arr.length; i++) {
|
||||
var index = $.inArray(arr[i], arrVerify);
|
||||
|
||||
if (index === -1) {
|
||||
zTree.checkNode(arr[i], false, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
layer.msg("最多选择" + limitMax + "个监测点.");
|
||||
} else {
|
||||
for (var j = 0; j < arrVerify.length; j++) {
|
||||
arrVerify[j].highlight = false;
|
||||
zTree.updateNode(arrVerify[j]);
|
||||
}
|
||||
|
||||
for (var i = 0; i < arrPoint.length; i++) {
|
||||
arrPoint[i].highlight = true;
|
||||
zTree.updateNode(arrPoint[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function getAllSelected() {
|
||||
var zTree = $.fn.zTree.getZTreeObj("tree");
|
||||
return zTree.getCheckedNodes(true);
|
||||
}
|
||||
|
||||
//type-1:getCheckedNodes方法,type-2:getSelectedNodes方法
|
||||
function getTreeSelected(type) {
|
||||
var pointNodes = [];
|
||||
|
||||
if (type == 1) {
|
||||
var nodes = getAllSelected();
|
||||
|
||||
if (0 === nodes.length) {
|
||||
return pointNodes;
|
||||
}
|
||||
|
||||
for (var i = 0; i < nodes.length; i++) {
|
||||
if (nodes[i].level == 5) {
|
||||
pointNodes.push(nodes[i]);
|
||||
}
|
||||
}
|
||||
} else if (type == 2) {
|
||||
var zTree = $.fn.zTree.getZTreeObj("tree");
|
||||
var nodes = zTree.getSelectedNodes();
|
||||
|
||||
if (0 === nodes.length) {
|
||||
return pointNodes;
|
||||
}
|
||||
|
||||
if (nodes[0].level == 5) {
|
||||
pointNodes.push(nodes[0]);
|
||||
}
|
||||
}
|
||||
|
||||
return pointNodes;
|
||||
}
|
||||
|
||||
/*********************************
|
||||
* 是否显示checkBox
|
||||
* type-1:显示
|
||||
* type-2:不显示
|
||||
*********************************/
|
||||
function triggerCheckBox(type) {
|
||||
var zTree = $.fn.zTree.getZTreeObj("tree");
|
||||
var nodes = zTree.transformToArray(zTree.getNodes());
|
||||
var isShow = false;
|
||||
|
||||
if (type == 2) {
|
||||
isShow = true;
|
||||
}
|
||||
for (var i = 0; i < nodes.length; i++) {
|
||||
nodes[i].nocheck = isShow;
|
||||
zTree.updateNode(nodes[i]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function loadDevice(devIndex,gdname,subname){
|
||||
jQuery.ajax({
|
||||
type : 'POST',
|
||||
dataType : "json",
|
||||
url : '/pqs9900/device/loadDevice',
|
||||
data : {
|
||||
devIndex : devIndex
|
||||
},
|
||||
success : function(data) {
|
||||
var iptype = data.iptype;
|
||||
if(iptype == "cld"){
|
||||
$("#ipmac").html("<font color='red'>*</font>MAC:");
|
||||
$("#mac").val(data.ip);
|
||||
|
||||
$("#onlycld").removeAttr("hidden");
|
||||
$("#dataplan").removeAttr("disabled");
|
||||
$("#newtraffic").removeAttr("disabled");
|
||||
|
||||
$("#dataplan").val(data.dataplan);
|
||||
$("#newtraffic").val(data.newtraffic);
|
||||
}else if(iptype == "pqdif"){
|
||||
$("#ipmac").html("<font color='red'>*</font>IP/MAC:");
|
||||
$("#mac").val(data.ip);
|
||||
|
||||
$("#onlycld").attr("hidden","true");
|
||||
$("#dataplan").attr("disabled",true);
|
||||
$("#newtraffic").attr("disabled",true);
|
||||
|
||||
$("#dataplan").val("");
|
||||
$("#newtraffic").val("");
|
||||
}else{
|
||||
$("#ipmac").html("<font color='red'>*</font>IP:");
|
||||
$("#mac").val(data.ip);
|
||||
|
||||
$("#onlycld").attr("hidden","true");
|
||||
$("#dataplan").attr("disabled",true);
|
||||
$("#newtraffic").attr("disabled",true);
|
||||
|
||||
$("#dataplan").val("");
|
||||
$("#newtraffic").val("");
|
||||
}
|
||||
$("#devname").val(data.name);
|
||||
$("#devtype").val(data.devType);
|
||||
$("#port").val(data.portId);
|
||||
|
||||
if(data.status == 1){
|
||||
$("#status").val("正常");
|
||||
}else{
|
||||
$("#status").val("中断");
|
||||
}
|
||||
|
||||
$("#gdname").val(gdname);
|
||||
$("#subname").val(subname);
|
||||
|
||||
$("#LogonTime").val(data.logTime);
|
||||
$("#UpdateTime").val(data.updTime);
|
||||
$("#nodeinfo").val(data.nodeIndex);
|
||||
$("#datatype").val(data.datatype);
|
||||
$("#devmodel").val(data.devmodel);
|
||||
|
||||
$("#ThisTimeCheck").val(data.thisTime);
|
||||
$("#NextTimeCheck").val(data.nextTime);
|
||||
$("#manufacturer").val(data.manufacturer);
|
||||
$("#callflag").val(data.callFlag);
|
||||
$("#devfunction").find("option").remove();
|
||||
// $("#devfunction").val(data.devfunction);
|
||||
var devfunction = [];
|
||||
for(v of data.devfunction){
|
||||
devfunction.push(v.fucname);
|
||||
}
|
||||
changeDevfunc(devfunction);
|
||||
// if(data.devfunction!=null){
|
||||
// for(var i=0;i<data.devfunction.length;i++){
|
||||
// $("#devfunction").val(data.devfunction[i]);
|
||||
// var mm = $("#devfunction").find("option:contains("+data.devfunction[i].fucname+")");
|
||||
// .attr("selected",true);
|
||||
// }
|
||||
// }
|
||||
|
||||
if(data.series.length>0){
|
||||
$("#series").val(data.series);
|
||||
}else{
|
||||
$("#series").val("");
|
||||
}
|
||||
if(data.key.length>0){
|
||||
$("#key").val(data.key);
|
||||
}else{
|
||||
$("#key").val("");
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function loadLineIndex(devIndex){
|
||||
jQuery.ajax({
|
||||
type : 'POST',
|
||||
dataType : "json",
|
||||
url : '/pqs9900/device/loadLineIndex',
|
||||
data : {
|
||||
devIndex : devIndex
|
||||
},
|
||||
success : function(data) {
|
||||
if(data != 0){
|
||||
loadLine(data);
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
function loadLine(lineIndex){
|
||||
jQuery.ajax({
|
||||
type : 'POST',
|
||||
dataType : "json",
|
||||
url : '/pqs9900/device/loadLine',
|
||||
data : {
|
||||
lineIndex : lineIndex
|
||||
},
|
||||
success : function(data) {
|
||||
$("#linename").val(data.name);
|
||||
$("#scale").val(data.scale);
|
||||
$("#dlcMp").val(data.dlcMp);
|
||||
$("#xycMp").val(data.xycMp);
|
||||
$("#jzcMp").val(data.jzcMp);
|
||||
$("#devcMp").val(data.devcMp);
|
||||
$("#CT1").val(data.ct1);
|
||||
$("#CT2").val(data.ct2);
|
||||
$("#PT1").val(data.pt1);
|
||||
$("#PT2").val(data.pt2);
|
||||
$("#ptType").val(data.ptType);
|
||||
$("#tInterval").val(data.tinterval);
|
||||
$("#loadType").val(data.loadType);
|
||||
$("#businessType").val(data.businessType);
|
||||
$("#powerId").val(data.powerId);
|
||||
$("#remark").val(data.remark);
|
||||
$("#monitorId").val(data.monitorId);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function changeDevfunc(devfunction){
|
||||
var dictypeName = "装置功能";
|
||||
$.ajax({
|
||||
method : "post",
|
||||
url : "/pqs9900/device/getselect",
|
||||
data : {
|
||||
dictypeName:dictypeName
|
||||
},
|
||||
async:true,
|
||||
success : function(data) {
|
||||
$.each(data, function(i, item) {
|
||||
if(devfunction.indexOf(item.dicIndex)>-1){
|
||||
var option = $("<option selected value='"
|
||||
+ item.dicIndex + "'>"
|
||||
+ item.dicName + "</option>");
|
||||
$('#devfunction').append(option);
|
||||
}else{
|
||||
var option = $("<option value='"
|
||||
+ item.dicIndex + "'>"
|
||||
+ item.dicName + "</option>");
|
||||
$('#devfunction').append(option);
|
||||
}
|
||||
})
|
||||
$('#devfunction').fSelect("device");
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//模糊搜索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);
|
||||
}
|
||||
}
|
||||
//设置字体高亮
|
||||
function setHighlight(treeId, treeNode) {
|
||||
return (treeNode.highlight) ? {color:"#000000", "font-weight":"bold","border-bottom":"dotted 1px #fff"} : {color:"#666", "font-weight":"normal"};
|
||||
}
|
||||
//关闭所有高亮节点
|
||||
function closeHigh() {
|
||||
var treeObj = $.fn.zTree.getZTreeObj("tree");
|
||||
var allNodes = treeObj.transformToArray(treeObj.getNodes());// 关闭所有节点的高亮
|
||||
|
||||
for (var i = 0; i < allNodes.length; i++) {
|
||||
allNodes[i].highlight = false;
|
||||
treeObj.updateNode(allNodes[i]);
|
||||
}
|
||||
}
|
||||
273
pqs9900/src/main/webapp/jspJS/device/versionManger.js
Normal file
273
pqs9900/src/main/webapp/jspJS/device/versionManger.js
Normal file
@@ -0,0 +1,273 @@
|
||||
var height = $(window).height() - 70;
|
||||
$(function () {
|
||||
$(".halfHeight").css("height", height);
|
||||
refresh();
|
||||
getDeviceType()
|
||||
|
||||
|
||||
});
|
||||
|
||||
window.refreshs = function () {
|
||||
refresh()
|
||||
}
|
||||
//新增版本
|
||||
$("#addVersion").on("click", function () {
|
||||
|
||||
let username = $('#username').val()
|
||||
let resetName = '新增升级版本'
|
||||
passwordLocalIndentity(username,resetName,function () {
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '新增版本',
|
||||
maxmin: false,
|
||||
area: ['300px', '460px'],
|
||||
content: 'versionadd?type=1',
|
||||
scrollbar: false,
|
||||
end: function () {
|
||||
|
||||
}
|
||||
})
|
||||
})
|
||||
});
|
||||
|
||||
//系列过滤
|
||||
$("#query").on("click", function () {
|
||||
refresh()
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 初始化获取后台数据
|
||||
*/
|
||||
function refresh() {
|
||||
let dev = $('#devType').val()
|
||||
/*获取各项条件 */
|
||||
var indexi;
|
||||
$.ajax({
|
||||
type: "get",
|
||||
url: "/pqs9900/version/getVersionList",
|
||||
dataType: "json",
|
||||
data: {devType:dev},
|
||||
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 tableHeight = height - 75;
|
||||
var length = Math.floor(tableHeight / 32);
|
||||
if (length < 1) {
|
||||
length = 1;
|
||||
}
|
||||
var tableCellHeight = 32 * length;
|
||||
dataTable = $("#deviceTableV").DataTable();
|
||||
dataTable.clear().draw();
|
||||
dataTable = $('#deviceTableV').DataTable({
|
||||
order: [6, 'desc'],
|
||||
columnDefs: [
|
||||
{
|
||||
orderable: false,
|
||||
targets: [0,6,10]
|
||||
}
|
||||
],
|
||||
columns: [
|
||||
{width: "4%",data: null,"targets": 0},
|
||||
{width: "9%", data: "devType"},
|
||||
{width: "7%", data: "edName"},
|
||||
{width: "7%", data: "edProtocol"},
|
||||
{width: "9%", data: "edDate",render:function (data) {
|
||||
return formatTime(data,2)
|
||||
}},
|
||||
{width: "8%", data: "updateUser"},
|
||||
{width: "10%", data: "updateTime",render:function (data) {
|
||||
return formatTime(data,1)
|
||||
}},
|
||||
{width: "12%", data: "edDescribe"},
|
||||
{width: "9%", data: "type",render:function (data) {
|
||||
if(data ==null){
|
||||
return '通用'
|
||||
}else {
|
||||
return data
|
||||
}
|
||||
}},
|
||||
{width: "6%",data:null,render:function (data) {
|
||||
console.log(data)
|
||||
if(data.status==0){
|
||||
return '<input value="'+data.edIndex+'" type="checkbox" class="checkbox"/>'
|
||||
}else {
|
||||
return '<input value="'+data.edIndex+'" type="checkbox" checked class="checkbox"/>'
|
||||
}
|
||||
|
||||
}},
|
||||
{
|
||||
width: "7%", data: "edIndex", render: function (data, type, full, meta) {
|
||||
return "<button type='button' class='btn themeBGColor' style='margin-right:10px;' href='javascript:void(0);' onclick='excuteEvent(\"" + data + "\",2)' >修改</button>" +
|
||||
"<button type='button' class='btn themeBGColor' style='margin-right:10px;' href='javascript:void(0);' onclick='excuteEvent(\"" + data + "\",1)' >删除</button>";
|
||||
}
|
||||
}
|
||||
],
|
||||
destroy: true,
|
||||
data: tableData,
|
||||
lengthChange: false,
|
||||
searching: true,
|
||||
dom: 'rtip',
|
||||
scrollY: tableCellHeight,
|
||||
autoWidth:true,
|
||||
lengthMenu: [length],
|
||||
language: {
|
||||
url: '/pqs9900/json/chine.json'
|
||||
},
|
||||
fnDrawCallback: function (oTable) {
|
||||
//初始化按钮开关
|
||||
$(".checkbox").bootstrapSwitch({
|
||||
onText: "启用", // 设置ON文本
|
||||
offText: "关闭", // 设置OFF文本
|
||||
onColor: "primary",// 设置ON文本颜色 (info/success/warning/danger/primary)
|
||||
offColor: "primary", // 设置OFF文本颜色 (info/success/warning/danger/primary)
|
||||
size: "mini", // 设置控件大小,从小到大 (mini/small/normal/large)
|
||||
handleWidth: "30",//设置控件宽度
|
||||
// 当开关状态改变时触发
|
||||
onSwitchChange: function (event, state) {
|
||||
let tid = $(this).val()
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
dataType: "json",
|
||||
url: '/pqs9900/version/enableDisable',
|
||||
data: {edIndex: tid, status: state?1:0},
|
||||
success: function (data) {
|
||||
if (data.code == 200) {
|
||||
refresh()
|
||||
layer.msg(data.message, {icon: 1,time:2000})
|
||||
}else {
|
||||
refresh()
|
||||
layer.msg(data.message, {icon: 2,time:2000})
|
||||
}
|
||||
},
|
||||
error: function () {
|
||||
layer.msg('未知错误', {icon: 2})
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
var api = this.api();
|
||||
api.column(0).nodes().each(function(cell, i) {
|
||||
cell.innerHTML = i + 1;
|
||||
});
|
||||
|
||||
$("#deviceTableV_info").addClass("fl");
|
||||
$("#deviceTableV_paginate").addClass("fr");
|
||||
$("#deviceTableV_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 = $("#deviceTableV").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 getDeviceType() {
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: '/pqs9900/device/getselect',
|
||||
data: {dictypeName: '装置系列'},
|
||||
dataType: 'json',
|
||||
success: function (data) {
|
||||
$('#devType').empty()
|
||||
var html = '<option value="">全部</option>'
|
||||
data.forEach(function (item) {
|
||||
let op = '<option value="' + item.dicIndex + '">' + item.dicName + '</option>'
|
||||
html += op;
|
||||
})
|
||||
$('#devType').append(html)
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
//获取启用状态
|
||||
function getWarnInfo(data) {
|
||||
data = Number(data);
|
||||
if (data === 1) {
|
||||
info = '<font style="color:#A52a2a">中断</font>'
|
||||
}else {
|
||||
info = '<font style="color:black">正常</font>'
|
||||
}
|
||||
return info;
|
||||
}
|
||||
|
||||
//删除修改按钮操作
|
||||
function excuteEvent(id, type) {
|
||||
let username = $('#username').val()
|
||||
let resetName = ''
|
||||
passwordLocalIndentity(username,resetName,function () {
|
||||
if(type == 1){
|
||||
//删除
|
||||
layer.confirm('确认删除吗?',function (index) {
|
||||
$.ajax({
|
||||
type : "get",
|
||||
url : "/pqs9900/version/delVersion",
|
||||
dataType : "json",
|
||||
data:{
|
||||
edIndex:id
|
||||
},
|
||||
success : function(data) {
|
||||
if(data.code === 200){
|
||||
layer.msg(data.message,{icon:1},function (){
|
||||
refresh()
|
||||
})
|
||||
|
||||
}else {
|
||||
layer.msg(data.message,{icon:2})
|
||||
}
|
||||
}
|
||||
});
|
||||
layer.close(index);
|
||||
})
|
||||
}else {
|
||||
//修改
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '修改终端版本',
|
||||
maxmin: false,
|
||||
area: ['300px', '460px'],
|
||||
content: 'versionadd?type=2&edIndex=' + id,
|
||||
scrollbar: false,
|
||||
end: function () {
|
||||
// refresh();
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user