lists.js 6.7 KB

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