|
@@ -1,4 +1,4 @@
|
|
|
-(function($) {
|
|
|
|
|
|
|
+(function ($) {
|
|
|
'use strict';
|
|
'use strict';
|
|
|
|
|
|
|
|
var con;
|
|
var con;
|
|
@@ -12,14 +12,14 @@
|
|
|
* @param object element DOM element or jquery element
|
|
* @param object element DOM element or jquery element
|
|
|
* @param object options Datatable options
|
|
* @param object options Datatable options
|
|
|
*/
|
|
*/
|
|
|
- var mytable = function(element, options, flag) {
|
|
|
|
|
|
|
+ var mytable = function (element, options, flag) {
|
|
|
// default options
|
|
// default options
|
|
|
var DEFAULTS = {
|
|
var DEFAULTS = {
|
|
|
- checkable:false,
|
|
|
|
|
- sortable:false,
|
|
|
|
|
- isShoWPager:true,
|
|
|
|
|
- pager:{
|
|
|
|
|
- page_size:10
|
|
|
|
|
|
|
+ checkable: false,
|
|
|
|
|
+ sortable: false,
|
|
|
|
|
+ isShoWPager: true,
|
|
|
|
|
+ pager: {
|
|
|
|
|
+ page_size: 10
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
this.options = $.extend({}, DEFAULTS, options);
|
|
this.options = $.extend({}, DEFAULTS, options);
|
|
@@ -29,206 +29,227 @@
|
|
|
this.con = $(element);
|
|
this.con = $(element);
|
|
|
this.obj = this;
|
|
this.obj = this;
|
|
|
$(element).html('');
|
|
$(element).html('');
|
|
|
- if(flag) return;
|
|
|
|
|
|
|
+ if (flag) return;
|
|
|
$(element).append('<div class=""><div id="my_table" data-checkable="true" data-sortable="true"></div></div>'
|
|
$(element).append('<div class=""><div id="my_table" data-checkable="true" data-sortable="true"></div></div>'
|
|
|
- + '<div id="kkpager" class="" style="text-align:center"></div>');
|
|
|
|
|
- this.getRemoteData(element,this.options,this);
|
|
|
|
|
- return this;
|
|
|
|
|
|
|
+ + '<div id="kkpager" class="" style="text-align:center"></div>');
|
|
|
|
|
+ this.getRemoteData(element, this.options, this);
|
|
|
|
|
+ return this;
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
// Get options
|
|
// Get options
|
|
|
mytable.prototype = {
|
|
mytable.prototype = {
|
|
|
- getRemoteData:function(element,options,obj){
|
|
|
|
|
- if(!element) element = this.element;
|
|
|
|
|
- if(!options) options = this.options;
|
|
|
|
|
|
|
+ getRemoteData: function (element, options, obj) {
|
|
|
|
|
+ if (!element) element = this.element;
|
|
|
|
|
+ if (!options) options = this.options;
|
|
|
var url = options.url;
|
|
var url = options.url;
|
|
|
var p_cur = 1;
|
|
var p_cur = 1;
|
|
|
var pager = options.pager;
|
|
var pager = options.pager;
|
|
|
this.getServerData(p_cur, options, element, obj);
|
|
this.getServerData(p_cur, options, element, obj);
|
|
|
},
|
|
},
|
|
|
- getRemoteData1:function(p_cur){
|
|
|
|
|
|
|
+ getRemoteData1: function (p_cur) {
|
|
|
this.getServerData(p_cur, this.options, this.element, this.obj);
|
|
this.getServerData(p_cur, this.options, this.element, this.obj);
|
|
|
},
|
|
},
|
|
|
- getServerData:function(p_cur, options, element, obj){
|
|
|
|
|
|
|
+ getServerData: function (p_cur, options, element, obj) {
|
|
|
var url = options.url;
|
|
var url = options.url;
|
|
|
var pager = options.pager;
|
|
var pager = options.pager;
|
|
|
var page_size = pager.page_size;
|
|
var page_size = pager.page_size;
|
|
|
var param = options.param;
|
|
var param = options.param;
|
|
|
// var obj = this.obj;
|
|
// var obj = this.obj;
|
|
|
- post_common_service(url+"/"+p_cur+"/"+page_size, param, function(data) {
|
|
|
|
|
|
|
+ post_common_service(url + "/" + p_cur + "/" + page_size, param, function (data) {
|
|
|
console.log(data);
|
|
console.log(data);
|
|
|
- if(!data){
|
|
|
|
|
- data = {list:[]};
|
|
|
|
|
|
|
+ if (!data) {
|
|
|
|
|
+ data = { list: [] };
|
|
|
// return;
|
|
// return;
|
|
|
}
|
|
}
|
|
|
- // 这边把请求过来的数据缓存到table选择器中
|
|
|
|
|
- $(element).data("data_cache",data.list);
|
|
|
|
|
- element.tt_data=data.list;
|
|
|
|
|
- options.tableData=data.list;
|
|
|
|
|
- obj.setTable(data.list,element, options,p_cur);
|
|
|
|
|
- if(obj.options.pager){
|
|
|
|
|
|
|
+ // 这边把请求过来的数据缓存到table选择器中
|
|
|
|
|
+ $(element).data("data_cache", data.list);
|
|
|
|
|
+ element.tt_data = data.list;
|
|
|
|
|
+ options.tableData = data.list;
|
|
|
|
|
+ obj.setTable(data.list, element, options, p_cur);
|
|
|
|
|
+ if (obj.options.pager) {
|
|
|
options.pager = {
|
|
options.pager = {
|
|
|
- page_size:10,
|
|
|
|
|
- p_cur : data.pageNum, //页号
|
|
|
|
|
- p_pages:data.pages, //总页码
|
|
|
|
|
- p_totalRecords:data.total
|
|
|
|
|
|
|
+ page_size: 10,
|
|
|
|
|
+ p_cur: data.pageNum, //页号
|
|
|
|
|
+ p_pages: data.pages, //总页码
|
|
|
|
|
+ p_totalRecords: data.total
|
|
|
// 'cb':'getRemoteData
|
|
// 'cb':'getRemoteData
|
|
|
- }
|
|
|
|
|
|
|
+ }
|
|
|
obj.setPager();
|
|
obj.setPager();
|
|
|
}
|
|
}
|
|
|
- if(data.list.length<=0){
|
|
|
|
|
- $("#kkpager").css("display","none");
|
|
|
|
|
- }else{
|
|
|
|
|
- $("#kkpager").css("display","block");
|
|
|
|
|
|
|
+ if (data.list.length <= 0) {
|
|
|
|
|
+ $("#kkpager").css("display", "none");
|
|
|
|
|
+ } else {
|
|
|
|
|
+ $("#kkpager").css("display", "block");
|
|
|
}
|
|
}
|
|
|
- }, function(error) {
|
|
|
|
|
|
|
+ }, function (error) {
|
|
|
alert(error);
|
|
alert(error);
|
|
|
});
|
|
});
|
|
|
},
|
|
},
|
|
|
- setTable:function(datas, element, options,p_cur) {
|
|
|
|
|
|
|
+ setTable: function (datas, element, options, p_cur) {
|
|
|
var cols = options.cols;
|
|
var cols = options.cols;
|
|
|
var newCols = []
|
|
var newCols = []
|
|
|
- for(var i in cols) {
|
|
|
|
|
- if(!cols[i].hide){
|
|
|
|
|
|
|
+ for (var i in cols) {
|
|
|
|
|
+ if (!cols[i].hide) {
|
|
|
newCols.push(cols[i]);
|
|
newCols.push(cols[i]);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
cols = newCols;
|
|
cols = newCols;
|
|
|
var tableData = datas;
|
|
var tableData = datas;
|
|
|
// var pager = options.pager;
|
|
// var pager = options.pager;
|
|
|
-
|
|
|
|
|
- clearTable(cols,options,element);
|
|
|
|
|
|
|
+
|
|
|
|
|
+ clearTable(cols, options, element);
|
|
|
var rowData = formatTableData(tableData, cols, p_cur);
|
|
var rowData = formatTableData(tableData, cols, p_cur);
|
|
|
|
|
|
|
|
// 使用data参数更新数据:
|
|
// 使用data参数更新数据:
|
|
|
- $('#my_table').datatable('load',{
|
|
|
|
|
- cols: cols,
|
|
|
|
|
- rows:rowData
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ $('#my_table').datatable('load', {
|
|
|
|
|
+ cols: cols,
|
|
|
|
|
+ rows: rowData
|
|
|
|
|
+ }
|
|
|
);
|
|
);
|
|
|
// $('#my_table').datatable({checkable: true});
|
|
// $('#my_table').datatable({checkable: true});
|
|
|
|
|
|
|
|
$('a.lightbox-toggle').lightbox();//图片轮播
|
|
$('a.lightbox-toggle').lightbox();//图片轮播
|
|
|
- function formatTableData(data,cols,p_cur){
|
|
|
|
|
|
|
+ function formatTableData(data, cols, p_cur) {
|
|
|
var rows = [];
|
|
var rows = [];
|
|
|
- for(var i=0;i<data.length;i++){
|
|
|
|
|
- data[i].num=(p_cur-1)*10+i+1;
|
|
|
|
|
- rows.push(genRow(data[i],cols));
|
|
|
|
|
|
|
+ for (var i = 0; i < data.length; i++) {
|
|
|
|
|
+ data[i].num = (p_cur - 1) * 10 + i + 1;
|
|
|
|
|
+ rows.push(genRow(data[i], cols));
|
|
|
}
|
|
}
|
|
|
return rows;
|
|
return rows;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- function genRow(obj,cols){
|
|
|
|
|
- var row = {checked: false, data:null};
|
|
|
|
|
- var dArr=[];
|
|
|
|
|
- for(var i=0;i<cols.length;i++){
|
|
|
|
|
- if(cols[i].func!=null){
|
|
|
|
|
|
|
+ function genRow(obj, cols) {
|
|
|
|
|
+ var row = { checked: false, data: null };
|
|
|
|
|
+ var dArr = [];
|
|
|
|
|
+ for (var i = 0; i < cols.length; i++) {
|
|
|
|
|
+ if (cols[i].func != null) {
|
|
|
dArr.push(cols[i].func(obj[cols[i].field]));
|
|
dArr.push(cols[i].func(obj[cols[i].field]));
|
|
|
- }else if(cols[i].type=="imagedd"){
|
|
|
|
|
|
|
+ } else if (cols[i].type == "imagedd") {
|
|
|
var pics = obj[cols[i].field];
|
|
var pics = obj[cols[i].field];
|
|
|
- var picStr='';
|
|
|
|
|
- if(pics){
|
|
|
|
|
|
|
+ var picStr = '';
|
|
|
|
|
+ if (pics) {
|
|
|
var picArr = pics.split(',');
|
|
var picArr = pics.split(',');
|
|
|
- for(var j in picArr){
|
|
|
|
|
- var pic = '<a class="lightbox-toggle" href="'+picArr[j]+'" style="width:60px;height:50px;">'
|
|
|
|
|
- + '<img class="pic-class img-thumbnail" style="width:60px;height:50px;" src="'+picArr[j]+'" alt="">'
|
|
|
|
|
- + '</a>';
|
|
|
|
|
- picStr+=pic;
|
|
|
|
|
|
|
+ for (var j in picArr) {
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ var ispic = true;
|
|
|
|
|
+
|
|
|
|
|
+ var src = picArr[j];
|
|
|
|
|
+ if (!src.startWith("http"))
|
|
|
|
|
+ src = base_image_server_url + src;
|
|
|
|
|
+
|
|
|
|
|
+ var videosrc = src;
|
|
|
|
|
+ if (src.indexOf('.avi') != -1) {
|
|
|
|
|
+ src = src.split('.avi')[0] + "_screen_0.png"
|
|
|
|
|
+ ispic = false;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (src.indexOf('.mov') != -1) {
|
|
|
|
|
+ src = src.split('.mov')[0] + "_screen_0.png"
|
|
|
|
|
+ ispic = false;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (src.indexOf('.mp4') != -1) {
|
|
|
|
|
+ src = src.split('.mp4')[0] + "_screen_0.png"
|
|
|
|
|
+ ispic = false;
|
|
|
|
|
+ }
|
|
|
|
|
+ var pic = (ispic ? '<a class="card lightbox-toggle" data-group="image-group-1" data-lightbox-group="example-3" href="' + src + '" style="width:60px;height:50px;">' : '<a class="card" onclick="video_paly(\'' + videosrc + '\')" href="javascript:void(0)" style="width:60px;height:50px;">')
|
|
|
|
|
+ + '<img class="pic-class img-thumbnail" style="width:60px;height:50px;" src="' + src + '" alt="">'+ (ispic ? '' : '<i class="icon icon-play-circle" style=" font-size: 30px;position: absolute;top: 10px;left: 15px;color: white;"></i>')
|
|
|
|
|
+ + '</a>';
|
|
|
|
|
+ picStr += pic;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
dArr.push(picStr);
|
|
dArr.push(picStr);
|
|
|
- }else if(cols[i].oper!=null) {
|
|
|
|
|
|
|
+ } else if (cols[i].oper != null) {
|
|
|
var oper = cols[i].oper;
|
|
var oper = cols[i].oper;
|
|
|
- var operStr="";
|
|
|
|
|
- for(var j=0;j<oper.length;j++){
|
|
|
|
|
- operStr+='<a href="javascript:void(0)" onclick="'+oper[j].func+'('+obj[cols[i].field]+','+obj[cols[i].field_other]+')"><i class="icon '+oper[j].icon_class+'"></i> '+oper[j].text+' </a> ';
|
|
|
|
|
|
|
+ var operStr = "";
|
|
|
|
|
+ for (var j = 0; j < oper.length; j++) {
|
|
|
|
|
+ operStr += '<a href="javascript:void(0)" onclick="' + oper[j].func + '(' + obj[cols[i].field] + ',' + obj[cols[i].field_other] + ')"><i class="icon ' + oper[j].icon_class + '"></i> ' + oper[j].text + ' </a> ';
|
|
|
}
|
|
}
|
|
|
dArr.push(operStr);
|
|
dArr.push(operStr);
|
|
|
- }else{
|
|
|
|
|
- if(cols[i].type == "date"){
|
|
|
|
|
- if(cols[i].custom){
|
|
|
|
|
- dArr.push(timeStamp2String(obj[cols[i].field],cols[i].date_type) + cols[i].custom);
|
|
|
|
|
- }else{
|
|
|
|
|
- dArr.push(timeStamp2String(obj[cols[i].field],cols[i].date_type));
|
|
|
|
|
|
|
+ } else {
|
|
|
|
|
+ if (cols[i].type == "date") {
|
|
|
|
|
+ if (cols[i].custom) {
|
|
|
|
|
+ dArr.push(timeStamp2String(obj[cols[i].field], cols[i].date_type) + cols[i].custom);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ dArr.push(timeStamp2String(obj[cols[i].field], cols[i].date_type));
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- }else if(obj[cols[i].field]){
|
|
|
|
|
- if(cols[i].custom){
|
|
|
|
|
|
|
+
|
|
|
|
|
+ } else if (obj[cols[i].field]) {
|
|
|
|
|
+ if (cols[i].custom) {
|
|
|
dArr.push(obj[cols[i].field] + cols[i].custom);
|
|
dArr.push(obj[cols[i].field] + cols[i].custom);
|
|
|
- }else{
|
|
|
|
|
|
|
+ } else {
|
|
|
dArr.push(obj[cols[i].field]);
|
|
dArr.push(obj[cols[i].field]);
|
|
|
}
|
|
}
|
|
|
- }else{
|
|
|
|
|
|
|
+ } else {
|
|
|
dArr.push('');
|
|
dArr.push('');
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
- row.data=dArr;
|
|
|
|
|
|
|
+ row.data = dArr;
|
|
|
return row;
|
|
return row;
|
|
|
}
|
|
}
|
|
|
- function clearTable(cols,options,element){
|
|
|
|
|
|
|
+ function clearTable(cols, options, element) {
|
|
|
var checkable = options.checkable;
|
|
var checkable = options.checkable;
|
|
|
var sortable = options.sortable
|
|
var sortable = options.sortable
|
|
|
- $('#my_table').datatable( {
|
|
|
|
|
- checkable:checkable,
|
|
|
|
|
- sortable:sortable,
|
|
|
|
|
|
|
+ $('#my_table').datatable({
|
|
|
|
|
+ checkable: checkable,
|
|
|
|
|
+ sortable: sortable,
|
|
|
data: {
|
|
data: {
|
|
|
cols: cols,
|
|
cols: cols,
|
|
|
- rows:[]
|
|
|
|
|
|
|
+ rows: []
|
|
|
},
|
|
},
|
|
|
- checksChanged:function(event) {
|
|
|
|
|
|
|
+ checksChanged: function (event) {
|
|
|
var checkArr = event.checks.checks;
|
|
var checkArr = event.checks.checks;
|
|
|
- var checkedIds=[];
|
|
|
|
|
- for(var i=0;i<checkArr.length;i++) {
|
|
|
|
|
- element.tt_data[i].checked=true;
|
|
|
|
|
|
|
+ var checkedIds = [];
|
|
|
|
|
+ for (var i = 0; i < checkArr.length; i++) {
|
|
|
|
|
+ element.tt_data[i].checked = true;
|
|
|
checkedIds.push(element.tt_data[i].id);
|
|
checkedIds.push(element.tt_data[i].id);
|
|
|
}
|
|
}
|
|
|
element.tt_checkedIds = checkedIds;
|
|
element.tt_checkedIds = checkedIds;
|
|
|
- $(element).data("select_cache",checkedIds);
|
|
|
|
|
|
|
+ $(element).data("select_cache", checkedIds);
|
|
|
console.log(element.tt_checkedIds);
|
|
console.log(element.tt_checkedIds);
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
- setPager:function(data) {
|
|
|
|
|
|
|
+ setPager: function (data) {
|
|
|
var pager = this.options.pager;
|
|
var pager = this.options.pager;
|
|
|
var p_cur = pager.p_cur;
|
|
var p_cur = pager.p_cur;
|
|
|
var p_pages = pager.p_pages;
|
|
var p_pages = pager.p_pages;
|
|
|
var p_totalRecords = pager.p_totalRecords;
|
|
var p_totalRecords = pager.p_totalRecords;
|
|
|
- var obj=this;
|
|
|
|
|
|
|
+ var obj = this;
|
|
|
kkpager.generPageHtml({
|
|
kkpager.generPageHtml({
|
|
|
- pno : p_cur,
|
|
|
|
|
- total : p_pages,
|
|
|
|
|
- totalRecords : p_totalRecords,
|
|
|
|
|
- isShowTotalRecords:true,
|
|
|
|
|
- mode : 'click',
|
|
|
|
|
- click : function(n){
|
|
|
|
|
|
|
+ pno: p_cur,
|
|
|
|
|
+ total: p_pages,
|
|
|
|
|
+ totalRecords: p_totalRecords,
|
|
|
|
|
+ isShowTotalRecords: true,
|
|
|
|
|
+ mode: 'click',
|
|
|
|
|
+ click: function (n) {
|
|
|
obj.options.pager.p_cur = n;
|
|
obj.options.pager.p_cur = n;
|
|
|
this.selectPage(n);
|
|
this.selectPage(n);
|
|
|
obj.getRemoteData1(n);//调用获取数据方法
|
|
obj.getRemoteData1(n);//调用获取数据方法
|
|
|
return false;
|
|
return false;
|
|
|
}
|
|
}
|
|
|
- },true);
|
|
|
|
|
|
|
+ }, true);
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
- $.fn.mytable = function(options) {
|
|
|
|
|
|
|
+ $.fn.mytable = function (options) {
|
|
|
if (typeof options == 'string') {
|
|
if (typeof options == 'string') {
|
|
|
switch (options) {
|
|
switch (options) {
|
|
|
- case 'getTableData':
|
|
|
|
|
|
|
+ case 'getTableData':
|
|
|
return this[0].tt_data;
|
|
return this[0].tt_data;
|
|
|
- case 'getTableCheckedIds':
|
|
|
|
|
|
|
+ case 'getTableCheckedIds':
|
|
|
// return this[0].tt_checkedIds;
|
|
// return this[0].tt_checkedIds;
|
|
|
return $(this).data("select_cache");
|
|
return $(this).data("select_cache");
|
|
|
- case 'empty':
|
|
|
|
|
- return new mytable(this,options,true);
|
|
|
|
|
|
|
+ case 'empty':
|
|
|
|
|
+ return new mytable(this, options, true);
|
|
|
}
|
|
}
|
|
|
- } else{
|
|
|
|
|
- return this.each(function() {
|
|
|
|
|
- // var $this = $(this);
|
|
|
|
|
- new mytable(this,options);
|
|
|
|
|
- // $(this).attr('tableData',mytable.tableData);
|
|
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return this.each(function () {
|
|
|
|
|
+ // var $this = $(this);
|
|
|
|
|
+ new mytable(this, options);
|
|
|
|
|
+ // $(this).attr('tableData',mytable.tableData);
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|