index.html 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. {extend name='table'}
  2. {block name="button"}
  3. <!--{if $type eq 'index' and auth("add")}-->
  4. <button data-modal='{:url("add")}' data-table-id="MenuTable" class='layui-btn layui-btn-sm layui-btn-primary'>添加菜单</button>
  5. <!--{/if}-->
  6. <!--{if $type eq 'index' and auth("state")}-->
  7. <button data-action='{:url("state")}' data-table-id="MenuTable" data-rule="id#{sps};status#0" class='layui-btn layui-btn-sm layui-btn-primary'>禁用菜单</button>
  8. <!--{/if}-->
  9. <!--{if $type eq 'recycle' and auth("state")}-->
  10. <button data-action='{:url("state")}' data-table-id="MenuTable" data-rule="id#{spp};status#1" class='layui-btn layui-btn-sm layui-btn-primary'>激活菜单</button>
  11. <!--{/if}-->
  12. {/block}
  13. {block name="content"}
  14. <div class="layui-tab layui-tab-card">
  15. <ul class="layui-tab-title">
  16. {foreach ['index'=>'系统菜单','recycle'=>'回 收 站'] as $k=>$v}
  17. {if isset($type) and $type eq $k}
  18. <li class="layui-this" data-open="{:url('index')}?type={$k}">{$v}</li>
  19. {else}
  20. <li data-open="{:url('index')}?type={$k}">{$v}</li>
  21. {/if}{/foreach}
  22. </ul>
  23. <div class="layui-tab-content">
  24. <table id="MenuTable" data-url="{:sysuri()}" data-target-search="form.form-search"></table>
  25. </div>
  26. </div>
  27. <script>
  28. $(function () {
  29. $('#MenuTable').layTable({
  30. even: true, height: 'full', page: false,
  31. sort: {field: 'sort desc,id', type: 'asc'},
  32. where: {type: '{$type|default="index"}'},
  33. filter: function (items) {
  34. var type = this.where.type;
  35. return items.filter(function (item) {
  36. return !(type === 'index' && item.status === 0);
  37. });
  38. },
  39. cols: [[
  40. {checkbox: true, field: 'sps'},
  41. {field: 'sort', title: '排序权重', width: 100, align: 'center', templet: '#SortInputTpl'},
  42. {
  43. field: 'icon', title: '图 标', width: 80, align: 'center', templet: function (d) {
  44. return layui.laytpl('<i class="{{d.icon}} font-s18"></i>').render(d);
  45. }
  46. },
  47. {
  48. field: 'title', title: '菜单名称', minWidth: 220, templet: function (d) {
  49. return layui.laytpl('<span class="color-desc">{{d.spl}}</span>{{d.title}}').render(d);
  50. }
  51. },
  52. {field: 'url', title: '跳转链接', minWidth: 200},
  53. {field: 'status', title: '菜单状态', minWidth: 120, align: 'center', templet: '#StatusSwitchTpl'},
  54. // {field: 'create_at', title: '创建时间', minWidth: 170, align: 'center'},
  55. {toolbar: '#toolbar', title: '操作面板', minWidth: 150, align: 'center', fixed: 'right'},
  56. ]]
  57. });
  58. // 数据状态切换操作
  59. layui.form.on('switch(StatusSwitch)', function (object) {
  60. object.data = {status: object.elem.checked > 0 ? 1 : 0};
  61. object.data.id = object.value.split('|')[object.data.status] || object.value;
  62. $.form.load("{:url('state')}", object.data, 'post', function (ret) {
  63. if (ret.code < 1) $.msg.error(ret.info, 3, function () {
  64. $('#MenuTable').trigger('reload');
  65. }); else {
  66. $('#MenuTable').trigger('reload');
  67. }
  68. return false;
  69. }, false);
  70. });
  71. });
  72. </script>
  73. <!-- 数据状态切换模板 -->
  74. <script type="text/html" id="StatusSwitchTpl">
  75. <!--{if auth("state")}-->
  76. {{# if( "{$type|default='index'}"==='index' || (d.spc<1 || d.status<1)){ }}
  77. <input type="checkbox" value="{{d.sps}}|{{d.spp}}" lay-text="已激活|已禁用" lay-filter="StatusSwitch" lay-skin="switch" {{-d.status>0?'checked':''}}>
  78. {{# }else{ }}
  79. {{-d.status ? '<b class="color-green">已激活</b>' : '<b class="color-red">已禁用</b>'}}
  80. {{# } }}
  81. <!--{else}-->
  82. {{-d.status ? '<b class="color-green">已激活</b>' : '<b class="color-red">已禁用</b>'}}
  83. <!--{/if}-->
  84. </script>
  85. <!-- 列表排序权重模板 -->
  86. <script type="text/html" id="SortInputTpl">
  87. <input type="number" min="0" data-blur-number="0" data-action-blur="{:sysuri()}" data-value="id#{{d.id}};action#sort;sort#{value}" data-loading="false" value="{{d.sort}}" class="layui-input text-center">
  88. </script>
  89. <!-- 操控面板的模板 -->
  90. <script type="text/html" id="toolbar">
  91. <!-- {if isset($type) and $type eq 'index'} -->
  92. <!-- {if auth('add')} -->
  93. {{# if(d.spt<2){ }}
  94. <a class="layui-btn layui-btn-sm layui-btn-primary" data-title="添加系统菜单" data-modal='{:url("add")}?pid={{d.id}}'>添 加</a>
  95. {{# }else{ }}
  96. <a class="layui-btn layui-btn-sm layui-btn-disabled">添 加</a>
  97. {{# } }}
  98. <!-- {/if} -->
  99. {if auth('edit')}
  100. <a class="layui-btn layui-btn-sm" data-event-dbclick data-title="编辑系统菜单" data-modal='{:url("edit")}?id={{d.id}}'>编 辑</a>
  101. {/if}
  102. <!-- {else} -->
  103. {if auth('remove')}
  104. {{# if( (d.spc<1 || d.status<1)){ }}
  105. <a class="layui-btn layui-btn-sm layui-btn-danger" data-confirm="确定要删除菜单吗?" data-action="{:url('remove')}" data-value="id#{{d.sps}}">删 除</a>
  106. {{# }else{ }}
  107. <a class="layui-btn layui-btn-disabled layui-btn-sm">删 除</a>
  108. {{# } }}
  109. {/if}
  110. <!-- {/if} -->
  111. </script>
  112. {/block}