send.php 7.8 KB

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