attendance.js 6.0 KB

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