index.php 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. {extend name="public/container"}
  2. {block name="content"}
  3. <div class="layui-fluid">
  4. <div class="layui-row layui-col-space15" id="app">
  5. <div class="layui-col-md12">
  6. <div class="layui-card">
  7. <div class="layui-card-header">搜索条件</div>
  8. <div class="layui-card-body">
  9. <form class="layui-form layui-form-pane" action="">
  10. <div class="layui-form-item">
  11. <div class="layui-inline">
  12. <label class="layui-form-label">父级分类</label>
  13. <div class="layui-input-block">
  14. <select name="pid">
  15. <option value="">所有分类</option>
  16. {volist name="grade" id="vo"}
  17. <option value="{$vo.id}" {eq name="pid" value="$vo.id"}selected="selected"{/eq}>|----{$vo.name}</option>
  18. {/volist}
  19. </select>
  20. </div>
  21. </div>
  22. <div class="layui-inline">
  23. <label class="layui-form-label">分类名称</label>
  24. <div class="layui-input-block">
  25. <input type="text" name="name" class="layui-input" placeholder="请输入分类名称">
  26. </div>
  27. </div>
  28. <div class="layui-inline">
  29. <div class="layui-input-inline">
  30. <button class="layui-btn layui-btn-sm layui-btn-normal" lay-submit="search" lay-filter="search">
  31. <i class="layui-icon">&#xe615;</i> 搜索</button></button>
  32. </div>
  33. </div>
  34. </div>
  35. </form>
  36. </div>
  37. </div>
  38. </div>
  39. <!--产品列表-->
  40. <div class="layui-col-md12">
  41. <div class="layui-card">
  42. <div class="layui-card-header">二级分类列表</div>
  43. <div class="layui-card-body">
  44. <div class="alert alert-info" role="alert">
  45. 注:排序可进行快速编辑;默认按倒叙排序
  46. <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  47. </div>
  48. <div class="layui-btn-container">
  49. <button type="button" class="layui-btn layui-btn-normal layui-btn-sm"><a href="{:Url('admin/special.grade/index')}" style="color: #ffffff"><i class="layui-icon">&#xe65a;</i> 返回一级</a></button>
  50. <button type="button" class="layui-btn layui-btn-normal layui-btn-sm" onclick="$eb.createModalFrame('添加分类','{:Url('admin/special.grade/create')}?level=2&pid={$pid}',{h:500,w:800})"><i class="layui-icon">&#xe608;</i> 添加分类</button>
  51. <button type="button" class="layui-btn layui-btn-normal layui-btn-sm" onclick="window.location.reload();"><i class="layui-icon">&#xe669;</i> 刷新</button>
  52. </div>
  53. <table class="layui-hide" id="List" lay-filter="List"></table>
  54. <script type="text/html" id="is_show">
  55. <input type='checkbox' name='id' lay-skin='switch' value="{{d.id}}" lay-filter='is_show' lay-text='显示|隐藏' {{ d.is_show == 1 ? 'checked' : '' }}>
  56. </script>
  57. <script type="text/html" id="pic">
  58. <img style="cursor: pointer;width: 100%;" lay-event='open_image' src="{{d.pic}}">
  59. </script>
  60. <script type="text/html" id="act">
  61. <button class="layui-btn layui-btn-normal layui-btn-xs" onclick="$eb.createModalFrame('{{d.name}}-编辑','{:Url('admin/special.grade/create')}?sid={{d.id}}&level=2',{h:500,w:800})">
  62. <i class="layui-icon">&#xe642;</i> 编辑
  63. </button>
  64. <button class="layui-btn layui-btn-danger layui-btn-xs" lay-event='delstor'>
  65. <i class="layui-icon">&#xe640;</i> 删除
  66. </button>
  67. </script>
  68. </div>
  69. </div>
  70. </div>
  71. </div>
  72. </div>
  73. <script src="{__ADMIN_PATH}js/layuiList.js"></script>
  74. {/block}
  75. {block name="script"}
  76. <script>
  77. //实例化form
  78. layList.form.render();
  79. //加载列表
  80. layList.tableList('List',"{:Url('get_subject_list',['pid'=>$pid])}",function (){
  81. return [
  82. {field: 'id', title: '编号', width:60,align: 'center'},
  83. {field: 'grade_name', title: '父级分类',align: 'center'},
  84. {field: 'name', title: '分类名称',align: 'center'},
  85. {field: 'pic', title: '图标',templet:'#pic',align: 'center'},
  86. {field: 'special_count', title: '专题数量',align: 'center'},
  87. {field: 'sort', title: '排序',sort: true,edit:'sort',align: 'center'},
  88. {field: 'is_show', title: '状态',templet:'#is_show',align: 'center'},
  89. {field: 'right', title: '操作',align:'center',toolbar:'#act',minWidth:180},
  90. ];
  91. });
  92. //自定义方法
  93. var action= {
  94. set_value: function (field, id, value) {
  95. layList.baseGet(layList.Url({
  96. a: 'set_value',
  97. q: {field: field, id: id, value: value}
  98. }), function (res) {
  99. layList.msg(res.msg);
  100. });
  101. },
  102. }
  103. //查询
  104. layList.search('search',function(where){
  105. layList.reload(where,true);
  106. });
  107. //快速编辑
  108. layList.edit(function (obj) {
  109. var id=obj.data.id,value=obj.value;
  110. switch (obj.field) {
  111. case 'sort':
  112. if(value < 0) return layList.msg('排序不能小于0');
  113. action.set_value('sort',id,value);
  114. break;
  115. }
  116. });
  117. //监听并执行排序
  118. layList.sort(['id','sort'],true);
  119. //点击事件绑定
  120. layList.tool(function (event,data,obj) {
  121. switch (event) {
  122. case 'delstor':
  123. var url=layList.U({a:'delete',q:{id:data.id}});
  124. $eb.$swal('delete',function(){
  125. $eb.axios.get(url).then(function(res){
  126. if(res.status == 200 && res.data.code == 200) {
  127. $eb.$swal('success',res.data.msg);
  128. location.reload();
  129. }else
  130. return Promise.reject(res.data.msg || '删除失败')
  131. }).catch(function(err){
  132. $eb.$swal('error',err);
  133. });
  134. })
  135. break;
  136. case 'open_image':
  137. $eb.openImage(data.pic);
  138. break;
  139. }
  140. })
  141. //是否显示快捷按钮操作
  142. layList.switch('is_show',function (odj,value) {
  143. if(odj.elem.checked==true){
  144. layList.baseGet(layList.Url({a:'set_show',p:{is_show:1,id:value}}),function (res) {
  145. layList.msg(res.msg);
  146. });
  147. }else{
  148. layList.baseGet(layList.Url({a:'set_show',p:{is_show:0,id:value}}),function (res) {
  149. layList.msg(res.msg);
  150. });
  151. }
  152. });
  153. </script>
  154. {/block}