edit.html 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>编辑角色</title>
  6. </head>
  7. <body>
  8. <script type="text/html" id="form">
  9. <input type="hidden" name="id" value="{{ d.id }}" />
  10. <div class="mainBox">
  11. <div class="main-container">
  12. <div class="main-container">
  13. <input type="hidden" id="id" name="id" value="{{d.id}}"/>
  14. <div class="layui-form-item">
  15. <label class="layui-form-label">角色名
  16. <text style="color:red;">*</text>
  17. </label>
  18. <div class="layui-input-block">
  19. <input type="text" name="name" id="name" value="{{d.name}}" placeholder="请输入角色名" class="layui-input"
  20. lay-verify="required" autocomplete="off"/>
  21. </div>
  22. </div>
  23. <div class="layui-form-item">
  24. <label class="layui-form-label">权限设置</label>
  25. <div class="layui-input-block">
  26. <div id="treeview" class="laytp-tree-horizontal layui-form-mid"><i
  27. class="layui-icon layui-icon-loading layui-icon layui-anim layui-anim-rotate layui-anim-loop"></i>
  28. </div>
  29. <input type="hidden" name="menu_ids" id="node_list"/>
  30. </div>
  31. </div>
  32. </div>
  33. </div>
  34. </div>
  35. <div class="bottom">
  36. <div class="button-container">
  37. <button type="submit" class="laytp-btn laytp-btn-primary laytp-btn-sm" lay-submit="" lay-filter="laytp-form">
  38. <i class="layui-icon layui-icon-ok"></i>
  39. 提交
  40. </button>
  41. <button type="reset" class="laytp-btn laytp-btn-sm">
  42. <i class="layui-icon layui-icon-refresh"></i>
  43. 重置
  44. </button>
  45. </div>
  46. </div>
  47. </script>
  48. <form class="layui-form" lay-filter="layui-form"></form>
  49. <script>
  50. if(localStorage.getItem("staticDomain")){
  51. document.write("<link rel='stylesheet' href='" + localStorage.getItem("staticDomain") + "/component/layui/css/layui.css?v=" + localStorage.getItem("version") + "'>");
  52. document.write("<script src='" + localStorage.getItem("staticDomain") + "/component/layui/layui.js?v="+localStorage.getItem("version")+"'><\/script>");
  53. document.write("<script src='" + localStorage.getItem("staticDomain") + "/component/laytp/layuiConfig.js?v="+localStorage.getItem("version")+"'><\/script>");
  54. }else{
  55. document.write("<link rel='stylesheet' href='/static/component/layui/css/layui.css?v=" + localStorage.getItem("version") + "'>");
  56. document.write("<script src='/static/component/layui/layui.js?v="+localStorage.getItem("version")+"'><\/script>");
  57. document.write("<script src='/static/component/laytp/layuiConfig.js?v="+localStorage.getItem("version")+"'><\/script>");
  58. }
  59. </script>
  60. <script>
  61. layui.use(['laytp'],function(){
  62. let form = layui.form;
  63. let $ = layui.jquery;
  64. let layer = layui.layer;
  65. let tree = layui.tree;
  66. //获取参数ID
  67. var id = facade.getUrlParam('id');
  68. if(!id){
  69. facade.error('参数ID不能为空');
  70. return false;
  71. }
  72. //获取数据,渲染到对应的节点上
  73. facade.ajax({
  74. route: "/admin.role/info",
  75. data: {id: id},
  76. successAlert: false,
  77. showLoading: true
  78. }).done(function(res){
  79. if(res.code === 0){
  80. layui.laytpl($("#form").html()).render(res.data,function(string){
  81. $("form").html(string);
  82. layui.laytpForm.render();
  83. form.render();
  84. facade.ajax({
  85. route: "/admin.menu/getTree",
  86. successAlert: false
  87. }).done(function(res){
  88. if(res.code === 0){
  89. let treeData = getTreeData(res.data);
  90. tree.render({
  91. elem: '#treeview'
  92. , data: treeData
  93. , showCheckbox: true
  94. , accordion: false
  95. , showLine: false
  96. , id: 'auth_node'
  97. , oncheck: function () {
  98. var ids = facade.getTreeCheckedIds(tree.getChecked('auth_node'));
  99. $('#node_list').val(ids);
  100. }
  101. });
  102. facade.ajax({
  103. route: '/admin.role/getMenuIds',
  104. data: {id: id},
  105. successAlert: false,
  106. async: false
  107. }).done(function (res) {
  108. tree.setChecked('auth_node', res.data);
  109. });
  110. }
  111. });
  112. });
  113. }
  114. });
  115. function getTreeData(data) {
  116. let key;
  117. for (key in data) {
  118. data[key].title = data[key].name;
  119. data[key].spread = true;
  120. if (data[key].children != null && data[key].children.length > 0) {
  121. data[key].children = getTreeData(data[key].children);
  122. }
  123. }
  124. return data;
  125. }
  126. form.on('submit(laytp-form)', function(data){
  127. var btnAnim = layui.button.load({elem:$(this)});
  128. facade.ajax({
  129. route:'/admin.role/edit',
  130. data:data.field
  131. }).done(function(res){
  132. if(res.code === 0){
  133. parent.layer.close(parent.layer.getFrameIndex(window.name));//关闭当前页
  134. parent.layui.table.reload("laytp-table");
  135. }
  136. btnAnim.stop();
  137. }).fail(function(){
  138. btnAnim.stop();
  139. });
  140. return false;
  141. });
  142. })
  143. </script>
  144. </body>
  145. </html>