Adjustment.js 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. var mnu = "";
  2. var selectedCourse;
  3. var selectedMissionClass;
  4. var selectedWeekNum;
  5. var selectedWeekday;
  6. var selectedCourseTimes;
  7. var selectedClassroom;
  8. //加载
  9. $(function () {
  10. mnu = $.SystemGeneral.getUrlParam("MNU");
  11. })
  12. function reload() {
  13. try {
  14. if ($("#cgbTeacher").combogridX("getValue") != "") {
  15. var opts = $("#dgEducationSchedulingList").cmsXDataTable("options");
  16. var formData = $.getDataGridParams("dgEducationSchedulingList");
  17. selectedCourse = $("[comboname='cgbCoursematerial']").combogridX("getValue");
  18. selectedMissionClass = $("[comboname='cgbEducationMissionClass']").combogridX("getValue");
  19. selectedWeekNum = $("[comboname='ddlWeekNum']").combobox("getValue");
  20. selectedWeekday = $("[comboname='ddlWeekDay']").combobox("getValue");
  21. selectedCourseTimes = $("[comboname='ddlCourseTimes']").combobox("getValue");
  22. selectedClassroom = $("[comboname='cgbClassroom']").combogridX("getValue");
  23. if (selectedCourse == "") selectedCourse = nonSelect;
  24. if (selectedMissionClass == "") selectedMissionClass = nonSelect;
  25. if (selectedWeekNum == "") selectedWeekNum = nonSelect;
  26. if (selectedWeekday == "") selectedWeekday = nonSelect;
  27. if (selectedCourseTimes == "") selectedCourseTimes = nonSelect;
  28. if (selectedClassroom == "") selectedClassroom = nonSelect;
  29. opts.queryParams = formData || opts.queryParams;
  30. $.postWithLoading(opts.url, formData, function (data) {
  31. data = $.extend({}, { total: 0, rows: [] }, data);
  32. var bindData = [].concat(data.rows);
  33. bindCourseList(bindData);
  34. bindEducationMissionClassList(bindData);
  35. bindWeekNum(bindData);
  36. bindWeekday(bindData);
  37. bindCourseTimes(bindData);
  38. bindClassroom(bindData);
  39. $("#dgEducationSchedulingList").cmsXDataTable("loadData", data);
  40. });
  41. }
  42. } catch (e) { }
  43. }
  44. function addAllItem(data) {
  45. var allItem = [{ Text: "全部", Value: nonSelect}];
  46. return allItem.concat(data);
  47. }
  48. function bindCourseList(data) {
  49. var courseList = $.map(data, function (x) {
  50. return {
  51. CoursematerialID: x.CoursematerialID,
  52. CourseCode: x.CourseCode,
  53. CourseName: x.CourseName
  54. };
  55. }).uniqueObj(function (x) { return x.CoursematerialID })
  56. .sort(function (a, b) {
  57. if (a.CourseCode < b.CourseCode) return -1;
  58. if (a.CourseCode > b.CourseCode) return 1;
  59. return 0;
  60. });
  61. $("[comboname='cgbCoursematerial']").combogridX("loadData", { total: courseList.length, rows: courseList });
  62. $("[comboname='cgbCoursematerial']").combogridX("setValue", selectedCourse);
  63. }
  64. function bindEducationMissionClassList(data) {
  65. var missionClassList = $.map(data, function (x) {
  66. return {
  67. EducationMissionClassID: x.EducationMissionClassID,
  68. EducationMissionClassName: x.EducationMissionClassName
  69. };
  70. }).uniqueObj(function (x) { return x.EducationMissionClassID })
  71. .sort(function (a, b) {
  72. if (a.EducationMissionClassName < b.EducationMissionClassName) return -1;
  73. if (a.EducationMissionClassName > b.EducationMissionClassName) return 1;
  74. return 0;
  75. });
  76. $("[comboname='cgbEducationMissionClass']").combogridX("loadData", { total: missionClassList.length, rows: missionClassList });
  77. $("[comboname='cgbEducationMissionClass']").combogridX("setValue", selectedMissionClass);
  78. }
  79. function bindWeekNum(data) {
  80. var weekNumList = $.map(data, function (x) {
  81. return {
  82. Text: x.WeekNum.toString(),
  83. Value: x.WeekNum.toString()
  84. };
  85. }).uniqueObj(function (x) { return x.Value })
  86. .sort(function (a, b) { return parseInt(a.Value) - parseInt(b.Value) });
  87. $("[comboname='ddlWeekNum']").combobox("loadData", addAllItem(weekNumList));
  88. $("[comboname='ddlWeekNum']").combobox("setValue", selectedWeekNum);
  89. }
  90. function bindWeekday(data) {
  91. var weekdayList = $.map(data, function (x) {
  92. return {
  93. Value: x.Weekday,
  94. Text: x.WeekdayDesc
  95. };
  96. }).uniqueObj(function (x) { return x.Value })
  97. .sort(function (a, b) { return parseInt(a.Value) - parseInt(b.Value) });
  98. $("[comboname='ddlWeekDay']").combobox("loadData", addAllItem(weekdayList));
  99. $("[comboname='ddlWeekDay']").combobox("setValue", selectedWeekday);
  100. }
  101. function bindCourseTimes(data) {
  102. var courseTimesList = $.map(data.sort(function (a, b) { return a.StartHour - b.StartHour }),
  103. function (x) {
  104. return {
  105. Value: x.CoursesTimeID,
  106. Text: x.CoursesTimeName
  107. };
  108. }).uniqueObj(function (x) { return x.Value });
  109. $("[comboname='ddlCourseTimes']").combobox("loadData", addAllItem(courseTimesList));
  110. $("[comboname='ddlCourseTimes']").combobox("setValue", selectedCourseTimes);
  111. }
  112. function bindClassroom(data) {
  113. var classroomList = $.map(data, function (x) {
  114. return {
  115. ClassroomID: x.ClassroomID,
  116. ClassroomName: x.ClassroomName
  117. };
  118. }).uniqueObj(function (x) { return x.ClassroomID })
  119. .sort(function (a, b) {
  120. if (a.ClassroomName < b.ClassroomName) return -1;
  121. if (a.ClassroomName > b.ClassroomName) return 1;
  122. return 0;
  123. });
  124. $("[name='cgbClassroom']").combogridX("loadData", { total: classroomList.length, rows: classroomList });
  125. $("[comboname='cgbClassroom']").combogridX("setValue", selectedClassroom);
  126. }
  127. function validChoose() {
  128. var d = [];
  129. $.each($("#dgEducationSchedulingList").cmsXDataTable("getSelections"), function (index) {
  130. d.push(this);
  131. });
  132. return d;
  133. }
  134. function EducationScheduleAdjustment_Add() {
  135. var d = validChoose();
  136. if (d.length == 0) {
  137. $.messager.alert("系统提示", "请选择需要调整的排课。");
  138. return false;
  139. }
  140. if (d.length > 1) {
  141. $.messager.alert("系统提示", "只能选择单个记录进行调课,如需批量,请操作【批量调课】按钮。");
  142. return false;
  143. }
  144. $.popupTopWindow('课时调整', CMS_SystemConfig.VirtualDirectoryPath + '/EducationSchedule/AdjustmentEdit?EducationSchedulingWeekNumID='
  145. + d[0].EducationSchedulingWeekNumID + "&UserID=" + $("#cgbTeacher").combogridX("getValue") + "&MNU=" + mnu, 800, 420, reload, null);
  146. }
  147. function EducationScheduleAdjustment_BatchAdd() {
  148. var d = validChoose();
  149. if (d.length == 0) {
  150. $.messager.alert("系统提示", "请选择需要调整的排课。");
  151. return false;
  152. }
  153. var classroomTypeID = d[0].ClassroomTypeID;
  154. var educationSchedulingWeekNumIDs = $.map(d, function (x) { return x.EducationSchedulingWeekNumID }).join(',');
  155. $.popupTopWindow('批量调课', CMS_SystemConfig.VirtualDirectoryPath + '/EducationSchedule/AdjustmentBatchEdit?MNU=' + mnu, 400, 320, EducationScheduleAdjustment_BatchAdd_Confirm, { classroomTypeID: classroomTypeID, educationSchedulingWeekNumIDs: educationSchedulingWeekNumIDs });
  156. }
  157. function EducationScheduleAdjustment_BatchAdd_Confirm(data) {
  158. if (data) {
  159. var d = validChoose();
  160. var fromUserID = $("#cgbTeacher").combogridX("getValue");
  161. var toWeekNum = data.WeekNum;
  162. var toWeekday = data.Weekday;
  163. var toUserID = data.User;
  164. var toCoursesTimeID = data.CoursesTime;
  165. var toClassroomType = data.ClassroomType;
  166. var toClassroom = data.Classroom;
  167. if (toWeekNum == "" || toWeekNum == nonSelect) {
  168. toWeekNum = null;
  169. }
  170. if (toWeekday == "" || toWeekday == nonSelect) {
  171. toWeekday = null;
  172. }
  173. if (toUserID == "" || toUserID == nonSelect) {
  174. toUserID = null;
  175. }
  176. if (toCoursesTimeID == "" || toCoursesTimeID == nonSelect) {
  177. toCoursesTimeID = null;
  178. }
  179. if (toClassroomType == "" || toClassroomType == nonSelect) {
  180. toClassroomType = null;
  181. }
  182. if (toClassroom == "" || toClassroom == nonSelect) {
  183. toClassroom = null;
  184. }
  185. var formData = {
  186. educationSchedulingWeekNumIDs: $.map(d, function (x) { return x.EducationSchedulingWeekNumID }).join(','),
  187. fromUserID: fromUserID,
  188. toWeekNum: toWeekNum,
  189. toWeekday: toWeekday,
  190. toUserID: toUserID,
  191. toCoursesTimeID: toCoursesTimeID,
  192. toClassroomType: toClassroomType,
  193. toClassroom: toClassroom
  194. };
  195. $.postWithLoading(CMS_SystemConfig.VirtualDirectoryPath + "/EducationSchedule/AdjustmentBatchEdit", formData, function (data) {
  196. $.messager.alert("系统提示", data.Message.replace(/;/g, '<br>'));
  197. if (data.IsSuccess) {
  198. reload();
  199. }
  200. });
  201. }
  202. }