var table;//定義table對(duì)象用于vue的操作
$(function () {
var columnDefsDate=[];
var columnsData=[ CONSTANT.DATA_TABLES.COLUMN.CHECKBOX,//引用于CONSTANT.js? 抽取到公共js
? ? ? ? ? ? ? ? ? { "data": "id","visible": false },
? ? ? ? ? ? ? ? ? { "data": "name" ,"render":function ( data, type, row,? meta ) {
? ? ? ? ? ? ? ? ? if(row.fileType=="file"){
? ? ? ? ? ? ? ? ? return ' <div style="text-overflow: ellipsis;" '+'title="'+data +'"><a href="javascript:;" class="flow" onclick=getChild('+row.id+',"'+row.code+'");><i class="fa fa-folder fa-2x" style="color:#f0ad4e"></i> '+data+'</a></div>';?
? ? ? ? ? ? ? ? ? }if(row.category=="picture"){
? ? ? ? ? ? ? ? ? return ' <div style="text-overflow: ellipsis;" '+'title="'+data +'"><a href="'+row.aliUrl+'" class="fancybox flow" ><i class="'+geticon(row.fileType)+' fa-2x"></i> '+data+'</a></div>';
? ? ? ? ? ? ? ? ? }else{
? ? ? ? ? ? ? ? ? return ' <div style="text-overflow: ellipsis;" '+'title="'+data +'"><a href="javascript:;" class="flow"><i class="'+geticon(row.fileType)+' fa-2x"></i> '+data+'</a></div>';
? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? }},
? ? ? ? ? ? ? ? ? { "data": "createTime"},
? ? ? ? ? ? ? ? ? { "data": "fileSize"},
? ? ? ? ? ? ? ? ? { "data": null ,"render":function ( data, type, row,meta ) {
? ? ? ? ? ? ? ? ? var isAdmin=false;
? ? ? ? ? ? ? ? ? var rootPub=false;
? ? ? ? ? ? ? ? ? var me=false;
? ? ? ? ? ? ? ? ? var flag=false;
? ? ? ? ? ? ? ? ? if(vm.rootEntity!=null){
? ? ? ? ? ? ? ? ? me=vm.rootEntity.userId==row.userId?true:false;//判斷是否是當(dāng)前用戶上傳的文件
? ? ? ? ? ? ? ? ? isAdmin=vm.superAdmin=vm.rootEntity.userId?true:false;//是超級(jí)管理員
? ? ? ? ? ? ? ? ? rootPub=row.userId==0?true:false;//公共文件根目錄不能刪除
? ? ? ? ? ? ? ? ? if(isAdmin||me){
? ? ? ? ? ? ? ? ? ? ? flag=true;
? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? if(rootPub){
? ? ? ? ? ? ? ? ? ? ? flag=false;
? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? var data="";
? ? ? ? ? ? ? ? ? if(vm.IsFileManager){
? ? ? ? ? ? ? ? ? if(row.fileType=="file"){
? ? ? ? ? ? ? ? ? ? ? ? ? if(flag){data='<a? onClick="update('+row.id+')"><i class="fa fa-pencil-square-o"></i> </a>';}{data ='';}?
? ? ? ? ? ? ? ? ? ? ? ? ? }else{
? ? ? ? ? ? ? ? ? ? ? ? ? flag=true;?
? ? ? ? ? ? ? ? ? ? ? ? ? data='<a? onClick="download(\'' + row.aliUrl + '\');"><i class="fa fa-download"> </i></a>';
? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? ? if(flag){data+='<a? onClick="del('+row.id+')"><i class="fa fa-times-circle"></i></a>';}{data +='';}
? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? return data;
? ? ? ? ? ? ? ? ? }},
? ? ? ? ? ? ? ? ? ];
? table=$('#example').DataTable( {
? "responsive": true,
? ? ? "serverSide" : true,?
? ? ? //l - 每行顯示的記錄數(shù)? f - 搜索框? t - 表格? i - 表格信息 p? - 分頁(yè)條 r? - 加載時(shí)的進(jìn)度條
? ? ? "dom":'<"top">t<"bottom">if<"clear">',//'<"top"iflp<"clear">>rt<"bottom"ilp<"clear">>'?
? ? ? "ordering" :false,// 禁止排序
? ? ? ? "ajax":{
? ? ? ? ? ? "url": '/manager/sys/sysFile/list',
? ? ? ? ? ? "type":"post",
? ? ? ? ? ? "cache": false,
? ? ? ? ? ? "data": function(d){
? ? ? ? ? ? d.name=vm.q.query;//查詢條件
? ? ? ? ? ? d.parentDirectory=vm.q.parentDirectory;//上級(jí)文件夾
? ? ? ? ? ? d.category=vm.q.category;//分類(lèi)
? ? ? ? ? ? d.code=vm.q.code;
? ? ? ? ? ? if(d.parentDirectory==0){//跟目錄操作時(shí)候刷新為跟目錄
? ? ? ? ? ? vm.q.code="";?
? ? ? ? ? ? }
? ? ? ? ? ? },
? ? ? ? ? ? "dataSrc":function (json) {//設(shè)置返回值綁定data
? ? ? ? ? ? json.recordsTotal = json.page.recordsTotal||0;//recordsTotal 設(shè)置為頂級(jí)
? ? ? ? ? ? json.recordsFiltered = json.page.recordsFiltered||0;//recordsFiltered 設(shè)置為頂級(jí)
? ? ? ? ? ? vm.q.category=null;
? ? ? ? ? ? vm.q.parentDirectory=null;
? ? ? ? ? ? vm.q.label=null;
? ? ? ? ? ? vm.rootEntity=json.page.sEcho.rootEntity;//當(dāng)前目錄信息
? ? ? ? ? ? /*vm.id=vm.rootEntity!=null?vm.rootEntity.id:null;*/
? ? ? ? ? ? vm.superAdmin=json.page.sEcho.superAdmin;//超級(jí)管理員
? ? ? ? ? ? vm.userId=json.page.sEcho.userId;//當(dāng)前用戶id
? ? ? ? ? ? vm.IsFileManager=json.page.sEcho.IsFileManager;//是否切換到文件表
? ? ? ? ? ? /*console.log(vm.IsFileManager);*/
? ? ? ? ? ? ? ? return json.page.list;
? ? ? ? ? ? },
? ? ? ? ? ? },
? ? ? ? "aLengthMenu":[5,10,30,50],
? ? ? ? "pageLength":10,
? ? ? ? "bStateSave": false,//狀態(tài)保存封寞,使用了翻頁(yè)或者改變了每頁(yè)顯示數(shù)據(jù)數(shù)量,會(huì)保存在cookie中亚亲,下回訪問(wèn)時(shí)會(huì)顯示上一次關(guān)閉頁(yè)面時(shí)的內(nèi)容追驴。
? ? ? ? "searching":false,//禁用搜索(搜索框)
? ? ? ? "paging": true,//禁用分頁(yè) 用于設(shè)置給服務(wù)器傳遞分頁(yè)信息
? ? ? ? "drawCallback" : function(settings) {?
? ? ? ? /**全選反選觸發(fā)事件*/
? ? ? ? $(settings.nTable).find(":checkbox[name='keeperUserGroup-checkable']").click(function(e){
? ? ? ? if($(this).prop('checked')){
? ? ? ? table.$('tr').addClass('warning selected');
? ? ? ? $(settings.nTable).find('tbody tr input:checkbox').prop('checked', true);
? ? ? ? }else{
? ? ? ? table.$('tr').removeClass('warning selected');
? ? ? ? $(settings.nTable).find('tbody tr input:checkbox').prop('checked', false);
? ? ? ? }
? ? ? ? vm.setType();
? ? ? ? });
? ? ? ? ? ? /**TR行事件*/
? ? ? ? ? ? $(settings.nTable).find("tbody tr").click(function(e) {
? ? ? ? ? ? //取消全選?
? ? ? ? ? ? $(settings.nTable).find(":checkbox[name='keeperUserGroup-checkable']").prop('checked', false);
? ? ? ? ? ? //獲取當(dāng)前tr和checkbox元素,當(dāng)前已選中
? ? ? ? ? ? var tr = $(e.target).parents('tr');
? ? ? ? ? ? var checkbox = $(e.target).parents('tr').find(":checkbox");
? ? ? ? ? ? var checkedLen = $(settings.nTable).find("input:checkbox:checked").length;
? ? ? ? ? ? //當(dāng)期觸發(fā)事件是checkbox
? ? ? ? ? ? if($(e.target).is('input:checkbox')){
? ? ? ? ? ? tr.toggleClass('warning selected');
? ? ? ? ? ? vm.setType();
? ? ? ? ? ? return true;
? ? ? ? ? ? }
? ? ? ? ? ? //清除非當(dāng)前行內(nèi)樣式及checkbox
? ? ? ? ? ? tr.siblings().removeClass('warning selected');
? ? ? ? ? ? tr.siblings().find(":checkbox").prop('checked', false);
? ? ? ? ? ? //當(dāng)前已選中多個(gè)只保留當(dāng)前
? ? ? ? ? ? ? if(checkedLen >= 2){
? ? ? ? ? ? checkbox.prop('checked', true);
? ? ? ? ? ? ? ? tr.addClass('warning selected');
? ? ? ? ? ? }else{
? ? ? ? ? ? //激活當(dāng)前行內(nèi)checkbox
? ? ? ? ? ? ? ? checkbox.prop('checked', !checkbox.prop('checked'));
? ? ? ? ? ? ? ? tr.toggleClass('warning selected');
? ? ? ? ? ? }
? ? ? ? ? ? //設(shè)置多選不可點(diǎn)擊(頂航操作按鈕)
? ? ? ? ? ? ? ? vm.setType();
? ? ? ? ? ? });
? ? ? ? },
? ? ? ? "columns": columnsData, //對(duì)接收到的json格式數(shù)據(jù)進(jìn)行處理焚志,data為json中對(duì)應(yīng)的key
? ? ? ? "columnDefs": columnDefsDate,
? ? ? ? "oLanguage" : {?
? ? ? ? ? ? sProcessing : "處理中...",?
? ? ? ? ? ? sLengthMenu : "每頁(yè) _MENU_ 項(xiàng)",?
? ? ? ? ? ? sZeroRecords : "沒(méi)有匹配結(jié)果",?
? ? ? ? ? ? sInfo : "顯示_START_ 至 _TOTAL_ 項(xiàng)嘱腥,共 _TOTAL_ 項(xiàng)",?
? ? ? ? ? ? sInfoEmpty : "顯示 0 至 0 項(xiàng),共 0 項(xiàng)",?
? ? ? ? ? ? sInfoFiltered : "(由 _MAX_ 項(xiàng)結(jié)果過(guò)濾)",?
? ? ? ? ? ? sInfoPostFix : "",?
? ? ? ? ? ? sSearch : "搜索:",?
? ? ? ? ? ? searchPlaceholder : "關(guān)鍵字搜索",?
? ? ? ? ? ? sUrl : "",?
? ? ? ? ? ? sEmptyTable : "表中數(shù)據(jù)為空",?
? ? ? ? ? ? sLoadingRecords : "載入中...",?
? ? ? ? ? ? sInfoThousands : ",",?
? ? ? ? ? ? oPaginate : {?
? ? ? ? ? ? ? ? sFirst : "首頁(yè)",?
? ? ? ? ? ? ? ? sPrevious : "上頁(yè)",?
? ? ? ? ? ? ? ? sNext : "下頁(yè)",?
? ? ? ? ? ? ? ? sLast : "末頁(yè)"?
? ? ? ? ? ? },?
? ? ? ? ? ? oAria : {?
? ? ? ? ? ? ? ? sSortAscending : ": 以升序排列此列",?
? ? ? ? ? ? ? ? sSortDescending : ": 以降序排列此列"?
? ? ? ? ? ? }?
? ? ? ? },
? ? } );
});