share.js 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  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/share/index' + location.search,
  8. add_url: 'user/share/add',
  9. edit_url: 'user/share/edit',
  10. del_url: 'user/share/del',
  11. multi_url: 'user/share/multi',
  12. import_url: 'user/share/import',
  13. detail_url: 'user/share/detail',
  14. table: 'shop_user_share',
  15. }
  16. });
  17. var table = $("#table");
  18. // 初始化表格
  19. table.bootstrapTable({
  20. url: $.fn.bootstrapTable.defaults.extend.index_url,
  21. pk: 'id',
  22. sortName: 'id',
  23. fixedColumns: true,
  24. fixedRightNumber: 1,
  25. columns: [
  26. [
  27. {checkbox: true},
  28. {field: 'id', title: __('Id'), sortable: true},
  29. {
  30. field: 'user.nickname',
  31. title: '受邀用户',
  32. operate: 'LIKE',
  33. formatter: function (value, row, index) {
  34. if (row.user) {
  35. return '<img src="' + row.user.avatar + '" class="img-polaroid" height="20"> ' +
  36. row.user.nickname + '(' + row.user.username + ')';
  37. }
  38. return '-';
  39. }
  40. },
  41. {field: 'share_id', title: '分享者ID', sortable: true},
  42. {
  43. field: 'spm',
  44. title: 'SPM参数',
  45. operate: 'LIKE',
  46. formatter: function (value, row, index) {
  47. return '<code style="font-size: 11px;">' + value + '</code>';
  48. }
  49. },
  50. {field: 'page', title: '页面路径', operate: 'LIKE'},
  51. {field: 'query', title: '查询参数', operate: 'LIKE'},
  52. {
  53. field: 'platform',
  54. title: '平台',
  55. searchList: {"H5":"H5网页","WechatOfficialAccount":"微信公众号网页","WechatMiniProgram":"微信小程序","App":"APP"},
  56. formatter: function (value, row, index) {
  57. return '<span class="label label-primary">' + row.platform_text + '</span>';
  58. }
  59. },
  60. {
  61. field: 'from',
  62. title: '来源',
  63. searchList: {"forward":"直接转发","poster":"识别海报","link":"分享链接"},
  64. formatter: function (value, row, index) {
  65. var colorClass = value === 'poster' ? 'label-success' : (value === 'forward' ? 'label-info' : 'label-warning');
  66. return '<span class="label ' + colorClass + '">' + row.from_text + '</span>';
  67. }
  68. },
  69. {
  70. field: 'ext.memo',
  71. title: '备注',
  72. operate: false,
  73. formatter: function (value, row, index) {
  74. if (row.ext && row.ext.memo) {
  75. return '<small class="text-muted">' + row.ext.memo + '</small>';
  76. }
  77. return '-';
  78. }
  79. },
  80. {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
  81. {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate,
  82. formatter: Table.api.formatter.operate,
  83. buttons: [
  84. {
  85. name: 'detail',
  86. title: '详情',
  87. classname: 'btn btn-xs btn-info btn-detail',
  88. icon: 'fa fa-list',
  89. url: 'user/share/detail'
  90. }
  91. ]
  92. }
  93. ]
  94. ]
  95. });
  96. // 为表格绑定事件
  97. Table.api.bindevent(table);
  98. },
  99. add: function () {
  100. Controller.api.bindevent();
  101. },
  102. edit: function () {
  103. Controller.api.bindevent();
  104. },
  105. detail: function () {
  106. Controller.api.bindevent();
  107. },
  108. api: {
  109. bindevent: function () {
  110. Form.api.bindevent($("form[role=form]"));
  111. }
  112. }
  113. };
  114. return Controller;
  115. });