questionlist.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329
  1. {extend name="public/layout" /}
  2. {block name="title"}试题管理{/block}
  3. {block name="body"}
  4. <style>
  5. html,
  6. body {
  7. display: block;
  8. min-width: 1100px;
  9. }
  10. .layui-fluid {
  11. display: block;
  12. box-shadow: 0 0 4px 0 #B6CADE;
  13. border-radius: 5px;
  14. margin: 15px;
  15. background-color: #ffffff;
  16. }
  17. .layui-table thead tr,
  18. .layui-table-header {
  19. background-color: #D8E6F1 !important;
  20. }
  21. .layui-form-label {
  22. width: auto;
  23. }
  24. .goback {
  25. float: left;
  26. margin-right: 20px;
  27. }
  28. .goback a {
  29. color: #269efb;
  30. }
  31. .goback i {
  32. position: relative !important;
  33. left: 0px;
  34. }
  35. .layui-btn-xs,
  36. .layui-btn-xs:hover {
  37. border: 1px solid #249EFB;
  38. background-color: #fff;
  39. color: #249EFB;
  40. padding: 0px 10px;
  41. }
  42. .layui-btn-danger,
  43. .layui-btn-danger:hover {
  44. color: #FF5722;
  45. background-color: #fff;
  46. border: 1px solid #FF5722;
  47. padding: 0px 10px;
  48. }
  49. .layui-btn-primary {
  50. color: #249EFB;
  51. border: 1px solid #249EFB;
  52. }
  53. .layui-btn-primary:hover {
  54. background-color: #E3F7FF;
  55. color: #249EFB;
  56. }
  57. .box_block{box-shadow: 0 0 4px 0 #B6CADE;background-color: #ffffff;border-radius: 5px;margin: 15px;padding:15px;}
  58. </style>
  59. <body>
  60. <div class="layui-form box_block">
  61. <div>
  62. <div class="layui-inline">
  63. <label class="layui-form-label">题面名称:</label>
  64. <div class="layui-input-inline">
  65. <input type="text" name="keyword" placeholder="请输入问题名称" autocomplete="off"
  66. class="layui-input">
  67. </div>
  68. </div>
  69. <div class="layui-inline">
  70. <label class="layui-form-label">分类</label>
  71. <div class="layui-input-inline">
  72. <select name="cate" lay-filter="cate" id="cate">
  73. <option value="">请选择分类</option>
  74. {volist name="cate" id="vo"}
  75. <option value="{$vo}">{$vo}</option>
  76. {/volist}
  77. </select>
  78. </div>
  79. </div>
  80. <div class="layui-inline">
  81. <label class="layui-form-label">题型</label>
  82. <div class="layui-input-inline">
  83. <select name="type" lay-filter="type" id="type">
  84. <option value="">请选择题型</option>
  85. <option value="单选">单选</option>
  86. <option value="多选">多选</option>
  87. <option value="判断">判断</option>
  88. <option value="简答">简答</option>
  89. </select>
  90. </div>
  91. </div>
  92. <div class="layui-inline">
  93. <button class="layui-btn layuiadmin-btn-course searchBtn" lay-submit
  94. lay-filter="LAY-user-front-search">
  95. <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
  96. </button>
  97. </div>
  98. </div>
  99. </div>
  100. <div class="layui-fluid">
  101. <div class="layui-card">
  102. <div class="layui-form layui-card-header layuiadmin-card-header-auto">
  103. <div class="layui-form-item">
  104. <div class="layui-inline" style="float: left;">
  105. <button class="layui-btn layuiadmin-btn layui-btn-primary" data-type="cate">分类管理</button>
  106. {auth:check name="exam/questionadd"}
  107. <button class="layui-btn layuiadmin-btn layui-btn-primary" data-type="adding">添加试题</button>
  108. {/auth:check}
  109. {auth:check name="exam/questionadd"}
  110. <button class="layui-btn layuiadmin-btn layui-btn-primary" data-type="importing">试题导入</button>
  111. {/auth:check}
  112. </div>
  113. </div>
  114. </div>
  115. <div class="layui-card-body">
  116. <table lay-filter="LAY-exam-question-list" id="LAY-exam-question-list"></table>
  117. </div>
  118. </div>
  119. </div>
  120. {/block}
  121. {block name="js"}
  122. <script type="text/html" id="strucTpl">
  123. <span>{{d.org.info}}</span>
  124. </script>
  125. <script type="text/html" id="grantTpl">
  126. {{# if(d.grant){ }}
  127. <span>{{d.grant.name}}</span>
  128. {{# }else{ }}
  129. <span>未绑定</span>
  130. {{# } }}
  131. </script>
  132. <script type="text/html" id="operateTpl">
  133. {auth:check name="exam/questionadd"}
  134. <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit">编辑</a>
  135. {/auth:check}
  136. {auth:check name="exam/questionpredel"}
  137. <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
  138. {/auth:check}
  139. </script>
  140. <script>
  141. layui.config({
  142. base: '__LAYUI__/' //静态资源所在路径
  143. ,
  144. }).extend({
  145. index: 'lib/index' //主入口模块
  146. }).use(['index', 'table', 'tree'], function () {
  147. var table = layui.table,
  148. $ = layui.jquery,
  149. form = layui.form;
  150. var listUrl = '{:url("exam/questionlist")}';
  151. table.render({
  152. elem: '#LAY-exam-question-list',
  153. url: listUrl,
  154. height: 'full-140',
  155. cols: [
  156. [{
  157. type: 'numbers',
  158. width: 80,
  159. title: '序号',
  160. sort: true
  161. }, {
  162. field: 'addtime',
  163. title: '创建时间',
  164. width: 180
  165. }, {
  166. field: 'ask',
  167. title: '题面'
  168. }, {
  169. field: 'type',
  170. title: '题型',
  171. width: 100
  172. }, {
  173. field: 'cate',
  174. title: '分类',
  175. width: 100
  176. }, {
  177. title: '操作',
  178. templet: '#operateTpl',
  179. width: 180,
  180. fixed: 'right'
  181. }]
  182. ],
  183. page: true,
  184. limit: 10,
  185. limits: [10, 20, 30, 40, 50, 60, 70, 80, 90, 100],
  186. text: '对不起,加载出现异常!'
  187. });
  188. form.on('submit(LAY-user-front-search)', function (data) {
  189. var where = {};
  190. where.keyword = $("input[name='keyword']").val();
  191. where.cate = $("select[name='cate']").val();
  192. where.type = $("select[name='type']").val();
  193. //执行重载
  194. table.reload('LAY-exam-question-list', {
  195. where: where
  196. });
  197. });
  198. //事件
  199. var active = {
  200. adding: function () {
  201. layer.open({
  202. type: 2,
  203. title: ['试题添加', 'color:#333333;background-color:#D8E6F1;'],
  204. content: '{:url("exam/questionadd")}',
  205. resize: false,
  206. area: ['80%', '80%'],
  207. end: function() {
  208. //执行重载
  209. table.reload('LAY-exam-question-list')
  210. }
  211. });
  212. },
  213. importing: function () {
  214. layer.open({
  215. type: 2,
  216. title: ['试题导入', 'color:#333333;background-color:#D8E6F1;'],
  217. content: '{:url("exam/importing")}',
  218. resize: false,
  219. area: ['80%', '80%'],
  220. end: function() {
  221. //执行重载
  222. table.reload('LAY-exam-question-list')
  223. }
  224. });
  225. },
  226. cateedit: function () {
  227. layer.open({
  228. type: 2,
  229. title: ['分类管理', 'color:#333333;background-color:#D8E6F1;'],
  230. content: '{:url("exam/catelist")}',
  231. resize: false,
  232. area: ['80%', '80%'],
  233. end: function () {
  234. location.reload();
  235. }
  236. });
  237. },
  238. cate: function () {
  239. layer.open({
  240. type: 2,
  241. title: ['分类管理', 'color:#333333;background-color:#D8E6F1;'],
  242. content: '{:url("exam/catelist")}',
  243. resize: false,
  244. area: ['80%', '80%'],
  245. });
  246. }
  247. }
  248. $('.layui-btn.layuiadmin-btn').on('click', function () {
  249. var type = $(this).data('type');
  250. active[type] ? active[type].call(this) : '';
  251. });
  252. //////
  253. table.on('tool(LAY-exam-question-list)', function (obj) {
  254. var data = obj.data;
  255. console.log(data.id);
  256. if (obj.event === 'edit') {
  257. layer.open({
  258. type: 2,
  259. title: ['试题编辑', 'color:#333333;background-color:#D8E6F1;'],
  260. content: '{:url("exam/questionedit")}?qid=' + data.id,
  261. resize: false,
  262. area: ['80%', '80%']
  263. });
  264. }
  265. if (obj.event === 'del') {
  266. $.ajax({
  267. url: '{:url("exam/questionpredel")}',
  268. data: {
  269. qid: data.id
  270. },
  271. type: 'post',
  272. success: function (res) {
  273. if (res.code === 0) {
  274. layer.confirm(res.msg, { title: ['信息', 'color:#333333;background-color:#D8E6F1;'], }, function (index) {
  275. $.ajax({
  276. url: '{:url("exam/questiondel")}',
  277. data: {
  278. qid: data.id
  279. },
  280. type: 'post',
  281. success: function (res) {
  282. if (res.code === 0) {
  283. table.reload('LAY-exam-question-list')
  284. layer.close(index);
  285. } else {
  286. layer.msg(res.msg, { anim: 6, time: 2000 });
  287. }
  288. }
  289. });
  290. });
  291. } else {
  292. layer.msg(res.msg, { anim: 6, time: 2000 });
  293. }
  294. }
  295. });
  296. }
  297. });
  298. });
  299. </script>
  300. </body>
  301. {/block}