leave.js 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. define(['jquery', 'bootstrap', 'backend', 'form', 'table'], function ($, undefined, Backend, Form, Table) {
  2. var Controller = {
  3. index: function () {
  4. // 初始化表格参数配置
  5. Table.api.init();
  6. //绑定事件
  7. $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
  8. var panel = $($(this).attr("href"));
  9. if (panel.length > 0) {
  10. Controller.table[panel.attr("id")].call(this);
  11. $(this).on('click', function (e) {
  12. $($(this).attr("href")).find(".btn-refresh").trigger("click");
  13. });
  14. }
  15. //移除绑定的事件
  16. $(this).unbind('shown.bs.tab');
  17. });
  18. //必须默认触发shown.bs.tab事件
  19. $('ul.nav-tabs li.active a[data-toggle="tab"]').trigger("shown.bs.tab");
  20. },
  21. tableinfo:{
  22. url : '',
  23. toolbar: '',
  24. pk : 'id',
  25. sortName : 'id',
  26. fixedColumns : true,
  27. fixedNumber : 2,
  28. fixedRightNumber : 1,
  29. columns: [
  30. [
  31. {field: 'state', checkbox: true},
  32. {field: 'create_staff.name', title: __('员工姓名'), operate: false},
  33. {field: 'type', title: __('请假类型'), formatter: Table.api.formatter.status,
  34. searchList: {'年假':'年假', '事假':'事假','病假':'病假','调休假':'调休假','婚假':'婚假','产假':'产假','陪产假':'陪产假','其他':'其他'}},
  35. {field: 'start_time', title: '开始时间', operate: false},
  36. {field: 'end_time', title: __('结束时间'), operate: false},
  37. {field: 'hour', title: __('请假时长(小时)'), operate: false},
  38. {field: 'remarks', title: __('备注'), operate: false},
  39. {field: 'files', title: __('附件'), events: Table.api.events.image, formatter: Table.api.formatter.images, operate: false},
  40. {field: 'createtime', title: '提交时间', operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
  41. ]
  42. ],
  43. pagination : true,
  44. search : false,
  45. commonSearch : true,
  46. searchFormVisible : true,
  47. //显示导出按钮
  48. showExport: false,
  49. onLoadSuccess:function(){
  50. // 这里就是数据渲染结束后的回调函数
  51. $(".btn-add").data("area",["80%","80%"]);
  52. $(".btn-edit").data("area",["80%","80%"]);
  53. }
  54. },
  55. table: {
  56. first: function () {
  57. // 初始化表格参数配置
  58. Table.api.init({
  59. extend: {
  60. index_url: 'qingdongams/attendance/leave/index',
  61. table: 'leave'
  62. }
  63. });
  64. var table = $("#table");
  65. Controller.tableinfo.url=location.href+'&type=0';
  66. Controller.tableinfo.toolbar='#toolbar';
  67. Controller.tableinfo.columns[0][Controller.tableinfo.columns[0].length-1].table=table;
  68. // 初始化表格
  69. table.bootstrapTable(Controller.tableinfo);
  70. // 为表格绑定事件
  71. Table.api.bindevent(table);
  72. },
  73. second: function () {
  74. // 初始化表格参数配置
  75. Table.api.init({
  76. extend: {
  77. index_url: 'qingdongams/attendance/leave/index',
  78. table: 'leave'
  79. }
  80. });
  81. var table = $("#table1");
  82. Controller.tableinfo.url=location.href+'&type=1';
  83. Controller.tableinfo.toolbar='#toolbar1';
  84. Controller.tableinfo.columns[0][Controller.tableinfo.columns[0].length-1].table=table;
  85. // 初始化表格
  86. table.bootstrapTable(Controller.tableinfo);
  87. // 为表格绑定事件
  88. Table.api.bindevent(table);
  89. },
  90. third: function () {
  91. // 初始化表格参数配置
  92. Table.api.init({
  93. extend: {
  94. index_url: 'qingdongams/attendance/leave/index',
  95. table: 'leave'
  96. }
  97. });
  98. var table = $("#table2");
  99. Controller.tableinfo.url=location.href+'&type=2';
  100. Controller.tableinfo.toolbar='#toolbar2 ';
  101. Controller.tableinfo.columns[0][Controller.tableinfo.columns[0].length-1].table=table;
  102. // 初始化表格
  103. table.bootstrapTable(Controller.tableinfo);
  104. // 为表格绑定事件
  105. Table.api.bindevent(table);
  106. },
  107. },
  108. add: function () {
  109. Controller.api.bindevent();
  110. },
  111. api: {
  112. bindevent: function () {
  113. Form.api.bindevent($("form[role=form]"));
  114. },
  115. }
  116. };
  117. return Controller;
  118. });