| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624 |
- var topicid = []; //imei数组
- $(function () {
- // 时间插件初始化
- layui.use('laydate', function () {
- var laydate = layui.laydate;
- //执行一个laydate实例
- laydate.render({
- elem: '#timSelectBox' //指定元素
- , type: 'time'
- , range: true
- , done: function (value, date) {
- var dateArray = value.split(' - ')
- $('#begin').val(dateArray[0])
- $('#end').val(dateArray[1])
- }
- });
- });
- $('#clock').on('change', function () {
- if ($(this).val() == 0) {
- $('#timeHourParent').hide();
- $('#durationParent').show();
- $('#timSelectBox').val('');
- $('#began').val('00:00:00');
- $('#end').val('00:00:00');
- } else {
- $('#timeHourParent').show();
- $('#durationParent').hide();
- $('#duration').val(0);
- }
- })
- var user = document.getElementById("datatable");
- // 分页初始化
- layui.use('laypage', function () {
- var laypage = layui.laypage;
- laypage.render({
- elem: 'page' //注意,这里的 test1 是 ID,不用加 # 号
- , count: $('#totalPage').val()
- ,theme: '#428BCA'
- , layout: ['prev', 'page', 'next', 'skip']
- , jump: function (obj, first) {
- $.ajax({
- url: 'equipmanage_ybq',
- type: 'post',
- data: {
- req: "reqdat",
- page: obj.curr
- },
- beforeSend: function () {
- $('#loadingParent').show();
- },
- complete: function () {
- $('#loadingParent').hide();
- },
- success: function (data) {
- var msg = $.parseJSON(data);
- if ($('#totalPage').val() > 0) {
- Fill_Table('datatable', msg);
- $('#page').parent().show();
- } else {
- Fill_null_Table('datatable', msg);
- $('#page').parent().hide();
- }
- topicid = [];//当点击下一页不保存当前选中项
- $('#checkAll').prop('checked',false)
- $('.controlModel').hide();
- // 当点击下一页保存当前选中项
- // for(var i = 0; i < topicid.length;i++){
- // $('.itemId').each(function(){
- // if($(this).html() == topicid[i]){
- // $(this).parent().find('.check').prop('checked','checked');
- // }
- // })
- // }
- scrollBar()
- }
- })
- if (!first) {
- $("#datatable tr:not(:first)").remove();
- }
- }
- });
- });
- })
- function Fill_null_Table(table_id, data) {
- var table = document.getElementById(table_id).children[1];
- var row = table.insertRow(table.rows.length);
- var c1 = row.insertCell(0);
- c1.setAttribute('colspan', '16');
- c1.setAttribute('class', 'nullData');
- c1.innerHTML = "暂无数据";
- }
- function Fill_Table(table_id, dat) {
- //js循环读取json数据
- var table = document.getElementById(table_id).children[1];
- for (var i = 0; i < dat.length; i++) {
- var row = table.insertRow(table.rows.length);
- var c1 = row.insertCell(0);
- // c1.innerHTML = "<input type='checkbox' onchange='checkAllSelect()' class='check' name='title-table-checkbox' />";
- c1.innerHTML = '<div style="position:relative"><label class="my_protocol">'+
- '<input type="checkbox" class="check" onclick="checkAllSelect()" value="2014" name="check_box_list">'+
- '<span></span></label></div>';
- //JSON字符串转换JSON对象
- var stat = eval('(' + dat[i].ybq_status + ')');
- var c2 = row.insertCell(1);
- c2.innerHTML = stat.imei;
- c2.setAttribute("class", "itemId");
- var c3 = row.insertCell(2);
- if (dat[i].equip_name == "") c3.innerHTML = "无";
- else c3.innerHTML = dat[i].equip_name;
- var c4 = row.insertCell(3);
- if (dat[i].is_online == 1) c4.innerHTML = '<img src="static/img/green.png" alt="">';
- else if (dat[i].is_online == 0) c4.innerHTML = '<img src="static/img/red.png" title=离线时间:'+dat[i].off_time.replace(' ',' ')+' alt="">';
- else c4.innerHTML = '--'
- var c5 = row.insertCell(4);
- if (dat[i].ds == 0) c5.innerHTML = "关";
- else c5.innerHTML = "开";
- var c6 = row.insertCell(5);
- if (stat.ws == 0) c6.innerHTML = "待机";
- else if (stat.ws == 1) c6.innerHTML = "工作";
- else if (stat.ws == 2) c6.innerHTML = "充电";
- var c7 = row.insertCell(6);
- if (stat.tt == 0) c7.innerHTML = "常亮";
- else c7.innerHTML = stat.tt;
- var c8 = row.insertCell(7);
- if (stat.tbs == 0) c8.innerHTML = '<img src="static/img/green.png" alt="">';
- else c8.innerHTML = '<img src="static/img/red.png" alt="">';
- var c9 = row.insertCell(8);
- if (stat.lps == 0) c9.innerHTML = '<img src="static/img/green.png" alt="">';
- else c9.innerHTML = '<img src="static/img/red.png" alt="">';
- var c10 = row.insertCell(9);
- if (stat.rps == 0) c10.innerHTML = '<img src="static/img/green.png" alt="">';
- else c10.innerHTML = '<img src="static/img/red.png" alt="">';
- var c11 = row.insertCell(10);
- if (stat.tps == 0) c11.innerHTML = '<img src="static/img/green.png" alt="">';
- else c11.innerHTML = '<img src="static/img/red.png" alt="">';
- var c12 = row.insertCell(11);
- if (stat.dps == 0) c12.innerHTML = '<img src="static/img/green.png" alt="">';
- else c12.innerHTML = '<img src="static/img/red.png" alt="">';
- var c13 = row.insertCell(12);
- c13.innerHTML = stat.csq;
- var c14 = row.insertCell(13);
- c14.innerHTML = stat.dver;
- var c15 = row.insertCell(14);
- c15.innerHTML = dat[i].upl_time;
- // var c16 = row.in sertCell(15);
- // c16.innerHTML = '<a class="btn btn-sm btn-primary" href="equipmanage_ybq_detail?id='+stat.imei+'">详情</button>';
- }
- }
- // 单个复选框
- function checkAllSelect() {
- var CheckCount = 0;
- $('.check').each(function () {
- if ($(this).prop("checked") == true) {
- CheckCount++;
- $(this).parents('tr').addClass('selectedColor');
- if (!contains(topicid, $(this).parents('tr').find('.itemId').html())) {
- topicid.push($(this).parents('tr').find('.itemId').html());
- }
- } else {
- $(this).parents('tr').removeClass('selectedColor');
- removeByValue(topicid, $(this).parents('tr').find('.itemId').html());
- }
- });
- if (CheckCount == $('.check').length) {
- $('#checkAll').prop("checked", true);
- } else {
- $('#checkAll').prop("checked", false);
- }
- if (CheckCount > 0) {
- $('.controlModel').slideDown();
- } else {
- $('.controlModel').slideUp();
- }
- }
- //全选
- function checkAll(obj) {
- if (obj.prop("checked") == true) {
- $('.check').each(function () {
- $(this).prop("checked", true);
- $(this).parents('tr').addClass('selectedColor');
- if (!contains(topicid, $(this).parents('tr').find('.itemId').html())) {
- topicid.push($(this).parents('tr').find('.itemId').html());
- }
- });
- $('.controlModel').slideDown();
- } else {
- $('.check').each(function () {
- $(this).parents('tr').removeClass('selectedColor');
- $(this).prop("checked", false);
- });
- topicid = [];
- $('.controlModel').slideUp();
- }
- }
- //移除数组元素
- function removeByValue(arr, val) {
- for (var i = 0; i < arr.length; i++) {
- if (arr[i] == val) {
- arr.splice(i, 1);
- break;
- }
- }
- }
- //判断数组中是否包含元素
- function contains(arr, obj) {
- var i = arr.length;
- while (i--) {
- if (arr[i] === obj) {
- return true;
- }
- }
- return false;
- }
- //定时
- function timing(obj) {
- if (topicid.length > 0) {
- var hours = obj.val();
- $.ajax({
- url: 'ybq_mqtt',
- type: 'post',
- data: {
- sw: "tt",//定时
- topicid: JSON.stringify(topicid),
- hours: hours,
- },
- beforeSend: function () {
- $('#loadingParent').show();
- },
- complete: function () {
- setTimeout(function () {
- $('#loadingParent').hide();
- }, 3000)
- },
- success: function (data) {
- if (data == "0") {
- var eId = $('#eId').val();
- layer.msg("发送成功!")
- var eswitch = $('#eswitch').val();
- var ename = $('#ename').val();
- var page = $('.layui-laypage-curr em').eq(1).html();
- var data = {
- req: "filter",
- ename: ename,
- eswitch: eswitch,
- page: page,
- f_id:eId,
- }
- setTimeout(function () {
- $.post("equipmanage_ybq",data,function(data){
- $("#datatable tr:not(:first)").html("");
- var msg = $.parseJSON(data);
- if (msg.dat.length > 0) {
- Fill_Table('datatable', msg.dat);
- $('#page').parent().show();
- } else {
- Fill_null_Table('datatable', msg.dat);
- $('#page').parent().hide();
- }
- $('#state').val('定时时长');
- $('#checkAll').prop('checked',false)
- $('.controlModel').slideUp();
- });
- }, 3000)
- }
- else {
- layer.msg("发送失败!")
- }
- }
- })
- } else {
- obj.val('定时时长');
- layui.use('layer', function () {
- var layer = layui.layer;
- layer.msg('请选择一条数据');
- });
- }
- }
- // 配置
- function allocation() {
- if (topicid.length > 0) {
- $('#myModal').modal('toggle');
- } else {
- layui.use('layer', function () {
- var layer = layui.layer;
- layer.msg('请选择一条数据');
- });
- }
- }
- //保存配置
- function saveMode() {
- var ts = $('#clock').val();
- var duration = $('#duration').val();
- var begin = $('#begin').val();
- var end = $('#end').val();
- $.ajax({
- url: 'ybq_mqtt',
- type: 'post',
- data: {
- sw: "timer",//定时
- topicid: topicid,
- ts: ts,
- hours: duration,//光控模式下的定时时长
- begin: begin,
- end: end
- },
- beforeSend: function () {
- $('#loadingParent').show();
- },
- complete: function () {
- setTimeout(function () {
- $('#loadingParent').hide();
- }, 3000)
- },
- success: function (data) {
- if (data == "0") {
- layer.msg("发送成功!")
- setTimeout(function () {
- window.location.href = window.location.href;
- }, 3000)
- }
- else {
- layer.msg("发送失败!")
- }
- }
- })
- }
- //开关
- function SetSwitch(obj) {
- if (topicid.length > 0) {
- var ds = obj.val();
- $.ajax({
- type: "post",
- url: 'ybq_mqtt',
- beforeSend: function () {
- $('#loadingParent').show();
- },
- complete: function () {
- setTimeout(function () {
- $('#loadingParent').hide();
- }, 3000)
- },
- data: {
- "sw": "ds",//开关
- "topicid": JSON.stringify(topicid),
- "ds": ds
- },
- dataType: "json",
- success: function (data) {
- if (data == "0") {
- var eId = $('#eId').val();
- layer.msg("发送成功!")
- var eswitch = $('#eswitch').val();
- var ename = $('#ename').val();
- var page = $('.layui-laypage-curr em').eq(1).html();
- var data = {
- req: "filter",
- ename: ename,
- eswitch: eswitch,
- page: page,
- f_id:eId,
- }
- setTimeout(function () {
- $.post("equipmanage_ybq",data,function(data){
- $("#datatable tr:not(:first)").html("");
- var msg = $.parseJSON(data);
- if (msg.dat.length > 0) {
- Fill_Table('datatable', msg.dat);
- $('#page').parent().show();
- } else {
- Fill_null_Table('datatable', msg.dat);
- $('#page').parent().hide();
- }
- $('#switchBtn').val('设备开关');
- $('#checkAll').prop('checked',false)
- $('.controlModel').slideUp();
- });
- }, 3000)
- }
- else {
- layer.msg("发送失败!")
- }
- }
- })
- } else {
- obj.val('设备开关');
- layui.use('layer', function () {
- var layer = layui.layer;
- layer.msg('请选择一条数据');
- });
- }
- }
- //刷新
- function reloadPage() {
- if (topicid.length > 0) {
- $.ajax({
- type: "post",
- url: 'ybq_mqtt',
- beforeSend: function () {
- $('#loadingParent').show();
- },
- complete: function () {
- setTimeout(function () {
- $('#loadingParent').hide();
- }, 3000)
- },
- data: {
- "sw": "read",//读取
- "topicid": JSON.stringify(topicid),
- "kind": "status"//读取下位机状态
- },
- dataType: "json",
- success: function (data) {
- if (data == "0") {
- layer.msg("发送成功!");
- var eswitch = $('#eswitch').val();
- var ename = $('#ename').val();
- var eId = $('#eId').val();
- var page = $('.layui-laypage-curr em').eq(1).html();
- var eId = $('#eId').val();
- var data = {
- req: "filter",
- ename: ename,
- eswitch: eswitch,
- f_id:eId,
- page: page,
- }
- setTimeout(function () {
- $.post("equipmanage_ybq",data,function(data){
- $("#datatable tr:not(:first)").html("");
- var msg = $.parseJSON(data);
- if (msg.dat.length > 0) {
- Fill_Table('datatable', msg.dat);
- $('#page').parent().show();
- } else {
- Fill_null_Table('datatable', msg.dat);
- $('#page').parent().hide();
- }
- $('#checkAll').prop('checked',false)
- $('.controlModel').slideUp();
- });
- }, 3000)
- }
- else {
- layer.msg("发送失败!")
- }
- }
- })
- } else {
- layui.use('layer', function () {
- var layer = layui.layer;
- layer.msg('请选择一条数据');
- });
- }
- }
- //筛选
- function sub_filter() {
- var ename = $('#ename').val();
- var eId = $('#eId').val();
- var eswitch = $('#eswitch').val();
- $.ajax({
- url: 'equipmanage_ybq',
- type: 'post',
- data: {
- req: "filter",
- ename: ename,
- eswitch: eswitch,
- page:1,
- f_id:eId
- },
- success: function (data) {
- var eId = $('#eId').val();
- $("#datatable tr:not(:first)").html("");
- var msg = $.parseJSON(data);
- if (msg.dat.length > 0) {
- Fill_Table('datatable', msg.dat);
- $('#page').parent().show();
- } else {
- Fill_null_Table('datatable', msg.dat);
- $('#page').parent().hide();
- }
- topicid = [];//当点击下一页不保存当前选中项
- $('#checkAll').prop('checked',false)
- $('.controlModel').hide();
- scrollBar()
- var datas = {
- req: "filter",
- ename: ename,
- eswitch: eswitch,
- f_id:eId
- };
- initSearchPage(msg.nums, '/equipmanage_ybq',datas);
-
- }
- })
- }
- //搜索分页
- function initSearchPage(page, url, datas) {
- layui.use('laypage', function () {
- var laypage = layui.laypage;
- laypage.render({
- elem: 'page' //注意,这里的 test1 是 ID,不用加 # 号
- , count: page
- ,theme: '#428BCA'
- , layout: ['prev', 'page', 'next', 'skip']
- , jump: function (obj, first) {
- datas.page = obj.curr;
- if (!first) {
- $.ajax({
- url: url,
- type: 'post',
- data: datas,
- success: function (data) {
- $("#datatable tr:not(:first)").html("");
- var msg = $.parseJSON(data);
- if (msg.dat.length > 0) {
- Fill_Table('datatable', msg.dat)
- } else {
- Fill_null_Table('datatable', msg.dat)
- }
- topicid = [];//当点击下一页不保存当前选中项
- $('#checkAll').prop('checked',false)
- $('.controlModel').hide();
- scrollBar()
- }
- })
- }
- }
- });
- });
- }
- // 强制升级
- function coerceshow(obj){
- if($('.coerce').hasClass('coerceBlock')){
- $('.coerce').removeClass('coerceBlock');
- $('.coerce').hide();
- $(obj).html('操作');
- }else{
- $('.coerce').show();
- $('.coerce').addClass('coerceBlock');
- $(obj).html('取消');
- }
- }
- function popupFrame(str,cmd,type,data){
- //询问框
- layer.confirm('确定'+str+'?', {
- icon:3,
- btn: ['确定','取消'] //按钮
- }, function(index){
- handleFun(cmd, type);
- layer.close(index);
- }, function(){
- });
- }
- function handleFun(cmd, type) {
- $.ajax({
- type: "post",
- url: 'ybq_mqtt',
- data: {
- "sw": "ctrl",//控制
- "topicid": JSON.stringify(topicid),
- "cmd": cmd,//升级 update
- "kind": type
- },
- dataType: "json",
- beforeSend: function () {
- $('#loadingParent').show();
- },
- complete: function () {
- setTimeout(function () {
- $('#loadingParent').hide();
- }, 3000)
- },
- success: function (data) {
- // layer.close(popupIndex);
- if(data==0){
- setTimeout(function () {
- $('#operationBtn').click();
- layer.msg('设置成功');
- }, 3000)
- }
- }
- })
- }
- // 窗口改变iframe高度改变
- $(window).resize(function () {
- scrollBar()
- });
|