questions.php 7.0 KB

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