// myTbl插件 // 定义容器中表格 ;(function($, window, document, undefined) { /** * @description 表格插件的定义 * @param jquery ele jquery选择器选中元素 * @param object options 插件的配置项 */ var MyTbl = function(ele, options) { this.ele = ele.eq(0); this.opts = options; this.init(); }; MyTbl.prototype = { init: function() { this.regData(); // 验证数据格式 this.ele.find('.no-data').remove(); // 清除无数据图标 this.ele.addClass('tbl-container'); this.ele.find('.tbl-body').fullContainer(); }, create: function() { var opts = this.formatOpts(); // 根据数据生成表格元素 var table = $('
'); var thead = $(''); var tr = $(''); for(var i=0; i'+opts.thead[i]+''); tr.append(td); } thead.append(tr); table.append(thead); var tbody = $(''); for(var i=0; i'); for(var k=0; k'+opts.tbody[i][k]+''); tr.append(td); } tr.data().attr = opts.attr[i]; // 是否全部选中 if(opts.isAllActive) { tr.addClass('active'); } tbody.append(tr); } table.append(tbody); this.ele.find('.tbl-body').text(""); this.ele.find('.tbl-body').append(table); this.ele.find('.tbl-header').html(this.ele.find('.tbl-body').html()); if(this.opts.tbody.length == 0 && this.opts.noData) { this.ele.append(this.noData()); } this.resize(); var scrollLeft = this.ele.find('.tbl-body').scrollLeft(); this.ele.find('.tbl-body').siblings('.tbl-header').find('table').css('left', -scrollLeft+'px'); this.ele.find('.tbl-body').scroll(function() { var scrollLeft = $(this).scrollLeft(); $(this).siblings('.tbl-header').find('table').css('left', -scrollLeft+'px'); }); }, // 添加一行数据 add: function() { var isOne = true; // 判断为二维数组 if(typeof this.opts.add[0] == 'object') { isOne = false; } // 根据isOne的值执行 if(isOne) { this.opts.tbody.push(this.opts.add); this.opts.add = []; }else { for(var i=0; i'); return noData; }, resize: function() { var tblWidth = this.ele.find('.tbl-body table').width(); this.ele.find('.tbl-header').children('table').width(tblWidth); var tbl = this; }, regData: function() { // 格式化表格的状态数组 var opts = this.opts; var thead = opts.thead; var status = opts.status; // 遍历thead数据对status的数据进行校验和补齐 for(var i=0;iptn.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: ''+ptn.msg+'' }); 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($('
')); } ele = $('#exp_container'); console.log(ele.length); // 更新内容 ele.text(''); var form = $('
'); var thead = $(''); var tbody = $(''); var normal = $(''); var dataBreak = $(''); var pageNames = $(''); var pageBreak = $(''); 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'+lists[i]+''; } return options; } // 将getOptions绑定到HomeQues下 gl.HomeQues.getOptions = getOptions; // 获取故障类型layuiBtn function getLayuiBtn(num) { var txt = lists[num]; return ''+txt+''; } // 将getLayuiBtn绑定到HomeQues下 gl.HomeQues.getLayuiBtn = getLayuiBtn; })(jQuery, window, document, GLOBAL); // 生成阿里图标的元素 function create_ali_font(cla, color, data) { var i = $(''); i.addClass(cla); i.css({ 'color': color }); Object.keys(data).forEach(function(key) { var attr = 'data-'+key i.attr(attr, data[key]); }); // 获取字符串 var outerHTML = i[0].outerHTML; return outerHTML; } //生成阿里图标的元素 function create_fa_font(cla, color, data) { var i = $(''); i.addClass(cla); i.css({ 'color': color }); Object.keys(data).forEach(function(key) { var attr = 'data-'+key i.attr(attr, data[key]); }); // 获取字符串 var outerHTML = i[0].outerHTML; return outerHTML; } // 生成跳转的链接 function skipUrl(page, province, city, county, home,battid,monnum) { var str = page+'?'; if(province){ str += '&province='+province; } if(city){ str +='&city='+city; } if(county){ str += '&county='+county; } if(home){ str += '&home='+home; } if(battid){ str += '&battid='+battid; } if(monnum){ str += '&monnum='+monnum; } //var str = page+'?province='+province+'&city='+city+'&county='+county+'&home='+home; return str; } // 检测用户是否有权限 function checkUserPermit(permits, name) { var rs = false; // 遍历permits for(var i=0; i