123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316 |
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8"/>
- <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
- <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
- <title>文件管理</title>
- <link rel="stylesheet" href="../../assets/libs/layui/css/layui.css"/>
- <link rel="stylesheet" href="../../assets/module/admin.css?v=315"/>
- <link rel="stylesheet" href="../../../assets/module/icon/icon.css" media="all">
- <link rel="stylesheet" href="../../../assets/module/icon/font-awesome-4.7.0/css/font-awesome.min.css" media="all">
- <!--[if lt IE 9]>
- <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
- <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
- <![endif]-->
- <style>
- /** 未展开 */
- .treeTable-icon .layui-icon-layer:before {
- content: "\e638";
- }
- /** 展开 */
- .treeTable-icon.open .layui-icon-layer:before {
- content: "\e638";
- }
- .treeTable-icon .layui-icon-file:before {
- content: "";
- }
- </style>
- </head>
- <body>
- <!-- 加载动画 -->
- <div class="page-loading">
- <div class="ball-loader">
- <span></span><span></span><span></span><span></span>
- </div>
- </div>
- <!-- 正文开始 -->
- <div class="layui-fluid">
- <!-- <div class="layui-card">-->
- <!-- <div class="layui-card-body layui-text" style="color: #333;">-->
- <!-- 以下是静态页面,后台集成示例参考-->
- <!-- <a href="https://gitee.com/whvse/easy-fs" target="_blank">获取源码</a>-->
- <!-- </div>-->
- <!-- </div>-->
- <div class="layui-card">
- <div class="layui-card-header">当前位置:<span id="tv-current-position">/</span></div>
- <input type="hidden" name="fileId" id="fileId">
- <input type="hidden" name="pId" id="pId">
- <input type="hidden" name="pathId" id="pathId">
- <div class="layui-card-body">
- <div>
- <button id="file-btn-back" class="layui-btn layui-btn-sm layui-btn-primary icon-btn">
- <i class="layui-icon"></i>返回上级
- </button>
- <button id="file-btn-refresh" class="layui-btn layui-btn-sm layui-btn-primary icon-btn">
- <i class="layui-icon"></i>刷新
- </button>
- <button id="file-btn-upload" class="layui-btn layui-btn-sm layui-btn-normal icon-btn">
- <i class="layui-icon"></i>上传文件
- </button>
- <button id="file-btn-add" class="layui-btn layui-btn-sm layui-btn-normal icon-btn"
- style="margin-left: 10px;">
- 📂创建文件夹
- </button>
- </div>
- <div id="file-list-group">
- <table class="layui-table" lay-size="sm" id="datatable" lay-filter="datatable"></table>
- </div>
- </div>
- </div>
- </div>
- <!-- js部分 -->
- <script type="text/javascript" src="../../assets/libs/layui/layui.js"></script>
- <script type="text/javascript" src="../../assets/js/common.js?v=315"></script>
- <script type="text/javascript" src="../../assets/libs/jsonpath/jsonpath.js"></script>
- </body>
- <script>
- layui.use(['jquery', 'layer', 'element', 'upload', 'admin', 'util', 'form', 'uParas', 'treetable'], function () {
- var $ = layui.jquery;
- var layer = layui.layer;
- var element = layui.element;
- var form = layui.form;
- var upload = layui.upload;
- var admin = layui.admin;
- var util = layui.util;
- var uParas = layui.uParas;
- var treetable = layui.treetable;
- var dataList = [];
- var dirType = uParas.getUrlParam("dirType");
- //上传
- var uploadFile = upload.render({
- elem: '#file-btn-upload', //绑定元素
- url: uParas.baseUrl + '/admin/uploadFile', //上传接口
- accept: 'file',
- //acceptMime: 'image/jpg,image/png,image/gif,image/jpeg,image/bmp,image/tga,image/fpx,image/raw,',
- // size: 30720,
- done: function (response) {
- response.data.fileId = $("#fileId").val();
- $.post(uParas.baseUrl + '/ent/bucket/addBucketFile', response.data, function (res) {
- renderList($("#fileId").val(), $("#pId").val());
- }, 'json');
- }, error: function () {
- }
- });
- $('#file-btn-refresh').click(function () {
- if ($("#fileId").val() == "") {
- renderList();
- } else {
- renderList($("#fileId").val(), $("#pId").val());
- }
- });
- // 返回上级
- $('#file-btn-back').click(function () {
- var pid = $("#pId").val();
- var fileId = $("#fileId").val();
- console.log("pid->" + pid)
- console.log("fileId->" + fileId)
- if (pid != undefined && pid != "" && pid != "-1") {
- $.getJSON(uParas.baseUrl + '/ent/bucket/getBucketOne', {fileId: pid}, function (resp) {
- renderList(resp.data.fileId, resp.data.parentDirId);
- });
- } else {
- renderList("", "-1");
- $("#tv-current-position").html('');
- }
- });
- $('#file-btn-add').click(function () {
- admin.open({
- type: 1,
- title: '创建文件夹',
- content: $('#addBucket').html(),
- success: function (layero, dIndex) {
- // 表单的操作,事件绑定等都写在success回调里面
- form.on('submit(modelSubmitBucket)', function (data) {
- layer.load();
- console.log(data);
- data.field.fileId = $("#fileId").val();
- var url = uParas.baseUrl + '/ent/bucket/addBucket';
- admin.req(url, data.field, function (resp) {
- layer.closeAll('loading');
- if (resp.code == 1) {
- layer.close(dIndex);
- layer.msg(resp.msg);
- renderList($("#fileId").val(), $("#pId").val());
- } else {
- layer.msg(resp.msg);
- }
- }, 'POST');
- return false;
- });
- }
- });
- });
- $.extend(window, {
- renderList: function (fileId, pid) {
- var insTb = treetable.render({
- url: uParas.baseUrl + '/ent/bucket/getBucketTree',
- treeColIndex: 1,
- treeSpid: pid == null || pid == undefined || pid == "" ? "-1" : pid,
- treeIdName: 'fileId',
- treePidName: 'parentDirId',
- elem: '#datatable',
- treeDefaultClose: fileId == null || fileId == undefined || fileId == "" ? true : false,
- cellMinWidth: 100,
- where: {fileId: fileId, dirType: dirType},
- cols: [[
- {type: 'numbers', title: '序号'},
- {field: 'fileName', sort: false, title: '名称', minWidth: 100},
- {
- field: 'fileName', sort: false, title: '类型', templet: function (d) {
- if (d.typeId == 1) {
- if (d.mimeType.indexOf('image/') !== -1) {
- return "<a href='javascript:;' onclick=\"openImage('" + d.fileUrl + "')\" ><i class=\"fa fa-file-picture-o\"></i></a>";
- } else if (d.mimeType.indexOf('application/zip') !== -1) {
- return "<a href=\"" + d.fileUrl + "\"><i class=\"fa fa-file-zip-o\"></i></a>";
- } else if (d.mimeType.indexOf('application/x-rar') !== -1) {
- return "<a href=\"" + d.fileUrl + "\"><i class=\"fa fa-file-zip-o\"></i></a>";
- } else if (d.fileExt === 'xlsx' || d.fileExt === 'xls') {
- return "<a href=\"" + d.fileUrl + "\"><i class=\"fa fa-file-excel-o\"></i></a>";
- } else if (d.fileExt === 'pptx' || d.fileExt === 'ppt') {
- return "<a href=\"" + d.fileUrl + "\"><i class=\"fa fa-file-powerpoint-o\"></i></a>";
- } else if (d.fileExt === 'docx' || d.fileExt === 'doc') {
- return "<a href=\"" + d.fileUrl + "\"><i class=\"fa fa-file-word-o\"></i></a>";
- } else if (d.fileExt === 'pdf') {
- return "<a href=\"" + d.fileUrl + "\"><i class=\"fa fa-file-pdf-o\"></i></a>";
- } else {
- return "<a href=\"" + d.fileUrl + "\"><i class=\"fa fa-file-o\"></i></a>";
- }
- } else {
- return "<i class=\"fa fa-folder\"></i>";
- }
- }
- },
- {field: 'createdAt', sort: false, title: '创建时间', minWidth: 100},
- {
- align: 'left', title: '操作', templet: function (d) {
- var htmlStr = ``;
- if (d.typeId == 0) {
- htmlStr += `<a class="layui-btn layui-btn-xs" onclick="renderList('${d.fileId}','${d.parentDirId}')">查看</a>`;
- htmlStr += `<a class="layui-btn layui-btn-primary layui-btn-xs" onclick="editBucket('${d.fileName}','${d.fileId}')">修改</a>`;
- }
- htmlStr += `<a class="layui-btn layui-btn-danger layui-btn-xs" onclick="delBucket('${d.fileId}')">删除</a>`;
- return htmlStr;
- }
- }
- ]], done: function (res, curr, count) {
- var name = '';
- if (pid != undefined && fileId != undefined) {
- if (pid == "-1") {
- $("#fileId").val(fileId);
- $("#pId").val("-1");
- } else {
- $("#fileId").val(fileId);
- $("#pId").val(pid);
- }
- var obj = {};
- if (pid == -1) {
- obj.fileId = fileId;
- } else {
- obj.fileId = pid;
- }
- if (obj.fileId != "") {
- name = jsonPath(res, "$.data[?(@.fileId==" + fileId + ")]") ? jsonPath(res, "$.data[?(@.fileId==" + fileId + ")]")[0].fileName : "";
- if (pid == -1) {
- name = '';
- }
- $.getJSON(uParas.baseUrl + '/ent/bucket/getBucketOne', obj, function (resp) {
- $("#tv-current-position").html(resp.data.fileName + "/" + name)
- });
- }
- }
- if (dirType != null && dirType != undefined) {
- var jsonData = jsonPath(res, "$.data[?(@.fileMark=='" + dirType + "')]");
- console.log(jsonData)
- if (jsonData) {
- $("#fileId").val(jsonData[0].fileId);
- $("#pId").val(jsonData[0].parentDirId);
- }
- }
- }
- });
- },
- editBucket: function (name, fileId) {
- admin.open({
- type: 1,
- title: '修改文件夹',
- content: $('#addBucket').html(),
- success: function (layero, dIndex) {
- $("#fileName").val(name);
- form.on('submit(modelSubmitBucket)', function (data) {
- layer.load();
- data.field.fileId = fileId;
- var url = uParas.baseUrl + '/ent/bucket/editBucket';
- admin.req(url, data.field, function (resp) {
- layer.closeAll('loading');
- if (resp.code == 1) {
- layer.close(dIndex);
- layer.msg(resp.msg);
- renderList($("#fileId").val(), $("#pId").val());
- } else {
- layer.msg(resp.msg);
- }
- }, 'POST');
- return false;
- });
- }
- });
- },
- delBucket: function (fileId) {
- layer.confirm('确定要删除吗?', {
- skin: 'layui-layer-admin',
- shade: .1
- }, function (i) {
- layer.close(i);
- layer.load();
- var url = uParas.baseUrl + '/ent/bucket/delBucketFile';
- admin.req(url, {"fileId": fileId}, function (resp) {
- layer.closeAll('loading');
- if (resp.code == 1) {
- layer.msg(resp.msg, {time: 1000});
- setTimeout(function () {
- renderList($("#fileId").val(), $("#pId").val());
- }, "1000");
- }
- }, 'post');
- });
- }, openImage: function (src) {
- console.log(src);
- uParas.openImage(src);
- }
- });
- renderList();
- });
- </script>
- <script type="text/html" id="addBucket">
- <form id="bucketForm" lay-filter="bucketForm" class="layui-form model-form no-padding">
- <div class="model-form-body" style="max-height: 320px;">
- <div class="layui-form-item">
- <label class="layui-form-label">名称</label>
- <div class="layui-input-block">
- <input name="fileName" id="fileName" class="layui-input"/>
- </div>
- </div>
- </div>
- <div class="layui-form-item text-right model-form-footer">
- <button class="layui-btn layui-btn-primary" type="button" ew-event="closePageDialog">取消</button>
- <button class="layui-btn" lay-filter="modelSubmitBucket" lay-submit>保存</button>
- </div>
- </form>
- </script>
- </html>
|