| | |
| | | gl.CMD.e61850.stop = 83; //停止测试
|
| | | gl.CMD.e61850.setDischargeParm = 40; //设置参数
|
| | | gl.CMD.e61850.getDischargeParm = 41; //获取参数
|
| | | |
| | | //CMD下sys
|
| | | gl.namespace('CMD.sys');
|
| | | gl.CMD.sys.restart = 0x10;
|
| | | gl.CMD.sys.set = 0x81;
|
| | | gl.CMD.sys.get = 0x80;
|
| | | |
| | | //CMD下gprs
|
| | | gl.namespace('CMD.gprs');
|
| | | gl.CMD.gprs.param = 145;
|
| | | gl.CMD.gprs.signal = "CSQ";
|
| | | gl.CMD.gprs.threadinfo = 0x17;
|
| | | |
| | | // CMD下batt
|
| | | gl.namespace('CMD.batt');
|
| | | gl.CMD.batt.get = 0x36; // 获取电池参数
|
| | | gl.CMD.batt.set = 0x37; // 设置电池参数
|
| | | })(jQuery, window, document, GLOBAL);
|
| | |
|
| | | // 问题类型
|
| | | ;(function($, window, document, gl, undefined) {
|
| | | // HomeQues的命名空间
|
| | | gl.namespace('HomeQues');
|
| | | var lists = ['电池问题', '电源问题', '空调问题', '漏水问题', 'BTS设备问题', 'GPRS模块问题', '施工安装问题', '铁锂电池问题', '其他问题'];
|
| | | |
| | | // 将questions绑定到HomeQues下
|
| | | gl.HomeQues.lists = lists;
|
| | | |
| | | // 获取option列表
|
| | | function getOptions(bool) {
|
| | | var options = '';
|
| | | // 是否添加全部选项
|
| | | if(bool) {
|
| | | options += '<option value="-1">全部</option>';
|
| | | }
|
| | | // 遍历lists返回所有的option
|
| | | for(var i=0; i<lists.length; i++) {
|
| | | options += '<option value="'+i+'">'+lists[i]+'</option>';
|
| | | }
|
| | | return options;
|
| | | }
|
| | | |
| | | // 将getOptions绑定到HomeQues下
|
| | | gl.HomeQues.getOptions = getOptions;
|
| | | |
| | | // 获取故障类型layuiBtn
|
| | | function getLayuiBtn(num) {
|
| | | var txt = lists[num];
|
| | | return '<a href="javascript:;" class="layui-btn layui-btn-xs">'+txt+'</a>';
|
| | | }
|
| | | |
| | | // 将getLayuiBtn绑定到HomeQues下
|
| | | gl.HomeQues.getLayuiBtn = getLayuiBtn;
|
| | | |
| | | })(jQuery, window, document, GLOBAL);
|
| | |
|
| | | // 地图信息
|
| | |
| | |
|
| | | })(jQuery, window, document, GLOBAL);
|
| | |
|
| | | // 文本框数据的验证
|
| | | ;(function($, window, document, gl, undefined) {
|
| | | // 定义testVal的命名空间
|
| | | gl.namespace('testVal');
|
| | | // 验证数据
|
| | | function check(ele, ptn, callback) {
|
| | | var val = ele.val();
|
| | | var isGood = regVal(val, ptn);
|
| | | setStyle(ele, isGood, ptn, callback);
|
| | | }
|
| | | |
| | | // 将数据绑定到GLOBAL.testVal下
|
| | | gl.testVal.check = check;
|
| | | |
| | | // 检测数据的有效性
|
| | | function regVal(val, ptn) {
|
| | | var flag = true;
|
| | | var _val = val;
|
| | | |
| | | // 检验数据格式是否有效
|
| | | if(!ptn.pattern.test(_val)) {
|
| | | flag = false;
|
| | | }
|
| | | |
| | | // 检验数据是否在取值区间(前提是数据格式正确且有区间)
|
| | | if(flag && ptn.regVal) {
|
| | | // val值不在取值范围
|
| | | if(val<ptn.min || val>ptn.max) {
|
| | | flag = false;
|
| | | }
|
| | | }
|
| | | |
| | | return flag;
|
| | | }
|
| | | |
| | | // 设置文本框的样式
|
| | | function setStyle(ele, isGood, ptn, callback) {
|
| | | if(isGood) {
|
| | | ele.next('i').removeClass('error-data');
|
| | | ele.myTooltip('hide');
|
| | | ele.removeClass('error-data');
|
| | | }else {
|
| | | ele.next('i').addClass('error-data');
|
| | | ele.myTooltip({
|
| | | position: ptn.position,
|
| | | thing: 'show',
|
| | | update: ptn.update,
|
| | | content: '<span style="color:#FF0000">'+ptn.msg+'</span>'
|
| | | });
|
| | | ele.addClass('error-data');
|
| | | }
|
| | | // 是否回调函数
|
| | | //console.log(callback);
|
| | | if(isFunction(callback)) {
|
| | | callback();
|
| | | }
|
| | | }
|
| | | })(jQuery, window, document, GLOBAL);
|
| | |
|
| | | // 导出报表
|
| | | ;(function($, window, document, gl, undefined) {
|
| | | // 定义testVal的命名空间
|
| | | gl.namespace('Table');
|
| | | var ExpExcel = function() {
|
| | | this.thead = ''; // 表格的头部
|
| | | this.tbody = ''; // 表格的内容
|
| | | this.normal = 1; // 是否为通用的导出
|
| | | this.dataBreak = ''; // 数据分割符
|
| | | this.pageNames = ''; // 工作簿名称
|
| | | this.pageBreak = ''; // 工作簿分隔符
|
| | | this.form = '';
|
| | | this.form = this.initForm();
|
| | | };
|
| | | var prop = ExpExcel.prototype;
|
| | | |
| | | // 初始化
|
| | | prop._init = function(obj) {
|
| | | var defaults = {
|
| | | thead: [],
|
| | | tbody: [],
|
| | | normal: 1,
|
| | | dataBreak: '&',
|
| | | pageNames: ['数据表格'],
|
| | | pageBreak: '$'
|
| | | };
|
| | | |
| | | // 合并对象
|
| | | var opts = $.extend({}, defaults, obj | {});
|
| | |
|
| | | this._setThead(obj.thead, opts.pageBreak, opts.dataBreak);
|
| | | this._setTbody(obj.tbody, opts.pageBreak, opts.dataBreak);
|
| | | this._setPageNames(opts.pageNames, opts.pageBreak);
|
| | |
|
| | | this.dataBreak = opts.dataBreak;
|
| | | this.pageBreak = opts.pageBreak;
|
| | | this.normal = opts.normal;
|
| | | |
| | | this.form = this.initForm();
|
| | | this._setForm();
|
| | | };
|
| | | |
| | | // 设置页面中的元素
|
| | | prop._setForm = function() {
|
| | | var ele = $('#exp_container');
|
| | | // 创建容器
|
| | | if(ele.length == 0) {
|
| | | $('body').append($('<div id="exp_container"></div>'));
|
| | | }
|
| | | ele = $('#exp_container');
|
| | | console.log(ele.length);
|
| | | // 更新内容
|
| | | ele.text('');
|
| | |
|
| | | var form = $('<form id="exp_excel" action="ExportTable.servlet" method="post"></form>');
|
| | |
|
| | | var thead = $('<input type="hidden" id="exp_thead" name="exp_thead" value=""/>');
|
| | | var tbody = $('<input type="hidden" id="exp_tbody" name="exp_tbody" value=""/>');
|
| | | var normal = $('<input type="hidden" id="exp_normal" name="exp_normal" value=""/>');
|
| | | var dataBreak = $('<input type="hidden" id="exp_data_break" name="exp_data_break" value=""/>');
|
| | | var pageNames = $('<input type="hidden" id="exp_page_names" name="exp_page_names" value=""/>');
|
| | | var pageBreak = $('<input type="hidden" id="exp_page_break" name="exp_page_break" value=""/>');
|
| | |
|
| | | thead.val(this.thead);
|
| | | tbody.val(this.tbody);
|
| | | normal.val(this.normal);
|
| | | dataBreak.val(this.dataBreak);
|
| | | pageNames.val(this.pageNames);
|
| | | pageBreak.val(this.pageBreak);
|
| | | |
| | | form.append(thead);
|
| | | form.append(tbody);
|
| | | form.append(normal);
|
| | | form.append(dataBreak);
|
| | | form.append(pageNames);
|
| | | form.append(pageBreak);
|
| | | |
| | | ele.append(form);
|
| | | this.form = form;
|
| | | };
|
| | |
|
| | | // 设置表格头部的值
|
| | | prop._setThead = function(thead, pageBreak, dataBreak) {
|
| | | var arr = [];
|
| | | // 数据分割
|
| | | for(var i=0; i<thead.length; i++) {
|
| | | var _arr = thead[i].join(dataBreak);
|
| | | arr.push(_arr)
|
| | | }
|
| | | // 工作簿分割
|
| | | var str = arr.join(pageBreak);
|
| | | this.thead = str;
|
| | | };
|
| | |
|
| | | // 设置表格内容
|
| | | prop._setTbody = function(tbody, pageBreak, dataBreak) {
|
| | | var arr = [];
|
| | | // 数据分割
|
| | | for(var i=0; i<tbody.length; i++) {
|
| | | var _arr = tbody[i].join(dataBreak);
|
| | | arr.push(_arr)
|
| | | }
|
| | | // 工作簿分割
|
| | | var str = arr.join(pageBreak);
|
| | | this.tbody = str;
|
| | | };
|
| | |
|
| | | // 设置工作簿内容
|
| | | prop._setPageNames = function(pageNames, pageBreak) {
|
| | | var str = pageNames.join(pageBreak);
|
| | | this.pageNames = str;
|
| | | };
|
| | | |
| | | // 初始化form
|
| | | prop.initForm = function() {
|
| | | this.form = '12345';
|
| | | };
|
| | |
|
| | | // 导出表格
|
| | | prop.xls = function(obj) {
|
| | |
|
| | | this._init(obj); // 初始化内容
|
| | | // 导出内容
|
| | | if(this.form == '12345') {
|
| | | alert('没有检测到form表单')
|
| | | }else {
|
| | | this.form.submit();
|
| | | }
|
| | | };
|
| | | |
| | | |
| | | var expExcel = new ExpExcel();
|
| | | //console.log(expExcel);
|
| | | // 绑定导出数据对象
|
| | | GLOBAL.Table.expExcel = expExcel;
|
| | | |
| | | |
| | | //构造导出表格对象
|
| | | function createTableData(tOptions){
|
| | | var thead_arr = new Array(); //表头数据数组
|
| | | var thody_arr = new Array(); //表格数据数组
|
| | | var proname_arr = new Array(); //属性名数组
|
| | | //console.info(tOptions); |
| | | if(tOptions != undefined){ |
| | | //构造表头数组 |
| | | for(var i = 0;i< tOptions.cols.length;i++){
|
| | | var _th = tOptions.cols[i];
|
| | | for(var k=0;k<_th.length;k++){ |
| | | if(_th[k].field != undefined){ |
| | | proname_arr.push(_th[k].field);
|
| | | thead_arr.push(_th[k].title);
|
| | | }
|
| | | }
|
| | | }
|
| | | //构造表格内部数据数组
|
| | | for(var j = 0;j < tOptions.data.length;j++){
|
| | | var _data = tOptions.data[j];
|
| | | for(var k=0;k<proname_arr.length;k++){
|
| | | thody_arr.push(_data[proname_arr[k]]);
|
| | | }
|
| | | }
|
| | | }
|
| | | return {
|
| | | thead: [thead_arr],
|
| | | tbody:[thody_arr]
|
| | | };
|
| | | }
|
| | | |
| | | // 绑定导出数据对象
|
| | | GLOBAL.Table.cTblData = createTableData;
|
| | | })(jQuery, window, document, GLOBAL);
|
| | |
|
| | | // 生成阿里图标的元素
|
| | | function create_ali_font(cla, color, data) {
|
| | |
| | | str += '&battid='+battid;
|
| | | }
|
| | | if(monnum){
|
| | | str += '&monnum'+monnum;
|
| | | str += '&monnum='+monnum;
|
| | | }
|
| | | //var str = page+'?province='+province+'&city='+city+'&county='+county+'&home='+home;
|
| | | return str;
|
| | |
| | | }
|
| | | }
|
| | | return rs;
|
| | | }
|
| | |
|
| | | //给GPRS发送指定的命令,获取AT返回值
|
| | | function searchStationSignal(param,callback){
|
| | | $.ajax({ |
| | | type:"post", |
| | | url: "Bts_gprs_stateAction_action_update?t="+(new Date().getTime()), |
| | | async:true, |
| | | dataType:'json',
|
| | | data:'json='+JSON.stringify(param), |
| | | success: function(data){ |
| | | var model = eval('('+data.result+')');
|
| | | if(callback && typeof callback == 'function'){
|
| | | callback(model);
|
| | | }
|
| | | },error:function(e){
|
| | | var model = {
|
| | | code:0,
|
| | | data:e,
|
| | | msg:'通信失败'
|
| | | };
|
| | | if(callback && typeof callback == 'function'){
|
| | | callback(model);
|
| | | }
|
| | | } |
| | | });
|
| | | } |