classrooms.js 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  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: 'classrooms/classrooms/index' + location.search,
  8. add_url: 'classrooms/classrooms/add',
  9. edit_url: '',
  10. del_url: '',
  11. multi_url: 'classrooms/classrooms/multi',
  12. table: 'classrooms',
  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. {field: 'id', title: __('Classroom_id')},
  24. {field: 'class_name', title: __('Class_name')},
  25. {field: 'subject', title: __('Subject')},
  26. {field: 'teacher', title: __('Teacher')},
  27. {field: 'status', title: __('Status'), searchList: {"1":__('已开放'),"2":__('已关闭'),"3":__('已取消')}, formatter: Table.api.formatter.status},
  28. {field: 'created_at', title: __('Created_at'), operate:'RANGE', addclass:'datetimerange'},
  29. {field: 'updated_at', title: __('Updated_at'), operate:'RANGE', addclass:'datetimerange'},
  30. {
  31. field: 'operate',
  32. export:false,
  33. title: __('Operate'),
  34. table: table,
  35. buttons: [
  36. {
  37. name : 'btn_consultation',
  38. title : __('加入课堂'),
  39. text : '加入课堂',
  40. extend : 'data-toggle="tooltip"',
  41. classname: 'btn btn-xs btn-success btn_join_classroom',
  42. visible : function (row){
  43. return row.status == 1 ? true : false
  44. },
  45. },
  46. {
  47. name : 'btn_consultation',
  48. title : __('关闭课堂'),
  49. text : '关闭课堂',
  50. extend : 'data-toggle="tooltip"',
  51. classname: 'btn btn-xs btn-success btn_close_classroom',
  52. visible : function (row){
  53. return row.status == 1 ? true : false
  54. }
  55. },
  56. {
  57. name : 'btn_consultation',
  58. title : __('取消课堂'),
  59. text : '取消课堂',
  60. extend : 'data-toggle="tooltip"',
  61. classname: 'btn btn-xs btn-success btn_cancel_classroom',
  62. visible : function (row){
  63. return row.status == 1 ? true : false
  64. }
  65. },
  66. ],
  67. events: Controller.api.events.assigned,
  68. formatter: Table.api.formatter.operate,
  69. }
  70. ]
  71. ]
  72. });
  73. // 为表格绑定事件
  74. Table.api.bindevent(table);
  75. },
  76. add: function () {
  77. Controller.api.bindevent();
  78. },
  79. edit: function () {
  80. Controller.api.bindevent();
  81. },
  82. api: {
  83. bindevent: function () {
  84. Form.api.bindevent($("form[role=form]"));
  85. },
  86. events: {
  87. assigned: {
  88. 'click .btn_join_classroom': function clickbtnJoinConsultation(e, value, row) {
  89. var date = new Date(row.created_at);
  90. var timestamp = date.getTime();
  91. window.open ('https://hz.pacsonline.cn/?username='+row.class_name+'&roomid='+row.id+timestamp);
  92. },
  93. 'click .btn_close_classroom': function clickbtnConsultation(e, value, row) {
  94. Layer.confirm(__('是否关闭课堂'), {
  95. }, function (index) {
  96. $.ajax({
  97. url: "classrooms/classrooms/close_classroom",
  98. type: 'post',
  99. dataType: 'json',
  100. data: {id:row.id},
  101. success: function (ret) {
  102. Layer.alert('关闭成功');
  103. $('.btn-refresh').trigger('click');
  104. // Fast.api.refreshmenu();
  105. }
  106. })
  107. });
  108. },
  109. 'click .btn_cancel_classroom': function clickbtnConsultation(e, value, row) {
  110. Layer.confirm(__('是否取消课堂'), {
  111. }, function (index) {
  112. $.ajax({
  113. url: "classrooms/classrooms/cancel_classroom",
  114. type: 'post',
  115. dataType: 'json',
  116. data: {id:row.id},
  117. success: function (ret) {
  118. Layer.alert('取消成功');
  119. $('.btn-refresh').trigger('click');
  120. // Fast.api.refreshmenu();
  121. }
  122. })
  123. });
  124. }
  125. }
  126. }
  127. }
  128. };
  129. return Controller;
  130. });