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.
 
 
 
 
 
 

268 lines
12 KiB

  1. var refreshGirdData;
  2. var bootstrap = function ($, learun) {
  3. var classNo = ClassNo;
  4. var curWeek;
  5. var weekList;
  6. var page = {
  7. init: function () {
  8. page.bind();
  9. //page.bindSelect();
  10. },
  11. loadData: function (param) {
  12. $.lrSetFormWithParam(top.$.rootUrl + '/EducationalAdministration/ArrangeLessonTerm/GetDataInEducation', param,
  13. function (data) {
  14. //console.log('res', data);
  15. // 数据处理
  16. var html = '<tr style="height: 30px;"><td>节次/星期</td><td>星期一</td><td>星期二</td><td>星期三</td><td>星期四</td><td>星期五</td><td>星期六</td><td>星期日</td></tr>';
  17. var weekLists = data.weekList;
  18. //十节课
  19. for (var i = 1; i < 12; i++) {
  20. (function (arg) {
  21. var args = arg - 1;
  22. var datas = flogs(arg, weekLists, 'time');
  23. //console.log('datas', datas);
  24. html += ' <tr><td>' + arg + '节</td>';
  25. if (datas) {
  26. var lists = datas.list;
  27. html += tdHandles(lists);
  28. } else {
  29. html += tdHandle(arg);
  30. }
  31. html += '</tr>';
  32. })(i); //调用时参数
  33. }
  34. $('.personT').text(data.schoolName);
  35. $('.perSemester').text(data.semester);
  36. $('.perFestivalsBox table').html(html);
  37. $(".leave").on('click', function () {
  38. var $this = $(this);
  39. var lessonNo = $this.attr("lessonno");
  40. var lessonTime = $this.attr("lessonTime");
  41. var lessonDate = $this.attr("lessonDate");
  42. //var lessonName = $this.attr("lessonName");
  43. var academicyear = $this.attr("academicyear");
  44. var semester = $this.attr("semester");
  45. var empNo = $this.attr("empNo");
  46. var classRoomNo = $this.attr("classRoomNo");
  47. var lessonSortNo = $this.attr("lessonSortNo");
  48. var teachClassNo = $this.attr("teachClassNo");
  49. learun.layerForm({
  50. id: 'form',
  51. title: '请假申请',
  52. url: top.$.rootUrl + '/PersonnelManagement/TimeTable/Leave?lessonNo=' + lessonNo + '&lessonTime=' + lessonTime + '&lessonDate=' + lessonDate + '&empNo=' + empNo + '&academicyear=' + academicyear + '&semester=' + semester + '&classRoomNo=' + classRoomNo + '&lessonSortNo=' + lessonSortNo + '&teachClassNo=' + teachClassNo,
  53. width: 600,
  54. height: 600,
  55. callBack: function (id) {
  56. return top[id].acceptClick(change($this));
  57. }.bind(this)
  58. });
  59. });
  60. function flogs(num, data, obj) {
  61. var flog = false;
  62. $.each(data,
  63. function (i, n) {
  64. if (n[obj] == num) {
  65. flog = n;
  66. return;
  67. }
  68. })
  69. return flog;
  70. }
  71. function flogs2(num, data, obj) {
  72. var arr = new Array();
  73. $.each(data,
  74. function (i, n) {
  75. if (n[obj] == num) {
  76. arr.push(n);
  77. }
  78. })
  79. return arr;
  80. }
  81. //某节课空
  82. function tdHandle() {
  83. var html = '';
  84. for (var j = 0; j < 7; j++) {
  85. html += '<td class="active" id="" num="' + (j + 1) + '"><div></div><div></div><div></div><div></div></td>';
  86. }
  87. return html;
  88. }
  89. //某节课不空
  90. function tdHandles(lists) {
  91. var html = '';
  92. for (var k = 1; k < 8; k++) {
  93. (function (arg) {
  94. var args = arg - 1;
  95. var datas = flogs2(arg, lists, 'day');
  96. if (datas.length > 0) {
  97. html += '<td class="active" id="' + datas[0].ALTId + '" num="' + k + '">';
  98. $.each(datas, function (i, item) {
  99. if (i > 0) {
  100. html += '<hr>';
  101. }
  102. html += '<div>' +
  103. item.curriculum +
  104. '</div>' +
  105. '<div>' +
  106. item.teacher +
  107. '</div>' +
  108. '<div>' +
  109. item.className +
  110. '</div>' +
  111. '<div>' +
  112. item.classRoom +
  113. '(' + item.lessonDate + ')</div>';
  114. var loginInfo = learun.clientdata.get(['userinfo']);
  115. if (loginInfo.Description == "学生") {
  116. if (item.leaveType == 1) {
  117. if (item.checkType == 1) {
  118. html += '<div><span>请假通过</span></div>';
  119. } else if (item.checkType == 2) {
  120. html += '<div><span>请假未通过</span></div>';
  121. } else {
  122. html += '<div><span>请假申请中</span></div>';
  123. }
  124. } else {
  125. html += '<div><span class="leave" lessonNo="' + item.lessonNo + '" lessonTime="' + item.lessonTime + '" lessonDate="' + item.lessonDate + '" lessonName="' + item.curriculum + '" empNo="' + item.empno + '" academicyear="' + item.academicyear + '" semester="' + item.semester + '" lessonSortNo="' + item.lessonSortNo + '" classRoomNo="' + item.classRoomNo + '" teachClassNo="' + item.teachClassNo + '">请假</span></div>';
  126. }
  127. }
  128. //html += '<div>课程:' +
  129. // item.curriculum +
  130. // '</div>' +
  131. // '<div>教师:' +
  132. // item.teacher +
  133. // '</div>' +
  134. // '<div>班级:' +
  135. // item.className +
  136. // '</div>' +
  137. // '<div>教室:' +
  138. // item.classRoom +
  139. // '</div>';
  140. });
  141. html += '</td>';
  142. } else {
  143. html += '<td class="active" id="" num="' + k + '"><div></div><div></div><div></div><div></div><div></div></td>';
  144. }
  145. })(k);
  146. }
  147. return html;
  148. }
  149. });
  150. },
  151. bind: function () {
  152. //获取周次
  153. learun.httpAsyncGet(top.$.rootUrl + '/EducationalAdministration/ArrangeLessonTerm/GetWeekTime', function (res) {
  154. if (res.code == 200) {
  155. weekList = res.data.weekList;
  156. $('#WeekTimes').lrRadioCheckbox({
  157. type: 'radio',
  158. data: res.data.weekList,
  159. value: 'value',
  160. text: 'text'
  161. });
  162. curWeek = res.data.curWeek;
  163. if (!$('#WeekTimes').find('input[value="' + res.data.curWeek + '"]').is(":checked")) {
  164. $('#WeekTimes').find('input[value="' + res.data.curWeek + '"]').trigger('click');
  165. }
  166. //周次
  167. $('#WeekTimeSelect').lrselect({
  168. placeholder: "请选择周次",
  169. maxHeight: 300,
  170. allowSearch: true,
  171. type: 'multiple',
  172. //data: res.data.weekList,
  173. value: 'value',
  174. text: 'text'
  175. });
  176. $('#WeekTimeSelect').lrselectRefresh({
  177. data: res.data.weekList
  178. }
  179. );
  180. }
  181. });
  182. //切换周次
  183. $('#WeekTimes').change(function () {
  184. curWeek = $('#WeekTimes input[name="WeekTimes"]:checked ').val();
  185. page.search();
  186. });
  187. // 刷新
  188. $('#lr_refresh').on('click', function () {
  189. location.reload();
  190. });
  191. //查询
  192. $('#lr_search').on('click', function () {
  193. var p = {};
  194. p.schoolId = $('#F_SchoolId').lrselectGet();
  195. p.ClassNo = $('#ClassNo').lrselectGet();
  196. p.EmpNo = $('#EmpNo').lrselectGet();
  197. page.search(p);
  198. });
  199. //打印课程表
  200. $('#perBtn').on('click',
  201. function () {
  202. AddPrintContent();
  203. });
  204. var LODOP, P_ID = "", TaskID1, TaskID2, t, waiting = false, c = 0, loop = 0; //声明为全局变量
  205. function AddPrintContent() {
  206. var myHtml = myHtml = $('.personalBox').html();
  207. var strBodyStyle = "<style>" + document.getElementById("style1").innerHTML + "</style>";
  208. var strFormHtml = strBodyStyle + "<body>" + myHtml + "</body>";
  209. LODOP = getLodop();
  210. LODOP.PRINT_INIT("个人授课表");
  211. LODOP.SET_PRINT_PAGESIZE(2, 0, 0, "A4");
  212. LODOP.SET_PRINT_MODE("PRINT_DUPLEX", 2);
  213. LODOP.SET_PRINT_MODE("PRINT_DEFAULTSOURCE", 7);
  214. LODOP.ADD_PRINT_HTM(10, 10, '284mm', '185mm', strFormHtml);
  215. //打印预览
  216. LODOP.SET_SHOW_MODE("LANDSCAPE_DEFROTATED", 1); //横向时的正向显示
  217. var TaskID1 = LODOP.PREVIEW();
  218. // 直接打印
  219. // var TaskID1=LODOP.PRINT();
  220. }
  221. },
  222. search: function (param) {
  223. param = param || {};
  224. //当前第几周
  225. param.curWeek = curWeek;
  226. //班级
  227. param.classNo = ClassNo;//'202010';//
  228. page.loadData(param);
  229. $('#WeekTimeSelect').lrselectRefresh({
  230. data: weekList
  231. });
  232. $('#LessonInfo').lrselectSet('');
  233. $('#EmpInfo').lrselectSet('');
  234. $('#ClassroomInfo').lrselectSet('');
  235. $('#WeekTimeSelect').lrselectSet('');
  236. $('#WeekSelect').lrselectSet('');
  237. $('#NodeSelect').lrselectSet('');
  238. }
  239. };
  240. refreshGirdData = function () {
  241. page.search();
  242. };
  243. page.init();
  244. change = function (obj) {
  245. obj.off("click");
  246. };
  247. };