| | |
| | | 'use strict'; |
| | | |
| | | var CORS = 'http://192.168.7.113:8080/Device_Manage/'; // 开启跨域请求(调试时开启) |
| | | //var CORS = 'http://192.168.7.115:8080/Device_Manage/'; // 开启跨域请求(调试时开启) |
| | | var CORS = 'http://49.234.20.113:8919/Device_Manage/'; // 开启跨域请求(调试时开启) |
| | | //const CORS=''; // 关闭跨域请求(发布时开启) |
| | | |
| | | //定义计时器 |
| | |
| | | } |
| | | |
| | | function ajax(option) { |
| | | bui.ajax({ |
| | | method: 'POST', |
| | | async: true, |
| | | url: CORS + option.url, |
| | | data: option.data, |
| | | dataType: 'json' |
| | | }).then(function (res) { |
| | | if (typeof option.success == 'function') { |
| | | option.success(res); |
| | | } |
| | | if (typeof option.complete == 'function') { |
| | | option.complete(); |
| | | } |
| | | }, function () { |
| | | if (typeof option.complete == 'function') { |
| | | option.complete(); |
| | | } |
| | | }); |
| | | // $.ajax({ |
| | | // type: 'post', |
| | | // bui.ajax({ |
| | | // method: 'POST', |
| | | // async: true, |
| | | // url: CORS+option.url, |
| | | // data: option.data, |
| | | // dataType: 'json', |
| | | // success: option.success, |
| | | // error: option.error, |
| | | // complete: option.complete |
| | | // needNative: true, |
| | | // }).then(function(res) { |
| | | // if(typeof(option.success) == 'function') { |
| | | // option.success(res); |
| | | // } |
| | | // if(typeof(option.complete) == 'function') { |
| | | // option.complete(); |
| | | // } |
| | | // }, |
| | | // function() { |
| | | // if(typeof(option.complete) == 'function') { |
| | | // option.complete(); |
| | | // } |
| | | // }); |
| | | $.ajax({ |
| | | type: 'post', |
| | | async: true, |
| | | url: CORS + option.url, |
| | | data: option.data, |
| | | dataType: 'json', |
| | | success: option.success, |
| | | error: option.error, |
| | | complete: option.complete |
| | | }); |
| | | } |
| | | |
| | | //将秒转化成时:分:秒 |
| | |
| | | return title; |
| | | }; |
| | | |
| | | var SYSTEMS = [{ |
| | | name: 'LD9', |
| | | reg: /^40190/ |
| | | }, { |
| | | name: '61850', |
| | | reg: /^61850/ |
| | | }, { |
| | | name: 'BTS', |
| | | reg: /^(9100)|(9600)|(9616)/ |
| | | }]; |
| | | // 根据设备的id获取设备的基本信息 |
| | | function getDevBaseInfo(dev_id) { |
| | | var result = { |
| | | name: '未知', |
| | | key: '未知', |
| | | reg: '', |
| | | workstates: [], |
| | | stopreasons: [], |
| | | alarmstates: [] |
| | | }; |
| | | // 遍历DEVICEINFO |
| | | for (var i = 0; i < DEVICEINFO.length; i++) { |
| | | var data = DEVICEINFO[i]; |
| | | if (regEquipType(dev_id, data.reg)) { |
| | | result = data; |
| | | } |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | // 根据设备ID获取系统的名称 |
| | | function getSysType(dev_id) { |
| | | var result = '未知'; |
| | | } |
| | | // 验证设备类型 |
| | | function regEquipType(eId, pattern) { |
| | | if (pattern.test(eId)) { |
| | | return true; |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | function getBattstate(state) { |
| | | var str = ""; |
| | | switch (state) { |
| | | case 1: |
| | | str = battstate[1];break; |
| | | case 2: |
| | | str = battstate[2];break; |
| | | case 3: |
| | | str = battstate[3];break; |
| | | case 4: |
| | | str = battstate[4];break; |
| | | default: |
| | | str = battstate[0]; |
| | | } |
| | | return str; |
| | | } |
| | | |
| | | // 对数据进行处理 |
| | | var HandleData = function HandleData() {}; |
| | | // 处理数据 |
| | | HandleData.prototype.handle = function (oldData, newData, keys) { |
| | | var result = { |
| | | del: [], |
| | | add: [] |
| | | }; |
| | | // 添加被删除的数据 |
| | | this._addDel(result, oldData, newData, keys); |
| | | |
| | | // 添加被添加的数据 |
| | | this._addAdd(result, oldData, newData, keys); |
| | | |
| | | // 删除数据 |
| | | this._del(result, oldData, keys); |
| | | |
| | | // 添加数据 |
| | | this._add(result, oldData, keys); |
| | | }; |
| | | // 添加被删除的数据 |
| | | HandleData.prototype._addDel = function (result, oldData, newData, keys) { |
| | | // 遍历old数据并和newData对比,筛选出需要删除的数据 |
| | | for (var i = 0; i < oldData.length; i++) { |
| | | var _oldData = oldData[i]; |
| | | var exist = this.checkExistObj(_oldData, newData, keys); |
| | | if (!exist) { |
| | | result.del.push(_oldData); |
| | | } |
| | | } |
| | | }; |
| | | |
| | | // 添加被添加的数据 |
| | | HandleData.prototype._addAdd = function (result, oldData, newData, keys) { |
| | | // 遍历new数据和old数据对比,筛选出需要添加的数据 |
| | | for (var i = 0; i < newData.length; i++) { |
| | | var _newData = newData[i]; |
| | | var exist = this.checkExistObj(_newData, oldData, keys); |
| | | if (!exist) { |
| | | result.add.push(_newData); |
| | | } |
| | | } |
| | | }; |
| | | |
| | | // 删除数据 |
| | | HandleData.prototype._del = function (result, oldData, keys) { |
| | | // 删除数据 |
| | | for (var i = 0; i < result.del.length; i++) { |
| | | var del = result.del[i]; |
| | | for (var k = 0; k < oldData.length; k++) { |
| | | var _oldData = oldData[k]; |
| | | var equal = this.checkObjEqual(_oldData, del, keys); |
| | | if (equal || typeof equal == 'undefined') { |
| | | oldData.splice(k, 1); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | |
| | | // 添加数据 |
| | | HandleData.prototype._add = function (result, oldData, keys) { |
| | | // 添加数据 |
| | | for (var i = 0; i < result.add.length; i++) { |
| | | var add = result.add[i]; |
| | | oldData.push(add); |
| | | } |
| | | }; |
| | | |
| | | // 检测对象是否存在于对象集合 |
| | | HandleData.prototype.checkExistObj = function (obj, list, keys) { |
| | | var exist = false; |
| | | // 遍历list |
| | | for (var i = 0; i < list.length; i++) { |
| | | var _list = list[i]; |
| | | // 遍历键值集合 |
| | | var equal = this.checkObjEqual(obj, _list, keys); |
| | | // 对象与对象集合中第i个等效 |
| | | if (equal) { |
| | | exist = true; |
| | | break; |
| | | } |
| | | } |
| | | // 返回内容 |
| | | return exist; |
| | | }; |
| | | |
| | | // 检测对象是否等效(返回undefined说明keys存在问题) |
| | | HandleData.prototype.checkObjEqual = function (obj1, obj2, keys) { |
| | | // 遍历键值集合 |
| | | var equal = true; |
| | | for (var k = 0; k < keys.length; k++) { |
| | | var key = keys[k]; |
| | | if (obj1.hasOwnProperty(key) && obj2.hasOwnProperty(key)) { |
| | | if (obj1[key] != obj2[key]) { |
| | | equal = false; |
| | | break; |
| | | } |
| | | } else { |
| | | equal = undefined; |
| | | } |
| | | } |
| | | return equal; |
| | | }; |