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.
 
 
 
 
 
 

271 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><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 < 11; 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 < 12; 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. '</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. $('#lr_refresh').on('click', function () {
  153. location.reload();
  154. });
  155. //获取周次
  156. learun.httpAsyncGet(top.$.rootUrl + '/EducationalAdministration/ArrangeLessonTerm/GetWeekTime', function (res) {
  157. if (res.code == 200) {
  158. weekList = res.data.weekList;
  159. $('#WeekTimes').lrRadioCheckbox({
  160. type: 'radio',
  161. data: res.data.weekList,
  162. value: 'value',
  163. text: 'text'
  164. });
  165. curWeek = res.data.curWeek;
  166. if (!$('#WeekTimes').find('input[value="' + res.data.curWeek + '"]').is(":checked")) {
  167. $('#WeekTimes').find('input[value="' + res.data.curWeek + '"]').trigger('click');
  168. }
  169. //周次
  170. $('#WeekTimeSelect').lrselect({
  171. placeholder: "请选择周次",
  172. maxHeight: 300,
  173. allowSearch: true,
  174. type: 'multiple',
  175. //data: res.data.weekList,
  176. value: 'value',
  177. text: 'text'
  178. });
  179. $('#WeekTimeSelect').lrselectRefresh({
  180. data: res.data.weekList
  181. }
  182. );
  183. }
  184. });
  185. //切换周次
  186. $('#WeekTimes').change(function () {
  187. curWeek = $('#WeekTimes input[name="WeekTimes"]:checked ').val();
  188. page.search();
  189. });
  190. // 刷新
  191. $('#lr_refresh').on('click', function () {
  192. location.reload();
  193. });
  194. //查询
  195. $('#lr_search').on('click', function () {
  196. var p = {};
  197. p.schoolId = $('#F_SchoolId').lrselectGet();
  198. p.ClassNo = $('#ClassNo').lrselectGet();
  199. p.EmpNo = $('#EmpNo').lrselectGet();
  200. page.search(p);
  201. });
  202. //打印课程表
  203. $('#perBtn').on('click',
  204. function () {
  205. AddPrintContent();
  206. });
  207. var LODOP, P_ID = "", TaskID1, TaskID2, t, waiting = false, c = 0, loop = 0; //声明为全局变量
  208. function AddPrintContent() {
  209. var myHtml = myHtml = $('.personalBox').html();
  210. var strBodyStyle = "<style>" + document.getElementById("style1").innerHTML + "</style>";
  211. var strFormHtml = strBodyStyle + "<body>" + myHtml + "</body>";
  212. LODOP = getLodop();
  213. LODOP.PRINT_INIT("个人授课表");
  214. LODOP.SET_PRINT_PAGESIZE(2, 0, 0, "A4");
  215. LODOP.SET_PRINT_MODE("PRINT_DUPLEX", 2);
  216. LODOP.SET_PRINT_MODE("PRINT_DEFAULTSOURCE", 7);
  217. LODOP.ADD_PRINT_HTM(10, 10, '284mm', '185mm', strFormHtml);
  218. //打印预览
  219. LODOP.SET_SHOW_MODE("LANDSCAPE_DEFROTATED", 1); //横向时的正向显示
  220. var TaskID1 = LODOP.PREVIEW();
  221. // 直接打印
  222. // var TaskID1=LODOP.PRINT();
  223. }
  224. },
  225. search: function (param) {
  226. param = param || {};
  227. //当前第几周
  228. param.curWeek = curWeek;
  229. //班级
  230. param.classNo = ClassNo;//'202010';//
  231. page.loadData(param);
  232. $('#WeekTimeSelect').lrselectRefresh({
  233. data: weekList
  234. });
  235. $('#LessonInfo').lrselectSet('');
  236. $('#EmpInfo').lrselectSet('');
  237. $('#ClassroomInfo').lrselectSet('');
  238. $('#WeekTimeSelect').lrselectSet('');
  239. $('#WeekSelect').lrselectSet('');
  240. $('#NodeSelect').lrselectSet('');
  241. }
  242. };
  243. refreshGirdData = function () {
  244. page.search();
  245. };
  246. page.init();
  247. change = function (obj) {
  248. obj.off("click");
  249. };
  250. };