【file】文件管理上传、下载、搜索、删除

pull/65/head
小庆 2021-01-11 20:20:12 +08:00
parent b6b6953c8a
commit e21e67faa4
2 changed files with 85 additions and 67 deletions

View File

@ -1,10 +1,11 @@
layui.use(['table', 'form', 'func', 'HttpRequest', 'util'], function () {
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 FileInfo = {
@ -16,8 +17,9 @@ layui.use(['table', 'form', 'func', 'HttpRequest', 'util'], function () {
return [[
{type: 'checkbox'},
{field: 'fileId', hide: true, title: '主键id'},
{field: 'fileLocation', sort: true, title: '位置'},
{field: 'fileLocation', sort: true, title: '存储位置'},
{field: 'fileOriginName', sort: true, title: '文件名称'},
{field: 'secretFlag', sort: true, title: '是否机密'},
{field: 'fileSuffix', sort: true, title: '文件后缀'},
{field: 'fileSizeInfo', sort: true, title: '文件大小'},
{
@ -26,14 +28,33 @@ layui.use(['table', 'form', 'func', 'HttpRequest', 'util'], function () {
}
},
{field: 'createUserName', sort: true, title: '创建人'},
{align: 'center', toolbar: '#tableBar', title: '操作'}
{align: 'center', toolbar: '#tableBar', title: '操作', width: 230}
]];
};
//上传
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['fileInfoName'] = $("#fileInfoName").val();
queryData['fileOriginName'] = $("#fileOriginName").val();
//queryData['positionCode'] = $("#positionCode").val();
table.reload(FileInfo.tableId, {
where: queryData,
@ -41,15 +62,7 @@ layui.use(['table', 'form', 'func', 'HttpRequest', 'util'], function () {
});
};
// 弹出添加对话框
FileInfo.openAddDlg = function () {
func.open({
height: 800,
title: '添加职位',
content: Feng.ctxPath + '/fileInfo/addView',
tableId: FileInfo.tableId
});
};
// 点击编辑
FileInfo.openEditDlg = function (data) {
@ -61,20 +74,11 @@ layui.use(['table', 'form', 'func', 'HttpRequest', 'util'], function () {
});
};
// 导出excel按钮
FileInfo.exportExcel = function () {
var checkRows = table.checkStatus(FileInfo.tableId);
if (checkRows.data.length === 0) {
Feng.error("请选择要导出的数据");
} else {
table.exportFile(tableResult.config.id, checkRows.data, 'xls');
}
};
// 点击删除
FileInfo.delete = function (data) {
FileInfo.onDeleteFile = function (data) {
var operation = function () {
var httpRequest = new HttpRequest(Feng.ctxPath + "/hrPosition/delete", 'post', function (data) {
var httpRequest = new HttpRequest(Feng.ctxPath + "/sysFileInfo/deleteReally", 'post', function (data) {
Feng.success("删除成功!");
table.reload(FileInfo.tableId);
}, function (data) {
@ -87,6 +91,16 @@ layui.use(['table', 'form', 'func', 'HttpRequest', 'util'], function () {
};
// 下载
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;
}
}
// 渲染表格
var tableResult = table.render({
elem: '#' + FileInfo.tableId,
@ -104,15 +118,6 @@ layui.use(['table', 'form', 'func', 'HttpRequest', 'util'], function () {
FileInfo.search();
});
// 添加按钮点击事件
$('#btnAdd').click(function () {
FileInfo.openAddDlg();
});
// 导出excel
$('#btnExp').click(function () {
FileInfo.exportExcel();
});
// 工具条点击事件
table.on('tool(' + FileInfo.tableId + ')', function (obj) {
@ -121,9 +126,10 @@ layui.use(['table', 'form', 'func', 'HttpRequest', 'util'], function () {
if (event === 'edit') {
FileInfo.openEditDlg(data);
} else if (event === 'delete') {
FileInfo.delete(data);
FileInfo.onDeleteFile(data);
}else if (event === 'download'){
FileInfo.onFileDownload(data);
}
dropdown.hideAll();
});
// 修改状态

View File

@ -11,28 +11,47 @@
<div class="layui-card-body">
<div class="layui-form toolbar">
<div class="layui-form-item">
<div class="layui-inline">
<input id="fileName" class="layui-input" type="text" placeholder="职位名称"/>
<label class="layui-form-label">存储位置</label>
<div class="layui-input-inline">
<select name="fileLocation" lay-verify="">
<option value="">请选择存储位置</option>
<option value="4">本地</option>
<option value="1">阿里云</option>
<option value="2">腾讯云</option>
<option value="3">minio</option>
</select>
</div>
</div>
<!-- <div class="layui-inline">-->
<!-- <input id="positionCode" class="layui-input" type="text" placeholder="职位编码"/>-->
<!-- </div>-->
<!-- <div class="layui-inline">-->
<!-- <label class="layui-form-label">文件仓库</label>-->
<!-- <div class="layui-input-inline">-->
<!-- <input type="text" name="" class="layui-input">-->
<!-- </div>-->
<!-- </div>-->
<div class="layui-inline">
<button id="btnSearch" class="layui-btn icon-btn"><i class="layui-icon">&#xe615;</i>搜索</button>
<button id="btnAdd" class="layui-btn icon-btn"><i class="layui-icon">&#xe654;</i>添加</button>
<button id="btnExp" class="layui-btn icon-btn"><i class="layui-icon">&#xe67d;</i>导出</button>
<!-- 下拉按钮 -->
<!-- <div class="dropdown-menu dropdown-hover">-->
<!-- <button class="layui-btn icon-btn" type="button">-->
<!-- &nbsp;更多 <i class="layui-icon layui-icon-drop"></i></button>-->
<!-- <ul class="dropdown-menu-nav">-->
<!-- <li><a><i class="layui-icon layui-icon-edit"></i>test1</a></li>-->
<!-- <li><a><i class="layui-icon layui-icon-delete"></i>test2</a></li>-->
<!-- <li><a><i class="layui-icon layui-icon-password"></i>test3</a></li>-->
<!-- </ul>-->
<!-- </div>-->
<label class="layui-form-label">文件名称</label>
<div class="layui-input-inline">
<input type="text" id="fileOriginName" name="fileOriginName" placeholder="请输入文件名称" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div style="padding-left: 45%">
<button id="btnSearch" class="layui-btn icon-btn"><i class="layui-icon">&#xe615;</i>搜索</button>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<div style="padding-left: 45%">
<button id="btnUpload" class="layui-btn icon-btn"><i class="layui-icon">&#xe681;</i>上传文件</button>
</div>
</div>
</div>
</div>
<table class="layui-table" id="fileTable" lay-filter="fileTable"></table>
</div>
@ -42,22 +61,15 @@
</div>
<script type="text/html" id="tableBar">
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">修改</a>
<a class="layui-btn layui-btn-xs" lay-event="download">下载</a>
<a class="layui-btn layui-btn-warm layui-btn-xs" lay-event="details">详情</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="delete">删除</a>
<!-- <a class="layui-btn layui-btn-xs" data-dropdown="#userTbDrop{{d.LAY_INDEX}}" no-shade="true">更多<i class="layui-icon layui-icon-drop" style="font-size: 12px;margin-right: 0;"></i></a>-->
<!-- &lt;!&ndash; 下拉菜单 &ndash;&gt;-->
<!-- <ul class="dropdown-menu-nav dropdown-bottom-right layui-hide" id="userTbDrop{{d.LAY_INDEX}}">-->
<!-- <div class="dropdown-anchor"></div>-->
<!-- <li><a lay-event="lock"><i class="layui-icon layui-icon-password"></i>锁定用户</a></li>-->
<!-- <li><a lay-event="reset"><i class="layui-icon layui-icon-key"></i>重置密码</a></li>-->
<!-- <li class="have-more show-left">-->
<!-- <a><i class="layui-icon layui-icon-upload-drag"></i>上传资料&nbsp;&nbsp;</a>-->
<!-- <ul class="dropdown-menu-nav-child">-->
<!-- <li><a><i class="layui-icon layui-icon-camera"></i>上传头像</a></li>-->
<!-- <li><a><i class="layui-icon layui-icon-picture-fine"></i>上传照片</a></li>-->
<!-- </ul>-->
<!-- </li>-->
<!-- </ul>-->
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="preview">预览</a>
</script>
@}