group.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264
  1. define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
  2. $(document).on('click', '.js_choose_channel', function () {
  3. var channel_list = $(".js_selected_channel_id").val();
  4. Fast.api.open('/admin/referral/vipreferral/selectchannel?not_in_qds='+channel_list, '选择公众号', {
  5. callback: function (data) {
  6. var count = $(".channel_count").val() || 0;
  7. if (data.length > 0) {
  8. $(".channel-list").removeClass('hide');
  9. var html = "";
  10. for(var i =1; i<= data.length; i++) {
  11. var index = parseInt(count) + i;
  12. var j = i-1;
  13. var qds_id = data[j].qds_id;
  14. channel_list += qds_id + ',';
  15. var wx_nickname = data[j].wx_nickname;
  16. var qds_nickname = data[j].qds_nickname;
  17. var qds_username = data[j].qds_username;
  18. $(".channel_count").val(index);
  19. html += ' <tr class="tr-'+index+'" data-index="'+index+'">\n' +
  20. ' <td class="channel-list-td">'+index+'</td>\n' +
  21. ' <td class="channel-list-td">\n' +
  22. ' <div class="link_txt">'+wx_nickname+'</div>\n' +
  23. ' </td>\n' +
  24. ' <td class="channel-list-td">\n' +
  25. ' <div class="link_txt">'+qds_id+'</div>\n' +
  26. ' </td>\n' +
  27. ' <td class="channel-list-td">\n' +
  28. ' <div class="link_txt">'+qds_username+'</div>\n' +
  29. ' </td>\n' +
  30. ' <td class="channel-list-td">\n' +
  31. ' <div class="link_txt">'+qds_nickname+'</div>\n' +
  32. ' </td>\n' +
  33. ' <td class="channel-list-td">\n' +
  34. ' <div class="link_txt channle_del" data-tid="'+index+'" data-channelid="'+qds_id+'"><a href="javascript:;">删除</a></div>\n' +
  35. ' </td>\n' +
  36. ' </tr>';
  37. }
  38. $(".channel-list-body").append(html);
  39. $(".js_selected_channel_id").val(channel_list);
  40. }
  41. }
  42. });
  43. });
  44. $(document).on('click', '.channle_del', function () {
  45. var channelid = $(this).data('channelid');
  46. var indexC = $(this).data('tid');
  47. Layer.confirm(
  48. "确认删除吗?",
  49. {icon: 3, title: __('Warning'), offset: 0, shadeClose: true},
  50. function (index) {
  51. $(".tr-"+indexC).remove();
  52. var channel_list = $(".js_selected_channel_id").val();
  53. var list = channel_list.split(',');
  54. var list1 = '';
  55. var count = 0;
  56. if (list.length > 0) {
  57. for (var i = 0; i < list.length; i++) {
  58. if (list[i] != channelid && list[i]) {
  59. list1 += list[i] + ',';
  60. count++;
  61. }
  62. }
  63. }
  64. $(".js_selected_channel_id").val(list1);
  65. $(".channel_count").val(count);
  66. Layer.close(index);
  67. }
  68. );
  69. });
  70. $(document).on('click', '.btn-channellist', function () {
  71. var url = $(this).attr('href');
  72. Fast.api.open(url, '查看公众号列表', {
  73. callback: function (data) {
  74. }
  75. });
  76. return false;
  77. });
  78. var Controller = {
  79. index: function () {
  80. // 初始化表格参数配置
  81. Table.api.init({
  82. extend: {
  83. index_url: 'vip/admin/group/index',
  84. add_url: 'vip/admin/group/add',
  85. edit_url: 'vip/admin/group/edit',
  86. del_url: 'vip/admin/group/del',
  87. multi_url: 'vip/admin/group/multi',
  88. table: 'vip_group',
  89. },
  90. searchFormVisible: true,
  91. search: false,
  92. });
  93. var table = $("#table");
  94. // 初始化表格
  95. table.bootstrapTable({
  96. url: $.fn.bootstrapTable.defaults.extend.index_url,
  97. pk: 'id',
  98. sortName: 'id',
  99. columns: [
  100. [
  101. {checkbox: true},
  102. {field: 'id', title: __('Id'), operate: false},
  103. {field: 'name', title: __('分组名称'), operate: "LIKE %...%"},
  104. {
  105. field: 'createtime',
  106. title: '创建时间',
  107. operate: false,
  108. formatter: Table.api.formatter.datetime
  109. },
  110. {
  111. field: 'updatetime',
  112. title: '更新时间',
  113. operate: false,
  114. formatter: Table.api.formatter.datetime
  115. },
  116. {
  117. field: 'operate',
  118. title: __('Operate'),
  119. table: table,
  120. events: Table.api.events.operate,
  121. formatter: Table.api.formatter.operate,
  122. buttons: Controller.api.formatter.showBtn()
  123. }
  124. ]
  125. ]
  126. });
  127. // 为表格绑定事件
  128. Table.api.bindevent(table);
  129. },
  130. select: function () {
  131. // 初始化表格参数配置
  132. Table.api.init({
  133. extend: {
  134. index_url: 'vip/admin/group/select?not_in_ids='+Config.not_in_ids,
  135. table: 'vip_group',
  136. },
  137. searchFormVisible: true,
  138. search: false,
  139. });
  140. var table = $("#table");
  141. // 初始化表格
  142. table.bootstrapTable({
  143. url: $.fn.bootstrapTable.defaults.extend.index_url,
  144. pk: 'id',
  145. sortName: 'id',
  146. columns: [
  147. [
  148. {checkbox: true},
  149. {field: 'id', title: __('Id'), operate: false},
  150. {field: 'name', title: __('分组名称'), operate: "LIKE %...%"},
  151. {
  152. field: 'createtime',
  153. title: '创建时间',
  154. operate: false,
  155. formatter: Table.api.formatter.datetime
  156. },
  157. {
  158. field: 'updatetime',
  159. title: '更新时间',
  160. operate: false,
  161. formatter: Table.api.formatter.datetime
  162. },
  163. {field: 'operate', title: __('Operate'),
  164. events: {
  165. 'click .btn-chooseone': function (e, value, row, index) {
  166. Fast.api.close([row]);
  167. },
  168. }, formatter: function (value, row) {
  169. console.log(row.is_select);
  170. if (row.is_select == 1) {
  171. return '<a href="javascript:;" class="btn btn-danger btn-xs"><i class="fa fa-check"></i> ' + __('已选择') + '</a>';
  172. } else {
  173. return '<a href="javascript:;" class="btn btn-danger btn-chooseone btn-xs"><i class="fa fa-check"></i> ' + __('Choose') + '</a>';
  174. }
  175. }
  176. }
  177. ]
  178. ]
  179. });
  180. // 为表格绑定事件
  181. Table.api.bindevent(table);
  182. //获取选中数据
  183. $(document).on('click', "#btn-chooseone", function () {
  184. var data = table.bootstrapTable('getSelections');
  185. if (data.length < 1) {
  186. Toastr.error('请选择公众号');
  187. } else {
  188. var rows = [];
  189. for (var i =0; i<data.length;i++) {
  190. if (data[i].is_select == 0) {
  191. rows.push(data[i]);
  192. }
  193. }
  194. Fast.api.close(rows);
  195. }
  196. });
  197. },
  198. channellist: function () {
  199. // 初始化表格参数配置
  200. Table.api.init({
  201. extend: {
  202. index_url: 'vip/admin/group/channellist/ids/'+Config.ids,
  203. },
  204. searchFormVisible: true,
  205. search: false,
  206. });
  207. var table = $("#table");
  208. // 初始化表格
  209. table.bootstrapTable({
  210. url: $.fn.bootstrapTable.defaults.extend.index_url,
  211. pk: 'vip_group_info.id',
  212. sortName: 'vip_group_info.id',
  213. columns: [
  214. [
  215. {field: 'wx_nickname', title: __('公众号名称'), operate: "LIKE %...%"},
  216. {field: 'qds_id', title: __('账号id'), operate: false},
  217. {field: 'qds_username', title: __('用户名称'), operate: "LIKE %...%"},
  218. {field: 'qds_nickname', title: __('用户昵称'), operate: "LIKE %...%"},
  219. ]
  220. ]
  221. });
  222. // 为表格绑定事件
  223. Table.api.bindevent(table);
  224. },
  225. add: function () {
  226. Controller.api.bindevent();
  227. },
  228. edit: function () {
  229. Controller.api.bindevent();
  230. },
  231. api: {
  232. bindevent: function () {
  233. Form.api.bindevent($("form[role=form]"));
  234. },
  235. formatter: {
  236. showBtn: function(){
  237. return [
  238. {name: 'channel_list', text: '公众号列表', title: '公众号列表', classname: 'btn btn-xs btn-danger btn-channellist', url: '/admin/vip/admin/group/channellist', callback:function(data){}}
  239. ];
  240. },
  241. },
  242. }
  243. };
  244. return Controller;
  245. });