// 生成特定的select列表
|
function createLayuiSelect(ele, list) {
|
// 清空内容
|
ele.text('');
|
// 遍历list结果集生成下拉
|
for(var i=0; i<list.length; i++) {
|
var _list = list[i];
|
var option = $('<option></option>'); // option元素
|
// 设置option的文本/属性值/data值
|
option.text(_list.txt);
|
option.val(_list.val);
|
option.attr('selected', _list.selected);
|
option.data('data', _list.data);
|
Object.keys(_list.attr).forEach(function(key){
|
var val = _list.attr[key];
|
option.attr(key, val);
|
});
|
ele.append(option);
|
}
|
}
|
|
// 构造生成select列表的对象数组
|
function getLayuiSelect(txt, val, attr, data, isSelected) {
|
var obj = {
|
val: '',
|
txt: '',
|
attr: {},
|
data: {}
|
};
|
|
// 设置内容的值
|
obj.val = val; // option的value值
|
obj.txt = txt; // option的文本值
|
obj.attr = attr; // option的自定义的属性
|
obj.data = data; // option的data值
|
obj.selected = isSelected?true:false;
|
|
// 返回构造的对象
|
return obj;
|
}
|
|
//格式化时间
|
Date.prototype.format =function(format)
|
{
|
var o = {
|
"M+" : this.getMonth()+1, //month
|
"d+" : this.getDate(), //day
|
"h+" : this.getHours(), //hour
|
"m+" : this.getMinutes(), //minute
|
"s+" : this.getSeconds(), //second
|
"q+" : Math.floor((this.getMonth()+3)/3), //quarter
|
"S" : this.getMilliseconds() //millisecond
|
};
|
if(/(y+)/.test(format)) format=format.replace(RegExp.$1,
|
(this.getFullYear()+"").substr(4- RegExp.$1.length));
|
for(var k in o)if(new RegExp("("+ k +")").test(format))
|
format = format.replace(RegExp.$1,
|
RegExp.$1.length==1? o[k] :
|
("00"+ o[k]).substr((""+ o[k]).length));
|
return format;
|
};
|
|
// 页面中分页信息对象
|
var TblPage = function() {
|
this.size = 10;
|
this.curr = 1;
|
this.all = 0;
|
this.num = 1;
|
};
|
|
// 初始化分页信息对象
|
TblPage.prototype.init = function() {
|
this.size = 10;
|
this.curr = 1;
|
this.all = 0;
|
this._setNum();
|
};
|
|
// 设置分页信息对象
|
TblPage.prototype.set = function(curr, all, size) {
|
this.size = size;
|
this.curr = curr;
|
this.all = all;
|
this._setNum();
|
};
|
TblPage.prototype.getPage = function() {
|
var temp = {
|
pageSize: this.size
|
,pageCurr: this.curr
|
,pageAll: this.all
|
};
|
|
return temp;
|
};
|
// 设置分页信息的当前页
|
TblPage.prototype.setCurr = function(curr) {
|
this.curr = curr;
|
};
|
|
//设置分页信息的每页显示的条数
|
TblPage.prototype.setSize = function(size) {
|
this.size = size;
|
this._setNum();
|
};
|
|
//设置分页信息的总条数
|
TblPage.prototype.setAll = function(all) {
|
this.all = all;
|
this._setNum();
|
};
|
|
// 设置共有多少页
|
TblPage.prototype._setNum = function() {
|
this.num = Math.ceil(this.all/this.size);
|
}
|
|
// 定义页面中分页元素的对象
|
var PagePage = function(opts) {
|
this.search = ''; // 查询
|
this.home = ''; // 首页
|
this.pre = ''; // 上一页
|
this.next = ''; // 下一页
|
this.last = ''; // 尾页
|
this.size = ''; // 每页显示条数
|
this.num = ''; // 跳转的页数
|
this.go = ''; // 页面跳转
|
this.current = ''; // 当前页/总页数
|
this.total = ''; // 数据总量
|
this.page = opts.page; // 分页信息
|
this._initDom(opts);
|
this.callback = "";
|
}
|
|
// 设置PagePage的方法
|
PagePage.prototype = {
|
_initDom: function(opts) {
|
this.search = this._getEle(opts.search);
|
this.home = this._getEle(opts.home);
|
this.pre = this._getEle(opts.pre);
|
this.next = this._getEle(opts.next);
|
this.last = this._getEle(opts.last);
|
this.num = this._getEle(opts.num);
|
this.go = this._getEle(opts.go);
|
this.current = this._getEle(opts.current);
|
this.total = this._getEle(opts.total);
|
this.size = this._getEle(opts.size);
|
//console.log(this.search);
|
this.addEvent();
|
}
|
,_getEle: function(ele) {
|
//console.log(ele);
|
var len = ele?ele.length:0;
|
//console.log(len);
|
var rsEle = len?ele:$('#PagePageTmp');
|
return rsEle;
|
}
|
,addEvent: function() {
|
var _this = this;
|
|
// 点击查询
|
this.search.off('click.PagePage.event').on('click.PagePage.event', function() {
|
if(_this._checkCallback()) {
|
_this.callback();
|
}
|
});
|
|
// 点击首页
|
this.home.off('click.PagePage.event').on('click.PagePage.event', function() {
|
var Page = _this.page;
|
if(Page.curr != 1){
|
Page.setCurr(1);
|
_this.callback();
|
}
|
});
|
|
// 点击上一页
|
this.pre.off('click.PagePage.event').on('click.PagePage.event', function() {
|
var Page = _this.page;
|
if(Page.curr > 1){
|
Page.setCurr(Page.curr-1);
|
_this.callback();
|
}
|
});
|
|
// 点击下一页
|
this.next.off('click.PagePage.event').on('click.PagePage.event', function() {
|
var Page = _this.page;
|
if(Page.num > Page.curr){
|
Page.setCurr(Page.curr+1);
|
_this.callback();
|
}
|
});
|
|
// 设置每页显示条数
|
this.size.off('blur.PagePage.event').on('blur.PagePage.event', function() {
|
var Page = _this.page;
|
var value= $(this).val();
|
//当输入的数大于0时
|
if(value>0){
|
if(value != Page.size){
|
Page.setSize(parseInt(value));
|
Page.setCurr(1);
|
}
|
}else{
|
//当输入非法数字时
|
alert("请输入合法的数字"); /* 请输入合法的整数 */
|
$(this).val(Page.size);
|
}
|
});
|
|
// 尾页
|
this.last.off('click.PagePage.event').on('click.PagePage.event', function() {
|
var Page = _this.page;
|
if(Page.curr < Page.num){
|
Page.setCurr(Page.num);
|
_this.callback();
|
}
|
});
|
|
// 跳转
|
this.go.off('click.PagePage.event').on('click.PagePage.event', function() {
|
var Page = _this.page;
|
var tarpage= _this.num.val();
|
if(tarpage > Page.num){
|
Page.setCurr(Page.num);
|
}else if(tarpage > 0 && tarpage!= Page.curr){
|
Page.setCurr(parseInt(tarpage));
|
}
|
_this.callback();
|
});
|
|
}
|
,setCallback:function(callback) {
|
this.callback = callback;
|
}
|
,setPage: function(page) {
|
this.page = page;
|
}
|
,init:function(page, callback) {
|
this.setPage(page);
|
this.setCallback(callback);
|
this.setVal();
|
}
|
,setVal: function() {
|
this.current.text(this.page.curr+'/'+this.page.num);
|
this.total.text(this.page.all);
|
this.size.val(this.page.size);
|
}
|
,_checkCallback: function() {
|
return typeof this.callback === 'function';
|
}
|
};
|
|