You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Attendance.js 6.1 KiB

4 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. var refreshGirdData;
  2. var bootstrap = function ($, learun) {
  3. var startTime;
  4. var endTime;
  5. var page = {
  6. init: function () {
  7. page.bind();
  8. },
  9. loadData: function (param) {
  10. $.lrSetFormWithParam(top.$.rootUrl + '/PersonnelManagement/TimeTable/GetData', param,
  11. function (data) {
  12. // 数据处理
  13. var html = '';
  14. var weekLists = data.weekList;
  15. for (var i = 1; i < 11; i++) {
  16. (function (arg) {
  17. var args = arg - 1;
  18. var datas = flogs(arg, weekLists, 'time');
  19. html += ' <tr><td>' + arg + '节</td>';
  20. if (datas) {
  21. var lists = datas.list;
  22. html += tdHandles(lists);
  23. } else {
  24. html += tdHandle(arg);
  25. }
  26. html += '</tr>';
  27. })(i); //调用时参数
  28. }
  29. $('.personT').text(data.schoolName);
  30. $('.perSemester').text(data.semester);
  31. $('.perFestivalsBox table').html(html);
  32. function flogs(num, data, obj) {
  33. var flog = false;
  34. $.each(data,
  35. function (i, n) {
  36. if (n[obj] == num) {
  37. flog = n;
  38. return;
  39. }
  40. })
  41. return flog;
  42. }
  43. //某节课空
  44. function tdHandle() {
  45. var html = '';
  46. for (var j = 0; j < 7; j++) {
  47. html += '<td><div></div><div></div><div></div><div></div></td>';
  48. }
  49. return html;
  50. }
  51. //某节课不空
  52. function tdHandles(lists) {
  53. var html = '';
  54. for (var k = 1; k < 8; k++) {
  55. (function (arg) {
  56. var args = arg - 1;
  57. var datas = flogs(arg, lists, 'day');
  58. if (datas) {
  59. html += '<td data=' + JSON.stringify(datas) + ' class="active"><div>课程:' +
  60. datas.lessonName +
  61. '</div>' +
  62. '<div>教师:' +
  63. datas.teacher +
  64. '</div>' +
  65. '<div>班级:' +
  66. datas.className +
  67. '</div>' +
  68. '<div>教室:' +
  69. datas.classRoom +
  70. '</div></td>';
  71. } else {
  72. html += '<td><div></div><div></div><div></div><div></div></td>';
  73. }
  74. })(k);
  75. }
  76. return html;
  77. }
  78. });
  79. },
  80. bind: function () {
  81. $('#datesearch').lrdate({
  82. dfdata: [
  83. {
  84. name: '上周',
  85. begin: function () { return learun.getTime(7); },
  86. end: function () {
  87. return learun.getTime(1);
  88. }
  89. },
  90. {
  91. name: '本周',
  92. begin: function () { return learun.getTime(0); },
  93. end: function () {
  94. return learun.getTime(-6);
  95. }
  96. },
  97. {
  98. name: '下周',
  99. begin: function () { return learun.getTime(-7); },
  100. end: function () {
  101. return learun.getTime(-13);
  102. }
  103. }],
  104. // 月
  105. mShow: false,
  106. premShow: false,
  107. // 季度
  108. jShow: false,
  109. prejShow: false,
  110. // 年
  111. ysShow: false,
  112. yxShow: false,
  113. preyShow: false,
  114. yShow: false,
  115. // 默认
  116. dfvalue: 'currentWeek',
  117. selectfn: function (begin, end) {
  118. startTime = begin;
  119. endTime = end;
  120. page.search();
  121. }
  122. });
  123. $('.perFestivalsBox').on('click',
  124. 'td.active',
  125. function () {
  126. var params = JSON.parse($(this).attr('data'));
  127. learun.layerForm({
  128. id: 'form',
  129. title: "[" + params.curriculum + "]课堂考勤",
  130. url: top.$.rootUrl + '/PersonnelManagement/TimeTable/AttendanceDetail?year=' + params.academicyear + '&semester=' + params.semester + '&empno=' + params.empno + '&lessonNo=' + params.lessonNo + '&teachClassNo=' + params.teachClassNo + '&lessonTime=' + params.lessonTime + '&lessonDate=' + params.lessonDate + '&lessonSortNo=' + params.lessonSortNo + '&classRoomNo=' + params.classRoomNo,
  131. width: 1000,
  132. height: 600,
  133. btn: null
  134. });
  135. });
  136. },
  137. search: function (param) {
  138. param = param || {};
  139. param.StartTime = startTime;
  140. param.EndTime = endTime;
  141. page.loadData(param);
  142. }
  143. };
  144. page.init();
  145. };