timedrecommand.js 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
  2. //去掉特殊字符和转义字符
  3. function excludeSpecial(s) {
  4. s = s.replace(/[\\\/\b\f\n\r\t\'\[\]\@\#\$\%\^\&\*\{\}\:\"\L\<\>\?]/g,'');
  5. return s;
  6. };
  7. $(document).on('keyup','#description',function () {
  8. var descrp = $('#description').val();
  9. $('#description').val(excludeSpecial(descrp));
  10. });
  11. var Controller = {
  12. index: function () {
  13. // 初始化表格参数配置
  14. Table.api.init({
  15. extend: {
  16. index_url: 'timedrecommand/index',
  17. add_url: 'timedrecommand/add',
  18. edit_url: 'timedrecommand/edit',
  19. del_url: 'timedrecommand/del',
  20. multi_url: 'timedrecommand/multi',
  21. table: 'timed_recommand',
  22. },
  23. search: false,
  24. showToggle:false,
  25. showColumns: false,
  26. showExport: false,
  27. searchFormVisible: true,
  28. });
  29. var table = $("#table");
  30. // 初始化表格
  31. table.bootstrapTable({
  32. url: $.fn.bootstrapTable.defaults.extend.index_url,
  33. pk: 'id',
  34. sortName: 'id',
  35. columns: [
  36. [
  37. {checkbox: true},
  38. {field: 'id', title: __('Id'), operate:false},
  39. {field: 'book_id', title: __('Book_id'),operate: 'LIKE %...%'},
  40. {field: 'book_name', title: __('Book_name'),operate: 'LIKE %...%'},
  41. {field: 'book.cansee', title: '代理商/渠道商是否可见', searchList: {"1":'可见',"0":'不可见'}, visible: false},
  42. {field: 'cansee', title: '代理商/渠道商是否可见', operate: false, formatter: function(value, row){
  43. var list = {"1":'可见',"0":'不可见'};
  44. return list[row['cansee']];
  45. }},
  46. {field: 'book.state', title: '上架状态', searchList: {"1":'上架',"0":'下架',"-1":'入库'}, visible: false},
  47. {field: 'state', title: '上架状态', operate: false, formatter: function(value, row){
  48. var list = {"1":'上架',"0":'下架',"-1":'入库'}
  49. return list[row['state']];
  50. }},
  51. {field: 'title', title: __('Title'),operate: 'LIKE %...%'},
  52. {field: 'image', title: __('Image'), formatter: Table.api.formatter.image, operate:false},
  53. {field: 'sex', title: __('Sex'), visible:false, searchList: {"1":__('Sex 1'),"2":__('Sex 2')}},
  54. {field: 'sex_text', title: __('Sex'), operate:false},
  55. {field: 'location', title: __('Location'), searchList: {"1":__('Location 1'),"2":__('Location 2'),"3":__('Location 3')}, formatter: function (value,row,index) {
  56. return row.location_text || "-";
  57. }},
  58. {field: 'status', title: __('Status'), visible:false, searchList: {"normal":__('normal'),"hidden":__('hidden')}},
  59. {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime, operate:false},
  60. {field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime, operate:false},
  61. {field: 'status_text', title: __('Status'), operate:false},
  62. {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
  63. ]
  64. ]
  65. });
  66. // 为表格绑定事件
  67. Table.api.bindevent(table);
  68. },
  69. add: function () {
  70. Controller.api.bindevent();
  71. },
  72. edit: function () {
  73. Controller.api.bindevent();
  74. },
  75. api: {
  76. bindevent: function () {
  77. Form.api.bindevent($("form[role=form]"));
  78. var refreshkey = function (data) {
  79. Layer.closeAll();
  80. $('#c-book_id').val(data[0].id);
  81. $('#c-image').val(data[0].image);
  82. $('#c-image').trigger('change');
  83. $('#c-book_name').val(data[0].name);
  84. $('#c-book_name').trigger('change');
  85. $('#c-sex').val(data[0].sex);
  86. $('#c-sex').trigger('change');
  87. $('#description').val(excludeSpecial(data[0].description));
  88. };
  89. $(document).on('click', "#select-resources", function () {
  90. var block_id = Config.block_id;
  91. parent.Backend.api.open($(this).attr("href") + "?action=blockresoure&block_id=" + block_id, __('Select'), {callback: refreshkey});
  92. return false;
  93. });
  94. }
  95. }
  96. };
  97. return Controller;
  98. });