tender_permission_modal.ejs 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <link href="/public/css/bootstrap/bootstrap-table.min.css" rel="stylesheet">
  2. <link href="/public/css/bootstrap/bootstrap-table-fixed-columns.min.css" rel="stylesheet">
  3. <style>
  4. /*.bootstrap-table .fixed-table-container.fixed-height:not(.has-footer) {*/
  5. /*border-bottom: 0;*/
  6. /*}*/
  7. @-moz-document url-prefix() {
  8. table {
  9. table-layout: fixed;
  10. }
  11. }
  12. .customize-header tr th .th-inner{
  13. padding: 0.3rem!important;
  14. }
  15. </style>
  16. <!--成员管理-->
  17. <div class="modal" id="member" data-backdrop="static">
  18. <div class="modal-dialog modal-lg" role="document">
  19. <div class="modal-content">
  20. <div class="modal-header">
  21. <h5 class="modal-title">成员管理</h5>
  22. </div>
  23. <div class="modal-body pt-0">
  24. <div class="d-flex flex-row bg-graye">
  25. <div class="dropdown p-2">
  26. <button class="btn btn-outline-primary btn-sm dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  27. 添加用户
  28. </button>
  29. <div class="dropdown-menu" aria-labelledby="dropdownMenuButton" style="width:220px">
  30. <div class="mb-2 p-2"><input class="form-control form-control-sm" placeholder="姓名/手机 检索" id="member-search" autocomplete="off"></div>
  31. <dl class="list-unstyled book-list">
  32. <% accountGroup.forEach((group, idx) => { %>
  33. <dt><a href="javascript: void(0);" class="acc-btn" data-groupid="<%- idx %>" data-type="hide"><i class="fa fa-plus-square"></i></a> <%- group.groupName %></dt>
  34. <div class="dd-content" data-toggleid="<%- idx %>">
  35. <% group.groupList.forEach(item => { %>
  36. <dd class="border-bottom p-2 mb-0 " data-id="<%- item.id %>" >
  37. <p class="mb-0 d-flex"><span class="text-primary"><%- item.name %></span><span
  38. class="ml-auto"><%- item.mobile %></span>
  39. <span class="selected-mark text-success ml-2" style="display:none;"><i class="fa fa-check"></i></span>
  40. </p>
  41. <span class="text-muted"><%- item.role %></span>
  42. </dd>
  43. <% });%>
  44. </div>
  45. <% }) %>
  46. </dl>
  47. </div>
  48. </div>
  49. </div>
  50. <table class="table table-bordered" data-height="400" data-toggle="table" id="member-table">
  51. <thead class="text-center">
  52. <tr>
  53. <th class="align-middle" rowspan="2">成员名称</th>
  54. <th class="align-middle" rowspan="2">角色/职位</th>
  55. <% for (const pb of permissionBlock) { %>
  56. <th colspan="<%- pb.permission.filter(x => { return !x.isDefault; }).length %>"><%- pb.name %></th>
  57. <% } %>
  58. <th class="align-middle" rowspan="2">操作</th>
  59. </tr>
  60. <tr>
  61. <% for (const pb of permissionBlock) { %>
  62. <% for (const p of pb.permission) { %>
  63. <% if (p.isDefault) continue; %>
  64. <th><%- p.title %></th>
  65. <% } %>
  66. <% } %>
  67. </tr>
  68. </thead>
  69. <tbody id="member-list">
  70. </tbody>
  71. </table>
  72. </div>
  73. <div class="modal-footer">
  74. <button type="button" class="btn btn-sm btn-secondary" data-dismiss="modal">取消</button>
  75. <button type="button" class="btn btn-sm btn-primary" id="member-ok">确认修改</button>
  76. </div>
  77. </div>
  78. </div>
  79. </div>
  80. <script src="/public/js/bootstrap/bootstrap-table.min.js"></script>
  81. <script src="/public/js/bootstrap/locales/bootstrap-table-zh-CN.min.js"></script>
  82. <script>
  83. const accountList = JSON.parse(unescape('<%- escape(JSON.stringify(accountList)) %>'));
  84. const accountGroup = JSON.parse(unescape('<%- escape(JSON.stringify(accountGroup)) %>'));
  85. const permissionConst = JSON.parse(unescape('<%- escape(JSON.stringify(permissionConst)) %>'));
  86. const permissionBlock = JSON.parse(unescape('<%- escape(JSON.stringify(permissionBlock)) %>'));
  87. </script>