developers.js 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  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: 'developers/index' + location.search,
  8. add_url: 'developers/add',
  9. edit_url: 'developers/edit',
  10. del_url: 'developers/del',
  11. multi_url: 'developers/multi',
  12. import_url: 'developers/import',
  13. table: 'developers',
  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. fixedColumns: true,
  23. fixedRightNumber: 1,
  24. columns: [
  25. [
  26. {checkbox: true},
  27. {field: 'id', title: __('Id')},
  28. {field: 'user_id', title: __('User_id')},
  29. {
  30. field: 'job',
  31. title: __('Job'),
  32. operate: 'LIKE',
  33. table: table,
  34. class: 'autocontent',
  35. formatter: Table.api.formatter.content
  36. },
  37. {field: 'tags', title: __('Tags'), operate: 'LIKE', formatter: Table.api.formatter.flag},
  38. {field: 'work_years', title: __('Work_years')},
  39. {
  40. field: 'contact',
  41. title: __('Contact'),
  42. operate: 'LIKE',
  43. table: table,
  44. class: 'autocontent',
  45. formatter: Table.api.formatter.content
  46. },
  47. {
  48. field: 'status',
  49. title: __('Status'),
  50. searchList: {"0": __('Status 0'), "1": __('Status 1')},
  51. formatter: Table.api.formatter.status
  52. },
  53. {
  54. field: 'createtime',
  55. title: __('Createtime'),
  56. operate: 'RANGE',
  57. addclass: 'datetimerange',
  58. autocomplete: false,
  59. formatter: Table.api.formatter.datetime
  60. },
  61. {
  62. field: 'updatetime',
  63. title: __('Updatetime'),
  64. operate: 'RANGE',
  65. addclass: 'datetimerange',
  66. autocomplete: false,
  67. formatter: Table.api.formatter.datetime
  68. },
  69. {field: 'user.username', title: __('User.username'), operate: 'LIKE'},
  70. {field: 'user.nickname', title: __('User.nickname'), operate: 'LIKE'},
  71. {field: 'user.mobile', title: __('User.mobile'), operate: 'LIKE'},
  72. {
  73. field: 'user.avatar',
  74. title: __('User.avatar'),
  75. operate: 'LIKE',
  76. events: Table.api.events.image,
  77. formatter: Table.api.formatter.image
  78. },
  79. {
  80. field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate,
  81. buttons: [
  82. {
  83. name: 'ajax',
  84. title: __('审核'),
  85. classname: 'btn btn-xs btn-success btn-magic btn-ajax',
  86. icon: 'fa fa-check-square-o',
  87. confirm: '确认审核通过?',
  88. url: 'developers/audit',
  89. success: function (data, ret) {
  90. Layer.alert(ret.msg);
  91. table.bootstrapTable('refresh');
  92. //如果需要阻止成功提示,则必须使用return false;
  93. //return false;
  94. },
  95. error: function (data, ret) {
  96. console.log(data, ret);
  97. Layer.alert(ret.msg);
  98. return false;
  99. }
  100. }
  101. ],
  102. formatter: Table.api.formatter.operate
  103. }
  104. ]
  105. ]
  106. });
  107. // 为表格绑定事件
  108. Table.api.bindevent(table);
  109. },
  110. add: function () {
  111. Controller.api.bindevent();
  112. },
  113. edit: function () {
  114. Controller.api.bindevent();
  115. },
  116. api: {
  117. bindevent: function () {
  118. Form.api.bindevent($("form[role=form]"));
  119. }
  120. }
  121. };
  122. return Controller;
  123. });