初始化项目

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

File diff suppressed because it is too large Load Diff

View 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')
}
})
}
})
}

View 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&times;\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&times;\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()
}

View 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;
}

View 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});
}
}
})
})

View 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">250次谐波电流有效值</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">250次谐波有功功率</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">250次谐波无功功率</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">250次谐波视在功率</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.549.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)
}
})
}

File diff suppressed because it is too large Load Diff

View 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();
});
}
}
})
}

View 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();
}

View 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);
}
}

View 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();
}
});
})

View 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();
}
});
})

View 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

View 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]);
}
}

View 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();
}
})
}
})
}