add.html 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>添加角色</title>
  6. </head>
  7. <body>
  8. <form class="layui-form" lay-filter="layui-form">
  9. <div class="mainBox">
  10. <div class="main-container">
  11. <div class="main-container">
  12. <div class="layui-form-item">
  13. <label class="layui-form-label">角色名
  14. <text style="color:red;">*</text>
  15. </label>
  16. <div class="layui-input-block">
  17. <input type="text" name="name" id="name" placeholder="请输入角色名" class="layui-input" lay-verify="required"
  18. autocomplete="off"/>
  19. </div>
  20. </div>
  21. <div class="layui-form-item">
  22. <label class="layui-form-label">权限设置</label>
  23. <div class="layui-input-block">
  24. <div id="treeview" class="laytp-tree-horizontal layui-form-mid"><i
  25. class="layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop"></i>
  26. </div>
  27. <input type="hidden" name="menu_ids" id="node_list"/>
  28. </div>
  29. </div>
  30. </div>
  31. </div>
  32. </div>
  33. <div class="bottom">
  34. <div class="button-container">
  35. <button type="submit" class="laytp-btn laytp-btn-primary laytp-btn-sm" lay-submit="" lay-filter="add">
  36. <i class="layui-icon layui-icon-ok"></i>
  37. 提交
  38. </button>
  39. <button type="reset" class="laytp-btn laytp-btn-sm">
  40. <i class="layui-icon layui-icon-refresh"></i>
  41. 重置
  42. </button>
  43. </div>
  44. </div>
  45. </form>
  46. <script>
  47. if(localStorage.getItem("staticDomain")){
  48. document.write("<link rel='stylesheet' href='" + localStorage.getItem("staticDomain") + "/component/layui/css/layui.css?v=" + localStorage.getItem("version") + "'>");
  49. document.write("<script src='" + localStorage.getItem("staticDomain") + "/component/layui/layui.js?v="+localStorage.getItem("version")+"'><\/script>");
  50. document.write("<script src='" + localStorage.getItem("staticDomain") + "/component/laytp/layuiConfig.js?v="+localStorage.getItem("version")+"'><\/script>");
  51. }else{
  52. document.write("<link rel='stylesheet' href='/static/component/layui/css/layui.css?v=" + localStorage.getItem("version") + "'>");
  53. document.write("<script src='/static/component/layui/layui.js?v="+localStorage.getItem("version")+"'><\/script>");
  54. document.write("<script src='/static/component/laytp/layuiConfig.js?v="+localStorage.getItem("version")+"'><\/script>");
  55. }
  56. </script>
  57. <script>
  58. layui.use(["laytp"], function () {
  59. const
  60. $ = layui.$,
  61. tree = layui.tree,
  62. facade = layui.facade
  63. ;
  64. facade.ajax({
  65. route: "/admin.menu/getTree",
  66. successAlert: false
  67. }).done(function(res){
  68. if(res.code === 0){
  69. let treeData = getTreeData(res.data);
  70. tree.render({
  71. elem: '#treeview'
  72. , data: treeData
  73. , showCheckbox: true
  74. , accordion: false
  75. , showLine: false
  76. , id: 'auth_node'
  77. , oncheck: function () {
  78. var ids = facade.getTreeCheckedIds(tree.getChecked('auth_node'));
  79. $('#node_list').val(ids);
  80. }
  81. });
  82. }
  83. });
  84. function getTreeData(data) {
  85. let key;
  86. for (key in data) {
  87. data[key].title = data[key].name;
  88. data[key].spread = true;
  89. if (data[key].children != null && data[key].children.length > 0) {
  90. data[key].children = getTreeData(data[key].children);
  91. }
  92. }
  93. return data;
  94. }
  95. layui.form.on('submit(add)', function(data){
  96. var btnAnim = layui.button.load({elem:$(this)});
  97. facade.ajax({
  98. route:'/admin.role/add',
  99. data : data.field
  100. }).done(function(res){
  101. if(res.code === 0){
  102. parent.layui.layer.close(parent.layui.layer.getFrameIndex(window.name));//关闭当前页
  103. parent.layui.table.reload("laytp-table");
  104. }
  105. btnAnim.stop();
  106. }).fail(function(){
  107. btnAnim.stop();
  108. });
  109. return false;
  110. });
  111. });
  112. </script>
  113. </body>
  114. </html>