finance.js 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  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 : 'qingdongams/finance/consume/index',
  8. detail_url: 'qingdongams/customer/consume/detail',
  9. edit_consume: 'qingdongams/customer/consume/edit',
  10. add_url: 'qingdongams/customer/consume/add',
  11. table : 'finance',
  12. }
  13. });
  14. var table = $("#table");
  15. $(".btn-add").data("area",["90%","90%"]);
  16. $(".btn-edit").data("area",["90%","90%"]);
  17. // 初始化表格
  18. table.bootstrapTable({
  19. url : $.fn.bootstrapTable.defaults.extend.index_url+'?createtime='+Fast.api.query("createtime"),
  20. pk : 'id',
  21. sortName : 'id',
  22. fixedColumns : true,
  23. fixedNumber : 2,
  24. search:false,
  25. searchFormVisible:true,
  26. columns: [
  27. [
  28. {field: 'state', checkbox: true},
  29. {field: 'number', title: __('报销单号'), operate:false, formatter : function (value, row, index) {
  30. return "<a href='javascript:void(0);' class='btn-dialog' data-shade=\"0.3\"\n" +
  31. "data-url=\""+ $.fn.bootstrapTable.defaults.extend.detail_url + "?ids=" + row.id+
  32. "\" data-title=\"费用详情\" ' >" + value + "</a>";
  33. }},
  34. {field: 'submit_date', title: __('消费日期'), operate: '=', addclass: 'datetimepicker',data:"data-date-format=\" YYYY-MM-DD\""},
  35. {field: 'customer', title: __('关联客户'), operate:false, formatter : function (value, row, index) {
  36. if(row.customer){
  37. return "<a href='javascript:void(0);' data-id='" + row.customer.id + "' class='show-customer'>" + row.customer.name + "</a>";
  38. }else{
  39. return '';
  40. }
  41. }},
  42. {field : 'customer_id', title : '关联客户', visible: false, addClass: "selectpage", extend: "data-source='qingdongams/customer/customer/index' data-field='name'"},
  43. {field: 'money', title: __('消费金额')},
  44. {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'}},
  45. {field: 'remark', title: __('备注')},
  46. {field: 'staff.name', title: __('创建人'),operate:false},
  47. {
  48. field: 'createtime',
  49. title: __('Createtime'),
  50. formatter: Table.api.formatter.datetime,
  51. operate: 'RANGE',
  52. addclass: 'datetimerange',
  53. sortable: true,
  54. width: 150
  55. },
  56. {
  57. field: 'operate', title: __('Operate'),
  58. buttons: [{
  59. name: 'consume_set',
  60. text: __('修改'),
  61. title: __('修改'),
  62. icon: 'fa fa-add',
  63. classname: 'btn btn-xs btn-warning btn-dialog',
  64. url: $.fn.bootstrapTable.defaults.extend.edit_consume,
  65. extend: 'data-area=\'["100%","100%"]\'',
  66. visible: function (row) {
  67. if (row.check_status == 3) {
  68. return true;
  69. } else {
  70. return false;
  71. }
  72. },
  73. }],
  74. table: table, events: Table.api.events.operate,
  75. formatter: Table.api.formatter.operate
  76. }
  77. ]
  78. ]
  79. });
  80. $(document).on('click', '.show-detail', function (data) {
  81. var area = [$(window).width() > 1200 ? '1200px' : '95%', $(window).height() > 800 ? '800px' : '95%'];
  82. var options = {
  83. shadeClose : false,
  84. shade : [0.3, '#393D49'],
  85. area : area,
  86. callback : function (value) {
  87. //在回调函数里可以调用你的业务代码实现前端的各种逻辑和效果
  88. console.log(value);
  89. }
  90. };
  91. Fast.api.open($.fn.bootstrapTable.defaults.extend.detail_url + "?ids=" + $(this).data('id'), '费用详情页', options);
  92. }).on('click', '.show-customer', function (data) {
  93. var area = [$(window).width() > 1200 ? '1200px' : '95%', $(window).height() > 800 ? '800px' : '95%'];
  94. var options = {
  95. shadeClose : false,
  96. shade : [0.3, '#393D49'],
  97. area : area,
  98. callback : function (value) {
  99. //在回调函数里可以调用你的业务代码实现前端的各种逻辑和效果
  100. console.log(value);
  101. }
  102. };
  103. Fast.api.open("qingdongams/customer/customer/detail?ids=" + $(this).data('id'), '客户详情', options);
  104. });
  105. // 为表格绑定事件
  106. Table.api.bindevent(table);
  107. },
  108. api : {
  109. bindevent : function () {
  110. Form.api.bindevent($("form[role=form]"), function(data, ret){
  111. //这里是表单提交处理成功后的回调函数,接收来自php的返回数据
  112. Fast.api.close(data);//这里是重点
  113. });
  114. }
  115. }
  116. };
  117. return Controller;
  118. });