robot.js 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  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: 'vbot/robot/index' + location.search,
  8. add_url: 'vbot/robot/add',
  9. edit_url: 'vbot/robot/edit',
  10. del_url: 'vbot/robot/del',
  11. multi_url: 'vbot/robot/multi',
  12. table: 'vbot_robot',
  13. }
  14. });
  15. var table = $("#table");
  16. // 初始化表格
  17. table.bootstrapTable({
  18. url: $.fn.bootstrapTable.defaults.extend.index_url,
  19. pk: 'id',
  20. sortName: 'weigh',
  21. columns: [
  22. [
  23. {checkbox: true},
  24. {field: 'id', title: __('Id')},
  25. {field: 'name', title: __('Name')},
  26. // {field: 'logo_image', title: __('Logo_image'), events: Table.api.events.image, formatter: Table.api.formatter.image},
  27. {field: 'webhook', title: __('Webhook')},
  28. {field: 'weigh', title: __('Weigh')},
  29. {
  30. field: 'openswitch',
  31. title: __('Openswitch'),
  32. searchList: {"0": __('Openswitch 0'), "1": __('Openswitch 1')},
  33. formatter: Table.api.formatter.toggle
  34. },
  35. {
  36. field: 'updatetime',
  37. title: __('Updatetime'),
  38. operate: 'RANGE',
  39. addclass: 'datetimerange',
  40. formatter: Table.api.formatter.datetime
  41. },
  42. {
  43. field: 'createtime',
  44. title: __('Createtime'),
  45. operate: 'RANGE',
  46. addclass: 'datetimerange',
  47. formatter: Table.api.formatter.datetime
  48. },
  49. {
  50. field: 'operate',
  51. title: __('Operate'),
  52. table: table,
  53. events: Table.api.events.operate,
  54. formatter: Table.api.formatter.operate
  55. }
  56. ]
  57. ]
  58. });
  59. // 为表格绑定事件
  60. Table.api.bindevent(table);
  61. },
  62. recyclebin: function () {
  63. // 初始化表格参数配置
  64. Table.api.init({
  65. extend: {
  66. 'dragsort_url': ''
  67. }
  68. });
  69. var table = $("#table");
  70. // 初始化表格
  71. table.bootstrapTable({
  72. url: 'vbot/robot/recyclebin' + location.search,
  73. pk: 'id',
  74. sortName: 'id',
  75. columns: [
  76. [
  77. {checkbox: true},
  78. {field: 'id', title: __('Id')},
  79. {field: 'name', title: __('Name'), align: 'left'},
  80. {
  81. field: 'deletetime',
  82. title: __('Deletetime'),
  83. operate: 'RANGE',
  84. addclass: 'datetimerange',
  85. formatter: Table.api.formatter.datetime
  86. },
  87. {
  88. field: 'operate',
  89. width: '130px',
  90. title: __('Operate'),
  91. table: table,
  92. events: Table.api.events.operate,
  93. buttons: [
  94. {
  95. name: 'Restore',
  96. text: __('Restore'),
  97. classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
  98. icon: 'fa fa-rotate-left',
  99. url: 'vbot/robot/restore',
  100. refresh: true
  101. },
  102. {
  103. name: 'Destroy',
  104. text: __('Destroy'),
  105. classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
  106. icon: 'fa fa-times',
  107. url: 'vbot/robot/destroy',
  108. refresh: true
  109. }
  110. ],
  111. formatter: Table.api.formatter.operate
  112. }
  113. ]
  114. ]
  115. });
  116. // 为表格绑定事件
  117. Table.api.bindevent(table);
  118. },
  119. add: function () {
  120. Controller.api.bindevent();
  121. },
  122. edit: function () {
  123. Controller.api.bindevent();
  124. },
  125. api: {
  126. bindevent: function () {
  127. Form.api.bindevent($("form[role=form]"));
  128. $('#send_test_msg').on('click', function () {
  129. let hook_url = $('#c-webhook')[0].value;
  130. if (hook_url.length <= 0) {
  131. Fast.api.msg("请输入WebHook地址");
  132. return;
  133. }
  134. Fast.api.ajax({
  135. url: 'vbot/robot/msg_test',
  136. data: {
  137. webhook: hook_url
  138. }
  139. },
  140. function (data, ret) {
  141. Toastr.success(ret.msg, '', {});
  142. return false;
  143. },
  144. function (data, ret) {
  145. Toastr.error(ret.msg, '', {});
  146. return false;
  147. });
  148. })
  149. }
  150. }
  151. };
  152. return Controller;
  153. });