@@ -3,6 +3,8 @@ using System.Data; | |||||
using Learun.Application.TwoDevelopment.EducationalAdministration; | using Learun.Application.TwoDevelopment.EducationalAdministration; | ||||
using System.Web.Mvc; | using System.Web.Mvc; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Linq; | |||||
using System; | |||||
namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | ||||
{ | { | ||||
@@ -16,6 +18,8 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||||
public class Exam_ArrangeExamTermNewController : MvcControllerBase | public class Exam_ArrangeExamTermNewController : MvcControllerBase | ||||
{ | { | ||||
private Exam_ArrangeExamTermNewIBLL exam_ArrangeExamTermNewIBLL = new Exam_ArrangeExamTermNewBLL(); | private Exam_ArrangeExamTermNewIBLL exam_ArrangeExamTermNewIBLL = new Exam_ArrangeExamTermNewBLL(); | ||||
private Exam_ExamRoomIBLL exam_ExamRoomIBLL = new Exam_ExamRoomBLL(); | |||||
private StuInfoBasicIBLL stuInfoBasicIBLL = new StuInfoBasicBLL(); | |||||
#region 视图功能 | #region 视图功能 | ||||
@@ -26,7 +30,7 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||||
[HttpGet] | [HttpGet] | ||||
public ActionResult Index() | public ActionResult Index() | ||||
{ | { | ||||
return View(); | |||||
return View(); | |||||
} | } | ||||
/// <summary> | /// <summary> | ||||
/// 表单页 | /// 表单页 | ||||
@@ -35,7 +39,7 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||||
[HttpGet] | [HttpGet] | ||||
public ActionResult Form() | public ActionResult Form() | ||||
{ | { | ||||
return View(); | |||||
return View(); | |||||
} | } | ||||
/// <summary> | /// <summary> | ||||
/// 表单页 | /// 表单页 | ||||
@@ -51,6 +55,44 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||||
{ | { | ||||
return View(); | return View(); | ||||
} | } | ||||
/// <summary> | |||||
/// 表单页 | |||||
/// <summary> | |||||
/// <returns></returns> | |||||
public ActionResult SeatForm() | |||||
{ | |||||
return View(); | |||||
} | |||||
/// <summary> | |||||
/// 场次安排 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[HttpGet] | |||||
public ActionResult IndexClassRoom() | |||||
{ | |||||
return View(); | |||||
} | |||||
/// <summary> | |||||
/// | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[HttpGet] | |||||
public ActionResult TeachingQualityIndex() | |||||
{ | |||||
return View(); | |||||
} | |||||
/// <summary> | |||||
/// | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[HttpGet] | |||||
public ActionResult TeachingQualityPrint() | |||||
{ | |||||
return View(); | |||||
} | |||||
#endregion | #endregion | ||||
#region 获取数据 | #region 获取数据 | ||||
@@ -69,14 +111,23 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||||
}; | }; | ||||
return Success(jsonData); | return Success(jsonData); | ||||
} | } | ||||
[HttpGet] | [HttpGet] | ||||
public ActionResult GetClassTree() | public ActionResult GetClassTree() | ||||
{ | { | ||||
return Success(exam_ArrangeExamTermNewIBLL.GetClassTree()); | return Success(exam_ArrangeExamTermNewIBLL.GetClassTree()); | ||||
} | } | ||||
/// <summary> | |||||
/// 考场数据 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[HttpGet] | [HttpGet] | ||||
[AjaxOnly] | [AjaxOnly] | ||||
public ActionResult GetClassRoomTree(string AcademicYearNo, string Semester) | |||||
{ | |||||
return Success(exam_ArrangeExamTermNewIBLL.GetClassRoomTree(AcademicYearNo, Semester)); | |||||
} | |||||
[HttpGet] | |||||
public ActionResult GetItemPageList(string pagination, string queryJson) | public ActionResult GetItemPageList(string pagination, string queryJson) | ||||
{ | { | ||||
Pagination paginationobj = pagination.ToObject<Pagination>(); | Pagination paginationobj = pagination.ToObject<Pagination>(); | ||||
@@ -90,6 +141,33 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||||
}; | }; | ||||
return Success(jsonData); | return Success(jsonData); | ||||
} | } | ||||
/// <summary> | |||||
/// 教学质量监测 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[HttpGet] | |||||
[AjaxOnly] | |||||
public ActionResult GetLessonList(string academicYearNo, string semester, string classNo) | |||||
{ | |||||
var data = exam_ArrangeExamTermNewIBLL.GetLessonList(academicYearNo, semester, classNo).OrderBy(x => x.value); | |||||
return Success(data); | |||||
} | |||||
public ActionResult GetTeachingQualityPageList(string pagination, string queryJson) | |||||
{ | |||||
Pagination paginationobj = pagination.ToObject<Pagination>(); | |||||
var data = exam_ArrangeExamTermNewIBLL.GetTeachingQualityPageList(paginationobj, queryJson); | |||||
var jsonData = new | |||||
{ | |||||
rows = data, | |||||
total = paginationobj.total, | |||||
page = paginationobj.page, | |||||
records = paginationobj.records, | |||||
}; | |||||
return Success(jsonData); | |||||
} | |||||
/// <summary> | /// <summary> | ||||
/// 获取页面显示列表数据 | /// 获取页面显示列表数据 | ||||
/// </summary> | /// </summary> | ||||
@@ -120,12 +198,74 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||||
[AjaxOnly] | [AjaxOnly] | ||||
public ActionResult GetFormData(string keyValue) | public ActionResult GetFormData(string keyValue) | ||||
{ | { | ||||
var ArrangeExamTermNewData = exam_ArrangeExamTermNewIBLL.GetExam_ArrangeExamTermNewEntity( keyValue ); | |||||
var jsonData = new { | |||||
var ArrangeExamTermNewData = exam_ArrangeExamTermNewIBLL.GetExam_ArrangeExamTermNewEntity(keyValue); | |||||
var jsonData = new | |||||
{ | |||||
ArrangeExamTermNew = ArrangeExamTermNewData, | ArrangeExamTermNew = ArrangeExamTermNewData, | ||||
}; | }; | ||||
return Success(jsonData); | return Success(jsonData); | ||||
} | } | ||||
/// <summary> | |||||
/// | |||||
/// </summary> | |||||
/// <param name="ClassRoomNo"></param> | |||||
/// <param name="AcademicYearNo"></param> | |||||
/// <param name="Semester"></param> | |||||
/// <returns></returns> | |||||
public ActionResult GetSeatData(string ClassRoomNo, string AcademicYearNo, int? Semester, string LessonNo, string EmpNo, string ExamDate, string ExamTime) | |||||
{ | |||||
var data = exam_ExamRoomIBLL.GetEntityByClassroomNo(ClassRoomNo, AcademicYearNo, Semester); | |||||
var studata = exam_ArrangeExamTermNewIBLL.GetStuList(AcademicYearNo, Semester, ClassRoomNo, LessonNo, EmpNo, ExamDate, ExamTime).OrderBy(x => x.SitNumber); | |||||
var StuList = new List<EaxmStuList>(); | |||||
var EaxmStartTime = ""; | |||||
var EaxmEndTime = ""; | |||||
var teach = ""; | |||||
foreach (var item in studata) | |||||
{ | |||||
var list = new EaxmStuList | |||||
{ | |||||
SitNumber = item.SitNumber, | |||||
StuName = item.StuName, | |||||
StuNo = item.StuNo | |||||
}; | |||||
StuList.Add(list); | |||||
var times = item.ExamTime.Split('-'); | |||||
for (int i = 0; i < times.Count(); i++) | |||||
{ | |||||
if (i == 0) | |||||
{ | |||||
EaxmStartTime = item.ExamDate.Value.ToString("yyyy-MM-dd") + " " + times[i] + " ~ "; | |||||
} | |||||
else | |||||
{ | |||||
EaxmEndTime = item.ExamDate.Value.ToString("yyyy-MM-dd") + " " + times[i]; | |||||
} | |||||
} | |||||
teach = item.EmpName; | |||||
} | |||||
var dataOne = new { tClassroomName = data.ClassroomName, AcademicYearNo, Semester, data.SeatRows, data.SeatColumns, teach, EaxmStartTime, EaxmEndTime }; | |||||
var result = new { dataOne, StuList }; | |||||
return Success(result); | |||||
} | |||||
[HttpGet] | |||||
[AjaxOnly] | |||||
public ActionResult GetScreeningPlan(string pagination, string queryJson) | |||||
{ | |||||
Pagination paginationobj = pagination.ToObject<Pagination>(); | |||||
var data = exam_ArrangeExamTermNewIBLL.ScreeningPlan(paginationobj, queryJson); | |||||
var jsonData = new | |||||
{ | |||||
rows = data, | |||||
total = paginationobj.total, | |||||
page = paginationobj.page, | |||||
records = paginationobj.records | |||||
}; | |||||
return Success(jsonData); | |||||
} | |||||
#endregion | #endregion | ||||
#region 提交数据 | #region 提交数据 | ||||
@@ -154,7 +294,7 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||||
public ActionResult SaveForm(string keyValue, string strEntity) | public ActionResult SaveForm(string keyValue, string strEntity) | ||||
{ | { | ||||
Exam_ArrangeExamTermNewEntity entity = strEntity.ToObject<Exam_ArrangeExamTermNewEntity>(); | Exam_ArrangeExamTermNewEntity entity = strEntity.ToObject<Exam_ArrangeExamTermNewEntity>(); | ||||
exam_ArrangeExamTermNewIBLL.SaveEntity(keyValue,entity); | |||||
exam_ArrangeExamTermNewIBLL.SaveEntity(keyValue, entity); | |||||
if (string.IsNullOrEmpty(keyValue)) | if (string.IsNullOrEmpty(keyValue)) | ||||
{ | { | ||||
} | } | ||||
@@ -162,5 +302,11 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||||
} | } | ||||
#endregion | #endregion | ||||
public class EaxmStuList | |||||
{ | |||||
public string StuName { get; set; } | |||||
public string StuNo { get; set; } | |||||
public string SitNumber { get; set; } | |||||
} | |||||
} | } | ||||
} | } |
@@ -0,0 +1,52 @@ | |||||
@{ | |||||
ViewBag.Title = "排考安排"; | |||||
Layout = "~/Views/Shared/_Index.cshtml"; | |||||
} | |||||
<div class="lr-layout "> | |||||
<div class="lr-layout-center"> | |||||
<div class="lr-layout-wrap lr-layout-wrap-notitle "> | |||||
<div class="lr-layout-tool"> | |||||
<div class="lr-layout-tool-left"> | |||||
<div class="lr-layout-tool-item"> | |||||
<div id="datesearch"></div> | |||||
</div> | |||||
<div class="lr-layout-tool-item"> | |||||
<div id="multiple_condition_query"> | |||||
<div class="lr-query-formcontent"> | |||||
<div class="col-xs-6 lr-form-item"> | |||||
<div class="lr-form-item-title">学年</div> | |||||
<div id="AcademicYearNo"></div> | |||||
</div> | |||||
<div class="col-xs-6 lr-form-item"> | |||||
<div class="lr-form-item-title">学期</div> | |||||
<div id="Semester"></div> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item"> | |||||
<div class="lr-form-item-title">课程</div> | |||||
<div id="LessonNo"></div> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item"> | |||||
<div class="lr-form-item-title">监考老师</div> | |||||
<div id="EmpNo"></div> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item"> | |||||
<div class="lr-form-item-title">考场</div> | |||||
<div id="ClassRoomNo"></div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<div class="lr-layout-tool-right"> | |||||
<div class=" btn-group btn-group-sm"> | |||||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | |||||
<a id="lr_view" class="btn btn-default"><i class="fa fa-pencil-square-o"></i> 查看</a> | |||||
<a id="lr_print" class="btn btn-default"><i class="fa fa-print"></i> 打印</a> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<div class="lr-layout-body" id="gridtable"></div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/Exam_ArrangeExamTermNew/IndexClassRoom.js") |
@@ -0,0 +1,154 @@ | |||||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||||
* 创建人:超级管理员 | |||||
* 日 期:2022-04-22 16:00 | |||||
* 描 述:排考安排 | |||||
*/ | |||||
var refreshGirdData; | |||||
var bootstrap = function ($, learun) { | |||||
"use strict"; | |||||
var logbegin = ''; | |||||
var logend = ''; | |||||
var page = { | |||||
init: function () { | |||||
page.initGird(); | |||||
page.bind(); | |||||
}, | |||||
bind: function () { | |||||
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) { | |||||
page.search(queryJson); | |||||
}, 220, 400); | |||||
$('#datesearch').lrdate({ | |||||
dfdata: [ | |||||
{ name: '今天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00') }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }, | |||||
{ 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') } }, | |||||
{ 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') } }, | |||||
{ 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') } }, | |||||
], | |||||
// 月 | |||||
mShow: false, | |||||
premShow: false, | |||||
// 季度 | |||||
jShow: false, | |||||
prejShow: false, | |||||
// 年 | |||||
ysShow: false, | |||||
yxShow: false, | |||||
preyShow: false, | |||||
yShow: false, | |||||
// 默认 | |||||
selectfn: function (begin, end) { | |||||
logbegin = begin; | |||||
logend = end; | |||||
page.search(); | |||||
} | |||||
}); | |||||
$('#AcademicYearNo').lrselect({ | |||||
placeholder: "学年", | |||||
allowSearch: false, | |||||
url: top.$.rootUrl + '/EducationalAdministration/EADateArrange/GetAcademicYearNo', | |||||
value: 'value', | |||||
text: 'text' | |||||
}); | |||||
//学期 | |||||
$('#Semester').lrselect({ | |||||
placeholder: "学期", | |||||
allowSearch: false, | |||||
url: top.$.rootUrl + '/EducationalAdministration/EADateArrange/GetSemester', | |||||
value: 'value', | |||||
text: 'text' | |||||
}); | |||||
$('#EmpNo').lrDataSourceSelect({ code: 'teacheruserdata', value: 'f_encode', text: 'f_realname' }); | |||||
$('#LessonNo').lrDataSourceSelect({ code: 'LessonInfo', value: 'lessonno', text: 'lessonname' }); | |||||
$('#ClassRoomNo').lrselect({ | |||||
placeholder: "课程", | |||||
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetClassRoomTree', | |||||
value: 'value', | |||||
text: 'text' | |||||
}); | |||||
// 刷新 | |||||
$('#lr_refresh').on('click', function () { | |||||
location.reload(); | |||||
}); | |||||
$('#lr_view').on('click', function () { | |||||
var AcademicYearNo = $('#gridtable').jfGridValue('AcademicYearNo'); | |||||
var Semester = $('#gridtable').jfGridValue('Semester'); | |||||
var ClassRoomNo = $('#gridtable').jfGridValue('ClassroomNo'); | |||||
var LessonNo = $('#gridtable').jfGridValue('LessonNo'); | |||||
var EmpNo = $('#gridtable').jfGridValue('EmpNo'); | |||||
var ExamDate = $('#gridtable').jfGridValue('ExamDate'); | |||||
ExamDate = learun.formatDate(ExamDate, "yyyy-MM-dd"); | |||||
var ExamTime = $('#gridtable').jfGridValue('ExamTime'); | |||||
if (learun.checkrow(ClassRoomNo)) { | |||||
learun.layerForm({ | |||||
id: 'SeatForm', | |||||
title: '排考座位表', | |||||
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/SeatForm?' + $.param({ | |||||
AcademicYearNo, Semester, ClassRoomNo, LessonNo, EmpNo, ExamDate, ExamTime | |||||
}), | |||||
width: 1200, | |||||
height: 800, | |||||
btn: null | |||||
}); | |||||
} | |||||
}); | |||||
// 打印 | |||||
$('#lr_print').on('click', function () { | |||||
$('#gridtable').jqprintTable(); | |||||
}); | |||||
}, | |||||
// 初始化列表 | |||||
initGird: function () { | |||||
$('#gridtable').lrAuthorizeJfGridLei({ | |||||
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetScreeningPlan', | |||||
headData: [ | |||||
{ label: "学年", name: "AcademicYearNo", width: 100, align: "left" }, | |||||
{ label: "学期", name: "Semester", width: 100, align: "left" }, | |||||
{ | |||||
label: "专业", name: "TeachMajorNo", width: 160, align: "left", | |||||
formatterAsync: function (callback, value, row, op, $cell) { | |||||
learun.clientdata.getAsync('custmerData', { | |||||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo', | |||||
key: value, | |||||
keyId: 'majorno', | |||||
callback: function (_data) { | |||||
callback(_data['majorname']); | |||||
} | |||||
}); | |||||
} | |||||
}, | |||||
{ label: "考场编号", name: "ClassroomNo", width: 100, align: "left" }, | |||||
{ label: "考场名称", name: "ClassroomName", width: 100, align: "left" }, | |||||
{ label: "科目编号", name: "LessonNo", width: 100, align: "left" }, | |||||
{ label: "科目名称", name: "LessonName", width: 100, align: "left" }, | |||||
{ | |||||
label: "考试日期", name: "ExamDate", width: 100, align: "left", | |||||
formatter: function (cellvalue) { | |||||
return learun.formatDate(cellvalue, 'yyyy-MM-dd'); | |||||
} | |||||
}, | |||||
{ label: "考试时间", name: "ExamTime", width: 100, align: "left" }, | |||||
{ label: "考场人数", name: "ClassRoomNum", width: 100, align: "left" }, | |||||
{ label: "监考老师名称", name: "EmpName", width: 200, align: "left" }, | |||||
{ label: "监考老师编号", name: "EmpNo", width: 200, align: "left", ishide: true }, | |||||
{ label: "起止考号", name: "kh", width: 100, align: "left", ishide: true }, | |||||
], | |||||
//mainId: 'EPIId', | |||||
isPage: true, | |||||
sidx: 'AcademicYearNo desc,Semester desc,examtime desc,TeachMajorNo desc,examdate desc,lessonno desc,classroomname desc', | |||||
}); | |||||
page.search(); | |||||
}, | |||||
search: function (param) { | |||||
param = param || {}; | |||||
param.StartTime = logbegin; | |||||
param.EndTime = logend; | |||||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||||
} | |||||
}; | |||||
refreshGirdData = function () { | |||||
$('#gridtable').jfGridSet('reload'); | |||||
}; | |||||
page.init(); | |||||
} |
@@ -41,6 +41,7 @@ | |||||
<div class="lr-layout-tool-right"> | <div class="lr-layout-tool-right"> | ||||
<div class=" btn-group btn-group-sm"> | <div class=" btn-group btn-group-sm"> | ||||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | <a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | ||||
<a id="lr_print" class="btn btn-default"><i class="fa fa-print"></i> 打印</a> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
@@ -23,7 +23,7 @@ var bootstrap = function ($, learun) { | |||||
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetClassTree', | url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetClassTree', | ||||
nodeClick: function (item) { | nodeClick: function (item) { | ||||
ClassNo = item.id; | ClassNo = item.id; | ||||
page.search({ ClassNo: item.id }); | |||||
page.search({ ClassNo: item.id, AcademicYearNo: $('#AcademicYearNo').lrselectGet(), Semester: $('#Semester').lrselectGet(), LessonNo: $('#LessonNo').lrselectGet(), ClassRoomNo: $('#ClassRoomNo').lrselectGet(), EmpNo: $('#EmpNo').lrselectGet() }); | |||||
} | } | ||||
}); | }); | ||||
$('.datetime').each(function () { | $('.datetime').each(function () { | ||||
@@ -89,6 +89,10 @@ var bootstrap = function ($, learun) { | |||||
$('#LessonNo').lrDataSourceSelect({ code: 'LessonInfo', value: 'lessonno', text: 'lessonname', placeholder: '请选择课程' }); | $('#LessonNo').lrDataSourceSelect({ code: 'LessonInfo', value: 'lessonno', text: 'lessonname', placeholder: '请选择课程' }); | ||||
$('#ClassRoomNo').lrDataSourceSelect({ code: 'ClassRoomInfo', value: 'classroomno', text: 'classroomname', placeholder: '请选择教室' }); | $('#ClassRoomNo').lrDataSourceSelect({ code: 'ClassRoomInfo', value: 'classroomno', text: 'classroomname', placeholder: '请选择教室' }); | ||||
$('#EmpNo').lrDataSourceSelect({ code: 'EmpInfo', value: 'empno', text: 'empname', placeholder: '请选择教师' }); | $('#EmpNo').lrDataSourceSelect({ code: 'EmpInfo', value: 'empno', text: 'empname', placeholder: '请选择教师' }); | ||||
// 打印 | |||||
$('#lr_print').on('click', function () { | |||||
$('#gridtable').jqprintTable(); | |||||
}); | |||||
}, | }, | ||||
initGird: function () { | initGird: function () { | ||||
$('#gridtable').jfGrid({ | $('#gridtable').jfGrid({ | ||||
@@ -96,9 +100,11 @@ var bootstrap = function ($, learun) { | |||||
headData: [ | headData: [ | ||||
{ label: '学年', name: 'AcademicYearNo', width: 70, align: "left" }, | { label: '学年', name: 'AcademicYearNo', width: 70, align: "left" }, | ||||
{ label: '学期', name: 'Semester', width: 60, align: "left" }, | { label: '学期', name: 'Semester', width: 60, align: "left" }, | ||||
{ label: '考试日期', name: 'ExamDate', width: 100, align: "left", formatter: function (v) { | |||||
return learun.formatDate(v, "yyyy-MM-dd"); | |||||
} }, | |||||
{ | |||||
label: '考试日期', name: 'ExamDate', width: 100, align: "left", formatter: function (v) { | |||||
return learun.formatDate(v, "yyyy-MM-dd"); | |||||
} | |||||
}, | |||||
{ label: '考试时间', name: 'ExamTime', width: 120, align: "left" }, | { label: '考试时间', name: 'ExamTime', width: 120, align: "left" }, | ||||
{ label: '课程编号', name: 'LessonNo', width: 100, align: "left" }, | { label: '课程编号', name: 'LessonNo', width: 100, align: "left" }, | ||||
{ label: '课程名称', name: 'LessonName', width: 200, align: "left" }, | { label: '课程名称', name: 'LessonName', width: 200, align: "left" }, | ||||
@@ -112,7 +118,7 @@ var bootstrap = function ($, learun) { | |||||
], | ], | ||||
mainId: 'AETId', | mainId: 'AETId', | ||||
sidx: 'examdate,examtime,lessonno,classroomname ', | sidx: 'examdate,examtime,lessonno,classroomname ', | ||||
sord:'asc', | |||||
sord: 'asc', | |||||
isPage: true | isPage: true | ||||
}); | }); | ||||
page.search(); | page.search(); | ||||
@@ -5,14 +5,14 @@ | |||||
<div class="lr-layout lr-layout-left-center"> | <div class="lr-layout lr-layout-left-center"> | ||||
<div class="lr-layout-left"> | <div class="lr-layout-left"> | ||||
<div class="lr-layout-wrap"> | <div class="lr-layout-wrap"> | ||||
<div class="lr-layout-title lrlt ">班级信息</div> | |||||
<div class="lr-layout-title lrlt ">考场信息</div> | |||||
<div id="dataTree" class="lr-layout-body"></div> | <div id="dataTree" class="lr-layout-body"></div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="lr-layout-center"> | <div class="lr-layout-center"> | ||||
<div class="lr-layout-wrap"> | <div class="lr-layout-wrap"> | ||||
<div class="lr-layout-title"> | <div class="lr-layout-title"> | ||||
<span id="titleinfo" class="lrlt">班级信息</span> | |||||
<span id="titleinfo" class="lrlt">考场信息</span> | |||||
</div> | </div> | ||||
<div class="lr-layout-tool"> | <div class="lr-layout-tool"> | ||||
<div class="lr-layout-tool-left"> | <div class="lr-layout-tool-left"> | ||||
@@ -25,9 +25,9 @@ | |||||
<div class="lr-layout-tool-item"> | <div class="lr-layout-tool-item"> | ||||
<div id="LessonNo" type="lrselect" class="lr-select" style="width: 200px;"></div> | <div id="LessonNo" type="lrselect" class="lr-select" style="width: 200px;"></div> | ||||
</div> | </div> | ||||
<div class="lr-layout-tool-item"> | |||||
@*<div class="lr-layout-tool-item"> | |||||
<div id="ClassRoomNo" type="lrselect" class="lr-select" style="width: 200px;"></div> | <div id="ClassRoomNo" type="lrselect" class="lr-select" style="width: 200px;"></div> | ||||
</div> | |||||
</div>*@ | |||||
<div class="lr-layout-tool-item"> | <div class="lr-layout-tool-item"> | ||||
<div id="EmpNo" type="lrselect" class="lr-select" style="width: 200px;"></div> | <div id="EmpNo" type="lrselect" class="lr-select" style="width: 200px;"></div> | ||||
</div> | </div> | ||||
@@ -41,6 +41,8 @@ | |||||
<div class="lr-layout-tool-right"> | <div class="lr-layout-tool-right"> | ||||
<div class=" btn-group btn-group-sm"> | <div class=" btn-group btn-group-sm"> | ||||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | <a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | ||||
@*<a id="lr_view" class="btn btn-default"><i class="fa fa-pencil-square-o"></i> 查看</a>*@ | |||||
<a id="lr_print" class="btn btn-default"><i class="fa fa-print"></i> 打印</a> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
@@ -11,7 +11,9 @@ var bootstrap = function ($, learun) { | |||||
"use strict"; | "use strict"; | ||||
var datebegin = ''; | var datebegin = ''; | ||||
var dateend = ''; | var dateend = ''; | ||||
var ClassNo = ''; | |||||
//var ClassNo = ''; | |||||
var ClassRoomNo = ''; | |||||
var page = { | var page = { | ||||
init: function () { | init: function () { | ||||
page.initGird(); | page.initGird(); | ||||
@@ -20,10 +22,11 @@ var bootstrap = function ($, learun) { | |||||
bind: function () { | bind: function () { | ||||
// 初始化左侧树形数据 | // 初始化左侧树形数据 | ||||
$('#dataTree').lrtree({ | $('#dataTree').lrtree({ | ||||
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetClassTree', | |||||
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetClassRoomTree', | |||||
nodeClick: function (item) { | nodeClick: function (item) { | ||||
ClassNo = item.id; | |||||
page.search({ ClassNo: item.id }); | |||||
ClassRoomNo = item.id; | |||||
page.search({ ClassRoomNo: item.id, AcademicYearNo: $('#AcademicYearNo').lrselectGet(), Semester: $('#Semester').lrselectGet(), LessonNo: $('#LessonNo').lrselectGet(), EmpNo: $('#EmpNo').lrselectGet() }); | |||||
$('#titleinfo').html(item.text); | |||||
} | } | ||||
}); | }); | ||||
$('.datetime').each(function () { | $('.datetime').each(function () { | ||||
@@ -56,7 +59,7 @@ var bootstrap = function ($, learun) { | |||||
}); | }); | ||||
// 查询 | // 查询 | ||||
$('#btn_Search').on('click', function () { | $('#btn_Search').on('click', function () { | ||||
page.search({ ClassNo: ClassNo, AcademicYearNo: $('#AcademicYearNo').lrselectGet(), Semester: $('#Semester').lrselectGet(), LessonNo: $('#LessonNo').lrselectGet(), ClassRoomNo: $('#ClassRoomNo').lrselectGet(), EmpNo: $('#EmpNo').lrselectGet() }); | |||||
page.search({ ClassRoomNo: ClassRoomNo, AcademicYearNo: $('#AcademicYearNo').lrselectGet(), Semester: $('#Semester').lrselectGet(), LessonNo: $('#LessonNo').lrselectGet(), EmpNo: $('#EmpNo').lrselectGet() }); | |||||
}); | }); | ||||
// 刷新 | // 刷新 | ||||
$('#lr_refresh').on('click', function () { | $('#lr_refresh').on('click', function () { | ||||
@@ -78,30 +81,93 @@ var bootstrap = function ($, learun) { | |||||
value: 'value', | value: 'value', | ||||
text: 'text' | text: 'text' | ||||
}); | }); | ||||
//课程 | |||||
//$('#LessonNo').lrselect({ | |||||
// placeholder: "请选择课程", | |||||
// allowSearch: true, | |||||
// url: top.$.rootUrl + '/EducationalAdministration/StuScore/GetLessonNoDataOfAllWithNo', | |||||
// value: 'value', | |||||
// text: 'text' | |||||
//}); | |||||
$('#AcademicYearNo').bind('change', function () { | |||||
ClassRoomNo= '' | |||||
var AcademicYearNo = ''; | |||||
var Semester = ''; | |||||
if ($('#AcademicYearNo').lrselectGet()) { | |||||
AcademicYearNo = $('#AcademicYearNo').lrselectGet() | |||||
} | |||||
if ($('#Semester').lrselectGet()) { | |||||
var Semester = $('#Semester').lrselectGet(); | |||||
} | |||||
if (Semester != '' && AcademicYearNo != '') { | |||||
$('#dataTree').lrtree({ | |||||
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetClassRoomTree?AcademicYearNo = ' + AcademicYearNo + ' &Semester=' + Semester, | |||||
nodeClick: function (item) { | |||||
ClassRoomNo = item.value; | |||||
page.search({ ClassRoomNo: item.value, AcademicYearNo: $('#AcademicYearNo').lrselectGet(), Semester: $('#Semester').lrselectGet(), LessonNo: $('#LessonNo').lrselectGet(), EmpNo: $('#EmpNo').lrselectGet() }); | |||||
} | |||||
}); | |||||
} | |||||
}); | |||||
$('#Semester').bind('change', function () { | |||||
ClassRoomNo = '' | |||||
var AcademicYearNo = ''; | |||||
var Semester = ''; | |||||
if ($('#AcademicYearNo').lrselectGet()) { | |||||
AcademicYearNo = $('#AcademicYearNo').lrselectGet() | |||||
} | |||||
if ($('#Semester').lrselectGet()) { | |||||
var Semester = $('#Semester').lrselectGet(); | |||||
} | |||||
if (Semester != '' && AcademicYearNo != '') { | |||||
$('#dataTree').lrtree({ | |||||
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetClassRoomTree?AcademicYearNo = ' + AcademicYearNo + ' &Semester=' + Semester, | |||||
nodeClick: function (item) { | |||||
ClassRoomNo = item.value; | |||||
page.search({ ClassRoomNo: item.value, AcademicYearNo: $('#AcademicYearNo').lrselectGet(), Semester: $('#Semester').lrselectGet(), LessonNo: $('#LessonNo').lrselectGet(), EmpNo: $('#EmpNo').lrselectGet() }); | |||||
} | |||||
}); | |||||
} | |||||
}); | |||||
$('#LessonNo').lrDataSourceSelect({ code: 'LessonInfo', value: 'lessonno', text: 'lessonname', placeholder: '请选择课程' }); | $('#LessonNo').lrDataSourceSelect({ code: 'LessonInfo', value: 'lessonno', text: 'lessonname', placeholder: '请选择课程' }); | ||||
$('#ClassRoomNo').lrDataSourceSelect({ code: 'ClassRoomInfo', value: 'classroomno', text: 'classroomname', placeholder: '请选择教室' }); | $('#ClassRoomNo').lrDataSourceSelect({ code: 'ClassRoomInfo', value: 'classroomno', text: 'classroomname', placeholder: '请选择教室' }); | ||||
$('#EmpNo').lrDataSourceSelect({ code: 'EmpInfo', value: 'empno', text: 'empname', placeholder: '请选择教师' }); | $('#EmpNo').lrDataSourceSelect({ code: 'EmpInfo', value: 'empno', text: 'empname', placeholder: '请选择教师' }); | ||||
$('#lr_view').on('click', function () { | |||||
var AcademicYearNo = $('#AcademicYearNo').lrselectGet() || ''; | |||||
var Semester = $('#Semester').lrselectGet() || ''; | |||||
var LessonNo = $('#LessonNo').lrselectGet() || ''; | |||||
if (AcademicYearNo == '' && Semester == '' || LessonNo == '' ) { | |||||
learun.alert.warning("请选择学年,学期以及课程"); | |||||
return; | |||||
} | |||||
if (!ClassRoomNo) { | |||||
learun.alert.warning("请选择考场"); | |||||
return; | |||||
} | |||||
learun.layerForm({ | |||||
id: 'SeatForm', | |||||
title: '排考座位表', | |||||
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/SeatForm?' + $.param({ ClassRoomNo, AcademicYearNo, Semester, LessonNo }), | |||||
width: 1200, | |||||
height: 800, | |||||
btn: null | |||||
}); | |||||
}); | |||||
// 打印 | |||||
$('#lr_print').on('click', function () { | |||||
$('#gridtable').jqprintTable(); | |||||
}); | |||||
}, | }, | ||||
initGird: function () { | initGird: function () { | ||||
$('#gridtable').jfGrid({ | $('#gridtable').jfGrid({ | ||||
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetItemPageList', | url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetItemPageList', | ||||
headData: [ | headData: [ | ||||
{ label: '学年', name: 'AcademicYearNo', width: 70, align: "left" }, | |||||
{ label: '学期', name: 'Semester', width: 60, align: "left" }, | |||||
{ label: '学年', name: 'AcademicYearNo', width: 60, align: "left" }, | |||||
{ label: '学期', name: 'Semester', width: 50, align: "left" }, | |||||
{ label: '学生编号', name: 'StuNo', width: 130, align: "left" }, | |||||
{ label: '学生姓名', name: 'StuName', width: 100, align: "left" }, | |||||
{ label: '学籍号', name: 'StuCode', width: 130, align: "left" }, | |||||
{ | { | ||||
label: '考试日期', name: 'ExamDate', width: 100, align: "left", formatter: function (v) { | |||||
label: '考试日期', name: 'ExamDate', width: 90, align: "left", | |||||
formatter: function (v) { | |||||
return learun.formatDate(v, "yyyy-MM-dd"); | return learun.formatDate(v, "yyyy-MM-dd"); | ||||
} | } | ||||
}, | }, | ||||
{ label: '考试时间', name: 'ExamTime', width: 120, align: "left" }, | |||||
{ label: '考试时间', name: 'ExamTime', width: 90, align: "left" }, | |||||
{ label: '课程编号', name: 'LessonNo', width: 100, align: "left" }, | { label: '课程编号', name: 'LessonNo', width: 100, align: "left" }, | ||||
{ label: '课程名称', name: 'LessonName', width: 200, align: "left" }, | { label: '课程名称', name: 'LessonName', width: 200, align: "left" }, | ||||
{ label: '监考教师编号', name: 'EmpNo', width: 150, align: "left" }, | { label: '监考教师编号', name: 'EmpNo', width: 150, align: "left" }, | ||||
@@ -109,12 +175,11 @@ var bootstrap = function ($, learun) { | |||||
{ label: '教室编号', name: 'ClassroomNo', width: 100, align: "left" }, | { label: '教室编号', name: 'ClassroomNo', width: 100, align: "left" }, | ||||
{ label: '教室名称', name: 'ClassroomName', width: 100, align: "left" }, | { label: '教室名称', name: 'ClassroomName', width: 100, align: "left" }, | ||||
{ label: '班级名称', name: 'ClassName', width: 100, align: "left" }, | { label: '班级名称', name: 'ClassName', width: 100, align: "left" }, | ||||
{ label: '学生编号', name: 'StuNo', width: 100, align: "left" }, | |||||
{ label: '学生姓名', name: 'StuName', width: 200, align: "left" }, | |||||
{ label: '座位编号', name: 'SitNumber', width: 100, aligndd: "left" } | |||||
{ label: '座位编号', name: 'SitNumber', width: 80, aligndd: "left" }, | |||||
{ label: '考号', name: 'kh', width: 140, align: "left", ishide: true }, | |||||
], | ], | ||||
mainId: 'AETId', | mainId: 'AETId', | ||||
sidx: 'ExamDate asc, LessonNo asc,ClassRoomNo asc,ClassNo asc,SitNumber asc', | |||||
sidx: ' AcademicYearNo desc,Semester desc,ExamDate desc, LessonNo desc,ClassRoomNo desc,ClassRoomNo desc,SitNumber asc ', | |||||
isPage: true | isPage: true | ||||
}); | }); | ||||
page.search(); | page.search(); | ||||
@@ -123,7 +188,7 @@ var bootstrap = function ($, learun) { | |||||
param = param || {}; | param = param || {}; | ||||
param.StartTime = datebegin; | param.StartTime = datebegin; | ||||
param.EndTime = dateend; | param.EndTime = dateend; | ||||
console.log(param); | |||||
param.ClassRoomNo = ClassRoomNo; | |||||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | $('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | ||||
} | } | ||||
}; | }; | ||||
@@ -0,0 +1,115 @@ | |||||
@{ | |||||
ViewBag.Title = "考场信息-查看"; | |||||
Layout = "~/Views/Shared/_Index.cshtml"; | |||||
} | |||||
<link href="~/Content/css/UserCenter/user.css" rel="stylesheet" /> | |||||
<div id="app" style="padding:20px;"> | |||||
<div class="title" style="font-size:18px;color:#333;lineHeight:50px;textAlign:center;position:relative;"> | |||||
{{dataOne.tClassroomName}}排考座位表 | |||||
<div class="btn btn-primary no-print" style="position:absolute;right:0;top:6px" v-on:click="printClick">打 印</div> | |||||
</div> | |||||
<div class="desc" style="display:flex;justifyContent:space-between;color:#666;padding:10px;"> | |||||
<span>监考老师:{{dataOne.teach}}</span> | |||||
<span>考试时间:{{dataOne.EaxmStartTime}}{{dataOne.EaxmEndTime}}</span> | |||||
</div> | |||||
<ul class="StuList" style="overflow:scroll;height:600px"> | |||||
<li v-for="item in StuList" :key="item.SitNumber" :style="{width:width,float:'left',padding:'36px 10px',height:'58px',textAlign:'center'}"> | |||||
<div class="content" style="border:1px solid #ccc;padding:6px;"> | |||||
<div>{{item.StuName}}</div> | |||||
{{item.SitNumber}} | |||||
</div> | |||||
</li> | |||||
</ul> | |||||
<div style="color:#333;font-size:14px;text-align:center;line-height:80px" v-if="isEmpty">暂无数据</div> | |||||
</div> | |||||
<script> | |||||
var vm = new Vue({ | |||||
el: "#app", | |||||
data() { | |||||
return { | |||||
StuList: [], | |||||
dataOne: {}, | |||||
StuListColumns: [], | |||||
width: '10%', | |||||
isEmpty: false, | |||||
} | |||||
}, | |||||
created() { | |||||
this.getData() | |||||
}, | |||||
methods: { | |||||
getData: function () { | |||||
$.ajax({ | |||||
url: '/EducationalAdministration/Exam_ArrangeExamTermNew/GetSeatData', | |||||
data: { | |||||
ClassRoomNo: request('ClassRoomNo'), AcademicYearNo: request('AcademicYearNo'), Semester: request('Semester'), LessonNo: request('LessonNo'), EmpNo: request('EmpNo'), ExamDate: request('ExamDate'), ExamTime: request('ExamTime') | |||||
}, | |||||
type: "Post", | |||||
dataType: "json", | |||||
async: true, | |||||
cache: false, | |||||
success: (res) => { | |||||
if (res.code == 200) { | |||||
this.StuList = res.data.StuList || [] | |||||
this.dataOne = res.data.dataOne || {} | |||||
if (!this.StuList.length) { | |||||
this.isEmpty = true | |||||
return | |||||
} | |||||
this.width = 100 / this.dataOne.SeatColumns + '%' | |||||
//1列:[],2:[] | |||||
let data = {} | |||||
//计算出多少行 | |||||
let rows = Math.ceil(res.data.StuList.length / this.dataOne.SeatColumns); | |||||
if (rows == 1) return | |||||
//最后一行个数(行全的列数) | |||||
let lastRow = res.data.StuList.length % this.dataOne.SeatColumns | |||||
lastRow = lastRow || this.dataOne.SeatColumns | |||||
//不缺一行的列数据总个数 | |||||
let wholeItems = rows * lastRow | |||||
let colCurrent = 1 | |||||
this.StuList.forEach((e, i) => { | |||||
if (i + 1 <= wholeItems) { | |||||
colCurrent = Math.ceil((i + 1) / rows) | |||||
colCurrent = colCurrent || 1 | |||||
if (!data[colCurrent]) data[colCurrent] = [] | |||||
data[colCurrent].push(e) | |||||
} else { | |||||
let colCurrent_ = Math.ceil((i + 1 - wholeItems) / (rows-1)) | |||||
colCurrent_ = colCurrent_ || 1 | |||||
if (!data[colCurrent_ + colCurrent]) data[colCurrent_ + colCurrent] = [] | |||||
data[colCurrent_ + colCurrent].push(e) | |||||
} | |||||
}) | |||||
let arr = [] | |||||
for (let i = 0; i < rows; i++) { | |||||
Object.values(data).forEach(e => { | |||||
if (e[i]) { | |||||
arr.push(e[i]) | |||||
} | |||||
}) | |||||
} | |||||
this.StuList = arr | |||||
} | |||||
}, | |||||
error: function (XMLHttpRequest, textStatus, errorThrown) { | |||||
}, | |||||
beforeSend: function () { | |||||
}, | |||||
complete: function () { | |||||
} | |||||
}) | |||||
}, | |||||
printClick() { | |||||
$('.btn').css('display', 'none') | |||||
$('.StuList').css('overflow', 'unset') | |||||
$('.StuList').css('height', 'auto') | |||||
$('#app').jqprint({ noPrintSelector: ".no-print", }) | |||||
$('.StuList').css('height', '600px') | |||||
$('.StuList').css('overflow', 'scroll') | |||||
$('.btn').css('display', 'block') | |||||
} | |||||
}, | |||||
}) | |||||
</script> |
@@ -0,0 +1,54 @@ | |||||
@{ | |||||
/**/ | |||||
ViewBag.Title = "排考2021新"; | |||||
Layout = "~/Views/Shared/_Index.cshtml"; | |||||
} | |||||
<div class="lr-layout lr-layout-left-center"> | |||||
<div class="lr-layout-left"> | |||||
<div class="lr-layout-wrap"> | |||||
<div class="lr-layout-title lrlt ">考场信息</div> | |||||
<div id="dataTree" class="lr-layout-body"></div> | |||||
</div> | |||||
</div> | |||||
<div class="lr-layout-center"> | |||||
<div class="lr-layout-wrap"> | |||||
<div class="lr-layout-title"> | |||||
<span id="titleinfo" class="lrlt">考场信息</span> | |||||
</div> | |||||
<div class="lr-layout-tool"> | |||||
<div class="lr-layout-tool-left"> | |||||
<div class="lr-layout-tool-item"> | |||||
<div id="AcademicYearNo" type="lrselect" class="lr-select lr-selectLittle" style="width: 80px;"></div> | |||||
</div> | |||||
<div class="lr-layout-tool-item"> | |||||
<div id="Semester" type="lrselect" class="lr-select lr-selectLittle" style="width: 80px;"></div> | |||||
</div> | |||||
<div class="lr-layout-tool-item"> | |||||
<div id="LessonNo" type="lrselect" class="lr-select" style="width: 200px;"></div> | |||||
</div> | |||||
<div class="lr-layout-tool-item"> | |||||
<div id="ClassNo" type="lrselect" class="lr-select" style="width: 200px;"></div> | |||||
</div> | |||||
<div class="lr-layout-tool-item"> | |||||
<div id="EmpNo" type="lrselect" class="lr-select" style="width: 200px;"></div> | |||||
</div> | |||||
<div class="lr-layout-tool-item"> | |||||
<div id="datesearch" class="datetime"></div> | |||||
</div> | |||||
<div class="lr-layout-tool-item"> | |||||
<a id="btn_Search" class="btn btn-primary btn-sm"><i class="fa fa-search"></i> 查询</a> | |||||
</div> | |||||
</div> | |||||
<div class="lr-layout-tool-right"> | |||||
<div class=" btn-group btn-group-sm"> | |||||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | |||||
@*<a id="lr_print" class="btn btn-default"><i class="fa fa-print"></i>打印</a>*@ | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<div class="lr-layout-body" id="gridtable"></div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/Exam_ArrangeExamTermNew/TeachingQualityIndex.js") |
@@ -0,0 +1,324 @@ | |||||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||||
* 创建人:超级管理员 | |||||
* 日 期:2021-12-08 12:19 | |||||
* 描 述:排考2021新 | |||||
*/ | |||||
var selectedRow; | |||||
var refreshGirdData; | |||||
//课程列 | |||||
var LessonTemp = []; | |||||
var EmpInfo = [] | |||||
var bootstrap = function ($, learun) { | |||||
"use strict"; | |||||
var datebegin = ''; | |||||
var dateend = ''; | |||||
//var ClassNo = ''; | |||||
var ClassRoomNo = ''; | |||||
var page = { | |||||
init: function () { | |||||
//page.initGird(); | |||||
page.bind(); | |||||
}, | |||||
bind: function () { | |||||
// 初始化左侧树形数据 | |||||
$('#dataTree').lrtree({ | |||||
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetClassRoomTree', | |||||
nodeClick: function (item) { | |||||
ClassRoomNo = item.id; | |||||
page.search({ ClassRoomNo: item.id, AcademicYearNo: $('#AcademicYearNo').lrselectGet(), Semester: $('#Semester').lrselectGet(), LessonNo: $('#LessonNo').lrselectGet(), EmpNo: $('#EmpNo').lrselectGet() }); | |||||
$('#titleinfo').html(item.text); | |||||
} | |||||
}); | |||||
$('.datetime').each(function () { | |||||
$(this).lrdate({ | |||||
dfdata: [ | |||||
{ name: '清空', begin: function () { return '' }, end: function () { return '' } }, | |||||
{ name: '今天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00') }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }, | |||||
{ 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') } }, | |||||
{ 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') } }, | |||||
{ 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') } }, | |||||
], | |||||
// 月 | |||||
mShow: false, | |||||
premShow: false, | |||||
// 季度 | |||||
jShow: false, | |||||
prejShow: false, | |||||
// 年 | |||||
ysShow: false, | |||||
yxShow: false, | |||||
preyShow: false, | |||||
yShow: false, | |||||
// 默认 | |||||
dfvalue: '0', | |||||
selectfn: function (begin, end) { | |||||
datebegin = begin; | |||||
dateend = end; | |||||
} | |||||
}); | |||||
}); | |||||
//打印 | |||||
$('#lr_print').on('click', function () { | |||||
var p = {}; | |||||
p.AcademicYearNo = $('#AcademicYearNo').lrselectGet(); | |||||
p.Semester = $('#Semester').lrselectGet(); | |||||
p.ClassNo = $('#ClassNo').lrselectGet(); | |||||
if (p.AcademicYearNo == null || p.AcademicYearNo == "") { | |||||
learun.alert.warning("请选择学年!"); | |||||
return; | |||||
} | |||||
if (p.Semester == null || p.Semester == "") { | |||||
learun.alert.warning("请选择学期!"); | |||||
return; | |||||
} | |||||
if (p.ClassNo == null || p.ClassNo == "") { | |||||
learun.alert.warning("请选择班级!"); | |||||
return; | |||||
} | |||||
let query = JSON.parse(JSON.stringify(p)) | |||||
query.StartTime = datebegin; | |||||
query.EndTime = dateend; | |||||
query.ClassRoomNo = ClassRoomNo; | |||||
query.EmpNo = $('#EmpNo').lrselectGet() | |||||
learun.layerForm({ | |||||
id: 'TeachingQualityPrint', | |||||
title: '教学质量检测考生统计表', | |||||
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/TeachingQualityPrint?' + $.param({ params: JSON.stringify(p), query: JSON.stringify(query), ClassNo: p.ClassNo }), | |||||
width: 1320, | |||||
height: 900, | |||||
btn: null | |||||
}); | |||||
}); | |||||
// 查询 | |||||
$('#btn_Search').on('click', async function () { | |||||
var p = {}; | |||||
p.AcademicYearNo = $('#AcademicYearNo').lrselectGet(); | |||||
p.Semester = $('#Semester').lrselectGet(); | |||||
p.ClassNo = $('#ClassNo').lrselectGet(); | |||||
p.LessonNo = $('#LessonNo').lrselectGet(); | |||||
p.ClassRoomNo = ClassRoomNo; | |||||
p.EmpNo = $('#EmpNo').lrselectGet(); | |||||
if (p.AcademicYearNo == null || p.AcademicYearNo == "") { | |||||
learun.alert.warning("请选择学年!"); | |||||
return; | |||||
} | |||||
if (p.Semester == null || p.Semester == "") { | |||||
learun.alert.warning("请选择学期!"); | |||||
return; | |||||
} | |||||
if (p.ClassNo == null || p.ClassNo == "") { | |||||
learun.alert.warning("请选择班级!"); | |||||
return; | |||||
} | |||||
//获取教师 | |||||
await new Promise((resolve) => { | |||||
learun.clientdata.getAllAsync('sourceData', { | |||||
code: 'EmpInfo', | |||||
callback: function (dataes) { | |||||
EmpInfo = dataes.map(e => { return { value: e.empno, text: e.empname } }) | |||||
resolve() | |||||
} | |||||
}); | |||||
}) | |||||
$.lrSetFormWithParam(top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetLessonList', p, | |||||
function (data) { | |||||
console.log(data) | |||||
var temparr = []; | |||||
for (var i = 0; i < data.length; i++) { | |||||
var item = {}; | |||||
let obj = EmpInfo.find(e => e.value == data[i].text) | |||||
item.label = data[i].value; | |||||
item.name = data[i].text; | |||||
item.formatterAsync = function (callback, value, row, op, $cell) { | |||||
callback(obj ? obj.text : '') | |||||
} | |||||
item.width = 150; | |||||
item.align = "left"; | |||||
temparr.push(item); | |||||
} | |||||
LessonTemp = temparr; | |||||
page.initGird(); | |||||
//page.search({ ClassRoomNo: ClassRoomNo, AcademicYearNo: $('#AcademicYearNo').lrselectGet(), Semester: $('#Semester').lrselectGet(), LessonNo: $('#LessonNo').lrselectGet(), EmpNo: $('#EmpNo').lrselectGet() }); | |||||
page.search(p); | |||||
}); | |||||
}); | |||||
// 刷新 | |||||
$('#lr_refresh').on('click', function () { | |||||
location.reload(); | |||||
}); | |||||
$('#ClassNo').lrDataSourceSelect({ | |||||
placeholder: "请选择班级", | |||||
code: 'bjsj', value: 'classno', text: 'classname' | |||||
}); | |||||
$('#AcademicYearNo').lrselect({ | |||||
placeholder: "学年", | |||||
allowSearch: false, | |||||
url: top.$.rootUrl + '/EducationalAdministration/EADateArrange/GetAcademicYearNo', | |||||
value: 'value', | |||||
text: 'text' | |||||
}); | |||||
//学期 | |||||
$('#Semester').lrselect({ | |||||
placeholder: "学期", | |||||
allowSearch: false, | |||||
url: top.$.rootUrl + '/EducationalAdministration/StuScore/GetSemesterData', | |||||
value: 'value', | |||||
text: 'text' | |||||
}); | |||||
$('#AcademicYearNo').bind('change', function () { | |||||
ClassRoomNo = '' | |||||
var AcademicYearNo = ''; | |||||
var Semester = ''; | |||||
if ($('#AcademicYearNo').lrselectGet()) { | |||||
AcademicYearNo = $('#AcademicYearNo').lrselectGet() | |||||
} | |||||
if ($('#Semester').lrselectGet()) { | |||||
var Semester = $('#Semester').lrselectGet(); | |||||
} | |||||
if (Semester != '' && AcademicYearNo != '') { | |||||
$('#dataTree').lrtree({ | |||||
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetClassRoomTree?AcademicYearNo = ' + AcademicYearNo + ' &Semester=' + Semester, | |||||
nodeClick: function (item) { | |||||
ClassRoomNo = item.value; | |||||
page.search({ ClassRoomNo: item.value, AcademicYearNo: $('#AcademicYearNo').lrselectGet(), Semester: $('#Semester').lrselectGet(), LessonNo: $('#LessonNo').lrselectGet(), EmpNo: $('#EmpNo').lrselectGet() }); | |||||
} | |||||
}); | |||||
} | |||||
}); | |||||
$('#Semester').bind('change', function () { | |||||
ClassRoomNo = '' | |||||
var AcademicYearNo = ''; | |||||
var Semester = ''; | |||||
if ($('#AcademicYearNo').lrselectGet()) { | |||||
AcademicYearNo = $('#AcademicYearNo').lrselectGet() | |||||
} | |||||
if ($('#Semester').lrselectGet()) { | |||||
var Semester = $('#Semester').lrselectGet(); | |||||
} | |||||
if (Semester != '' && AcademicYearNo != '') { | |||||
$('#dataTree').lrtree({ | |||||
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetClassRoomTree?AcademicYearNo = ' + AcademicYearNo + ' &Semester=' + Semester, | |||||
nodeClick: function (item) { | |||||
ClassRoomNo = item.value; | |||||
page.search({ ClassRoomNo: item.value, AcademicYearNo: $('#AcademicYearNo').lrselectGet(), Semester: $('#Semester').lrselectGet(), LessonNo: $('#LessonNo').lrselectGet(), EmpNo: $('#EmpNo').lrselectGet() }); | |||||
} | |||||
}); | |||||
} | |||||
}); | |||||
$('#LessonNo').lrDataSourceSelect({ code: 'LessonInfo', value: 'lessonno', text: 'lessonname', placeholder: '请选择课程' }); | |||||
$('#ClassRoomNo').lrDataSourceSelect({ code: 'ClassRoomInfo', value: 'classroomno', text: 'classroomname', placeholder: '请选择教室' }); | |||||
$('#EmpNo').lrDataSourceSelect({ code: 'EmpInfo', value: 'empno', text: 'empname', placeholder: '请选择教师' }); | |||||
}, | |||||
initGird: function () { | |||||
var headData = [ | |||||
{ | |||||
label: '学校', name: 'F_SchoolId', width: 190, align: "left", | |||||
formatterAsync: function (callback, value, row, op, $cell) { | |||||
learun.clientdata.getAsync('custmerData', { | |||||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'company', | |||||
key: value, | |||||
keyId: 'f_companyid', | |||||
callback: function (_data) { | |||||
callback(_data['f_fullname']); | |||||
} | |||||
}); | |||||
} | |||||
}, | |||||
{ label: '学年', name: 'AcademicYearNo', width: 60, align: "left" }, | |||||
{ label: '学期', name: 'Semester', width: 50, align: "left" }, | |||||
{ label: '姓名', name: 'StuName', width: 100, align: "left" }, | |||||
{ label: '学生编号', name: 'StuNo', width: 130, align: "left" }, | |||||
{ label: '学籍号', name: 'StuCode', width: 130, align: "left" }, | |||||
{ | |||||
label: "系部", name: "DeptNo", width: 100, align: "left", | |||||
formatterAsync: function (callback, value, row, op, $cell) { | |||||
learun.clientdata.getAsync('custmerData', { | |||||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdDeptInfo', | |||||
key: value, | |||||
keyId: 'deptno', | |||||
callback: function (_data) { | |||||
callback(_data['deptname']); | |||||
} | |||||
}); | |||||
} | |||||
}, | |||||
{ | |||||
label: "专业", name: "MajorNo", width: 100, align: "left", | |||||
formatterAsync: function (callback, value, row, op, $cell) { | |||||
learun.clientdata.getAsync('custmerData', { | |||||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo', | |||||
key: value, | |||||
keyId: 'majorno', | |||||
callback: function (_data) { | |||||
callback(_data['majorname']); | |||||
} | |||||
}); | |||||
} | |||||
}, | |||||
{ | |||||
label: "班级", name: "ClassNo", width: 100, align: "left", | |||||
formatterAsync: function (callback, value, row, op, $cell) { | |||||
learun.clientdata.getAsync('custmerData', { | |||||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'bjsj', | |||||
key: value, | |||||
keyId: 'classno', | |||||
callback: function (_data) { | |||||
callback(_data['classname']); | |||||
} | |||||
}); | |||||
} | |||||
}, | |||||
{ | |||||
label: '考试日期', name: 'ExamDate', width: 90, align: "left", | |||||
formatter: function (v) { | |||||
return learun.formatDate(v, "yyyy-MM-dd"); | |||||
} | |||||
}, | |||||
{ label: '考试时间', name: 'ExamTime', width: 90, align: "left" }, | |||||
{ label: '课程编号', name: 'LessonNo', width: 100, align: "left" }, | |||||
{ label: '课程名称', name: 'LessonName', width: 200, align: "left" }, | |||||
{ label: '监考教师编号', name: 'EmpNo', width: 150, align: "left" }, | |||||
{ label: '监考教师姓名', name: 'EmpName', width: 150, align: "left" }, | |||||
{ label: '教室编号', name: 'ClassroomNo', width: 100, align: "left" }, | |||||
{ label: '教室名称', name: 'ClassroomName', width: 100, align: "left" }, | |||||
{ label: '座位编号', name: 'SitNumber', width: 80, aligndd: "left" }, | |||||
//{ label: '任课教师', width: 130, align: "center", children: LessonTemp }, | |||||
...LessonTemp, | |||||
{ label: '考号', name: 'kh', width: 140, align: "left", ishide: true }, | |||||
]; | |||||
//var headDatas = headData.concat(LessonTemp); | |||||
$("#gridtable")[0].dfop = undefined; | |||||
$('#gridtable').lrAuthorizeJfGridLei({ | |||||
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetTeachingQualityPageList', | |||||
headData, | |||||
mainId: 'AETId', | |||||
sidx: ' AcademicYearNo desc,Semester desc,ExamDate desc, LessonNo desc,ClassRoomNo desc,ClassRoomNo desc,SitNumber asc ', | |||||
isPage: true | |||||
}); | |||||
//page.search(); | |||||
}, | |||||
search: function (param) { | |||||
param = param || {}; | |||||
param.StartTime = datebegin; | |||||
param.EndTime = dateend; | |||||
param.ClassRoomNo = ClassRoomNo; | |||||
param.EmpNo = $('#EmpNo').lrselectGet() | |||||
param.ClassNo = $('#ClassNo').lrselectGet() | |||||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||||
} | |||||
}; | |||||
refreshGirdData = function () { | |||||
$('#gridtable').jfGridSet('reload'); | |||||
}; | |||||
page.init(); | |||||
} |
@@ -0,0 +1,65 @@ | |||||
@{ | |||||
ViewBag.Title = "排考2021新"; | |||||
Layout = "~/Views/Shared/_Index.cshtml"; | |||||
} | |||||
<link href="~/Content/css/print.css" rel="stylesheet" /> | |||||
<div class="pages" id="printPage"> | |||||
@* .page 一个纸张页*@ | |||||
<div class="page page1"> | |||||
<div class="pageContent"> | |||||
<div style="text-align:right" class="no-print"> | |||||
<div style="display:inline-block;font-size:14px;">单页条数: <input class="form-control" id="rowsInput" style="width:50px;display:inline-block"/> </div> | |||||
<div style="position:relative;display:inline-block"> | |||||
<a id="lr_columns" class="btn btn-default"> | |||||
列显示 | |||||
</a> | |||||
<ul id="columns" style="display:none"> | |||||
<li style="width:100%;"><input type="checkbox" value="allSelected" name="columns" /> <span>全选</span></li> | |||||
<li><input type="checkbox" value="F_SchoolId" name="columns" /> <span>学校</span></li> | |||||
<li><input type="checkbox" value="AcademicYearNo" name="columns" /> <span>学年</span></li> | |||||
<li style="width:100%;display:flex;justify-content:right;border-bottom:0"><button id="cancelBtn"> 取消 </button> <button id="confirmBtn"> 确定 </button> </li> | |||||
</ul> | |||||
<style> | |||||
#columns { | |||||
width: 320px; | |||||
position: absolute; | |||||
top: 35px; | |||||
right: 0px; | |||||
background: #fff; | |||||
border: 1px solid #ccc; | |||||
padding: 8px; | |||||
z-index: 1000; | |||||
overflow: hidden; | |||||
text-align:left; | |||||
font-size:14px; | |||||
} | |||||
#columns li { | |||||
width: 50%; | |||||
float: left; | |||||
border-bottom:1px solid #ccc; | |||||
padding:4px; | |||||
display:flex; | |||||
align-items:center; | |||||
line-height:24px | |||||
} | |||||
input[type=checkbox]{ | |||||
margin:0; | |||||
cursor:pointer | |||||
} | |||||
</style> | |||||
</div> | |||||
<a id="lr_print" class="btn btn-default"><i class="fa fa-print"></i>打印</a> | |||||
</div> | |||||
<div class="printTitle">教学质量检测考生统计表</div> | |||||
<div class="lr-layout-body" id="gridtablePage1"></div> | |||||
</div> | |||||
</div> | |||||
<style> | |||||
body{ | |||||
zoom:92%; | |||||
} | |||||
</style> | |||||
</div> | |||||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/Exam_ArrangeExamTermNew/TeachingQualityPrint.js") |
@@ -0,0 +1,364 @@ | |||||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||||
* 创建人:超级管理员 | |||||
* 日 期:2021-12-08 12:19 | |||||
* 描 述:排考2021新 | |||||
*/ | |||||
var selectedRow; | |||||
var refreshGirdData; | |||||
var bootstrap = function ($, learun) { | |||||
"use strict"; | |||||
//传参 | |||||
var params = '{}', query = '{}'; | |||||
//课程 | |||||
var LessonTemp = []; | |||||
//教师 | |||||
var EmpInfo = []; | |||||
//第几页 | |||||
var pageNum = 1; | |||||
var rows = 26 | |||||
var headData = [ | |||||
{ | |||||
label: '学校', name: 'F_SchoolId', width: 190, align: "center", | |||||
formatterAsync: function (callback, value, row, op, $cell) { | |||||
learun.clientdata.getAsync('custmerData', { | |||||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'company', | |||||
key: value, | |||||
keyId: 'f_companyid', | |||||
callback: function (_data) { | |||||
callback(_data['f_fullname']); | |||||
} | |||||
}); | |||||
} | |||||
}, | |||||
{ label: '学年', name: 'AcademicYearNo', width: 60, align: "center", ishide: true }, | |||||
{ label: '学期', name: 'Semester', width: 50, align: "center", ishide: true }, | |||||
{ label: '姓名', name: 'StuName', width: 100, align: "center" }, | |||||
{ label: '学生编号', name: 'StuNo', width: 130, align: "center", ishide: true }, | |||||
{ label: '学籍号', name: 'StuCode', width: 150, align: "center" }, | |||||
{ | |||||
label: "系所", name: "DeptNo", width: 100, align: "center", ishide: true, | |||||
formatterAsync: function (callback, value, row, op, $cell) { | |||||
learun.clientdata.getAsync('custmerData', { | |||||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdDeptInfo', | |||||
key: value, | |||||
keyId: 'deptno', | |||||
callback: function (_data) { | |||||
callback(_data['deptname']); | |||||
} | |||||
}); | |||||
} | |||||
}, | |||||
{ | |||||
label: "专业", name: "MajorNo", width: 100, align: "center", | |||||
formatterAsync: function (callback, value, row, op, $cell) { | |||||
learun.clientdata.getAsync('custmerData', { | |||||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo', | |||||
key: value, | |||||
keyId: 'majorno', | |||||
callback: function (_data) { | |||||
callback(_data['majorname']); | |||||
} | |||||
}); | |||||
} | |||||
}, | |||||
{ | |||||
label: "班级", name: "ClassNo", width: 100, align: "center", | |||||
formatterAsync: function (callback, value, row, op, $cell) { | |||||
learun.clientdata.getAsync('custmerData', { | |||||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'bjsj', | |||||
key: value, | |||||
keyId: 'classno', | |||||
callback: function (_data) { | |||||
callback(_data['classname']); | |||||
} | |||||
}); | |||||
} | |||||
}, | |||||
{ | |||||
label: '考试日期', name: 'ExamDate', width: 90, align: "center", ishide: true, | |||||
formatter: function (v) { | |||||
return learun.formatDate(v, "yyyy-MM-dd"); | |||||
} | |||||
}, | |||||
{ label: '考试时间', name: 'ExamTime', width: 90, align: "center" }, | |||||
{ label: '课程编号', name: 'LessonNo', width: 100, align: "center", ishide: true }, | |||||
{ label: '课程名称', name: 'LessonName', width: 200, align: "center", ishide: true }, | |||||
{ label: '监考教师编号', name: 'EmpNo', width: 130, align: "center", ishide: true }, | |||||
{ label: '监考教师姓名', name: 'EmpName', width: 130, align: "center"}, | |||||
{ label: '教室编号', name: 'ClassroomNo', width: 100, align: "center", ishide: true }, | |||||
{ label: '教室名称', name: 'ClassroomName', width: 100, align: "center", ishide: true }, | |||||
{ label: '班级名称', name: 'ClassName', width: 100, align: "center", ishide: true }, | |||||
{ label: '座位编号', name: 'SitNumber', width: 80, aligndd: "center", ishide: true }, | |||||
{ label: '任课教师', name: 'rkjs', width: 130, align: "center", children: LessonTemp }, | |||||
{ label: '考号', name: 'kh', width: 140, align: "center", ishide: false }, | |||||
]; | |||||
var page = { | |||||
init: async function () { | |||||
if (request('rows')) { | |||||
rows = request('rows') | |||||
} | |||||
//获取教师 | |||||
await new Promise((resolve) => { | |||||
learun.clientdata.getAllAsync('sourceData', { | |||||
code: 'EmpInfo', | |||||
callback: function (dataes) { | |||||
EmpInfo = dataes.map(e => { return { value: e.empno, text: e.empname } }) | |||||
resolve() | |||||
} | |||||
}); | |||||
}) | |||||
params = request('params') || '{}' | |||||
query = request('query') || '{}' | |||||
////获取班级text | |||||
//learun.clientdata.getAsync('custmerData', { | |||||
// url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'bjsj', | |||||
// key: JSON.parse(query).ClassNo, | |||||
// keyId: request('ClassNo'), | |||||
// callback: function (_data) { | |||||
// $('.printTitle').text(_data.classname+'教学质量检测考生统计表') | |||||
// } | |||||
//}); | |||||
//获取课程 | |||||
$.lrSetFormWithParam(top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetLessonList', JSON.parse(params), | |||||
function (data) { | |||||
var temparr = []; | |||||
for (var i = 0; i < data.length; i++) { | |||||
let obj = EmpInfo.find(e => e.value == data[i].text ) | |||||
var item = {}; | |||||
item.label = data[i].value; | |||||
item.name = data[i].text; | |||||
item.width = 130; | |||||
item.formatterAsync = function (callback, value, row, op, $cell) { | |||||
callback(obj ? obj.text : '') | |||||
} | |||||
item.align = "center"; | |||||
temparr.push(item); | |||||
} | |||||
LessonTemp = temparr; | |||||
for (let i = 0; i < headData.length; i++) { | |||||
if (headData[i].name == 'rkjs') { | |||||
headData[i].children = LessonTemp | |||||
break; | |||||
} | |||||
} | |||||
page.initGird(); | |||||
page.search() | |||||
}); | |||||
//page.initGird(); | |||||
page.bind(); | |||||
}, | |||||
bind: function () { | |||||
//打印 | |||||
$('#lr_print').on('click', function () { | |||||
$('#printPage').jqprint() | |||||
}); | |||||
$('#rowsInput').val(rows) | |||||
$('#rowsInput').blur(e => { | |||||
if (/^\+?[1-9]\d*$/.test($('#rowsInput').val())) { | |||||
rows = $('#rowsInput').val() | |||||
let obj = getQueryString() | |||||
obj.rows = rows | |||||
let url = location.href.split('?')[0] | |||||
location.href = url + '?' + $.param(obj) | |||||
return | |||||
} | |||||
function getQueryString() { | |||||
var qs = location.search.substr(1), // 获取url中"?"符后的字串 | |||||
args = {}, // 保存参数数据的对象 | |||||
items = qs.length ? qs.split("&") : [], // 取得每一个参数项 | |||||
item = null, | |||||
len = items.length; | |||||
for (var i = 0; i < len; i++) { | |||||
item = items[i].split("="); | |||||
var name = decodeURIComponent(item[0]), | |||||
value = decodeURIComponent(item[1]); | |||||
if (name) { | |||||
args[name] = value; | |||||
} | |||||
} | |||||
return args; | |||||
} | |||||
$('#rowsInput').val(rows) | |||||
}) | |||||
function deepClone(obj) { | |||||
var copy; | |||||
// Handle number, boolean, string, null and undefined | |||||
if (null == obj || "object" != typeof obj) return obj; | |||||
// Handle Date | |||||
if (obj instanceof Date) { | |||||
copy = new Date(); | |||||
copy.setTime(obj.getTime()); | |||||
return copy; | |||||
} | |||||
// Handle Array | |||||
if (obj instanceof Array) { | |||||
copy = []; | |||||
for (var i = 0, len = obj.length; i < len; i++) { | |||||
copy[i] = deepClone(obj[i]); | |||||
} | |||||
return copy; | |||||
} | |||||
// Handle Object | |||||
if (obj instanceof Object) { | |||||
copy = {}; | |||||
for (var attr in obj) { | |||||
if (obj.hasOwnProperty(attr)) copy[attr] = deepClone(obj[attr]); | |||||
} | |||||
return copy; | |||||
} | |||||
throw new Error("Unable to copy obj! Its type isn't supported."); | |||||
} | |||||
//列选择 | |||||
$('#lr_columns').on('click', function () { | |||||
if($('#columns').css('display') == 'block')return | |||||
let currentHeadData = deepClone(headData) | |||||
$('#columns').empty() | |||||
$('#columns').show() | |||||
//全选 | |||||
$('#columns').append(`<li style="width:100%;"><input type="checkbox" value="allSelected" name="columns" /> <span>全选</span></li>`) | |||||
$('#columns input[value=allSelected]').click(e => { | |||||
$.each($('#columns input[type=checkbox]'), function (index, value) { | |||||
if ($('#columns input[value=allSelected]')[0].checked) { | |||||
if (!$(value).is(":checked")) { | |||||
$(value).prop('checked', true) | |||||
} | |||||
} else { | |||||
if ($(value).is(":checked")) { | |||||
$(value).prop('checked', false) | |||||
} | |||||
} | |||||
}); | |||||
}) | |||||
//字段列表 | |||||
currentHeadData.forEach(e => { | |||||
$('#columns').append(`<li><input type="checkbox" value="${e.name}" name="columns" ${ e.ishide?'':'checked'} /> <span>${e.label}</span></li>`) | |||||
}) | |||||
$('#columns input[type=checkbox]').change(e => { | |||||
for (let i = 0; i < currentHeadData.length; i++){ | |||||
if (currentHeadData[i].name == $(e.currentTarget).attr('value')) { | |||||
currentHeadData[i].ishide = currentHeadData[i].ishide ? false : true | |||||
} | |||||
} | |||||
//判断全选 | |||||
let isAllSelected = true | |||||
for (let i = 0; i < $('#columns input[type=checkbox]').length; i++) { | |||||
if (i == 0) continue | |||||
if (!$('#columns input[type=checkbox]')[i].checked) { | |||||
isAllSelected = false | |||||
break | |||||
} | |||||
} | |||||
$('#columns input[value=allSelected]').prop('checked', isAllSelected) | |||||
}) | |||||
//判断全选 | |||||
let isAllSelected = true | |||||
for (let i = 0; i < $('#columns input[type=checkbox]').length; i++) { | |||||
if (i == 0) continue | |||||
if (!$('#columns input[type=checkbox]')[i].checked) { | |||||
isAllSelected = false | |||||
break | |||||
} | |||||
} | |||||
$('#columns input[value=allSelected]').prop('checked', isAllSelected) | |||||
//确定取消 | |||||
$('#columns').append(`<li style="width:100%;display:flex;justify-content:right;border-bottom:0"><button id="cancelBtn"> 取消 </button> <button id="confirmBtn"> 确定 </button> </li>`) | |||||
$('#cancelBtn').click(e => { | |||||
$('#columns').css('display','none') | |||||
}) | |||||
$('#confirmBtn').click(e => { | |||||
headData = null | |||||
headData = deepClone(currentHeadData) | |||||
$('#columns').css('display', 'none') | |||||
for (let t = 1; t < pageNum; t++) { | |||||
$("#gridtablePage" + t)[0].dfop = undefined | |||||
} | |||||
pageNum = 1 | |||||
page.setHeadData() | |||||
}) | |||||
//点击其他地方关闭 | |||||
$(document).bind("click", function (e) { | |||||
if ($(e.target).closest("#columns").length == 0 && $(e.target).closest("#lr_columns").length == 0) { | |||||
$("#columns").hide() | |||||
} | |||||
}) | |||||
}); | |||||
}, | |||||
setHeadData: function () { | |||||
let id = '#gridtablePage' + pageNum | |||||
$(id).lrAuthorizeJfGridLei({ | |||||
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetTeachingQualityPageList', | |||||
headData, | |||||
mainId: 'AETId', | |||||
sidx: ' AcademicYearNo desc,Semester desc,ExamDate desc, LessonNo desc,ClassRoomNo desc,ClassRoomNo desc,SitNumber asc ', | |||||
isPage: true, | |||||
rows, | |||||
onRenderComplete: function (list) { | |||||
if (list.length == rows) { | |||||
pageNum += 1 | |||||
//$('#printPage').append( | |||||
// `<div class="page page` + pageNum + `"> | |||||
// <div class="pageContent"> | |||||
// <div class="printTitle">教学质量检测考生统计表</div> | |||||
// <div class="lr-layout-body" id="gridtablePage` + pageNum + `"></div> | |||||
// </div> | |||||
// </div>` | |||||
//) | |||||
page.setHeadData() | |||||
} else { | |||||
if (!list.length) { | |||||
$('.page' + pageNum).remove() | |||||
} | |||||
} | |||||
} | |||||
}); | |||||
page.search(); | |||||
}, | |||||
initGird: function () { | |||||
let id = '#gridtablePage' + pageNum | |||||
$(id).jfGrid({ | |||||
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetTeachingQualityPageList', | |||||
headData, | |||||
mainId: 'AETId', | |||||
sidx: ' AcademicYearNo desc,Semester desc,ExamDate desc, LessonNo desc,ClassRoomNo desc,ClassRoomNo desc,SitNumber asc ', | |||||
isPage: true, | |||||
rows, | |||||
onRenderComplete: function (list) { | |||||
if (list.length == rows) { | |||||
pageNum += 1 | |||||
$('#printPage').append( | |||||
`<div class="page page` + pageNum +`"> | |||||
<div class="pageContent"> | |||||
<div class="printTitle">教学质量检测考生统计表</div> | |||||
<div class="lr-layout-body" id="gridtablePage` + pageNum + `"></div> | |||||
</div> | |||||
</div>` | |||||
) | |||||
page.initGird() | |||||
} else { | |||||
if (!list.length) { | |||||
$('.page' + pageNum).remove() | |||||
} | |||||
} | |||||
} | |||||
}); | |||||
page.search(); | |||||
}, | |||||
search: function () { | |||||
$('#gridtablePage' + pageNum).jfGridSet('reload', { queryJson: query }, { page: pageNum }); | |||||
} | |||||
}; | |||||
page.init(); | |||||
} |
@@ -23,7 +23,7 @@ | |||||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\..\</SolutionDir> | <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\..\</SolutionDir> | ||||
<RestorePackages>true</RestorePackages> | <RestorePackages>true</RestorePackages> | ||||
<UseGlobalApplicationHostFile /> | <UseGlobalApplicationHostFile /> | ||||
<Use64BitIISExpress /> | |||||
<Use64BitIISExpress>false</Use64BitIISExpress> | |||||
<SccProjectName> | <SccProjectName> | ||||
</SccProjectName> | </SccProjectName> | ||||
<SccLocalPath> | <SccLocalPath> | ||||
@@ -109,9 +109,6 @@ | |||||
<Reference Include="Microsoft.Practices.Unity.RegistrationByConvention"> | <Reference Include="Microsoft.Practices.Unity.RegistrationByConvention"> | ||||
<HintPath>..\packages\Unity.4.0.1\lib\net45\Microsoft.Practices.Unity.RegistrationByConvention.dll</HintPath> | <HintPath>..\packages\Unity.4.0.1\lib\net45\Microsoft.Practices.Unity.RegistrationByConvention.dll</HintPath> | ||||
</Reference> | </Reference> | ||||
<Reference Include="Microsoft.QualityTools.Testing.Fakes, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> | |||||
<SpecificVersion>False</SpecificVersion> | |||||
</Reference> | |||||
<Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> | <Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> | ||||
<HintPath>..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath> | <HintPath>..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath> | ||||
<Private>True</Private> | <Private>True</Private> | ||||
@@ -1015,6 +1012,9 @@ | |||||
<Content Include="Areas\AssetManagementSystem\Views\Ass_Warning\Index.js" /> | <Content Include="Areas\AssetManagementSystem\Views\Ass_Warning\Index.js" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\ArrangeLessonTermAttemperChild\Form.js" /> | <Content Include="Areas\EducationalAdministration\Views\ArrangeLessonTermAttemperChild\Form.js" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\ArrangeLessonTermAttemperChild\Index.js" /> | <Content Include="Areas\EducationalAdministration\Views\ArrangeLessonTermAttemperChild\Index.js" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\Exam_ArrangeExamTermNew\IndexClassRoom.js" /> | |||||
<Content Include="Areas\EducationalAdministration\Views\Exam_ArrangeExamTermNew\TeachingQualityIndex.js" /> | |||||
<Content Include="Areas\EducationalAdministration\Views\Exam_ArrangeExamTermNew\TeachingQualityPrint.js" /> | |||||
<Content Include="Areas\EducationalAdministration\Views\StuGraduateCondition\Form.js" /> | <Content Include="Areas\EducationalAdministration\Views\StuGraduateCondition\Form.js" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\StuGraduateCondition\Index.js" /> | <Content Include="Areas\EducationalAdministration\Views\StuGraduateCondition\Index.js" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\StuInfoBasic\GraduateCardDeregistrate.js" /> | <Content Include="Areas\EducationalAdministration\Views\StuInfoBasic\GraduateCardDeregistrate.js" /> | ||||
@@ -7999,6 +7999,10 @@ | |||||
<Content Include="Areas\EducationalAdministration\Views\ArrangeLessonTermAttemperChild\Index.cshtml" /> | <Content Include="Areas\EducationalAdministration\Views\ArrangeLessonTermAttemperChild\Index.cshtml" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\StuScore\AllStuScoreQueryIndex.cshtml" /> | <Content Include="Areas\EducationalAdministration\Views\StuScore\AllStuScoreQueryIndex.cshtml" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\StuScore\AllStuScoreQueryPrint.cshtml" /> | <Content Include="Areas\EducationalAdministration\Views\StuScore\AllStuScoreQueryPrint.cshtml" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\Exam_ArrangeExamTermNew\SeatForm.cshtml" /> | |||||
<Content Include="Areas\EducationalAdministration\Views\Exam_ArrangeExamTermNew\TeachingQualityIndex.cshtml" /> | |||||
<Content Include="Areas\EducationalAdministration\Views\Exam_ArrangeExamTermNew\TeachingQualityPrint.cshtml" /> | |||||
<Content Include="Areas\EducationalAdministration\Views\Exam_ArrangeExamTermNew\IndexClassRoom.cshtml" /> | |||||
<None Include="Properties\PublishProfiles\CustomProfile.pubxml" /> | <None Include="Properties\PublishProfiles\CustomProfile.pubxml" /> | ||||
<None Include="Properties\PublishProfiles\FolderProfile.pubxml" /> | <None Include="Properties\PublishProfiles\FolderProfile.pubxml" /> | ||||
<Content Include="Views\Login\Default-beifen.cshtml" /> | <Content Include="Views\Login\Default-beifen.cshtml" /> | ||||
@@ -74,7 +74,7 @@ | |||||
<!--Redis 缓存前缀 --> | <!--Redis 缓存前缀 --> | ||||
<!--<add key="RedisPrev" value="adms706" />--> | <!--<add key="RedisPrev" value="adms706" />--> | ||||
<!--缓存链接配置--> | <!--缓存链接配置--> | ||||
<add key="RedisExchangeHosts" value="127.0.0.1:6379,allowadmin=true"/> | |||||
<add key="RedisExchangeHosts" value="127.0.0.1:6378,allowadmin=true"/> | |||||
<!--head 头像存储地址 --> | <!--head 头像存储地址 --> | ||||
<add key="fileHeadImg" value="E:\西昌程序单校区版2019_09_16\Learun.Framework.Ultimate V7\Learun.Application.Web\bin\Release\Publish\Content\images\head" /> | <add key="fileHeadImg" value="E:\西昌程序单校区版2019_09_16\Learun.Framework.Ultimate V7\Learun.Application.Web\bin\Release\Publish\Content\images\head" /> | ||||
@@ -53,6 +53,44 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
} | } | ||||
} | } | ||||
/// <summary> | |||||
/// 考场 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
public List<TreeModel> GetClassRoomTree(string AcademicYearNo, string Semester) | |||||
{ | |||||
try | |||||
{ | |||||
var list = exam_ArrangeExamTermNewService.GetClassRoomTree(AcademicYearNo, Semester); | |||||
List<TreeModel> treeList = new List<TreeModel>(); | |||||
foreach (var item in list) | |||||
{ | |||||
TreeModel node = new TreeModel | |||||
{ | |||||
id = item.ClassroomNo, | |||||
text = item.ClassroomName, | |||||
value = item.ClassroomNo, | |||||
showcheck = false, | |||||
checkstate = 0, | |||||
isexpand = true, | |||||
parentId = "0" | |||||
}; | |||||
treeList.Add(node); | |||||
} | |||||
return treeList.ToTree(); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowBusinessException(ex); | |||||
} | |||||
} | |||||
} | |||||
public IEnumerable<Exam_ArrangeExamTermItemNewEntity> GetPageListForClass(Pagination pagination, string queryJson) | public IEnumerable<Exam_ArrangeExamTermItemNewEntity> GetPageListForClass(Pagination pagination, string queryJson) | ||||
{ | { | ||||
try | try | ||||
@@ -72,6 +110,24 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
} | } | ||||
} | } | ||||
public IEnumerable<Exam_ArrangeExamTermItemNewEntity> ScreeningPlan(Pagination pagination, string queryJson) | |||||
{ | |||||
try | |||||
{ | |||||
return exam_ArrangeExamTermNewService.ScreeningPlan(pagination, queryJson); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowBusinessException(ex); | |||||
} | |||||
} | |||||
} | |||||
public IEnumerable<Exam_ArrangeExamTermItemNewEntity> GetItemPageList(Pagination pagination, string queryJson) | public IEnumerable<Exam_ArrangeExamTermItemNewEntity> GetItemPageList(Pagination pagination, string queryJson) | ||||
{ | { | ||||
@@ -91,6 +147,62 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
} | } | ||||
} | } | ||||
} | } | ||||
public IEnumerable<Exam_ArrangeExamTermItemNewEntity> GetTeachingQualityPageList(Pagination pagination, string queryJson) | |||||
{ | |||||
try | |||||
{ | |||||
return exam_ArrangeExamTermNewService.GetTeachingQualityPageList(pagination, queryJson); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowBusinessException(ex); | |||||
} | |||||
} | |||||
} | |||||
public IEnumerable<WebHelper.YearGrade> GetLessonList(string academicYearNo, string semester, string classNo) | |||||
{ | |||||
try | |||||
{ | |||||
return exam_ArrangeExamTermNewService.GetLessonList(academicYearNo, semester, classNo); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowBusinessException(ex); | |||||
} | |||||
} | |||||
} | |||||
public IEnumerable<Exam_ArrangeExamTermItemNewEntity> GetStuList(string AcademicYearNo, int? Semester, string ClassRoomNo, string LessonNo, string EmpNo, string ExamDate, string ExamTime) | |||||
{ | |||||
try | |||||
{ | |||||
return exam_ArrangeExamTermNewService.GetStuList(AcademicYearNo, Semester, ClassRoomNo, LessonNo, EmpNo, ExamDate, ExamTime); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowBusinessException(ex); | |||||
} | |||||
} | |||||
} | |||||
/// <summary> | /// <summary> | ||||
/// 获取页面显示列表数据 | /// 获取页面显示列表数据 | ||||
/// </summary> | /// </summary> | ||||
@@ -1,6 +1,7 @@ | |||||
using Learun.Util; | using Learun.Util; | ||||
using System.Data; | using System.Data; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System; | |||||
namespace Learun.Application.TwoDevelopment.EducationalAdministration | namespace Learun.Application.TwoDevelopment.EducationalAdministration | ||||
{ | { | ||||
@@ -16,8 +17,28 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
#region 获取数据 | #region 获取数据 | ||||
List<TreeModel> GetClassTree(); | List<TreeModel> GetClassTree(); | ||||
List<TreeModel> GetClassRoomTree(string AcademicYearNo, string Semester); | |||||
IEnumerable<Exam_ArrangeExamTermItemNewEntity> GetPageListForClass(Pagination pagination, string queryJson); | IEnumerable<Exam_ArrangeExamTermItemNewEntity> GetPageListForClass(Pagination pagination, string queryJson); | ||||
/// <summary> | |||||
/// 场次安排表 | |||||
/// </summary> | |||||
/// <param name="pagination"></param> | |||||
/// <param name="queryJson"></param> | |||||
/// <returns></returns> | |||||
IEnumerable<Exam_ArrangeExamTermItemNewEntity> ScreeningPlan(Pagination pagination, string queryJson); | |||||
IEnumerable<Exam_ArrangeExamTermItemNewEntity> GetItemPageList(Pagination pagination, string queryJson); | IEnumerable<Exam_ArrangeExamTermItemNewEntity> GetItemPageList(Pagination pagination, string queryJson); | ||||
IEnumerable<Exam_ArrangeExamTermItemNewEntity> GetTeachingQualityPageList(Pagination pagination, string queryJson); | |||||
/// <summary> | |||||
/// 教学质量监测 | |||||
/// </summary> | |||||
/// <param name="academicYearNo"></param> | |||||
/// <param name="semester"></param> | |||||
/// <param name="classNo"></param> | |||||
/// <returns></returns> | |||||
IEnumerable<WebHelper.YearGrade> GetLessonList(string academicYearNo, string semester, string classNo); | |||||
IEnumerable<Exam_ArrangeExamTermItemNewEntity> GetStuList(string AcademicYearNo, int? Semester, string ClassRoomNo, string LessonNo, string EmpNo, string ExamDate | |||||
, string ExamTime); | |||||
/// <summary> | /// <summary> | ||||
/// 获取页面显示列表数据 | /// 获取页面显示列表数据 | ||||
/// </summary> | /// </summary> | ||||
@@ -23,7 +23,44 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
{ | { | ||||
try | try | ||||
{ | { | ||||
return this.BaseRepository("CollegeMIS").FindList<ClassInfoEntity>("select ClassNo,ClassName from Exam_ArrangeExamTermItemNew where ClassNo is not null group by ClassNo,ClassName order by ClassNo"); | |||||
return this.BaseRepository("CollegeMIS").FindList<ClassInfoEntity>(@"select ClassNo,ClassName from Exam_ArrangeExamTermItemNew where ClassNo is not null and ClassName is not null group by ClassNo,ClassName order by ClassNo | |||||
group by ClassNo,ClassName order by ClassNo"); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowServiceException(ex); | |||||
} | |||||
} | |||||
} | |||||
/// <summary> | |||||
/// 考场数据去重 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
public IEnumerable<Exam_ExamRoomEntity> GetClassRoomTree(string AcademicYearNo, string Semester) | |||||
{ | |||||
try | |||||
{ | |||||
var sql = @" select e.ClassroomNo,e.ClassroomName from Exam_ArrangeExamTermItemNew e join ( | |||||
select ClassroomNo, ClassroomName from Exam_ExamRoom where 1 = 1 "; | |||||
if (!AcademicYearNo.IsEmpty()) | |||||
{ | |||||
sql += $" and AcademicYearNo ='{AcademicYearNo}' "; | |||||
} | |||||
if (!Semester.IsEmpty()) | |||||
{ | |||||
sql += $" and Semester ={Semester} "; | |||||
} | |||||
sql += @" ) a on e.ClassroomName=a.ClassroomName and e.ClassroomNo =a.ClassroomNo | |||||
group by e.ClassroomNo,e.ClassroomName"; | |||||
return this.BaseRepository("CollegeMIS").FindList<Exam_ExamRoomEntity>(sql); | |||||
} | } | ||||
catch (Exception ex) | catch (Exception ex) | ||||
{ | { | ||||
@@ -107,6 +144,61 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
} | } | ||||
} | } | ||||
/// <summary> | |||||
/// 场次安排 | |||||
/// </summary> | |||||
/// <param name="pagination"></param> | |||||
/// <param name="queryJson"></param> | |||||
/// <returns></returns> | |||||
public IEnumerable<Exam_ArrangeExamTermItemNewEntity> ScreeningPlan(Pagination pagination, string queryJson) | |||||
{ | |||||
try | |||||
{ | |||||
var strSql = new StringBuilder(); | |||||
strSql.Append(@"select t.lessonName,t.lessonno,t.Examdate,t.examtime,t.EmpName,t.EmpNo,t.ClassroomNo,t.ClassroomName,l.TeachMajorNo,e.AcademicYearNo ,e.Semester,count(*) as ClassRoomNum | |||||
from Exam_ArrangeExamTermItemNew t join Exam_ExamPlan e on t.EPId=e.EPId | |||||
left join LessonInfo l on l.LessonNo = t.LessonNo where 1=1 and t.ClassNo is not null "); | |||||
var queryParam = queryJson.ToJObject(); | |||||
if (!queryParam["AcademicYearNo"].IsEmpty()) | |||||
{ | |||||
strSql.Append(" and e.AcademicYearNo='" + queryParam["AcademicYearNo"].ToString() + "' "); | |||||
} | |||||
if (!queryParam["Semester"].IsEmpty()) | |||||
{ | |||||
strSql.Append(" and e.Semester='" + queryParam["Semester"].ToString() + "' "); | |||||
} | |||||
if (!queryParam["LessonNo"].IsEmpty()) | |||||
{ | |||||
strSql.Append(" and t.LessonNo like '%" + queryParam["LessonNo"].ToString() + "%' "); | |||||
} | |||||
if (!queryParam["EmpNo"].IsEmpty()) | |||||
{ | |||||
strSql.Append(" and t.EmpNo like '%" + queryParam["EmpNo"].ToString() + "%' "); | |||||
} | |||||
if (!queryParam["ClassRoomNo"].IsEmpty()) | |||||
{ | |||||
strSql.Append(" and t.ClassRoomNo='" + queryParam["ClassRoomNo"].ToString() + "' "); | |||||
} | |||||
if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty()) | |||||
{ | |||||
strSql.Append(" AND ( t.ExamDate >= '" + queryParam["StartTime"].ToString() + "' AND t.ExamDate <= '" + queryParam["EndTime"].ToString() + "' ) "); | |||||
} | |||||
strSql.Append(@"group by t.lessonName,t.lessonno,t.Examdate,t.examtime,t.EmpName,t.EmpNo,t.ClassroomNo,t.ClassroomName ,l.TeachMajorNo,e.AcademicYearNo ,e.Semester "); | |||||
return this.BaseRepository("CollegeMIS").FindList<Exam_ArrangeExamTermItemNewEntity>(strSql.ToString(), pagination); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowServiceException(ex); | |||||
} | |||||
} | |||||
} | |||||
/// <summary> | /// <summary> | ||||
/// 获取排考详情 | /// 获取排考详情 | ||||
/// </summary> | /// </summary> | ||||
@@ -118,7 +210,8 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
try | try | ||||
{ | { | ||||
var strSql = new StringBuilder(); | var strSql = new StringBuilder(); | ||||
strSql.Append(@"select t.*,e.AcademicYearNo,e.Semester from Exam_ArrangeExamTermItemNew t join Exam_ExamPlan e on t.EPId=e.EPId where 1=1 and t.ClassNo is not null "); | |||||
strSql.Append(@"select t.*,e.AcademicYearNo,e.Semester,s.StuCode from Exam_ArrangeExamTermItemNew t join Exam_ExamPlan e on t.EPId=e.EPId "); | |||||
strSql.Append(@" left join stuinfobasic s on s.StuNo=t.StuNo where 1=1 and t.ClassNo is not null "); | |||||
var queryParam = queryJson.ToJObject(); | var queryParam = queryJson.ToJObject(); | ||||
if (!queryParam["AcademicYearNo"].IsEmpty()) | if (!queryParam["AcademicYearNo"].IsEmpty()) | ||||
{ | { | ||||
@@ -132,10 +225,18 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
{ | { | ||||
strSql.Append(" and t.LessonNo like '%" + queryParam["LessonNo"].ToString() + "%' "); | strSql.Append(" and t.LessonNo like '%" + queryParam["LessonNo"].ToString() + "%' "); | ||||
} | } | ||||
if (!queryParam["LessonName"].IsEmpty()) | |||||
{ | |||||
strSql.Append(" and t.LessonName like '%" + queryParam["LessonName"].ToString() + "%' "); | |||||
} | |||||
if (!queryParam["ClassNo"].IsEmpty()) | if (!queryParam["ClassNo"].IsEmpty()) | ||||
{ | { | ||||
strSql.Append(" and t.ClassNo='" + queryParam["ClassNo"].ToString() + "' "); | strSql.Append(" and t.ClassNo='" + queryParam["ClassNo"].ToString() + "' "); | ||||
} | } | ||||
if (!queryParam["ClassName"].IsEmpty()) | |||||
{ | |||||
strSql.Append(" and t.ClassName like'%" + queryParam["ClassName"].ToString() + "%' "); | |||||
} | |||||
if (!queryParam["StuNo"].IsEmpty()) | if (!queryParam["StuNo"].IsEmpty()) | ||||
{ | { | ||||
strSql.Append(" and t.StuNo='" + queryParam["StuNo"].ToString() + "' "); | strSql.Append(" and t.StuNo='" + queryParam["StuNo"].ToString() + "' "); | ||||
@@ -144,10 +245,18 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
{ | { | ||||
strSql.Append(" and t.EmpNo like '%" + queryParam["EmpNo"].ToString() + "%' "); | strSql.Append(" and t.EmpNo like '%" + queryParam["EmpNo"].ToString() + "%' "); | ||||
} | } | ||||
if (!queryParam["EmpName"].IsEmpty()) | |||||
{ | |||||
strSql.Append(" and t.EmpName like '%" + queryParam["EmpName"].ToString() + "%' "); | |||||
} | |||||
if (!queryParam["ClassRoomNo"].IsEmpty()) | if (!queryParam["ClassRoomNo"].IsEmpty()) | ||||
{ | { | ||||
strSql.Append(" and t.ClassRoomNo='" + queryParam["ClassRoomNo"].ToString() + "' "); | strSql.Append(" and t.ClassRoomNo='" + queryParam["ClassRoomNo"].ToString() + "' "); | ||||
} | } | ||||
if (!queryParam["ClassRoomName"].IsEmpty()) | |||||
{ | |||||
strSql.Append(" and t.ClassRoomName like '%" + queryParam["ClassRoomName"].ToString() + "%' "); | |||||
} | |||||
if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty()) | if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty()) | ||||
{ | { | ||||
strSql.Append(" AND ( ExamDate >= '" + queryParam["StartTime"].ToString() + "' AND ExamDate <= '" + queryParam["EndTime"].ToString() + "' ) "); | strSql.Append(" AND ( ExamDate >= '" + queryParam["StartTime"].ToString() + "' AND ExamDate <= '" + queryParam["EndTime"].ToString() + "' ) "); | ||||
@@ -168,6 +277,110 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
} | } | ||||
} | } | ||||
/// <summary> | |||||
/// 获取排考详情 | |||||
/// </summary> | |||||
/// <param name="pagination"></param> | |||||
/// <param name="queryJson"></param> | |||||
/// <returns></returns> | |||||
public IEnumerable<Exam_ArrangeExamTermItemNewEntity> GetTeachingQualityPageList(Pagination pagination, string queryJson) | |||||
{ | |||||
try | |||||
{ | |||||
var strSql = new StringBuilder(); | |||||
strSql.Append(@"select t.*,e.AcademicYearNo,e.Semester,s.StuCode,s.DeptNo,s.MajorNo,s.StuId from Exam_ArrangeExamTermItemNew t join Exam_ExamPlan e on t.EPId=e.EPId "); | |||||
strSql.Append(@" left join stuinfobasic s on s.StuNo=t.StuNo where 1=1 and t.ClassNo is not null "); | |||||
var queryParam = queryJson.ToJObject(); | |||||
if (!queryParam["AcademicYearNo"].IsEmpty()) | |||||
{ | |||||
strSql.Append(" and e.AcademicYearNo='" + queryParam["AcademicYearNo"].ToString() + "' "); | |||||
} | |||||
if (!queryParam["Semester"].IsEmpty()) | |||||
{ | |||||
strSql.Append(" and e.Semester='" + queryParam["Semester"].ToString() + "' "); | |||||
} | |||||
if (!queryParam["LessonNo"].IsEmpty()) | |||||
{ | |||||
strSql.Append(" and t.LessonNo like '%" + queryParam["LessonNo"].ToString() + "%' "); | |||||
} | |||||
if (!queryParam["LessonName"].IsEmpty()) | |||||
{ | |||||
strSql.Append(" and t.LessonName like '%" + queryParam["LessonName"].ToString() + "%' "); | |||||
} | |||||
if (!queryParam["ClassNo"].IsEmpty()) | |||||
{ | |||||
strSql.Append(" and t.ClassNo='" + queryParam["ClassNo"].ToString() + "' "); | |||||
} | |||||
if (!queryParam["ClassName"].IsEmpty()) | |||||
{ | |||||
strSql.Append(" and t.ClassName like'%" + queryParam["ClassName"].ToString() + "%' "); | |||||
} | |||||
if (!queryParam["StuNo"].IsEmpty()) | |||||
{ | |||||
strSql.Append(" and t.StuNo='" + queryParam["StuNo"].ToString() + "' "); | |||||
} | |||||
if (!queryParam["EmpNo"].IsEmpty()) | |||||
{ | |||||
strSql.Append(" and t.EmpNo like '%" + queryParam["EmpNo"].ToString() + "%' "); | |||||
} | |||||
if (!queryParam["EmpName"].IsEmpty()) | |||||
{ | |||||
strSql.Append(" and t.EmpName like '%" + queryParam["EmpName"].ToString() + "%' "); | |||||
} | |||||
if (!queryParam["ClassRoomNo"].IsEmpty()) | |||||
{ | |||||
strSql.Append(" and t.ClassRoomNo='" + queryParam["ClassRoomNo"].ToString() + "' "); | |||||
} | |||||
if (!queryParam["ClassRoomName"].IsEmpty()) | |||||
{ | |||||
strSql.Append(" and t.ClassRoomName like '%" + queryParam["ClassRoomName"].ToString() + "%' "); | |||||
} | |||||
if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty()) | |||||
{ | |||||
strSql.Append(" AND ( ExamDate >= '" + queryParam["StartTime"].ToString() + "' AND ExamDate <= '" + queryParam["EndTime"].ToString() + "' ) "); | |||||
} | |||||
return this.BaseRepository("CollegeMIS").FindList<Exam_ArrangeExamTermItemNewEntity>(strSql.ToString(), null, pagination); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowServiceException(ex); | |||||
} | |||||
} | |||||
} | |||||
/// <summary> | |||||
/// 课程信息【班级成绩查看】 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
public IEnumerable<WebHelper.YearGrade> GetLessonList(string academicYearNo, string semester, string classNo) | |||||
{ | |||||
try | |||||
{ | |||||
var strSql = new StringBuilder(); | |||||
strSql.Append("select distinct s.LessonName as value,s.EmpNo as text from stuscore s "); | |||||
strSql.Append(" where s.AcademicYearNo='" + academicYearNo + "' and s.Semester='" + semester + "' and s.ClassNo='" + classNo + "' and s.LessonSortNo='1' "); | |||||
return this.BaseRepository("CollegeMIS").FindList<WebHelper.YearGrade>(strSql.ToString()).Where(x => !string.IsNullOrEmpty(x.value)).OrderBy(x => x.value); | |||||
//data = data.Where(x => !string.IsNullOrEmpty(x.value)).OrderBy(x => x.value); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowServiceException(ex); | |||||
} | |||||
} | |||||
} | |||||
/// <summary> | /// <summary> | ||||
/// 获取页面显示列表数据 | /// 获取页面显示列表数据 | ||||
/// </summary> | /// </summary> | ||||
@@ -180,18 +393,8 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
{ | { | ||||
var strSql = new StringBuilder(); | var strSql = new StringBuilder(); | ||||
strSql.Append("SELECT "); | strSql.Append("SELECT "); | ||||
strSql.Append(@" | |||||
t.EPIId, | |||||
t.LessonNo, | |||||
t.LessonName, | |||||
t.ExamDate, | |||||
t.ExamTime, | |||||
t.EmpNo, | |||||
t.EmpName, | |||||
t.ClassroomNo, | |||||
t.ClassroomName | |||||
"); | |||||
strSql.Append(" FROM Exam_ArrangeExamTermNew t "); | |||||
strSql.Append(@" t.*,e.AcademicYearNo,e.Semester "); | |||||
strSql.Append(" FROM Exam_ArrangeExamTermNew t join Exam_ExamPlan e on t.EPId=e.EPId "); | |||||
strSql.Append(" WHERE 1=1 "); | strSql.Append(" WHERE 1=1 "); | ||||
var queryParam = queryJson.ToJObject(); | var queryParam = queryJson.ToJObject(); | ||||
// 虚拟参数 | // 虚拟参数 | ||||
@@ -231,6 +434,10 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
dp.Add("ClassroomName", "%" + queryParam["ClassroomName"].ToString() + "%", DbType.String); | dp.Add("ClassroomName", "%" + queryParam["ClassroomName"].ToString() + "%", DbType.String); | ||||
strSql.Append(" AND t.ClassroomName Like @ClassroomName "); | strSql.Append(" AND t.ClassroomName Like @ClassroomName "); | ||||
} | } | ||||
if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty()) | |||||
{ | |||||
strSql.Append(" AND ( ExamDate >= '" + queryParam["StartTime"].ToString() + "' AND ExamDate <= '" + queryParam["EndTime"].ToString() + "' ) "); | |||||
} | |||||
return this.BaseRepository("CollegeMIS").FindList<Exam_ArrangeExamTermNewEntity>(strSql.ToString(), dp, pagination); | return this.BaseRepository("CollegeMIS").FindList<Exam_ArrangeExamTermNewEntity>(strSql.ToString(), dp, pagination); | ||||
} | } | ||||
catch (Exception ex) | catch (Exception ex) | ||||
@@ -270,6 +477,34 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
} | } | ||||
} | } | ||||
/// <summary> | |||||
/// 获取排考详情 | |||||
/// </summary> | |||||
/// <param name="pagination"></param> | |||||
/// <param name="queryJson"></param> | |||||
/// <returns></returns> | |||||
public IEnumerable<Exam_ArrangeExamTermItemNewEntity> GetStuList(string AcademicYearNo, int? Semester, string ClassRoomNo, string LessonNo, string EmpNo, string ExamDate, string ExamTime) | |||||
{ | |||||
try | |||||
{ | |||||
var strSql = new StringBuilder(); | |||||
strSql.Append(@"select t.*,e.AcademicYearNo,e.Semester from Exam_ArrangeExamTermItemNew t join Exam_ExamPlan e on t.EPId=e.EPId where 1=1 and t.ClassNo is not null | |||||
and e.AcademicYearNo ='" + AcademicYearNo + "' and e.Semester='" + Semester + "' and EmpNo='" + EmpNo | |||||
+ "' and Classroomno= '" + ClassRoomNo + "' and LessonNo = '" + LessonNo + "' AND ExamDate >= '" + ExamDate + "' AND ExamTime <= '" + ExamTime + "' "); | |||||
return this.BaseRepository("CollegeMIS").FindList<Exam_ArrangeExamTermItemNewEntity>(strSql.ToString()); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowServiceException(ex); | |||||
} | |||||
} | |||||
} | |||||
#endregion | #endregion | ||||
#region 提交数据 | #region 提交数据 | ||||