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.
 
 
 
 
 
 

132 lines
6.7 KiB

  1. (function () {
  2. var weekChina = ["一", "二", "三", "四", "五", "六", "日"];
  3. var begin = '';
  4. var end = '';
  5. var multipleData = null;
  6. var page = {
  7. grid: null,
  8. init: function ($page) {
  9. begin = '';
  10. end = '';
  11. multipleData = null;
  12. page.grid = $page.find('#lr_EducationalAdministrationOpenLessonPlanOfElectiveStudent_list').lrpagination({
  13. lclass: page.lclass,
  14. rows: 10, // 每页行数
  15. getData: function (param, callback) {// 获取数据 param 分页参数,callback 异步回调
  16. param.multipleData = multipleData;
  17. page.loadData(param, callback, $page);
  18. },
  19. renderData: function (_index, _item, _$item) {// 渲染数据模板
  20. return page.rowRender(_index, _item, _$item, $page);
  21. },
  22. click: function (item, $item, $et) {// 列表行点击事件
  23. if ($et.hasClass('lr-btn-danger')) {
  24. page.btnClick(item, $item, $page);
  25. }
  26. else {
  27. page.rowClick(item, $item, $page);
  28. }
  29. },
  30. btns: page.rowBtns
  31. });
  32. },
  33. lclass: 'lr-list',
  34. loadData: function (param, callback, $page) {// 列表加载后台数据
  35. var _postParam = {
  36. pagination: {
  37. rows: param.rows,
  38. page: param.page,
  39. sidx: 'LessonNo',
  40. sord: 'asc'
  41. },
  42. queryJson: '{}'
  43. };
  44. //if (param.multipleData) {
  45. // _postParam.queryJson = JSON.stringify(multipleData);
  46. //}
  47. if (true) {
  48. _postParam.queryJson = JSON.stringify({ StuNo: JSON.parse(localStorage.userinfo).baseinfo.account, StuMajorNo: JSON.parse(localStorage.userinfo).baseinfo.majorno, StuGrade: JSON.parse(localStorage.userinfo).baseinfo.grade });
  49. }
  50. learun.httpget(config.webapi + 'learun/EducationalAdministration/OpenLessonPlanOfElectiveStudent/pagelist', _postParam, (data) => {
  51. $page.find('.lr-badge').text('0');
  52. if (data) {
  53. $page.find('.lr-badge').text(data.records);
  54. callback(data.rows, parseInt(data.records));
  55. }
  56. else {
  57. callback([], 0);
  58. }
  59. });
  60. },
  61. rowRender: function (_index, _item, _$item, $page) {// 渲染列表行数据
  62. _$item.addClass('lr-list-item lr-list-item-multi');
  63. _$item.append($('<p class="lr-ellipsis"><span>学年:</span></p>').dataFormatter({ value: _item.AcademicYearNo }));
  64. _$item.append($('<p class="lr-ellipsis"><span>学期:</span></p>').dataFormatter({ value: _item.Semester }));
  65. _$item.append($('<p class="lr-ellipsis"><span>课程名称:</span></p>').dataFormatter({
  66. value: _item.LessonNo,
  67. type: 'dataSource',
  68. code: 'LessonInfo',
  69. keyId: 'lessonno',
  70. text: 'lessonname'
  71. }));
  72. var ls = "";
  73. if (_item.LessonSection.indexOf(',') == -1)
  74. ls = "星期" + weekChina[_item.LessonSection.slice(0, 1) - 1] + "第" + _item.LessonSection.slice(1) + "节";
  75. else
  76. ls = "星期" + weekChina[_item.LessonSection.slice(0, 1) - 1] + "第" + _item.LessonSection.slice(1, 2) + "、" + _item.LessonSection.slice(4) + "节";
  77. _$item.append($('<p class="lr-ellipsis"><span>上课节次:</span></p>').dataFormatter({ value: ls }));
  78. _$item.append($('<p class="lr-ellipsis"><span>上课时间:</span></p>').dataFormatter({ value: _item.LessonTime }));
  79. _$item.append($('<p class="lr-ellipsis"><span>学分:</span></p>').dataFormatter({ value: _item.StudyScore }));
  80. _$item.append($('<p class="lr-ellipsis"><span>教师姓名:</span></p>').dataFormatter({
  81. value: _item.EmpNo,
  82. type: 'dataSource',
  83. code: 'EmpInfo',
  84. keyId: 'empno',
  85. text: 'empname'
  86. }));
  87. _$item.append($('<p class="lr-ellipsis"><span>教室名称:</span></p>').dataFormatter({
  88. value: _item.ClassRoomNo,
  89. type: 'dataSource',
  90. code: 'ClassRoomInfo',
  91. keyId: 'classroomno',
  92. text: 'classroomname'
  93. }));
  94. _$item.append($('<p class="lr-ellipsis"><span>人数上限:</span></p>').dataFormatter({ value: _item.StuNumMax }));
  95. _$item.append($('<p class="lr-ellipsis"><span>已报名人数:</span></p>').dataFormatter({ value: _item.StuNumOfApplyPre }));
  96. var signstatustxt = "";
  97. if (_item.StatusPre == 1) {
  98. signstatustxt = '<span class="circle bgcyellow">审核中</span>';
  99. } else if (_item.StatusPre == 2) {
  100. signstatustxt = '<span class="circle bgcblue1">报名成功</span>';
  101. } else if (_item.StatusPre == 3) {
  102. signstatustxt = '<span class="circle bgcpink">报名失败</span>';
  103. } else {
  104. signstatustxt = '<span class="circle bgccyan">未报名</span>';
  105. }
  106. _$item.append(signstatustxt);
  107. return '';
  108. },
  109. rowClick: function (item, $item, $page) {// 列表行点击触发方法
  110. learun.nav.go({ path: 'EducationalAdministration/OpenLessonPlanOfElectiveStudentPre/form', title: '查看详情', type: 'right', param: { keyValue: item.Id } });
  111. },
  112. btnClick: function (item, $item, $page) {// 左滑按钮点击事件
  113. learun.layer.confirm('确定要取消报名吗?', function (_index) {
  114. if (_index === '1') {
  115. var _postData = {}
  116. _postData.keyValue = item.Id;
  117. _postData.StuNo = JSON.parse(localStorage.userinfo).baseinfo.account;
  118. learun.layer.loading(true, '正在取消报名...');
  119. learun.httppost(config.webapi + 'learun/OpenLessonPlanOfElectiveStudent/CancelPre', _postData, (data, info) => {
  120. if (data) {// 成功
  121. learun.layer.toast(info);
  122. page.grid.reload();
  123. }
  124. learun.layer.loading(false);
  125. });
  126. }
  127. }, '数字化校园提示', ['取消', '确定']);
  128. },
  129. rowBtns: ['<a class="lr-btn-danger">取消报名</a>'] // 列表行左滑按钮
  130. };
  131. return page;
  132. })();