| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387 |
- var layer;
- // 时间插件初始化
- layui.use(['laydate','form','layer'], function () {
- var laydate = layui.laydate;
- var form = layui.form;
- layer = layui.layer;
- form.on('select(userSelect)', function(data){
- dverSelect()
- });
- });
- // 版本筛选
- function dverSelect(obj, param) {
- var ename = $('#ename').val() || '';
- var eId = $('#eId').val() || '';
- var onoffSelectVal = $('#onoffSelect').val() || '';
- var edverVal = $('#edver').val() || '';
- var euserVal = $('#userSelect').val() || '';
- $.ajax({
- url: 'equipmanage_cbd',
- type: 'post',
- data: {
- req: "filter",
- dver: edverVal,
- is_online: onoffSelectVal,
- ename: ename,
- f_id: eId,
- page: 1,
- uname:euserVal
- },
- dataType:'json',
- beforeSend: function () {
- $('#loadingParent').show();
- },
- complete: function () {
- $('#loadingParent').hide();
- },
- success: function (data) {
- checkedArr = [];
- renderTable(processingData(data));
- renderPage(1,data)
- }
- })
- }
- getData(1,'','','','','')
- // 数据请求
- function getData(page,dver,is_online,ename,f_id,uname){
- $.ajax({
- url:'equipmanage_cbd',
- type:'post',
- data:{
- req: 'filter',
- dver: dver,
- is_online: is_online,
- ename: ename,
- f_id: f_id,
- page: page,
- uname: uname,
- },
- beforeSend: function () {
- $('#loadingParent').show();
- },
- complete: function () {
- $('#loadingParent').hide();
- },
- dataType:'json',
- success:function(data){
- renderTable(processingData(data));
- renderPage(page,data)
- },
- error:function(type){
- console.log(type);
- }
- })
- }
- function processingData(data){
- if(data.nums){
- var dataArr = data.dat;
- var newDataArr = [];
- for(var i = 0;i<dataArr.length;i++){
- var cbd_status = eval('('+ dataArr[i].cbd_status +')');
- cbd_status.equip_desc = dataArr[i].equip_desc;
- cbd_status.equip_name = dataArr[i].equip_name || '--';
- cbd_status.iccid = dataArr[i].iccid;
- cbd_status.is_online = dataArr[i].is_online;
- cbd_status.off_time = dataArr[i].off_time;
- cbd_status.upl_time = dataArr[i].upl_time;
- cbd_status.updata = dataArr[i].update;
- newDataArr.push(cbd_status);
- if(i == dataArr.length-1){
- return newDataArr;
- }
- }
- }else{
- return [];
- }
- }
- function renderTable(newDataArr){
- layui.use(['table'], function(){
- var table = layui.table;
- table.render({
- elem: '#datatable'
- ,skin: 'line' //行边框风格
- ,even: true //开启隔行背景
- ,size: 'lg' //小尺寸的表格
- ,data:newDataArr
- // ,cellMinWidth: 102 //全局定义常规单元格的最小宽度,layui 2.2.1 新增
- ,cols: [[
- {checkbox: true}
- ,{field:'imei', align:'center', title:'设备ID', minWidth: 200}
- ,{field:'equip_name',align:'center', title: '设备名称', minWidth: 100}
- ,{field:'is_online',align:'center', title: '在线状态', templet: function(d){if(d.is_online == 1){return '<img src="static/img/onLine.png" />'}else{return '<span title="离线时间:'+d.off_time+'"><img src="static/img/offLine.png" /></span>'}}}
- ,{field:'ts', align:'center', title: '定时模式', templet: function(d){if(d.ts == 1){return '时控'}else{return '光控'}}}
- ,{field:'rps',align:'center', title: '雨控', templet: function(d){if(d.rps == 0){return '<img src="static/img/noRCtrl.png" />'}else{return '<img src="static/img/rCtrl.png" />'}}}
- ,{field:'lps', align:'center', title: '光照', templet: function(d){if(d.lps == 1){return '<img src="static/img/daytime.png" />'}else{return '<img src="static/img/night.png" />'}}}
- ,{field:'tps', align:'center', title: '温控', templet: function(d){if(d.tps == 0){return '<img src="static/img/noHighTemp.png" />'}else{return '<img src="static/img/highTemp.png" />'}}}
- ,{field:'ts', align:'center', title: '灯管状态', templet:function(d){return lampFun(d)} }
- ,{field:'gs',align:'center', title: '通道', templet: function(d){if(d.gs == 0){return '排水'}else{return '落虫'}} }
- ,{field:'hs', align:'center', title: '加热状态', templet: function(d){if(d.hs == 0){return '正常'}else{return '加热'}} }
- ,{field:'upds', align:'center', title: '上仓门', templet: function(d){if(d.upds == 0){return '关闭'}else{return '打开'}} }
- ,{field:'dnds', align:'center', title: '下仓门', templet: function(d){if(d.dnds == 0){return '关闭'}else{return '打开'}} }
- ,{field:'csq', align:'center', title: '信号强度', }
- ,{field:'dver', align:'center', title: '设备版本',templet: function(d){if(d.updata == "0"){return '<span class="blue" title="该设备可升级">' + d.dver + '</span>'}else{return '<span>' + d.dver + '</span>'}} }
- ,{field:'upl_time', align:'center', title: '上报时间', minWidth: 200}
- ]]
- ,done: function(res, page, count){
- // console.log(res)
- //可以自行添加判断的条件是否选中
- //这句才是真正选中,通过设置关键字LAY_CHECKED为true选中,这里只对第一行选中
- // res.data[0]["LAY_CHECKED"]='true';
- //下面三句是通过更改css来实现选中的效果
- // var index= res.data[0]['LAY_TABLE_INDEX'];
- // $('tr[data-index=' + index + '] input[type="checkbox"]').prop('checked', true);
- // $('tr[data-index=' + index + '] input[type="checkbox"]').next().addClass('layui-form-checked');
- }
- });
-
- //监听行工具事件
- table.on('checkbox(datatable)', function(obj){
- if(obj.type == 'all'){
- if(obj.checked){
- checkedArr = [];
- for(var i = 0;i<newDataArr.length;i++){
- checkedArr.push(newDataArr[i].imei)
- }
- }else{
- checkedArr = [];
- }
- }else{
- if(obj.checked){
- checkedArr.push(obj.data.imei)
- }else{
- checkedArr.splice(checkedArr.indexOf(obj.data.imei),1)
- }
- }
-
- // console.log(checkedArr)
- });
- });
- }
- function lampFun(stat){
- if(stat.lamp != undefined){
- if(stat.ws == 1){
- if(stat.lamp == 1){
- return '<div title="工作中"><img src="static/img/greenLamp.png" height="30px" alt=""></div>';
- }else if(stat.lux == 0){
- return '<div title="未检测到传感器">N/A</div>';
- }else{
- return '<div title="异常"><img src="static/img/redLamp.png" height="30px" alt=""></div>';
- }
- }else{
- return '<div title="关闭"><img src="static/img/blueLamp.png" height="30px" alt=""></div>';
- }
- }else{
- return "--";
- }
- }
- function renderPage(currpage,data){
- var checkedArr = [];
- var ename = $('#ename').val() || '';
- var eId = $('#eId').val() || '';
- var onoffSelectVal = $('#onoffSelect').val() || '';
- var edverVal = $('#edver').val() || '';
- var euserVal = $('#userSelect').val() || '';
- // alert(1)
- //调用分页
- layui.use(['laypage'], function(){
- var laypage = layui.laypage;
- laypage.render({
- elem: 'page'
- ,count: data.nums
- ,curr:currpage
- , theme: '#428BCA'
- , layout: ['prev', 'page', 'next', 'skip']
- ,jump: function(obj, first){
- //首次不执行
- if(!first){
- $.ajax({
- url:'equipmanage_cbd',
- type:'post',
- data:{
- req: 'filter',
- dver: edverVal,
- is_online: onoffSelectVal,
- ename: ename,
- f_id: eId,
- page: obj.curr,
- uname: euserVal,
- },
- dataType:'json',
- beforeSend: function () {
- $('#loadingParent').show();
- },
- complete: function () {
- $('#loadingParent').hide();
- },
- success:function(data){
- checkedArr = [];
- renderTable(processingData(data));
- },
- error:function(type){
- }
- })
- }
- }
- });
- })
- }
- function handHandle(flag){
- if(flag == 1){
- var txt = '升级';
- var params = 'update';
- }else if(flag == 2){
- var txt = '重启';
- var params = 'reboot';
- }else if(flag == 3){
- var txt = '刷新';
- var params = 'read';
- }
- if(!checkedArr.length){
- layer.msg('请至少选择一条设备')
- }else{
- layer.confirm('是否进行批量'+txt+'操作?', {icon: 3, title:'警告'}, function(index){
- $.ajax({
- url:'cbd_mqtt_all',
- type:'post',
- data:{
- cmd: params,
- eidlist: JSON.stringify(checkedArr),
- },
- dataType:'json',
- beforeSend: function () {
- $('#loadingParent').show();
- },
- complete: function () {
- $('#loadingParent').hide();
- },
- success:function(data){
- if(data==0){
- layer.msg('设置成功',{icon:1})
- }
- },
- error:function(type){
- }
- })
- layer.close(index);
- });
- }
- }
- var user = document.getElementById("datatable");
- //可升级版本数据填充
- function Fill_Table(table_id, data) {
- //js循环读取json数据
- var table = document.getElementById(table_id).children[1];
- for (var i = 0; i < data.length; i++) {
- var row = table.insertRow(table.rows.length);
- if (data[i].length == 0) { continue; }
- var c1 = row.insertCell(0);
- c1.innerHTML = '<div class="deviceId">' + data[i].num + '</div>';
- var c2 = row.insertCell(1);
- c2.innerHTML = data[i].dver;
- var c3 = row.insertCell(2);
- c3.innerHTML = '<input type="text" class="pid" value="" placeholder="输入需要更改的版本号">';
- var c4 = row.insertCell(3);
- // c4.innerHTML = '<button onclick="ensure(\''+data[i].num+'\')" class="btn btn-sm btn-success">确定</button>';
- c4.innerHTML = '<button onclick="ensure($(this))" class="btn btn-sm btn-success">确定</button>';
- }
- }
- //可升级版本暂无数据
- 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', '18');
- c1.setAttribute('class', 'nullData');
- c1.innerHTML = "暂无数据";
- }
- //可升级版本
- function upgradeRelease() {
- layer.open({
- type: 1,
- title: '可升级版本',
- offset: '100px',
- shadeClose: true,
- area: ['750px', '465px'],
- content: $('#handleBtns'),
- end:function (res) {
- // self.location.reload(); //刷新框架内页面
- $("#datatableA tr:not(:first)").html("");
- }
- });
-
- $.ajax({
- url: 'cbd_dver',
- type: 'post',
- data: {
- dver: '',
- num: '',
- },
- dataType: 'json',
- beforeSend: function () {
- $('#loadingParent').show();
- },
- complete: function () {
- $('#loadingParent').hide();
- },
- success: function (data) {
- if (data.length > 0) {
- Fill_Table('datatableA', data);
- } else {
- Fill_null_Table('datatableA', data);
- }
- },
- error: function (type) {
- }
- })
- }
- //可升级版本确定
- function ensure(obj) {
- var iptVal = $(obj).parents("tr").find(".pid").val()
- var parent = obj.parents('tr');
- var id = parent.find('.deviceId').html().trim();
- $.ajax({
- url: 'cbd_dver',
- type: 'post',
- data: {
- dver: iptVal,
- num: id,
- },
- dataType: 'json',
- beforeSend: function (XMLHttpRequest) {
- layer.msg('请求中,请稍候……', { icon: 16, shade: 0.01, shadeClose: false, time: 60000 });
- },
- success: function (data) {
- if (data == "0") {
- layer.msg('修改成功!!', { icon: 1, shade: 0.01, shadeClose: false, time: 500 });
- } else {
- layer.msg('修改失败!!', { icon: 2, shade: 0.01, shadeClose: false, time: 500 });
- }
- },
- error: function (type) {
- layer.msg('修改失败!!', { icon: 2, shade: 0.01, shadeClose: false, time: 500 });
- }
- })
- }
|