special.php 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  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. <div class="layui-form layui-form-pane">
  10. <div class="layui-form-item">
  11. <div class="layui-inline">
  12. <label class="layui-form-label">专题名称</label>
  13. <div class="layui-input-inline">
  14. <input type="text" autocomplete="off" class="layui-input" name="title" id="demoReload" placeholder="请输入专题名称">
  15. </div>
  16. </div>
  17. <div class="layui-inline">
  18. <label class="layui-form-label">讲师</label>
  19. <div class="layui-input-inline">
  20. <select name="mer_id" id="mer_id">
  21. <option value="">全部</option>
  22. <option value="0">总平台</option>
  23. {volist name='mer_list' id='vc'}
  24. <option value="{$vc.id}">{$vc.mer_name}</option>
  25. {/volist}
  26. </select>
  27. </div>
  28. </div>
  29. <div class="layui-inline">
  30. <label class="layui-form-label">专题类型</label>
  31. <div class="layui-input-inline">
  32. <select name="type" id="test">
  33. <option value="">全部</option>
  34. <option value="1">图文专题</option>
  35. <option value="2">音频专题</option>
  36. <option value="3">视频专题</option>
  37. <option value="5">专栏专题</option>
  38. <option value="6">轻专题</option>
  39. </select>
  40. </div>
  41. </div>
  42. <div class="layui-inline">
  43. <button type="button" class="layui-btn layui-btn-normal layui-btn-sm" data-type="reload">搜索</button>
  44. </div>
  45. </div>
  46. </div>
  47. </div>
  48. </div>
  49. </div>
  50. <!--产品列表-->
  51. <div class="layui-col-md12">
  52. <div class="layui-card">
  53. <div class="layui-card-header">专题列表</div>
  54. <div class="layui-card-body">
  55. <div class="layui-btn-container">
  56. <button class="layui-btn layui-btn-normal layui-btn-sm" onclick="window.location.reload()"><i class="layui-icon layui-icon-refresh"></i> 刷新</button>
  57. </div>
  58. <table class="layui-hide" id="List" lay-filter="List"></table>
  59. <script type="text/html" id="image">
  60. <img style="cursor: pointer;width: 80px;height: 40px;" lay-event='open_image' src="{{d.image}}">
  61. </script>
  62. <script type="text/html" id="is_light">
  63. {{# if(d.is_light==1){ }}
  64. 轻专题
  65. {{# }else{ }}
  66. 普通专题
  67. {{# }; }}
  68. </script>
  69. <script type="text/html" id="is_show">
  70. <input type='checkbox' name='id' lay-skin='switch' value="{{d.id}}" lay-filter='is_show' lay-text='显示|隐藏' {{ d.is_show == 1 ? 'checked' : '' }}>
  71. </script>
  72. </div>
  73. </div>
  74. </div>
  75. </div>
  76. </div>
  77. <script src="{__ADMIN_PATH}js/layuiList.js"></script>
  78. {/block}
  79. {block name="script"}
  80. <script>
  81. var table_date=new Array();//用于保存当前页数据
  82. var ids=new Array(); //用于保存选中的数据
  83. //实例化form
  84. layList.form.render();
  85. var table = layui.table;
  86. table.render({
  87. elem: '#List'
  88. ,url:"{:Url('special.special_type/get_relation_source_list')}?special_id=0&special_type=7"
  89. ,cols: [[
  90. {type: 'checkbox'},
  91. {field: 'id', title: '编号', width:60,align: 'center'},
  92. {field: 'mer_name', title: '讲师', width:80},
  93. {field: 'types', title: '类型',align: 'center'},
  94. {field: 'is_light', title: '专题类别',templet:'#is_light',align:'center'},
  95. {field: 'title', title: '专题标题',align: 'center'},
  96. {field: 'image', title: '封面',templet:'#image',align: 'center'},
  97. ]]
  98. ,id: 'testReload'
  99. ,page: {
  100. theme: '#0092dc'
  101. }
  102. ,limit:10
  103. ,done:function (res,curr,count) {
  104. table_date=res.data;
  105. for(var i=0;i< res.data.length;i++){
  106. if(ids.length>0){
  107. for (var j = 0; j < ids.length; j++) {
  108. if(res.data[i].id == ids[j].id) {
  109. res.data[i]["LAY_CHECKED"]='true';/*设置勾选*/
  110. /*找到对应数据改变勾选样式*/
  111. var index= res.data[i]['LAY_TABLE_INDEX'];
  112. $('tr[data-index=' + index + '] input[type="checkbox"]').prop('checked', true);
  113. $('tr[data-index=' + index + '] input[type="checkbox"]').next().addClass('layui-form-checked');
  114. }
  115. }
  116. }
  117. }
  118. var checkStatus = table.checkStatus('List');/*获得选中的值 和判断是否是全选 isAll true全选 isAlL false 没有全选*/
  119. if(checkStatus.isAll){
  120. $('.layui-table-header th[data-field="0"] input[type="checkbox"]').prop('checked', true);
  121. $('.layui-table-header th[data-field="0"] div[class="layui-unselect layui-form-checkbox"]').addClass('layui-form-checked');
  122. }
  123. removeArrayRepElement(ids);
  124. $("#check_source_tmp",window.parent.document).val(JSON.stringify(ids));
  125. }
  126. });
  127. var $ = layui.$, active = {
  128. reload: function(){
  129. var demoReload = $('#demoReload');
  130. //执行重载
  131. table.reload('testReload', {
  132. page: {
  133. curr: 1 //重新从第 1 页开始
  134. }
  135. ,where: {
  136. title: demoReload.val(),
  137. type:$('#test option:selected').val(),
  138. mer_id:$('#mer_id option:selected').val()
  139. }
  140. }, 'data');
  141. }
  142. };
  143. $('.layui-btn').on('click', function(){
  144. var type = $(this).data('type');
  145. active[type] ? active[type].call(this) : '';
  146. });
  147. //删除重复
  148. function removeArrayRepElement(arr) {
  149. for (var i = 0; i < arr.length; i++) {
  150. for (var j = 0; j < arr.length; j++) {
  151. if (arr[i].id == arr[j].id && i != j) {
  152. arr.splice(j, 1);
  153. }
  154. }
  155. }
  156. return arr;
  157. }
  158. table.on('checkbox(List)', function (obj) {
  159. if(obj.checked==true){
  160. if(obj.type=='one'){
  161. ids.push(obj.data);
  162. }else{
  163. for(var i=0;i<table_date.length;i++){
  164. ids.push(table_date[i]);
  165. }
  166. }
  167. ids=removeArrayRepElement(ids);
  168. }else{
  169. if(obj.type=='one'){
  170. for(var i=0;i<ids.length;i++){
  171. if(ids[i].id==obj.data.id){
  172. ids.remove(i);
  173. }
  174. }
  175. }else{
  176. for(var i=0;i<ids.length;i++){
  177. for(var j=0;j<table_date.length;j++){
  178. if(ids[i].id==table_date[j].id){
  179. ids.remove(i);
  180. }
  181. }
  182. }
  183. }
  184. }
  185. $("#check_source_tmp",window.parent.document).val(JSON.stringify(ids));
  186. });
  187. Array.prototype.remove=function(dx){
  188. if(isNaN(dx)||dx>this.length){return false;}
  189. for(var i=0,n=0;i<this.length;i++)
  190. {
  191. if(this[i]!=this[dx]){
  192. this[n++]=this[i];
  193. }
  194. }
  195. this.length-=1;
  196. };
  197. </script>
  198. {/block}