// 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返回所有的option
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