card.js 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  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: 'title', title: __('补卡原因'), operate: false},
  34. {field: 'remark', title: __('补卡事由'), operate: false},
  35. {
  36. field: 'check_status',
  37. title: '审批状态',
  38. formatter: Table.api.formatter.status,
  39. searchList: {0: '待审核', 1: '审核中', 2: '审核通过', 3: "审核未通过", 4: "已撤销"}
  40. },
  41. {
  42. field: 'type',
  43. title: __('补卡类型'),
  44. formatter: Table.api.formatter.status,
  45. searchList: {0: '补卡', 1: '早退补卡', 2: '迟到补卡'}
  46. },
  47. {
  48. field: 'files',
  49. title: __('附件'),
  50. events: Table.api.events.image,
  51. formatter: Table.api.formatter.images,
  52. operate: false
  53. },
  54. {
  55. field: 'createtime',
  56. title: '打卡时间',
  57. operate: 'RANGE',
  58. addclass: 'datetimerange',
  59. formatter: Table.api.formatter.datetime
  60. },
  61. ]
  62. ],
  63. pagination : true,
  64. search : false,
  65. commonSearch : true,
  66. searchFormVisible : true,
  67. //显示导出按钮
  68. showExport: false,
  69. onLoadSuccess:function(){
  70. // 这里就是数据渲染结束后的回调函数
  71. $(".btn-add").data("area",["80%","80%"]);
  72. $(".btn-edit").data("area",["80%","80%"]);
  73. }
  74. },
  75. table: {
  76. first: function () {
  77. // 初始化表格参数配置
  78. Table.api.init({
  79. extend: {
  80. index_url: 'qingdongams/attendance/card/index',
  81. table: 'card'
  82. }
  83. });
  84. var table = $("#table");
  85. Controller.tableinfo.url=location.href+'&type=0';
  86. Controller.tableinfo.toolbar='#toolbar';
  87. Controller.tableinfo.columns[0][Controller.tableinfo.columns[0].length-1].table=table;
  88. // 初始化表格
  89. table.bootstrapTable(Controller.tableinfo);
  90. // 为表格绑定事件
  91. Table.api.bindevent(table);
  92. },
  93. second: function () {
  94. // 初始化表格参数配置
  95. Table.api.init({
  96. extend: {
  97. index_url: 'qingdongams/attendance/card/index',
  98. table: 'card'
  99. }
  100. });
  101. var table = $("#table1");
  102. Controller.tableinfo.url=location.href+'&type=1';
  103. Controller.tableinfo.toolbar='#toolbar1';
  104. Controller.tableinfo.columns[0][Controller.tableinfo.columns[0].length-1].table=table;
  105. // 初始化表格
  106. table.bootstrapTable(Controller.tableinfo);
  107. // 为表格绑定事件
  108. Table.api.bindevent(table);
  109. },
  110. third: function () {
  111. // 初始化表格参数配置
  112. Table.api.init({
  113. extend: {
  114. index_url: 'qingdongams/attendance/card/index',
  115. table: 'card'
  116. }
  117. });
  118. var table = $("#table2");
  119. Controller.tableinfo.url=location.href+'&type=2';
  120. Controller.tableinfo.toolbar='#toolbar2 ';
  121. Controller.tableinfo.columns[0][Controller.tableinfo.columns[0].length-1].table=table;
  122. // 初始化表格
  123. table.bootstrapTable(Controller.tableinfo);
  124. // 为表格绑定事件
  125. Table.api.bindevent(table);
  126. },
  127. },
  128. add: function () {
  129. Controller.api.bindevent();
  130. },
  131. api: {
  132. bindevent: function () {
  133. Form.api.bindevent($("form[role=form]"));
  134. },
  135. }
  136. };
  137. return Controller;
  138. });