@@ -0,0 +1,195 @@ | |||
using Learun.Util; | |||
using System.Data; | |||
using Learun.Application.TwoDevelopment.EducationalAdministration; | |||
using System.Web.Mvc; | |||
using System.Collections.Generic; | |||
namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2022-09-19 14:37 | |||
/// 描 述:学业成绩考核记录表 | |||
/// </summary> | |||
public class ScoreCheckInfoController : MvcControllerBase | |||
{ | |||
private ScoreCheckInfoIBLL scoreCheckInfoIBLL = new ScoreCheckInfoBLL(); | |||
#region 视图功能 | |||
/// <summary> | |||
/// 主页面 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult Index() | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 表单页 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult Form() | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 一键生成表单页 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult FormGene() | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 教师评价 | |||
/// </summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult FormTeach() | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 审核 | |||
/// </summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult FormAudit() | |||
{ | |||
return View(); | |||
} | |||
#endregion | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="pagination">分页参数</param> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetPageList(string pagination, string queryJson) | |||
{ | |||
Pagination paginationobj = pagination.ToObject<Pagination>(); | |||
var data = scoreCheckInfoIBLL.GetPageList(paginationobj, queryJson); | |||
var jsonData = new | |||
{ | |||
rows = data, | |||
total = paginationobj.total, | |||
page = paginationobj.page, | |||
records = paginationobj.records | |||
}; | |||
return Success(jsonData); | |||
} | |||
/// <summary> | |||
/// 获取表单数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetFormData(string keyValue) | |||
{ | |||
var ScoreCheckInfoData = scoreCheckInfoIBLL.GetScoreCheckInfoEntity(keyValue); | |||
var jsonData = new | |||
{ | |||
ScoreCheckInfo = ScoreCheckInfoData, | |||
}; | |||
return Success(jsonData); | |||
} | |||
#endregion | |||
#region 提交数据 | |||
/// <summary> | |||
/// 删除实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult DeleteForm(string keyValue) | |||
{ | |||
scoreCheckInfoIBLL.DeleteEntity(keyValue); | |||
return Success("删除成功!"); | |||
} | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <param name="strEntity">实体</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[ValidateAntiForgeryToken] | |||
[AjaxOnly] | |||
public ActionResult SaveForm(string keyValue, string strEntity) | |||
{ | |||
ScoreCheckInfoEntity entity = strEntity.ToObject<ScoreCheckInfoEntity>(); | |||
var model = scoreCheckInfoIBLL.GetStuNoEntity(entity.StuNo, entity.AcademicYearNo, entity.Semester); | |||
if (string.IsNullOrEmpty(keyValue)) | |||
{ | |||
if (model != null) | |||
{ | |||
return Fail("学生编号已存在!"); | |||
} | |||
} | |||
else | |||
{ | |||
if (model != null && model.ID != keyValue) | |||
{ | |||
return Fail("学生编号已存在!"); | |||
} | |||
} | |||
scoreCheckInfoIBLL.SaveEntity(keyValue, entity); | |||
return Success("保存成功!"); | |||
} | |||
/// <summary> | |||
/// 一键生成 | |||
/// </summary> | |||
/// <param name="AcademicYearNo"></param> | |||
/// <param name="Semester"></param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult SaveGeneForm(string AcademicYearNo, string Semester) | |||
{ | |||
int res = scoreCheckInfoIBLL.SaveGeneEntity(AcademicYearNo, Semester); | |||
return Success("本次生成" + res + "条数据!"); | |||
} | |||
/// <summary> | |||
/// 提交 | |||
/// </summary> | |||
/// <param name="keyValue"></param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult SubmitFrom(string keyValue) | |||
{ | |||
scoreCheckInfoIBLL.SubmitEntity(keyValue); | |||
return Success("提交成功!"); | |||
} | |||
/// <summary> | |||
/// 审核 | |||
/// </summary> | |||
/// <param name="keyValue"></param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult AuditFrom(string keyValue, string strEntity) | |||
{ | |||
ScoreCheckInfoEntity entity = strEntity.ToObject<ScoreCheckInfoEntity>(); | |||
scoreCheckInfoIBLL.AuditEntity(keyValue, entity); | |||
return Success("审核成功!"); | |||
} | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,23 @@ | |||
@{ | |||
ViewBag.Title = "学业成绩考核记录表"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap" id="form"> | |||
<div class="col-xs-12 lr-form-item" data-table="ScoreCheckInfo"> | |||
<div class="lr-form-item-title">学年<font face="宋体">*</font></div> | |||
<div id="AcademicYearNo" isvalid="yes" checkexpession="NotNull"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="ScoreCheckInfo"> | |||
<div class="lr-form-item-title">学期<font face="宋体">*</font></div> | |||
<div id="Semester"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="ScoreCheckInfo"> | |||
<div class="lr-form-item-title">姓名<font face="宋体">*</font></div> | |||
<div id="StuNo"></div> | |||
<input id="StuName" type="text" style="display: none;" /> | |||
<input id="DeptNo" type="text" style="display: none;" /> | |||
<input id="MajorNo" type="text" style="display: none;" /> | |||
<input id="ClassNo" type="text" style="display: none;" /> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/ScoreCheckInfo/Form.js") |
@@ -0,0 +1,128 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2022-09-19 14:37 | |||
* 描 述:学业成绩考核记录表 | |||
*/ | |||
var acceptClick; | |||
var keyValue = request('keyValue'); | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
$('.lr-form-wrap').lrscroll(); | |||
page.bind(); | |||
page.initData(); | |||
}, | |||
bind: function () { | |||
//学年 | |||
$('#AcademicYearNo').lrselect({ | |||
placeholder: "请选择学年", | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/EducationalAdministration/EADateArrange/GetAcademicYearNo', | |||
value: 'value', | |||
text: 'text' | |||
}); | |||
//学期 | |||
$('#Semester').lrselect({ | |||
placeholder: "请选择学年", | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/EducationalAdministration/EADateArrange/GetSemester', | |||
value: 'value', | |||
text: 'text' | |||
}); | |||
$('#DeptNo').lrDataSourceSelect({ code: 'CdDeptInfo', value: 'deptno', text: 'deptname' }); | |||
$('#MajorNo').lrDataSourceSelect({ code: 'CdMajorInfo', value: 'majorno', text: 'majorno' }); | |||
$('#ClassNo').lrDataSourceSelect({ code: 'bjsj', value: 'classno', text: 'classname' }); | |||
$('#StuNo').lrGirdSelect({ | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=StuInfoBasic', | |||
selectWord: 'stuname', | |||
value: 'stuno', | |||
text: 'stuname', | |||
headData: | |||
[ | |||
{ label: "学号", name: "stuno", width: 100, align: "left" }, | |||
{ label: "姓名", name: "stuname", width: 100, align: "left" }, | |||
{ | |||
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: "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: "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']); | |||
} | |||
}); | |||
} | |||
} | |||
], | |||
select: function (item) { | |||
$("#StuNo").val(item.stuno); | |||
$("#StuName").val(item.stuname); | |||
$("#MajorNo").val(item.majorno); | |||
$("#DeptNo").val(item.deptno); | |||
$("#ClassNo").val(item.classno); | |||
} | |||
}); | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/ScoreCheckInfo/GetFormData?keyValue=' + keyValue, function (data) { | |||
for (var id in data) { | |||
if (!!data[id].length && data[id].length > 0) { | |||
$('#' + id ).jfGridSet('refreshdata', data[id]); | |||
} | |||
else { | |||
$('[data-table="' + id + '"]').lrSetFormData(data[id]); | |||
} | |||
} | |||
}); | |||
} | |||
} | |||
}; | |||
// 保存数据 | |||
acceptClick = function (callBack) { | |||
if (!$('body').lrValidform()) { | |||
return false; | |||
} | |||
var postData = { | |||
strEntity: JSON.stringify($('body').lrGetFormData()) | |||
}; | |||
console.log(postData,"postData") | |||
$.lrSaveForm(top.$.rootUrl + '/EducationalAdministration/ScoreCheckInfo/SaveForm?keyValue=' + keyValue, postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(); | |||
} | |||
}); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,15 @@ | |||
@{ | |||
ViewBag.Title = "学业考核成绩记载审核表单"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap"> | |||
<div class="col-xs-12 lr-form-item" data-table="ScoreCheckInfo"> | |||
<div class="lr-form-item-title">审核通过</div> | |||
<div id="CheckStatus"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="ScoreCheckInfo"> | |||
<div class="lr-form-item-title">备注</div> | |||
<textarea id="CheckOpinion" type="text" class="form-control" style="height:100px;"></textarea> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/ScoreCheckInfo/FormAudit.js") |
@@ -0,0 +1,55 @@ | |||
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) | |||
* Copyright (c) 2013-2018 北京泉江科技有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2019-05-15 10:33 | |||
* 描 述:选修课报名审核表单 | |||
*/ | |||
var acceptClick; | |||
var keyValue = request('keyValue'); | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
$('.lr-form-wrap').lrscroll(); | |||
page.bind(); | |||
page.initData(); | |||
}, | |||
bind: function () { | |||
$('#CheckStatus').lrRadioCheckbox({ | |||
type: 'radio', | |||
code: 'YesOrNoInt', | |||
}); | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/ScoreCheckInfo/GetFormData?keyValue=' + keyValue, function (data) { | |||
for (var id in data) { | |||
if (!!data[id].length && data[id].length > 0) { | |||
$('#' + id).jfGridSet('refreshdata', data[id]); | |||
} | |||
else { | |||
$('[data-table="' + id + '"]').lrSetFormData(data[id]); | |||
} | |||
} | |||
}); | |||
} | |||
} | |||
}; | |||
// 保存数据 | |||
acceptClick = function (callBack) { | |||
if (!$('body').lrValidform()) { | |||
return false; | |||
} | |||
var postData = { | |||
strEntity: JSON.stringify($('body').lrGetFormData()) | |||
}; | |||
console.log(keyValue,"keyValue") | |||
$.lrSaveForm(top.$.rootUrl + '/EducationalAdministration/ScoreCheckInfo/AuditFrom?keyValue=' + keyValue, postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(); | |||
} | |||
}); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,15 @@ | |||
@{ | |||
ViewBag.Title = "学业成绩考核记录表"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap" id="form"> | |||
<div class="col-xs-12 lr-form-item" data-table="ScoreCheckInfo" > | |||
<div class="lr-form-item-title">学年<font face="宋体">*</font></div> | |||
<div id="AcademicYearNo" isvalid="yes" checkexpession="NotNull" ></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="ScoreCheckInfo" > | |||
<div class="lr-form-item-title">学期<font face="宋体">*</font></div> | |||
<div id="Semester" isvalid="yes" checkexpession="NotNull" ></div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/ScoreCheckInfo/FormGene.js") |
@@ -0,0 +1,66 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2022-09-19 14:37 | |||
* 描 述:学业成绩考核记录表 | |||
*/ | |||
var acceptClick; | |||
var keyValue = request('keyValue'); | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
$('.lr-form-wrap').lrscroll(); | |||
page.bind(); | |||
page.initData(); | |||
}, | |||
bind: function () { | |||
$('#AcademicYearNo').lrselect({ | |||
placeholder: "请选择学年", | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/EducationalAdministration/EADateArrange/GetAcademicYearNo', | |||
value: 'value', | |||
text: 'text' | |||
}); | |||
//学期 | |||
$('#Semester').lrselect({ | |||
placeholder: "请选择学年", | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/EducationalAdministration/EADateArrange/GetSemester', | |||
value: 'value', | |||
text: 'text' | |||
}); | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/ScoreCheckInfo/GetFormData?keyValue=' + keyValue, function (data) { | |||
for (var id in data) { | |||
if (!!data[id].length && data[id].length > 0) { | |||
$('#' + id ).jfGridSet('refreshdata', data[id]); | |||
} | |||
else { | |||
$('[data-table="' + id + '"]').lrSetFormData(data[id]); | |||
} | |||
} | |||
}); | |||
} | |||
} | |||
}; | |||
// 保存数据 | |||
acceptClick = function (callBack) { | |||
if (!$('body').lrValidform()) { | |||
return false; | |||
} | |||
var postData = { | |||
AcademicYearNo: $('#AcademicYearNo').lrselectGet(), | |||
Semester: $('#Semester').lrselectGet(), | |||
}; | |||
$.lrSaveForm(top.$.rootUrl + '/EducationalAdministration/ScoreCheckInfo/SaveGeneForm?keyValue=' + keyValue, postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(); | |||
} | |||
}); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,42 @@ | |||
@{ | |||
ViewBag.Title = "学业成绩考核记录表"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap" id="form"> | |||
<div class="col-xs-6 lr-form-item" data-table="ScoreCheckInfo"> | |||
<div class="lr-form-item-title">学年<font face="宋体">*</font></div> | |||
<div id="AcademicYearNo" isvalid="yes" checkexpession="NotNull" 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="Semester" isvalid="yes" checkexpession="NotNull" 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> | |||
<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 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> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="ScoreCheckInfo"> | |||
<div class="lr-form-item-title">专业<font face="宋体">*</font></div> | |||
<div id="MajorNo" isvalid="yes" checkexpession="NotNull" 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="ClassNo" isvalid="yes" checkexpession="NotNull" 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="OperatingLevel" isvalid="yes" checkexpession="NotNull"></div> | |||
</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> | |||
</div> | |||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/ScoreCheckInfo/FormTeach.js") |
@@ -0,0 +1,69 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2022-09-19 14:37 | |||
* 描 述:学业成绩考核记录表 | |||
*/ | |||
var acceptClick; | |||
var keyValue = request('keyValue'); | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
$('.lr-form-wrap').lrscroll(); | |||
page.bind(); | |||
page.initData(); | |||
}, | |||
bind: function () { | |||
$('#AcademicYearNo').lrselect({ | |||
placeholder: "请选择学年", | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/EducationalAdministration/EADateArrange/GetAcademicYearNo', | |||
value: 'value', | |||
text: 'text' | |||
}); | |||
//学期 | |||
$('#Semester').lrselect({ | |||
placeholder: "请选择学年", | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/EducationalAdministration/EADateArrange/GetSemester', | |||
value: 'value', | |||
text: 'text' | |||
}); | |||
$('#DeptNo').lrDataSourceSelect({ code: 'CdDeptInfo', value: 'deptno', text: 'deptname' }); | |||
$('#MajorNo').lrDataSourceSelect({ code: 'CdMajorInfo', value: 'majorno', text: 'majorno' }); | |||
$('#ClassNo').lrDataSourceSelect({ code: 'bjsj', value: 'classno', text: 'classname' }); | |||
$('#OperatingLevel').lrDataItemSelect({ code: 'OperatingLevel' }); | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/ScoreCheckInfo/GetFormData?keyValue=' + keyValue, function (data) { | |||
for (var id in data) { | |||
if (!!data[id].length && data[id].length > 0) { | |||
$('#' + id ).jfGridSet('refreshdata', data[id]); | |||
} | |||
else { | |||
$('[data-table="' + id + '"]').lrSetFormData(data[id]); | |||
} | |||
} | |||
}); | |||
} | |||
} | |||
}; | |||
// 保存数据 | |||
acceptClick = function (callBack) { | |||
if (!$('body').lrValidform()) { | |||
return false; | |||
} | |||
var postData = { | |||
strEntity: JSON.stringify($('body').lrGetFormData()) | |||
}; | |||
$.lrSaveForm(top.$.rootUrl + '/EducationalAdministration/ScoreCheckInfo/SaveForm?keyValue=' + keyValue, postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(); | |||
} | |||
}); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,68 @@ | |||
@{ | |||
ViewBag.Title = "学业成绩考核记录表"; | |||
Layout = "~/Views/Shared/_Index.cshtml"; | |||
} | |||
<div class="lr-layout "> | |||
<div class="lr-layout-center"> | |||
<div class="lr-layout-wrap lr-layout-wrap-notitle "> | |||
<div class="lr-layout-tool"> | |||
<div class="lr-layout-tool-left"> | |||
<div class="lr-layout-tool-item"> | |||
<div id="multiple_condition_query"> | |||
<div class="lr-query-formcontent"> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">学年</div> | |||
<div id="AcademicYearNo"></div> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">学期</div> | |||
<div id="Semester"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">系部</div> | |||
<div id="DeptNo"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">专业</div> | |||
<div id="MajorNo"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">班级</div> | |||
<div id="ClassNo"></div> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">学号</div> | |||
<input id="StuNo" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">姓名</div> | |||
<input id="StuName" type="text" class="form-control" /> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-tool-right"> | |||
<div class=" btn-group btn-group-sm"> | |||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | |||
</div> | |||
<div class=" btn-group btn-group-sm" learun-authorize="yes"> | |||
<a id="lr_add" class="btn btn-default"><i class="fa fa-plus"></i> 新增</a> | |||
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i> 编辑</a> | |||
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i> 删除</a> | |||
<a id="lr_print" class="btn btn-default"><i class="fa fa-print"></i> 打印</a> | |||
</div> | |||
<div class=" btn-group btn-group-sm" learun-authorize="yes"> | |||
<a id="lr_generate" class="btn btn-default"><i class="fa fa-plus"></i> 一键生成</a> | |||
<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_unlock" class="btn btn-default"><i class="fa fa-plus"></i> 去审核</a> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/ScoreCheckInfo/Index.js") |
@@ -0,0 +1,350 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2022-09-19 14:37 | |||
* 描 述:学业成绩考核记录表 | |||
*/ | |||
var refreshGirdData; | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
page.initGird(); | |||
page.bind(); | |||
}, | |||
bind: function () { | |||
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) { | |||
page.search(queryJson); | |||
}, 250, 400); | |||
//学年 | |||
$('#AcademicYearNo').lrselect({ | |||
placeholder: "请选择学年", | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/EducationalAdministration/EADateArrange/GetAcademicYearNo', | |||
value: 'value', | |||
text: 'text' | |||
}); | |||
//学期 | |||
$('#Semester').lrselect({ | |||
placeholder: "请选择学期", | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/EducationalAdministration/EADateArrange/GetSemester', | |||
value: 'value', | |||
text: 'text' | |||
}); | |||
$('#DeptNo').lrselect({ | |||
allowSearch: true, | |||
value: "deptno", | |||
text: "deptname", | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=CdDeptInfo', | |||
select: function (item) { | |||
if (item) { | |||
$('#MajorNo').lrselectRefresh({ | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=CdMajorInfo', | |||
param: { strWhere: "DeptNo='" + item.deptno + "' AND CheckMark=1" } | |||
}); | |||
} else { | |||
$('#MajorNo').lrselectRefresh({ | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=CdMajorInfo', | |||
param: { strWhere: "1=1 AND CheckMark=1" } | |||
}); | |||
} | |||
} | |||
}); | |||
$('#MajorNo').lrselect({ | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=CdMajorInfo', | |||
value: "majorno", | |||
text: "majorname", | |||
param: { strWhere: "1=1 AND CheckMark=1" }, | |||
select: function (item) { | |||
if (item) { | |||
$('#ClassNo').lrselectRefresh({ | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=bjsj', | |||
param: { strWhere: "majorno='" + item.majorno + "' AND CheckMark=1" } | |||
}); | |||
} else { | |||
$('#ClassNo').lrselectRefresh({ | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=bjsj', | |||
param: { strWhere: "1=1 AND CheckMark=1" } | |||
}); | |||
} | |||
} | |||
}); | |||
$('#ClassNo').lrselect({ | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=bjsj', | |||
param: { strWhere: "1=1 AND CheckMark=1" }, | |||
value: "classno", | |||
text: "classname" | |||
}); | |||
// 刷新 | |||
$('#lr_refresh').on('click', function () { | |||
location.reload(); | |||
}); | |||
// 新增 | |||
$('#lr_add').on('click', function () { | |||
learun.layerForm({ | |||
id: 'form', | |||
title: '新增', | |||
url: top.$.rootUrl + '/EducationalAdministration/ScoreCheckInfo/Form', | |||
width: 600, | |||
height: 400, | |||
callBack: function (id) { | |||
return top[id].acceptClick(refreshGirdData); | |||
} | |||
}); | |||
}); | |||
// 编辑 | |||
$('#lr_edit').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('ID'); | |||
if (learun.checkrow(keyValue)) { | |||
if (keyValue.indexOf(',') != -1) { | |||
learun.alert.warning("只能选择一条记录进行编辑!"); | |||
return; | |||
} | |||
var CheckMark = $('#gridtable').jfGridValue('CheckStatus'); | |||
if (CheckMark === "1") { | |||
learun.alert.warning("当前项目已审核不能编辑!"); | |||
return; | |||
} | |||
learun.layerForm({ | |||
id: 'form', | |||
title: '编辑', | |||
url: top.$.rootUrl + '/EducationalAdministration/ScoreCheckInfo/Form?keyValue=' + keyValue, | |||
width: 800, | |||
height: 600, | |||
callBack: function (id) { | |||
return top[id].acceptClick(refreshGirdData); | |||
} | |||
}); | |||
} | |||
}); | |||
// 删除 | |||
$('#lr_delete').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('ID'); | |||
if (learun.checkrow(keyValue)) { | |||
var CheckMark = $('#gridtable').jfGridValue('CheckStatus'); | |||
if (CheckMark.indexOf('1') != -1) { | |||
learun.alert.warning("选中记录中包含已审核项目,已审核不能删除!"); | |||
return; | |||
} | |||
learun.layerConfirm('是否确认删除该项!', function (res) { | |||
if (res) { | |||
learun.deleteForm(top.$.rootUrl + '/EducationalAdministration/ScoreCheckInfo/DeleteForm', { keyValue: keyValue }, function () { | |||
refreshGirdData(); | |||
}); | |||
} | |||
}); | |||
} | |||
}); | |||
// 打印 | |||
$('#lr_print').on('click', function () { | |||
$('#gridtable').jqprintTable(); | |||
}); | |||
// 审核 | |||
$('#lr_lock').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('ID'); | |||
if (learun.checkrow(keyValue)) { | |||
//if (keyValue.indexOf(',') != -1) { | |||
// learun.alert.warning("只能选择一条记录进行编辑!"); | |||
// return; | |||
//} | |||
var CheckMark = $('#gridtable').jfGridValue('CheckStatus'); | |||
if (CheckMark != "1") { | |||
learun.alert.warning("当前项不可审核!"); | |||
return; | |||
} | |||
learun.layerForm({ | |||
id: 'formTeach', | |||
title: '编辑', | |||
url: top.$.rootUrl + '/EducationalAdministration/ScoreCheckInfo/FormAudit?keyValue=' + keyValue, | |||
width: 800, | |||
height: 600, | |||
callBack: function (id) { | |||
return top[id].acceptClick(refreshGirdData); | |||
} | |||
}); | |||
} | |||
}); | |||
// 教师评语 | |||
$('#lr_Coordinator').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('ID'); | |||
if (learun.checkrow(keyValue)) { | |||
if (keyValue.indexOf(',') != -1) { | |||
learun.alert.warning("只能选择一条记录进行编辑!"); | |||
return; | |||
} | |||
var CheckMark = $('#gridtable').jfGridValue('CheckStatus'); | |||
if (CheckMark === "1") { | |||
learun.alert.warning("当前项目已审核不能编辑!"); | |||
return; | |||
} | |||
learun.layerForm({ | |||
id: 'formTeach', | |||
title: '编辑', | |||
url: top.$.rootUrl + '/EducationalAdministration/ScoreCheckInfo/FormTeach?keyValue=' + keyValue, | |||
width: 800, | |||
height: 600, | |||
callBack: function (id) { | |||
return top[id].acceptClick(refreshGirdData); | |||
} | |||
}); | |||
} | |||
}); | |||
// 一键生成 | |||
$('#lr_generate').on('click', function () { | |||
learun.layerForm({ | |||
id: 'form_import', | |||
title: '生成信息', | |||
url: top.$.rootUrl + '/EducationalAdministration/ScoreCheckInfo/FormGene', | |||
width: 400, | |||
height: 300, | |||
btn: ['一键生成', '关闭'], | |||
callBack: function (id) { | |||
return top[id].acceptClick(refreshGirdData); | |||
} | |||
}); | |||
}); | |||
// 提交 | |||
$('#lr_submit').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('ID'); | |||
if (learun.checkrow(keyValue)) { | |||
var CheckMark = $('#gridtable').jfGridValue('CheckStatus'); | |||
if (CheckMark.indexOf('1') != -1) { | |||
learun.alert.warning("选中记录中包含已提交项目,不可重复提交!"); | |||
return; | |||
} | |||
learun.layerConfirm('是否确认提交选择项!', function (res) { | |||
if (res) { | |||
learun.deleteForm(top.$.rootUrl + '/EducationalAdministration/ScoreCheckInfo/SubmitFrom', { keyValue: keyValue }, function () { | |||
refreshGirdData(); | |||
}); | |||
} | |||
}); | |||
} | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
$('#gridtable').lrAuthorizeJfGrid({ | |||
url: top.$.rootUrl + '/EducationalAdministration/ScoreCheckInfo/GetPageList', | |||
headData: [ | |||
{ label: "学年", name: "AcademicYearNo", width: 60, align: "left" }, | |||
{ label: "学期", name: "Semester", width: 50, align: "left" }, | |||
{ label: "学号", name: "StuNo", width: 140, align: "left" }, | |||
{ label: "姓名", name: "StuName", width: 100, align: "left" }, | |||
{ | |||
label: "专业部", name: "DeptNo", width: 130, 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: 130, 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: 130, 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: "OperatingLevel", width: 60, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('dataItem', { | |||
key: value, | |||
code: 'OperatingLevel', | |||
callback: function (_data) { | |||
callback(_data.text); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "评语填写人", name: "Signed", 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: "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, | |||
}); | |||
page.search(); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
} | |||
}; | |||
refreshGirdData = function () { | |||
$('#gridtable').jfGridSet('reload'); | |||
}; | |||
page.init(); | |||
} |
@@ -2,7 +2,7 @@ | |||
var serverurl = "http://localhost:31173"; | |||
//当前项目地址 | |||
//var currentUrl = "http://192.168.50.127:8009";//本地 | |||
var currentUrl = "http://219.139.155.38:443";//线上 | |||
var currentUrl = "http://wxd3f.cyzjzx.com";//线上 | |||
//地址栏传参 | |||
function request(d) { | |||
@@ -8,7 +8,7 @@ | |||
"imageCompressEnable": true, /* 是否压缩图片,默认是true */ | |||
"imageCompressBorder": 1600, /* 图片压缩最长边限制 */ | |||
"imageInsertAlign": "none", /* 插入的图片浮动方式 */ | |||
"imageUrlPrefix": "http://219.139.155.38:443/ueditor/", /* 图片访问路径前缀 */ | |||
"imageUrlPrefix": "http://wxd3f.cyzjzx.com/ueditor/", /* 图片访问路径前缀 */ | |||
"imagePathFormat": "upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ | |||
/* {filename} 会替换成原文件名,配置这项需要注意中文乱码问题 */ | |||
/* {rand:6} 会替换成随机数,后面的数字是随机数的位数 */ | |||
@@ -872,6 +872,7 @@ | |||
<Compile Include="Areas\EducationalAdministration\Controllers\TE_ConsumerGoodsApplyController.cs" /> | |||
<Compile Include="Areas\EducationalAdministration\Controllers\TE_MaterialPutInController.cs" /> | |||
<Compile Include="Areas\EducationalAdministration\Controllers\TE_MaterialOutboundController.cs" /> | |||
<Compile Include="Areas\EducationalAdministration\Controllers\ScoreCheckInfoController.cs" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<Content Include="Areas\AdmissionsPlatform\Views\AP_OnlineUserInfo\DropOutIndex.js" /> | |||
@@ -1131,6 +1132,9 @@ | |||
<Content Include="Areas\EducationalAdministration\Views\Scholarship\IndexZxj.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\SchoolNews\Form.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\SchoolNews\Index.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\ScoreCheckInfo\FormAudit.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\ScoreCheckInfo\FormTeach.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\ScoreCheckInfo\FormGene.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\ScoreStatistics\Form.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\ScoreStatistics\Index.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuAttendanceLeave\IndexInStudent.js" /> | |||
@@ -1240,6 +1244,9 @@ | |||
<Content Include="Areas\EducationalAdministration\Views\StuGraduateStatistic\Form.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StudentCertificate\FormScore.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\Scholarshipxj\IndexStatistic.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\ScoreCheckInfo\FormGene.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\ScoreCheckInfo\FormTeach.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\ScoreCheckInfo\FormAudit.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" /> | |||
@@ -6899,6 +6906,10 @@ | |||
<Content Include="Areas\EducationalAdministration\Views\TE_MaterialOutbound\Index.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\TE_MaterialOutbound\Form.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\TE_MaterialOutbound\Form.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\ScoreCheckInfo\Index.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\ScoreCheckInfo\Index.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\ScoreCheckInfo\Form.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\ScoreCheckInfo\Form.js" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<Folder Include="Areas\EducationalAdministration\Views\OpenLessonPlanOfElectivePre\" /> | |||
@@ -0,0 +1,29 @@ | |||
using Learun.Application.TwoDevelopment.EducationalAdministration; | |||
using System.Data.Entity.ModelConfiguration; | |||
namespace Learun.Application.Mapping | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2022-09-19 14:37 | |||
/// 描 述:学业成绩考核记录表 | |||
/// </summary> | |||
public class ScoreCheckInfoMap : EntityTypeConfiguration<ScoreCheckInfoEntity> | |||
{ | |||
public ScoreCheckInfoMap() | |||
{ | |||
#region 表、主键 | |||
//表 | |||
this.ToTable("SCORECHECKINFO"); | |||
//主键 | |||
this.HasKey(t => t.ID); | |||
#endregion | |||
#region 配置关系 | |||
#endregion | |||
} | |||
} | |||
} | |||
@@ -629,6 +629,7 @@ | |||
<Compile Include="EducationalAdministration\TE_ConsumerGoodsApplyMap.cs" /> | |||
<Compile Include="EducationalAdministration\TE_MaterialPutInMap.cs" /> | |||
<Compile Include="EducationalAdministration\TE_MaterialOutboundMap.cs" /> | |||
<Compile Include="EducationalAdministration\ScoreCheckInfoMap.cs" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ProjectReference Include="..\..\..\Learun.Application.Organization\Learun.Application.Organization.csproj"> | |||
@@ -0,0 +1,214 @@ | |||
using Learun.Util; | |||
using System; | |||
using System.Data; | |||
using System.Collections.Generic; | |||
namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2022-09-19 14:37 | |||
/// 描 述:学业成绩考核记录表 | |||
/// </summary> | |||
public class ScoreCheckInfoBLL : ScoreCheckInfoIBLL | |||
{ | |||
private ScoreCheckInfoService scoreCheckInfoService = new ScoreCheckInfoService(); | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="pagination">分页参数</param> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
public IEnumerable<ScoreCheckInfoEntity> GetPageList(Pagination pagination, string queryJson) | |||
{ | |||
try | |||
{ | |||
return scoreCheckInfoService.GetPageList(pagination, queryJson); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取ScoreCheckInfo表实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
public ScoreCheckInfoEntity GetScoreCheckInfoEntity(string keyValue) | |||
{ | |||
try | |||
{ | |||
return scoreCheckInfoService.GetScoreCheckInfoEntity(keyValue); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
public ScoreCheckInfoEntity GetStuNoEntity(string keyValue, string AcademicYearNo, string Semester) | |||
{ | |||
try | |||
{ | |||
return scoreCheckInfoService.GetStuNoEntity(keyValue, AcademicYearNo, Semester); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
#endregion | |||
#region 提交数据 | |||
/// <summary> | |||
/// 删除实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
public void DeleteEntity(string keyValue) | |||
{ | |||
try | |||
{ | |||
scoreCheckInfoService.DeleteEntity(keyValue); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <param name="entity">实体</param> | |||
/// <returns></returns> | |||
public void SaveEntity(string keyValue, ScoreCheckInfoEntity entity) | |||
{ | |||
try | |||
{ | |||
scoreCheckInfoService.SaveEntity(keyValue, entity); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 一键生成 | |||
/// </summary> | |||
/// <param name="AcademicYearNo">学年</param> | |||
/// <param name="Semester">学期</param> | |||
public int SaveGeneEntity(string AcademicYearNo, string Semester) | |||
{ | |||
try | |||
{ | |||
return scoreCheckInfoService.SaveGeneEntity(AcademicYearNo, Semester); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 提交选中项 | |||
/// </summary> | |||
/// <param name="keyValue"></param> | |||
public void SubmitEntity(string keyValue) | |||
{ | |||
try | |||
{ | |||
scoreCheckInfoService.SubmitEntity(keyValue); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 审核 | |||
/// </summary> | |||
/// <param name="keyValue"></param> | |||
/// <param name="entity"></param> | |||
public void AuditEntity(string keyValue, ScoreCheckInfoEntity entity) | |||
{ | |||
try | |||
{ | |||
scoreCheckInfoService.AuditEntity(keyValue, entity); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,155 @@ | |||
using Learun.Util; | |||
using System; | |||
using System.ComponentModel.DataAnnotations.Schema; | |||
namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2022-09-19 14:37 | |||
/// 描 述:学业成绩考核记录表 | |||
/// </summary> | |||
public class ScoreCheckInfoEntity | |||
{ | |||
#region 实体成员 | |||
/// <summary> | |||
/// 主键 | |||
/// </summary> | |||
[Column("ID")] | |||
public string ID { get; set; } | |||
/// <summary> | |||
/// 学年 | |||
/// </summary> | |||
[Column("ACADEMICYEARNO")] | |||
public string AcademicYearNo { get; set; } | |||
/// <summary> | |||
/// 学期 | |||
/// </summary> | |||
[Column("SEMESTER")] | |||
public string Semester { get; set; } | |||
/// <summary> | |||
/// StuNo | |||
/// </summary> | |||
[Column("STUNO")] | |||
public string StuNo { get; set; } | |||
/// <summary> | |||
/// StuName | |||
/// </summary> | |||
[Column("STUNAME")] | |||
public string StuName { get; set; } | |||
/// <summary> | |||
/// DeptNo | |||
/// </summary> | |||
[Column("DEPTNO")] | |||
public string DeptNo { get; set; } | |||
/// <summary> | |||
/// MajorNo | |||
/// </summary> | |||
[Column("MAJORNO")] | |||
public string MajorNo { get; set; } | |||
/// <summary> | |||
/// ClassNo | |||
/// </summary> | |||
[Column("CLASSNO")] | |||
public string ClassNo { get; set; } | |||
/// <summary> | |||
/// EmpNo | |||
/// </summary> | |||
[Column("EMPNO")] | |||
public string EmpNo { get; set; } | |||
/// <summary> | |||
/// 班主任评语 | |||
/// </summary> | |||
[Column("TEACHERDEMO")] | |||
public string TeacherDemo { get; set; } | |||
/// <summary> | |||
/// 评语日期 | |||
/// </summary> | |||
[Column("TDATE")] | |||
public DateTime? TDate { get; set; } | |||
/// <summary> | |||
/// 评语填写人 | |||
/// </summary> | |||
[Column("SIGNED")] | |||
public string Signed { get; set; } | |||
/// <summary> | |||
/// 操作等级 | |||
/// </summary> | |||
[Column("OPERATINGLEVEL")] | |||
public string OperatingLevel { get; set; } | |||
/// <summary> | |||
/// 意见盖章 | |||
/// </summary> | |||
[Column("FILEPATH")] | |||
public string FilePath { get; set; } | |||
/// <summary> | |||
/// 审核意见 | |||
/// </summary> | |||
[Column("CHECKOPINION")] | |||
public string CheckOpinion { get; set; } | |||
/// <summary> | |||
/// 审核日期 | |||
/// </summary> | |||
[Column("CHECKTIME")] | |||
public DateTime? CheckTime { get; set; } | |||
/// <summary> | |||
/// 审核用户 | |||
/// </summary> | |||
[Column("CHECKUSER")] | |||
public string CheckUser { get; set; } | |||
/// <summary> | |||
/// 审核状态 | |||
/// </summary> | |||
[Column("CHECKSTATUS")] | |||
public string CheckStatus { get; set; } | |||
/// <summary> | |||
/// CreateUser | |||
/// </summary> | |||
[Column("CREATEUSER")] | |||
public string CreateUser { get; set; } | |||
/// <summary> | |||
/// CreateTime | |||
/// </summary> | |||
[Column("CREATETIME")] | |||
public DateTime? CreateTime { get; set; } | |||
/// <summary> | |||
/// UpdateUser | |||
/// </summary> | |||
[Column("UPDATEUSER")] | |||
public string UpdateUser { get; set; } | |||
/// <summary> | |||
/// UpdateTime | |||
/// </summary> | |||
[Column("UPDATETIME")] | |||
public DateTime? UpdateTime { get; set; } | |||
/// <summary> | |||
/// Demo | |||
/// </summary> | |||
[Column("DEMO")] | |||
public string Demo { get; set; } | |||
#endregion | |||
#region 扩展操作 | |||
/// <summary> | |||
/// 新增调用 | |||
/// </summary> | |||
public void Create() | |||
{ | |||
this.ID = Guid.NewGuid().ToString(); | |||
} | |||
/// <summary> | |||
/// 编辑调用 | |||
/// </summary> | |||
/// <param name="keyValue"></param> | |||
public void Modify(string keyValue) | |||
{ | |||
this.ID = keyValue; | |||
} | |||
#endregion | |||
#region 扩展字段 | |||
#endregion | |||
} | |||
} | |||
@@ -0,0 +1,65 @@ | |||
using Learun.Util; | |||
using System.Data; | |||
using System.Collections.Generic; | |||
namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2022-09-19 14:37 | |||
/// 描 述:学业成绩考核记录表 | |||
/// </summary> | |||
public interface ScoreCheckInfoIBLL | |||
{ | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
IEnumerable<ScoreCheckInfoEntity> GetPageList(Pagination pagination, string queryJson); | |||
/// <summary> | |||
/// 获取ScoreCheckInfo表实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
ScoreCheckInfoEntity GetScoreCheckInfoEntity(string keyValue); | |||
ScoreCheckInfoEntity GetStuNoEntity(string keyValue, string AcademicYearNo, string Semester); | |||
#endregion | |||
#region 提交数据 | |||
/// <summary> | |||
/// 删除实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
void DeleteEntity(string keyValue); | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <param name="entity">实体</param> | |||
void SaveEntity(string keyValue, ScoreCheckInfoEntity entity); | |||
/// <summary> | |||
/// 一键生成 | |||
/// </summary> | |||
/// <param name="AcademicYearNo"></param> | |||
/// <param name="Semester"></param> | |||
/// <returns></returns> | |||
int SaveGeneEntity(string AcademicYearNo, string Semester); | |||
/// <summary> | |||
/// 提交 | |||
/// </summary> | |||
/// <param name="keyValue"></param> | |||
void SubmitEntity(string keyValue); | |||
/// <summary> | |||
/// 审核 | |||
/// </summary> | |||
void AuditEntity(string keyValue, ScoreCheckInfoEntity entity); | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,299 @@ | |||
using Dapper; | |||
using Learun.DataBase.Repository; | |||
using Learun.Util; | |||
using System; | |||
using System.Collections.Generic; | |||
using System.Data; | |||
using System.Text; | |||
namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2022-09-19 14:37 | |||
/// 描 述:学业成绩考核记录表 | |||
/// </summary> | |||
public class ScoreCheckInfoService : RepositoryFactory | |||
{ | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="pagination">查询参数</param> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
public IEnumerable<ScoreCheckInfoEntity> GetPageList(Pagination pagination, string queryJson) | |||
{ | |||
try | |||
{ | |||
var strSql = new StringBuilder(); | |||
strSql.Append("SELECT "); | |||
strSql.Append(@" * "); | |||
strSql.Append(" FROM ScoreCheckInfo t "); | |||
strSql.Append(" WHERE 1=1 "); | |||
var queryParam = queryJson.ToJObject(); | |||
// 虚拟参数 | |||
var dp = new DynamicParameters(new { }); | |||
if (!queryParam["AcademicYearNo"].IsEmpty()) | |||
{ | |||
dp.Add("AcademicYearNo", queryParam["AcademicYearNo"].ToString(), DbType.String); | |||
strSql.Append(" AND t.AcademicYearNo = @AcademicYearNo "); | |||
} | |||
if (!queryParam["Semester"].IsEmpty()) | |||
{ | |||
dp.Add("Semester", queryParam["Semester"].ToString(), DbType.String); | |||
strSql.Append(" AND t.Semester = @Semester "); | |||
} | |||
if (!queryParam["StuNo"].IsEmpty()) | |||
{ | |||
dp.Add("StuNo", "%" + queryParam["StuNo"].ToString() + "%", DbType.String); | |||
strSql.Append(" AND t.StuNo Like @StuNo "); | |||
} | |||
if (!queryParam["StuName"].IsEmpty()) | |||
{ | |||
dp.Add("StuName", "%" + queryParam["StuName"].ToString() + "%", DbType.String); | |||
strSql.Append(" AND t.StuName Like @StuName "); | |||
} | |||
if (!queryParam["DeptNo"].IsEmpty()) | |||
{ | |||
dp.Add("DeptNo", "" + queryParam["DeptNo"].ToString() + "", DbType.String); | |||
strSql.Append(" AND t.DeptNo=@DeptNo "); | |||
} | |||
if (!queryParam["MajorNo"].IsEmpty()) | |||
{ | |||
dp.Add("MajorNo", "" + queryParam["MajorNo"].ToString() + "", DbType.String); | |||
strSql.Append(" AND t.MajorNo=@MajorNo "); | |||
} | |||
if (!queryParam["ClassNo"].IsEmpty()) | |||
{ | |||
dp.Add("ClassNo", "" + queryParam["ClassNo"].ToString() + "", DbType.String); | |||
strSql.Append(" AND t.ClassNo=@ClassNo "); | |||
} | |||
return this.BaseRepository("CollegeMIS").FindList<ScoreCheckInfoEntity>(strSql.ToString(), dp, pagination); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取ScoreCheckInfo表实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
public ScoreCheckInfoEntity GetScoreCheckInfoEntity(string keyValue) | |||
{ | |||
try | |||
{ | |||
return this.BaseRepository("CollegeMIS").FindEntity<ScoreCheckInfoEntity>(keyValue); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
public ScoreCheckInfoEntity GetStuNoEntity(string keyValue, string AcademicYearNo, string Semester) | |||
{ | |||
try | |||
{ | |||
return this.BaseRepository("CollegeMIS").FindEntity<ScoreCheckInfoEntity>(x => x.StuName == keyValue && x.Semester == Semester && x.AcademicYearNo == AcademicYearNo); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
#endregion | |||
#region 提交数据 | |||
/// <summary> | |||
/// 删除实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
public void DeleteEntity(string keyValue) | |||
{ | |||
var db = this.BaseRepository("CollegeMIS").BeginTrans(); | |||
try | |||
{ | |||
//多个删除 | |||
var keyValueArr = keyValue.Split(','); | |||
foreach (var item in keyValueArr) | |||
{ | |||
db.Delete<ScoreCheckInfoEntity>(t => t.ID == item); | |||
} | |||
db.Commit(); | |||
} | |||
catch (Exception ex) | |||
{ | |||
db.Rollback(); | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <param name="entity">实体</param> | |||
public void SaveEntity(string keyValue, ScoreCheckInfoEntity entity) | |||
{ | |||
try | |||
{ | |||
var userlogin = LoginUserInfo.Get(); | |||
if (!string.IsNullOrEmpty(keyValue)) | |||
{ | |||
entity.Modify(keyValue); | |||
entity.UpdateTime = DateTime.Now; | |||
entity.UpdateUser = userlogin.userId; | |||
this.BaseRepository("CollegeMIS").Update(entity); | |||
} | |||
else | |||
{ | |||
entity.Create(); | |||
entity.CreateTime = DateTime.Now; | |||
entity.UpdateUser = userlogin.userId; | |||
entity.UpdateTime = DateTime.Now; | |||
entity.UpdateUser = userlogin.userId; | |||
this.BaseRepository("CollegeMIS").Insert(entity); | |||
} | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
public int SaveGeneEntity(string AcademicYearNo, string Semester) | |||
{ | |||
try | |||
{ | |||
var userlogin = LoginUserInfo.Get(); | |||
var sql = $" insert into ScoreCheckInfo (ID, AcademicYearNo, Semester, StuNo, StuName, DeptNo, MajorNo,ClassNo,CheckStatus,CreateUser,CreateTime,UpdateUser,UpdateTime) " | |||
+ $" select newid(),'{AcademicYearNo}','{Semester}',stuno,stuname,DeptNo, MajorNo,ClassNo,0,'{userlogin.userId}','{DateTime.Now}','{userlogin.userId}','{DateTime.Now}' from StuinfoBasic " | |||
+ $" where CheckMark =1 and StuNo not in(select StuNo from ScoreCheckInfo where AcademicYearNo='{AcademicYearNo}' and Semester='{Semester}') "; | |||
return this.BaseRepository("CollegeMIS").ExecuteBySql(sql); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
public void SubmitEntity(string keyValue) | |||
{ | |||
var db = this.BaseRepository("CollegeMIS").BeginTrans(); | |||
try | |||
{ | |||
//多个提交 | |||
var keyValueArr = keyValue.Split(','); | |||
foreach (var item in keyValueArr) | |||
{ | |||
var entity = db.FindEntity<ScoreCheckInfoEntity>(x => x.ID == item); | |||
entity.CheckStatus = "1"; | |||
db.Update(entity); | |||
} | |||
db.Commit(); | |||
} | |||
catch (Exception ex) | |||
{ | |||
db.Rollback(); | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 审核 | |||
/// </summary> | |||
/// <param name="keyValue"></param> | |||
/// <param name="entity"></param> | |||
public void AuditEntity(string keyValue, ScoreCheckInfoEntity entity) | |||
{ | |||
var db = this.BaseRepository("CollegeMIS").BeginTrans(); | |||
try | |||
{ | |||
var userlogin = LoginUserInfo.Get(); | |||
var keyValueArr = keyValue.Split(','); | |||
foreach (var item in keyValueArr) | |||
{ | |||
var model = db.FindEntity<ScoreCheckInfoEntity>(x => x.ID == item); | |||
model.CheckStatus = "2"; | |||
model.CheckTime = DateTime.Now; | |||
model.CheckUser = userlogin.userId; | |||
model.UpdateTime = DateTime.Now; | |||
model.UpdateUser = userlogin.userId; | |||
db.Update(model); | |||
} | |||
db.Commit(); | |||
} | |||
catch (Exception ex) | |||
{ | |||
db.Rollback(); | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
#endregion | |||
} | |||
} |
@@ -1942,6 +1942,10 @@ | |||
<Compile Include="EducationalAdministration\TE_MaterialOutbound\TE_MaterialOutboundService.cs" /> | |||
<Compile Include="EducationalAdministration\TE_MaterialOutbound\TE_MaterialOutboundBLL.cs" /> | |||
<Compile Include="EducationalAdministration\TE_MaterialOutbound\TE_MaterialOutboundIBLL.cs" /> | |||
<Compile Include="EducationalAdministration\ScoreCheckInfo\ScoreCheckInfoEntity.cs" /> | |||
<Compile Include="EducationalAdministration\ScoreCheckInfo\ScoreCheckInfoService.cs" /> | |||
<Compile Include="EducationalAdministration\ScoreCheckInfo\ScoreCheckInfoBLL.cs" /> | |||
<Compile Include="EducationalAdministration\ScoreCheckInfo\ScoreCheckInfoIBLL.cs" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ProjectReference Include="..\..\..\Learun.Application.Organization\Learun.Application.Organization.csproj"> | |||
@@ -30,7 +30,8 @@ namespace Learun.Application.WorkFlow | |||
private MessageRindIBLL messageRindIBLL = new MessageRindBLL(); | |||
public void Execute(WfMethodParameter parameter) | |||
{ | |||
if (parameter.code == "agree") | |||
//撤销code=1 发起直接通过是 create | |||
if (parameter.code == "agree" || parameter.code == "create") | |||
{ | |||
newsIBLL.ChangeStatusByProcessId(parameter.processId, 2); | |||
var entity = noticeIBLL.GetEntityByProcessId(parameter.processId); | |||
@@ -57,7 +58,14 @@ namespace Learun.Application.WorkFlow | |||
} | |||
else | |||
{ | |||
newsIBLL.ChangeStatusByProcessId(parameter.processId, 0); | |||
if (parameter.code == "disagree") | |||
{ | |||
newsIBLL.ChangeStatusByProcessId(parameter.processId, 0); | |||
} | |||
if (parameter.code == "1") | |||
{ | |||
newsIBLL.ChangeStatusByProcessId(parameter.processId, 0); | |||
} | |||
} | |||
} | |||
@@ -21,13 +21,13 @@ export default { | |||
// "http://192.168.2.98:8088/" | |||
// ], | |||
"apiHost": [ | |||
//"http://cyzjzx.gnway.cc:29615/" | |||
// "http://cyzjzx.gnway.cc:30626/" | |||
"http://192.168.10.31:8088/" | |||
"http://cyzjzx.gnway.cc:30626/"//测试地址 | |||
// "http://cyzjzx.gnway.cc:29615/"//正式地址 | |||
// "http://192.168.10.31:8088/" | |||
], | |||
// "webHost":"http://cyzjzx.gnway.cc:29618/", | |||
//"webHost":"http://wxd3f.cyzjzx.com/", | |||
"webHost":"http://192.168.10.31:8087/", | |||
"webHost":"http://cyzjzx.gnway.cc:29618/",//测试地址 | |||
//"webHost":"http://wxd3f.cyzjzx.com/",//正式地址 | |||
// "webHost":"http://192.168.10.31:8087/", | |||
// 开发环境下自动填充登录账号密码,与接口地址一一对应,只在开发环境下显示 | |||
"devAccount": [ | |||
// 20201130230 21364200000400266 老师 420528196310072253 学生 420528200606205026 420528200507261428 | |||
@@ -1,6 +1,6 @@ | |||
{ | |||
"name" : "智慧校园", | |||
"appid" : "__UNI__0CE0195", | |||
"appid" : "__UNI__3039520", | |||
"description" : "智慧校园移动端", | |||
"versionName" : "2.1.0", | |||
"versionCode" : 20100, | |||
@@ -1064,6 +1064,19 @@ | |||
"style": { | |||
"navigationBarTitleText": "详情" | |||
} | |||
}, | |||
//宿舍物品损坏上报 | |||
{ | |||
"path": "pages/LogisticsManagement/Acc_GoodsDemage/list", | |||
"style": { | |||
"navigationBarTitleText": "宿舍物品损坏上报" | |||
} | |||
}, | |||
{ | |||
"path": "pages/LogisticsManagement/Acc_GoodsDemage/single", | |||
"style": { | |||
"navigationBarTitleText": "详情" | |||
} | |||
} | |||
@@ -0,0 +1,409 @@ | |||
<template> | |||
<view class="page"> | |||
<!-- 主列表页 --> | |||
<view :class="sideOpen ? 'show' : ''" class="mainpage" style="padding-top: 80rpx;"> | |||
<!-- 顶部条目/分页信息栏 --> | |||
<l-customlist-banner @buttonClick="sideOpen = true">{{ tips }}</l-customlist-banner> | |||
<!-- 滚动列表,跨端支持上拉/下拉 --> | |||
<l-scroll-list v-if="ready" @pullDown="pullDown" @toBottom="fetchList()" ref="list"> | |||
<l-customlist :tips="loadState" showTips> | |||
<!-- 单条记录 --> | |||
<view class="customlist-item" v-for="item of list" :key="item.ID"> | |||
<view class="customlist-item-field"> | |||
<text class="customlist-item-field-title">专业部:</text> | |||
{{ displayListItem(item, 'DeptNo') }} | |||
</view> | |||
<view class="customlist-item-field"> | |||
<text class="customlist-item-field-title">专业:</text> | |||
{{ displayListItem(item, 'MajorNo') }} | |||
</view> | |||
<view class="customlist-item-field"> | |||
<text class="customlist-item-field-title">班级:</text> | |||
{{ displayListItem(item, 'ClassNo') }} | |||
</view> | |||
<view class="customlist-item-field"> | |||
<text class="customlist-item-field-title">宿舍楼:</text> | |||
{{ displayListItem(item, 'Dormitory') }} | |||
</view> | |||
<view class="customlist-item-field"> | |||
<text class="customlist-item-field-title">单元:</text> | |||
{{ displayListItem(item, 'Unit') }} | |||
</view> | |||
<view class="customlist-item-field"> | |||
<text class="customlist-item-field-title">楼层:</text> | |||
{{ displayListItem(item, 'Floor') }} | |||
</view> | |||
<view class="customlist-item-field"> | |||
<text class="customlist-item-field-title">寝室号:</text> | |||
{{ displayListItem(item, 'RId') }} | |||
</view> | |||
<view class="customlist-item-field"> | |||
<text class="customlist-item-field-title">学生姓名:</text> | |||
{{ displayListItem(item, 'F_CreateAccount') }} | |||
</view> | |||
<view class="customlist-item-field"> | |||
<text class="customlist-item-field-title">损坏描述:</text> | |||
{{ displayListItem(item, 'DamageDescribe') }} | |||
</view> | |||
<view class="customlist-item-field"> | |||
<text class="customlist-item-field-title">日期:</text> | |||
{{ displayListItem(item, 'F_CreateDate') }} | |||
</view> | |||
<l-customlist-action showEdit @edit="action('edit', item.ID)" showDelete @delete="action('delete', item.ID)" @view="action('view', item.ID)" /> | |||
</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-customlist-sidepage-datefilter | |||
v-model="dateRange" | |||
@change="searchChange" | |||
title="按时间日期查询: " | |||
ref="datefilter" | |||
class="margin-bottom" | |||
/> | |||
<l-select | |||
v-model="queryData.DeptNo" | |||
@change="DeptNoChange" | |||
:range="dataSource.DeptNo" | |||
title ="专业部" | |||
placeholder="按专业部查询" | |||
/> | |||
<l-select | |||
v-model="queryData.MajorNo" | |||
@change="MajorNoChange" | |||
:range="dataSource.MajorNo" | |||
title ="专业" | |||
placeholder="按专业查询" | |||
/> | |||
<l-select | |||
v-model="queryData.ClassNo" | |||
@change="searchChange" | |||
:range="dataSource.ClassNo" | |||
title ="班级" | |||
placeholder="按班级查询" | |||
/> | |||
<l-input | |||
v-model="queryData.StuName" | |||
@change="searchChange" | |||
title ="学生姓名" | |||
/> | |||
<!-- 重置查询条件按钮 --> | |||
<view class="padding-tb"> | |||
<l-button @click="reset" line="orange" class="block" block>重置查询条件</l-button> | |||
</view> | |||
</view> | |||
</scroll-view> | |||
<l-customlist-add v-if="!sideOpen" @click="action('add')" /> | |||
</view> | |||
</template> | |||
<script> | |||
/* | |||
* 版 本 Learun-ADMS V7.0.3 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 上海力软信息技术有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2022-09-19 09:37 | |||
* 描 述:宿舍物品损坏上报 | |||
*/ | |||
/** | |||
* 本段代码由移动端代码生成器输出,移动端须 2.2.0 版本及以上可以使用 | |||
* 请在移动端 /pages.json 中的 pages 字段中添加一条记录: | |||
* { "path": "pages/LogisticsManagement/Acc_GoodsDemage/list", "style": { "navigationBarTitleText": "表单列表页" } } | |||
* | |||
* (navigationBarTitleText 字段为本页面的标题文本,可以修改) | |||
* (必须自行操作该步骤,力软代码生成器不会自动帮您修改 /pages.json 文件) | |||
*/ | |||
import moment from 'moment' | |||
import get from 'lodash/get' | |||
import set from 'lodash/set' | |||
import pickBy from 'lodash/pickBy' | |||
import mapValues from 'lodash/mapValues' | |||
export default { | |||
data() { | |||
return { | |||
// 数据项的数据类型、结构 | |||
scheme: { | |||
DeptNo: { type: 'select', dataSource: '1', dataSourceId: 'CdDeptInfo,deptname,deptno' }, | |||
MajorNo: { type: 'select', dataSource: '1', dataSourceId: 'CdMajorInfo,majorname,majorno' }, | |||
ClassNo: { type: 'select', dataSource: '1', dataSourceId: 'bjsj,classname,classno' }, | |||
Dormitory: { type: 'select', dataSource: '1', dataSourceId: 'Acc_DormitoryData,name,id' }, | |||
Unit: { type: 'select', dataSource: '1', dataSourceId: 'Acc_UnitData,name,id' }, | |||
Floor: { type: 'select', dataSource: '1', dataSourceId: 'Acc_FloorData,name,id' }, | |||
RId: { type: 'select', dataSource: '1', dataSourceId: 'Acc_RoomData,name,id' }, | |||
F_CreateAccount: { type: 'select', dataSource: '1', dataSourceId: 'StuInfoBasic,stuname,stuno' }, | |||
F_CreateDate: { type: 'datetime', dateformat: '0' }, | |||
DamageDescribe: { type: 'textarea' }, | |||
}, | |||
// 查询条件 | |||
searchData: {}, | |||
defaultQueryData: {}, | |||
queryData: { | |||
DeptNo: '', | |||
MajorNo: '', | |||
ClassNo: '', | |||
StuName: '', | |||
}, | |||
// 数据源 | |||
dataSource: { | |||
DeptNo: [], | |||
MajorNo: [], | |||
ClassNo: [], | |||
Dormitory: [], | |||
Unit: [], | |||
Floor: [], | |||
RId: [], | |||
F_CreateAccount:[], | |||
}, | |||
// 时间查询参数 | |||
dateRange: null, | |||
// 页面相关参数 | |||
ready: false, | |||
tips: '加载中...', | |||
loadState: '向下翻以加载更多', | |||
sideOpen: false, | |||
// 列表与分页信息 | |||
page: 1, | |||
total: 2, | |||
list: [] | |||
} | |||
}, | |||
async onLoad() { | |||
await this.init() | |||
}, | |||
onUnload() { | |||
this.OFF('LogisticsManagementAcc_GoodsDemage-list-change') | |||
}, | |||
methods: { | |||
// 页面初始化 | |||
async init() { | |||
this.ON('LogisticsManagementAcc_GoodsDemage-list-change', this.refreshList) | |||
// 拉取加载列表和数据源 | |||
await Promise.all([ | |||
this.FETCH_DATASOURCE('CdDeptInfo').then(result => { | |||
this.dataSource.DeptNo = result.data.map(t => ({ text: t.deptname, value: t.deptno })) | |||
}), | |||
this.FETCH_DATASOURCE('CdMajorInfo').then(result => { | |||
this.dataSource.MajorNo = result.data.map(t => ({ text: t.majorname, value: t.majorno })) | |||
}), | |||
this.FETCH_DATASOURCE('bjsj').then(result => { | |||
this.dataSource.ClassNo = result.data.map(t => ({ text: t.classname, value: t.classno })) | |||
}), | |||
this.FETCH_DATASOURCE('Acc_DormitoryData').then(result => { | |||
this.dataSource.Dormitory = result.data.map(t => ({ text: t.name, value: t.id })) | |||
}), | |||
this.FETCH_DATASOURCE('Acc_UnitData').then(result => { | |||
this.dataSource.Unit = result.data.map(t => ({ text: t.name, value: t.id })) | |||
}), | |||
this.FETCH_DATASOURCE('Acc_FloorData').then(result => { | |||
this.dataSource.Floor = result.data.map(t => ({ text: t.name, value: t.id })) | |||
}), | |||
this.FETCH_DATASOURCE('Acc_RoomData').then(result => { | |||
this.dataSource.RId = result.data.map(t => ({ text: t.name, value: t.id })) | |||
}), | |||
this.FETCH_DATASOURCE('StuInfoBasic').then(result => { | |||
this.dataSource.F_CreateAccount = result.data.map(t => ({ text: t.stuname, value: t.stuno })) | |||
}), | |||
() => {} | |||
]) | |||
await this.fetchList() | |||
// 初始化查询条件 | |||
this.defaultQueryData = this.COPY(this.queryData) | |||
this.ready = true | |||
}, | |||
// 拉取列表 | |||
async fetchList() { | |||
if (this.page > this.total) { return } | |||
const result = await this.HTTP_GET( | |||
'/Learun/adms/LogisticsManagement/Acc_GoodsDemage/pagelist', | |||
{ | |||
// 这里 sidx 表示排序字段,sord 表示排序方式(DESC=降序,ASC=升序) | |||
// 代码生成器生成时默认按照主键排序,您可以修改成按创建时间的字段降序 | |||
pagination: { rows: 10, page: this.page, sidx: 'F_CreateDate', sord: 'DESC' }, | |||
queryJson: JSON.stringify(this.searchData) | |||
}, | |||
'加载数据时出错' | |||
) | |||
if (!result) { return } | |||
this.total = result.total | |||
this.page = result.page + 1 | |||
this.list = this.list.concat(result.rows) | |||
this.tips = `已加载 ${Math.min(result.page, result.total)} / ${result.total} 页,共 ${result.records} 项` | |||
this.loadState = result.page >= result.total ? '已加载所有项目' : '向下翻以加载更多' | |||
}, | |||
// 刷新清空列表 | |||
async refreshList() { | |||
this.page = 1 | |||
this.total = 2 | |||
this.list = [] | |||
await this.fetchList() | |||
}, | |||
// 列表下拉 | |||
pullDown() { | |||
this.refreshList().then(() => { | |||
this.$refs.list.stopPullDown() | |||
}) | |||
}, | |||
// 设置搜索条件 | |||
async searchChange() { | |||
const result = {} | |||
// 时间查询相关参数 | |||
if (this.dateRange) { | |||
result.StartTime = this.dateRange.start | |||
result.EndTime = this.dateRange.end | |||
} | |||
// 将其他查询项添加到查询 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 | |||
await this.refreshList() | |||
}, | |||
// 点击「清空查询条件」按钮 | |||
reset() { | |||
this.$refs.datefilter.changeDateRange('all') | |||
this.queryData = this.COPY(this.defaultQueryData) | |||
this.searchChange() | |||
}, | |||
// 点击「编辑」、「查看」、「添加」、「删除」按钮 | |||
async action(type, id = '') { | |||
switch (type) { | |||
case 'view': | |||
this.NAV_TO(`./single?type=view&id=${id}`) | |||
return | |||
case 'add': | |||
this.NAV_TO('./single?type=create') | |||
return | |||
case 'edit': | |||
this.NAV_TO(`./single?type=edit&id=${id}`) | |||
return | |||
case 'delete': | |||
if (!(await this.CONFIRM('删除项目', '确定要删除该项吗?', true))) { | |||
return | |||
} | |||
this.HTTP_POST('/Learun/adms/LogisticsManagement/Acc_GoodsDemage/delete', id, '删除失败').then(success => { | |||
if(!success) { return } | |||
this.TOAST('删除成功', 'success') | |||
this.refreshList() | |||
}) | |||
return | |||
default: | |||
return | |||
} | |||
}, | |||
// 显示列表中的标题项 | |||
displayListItem(item, field) { | |||
const fieldItem = this.scheme[field] | |||
const value = item[field] | |||
switch (fieldItem.type) { | |||
case 'currentInfo': | |||
case 'organize': | |||
return fieldItem.dataType === 'time' ? value : get(this.GET_GLOBAL(fieldItem.dataType), `${value}.name`, '') | |||
case 'radio': | |||
case 'select': | |||
const selectItem = this.dataSource[field].find(t => t.value === String(value)) | |||
return get(selectItem, 'text', '') | |||
case 'checkbox': | |||
if (!value || value.split(',').length <= 0) { return '' } | |||
const checkboxItems = value.split(',') | |||
return this.dataSource[field].filter(t => checkboxItems.includes(t.value)).map(t => t.text).join(',') | |||
case 'datetime': | |||
if (!value) { return '' } | |||
return moment(value).format(Number(fieldItem.dateformat) === 0 ? 'YYYY年 M月 D日' : 'YYYY-MM-DD HH:mm:ss') | |||
default: return value === null || value === undefined ? '' : value | |||
} | |||
}, | |||
//多条件查询:专业部改变事件 | |||
async DeptNoChange(){ | |||
if (this.queryData.DeptNo != null && this.queryData.DeptNo!=undefined && this.queryData.DeptNo != "") { | |||
this.FETCH_DATASOURCE('CdMajorInfo').then(result => { | |||
this.dataSource.MajorNo = result.data.filter(t=>t.deptno===this.queryData.DeptNo).map(t => ({ text: t.majorname, value: t.majorno })) | |||
}) | |||
}else{ | |||
this.FETCH_DATASOURCE('CdMajorInfo').then(result => { | |||
this.dataSource.MajorNo = result.data.map(t => ({ text: t.majorname, value: t.majorno })) | |||
}) | |||
} | |||
this.searchChange() | |||
}, | |||
//多条件查询:专业改变事件 | |||
async MajorNoChange(){ | |||
if (this.queryData.MajorNo != null && this.queryData.MajorNo!=undefined && this.queryData.MajorNo != "") { | |||
this.FETCH_DATASOURCE('bjsj').then(result => { | |||
this.dataSource.ClassNo = result.data.filter(t=>t.majorno===this.queryData.MajorNo).map(t => ({ text: t.classname, value: t.classno })) | |||
}) | |||
}else{ | |||
this.FETCH_DATASOURCE('bjsj').then(result => { | |||
this.dataSource.ClassNo = result.data.map(t => ({ text: t.classname, value: t.classno })) | |||
}) | |||
} | |||
this.searchChange() | |||
}, | |||
} | |||
} | |||
</script> | |||
<style lang="less" scoped> | |||
@import '~@/common/css/sidepage.less'; | |||
@import '~@/common/css/customlist.less'; | |||
</style> |
@@ -0,0 +1,386 @@ | |||
<template> | |||
<view class="page"> | |||
<view v-if="ready"> | |||
<l-select | |||
@input="setValue('Acc_GoodsDemage.Dormitory', $event)" | |||
:value="getValue('Acc_GoodsDemage.Dormitory')" | |||
:disabled="!edit" | |||
:range="dataSource.Acc_GoodsDemage.Dormitory" | |||
@change="DormitoryChange" | |||
title="宿舍楼" | |||
required | |||
/> | |||
<l-select | |||
@input="setValue('Acc_GoodsDemage.Unit', $event)" | |||
:value="getValue('Acc_GoodsDemage.Unit')" | |||
:disabled="!edit" | |||
:range="dataSource.Acc_GoodsDemage.Unit" | |||
@change="UnitChange" | |||
title="单元" | |||
required | |||
/> | |||
<l-select | |||
@input="setValue('Acc_GoodsDemage.Floor', $event)" | |||
:value="getValue('Acc_GoodsDemage.Floor')" | |||
:disabled="!edit" | |||
:range="dataSource.Acc_GoodsDemage.Floor" | |||
@change="FloorChange" | |||
title="楼层" | |||
required | |||
/> | |||
<l-select | |||
@input="setValue('Acc_GoodsDemage.RId', $event)" | |||
:value="getValue('Acc_GoodsDemage.RId')" | |||
:disabled="!edit" | |||
:range="dataSource.Acc_GoodsDemage.RId" | |||
title="宿舍" | |||
required | |||
/> | |||
<l-select | |||
@input="setValue('Acc_GoodsDemage.DeptNo', $event)" | |||
:value="getValue('Acc_GoodsDemage.DeptNo')" | |||
:disabled="!edit" | |||
:range="dataSource.Acc_GoodsDemage.DeptNo" | |||
@change="DeptNoChange" | |||
title="专业部" | |||
required | |||
/> | |||
<l-select | |||
@input="setValue('Acc_GoodsDemage.MajorNo', $event)" | |||
:value="getValue('Acc_GoodsDemage.MajorNo')" | |||
:disabled="!edit" | |||
:range="dataSource.Acc_GoodsDemage.MajorNo" | |||
@change="MajorNoChange" | |||
title="专业" | |||
required | |||
/> | |||
<l-select | |||
@input="setValue('Acc_GoodsDemage.ClassNo', $event)" | |||
:value="getValue('Acc_GoodsDemage.ClassNo')" | |||
:disabled="!edit" | |||
:range="dataSource.Acc_GoodsDemage.ClassNo" | |||
title="班级" | |||
required | |||
/> | |||
<l-textarea | |||
@input="setValue('Acc_GoodsDemage.DamageDescribe', $event)" | |||
:value="getValue('Acc_GoodsDemage.DamageDescribe')" | |||
:readonly="!edit" | |||
title="损坏描述" | |||
required | |||
/> | |||
<!-- 附件上传 --> | |||
<l-input | |||
@input="setValue('Acc_GoodsDemage.Files', $event)" | |||
:value="getValue('Acc_GoodsDemage.Files')" | |||
disabled="disabled" | |||
v-show="false" | |||
title="附件值" | |||
/> | |||
<uploadFile :number="5" :folderId="folderId" :value="fileList" :readonly="!edit" :title="fileTitle" :required="false"></uploadFile> | |||
</view> | |||
<view v-if="ready" class="bg-white margin-tb padding" style="padding-top: 0; overflow: hidden;"> | |||
<l-button v-if="edit" @click="action('save')" size="lg" color="green" class="block margin-top" block> | |||
提交保存 | |||
</l-button> | |||
<l-button v-if="edit && mode !== 'create'" @click="action('reset')" size="lg" line="red" class="block margin-top" block> | |||
取消编辑 | |||
</l-button> | |||
</view> | |||
</view> | |||
</template> | |||
<script> | |||
/* | |||
* 版 本 Learun-ADMS V7.0.3 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 上海力软信息技术有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2022-09-19 09:37 | |||
* 描 述:宿舍物品损坏上报 | |||
*/ | |||
/** | |||
* 本段代码由移动端代码生成器输出,移动端须 2.2.0 版本及以上可以使用 | |||
* 请在移动端 /pages.json 中的 pages 字段中添加一条记录: | |||
* { "path": "pages/LogisticsManagement/Acc_GoodsDemage/single", "style": { "navigationBarTitleText": "表单详情页" } } | |||
* | |||
* (navigationBarTitleText 字段为本页面的标题文本,可以修改) | |||
* (必须自行操作该步骤,力软代码生成器不会自动帮您修改 /pages.json 文件) | |||
*/ | |||
import get from 'lodash/get' | |||
import set from 'lodash/set' | |||
import moment from 'moment' | |||
import customPageMixins from '@/common/custompage.js' | |||
import uploadFile from '@/components/upload-file2.vue' | |||
export default { | |||
mixins: [customPageMixins], | |||
components:{ | |||
uploadFile, | |||
}, | |||
data() { | |||
return { | |||
// 页面相关参数 | |||
id: null, | |||
mode: null, | |||
edit: null, | |||
ready: false, | |||
fileList:[],//附件列表 | |||
folderId:null,//附件随机文件夹id | |||
fileTitle:'附件上传',//附件label值 | |||
// 表单数据 | |||
current: {}, | |||
origin: {}, | |||
// 表单项数据结构 | |||
scheme: { | |||
Acc_GoodsDemage: { | |||
DeptNo: { type: 'select', title: '专业部', dataSource: '1', dataSourceId: 'CdDeptInfo,deptname,deptno', verify: 'NotNull' }, | |||
MajorNo: { type: 'select', title: '专业', dataSource: '1', dataSourceId: 'CdMajorInfo,majorname,majorno', verify: 'NotNull' }, | |||
ClassNo: { type: 'select', title: '班级', dataSource: '1', dataSourceId: 'bjsj,classname,classno', verify: 'NotNull' }, | |||
Dormitory: { type: 'select', title: '宿舍楼', dataSource: '1', dataSourceId: 'Acc_DormitoryData,name,id', verify: 'NotNull' }, | |||
Unit: { type: 'select', title: '单元', dataSource: '1', dataSourceId: 'Acc_UnitData,name,id', verify: 'NotNull' }, | |||
Floor: { type: 'select', title: '楼层', dataSource: '1', dataSourceId: 'Acc_FloorData,name,id' , verify: 'NotNull' }, | |||
RId: { type: 'select', title: '宿舍', dataSource: '1', dataSourceId: 'Acc_RoomData,name,id' , verify: 'NotNull'}, | |||
DamageDescribe: { type: 'textarea', title: '损坏描述' , verify: 'NotNull'}, | |||
Files: { type: "text", title: "附件上传" }, | |||
}, | |||
}, | |||
// 数据源 | |||
dataSource: { | |||
Acc_GoodsDemage: { | |||
DeptNo: [], | |||
MajorNo: [], | |||
ClassNo: [], | |||
Dormitory: [], | |||
Unit: [], | |||
Floor: [], | |||
RId: [], | |||
}, | |||
} | |||
} | |||
}, | |||
async onLoad({ type, id }) { | |||
await this.init(type, id) | |||
}, | |||
methods: { | |||
// 页面初始化 | |||
async init(type, id) { | |||
this.folderId=this.GUID(); | |||
// console.log('附件随机文件夹id:'+this.folderId); | |||
this.LOADING('加载数据中...') | |||
this.id = id | |||
this.mode = type | |||
this.edit = ['create', 'edit'].includes(this.mode) | |||
// 拉取表单数据,同时拉取所有来自数据源的选单数据 | |||
await Promise.all([ | |||
this.FETCH_DATASOURCE('CdDeptInfo').then(result => { | |||
this.dataSource.Acc_GoodsDemage.DeptNo = result.data.map(t => ({ text: t.deptname, value: t.deptno })) | |||
}), | |||
this.FETCH_DATASOURCE('CdMajorInfo').then(result => { | |||
this.dataSource.Acc_GoodsDemage.MajorNo = result.data.map(t => ({ text: t.majorname, value: t.majorno })) | |||
}), | |||
this.FETCH_DATASOURCE('bjsj').then(result => { | |||
this.dataSource.Acc_GoodsDemage.ClassNo = result.data.map(t => ({ text: t.classname, value: t.classno })) | |||
}), | |||
this.FETCH_DATASOURCE('Acc_DormitoryData').then(result => { | |||
this.dataSource.Acc_GoodsDemage.Dormitory = result.data.map(t => ({ text: t.name, value: t.id })) | |||
}), | |||
this.FETCH_DATASOURCE('Acc_UnitData').then(result => { | |||
this.dataSource.Acc_GoodsDemage.Unit = result.data.map(t => ({ text: t.name, value: t.id })) | |||
}), | |||
this.FETCH_DATASOURCE('Acc_FloorData').then(result => { | |||
this.dataSource.Acc_GoodsDemage.Floor = result.data.map(t => ({ text: t.name, value: t.id })) | |||
}), | |||
this.FETCH_DATASOURCE('Acc_RoomData').then(result => { | |||
this.dataSource.Acc_GoodsDemage.RId = result.data.map(t => ({ text: t.name, value: t.id })) | |||
}), | |||
() => {} | |||
]) | |||
await this.fetchForm() | |||
this.ready = true | |||
this.HIDE_LOADING() | |||
}, | |||
// 加载表单数据 | |||
async fetchForm() { | |||
if (this.mode === 'create') { | |||
this.origin = await this.getDefaultForm() | |||
} else { | |||
const result = await this.HTTP_GET('learun/adms/LogisticsManagement/Acc_GoodsDemage/form', this.id) | |||
this.origin = await this.formatFormData(result) | |||
} | |||
this.current = this.COPY(this.origin) | |||
//加载附件值数据 | |||
// console.log('附件值赋值前:'+this.getValue('Acc_GoodsDemage.Files')); | |||
if (this.getValue('Acc_GoodsDemage.Files') == ""||this.getValue('Acc_GoodsDemage.Files') == undefined ||this.getValue('Acc_GoodsDemage.Files') == null) { | |||
this.setValue('Acc_GoodsDemage.Files',this.folderId); | |||
// console.log('附件值赋值后:'+this.getValue('Acc_GoodsDemage.Files')); | |||
}else{ | |||
this.folderId=this.getValue('Acc_GoodsDemage.Files'); | |||
// console.log('文件夹id赋值后:'+this.folderId); | |||
//请求‘获取附件列表’接口 | |||
this.fileList = await this.FETCH_FILEList(this.getValue('Acc_GoodsDemage.Files')); | |||
} | |||
// console.log('origin:'+JSON.stringify(this.origin) ) | |||
// console.log('current:'+JSON.stringify(this.current)) | |||
}, | |||
// 点击 「编辑」、「重置」、「保存」、「删除」 按钮 | |||
async action(type) { | |||
switch (type) { | |||
case 'edit': | |||
this.edit = true | |||
break | |||
case 'reset': | |||
this.current = this.COPY(this.origin) | |||
this.edit = false | |||
break | |||
case 'save': | |||
const verifyResult = this.verifyForm() | |||
if (verifyResult.length > 0) { | |||
this.CONFIRM('表单验证失败', verifyResult.join('\n')) | |||
return | |||
} | |||
if (!(await this.CONFIRM('提交确认', '确定要提交本页表单内容吗?', true))) { | |||
return | |||
} | |||
this.LOADING('正在提交...') | |||
const postData = await this.getPostData(this.id) | |||
// console.log('页面提交数据:'+JSON.stringify(postData)); | |||
this.HTTP_POST('learun/adms/LogisticsManagement/Acc_GoodsDemage/save', postData, '表单提交保存失败').then(success => { | |||
this.HIDE_LOADING() | |||
if (!success) { | |||
return | |||
} | |||
this.EMIT('LogisticsManagementAcc_GoodsDemage-list-change') | |||
this.NAV_BACK() | |||
this.TOAST('提交保存成功') | |||
}) | |||
break | |||
case 'delete': | |||
if (!(await this.CONFIRM('删除项目', '确定要删除本项吗?', true))) { | |||
return | |||
} | |||
this.LOADING('提交删除中...') | |||
this.HTTP_POST('learun/adms/LogisticsManagement/Acc_GoodsDemage/delete', this.id, '删除失败').then(success => { | |||
this.HIDE_LOADING() | |||
if (!success) { | |||
return | |||
} | |||
this.EMIT('LogisticsManagementAcc_GoodsDemage-list-change') | |||
this.NAV_BACK() | |||
this.this.TOAST('删除成功', 'success') | |||
}) | |||
break | |||
default: break | |||
} | |||
}, | |||
// 获取表单值 | |||
getValue(path) { | |||
return get(this.current, path) | |||
}, | |||
// 设置表单值 | |||
setValue(path, val) { | |||
set(this.current, path, val) | |||
}, | |||
//多条件查询:宿舍楼改变事件 | |||
async DormitoryChange(){ | |||
if (this.getValue('Acc_GoodsDemage.Dormitory') != null && this.getValue('Acc_GoodsDemage.Dormitory') !=undefined && this.getValue('Acc_GoodsDemage.Dormitory') != "") { | |||
this.FETCH_DATASOURCE('Acc_UnitData').then(result => { | |||
this.dataSource.Acc_GoodsDemage.Unit = result.data.filter(t=>t.parentid===this.getValue('Acc_GoodsDemage.Dormitory') ).map(t => ({ text: t.name, value: t.id })) | |||
}) | |||
}else{ | |||
this.FETCH_DATASOURCE('Acc_UnitData').then(result => { | |||
this.dataSource.Acc_GoodsDemage.Unit = result.data.map(t => ({ text: t.name, value: t.id })) | |||
}) | |||
} | |||
},//多条件查询:单元改变事件 | |||
async UnitChange(){ | |||
if (this.getValue('Acc_GoodsDemage.Unit') != null && this.getValue('Acc_GoodsDemage.Unit')!=undefined && this.getValue('Acc_GoodsDemage.Unit')!= "") { | |||
this.FETCH_DATASOURCE('Acc_FloorData').then(result => { | |||
this.dataSource.Acc_GoodsDemage.Floor = result.data.filter(t=>t.parentid===this.getValue('Acc_GoodsDemage.Unit')).map(t => ({ text: t.name, value: t.id })) | |||
}) | |||
}else{ | |||
this.FETCH_DATASOURCE('Acc_FloorData').then(result => { | |||
this.dataSource.Acc_GoodsDemage.Floor = result.data.map(t => ({ text: t.name, value: t.id })) | |||
}) | |||
} | |||
}, | |||
//多条件查询:楼层改变事件 | |||
async FloorChange(){ | |||
if (this.getValue('Acc_GoodsDemage.Floor') != null && this.getValue('Acc_GoodsDemage.Floor')!=undefined && this.getValue('Acc_GoodsDemage.Floor') != "") { | |||
this.FETCH_DATASOURCE('Acc_RoomData').then(result => { | |||
this.dataSource.Acc_GoodsDemage.RId = result.data.filter(t=>t.parentid===this.getValue('Acc_GoodsDemage.Floor')).map(t => ({ text: t.name, value: t.id })) | |||
}) | |||
}else{ | |||
this.FETCH_DATASOURCE('Acc_RoomData').then(result => { | |||
this.dataSource.Acc_GoodsDemage.RId = result.data.map(t => ({ text: t.name, value: t.id })) | |||
}) | |||
} | |||
}, | |||
//多条件查询:专业部改变事件 | |||
async DeptNoChange(){ | |||
if (this.getValue('Acc_GoodsDemage.DeptNo') != null && this.getValue('Acc_GoodsDemage.DeptNo')!=undefined && this.getValue('Acc_GoodsDemage.DeptNo') != "") { | |||
this.FETCH_DATASOURCE('CdMajorInfo').then(result => { | |||
this.dataSource.Acc_GoodsDemage.MajorNo = result.data.filter(t=>t.deptno===this.getValue('Acc_GoodsDemage.DeptNo')).map(t => ({ text: t.majorname, value: t.majorno })) | |||
}) | |||
}else{ | |||
this.FETCH_DATASOURCE('CdMajorInfo').then(result => { | |||
this.dataSource.Acc_GoodsDemage.MajorNo = result.data.map(t => ({ text: t.majorname, value: t.majorno })) | |||
}) | |||
} | |||
}, | |||
//多条件查询:专业改变事件 | |||
async MajorNoChange(){ | |||
if (this.getValue('Acc_GoodsDemage.MajorNo') != null && this.getValue('Acc_GoodsDemage.MajorNo')!=undefined && this.getValue('Acc_GoodsDemage.MajorNo') != "") { | |||
this.FETCH_DATASOURCE('bjsj').then(result => { | |||
this.dataSource.Acc_GoodsDemage.ClassNo = result.data.filter(t=>t.majorno===this.getValue('Acc_GoodsDemage.MajorNo')).map(t => ({ text: t.classname, value: t.classno })) | |||
}) | |||
}else{ | |||
this.FETCH_DATASOURCE('bjsj').then(result => { | |||
this.dataSource.Acc_GoodsDemage.ClassNo = result.data.map(t => ({ text: t.classname, value: t.classno })) | |||
}) | |||
} | |||
}, | |||
} | |||
} | |||
</script> |