abwechat.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. define(['jquery', 'bootstrap', 'backend', 'table', 'form','vue', 'component', 'ELEMENT'], function ($, undefined, Backend, Table, Form, Vue, component, ELEMENT) {
  2. var id = '';
  3. var Controller = {
  4. index: function () {
  5. $(document).on('click','.layer-open',function () {
  6. Fast.api.open($(this).attr('href'), $(this).data('title')?$(this).data('title'):'配置公共信息', {});
  7. return false;
  8. });
  9. // 初始化表格参数配置
  10. Table.api.init({
  11. extend: {
  12. index_url: 'wechat/abwechat/index',
  13. add_url: 'wechat/abwechat/add',
  14. edit_url: 'wechat/abwechat/edit',
  15. del_url: 'wechat/abwechat/del',
  16. multi_url: 'wechat/abwechat/multi',
  17. table: 'wechat_ab',
  18. }
  19. });
  20. var table = $("#table");
  21. // 初始化表格
  22. table.bootstrapTable({
  23. url: $.fn.bootstrapTable.defaults.extend.index_url,
  24. pk: 'id',
  25. sortName: 'id',
  26. columns: [
  27. [
  28. {checkbox: true},
  29. {field: 'id', title: __('Id')},
  30. {field: 'gzh_name', title: __('公众号名称')},
  31. {field: 'referral', title: __('已关联链接'), formatter: function (value, row) {
  32. var arr = value.split(" ");
  33. var urls = "";
  34. if (arr.length > 0) {
  35. for (var i =0; i< arr.length;i++) {
  36. if (arr[i].length > 0) {
  37. urls += "<p>"+arr[i]+"</p>";
  38. }
  39. }
  40. }
  41. return urls;
  42. }},
  43. {field: 'createtime', title: __('创建时间'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
  44. {field: 'updatetime', title: __('更新时间'), operate:false, addclass:'datetimerange', formatter: Table.api.formatter.datetime},
  45. {field: 'operate', title: __('Operate'), table: table, events: Controller.api.events.operate, buttons: [
  46. {
  47. name: 'operate',
  48. text: __('选择推广链接'),
  49. title: __('选择推广链接'),
  50. classname: 'btn btn-xs btn-primary btn-add-channels',
  51. icon: 'fa fa-list',
  52. },
  53. {
  54. name: 'operate',
  55. text: __('编辑'),
  56. title: __('编辑'),
  57. classname: 'btn btn-xs btn-success btn-editone',
  58. icon: 'fa fa-pencil',
  59. },
  60. ],
  61. formatter: Table.api.formatter.buttons
  62. },
  63. ]
  64. ]
  65. });
  66. $(function () {
  67. $(document).on('click', ".layui-layer-close", function () {
  68. //刷新页面
  69. console.log(1);
  70. table.bootstrapTable('refresh');
  71. });
  72. });
  73. // 为表格绑定事件
  74. Table.api.bindevent(table);
  75. Vue.use(component);
  76. Vue.use(ELEMENT);
  77. var Main = {
  78. el: '#app',
  79. methods:{
  80. callback: function (data) {
  81. var referral_id = data.referral_id;
  82. $.ajax({
  83. url: '/admin/wechat/abwechat/dochoose/id/' + id +'/referral_id/'+referral_id,
  84. type: 'get',
  85. success: function (res) {
  86. if(res.code == 1) {
  87. Toastr.success('操作成功');
  88. } else {
  89. Toastr.error('保存失败');
  90. }
  91. //刷新页面
  92. table.bootstrapTable('refresh');
  93. }
  94. });
  95. }
  96. }
  97. };
  98. new Vue(Main)
  99. },
  100. add: function () {
  101. Controller.api.bindevent();
  102. },
  103. edit: function () {
  104. Controller.api.bindevent();
  105. },
  106. callbacktime: function () {
  107. Controller.api.bindevent();
  108. },
  109. api: {
  110. bindevent: function () {
  111. Form.api.bindevent($("form[role=form]"));
  112. },
  113. events: {
  114. operate: {
  115. 'click .btn-editone': function (e, value, row, index) {
  116. e.stopPropagation();
  117. e.preventDefault();
  118. var table = $(this).closest('table');
  119. var options = table.bootstrapTable('getOptions');
  120. var ids = row[options.pk];
  121. row = $.extend({}, row ? row : {}, {ids: ids});
  122. var url = options.extend.edit_url;
  123. Fast.api.open(Table.api.replaceurl(url, row, table), __('Edit'), $(this).data() || {});
  124. },
  125. 'click .btn-add-channels': function (e, value, row, index) {
  126. //e.stopPropagation();
  127. //e.preventDefault();
  128. var table = $(this).closest('table');
  129. var options = table.bootstrapTable('getOptions');
  130. id = row[options.pk];
  131. },
  132. }
  133. },
  134. }
  135. };
  136. return Controller;
  137. });