consume.js 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. define(['jquery', 'bootstrap', 'backend', 'form', 'table'], function ($, undefined, Backend, Form, Table) {
  2. var Controller = {
  3. index: function () {
  4. Table.api.init();
  5. //绑定事件
  6. $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
  7. var panel = $($(this).attr("href"));
  8. if (panel.length > 0) {
  9. Controller.table[panel.attr("id")].call(this);
  10. $(this).on('click', function (e) {
  11. $($(this).attr("href")).find(".btn-refresh").trigger("click");
  12. });
  13. }
  14. //移除绑定的事件
  15. $(this).unbind('shown.bs.tab');
  16. });
  17. //必须默认触发shown.bs.tab事件
  18. $('ul.nav-tabs li.active a[data-toggle="tab"]').trigger("shown.bs.tab");
  19. // 初始化表格参数配置
  20. Table.api.init({
  21. extend: {
  22. index_url: 'qingdong/customer/consume/index?type=0',
  23. add_url: 'qingdong/customer/consume/add',
  24. edit_url: 'qingdong/customer/consume/edit',
  25. del_url: 'qingdong/customer/consume/del',
  26. detail_url : 'qingdong/customer/consume/detail',
  27. customer_url : 'qingdong/customer/customer/detail',
  28. table: 'consume'
  29. }
  30. });
  31. $(document).on('click', '.show-customer', function (data) {
  32. var area = [$(window).width() > 1200 ? '1200px' : '95%', $(window).height() > 800 ? '800px' : '95%'];
  33. var options = {
  34. shadeClose : false,
  35. shade : [0.3, '#393D49'],
  36. area : area,
  37. callback : function (value) {
  38. //在回调函数里可以调用你的业务代码实现前端的各种逻辑和效果
  39. console.log(value);
  40. }
  41. };
  42. Fast.api.open($.fn.bootstrapTable.defaults.extend.customer_url + "?ids=" + $(this).data('id'), '客户详情', options);
  43. });
  44. },
  45. tableinfo:{
  46. url: '',
  47. pk: 'id',
  48. toolbar: '#toolbar',
  49. sortName: 'id',
  50. fixedRightNumber:1,
  51. fixedColumns:true,
  52. columns: [
  53. [
  54. {field: 'state', checkbox: true},
  55. {field: 'consume_type', title: __('消费方式'), operate:false, formatter : function (value, row, index) {
  56. return "<a href='javascript:void(0);' class='btn-dialog' data-shade=\"0.3\"\n" +
  57. "data-url=\""+ $.fn.bootstrapTable.defaults.extend.detail_url + "?ids=" + row.id+
  58. "\" data-title=\"费用详情\" ' >" + value + "</a>";
  59. }},
  60. {field: 'consume_time', title: __('消费日期'), operate: '=', addclass: 'datetimepicker',data:"data-date-format=\" YYYY-MM-DD\""},
  61. {field: 'customer', title: __('关联客户'), operate:false, formatter : function (value, row, index) {
  62. if(row.customer){
  63. return "<a href='javascript:void(0);' data-id='" + row.customer.id + "' class='show-customer'>" + row.customer.name + "</a>";
  64. }else{
  65. return '';
  66. }
  67. }},
  68. {field : 'customer_id', title : '关联客户', visible: false, addClass: "selectpage", extend: "data-source='qingdong/customer/customer/index' data-field='name'"},
  69. {field: 'money', title: __('消费金额')},
  70. {field: 'check_status', title: __('审批状态'), formatter: Table.api.formatter.status, searchList: {0: __('待审核'), 1: __('审核中'), 2: __('审核通过'), 3: __('审核拒绝'), 4: __('撤销'), 5: __('草稿')},custom: {0: 'gray', 1: 'gray',2: 'success', 3: 'danger', 4: 'danger', 5: 'danger'}},
  71. {field: 'remark', title: __('备注')},
  72. {field: 'file_text', title: __('附件'), formatter: function (value, row, index) {
  73. var length = row.file_text.length;
  74. var html='';
  75. for(var i=0;i<length;i++){
  76. html += '<a href="' + row.file_text[i] + '" target="_blank"><img src="' + row.file_text[i] + '" data-tips-image alt="" title="附件图" style="max-height:90px;max-width:120px;margin-right:10px;"></a>';
  77. }
  78. return html;
  79. }, operate : false},
  80. {field: 'staff.name', title: __('创建人'),operate:false},
  81. {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
  82. ]
  83. ],
  84. //启用普通表单搜索
  85. search:false,
  86. commonSearch: true,
  87. searchFormVisible: true,
  88. },
  89. table: {
  90. first: function () {
  91. var table = $("#table");
  92. Controller.tableinfo.url=location.href+'&type=0';
  93. Controller.tableinfo.toolbar='#toolbar';
  94. Controller.tableinfo.columns[0][Controller.tableinfo.columns[0].length-1].table=table;
  95. // 初始化表格
  96. table.bootstrapTable(Controller.tableinfo);
  97. // 为表格绑定事件
  98. Table.api.bindevent(table);
  99. },
  100. second: function () {
  101. // 初始化表格参数配置
  102. Table.api.init({
  103. extend: {
  104. index_url: 'qingdong/customer/consume/index?type=0',
  105. add_url: 'qingdong/customer/consume/add',
  106. edit_url: 'qingdong/customer/consume/edit',
  107. del_url: 'qingdong/customer/consume/del',
  108. detail_url : 'qingdong/customer/consume/detail',
  109. customer_url : 'qingdong/customer/customer/detail',
  110. table: 'consume'
  111. }
  112. });
  113. var table = $("#table1");
  114. Controller.tableinfo.url=location.href+'&type=1';
  115. Controller.tableinfo.toolbar='#toolbar1';
  116. Controller.tableinfo.columns[0][Controller.tableinfo.columns[0].length-1].table=table;
  117. // 初始化表格
  118. table.bootstrapTable(Controller.tableinfo);
  119. // 为表格绑定事件
  120. Table.api.bindevent(table);
  121. },
  122. third: function () {
  123. // 初始化表格参数配置
  124. Table.api.init({
  125. extend: {
  126. index_url: 'qingdong/customer/consume/index?type=0',
  127. add_url: 'qingdong/customer/consume/add',
  128. edit_url: 'qingdong/customer/consume/edit',
  129. del_url: 'qingdong/customer/consume/del',
  130. detail_url : 'qingdong/customer/consume/detail',
  131. customer_url : 'qingdong/customer/customer/detail',
  132. table: 'consume'
  133. }
  134. });
  135. var table = $("#table2");
  136. Controller.tableinfo.url=location.href+'&type=2';
  137. Controller.tableinfo.toolbar='#toolbar2';
  138. Controller.tableinfo.columns[0][Controller.tableinfo.columns[0].length-1].table=table;
  139. // 初始化表格
  140. table.bootstrapTable(Controller.tableinfo);
  141. // 为表格绑定事件
  142. Table.api.bindevent(table);
  143. },
  144. },
  145. add : function () {
  146. Controller.api.bindevent();
  147. },
  148. edit : function () {
  149. Controller.api.bindevent();
  150. },
  151. detail : function () {
  152. $('.stafflist').popover({
  153. placement : 'bottom',
  154. trigger : 'hover'
  155. });
  156. Controller.api.bindevent();
  157. },
  158. api: {
  159. bindevent: function () {
  160. $(document).on("click", ".select-customer", function(){
  161. var $this=$(this);
  162. top.Fast.api.open($(this).data("url") , __('Select'), {callback: function (data) {
  163. $this.html(data.name);
  164. $('[name="'+$this.data('name')+'"]').val(data.id);
  165. },area:["100%", "100%"]});
  166. })
  167. Form.api.bindevent($("form[role=form]"));
  168. },
  169. formatter: {}
  170. },
  171. };
  172. return Controller;
  173. });