@@ -139,55 +139,108 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||||
[AjaxOnly] | [AjaxOnly] | ||||
public ActionResult SaveForm(string keyValue, string strEntity) | public ActionResult SaveForm(string keyValue, string strEntity) | ||||
{ | { | ||||
//[{"AttemperId":"3ec8df23-c045-428c-b37c-c370b73f53ef","Day":"5","LessonTime":"53","LessonDate":"2024-03-08","SchooldId":"207fa1a9-160c-4943-a89b-8fa4db0547ce","Academicyear":"23-24","Semester":"2","DeptNo":"01","Deptname":"","MajorNo":"GZ13","LessonNo":"GZ1303001","Curriculum":"爵士舞","TeachClassNo":"G2201010303","ClassName":"22高职男班(舞蹈表演)","Empno":"2224","Teacher":"魏志勇","ClassRoomNo":"3102","ClassRoom":"舞蹈楼102","LessonSortNo":"1"},{"AttemperId":"e4970ebb-1af5-4298-b03c-f8014e1adb06","Day":"5","LessonTime":"53","LessonDate":"2024-03-08","SchooldId":"207fa1a9-160c-4943-a89b-8fa4db0547ce","Academicyear":"23-24","Semester":"2","DeptNo":"01","Deptname":"","MajorNo":"GZ13","LessonNo":"GZ1302005","Curriculum":"中国古典舞身韵","TeachClassNo":"G2201010303","ClassName":"22高职男班(舞蹈表演)","Empno":"5526","Teacher":"焦晓天","ClassRoomNo":"3102","ClassRoom":"舞蹈楼102","LessonSortNo":"1"}] | |||||
//"CreateUserId":"System","CreateUserName":"超级管理员","CreateTime":"2024-06-25 13:14:35","AttemperType":"02","AttemperTimeType":"","NewAcademicYearNo":"","NewSemester":"","NewDeptNo":"","NewMajorNo":"","NewLessonNo":"","NewTeachClassNo":"","NewEmpNo":"","NewClassroomNo":"","AttemperStartTime":"","AttemperEndTime":"","AttemperRemark":"22" | |||||
JObject jo = (JObject)JsonConvert.DeserializeObject(strEntity); | |||||
ArrangeLessonTermAttemperEntity entity = strEntity.ToObject<ArrangeLessonTermAttemperEntity>(); | ArrangeLessonTermAttemperEntity entity = strEntity.ToObject<ArrangeLessonTermAttemperEntity>(); | ||||
if (entity.AttemperType == "03") | |||||
if (entity.AttemperType == "01") | |||||
{ | { | ||||
//if (entity.F_SchoolId != entity.NewF_SchoolId || entity.AcademicYearNo != entity.NewAcademicYearNo || entity.Semester != entity.NewSemester) | |||||
if (entity.AcademicYearNo != entity.NewAcademicYearNo || entity.Semester != entity.NewSemester) | |||||
{ | |||||
return Fail("校区、学年、学期不一致!"); | |||||
} | |||||
//调课 | |||||
} | } | ||||
if (entity.AttemperType=="04") | |||||
else if (entity.AttemperType == "02") | |||||
{ | { | ||||
JObject jo = (JObject)JsonConvert.DeserializeObject(strEntity); | |||||
List<ArrangeLessonTermAttrmperChildEntity> query = new List<ArrangeLessonTermAttrmperChildEntity>(); | |||||
string[] targetjieci = jo["tardata"]["targetjieci"].ToString().TrimEnd(';').Split(';'); | |||||
string targettime = jo["tardata"]["targettime"].ToString(); | |||||
string lastdata = ""; | |||||
int i = 0; | |||||
int index = 0; | |||||
foreach (var item in jo["predata"]) | |||||
{ | |||||
//index++; | |||||
if (string.IsNullOrEmpty(lastdata) || lastdata != item["LessonTime"].ToString()) | |||||
{ | |||||
lastdata = item["LessonTime"].ToString(); | |||||
if ( index >= jo["predata"].Count()/2) | |||||
{ | |||||
i++; | |||||
} | |||||
} | |||||
DateTime NewLessonDate = Convert.ToDateTime(jo["tardata"]["targettime"].ToString()); | |||||
string newlessontime = Convert.ToInt32(NewLessonDate.DayOfWeek).ToString()+ targetjieci[i].Replace("节",""); | |||||
ArrangeLessonTermAttrmperChildEntity term = new ArrangeLessonTermAttrmperChildEntity | |||||
{ | |||||
LessonId = !string.IsNullOrEmpty(keyValue) ? item["LessonId"].ToString(): item["AltId"].ToString(), | |||||
LessonDate = Convert.ToDateTime(item["LessonDate"].ToString()), | |||||
LessonTime = item["LessonTime"].ToString(), | |||||
NewLessonDate =NewLessonDate , | |||||
NewLessonTime = newlessontime | |||||
}; | |||||
query.Add(term); | |||||
index++; | |||||
} | |||||
entity.query = query; | |||||
//停课 | |||||
} | } | ||||
else if (entity.AttemperType == "03") | |||||
{ | |||||
//换课 | |||||
} | |||||
#region 旧逻辑 | |||||
//if (entity.AttemperType == "03") | |||||
//{ | |||||
// //if (entity.F_SchoolId != entity.NewF_SchoolId || entity.AcademicYearNo != entity.NewAcademicYearNo || entity.Semester != entity.NewSemester) | |||||
// if (entity.AcademicYearNo != entity.NewAcademicYearNo || entity.Semester != entity.NewSemester) | |||||
// { | |||||
// return Fail("校区、学年、学期不一致!"); | |||||
// } | |||||
//} | |||||
//if (entity.AttemperType == "04") | |||||
//{ | |||||
// //JObject jo = (JObject)JsonConvert.DeserializeObject(strEntity); | |||||
// List<ArrangeLessonTermAttrmperChildEntity> query = new List<ArrangeLessonTermAttrmperChildEntity>(); | |||||
// string[] targetjieci = jo["tardata"]["targetjieci"].ToString().TrimEnd(';').Split(';'); | |||||
// string targettime = jo["tardata"]["targettime"].ToString(); | |||||
// string lastdata = ""; | |||||
// int i = 0; | |||||
// int index = 0; | |||||
// foreach (var item in jo["predata"]) | |||||
// { | |||||
// //index++; | |||||
// if (string.IsNullOrEmpty(lastdata) || lastdata != item["LessonTime"].ToString()) | |||||
// { | |||||
// lastdata = item["LessonTime"].ToString(); | |||||
// if (index >= jo["predata"].Count() / 2) | |||||
// { | |||||
// i++; | |||||
// } | |||||
// } | |||||
// DateTime NewLessonDate = Convert.ToDateTime(jo["tardata"]["targettime"].ToString()); | |||||
// string newlessontime = Convert.ToInt32(NewLessonDate.DayOfWeek).ToString() + targetjieci[i].Replace("节", ""); | |||||
// ArrangeLessonTermAttrmperChildEntity term = new ArrangeLessonTermAttrmperChildEntity | |||||
// { | |||||
// LessonId = !string.IsNullOrEmpty(keyValue) ? item["LessonId"].ToString() : item["AltId"].ToString(), | |||||
// LessonDate = Convert.ToDateTime(item["LessonDate"].ToString()), | |||||
// LessonTime = item["LessonTime"].ToString(), | |||||
// NewLessonDate = NewLessonDate, | |||||
// NewLessonTime = newlessontime | |||||
// }; | |||||
// query.Add(term); | |||||
// index++; | |||||
// } | |||||
// entity.query = query; | |||||
//} | |||||
#endregion | |||||
foreach (var item in jo["query"]) | |||||
{ | |||||
ArrangeLessonTermAttemperEntity itementity = new ArrangeLessonTermAttemperEntity(); | |||||
itementity.CreateUserId = entity.CreateUserId; | |||||
itementity.CreateUserName = entity.CreateUserName; | |||||
itementity.CreateTime = entity.CreateTime; | |||||
itementity.AttemperRemark = entity.AttemperRemark; | |||||
itementity.AttemperType = entity.AttemperType;//调课类型 | |||||
itementity.NewAcademicYearNo= entity.NewAcademicYearNo; | |||||
itementity.NewSemester = entity.NewSemester; | |||||
itementity.NewDeptNo = entity.NewDeptNo; | |||||
itementity.NewMajorNo = entity.NewMajorNo; | |||||
itementity.NewLessonNo = entity.NewLessonNo; | |||||
itementity.NewTeachClassNo = entity.NewTeachClassNo; | |||||
itementity.NewEmpNo = entity.NewEmpNo; | |||||
itementity.NewClassroomNo = entity.NewClassroomNo; | |||||
itementity.AcademicYearNo = item["Academicyear"].ToString(); | |||||
itementity.Semester = item["Semester"].ToString(); | |||||
itementity.DeptNo = item["DeptNo"].ToString(); | |||||
itementity.MajorNo = item["MajorNo"].ToString(); | |||||
itementity.LessonNo = item["LessonNo"].ToString(); | |||||
itementity.TeachClassNo = item["TeachClassNo"].ToString(); | |||||
itementity.EmpNo = item["Empno"].ToString(); | |||||
itementity.ClassroomNo = item["ClassRoomNo"].ToString(); | |||||
entity.Status = 0; | |||||
entity.CheckStatus = 0; | |||||
arrangeLessonTermAttemperIBLL.SaveEntity(keyValue, entity); | |||||
itementity.AttemperTimeType = entity.AttemperTimeType;//调度时限 | |||||
itementity.AttemperStartTime = entity.AttemperStartTime; | |||||
itementity.AttemperEndTime = entity.AttemperEndTime; | |||||
itementity.Status = 0; | |||||
itementity.CheckStatus = 0; | |||||
arrangeLessonTermAttemperIBLL.SaveEntity(keyValue, itementity); | |||||
} | |||||
return Success("保存成功!"); | return Success("保存成功!"); | ||||
} | } | ||||
@@ -13,8 +13,8 @@ | |||||
<div class="lr-layout-tool-item"> | <div class="lr-layout-tool-item"> | ||||
<div class=" btn-group btn-group-sm"> | <div class=" btn-group btn-group-sm"> | ||||
<script src="~/Content/vue/vue.js"></script> | <script src="~/Content/vue/vue.js"></script> | ||||
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"> | |||||
<script src="https://unpkg.com/element-ui/lib/index.js"></script> | |||||
<link rel="stylesheet" href="~/Content/elementui/index.css"> | |||||
<script src="~/Content/elementui/index.js"></script> | |||||
<div id="app"> | <div id="app"> | ||||
<a id="timeNoCludes" class="btn btn-default" v-on:click="nocludesVisible = true">时间段排除</a> | <a id="timeNoCludes" class="btn btn-default" v-on:click="nocludesVisible = true">时间段排除</a> | ||||
<el-dialog title="时间段排除" | <el-dialog title="时间段排除" | ||||
@@ -57,7 +57,7 @@ | |||||
<div class="lr-form-item-title">校区<font face="宋体">*</font></div> | <div class="lr-form-item-title">校区<font face="宋体">*</font></div> | ||||
<div id="F_SchoolId" readonly isvalid="yes" checkexpession="NotNull"></div> | <div id="F_SchoolId" readonly isvalid="yes" checkexpession="NotNull"></div> | ||||
</div>*@ | </div>*@ | ||||
<div id="sourcedata"class="col-xs-12 lr-form-item lr-form-item-grid"> | |||||
<div id="sourcedata" class="col-xs-12 lr-form-item lr-form-item-grid"> | |||||
<div id="gridtable2"></div> | <div id="gridtable2"></div> | ||||
@*<div class="col-xs-4 lr-form-item" data-table="ArrangeLessonTermAttemper"> | @*<div class="col-xs-4 lr-form-item" data-table="ArrangeLessonTermAttemper"> | ||||
<div class="lr-form-item-title">学年<font face="宋体">*</font></div> | <div class="lr-form-item-title">学年<font face="宋体">*</font></div> | ||||
@@ -210,10 +210,34 @@ var bootstrap = function ($, learun) { | |||||
}); | }); | ||||
$('#TeachClassNo').lrDataSourceSelect({ code: 'bjsj', value: 'classno', text: 'classname' }); | $('#TeachClassNo').lrDataSourceSelect({ code: 'bjsj', value: 'classno', text: 'classname' }); | ||||
$('#NewTeachClassNo').lrDataSourceSelect({ code: 'bjsj', value: 'classno', text: 'classname' }); | $('#NewTeachClassNo').lrDataSourceSelect({ code: 'bjsj', value: 'classno', text: 'classname' }); | ||||
$('#EmpNo').lrDataSourceSelect({ code: 'EmpInfo', value: 'empno', text: 'empname' }); | |||||
$('#NewEmpNo').lrDataSourceSelect({ code: 'EmpInfo', value: 'empno', text: 'empname' }); | |||||
$('#ClassroomNo').lrDataSourceSelect({ code: 'ClassRoomInfo', value: 'classroomno', text: 'classroomname' }); | |||||
$('#NewClassroomNo').lrDataSourceSelect({ code: 'ClassRoomInfo', value: 'classroomno', text: 'classroomname' }); | |||||
$('#EmpNo').lrselect({ | |||||
allowSearch: true, | |||||
url: top.$.rootUrl + '/PersonnelManagement/TimeTable/GetTeacherData', | |||||
value: 'value', | |||||
text: 'text' | |||||
}); | |||||
//$('#EmpNo').lrDataSourceSelect({ code: 'EmpInfo', value: 'empno', text: 'empname' }); | |||||
//$('#NewEmpNo').lrDataSourceSelect({ code: 'EmpInfo', value: 'empno', text: 'empname' }); | |||||
$('#NewEmpNo').lrselect({ | |||||
allowSearch: true, | |||||
url: top.$.rootUrl + '/PersonnelManagement/TimeTable/GetTeacherData', | |||||
value: 'value', | |||||
text: 'text' | |||||
}); | |||||
//$('#ClassroomNo').lrDataSourceSelect({ code: 'ClassRoomInfo', value: 'classroomno', text: 'classroomname' }); | |||||
$('#ClassroomNo').lrselect({ | |||||
allowSearch: true, | |||||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'ClassRoomInfo', | |||||
value: 'classroomno', | |||||
text: 'classroomname' | |||||
}); | |||||
//$('#NewClassroomNo').lrDataSourceSelect({ code: 'ClassRoomInfo', value: 'classroomno', text: 'classroomname' }); | |||||
$('#NewClassroomNo').lrselect({ | |||||
allowSearch: true, | |||||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'ClassRoomInfo', | |||||
value: 'classroomno', | |||||
text: 'classroomname' | |||||
}); | |||||
//调度开始时间 | //调度开始时间 | ||||
$('#AttemperStartTime').lrselect({ allowSearch: true }); | $('#AttemperStartTime').lrselect({ allowSearch: true }); | ||||
//调度结束时间 | //调度结束时间 | ||||
@@ -324,10 +348,10 @@ var bootstrap = function ($, learun) { | |||||
//{"AltId":"c7c2e0dc-12c5-4742-ba27-f8084fa712eb","day":"2","lessonTime":"21","lessonDate":"2024-06-11","schooldId":"207fa1a9-160c-4943-a89b-8fa4db0547ce","academicyear":"23-24","semester":"2","deptNo":"06","deptname":"","majorNo":"GZ02","lessonNo":"GZ0202999","curriculum":"音乐表演(民族乐器演奏方向)专业主课","teachClassNo":"G2306010301","className":"2301班(器乐系)","empno":"1132","teacher":"吴权喜","classRoomNo":"1012","classRoom":"音乐楼012","lessonSortNo":"1"} | //{"AltId":"c7c2e0dc-12c5-4742-ba27-f8084fa712eb","day":"2","lessonTime":"21","lessonDate":"2024-06-11","schooldId":"207fa1a9-160c-4943-a89b-8fa4db0547ce","academicyear":"23-24","semester":"2","deptNo":"06","deptname":"","majorNo":"GZ02","lessonNo":"GZ0202999","curriculum":"音乐表演(民族乐器演奏方向)专业主课","teachClassNo":"G2306010301","className":"2301班(器乐系)","empno":"1132","teacher":"吴权喜","classRoomNo":"1012","classRoom":"音乐楼012","lessonSortNo":"1"} | ||||
$('#gridtable2').jfGrid({ | $('#gridtable2').jfGrid({ | ||||
headData: [ | headData: [ | ||||
{ label: "学年", name: "academicyear", width: 100, align: "left" }, | |||||
{ label: "学期", name: "semester", width: 100, align: "left" }, | |||||
{ label: "学年", name: "Academicyear", width: 100, align: "left" }, | |||||
{ label: "学期", name: "Semester", width: 100, align: "left" }, | |||||
{ | { | ||||
label: "系部", name: "deptNo", width: 100, align: "left", | |||||
label: "系部", name: "DeptNo", width: 100, align: "left", | |||||
formatterAsync: function (callback, value, row, op, $cell) { | formatterAsync: function (callback, value, row, op, $cell) { | ||||
learun.clientdata.getAsync('custmerData', { | learun.clientdata.getAsync('custmerData', { | ||||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdDeptInfo', | url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdDeptInfo', | ||||
@@ -340,7 +364,7 @@ var bootstrap = function ($, learun) { | |||||
} | } | ||||
}, | }, | ||||
{ | { | ||||
label: "专业", name: "majorNo", width: 100, align: "left", | |||||
label: "专业", name: "MajorNo", width: 100, align: "left", | |||||
formatterAsync: function (callback, value, row, op, $cell) { | formatterAsync: function (callback, value, row, op, $cell) { | ||||
learun.clientdata.getAsync('custmerData', { | learun.clientdata.getAsync('custmerData', { | ||||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo', | url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo', | ||||
@@ -353,7 +377,7 @@ var bootstrap = function ($, learun) { | |||||
} | } | ||||
}, | }, | ||||
{ | { | ||||
label: "课程", name: "lessonNo", width: 100, align: "left", | |||||
label: "课程", name: "LessonNo", width: 100, align: "left", | |||||
formatterAsync: function (callback, value, row, op, $cell) { | formatterAsync: function (callback, value, row, op, $cell) { | ||||
learun.clientdata.getAsync('custmerData', { | learun.clientdata.getAsync('custmerData', { | ||||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'LessonInfo', | url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'LessonInfo', | ||||
@@ -364,9 +388,9 @@ var bootstrap = function ($, learun) { | |||||
} | } | ||||
}); | }); | ||||
} | } | ||||
}, | |||||
}, | |||||
{ | { | ||||
label: "班级", name: "teachClassNo", width: 100, align: "left", | |||||
label: "班级", name: "TeachClassNo", width: 100, align: "left", | |||||
formatterAsync: function (callback, value, row, op, $cell) { | formatterAsync: function (callback, value, row, op, $cell) { | ||||
learun.clientdata.getAsync('custmerData', { | learun.clientdata.getAsync('custmerData', { | ||||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'bjsj', | url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'bjsj', | ||||
@@ -379,7 +403,7 @@ var bootstrap = function ($, learun) { | |||||
} | } | ||||
}, | }, | ||||
{ | { | ||||
label: "教师", name: "empno", width: 100, align: "left", | |||||
label: "教师", name: "Empno", width: 100, align: "left", | |||||
formatterAsync: function (callback, value, row, op, $cell) { | formatterAsync: function (callback, value, row, op, $cell) { | ||||
learun.clientdata.getAsync('custmerData', { | learun.clientdata.getAsync('custmerData', { | ||||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'EmpInfo', | url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'EmpInfo', | ||||
@@ -392,7 +416,7 @@ var bootstrap = function ($, learun) { | |||||
} | } | ||||
}, | }, | ||||
{ | { | ||||
label: "教室", name: "classRoomNo", width: 100, align: "left", | |||||
label: "教室", name: "ClassRoomNo", width: 100, align: "left", | |||||
formatterAsync: function (callback, value, row, op, $cell) { | formatterAsync: function (callback, value, row, op, $cell) { | ||||
learun.clientdata.getAsync('custmerData', { | learun.clientdata.getAsync('custmerData', { | ||||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'ClassRoomInfo', | url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'ClassRoomInfo', | ||||
@@ -477,14 +501,14 @@ var bootstrap = function ($, learun) { | |||||
bindDataNew = function (temprow) { | bindDataNew = function (temprow) { | ||||
if (!!temprow) { | if (!!temprow) { | ||||
//$('#NewF_SchoolId').lrselectSet(temprow.schooldId); | //$('#NewF_SchoolId').lrselectSet(temprow.schooldId); | ||||
$('#NewAcademicYearNo').lrselectSet(temprow.academicyear); | |||||
$('#NewSemester').lrselectSet(temprow.semester); | |||||
$('#NewDeptNo').lrselectSet(temprow.deptNo); | |||||
$('#NewMajorNo').lrselectSet(temprow.majorNo); | |||||
$('#NewLessonNo').lrselectSet(temprow.lessonNo); | |||||
$('#NewTeachClassNo').lrselectSet(temprow.teachClassNo); | |||||
$('#NewEmpNo').lrselectSet(temprow.empno); | |||||
$('#NewClassroomNo').lrselectSet(temprow.classRoomNo); | |||||
$('#NewAcademicYearNo').lrselectSet(temprow[0].Academicyear); | |||||
$('#NewSemester').lrselectSet(temprow[0].Semester); | |||||
$('#NewDeptNo').lrselectSet(temprow[0].DeptNo); | |||||
$('#NewMajorNo').lrselectSet(temprow[0].MajorNo); | |||||
$('#NewLessonNo').lrselectSet(temprow[0].LessonNo); | |||||
$('#NewTeachClassNo').lrselectSet(temprow[0].TeachClassNo); | |||||
$('#NewEmpNo').lrselectSet(temprow[0].Empno); | |||||
$('#NewClassroomNo').lrselectSet(temprow[0].ClassRoomNo); | |||||
} | } | ||||
}; | }; | ||||
// 验证数据是否填写完整 | // 验证数据是否填写完整 | ||||
@@ -572,28 +596,31 @@ var bootstrap = function ($, learun) { | |||||
// 保存数据 | // 保存数据 | ||||
save = function (processId, callBack, i) { | save = function (processId, callBack, i) { | ||||
var formData = $('body').lrGetFormData(); | var formData = $('body').lrGetFormData(); | ||||
if (formData.AttemperType == "03") { //对调:校区、学年、学期需要一致 | |||||
//if (formData.F_SchoolId !== formData.NewF_SchoolId || formData.AcademicYearNo !== formData.NewAcademicYearNo || formData.Semester !== formData.NewSemester) { | |||||
if (formData.AcademicYearNo !== formData.NewAcademicYearNo || formData.Semester !== formData.NewSemester) { | |||||
learun.alert.warning("校区、学年、学期不一致!"); | |||||
return false; | |||||
} | |||||
} else if (formData.AttemperType == "01") { //换课:调度时间比较;教师或教室必填一个; | |||||
if ((formData.NewEmpNo == null || formData.NewEmpNo == "") && (formData.NewClassroomNo == null || formData.NewClassroomNo == "")) { | |||||
learun.alert.warning("课程新安排中教师或教室不能为空!"); | |||||
return false; | |||||
} | |||||
if (formData.AttemperEndTime < formData.AttemperStartTime) { | |||||
learun.alert.warning("调度结束时间不能小于调度开始时间!"); | |||||
return false; | |||||
} | |||||
} else if (formData.AttemperType == "04") { //调课 | |||||
if (formData) { | |||||
formData.predata = JSON.parse($('#gridtable').attr("data-val")); | |||||
formData.tardata = JSON.parse( $('#gridtable1').attr("data-val")); | |||||
} | |||||
if (false) { | |||||
//if (formData.AttemperType == "03") { //对调:校区、学年、学期需要一致 | |||||
// //if (formData.F_SchoolId !== formData.NewF_SchoolId || formData.AcademicYearNo !== formData.NewAcademicYearNo || formData.Semester !== formData.NewSemester) { | |||||
// if (formData.AcademicYearNo !== formData.NewAcademicYearNo || formData.Semester !== formData.NewSemester) { | |||||
// learun.alert.warning("校区、学年、学期不一致!"); | |||||
// return false; | |||||
// } | |||||
//} else if (formData.AttemperType == "01") { //换课:调度时间比较;教师或教室必填一个; | |||||
// if ((formData.NewEmpNo == null || formData.NewEmpNo == "") && (formData.NewClassroomNo == null || formData.NewClassroomNo == "")) { | |||||
// learun.alert.warning("课程新安排中教师或教室不能为空!"); | |||||
// return false; | |||||
// } | |||||
// if (formData.AttemperEndTime < formData.AttemperStartTime) { | |||||
// learun.alert.warning("调度结束时间不能小于调度开始时间!"); | |||||
// return false; | |||||
// } | |||||
//} else if (formData.AttemperType == "04") { //调课 | |||||
// if (formData) { | |||||
// formData.predata = JSON.parse($('#gridtable').attr("data-val")); | |||||
// formData.tardata = JSON.parse( $('#gridtable1').attr("data-val")); | |||||
// } | |||||
//} | |||||
} | } | ||||
//获取要操作的课程列表 | |||||
formData.query = $('#gridtable2').jfGridGet('rowdatas'); | |||||
console.log(formData) | console.log(formData) | ||||
if (!!processId) { | if (!!processId) { | ||||
formData.ProcessId = processId; | formData.ProcessId = processId; | ||||
@@ -601,12 +628,12 @@ var bootstrap = function ($, learun) { | |||||
var postData = { | var postData = { | ||||
strEntity: JSON.stringify(formData) | strEntity: JSON.stringify(formData) | ||||
}; | }; | ||||
//$.lrSaveForm(top.$.rootUrl + '/EducationalAdministration/ArrangeLessonTermAttemper/SaveForm?keyValue=' + keyValue, postData, function (res) { | |||||
// // 保存成功后才回调 | |||||
// if (!!callBack) { | |||||
// callBack(res, i); | |||||
// } | |||||
//}); | |||||
$.lrSaveForm(top.$.rootUrl + '/EducationalAdministration/ArrangeLessonTermAttemper/SaveForm?keyValue=' + keyValue, postData, function (res) { | |||||
// 保存成功后才回调 | |||||
if (!!callBack) { | |||||
callBack(res, i); | |||||
} | |||||
}); | |||||
}; | }; | ||||
page.init(); | page.init(); | ||||
} | } |
@@ -60,8 +60,10 @@ | |||||
<div class="lr-form-item-title">校区<font face="宋体">*</font></div> | <div class="lr-form-item-title">校区<font face="宋体">*</font></div> | ||||
<div id="F_SchoolId" readonly isvalid="yes" checkexpession="NotNull"></div> | <div id="F_SchoolId" readonly isvalid="yes" checkexpession="NotNull"></div> | ||||
</div>*@ | </div>*@ | ||||
<div id="sourcedata"> | |||||
<div class="col-xs-4 lr-form-item" data-table="ArrangeLessonTermAttemper"> | |||||
<div id="sourcedata" class="col-xs-12 lr-form-item lr-form-item-grid"> | |||||
<div id="gridtable2"></div> | |||||
@*<div class="col-xs-4 lr-form-item" data-table="ArrangeLessonTermAttemper"> | |||||
<div class="lr-form-item-title">学年<font face="宋体">*</font></div> | <div class="lr-form-item-title">学年<font face="宋体">*</font></div> | ||||
<div id="AcademicYearNo" class="olddata" readonly isvalid="yes" checkexpession="NotNull"></div> | <div id="AcademicYearNo" class="olddata" readonly isvalid="yes" checkexpession="NotNull"></div> | ||||
</div> | </div> | ||||
@@ -92,7 +94,7 @@ | |||||
<div class="col-xs-4 lr-form-item" data-table="ArrangeLessonTermAttemper"> | <div class="col-xs-4 lr-form-item" data-table="ArrangeLessonTermAttemper"> | ||||
<div class="lr-form-item-title">教室<font face="宋体">*</font></div> | <div class="lr-form-item-title">教室<font face="宋体">*</font></div> | ||||
<div id="ClassroomNo" class="olddata" readonly isvalid="yes" checkexpession="NotNull"></div> | <div id="ClassroomNo" class="olddata" readonly isvalid="yes" checkexpession="NotNull"></div> | ||||
</div> | |||||
</div>*@ | |||||
</div> | </div> | ||||
<!--表格--> | <!--表格--> | ||||
<div class="col-xs-12 lr-form-item lr-form-item-grid" id="oldgridtable" style="display:none"> | <div class="col-xs-12 lr-form-item lr-form-item-grid" id="oldgridtable" style="display:none"> | ||||
@@ -29,6 +29,7 @@ var bootstrap = function ($, learun) { | |||||
page.bindSelect(); | page.bindSelect(); | ||||
page.bind(); | page.bind(); | ||||
page.initData(); | page.initData(); | ||||
page.initGird(); | |||||
}, | }, | ||||
query: function () { | query: function () { | ||||
var p = {}; | var p = {}; | ||||
@@ -184,11 +185,34 @@ var bootstrap = function ($, learun) { | |||||
text: 'text', | text: 'text', | ||||
}); | }); | ||||
$('#TeachClassNo').lrDataSourceSelect({ code: 'bjsj', value: 'classno', text: 'classname' }); | $('#TeachClassNo').lrDataSourceSelect({ code: 'bjsj', value: 'classno', text: 'classname' }); | ||||
$('#NewTeachClassNo').lrDataSourceSelect({ code: 'bjsj', value: 'classno', text: 'classname' }); | |||||
$('#EmpNo').lrDataSourceSelect({ code: 'EmpInfo', value: 'empno', text: 'empname' }); | |||||
$('#NewEmpNo').lrDataSourceSelect({ code: 'EmpInfo', value: 'empno', text: 'empname' }); | |||||
$('#ClassroomNo').lrDataSourceSelect({ code: 'ClassRoomInfo', value: 'classroomno', text: 'classroomname' }); | |||||
$('#NewClassroomNo').lrDataSourceSelect({ code: 'ClassRoomInfo', value: 'classroomno', text: 'classroomname' }); | |||||
$('#NewTeachClassNo').lrDataSourceSelect({ code: 'bjsj', value: 'classno', text: 'classname' }); $('#EmpNo').lrselect({ | |||||
allowSearch: true, | |||||
url: top.$.rootUrl + '/PersonnelManagement/TimeTable/GetTeacherData', | |||||
value: 'value', | |||||
text: 'text' | |||||
}); | |||||
//$('#EmpNo').lrDataSourceSelect({ code: 'EmpInfo', value: 'empno', text: 'empname' }); | |||||
//$('#NewEmpNo').lrDataSourceSelect({ code: 'EmpInfo', value: 'empno', text: 'empname' }); | |||||
$('#NewEmpNo').lrselect({ | |||||
allowSearch: true, | |||||
url: top.$.rootUrl + '/PersonnelManagement/TimeTable/GetTeacherData', | |||||
value: 'value', | |||||
text: 'text' | |||||
}); | |||||
//$('#ClassroomNo').lrDataSourceSelect({ code: 'ClassRoomInfo', value: 'classroomno', text: 'classroomname' }); | |||||
$('#ClassroomNo').lrselect({ | |||||
allowSearch: true, | |||||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'ClassRoomInfo', | |||||
value: 'classroomno', | |||||
text: 'classroomname' | |||||
}); | |||||
//$('#NewClassroomNo').lrDataSourceSelect({ code: 'ClassRoomInfo', value: 'classroomno', text: 'classroomname' }); | |||||
$('#NewClassroomNo').lrselect({ | |||||
allowSearch: true, | |||||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'ClassRoomInfo', | |||||
value: 'classroomno', | |||||
text: 'classroomname' | |||||
}); | |||||
}, | }, | ||||
initData: function () { | initData: function () { | ||||
@@ -214,6 +238,19 @@ var bootstrap = function ($, learun) { | |||||
$('#NewClassroomNo').siblings('div').html('教室'); | $('#NewClassroomNo').siblings('div').html('教室'); | ||||
$('#NewEmpNo').attr('readonly', 'readonly'); | $('#NewEmpNo').attr('readonly', 'readonly'); | ||||
$('#NewClassroomNo').attr('readonly', 'readonly'); | $('#NewClassroomNo').attr('readonly', 'readonly'); | ||||
// | |||||
var tabledata = [{ | |||||
Id: data[id].Id, | |||||
Academicyear: data[id].AcademicYearNo, | |||||
Semester: data[id].Semester, | |||||
DeptNo: data[id].DeptNo, | |||||
MajorNo: data[id].MajorNo, | |||||
LessonNo: data[id].LessonNo, | |||||
TeachClassNo: data[id].TeachClassNo, | |||||
Empno: data[id].EmpNo, | |||||
ClassRoomNo: data[id].ClassroomNo | |||||
}] | |||||
$('#gridtable2').jfGridSet('refreshdata', tabledata);//.attr("data-val", temprow) | |||||
if (data[id].AttemperType == "01") { | if (data[id].AttemperType == "01") { | ||||
$('.AttemperTypeTiao').show(); | $('.AttemperTypeTiao').show(); | ||||
$("#AttemperTimeType").attr("isvalid", "yes"); | $("#AttemperTimeType").attr("isvalid", "yes"); | ||||
@@ -286,7 +323,127 @@ var bootstrap = function ($, learun) { | |||||
} | } | ||||
}); | }); | ||||
} | } | ||||
} | |||||
}, | |||||
initGird: function () { | |||||
//{"AltId":"c7c2e0dc-12c5-4742-ba27-f8084fa712eb","day":"2","lessonTime":"21","lessonDate":"2024-06-11","schooldId":"207fa1a9-160c-4943-a89b-8fa4db0547ce","academicyear":"23-24","semester":"2","deptNo":"06","deptname":"","majorNo":"GZ02","lessonNo":"GZ0202999","curriculum":"音乐表演(民族乐器演奏方向)专业主课","teachClassNo":"G2306010301","className":"2301班(器乐系)","empno":"1132","teacher":"吴权喜","classRoomNo":"1012","classRoom":"音乐楼012","lessonSortNo":"1"} | |||||
$('#gridtable2').jfGrid({ | |||||
headData: [ | |||||
{ label: "学年", name: "Academicyear", width: 100, align: "left" }, | |||||
{ label: "学期", name: "Semester", width: 100, 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: "LessonNo", width: 100, align: "left", | |||||
formatterAsync: function (callback, value, row, op, $cell) { | |||||
learun.clientdata.getAsync('custmerData', { | |||||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'LessonInfo', | |||||
key: value, | |||||
keyId: 'lessonno', | |||||
callback: function (_data) { | |||||
callback(_data['lessonname']); | |||||
} | |||||
}); | |||||
} | |||||
}, | |||||
{ | |||||
label: "班级", name: "TeachClassNo", 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: "Empno", width: 100, align: "left", | |||||
formatterAsync: function (callback, value, row, op, $cell) { | |||||
learun.clientdata.getAsync('custmerData', { | |||||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'EmpInfo', | |||||
key: value, | |||||
keyId: 'empno', | |||||
callback: function (_data) { | |||||
callback(_data['empname']); | |||||
} | |||||
}); | |||||
} | |||||
}, | |||||
{ | |||||
label: "教室", name: "ClassRoomNo", width: 100, align: "left", | |||||
formatterAsync: function (callback, value, row, op, $cell) { | |||||
learun.clientdata.getAsync('custmerData', { | |||||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'ClassRoomInfo', | |||||
key: value, | |||||
keyId: 'classroomno', | |||||
callback: function (_data) { | |||||
callback(_data['classroomname']); | |||||
} | |||||
}); | |||||
} | |||||
}, | |||||
], | |||||
mainId: 'Id', | |||||
isPage: false, | |||||
//sord: 'desc', | |||||
//sidx: 'CreateTime' | |||||
}); | |||||
//$('#gridtable').jfGrid({ | |||||
// headData: [ | |||||
// { label: "日期", name: "time", width: 100, align: "left" }, | |||||
// { label: "节次", name: "jieci", width: 100, align: "left" }, | |||||
// { label: "课程", name: "curriculum", width: 100, align: "left" }, | |||||
// { label: "班级", name: "ClassName", width: 100, align: "left" }, | |||||
// { label: "教师", name: "EmpName", width: 100, align: "left" }, | |||||
// { label: "教室", name: "classRoom", width: 100, align: "left" }, | |||||
// ], | |||||
// mainId: 'Id', | |||||
// isPage: true, | |||||
// sord: 'desc', | |||||
// sidx: 'CreateTime' | |||||
//}); | |||||
//$('#gridtable1').jfGrid({ | |||||
// headData: [ | |||||
// { label: "日期", name: "time", width: 100, align: "left" }, | |||||
// { label: "节次", name: "jieci", width: 100, align: "left" }, | |||||
// { label: "课程", name: "curriculum", width: 100, align: "left" }, | |||||
// { label: "班级", name: "ClassName", width: 100, align: "left" }, | |||||
// { label: "教师", name: "EmpName", width: 100, align: "left" }, | |||||
// { label: "教室", name: "classRoom", width: 100, align: "left" }, | |||||
// ], | |||||
// mainId: 'Id', | |||||
// isPage: true, | |||||
// sord: 'desc', | |||||
// sidx: 'CreateTime' | |||||
//}); | |||||
}, | |||||
}; | }; | ||||
bindData = function (temprow) { | bindData = function (temprow) { | ||||
if (!!temprow) { | if (!!temprow) { | ||||
@@ -357,6 +514,18 @@ var bootstrap = function ($, learun) { | |||||
$('#NewClassroomNo').siblings('div').html('教室'); | $('#NewClassroomNo').siblings('div').html('教室'); | ||||
$('#NewEmpNo').attr('readonly', 'readonly'); | $('#NewEmpNo').attr('readonly', 'readonly'); | ||||
$('#NewClassroomNo').attr('readonly', 'readonly'); | $('#NewClassroomNo').attr('readonly', 'readonly'); | ||||
var tabledata = [{ | |||||
Id: data[id].Id, | |||||
Academicyear: data[id].AcademicYearNo, | |||||
Semester: data[id].Semester, | |||||
DeptNo: data[id].DeptNo, | |||||
MajorNo: data[id].MajorNo, | |||||
LessonNo: data[id].LessonNo, | |||||
TeachClassNo: data[id].TeachClassNo, | |||||
Empno: data[id].EmpNo, | |||||
ClassRoomNo: data[id].ClassroomNo | |||||
}] | |||||
$('#gridtable2').jfGridSet('refreshdata', tabledata);//.attr("data-val", temprow) | |||||
if (data[id].AttemperType == "01") { | if (data[id].AttemperType == "01") { | ||||
$('.AttemperTypeTiao').show(); | $('.AttemperTypeTiao').show(); | ||||
$("#AttemperTimeType").attr("isvalid", "yes"); | $("#AttemperTimeType").attr("isvalid", "yes"); | ||||
@@ -102,7 +102,7 @@ var bootstrap = function ($, learun) { | |||||
var keyValue = $('#gridtable').jfGridValue('Id'); | var keyValue = $('#gridtable').jfGridValue('Id'); | ||||
selectedRow = $('#gridtable').jfGridGet('rowdata'); | selectedRow = $('#gridtable').jfGridGet('rowdata'); | ||||
if (learun.checkrow(keyValue)) { | if (learun.checkrow(keyValue)) { | ||||
if (selectedRow.Status !== 0) { | |||||
if (selectedRow[0].Status !== 0) { | |||||
learun.alert.warning("当前课程异动记录已提交,无法删除!"); | learun.alert.warning("当前课程异动记录已提交,无法删除!"); | ||||
return false; | return false; | ||||
} | } | ||||
@@ -577,6 +577,78 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers | |||||
{ schoolName = "课程表", semester = $"{strAcademicYear}学年度 第{strSemester}学期", weekList = formatData }; | { schoolName = "课程表", semester = $"{strAcademicYear}学年度 第{strSemester}学期", weekList = formatData }; | ||||
return JsonResult(result); | return JsonResult(result); | ||||
} | } | ||||
/// <summary> | |||||
/// 课程表【教务】 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[HttpGet] | |||||
[AjaxOnly] | |||||
public ActionResult GetDataInEducationSelect_news(string startTime, string endTime, string classNo, string empNo, string schoolId) | |||||
{ | |||||
var userInfo = LoginUserInfo.Get(); | |||||
//开始时间 | |||||
var startdate = string.IsNullOrEmpty(startTime) ? DateTime.Today : Convert.ToDateTime(startTime); | |||||
var startDate = Common.CalculateFirstDateOfWeek(startdate).ToString("yyyy-MM-dd"); | |||||
var endDate = Common.CalculateLastDateOfWeek(startdate).ToString("yyyy-MM-dd"); | |||||
var semesterAndYear = Common.GetSemesterAndYear(startDate); | |||||
var strAcademicYear = semesterAndYear.AcademicYearLong; | |||||
var strSemester = semesterAndYear.Semester; | |||||
var timeTableList = new List<TimeTable>(); | |||||
//课程表 | |||||
var data = arrangeLessonTermIBLL.GetTimeTableInEducation(startDate, endDate, classNo, empNo, schoolId, ""); | |||||
timeTableList.AddRange(data); | |||||
//选修课课程表 | |||||
//var dataOfElective = arrangeLessonTermOfElectiveIBLL.GetTimeTableInEducation(startDate, endDate, classNo, empNo, schoolId); | |||||
//timeTableList.AddRange(dataOfElective); | |||||
var timeTables = timeTableList.ToList(); | |||||
var noDataResult = new | |||||
{ schoolName = "课程表", semester = $"{strAcademicYear}学年度 第{strSemester}学期", weekList = "" }; | |||||
if (!timeTables.Any()) | |||||
{ | |||||
return JsonResult(noDataResult); | |||||
} | |||||
var formatData = from d in timeTables | |||||
let tt = d.LessonTime.Substring(1) | |||||
group d by tt into g | |||||
orderby g.Key | |||||
select new | |||||
{ | |||||
time = g.Key, | |||||
list = from e in timeTables | |||||
let ee = e.LessonTime.Substring(1) | |||||
where ee == g.Key | |||||
select new | |||||
{ | |||||
AttemperId = e.AltId, | |||||
Day = e.LessonTime.ToCharArray()[0], | |||||
LessonTime = e.LessonTime, | |||||
LessonDate = e.LessonDate.ToString("yyyy-MM-dd"), | |||||
SchooldId = e?.F_SchoolId, | |||||
Academicyear = semesterAndYear.AcademicYearShort, | |||||
Semester = strSemester, | |||||
DeptNo = e?.DeptNo, | |||||
Deptname = "", | |||||
MajorNo = e?.MajorNo, | |||||
LessonNo = e?.LessonNo, | |||||
Curriculum = e.LessonSortNo == "2" ? e.LessonName + "[选修]" : e.LessonName, | |||||
TeachClassNo = e?.TeachClassNo, | |||||
ClassName = string.IsNullOrEmpty(e.ClassName) ? "" : e.ClassName, | |||||
Empno = e?.EmpNo, | |||||
Teacher = e?.EmpName, | |||||
ClassRoomNo = string.IsNullOrEmpty(e.ClassRoomNo) ? "" : e.ClassRoomNo.Trim(), | |||||
ClassRoom = string.IsNullOrEmpty(e.ClassroomName) ? "" : e.ClassroomName.Trim(), | |||||
LessonSortNo = e.LessonSortNo | |||||
} | |||||
} | |||||
; | |||||
var result = new | |||||
{ schoolName = "课程表", semester = $"{strAcademicYear}学年度 第{strSemester}学期", weekList = formatData }; | |||||
return JsonResult(result); | |||||
} | |||||
/// <summary> | /// <summary> | ||||
/// 课程表【教务】--班级下拉框信息 | /// 课程表【教务】--班级下拉框信息 | ||||
@@ -10,7 +10,7 @@ var bootstrap = function ($, learun) { | |||||
page.bindSelect(); | page.bindSelect(); | ||||
}, | }, | ||||
loadData: function (param) { | loadData: function (param) { | ||||
$.lrSetFormWithParam(top.$.rootUrl + '/PersonnelManagement/TimeTable/GetDataInEducationSelect', param, | |||||
$.lrSetFormWithParam(top.$.rootUrl + '/PersonnelManagement/TimeTable/GetDataInEducationSelect_news', param, | |||||
function (data) { | function (data) { | ||||
// 数据处理 | // 数据处理 | ||||
var html = ''; | var html = ''; | ||||
@@ -30,7 +30,7 @@ var bootstrap = function ($, learun) { | |||||
})(i); //调用时参数 | })(i); //调用时参数 | ||||
} | } | ||||
$('.personT').text(data.schoolName); | $('.personT').text(data.schoolName); | ||||
$('.perSemester').text(data.semester); | |||||
$('.perSemester').text(data.Semester); | |||||
$('.perFestivalsBox table').html(html); | $('.perFestivalsBox table').html(html); | ||||
function flogs(num, data, obj) { | function flogs(num, data, obj) { | ||||
@@ -70,7 +70,7 @@ var bootstrap = function ($, learun) { | |||||
for (var k = 1; k < 8; k++) { | for (var k = 1; k < 8; k++) { | ||||
(function (arg) { | (function (arg) { | ||||
var args = arg - 1; | var args = arg - 1; | ||||
var datas = flogs2(arg, lists, 'day'); | |||||
var datas = flogs2(arg, lists, 'Day'); | |||||
if (datas.length > 0) { | if (datas.length > 0) { | ||||
html += '<td class="active">'; | html += '<td class="active">'; | ||||
$.each(datas, function (i, item) { | $.each(datas, function (i, item) { | ||||
@@ -78,16 +78,16 @@ var bootstrap = function ($, learun) { | |||||
html += '<hr>'; | html += '<hr>'; | ||||
} | } | ||||
html += "<div class='box' data-val='" + JSON.stringify(item) + "'><div>课程:" + | html += "<div class='box' data-val='" + JSON.stringify(item) + "'><div>课程:" + | ||||
item.curriculum + | |||||
item.Curriculum + | |||||
"</div>" + | "</div>" + | ||||
"<div>教师:" + | "<div>教师:" + | ||||
item.teacher + | |||||
item.Teacher + | |||||
"</div>" + | "</div>" + | ||||
"<div>班级:" + | "<div>班级:" + | ||||
item.className + | |||||
item.ClassName + | |||||
"</div>" + | "</div>" + | ||||
"<div>教室:" + | "<div>教室:" + | ||||
item.classRoom + | |||||
item.ClassRoom + | |||||
"</div></div>"; | "</div></div>"; | ||||
}); | }); | ||||
html += '</td>'; | html += '</td>'; | ||||
@@ -160,11 +160,32 @@ var bootstrap = function ($, learun) { | |||||
//点击课程表内容 | //点击课程表内容 | ||||
$('.perFestivalsBox').on('click', 'td.active div.box', function () { | $('.perFestivalsBox').on('click', 'td.active div.box', function () { | ||||
var box = $(this); | var box = $(this); | ||||
//$('.perFestivalsBox').find('div.box.active').removeClass('active'); | |||||
if (box[0].className.indexOf('active') >= 0) { | |||||
box.removeClass('active'); | |||||
var choosedata = JSON.parse(box[0].getAttribute('data-val')); | |||||
$('.perFestivalsBox').find('div.box.active').removeClass('active'); | |||||
if ($('#ClassNo').lrselectGet() == '' && $('#EmpNo').lrselectGet() == '') { | |||||
learun.alert.warning("请选择班级或者教师!"); | |||||
} else { | } else { | ||||
box.addClass('active'); | |||||
//{"AltId":"5b52c7e8-d5f5-4d54-a859-1544b7d62bf6","day":"2","lessonTime":"23","lessonDate":"2024-03-05","schooldId":"207fa1a9-160c-4943-a89b-8fa4db0547ce","academicyear":"23-24","semester":"2","deptNo":"01","deptname":"","majorNo":"GZ13","lessonNo":"GZ1302006","curriculum":"编舞技法基础","teachClassNo":"G2201010303","className":"22高职男班(舞蹈表演)","empno":"5516","teacher":"董东洋","classRoomNo":"1008","classRoom":"教学楼008","lessonSortNo":"1"} | |||||
//(1)合班课判断逻辑:同一时间、同一教室、相同教师(1个或多个)、多个班级学生 即为合班课 | |||||
//(2)选择课程安排可以将所属合班课程同时勾选,教学调度系统流程只需发起一次即可 | |||||
for (var i = 0; i < box.parent()[0].children.length; i++) { | |||||
if (box.parent()[0].children[i].getAttribute('class')) { | |||||
if (box.parent()[0].children[i].getAttribute('class').indexOf('box') >= 0) { | |||||
console.log(box.parent()[0].children[i].getAttribute('data-val')) | |||||
var item = box.parent()[0].children[i]; | |||||
var itemdata = JSON.parse(item.getAttribute('data-val')); | |||||
if (choosedata.ClassRoomNo == itemdata.ClassRoomNo) { | |||||
item.setAttribute('class', 'box active') | |||||
} | |||||
} | |||||
} | |||||
} | |||||
//if (box[0].className.indexOf('active') >= 0) { | |||||
// box.removeClass('active'); | |||||
//} else { | |||||
// box.addClass('active'); | |||||
//} | |||||
} | } | ||||
}); | }); | ||||
}, | }, | ||||
@@ -170,6 +170,11 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
/// </summary> | /// </summary> | ||||
[Column("PROCESSID")] | [Column("PROCESSID")] | ||||
public string ProcessId { get; set; } | public string ProcessId { get; set; } | ||||
///// <summary> | |||||
///// Details | |||||
///// </summary> | |||||
//[Column("DETAILS")] | |||||
//public string Details { get; set; } | |||||
#endregion | #endregion | ||||
#region 扩展操作 | #region 扩展操作 | ||||
@@ -413,6 +413,9 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
//StuSelectLessonList | //StuSelectLessonList | ||||
//db.ExecuteBySql($"update StuSelectLessonList set CheckMark='0' where F_SchoolId='{entity.F_SchoolId}' and AcademicYearNo='{entity.AcademicYearNo}' and Semester='{entity.Semester}' and DeptNo='{entity.DeptNo}' and MajorNo='{entity.MajorNo}' and LessonNo='{entity.LessonNo}' and TeachClassNo='{entity.TeachClassNo}' and EmpNo='{entity.EmpNo}' "); | //db.ExecuteBySql($"update StuSelectLessonList set CheckMark='0' where F_SchoolId='{entity.F_SchoolId}' and AcademicYearNo='{entity.AcademicYearNo}' and Semester='{entity.Semester}' and DeptNo='{entity.DeptNo}' and MajorNo='{entity.MajorNo}' and LessonNo='{entity.LessonNo}' and TeachClassNo='{entity.TeachClassNo}' and EmpNo='{entity.EmpNo}' "); | ||||
db.ExecuteBySql($"update StuSelectLessonList set CheckMark='0' where AcademicYearNo='{entity.AcademicYearNo}' and Semester='{entity.Semester}' and DeptNo='{entity.DeptNo}' and MajorNo='{entity.MajorNo}' and LessonNo='{entity.LessonNo}' and TeachClassNo='{entity.TeachClassNo}' and EmpNo='{entity.EmpNo}' "); | db.ExecuteBySql($"update StuSelectLessonList set CheckMark='0' where AcademicYearNo='{entity.AcademicYearNo}' and Semester='{entity.Semester}' and DeptNo='{entity.DeptNo}' and MajorNo='{entity.MajorNo}' and LessonNo='{entity.LessonNo}' and TeachClassNo='{entity.TeachClassNo}' and EmpNo='{entity.EmpNo}' "); | ||||
//ArrangeLessonTerm | |||||
//db.ExecuteBySql($"update ArrangeLessonTerm set CheckMark='0' where F_SchoolId='{entity.F_SchoolId}' and AcademicYearNo='{entity.AcademicYearNo}' and Semester='{entity.Semester}' and DeptNo='{entity.DeptNo}' and MajorNo='{entity.MajorNo}' and LessonNo='{entity.LessonNo}' and TeachClassNo like '%{entity.TeachClassNo}%' and EmpNo='{entity.EmpNo}' and ClassroomNo='{entity.ClassroomNo}' "); | |||||
} | } | ||||
else if (entity.AttemperType == "03") //对调 | else if (entity.AttemperType == "03") //对调 | ||||
{ | { | ||||
@@ -57,7 +57,7 @@ export default { | |||||
} | } | ||||
wx.getLocation({ | wx.getLocation({ | ||||
type: "gcj02", // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02' | type: "gcj02", // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02' | ||||
success: function(res) { | |||||
success: (res) => { | |||||
var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90 | var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90 | ||||
var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。 | var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。 | ||||
var speed = res.speed; // 速度,以米/每秒计 | var speed = res.speed; // 速度,以米/每秒计 | ||||
@@ -67,7 +67,7 @@ export default { | |||||
lng:longitude | lng:longitude | ||||
}) | }) | ||||
}, | }, | ||||
fail: function(error) { | |||||
fail: (error) => { | |||||
this.TOAST("获取定位失败!") | this.TOAST("获取定位失败!") | ||||
resolve(false) | resolve(false) | ||||
} | } | ||||
@@ -108,7 +108,7 @@ | |||||
methods: { | methods: { | ||||
// 页面初始化 | // 页面初始化 | ||||
async init() { | async init() { | ||||
this.isInternalNetwork(false) | |||||
await this.isInternalNetwork(false) | |||||
this.LOADING('加载数据中...') | this.LOADING('加载数据中...') | ||||
this.now = this.getCurrentTime() | this.now = this.getCurrentTime() | ||||
@@ -178,33 +178,35 @@ | |||||
AttendanceType:this.info.AttendanceType, | AttendanceType:this.info.AttendanceType, | ||||
AttendanceTypeString:this.info.AttendanceTypeString, | AttendanceTypeString:this.info.AttendanceTypeString, | ||||
} | } | ||||
if (![5].includes(this.info.AttendanceType)) { | |||||
this.$set(this.info, 'AttendanceType', 4) | |||||
this.$set(this.info, 'AttendanceTypeString', '外勤打卡') | |||||
this.$set(this.postData, 'AIsOut', 1) | |||||
// 获取定位,不是外勤时候改变状态 | |||||
// if (!window.BMapGL) await this.loadJScript() | |||||
if(!window.BMapGL || !BMapGL.Map){ | |||||
this.TOAST('获取定位资源失败!') | |||||
return false | |||||
} | |||||
this.map = new BMapGL.Map('container'); | |||||
await this.isFieldPersonnel() | |||||
if ([5].includes(this.info.AttendanceType)) return true | |||||
this.$set(this.info, 'AttendanceType', 4) | |||||
this.$set(this.info, 'AttendanceTypeString', '外勤打卡') | |||||
this.$set(this.postData, 'AIsOut', 1) | |||||
// 获取定位,不是外勤时候改变状态 | |||||
// if (!window.BMapGL) await this.loadJScript() | |||||
if(!window.BMapGL || !BMapGL.Map){ | |||||
this.TOAST('获取定位资源失败!') | |||||
return false | |||||
} | |||||
this.map = new BMapGL.Map('container'); | |||||
await this.isFieldPersonnel() | |||||
if(!this.postData.ClockPlace){ | |||||
return true | |||||
} | |||||
this.timer1 = setInterval(async ()=>{ | |||||
if(this.isGetingLocal)return | |||||
if(!this.postData.ClockPlace){ | if(!this.postData.ClockPlace){ | ||||
return true | |||||
clearInterval(this.timer1) | |||||
} | } | ||||
this.timer1 = setInterval(async ()=>{ | |||||
if(this.isGetingLocal)return | |||||
if(!this.postData.ClockPlace){ | |||||
clearInterval(this.timer1) | |||||
} | |||||
this.isGetingLocal = true | |||||
await this.isFieldPersonnel() | |||||
// console.log(this.postData) | |||||
this.isGetingLocal = false | |||||
},3000) | |||||
} | |||||
this.isGetingLocal = true | |||||
await this.isFieldPersonnel() | |||||
// console.log(this.postData) | |||||
this.isGetingLocal = false | |||||
},3000) | |||||
return true | return true | ||||
}, | }, | ||||
//返回 | //返回 | ||||
@@ -284,7 +286,7 @@ | |||||
resolve(false) | resolve(false) | ||||
} | } | ||||
new BMapGL.Convertor().translate([res], 3, 5, data => { | new BMapGL.Convertor().translate([res], 3, 5, data => { | ||||
if (data.status == 0) { | |||||
if (data&&data.status == 0) { | |||||
// alert(data.points[0].lng + '' + data.points[0].lat) | // alert(data.points[0].lng + '' + data.points[0].lat) | ||||
this.$set(this.postData, 'ALon', data.points[0].lng) | this.$set(this.postData, 'ALon', data.points[0].lng) | ||||
this.$set(this.postData, 'ALat', data.points[0].lat) | this.$set(this.postData, 'ALat', data.points[0].lat) | ||||
@@ -304,7 +306,7 @@ | |||||
this.$set(this.postData, 'ALon', '') | this.$set(this.postData, 'ALon', '') | ||||
this.$set(this.postData, 'ALat', '') | this.$set(this.postData, 'ALat', '') | ||||
this.$set(this.postData, 'ClockPlace', '') | this.$set(this.postData, 'ClockPlace', '') | ||||
this.TOAST('获取定位失败!') | |||||
this.TOAST('定位获取失败!') | |||||
resolve(false) | resolve(false) | ||||
} | } | ||||
@@ -322,8 +324,8 @@ | |||||
}, | }, | ||||
// 判断是否学校网络 | // 判断是否学校网络 | ||||
isInternalNetwork(TOAST=true){ | isInternalNetwork(TOAST=true){ | ||||
this.LOADING() | |||||
this.requestBase("https://mp.weixin.qq.com/intp/getuserclientip").then(res=>{ | |||||
this.LOADING('加载数据中...') | |||||
return this.requestBase("https://mp.weixin.qq.com/intp/getuserclientip").then(res=>{ | |||||
this.HIDE_LOADING() | this.HIDE_LOADING() | ||||
let res_ = res[1] | let res_ = res[1] | ||||
let client_ip_start = '1.190.222.' | let client_ip_start = '1.190.222.' | ||||