lists.js 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'selectpage'], function ($, undefined, Backend, Table, Form, selectPage) {
  2. var Controller = {
  3. index: function () {
  4. // 初始化表格参数配置
  5. Table.api.init({
  6. extend: {
  7. index_url: 'product/lists/index' + location.search,
  8. add_url: 'product/lists/add',
  9. edit_url: 'product/lists/edit',
  10. del_url: 'product/lists/del',
  11. multi_url: 'product/lists/multi',
  12. import_url: 'product/lists/import',
  13. table: 'product_list',
  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. fixedColumns: true,
  23. fixedRightNumber: 1,
  24. columns: [
  25. [
  26. {checkbox: true},
  27. {field: 'id', title: __('Id')},
  28. {field: 'type_id', title: __('Type_id')},
  29. {field: 'zh_name', title: __('Zh_name'), operate: false,
  30. formatter : function(value, row, index, field){
  31. return "<span style='display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' title='" + row.zh_name + "'>" + value + "</span>";
  32. },
  33. cellStyle : function(value, row, index, field){
  34. return {
  35. css: {
  36. "white-space": "nowrap",
  37. "text-overflow": "ellipsis",
  38. "overflow": "hidden",
  39. "max-width":"200px"
  40. }
  41. };
  42. }
  43. },
  44. {field: 'en_name', title: __('En_name'), operate: false,
  45. formatter : function(value, row, index, field){
  46. return "<span style='display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' title='" + row.en_name + "'>" + value + "</span>";
  47. },
  48. cellStyle : function(value, row, index, field){
  49. return {
  50. css: {
  51. "white-space": "nowrap",
  52. "text-overflow": "ellipsis",
  53. "overflow": "hidden",
  54. "max-width":"200px"
  55. }
  56. };
  57. }
  58. },
  59. {field: 'thum', title: __('Thum'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.images},
  60. {field: 'weigh', title: __('Weigh'), operate: false},
  61. {field: 'status', title: __('Status'), searchList: {"1":__('上架'),"0":__('下架')}, formatter: Table.api.formatter.toggle},
  62. {field: 'create_time', title: __('Create_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
  63. {field: 'update_time', title: __('Update_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
  64. {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
  65. ]
  66. ]
  67. });
  68. // 为表格绑定事件
  69. Table.api.bindevent(table);
  70. // 修改添加窗口的大小
  71. $(".btn-add").data("area", ["60%", "80%"]);
  72. table.on('post-body.bs.table',function () {
  73. $('.btn-editone').data("area",["80%","100%"]);
  74. });
  75. },
  76. add: function () {
  77. Controller.api.bindevent();
  78. Controller.api.binfieldlist();
  79. },
  80. edit: function () {
  81. Controller.api.bindevent();
  82. Controller.api.binfieldlist();
  83. },
  84. api: {
  85. bindevent: function () {
  86. Form.api.bindevent($("form[role=form]"));
  87. },
  88. binfieldlist: function () {
  89. $(document).on("fa.event.appendfieldlist", ".btn-append", function (e, obj) {
  90. //绑定动态下拉组件
  91. Form.events.selectpage(obj);
  92. Form.events.cxselect(obj);
  93. Form.events.citypicker(obj);
  94. });
  95. $(document).on('change','.province',function(){
  96. let txt = $(this).find("option:selected").text();
  97. let obj = $(this).parents('.form-inline').find('input')
  98. obj.val(txt)
  99. });
  100. //城市
  101. $(document).on('change','.city',function(){
  102. let txt = $(this).find("option:selected").text();
  103. let obj = $(this).parents('.form-inline').find('input')
  104. if(txt != '请选择'){
  105. var arr = obj.val().split("-");
  106. arr[1] = txt
  107. obj.val(arr.join('-'))
  108. }
  109. });
  110. //地区
  111. $(document).on('change','.area',function(){
  112. let txt = $(this).find("option:selected").text();
  113. let obj = $(this).parents('.form-inline').find('input')
  114. if(txt != '请选择'){
  115. var arr = obj.val().split("-");
  116. arr[2] = txt
  117. obj.val(arr.join('-'))
  118. }
  119. });
  120. //乡镇
  121. $(document).on('change','.county',function(){
  122. let txt = $(this).find("option:selected").text();
  123. let obj = $(this).parents('.form-inline').find('input')
  124. if(txt != '请选择'){
  125. var arr = obj.val().split("-");
  126. arr.splice(3, 1);
  127. arr[3] = txt
  128. obj.val(arr.join('-'))
  129. }
  130. });
  131. },
  132. }
  133. };
  134. return Controller;
  135. });