var table;//定义table对象用于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;//判断是否是当前用户上传的文件
isAdmin=vm.superAdmin=vm.rootEntity.userId?true:false;//是超级管理员
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 - 每行显示的记录数 f - 搜索框 t - 表格 i - 表格信息 p - 分页条 r - 加载时的进度条
"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;//上级文件夹
d.category=vm.q.category;//分类
d.code=vm.q.code;
if(d.parentDirectory==0){//跟目录操作时候刷新为跟目录
vm.q.code="";
}
},
"dataSrc":function (json) {//设置返回值绑定data
json.recordsTotal = json.page.recordsTotal||0;//recordsTotal 设置为顶级
json.recordsFiltered = json.page.recordsFiltered||0;//recordsFiltered 设置为顶级
vm.q.category=null;
vm.q.parentDirectory=null;
vm.q.label=null;
vm.rootEntity=json.page.sEcho.rootEntity;//当前目录信息
/*vm.id=vm.rootEntity!=null?vm.rootEntity.id:null;*/
vm.superAdmin=json.page.sEcho.superAdmin;//超级管理员
vm.userId=json.page.sEcho.userId;//当前用户id
vm.IsFileManager=json.page.sEcho.IsFileManager;//是否切换到文件表
/*console.log(vm.IsFileManager);*/
return json.page.list;
},
},
"aLengthMenu":[5,10,30,50],
"pageLength":10,
"bStateSave": false,//状态保存,使用了翻页或者改变了每页显示数据数量,会保存在cookie中,下回访问时会显示上一次关闭页面时的内容。
"searching":false,//禁用搜索(搜索框)
"paging": true,//禁用分页 用于设置给服务器传递分页信息
"drawCallback" : function(settings) {
/**全选反选触发事件*/
$(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);
//获取当前tr和checkbox元素,当前已选中
var tr = $(e.target).parents('tr');
var checkbox = $(e.target).parents('tr').find(":checkbox");
var checkedLen = $(settings.nTable).find("input:checkbox:checked").length;
//当期触发事件是checkbox
if($(e.target).is('input:checkbox')){
tr.toggleClass('warning selected');
vm.setType();
return true;
}
//清除非当前行内样式及checkbox
tr.siblings().removeClass('warning selected');
tr.siblings().find(":checkbox").prop('checked', false);
//当前已选中多个只保留当前
if(checkedLen >= 2){
checkbox.prop('checked', true);
tr.addClass('warning selected');
}else{
//激活当前行内checkbox
checkbox.prop('checked', !checkbox.prop('checked'));
tr.toggleClass('warning selected');
}
//设置多选不可点击(顶航操作按钮)
vm.setType();
});
},
"columns": columnsData, //对接收到的json格式数据进行处理,data为json中对应的key
"columnDefs": columnDefsDate,
"oLanguage" : {
sProcessing : "处理中...",
sLengthMenu : "每页 _MENU_ 项",
sZeroRecords : "没有匹配结果",
sInfo : "显示_START_ 至 _TOTAL_ 项,共 _TOTAL_ 项",
sInfoEmpty : "显示 0 至 0 项,共 0 项",
sInfoFiltered : "(由 _MAX_ 项结果过滤)",
sInfoPostFix : "",
sSearch : "搜索:",
searchPlaceholder : "关键字搜索",
sUrl : "",
sEmptyTable : "表中数据为空",
sLoadingRecords : "载入中...",
sInfoThousands : ",",
oPaginate : {
sFirst : "首页",
sPrevious : "上页",
sNext : "下页",
sLast : "末页"
},
oAria : {
sSortAscending : ": 以升序排列此列",
sSortDescending : ": 以降序排列此列"
}
},
} );
});
补发文件管理系统优化js
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 前言 File System 模块,字面翻译就是文件系统,用于处理文件和文件流的,比如读写文件、创建文件或文件夹、...
- 解决vue包很大问题,首次加载很慢问题。常见的解决方法有1.cdn 引入 在index页,script标签引入各...