roles.blade.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. <h2>{{ $title }} <a href="javascript:history.go(-1);" class="layui-btn layui-btn-primary layui-layer-close"
  2. style="position:relative;">返回</a></h2>
  3. <hr/>
  4. <form class="layui-form">
  5. <div class="layui-form-item">
  6. @if(isset($roler))
  7. <input type="hidden" name="id" value="{{ $roler['id'] }}">
  8. @endif
  9. </div>
  10. <div class="layui-form-item">
  11. <label class="layui-form-label">全部选择</label>
  12. <div class="layui-input-block">
  13. <input type="checkbox" lay-filter="xuanze" lay-skin="switch" lay-text="全选|全不选">
  14. </div>
  15. </div>
  16. <div class="layui-form-item">
  17. <label class="layui-form-label">选择权限</label>
  18. <div class="layui-input-block">
  19. <div id="LAY-auth-tree-index"></div>
  20. </div>
  21. </div>
  22. <div class="layui-form-item">
  23. <div class="layui-input-block">
  24. <button class="layui-btn" type="submit" lay-submit lay-filter="LAY-auth-tree-submit">提交</button>
  25. <button class="layui-btn layui-btn-default" type="reset">重置</button>
  26. </div>
  27. </div>
  28. </form>
  29. <script type="text/javascript">
  30. layui.extend({
  31. authtree: '/js/admin/layui/extends/authtree',
  32. });
  33. layui.use(['jquery', 'authtree', 'form', 'layer'], function () {
  34. var $ = layui.jquery;
  35. var authtree = layui.authtree;
  36. var form = layui.form;
  37. var layer = layui.layer;
  38. // 初始化
  39. var trees = authtree.listConvert(@json($menusAll), {
  40. primaryKey: 'id'
  41. , startPid: 0
  42. , parentKey: 'parent_id'
  43. , nameKey: 'title'
  44. , valueKey: 'slug'
  45. @if(isset($roler))
  46. , checkedKey: @json($checkedId)
  47. @endif
  48. });
  49. // 渲染时传入渲染目标ID,树形结构数据(具体结构看样例,checked表示默认选中),以及input表单的名字
  50. authtree.render('#LAY-auth-tree-index', trees, {
  51. inputname: 'authids[]'
  52. , layfilter: 'lay-check-auth'
  53. // ,autoclose: false
  54. // ,autochecked: false
  55. // ,openchecked: true
  56. , openall: true
  57. , autowidth: true
  58. });
  59. form.on('switch(zhankai)', function (data) {
  60. if (data.elem.checked) {
  61. authtree.showAll('#LAY-auth-tree-index');
  62. } else {
  63. authtree.closeAll('#LAY-auth-tree-index');
  64. }
  65. });
  66. form.on('switch(xuanze)', function (data) {
  67. if (data.elem.checked) {
  68. authtree.checkAll('#LAY-auth-tree-index');
  69. } else {
  70. authtree.uncheckAll('#LAY-auth-tree-index');
  71. }
  72. });
  73. form.on('submit(LAY-auth-tree-submit)', function (obj) {
  74. var authids = authtree.getChecked('#LAY-auth-tree-index');
  75. console.log('Choosed authids is', authids);
  76. $.ajax({
  77. @if(isset($path))
  78. url: '{{ $path }}',
  79. @else
  80. url: '/admin/roles/edit',
  81. @endif
  82. method: 'post',
  83. dataType: 'json',
  84. data: obj.field,
  85. success: function (res) {
  86. if (res.code === 0) {
  87. layer.msg('提交成功!');
  88. location.href = res.data.url;
  89. }
  90. }
  91. });
  92. return false;
  93. });
  94. });
  95. </script>