user.js 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  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/user/index',
  8. add_url: 'user/user/add',
  9. edit_url: 'user/user/edit',
  10. del_url: 'user/user/del',
  11. multi_url: 'user/user/multi',
  12. table: 'user',
  13. }
  14. });
  15. var table = $("#table");
  16. // 初始化表格
  17. table.bootstrapTable({
  18. url: $.fn.bootstrapTable.defaults.extend.index_url,
  19. pk: 'id',
  20. sortName: 'user.id',
  21. columns: [
  22. [
  23. {checkbox: true},
  24. {field: 'id', title: __('Id'), sortable: true},
  25. {field: 'nickname', title: __('Nickname'), operate: 'LIKE'},
  26. {
  27. field: 'avatar',
  28. title: __('Avatar'),
  29. events: Table.api.events.image,
  30. formatter: Table.api.formatter.image,
  31. operate: false
  32. },
  33. {field: 'mobile', title: __('Mobile'), operate: 'LIKE'},
  34. {field: 'grouping', title: __('分组'), operate: 'LIKE'},
  35. {
  36. field: 'gender',
  37. title: __('Gender'),
  38. visible: false,
  39. searchList: {1: __('Male'), 0: __('Female')}
  40. },
  41. {
  42. field: 'successions',
  43. title: __('Successions'),
  44. visible: false,
  45. operate: 'BETWEEN',
  46. sortable: true
  47. },
  48. {
  49. field: 'maxsuccessions',
  50. title: __('Maxsuccessions'),
  51. visible: false,
  52. operate: 'BETWEEN',
  53. sortable: true
  54. },
  55. {
  56. field: 'logintime',
  57. title: __('Logintime'),
  58. formatter: Table.api.formatter.datetime,
  59. operate: 'RANGE',
  60. addclass: 'datetimerange',
  61. sortable: true
  62. },
  63. {
  64. field: 'jointime',
  65. title: __('Jointime'),
  66. formatter: Table.api.formatter.datetime,
  67. operate: 'RANGE',
  68. addclass: 'datetimerange',
  69. sortable: true
  70. },
  71. {
  72. field: 'status',
  73. title: __('Status'),
  74. formatter: Table.api.formatter.status,
  75. searchList: {normal: __('Normal'), hidden: __('Hidden')}
  76. },
  77. {
  78. field: 'store.name',
  79. title: __('邀请门店'),
  80. operate: 'LIKE'
  81. },
  82. {
  83. field: 'parent.nickname',
  84. title: __('邀请人'),
  85. operate: 'LIKE'
  86. },
  87. {
  88. field: 'operate',
  89. title: __('Operate'),
  90. table: table,
  91. buttons: [
  92. {
  93. name: 'recharge',
  94. text: '充值',
  95. title: '充值',
  96. icon: 'fa fa-credit-card',
  97. classname: 'btn btn-xs btn-primary btn-dialog',
  98. url: 'user/user/recharge',
  99. visible: Config.admin.id === 1,
  100. refresh: true
  101. },
  102. {
  103. name: 'wallet',
  104. text: '钱包',
  105. title: '钱包',
  106. icon: 'fa fa-money',
  107. classname: 'btn btn-xs btn-primary btn-dialog',
  108. url: 'user/user/wallet?id={id}'
  109. },
  110. ],
  111. events: Table.api.events.operate,
  112. formatter: Table.api.formatter.operate
  113. }
  114. ]
  115. ]
  116. });
  117. // 为表格绑定事件
  118. Table.api.bindevent(table);
  119. },
  120. add: function () {
  121. Controller.api.bindevent();
  122. },
  123. edit: function () {
  124. Controller.api.bindevent();
  125. },
  126. recharge: function () {
  127. Controller.api.bindevent();
  128. },
  129. api: {
  130. bindevent: function () {
  131. Form.api.bindevent($("form[role=form]"));
  132. }
  133. }
  134. };
  135. return Controller;
  136. });