@@ -0,0 +1,122 @@ | |||||
@{ ViewBag.Title = "全院学生线上成绩录入"; Layout = "~/Views/Shared/_Index.cshtml"; } | |||||
<style> | |||||
.lr-select { | |||||
width: 150px; | |||||
} | |||||
#LessonNo { | |||||
width: 180px; | |||||
} | |||||
.lr-selectLittle { | |||||
width: 80px; | |||||
} | |||||
.lr-layout-tool { | |||||
height: 80px; | |||||
} | |||||
.lr-layout-center .lr-layout-wrap.lr-layout-wrap-notitle { | |||||
padding-top: 80px; | |||||
} | |||||
.divRow { | |||||
position: absolute; | |||||
width: 100%; | |||||
height: 55px; | |||||
top: 0; | |||||
left: 0; | |||||
} | |||||
.scaleRow { | |||||
top: 55px; | |||||
padding: 2px 10px; | |||||
height: 25px; | |||||
} | |||||
.scaleRow .timeBox { | |||||
float: right; | |||||
padding-right: 30px; | |||||
} | |||||
.scaleRow .tipBox { | |||||
display: inline-block; | |||||
color: #ff0000; | |||||
margin-left: 10px; | |||||
} | |||||
#addMinutesBtn { | |||||
display: inline-block; | |||||
cursor: pointer; | |||||
background-color: blue; | |||||
color: #fff; | |||||
padding: 1px 5px; | |||||
border-radius: 4px; | |||||
} | |||||
</style> | |||||
<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="selectRow divRow"> | |||||
<div class="lr-layout-tool-left"> | |||||
<div class="lr-layout-tool-item"> | |||||
<div id="F_SchoolId" type="lrselect" class="lr-select"></div> | |||||
</div> | |||||
<div class="lr-layout-tool-item"> | |||||
<div id="AcademicYearNo" type="lrselect" class="lr-select lr-selectLittle"></div> | |||||
</div> | |||||
<div class="lr-layout-tool-item"> | |||||
<div id="Semester" type="lrselect" class="lr-select lr-selectLittle"></div> | |||||
</div> | |||||
<div class="lr-layout-tool-item"> | |||||
<div id="LessonNo" type="lrselect" class="lr-select"></div> | |||||
</div> | |||||
<div class="lr-layout-tool-item"> | |||||
<div id="EmpNo" type="lrselect" class="lr-select"></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> | |||||
</div> | |||||
<div class=" btn-group btn-group-sm" learun-authorize="yes" id="btnBox"> | |||||
<a id="lr_input" class="btn btn-default"><i class="fa fa-edit"> 开始录入</i></a> | |||||
<a id="lr_save" class="btn btn-default" style="display:none;"><i class="fa fa-edit"> 提交成绩</i></a> | |||||
<a id="lr_check" class="btn btn-default"><i class="fa fa-lock"> 审核</i></a> | |||||
<a id="lr_uncheck" class="btn btn-default"><i class="fa fa-lock"> 取消审核</i></a> | |||||
@*<a id="lr_setScale" class="btn btn-default"><i class="fa fa-edit"> 设置成绩比例</i></a>*@ | |||||
<a id="lr_importScore" class="btn btn-default"><i class="fa fa-edit"> 导入更新</i></a> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<div class="scaleRow divRow"> | |||||
@*<span>比例设置:</span> | |||||
<span>平时成绩占比 <span id="OrdinaryScoreScale">0</span> %,</span> | |||||
<span>期中成绩占比 <span id="TermInScoreScale">0</span> %,</span> | |||||
<span>期末成绩占比 <span id="TermEndScoreScale">0</span> %,</span> | |||||
<span>其他成绩占比 <span id="OtherScoreScale">0</span> %</span>*@ | |||||
<div class="tipBox">提示:录入完成后,请务必点击“提交成绩”按钮,避免成绩丢失!</div> | |||||
<div class="timeBox" style="display:none;"> | |||||
倒计时: | |||||
<span id="minutes" data-minutes="30"></span>分钟(<span id="seconds" data-seconds="60"></span>秒) | |||||
<div id="addMinutesBtn" data-minutes="30">续时</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<div class="lr-layout-body" id="gridtable"></div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/StuScoreOnline/InputScoreIndex.js") | |||||
<script> | |||||
var CanInputFlag = "@ViewBag.CanInputFlag"; | |||||
if (CanInputFlag != "True") { | |||||
top.learun.layerConfirm('当前时间不是线上成绩录入时间!', function (res) {}); | |||||
} | |||||
</script> |
@@ -0,0 +1,553 @@ | |||||
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) | |||||
* Copyright (c) 2013-2018 北京泉江科技有限公司 | |||||
* 创建人:超级管理员 | |||||
* 日 期:2023-06-12 11:02 | |||||
* 描 述:全院学生线上成绩录入 | |||||
*/ | |||||
var selectedRow; | |||||
var refreshGirdData; | |||||
var refreshGirdData2; | |||||
var judgeSelect; //判断下拉框是否选择 | |||||
var modifyDate; //成绩被占用,且是登录用户时,成绩表中的编辑时间; | |||||
var timer; //计时器 | |||||
var submitScoreTimer; //五分钟提交成绩计时器 | |||||
var headData; //常规列头 | |||||
var headDataEdit; //可编辑列头 | |||||
var headDataNoEdit; //不可编辑列头 | |||||
var headDataFinally; //最终列头 | |||||
var bootstrap = function ($, learun) { | |||||
"use strict"; | |||||
var page = { | |||||
init: function () { | |||||
headData = [ | |||||
{ | |||||
label: "审核状态", name: "CheckMark", width: 80, align: "center", | |||||
formatter: function (cellvalue) { | |||||
return cellvalue == "1" ? "<span class=\"label label-success\">已审核</span>" : "<span class=\"label label-danger\">未审核</span>"; | |||||
} | |||||
}, | |||||
{ label: '学年', name: 'AcademicYearNo', width: 50, align: "left" }, | |||||
{ label: '学期', name: 'Semester', width: 40, align: "left" }, | |||||
{ label: '课程名称', name: 'LessonName', width: 150, align: "left" }, | |||||
{ | |||||
label: "学校名称", name: "F_SchoolId", width: 100, 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: "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: 'StuName', width: 100, align: "left" }, | |||||
{ label: '学生学号', name: 'StuNo', width: 100, align: "left" }, | |||||
]; | |||||
headDataEdit = [ | |||||
{ | |||||
label: '成绩', name: 'TermEndScore', width: 80, align: "left", | |||||
edit: { | |||||
type: 'input', | |||||
inputType: 'number', | |||||
change: function (row, rownum) { | |||||
row.Score = (parseFloat(row.TermEndScore || '0') * 1).toFixed(2); | |||||
$('#gridtable').jfGridSet('updateRow', rownum); | |||||
}, | |||||
} | |||||
}, | |||||
{ label: '最终核定成绩', name: 'Score', width: 80, align: "left" }, | |||||
{ | |||||
label: '备注', name: 'Remark', width: 100, align: "left", | |||||
edit: { | |||||
type: 'input', | |||||
} | |||||
}, | |||||
]; | |||||
headDataNoEdit = [ | |||||
{ | |||||
label: '成绩', name: 'TermEndScore', width: 80, align: "left" | |||||
}, | |||||
{ label: '最终核定成绩', name: 'Score', width: 80, align: "left" }, | |||||
{ | |||||
label: '备注', name: 'Remark', width: 100, align: "left" | |||||
}, | |||||
]; | |||||
headDataFinally = headData.concat(headDataNoEdit); | |||||
page.initGird(); | |||||
page.bind(); | |||||
page.bindSelect(); | |||||
}, | |||||
bind: function () { | |||||
//多条件选择 | |||||
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) { | |||||
page.search(queryJson); | |||||
}, 220, 500); | |||||
// 刷新 | |||||
$('#lr_refresh').on('click', function () { | |||||
location.reload(); | |||||
}); | |||||
//查询 | |||||
$('#btn_Search').on('click', function () { | |||||
refreshGirdData2(); | |||||
}); | |||||
//设置成绩比例(暂时未使用未修改) | |||||
$('#lr_setScale').on('click', function () { | |||||
var query = judgeSelect(); | |||||
if (query) { | |||||
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/OpenLessonPlan/GetOpenLessonPlanEntityByJson?queryJson=' + JSON.stringify(query), function (data) { | |||||
if (data["OpenLessonPlan"] != null) { | |||||
if (data["OpenLessonPlan"].IsAllowEdit) { //教务允许成绩录入时编辑比例 | |||||
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/OpenLessonPlan/GetStuSelectLessonListEntityByJson?queryJson=' + JSON.stringify(query), function (data) { | |||||
if (data["StuSelectLessonList"] != null) { | |||||
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/GetEntityByJson?queryJson=' + JSON.stringify(query), function (data) { | |||||
if (data != null) { | |||||
if (data.CheckMark == 1) { //学生成绩已审核 | |||||
learun.alert.warning("学生成绩已审核!"); | |||||
return false; | |||||
} else { | |||||
learun.layerForm({ | |||||
id: 'FormOfClass', | |||||
title: '班级成绩比例设置', | |||||
url: top.$.rootUrl + '/EducationalAdministration/OpenLessonPlan/FormOfClass?F_SchoolId=' + query.F_SchoolId + '&AcademicYearNo=' + query.AcademicYearNo + '&Semester=' + query.Semester + '&LessonNo=' + query.LessonNo + '&ClassNo=' + query.ClassNo, | |||||
width: 600, | |||||
height: 400, | |||||
callBack: function (id) { | |||||
return top[id].acceptClick(refreshGirdData2); | |||||
} | |||||
}); | |||||
} | |||||
} else { | |||||
learun.alert.warning("学生成绩不存在!"); | |||||
return false; | |||||
} | |||||
}); | |||||
} else { | |||||
learun.alert.warning("学生选课数据不存在!"); | |||||
return false; | |||||
} | |||||
}); | |||||
} else { | |||||
learun.alert.warning("教务不允许设置成绩比例!"); | |||||
return false; | |||||
} | |||||
} else { | |||||
learun.alert.warning("开课计划不存在!"); | |||||
return false; | |||||
} | |||||
}); | |||||
} | |||||
}); | |||||
// 开始录入 | |||||
$('#lr_input').on('click', function () { | |||||
//提示弹框 | |||||
learun.layerConfirm('录入完成后,请务必点击“提交成绩”按钮,避免成绩丢失!', function (res) { | |||||
if (res) { | |||||
var query = judgeSelect(); | |||||
if (query) { | |||||
//判断成绩比例是否合理 | |||||
//var OrdinaryScoreScale = $('#OrdinaryScoreScale').html(); | |||||
//var TermInScoreScale = $('#TermInScoreScale').html(); | |||||
//var TermEndScoreScale = $('#TermEndScoreScale').html(); | |||||
//var OtherScoreScale = $('#OtherScoreScale').html(); | |||||
//var totalScale = Number(OrdinaryScoreScale) + Number(TermInScoreScale) + Number(TermEndScoreScale) + Number(OtherScoreScale); | |||||
//if (totalScale !== 100) { | |||||
// learun.alert.warning("成绩比例设置不合理!"); | |||||
// return false; | |||||
//} else { | |||||
//判断是否已审核;判断是否被其他教师占用 | |||||
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/GetEntityByJson?queryJson=' + JSON.stringify(query), function (data) { | |||||
if (data != null) { | |||||
if (data.CheckMark == 1) { | |||||
learun.alert.warning("学生成绩已审核!"); | |||||
return false; | |||||
} | |||||
if (data.IsEditable == 0) { | |||||
if (data.EditUserId == learun.clientdata.get(['userinfo']).account) { | |||||
modifyDate = data.ModifyDate; | |||||
} else { | |||||
learun.alert.warning("当前班级成绩由账号为" + data.EditUserId + "的教师在使用!"); | |||||
return false; | |||||
} | |||||
} else { | |||||
//占用成绩 | |||||
learun.postFormSilence(top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/StartInputScore', { queryJson: JSON.stringify(query) }, function (res) { }); | |||||
} | |||||
//显示可编辑列头 | |||||
headDataFinally = headData.concat(headDataEdit); | |||||
$("#gridtable")[0].dfop = undefined; | |||||
page.initGird(); | |||||
page.search(query); | |||||
//显示“提交成绩”按钮 | |||||
$('#lr_save').show(); | |||||
//隐藏“开始录入”按钮 | |||||
$('#lr_input').hide(); | |||||
//显示“倒计时” | |||||
$('.timeBox').show(); | |||||
$('#minutes').html($('#minutes').attr('data-minutes')); | |||||
//开始倒计时 | |||||
page.countDown(); | |||||
//五分钟提交成绩 | |||||
page.submitScore(); | |||||
} else { | |||||
learun.alert.warning("学生成绩不存在!"); | |||||
return false; | |||||
} | |||||
}); | |||||
//} | |||||
} | |||||
} | |||||
}); | |||||
}); | |||||
//提交成绩 | |||||
$('#lr_save').on('click', function () { | |||||
var query = judgeSelect(); | |||||
if (query) { | |||||
//成绩被占用,且是登录用户时,根据编辑时间判断是否是本人; | |||||
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/GetEntityByJson?queryJson=' + JSON.stringify(query), function (data) { | |||||
if (data != null) { | |||||
if (data.CheckMark == 1) { | |||||
learun.alert.warning("学生成绩已审核!"); | |||||
return false; | |||||
} | |||||
if (data.IsEditable == 0) { | |||||
if (data.EditUserId == learun.clientdata.get(['userinfo']).account) { | |||||
if (modifyDate != null && modifyDate != data.ModifyDate) { | |||||
learun.alert.warning("当前班级成绩被修改,请重新获取!"); | |||||
return false; | |||||
} | |||||
} else { | |||||
learun.alert.warning("当前班级成绩由账号为" + data.EditUserId + "的教师在使用!"); | |||||
return false; | |||||
} | |||||
} else if (data.IsEditable == 1) { | |||||
learun.alert.warning("学生成绩已提交!"); | |||||
return false; | |||||
} | |||||
//提交成绩 | |||||
var rowdatas = $('#gridtable').jfGridGet('rowdatas'); | |||||
learun.postFormSilence(top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/SaveInputScore', { data: JSON.stringify(rowdatas) }, function (res) { | |||||
if (res.code == 200) { | |||||
//提交成绩:取消占用 | |||||
learun.postForm(top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/SaveInputScoreStatus', { queryJson: JSON.stringify(query) }, function (res) { | |||||
if (res.code == 200) { | |||||
refreshGirdData2(); | |||||
modifyDate = null; | |||||
//隐藏“提交成绩”按钮 | |||||
$('#lr_save').hide(); | |||||
//显示“开始录入”按钮 | |||||
$('#lr_input').show(); | |||||
//隐藏“倒计时” | |||||
$('.timeBox').hide(); | |||||
//停止倒计时 | |||||
clearInterval(timer); | |||||
//停止五分钟提交成绩 | |||||
clearInterval(submitScoreTimer); | |||||
} else { | |||||
learun.alert.warning("提交成绩:取消占用失败!"); | |||||
return false; | |||||
} | |||||
}); | |||||
} else { | |||||
learun.alert.warning("提交成绩失败!"); | |||||
return false; | |||||
} | |||||
}); | |||||
} else { | |||||
learun.alert.warning("学生成绩不存在!"); | |||||
return false; | |||||
} | |||||
}); | |||||
} | |||||
}); | |||||
// 审核 | |||||
$('#lr_check').on('click', function () { | |||||
var query = judgeSelect(); | |||||
if (query) { | |||||
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/GetEntityByJson?queryJson=' + JSON.stringify(query), function (data) { | |||||
if (data != null) { | |||||
if (data.CheckMark == 1) { | |||||
learun.alert.warning("学生成绩已审核!"); | |||||
return false; | |||||
} | |||||
learun.layerConfirm('是否确认审核当前班级的学生成绩!', function (res) { | |||||
if (res) { | |||||
//审核成绩 | |||||
learun.postForm(top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/DoCheckScore', { queryJson: JSON.stringify(query), checkMark: 1 }, function (res) { | |||||
if (res.code == 200) { | |||||
refreshGirdData2(); | |||||
} else { | |||||
learun.alert.warning("审核成绩失败!"); | |||||
return false; | |||||
} | |||||
}); | |||||
} | |||||
}); | |||||
} else { | |||||
learun.alert.warning("学生成绩不存在!"); | |||||
return false; | |||||
} | |||||
}); | |||||
} | |||||
}); | |||||
// 去审核 | |||||
$('#lr_uncheck').on('click', function () { | |||||
var query = judgeSelect(); | |||||
if (query) { | |||||
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/GetEntityByJson?queryJson=' + JSON.stringify(query), function (data) { | |||||
if (data != null) { | |||||
if (data.CheckMark != 1) { | |||||
learun.alert.warning("学生成绩未审核!"); | |||||
return false; | |||||
} | |||||
learun.layerConfirm('是否确认去审核当前班级的学生成绩!', function (res) { | |||||
if (res) { | |||||
//去审核成绩 | |||||
learun.postForm(top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/DoCheckScore', { queryJson: JSON.stringify(query), checkMark: 0 }, function (res) { | |||||
if (res.code == 200) { | |||||
refreshGirdData2(); | |||||
} else { | |||||
learun.alert.warning("去审核成绩失败!"); | |||||
return false; | |||||
} | |||||
}); | |||||
} | |||||
}); | |||||
} else { | |||||
learun.alert.warning("学生成绩不存在!"); | |||||
return false; | |||||
} | |||||
}); | |||||
} | |||||
}); | |||||
//续时 | |||||
$('#addMinutesBtn').on('click', function () { | |||||
var query = judgeSelect(); | |||||
if (query) { | |||||
clearInterval(timer); | |||||
var addMinutes = $('#addMinutesBtn').attr('data-minutes'); | |||||
var newMinutes = addMinutes; | |||||
var minutes = $('#minutes').html(); | |||||
if (minutes > 0) { | |||||
newMinutes = Number(newMinutes) + Number(minutes); | |||||
} | |||||
$('#minutes').html(newMinutes); | |||||
page.countDown(); | |||||
//修改服务时间 | |||||
learun.postFormSilence(top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/AddMinutes', { queryJson: JSON.stringify(query), minutes: newMinutes }, function (res) { }); | |||||
} | |||||
}); | |||||
//导入更新 | |||||
$('#lr_importScore').on('click', function () { | |||||
//todo: | |||||
}); | |||||
}, | |||||
bindSelect: function () { | |||||
//校区 | |||||
$('#F_SchoolId').lrDataSourceSelect({ | |||||
code: 'company', value: 'f_companyid', text: 'f_fullname', select: function (item) { } | |||||
}); | |||||
$('#F_SchoolId').lrselectSet(learun.clientdata.get(['userinfo']).companyId); | |||||
//学年 | |||||
$('#AcademicYearNo').lrselect({ | |||||
placeholder: "学年", | |||||
allowSearch: false, | |||||
url: top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/GetAcademicYearNoData', | |||||
value: 'value', | |||||
text: 'text' | |||||
}); | |||||
//学期 | |||||
$('#Semester').lrselect({ | |||||
placeholder: "学期", | |||||
allowSearch: false, | |||||
url: top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/GetSemesterData', | |||||
value: 'value', | |||||
text: 'text' | |||||
}); | |||||
//课程 | |||||
$('#LessonNo').lrselect({ | |||||
placeholder: "请选择课程", | |||||
allowSearch: true, | |||||
url: top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/GetLessonNoDataOfAllWithNo', | |||||
value: 'value', | |||||
text: 'text', | |||||
select: function (item) { | |||||
if (!!item) { | |||||
$("#EmpNo").lrselectRefresh({ | |||||
url: top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/GetEmpNoDataOfAll?lessonNo=' + item.value, | |||||
value: 'value', | |||||
text: 'text', | |||||
}); | |||||
} | |||||
} | |||||
}); | |||||
//教师 | |||||
$('#EmpNo').lrselect({ | |||||
placeholder: "请选择教师", | |||||
allowSearch: true, | |||||
url: top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/GetEmpNoDataOfAll', | |||||
value: 'value', | |||||
text: 'text' | |||||
}); | |||||
//绑定学年、学期 | |||||
$.get('/Home/GetYearAndSemesteResult', function (ref) { | |||||
if (ref.code == "200") { | |||||
$('#AcademicYearNo').lrselectSet(ref.data.Item1); | |||||
$('#Semester').lrselectSet(ref.data.Item3); | |||||
} | |||||
}.bind(this), "json"); | |||||
}, | |||||
initGird: function () { | |||||
$('#gridtable').jfGrid({ | |||||
url: top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/GetList', | |||||
headData: headDataFinally, | |||||
mainId: 'ScoreId', | |||||
isPage: false, | |||||
sidx: 'StuNo', | |||||
sord: 'asc' | |||||
}); | |||||
//page.search(); | |||||
}, | |||||
search: function (param) { | |||||
param = param || {}; | |||||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||||
}, | |||||
searchScale: function (param) { | |||||
param = param || {}; | |||||
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/OpenLessonPlan/GetStuSelectLessonListEntityByJson?queryJson=' + JSON.stringify(param), function (data) { | |||||
if (data["StuSelectLessonList"] != null) { | |||||
var ssll = data["StuSelectLessonList"]; | |||||
$('#OrdinaryScoreScale').html(ssll.OrdinaryScoreScale > 0 ? ssll.OrdinaryScoreScale : 0); | |||||
$('#TermInScoreScale').html(ssll.TermInScoreScale > 0 ? ssll.TermInScoreScale : 0); | |||||
$('#TermEndScoreScale').html(ssll.TermEndScoreScale > 0 ? ssll.TermEndScoreScale : 0); | |||||
$('#OtherScoreScale').html(ssll.OtherScoreScale > 0 ? ssll.OtherScoreScale : 0); | |||||
} else { | |||||
$('#OrdinaryScoreScale').html(0); | |||||
$('#TermInScoreScale').html(0); | |||||
$('#TermEndScoreScale').html(0); | |||||
$('#OtherScoreScale').html(0); | |||||
} | |||||
}); | |||||
}, | |||||
countDown: function () { | |||||
var minutes = $('#minutes').html(); | |||||
var minutesTemp = minutes; | |||||
var seconds = $('#seconds').attr('data-seconds'); | |||||
$('#seconds').html(seconds); | |||||
var secondsTemp = seconds; | |||||
timer = setInterval(function () { | |||||
secondsTemp--; | |||||
$('#seconds').html(secondsTemp); | |||||
if (secondsTemp == 0) { | |||||
secondsTemp = seconds; | |||||
minutesTemp--; | |||||
$('#minutes').html(minutesTemp); | |||||
if (minutesTemp == 0) { | |||||
//停止倒计时 | |||||
clearInterval(timer); | |||||
//自动提交成绩 | |||||
$('#lr_save').trigger("click"); | |||||
} | |||||
} | |||||
}, 1000); | |||||
}, | |||||
submitScore: function () { | |||||
submitScoreTimer = setInterval(function () { | |||||
var rowdatas = $('#gridtable').jfGridGet('rowdatas'); | |||||
learun.postFormSilence(top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/SaveInputScore', { data: JSON.stringify(rowdatas) }, function (res) { | |||||
}); | |||||
}, 300000); | |||||
}, | |||||
}; | |||||
refreshGirdData = function () { | |||||
page.search(); | |||||
}; | |||||
refreshGirdData2 = function () { | |||||
var query = judgeSelect(); | |||||
if (query) { | |||||
//显示不可编辑列头 | |||||
headDataFinally = headData.concat(headDataNoEdit); | |||||
$("#gridtable")[0].dfop = undefined; | |||||
page.initGird(); | |||||
page.search(query); | |||||
//page.searchScale(query); | |||||
} | |||||
}; | |||||
judgeSelect = function () { | |||||
if (CanInputFlag != "True") { | |||||
top.learun.layerConfirm('当前时间不是线上成绩录入时间!', function (res) { }); | |||||
return false; | |||||
} | |||||
var $content = $('body').find('.lr-layout-tool-left'); | |||||
var query = $content.lrGetFormData(); | |||||
if (query.F_SchoolId == null || query.F_SchoolId == "") { | |||||
learun.alert.warning("请选择校区!"); | |||||
return false; | |||||
} | |||||
if (query.AcademicYearNo == null || query.AcademicYearNo == "") { | |||||
learun.alert.warning("请选择学年!"); | |||||
return false; | |||||
} | |||||
if (query.Semester == null || query.Semester == "") { | |||||
learun.alert.warning("请选择学期!"); | |||||
return false; | |||||
} | |||||
if (query.LessonNo == null || query.LessonNo == "") { | |||||
learun.alert.warning("请选择课程!"); | |||||
return false; | |||||
} | |||||
if (query.EmpNo == null || query.EmpNo == "") { | |||||
learun.alert.warning("请选择教师!"); | |||||
return false; | |||||
} | |||||
return query; | |||||
}; | |||||
page.init(); | |||||
} |
@@ -0,0 +1,38 @@ | |||||
@{ | |||||
ViewBag.Title = "线上成绩录入监控管理"; | |||||
Layout = "~/Views/Shared/_Index.cshtml"; | |||||
} | |||||
<style> | |||||
.lr-select { | |||||
width: 150px; | |||||
} | |||||
</style> | |||||
<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="AcademicYearNo" type="lrselect" class="lr-select"></div> | |||||
</div> | |||||
<div class="lr-layout-tool-item"> | |||||
<div id="Semester" type="lrselect" class="lr-select"></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> | |||||
</div> | |||||
<div class=" btn-group btn-group-sm" learun-authorize="yes"> | |||||
<a id="lr_submit" class="btn btn-default"><i class="fa fa-lock"></i> 强制提交</a> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<div class="lr-layout-body" id="gridtable"></div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/StuScoreOnline/Monitor.js") |
@@ -0,0 +1,132 @@ | |||||
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) | |||||
* Copyright (c) 2013-2018 北京泉江科技有限公司 | |||||
* 创建人:超级管理员 | |||||
* 日 期:2019-06-14 11:02 | |||||
* 描 述:考试成绩同步 | |||||
*/ | |||||
var selectedRow; | |||||
var refreshGirdData; | |||||
var bootstrap = function ($, learun) { | |||||
"use strict"; | |||||
var page = { | |||||
init: function () { | |||||
page.bind(); | |||||
page.initGird(); | |||||
}, | |||||
bind: function () { | |||||
//学年 | |||||
$('#AcademicYearNo').lrselect({ | |||||
width: '150px', | |||||
placeholder: "请选择学年", | |||||
allowSearch: true, | |||||
url: top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/GetAcademicYearNoData', | |||||
value: 'value', | |||||
text: 'text' | |||||
}); | |||||
//学期 | |||||
$('#Semester').lrselect({ | |||||
width: '150px', | |||||
placeholder: "请选择学期", | |||||
allowSearch: true, | |||||
url: top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/GetSemesterData', | |||||
value: 'value', | |||||
text: 'text' | |||||
}); | |||||
// 查询 | |||||
$('#btn_Search').on('click', function () { | |||||
page.search({ AcademicYearNo: $('#AcademicYearNo').lrselectGet(), Semester: $('#Semester').lrselectGet() }); | |||||
}); | |||||
// 刷新 | |||||
$('#lr_refresh').on('click', function () { | |||||
location.reload(); | |||||
}); | |||||
//强制提交 | |||||
$('#lr_submit').on('click', function () { | |||||
var keyValue = $('#gridtable').jfGridValue('EmpNo'); | |||||
if (learun.checkrow(keyValue)) { | |||||
var IsEditable = $('#gridtable').jfGridValue('IsEditable'); | |||||
if (IsEditable == "1") { | |||||
learun.alert.warning("当前项目无需提交!"); | |||||
return; | |||||
} | |||||
learun.layerConfirm('是否确认提交该项?未保存的成绩将会丢失!', function (res) { | |||||
if (res) { | |||||
learun.postForm(top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/Submit', | |||||
{ | |||||
AcademicYearNo: $('#gridtable').jfGridValue('AcademicYearNo'), | |||||
Semester: $('#gridtable').jfGridValue('Semester'), | |||||
LessonNo: $('#gridtable').jfGridValue('LessonNo'), | |||||
EmpNo: $('#gridtable').jfGridValue('EmpNo'), | |||||
EditUserId: $('#gridtable').jfGridValue('EditUserId'), | |||||
}, | |||||
function () { | |||||
refreshGirdData(); | |||||
}); | |||||
} | |||||
}); | |||||
} | |||||
}); | |||||
}, | |||||
initGird: function () { | |||||
$('#gridtable').jfGrid({ | |||||
url: top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/GetMonitorList', | |||||
headData: [ | |||||
{ | |||||
label: "录入状态", name: "IsEditable", width: 80, align: "center", | |||||
formatter: function (cellvalue) { | |||||
return cellvalue == "1" ? "<span class=\"label label-success\">未占用</span>" : "<span class=\"label label-danger\">正在录入</span>"; | |||||
} | |||||
}, | |||||
{ label: '学年', name: 'AcademicYearNo', width: 50, align: "left" }, | |||||
{ label: '学期', name: 'Semester', width: 40, align: "left" }, | |||||
{ label: '课程编号', name: 'LessonNo', width: 100, align: "left" }, | |||||
{ label: '课程名称', name: 'LessonName', width: 150, align: "left" }, | |||||
{ label: '代课教师编号', name: 'EmpNo', width: 100, align: "left" }, | |||||
{ | |||||
label: '代课教师姓名', name: 'EmpNo', width: 100, align: "left", | |||||
formatterAsync: function (callback, value, row, op, $cell) { | |||||
learun.clientdata.getAsync('custmerData', { | |||||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'TeacherInfo', | |||||
key: value, | |||||
keyId: 'f_account', | |||||
callback: function (_data) { | |||||
callback(_data['f_realname']); | |||||
} | |||||
}); | |||||
} | |||||
}, | |||||
{ label: '占用教师编号', name: 'EditUserId', width: 100, align: "left" }, | |||||
{ | |||||
label: '占用教师姓名', name: 'EditUserId', width: 100, align: "left", | |||||
formatterAsync: function (callback, value, row, op, $cell) { | |||||
learun.clientdata.getAsync('custmerData', { | |||||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'TeacherInfo', | |||||
key: value, | |||||
keyId: 'f_account', | |||||
callback: function (_data) { | |||||
callback(_data['f_realname']); | |||||
} | |||||
}); | |||||
} | |||||
}, | |||||
{ label: '开始录入日期', name: 'BeginModifyDate', width: 150, align: "left" }, | |||||
{ label: '最后保存日期', name: 'ModifyDate', width: 150, align: "left" }, | |||||
], | |||||
//mainId: 'ScoreId', | |||||
isPage: false | |||||
}); | |||||
//page.search(); | |||||
}, | |||||
search: function (param) { | |||||
param = param || {}; | |||||
param.AcademicYearNo = $('#AcademicYearNo').lrselectGet(); | |||||
param.Semester = $('#Semester').lrselectGet(); | |||||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||||
} | |||||
}; | |||||
refreshGirdData = function () { | |||||
page.search(); | |||||
}; | |||||
page.init(); | |||||
} |
@@ -2,7 +2,7 @@ | |||||
ViewBag.Title = "选修课课程"; | ViewBag.Title = "选修课课程"; | ||||
Layout = "~/Views/Shared/_Index.cshtml"; | Layout = "~/Views/Shared/_Index.cshtml"; | ||||
} | } | ||||
<div class="lr-layout " > | |||||
<div class="lr-layout "> | |||||
<div class="lr-layout-center"> | <div class="lr-layout-center"> | ||||
<div class="lr-layout-wrap lr-layout-wrap-notitle "> | <div class="lr-layout-wrap lr-layout-wrap-notitle "> | ||||
<div class="lr-layout-tool"> | <div class="lr-layout-tool"> | ||||
@@ -16,28 +16,40 @@ | |||||
</div> | </div> | ||||
<div class="col-xs-6 lr-form-item"> | <div class="col-xs-6 lr-form-item"> | ||||
<div class="lr-form-item-title">学期</div> | <div class="lr-form-item-title">学期</div> | ||||
<div id="Semester" class="form-control"></div> | |||||
<div id="Semester"></div> | |||||
</div> | </div> | ||||
<div class="col-xs-12 lr-form-item"> | |||||
<div class="col-xs-6 lr-form-item"> | |||||
<div class="lr-form-item-title">学号</div> | |||||
<input id="StuNo" class="form-control" /> | |||||
</div> | |||||
<div class="col-xs-6 lr-form-item"> | |||||
<div class="lr-form-item-title">姓名</div> | |||||
<input id="StuName" class="form-control" /> | |||||
</div> | |||||
<div class="col-xs-6 lr-form-item"> | |||||
<div class="lr-form-item-title">课程名称</div> | |||||
<div id="LessonNo"></div> | |||||
</div> | |||||
<div class="col-xs-6 lr-form-item"> | |||||
<div class="lr-form-item-title">建课教师</div> | |||||
<input id="EmpName" class="form-control" /> | |||||
</div> | |||||
<div class="col-xs-6 lr-form-item"> | |||||
<div class="lr-form-item-title">校区</div> | <div class="lr-form-item-title">校区</div> | ||||
<div id="F_SchoolId"></div> | <div id="F_SchoolId"></div> | ||||
</div> | </div> | ||||
<div class="col-xs-6 lr-form-item"> | <div class="col-xs-6 lr-form-item"> | ||||
<div class="lr-form-item-title">系部</div> | |||||
<div class="lr-form-item-title">院系</div> | |||||
<div id="DeptNo"></div> | <div id="DeptNo"></div> | ||||
</div> | </div> | ||||
<div class="col-xs-6 lr-form-item"> | <div class="col-xs-6 lr-form-item"> | ||||
<div class="lr-form-item-title">专业</div> | <div class="lr-form-item-title">专业</div> | ||||
<div id="MajorNo"></div> | <div id="MajorNo"></div> | ||||
</div> | </div> | ||||
<div class="col-xs-12 lr-form-item"> | |||||
<div class="col-xs-6 lr-form-item"> | |||||
<div class="lr-form-item-title">班级</div> | <div class="lr-form-item-title">班级</div> | ||||
<div id="ClassNo"></div> | <div id="ClassNo"></div> | ||||
</div> | </div> | ||||
<div class="col-xs-6 lr-form-item"> | |||||
<div class="lr-form-item-title">选课状态</div> | |||||
<div id="ElectiveSelectStatus"></div> | |||||
</div> | |||||
<div class="col-xs-6 lr-form-item"> | <div class="col-xs-6 lr-form-item"> | ||||
<div class="lr-form-item-title">报名状态</div> | <div class="lr-form-item-title">报名状态</div> | ||||
<div id="ElectiveSignUpStatus"></div> | <div id="ElectiveSignUpStatus"></div> | ||||
@@ -45,6 +57,9 @@ | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="lr-layout-tool-item"> | |||||
<div style="height:28px;line-height:28px;">提示:请输入学年和学期进行查询</div> | |||||
</div> | |||||
</div> | </div> | ||||
<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"> | ||||
@@ -56,4 +71,4 @@ | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/StuSelectLessonListOfElective/QueryStuSelectResultForTeacher.js") | |||||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/StuSelectLessonListOfElectiveOnline/QueryStuSelectResultForTeacher.js") |
@@ -24,7 +24,7 @@ var bootstrap = function ($, learun) { | |||||
return; | return; | ||||
} | } | ||||
page.search(queryJson); | page.search(queryJson); | ||||
}, 300, 400); | |||||
}, 330, 500); | |||||
$('#AcademicYearNo').lrselect({ | $('#AcademicYearNo').lrselect({ | ||||
placeholder: "请选择学年", | placeholder: "请选择学年", | ||||
allowSearch: true, | allowSearch: true, | ||||
@@ -40,12 +40,58 @@ var bootstrap = function ($, learun) { | |||||
value: 'value', | value: 'value', | ||||
text: 'text' | text: 'text' | ||||
}); | }); | ||||
$('#ElectiveSelectStatus').lrDataItemSelect({ code: 'ElectiveSelectStatus' }); | |||||
$('#ElectiveSignUpStatus').lrDataItemSelect({ code: 'ElectiveSignUpStatus' }); | |||||
//数据集不选择线上课程信息,选择选课情况里的课程信息 | |||||
$('#LessonNo').lrselect({ | |||||
allowSearch: true, | |||||
url: top.$.rootUrl + '/EducationalAdministration/StuSelectLessonListOfElectiveOnline/GetSelectLessonInfo', | |||||
value: "LessonNo", | |||||
text: "LessonName" | |||||
}); | |||||
$('#F_SchoolId').lrDataSourceSelect({ code: 'company', value: 'f_companyid', text: 'f_fullname' }); | $('#F_SchoolId').lrDataSourceSelect({ code: 'company', value: 'f_companyid', text: 'f_fullname' }); | ||||
$('#DeptNo').lrDataSourceSelect({ code: 'CdDeptInfo', value: 'deptno', text: 'deptname' }); | |||||
$('#MajorNo').lrDataSourceSelect({ code: 'CdMajorInfo', value: 'majorno', text: 'majorname' }); | |||||
$('#ClassNo').lrDataSourceSelect({ code: 'bjsj', value: 'classno', text: 'classname' }); | |||||
$('#DeptNo').lrDataSourceSelect({ | |||||
code: 'CdDeptInfo', value: 'deptno', text: 'deptname', select: function (item) { | |||||
if (!!item) { | |||||
$('#MajorNo').lrselectRefresh({ | |||||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=CdMajorInfo', | |||||
param: { strWhere: "deptno='" + item.deptno + "' order by majorno " }, | |||||
}); | |||||
} else { | |||||
$('#MajorNo').lrselectRefresh({ | |||||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=CdMajorInfo', | |||||
param: { strWhere: "1=1 order by majorno " }, | |||||
}); | |||||
} | |||||
} | |||||
}); | |||||
$('#MajorNo').lrselect({ | |||||
allowSearch: true, | |||||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=CdMajorInfo', | |||||
param: { strWhere: "1=1 order by majorno " }, | |||||
value: "majorno", | |||||
text: "majorname", | |||||
select: function (item) { | |||||
if (!!item) { | |||||
$('#ClassNo').lrselectRefresh({ | |||||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=bjsj', | |||||
param: { strWhere: "majorno='" + item.majorno + "' order by classno " }, | |||||
}); | |||||
} else { | |||||
$('#ClassNo').lrselectRefresh({ | |||||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=bjsj', | |||||
param: { strWhere: "1=1 order by classno " }, | |||||
}); | |||||
} | |||||
} | |||||
}); | |||||
$('#ClassNo').lrselect({ | |||||
allowSearch: true, | |||||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=bjsj', | |||||
param: { strWhere: "1=1 order by classno " }, | |||||
value: "classno", | |||||
text: "classname" | |||||
}); | |||||
$('#ElectiveSignUpStatus').lrDataItemSelect({ code: 'ElectiveSignUpStatus' }); | |||||
// 刷新 | // 刷新 | ||||
$('#lr_refresh').on('click', function () { | $('#lr_refresh').on('click', function () { | ||||
location.reload(); | location.reload(); | ||||
@@ -54,12 +100,22 @@ var bootstrap = function ($, learun) { | |||||
// 初始化列表 | // 初始化列表 | ||||
initGird: function () { | initGird: function () { | ||||
$('#gridtable').jfGrid({ | $('#gridtable').jfGrid({ | ||||
url: top.$.rootUrl + '/EducationalAdministration/StuSelectLessonListOfElective/GetQueryStuSelectResultList', | |||||
url: top.$.rootUrl + '/EducationalAdministration/StuSelectLessonListOfElectiveOnline/GetQueryStuSelectResultList', | |||||
headData: [ | headData: [ | ||||
{ label: "学年", name: "AcademicYearNo", width: 80, align: "left" }, | |||||
{ label: "学期", name: "Semester", width: 60, align: "left" }, | |||||
{ label: "学年", name: "AcademicYearNo", width: 50, align: "left" }, | |||||
{ label: "学期", name: "Semester", width: 50, align: "left" }, | |||||
{ label: "学号", name: "StuNo", width: 120, align: "left" }, | |||||
{ label: "姓名", name: "StuName", width: 180, align: "left" }, | |||||
{ label: "课程编号", name: "LessonNo", width: 100, align: "left" }, | |||||
{ | |||||
label: "课程名称", name: "LessonName", width: 150, align: "left" | |||||
}, | |||||
//{ label: "教师编号", name: "EmpNo", width: 100, align: "left" }, | |||||
{ | |||||
label: "建课教师", name: "EmpName", width: 100, align: "left" | |||||
}, | |||||
{ | { | ||||
label: "校区", name: "F_SchoolId", width: 200, align: "left", | |||||
label: "建课学校", name: "F_SchoolId", width: 200, 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=' + 'company', | url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'company', | ||||
@@ -72,7 +128,7 @@ var bootstrap = function ($, learun) { | |||||
} | } | ||||
}, | }, | ||||
{ | { | ||||
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', | ||||
@@ -110,24 +166,6 @@ var bootstrap = function ($, learun) { | |||||
}); | }); | ||||
} | } | ||||
}, | }, | ||||
{ label: "学号", name: "StuNo", width: 100, align: "left" }, | |||||
{ label: "姓名", name: "StuName", width: 100, align: "left" }, | |||||
{ | |||||
label: "性别", name: "GenderNo", width: 80, align: "left", | |||||
formatter: function (cellvalue) { | |||||
return cellvalue == true ? "男" : "女"; | |||||
} | |||||
}, | |||||
{ | |||||
label: "选课状态", name: "Id", width: 100, align: "left", | |||||
formatter: function (cellvalue, row) { | |||||
if (cellvalue == null || cellvalue == undefined || cellvalue == "") { | |||||
return '<span class=\"label label-default\">未报名</span>'; | |||||
} else { | |||||
return '<span class=\"label label-success\">已报名</span>'; | |||||
} | |||||
} | |||||
}, | |||||
{ | { | ||||
label: "报名状态", name: "Status", width: 100, align: "left", | label: "报名状态", name: "Status", width: 100, align: "left", | ||||
formatter: function (cellvalue, row) { | formatter: function (cellvalue, row) { | ||||
@@ -142,62 +180,7 @@ var bootstrap = function ($, learun) { | |||||
} | } | ||||
} | } | ||||
}, | }, | ||||
{ label: "所选课程号", name: "LessonNo", width: 100, align: "left" }, | |||||
{ | |||||
label: "所选课程名称", name: "LessonName", width: 150, align: "left", | |||||
formatterAsync: function (callback, value, row, op, $cell) { | |||||
learun.clientdata.getAsync('custmerData', { | |||||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'LessonInfo', | |||||
key: row.LessonNo, | |||||
keyId: 'lessonno', | |||||
callback: function (_data) { | |||||
callback(_data['lessonname']); | |||||
} | |||||
}); | |||||
} | |||||
}, | |||||
{ label: "课程学分", name: "StudyScore", width: 100, align: "left" }, | |||||
{ label: "教师编号", name: "EmpNo", width: 100, align: "left" }, | |||||
{ | |||||
label: "教师姓名", name: "EmpName", width: 100, align: "left", | |||||
formatterAsync: function (callback, value, row, op, $cell) { | |||||
learun.clientdata.getAsync('custmerData', { | |||||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'EmpInfo', | |||||
key: row.EmpNo, | |||||
keyId: 'empno', | |||||
callback: function (_data) { | |||||
callback(_data['empname']); | |||||
} | |||||
}); | |||||
} | |||||
}, | |||||
{ | |||||
label: "上课节次", name: "LessonSection", width: 150, align: "left", | |||||
formatter: function (cellvalue, row) { | |||||
if (cellvalue != "" && cellvalue != undefined && cellvalue != null) { | |||||
if (cellvalue.indexOf(',') == -1) { | |||||
return "星期" + weekChina[cellvalue.slice(0, 1) - 1] + "第" + cellvalue.slice(1) + "节"; | |||||
} else { | |||||
return "星期" + weekChina[cellvalue.slice(0, 1) - 1] + "第" + cellvalue.slice(1, 2) + "、" + cellvalue.slice(4) + "节"; | |||||
} | |||||
} | |||||
} | |||||
}, | |||||
{ label: "上课时间", name: "LessonTime", width: 180, align: "left" }, | |||||
{ | |||||
label: "教室名称", name: "ClassRoomName", width: 100, align: "left", | |||||
formatterAsync: function (callback, value, row, op, $cell) { | |||||
learun.clientdata.getAsync('custmerData', { | |||||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'ClassRoomInfo', | |||||
key: row.ClassRoomNo, | |||||
keyId: 'classroomno', | |||||
callback: function (_data) { | |||||
callback(_data['classroomname']); | |||||
} | |||||
}); | |||||
} | |||||
}, | |||||
{ label: "备注", name: "Remark", width: 100, align: "left" }, | |||||
], | ], | ||||
mainId: 'StuId', | mainId: 'StuId', | ||||
isPage: true, | isPage: true, | ||||
@@ -340,6 +340,7 @@ | |||||
<Compile Include="Areas\AssetManagementSystem\Controllers\Ass_UserChangeInfoController.cs" /> | <Compile Include="Areas\AssetManagementSystem\Controllers\Ass_UserChangeInfoController.cs" /> | ||||
<Compile Include="Areas\AssetManagementSystem\Controllers\Ass_WarningController.cs" /> | <Compile Include="Areas\AssetManagementSystem\Controllers\Ass_WarningController.cs" /> | ||||
<Compile Include="Areas\EducationalAdministration\Controllers\ElectiveMajorOnlineController.cs" /> | <Compile Include="Areas\EducationalAdministration\Controllers\ElectiveMajorOnlineController.cs" /> | ||||
<Compile Include="Areas\EducationalAdministration\Controllers\StuScoreOnlineController.cs" /> | |||||
<Compile Include="Areas\EducationalAdministration\Controllers\StuSelectLessonListOfElectiveOnlineController.cs" /> | <Compile Include="Areas\EducationalAdministration\Controllers\StuSelectLessonListOfElectiveOnlineController.cs" /> | ||||
<Compile Include="Areas\EducationalAdministration\Controllers\YKTStateMentController.cs" /> | <Compile Include="Areas\EducationalAdministration\Controllers\YKTStateMentController.cs" /> | ||||
<Compile Include="Areas\EducationalAdministration\Controllers\ArrangeLessonSyncController.cs" /> | <Compile Include="Areas\EducationalAdministration\Controllers\ArrangeLessonSyncController.cs" /> | ||||
@@ -1030,6 +1031,8 @@ | |||||
<Content Include="Areas\EducationalAdministration\Views\StuScoreNotPass\IndexUnpassOfElective.js" /> | <Content Include="Areas\EducationalAdministration\Views\StuScoreNotPass\IndexUnpassOfElective.js" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\StuScoreNotPass\InputScoreIndexOfElectiveInTeacher.js" /> | <Content Include="Areas\EducationalAdministration\Views\StuScoreNotPass\InputScoreIndexOfElectiveInTeacher.js" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\StuScoreNotPass\InputScoreIndexOfElective.js" /> | <Content Include="Areas\EducationalAdministration\Views\StuScoreNotPass\InputScoreIndexOfElective.js" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\StuScoreOnline\InputScoreIndex.js" /> | |||||
<Content Include="Areas\EducationalAdministration\Views\StuScoreOnline\Monitor.js" /> | |||||
<Content Include="Areas\EducationalAdministration\Views\StuSelectLessonListOfElectiveOnline\AuditForm.js" /> | <Content Include="Areas\EducationalAdministration\Views\StuSelectLessonListOfElectiveOnline\AuditForm.js" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\StuSelectLessonListOfElectiveOnline\AuditIndex.js" /> | <Content Include="Areas\EducationalAdministration\Views\StuSelectLessonListOfElectiveOnline\AuditIndex.js" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\StuSelectLessonListOfElectiveOnline\FinishIndex.js" /> | <Content Include="Areas\EducationalAdministration\Views\StuSelectLessonListOfElectiveOnline\FinishIndex.js" /> | ||||
@@ -8214,6 +8217,8 @@ | |||||
<Content Include="Areas\EducationalAdministration\Views\StuSelectLessonListOfElectiveOnline\QueryStuSelectResultForTeacher.cshtml" /> | <Content Include="Areas\EducationalAdministration\Views\StuSelectLessonListOfElectiveOnline\QueryStuSelectResultForTeacher.cshtml" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\LessonInfoOfElectiveOnline\StudentIndex.cshtml" /> | <Content Include="Areas\EducationalAdministration\Views\LessonInfoOfElectiveOnline\StudentIndex.cshtml" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\StuSelectLessonListOfElectiveOnline\InitScoreForm.cshtml" /> | <Content Include="Areas\EducationalAdministration\Views\StuSelectLessonListOfElectiveOnline\InitScoreForm.cshtml" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\StuScoreOnline\InputScoreIndex.cshtml" /> | |||||
<Content Include="Areas\EducationalAdministration\Views\StuScoreOnline\Monitor.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" /> | ||||
@@ -52,13 +52,13 @@ namespace Learun.Application.WebApi | |||||
var stuInfoBasicEntity = stuInfoBasicIBLL.GetStuInfoBasicEntityByStuNo(account); | var stuInfoBasicEntity = stuInfoBasicIBLL.GetStuInfoBasicEntityByStuNo(account); | ||||
if (stuInfoBasicEntity == null) | if (stuInfoBasicEntity == null) | ||||
{ | { | ||||
return Fail("当前学员不存在!"); | |||||
return Success(new { msg = "当前学员不存在!" }); | |||||
} | } | ||||
//课程信息 | //课程信息 | ||||
var olpeEntity = lessonInfoOfElectiveOnlineIbll.GetLessonInfoOfElectiveOnlineEntity(keyValue); | var olpeEntity = lessonInfoOfElectiveOnlineIbll.GetLessonInfoOfElectiveOnlineEntity(keyValue); | ||||
if (olpeEntity == null) | if (olpeEntity == null) | ||||
{ | { | ||||
return Fail("当前课程不存在!"); | |||||
return Success(new { msg = "当前课程不存在!" }); | |||||
} | } | ||||
//当前学员本学期是否有报名课程:每学期一门 | //当前学员本学期是否有报名课程:每学期一门 | ||||
@@ -96,11 +96,11 @@ namespace Learun.Application.WebApi | |||||
{ | { | ||||
if (sslleEntity.Status == 1) | if (sslleEntity.Status == 1) | ||||
{ | { | ||||
return Fail("当前课程报名审核中,请耐心等待!"); | |||||
return Success(new { msg = "当前课程报名审核中,请耐心等待!" }); | |||||
} | } | ||||
else if (sslleEntity.Status == 2) | else if (sslleEntity.Status == 2) | ||||
{ | { | ||||
return Fail("当前课程已报名成功!"); | |||||
return Success(new { msg = "当前课程已报名成功!" }); | |||||
} | } | ||||
} | } | ||||
else | else | ||||
@@ -110,7 +110,7 @@ namespace Learun.Application.WebApi | |||||
var aaa = aa.Count(x => x.Status == 1 || x.Status == 2); | var aaa = aa.Count(x => x.Status == 1 || x.Status == 2); | ||||
if (aaa >= olpeEntity.StuNumMax) | if (aaa >= olpeEntity.StuNumMax) | ||||
{ | { | ||||
return Fail("当前课程报名人数已满,请选择其他课程!"); | |||||
return Success(new { msg = "当前课程报名人数已满,请选择其他课程!" }); | |||||
} | } | ||||
//每学期最多两门 | //每学期最多两门 | ||||
var sslleList = stuSelectLessonListOfElectiveOnlineIBLL.GetStuSelectLessonListOfElectiveOnlineListByStuNo(account); | var sslleList = stuSelectLessonListOfElectiveOnlineIBLL.GetStuSelectLessonListOfElectiveOnlineListByStuNo(account); | ||||
@@ -118,15 +118,15 @@ namespace Learun.Application.WebApi | |||||
var sslleListOfNow1 = sslleListOfNow.Where(x => x.Status == 1 || x.Status == 2); | var sslleListOfNow1 = sslleListOfNow.Where(x => x.Status == 1 || x.Status == 2); | ||||
if (sslleListOfNow1.Count() >= Config.GetValue("OnlineElectiveLessonApplyMax").ToInt()) | if (sslleListOfNow1.Count() >= Config.GetValue("OnlineElectiveLessonApplyMax").ToInt()) | ||||
{ | { | ||||
return Fail("每学期最多选择" + Config.GetValue("OnlineElectiveLessonApplyMax").ToInt() + "门线上选修课!"); | |||||
return Success(new { msg = "每学期最多选择" + Config.GetValue("OnlineElectiveLessonApplyMax").ToInt() + "门线上选修课!" }); | |||||
} | } | ||||
//相同时间不能报名 | //相同时间不能报名 | ||||
if (sslleListOfNow1.Where(x => x.LessonSection == olpeEntity.LessonSection).Any()) | |||||
if (!string.IsNullOrEmpty(olpeEntity.LessonSection) && sslleListOfNow1.Where(x => x.LessonSection == olpeEntity.LessonSection).Any()) | |||||
{ | { | ||||
//相同时间不能报名 | //相同时间不能报名 | ||||
return Fail("本学期此时间段已有报名的选修课!"); | |||||
return Success(new { msg = "本学期此时间段已有报名的选修课!" }); | |||||
} | } | ||||
} | } | ||||
return Fail("正在提交,请等待!"); | return Fail("正在提交,请等待!"); | ||||
@@ -173,20 +173,11 @@ namespace Learun.Application.WebApi | |||||
public Response GetForm(dynamic _) | public Response GetForm(dynamic _) | ||||
{ | { | ||||
string keyValue = this.GetReqData(); | string keyValue = this.GetReqData(); | ||||
var JournalReceiveData = lessonInfoOfElectiveOnlineIbll.GetLessonInfoOfElectiveOnlineEntity(keyValue); | |||||
if (lessonInfoIbll.GetLessonInfoEntityByLessonNo(JournalReceiveData.LessonNo) != null) | |||||
{ | |||||
if (!string.IsNullOrEmpty(lessonInfoIbll.GetLessonInfoEntityByLessonNo(JournalReceiveData.LessonNo).Introduction)) | |||||
JournalReceiveData.Introduction = WebHelper.NoHtml(WebHelper.HtmlDecode(lessonInfoIbll.GetLessonInfoEntityByLessonNo(JournalReceiveData.LessonNo).Introduction)) ?? ""; | |||||
} | |||||
if (empInfoIbll.GetEmpInfoEntityByEmpNo(JournalReceiveData.EmpNo) != null) | |||||
{ | |||||
if (!string.IsNullOrEmpty(empInfoIbll.GetEmpInfoEntityByEmpNo(JournalReceiveData.EmpNo).resume)) | |||||
JournalReceiveData.resume = WebHelper.NoHtml(WebHelper.HtmlDecode(empInfoIbll.GetEmpInfoEntityByEmpNo(JournalReceiveData.EmpNo).resume)) ?? ""; | |||||
} | |||||
var Data = lessonInfoOfElectiveOnlineIbll.GetLessonInfoOfElectiveOnlineEntity(keyValue); | |||||
var jsonData = new | var jsonData = new | ||||
{ | { | ||||
JournalReceive = JournalReceiveData, | |||||
data = Data, | |||||
}; | }; | ||||
return Success(jsonData); | return Success(jsonData); | ||||
} | } | ||||
@@ -223,7 +214,7 @@ namespace Learun.Application.WebApi | |||||
if (sslleEntity.Status != 2) | if (sslleEntity.Status != 2) | ||||
{ | { | ||||
stuSelectLessonListOfElectiveOnlineIBLL.DeleteEntity(sslleEntity.Id); | stuSelectLessonListOfElectiveOnlineIBLL.DeleteEntity(sslleEntity.Id); | ||||
return Fail("取消成功"); | |||||
return Success("取消成功"); | |||||
} | } | ||||
else | else | ||||
{ | { | ||||
@@ -0,0 +1,29 @@ | |||||
using Learun.Application.TwoDevelopment.EducationalAdministration; | |||||
using System.Data.Entity.ModelConfiguration; | |||||
namespace Learun.Application.Mapping | |||||
{ | |||||
/// <summary> | |||||
/// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园 | |||||
/// Copyright (c) 2013-2018 北京泉江科技有限公司 | |||||
/// 创 建:超级管理员 | |||||
/// 日 期:2019-06-14 11:02 | |||||
/// 描 述:考试成绩同步 | |||||
/// </summary> | |||||
public class StuScoreOnlineMap : EntityTypeConfiguration<StuScoreOnlineEntity> | |||||
{ | |||||
public StuScoreOnlineMap() | |||||
{ | |||||
#region 表、主键 | |||||
//表 | |||||
this.ToTable("STUSCOREONLINE"); | |||||
//主键 | |||||
this.HasKey(t => t.ScoreId); | |||||
#endregion | |||||
#region 配置关系 | |||||
#endregion | |||||
} | |||||
} | |||||
} | |||||
@@ -112,6 +112,7 @@ | |||||
<Compile Include="EducationalAdministration\StuInfoBasicChangeMap.cs" /> | <Compile Include="EducationalAdministration\StuInfoBasicChangeMap.cs" /> | ||||
<Compile Include="EducationalAdministration\StuInfoFreshMap.cs" /> | <Compile Include="EducationalAdministration\StuInfoFreshMap.cs" /> | ||||
<Compile Include="EducationalAdministration\StuInfoFreshOnlineServiceMap.cs" /> | <Compile Include="EducationalAdministration\StuInfoFreshOnlineServiceMap.cs" /> | ||||
<Compile Include="EducationalAdministration\StuScoreOnlineMap.cs" /> | |||||
<Compile Include="EducationalAdministration\StuScoreNotPassMap.cs" /> | <Compile Include="EducationalAdministration\StuScoreNotPassMap.cs" /> | ||||
<Compile Include="EducationalAdministration\StuSelectLessonListOfElectiveOnlineMap.cs" /> | <Compile Include="EducationalAdministration\StuSelectLessonListOfElectiveOnlineMap.cs" /> | ||||
<Compile Include="EducationalAdministration\StuSelectLessonListOfElectivePreMap.cs" /> | <Compile Include="EducationalAdministration\StuSelectLessonListOfElectivePreMap.cs" /> | ||||
@@ -0,0 +1,452 @@ | |||||
using Learun.Util; | |||||
using System; | |||||
using System.ComponentModel.DataAnnotations.Schema; | |||||
namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
{ | |||||
/// <summary> | |||||
/// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园 | |||||
/// Copyright (c) 2013-2018 北京泉江科技有限公司 | |||||
/// 创 建:超级管理员 | |||||
/// 日 期:2019-06-14 11:02 | |||||
/// 描 述:考试成绩同步 | |||||
/// </summary> | |||||
public class StuScoreOnlineEntity | |||||
{ | |||||
#region 实体成员 | |||||
/// <summary> | |||||
/// ScoreId | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)] | |||||
[Column("SCOREID")] | |||||
public int? ScoreId { get; set; } | |||||
/// <summary> | |||||
/// 通知书号 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("NOTICEBOOKNO")] | |||||
public string NoticeBookNo { get; set; } | |||||
/// <summary> | |||||
/// 学号 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("STUNO")] | |||||
public string StuNo { get; set; } | |||||
/// <summary> | |||||
/// 学生所在系部 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("DEPTNO")] | |||||
public string DeptNo { get; set; } | |||||
/// <summary> | |||||
/// 学生所在专业号 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("MAJORNO")] | |||||
public string MajorNo { get; set; } | |||||
/// <summary> | |||||
/// 行政班号 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("CLASSNO")] | |||||
public string ClassNo { get; set; } | |||||
/// <summary> | |||||
/// 姓名 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("STUNAME")] | |||||
public string StuName { get; set; } | |||||
/// <summary> | |||||
/// GenderNo | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("GENDERNO")] | |||||
public string GenderNo { get; set; } | |||||
/// <summary> | |||||
/// 学年度 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("ACADEMICYEARNO")] | |||||
public string AcademicYearNo { get; set; } | |||||
/// <summary> | |||||
/// 学期 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("SEMESTER")] | |||||
public string Semester { get; set; } | |||||
/// <summary> | |||||
/// 开课系部码 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("OPENLESSONDEPTNO")] | |||||
public string OpenLessonDeptNo { get; set; } | |||||
/// <summary> | |||||
/// 开课专业码 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("OPENLESSONMAJORNO")] | |||||
public string OpenLessonMajorNo { get; set; } | |||||
/// <summary> | |||||
/// 课程号 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("LESSONNO")] | |||||
public string LessonNo { get; set; } | |||||
/// <summary> | |||||
/// 课程名称 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("LESSONNAME")] | |||||
public string LessonName { get; set; } | |||||
/// <summary> | |||||
/// LessonNameEn | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("LESSONNAMEEN")] | |||||
public string LessonNameEn { get; set; } | |||||
/// <summary> | |||||
/// 教学班号 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("TEACHCLASSNO")] | |||||
public string TeachClassNo { get; set; } | |||||
/// <summary> | |||||
/// 课程类别码 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("LESSONSORTNO")] | |||||
public string LessonSortNo { get; set; } | |||||
/// <summary> | |||||
/// 学生类别 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("STUSORTNO")] | |||||
public string StuSortNo { get; set; } | |||||
/// <summary> | |||||
/// 年级 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("GRADE")] | |||||
public string Grade { get; set; } | |||||
/// <summary> | |||||
/// 学分 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("STUDYSCORE")] | |||||
public decimal? StudyScore { get; set; } | |||||
/// <summary> | |||||
/// 总学时 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("TOTALSTUDYHOUR")] | |||||
public decimal? TotalStudyHour { get; set; } | |||||
/// <summary> | |||||
/// 专业属性 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("ZYSX")] | |||||
public string zysx { get; set; } | |||||
/// <summary> | |||||
/// 考核(试)方式码(关联表BCdTestMode) | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("TESTMODENO")] | |||||
public string TestModeNo { get; set; } | |||||
/// <summary> | |||||
/// ScoreRecordStyleNo | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("SCORERECORDSTYLENO")] | |||||
public string ScoreRecordStyleNo { get; set; } | |||||
/// <summary> | |||||
/// 平时成绩 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("ORDINARYSCORE")] | |||||
public decimal? OrdinaryScore { get; set; } | |||||
/// <summary> | |||||
/// 期中成绩 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("TERMINSCORE")] | |||||
public decimal? TermInScore { get; set; } | |||||
/// <summary> | |||||
/// 期末成绩 学期 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("TERMENDSCORE")] | |||||
public decimal? TermEndScore { get; set; } | |||||
/// <summary> | |||||
/// OtherScore | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("OTHERSCORE")] | |||||
public decimal? OtherScore { get; set; } | |||||
/// <summary> | |||||
/// 总评成绩 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("SCORE")] | |||||
public decimal? Score { get; set; } | |||||
/// <summary> | |||||
/// 绩点 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("SCOREPOINT")] | |||||
public decimal? ScorePoint { get; set; } | |||||
/// <summary> | |||||
/// 考试日期 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("TESTDATE")] | |||||
public DateTime? TestDate { get; set; } | |||||
/// <summary> | |||||
/// 是否有效 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("ISINEFFECT")] | |||||
public string IsInEffect { get; set; } | |||||
/// <summary> | |||||
/// 备注 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("REMARK")] | |||||
public string Remark { get; set; } | |||||
/// <summary> | |||||
/// 冲突课程代码 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("CONFLICTLESSONNO")] | |||||
public string ConflictLessonNo { get; set; } | |||||
/// <summary> | |||||
/// 是否重修成绩 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("ISRESTUDY")] | |||||
public string IsReStudy { get; set; } | |||||
/// <summary> | |||||
/// 审查标志 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("CHECKMARK")] | |||||
public string CheckMark { get; set; } | |||||
/// <summary> | |||||
/// 是否选中 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("ISPITCHON")] | |||||
public string IsPitchOn { get; set; } | |||||
/// <summary> | |||||
/// 教师号 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("EMPNO")] | |||||
public string EmpNo { get; set; } | |||||
/// <summary> | |||||
/// 专业教学计划编码 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("TECHPLANNO")] | |||||
public string TechPlanNo { get; set; } | |||||
/// <summary> | |||||
/// 考试性质码(关联表CdTestKind) | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("TESTKINDNO")] | |||||
public string TestKindNo { get; set; } | |||||
/// <summary> | |||||
/// 课程区别码(此编码针对同一课程编号,同一门课程、不同课时、学分的情况而加,由系统自动产生以区分此类课程) | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("PARTCODE")] | |||||
public string PartCode { get; set; } | |||||
/// <summary> | |||||
/// LessonSection | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("LESSONSECTION")] | |||||
public string LessonSection { get; set; } | |||||
/// <summary> | |||||
/// ClassRoomNo | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("CLASSROOMNO")] | |||||
public string ClassRoomNo { get; set; } | |||||
/// <summary> | |||||
/// ClassRoomName | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("CLASSROOMNAME")] | |||||
public string ClassRoomName { get; set; } | |||||
/// <summary> | |||||
/// IsEditable | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("ISEDITABLE")] | |||||
public string IsEditable { get; set; } | |||||
/// <summary> | |||||
/// EditUserId | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("EDITUSERID")] | |||||
public string EditUserId { get; set; } | |||||
/// <summary> | |||||
/// ModifyDate | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("MODIFYDATE")] | |||||
public DateTime? ModifyDate { get; set; } | |||||
[Column("BEGINMODIFYDATE")] | |||||
public DateTime? BeginModifyDate { get; set; } | |||||
/// <summary> | |||||
/// ModifyUserId | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("MODIFYUSERID")] | |||||
public string ModifyUserId { get; set; } | |||||
/// <summary> | |||||
/// ModifyUserName | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("MODIFYUSERNAME")] | |||||
public string ModifyUserName { get; set; } | |||||
/// <summary> | |||||
/// 学校主键 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[Column("F_SCHOOLID")] | |||||
public string F_SchoolId { get; set; } | |||||
#endregion | |||||
#region 扩展操作 | |||||
/// <summary> | |||||
/// 新增调用 | |||||
/// </summary> | |||||
public void Create() | |||||
{ | |||||
} | |||||
/// <summary> | |||||
/// 编辑调用 | |||||
/// </summary> | |||||
/// <param name="keyValue"></param> | |||||
public void Modify(int? keyValue) | |||||
{ | |||||
this.ScoreId = keyValue; | |||||
} | |||||
#endregion | |||||
/// <summary> | |||||
/// 学生Id | |||||
/// </summary> | |||||
[NotMapped] | |||||
public string StuId { get; set; } | |||||
/// <summary> | |||||
/// 课程Id | |||||
/// </summary> | |||||
[NotMapped] | |||||
public string LessonId { get; set; } | |||||
/// <summary> | |||||
/// 班级名称 | |||||
/// </summary> | |||||
[NotMapped] | |||||
public string ClassName { get; set; } | |||||
/// <summary> | |||||
/// 班级Id | |||||
/// </summary> | |||||
[NotMapped] | |||||
public string ClassId { get; set; } | |||||
/// <summary> | |||||
/// 教师姓名 | |||||
/// </summary> | |||||
[NotMapped] | |||||
public string EmpName { get; set; } | |||||
/// <summary> | |||||
/// 教师主键 | |||||
/// </summary> | |||||
[NotMapped] | |||||
public string EmpId { get; set; } | |||||
/// <summary> | |||||
/// 补考标识(1:一次补考;2:二次补考) | |||||
/// </summary> | |||||
[NotMapped] | |||||
public int BuKaoFlag { get; set; } | |||||
/// <summary> | |||||
/// 学生成绩数量 | |||||
/// </summary> | |||||
[NotMapped] | |||||
public int StuScoreOnlineNum { get; set; } | |||||
/// <summary> | |||||
/// 临时主键 | |||||
/// </summary> | |||||
[NotMapped] | |||||
public string TempId { get; set; } | |||||
[NotMapped] | |||||
public string DepositBank { get; set; } | |||||
[NotMapped] | |||||
public string BankCard { get; set; } | |||||
[NotMapped] | |||||
public string IdCard { get; set; } | |||||
[NotMapped] | |||||
public string Birthday { get; set; } | |||||
[NotMapped] | |||||
public string NationalityNo { get; set; } | |||||
[NotMapped] | |||||
public string PartyFaceNo { get; set; } | |||||
/// <summary> | |||||
/// 成绩格式化(补)(重)(选修) | |||||
/// </summary> | |||||
[NotMapped] | |||||
public string ScoreFormat { get; set; } | |||||
/// <summary> | |||||
/// 补考成绩 | |||||
/// </summary> | |||||
[NotMapped] | |||||
public string ScoreOfNotPass { get; set; } | |||||
/// <summary> | |||||
/// 二次补考成绩 | |||||
/// </summary> | |||||
[NotMapped] | |||||
public string ScoreOfNotPassTwo { get; set; } | |||||
/// <summary> | |||||
/// 课程类别名称 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[NotMapped] | |||||
public string LessonSortName { get; set; } | |||||
/// <summary> | |||||
/// 专业名称 | |||||
/// </summary> | |||||
[NotMapped] | |||||
public string MajorName { get; set; } | |||||
/// <summary> | |||||
/// 专业排名 | |||||
/// </summary> | |||||
[NotMapped] | |||||
public int RankInMajor { get; set; } | |||||
/// <summary> | |||||
/// 班级排名 | |||||
/// </summary> | |||||
[NotMapped] | |||||
public int RankInClass { get; set; } | |||||
/// <summary> | |||||
/// 学习形式 | |||||
/// </summary> | |||||
[NotMapped] | |||||
public string StudyModality { get; set; } | |||||
/// <summary> | |||||
/// 异动类型 | |||||
/// </summary> | |||||
[NotMapped] | |||||
public string MoveType { get; set; } | |||||
} | |||||
} | |||||
@@ -0,0 +1,261 @@ | |||||
using Learun.Util; | |||||
using System.Data; | |||||
using System.Collections.Generic; | |||||
using static Learun.Application.TwoDevelopment.EducationalAdministration.StuScoreOnlineService; | |||||
namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
{ | |||||
/// <summary> | |||||
/// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园 | |||||
/// Copyright (c) 2013-2018 北京泉江科技有限公司 | |||||
/// 创 建:超级管理员 | |||||
/// 日 期:2019-06-14 11:02 | |||||
/// 描 述:考试成绩同步 | |||||
/// </summary> | |||||
public interface StuScoreOnlineIBLL | |||||
{ | |||||
#region 获取数据 | |||||
/// <summary> | |||||
/// 获取列表数据 | |||||
/// <summary> | |||||
/// <returns></returns> | |||||
IEnumerable<StuScoreOnlineEntity> GetList(string queryJson); | |||||
DataTable GetListForExport(string queryJson); | |||||
IEnumerable<StuScoreOnlineEntity> GetMonitorList(string queryJson); | |||||
/// <summary> | |||||
/// 获取列表分页数据 | |||||
/// <param name="pagination">分页参数</param> | |||||
/// <summary> | |||||
/// <returns></returns> | |||||
IEnumerable<StuScoreOnlineEntity> GetPageList(Pagination pagination, string queryJson); | |||||
/// <summary> | |||||
/// 获取实体数据 | |||||
/// <param name="keyValue">主键</param> | |||||
/// <summary> | |||||
/// <returns></returns> | |||||
StuScoreOnlineEntity GetEntity(string keyValue); | |||||
/// <summary> | |||||
/// 获取列表分页数据 | |||||
/// <param name="pagination">分页参数</param> | |||||
/// <summary> | |||||
/// <returns></returns> | |||||
IEnumerable<StuScoreOnlineEntity> GetScoreInputCancelPageList(Pagination pagination, string queryJson); | |||||
List<object> GetStuGraduateInfo(string queryJson); | |||||
List<object> GetPassInfo(string queryJson); | |||||
List<object> GetClassOfMy(); | |||||
/// <summary> | |||||
/// 获取列表分页数据 | |||||
/// <param name="pagination">分页参数</param> | |||||
/// <summary> | |||||
/// <returns></returns> | |||||
StuSelectLessonListEntity GetStuSelectLessonListEntity(StuScoreOnlineEntity entity); | |||||
/// <summary> | |||||
/// 获取列表数据 | |||||
/// <summary> | |||||
/// <returns></returns> | |||||
StuScoreOnlineEntity GetEntityByJson(string queryJson); | |||||
#endregion | |||||
#region 提交数据 | |||||
/// <summary> | |||||
/// 删除实体数据 | |||||
/// <param name="keyValue">主键</param> | |||||
/// <summary> | |||||
/// <returns></returns> | |||||
void DeleteEntity(string keyValue); | |||||
void SubmitStuScoreOnline(string AcademicYearNo, string Semester, string LessonNo, string EmpNo); | |||||
/// <summary> | |||||
/// 保存实体数据(新增、修改) | |||||
/// <param name="keyValue">主键</param> | |||||
/// <summary> | |||||
/// <returns></returns> | |||||
void SaveEntity(string keyValue, StuScoreOnlineEntity entity); | |||||
#endregion | |||||
void DeleteList(); | |||||
#region 扩展数据 | |||||
/// <summary> | |||||
/// 获取学年学期列表 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
IEnumerable<WebHelper.YearGrade> GetAcademicAndSemesterList(); | |||||
/// <summary> | |||||
/// 根据学号获取成绩列表 | |||||
/// </summary> | |||||
/// <param name="academic"></param> | |||||
/// <param name="semester"></param> | |||||
/// <param name="stuNo">学号</param> | |||||
/// <param name="classNo">班级编号</param> | |||||
/// <returns></returns> | |||||
ScoreListByStuNoModel GetScoreListByStuNo(string academic, string semester, string stuNo, string classNo); | |||||
bool GetAny(); | |||||
/// <summary> | |||||
/// 获取一次补考名单数据 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
IEnumerable<StuScoreOnlineEntity> GetStuScoreOnlineNotPassList(); | |||||
/// <summary> | |||||
/// 获取二次补考名单数据 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
IEnumerable<StuScoreOnlineEntity> GetStuScoreOnlineNotPassTwoList(); | |||||
/// <summary> | |||||
/// 获取班级成绩初始化信息 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
IEnumerable<StuScoreOnlineEntity> GetPageListAboutClass(Pagination pagination, string queryJson); | |||||
/// <summary> | |||||
/// 班级学生成绩初始化 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
void DoInitAboutClass(string academicYearNo, string semester, string classNo); | |||||
/// <summary> | |||||
/// 学年下拉框信息【班级成绩查看】 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
IEnumerable<WebHelper.YearGrade> GetAcademicYearNoData(); | |||||
/// <summary> | |||||
/// 班级下拉框信息【班级成绩查看】 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
IEnumerable<WebHelper.YearGrade> GetClassNoData(string userAccount, string userType, string lessonNo); | |||||
IEnumerable<WebHelper.YearGrade> GetClassNoDataForInput(string userAccount, string userType, string lessonNo, string academicYearShort, string semester); | |||||
/// <summary> | |||||
/// 教师下拉框信息【学生成绩录入可去审核】 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
IEnumerable<WebHelper.YearGrade> GetEmpNoData(string userAccount, string userType, string lessonNo); | |||||
/// <summary> | |||||
/// 课程下拉框信息【学生成绩录入可去审核】 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
IEnumerable<WebHelper.YearGrade> GetLessonNoDataOfAll(string userAccount, string userType, string AcademicYearNo = "", string Semester = ""); | |||||
/// <summary> | |||||
/// 课程下拉框信息【选修课】 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
IEnumerable<WebHelper.YearGrade> GetElectiveLessonNoDataOfAll(string userAccount, string userType, string AcademicYearNo = "", string Semester = ""); | |||||
/// <summary> | |||||
/// 教室下拉框信息【选修课】 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
IEnumerable<WebHelper.YearGrade> GetElectiveClassRoomNoData(string userAccount, string userType, string lessonNo); | |||||
/// <summary> | |||||
/// 节次下拉框信息【选修课】 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
IEnumerable<WebHelper.YearGrade> GetElectiveLessonSectionData(string userAccount, string userType, string classRoomNo); | |||||
/// <summary> | |||||
/// 课程信息【班级成绩查看】 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
IEnumerable<WebHelper.YearGrade> GetLessonNoData(string academicYearNo, string semester, string classNo); | |||||
/// <summary> | |||||
/// 获取班级成绩列表 | |||||
/// <summary> | |||||
/// <returns></returns> | |||||
IEnumerable<StuScoreOnlineEntity> GetScoreListByClassNo(string queryJson); | |||||
IEnumerable<StuScoreOnlineEntity> GetScoreListByClassNoForScholarship(string queryJson); | |||||
/// <summary> | |||||
/// 获取学生成绩 | |||||
/// </summary> | |||||
/// <param name="queryJson"></param> | |||||
/// <returns></returns> | |||||
IEnumerable<StuScoreOnlineEntity> GetScoreListByStuNo(string queryJson); | |||||
/// <summary> | |||||
/// 根据学号/姓名获取学生成绩列表 | |||||
/// </summary> | |||||
/// <param name="queryJson"></param> | |||||
/// <returns></returns> | |||||
IEnumerable<StuScoreOnlineEntity> GetScoreListByStuInfo(string queryJson); | |||||
/// <summary> | |||||
/// 获取个人成绩列表 | |||||
/// <summary> | |||||
/// <returns></returns> | |||||
IEnumerable<StuScoreOnlineEntity> GetAllScoreListByStuNo(string stuNo); | |||||
object GetScoreCharts(string academicYearNo, string semester, string classNo, string lessonNo); | |||||
void UpEmpNos(string xn, string xq, string classNo, string LessonNo, string EmpNo, string HisEmpNo, string Grade); | |||||
/// <summary> | |||||
/// 审核学生成绩 | |||||
/// <param name="keyValue">主键</param> | |||||
/// <summary> | |||||
/// <returns></returns> | |||||
void CheckStuScoreOnline(string keyValue); | |||||
/// <summary> | |||||
/// 去审核学生成绩 | |||||
/// <param name="keyValue">主键</param> | |||||
/// <summary> | |||||
/// <returns></returns> | |||||
void UnCheckStuScoreOnline(string keyValue); | |||||
List<StuScoreOnlineEntity> GetScoreInfo(string queryJson); | |||||
/// <summary> | |||||
/// 获取个人补考成绩 | |||||
/// <summary> | |||||
/// <returns></returns> | |||||
StuScoreOnlineEntity GetScoreNotPassByEntity(StuScoreOnlineEntity entity); | |||||
/// <summary> | |||||
/// 获取个人二次补考成绩 | |||||
/// <summary> | |||||
/// <returns></returns> | |||||
StuScoreOnlineEntity GetScoreNotPassTwoByEntity(StuScoreOnlineEntity entity); | |||||
/// <summary> | |||||
/// 开始录入:占用成绩 | |||||
/// <summary> | |||||
/// <returns></returns> | |||||
void StartInputScore(string queryJson); | |||||
/// <summary> | |||||
/// 提交成绩 | |||||
/// <summary> | |||||
/// <returns></returns> | |||||
void SaveInputScore(List<StuScoreOnlineEntity> list); | |||||
/// <summary> | |||||
/// 提交成绩:取消占用 | |||||
/// <summary> | |||||
/// <returns></returns> | |||||
void SaveInputScoreStatus(string queryJson); | |||||
/// <summary> | |||||
/// 提交成绩:取消占用【服务】 | |||||
/// <summary> | |||||
/// <returns></returns> | |||||
void SaveInputScoreStatus2(string queryJson, string name); | |||||
/// <summary> | |||||
/// 审核成绩 | |||||
/// </summary> | |||||
/// <param name="queryJson"></param> | |||||
/// <param name="checkMark">已审核:1;未审核:0;</param> | |||||
void DoCheckScore(string queryJson, int checkMark); | |||||
(DataTable failDt, int snum, int fnum) ExecuteImportExcel(int type, DataTable dt, string fileGuid, string queryJson); | |||||
#endregion | |||||
IEnumerable<WebHelper.YearGrade> GetLessonNoDataFromStuNo(string academicYearNo, string semester, string stuNo); | |||||
} | |||||
} |
@@ -96,6 +96,10 @@ | |||||
<Compile Include="EducationalAdministration\ElectiveMajorOnline\ElectiveMajorOnlineIBLL.cs" /> | <Compile Include="EducationalAdministration\ElectiveMajorOnline\ElectiveMajorOnlineIBLL.cs" /> | ||||
<Compile Include="EducationalAdministration\ElectiveMajorOnline\ElectiveMajorOnlineService.cs" /> | <Compile Include="EducationalAdministration\ElectiveMajorOnline\ElectiveMajorOnlineService.cs" /> | ||||
<Compile Include="EducationalAdministration\SignUpOnlineHelper.cs" /> | <Compile Include="EducationalAdministration\SignUpOnlineHelper.cs" /> | ||||
<Compile Include="EducationalAdministration\StuScoreOnline\StuScoreOnlineBLL.cs" /> | |||||
<Compile Include="EducationalAdministration\StuScoreOnline\StuScoreOnlineEntity.cs" /> | |||||
<Compile Include="EducationalAdministration\StuScoreOnline\StuScoreOnlineIBLL.cs" /> | |||||
<Compile Include="EducationalAdministration\StuScoreOnline\StuScoreOnlineService.cs" /> | |||||
<Compile Include="EducationalAdministration\StuSelectLessonListOfElectiveOnline\StuSelectLessonListOfElectiveOnlineBLL.cs" /> | <Compile Include="EducationalAdministration\StuSelectLessonListOfElectiveOnline\StuSelectLessonListOfElectiveOnlineBLL.cs" /> | ||||
<Compile Include="EducationalAdministration\StuSelectLessonListOfElectiveOnline\StuSelectLessonListOfElectiveOnlineEntity.cs" /> | <Compile Include="EducationalAdministration\StuSelectLessonListOfElectiveOnline\StuSelectLessonListOfElectiveOnlineEntity.cs" /> | ||||
<Compile Include="EducationalAdministration\StuSelectLessonListOfElectiveOnline\StuSelectLessonListOfElectiveOnlineIBLL.cs" /> | <Compile Include="EducationalAdministration\StuSelectLessonListOfElectiveOnline\StuSelectLessonListOfElectiveOnlineIBLL.cs" /> | ||||
@@ -745,6 +745,19 @@ | |||||
"navigationBarTitleText": "查看详情" | "navigationBarTitleText": "查看详情" | ||||
} | } | ||||
}, | }, | ||||
//线上课程选课 | |||||
{ | |||||
"path": "pages/EducationalAdministration/LessonInfoOfElectiveOnline/list", | |||||
"style": { | |||||
"navigationBarTitleText": "线上课程选课" | |||||
} | |||||
}, | |||||
{ | |||||
"path": "pages/EducationalAdministration/LessonInfoOfElectiveOnline/from", | |||||
"style": { | |||||
"navigationBarTitleText": "查看详情" | |||||
} | |||||
}, | |||||
//学费查询 | //学费查询 | ||||
{ | { | ||||
"path": "pages/StuPayFee/list", | "path": "pages/StuPayFee/list", | ||||
@@ -0,0 +1,137 @@ | |||||
<template> | |||||
<view class="page"> | |||||
<l-input title="学年" placeholder="请填写学年" :value="data.AcademicYearNo" disabled right /> | |||||
<l-input title="学期" placeholder="请填写学期" :value="data.Semester" disabled right /> | |||||
<l-input title="课程编号" placeholder="请填写课程编号" :value="data.LessonNo" disabled right /> | |||||
<l-input title="课程名称" placeholder="请填写课程名称" :value="data.LessonName" disabled right /> | |||||
<l-input title="建课教师" placeholder="请填写建课教师" :value="data.EmpName" disabled right /> | |||||
<l-input title="建课学校" placeholder="请填写建课学校" :value="F_SchoolName" disabled right /> | |||||
<l-input title="已报人数" placeholder="请填写已报人数" :value="data.StuNumOfApply" disabled right /> | |||||
<view class="btn" @click="fromBtn" v-show="showFlag">报名</view> | |||||
</view> | |||||
</template> | |||||
<script> | |||||
export default { | |||||
data() { | |||||
return { | |||||
keyValue: '', //列表页面传参 | |||||
data: {}, | |||||
param: {}, //列表页面传参-对象 | |||||
showFlag: true, | |||||
// 数据源 | |||||
dataSource: { | |||||
F_SchoolId: [] | |||||
}, | |||||
F_SchoolName: '', //建课学校名称 | |||||
} | |||||
}, | |||||
methods: { | |||||
init() { | |||||
//this.keyValue = this.GET_PARAM(); //获取页面传递参数 | |||||
// console.log(this.keyValue); | |||||
this.param = this.GET_PARAM(); | |||||
//console.log(this.param); | |||||
this.keyValue = this.param.keyValue; | |||||
//审核中或者报名成功不显示报名按钮 | |||||
if (this.param.Status == 1 || this.param.Status == 2) { | |||||
this.showFlag = false; | |||||
} | |||||
this.LOADING('加载数据中…'); | |||||
this.HTTP_GET('learun/LessonInfoOfElectiveOnline/form', this.keyValue, '加载数据时出错').then(res => { | |||||
this.HIDE_LOADING(); | |||||
this.data = res.data; | |||||
let timer3 = setTimeout(() => { | |||||
let checkedSchool = this.dataSource.F_SchoolId.find((item) => { | |||||
return item.value === this.data.F_SchoolId | |||||
}); | |||||
if (checkedSchool) { | |||||
this.F_SchoolName = checkedSchool.text; | |||||
} | |||||
clearTimeout(timer3); | |||||
}, 500); | |||||
}); | |||||
}, | |||||
fromBtn() { | |||||
var _postData = {} | |||||
// let _this = this; | |||||
let user = this.GET_GLOBAL('loginUser');; | |||||
_postData.keyValue = this.keyValue; | |||||
_postData.StuNo = user.account; | |||||
this.LOADING('正在提交…'); | |||||
this.HTTP_POST('learun/LessonInfoOfElectiveOnline/SignInByMobile', _postData, '加载数据时出错').then((res, info, | |||||
code) => { | |||||
//console.log(res) | |||||
if (res) { // 表单数据保存成功 | |||||
//判断队列结果 | |||||
let timer = setInterval(() => { | |||||
this.HTTP_POST('learun/LessonInfoOfElectiveOnline/GetApplyResult', _postData, | |||||
'报名状态').then( | |||||
(dataresult) => { | |||||
//console.log(dataresult) | |||||
clearInterval(timer); | |||||
if (!dataresult) return | |||||
this.HIDE_LOADING(); | |||||
this.EMIT('LessonInfoOfElectiveOnline') | |||||
this.TOAST(dataresult.msg); | |||||
let timer2 = setTimeout(() => { | |||||
clearTimeout(timer2); | |||||
this.NAV_BACK(); | |||||
}, 2000); | |||||
}); | |||||
}, 5000); | |||||
} | |||||
}); | |||||
} | |||||
}, | |||||
created() { | |||||
// 拉取加载列表和数据源 | |||||
Promise.all([ | |||||
this.FETCH_DATASOURCE('company').then(result => { | |||||
this.dataSource.F_SchoolId = result.data.map(t => ({ | |||||
text: t.f_fullname, | |||||
value: t.f_companyid | |||||
})) | |||||
}), | |||||
() => {}, | |||||
]); | |||||
this.init() | |||||
} | |||||
} | |||||
</script> | |||||
<style lang="less" scoped> | |||||
.txt { | |||||
line-height: 24px; | |||||
font-size: 15px; | |||||
background-color: #fff; | |||||
padding: 10px 0 10px 15px; | |||||
} | |||||
.page { | |||||
background-color: #fff; | |||||
padding-bottom: 1px; | |||||
} | |||||
/deep/ .cu-form-group uni-textarea { | |||||
height: auto; | |||||
} | |||||
.remarks { | |||||
border-bottom: 0.5px solid #eee; | |||||
padding-bottom: 10px; | |||||
} | |||||
.remarks textarea { | |||||
width: 100%; | |||||
padding: 0 15px; | |||||
} | |||||
</style> |
@@ -0,0 +1,304 @@ | |||||
<template> | |||||
<view class="page"> | |||||
<view class="mainpage" :class="sideOpen ? 'show' : ''" style="padding-top: 40px;"> | |||||
<!-- 顶部条目/分页信息栏 --> | |||||
<l-customlist-banner @buttonClick="sideOpen = true">{{ | |||||
tips | |||||
}}</l-customlist-banner> | |||||
<!-- <view class="records">共 {{ records }} 条数据</view> --> | |||||
<l-scroll-list v-if="ready" @pullDown="pullDown" @toBottom="fetchList()" ref="data"> | |||||
<l-customlist :tips="loadState" showTips> | |||||
<view class="pageBox customlist-item" showDelete="true" v-for="(item, ind) in data" :key="item.Id" | |||||
@click="tapClick(item)"> | |||||
<view class=""> | |||||
<text>学年:</text> | |||||
{{ item.AcademicYearNo }} | |||||
</view> | |||||
<view class=""> | |||||
<text>学期:</text> | |||||
{{ item.Semester }} | |||||
</view> | |||||
<view class=""> | |||||
<text>课程编号:</text> | |||||
{{ item.LessonNo }} | |||||
</view> | |||||
<view class=""> | |||||
<text>课程名称:</text> | |||||
{{ item.LessonName }} | |||||
</view> | |||||
<view class=""> | |||||
<text>建课教师:</text> | |||||
{{ item.EmpName }} | |||||
</view> | |||||
<view class=""> | |||||
<text>建课学校:</text> | |||||
{{ dataSource.F_SchoolId.find(x=>x.value==item.F_SchoolId).text }} | |||||
</view> | |||||
<view class=""> | |||||
<text>已报人数:</text> | |||||
{{ item.StuNumOfApply }} | |||||
</view> | |||||
<view class="pageType"> | |||||
<text>报名状态:</text> | |||||
{{ typePd(item.Status) }} | |||||
</view> | |||||
<view class="delbtn" v-if="item.Status == 1" @click.stop="delTap(item)">取消报名</view> | |||||
</view> | |||||
</l-customlist> | |||||
</l-scroll-list> | |||||
</view> | |||||
<!-- 关闭侧边抽屉按钮 --> | |||||
<view @click="sideOpen = false" :class="sideOpen ? 'show' : ''" class="sideclose"> | |||||
<l-icon type="pullright" color="blue" /> | |||||
</view> | |||||
<!-- 侧边栏,用于设置查询条件 --> | |||||
<scroll-view :class="sideOpen ? 'show' : ''" class="sidepage" scroll-y> | |||||
<view v-if="ready" class="padding"> | |||||
<l-input v-model="queryData.LessonNo" @change="searchChange" title="课程编号" placeholder="按课程编号查询" /> | |||||
<l-input v-model="queryData.LessonName" @change="searchChange" title="课程名称" placeholder="按课程名称查询" /> | |||||
<!-- 重置查询条件按钮 --> | |||||
<view class="padding-tb"> | |||||
<l-button @click="reset" line="orange" class="block" block>重置查询条件</l-button> | |||||
</view> | |||||
</view> | |||||
</scroll-view> | |||||
</view> | |||||
</template> | |||||
<script> | |||||
import pickBy from "lodash/pickBy"; | |||||
import mapValues from "lodash/mapValues"; | |||||
export default { | |||||
data() { | |||||
return { | |||||
weekChina: ['一', '二', '三', '四', '五', '六', '日'], | |||||
user: null, | |||||
data: [], | |||||
total: 1, | |||||
records: 0, | |||||
ready: false, | |||||
page: 1, | |||||
rows: 10, | |||||
multipleData: null, | |||||
sideOpen: false, | |||||
tips: "加载中...", | |||||
loadState: '向下翻以加载更多', | |||||
// 数据源 | |||||
dataSource: { | |||||
F_SchoolId: [] | |||||
}, | |||||
// 查询条件 | |||||
searchData: {}, | |||||
defaultQueryData: {}, | |||||
queryData: { | |||||
LessonNo: "", | |||||
LessonName: "", | |||||
}, | |||||
}; | |||||
}, | |||||
onUnload() { | |||||
this.OFF('LessonInfoOfElectiveOnline'); | |||||
}, | |||||
onShow() { | |||||
if (this.data.length) { | |||||
this.pullDown() | |||||
} | |||||
}, | |||||
methods: { | |||||
init() { | |||||
this.ON('LessonInfoOfElectiveOnline', this.refreshList); | |||||
// 拉取加载列表和数据源 | |||||
Promise.all([ | |||||
this.FETCH_DATASOURCE('company').then(result => { | |||||
this.dataSource.F_SchoolId = result.data.map(t => ({ | |||||
text: t.f_fullname, | |||||
value: t.f_companyid | |||||
})) | |||||
}), | |||||
() => {}, | |||||
]); | |||||
// var _this = this; | |||||
this.user = this.GET_GLOBAL('loginUser'); | |||||
this.fetchList(); | |||||
// 初始化查询条件 | |||||
this.defaultQueryData = this.COPY(this.queryData); | |||||
this.ready = true; | |||||
}, | |||||
// 拉取列表 | |||||
async fetchList() { | |||||
if (this.page > this.total) { | |||||
return; | |||||
} | |||||
// let _this = this; | |||||
this.searchData.StuNo = this.user.account; | |||||
this.searchData.StuMajorNo = this.user.majorno; | |||||
this.searchData.StuGrade = this.user.grade; | |||||
let _postParam = { | |||||
pagination: { | |||||
rows: this.rows, | |||||
page: this.page, | |||||
sidx: 'AcademicYearNo DESC, Semester DESC, LessonNo ASC,EmpNo ASC', | |||||
sord: 'asc' | |||||
}, | |||||
//queryJson: '{}' | |||||
queryJson: JSON.stringify(this.searchData), | |||||
}; | |||||
this.LOADING('加载数据中…') | |||||
this.HTTP_GET('learun/LessonInfoOfElectiveOnline/pagelist', _postParam, '加载数据时出错').then(res => { | |||||
this.HIDE_LOADING(); | |||||
this.data = this.data.concat(res.rows); | |||||
this.total = res.total; | |||||
this.records = res.records; | |||||
this.page = res.page + 1; | |||||
this.loadState = res.page >= res.total ? '已加载所有项目' : '向下翻以加载更多'; | |||||
this.tips = `已加载 ${Math.min(res.page, res.total)} / ${ | |||||
res.total | |||||
} 页,共 ${res.records} 项`; | |||||
// console.log(_this.data); | |||||
}); | |||||
}, | |||||
// 列表下拉 | |||||
pullDown() { | |||||
this.refreshList().then(() => { | |||||
this.$refs.data.stopPullDown(); | |||||
}); | |||||
}, | |||||
async refreshList() { | |||||
this.page = 1; | |||||
this.total = 1; | |||||
this.data = []; | |||||
this.fetchList(); | |||||
}, | |||||
tapClick(data) { | |||||
this.NAV_TO('./from', { | |||||
keyValue: data.Id, | |||||
Status: data.Status | |||||
}, true); | |||||
}, | |||||
delTap(item) { | |||||
// console.log(item) | |||||
// let this = this; | |||||
this.CONFIRM('数字化校园提示', '确定要取消报名吗?', true).then(res => { | |||||
if (res) { | |||||
let _postData = { | |||||
keyValue: item.Id, | |||||
StuNo: this.user.account | |||||
} | |||||
this.LOADING('正在取消报名…') | |||||
this.HTTP_POST( | |||||
'learun/LessonInfoOfElectiveOnline/Cancel', | |||||
_postData, | |||||
'加载数据时出错' | |||||
).then(data => { | |||||
this.HIDE_LOADING() | |||||
// console.log(data) | |||||
if (data) { // 成功 | |||||
this.TOAST('取消报名成功!'); | |||||
this.refreshList() | |||||
} | |||||
}) | |||||
} | |||||
}) | |||||
}, | |||||
// 设置搜索条件 | |||||
async searchChange() { | |||||
const result = {}; | |||||
// 将其他查询项添加到查询 JSON 中 | |||||
const queryObj = pickBy(this.queryData, (t) => | |||||
Array.isArray(t) ? t.length > 0 : t | |||||
); | |||||
Object.assign( | |||||
result, | |||||
mapValues(queryObj, (t) => (Array.isArray(t) ? t.join(",") : t)) | |||||
); | |||||
this.searchData = result; | |||||
this.refreshList(); | |||||
}, | |||||
// 点击「清空查询条件」按钮 | |||||
reset() { | |||||
this.queryData = this.COPY(this.defaultQueryData); | |||||
this.searchChange(); | |||||
}, | |||||
}, | |||||
computed: { | |||||
typePd() { | |||||
return num => { | |||||
let txt = ''; | |||||
if (num == 1) { | |||||
txt = '审核中'; | |||||
} else if (num == 2) { | |||||
txt = '报名成功'; | |||||
} else if (num == 3) { | |||||
txt = '报名失败'; | |||||
} else { | |||||
txt = '未报名'; | |||||
} | |||||
return txt; | |||||
}; | |||||
} | |||||
}, | |||||
created() { | |||||
this.init(); | |||||
} | |||||
}; | |||||
</script> | |||||
<style lang="less" scoped> | |||||
@import '~@/common/css/sidepage.less'; | |||||
@import '~@/common/css/customlist.less'; | |||||
.page { | |||||
background-color: #fff; | |||||
} | |||||
.page-content { | |||||
margin-top: 39px; | |||||
} | |||||
.records { | |||||
color: #8f8f94; | |||||
background: #ffffff; | |||||
padding: 10px 12px; | |||||
width: 100%; | |||||
vertical-align: middle; | |||||
border-bottom: 0.5px solid #ddd; | |||||
position: fixed; | |||||
top: var(--window-top); | |||||
z-index: 1024; | |||||
border-bottom: 0.5px solid #ddd; | |||||
height: 40px; | |||||
width: 100%; | |||||
box-shadow: 0 0.5px 3px rgba(0, 0, 0, 0.1); | |||||
// background: #f1f1f1; | |||||
} | |||||
.pageBox { | |||||
// margin-top: 34px; | |||||
padding: 5px 15px; | |||||
line-height: 24px; | |||||
border-bottom: 5px solid #f5f5f5; | |||||
} | |||||
.delbtn { | |||||
position: absolute; | |||||
right: 15px; | |||||
bottom: 7px; | |||||
padding: 3px 10px; | |||||
background: #dd524d; | |||||
color: #fff; | |||||
border-radius: 3px; | |||||
} | |||||
</style> |