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.
 
 
 
 
 
 

274 lines
13 KiB

  1. /* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn)
  2. * Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
  3. * 创建人:超级管理员
  4. * 日 期:2021-11-29 11:43
  5. * 描 述:开课计划
  6. */
  7. var refreshGirdData;
  8. var bootstrap = function ($, learun) {
  9. "use strict";
  10. var cdmajorname = '';
  11. var page = {
  12. init: function () {
  13. page.inittree();
  14. page.initGird();
  15. page.bind();
  16. },
  17. bind: function () {
  18. $('#multiple_condition_query').lrMultipleQuery(function (queryJson) {
  19. page.search(queryJson);
  20. }, 250, 400);
  21. $('#F_SchoolId').lrDataSourceSelect({ code: 'company', value: 'f_companyid', text: 'f_fullname' });
  22. $('#AcademicYearNo').lrselect({
  23. placeholder: "请选择学年",
  24. allowSearch: true,
  25. url: top.$.rootUrl + '/EducationalAdministration/EADateArrange/GetAcademicYearNo',
  26. value: 'value',
  27. text: 'text'
  28. });
  29. //年级
  30. $('#Grade').lrselect({
  31. placeholder: "请选择年级",
  32. allowSearch: true,
  33. url: top.$.rootUrl + '/EducationalAdministration/StuInfoFresh/GetGradeData',
  34. value: 'value',
  35. text: 'text'
  36. });
  37. $('#Semester').lrDataItemSelect({ code: 'Semester' });
  38. $("#MajorNo").lrselect();
  39. $('#LessonNo').lrDataSourceSelect({ code: 'LessonInfo', value: 'lessonno', text: 'lessonname' });
  40. // 刷新
  41. $('#lr_refresh').on('click', function () {
  42. location.reload();
  43. });
  44. // 新增
  45. $('#lr_add').on('click', function () {
  46. learun.layerForm({
  47. id: 'form',
  48. title: '新增',
  49. url: top.$.rootUrl + '/EducationalAdministration/ClassPlan/Form',
  50. width: 800,
  51. height: 450,
  52. callBack: function (id) {
  53. return top[id].acceptClick(refreshGirdData);
  54. }
  55. });
  56. });
  57. // 编辑
  58. $('#lr_edit').on('click', function () {
  59. var keyValue = $('#gridtable').jfGridValue('ID');
  60. if (learun.checkrow(keyValue)) {
  61. if (keyValue.indexOf(',') != -1) {
  62. learun.alert.warning("只能选择一条记录进行编辑!");
  63. return;
  64. }
  65. var state = $('#gridtable').jfGridValue('State');
  66. if (state == 0) {
  67. learun.layerForm({
  68. id: 'form',
  69. title: '编辑',
  70. url: top.$.rootUrl + '/EducationalAdministration/ClassPlan/Form?keyValue=' + keyValue,
  71. width: 800,
  72. height: 450,
  73. callBack: function (id) {
  74. return top[id].acceptClick(refreshGirdData);
  75. }
  76. });
  77. } else {
  78. learun.layerConfirm('是否确认修改,修改后可能会造成不可弥补的错误!!!', function (res) {
  79. if (res) {
  80. learun.layerForm({
  81. id: 'form',
  82. title: '编辑',
  83. url: top.$.rootUrl + '/EducationalAdministration/ClassPlan/Form?keyValue=' + keyValue,
  84. width: 800,
  85. height: 450,
  86. callBack: function (id) {
  87. return top[id].acceptClick(refreshGirdData);
  88. }
  89. });
  90. }
  91. });
  92. }
  93. }
  94. });
  95. // 删除
  96. $('#lr_delete').on('click', function () {
  97. var keyValue = $('#gridtable').jfGridValue('ID');
  98. if (learun.checkrow(keyValue)) {
  99. var state = $('#gridtable').jfGridValue('State').split(',');
  100. var allEmpty = true;
  101. for (var i = 0; i < state.length; i++) {
  102. if (state[i] != 0) {
  103. allEmpty = false;
  104. }
  105. }
  106. if (allEmpty) {
  107. learun.layerConfirm('是否确认删除该项!',
  108. function (res) {
  109. if (res) {
  110. learun.deleteForm(top.$.rootUrl + '/EducationalAdministration/ClassPlan/DeleteForm',
  111. { keyValue: keyValue },
  112. function () {
  113. refreshGirdData();
  114. });
  115. }
  116. });
  117. } else {
  118. learun.layerConfirm('是否确认删除该项,删除数据后不可恢复!!!', function (item) {
  119. if (item) {
  120. learun.deleteForm(top.$.rootUrl + '/EducationalAdministration/ClassPlan/DeleteForm', { keyValue: keyValue }, function () {
  121. refreshGirdData();
  122. });
  123. }
  124. });
  125. }
  126. }
  127. });
  128. //排课
  129. $('#lr_courses').on('click', function () {
  130. var keyValue = $('#gridtable').jfGridValue('ID');
  131. if (learun.checkrow(keyValue)) {
  132. var state = $('#gridtable').jfGridValue('State').split(',');
  133. var allEmpty = true;
  134. for (var i = 0; i < state.length; i++) {
  135. if (state[i] != 0) {
  136. allEmpty = false;
  137. }
  138. }
  139. if (allEmpty) {
  140. learun.layerConfirm('确定要进行排课么!',
  141. function (res) {
  142. if (res) {
  143. learun.postForm(
  144. top.$.rootUrl + '/EducationalAdministration/ClassPlan/CourseArranging',
  145. { keyValue: keyValue },
  146. function () {
  147. refreshGirdData();
  148. });
  149. }
  150. });
  151. } else {
  152. learun.alert.warning("不能选择已排课的课程计划");
  153. }
  154. }
  155. });
  156. },
  157. inittree: function () {
  158. $('#cdmajorTree').lrtree({
  159. url: top.$.rootUrl + '/EducationalAdministration/CdMajor/GetTree',
  160. param: { parentId: '0' },
  161. nodeClick: page.treeNodeClick
  162. });
  163. //$('#cdmajorTree').lrtreeSet('setValue', '53298b7a-404c-4337-aa7f-80b2a4ca6681');
  164. },
  165. treeNodeClick: function (item) {
  166. cdmajorname = item.id;
  167. $('#titleinfo').text(item.text);
  168. page.search();
  169. var NMajorNo = item.id;
  170. if (NMajorNo != null && NMajorNo != "" && NMajorNo != undefined) {
  171. $('#MajorNo').lrselectRefresh({
  172. url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=CdMajorInfo',
  173. param: { strWhere: " 1=1 and CheckMark=1 and majorno in (" + NMajorNo + ")" },
  174. value: "majorno",
  175. text: "majorname",
  176. maxHeight: 200
  177. });
  178. } else {
  179. $('#MajorNo').lrselectRefresh({
  180. url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=CdMajorInfo',
  181. param: { strWhere: " 1=1 and CheckMark=1 and majorno ='' " },
  182. value: "majorno",
  183. text: "majorname",
  184. maxHeight: 200
  185. });
  186. }
  187. },
  188. // 初始化列表
  189. initGird: function () {
  190. $('#gridtable').lrAuthorizeJfGrid({
  191. url: top.$.rootUrl + '/EducationalAdministration/ClassPlan/GetPageList',
  192. headData: [
  193. {
  194. label: "校区", name: "F_SchoolId", width: 200, align: "left",
  195. formatterAsync: function (callback, value, row, op, $cell) {
  196. learun.clientdata.getAsync('custmerData', {
  197. url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'company',
  198. key: value,
  199. keyId: 'f_companyid',
  200. callback: function (_data) {
  201. callback(_data['f_fullname']);
  202. }
  203. });
  204. }
  205. },
  206. { label: "学年", name: "AcademicYearNo", width: 80, align: "left" },
  207. {
  208. label: "学期", name: "Semester", width: 50, align: "left",
  209. formatterAsync: function (callback, value, row, op, $cell) {
  210. learun.clientdata.getAsync('dataItem', {
  211. key: value,
  212. code: 'Semester',
  213. callback: function (_data) {
  214. callback(_data.text);
  215. }
  216. });
  217. }
  218. },
  219. {
  220. label: "专业", name: "MajorNo", width: 100, align: "left",
  221. formatterAsync: function (callback, value, row, op, $cell) {
  222. learun.clientdata.getAsync('custmerData', {
  223. url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo',
  224. key: value,
  225. keyId: 'id',
  226. callback: function (_data) {
  227. callback(_data['majorname']);
  228. }
  229. });
  230. }
  231. },
  232. { label: "年级", name: "Grade", width: 50, align: "left" },
  233. { label: "课程编码", name: "LessonNo", width: 200, align: "left" },
  234. { label: "课程名称", name: "LessonName", width: 200, align: "left" },
  235. {
  236. label: "状态", name: "State", width: 100, align: "left",
  237. formatter: function (cellvalue, row) {
  238. if (cellvalue == 0) {
  239. return '<span class=\"label label-warning\">未排课</span>';
  240. } if (cellvalue == 1) {
  241. return '<span class=\"label label-success\">已排课</span>';
  242. }
  243. }
  244. },
  245. { label: "拟开教学班数", name: "TeachClassNum", width: 100, align: "left" },
  246. { label: "人数", name: "StuNum", width: 80, align: "left" },
  247. { label: "周课时", name: "WeekLessonHour", width: 80, align: "left" },
  248. { label: "教室课时", name: "WeekHourClassroom", width: 80, align: "left" },
  249. { label: "上机课时", name: "PracticeHour", width: 80, align: "left" },
  250. { label: "起始周次", name: "StartWeek", width: 80, align: "left" },
  251. { label: "结束周次", name: "EndWeek", width: 80, align: "left" },
  252. { label: "学分", name: "StudyScore", width: 80, align: "left" },
  253. { label: "备注", name: "Remark", width: 100, align: "left" },
  254. ],
  255. mainId: 'ID',
  256. sidx: 'MakeDate desc',
  257. isMultiselect: true,
  258. isPage: true
  259. });
  260. page.search();
  261. },
  262. search: function (param) {
  263. param = param || {};
  264. param.MajorNo = cdmajorname;
  265. $('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
  266. }
  267. };
  268. refreshGirdData = function () {
  269. $('#gridtable').jfGridSet('reload');
  270. };
  271. page.init();
  272. }