user.tpl 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8" />
  5. <title>欢迎页面-X-admin2.0</title>
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  7. <meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
  8. <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
  9. <link rel="stylesheet" href="./static/css/font.css">
  10. <link rel="stylesheet" href="./static/css/xadmin.css">
  11. <script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
  12. <script src="./static/lib/layui/layui.js" charset="utf-8"></script>
  13. <script type="text/javascript" src="./static/js/xadmin.js"></script>
  14. </head>
  15. <body>
  16. <input type="text" id="token" value={{.token}} hidden=true>
  17. <dialog open id="modalAdd" class="x-body layui-anim layui-anim-up" hidden=true style = "center;">
  18. <form action="user" method="post" class="layui-form layui-form-pane">
  19. 用户名:
  20. <input id="username" name="username" placeholder="用户名至少6个字符串" type="text" lay-verify="required" class="layui-input" >
  21. <br>
  22. <br>
  23. 密码:
  24. <input id="password" name="password" placeholder="密码6到32位" type="password" lay-verify="required" class="layui-input" >
  25. <br>
  26. <br>
  27. 确认密码:
  28. <input id="passwordform" name="passwordform" type="password" lay-verify="required" class="layui-input" >
  29. <br>
  30. <br>
  31. 权限:
  32. <select name="" id="permission">
  33. {{range .permissions}}
  34. <option value={{.Id}}>{{.Name}}</option>
  35. {{end}}
  36. </select>
  37. <br>
  38. <br>
  39. <input value="新增" class="layui-btn" style="width:100%;" type="button" onclick="addUser()">
  40. <br>
  41. <br>
  42. <input value="关闭" class="layui-btn" style="width:100%;" type="button" onclick="closeAddUser()">
  43. <hr class="hr20" >
  44. </form>
  45. </dialog>
  46. <dialog open id="modalModify" class="x-body layui-anim layui-anim-up" hidden=true style = "center;">
  47. <form action="user" method="put" class="layui-form layui-form-pane">
  48. <input id="modify_id" hidden=true type="text">
  49. 用户名:
  50. <input id="usernamemodify" name="usernamemodify" placeholder="用户名至少6个字符串" type="text" lay-verify="required" class="layui-input" >
  51. <br>
  52. <br>
  53. 密码:
  54. <input id="passwordmodify" name="passwordmodify" placeholder="密码6到32位" type="password" lay-verify="required" class="layui-input" >
  55. <br>
  56. <br>
  57. 确认密码:
  58. <input id="passwordformmodify" name="passwordformmodify" type="password" lay-verify="required" class="layui-input" >
  59. <br>
  60. <br>
  61. 权限:
  62. <select name="" id="permissionmodify">
  63. {{range .permissions}}
  64. <option value={{.Id}}>{{.Name}}</option>
  65. {{end}}
  66. </select>
  67. <br>
  68. <br>
  69. <input value="修改" class="layui-btn" style="width:100%;" type="button" onclick="modifyUser()">
  70. <br>
  71. <br>
  72. <input value="关闭" class="layui-btn" style="width:100%;" type="button" onclick="closeModifyUser()">
  73. <hr class="hr20" >
  74. </form>
  75. </dialog>
  76. <input class="layui-btn" type="button" onclick="OpenAddRole()" value=新增角色>
  77. <br>
  78. <br>
  79. <table border="1">
  80. <thead>
  81. <th style="width:256px;">操作</th>
  82. <th style="width:128px;">用户名</th>
  83. <th style="width:128px;">角色</th>
  84. <th style="width:256px;">创建时间</th>
  85. <th style="width:256px;">最后登录时间</th>
  86. </thead>
  87. <tbody>
  88. {{range .users}}
  89. <tr>
  90. <td style = "text-align:center;">
  91. <input class="layui-btn" type="button" onclick="OpenModifyUser({{.Id}}, {{.Username}}, {{.Password}})" value=修改>
  92. {{" | "}}
  93. <input class="layui-btn" type="button" onclick="clickDelete({{.Id}})" value=删除>
  94. </tb>
  95. <td style = "text-align:center;">{{.Username}}</td>
  96. <td style = "text-align:center;">{{GetRoleNameById .Role}}</td>
  97. <td style = "text-align:center;">{{TimeToStr .CreateTs}}</td>
  98. <td style = "text-align:center;">{{TimeToStr .LastLoginTs}}</td>
  99. </tr>
  100. {{end}}
  101. </tbody>
  102. </table>
  103. <script language="JavaScript">
  104. function OpenAddRole() {
  105. document.getElementById("modalAdd").hidden = false;
  106. }
  107. function closeAddUser() {
  108. document.getElementById("modalAdd").hidden = true;
  109. }
  110. function addUser() {
  111. var name = document.getElementById("username").value;
  112. if (name.length > 20 || name.length < 6){
  113. alert("用户名至少6个字符!");
  114. return;
  115. }
  116. var pwd = document.getElementById("password").value;
  117. var pwdform = document.getElementById("passwordform").value;
  118. if (pwd.length > 32 || pwd.length < 6){
  119. alert("密码至少6个且32个字符!");
  120. return;
  121. }
  122. if (pwd != pwdform) {
  123. document.getElementById("password").value = "";
  124. document.getElementById("passwordform").value = "";
  125. alert("密码不一致!");
  126. return;
  127. }
  128. document.getElementById("modalAdd").hidden = true;
  129. var token = document.getElementById("token").value;
  130. var permission = document.getElementById("permission").value;
  131. var text;
  132. text = "permission=" + encodeURI(permission) + "&token=" + encodeURI(token);
  133. text += "&username=" + encodeURI(name);
  134. text += "&password=" + encodeURI(pwd);
  135. $.ajax({
  136. type:"post",
  137. url:"user?" + text,
  138. success:function (data) {
  139. if (data.status){
  140. window.location.href="/user";
  141. if (data.info){
  142. layer.msg(data.info,{icon:1,time:1000});
  143. }
  144. }else{
  145. if (data.info){
  146. alert(data.info);
  147. }else{
  148. window.location.href="/accountlogin";
  149. }
  150. }
  151. }
  152. });
  153. }
  154. function OpenModifyUser(id, name, pwd) {
  155. document.getElementById("modify_id").value = id;
  156. document.getElementById("usernamemodify").value = name;
  157. document.getElementById("passwordmodify").value = pwd;
  158. document.getElementById("passwordformmodify").value = pwd;
  159. document.getElementById("modalModify").hidden = false;
  160. }
  161. function closeModifyUser() {
  162. document.getElementById("modalModify").hidden = true;
  163. }
  164. function modifyUser () {
  165. var name = document.getElementById("usernamemodify").value;
  166. if (name.length > 20 || name.length < 6){
  167. alert("用户名至少6个字符!");
  168. return;
  169. }
  170. var pwd = document.getElementById("passwordmodify").value;
  171. var pwdform = document.getElementById("passwordformmodify").value;
  172. if (pwd.length > 32 || pwd.length < 6){
  173. alert("密码至少6个且32个字符!");
  174. return;
  175. }
  176. if (pwd != pwdform) {
  177. document.getElementById("passwordmodify").value = "";
  178. document.getElementById("passwordformmodify").value = "";
  179. alert("密码不一致!");
  180. return;
  181. }
  182. document.getElementById("modalModify").hidden = true;
  183. var token = document.getElementById("token").value;
  184. var permission = document.getElementById("permissionmodify").value;
  185. var id = document.getElementById("modify_id").value;
  186. var text;
  187. text = "permission=" + encodeURI(permission) + "&token=" + encodeURI(token);
  188. text += "&username=" + encodeURI(name);
  189. text += "&password=" + encodeURI(pwd);
  190. text += "&id=" + encodeURI(id);
  191. $.ajax({
  192. type:"put",
  193. url:"user?" + text,
  194. success:function (data) {
  195. if (data.status){
  196. window.location.href="/user";
  197. if (data.info){
  198. layer.msg(data.info,{icon:1,time:1000});
  199. }
  200. }else{
  201. if (data.info){
  202. alert(data.info);
  203. }else{
  204. window.location.href="/accountlogin";
  205. }
  206. }
  207. }
  208. });
  209. }
  210. function clickDelete (id) {
  211. var token = document.getElementById("token").value;
  212. var text = "id=" + encodeURI(id) + "&action=delete";
  213. text += "&token=" + encodeURI(token);
  214. $.ajax({
  215. type:"delete",
  216. url:"/user?" + text,
  217. success:function (data) {
  218. // alert(data.status);
  219. if (data.status){
  220. window.location.href="/user";
  221. if (data.info){
  222. layer.msg(data.info,{icon:1,time:1000});
  223. }
  224. }else{
  225. if (data.info){
  226. alert(data.info);
  227. }else{
  228. window.location.href="/accountlogin";
  229. }
  230. }
  231. }
  232. });
  233. }
  234. </script>
  235. </body>
  236. </html>