email.js 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
  2. //设置弹窗宽高
  3. Fast.config.openArea = ['80%', '80%'];
  4. var Controller = {
  5. index: function () {
  6. // 初始化表格参数配置
  7. Table.api.init({
  8. extend: {
  9. index_url: 'cms/email/index',
  10. add_url: '',
  11. edit_url: '',
  12. del_url: 'cms/email/del',
  13. multi_url: 'cms/email/multi',
  14. table: 'cms_email',
  15. }
  16. });
  17. var table = $("#table");
  18. // 初始化表格
  19. table.bootstrapTable({
  20. url: $.fn.bootstrapTable.defaults.extend.index_url,
  21. pk: 'id',
  22. sortName: 'id',
  23. fixedColumns: true,
  24. fixedRightNumber: 1,
  25. exportTypes: ['excel'],
  26. columns: [
  27. [
  28. {checkbox: true},
  29. {field: 'id', title: __('Id')},
  30. {field: 'user.nickname', title: __('Nickname'), operate: false},
  31. {field: 'email', title: __('Email'), formatter: Table.api.formatter.search, operate: 'like'},
  32. {field: 'type', title: __('Type'), searchList: {"home": __('Home'), "journal": __('Journal')}, formatter: Table.api.formatter.status},
  33. {field: 'createtime', title: __('Createtime'), sortable: true, operate: 'RANGE', addclass: 'datetimerange', formatter: Table.api.formatter.datetime},
  34. {
  35. field: 'operate',
  36. title: __('Operate'),
  37. clickToSelect: false,
  38. table: table,
  39. events: Table.api.events.operate,
  40. formatter: function (value, row, index) {
  41. var that = $.extend({}, this);
  42. var table = $(this.table).clone(true);
  43. that.table = table;
  44. return Table.api.formatter.operate.call(that, value, row, index);
  45. },
  46. buttons:[
  47. {
  48. name: 'detail',
  49. classname: 'btn btn-xs btn-warning btn-dialog',
  50. icon: 'fa fa-list',
  51. title: __('Detail'),
  52. text: __('Detail'),
  53. url: function (row) {
  54. return 'cms/email/edit?ids=' + row.id;
  55. },
  56. },
  57. ]
  58. },
  59. ]
  60. ]
  61. });
  62. // 为表格绑定事件
  63. Table.api.bindevent(table);
  64. },
  65. add: function () {
  66. Controller.api.bindevent();
  67. },
  68. edit: function () {
  69. Form.api.bindevent($("form[role=form]"));
  70. // 关闭弹窗
  71. $(document).on('click', '.btn-close', function () {
  72. Fast.api.close();
  73. });
  74. Controller.api.bindevent();
  75. },
  76. api: {
  77. bindevent: function () {
  78. Form.api.bindevent($("form[role=form]"));
  79. }
  80. }
  81. };
  82. return Controller;
  83. });