leavemessage.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  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: 'kefu/leavemessage/index' + location.search,
  8. add_url: 'kefu/leavemessage/add',
  9. edit_url: 'kefu/leavemessage/edit',
  10. del_url: 'kefu/leavemessage/del',
  11. multi_url: 'kefu/leavemessage/multi',
  12. table: 'kefu_leave_message',
  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. {
  26. field: 'kefuuser.avatar',
  27. title: __('Kefuuser.avatar'),
  28. events: Table.api.events.image,
  29. formatter: Table.api.formatter.image,
  30. operate: false
  31. },
  32. {
  33. field: 'kefuuser.nickname',
  34. title: __('Kefuuser.nickname'),
  35. operate: 'LIKE',
  36. placeholder: '模糊查找'
  37. },
  38. {field: 'fu_user_nickname', 'title': __('绑定用户'), operate: false},
  39. {field: 'name', title: __('Name'), operate: 'LIKE', placeholder: '模糊查找'},
  40. {field: 'contact', title: __('Contact')},
  41. {
  42. field: 'kefuuser.referrer',
  43. title: __('Kefuuser.referrer'),
  44. formatter: Controller.api.formatter.url
  45. },
  46. {
  47. field: 'message',
  48. title: __('Message'),
  49. operate: 'LIKE',
  50. placeholder: '模糊查找',
  51. formatter: Controller.api.formatter.value_substring
  52. },
  53. {
  54. field: 'createtime',
  55. title: __('Createtime'),
  56. operate: 'RANGE',
  57. addclass: 'datetimerange',
  58. formatter: Table.api.formatter.datetime
  59. },
  60. {
  61. field: 'operate',
  62. title: __('Operate'),
  63. table: table,
  64. events: Table.api.events.operate,
  65. formatter: Table.api.formatter.operate
  66. }
  67. ]
  68. ]
  69. });
  70. // 为表格绑定事件
  71. Table.api.bindevent(table);
  72. },
  73. add: function () {
  74. Controller.api.bindevent();
  75. },
  76. edit: function () {
  77. Controller.api.bindevent();
  78. },
  79. api: {
  80. bindevent: function () {
  81. Form.api.bindevent($("form[role=form]"));
  82. },
  83. formatter: {
  84. value_substring: function (value) {
  85. let value_length = value.replace(/[\u0391-\uFFE5]/g, "aa").length;
  86. return value_length > 20 ? value.substring(0, 20) + '...' : value;
  87. },
  88. url: function (value, row, index) {
  89. if (value) {
  90. value = value.split(' IP');
  91. return value[0] ? Table.api.formatter.url(value[0], row, index) : '';
  92. } else {
  93. return '';
  94. }
  95. }
  96. }
  97. }
  98. };
  99. return Controller;
  100. });