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.
 
 
 
 
 
 

325 lines
16 KiB

  1. /* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn)
  2. * Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
  3. * 创建人:超级管理员
  4. * 日 期:2021-12-08 12:19
  5. * 描 述:排考2021新
  6. */
  7. var selectedRow;
  8. var refreshGirdData;
  9. //课程列
  10. var LessonTemp = [];
  11. var EmpInfo = []
  12. var bootstrap = function ($, learun) {
  13. "use strict";
  14. var datebegin = '';
  15. var dateend = '';
  16. //var ClassNo = '';
  17. var ClassRoomNo = '';
  18. var page = {
  19. init: function () {
  20. //page.initGird();
  21. page.bind();
  22. },
  23. bind: function () {
  24. // 初始化左侧树形数据
  25. $('#dataTree').lrtree({
  26. url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetClassRoomTree',
  27. nodeClick: function (item) {
  28. ClassRoomNo = item.id;
  29. page.search({ ClassRoomNo: item.id, AcademicYearNo: $('#AcademicYearNo').lrselectGet(), Semester: $('#Semester').lrselectGet(), LessonNo: $('#LessonNo').lrselectGet(), EmpNo: $('#EmpNo').lrselectGet() });
  30. $('#titleinfo').html(item.text);
  31. }
  32. });
  33. $('.datetime').each(function () {
  34. $(this).lrdate({
  35. dfdata: [
  36. { name: '清空', begin: function () { return '' }, end: function () { return '' } },
  37. { name: '今天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00') }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } },
  38. { name: '近7天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'd', -6) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } },
  39. { name: '近1个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -1) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } },
  40. { name: '近3个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -3) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } },
  41. ],
  42. // 月
  43. mShow: false,
  44. premShow: false,
  45. // 季度
  46. jShow: false,
  47. prejShow: false,
  48. // 年
  49. ysShow: false,
  50. yxShow: false,
  51. preyShow: false,
  52. yShow: false,
  53. // 默认
  54. dfvalue: '0',
  55. selectfn: function (begin, end) {
  56. datebegin = begin;
  57. dateend = end;
  58. }
  59. });
  60. });
  61. //打印
  62. $('#lr_print').on('click', function () {
  63. var p = {};
  64. p.AcademicYearNo = $('#AcademicYearNo').lrselectGet();
  65. p.Semester = $('#Semester').lrselectGet();
  66. p.ClassNo = $('#ClassNo').lrselectGet();
  67. if (p.AcademicYearNo == null || p.AcademicYearNo == "") {
  68. learun.alert.warning("请选择学年!");
  69. return;
  70. }
  71. if (p.Semester == null || p.Semester == "") {
  72. learun.alert.warning("请选择学期!");
  73. return;
  74. }
  75. if (p.ClassNo == null || p.ClassNo == "") {
  76. learun.alert.warning("请选择班级!");
  77. return;
  78. }
  79. let query = JSON.parse(JSON.stringify(p))
  80. query.StartTime = datebegin;
  81. query.EndTime = dateend;
  82. query.ClassRoomNo = ClassRoomNo;
  83. query.EmpNo = $('#EmpNo').lrselectGet()
  84. learun.layerForm({
  85. id: 'TeachingQualityPrint',
  86. title: '教学质量检测考生统计表',
  87. url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/TeachingQualityPrint?' + $.param({ params: JSON.stringify(p), query: JSON.stringify(query), ClassNo: p.ClassNo }),
  88. width: 1320,
  89. height: 900,
  90. btn: null
  91. });
  92. });
  93. // 查询
  94. $('#btn_Search').on('click', async function () {
  95. var p = {};
  96. p.AcademicYearNo = $('#AcademicYearNo').lrselectGet();
  97. p.Semester = $('#Semester').lrselectGet();
  98. p.ClassNo = $('#ClassNo').lrselectGet();
  99. p.LessonNo = $('#LessonNo').lrselectGet();
  100. p.ClassRoomNo = ClassRoomNo;
  101. p.EmpNo = $('#EmpNo').lrselectGet();
  102. if (p.AcademicYearNo == null || p.AcademicYearNo == "") {
  103. learun.alert.warning("请选择学年!");
  104. return;
  105. }
  106. if (p.Semester == null || p.Semester == "") {
  107. learun.alert.warning("请选择学期!");
  108. return;
  109. }
  110. if (p.ClassNo == null || p.ClassNo == "") {
  111. learun.alert.warning("请选择班级!");
  112. return;
  113. }
  114. //获取教师
  115. await new Promise((resolve) => {
  116. learun.clientdata.getAllAsync('sourceData', {
  117. code: 'EmpInfo',
  118. callback: function (dataes) {
  119. EmpInfo = dataes.map(e => { return { value: e.empno, text: e.empname } })
  120. resolve()
  121. }
  122. });
  123. })
  124. $.lrSetFormWithParam(top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetLessonList', p,
  125. function (data) {
  126. console.log(data)
  127. var temparr = [];
  128. for (var i = 0; i < data.length; i++) {
  129. var item = {};
  130. let obj = EmpInfo.find(e => e.value == data[i].text)
  131. item.label = data[i].value;
  132. item.name = data[i].text;
  133. item.formatterAsync = function (callback, value, row, op, $cell) {
  134. callback(obj ? obj.text : '')
  135. }
  136. item.width = 150;
  137. item.align = "left";
  138. temparr.push(item);
  139. }
  140. LessonTemp = temparr;
  141. page.initGird();
  142. //page.search({ ClassRoomNo: ClassRoomNo, AcademicYearNo: $('#AcademicYearNo').lrselectGet(), Semester: $('#Semester').lrselectGet(), LessonNo: $('#LessonNo').lrselectGet(), EmpNo: $('#EmpNo').lrselectGet() });
  143. page.search(p);
  144. });
  145. });
  146. // 刷新
  147. $('#lr_refresh').on('click', function () {
  148. location.reload();
  149. });
  150. $('#ClassNo').lrDataSourceSelect({
  151. placeholder: "请选择班级",
  152. code: 'bjsj', value: 'classno', text: 'classname'
  153. });
  154. $('#AcademicYearNo').lrselect({
  155. placeholder: "学年",
  156. allowSearch: false,
  157. url: top.$.rootUrl + '/EducationalAdministration/EADateArrange/GetAcademicYearNo',
  158. value: 'value',
  159. text: 'text'
  160. });
  161. //学期
  162. $('#Semester').lrselect({
  163. placeholder: "学期",
  164. allowSearch: false,
  165. url: top.$.rootUrl + '/EducationalAdministration/StuScore/GetSemesterData',
  166. value: 'value',
  167. text: 'text'
  168. });
  169. $('#AcademicYearNo').bind('change', function () {
  170. ClassRoomNo = ''
  171. var AcademicYearNo = '';
  172. var Semester = '';
  173. if ($('#AcademicYearNo').lrselectGet()) {
  174. AcademicYearNo = $('#AcademicYearNo').lrselectGet()
  175. }
  176. if ($('#Semester').lrselectGet()) {
  177. var Semester = $('#Semester').lrselectGet();
  178. }
  179. if (Semester != '' && AcademicYearNo != '') {
  180. $('#dataTree').lrtree({
  181. url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetClassRoomTree?AcademicYearNo = ' + AcademicYearNo + ' &Semester=' + Semester,
  182. nodeClick: function (item) {
  183. ClassRoomNo = item.value;
  184. page.search({ ClassRoomNo: item.value, AcademicYearNo: $('#AcademicYearNo').lrselectGet(), Semester: $('#Semester').lrselectGet(), LessonNo: $('#LessonNo').lrselectGet(), EmpNo: $('#EmpNo').lrselectGet() });
  185. }
  186. });
  187. }
  188. });
  189. $('#Semester').bind('change', function () {
  190. ClassRoomNo = ''
  191. var AcademicYearNo = '';
  192. var Semester = '';
  193. if ($('#AcademicYearNo').lrselectGet()) {
  194. AcademicYearNo = $('#AcademicYearNo').lrselectGet()
  195. }
  196. if ($('#Semester').lrselectGet()) {
  197. var Semester = $('#Semester').lrselectGet();
  198. }
  199. if (Semester != '' && AcademicYearNo != '') {
  200. $('#dataTree').lrtree({
  201. url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetClassRoomTree?AcademicYearNo = ' + AcademicYearNo + ' &Semester=' + Semester,
  202. nodeClick: function (item) {
  203. ClassRoomNo = item.value;
  204. page.search({ ClassRoomNo: item.value, AcademicYearNo: $('#AcademicYearNo').lrselectGet(), Semester: $('#Semester').lrselectGet(), LessonNo: $('#LessonNo').lrselectGet(), EmpNo: $('#EmpNo').lrselectGet() });
  205. }
  206. });
  207. }
  208. });
  209. $('#LessonNo').lrDataSourceSelect({ code: 'LessonInfo', value: 'lessonno', text: 'lessonname', placeholder: '请选择课程' });
  210. $('#ClassRoomNo').lrDataSourceSelect({ code: 'ClassRoomInfo', value: 'classroomno', text: 'classroomname', placeholder: '请选择教室' });
  211. $('#EmpNo').lrDataSourceSelect({ code: 'EmpInfo', value: 'empno', text: 'empname', placeholder: '请选择教师' });
  212. },
  213. initGird: function () {
  214. var headData = [
  215. {
  216. label: '学校', name: 'F_SchoolId', width: 190, align: "left",
  217. formatterAsync: function (callback, value, row, op, $cell) {
  218. learun.clientdata.getAsync('custmerData', {
  219. url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'company',
  220. key: value,
  221. keyId: 'f_companyid',
  222. callback: function (_data) {
  223. callback(_data['f_fullname']);
  224. }
  225. });
  226. }
  227. },
  228. { label: '学年', name: 'AcademicYearNo', width: 60, align: "left" },
  229. { label: '学期', name: 'Semester', width: 50, align: "left" },
  230. { label: '姓名', name: 'StuName', width: 100, align: "left" },
  231. { label: '学生编号', name: 'StuNo', width: 130, align: "left" },
  232. { label: '学籍号', name: 'StuCode', width: 130, align: "left" },
  233. {
  234. label: "系部", name: "DeptNo", width: 100, align: "left",
  235. formatterAsync: function (callback, value, row, op, $cell) {
  236. learun.clientdata.getAsync('custmerData', {
  237. url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdDeptInfo',
  238. key: value,
  239. keyId: 'deptno',
  240. callback: function (_data) {
  241. callback(_data['deptname']);
  242. }
  243. });
  244. }
  245. },
  246. {
  247. label: "专业", name: "MajorNo", width: 100, align: "left",
  248. formatterAsync: function (callback, value, row, op, $cell) {
  249. learun.clientdata.getAsync('custmerData', {
  250. url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo',
  251. key: value,
  252. keyId: 'majorno',
  253. callback: function (_data) {
  254. callback(_data['majorname']);
  255. }
  256. });
  257. }
  258. },
  259. {
  260. label: "班级", name: "ClassNo", width: 100, align: "left",
  261. formatterAsync: function (callback, value, row, op, $cell) {
  262. learun.clientdata.getAsync('custmerData', {
  263. url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'bjsj',
  264. key: value,
  265. keyId: 'classno',
  266. callback: function (_data) {
  267. callback(_data['classname']);
  268. }
  269. });
  270. }
  271. },
  272. {
  273. label: '考试日期', name: 'ExamDate', width: 90, align: "left",
  274. formatter: function (v) {
  275. return learun.formatDate(v, "yyyy-MM-dd");
  276. }
  277. },
  278. { label: '考试时间', name: 'ExamTime', width: 90, align: "left" },
  279. { label: '课程编号', name: 'LessonNo', width: 100, align: "left" },
  280. { label: '课程名称', name: 'LessonName', width: 200, align: "left" },
  281. { label: '监考教师编号', name: 'EmpNo', width: 150, align: "left" },
  282. { label: '监考教师姓名', name: 'EmpName', width: 150, align: "left" },
  283. { label: '教室编号', name: 'ClassroomNo', width: 100, align: "left" },
  284. { label: '教室名称', name: 'ClassroomName', width: 100, align: "left" },
  285. { label: '座位编号', name: 'SitNumber', width: 80, aligndd: "left" },
  286. //{ label: '任课教师', width: 130, align: "center", children: LessonTemp },
  287. ...LessonTemp,
  288. { label: '考号', name: 'kh', width: 140, align: "left", ishide: true },
  289. ];
  290. //var headDatas = headData.concat(LessonTemp);
  291. $("#gridtable")[0].dfop = undefined;
  292. $('#gridtable').lrAuthorizeJfGridLei({
  293. url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetTeachingQualityPageList',
  294. headData,
  295. mainId: 'AETId',
  296. sidx: ' AcademicYearNo desc,Semester desc,ExamDate desc, LessonNo desc,ClassRoomNo desc,ClassRoomNo desc,SitNumber asc ',
  297. isPage: true
  298. });
  299. //page.search();
  300. },
  301. search: function (param) {
  302. param = param || {};
  303. param.StartTime = datebegin;
  304. param.EndTime = dateend;
  305. param.ClassRoomNo = ClassRoomNo;
  306. param.EmpNo = $('#EmpNo').lrselectGet()
  307. param.ClassNo = $('#ClassNo').lrselectGet()
  308. $('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
  309. }
  310. };
  311. refreshGirdData = function () {
  312. $('#gridtable').jfGridSet('reload');
  313. };
  314. page.init();
  315. }