sharelist.html 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558
  1. {extend name="../../base/view/common/base" /}
  2. {block name="style"}
  3. <style>
  4. ::-webkit-scrollbar { display: none; width: 6px; height: 6px; }
  5. ::-webkit-scrollbar-thumb { border-radius: 10px; background-color: #e1e1e1;}
  6. .disk-left{width:180px; position: relative; float:left; height:calc(100vh - 86px); overflow-y: auto; border:1px solid #eeeeee; background-color:#fbfbfb; padding:15px 0; user-select: none;}
  7. .disk-left::-webkit-scrollbar {width: 0;}
  8. .disk-left h3{font-size:18px; height:30px; padding-left:10px; font-weight:800}
  9. .disk-table{margin-left:120px; overflow:hidden; height:calc(100vh - 56px);border:1px solid #eeeeee; border-left:0; background-color:#fff;}
  10. .layui-btn.tool-add{padding:0 12px;}
  11. .disk-path{height:40px;padding:0 4px 0 12px;}
  12. .disk-breadcrumb{float:left; padding:7px 0}
  13. .disk-breadcrumb span{color:#666; margin:0 8px; font-size:10px;}
  14. .layui-tab{margin:0;}
  15. .file-item {height:calc(100vh - 206px); overflow-y: auto;}
  16. .disk-path .layui-form-checkbox[lay-skin=primary]>div{padding-right:4px}
  17. .layui-tabs-header li{padding:0 12px;}
  18. /** 共享空间 **/
  19. .disk-group {display: flex; flex-direction: column; width: 180px; border-right: 1px solid #f6f6f6; padding-top:12px;}
  20. .disk-group ul::-webkit-scrollbar { display: block; }
  21. .disk-group ul { flex: 1; overflow: hidden; overflow-y: auto;}
  22. .disk-group ul li {display: flex; align-items: center; justify-content: space-between; cursor:pointer; padding-left:12px; padding-right:4px; height: 42px; color: #666666; }
  23. .disk-group ul li i.layui-icon-component{ margin-right:4px; font-size:20px;font-weight:800;}
  24. .disk-group ul li i.layui-icon-more-vertical{font-size:20px; padding-right:12px;}
  25. .disk-group ul li > span { display: flex; flex: 1; overflow: hidden; margin-right: 0.5rem; text-overflow: ellipsis; white-space: nowrap; }
  26. .disk-group ul li.active { background: #F2FAFF; color:#1e9fff;}
  27. .disk-group ul li:hover { background: #f5f7fa; color:#1e9fff;}
  28. .disk-group ul li .dropdown:hover dl { display: block; }
  29. .disk-group ul li .dropdown dl { position: absolute; top: 36px; right: -15px; z-index: 10000; display: none; padding: 5px 0; width: 88px; border-radius: 2px; text-align: center; background-color: #ffffff; box-shadow: #cccccc 0 0 10px; }
  30. .disk-group ul li .dropdown dl dd { height: 32px; line-height: 32px; }
  31. .disk-group ul li .dropdown dl dd:hover { color: #4a5dff; background-color: #edefff; }
  32. .disk-group ul li .dropdown dl::before { position: absolute; top: -16px; left: 44px; z-index: 12; display: block; padding: 0; width: 0; height: 0; border-top: 8px solid transparent; border-right: 8px solid transparent; border-bottom: 8px solid #ffffff; border-left: 8px solid transparent; content: ""; box-sizing: content-box; }
  33. .group-footer { display: flex; align-items: center; justify-content: center; width: 100%; height: 50px; position:absolute;bottom:0; border-top: 1px solid #f2f2f2; border-right: 1px solid #f2f2f2; }
  34. /** 文件 **/
  35. .file-item .file-subject { flex: 1; overflow: hidden; overflow-y: auto; margin: 10px; box-sizing: border-box; }
  36. .file-item .file-subject:hover::-webkit-scrollbar { display: block; }
  37. .file-item .file-subject ul { display: flex; flex-wrap: wrap; }
  38. .file-item .file-subject ul li {position: relative; height: 144px; margin:20px 10px; padding: 6px; border: 1px solid rgba(0, 0, 0, 0.05); border-radius: 3px; transition: all 0.2s ease-in-out; }
  39. .file-item .file-subject ul li:hover {border: 1px solid #eee; background-color:#f8f8f8;}
  40. .file-item .file-subject ul li.on {border: 1px solid #ff5722; }
  41. .file-item .file-subject ul li img { width: 86px; height: 86px; padding:16px;}
  42. .file-item .file-subject ul li img.file-image { width: 118px; height: 118px; padding:0; border-radius: 2px; }
  43. .file-item .file-subject ul li video { width: 60px; height: 60px; border-radius: 3px; }
  44. .file-item .file-subject ul li p {overflow: hidden; margin: 5px 0 0; width: 118px; font-size: 13px; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
  45. .file-item .file-subject ul li .file-check{position: absolute; width:20px; height:20px; left: 0; top: 0; display: none; font-size: 14px; border-radius:2px 0 4px 0; text-align: center; line-height: 20px; color: #ffffff; background-color:#fff; border-right:1px solid #eee; border-bottom:1px solid #eee; cursor:pointer;}
  46. .file-item .file-subject ul li:hover .file-check{display: block;}
  47. .file-item .file-subject ul li.on .file-check{ display: block; background: #ff5722; border-color:#ff5722}
  48. .file-item .file-subject ul li .layui-btn-ctrl{position:absolute; top:0; right:0; opacity: 0;}
  49. .file-item .file-subject ul li:hover .layui-btn-ctrl{opacity: 1;}
  50. .file-folder,.file-image,.file-pdf,.file-video,.file-audio{cursor:pointer;}
  51. .file-item .file-subject ul li .has-star{position: absolute; width:20px; height:20px; right: 32px; top: 75px; border-radius:50%; text-align: center; line-height: 20px; color: #ffffff; background-color:#ffb800; border:1px solid #fff; padding:2px;}
  52. .file-item .file-subject ul li .file-info{position: absolute; width:100%; height:23px; left: 0; top: 0; text-align:center; font-size: 12px; line-height: 23px; background-color:rgba(0,0,0,.12);border-radius:2px 2px 0 0;}
  53. .file-footer { display: flex; align-items: center; padding: 5px 15px 0; height: 45px; border-top: 1px solid #f2f2f2; text-align: center; background: #ffffff; }
  54. /** 无数据 **/
  55. .file-item .empty { display: flex; flex: 1; align-items: center; flex-direction: column; justify-content: center; overflow: hidden; text-align: center; color: #cccccc; }
  56. .file-item .empty i { font-size: 180px; }
  57. .file-item .empty p { width: 180px; text-align: center; }
  58. </style>
  59. {/block}
  60. <!-- 主体 -->
  61. {block name="body"}
  62. <div class="p-page">
  63. <div class="disk-left">
  64. <h3>共享空间</h3>
  65. <div class="disk-group">
  66. <ul id="group">
  67. <li data-id="1" class="active"><i class="layui-icon layui-icon-component"></i><span>公司共享</span></li>
  68. </ul>
  69. </div>
  70. <div class="group-footer">
  71. <span class="layui-btn layui-btn-primary layui-btn-sm add-new">创建共享空间</span>
  72. </div>
  73. </div>
  74. <div class="disk-table">
  75. <form class="layui-form gg-form-bar border-b" lay-filter="barsearchform">
  76. <div class="layui-input-inline" style="width:312px">
  77. <div class="layui-btn-group">
  78. <span class="layui-btn tool-add" id="uploadBtn"><strong class="iconfont icon-shangchuan"></strong> 上传文件</span>
  79. <span class="layui-btn layui-btn-normal tool-add" id="addArticle"><strong class="iconfont icon-lunwenguanli"></strong> 新建文档</span>
  80. <span class="layui-btn layui-btn-warm tool-add" id="addFolder"><strong class="iconfont icon-xiangmuguanli"></strong> 新建目录</span>
  81. </div>
  82. </div>
  83. <div class="layui-input-inline" style="width:300px">
  84. <input type="text" name="keywords" placeholder="输入关键字,文件名称/目录名称" class="layui-input" autocomplete="off" />
  85. </div>
  86. <div class="layui-input-inline" style="width:150px">
  87. <input type="hidden" name="pid" value="0" />
  88. <input type="hidden" name="ext" value="" />
  89. <input type="hidden" name="group_id" value="1" />
  90. <input type="hidden" name="group_name" value="公司共享" />
  91. <input type="hidden" name="limit" value="30" />
  92. <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform"><i class="layui-icon layui-icon-search mr-1"></i>搜索</button>
  93. <button type="reset" class="layui-btn layui-btn-reset">清空</button>
  94. </div>
  95. </form>
  96. <div class="disk-path layui-form border-b">
  97. <div class="disk-breadcrumb" id="diskPath"><i class="layui-icon layui-icon-windows"></i> <a href="javascript:void(0);" data-id="1">公司共享</a></div>
  98. <div class="layui-input-inline" style="width:450px; float:right;">
  99. <div class="layui-tabs layui-tab-brief" id="tab">
  100. <ul class="layui-tabs-header">
  101. <li class="layui-this" lay-id="">全部</li>
  102. <li lay-id="image">图片</li>
  103. <li lay-id="video">视频</li>
  104. <li lay-id="audio">音频</li>
  105. <li lay-id="office">Office文件</li>
  106. <li lay-id="pdf">在线文档</li>
  107. <li lay-id="zip">压缩包</li>
  108. </ul>
  109. </div>
  110. </div>
  111. </div>
  112. <div class="file-item">
  113. <!-- 主体 -->
  114. <div class="file-subject">
  115. <ul id="filesBox"></ul>
  116. </div>
  117. </div>
  118. <!-- 页脚 -->
  119. <div class="file-footer">
  120. <div id="laypage"></div>
  121. </div>
  122. </div>
  123. </div>
  124. {/block}
  125. <!-- /主体 -->
  126. <!-- 脚本 -->
  127. {block name="script"}
  128. <script>
  129. const typeExt=['','image','video','audio','office','pdf','zip'];
  130. const fileExt={
  131. image:['jpg','jpeg','png','gif'],
  132. office:['doc','docx','xls','xlsx','ppt','pptx'],
  133. pdf:['txt','pdf','article'],
  134. zip:['zip','rar','7z','gz','tar'],
  135. video:['mpg','mp4','mpeg','avi','wmv','mov','flv','m4v'],
  136. audio:['mp3','wav','wma','flac','midi']
  137. };
  138. function isValidFileName(fileName) {
  139. const illegalChars = /[\\\/\*\:"<>|\?]/;
  140. return !illegalChars.test(fileName);
  141. }
  142. const moduleInit = ['tool','uploadPlus'];
  143. function gouguInit() {
  144. var tool = layui.tool,uploadPlus = layui.uploadPlus,form = layui.form,laypage = layui.laypage,tabs = layui.tabs,dropdown = layui.dropdown;
  145. let fileGroup = [{id:0,title:'公司共享'}];
  146. tabs.on('afterChange(tab)', function(data){
  147. if(data.index==0){
  148. $('[name="ext"]').val('');
  149. }
  150. else{
  151. let ext = typeExt[data.index];
  152. $('[name="ext"]').val(fileExt[ext]);
  153. }
  154. $('[lay-filter="webform"]').click();
  155. return false;
  156. });
  157. //上传文件
  158. var attachment = new uploadPlus({
  159. "title":'上传文件',
  160. "target":'uploadBtn',
  161. "attachment":{
  162. "type":1,//0ajax多文件模式,1ajax单文件单记录模式
  163. "ajaxSave":function(res){
  164. $.ajax({
  165. url: "/disk/index/add_upload",
  166. type:'post',
  167. data:{
  168. 'pid':$('[name="pid"]').val(),
  169. 'group_id':$('[name="group_id"]').val(),
  170. 'action_id':res.data.id,
  171. 'name':res.data.name,
  172. 'id':0,
  173. 'file_size':res.data.filesize,
  174. 'file_ext':res.data.fileext
  175. },
  176. success: function (e) {
  177. layer.msg(e.msg);
  178. if (e.code == 0) {
  179. $('[lay-filter="webform"]').click();
  180. }
  181. }
  182. })
  183. }
  184. }
  185. })
  186. let ctrl_callback = function (e) {
  187. if(e.code == 0){
  188. layer.closeAll();
  189. layer.msg(e.msg);
  190. $('[lay-filter="webform"]').click();
  191. }
  192. else{
  193. layer.msg(e.msg);
  194. }
  195. }
  196. //顶部目录操作
  197. $('#diskPath').on('click','a',function(){
  198. let id=$(this).data('id');
  199. $('[name="pid"]').val(id);
  200. let data = form.val('barsearchform');
  201. get_files(data);
  202. })
  203. //新增在线文档
  204. $('#addArticle').on('click',function(){
  205. tool.side('/disk/index/add_article?pid='+$('[name="pid"]').val()+'&group_id='+$('[name="group_id"]').val());
  206. })
  207. //新增目录
  208. $('#addFolder').on('click',function(){
  209. layer.prompt({title: '请输入目录名称'}, function(val, index, elem){
  210. if(val==''){
  211. layer.msg('目录名称不能为空');
  212. return false;
  213. }
  214. if(isValidFileName(val)==false){
  215. layer.msg('目录名称不能包含下列任何字符:\/:*?".<>|');
  216. return false;
  217. }
  218. $.ajax({
  219. url: "/disk/index/add_folder",
  220. type:'post',
  221. data:{
  222. 'id':0,
  223. 'pid':$('[name="pid"]').val(),
  224. 'group_id':$('[name="group_id"]').val(),
  225. 'name':val
  226. },
  227. success: ctrl_callback
  228. })
  229. });
  230. })
  231. //查看文件
  232. $('#filesBox').on('click','.file-item',function(){
  233. let id = $(this).parent().data('id');
  234. let href = $(this).data('href');
  235. let ext = $(this).data('ext');
  236. if(ext == 'video'){
  237. tool.videoView(href);
  238. }
  239. else if(ext == 'audio'){
  240. tool.audioView(href);
  241. }
  242. else if(ext == 'image'){
  243. tool.photoView(href);
  244. }
  245. else if(ext == 'pdf'){
  246. tool.pdfView(href);
  247. }
  248. else if(ext == 'article'){
  249. tool.articleView(id);
  250. }
  251. else if(ext == 'folder'){
  252. $('[name="pid"]').val(id);
  253. let data = form.val('barsearchform');
  254. get_files(data);
  255. }
  256. else{
  257. return false;
  258. }
  259. })
  260. //重命名文件
  261. $('#filesBox').on('click','.name-edit',function(){
  262. let id = $(this).parent().parent().data('id');
  263. let title = $(this).parent().parent().data('title');
  264. let ext = $(this).parent().parent().data('ext');
  265. let types = $(this).parent().parent().data('types');
  266. title = title.toString().replace(/\.[^.]+$/, "");
  267. layer.prompt({title: '重命名',value:title}, function(val, index, elem){
  268. if(val==''){
  269. layer.msg('文件名不能为空');
  270. return false;
  271. }
  272. if(isValidFileName(val)==false){
  273. layer.msg('文件名不能包含下列任何字符:\/:*?".<>|');
  274. return false;
  275. }
  276. if(types == 0){
  277. val = val+'.'+ext;
  278. }
  279. tool.post("/disk/index/rename", {id:id,name:val,group_id:$('[name="group_id"]').val(),pid:$('[name="pid"]').val()}, ctrl_callback);
  280. });
  281. })
  282. //单文件删除
  283. $('#filesBox').on('click','.file-delete',function(){
  284. let id = $(this).parent().parent().data('id');
  285. layer.confirm('确定要删除该文件吗?请慎重', { icon: 3, title: '提示' }, function (index) {
  286. tool.delete("/disk/index/del", {ids:id}, ctrl_callback);
  287. });
  288. })
  289. //单文件移动
  290. $('#filesBox').on('click','.file-move',function(){
  291. let ids = $(this).parent().parent().data('id');
  292. layer.open({
  293. type: 2,
  294. title: '移动到',
  295. area: ['720px', '480px'],
  296. content: '/disk/index/move?group_id='+$('[name="group_id"]').val(),
  297. maxmin: true,
  298. btn: ['移动到此', '取消'],
  299. btnAlign: 'c',
  300. yes: function(index, layero){
  301. // 获取 iframe 的窗口对象
  302. let iframeWin = window[layero.find('iframe')[0]['name']];
  303. let pid = iframeWin.$('#folder').val();
  304. let group_id = iframeWin.$('#group_id').val();
  305. tool.post("/disk/index/move", {ids:ids,pid:pid,group_id:group_id}, ctrl_callback);
  306. }
  307. });
  308. })
  309. $('body').on('click','.add-new',function(){
  310. add_group(0,'');
  311. });
  312. $('#group').on('click','li span',function(){
  313. let li=$(this).parent();
  314. li.addClass('active').siblings().removeClass('active');
  315. let id=li.data('id');
  316. let name=li.text();
  317. $('[name="pid"]').val(0);
  318. $('[name="group_id"]').val(id);
  319. $('[name="group_name"]').val(name);
  320. $('#tab').find('li').eq(0).click();
  321. //$('[lay-filter="webform"]').click();
  322. });
  323. function add_group(id,val){
  324. var title = '创建共享空间';
  325. if(id>0){
  326. title = '重命名共享空间';
  327. }
  328. layer.prompt({
  329. title: title,
  330. value: val,
  331. yes: function(index, layero) {
  332. // 获取文本框输入的值
  333. var value = layero.find(".layui-layer-input").val();
  334. if (value!='') {
  335. let callback = function (e) {
  336. layer.msg(e.msg);
  337. if(e.code==0){
  338. location.reload();
  339. }
  340. }
  341. tool.post("/disk/index/add_group", {id: id,title: value}, callback);
  342. layer.close(index);
  343. } else {
  344. layer.msg('请填写共享空间名称');
  345. }
  346. }
  347. })
  348. }
  349. function del_group(id) {
  350. layer.confirm('确定要删除该共享空间吗?请慎重', { icon: 3, title: '提示' }, function (index) {
  351. let callback = function (e) {
  352. layer.closeAll();
  353. layer.msg(e.msg);
  354. if(e.code==0){
  355. location.reload();
  356. }
  357. }
  358. tool.delete("/disk/index/del_group", {id:id}, callback);
  359. });
  360. }
  361. function get_group(){
  362. $.ajax({
  363. url:"/disk/api/get_group",
  364. success:function(res){
  365. if(res.code==0){
  366. var group=res.data,item='';
  367. if(group.length>0){
  368. for(var a=0;a<group.length;a++){
  369. item+='<li data-id="'+group[a].id+'" data-title="'+group[a].title+'"><i class="layui-icon layui-icon-component"></i><span>'+group[a].title+'</span><i class="layui-icon layui-icon-more-vertical dropdown-on"></i></li>';
  370. }
  371. $('#group').append(item);
  372. fileGroup = fileGroup.concat(group);
  373. // 自定义事件
  374. dropdown.render({
  375. elem: '.dropdown-on',
  376. trigger: 'hover',
  377. align: 'right',
  378. data: [{
  379. title: '重命名共享空间',
  380. id: 100
  381. },{
  382. title: '删除该共享空间',
  383. id: 101
  384. },{
  385. title: '设置空间成员',
  386. id: 102
  387. },{
  388. title: '设置空间管理员',
  389. id: 103
  390. }],
  391. click: function(data, othis){
  392. let id = $(this.elem).parent().data('id');
  393. let title = $(this.elem).parent().data('title');
  394. if(data.id==100){
  395. add_group(id,title);
  396. }else if(data.id==101){
  397. del_group(id);
  398. }else if(data.id==102){
  399. tool.side('/disk/api/memberlist?id='+id);
  400. }else if(data.id==103){
  401. tool.side('/disk/api/adminlist?id='+id);
  402. }
  403. }
  404. });
  405. }
  406. }
  407. }
  408. });
  409. }
  410. //加载数据
  411. var data = form.val('barsearchform');
  412. get_files(data);
  413. get_group();
  414. form.on('submit(webform)', function (data) {
  415. get_files(data.field);
  416. return false;
  417. });
  418. $('.layui-btn-reset').click(function(){
  419. setTimeout(function(){
  420. $('[lay-filter="webform"]').click();
  421. },200)
  422. })
  423. function get_files(param){
  424. var loadIndex = layer.load(0);
  425. $.ajax({
  426. url:"/disk/index/sharelist",
  427. data:param,
  428. complete:function(){
  429. layer.close(loadIndex)
  430. },
  431. success:function(res){
  432. $('[name="select_all"]').prop('checked', false);
  433. form.render('checkbox');
  434. if(res.code==0){
  435. laypage.render({
  436. elem: 'laypage',
  437. limit:param['limit'],
  438. curr:param['page'],
  439. count: res.count, // 数据总数
  440. jump: function(obj, first){
  441. //console.log(obj.curr); // 得到当前页,以便向服务端请求对应页的数据。
  442. //console.log(obj.limit); // 得到每页显示的条数
  443. // 首次不执行
  444. if(!first){
  445. var data = form.val('barsearchform');
  446. data['page'] = obj.curr;
  447. get_files(data);
  448. }
  449. }
  450. });
  451. let folder = res.totalRow;
  452. let folderHtml='<i class="layui-icon layui-icon-windows"></i> <a href="javascript:void(0);" data-id="0">'+$('[name="group_name"]').val()+'</a>';
  453. if(folder.length>0){
  454. for(var f=0;f<folder.length;f++){
  455. folderHtml+='<span> 〉</span><a href="javascript:void(0);" data-id="'+folder[f].id+'">'+folder[f].name+'</a>';
  456. }
  457. }
  458. $('#diskPath').html(folderHtml);
  459. var item=res.data,li='';
  460. if(item.length>0){
  461. for(var a=0;a<item.length;a++){
  462. let type = '',ext="zip";
  463. // 判断元素是否在数组中
  464. let path='/static/home/images/icon/file.png';
  465. if (fileExt.image.includes(item[a].file_ext)) {
  466. path=item[a].thumbpath;
  467. type = '0,1,3,4,5';
  468. ext="image";
  469. }
  470. if (fileExt.office.includes(item[a].file_ext)) {
  471. type = '0,1,3,4,5';
  472. ext="office";
  473. path='/static/home/images/icon/'+item[a].file_ext+'.png';
  474. }
  475. if (item[a].file_ext == 'pdf' || item[a].file_ext == 'txt') {
  476. type = '0,1,3,4,5';
  477. ext="pdf";
  478. path='/static/home/images/icon/'+item[a].file_ext+'.png';
  479. }
  480. if (fileExt.video.includes(item[a].file_ext)) {
  481. type = '0,1,3,4,5';
  482. ext="video";
  483. path='/static/home/images/icon/video.png';
  484. }
  485. if (fileExt.audio.includes(item[a].file_ext)) {
  486. type = '0,1,3,4,5';
  487. ext="audio";
  488. path='/static/home/images/icon/audio.png';
  489. }
  490. if (fileExt.zip.includes(item[a].file_ext)) {
  491. type = '0,1,3,4,5';
  492. ext="zip";
  493. path='/static/home/images/icon/rar.png';
  494. }
  495. if(item[a].types==1){
  496. type = '1,2,3,4,5';
  497. ext="article";
  498. path='/static/home/images/icon/article.png';
  499. }
  500. if(item[a].types==2){
  501. type = '3,4,5';
  502. ext="folder";
  503. path='/static/home/images/icon/folder.png';
  504. }
  505. ctrl = '<span class="layui-btn layui-btn-xs layui-btn-normal file-ctrl" data-ctrl="disk" data-fileid="'+item[a].id+'" data-actionid="'+item[a].action_id+'" data-href="'+item[a].filepath+'" data-filename="'+item[a].name+'" data-ext="'+ext+'" data-type="'+type+'">操作</span>';
  506. li+='<li data-id="'+item[a].id+'" data-title="'+item[a].name+'" data-ext="'+item[a].file_ext+'" data-types="'+item[a].types+'"><img src="'+path+'" alt="'+item[a].name+'" style="object-fit: contain;" class="file-item file-'+ext+'" data-href="'+item[a].filepath+'" data-ext="'+ext+'"><p title="'+item[a].name+'">'+item[a].name+'</p>\
  507. <div class="layui-btn-ctrl">'+ctrl+'\
  508. <span class="name-edit" style="display:none;" id="fileEdit'+item[a].id+'" title="重命名"></span>\
  509. <span class="file-delete" style="display:none;" id="fileDel'+item[a].id+'" title="删除"></span>\
  510. <span class="file-move" style="display:none;" id="fileMove'+item[a].id+'" title="移动"></span>\
  511. </div></li>';
  512. }
  513. $('#filesBox').html(li);
  514. $('#laypage').show();
  515. }
  516. else{
  517. $('#filesBox').html('<div class="empty"><i class="layui-icon layui-icon-upload"></i><p>无文件文件,赶紧去上传吧!</p></div>');
  518. $('#laypage').hide();
  519. }
  520. }
  521. }
  522. });
  523. }
  524. }
  525. </script>
  526. {/block}
  527. <!-- /脚本 -->