banner.js 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  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: 'setting/banner/index' + location.search,
  8. add_url: 'setting/banner/add',
  9. edit_url: 'setting/banner/edit',
  10. del_url: 'setting/banner/del',
  11. multi_url: 'setting/banner/multi',
  12. import_url: 'setting/banner/import',
  13. table: 'banner',
  14. }
  15. });
  16. var table = $("#table");
  17. // 初始化表格
  18. table.bootstrapTable({
  19. url: $.fn.bootstrapTable.defaults.extend.index_url,
  20. pk: 'id',
  21. sortName: 'weigh',
  22. columns: [
  23. [
  24. {checkbox: true},
  25. {field: 'place', title: __('Place'), searchList: {"index":__('Place index'),"other":__('Place other')}, formatter: Table.api.formatter.normal},
  26. {field: 'image', title: __('Image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
  27. {field: 'type', title: __('Type'), searchList: {"box":__('Type box'),"link":__('Type link'),"word":__('Type word')}, formatter: Table.api.formatter.normal},
  28. {field: 'value_short', title: __('Value'), operate: false},
  29. {field: 'status', title: __('Status'), searchList: {"normal":__('Status normal'),"hidden":__('Status hidden')}, formatter: Table.api.formatter.status, operate: false},
  30. {field: 'weigh', title: __('Weigh'), operate: false},
  31. {field: 'update_time', title: __('Update_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
  32. {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
  33. ]
  34. ],
  35. searchFormVisible: false,
  36. search:false,
  37. showToggle: false,
  38. showColumns: false
  39. });
  40. $(Config.tab_default).addClass('active');
  41. table.on('load-success.bs.table',function(){
  42. $(".btn-editone").data("area", ["60%","90%"]);
  43. });
  44. // 为表格绑定事件
  45. Table.api.bindevent(table);
  46. },
  47. add: function () {
  48. var box = $('#div-select-box');
  49. var link = $('#div-link');
  50. var word = $('#div-word');
  51. link.hide();
  52. word.hide();
  53. $("select[name='row[type]']").on('change',function () {
  54. var selected = $(this).val();
  55. switch (selected) {
  56. case 'box':
  57. box.show();
  58. link.hide();
  59. word.hide();
  60. break;
  61. case 'link':
  62. box.hide();
  63. link.show();
  64. word.hide();
  65. break;
  66. case 'word':
  67. box.hide();
  68. link.hide();
  69. word.show();
  70. break;
  71. default:
  72. box.hide();
  73. link.hide();
  74. word.hide();
  75. }
  76. });
  77. Controller.api.bindevent();
  78. },
  79. edit: function () {
  80. $('#c-type').on('change',function () {
  81. var boxSelecter = $('#div-select-box');
  82. var divlink = $('#div-link');
  83. var divword = $('#div-word');
  84. var curr_type = $(this).val();
  85. switch (curr_type) {
  86. case 'box':
  87. boxSelecter.removeClass('hidden');
  88. boxSelecter.show();
  89. divlink.hide();
  90. divword.hide();
  91. break;
  92. case 'link':
  93. divlink.removeClass('hidden');
  94. divlink.show();
  95. boxSelecter.hide();
  96. divword.hide();
  97. break;
  98. case 'word':
  99. divword.removeClass('hidden');
  100. divword.show();
  101. divlink.hide();
  102. boxSelecter.hide();
  103. break;
  104. }
  105. });
  106. Controller.api.bindevent();
  107. },
  108. api: {
  109. bindevent: function () {
  110. Form.api.bindevent($("form[role=form]"));
  111. }
  112. }
  113. };
  114. return Controller;
  115. });