file.ejs 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <div class="panel-content">
  2. <div class="panel-title fluid">
  3. <div class="title-main d-flex justify-content-between">
  4. <div>资料归集/<%- ctx.subProject.name %><span class="ml-4" id="file-count"></span></div>
  5. <div class="ml-auto">
  6. <% if (ctx.session.sessionUser.is_admin) { %>
  7. <a href="/sp/<%- ctx.subProject.id %>/fm" class="btn btn-outline-primary btn-sm ml-1">管理分类</a>
  8. <a class="btn btn-sm btn-outline-primary mr-1" href="#filing-permission" data-toggle="modal" data-backdrop="static" data-target="#filing-permission">授权用户</a>
  9. <% } %>
  10. </div>
  11. </div>
  12. </div>
  13. <div class="content-wrap row pr-46">
  14. <div class="row w-100 sub-content">
  15. <div class="c-body" id="left-view" style="width: 100%">
  16. <div class="sjs-height-0 row" style="width: 100%">
  17. <div class="col-3 border-right pr-0">
  18. <div class="d-flex flex-row">
  19. <div class="btn-group">
  20. <button type="button" class="btn btn-sm text-primary dropdown-toggle" data-toggle="dropdown" id="zhankai" aria-expanded="false">显示层级</button>
  21. <div class="dropdown-menu" aria-labelledby="zhankai" x-placement="bottom-start" style="position: absolute; transform: translate3d(0px, 21px, 0px); top: 0px; left: 0px; will-change: transform;">
  22. <a class="dropdown-item" name="showLevel" tag="1" href="javascript: void(0);">第一层</a>
  23. <a class="dropdown-item" name="showLevel" tag="2" href="javascript: void(0);">第二层</a>
  24. <a class="dropdown-item" name="showLevel" tag="3" href="javascript: void(0);">第三层</a>
  25. <a class="dropdown-item" name="showLevel" tag="4" href="javascript: void(0);">第四层</a>
  26. <a class="dropdown-item" name="showLevel" tag="last" href="javascript: void(0);">最底层</a>
  27. </div>
  28. </div>
  29. <% if (canFiling) { %>
  30. <div class="p-2"><a href="javascript: void(0);" id="add-slibing">添加同级</a></div>
  31. <div class="p-2"><a href="javascript: void(0);" id="add-child">添加子级</a></div>
  32. <% } %>
  33. </div>
  34. <ul id="filing" class="ztree" style="overflow: auto"></ul>
  35. </div>
  36. <div class="col-9 pr-0" id="file-view" style="display: none">
  37. <div class="d-flex flex-row">
  38. <% if (canUpload) { %>
  39. <div class="py-2 pr-2"><a href="#add-file" data-toggle="modal" data-target="#add-file">上传文件</a></div>
  40. <div class="py-2 pr-2"><a href="#add-big-file" data-toggle="modal" data-target="#add-big-file">大文件上传</a></div>
  41. <div class="p-2" id="rela-file-btn"><a href="#rela-file" data-toggle="modal" data-target="#rela-file">导入文件</a></div>
  42. <div class="p-2"><a href="javascript: void(0)" id="batch-del-file-btn">批量删除</a></div>
  43. <% } %>
  44. <div class="p-2"><a href="javascript: void(0)" id="batch-download">批量下载</a></div>
  45. <div class="p-2">
  46. <span id="showPage">
  47. <a href="javascript:void(0);" class="page-select ml-3" content="pre"><i class="fa fa-chevron-left"></i></a>
  48. <span id="curPage">1</span>/<span id="curTotalPage">10</span>
  49. <a href="javascript:void(0);" class="page-select mr-3" content="next"><i class="fa fa-chevron-right"></i></a>
  50. </span>
  51. </div>
  52. </div>
  53. <table class="table table-hover table-bordered">
  54. <thead>
  55. <tr class="text-center">
  56. <th width="60px">选择</th>
  57. <th>文件名称 <span name="file-sort" field="filename" tag="filename|desc"><i class="fa fa-sort" aria-hidden="true"></i></span></th>
  58. <th width="10%">上传人</th>
  59. <th width="20%">上传时间 <span name="file-sort" field="create_time" tag="create_time|asc"><i class="fa fa-sort-amount-desc" aria-hidden="true"></i></span></th>
  60. <th width="10%">文件类型</th>
  61. </tr>
  62. </thead>
  63. <tbody id="file-list">
  64. </tbody>
  65. </table>
  66. </div>
  67. </div>
  68. </div>
  69. <div class="c-body" id="right-view" style="display: none; width: 33%;">
  70. <div class="resize-x" id="right-spr" r-Type="width" div1="#left-view" div2="#right-view" title="调整大小" a-type="percent"></div>
  71. <div class="tab-content">
  72. <div id="search" class="tab-pane tab-select-show mr-1">
  73. <div class="sjs-bar mt-1">
  74. <div class="input-group input-group-sm pb-1">
  75. <div class="input-group-prepend">
  76. <select class="input-group-text" id="search-filter">
  77. <option value="cur">当前分类</option>
  78. <option value="all">全部分类</option>
  79. </select>
  80. </div>
  81. <input id="search-keyword" type="text" class="form-control" autocomplete="off" placeholder="输入文件名称查找" aria-label="Recipient\'s username" aria-describedby="button-addon2">
  82. <div class="input-group-append"><button class="btn btn-outline-secondary" type="button">搜索</button></div>
  83. </div>
  84. </div>
  85. <div class="sjs-sh scroll-y">
  86. <table class="table table-bordered">
  87. <tr class="text-center"><th>文件名称</th><th width="15%">上传人</th><th width="15%">操作</th></tr>
  88. <tbody id="search-list"></tbody>
  89. </table>
  90. </div>
  91. </div>
  92. <div id="reference" class="tab-pane tab-select-show">
  93. </div>
  94. </div>
  95. </div>
  96. </div>
  97. <!--右侧菜单-->
  98. <div class="side-menu">
  99. <ul class="nav flex-column right-nav" id="side-menu">
  100. <li>
  101. <a class="nav-link" content="#search" href="javascript: void(0);">查找定位</a>
  102. </li>
  103. <li>
  104. <a class="nav-link" content="#reference" href="javascript: void(0);">参考文件</a>
  105. </li>
  106. </ul>
  107. </div>
  108. </div>
  109. </div>
  110. <script>
  111. const canFiling = <%- canFiling %>;
  112. const filing = JSON.parse(unescape('<%- escape(JSON.stringify(filing)) %>'));
  113. const category = JSON.parse(unescape('<%- escape(JSON.stringify(categoryData)) %>'));
  114. const whiteList = JSON.parse('<%- JSON.stringify(ctx.app.config.multipart.whitelist) %>');
  115. const canDelete = <%- canDelete %>;
  116. const fileReferenceList = JSON.parse('<%- JSON.stringify(fileReferenceList) %>');
  117. </script>