vipmenu.js 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682
  1. define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'sortable', 'clipboard'], function ($, undefined, Backend, Table, Form, Sortable, Clipboard) {
  2. var Controller = {
  3. index: function () {
  4. if (Config.group_ids_js){
  5. gzhIdArr = Config.group_ids_js
  6. gzhHtmlArr = Config.gzhHtmlArr
  7. }else{
  8. gzhIdArr = [];
  9. gzhHtmlArr = [];
  10. }
  11. //复制文本
  12. var clipboard = new Clipboard('.fa-file', {
  13. target: function(trigger) {
  14. trigger = $(trigger).prev()[0];
  15. Toastr.success('复制成功');
  16. return trigger;
  17. }
  18. });
  19. clipboard.on('error',function (data) {
  20. Toastr.error('复制失败');
  21. });
  22. String.prototype.subByte = function (start, bytes) {
  23. for (var i = start; bytes > 0; i++) {
  24. var code = this.charCodeAt(i);
  25. bytes -= code < 256 ? 1 : 2;
  26. }
  27. return this.slice(start, i + bytes)
  28. };
  29. /**
  30. * 初始化菜单
  31. * @param menu 菜单json数据
  32. */
  33. var init_menu = function (menu) {
  34. var str = "";
  35. var items = menu;
  36. var type = action = "";
  37. for (i in items) {
  38. if (items[i]['sub_button'] != undefined) {
  39. type = action = "";
  40. } else {
  41. type = items[i]['type'];
  42. if (items[i]['url'] != undefined)
  43. action = "url|" + items[i]['url'];
  44. if (items[i]['key'] != undefined)
  45. action = "key|" + items[i]['key'];
  46. }
  47. str += '<li id="menu-' + i + '" class="menu-item" data-type="' + type + '" data-action="' + action + '" data-name="' + items[i]['name'] + '"> <a href="javascript:;" class="menu-link"> <i class="icon-menu-dot"></i> <i class="weixin-icon sort-gray"></i> <span class="title">' + items[i]['name'] + '</span> </a>';
  48. var tem = '';
  49. if (items[i]['sub_button'] != undefined) {
  50. var sub_menu = items[i]['sub_button'];
  51. for (j in sub_menu) {
  52. type = sub_menu[j]['type'];
  53. if (sub_menu[j]['url'] != undefined)
  54. action = "url|" + sub_menu[j]['url'];
  55. if (sub_menu[j]['key'] != undefined)
  56. action = "key|" + sub_menu[j]['key'];
  57. tem += '<li id="sub-menu-' + j + '" class="sub-menu-item" data-type="' + type + '" data-action="' + action + '" data-name="' + sub_menu[j]['name'] + '"> <a href="javascript:;"> <i class="weixin-icon sort-gray"></i><span class="sub-title">' + sub_menu[j]['name'] + '</span></a> </li>';
  58. }
  59. }
  60. str += '<div class="sub-menu-box" style="' + (i != 0 ? 'display:none;' : '') + '"> <ul class="sub-menu-list">' + tem + '<li class=" add-sub-item"><a href="javascript:;" title="添加子菜单"><span class=" "><i class="weixin-icon add-gray"></i></span></a></li> </ul> <i class="arrow arrow-out"></i> <i class="arrow arrow-in"></i></div>';
  61. str += '</li>';
  62. }
  63. $("#add-item").before(str);
  64. };
  65. /**
  66. * 切换资源选择类型
  67. */
  68. var refresh_type = function () {
  69. var key = $('input[name=type]:checked').attr('id');
  70. $('#menu-content > div').hide();
  71. switch(key){
  72. case 'type2':
  73. $(".is-view").show();
  74. break;
  75. case 'type3':
  76. $(".is-sign").show();
  77. break;
  78. case 'type4':
  79. $(".is-manager_contact").show();
  80. break;
  81. default:
  82. // $(".is-click").show();
  83. break;
  84. }
  85. };
  86. //初始化菜单
  87. init_menu(menu);
  88. //拖动排序
  89. new Sortable($("#menu-list")[0], {draggable: 'li.menu-item'});
  90. $(".sub-menu-list").each(function () {
  91. new Sortable(this, {draggable: 'li.sub-menu-item'});
  92. });
  93. $(".sub-menu-item a").height($(".add-sub-item").eq(0).height());
  94. //添加主菜单
  95. $(document).on('click', '#add-item', function () {
  96. var menu_item_total = $(".menu-item").size();
  97. if (menu_item_total < 3) {
  98. var item = '<li class="menu-item" data-type="click" data-action="key|" data-name="添加菜单" > <a href="javascript:;" class="menu-link"> <i class="icon-menu-dot"></i> <i class="weixin-icon sort-gray"></i> <span class="title">添加菜单</span> </a> <div class="sub-menu-box" style=""> <ul class="sub-menu-list"><li class=" add-sub-item"><a href="javascript:;" title="添加子菜单"><span class=" "><i class="weixin-icon add-gray"></i></span></a></li> </ul> <i class="arrow arrow-out"></i> <i class="arrow arrow-in"></i> </div></li>';
  99. var itemDom = $(item);
  100. itemDom.insertBefore(this);
  101. itemDom.trigger("click");
  102. $(".sub-menu-box", itemDom).show();
  103. new Sortable($(".sub-menu-list", itemDom)[0], {draggable: 'li.sub-menu-item'});
  104. }
  105. });
  106. /**
  107. * 切换子菜单类型
  108. *
  109. */
  110. $(document).on('change', 'input[name=type]', function () {
  111. refresh_type();
  112. });
  113. /**
  114. * 删除菜单
  115. */
  116. $(document).on('click', '#item_delete', function () {
  117. var current = $("#menu-list li.current");
  118. var prev = current.prev("li[data-type]");
  119. var next = current.next("li[data-type]");
  120. if (prev.size() == 0 && next.size() == 0 && $(".sub-menu-box", current).size() == 0) {
  121. last = current.closest(".menu-item");
  122. } else if (prev.size() > 0 || next.size() > 0) {
  123. last = prev.size() > 0 ? prev : next;
  124. } else {
  125. last = null;
  126. $(".weixin-content").hide();
  127. $(".no-weixin-content").show();
  128. }
  129. $("#menu-list li.current").remove();
  130. if (last) {
  131. last.trigger('click');
  132. } else {
  133. $("input[name='item-title']").val('');
  134. }
  135. updateChangeMenu();
  136. });
  137. //更新修改与变动 //本地修改
  138. var updateChangeMenu = function () {
  139. var title = $("input[name='item-title']").val();
  140. var type = $("input[name='type']:checked").val();
  141. var typeid = $("input[name='type']:checked").attr('id');
  142. var key = value = '';
  143. if(typeid == 'type3'){
  144. key = 'sign';
  145. }else if(typeid == 'type4'){
  146. key = 'manager_contact';
  147. }else if (type == 'view') {
  148. key = 'url';
  149. } else {
  150. key = 'key';
  151. }
  152. value = $("input[name='" + key + "']").val();
  153. if (key == 'key') {
  154. var keytitle = typeof responselist[value] != 'undefined' ? responselist[value] : '';
  155. var cont = $(".is-click .create-click:first");
  156. $(".keytitle", cont).remove();
  157. cont.append('<div class="keytitle">资源名:' + keytitle + '</div>');
  158. }
  159. var currentItem = $("#menu-list li.current");
  160. if (currentItem.size() > 0) {
  161. currentItem.attr('data-type', type);
  162. if(key == 'url'){
  163. currentItem.attr('data-action', key + "|" + value);
  164. }else{
  165. currentItem.attr('data-action', "key|" + value);
  166. }
  167. if (currentItem.siblings().size() == 4) {
  168. $(".add-sub-item").show();
  169. } else if (false) {
  170. }
  171. currentItem.children("a").find("span").text(title.subByte(0, 16));
  172. $("input[name='item-title']").val(title);
  173. currentItem.attr('data-name', title);
  174. $('#current-item-name').text(title);
  175. }
  176. // menuUpdate();
  177. };
  178. //更新菜单数据 //保存到平台服务器
  179. var menuUpdate = function () {
  180. if($('.sync_to_all').is(':checked')){
  181. datas = {
  182. menu: JSON.stringify(getMenuList()),
  183. group_type:1,
  184. group_ids: ''
  185. }
  186. }else{
  187. datas = {
  188. menu: JSON.stringify(getMenuList()),
  189. group_type: 2,
  190. group_ids: gzhIdArr.join(',')
  191. }
  192. }
  193. $.post("wechat/vipmenu/edit", datas, function (data) {
  194. if (data['code'] == 1) {
  195. Backend.api.toastr.success('操作成功!');
  196. } else {
  197. Toastr.error(data['msg']);
  198. return false;
  199. }
  200. }, 'json');
  201. };
  202. //获取菜单数据 //从菜单li列表获取menu json
  203. var getMenuList = function () {
  204. var menus = new Array();
  205. var sub_button = new Array();
  206. var menu_i = 0;
  207. var sub_menu_i = 0;
  208. var item;
  209. $("#menu-list li").each(function (i) {
  210. item = $(this);
  211. var name = item.attr('data-name');
  212. var type = item.attr('data-type');
  213. var action = item.attr('data-action');
  214. if (name != null) {
  215. actions = action.split('|');
  216. if (item.hasClass('menu-item')) {
  217. sub_menu_i = 0;
  218. if (item.find('.sub-menu-item').size() > 0) {
  219. menus[menu_i] = {"name": name, "sub_button": "sub_button"}
  220. } else {
  221. if (actions[0] == 'url')
  222. menus[menu_i] = {"name": name, "type": type, "url": actions[1]};
  223. else
  224. menus[menu_i] = {"name": name, "type": type, "key": actions[1]};
  225. }
  226. if (menu_i > 0) {
  227. if (menus[menu_i - 1]['sub_button'] == "sub_button")
  228. menus[menu_i - 1]['sub_button'] = sub_button;
  229. else
  230. menus[menu_i - 1]['sub_button'];
  231. }
  232. sub_button = new Array();
  233. menu_i++;
  234. } else {
  235. if (actions[0] == 'url')
  236. sub_button[sub_menu_i++] = {"name": name, "type": type, "url": actions[1]};
  237. else
  238. sub_button[sub_menu_i++] = {"name": name, "type": type, "key": actions[1]};
  239. }
  240. }
  241. });
  242. if (sub_button.length > 0) {
  243. var len = menus.length;
  244. menus[len - 1]['sub_button'] = sub_button;
  245. }
  246. return menus;
  247. };
  248. //添加子菜单
  249. $(document).on('click', ".add-sub-item", function () {
  250. var sub_menu_item_total = $(this).parent().find(".sub-menu-item").size();
  251. var height = $(this).height();
  252. if (sub_menu_item_total < 5) {
  253. var item = '<li class="sub-menu-item" data-type="click" data-action="key|" data-name="添加子菜单"><a href="javascript:;"><span class=" "><i class="weixin-icon sort-gray"></i><span class="sub-title">添加子菜单</span></span></a></li>';
  254. var itemDom = $(item);
  255. itemDom.children("a").height(height);
  256. itemDom.insertBefore(this);
  257. itemDom.trigger("click");
  258. if (sub_menu_item_total == 4) {
  259. $(this).hide();
  260. }
  261. }
  262. return false;
  263. });
  264. //主菜单子菜单点击事件
  265. $(document).on('click', ".menu-item, .sub-menu-item", function () {
  266. if ($(this).hasClass("sub-menu-item")) {
  267. $("#menu-list li").removeClass('current');
  268. $(".is-item").show();
  269. $(".is-sub-item").show();
  270. } else {
  271. $("#menu-list li").removeClass('current');
  272. $("#menu-list > li").not(this).find(".sub-menu-box").hide();
  273. $(".sub-menu-box", this).toggle();
  274. //如果当前还没有子菜单
  275. if ($(".sub-menu-item", this).size() == 0) {
  276. $(".is-item").show();
  277. $(".is-sub-item").show();
  278. } else {
  279. $(".is-item").hide();
  280. $(".is-sub-item").hide();
  281. }
  282. }
  283. $(this).addClass('current');
  284. var type = $(this).attr('data-type');
  285. var action = $(this).attr('data-action');
  286. var title = $(this).attr('data-name');
  287. actions = action.split('|');
  288. if(actions[1] == '签到'){
  289. $("#type3").prop("checked", true);
  290. }else if(actions[1] == 'manager_contact'){
  291. $("#type4").prop("checked", true);
  292. }else if(actions[0] == 'url'){
  293. $("#type2").prop("checked", true);
  294. }else{
  295. $("#type1").prop("checked", true);
  296. }
  297. $("input[name='item-title']").val(title);
  298. $('#current-item-name').text(title);
  299. if (actions[0] == 'url') {
  300. $('input[name=key]').val('');
  301. } else {
  302. $('input[name=url]').val('');
  303. }
  304. $("input[name='" + actions[0] + "']").val(actions[1]);
  305. if (actions[0] == 'key') {
  306. var cont = $(".is-click .create-click:first");
  307. if(actions[1] == 'manager_contact'){
  308. cont.append('<div class="keytitle">资源名:自动读取客服内容</div>');
  309. }else {
  310. var keytitle = typeof responselist[actions[1]] != 'undefined' ? responselist[actions[1]] : '';
  311. $(".keytitle", cont).remove();
  312. if (keytitle) {
  313. cont.append('<div class="keytitle">资源名:' + keytitle + '</div>');
  314. }
  315. }
  316. } else {
  317. }
  318. $(".weixin-content").show();
  319. $(".no-weixin-content").hide();
  320. refresh_type();
  321. return false;
  322. });
  323. /**
  324. * 菜单设置为回复二维码形式并发布
  325. */
  326. $(document).on('click', "#menuQrcode", function () {
  327. var qrcode_menu_value = $(this).data('qrcode_menu');
  328. var alert_txt = '确认设置成二维码形式并发布吗';
  329. if(qrcode_menu_value){
  330. var alert_txt = '确认恢复菜单为链接形式吗';
  331. }
  332. Layer.confirm(
  333. alert_txt,
  334. {btn: ['确定', '取消']},
  335. function () {
  336. $.post(
  337. 'wechat/vipmenu/ajaxmofiywxmenu',
  338. {qrcode_menu_value: qrcode_menu_value},
  339. function (ret) {
  340. if(ret.code == 1) {
  341. Backend.api.toastr.success('菜单已修改,生效时间看微信官网说明,或者你重新关注微信号!');
  342. setTimeout(function () {
  343. window.location.reload();
  344. }, 600);
  345. }else{
  346. Backend.api.toastr.error(msg ? msg : __('Operation failed'));
  347. }
  348. });
  349. }
  350. );
  351. });
  352. /**
  353. * 本地保存
  354. */
  355. $("form").on('change', "input,textarea", function () {
  356. updateChangeMenu();
  357. });
  358. /**
  359. * 保存按钮
  360. */
  361. $(document).on('click', "#menuSave", function () {
  362. if($('.sync_to_some').is(':checked') && gzhIdArr.length==0) {
  363. Backend.api.toastr.error('请指定分组');
  364. return false;
  365. }
  366. updateChangeMenu();
  367. menuUpdate();
  368. });
  369. /**
  370. * 发布按钮
  371. */
  372. $(document).on('click', "#menuSyn", function () {
  373. if($('.sync_to_some').is(':checked') && gzhIdArr.length==0) {
  374. Backend.api.toastr.error('请指定分组');
  375. return false;
  376. }
  377. updateChangeMenu();
  378. if($('.sync_to_all').is(':checked')){
  379. datass = {
  380. menu: JSON.stringify(getMenuList()),
  381. group_type:1,
  382. group_ids: ''
  383. }
  384. }else{
  385. datass = {
  386. menu: JSON.stringify(getMenuList()),
  387. group_type: 2,
  388. group_ids: gzhIdArr.join(',')
  389. }
  390. }
  391. $.post("wechat/vipmenu/edit",datass, function (data) {
  392. if (data['code'] == 1) {
  393. $.post("wechat/vipmenu/saveto", datass, function (ret) {
  394. var msg = ret.hasOwnProperty("msg") && ret.msg != "" ? ret.msg : "";
  395. if (ret.code == 1) {
  396. Backend.api.toastr.success('菜单同步更新成功,生效时间看微信官网说明,或者你重新关注微信号!');
  397. } else {
  398. Backend.api.toastr.error(ret.msg);
  399. return false;
  400. }
  401. }, 'json');
  402. } else {
  403. Toastr.error(data.msg);
  404. return false;
  405. }
  406. }, 'json');
  407. });
  408. /**
  409. * 重置按钮
  410. */
  411. $(document).on('click','#menuReset',function(){
  412. Layer.confirm(
  413. "请确认是否恢复为系统默认的菜单",
  414. {icon: 3, title: "操作确认", shadeClose: true},
  415. function (index) {
  416. Layer.close(index);
  417. if($('.sync_to_all').is(':checked')){
  418. datas = {
  419. group_type:1,
  420. group_ids: ''
  421. }
  422. }else{
  423. datas = {
  424. group_type: 2,
  425. group_ids: gzhIdArr.join(',')
  426. }
  427. }
  428. $.post('wechat/vipmenu/reset',datas,function(ret){
  429. var msg = ret.hasOwnProperty("msg") && ret.msg != "" ? ret.msg : "";
  430. if (ret.code == 1) {
  431. Backend.api.toastr.success('菜单恢复成功,生效时间看微信官网说明,或者你重新关注微信号!');
  432. setTimeout(function(){
  433. window.location.reload();
  434. },1200);
  435. } else {
  436. Backend.api.toastr.error(msg ? msg : __('Operation failed'));
  437. }
  438. });
  439. }
  440. );
  441. });
  442. /**
  443. * 刷新资源标题
  444. * @param data
  445. */
  446. var refreshkey = function (data) {
  447. responselist[data.eventkey] = data.title;
  448. $("input[name=key]").val(data.eventkey).trigger("change");
  449. Layer.closeAll();
  450. };
  451. /**
  452. * 选择现有资源
  453. */
  454. $(document).on('click', "#select-resources", function () {
  455. var key = $("#key").val();
  456. Backend.api.open($(this).attr("href") + "?key=" + key, __('Select'), {
  457. callback: refreshkey
  458. });
  459. return false;
  460. });
  461. /**
  462. * 添加新资源
  463. */
  464. $(document).on('click', "#add-resources", function () {
  465. Backend.api.open($(this).attr("href") + "?key=" + key, __('Add'), {
  466. callback: refreshkey
  467. });
  468. return false;
  469. });
  470. /**
  471. * 切换渠道类型
  472. */
  473. $(".sync_to_all").on('click', function () {
  474. $('.pick_group').addClass('hidden');
  475. $('#gzh_table').find('tbody').empty();
  476. gzhIdArr = []
  477. gzhHtmlArr = []
  478. });
  479. $(".sync_to_some").on('click', function () {
  480. $('.pick_group').removeClass('hidden');
  481. });
  482. $('.btn-add-group-list').on('click',function () {
  483. if(gzhIdArr.length >= 10){
  484. Layer.msg('最多选择10个分组');
  485. return false;
  486. };
  487. Fast.api.open(
  488. '/admin/wechat/vipmenu/usergroup?in_ids='+gzhIdArr.join(','),
  489. '添加公众号',
  490. {
  491. callback: function(rows){
  492. $.each(rows, function(index, row){
  493. gzhIdArr.push(row.id)
  494. gzhHtmlArr.push(row)
  495. Controller.api.resetGroupList(gzhHtmlArr)
  496. })
  497. }
  498. }
  499. );
  500. });
  501. // 公众号删除
  502. $('#gzh_table').on('click' , '.gzh_del_btn' , function(e){
  503. var tmpId = $(e.target).data('id');
  504. $(window.gzhHtmlArr).each(function(index, item){
  505. if(item.id == tmpId){
  506. // 修改val
  507. window.gzhIdArr.splice(index , 1);
  508. // 修改html
  509. window.gzhHtmlArr.splice(index , 1);
  510. $(e.target).parent().parent().remove();
  511. Controller.api.resetGroupList(window.gzhHtmlArr)
  512. }
  513. });
  514. });
  515. },
  516. add: function () {
  517. Form.api.bindevent($("form[role=form]"));
  518. },
  519. edit: function () {
  520. Form.api.bindevent($("form[role=form]"));
  521. },
  522. usergroup: function () {
  523. // 初始化表格参数配置
  524. Table.api.init({
  525. extend: {
  526. usergroup_url: 'wechat/vipmenu/usergroup?in_ids='+Config.in_ids,
  527. }
  528. });
  529. var table = $("#table");
  530. // 初始化表格
  531. table.bootstrapTable({
  532. url: $.fn.bootstrapTable.defaults.extend.usergroup_url,
  533. pk: 'id',
  534. sortName: 'vip_group.id',
  535. columns: [
  536. [
  537. {
  538. checkbox: true
  539. },
  540. {field: 'id', title: __('分组ID'),operate:false},
  541. {field: 'name', title: __('公众号名称'),operate:'LIKE'},
  542. {field: 'createtime', title: __('创建时间'),operate:false},
  543. {field: 'updatetime', title: __('修改时间'),operate:false},
  544. ]
  545. ],
  546. });
  547. // 添加时将数组转字符串, 设置给hidden input的value
  548. $('.btn-add-subscription-list').click(function(){
  549. var data = table.bootstrapTable('getSelections');
  550. if (data.length < 1) {
  551. Toastr.error('请选择公众号');
  552. } else {
  553. if (data.length + window.parent.gzhIdArr.length > 10) {
  554. Layer.msg('最多选择10个分组');
  555. return false;
  556. }
  557. Fast.api.close(data);
  558. }
  559. //
  560. //
  561. // //id整理
  562. // if(PIdArr.length > 0 ){
  563. // $(window.gzhArr).each(function(index, item){
  564. // if(PIdArr.indexOf(item) == -1){
  565. // PIdArr.push(item);
  566. // };
  567. // });
  568. // }else{
  569. // PIdArr = window.gzhArr;
  570. // };
  571. // //$(window.parent.document).find('#user_group_ids').val(PIdArr.join(','));
  572. // window.parent.gzhIdArr = PIdArr;
  573. //
  574. // // 所有数据整理
  575. //
  576. // if (window.htmlArr.length + window.parent.gzhHtmlArr.length > 10) {
  577. // Layer.msg('最多选择10个分组');
  578. // return false;
  579. // }
  580. // if(PhtmlArr.length == 0){
  581. // PhtmlArr = window.htmlArr;
  582. // }else{
  583. // $(window.htmlArr).each(function (index , item) {
  584. // var flag = true;
  585. // $(PhtmlArr).each(function (idx , itemInner) {
  586. // if(itemInner.id == item.id){
  587. // flag = false;
  588. // }
  589. // });
  590. // if(flag){
  591. // PhtmlArr.push(item);
  592. // }
  593. // });
  594. // };
  595. //
  596. // window.parent.gzhHtmlArr = PhtmlArr;
  597. // var gzhParentHtml = "";
  598. // $(window.parent.gzhHtmlArr).each(function (index, item) {
  599. // var tempHtml = '' +
  600. // '<tr data-index="0"> ' +
  601. // '<td style="text-align: center; vertical-align: middle; ">' +
  602. // (index+1)+
  603. // '</td> ' +
  604. // '<td style="text-align: center; vertical-align: middle; ">' +
  605. // item.id +
  606. // '</td> ' +
  607. // '<td style="text-align: center; vertical-align: middle; ">' +
  608. // item.name +
  609. // '</td> ' +
  610. // '<td style="text-align: center; vertical-align: middle; ">' +
  611. // item.createtime +
  612. // '</td> ' +
  613. // '<td style="text-align: center; vertical-align: middle; ">' +
  614. // item.updatetime +
  615. // '</td> ' +
  616. // '<td style="text-align: center; vertical-align: middle; ">' +
  617. // '<a class="gzh_del_btn" href="javascript:;" data-index='+index+' data-id='+item.id+'>删除</a>' +
  618. // '</td> ' +
  619. // '</tr>';
  620. // gzhParentHtml += tempHtml;
  621. // });
  622. // $(window.parent.document).find('#gzh_table tbody').html(gzhParentHtml);
  623. //
  624. // Fast.api.close('');
  625. });
  626. // 为表格绑定事件
  627. Table.api.bindevent(table);
  628. },
  629. api: {
  630. resetGroupList: function(gzhHtmlArr){
  631. var tempHtml = ''
  632. for (index in gzhHtmlArr){
  633. var item = gzhHtmlArr[index]
  634. tempHtml += '<tr data-index="'+index+'"> ' +
  635. '<td style="text-align: center; vertical-align: middle; ">' +
  636. // item.id +
  637. (parseInt(index)+1)+
  638. '</td> ' +
  639. '<td style="text-align: center; vertical-align: middle; ">' +
  640. item.name +
  641. '</td> ' +
  642. '<td style="text-align: center; vertical-align: middle; ">' +
  643. item.createtime +
  644. '</td> ' +
  645. '<td style="text-align: center; vertical-align: middle; ">' +
  646. item.updatetime +
  647. '</td> ' +
  648. '<td style="text-align: center; vertical-align: middle; ">' +
  649. '<a class="gzh_del_btn" href="javascript:;" data-index='+index+' data-id='+item.id+'>删除</a>' +
  650. '</td> ' +
  651. '</tr>';
  652. }
  653. $('#gzh_table tbody').html(tempHtml);
  654. }
  655. }
  656. };
  657. return Controller;
  658. });