user_unit.ejs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. <% include ./sub_menu.ejs %>
  2. <div class="panel-content">
  3. <div class="panel-title">
  4. <div class="title-main">
  5. <h2>账号管理
  6. <a href="#add-company" data-toggle="modal" data-target="#add-company" class="btn btn-primary btn-sm pull-right">添加单位</a>
  7. <% if (projectData.max_user === 0 || projectData.max_user > user_total) { %>
  8. <a href="#ver" data-toggle="modal" data-target="#add-user" class="btn btn-primary btn-sm pull-right mr-2">添加账号</a>
  9. <a href="#add-batch" data-toggle="modal" data-target="#add-batch" class="btn btn-primary btn-sm pull-right mr-1">批量导入账号</a>
  10. <% } else { %>
  11. <a href="#add-unpass" data-toggle="modal" data-target="#add-unpass" class="btn btn-primary btn-sm pull-right mr-2">添加账号(受限)</a>
  12. <a href="#add-unpass" data-toggle="modal" data-target="#add-unpass" class="btn btn-primary btn-sm pull-right mr-1">批量导入账号(受限)</a>
  13. <% } %>
  14. </h2>
  15. </div>
  16. </div>
  17. <div class="content-wrap">
  18. <div class="c-body">
  19. <div class="sjs-height-0">
  20. <nav class="nav nav-tabs m-3" role="tablist">
  21. <a class="nav-item nav-link" href="/setting/user">账号列表</a>
  22. <a class="nav-item nav-link" href="/setting/user/permission/set">账号权限</a>
  23. <a class="nav-item nav-link active" href="/setting/user/unit">参建单位</a>
  24. </nav>
  25. <div class="tab-content m-3">
  26. <div class="tab-pane active">
  27. <div class="row">
  28. <div class="col-5">
  29. <table class="table table-hover table-bordered table-sm">
  30. <thead id="unit_header">
  31. <tr>
  32. <th class="text-center">序号</th>
  33. <th class="text-center">单位名称</th>
  34. <th class="text-center">账号数</th>
  35. <th class="text-center">类型</th>
  36. <th class="text-center">备注</th></tr>
  37. </thead>
  38. <tbody id="unit_list" style="cursor: pointer">
  39. <% if (unitList.length > 0) { %>
  40. <% for (const [index, u] of unitList.entries()) { %>
  41. <tr <% if (index === 0) { %>class="table-warning" <% } %> data-id="<%- u.id %>">
  42. <td class="text-center" width="50px"><%- index+1 %></td>
  43. <td ><a href="javascript:void(0)"><%- u.name %></a></td>
  44. <td class="text-right" width="80px"><%- u.account_num %></td>
  45. <td width="100px"><%- accountGroup[u.type] %></td>
  46. <td width="150px"><%- u.basic %></td>
  47. </tr>
  48. <% } %>
  49. <% } %>
  50. </tbody>
  51. </table>
  52. </div>
  53. <% if (unitList.length > 0) { %>
  54. <div class="col-7">
  55. <div>
  56. <div class="row px-3">
  57. <div>
  58. <legend>单位详情</legend>
  59. </div>
  60. <div class="ml-auto">
  61. <div class="d-inline-block">
  62. <div class="form-check form-check-inline">
  63. <input class="form-check-input" type="checkbox" id="unit_user_permission" value="1" <% if (unitList[0].sign_permission) { %>checked=""<% } %>>
  64. <label class="form-check-label" for="unit_user_permission">授权所有人使用单位章</label>
  65. </div>
  66. </div>
  67. <div class="d-inline-block">
  68. <a href="#del-company" data-toggle="modal" data-target="#del-company" id="del-modal-btn" class="btn btn-outline-danger btn-sm btn-block">删除单位</a>
  69. </div>
  70. </div>
  71. </div>
  72. <table class="table table-hover table-bordered table-sm" id="one_unit">
  73. <tr>
  74. <th width="120">单位名称</th>
  75. <td width="200"><input class="form-control form-control-sm" type="text" data-name="name" id="unit_name" value="<%- unitList[0].name %>" placeholder=""></td>
  76. <th width="120">法人代表</th>
  77. <td width="200"><input class="form-control form-control-sm" type="text" data-name="corporation" id="unit_corporation" value="<%- unitList[0].corporation %>" placeholder=""></td>
  78. </tr>
  79. <tr>
  80. <th>企业信用代码</th>
  81. <td><input class="form-control form-control-sm" type="text" data-name="credit_code" id="unit_credit_code" value="<%- unitList[0].credit_code %>" placeholder=""></td>
  82. <th>类型</th>
  83. <td>
  84. <select class="form-control form-control-sm" id="unit_type" data-name="type">
  85. <option value="0">请选择</option>
  86. <% for (const dw in accountGroup) { %>
  87. <option value="<%= dw %>" <% if (unitList[0].type === parseInt(dw)) { %>selected<% } %>><%- accountGroup[dw] %></option>
  88. <% } %>
  89. </select>
  90. </td>
  91. </tr>
  92. <tr>
  93. <th>电话</th>
  94. <td><input class="form-control form-control-sm" type="text" data-name="tel" id="unit_tel" value="<%- unitList[0].tel %>" placeholder=""></td>
  95. <th>网站</th>
  96. <td><input class="form-control form-control-sm" type="text" data-name="website" id="unit_website" value="<%- unitList[0].website %>" placeholder=""></td>
  97. </tr>
  98. <tr>
  99. <th>所属地区</th>
  100. <td><input class="form-control form-control-sm" type="text" data-name="region" id="unit_region" value="<%- unitList[0].region %>" placeholder=""></td>
  101. <th>地址</th>
  102. <td><input class="form-control form-control-sm" type="text" data-name="address" id="unit_address" value="<%- unitList[0].address %>" placeholder=""></td>
  103. </tr>
  104. <tr>
  105. <th>备注</th>
  106. <td colspan="3">
  107. <textarea class="form-control form-control-sm" id="unit_basic" data-name="basic" value="<%- unitList[0].basic %>" rows="2"></textarea>
  108. </td>
  109. </tr>
  110. </table>
  111. </div>
  112. <div id="upload-sign" class="form-group">
  113. <label for="sign-upload">上传签章(暂时不做个数上限)</label>
  114. <input type="file" class="form-control-file" id="sign-upload" multiple>
  115. <small class="form-text text-danger">建议签章图片大小为160x160px,四边满版裁切、无留白,格式PNG透明背景(适用于报表打印,签章直径为4.2厘米的情况)</small>
  116. </div>
  117. <button type="button" data-toggle="modal" data-target="#mseal" class="btn btn-sm btn-primary" id="manage-sign">管理签章</button>
  118. <div class="form-group">
  119. <label>签章图预览(最多预览5个,按照上传顺序显示)</label>
  120. <div>
  121. <div class="position-relative">
  122. <img src="/public/images/baobiao3.png">
  123. <div class="position-absolute fixed-top" id="sign-show" style="left:60px;top:210px">
  124. <% if (unitList[0].sign_path) { %>
  125. <% const paths = unitList[0].sign_path.split('&%&') %>
  126. <% for (const sp of paths.slice(0, 5)) { %>
  127. <img src="<%- fujianOssPath + sp %>" width="120" class="mr-1">
  128. <% } %>
  129. <% } %>
  130. </div>
  131. </div>
  132. </div>
  133. </div>
  134. </div>
  135. <% } %>
  136. </div>
  137. </div>
  138. </div>
  139. </div>
  140. </div>
  141. </div>
  142. </div>
  143. <script>
  144. </script>
  145. <script src="/public/js/PinYinOrder.bundle.js"></script>
  146. <script src="/public/js/setting_unit_list_order.js"></script>
  147. <script src="/public/js/setting.js"></script>
  148. <script>
  149. const unitList = JSON.parse(unescape('<%- escape(JSON.stringify(unitList)) %>'));
  150. const accountGroup = JSON.parse(unescape('<%- escape(JSON.stringify(accountGroup)) %>'));
  151. const fujianOssPath = JSON.parse(unescape('<%- escape(JSON.stringify(fujianOssPath)) %>'));
  152. let oneUnit = unitList.length > 0 ? unitList[0] : null;
  153. </script>
  154. <script>
  155. autoFlashHeight();
  156. $(function () {
  157. unitListOrder.resetHeaderHtml();
  158. unitListOrder.reOrderUnits();
  159. })
  160. </script>