@@ -3,6 +3,9 @@ using System.Data; | |||
using Learun.Application.TwoDevelopment.EducationalAdministration; | |||
using System.Web.Mvc; | |||
using System.Collections.Generic; | |||
using Learun.Application.Base.SystemModule; | |||
using System; | |||
using System.Linq; | |||
namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||
{ | |||
@@ -16,6 +19,11 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||
public class ScoreCheckInfoController : MvcControllerBase | |||
{ | |||
private ScoreCheckInfoIBLL scoreCheckInfoIBLL = new ScoreCheckInfoBLL(); | |||
private AnnexesFileIBLL annexesFileIBLL = new AnnexesFileBLL(); | |||
private StuEncourgementIBLL stuEncourgementIBLL = new StuEncourgementBLL(); | |||
private StuPunishmentIBLL stuPunishmentIBLL = new StuPunishmentBLL(); | |||
private StuScoreIBLL stuScoreIBLL = new StuScoreBLL(); | |||
private StudentCertificateIBLL studentCertificateIBLL = new StudentCertificateBLL(); | |||
#region 视图功能 | |||
@@ -64,6 +72,42 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 学业成绩考核记载表 | |||
/// </summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult RecordTablePrint(string keyValue) | |||
{ | |||
var entity = scoreCheckInfoIBLL.GetScoreCheckInfoEntity(keyValue); | |||
if (entity == null) | |||
{ | |||
entity = new ScoreCheckInfoEntity(); | |||
} | |||
//意见盖章 | |||
var annexesFileEntity = annexesFileIBLL.GetEntityByFolderId(entity.FilePath); | |||
if (annexesFileEntity != null) | |||
{ | |||
entity.FilePath = annexesFileEntity.F_FilePath.Substring(annexesFileEntity.F_FilePath.IndexOf("Resource")-1); | |||
} | |||
else | |||
{ | |||
entity.FilePath = ""; | |||
} | |||
//职业资格证书(-表中无学年学期字段) | |||
entity.StudentCertificateList = studentCertificateIBLL.GetList(entity.StuNo).OrderByDescending(x=>x.CreateTime).ToList(); | |||
//奖罚情况 | |||
entity.StuEncourgementList = stuEncourgementIBLL.GetEncourgementListByStuNo(entity.AcademicYearNo,entity.Semester,entity.StuNo).ToList(); | |||
entity.StuPunishmentList = stuPunishmentIBLL.GetPunishmentListByStuNo(entity.AcademicYearNo, entity.Semester, entity.StuNo).ToList(); | |||
//学习成绩 | |||
entity.StuScoreList = stuScoreIBLL.GetAllScoreListByStuNo(entity.StuNo).Where(x => x.AcademicYearNo ==entity.AcademicYearNo && x.Semester == entity.Semester && x.CheckMark=="1").ToList(); | |||
//考勤 | |||
//todo: | |||
return View(entity); | |||
} | |||
#endregion | |||
#region 获取数据 | |||
@@ -13,12 +13,12 @@ | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="ScoreCheckInfo"> | |||
<div class="lr-form-item-title">学号<font face="宋体">*</font></div> | |||
<input id="StuNo" type="text" class="form-control" readonly="readonly"/> | |||
<input id="StuNo" type="text" class="form-control" readonly="readonly" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="ScoreCheckInfo"> | |||
<div class="lr-form-item-title">姓名<font face="宋体">*</font></div> | |||
<input id="StuName" type="text" class="form-control" readonly="readonly" /> | |||
</div> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="ScoreCheckInfo"> | |||
<div class="lr-form-item-title">专业部<font face="宋体">*</font></div> | |||
<div id="DeptNo" isvalid="yes" checkexpession="NotNull" readonly="readonly"></div> | |||
@@ -37,6 +37,12 @@ | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="ScoreCheckInfo"> | |||
<div class="lr-form-item-title">班主任评语<font face="宋体">*</font></div> | |||
<textarea id="TeacherDemo" class="form-control" style="height: 100px;"></textarea> </div> | |||
<textarea id="TeacherDemo" class="form-control" style="height: 100px;"></textarea> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="ScoreCheckInfo"> | |||
<div class="lr-form-item-title">意见盖章</div> | |||
<div id="FilePath"></div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/ScoreCheckInfo/FormTeach.js") |
@@ -34,6 +34,7 @@ var bootstrap = function ($, learun) { | |||
$('#MajorNo').lrDataSourceSelect({ code: 'CdMajorInfo', value: 'majorno', text: 'majorno' }); | |||
$('#ClassNo').lrDataSourceSelect({ code: 'bjsj', value: 'classno', text: 'classname' }); | |||
$('#OperatingLevel').lrDataItemSelect({ code: 'OperatingLevel' }); | |||
$('#FilePath').lrUploader(); | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
@@ -56,8 +56,7 @@ | |||
<a id="lr_Coordinator" class="btn btn-default"><i class="fa fa-plus"></i> 教师评语</a> | |||
<a id="lr_submit" class="btn btn-default"><i class="fa fa-plus"></i> 提交</a> | |||
<a id="lr_lock" class="btn btn-default"><i class="fa fa-plus"></i> 审核</a> | |||
<a id="lr_print" class="btn btn-default"><i class="fa fa-print"></i> 打印</a> | |||
@*<a id="lr_unlock" class="btn btn-default"><i class="fa fa-plus"></i> 去审核</a>*@ | |||
<a id="lr_print" class="btn btn-default"><i class="fa fa-print"></i> 学业成绩考核记载表打印</a> | |||
</div> | |||
</div> | |||
</div> | |||
@@ -144,19 +144,15 @@ var bootstrap = function ($, learun) { | |||
}); | |||
} | |||
}); | |||
// 打印 | |||
$('#lr_print').on('click', function () { | |||
$('#gridtable').jqprintTable(); | |||
}); | |||
// 审核 | |||
$('#lr_lock').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('ID'); | |||
if (learun.checkrow(keyValue)) { | |||
var CheckMark = $('#gridtable').jfGridValue('CheckStatus'); | |||
if (CheckMark.indexOf('1') > -1 || CheckMark.indexOf('2') > -1) { | |||
learun.alert.warning("选中记录中包含已审核项目,请勿重复提交!"); | |||
return; | |||
} | |||
//if (CheckMark.indexOf('1') > -1 || CheckMark.indexOf('2') > -1) { | |||
// learun.alert.warning("选中记录中包含已审核项目,请勿重复提交!"); | |||
// return; | |||
//} | |||
learun.layerForm({ | |||
id: 'formTeach', | |||
title: '编辑', | |||
@@ -177,11 +173,11 @@ var bootstrap = function ($, learun) { | |||
learun.alert.warning("只能选择一条记录进行编辑!"); | |||
return; | |||
} | |||
var CheckMark = $('#gridtable').jfGridValue('CheckStatus'); | |||
if (CheckMark.indexOf('1') > -1 || CheckMark.indexOf('2') > -1) { | |||
learun.alert.warning("选中记录中包含已审核项目,请勿重复提交!"); | |||
return; | |||
} | |||
//var CheckMark = $('#gridtable').jfGridValue('CheckStatus'); | |||
//if (CheckMark.indexOf('1') > -1 || CheckMark.indexOf('2') > -1) { | |||
// learun.alert.warning("选中记录中包含已审核项目,请勿重复提交!"); | |||
// return; | |||
//} | |||
learun.layerForm({ | |||
id: 'formTeach', | |||
title: '编辑', | |||
@@ -226,10 +222,28 @@ var bootstrap = function ($, learun) { | |||
}); | |||
} | |||
}); | |||
//学业成绩考核记载表打印 | |||
$('#lr_print').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('ID'); | |||
if (learun.checkrow(keyValue)) { | |||
learun.layerForm({ | |||
id: 'recordtableprint', | |||
title: '学业成绩考核记载表', | |||
url: top.$.rootUrl + '/EducationalAdministration/ScoreCheckInfo/RecordTablePrint?keyValue=' + keyValue, | |||
width: 1200, | |||
height: 800, | |||
callBack: function (id) { | |||
return top[id].acceptClick(refreshGirdData); | |||
} | |||
}); | |||
} | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
$('#gridtable').lrAuthorizeJfGrid({ | |||
$('#gridtable').jfGrid({ | |||
url: top.$.rootUrl + '/EducationalAdministration/ScoreCheckInfo/GetPageList', | |||
headData: [ | |||
{ label: "学年", name: "AcademicYearNo", width: 60, align: "left" }, | |||
@@ -275,6 +289,24 @@ var bootstrap = function ($, learun) { | |||
}); | |||
} | |||
}, | |||
{ label: "班主任评语", name: "TeacherDemo", width: 100, align: "left" }, | |||
{ | |||
label: "评语日期", name: "TDate", width: 130, align: "left" | |||
}, | |||
{ | |||
label: "评语填写人", name: "Signed", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'BaseUser', | |||
key: value, | |||
keyId: 'f_account', | |||
callback: function (_data) { | |||
callback(_data['f_realname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "操作等级", name: "OperatingLevel", width: 60, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
@@ -287,50 +319,29 @@ var bootstrap = function ($, learun) { | |||
}); | |||
} | |||
}, | |||
{ label: "学校教务部门审核意见", name: "CheckOpinion", width: 150, align: "left" }, | |||
{ | |||
label: "评语填写人", name: "Signed", width: 100, align: "left", | |||
label: "意见日期", name: "CheckTime", width: 130, align: "left" | |||
}, | |||
{ | |||
label: "意见填写人", name: "CheckUser", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'EmpInfo', | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'BaseUser', | |||
key: value, | |||
keyId: 'empno', | |||
keyId: 'f_userid', | |||
callback: function (_data) { | |||
callback(_data['empname']); | |||
callback(_data['f_realname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: "班主任评语", name: "TeacherDemo", width: 200, align: "left" }, | |||
{ | |||
label: "评价时间", name: "TDate", width: 100, align: "left", | |||
formatter: function (cellvalue) { | |||
return learun.formatDate(cellvalue, 'yyyy-MM-dd'); | |||
} | |||
}, | |||
{ label: "学校教务部门审核意见", name: "CheckOpinion", width: 200, align: "left" }, | |||
{ | |||
label: "审核时间", name: "CheckTime", width: 100, align: "left", | |||
formatter: function (cellvalue) { | |||
return learun.formatDate(cellvalue, 'yyyy-MM-dd'); | |||
} | |||
}, | |||
{ | |||
label: "审核状态", name: "CheckStatus", width: 100, align: "left", | |||
formatter: function (cellvalue, row) { | |||
if (cellvalue == 1) { | |||
return '<span class=\"label label-warning\" >审核中</span>'; | |||
} else if (cellvalue == 2) { | |||
return '<span class=\"label label-success\" >审核通过</span>'; | |||
} else { | |||
return '<span class=\"label label-default\" >草稿</span>'; | |||
} | |||
} | |||
}, | |||
], | |||
mainId: 'ID', | |||
isPage: true, | |||
sidx: 'CreateTime desc', | |||
isMultiselect: true, | |||
sidx: 'AcademicYearNo desc,Semester desc,StuNo asc', | |||
isMultiselect: false, | |||
}); | |||
page.search(); | |||
}, | |||
@@ -0,0 +1,436 @@ | |||
@model Learun.Application.TwoDevelopment.EducationalAdministration.ScoreCheckInfoEntity | |||
@{ | |||
ViewBag.Title = "学业成绩考核记载表"; | |||
Layout = null; | |||
} | |||
<!DOCTYPE html> | |||
<html lang="en"> | |||
<head> | |||
<meta charset="UTF-8"> | |||
<meta http-equiv="X-UA-Compatible" content="IE=edge"> | |||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | |||
<title>Document</title> | |||
</head> | |||
<body> | |||
<div style="text-align: right;"> | |||
<button id="print">打印表格</button> | |||
</div> | |||
<div class="table-page"> | |||
<h1 class="table-title">学生成绩考核记载表( @Model.AcademicYearNo 学年,第 @Model.Semester 学期)</h1> | |||
<table id="table" border="1" cellspacing="0" cellpadding="10" width="100%" align="center"> | |||
<tr> | |||
<td rowspan="9"> | |||
<div style="width:20px;display: inline-block;">学业成绩</div> | |||
</td> | |||
<td rowspan="2">学科名称</td> | |||
<td colspan="2">成 绩</td> | |||
<td rowspan="2">学科名称</td> | |||
<td colspan="2">成 绩</td> | |||
</tr> | |||
<tr> | |||
<td>正考</td> | |||
<td>补考</td> | |||
<td>正考</td> | |||
<td>补考</td> | |||
</tr> | |||
<tr> | |||
<td>1</td> | |||
<td>1</td> | |||
<td>1</td> | |||
<td>2</td> | |||
<td>2</td> | |||
<td>2</td> | |||
</tr> | |||
<tr> | |||
<td> </td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
</tr> | |||
<tr> | |||
<td> </td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
</tr> | |||
<tr> | |||
<td> </td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
</tr> | |||
<tr> | |||
<td> </td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
</tr> | |||
<tr> | |||
<td> </td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
</tr> | |||
<tr> | |||
<td> </td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
</tr> | |||
<tr> | |||
<td colspan="2">学校教务部门审核意见</td> | |||
<td colspan="5"> | |||
<div style="text-align:left;">@Model.CheckOpinion</div> | |||
<div class="text-right" style="padding-right: 64px;margin-top: 10px;position:relative;">(盖 章) | |||
<img id="FilePath" src="" style="position:absolute;bottom:0;right:5px;width:50px;height:30px;"/> | |||
</div> | |||
<div class="text-right" style="padding-right: 8px;"> | |||
@{ | |||
if (Model.CheckTime.HasValue) | |||
{ | |||
<span>@Model.CheckTime.Value.Year 年 @Model.CheckTime.Value.Month 月 @Model.CheckTime.Value.Day 日</span> | |||
} | |||
else | |||
{ | |||
<span>年 月 日</span> | |||
} | |||
} | |||
</div> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td rowspan="2">考勤</td> | |||
<td style="padding: 6px;">事假(节)</td> | |||
<td colspan="5" style="border: none;padding:0"> | |||
<table border="1" cellspacing="0" cellpadding="6" width="100%" align="center" | |||
style="border-width: 0px;"> | |||
<tr> | |||
<td>病假(节)</td> | |||
<td>旷课(节)</td> | |||
<td>迟到(次)</td> | |||
<td>早退(次)</td> | |||
</tr> | |||
</table> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td></td> | |||
<td colspan="5" style="border: none;padding:0"> | |||
<table border="1" cellspacing="0" cellpadding="10" width="100%" align="center" | |||
style="border-width: 0px;"> | |||
<tr> | |||
<td> </td> | |||
<td> </td> | |||
<td> </td> | |||
<td> </td> | |||
</tr> | |||
</table> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td colspan="2">职业资格证书获得情况</td> | |||
<td colspan="5"> | |||
<div style="text-align:left"> | |||
@foreach (var item in Model.StudentCertificateList) | |||
{ | |||
<span>@(Model.StudentCertificateList.IndexOf(item)+1)、@item.SCName @item.CreateTime.Value.ToShortDateString().Replace("/", "-")</span><br> | |||
} | |||
</div> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td colspan="2">奖 惩 记 载</td> | |||
<td colspan="5"> | |||
<div style="height: 42px;"> | |||
@foreach (var item in Model.StuEncourgementList) | |||
{ | |||
<div class="tableTxt">@(Model.StuEncourgementList.IndexOf(item) + 1)、@item.EncourgeDate.Value.ToShortDateString().Replace("/", "-") @item.EncourgeName @item.Fee</div> | |||
} | |||
@foreach (var item in Model.StuPunishmentList) | |||
{ | |||
<div class="tableTxt">@(Model.StuPunishmentList.IndexOf(item) + 1 + Model.StuEncourgementList.Count())、@item.PunishDate.Value.ToShortDateString().Replace("/", "-") @item.PunishName</div> | |||
} | |||
</div> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td rowspan="2"> | |||
<div style="width:20px;display: inline-block;">操行鉴定</div> | |||
</td> | |||
<td>操行等级</td> | |||
<td colspan="5" id="OperatingLevel">@Model.OperatingLevel </td> | |||
</tr> | |||
<tr> | |||
<td><div style="width:20px;display: inline-block;">班主任评估</div></td> | |||
<td colspan="5"> | |||
<div style="text-align:left;">@Model.TeacherDemo</div> | |||
<div class="text-right" style="padding-right: 64px;margin-top: 140px;">班主任签名:<span id="Signed">@Model.Signed </span></div> | |||
<div class="text-right" style="padding-right: 8px;margin-top: 12px;"> | |||
@{ | |||
if (Model.TDate.HasValue) | |||
{ | |||
<span>@Model.TDate.Value.Year 年 @Model.TDate.Value.Month 月 @Model.TDate.Value.Day 日</span> | |||
} | |||
else | |||
{ | |||
<span>年 月 日</span> | |||
} | |||
} | |||
</div> | |||
</td> | |||
</tr> | |||
</table> | |||
<div style="padding-left: 8px;margin-top: 4px;">注:操行等级分优、良、中、差四等</div> | |||
<style> | |||
.table-page { | |||
font-size: 14px; | |||
} | |||
.table-title { | |||
text-align: center; | |||
} | |||
table { | |||
/* width: 540px; */ | |||
} | |||
td { | |||
text-align: center; | |||
font-size: 14px; | |||
} | |||
.text-right { | |||
text-align: right; | |||
} | |||
#print { | |||
padding: 6px 8px; | |||
cursor: pointer; | |||
display: inline-block; | |||
} | |||
</style> | |||
</div> | |||
<script src="~/Content/jquery/plugin/fullcalendar/js/jquery-1.7.2.min.js"></script> | |||
<script> | |||
const isDOM = (obj) => { | |||
return typeof HTMLElement === "object" | |||
? obj instanceof HTMLElement | |||
: obj && | |||
typeof obj === "object" && | |||
obj.nodeType === 1 && | |||
typeof obj.nodeName === "string"; | |||
}; | |||
/* const extend = (obj, obj2) => { | |||
for (const k in obj2) { | |||
if (obj2.hasOwnProperty(k)) obj[k] = obj2[k] | |||
} | |||
return obj | |||
} */ | |||
const isInBody = (node) => { | |||
return node === document.body ? false : document.body.contains(node); | |||
}; | |||
const wrapperRefDom = (refDom) => { | |||
let prevDom = null; | |||
let currDom = refDom; | |||
if (!isInBody(currDom)) return currDom; | |||
while (currDom) { | |||
if (prevDom) { | |||
const element = currDom.cloneNode(false); | |||
element.appendChild(prevDom); | |||
prevDom = element; | |||
} else { | |||
prevDom = currDom.cloneNode(true); | |||
} | |||
currDom = currDom.parentElement; | |||
} | |||
return prevDom; | |||
}; | |||
const getStyle = (options) => { | |||
let str = ""; | |||
const styles = document.querySelectorAll("style,link"); | |||
for (let i = 0; i < styles.length; i++) { | |||
str += styles[i].outerHTML; | |||
} | |||
str += | |||
"<style>" + | |||
(options.noPrint ? options.noPrint : ".no-print") + | |||
"{display:none;}</style>"; | |||
return str; | |||
}; | |||
const getHtml = (dom, options) => { | |||
const inputs = document.querySelectorAll("input"); | |||
const textAreas = document.querySelectorAll("textarea"); | |||
const selects = document.querySelectorAll("select"); | |||
for (let k = 0; k < inputs.length; k++) { | |||
if (inputs[k].type === "checkbox" || inputs[k].type === "radio") { | |||
if (inputs[k].checked === true) { | |||
inputs[k].setAttribute("checked", "checked"); | |||
} else { | |||
inputs[k].removeAttribute("checked"); | |||
} | |||
} else if (inputs[k].type === "text") { | |||
inputs[k].setAttribute("value", inputs[k].value); | |||
} else { | |||
inputs[k].setAttribute("value", inputs[k].value); | |||
} | |||
} | |||
for (let k2 = 0; k2 < textAreas.length; k2++) { | |||
if (textAreas[k2].type === "textarea") { | |||
textAreas[k2].innerHTML = textAreas[k2].value; | |||
} | |||
} | |||
for (let k3 = 0; k3 < selects.length; k3++) { | |||
if (selects[k3].type === "select-one") { | |||
const child = selects[k3].children; | |||
for (const i in child) { | |||
if (child[i].tagName === "OPTION") { | |||
if (child[i].selected === true) { | |||
child[i].setAttribute("selected", "selected"); | |||
} else { | |||
child[i].removeAttribute("selected"); | |||
} | |||
} | |||
} | |||
} | |||
} | |||
return options.noPrintParent ? dom.outerHTML : wrapperRefDom(dom).outerHTML; | |||
}; | |||
const toPrint = (frameWindow) => { | |||
try { | |||
setTimeout(function () { | |||
frameWindow.focus(); | |||
try { | |||
if (!frameWindow.document.execCommand("print", false, null)) { | |||
frameWindow.print(); | |||
} | |||
} catch (e) { | |||
frameWindow.print(); | |||
} | |||
frameWindow.close(); | |||
}, 10); | |||
} catch (err) { | |||
console.log("err", err); | |||
} | |||
}; | |||
const writeIframe = (content) => { | |||
const iframe = document.createElement("iframe"); | |||
const f = document.body.appendChild(iframe); | |||
iframe.id = "myIframe"; | |||
iframe.setAttribute( | |||
"style", | |||
"position:absolute;width:0;height:0;top:-10px;left:-10px;" | |||
); | |||
const w = f.contentWindow || f.contentDocument; | |||
const doc = f.contentDocument || f.contentWindow.document; | |||
doc.open(); | |||
doc.write(content); | |||
doc.close(); | |||
iframe.onload = function () { | |||
toPrint(w); | |||
setTimeout(function () { | |||
document.body.removeChild(iframe); | |||
}, 100); | |||
}; | |||
}; | |||
const Print = (dom, options) => { | |||
options = { ...options, noPrint: ".no-print" }; | |||
let targetDom; | |||
if (typeof dom === "string") { | |||
targetDom = document.querySelector(dom); | |||
} else { | |||
targetDom = isDOM(dom) ? dom : dom.$el; | |||
} | |||
const content = getStyle(options) + getHtml(targetDom, options); | |||
writeIframe(content); | |||
}; | |||
const printBtn = document.getElementById("print") | |||
printBtn.addEventListener("click", () => { | |||
Print(document.getElementsByClassName("table-page")[0]) | |||
}) | |||
</script> | |||
<script> | |||
//获取网站地址 | |||
var a = window.location.protocol; | |||
var b = window.location.host; | |||
var c = a + "//" + b+"/"; | |||
if ("@Model.FilePath" != "") { | |||
$('#FilePath').attr('src',c + "@Model.FilePath"); | |||
} | |||
//绑定字典或源的值 | |||
function GetDataSourceStr(code, value, text, valueStr, box) { | |||
$(box).html(""); | |||
$.ajax({ | |||
url: "/OnlineRegistrate/GetDataSourceMap?code=" + code, | |||
async: false, | |||
success: function (msg) { | |||
var msgObject = $.parseJSON(msg); | |||
if (msgObject.code == 200) { | |||
$.each(msgObject.data, function (i, item) { | |||
if (item[value] == valueStr) { | |||
$(box).html(item[text]); | |||
return; | |||
} | |||
}); | |||
} else { | |||
layer.msg(msgObject.info); | |||
} | |||
}, | |||
}); | |||
return; | |||
}; | |||
function GetDataItemStr(code, valueStr, box) { | |||
$(box).html(""); | |||
$.ajax({ | |||
url: "/OnlineRegistrate/GetDataItemMap?code=" + code, | |||
async: false, | |||
success: function (msg) { | |||
var msgObject = $.parseJSON(msg); | |||
if (msgObject.code == 200) { | |||
$.each(msgObject.data, function (i, item) { | |||
if (item["F_ItemValue"] == valueStr) { | |||
$(box).html(item["F_ItemName"]); | |||
return; | |||
} | |||
}); | |||
} else { | |||
layer.msg(msgObject.info); | |||
} | |||
}, | |||
}); | |||
return; | |||
}; | |||
GetDataItemStr("OperatingLevel", "@Model.OperatingLevel","#OperatingLevel"); | |||
GetDataSourceStr("BaseUser", "f_account", "f_realname", "@Model.Signed", "#Signed"); | |||
</script> | |||
</body> | |||
</html> |
@@ -1249,6 +1249,7 @@ | |||
<Content Include="Areas\EducationalAdministration\Views\ScoreCheckInfo\FormTeach.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\ScoreCheckInfo\FormAudit.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuInfoBasic\GraduateDiplomaReceiveForm.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\ScoreCheckInfo\RecordTablePrint.cshtml" /> | |||
<None Include="Areas\EducationalAdministration\Views\StuInfoBasic\Printxjk.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuInfoFresh\AllocationClassDC.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuInfoFresh\StatisticClassIndex.js" /> | |||
@@ -65,7 +65,7 @@ | |||
<add key="userKey" value="14B417B0-463D-4F2B-8075-0A20EEDB773A" /> | |||
<!-- ==================注意附件上传地址 修改到部署目录下的Resource要不然飞星会报错================== --> | |||
<add key="AnnexesFile" value="D:\work\DigitalScholl\Learun.Framework.Ultimate V7\Learun.Application.Web\Resource" /> | |||
<add key="AnnexesFile" value="D:\Job\DigitalScholl\Learun.Framework.Ultimate V7\Learun.Application.Web\Resource" /> | |||
<!-- ================== 8:流程服务地址 ================== --> | |||
<add key="workflowapi" value="http://localhost:8013" /> | |||
<!--Redis 缓存前缀 --> | |||
@@ -1,5 +1,6 @@ | |||
using Learun.Util; | |||
using System; | |||
using System.Collections.Generic; | |||
using System.ComponentModel.DataAnnotations.Schema; | |||
namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
@@ -138,6 +139,9 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
public void Create() | |||
{ | |||
this.ID = Guid.NewGuid().ToString(); | |||
var loginUserInfo = LoginUserInfo.Get(); | |||
this.CreateUser = loginUserInfo.userId; | |||
this.CreateTime = DateTime.Now; | |||
} | |||
/// <summary> | |||
/// 编辑调用 | |||
@@ -146,9 +150,18 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
public void Modify(string keyValue) | |||
{ | |||
this.ID = keyValue; | |||
var loginUserInfo = LoginUserInfo.Get(); | |||
this.UpdateUser = loginUserInfo.userId; | |||
this.UpdateTime = DateTime.Now; | |||
} | |||
#endregion | |||
#region 扩展字段 | |||
[NotMapped] public List<StuEncourgementEntity> StuEncourgementList { get; set; } | |||
[NotMapped] public List<StuPunishmentEntity> StuPunishmentList { get; set; } | |||
[NotMapped] public List<StuScoreEntity> StuScoreList { get; set; } | |||
[NotMapped] public List<StudentCertificateEntity> StudentCertificateList { get; set; } | |||
#endregion | |||
} | |||
} | |||
@@ -213,6 +213,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
entity.UpdateTime = DateTime.Now; | |||
entity.UpdateUser = userlogin.userId; | |||
entity.Signed = userlogin.account; | |||
entity.TDate = DateTime.Now; | |||
this.BaseRepository("CollegeMIS").Update(entity); | |||
} | |||
} | |||
@@ -296,6 +297,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
{ | |||
var model = db.FindEntity<ScoreCheckInfoEntity>(x => x.ID == item); | |||
model.CheckStatus = entity.CheckStatus; | |||
model.CheckOpinion = entity.CheckOpinion; | |||
model.CheckTime = DateTime.Now; | |||
model.CheckUser = userlogin.userId; | |||
model.UpdateTime = DateTime.Now; | |||
@@ -67,6 +67,30 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
} | |||
} | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <returns></returns> | |||
public IEnumerable<StudentCertificateEntity> GetList(string stuNo) | |||
{ | |||
try | |||
{ | |||
return studentCertificateService.GetList(stuNo); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取主表实体数据 | |||
/// </summary> | |||
@@ -28,6 +28,12 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
StudentCertificateEntity GetStudentCertificateEntity(string keyValue); | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <returns></returns> | |||
IEnumerable<StudentCertificateEntity> GetList(string stuNo); | |||
/// <summary> | |||
/// 获取主表实体数据 | |||
/// </summary> | |||
@@ -142,6 +142,30 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
} | |||
} | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <returns></returns> | |||
public IEnumerable<StudentCertificateEntity> GetList(string stuNo) | |||
{ | |||
try | |||
{ | |||
return this.BaseRepository("CollegeMIS").FindList<StudentCertificateEntity>(x => x.StuNo == stuNo && x.Status==2); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
#endregion | |||
#region 提交数据 | |||