| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351 | 
							- <!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/contextMenu/contextMenu.css"/>
 
-     <!--[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>
 
-         /* 文件列表item */
 
-         .file-choose-list-item {
 
-             position: relative;
 
-             display: inline-block;
 
-             vertical-align: top;
 
-             padding: 8px 8px;
 
-             margin: 5px 0;
 
-             cursor: pointer;
 
-         }
 
-         .file-choose-list-item:hover {
 
-             background-color: #F7F7F7;
 
-         }
 
-         /* 文件列表图片 */
 
-         .file-choose-list-item-img {
 
-             width: 90px;
 
-             height: 90px;
 
-             background-repeat: no-repeat;
 
-             background-position: center;
 
-             background-size: cover;
 
-             border-radius: 3px;
 
-             overflow: hidden;
 
-             position: relative;
 
-             background-color: #eee;
 
-         }
 
-         .file-choose-list-item-img.img-icon {
 
-             background-size: inherit;
 
-             background-color: transparent;
 
-         }
 
-         .file-choose-list-item.active .file-choose-list-item-img:after {
 
-             content: "";
 
-             position: absolute;
 
-             left: 0;
 
-             top: 0;
 
-             bottom: 0;
 
-             right: 0;
 
-             background: rgba(0, 0, 0, 0.3);
 
-         }
 
-         /* 文件列表名称 */
 
-         .file-choose-list-item-name {
 
-             width: 90px;
 
-             overflow: hidden;
 
-             text-overflow: ellipsis;
 
-             white-space: nowrap;
 
-             color: #333;
 
-             font-size: 12px;
 
-             text-align: center;
 
-             margin-top: 12px;
 
-         }
 
-         /* 文件列表复选框 */
 
-         .file-choose-list-item-ck {
 
-             position: absolute;
 
-             right: 8px;
 
-             top: 8px;
 
-         }
 
-         .file-choose-list-item-ck .layui-form-checkbox {
 
-             padding: 0;
 
-         }
 
-         /* 文件列表操作菜单 */
 
-         .file-choose-oper-menu {
 
-             background-color: #fff;
 
-             position: absolute;
 
-             left: 8px;
 
-             top: 8px;
 
-             border-radius: 2px;
 
-             box-shadow: 0px 0px 10px rgba(0, 0, 0, .15);
 
-             transition: all .3s;
 
-             overflow: hidden;
 
-             transform: scale(0);
 
-             transform-origin: left top;
 
-             visibility: hidden;
 
-         }
 
-         .file-choose-oper-menu.show {
 
-             transform: scale(1);
 
-             visibility: visible;
 
-         }
 
-         /* 文件列表操作菜单item */
 
-         .file-choose-oper-menu-item {
 
-             color: #555;
 
-             padding: 6px 5px;
 
-             font-size: 14px;
 
-             min-width: 70px;
 
-             text-align: center;
 
-             cursor: pointer;
 
-             display: block;
 
-         }
 
-         .file-choose-oper-menu-item:hover {
 
-             background-color: #eee;
 
-         }
 
-         /** 文件列表为空时样式 */
 
-         .file-choose-empty {
 
-             text-align: center;
 
-             color: #999;
 
-             padding: 50px 0;
 
-         }
 
-         .file-choose-empty .layui-icon {
 
-             font-size: 60px;
 
-             display: block;
 
-             margin-bottom: 8px;
 
-         }
 
-     </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-header">当前位置:<span id="tv-current-position">/</span></div>
 
-         <!-- 记录当前所在的fileId,刷新用 -->
 
-         <input type="hidden" name="fileId" id="fileId">
 
-         <!-- 当前所在的路径 -->
 
-         <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"></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', 'fileChoose', 'form', 'uParas', 'contextMenu'], 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 fileChoose = layui.fileChoose;
 
-         var dataList = [];
 
-         var dirType = uParas.getUrlParam("dirType");
 
-         var contextMenu = layui.contextMenu;
 
-         function renderList(fileId, type) {
 
-             var params = new Object();
 
-             params.dirType = dirType;
 
-             if (fileId != undefined) {
 
-                 params.fileId = fileId;
 
-             }
 
-             layer.load(2);
 
-             $.get(uParas.baseUrl + '/ent/bucket/getBucket', params, function (res) {
 
-                 layer.closeAll('loading');
 
-                 if (!type && type != "reload") {
 
-                     var bucketFiles = jsonPath(res, "$.data[?(@.typeId==0)]");
 
-                     var bucketName = bucketFiles ? bucketFiles[0].fileName : "";
 
-                     var bucketId = bucketFiles ? bucketFiles[0].fileId : "";
 
-                     // 记录当前路由的ID
 
-                     $("#fileId").val(bucketId);
 
-                     var pathId = $("#pathId").val() + "/" + bucketId;
 
-                     // 路由面包屑ID
 
-                     $("#pathId").val(pathId);
 
-                     var cDir = $('#tv-current-position').html();
 
-                     cDir += (cDir == '/' ? bucketName : ('/' + bucketName));
 
-                     // 路由面包屑
 
-                     $('#tv-current-position').html(cDir);
 
-                 }
 
-                 // 文件列表
 
-                 dataList = res.data.bucketFile;
 
-                 var htmlStr = fileChoose.renderList({
 
-                     data: res.data.bucketFile ? res.data.bucketFile : [],
 
-                     menu: [{
 
-                         name: '预览',
 
-                         event: 'preview'
 
-                     }, {
 
-                         name: '复制',
 
-                         event: 'copy'
 
-                     }, {
 
-                         name: '<span style="color: red;">删除</span>',
 
-                         event: 'del'
 
-                     }]
 
-                 });
 
-                 $('#file-list-group').html(htmlStr);
 
-             }, 'json');
 
-         }
 
-         // 渲染文件列表
 
-         renderList();
 
-         //上传
 
-         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());
 
-                 }, 'json');
 
-             }, error: function () {
 
-             }
 
-         });
 
-         // 列表点击事件
 
-         $(document).off('click.fclip').on('click.fclip', '#file-list-group .file-choose-list-item', function (e) {
 
-             var item = dataList[$(this).data('index')];
 
-             if (item.isDir) {  // 是否是文件夹
 
-                 // 这里应传入fileId
 
-                 renderList(item.fileId);
 
-             } else {
 
-                 var $cMenu = $(this).find('.file-choose-oper-menu');
 
-                 $('.file-choose-oper-menu').not($cMenu).removeClass('show');
 
-                 $cMenu.toggleClass('show');
 
-                 e.stopPropagation();
 
-             }
 
-         });
 
-         // 点击空白隐藏下拉框
 
-         $(document).off('click.fclomp').on('click.fclomp', function (e) {
 
-             $('.file-choose-oper-menu').removeClass('show');
 
-         });
 
-         // 菜单事件监听
 
-         $(document).off('click.fclomip').on('click.fclomip', '#file-list-group .file-choose-oper-menu-item', function () {
 
-             var event = $(this).data('event');
 
-             var dataIndex = $(this).parent().parent().data('index');
 
-             if (event == 'del') {  // 删除
 
-                 layer.confirm('确定要删除此文件吗?', {shade: .1}, function () {
 
-                     layer.msg('操作成功', {icon: 1});
 
-                     renderList();
 
-                 });
 
-             } else if (event == 'preview') {
 
-                 window.open(dataList[dataIndex].url);
 
-             } else {
 
-                 layer.msg('点击了' + event + ',索引' + dataIndex, {icon: 1});
 
-             }
 
-         });
 
-         // 刷新
 
-         $('#file-btn-refresh').click(function () {
 
-             var fileId = $("#fileId").val();
 
-             if (fileId == "") renderList();
 
-             else renderList(fileId, 'reload');
 
-         });
 
-         // 返回上级
 
-         $('#file-btn-back').click(function () {
 
-             var cDir = $('#tv-current-position').text();
 
-             if (cDir != '/') {
 
-                 cDir = cDir.substring(0, cDir.lastIndexOf('/'));
 
-                 cDir || (cDir = '/');
 
-                 if (cDir == '/') {
 
-                     $("#fileId").val('');
 
-                 }
 
-                 $('#tv-current-position').text(cDir);
 
-                 var pathId = $("#pathId").val();
 
-                 pathId = pathId.substring(0, pathId.lastIndexOf('/'));
 
-                 var fileId = pathId.substring(pathId.lastIndexOf('/') + 1, pathId.length);
 
-                 $("#pathId").val(pathId);
 
-                 renderList(fileId, 'reload');
 
-             }
 
-         });
 
-         $('#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);
 
-                                 var fileId = $("#fileId").val();
 
-                                 if (fileId == "") renderList();
 
-                                 else renderList(fileId, 'reload');
 
-                             } else {
 
-                                 layer.msg(resp.msg);
 
-                             }
 
-                         }, 'POST');
 
-                         return false;
 
-                     });
 
-                 }
 
-             });
 
-         });
 
-     });
 
- </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" 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>
 
 
  |