test_paper.php 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  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-btn-container conrelTable">
  10. <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" onclick="action.open_add('{:Url('relation')}?id='+{$id}+'&relationship='+relationship,'关联试卷')">
  11. 选择{$relationship==1 ? '练习' : '考试'}试卷
  12. </button>
  13. <button class="layui-btn layui-btn-normal layui-btn-sm" onclick="window.location.reload()"><i class="layui-icon layui-icon-refresh"></i> 刷新</button>
  14. </div>
  15. <table class="layui-hide" id="List" lay-filter="List"></table>
  16. <input type="hidden" id="check_source_tmp" name="check_source_tmp"/>
  17. <script type="text/html" id="act">
  18. <button type="button" class="layui-btn layui-btn-danger layui-btn-xs" lay-event='delstor'>
  19. <i class="layui-icon">&#xe640;</i> 删除
  20. </button>
  21. </script>
  22. </div>
  23. </div>
  24. </div>
  25. </div>
  26. </div>
  27. <script src="{__ADMIN_PATH}js/layuiList.js"></script>
  28. {/block}
  29. {block name="script"}
  30. <script>
  31. var id="{$id}",relationship="{$relationship}";
  32. //实例化form
  33. layList.form.render();
  34. //加载列表
  35. layList.tableList({o:'List', done:function () {}},"{:Url('getRelationTestPaperList')}?id="+id+"&relationship="+relationship,function (){
  36. return [
  37. {field: 'id', title: '编号', width:'8%',align: 'center'},
  38. {field: 'types', title: '类型', width:'12%', align: 'center'},
  39. {field: 'title', title: '试卷标题'},
  40. {field: 'sort', title: '排序',sort: true,event:'sort',edit:'sort',align: 'center',width:100},
  41. {field: 'right', title: '操作',align:'center',toolbar:'#act'}
  42. ];
  43. },10);
  44. //快速编辑
  45. layList.edit(function (obj) {
  46. var test_id=obj.data.id,value=obj.value;
  47. switch (obj.field) {
  48. case 'sort':
  49. if(value < 0) return layList.msg('排序不能小于0');
  50. layList.baseGet(layList.Url({
  51. a: 'upRelationSort',
  52. q: {id:id,data_id:test_id, value: value,relationship:relationship}
  53. }), function (res) {
  54. layList.msg(res.msg);
  55. });
  56. break;
  57. }
  58. });
  59. //点击事件绑定
  60. layList.tool(function (event,data,obj) {
  61. switch (event) {
  62. case 'delstor':
  63. var url=layList.U({a:'delRelation',q:{id:id,data_id:data.id,relationship:relationship}});
  64. $eb.$swal('delete',function(){
  65. $eb.axios.get(url).then(function(res){
  66. if(res.status == 200 && res.data.code == 200) {
  67. $eb.$swal('success',res.data.msg);
  68. location.reload();
  69. }else
  70. return Promise.reject(res.data.msg || '删除失败')
  71. }).catch(function(err){
  72. $eb.$swal('error',err);
  73. });
  74. });
  75. break;
  76. }
  77. })
  78. //监听并执行排序
  79. layList.sort(['id','sort'],true);
  80. var action={
  81. open_add: function (url,title) {
  82. layer.open({
  83. type: 2 //Page层类型
  84. ,area: ['80%', '90%']
  85. ,title: title
  86. ,shade: 0.6 //遮罩透明度
  87. ,maxmin: true //允许全屏最小化
  88. ,anim: 1 //0-6的动画形式,-1不开启
  89. ,content: url,
  90. btn: '确定',
  91. btnAlign: 'c', //按钮居中
  92. closeBtn:1,
  93. yes: function(){
  94. layer.closeAll();
  95. var source_tmp = $("#check_source_tmp").val();
  96. var source_tmp_list = JSON.parse(source_tmp);
  97. var arr=[];
  98. for(var i=0;i<source_tmp_list.length;i++){
  99. arr.push(source_tmp_list[i].id);
  100. }
  101. var ids=arr.join(',');
  102. layList.baseGet(layList.Url({
  103. a: 'addRelation',
  104. q: {id: id, ids: ids,relationship:relationship}
  105. }), function (res) {
  106. layList.msg(res.msg,function () {
  107. location.reload();
  108. });
  109. });
  110. }
  111. });
  112. },
  113. refresh:function () {
  114. layList.reload();
  115. }
  116. };
  117. </script>
  118. {/block}