| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <% include ../shares/delete_hint_modal.ejs %>
- <div class="panel-content">
- <div class="panel-title fluid">
- <div class="title-main d-flex justify-content-between">
- <div>资料管理-目录配置/<%- ctx.subProject.name %></div>
- <div class="ml-auto">
- <a href="/sp/<%- ctx.subProject.id %>/filesjs" class="btn btn-outline-primary btn-sm">返回资料管理</a>
- </div>
- </div>
- </div>
- <div class="content-wrap">
- <div class="c-body">
- <div class="sjs-height-0">
- <div class="d-flex align-items-center mb-2 p-1">
- <span>资料管理-目录配置/<%- ctx.subProject.name %>(当前状态:<span class="<%- ctx.subProject.lock_file ? 'text-success' : 'text-warning' %>"><%- ctx.subProject.lock_file ? '锁定' : '未锁定' %></span>)</span>
- <% if (canManageDir) { %>
- <form class="mb-0 ml-2" method="POST" action="/sp/<%- ctx.subProject.id %>/config-dir/lock">
- <input type="hidden" name="_csrf_j" value="<%= ctx.csrf %>" />
- <input type="hidden" name="lock" value="1" />
- <button class="btn btn-sm <%- ctx.subProject.lock_file ? 'btn-outline-secondary' : 'btn-primary' %>" <%- ctx.subProject.lock_file ? 'disabled' : '' %>>锁定</button>
- </form>
- <form class="mb-0 ml-1" method="POST" action="/sp/<%- ctx.subProject.id %>/config-dir/lock">
- <input type="hidden" name="_csrf_j" value="<%= ctx.csrf %>" />
- <input type="hidden" name="lock" value="0" />
- <button class="btn btn-sm <%- ctx.subProject.lock_file ? 'btn-primary' : 'btn-outline-secondary' %>" <%- ctx.subProject.lock_file ? '' : 'disabled' %>>解锁</button>
- </form>
- <% } %>
- <div class="alert alert-warning py-1 px-2 mb-0 ml-2">
- <i class="fa fa-exclamation-circle"></i>
- <%- ctx.subProject.lock_file ? '当前为“锁定”状态,用户仅可查看资料管理,无法上传文件。' : '请先“锁定”资料管理,禁止用户上传文件,避免引起编辑冲突。' %>
- </div>
- </div>
- <div class="d-flex flex-row mb-2">
- <div class="p-1">
- <% if (ctx.subProject.lock_file && canManageDir) { %>
- <a href="javascript: void(0);" class="btn btn-sm btn-outline-primary" id="cd-add-sibling"><i class="fa fa-plus fa-fw"></i> 同层</a>
- <a href="javascript: void(0);" class="btn btn-sm btn-outline-primary" id="cd-add-child"><i class="fa fa-plus fa-fw"></i> 子项</a>
- <a href="javascript: void(0);" class="btn btn-sm btn-outline-primary" id="cd-move-up"><i class="fa fa-arrow-up fa-fw"></i> 上移</a>
- <a href="javascript: void(0);" class="btn btn-sm btn-outline-primary" id="cd-move-down"><i class="fa fa-arrow-down fa-fw"></i> 下移</a>
- <a href="javascript: void(0);" class="btn btn-sm btn-outline-primary" id="cd-move"><i class="fa fa-exchange fa-fw"></i> 移动文件</a>
- <a href="javascript: void(0);" class="btn btn-sm btn-outline-danger" id="cd-delete"><i class="fa fa-trash-o fa-fw"></i> 删除</a>
- <a href="javascript: void(0);" class="btn btn-sm btn-outline-primary" id="cd-edit-name"><i class="fa fa-pencil fa-fw"></i> 编辑目录</a>
- <% } %>
- <% if (ctx.subProject.lock_file && canAuthUser) { %>
- <div class="btn-group">
- <a href="javascript: void(0);" class="btn btn-sm btn-outline-primary" id="cd-auth-user"><i class="fa fa-user-plus fa-fw"></i> 授权用户</a>
- <button type="button" class="btn btn-sm btn-outline-primary dropdown-toggle dropdown-toggle-split"
- id="cd-auth-batch-dropdown" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
- <span class="sr-only">批量授权</span>
- </button>
- <div class="dropdown-menu" aria-labelledby="cd-auth-batch-dropdown">
- <a class="dropdown-item" href="javascript:void(0);" id="cd-auth-batch-add">批量新增授权</a>
- <a class="dropdown-item" href="javascript:void(0);" id="cd-auth-batch-cover">批量覆盖授权</a>
- </div>
- </div>
- <% } %>
- </div>
- </div>
- <div id="config-dir-spread" style="width: 100%; height: calc(100% - 90px);"></div>
- </div>
- </div>
- </div>
- </div>
- <% include config_dir_modal.ejs %>
- <script>
- // 将模态框移到 body 下,避免 backdrop 遮挡问题
- $('#auth-user-modal, #cd-auth-target-modal, #cd-edit-modal, #cd-move-modal, #cd-tips-modal').appendTo('body');
- const filingData = JSON.parse(unescape('<%- escape(JSON.stringify(filing)) %>'));
- const permissionData = JSON.parse(unescape('<%- escape(JSON.stringify(permissionData)) %>'));
- const filingPermissionData = JSON.parse(unescape('<%- escape(JSON.stringify(filingPermissionData)) %>'));
- const accountList = JSON.parse(unescape('<%- escape(JSON.stringify(accountList)) %>'));
- const configDirLocked = <%- Boolean(ctx.subProject.lock_file) %>;
- const canManageConfigDir = <%- Boolean(canManageDir) %>;
- </script>
|