shift.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. var layer, eTbl;
  2. layui.use(['table', 'layer', 'form'], function () {
  3. var table = layui.table;
  4. layer = layui.layer;
  5. var form = layui.form;
  6. //第一个实例
  7. eTbl = table.render({
  8. elem: '#tbl',
  9. url: '/mes/api/shift', //数据接口
  10. page: true, //开启分页
  11. toolbar: '#toolbar',
  12. cols: [[ //表头
  13. { checkbox: true },
  14. { field: 'fCode', title: '编号', width: 160, sort: true },
  15. { field: 'fName', title: '名称', width: 120, sort: true },
  16. { field: 'sTime', title: '开始时间', width: 160 },
  17. { field: 'eTime', title: '结束时间', width: 160 },
  18. { field: 'tLength', title: '时长', width: 160, sort: true },
  19. {
  20. field: 'fStatus', title: '状态', width: 100, align: 'center', sort: true, templet: function (d) {
  21. var div = $('<div>');
  22. var span = $('<span>');
  23. span.addClass('layui-badge');
  24. span.text(d.fStatusName);
  25. if (d.fStatus == -1) {
  26. span.addClass('layui-bg-red');
  27. } else if (d.fStatus == 1) {
  28. span.attr('style', 'background-color:#5FB878');
  29. }
  30. div.append(span);
  31. return div.html();
  32. }
  33. },
  34. {
  35. field: 'rectime', title: '录入日期', width: 240, sort: true, templet: function (d) {
  36. console.log(d);
  37. return (d.rectime == null || d.rectime == undefined) ? '' : timeFormat(d.rectime);
  38. }
  39. },
  40. { field: 'remark', title: '备注', width: 380 }
  41. ]],
  42. done: () => {
  43. $.ajaxSettings.async = false;
  44. }
  45. });
  46. table.on('toolbar(machine)', function (obj) {
  47. if (obj.event == 'add') {
  48. layer.open({
  49. type: 2,
  50. title: '新增班次',
  51. content: 'shiftAdd.html',
  52. area: ['800px', '430px']
  53. });
  54. } else if (obj.event == 'delete') {
  55. var checkStatus = table.checkStatus('tbl');
  56. console.log(checkStatus);
  57. if (checkStatus.data.length === 0) {
  58. layer.msg('请先选中需要操作的班次!', {
  59. icon: 2,
  60. anim: 6
  61. });
  62. return;
  63. }
  64. var ids = '';
  65. for (var i = 0; i < checkStatus.data.length; i++) {
  66. ids += checkStatus.data[i].id + ',';
  67. }
  68. ids = ids.substr(0, ids.length - 1);
  69. $.ajax({
  70. url: '/mes/api/shift/delete',
  71. type: 'post',
  72. contentType: 'application/json',
  73. dataType: 'text',
  74. data: JSON.stringify(ids),
  75. success: function (res) {
  76. if (res) {
  77. //obj.del();
  78. layer.msg('操作成功', {
  79. icon: 1,
  80. anim: 0
  81. });
  82. eTbl.reload(true);
  83. } else {
  84. layer.msg('操作失败', {
  85. icon: 2,
  86. anim: 6
  87. });
  88. }
  89. }
  90. });
  91. } else if (obj.event == 'search') {
  92. showToast();
  93. var fcode = $('input[name=fcode]').val();
  94. var fname = $('input[name=fname]').val();
  95. var status = $('select[name=status]').val();
  96. eTbl.reload({
  97. where: {
  98. fcode: fcode,
  99. status: status,
  100. fname: fname
  101. },
  102. done: () => {
  103. form.val('searchForm', {
  104. fcode: fcode,
  105. status: status,
  106. fname: fname
  107. });
  108. layer.closeAll('loading');
  109. }
  110. });
  111. }
  112. else if (obj.event == 'all') {
  113. showToast();
  114. $('input[name=fcode]').val('');
  115. $('select[name=status]').val('');
  116. $('input[name=fname]').val('');
  117. eTbl.reload({
  118. where: {
  119. fcode: fcode,
  120. status: status,
  121. fname: fname
  122. },
  123. done: () => {
  124. layer.closeAll('loading');
  125. }
  126. });
  127. }
  128. });
  129. table.on('rowDouble(machine)', function (obj) {
  130. console.log(obj);
  131. layer.open({
  132. type: 2,
  133. content: 'shiftAdd.html?id=' + obj.data.id,
  134. area: ['800px', '475px']
  135. });
  136. });
  137. table.on('sort(machine)', function (obj) {
  138. eTbl.reload({
  139. initSort: obj,
  140. where: {
  141. sort: obj.field,
  142. order: obj.type
  143. }
  144. })
  145. });
  146. });
  147. function reloadTable() {
  148. eTbl.reload();
  149. }