group.js 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'jstree'], function ($, undefined, Backend, Table, Form, undefined) {
  2. //读取选中的条目
  3. var Controller = {
  4. index: function () {
  5. // 初始化表格参数配置
  6. Table.api.init({
  7. extend: {
  8. index_url: 'user/group/index',
  9. edit_url: 'user/group/edit',
  10. table: 'user_group',
  11. }
  12. });
  13. var table = $("#table");
  14. // 初始化表格
  15. table.bootstrapTable({
  16. url: $.fn.bootstrapTable.defaults.extend.index_url,
  17. pk: 'id',
  18. sortName: 'id',
  19. columns: [
  20. [
  21. {checkbox: true},
  22. {field: 'id', title: __('Id'), operate: false},
  23. {field: 'mobile', title: __('Mobile'), operate: 'LIKE', formatter: function(value, row, index) {
  24. return row.code +'-'+row.mobile;
  25. }},
  26. {field: 'invitation_code', title: __('Invitation_code')},
  27. {field: 'agent_in_usdt', title: __('Agent_in_usdt'), searchList: {0: __('Close'), 1: __('Open')} , formatter: Table.api.formatter.status,operate:false},
  28. {field: 'agent_in_bank', title: __('Agent_in_bank'), searchList: {0: __('Close'), 1: __('Open')}, formatter: Table.api.formatter.status,operate:false},
  29. {field: 'agent_out_usdt', title: __('Agent_out_usdt'), searchList: {0: __('Close'), 1: __('Open')}, formatter: Table.api.formatter.status,operate:false},
  30. {field: 'agent_out_bank', title: __('Agent_out_bank'), searchList: {0: __('Close'), 1: __('Open')}, formatter: Table.api.formatter.status,operate:false},
  31. {field: 'service_link', title: __('Service_link'), operate: false},
  32. {field: 'team_num', title: __('Team'), operate: 'Like'},
  33. {field: 'operate', title: __('Operate'), table: table,
  34. buttons: [{
  35. name: "edit",
  36. text: __('Edit'),
  37. classname: 'btn btn-xs btn-success btn-magic btn-dialog',
  38. url: 'user/group/edit',
  39. refresh: true
  40. },{
  41. name: "disable",
  42. text: __('Disable'),
  43. classname: 'btn btn-xs btn-danger btn-magic btn-ajax',
  44. confirm: __('Confirm review'),
  45. url: 'user/group/disable/is_lock/1',
  46. visible: function (row) {
  47. if(row.is_lock == 0) return true;
  48. return false;
  49. },
  50. refresh: true
  51. }],
  52. events: Table.api.events.operate, formatter: Table.api.formatter.operate
  53. }
  54. ]
  55. ]
  56. });
  57. // 为表格绑定事件
  58. Table.api.bindevent(table);
  59. },
  60. edit: function () {
  61. Controller.api.bindevent();
  62. },
  63. api: {
  64. bindevent: function () {
  65. Form.api.bindevent($("form[role=form]"), null, null, function () {
  66. if ($("#treeview").length > 0) {
  67. var r = $("#treeview").jstree("get_all_checked");
  68. $("input[name='row[rules]']").val(r.join(','));
  69. }
  70. return true;
  71. });
  72. //渲染权限节点树
  73. //销毁已有的节点树
  74. $("#treeview").jstree("destroy");
  75. Controller.api.rendertree(nodeData);
  76. //全选和展开
  77. $(document).on("click", "#checkall", function () {
  78. $("#treeview").jstree($(this).prop("checked") ? "check_all" : "uncheck_all");
  79. });
  80. $(document).on("click", "#expandall", function () {
  81. $("#treeview").jstree($(this).prop("checked") ? "open_all" : "close_all");
  82. });
  83. $("select[name='row[pid]']").trigger("change");
  84. },
  85. rendertree: function (content) {
  86. $("#treeview")
  87. .on('redraw.jstree', function (e) {
  88. $(".layer-footer").attr("domrefresh", Math.random());
  89. })
  90. .jstree({
  91. "themes": {"stripes": true},
  92. "checkbox": {
  93. "keep_selected_style": false,
  94. },
  95. "types": {
  96. "root": {
  97. "icon": "fa fa-folder-open",
  98. },
  99. "menu": {
  100. "icon": "fa fa-folder-open",
  101. },
  102. "file": {
  103. "icon": "fa fa-file-o",
  104. }
  105. },
  106. "plugins": ["checkbox", "types"],
  107. "core": {
  108. 'check_callback': true,
  109. "data": content
  110. }
  111. });
  112. }
  113. }
  114. };
  115. return Controller;
  116. });