question.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
  2. var Controller = {
  3. index: function () {
  4. // 初始化表格参数配置
  5. Table.api.init({
  6. extend: {
  7. index_url: 'train/question/index' + location.search,
  8. add_url: 'train/question/add',
  9. // edit_url: 'train/question/edit',
  10. del_url: 'train/question/del',
  11. multi_url: 'train/question/multi',
  12. table: 'train_question',
  13. }
  14. });
  15. var table = $("#table");
  16. // 初始化表格
  17. table.bootstrapTable({
  18. url: $.fn.bootstrapTable.defaults.extend.index_url,
  19. pk: 'id',
  20. sortName: 'id',
  21. columns: [
  22. [
  23. {checkbox: true},
  24. // {field: 'id', title: __('Id')},
  25. {field: 'title', title: __('Title'), width: '50%', operate: 'LIKE %...%',},
  26. {
  27. field: 'class_id',
  28. title: __('Class_id'),
  29. formatter: Table.api.formatter.label,
  30. searchList: $.getJSON('train/class_dict/classSelectList')
  31. },
  32. {
  33. field: 'type',
  34. title: __('Type'),
  35. formatter: Table.api.formatter.label,
  36. searchList: {1: '单选', 2: '多选', 3: '判断'},
  37. },
  38. {field: 'result', title: __('Result'), searchable: false},
  39. {field: 'created_at', title: __('createdAt'), operate:'RANGE', addclass:'datetimerange'},
  40. {
  41. field: 'operate',
  42. title: __('Operate'),
  43. table: table,
  44. events: Table.api.events.operate,
  45. formatter: Table.api.formatter.operate,
  46. buttons: [
  47. {
  48. name : 'detail',
  49. title : '详情',
  50. text : '详情',
  51. extend : 'data-toggle="tooltip"',
  52. icon : 'fa fa-th-list',
  53. classname: 'btn btn-xs btn-warning btn-dialog',
  54. url : 'train/question/detail',
  55. }
  56. ]
  57. }
  58. ]
  59. ]
  60. });
  61. table.on('post-body.bs.table', function (e, settings, json, xhr) {
  62. $('.form-commonsearch input[name="createdAt"]').attr('autocomplete','off')
  63. })
  64. // 为表格绑定事件
  65. Table.api.bindevent(table);
  66. },
  67. add: function () {
  68. Controller.api.bindevent();
  69. },
  70. edit: function () {
  71. Controller.api.bindevent();
  72. },
  73. api: {
  74. bindevent: function () {
  75. Form.api.bindevent($("form[role=form]"));
  76. updateType(1)
  77. }
  78. }
  79. };
  80. $('input[name="row[type]"]').change(function (){
  81. updateType($('input[name="row[type]"]:checked').val())
  82. })
  83. var result1 = ' <label class="control-label col-xs-12 col-sm-2">正确答案:</label>\n' +
  84. ' <div class="col-xs-12 col-sm-8">\n' +
  85. ' <div class="radio"><label for="row[result1]-1"><input id="row[result1]-1" checked="checked" name="row[result]" type="radio" value="1"> A</label> <label for="row[result1]-2"><input id="row[result1]-2" name="row[result]" type="radio" value="2"> B</label> <label for="row[result1]-3"><input id="row[result1]-3" name="row[result]" type="radio" value="3"> C</label> <label for="row[result1]-4"><input id="row[result1]-4" name="row[result]" type="radio" value="4"> D</label><label for="row[result1]-5"><input id="row[result1]-5" name="row[result]" type="radio" value="5"> E</label><label for="row[result1]-6"><input id="row[result1]-6" name="row[result]" type="radio" value="6"> F</label></div> </div>';
  86. var result2 = ' <label class="control-label col-xs-12 col-sm-2">正确答案:</label>\n' +
  87. ' <div class="col-xs-12 col-sm-8">\n' +
  88. ' <div class="checkbox"><label for="row[result2][]-1"><input id="row[result2][]-1" name="row[result][]" type="checkbox" value="1"> A</label> <label for="row[result2][]-2"><input id="row[result2][]-2" name="row[result][]" type="checkbox" value="2"> B</label> <label for="row[result2][]-3"><input id="row[result2][]-3" name="row[result][]" type="checkbox" value="3"> C</label> <label for="row[result2][]-4"><input id="row[result2][]-4" name="row[result][]" type="checkbox" value="4"> D</label><label for="row[result2][]-5"><input id="row[result2][]-5" name="row[result][]" type="checkbox" value="5"> E</label><label for="row[result2][]-6"><input id="row[result2][]-6" name="row[result][]" type="checkbox" value="6"> F</label></div> </div>\n';
  89. var result3 = ' <label class="control-label col-xs-12 col-sm-2">正确答案:</label>\n' +
  90. ' <div class="col-xs-12 col-sm-8">\n' +
  91. ' <div class="radio"><label for="row[result3]-1"><input id="row[result3]-1" checked="checked" name="row[result]" type="radio" value="1"> 对</label> <label for="row[result3]-2"><input id="row[result3]-2" name="row[result]" type="radio" value="2"> 错</label></div> </div>\n';
  92. var html = {
  93. 1:result1,
  94. 2:result2,
  95. 3:result3
  96. }
  97. updateType = function (show_num) {
  98. $('.answer-result').html(html[show_num])
  99. if(show_num == 3){
  100. $('.answer-items').hide()
  101. } else {
  102. $('.answer-items').show()
  103. }
  104. }
  105. return Controller;
  106. });