log.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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: 'faqueue/log/index',
  8. del_url: 'faqueue/log/del',
  9. table: 'faqueue_log',
  10. }
  11. });
  12. var table = $("#table");
  13. // 初始化表格
  14. table.bootstrapTable({
  15. url: $.fn.bootstrapTable.defaults.extend.index_url,
  16. pk: 'id',
  17. sortName: 'id',
  18. columns: [
  19. [
  20. {checkbox: true},
  21. {field: 'id', title: __('Id')},
  22. {field: 'queue', title: __('Queue')},
  23. {field: 'job', title: __('Job'),operate:'LIKE %...%'},
  24. {field: 'data', title: __('Data'),formatter:function(value,row){
  25. if(row.job.indexOf('EmailJob') > -1 || row.job.indexOf('SmsJob') > -1){
  26. var div = document.createElement('div');
  27. div.innerHTML = value;
  28. value = div.innerText || div.textContent;
  29. var data = JSON.parse(value);
  30. var html = [];
  31. for(k in data){
  32. html.push(k+':'+data[k].substring(0,20)+'<br>');
  33. }
  34. return html.join(' ');
  35. }else{
  36. return value;
  37. }
  38. },operate:'LIKE %...%'},
  39. {field: 'create_time', title: __('Create_time'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
  40. {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
  41. ]
  42. ]
  43. });
  44. // 为表格绑定事件
  45. Table.api.bindevent(table);
  46. },
  47. api: {
  48. bindevent: function () {
  49. Form.api.bindevent($("form[role=form]"));
  50. }
  51. }
  52. };
  53. return Controller;
  54. });