jQuery的 dataTable

     this.dataTable=this.qid("viewtable").dataTable({
                "dom": '<"top"i<"fa fa-refresh fa-1 listtablerefersh"><"btn btn-subtle btn-columns">>rt<"bottom"i<"fa fa-refresh fa-1 listtablerefersh">p><"clear">',
                "pageLength": parseInt($.cookie("pageDisplayNum") || 10),
                "pagingType": "full_numbers",
                "autoWidth": true,
                "processing": false,
                "serverSide": true,
                "order": order,
                "language":{
                	"processing":"数据加载中...",
                	"info": " _START_ - _END_ of _TOTAL_ ",
                    "zeroRecords":"无搜索结果",
                	"infoFiltered":"",
                	"paginate": {
                        "first": "",
                        "previous": "<span class='fa fa-caret-left fa-lg'></span>",
                        "next": "<span class='fa fa-caret-right fa-lg'></span>",
                        "last": ""
                    }
                },
                "columns": tablecols,
                "ajax": this.proxy(function (data, callback, settings) {
                	var query = $.map(this._userFilter.staticfilters.concat(this._userFilter.dynamicfilters),function(filter){
    					if(filter.propvalue && filter.propvalue.length>0){
	                		return {id:filter.key,value:filter.propvalue};
    					}
                	}),
	                	sort = data.order.length > 0 ? data.columns[data.order[0].column].data + " " + data.order[0].dir : "",
	                	search = [],
	                	s = this.qid("search-query").val();
                	data.order.length > 0 && $.extend(this._userFilter.orders, { "key":data.columns[data.order[0].column].data, "name":data.columns[data.order[0].column].name, "order":data.order[0].dir },true);
                	search = s ? [{id:"summary",value:[{id:"*"+s+"*",value:s}]}] : []; //,{id:"description",value:[{id:s,value:s}]}
                	
                	
                	var array_s=sort.split(" ");
                	if(array_s.length>1 && array_s[0]=="limitDate"){
                		 array_s[0]="orderNo";
                	}
                	
                	
        		//	{"method":"stdcomponent.getbysearch", "dataobject":"item",	"rule": JSON.stringify([[{"key":"type","value":null}]])},
                	var querya =[];
                	var queryb =[];
                	var queryc =[];
                	var rulecache=[];
<span style="white-space:pre">			</span>//[[{"key":"type","value":"SYS"},{"key":"type","value":"TMP"}],
<span style="white-space:pre">			</span>//<span style="white-space:pre">	</span>[{"key":"profession","value":4128},{"key":"profession","value":4132}],
                       //      [{"key":"startDate","value":field.startDate},{"key":"endDate","value":field.startDate}]]                	


                	var query = $.map(this._userFilter.staticfilters.concat(this._userFilter.dynamicfilters),function(filter){
		    					if(filter.propvalue && filter.propvalue.length>0){
		    						   querya.push({"key":filter.key,"propvalue":filter.propvalue});
		    							return querya;
		    					}});
                	$.each(querya,this.proxy(function(idx,item){
                		var queryd =[];
	                	if(item.propvalue){//item={key: "type",propvalue: Array[3]}
	                		$.each(item.propvalue,this.proxy(function(idx,field){
	                			if(item.key=="limitDate"&&field.type=="dateRange"){
	                				queryb.push({"key":"startDate","value":field.startDate});
	                				queryb.push({"key":"endDate","value":field.endDate});
	                				rulecache.push(queryb);
	                			}else if(item.key=="version"||item.key=="profession"){
	                				queryd.push({"key":item.key+".name","op":"like","value":field.name});
	                			}
	                			else
	                				queryd.push({"key":item.key,"op":"like","value":field.id});
	                			
	                    	})); 
	                	}
	                	queryd.length>0?(rulecache.push(queryd)):"";
                	}));
                	 delete data.order;
                     delete data.draw;
                     delete data.search; 
                	 delete data.columns;
                	 subarray=[];
                	 
                	
                	 $.each(this.subdata,this.proxy(function(idx,item){
                		 $.each(item.propvalue,this.proxy(function(idy,atom){
                			 subarray.push(parseInt(atom.id));
                    	 }))
                	 }))
                	 if(subarray.length>0){
                		 rulecache.push([{"key":"unit.id","op":"in","value":subarray}]);
                	 }
                	
                	//rulecache.push([{"key":"profession","value":'is not null'}]);


                	//rulecache.push(queryc);
                	//[[{"key":"type","value":"TMP"},{"key":"version","value":8268530},{"key":"profession","value":4128}]]
                	//JSON.stringify([[{"key":"type","value":arryid.type}],[{"key":"version","value":arryid.version}],[{"key":"profession","value":arryid.profession}]])
                	//var rulekv=JSON.stringify([[{key:"type","value":"SYS"},{key:"type","value":"TME"},{key:"type","value":"TME"}]])
                	this._ajax($.u.config.constant.smsqueryserver,$.extend({},data,{
                		"method": "stdcomponent.getbysearch",
                		"rule":JSON.stringify(rulecache) ,//JSON.stringify([[{key:"unit",op:in,"value":[9,8]}]]),
                		"dataobject": "item",
                		//"sort": sort,
                		"columns":JSON.stringify([{"data":array_s[0]?array_s[0]:"orderNo"}]),
                   	 	"order":JSON.stringify([{"column":0,"dir":array_s[1]?array_s[1]:"asc"}])
                 	}),this.qid("viewtablearea").parent(),{size:2,backgroundColor:"#fff"},this.proxy(function(response){
                 		if(response.data){
                        	this._userFilter.uql=response.data.uql;	                    		
                        	this.qid("search-query-advanced").val(response.data.uql);
                        	this.qid("viewtablearea").removeClass("hidden");
                        	this.qid("noresult").addClass("hidden");
                        	callback({//?callback?
                        		"draw":data.draw,
                        		"recordsFiltered":response.data.iTotalRecords,
                        		"data":response.data.aaData
                        	});
                    	}else{
                        	this.qid("viewtablearea").addClass("hidden");
                        	this.qid("noresult").removeClass("hidden");
                    	}
                	}));
                }),
                //用于在每次draw发生时,修改table的header
                "headerCallback": this.proxy(function( thead, data, start, end, display ) {
                	var $thead = $(thead);
                	$.each($.extend(true,[],this._userFilter.columns),this.proxy(function(idx,column){
                		$thead.children("th").eq(idx).data("data-data",column);
                	}));  
                	this._showSaveButton(this._filterData && (JSON.stringify(this._userFilter.orders) != JSON.stringify(this._filterData.orders) || JSON.stringify(this._filterData.dynamicfilters || []) != JSON.stringify(this._userFilter.dynamicfilters) ) );
                	$(".results th").css("min-width","100px");
                })
            });

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值