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 ''; }, 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); }); });