mirror of https://gitee.com/stylefeng/guns
177 lines
6.2 KiB
Java
177 lines
6.2 KiB
Java
layui.use(['table', 'form', 'func', 'HttpRequest', 'util', 'upload'], function () {
|
|
var $ = layui.$;
|
|
var table = layui.table;
|
|
var form = layui.form;
|
|
var func = layui.func;
|
|
var HttpRequest = layui.HttpRequest;
|
|
var util = layui.util;
|
|
var upload = layui.upload;
|
|
var layer = layui.layer;
|
|
|
|
|
|
// 职位表管理
|
|
var FileInfo = {
|
|
tableId: "fileTable"
|
|
};
|
|
|
|
// 初始化表格的列
|
|
FileInfo.initColumn = function () {
|
|
return [[
|
|
{type: 'checkbox'},
|
|
{field: 'fileId', hide: true, title: '主键id'},
|
|
{
|
|
title: '图片', templet: function (d) {
|
|
var url = d.imgUrl || Feng.ctxPath + '/sysFileInfo/previewByObjectName?fileBucket=' + d.fileBucket + '&fileObjectName=' + d.fileObjectName;
|
|
return '<img data-index="' + (d.LAY_TABLE_INDEX) + '" src="' + url + '" class="tb-img-circle" tb-img alt=""/>';
|
|
}, align: 'center', unresize: true
|
|
},
|
|
{
|
|
field: 'fileLocation', sort: true, title: '存储位置', templet: function (data) {
|
|
if (data.fileLocation === 1) {
|
|
return '阿里云';
|
|
} else if (data.fileLocation === 2) {
|
|
return '腾讯云';
|
|
} else if (data.fileLocation === 3) {
|
|
return 'minio';
|
|
} else if (data.fileLocation === 4) {
|
|
return '本地';
|
|
} else {
|
|
return '未知';
|
|
}
|
|
}
|
|
},
|
|
{field: 'fileOriginName', sort: true, title: '文件名称'},
|
|
{field: 'secretFlag', sort: true, title: '是否机密'},
|
|
{field: 'fileSuffix', sort: true, title: '文件后缀'},
|
|
{field: 'fileSizeInfo', sort: true, title: '文件大小'},
|
|
{
|
|
field: 'createTime', sort: true, title: '创建时间', templet: function (d) {
|
|
return util.toDateString(d.createTime);
|
|
}
|
|
},
|
|
{field: 'createUserName', sort: true, title: '创建人'},
|
|
{align: 'center', toolbar: '#tableBar', title: '操作', width: 230}
|
|
]];
|
|
};
|
|
/* 点击图片放大 */
|
|
$(document).off('click.tbImg').on('click.tbImg', '[tb-img]', function () {
|
|
var imgList = table.cache[FileInfo.tableId].map(function (d) {
|
|
return {
|
|
alt: d.nickName,
|
|
src: d.imgUrl || Feng.ctxPath + '/sysFileInfo/previewByObjectName?fileBucket=' + d.fileBucket + '&fileObjectName=' + d.fileObjectName
|
|
}
|
|
});
|
|
layer.photos({photos: {data: imgList, start: $(this).data('index')}, shade: .1, closeBtn: true});
|
|
});
|
|
|
|
//上传
|
|
var uploadInst = upload.render({
|
|
elem: '#btnUpload' //绑定元素
|
|
, url: Feng.ctxPath + '/sysFileInfo/upload?secretFlag=N' //上传接口
|
|
, done: function (res) {
|
|
//上传完毕回调
|
|
Feng.success("上传成功!");
|
|
|
|
FileInfo.search();
|
|
}
|
|
, error: function (err) {
|
|
//请求异常回调
|
|
Feng.error("上传失败!" + err.message);
|
|
}
|
|
});
|
|
|
|
|
|
// 点击查询按钮
|
|
FileInfo.search = function () {
|
|
var queryData = {};
|
|
queryData['fileOriginName'] = $("#fileOriginName").val();
|
|
queryData['fileLocation'] = $("#fileLocation").val();
|
|
table.reload(FileInfo.tableId, {
|
|
where: queryData,
|
|
page: {curr: 1}
|
|
});
|
|
};
|
|
|
|
|
|
// 点击详情
|
|
FileInfo.openDetails = function (data) {
|
|
func.open({
|
|
title: '详情',
|
|
content: Feng.ctxPath + '/view/fileInfoDetails?fileId=' + data.fileId,
|
|
tableId: FileInfo.tableId
|
|
});
|
|
};
|
|
|
|
|
|
// 点击删除
|
|
FileInfo.onDeleteFile = function (data) {
|
|
var operation = function () {
|
|
var httpRequest = new HttpRequest(Feng.ctxPath + "/sysFileInfo/deleteReally", 'post', function (data) {
|
|
Feng.success("删除成功!");
|
|
table.reload(FileInfo.tableId);
|
|
}, function (data) {
|
|
Feng.error("删除失败!" + data.message + "!");
|
|
});
|
|
httpRequest.set(data);
|
|
httpRequest.start(true);
|
|
};
|
|
Feng.confirm("是否删除?", operation);
|
|
};
|
|
|
|
|
|
// 下载
|
|
FileInfo.onFileDownload = function (data) {
|
|
if (data.secretFlag === 'Y') {
|
|
window.location.href = Feng.ctxPath + '/sysFileInfo/privateDownload?fileId=' + data.fileId;
|
|
} else {
|
|
window.location.href = Feng.ctxPath + '/sysFileInfo/publicDownload?fileId=' + data.fileId;
|
|
}
|
|
}
|
|
|
|
// 预览
|
|
FileInfo.openPreview = function (data) {
|
|
var imgUrl = Feng.ctxPath + '/sysFileInfo/previewByObjectName?fileBucket=' + data.fileBucket + '&fileObjectName=' + data.fileObjectName;
|
|
layer.photos({photos: {"data": [{"src": imgUrl}]}, shade: .1, closeBtn: true});
|
|
};
|
|
|
|
// 渲染表格
|
|
var tableResult = table.render({
|
|
elem: '#' + FileInfo.tableId,
|
|
url: Feng.ctxPath + '/sysFileInfo/fileInfoListPage',
|
|
page: true,
|
|
request: {pageName: 'pageNo', limitName: 'pageSize'}, //自定义分页参数
|
|
height: "full-158",
|
|
cellMinWidth: 100,
|
|
cols: FileInfo.initColumn(),
|
|
parseData: Feng.parseData
|
|
});
|
|
|
|
// 搜索按钮点击事件
|
|
$('#btnSearch').click(function () {
|
|
FileInfo.search();
|
|
});
|
|
|
|
|
|
// 工具条点击事件
|
|
table.on('tool(' + FileInfo.tableId + ')', function (obj) {
|
|
var data = obj.data;
|
|
var event = obj.event;
|
|
if (event === 'details') {
|
|
FileInfo.openDetails(data);
|
|
} else if (event === 'delete') {
|
|
FileInfo.onDeleteFile(data);
|
|
} else if (event === 'download') {
|
|
FileInfo.onFileDownload(data);
|
|
} else if (event === 'preview') {
|
|
FileInfo.openPreview(data);
|
|
}
|
|
});
|
|
|
|
// 修改状态
|
|
form.on('switch(status)', function (obj) {
|
|
var fileInfoId = obj.elem.value;
|
|
var checked = obj.elem.checked ? 1 : 2;
|
|
FileInfo.updateStatus(fileInfoId, checked);
|
|
});
|
|
});
|