report.js 4.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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: 'user/report/index' + location.search,
  8. // add_url: 'user/report/add',
  9. // edit_url: 'user/report/edit',
  10. del_url: 'user/report/del',
  11. // multi_url: 'user/report/multi',
  12. // import_url: 'user/report/import',
  13. table: 'user_report',
  14. }
  15. });
  16. var table = $("#table");
  17. // 初始化表格
  18. table.bootstrapTable({
  19. url: $.fn.bootstrapTable.defaults.extend.index_url,
  20. pk: 'id',
  21. sortName: 'id',
  22. columns: [
  23. [
  24. {checkbox: true},
  25. {field: 'id', title: __('Id')},
  26. {field: 'user.u_id', title: __('举报用户ID')},
  27. {field: 'user.nickname', title: __('举报用户昵称'), operate: 'LIKE'},
  28. {
  29. field: 'reportable_type', title: __('举报对象类型'), operate: false, formatter: function (value, row, index) {
  30. if (value.indexOf("User") != -1) {
  31. return "用户";
  32. } else if (value.indexOf("Party") != -1) {
  33. return '房间';
  34. }
  35. }
  36. },
  37. {
  38. field: 'reportable_id', title: __('举报对象'), operate: false, formatter: function (value, row, index) {
  39. if (row.reportable_type.indexOf("User") != -1) {
  40. return row.model.nickname + '<br>(用户ID:' + row.model.u_id + ')';
  41. } else if (row.reportable_type.indexOf("Party") != -1) {
  42. return row.model.party_name + '<br>(派对ID:' + row.model.party_id + ')';
  43. }
  44. }
  45. },
  46. {
  47. field: 'content', title: __('Content'), operate: 'LIKE',
  48. formatter: function (value, row, index, field) {
  49. return "<span style='display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' title='" + row.content + "'>" + value + "</span>";
  50. },
  51. cellStyle: function (value, row, index, field) {
  52. return {
  53. css: {
  54. "white-space": "nowrap",
  55. "text-overflow": "ellipsis",
  56. "overflow": "hidden",
  57. "max-width": "250px"
  58. }
  59. };
  60. }
  61. },
  62. {field: 'image', title: __('Image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.images},
  63. {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
  64. {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
  65. ]
  66. ]
  67. });
  68. // 为表格绑定事件
  69. Table.api.bindevent(table);
  70. },
  71. add: function () {
  72. Controller.api.bindevent();
  73. },
  74. edit: function () {
  75. Controller.api.bindevent();
  76. },
  77. api: {
  78. bindevent: function () {
  79. Form.api.bindevent($("form[role=form]"));
  80. }
  81. }
  82. };
  83. return Controller;
  84. });