@@ -0,0 +1,117 @@ | |||
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-11-08 17:00 | |||
/// 描 述:器材借出管理 | |||
/// </summary> | |||
public class SportEquipmentLendController : MvcControllerBase | |||
{ | |||
private SportEquipmentLendIBLL sportEquipmentLendIBLL = new SportEquipmentLendBLL(); | |||
#region 视图功能 | |||
/// <summary> | |||
/// 主页面 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult Index() | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 表单页 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult Form() | |||
{ | |||
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 = sportEquipmentLendIBLL.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 SportEquipmentLendData = sportEquipmentLendIBLL.GetSportEquipmentLendEntity( keyValue ); | |||
var jsonData = new { | |||
SportEquipmentLend = SportEquipmentLendData, | |||
}; | |||
return Success(jsonData); | |||
} | |||
#endregion | |||
#region 提交数据 | |||
/// <summary> | |||
/// 删除实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult DeleteForm(string keyValue) | |||
{ | |||
sportEquipmentLendIBLL.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) | |||
{ | |||
SportEquipmentLendEntity entity = strEntity.ToObject<SportEquipmentLendEntity>(); | |||
sportEquipmentLendIBLL.SaveEntity(keyValue,entity); | |||
if (string.IsNullOrEmpty(keyValue)) | |||
{ | |||
} | |||
return Success("保存成功!"); | |||
} | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,117 @@ | |||
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-11-08 17:33 | |||
/// 描 述:器材归还管理 | |||
/// </summary> | |||
public class SportEquipmentReturnController : MvcControllerBase | |||
{ | |||
private SportEquipmentReturnIBLL sportEquipmentReturnIBLL = new SportEquipmentReturnBLL(); | |||
#region 视图功能 | |||
/// <summary> | |||
/// 主页面 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult Index() | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 表单页 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult Form() | |||
{ | |||
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 = sportEquipmentReturnIBLL.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 SportEquipmentReturnData = sportEquipmentReturnIBLL.GetSportEquipmentReturnEntity( keyValue ); | |||
var jsonData = new { | |||
SportEquipmentReturn = SportEquipmentReturnData, | |||
}; | |||
return Success(jsonData); | |||
} | |||
#endregion | |||
#region 提交数据 | |||
/// <summary> | |||
/// 删除实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult DeleteForm(string keyValue) | |||
{ | |||
sportEquipmentReturnIBLL.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) | |||
{ | |||
SportEquipmentReturnEntity entity = strEntity.ToObject<SportEquipmentReturnEntity>(); | |||
sportEquipmentReturnIBLL.SaveEntity(keyValue,entity); | |||
if (string.IsNullOrEmpty(keyValue)) | |||
{ | |||
} | |||
return Success("保存成功!"); | |||
} | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,175 @@ | |||
using Learun.Util; | |||
using System.Data; | |||
using Learun.Application.TwoDevelopment.EducationalAdministration; | |||
using System.Web.Mvc; | |||
using Learun.Application.TwoDevelopment.LR_CodeDemo; | |||
using System.Collections.Generic; | |||
using Learun.Application.Base.SystemModule; | |||
namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2022-11-09 11:05 | |||
/// 描 述:学生文章发表 | |||
/// </summary> | |||
public class StudentArticlePublicController : MvcControllerBase | |||
{ | |||
private StudentArticlePublicIBLL studentArticlePublicIBLL = new StudentArticlePublicBLL(); | |||
private CodeRuleIBLL codeRuleIBLL = new CodeRuleBLL(); | |||
private StuInfoBasicIBLL stuInfoBasicIBLL = new StuInfoBasicBLL(); | |||
#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 FormScore() | |||
{ | |||
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 = studentArticlePublicIBLL.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 StudentArticlePublicData = studentArticlePublicIBLL.GetStudentArticlePublicEntity(keyValue); | |||
var jsonData = new | |||
{ | |||
StudentArticlePublic = StudentArticlePublicData, | |||
}; | |||
return Success(jsonData); | |||
} | |||
/// <summary> | |||
/// 获取表单数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetStuData(string stuno, string stuname) | |||
{ | |||
var stuData = stuInfoBasicIBLL.GetStuInfoBasicEntityByStuNoOrStuName(stuno, stuname); | |||
return Success(stuData); | |||
} | |||
/// <summary> | |||
/// 获取表单数据 | |||
/// </summary> | |||
/// <param name="processId">流程实例主键</param> | |||
/// <returns></returns> | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetFormDataByProcessId(string processId) | |||
{ | |||
var StudentArticlePublicData = studentArticlePublicIBLL.GetEntityByProcessId(processId); | |||
var jsonData = new | |||
{ | |||
StudentArticlePublic = StudentArticlePublicData, | |||
}; | |||
return Success(jsonData); | |||
} | |||
#endregion | |||
#region 提交数据 | |||
/// <summary> | |||
/// 删除实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult DeleteForm(string keyValue) | |||
{ | |||
studentArticlePublicIBLL.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) | |||
{ | |||
StudentArticlePublicEntity entity = strEntity.ToObject<StudentArticlePublicEntity>(); | |||
studentArticlePublicIBLL.SaveEntity(keyValue, entity); | |||
if (string.IsNullOrEmpty(keyValue)) | |||
{ | |||
} | |||
return Success("保存成功!"); | |||
} | |||
/// <summary> | |||
/// 提交 | |||
/// </summary> | |||
/// <param name="keyValue"></param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult ChangeStatusById(string keyValue, string processId) | |||
{ | |||
studentArticlePublicIBLL.ChangeStatusById(keyValue, 1, processId); | |||
return Success("操作成功!"); | |||
} | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,175 @@ | |||
using Learun.Util; | |||
using System.Data; | |||
using Learun.Application.TwoDevelopment.EducationalAdministration; | |||
using System.Web.Mvc; | |||
using Learun.Application.TwoDevelopment.LR_CodeDemo; | |||
using System.Collections.Generic; | |||
using Learun.Application.Base.SystemModule; | |||
namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2022-11-08 11:05 | |||
/// 描 述:学生赛事奖励 | |||
/// </summary> | |||
public class StudentCompetitionController : MvcControllerBase | |||
{ | |||
private StudentCompetitionIBLL studentCompetitionIBLL = new StudentCompetitionBLL(); | |||
private CodeRuleIBLL codeRuleIBLL = new CodeRuleBLL(); | |||
private StuInfoBasicIBLL stuInfoBasicIBLL = new StuInfoBasicBLL(); | |||
#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 FormScore() | |||
{ | |||
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 = studentCompetitionIBLL.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 StudentCompetitionData = studentCompetitionIBLL.GetStudentCompetitionEntity(keyValue); | |||
var jsonData = new | |||
{ | |||
StudentCompetition = StudentCompetitionData, | |||
}; | |||
return Success(jsonData); | |||
} | |||
/// <summary> | |||
/// 获取表单数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetStuData(string stuno, string stuname) | |||
{ | |||
var stuData = stuInfoBasicIBLL.GetStuInfoBasicEntityByStuNoOrStuName(stuno, stuname); | |||
return Success(stuData); | |||
} | |||
/// <summary> | |||
/// 获取表单数据 | |||
/// </summary> | |||
/// <param name="processId">流程实例主键</param> | |||
/// <returns></returns> | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetFormDataByProcessId(string processId) | |||
{ | |||
var StudentCompetitionData = studentCompetitionIBLL.GetEntityByProcessId(processId); | |||
var jsonData = new | |||
{ | |||
StudentCompetition = StudentCompetitionData, | |||
}; | |||
return Success(jsonData); | |||
} | |||
#endregion | |||
#region 提交数据 | |||
/// <summary> | |||
/// 删除实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult DeleteForm(string keyValue) | |||
{ | |||
studentCompetitionIBLL.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) | |||
{ | |||
StudentCompetitionEntity entity = strEntity.ToObject<StudentCompetitionEntity>(); | |||
studentCompetitionIBLL.SaveEntity(keyValue, entity); | |||
if (string.IsNullOrEmpty(keyValue)) | |||
{ | |||
} | |||
return Success("保存成功!"); | |||
} | |||
/// <summary> | |||
/// 提交 | |||
/// </summary> | |||
/// <param name="keyValue"></param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult ChangeStatusById(string keyValue, string processId) | |||
{ | |||
studentCompetitionIBLL.ChangeStatusById(keyValue, 1, processId); | |||
return Success("操作成功!"); | |||
} | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,32 @@ | |||
@{ | |||
ViewBag.Title = "器材借出管理"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap" id="form"> | |||
<div class="col-xs-12 lr-form-item" data-table="SportEquipmentLend" > | |||
<div class="lr-form-item-title">实训室名称<font face="宋体">*</font></div> | |||
<input id="TrainingName" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="SportEquipmentLend" > | |||
<div class="lr-form-item-title">器材名称<font face="宋体">*</font></div> | |||
<input id="EquipmentName" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="SportEquipmentLend" > | |||
<div class="lr-form-item-title">器材型号<font face="宋体">*</font></div> | |||
<input id="EquipmentModel" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="SportEquipmentLend" > | |||
<div class="lr-form-item-title">借出数量<font face="宋体">*</font></div> | |||
<input id="LendNum" type="number" class="form-control" isvalid="yes" checkexpession="PositiveInteger" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="SportEquipmentLend"> | |||
<div class="lr-form-item-title">借出时间<font face="宋体">*</font></div> | |||
<input id="LendTime" type="text" class="form-control lr-input-wdatepicker" isvalid="yes" checkexpession="NotNull" data-dateFmt="yyyy-MM-dd HH:mm:ss" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd HH:mm:ss',onpicked: function () { $('#LendTime').trigger('change'); } })" /> | |||
@*<input id="LendTime" type="text" class="form-control lr-input-wdatepicker" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd HH:mm',onpicked: function () { $('#LendTime').trigger('change'); } })" isvalid="yes" checkexpession="NotNull" />*@ | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="SportEquipmentLend" > | |||
<div class="lr-form-item-title">备注</div> | |||
<textarea id="Remark" class="form-control" style="height:100px;" ></textarea> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/SportEquipmentLend/Form.js") |
@@ -0,0 +1,50 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2022-11-08 17:00 | |||
* 描 述:器材借出管理 | |||
*/ | |||
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 () { | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/SportEquipmentLend/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/SportEquipmentLend/SaveForm?keyValue=' + keyValue, postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(); | |||
} | |||
}); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,44 @@ | |||
@{ | |||
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-12 lr-form-item"> | |||
<div class="lr-form-item-title">实训室名称</div> | |||
<input id="TrainingName" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">器材名称</div> | |||
<input id="EquipmentName" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">器材型号</div> | |||
<input id="EquipmentModel" 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> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/SportEquipmentLend/Index.js") |
@@ -0,0 +1,93 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2022-11-08 17:00 | |||
* 描 述:器材借出管理 | |||
*/ | |||
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); | |||
}, 220, 400); | |||
// 刷新 | |||
$('#lr_refresh').on('click', function () { | |||
location.reload(); | |||
}); | |||
// 新增 | |||
$('#lr_add').on('click', function () { | |||
learun.layerForm({ | |||
id: 'form', | |||
title: '新增', | |||
url: top.$.rootUrl + '/EducationalAdministration/SportEquipmentLend/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)) { | |||
learun.layerForm({ | |||
id: 'form', | |||
title: '编辑', | |||
url: top.$.rootUrl + '/EducationalAdministration/SportEquipmentLend/Form?keyValue=' + keyValue, | |||
width: 600, | |||
height: 400, | |||
callBack: function (id) { | |||
return top[id].acceptClick(refreshGirdData); | |||
} | |||
}); | |||
} | |||
}); | |||
// 删除 | |||
$('#lr_delete').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('ID'); | |||
if (learun.checkrow(keyValue)) { | |||
learun.layerConfirm('是否确认删除该项!', function (res) { | |||
if (res) { | |||
learun.deleteForm(top.$.rootUrl + '/EducationalAdministration/SportEquipmentLend/DeleteForm', { keyValue: keyValue }, function () { | |||
refreshGirdData(); | |||
}); | |||
} | |||
}); | |||
} | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
$('#gridtable').lrAuthorizeJfGrid({ | |||
url: top.$.rootUrl + '/EducationalAdministration/SportEquipmentLend/GetPageList', | |||
headData: [ | |||
{ label: "实训室名称", name: "TrainingName", width: 100, align: "left" }, | |||
{ label: "器材名称", name: "EquipmentName", width: 100, align: "left" }, | |||
{ label: "器材型号", name: "EquipmentModel", width: 100, align: "left" }, | |||
{ label: "借出数量", name: "LendNum", width: 100, align: "left" }, | |||
{ label: "借出时间", name: "LendTime", width: 150, align: "left" }, | |||
{ label: "备注", name: "Remark", width: 300, align: "left" }, | |||
], | |||
mainId: 'ID', | |||
sidx: 'LendTime', | |||
isPage: true | |||
}); | |||
page.search(); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
} | |||
}; | |||
refreshGirdData = function () { | |||
$('#gridtable').jfGridSet('reload'); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,31 @@ | |||
@{ | |||
ViewBag.Title = "器材归还管理"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap" id="form"> | |||
<div class="col-xs-12 lr-form-item" data-table="SportEquipmentReturn" > | |||
<div class="lr-form-item-title">实训室名称<font face="宋体">*</font></div> | |||
<input id="TrainingName" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="SportEquipmentReturn" > | |||
<div class="lr-form-item-title">器材名称<font face="宋体">*</font></div> | |||
<input id="EquipmentName" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="SportEquipmentReturn" > | |||
<div class="lr-form-item-title">器材型号<font face="宋体">*</font></div> | |||
<input id="EquipmentModel" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="SportEquipmentReturn" > | |||
<div class="lr-form-item-title">归还数量<font face="宋体">*</font></div> | |||
<input id="ReturnNum" type="number" class="form-control" isvalid="yes" checkexpession="PositiveInteger" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="SportEquipmentReturn"> | |||
<div class="lr-form-item-title">归还时间<font face="宋体">*</font></div> | |||
<input id="ReturnTime" type="text" class="form-control lr-input-wdatepicker" isvalid="yes" checkexpession="NotNull" data-dateFmt="yyyy-MM-dd HH:mm:ss" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd HH:mm:ss',onpicked: function () { $('#LendTime').trigger('change'); } })" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="SportEquipmentReturn" > | |||
<div class="lr-form-item-title">备注</div> | |||
<textarea id="Remark" class="form-control" style="height:100px;" ></textarea> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/SportEquipmentReturn/Form.js") |
@@ -0,0 +1,50 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2022-11-08 17: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 () { | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/SportEquipmentReturn/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/SportEquipmentReturn/SaveForm?keyValue=' + keyValue, postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(); | |||
} | |||
}); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,44 @@ | |||
@{ | |||
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-12 lr-form-item"> | |||
<div class="lr-form-item-title">实训室名称</div> | |||
<input id="TrainingName" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">器材名称</div> | |||
<input id="EquipmentName" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">器材型号</div> | |||
<input id="EquipmentModel" 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> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/SportEquipmentReturn/Index.js") |
@@ -0,0 +1,93 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2022-11-08 17:33 | |||
* 描 述:器材归还管理 | |||
*/ | |||
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); | |||
}, 220, 400); | |||
// 刷新 | |||
$('#lr_refresh').on('click', function () { | |||
location.reload(); | |||
}); | |||
// 新增 | |||
$('#lr_add').on('click', function () { | |||
learun.layerForm({ | |||
id: 'form', | |||
title: '新增', | |||
url: top.$.rootUrl + '/EducationalAdministration/SportEquipmentReturn/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)) { | |||
learun.layerForm({ | |||
id: 'form', | |||
title: '编辑', | |||
url: top.$.rootUrl + '/EducationalAdministration/SportEquipmentReturn/Form?keyValue=' + keyValue, | |||
width: 600, | |||
height: 400, | |||
callBack: function (id) { | |||
return top[id].acceptClick(refreshGirdData); | |||
} | |||
}); | |||
} | |||
}); | |||
// 删除 | |||
$('#lr_delete').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('ID'); | |||
if (learun.checkrow(keyValue)) { | |||
learun.layerConfirm('是否确认删除该项!', function (res) { | |||
if (res) { | |||
learun.deleteForm(top.$.rootUrl + '/EducationalAdministration/SportEquipmentReturn/DeleteForm', { keyValue: keyValue }, function () { | |||
refreshGirdData(); | |||
}); | |||
} | |||
}); | |||
} | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
$('#gridtable').lrAuthorizeJfGrid({ | |||
url: top.$.rootUrl + '/EducationalAdministration/SportEquipmentReturn/GetPageList', | |||
headData: [ | |||
{ label: "实训室名称", name: "TrainingName", width: 100, align: "left" }, | |||
{ label: "器材名称", name: "EquipmentName", width: 100, align: "left" }, | |||
{ label: "器材型号", name: "EquipmentModel", width: 100, align: "left" }, | |||
{ label: "归还数量", name: "ReturnNum", width: 100, align: "left" }, | |||
{ label: "归还时间", name: "ReturnTime", width: 140, align: "left" }, | |||
{ label: "备注", name: "Remark", width: 100, align: "left" }, | |||
], | |||
mainId: 'ID', | |||
sidx: 'ReturnTime', | |||
isPage: true | |||
}); | |||
page.search(); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
} | |||
}; | |||
refreshGirdData = function () { | |||
$('#gridtable').jfGridSet('reload'); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,63 @@ | |||
@{ | |||
ViewBag.Title = "学生文章发表"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap" id="form"> | |||
<div class="col-xs-12 lr-form-item" data-table="StudentArticlePublic"> | |||
<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="StudentArticlePublic"> | |||
<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="StudentArticlePublic"> | |||
<div class="lr-form-item-title">学生学号<font face="宋体">*</font></div> | |||
<input id="StuNo" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="StudentArticlePublic"> | |||
<div class="lr-form-item-title">学生姓名<font face="宋体">*</font></div> | |||
<input id="StuName" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="StudentArticlePublic"> | |||
<div class="lr-form-item-title">专业部<font face="宋体">*</font></div> | |||
<div id="DeptNo" isvalid="yes" checkexpession="NotNull" readonly></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="StudentArticlePublic"> | |||
<div class="lr-form-item-title">专业<font face="宋体">*</font></div> | |||
<div id="MajorNo" isvalid="yes" checkexpession="NotNull" readonly></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="StudentArticlePublic"> | |||
<div class="lr-form-item-title">班级<font face="宋体">*</font></div> | |||
<div id="ClassNo" isvalid="yes" checkexpession="NotNull" readonly></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="StudentArticlePublic"> | |||
<div class="lr-form-item-title">刊登期刊名称<font face="宋体">*</font></div> | |||
<input id="APName" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="StudentArticlePublic"> | |||
<div class="lr-form-item-title">刊登期刊级别<font face="宋体">*</font></div> | |||
<div id="APLevel" isvalid="yes" checkexpession="NotNull"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="StudentArticlePublic"> | |||
<div class="lr-form-item-title">指导老师<font face="宋体">*</font></div> | |||
<input id="Instructor" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="StudentArticlePublic"> | |||
<div class="lr-form-item-title">出版单位<font face="宋体">*</font></div> | |||
<input id="Unit" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="StudentArticlePublic"> | |||
<div class="lr-form-item-title">分值<font face="宋体">*</font></div> | |||
<input id="Score" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="StudentArticlePublic"> | |||
<div class="lr-form-item-title">刊登时间<font face="宋体">*</font></div> | |||
<input id="APTime" type="text" class="form-control lr-input-wdatepicker" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd',onpicked: function () { $('#APTime').trigger('change'); } })" isvalid="yes" checkexpession="NotNull" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="StudentArticlePublic"> | |||
<div class="lr-form-item-title">附件上传</div> | |||
<div id="Url"></div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/StudentArticlePublic/Form.js") |
@@ -0,0 +1,174 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2022-11-09 11:05 | |||
* 描 述:学生文章发表 | |||
*/ | |||
var acceptClick; | |||
var keyValue = request('keyValue'); | |||
var type = request('type'); | |||
// 设置权限 | |||
var setAuthorize; | |||
// 设置表单数据 | |||
var setFormData; | |||
// 验证数据是否填写完整 | |||
var validForm; | |||
// 保存数据 | |||
var save; | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
// 设置权限 | |||
setAuthorize = function (data) { | |||
if (!!data) { | |||
for (var field in data) { | |||
if (data[field].isLook != 1) {// 如果没有查看权限就直接移除 | |||
$('#' + data[field].fieldId).parent().remove(); | |||
} | |||
else { | |||
if (data[field].isEdit != 1) { | |||
$('#' + data[field].fieldId).attr('disabled', 'disabled'); | |||
if ($('#' + data[field].fieldId).hasClass('lrUploader-wrap')) { | |||
$('#' + data[field].fieldId).css({ 'padding-right': '58px' }); | |||
$('#' + data[field].fieldId).find('.btn-success').remove(); | |||
} | |||
} | |||
} | |||
} | |||
} | |||
}; | |||
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: 'majorname' }); | |||
$('#ClassNo').lrDataSourceSelect({ code: 'bjsj', value: 'classno', text: 'classname' }); | |||
$('#Url').lrUploader(); | |||
$('#APLevel').lrDataItemSelect({ code: 'Level' }); | |||
$('#StuNo').blur(function () { | |||
learun.httpAsyncGet(top.$.rootUrl + '/EducationalAdministration/StudentArticlePublic/GetStuData?stuno=' + $('#StuNo').val(), function (res) { | |||
learun.loading(false); | |||
if (res.code == learun.httpCode.success) { | |||
var data = res.data; | |||
if (!!data) { | |||
$('#StuName').val(data.StuName); | |||
$('#DeptNo').lrselectSet(data.DeptNo); | |||
$('#MajorNo').lrselectSet(data.MajorNo); | |||
$('#ClassNo').lrselectSet(data.ClassNo); | |||
} else { | |||
$('#StuName').val(); | |||
$('#DeptNo').lrselectSet(); | |||
$('#MajorNo').lrselectSet(); | |||
$('#ClassNo').lrselectSet(); | |||
} | |||
} | |||
else { | |||
learun.alert.error(res.info); | |||
} | |||
}); | |||
}); | |||
$('#StuName').blur(function () { | |||
learun.httpAsyncGet(top.$.rootUrl + '/EducationalAdministration/StudentArticlePublic/GetStuData?stuname=' + $('#StuName').val(), function (res) { | |||
learun.loading(false); | |||
if (res.code == learun.httpCode.success) { | |||
var data = res.data; | |||
if (!!data) { | |||
$('#StuNo').val(data.StuNo); | |||
$('#DeptNo').lrselectSet(data.DeptNo); | |||
$('#MajorNo').lrselectSet(data.MajorNo); | |||
$('#ClassNo').lrselectSet(data.ClassNo); | |||
} else { | |||
$('#StuName').val(); | |||
$('#DeptNo').lrselectSet(); | |||
$('#MajorNo').lrselectSet(); | |||
$('#ClassNo').lrselectSet(); | |||
} | |||
} | |||
else { | |||
learun.alert.error(res.info); | |||
} | |||
}); | |||
}); | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/StudentArticlePublic/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]); | |||
} | |||
} | |||
}); | |||
} | |||
} | |||
}; | |||
// 设置表单数据 | |||
setFormData = function (processId, param, callback) { | |||
if (!!processId) { | |||
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/StudentArticlePublic/GetFormDataByProcessId?processId=' + processId, function (data) { | |||
for (var id in data) { | |||
if (!!data[id] && data[id].length > 0) { | |||
$('#' + id).jfGridSet('refreshdata', data[id]); | |||
} | |||
else { | |||
if (id == 'StudentArticlePublic' && data[id]) { | |||
keyValue = data[id].Id; | |||
} | |||
$('[data-table="' + id + '"]').lrSetFormData(data[id]); | |||
} | |||
} | |||
}); | |||
} | |||
callback && callback(); | |||
} | |||
// 验证数据是否填写完整 | |||
validForm = function () { | |||
if (!$('body').lrValidform()) { | |||
return false; | |||
} | |||
return true; | |||
}; | |||
// 保存数据 | |||
save = function (processId, callBack, i) { | |||
var formData = $('body').lrGetFormData(); | |||
if (!!processId) { | |||
formData.processId = processId; | |||
} | |||
if (type == 'copy') { | |||
keyValue = ''; | |||
} | |||
var postData = { | |||
strEntity: JSON.stringify(formData) | |||
}; | |||
$.lrSaveForm(top.$.rootUrl + '/EducationalAdministration/StudentArticlePublic/SaveForm?keyValue=' + keyValue, postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(res, i); | |||
} | |||
}); | |||
}; | |||
page.init(); | |||
} |
@@ -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="StudentArticlePublic" > | |||
<div class="lr-form-item-title">学生学号<font face="宋体">*</font></div> | |||
<input id="StuNo" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" readonly="readonly" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="StudentArticlePublic" > | |||
<div class="lr-form-item-title">学生姓名<font face="宋体">*</font></div> | |||
<input id="StuName" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" readonly="readonly" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="StudentArticlePublic" > | |||
<div class="lr-form-item-title">刊登期刊名称<font face="宋体">*</font></div> | |||
<input id="APName" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" readonly="readonly" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="StudentArticlePublic" > | |||
<div class="lr-form-item-title">分值<font face="宋体">*</font></div> | |||
<input id="Score" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" /> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/StudentArticlePublic/FormScore.js") |
@@ -0,0 +1,94 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2022-11-09 11:05 | |||
* 描 述:学生文章发表 | |||
*/ | |||
var acceptClick; | |||
var keyValue = request('keyValue'); | |||
var type = request('type'); | |||
// 设置权限 | |||
var setAuthorize; | |||
// 设置表单数据 | |||
var setFormData; | |||
// 验证数据是否填写完整 | |||
var validForm; | |||
// 保存数据 | |||
var save; | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
$('.lr-form-wrap').lrscroll(); | |||
page.bind(); | |||
page.initData(); | |||
}, | |||
bind: function () { | |||
$('#DeptNo').lrDataSourceSelect({ code: 'CdDeptInfo', value: 'deptno', text: 'deptname' }); | |||
$('#MajorNo').lrDataSourceSelect({ code: 'CdMajorInfo', value: 'majorno', text: 'majorname' }); | |||
$('#ClassNo').lrDataSourceSelect({ code: 'bjsj', value: 'classno', text: 'classname' }); | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/StudentArticlePublic/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]); | |||
} | |||
} | |||
}); | |||
} | |||
} | |||
}; | |||
// 设置表单数据 | |||
setFormData = function (processId, param, callback) { | |||
if (!!processId) { | |||
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/StudentArticlePublic/GetFormDataByProcessId?processId=' + processId, function (data) { | |||
for (var id in data) { | |||
if (!!data[id] && data[id].length > 0) { | |||
$('#' + id).jfGridSet('refreshdata', data[id]); | |||
} | |||
else { | |||
if (id == 'StudentArticlePublic' && data[id]) { | |||
keyValue = data[id].Id; | |||
} | |||
$('[data-table="' + id + '"]').lrSetFormData(data[id]); | |||
} | |||
} | |||
}); | |||
} | |||
callback && callback(); | |||
} | |||
// 验证数据是否填写完整 | |||
validForm = function () { | |||
if (!$('body').lrValidform()) { | |||
return false; | |||
} | |||
return true; | |||
}; | |||
// 保存数据 | |||
save = function (processId, callBack, i) { | |||
var formData = $('body').lrGetFormData(); | |||
if (!!processId) { | |||
formData.processId = processId; | |||
} | |||
if (type == 'copy') { | |||
keyValue = ''; | |||
} | |||
var postData = { | |||
strEntity: JSON.stringify(formData) | |||
}; | |||
$.lrSaveForm(top.$.rootUrl + '/EducationalAdministration/StudentArticlePublic/SaveForm?keyValue=' + keyValue, postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(res, i); | |||
} | |||
}); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,85 @@ | |||
@{ | |||
ViewBag.Title = "学生文章发表"; | |||
Layout = "~/Views/Shared/_Index.cshtml"; | |||
} | |||
<style> | |||
.lr-form-item-title{ | |||
width:90px; | |||
} | |||
.lr-form-item{ | |||
padding-left:90px; | |||
} | |||
</style> | |||
<div class="lr-layout "> | |||
<div class="lr-layout-center"> | |||
<div class="lr-layout-wrap lr-layout-wrap-notitle "> | |||
<div class="lr-layout-tool"> | |||
<div class="lr-layout-tool-left"> | |||
<div class="lr-layout-tool-item"> | |||
<div id="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-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 class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">专业部</div> | |||
<div id="DeptNo"></div> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">专业</div> | |||
<div id="MajorNo"></div> | |||
</div> | |||
<div class="col-xs-6 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="APName" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">刊登期刊级别</div> | |||
<div id="APLevel"></div> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">指导老师</div> | |||
<input id="Instructor" 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_copy" 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_updscore" class="btn btn-default"><i class="fa fa-plus"></i> 修改分值</a> | |||
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i> 删除</a> | |||
<a id="lr_submit" 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> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/StudentArticlePublic/Index.js") |
@@ -0,0 +1,317 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2022-11-09 11:05 | |||
* 描 述:学生文章发表 | |||
*/ | |||
var refreshGirdData; | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var processId = ''; | |||
var page = { | |||
init: function () { | |||
page.initGird(); | |||
page.bind(); | |||
}, | |||
bind: function () { | |||
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) { | |||
page.search(queryJson); | |||
}, 240, 400); | |||
$('#DeptNo').lrDataSourceSelect({ code: 'CdDeptInfo', value: 'deptno', text: 'deptname' }); | |||
$('#MajorNo').lrDataSourceSelect({ code: 'CdMajorInfo', value: 'majorno', text: 'majorname' }); | |||
$('#ClassNo').lrDataSourceSelect({ code: 'bjsj', value: 'classno', text: 'classname' }); | |||
$('#APLevel').lrDataItemSelect({ code: 'Level' }); | |||
//学年 | |||
$('#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' | |||
}); | |||
// 刷新 | |||
$('#lr_refresh').on('click', function () { | |||
location.reload(); | |||
}); | |||
// 新增 | |||
$('#lr_add').on('click', function () { | |||
learun.layerForm({ | |||
id: 'form', | |||
title: '新增', | |||
url: top.$.rootUrl + '/EducationalAdministration/StudentArticlePublic/Form', | |||
width: 1000, | |||
height: 800, | |||
callBack: function (id) { | |||
var res = false; | |||
// 验证数据 | |||
res = top[id].validForm(); | |||
// 保存数据 | |||
if (res) { | |||
processId = learun.newGuid(); | |||
res = top[id].save(processId, refreshGirdData); | |||
} | |||
return res; | |||
} | |||
}); | |||
}); | |||
// 编辑 | |||
$('#lr_edit').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('Id'); | |||
if (learun.checkrow(keyValue)) { | |||
var Status = $('#gridtable').jfGridValue('Status'); | |||
if (Status == '2') { | |||
learun.alert.warning("当前项目已审批通过!"); | |||
return; | |||
} | |||
if (Status != '0') { | |||
learun.alert.warning("当前项目已提交,请耐心等待审批!"); | |||
return; | |||
} | |||
learun.layerForm({ | |||
id: 'form', | |||
title: '编辑', | |||
url: top.$.rootUrl + '/EducationalAdministration/StudentArticlePublic/Form?keyValue=' + keyValue, | |||
width: 1000, | |||
height: 800, | |||
callBack: function (id) { | |||
var res = false; | |||
// 验证数据 | |||
res = top[id].validForm(); | |||
// 保存数据 | |||
if (res) { | |||
res = top[id].save('', function () { | |||
page.search(); | |||
}); | |||
} | |||
return res; | |||
} | |||
}); | |||
} | |||
}); | |||
//修改分值 | |||
$('#lr_updscore').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('Id'); | |||
if (learun.checkrow(keyValue)) { | |||
var Status = $('#gridtable').jfGridValue('Status'); | |||
if (Status == '2') { | |||
learun.alert.warning("当前项目已审批通过!"); | |||
return; | |||
} | |||
if (Status != '0') { | |||
learun.alert.warning("当前项目已提交,请耐心等待审批!"); | |||
return; | |||
} | |||
learun.layerForm({ | |||
id: 'form_updscore', | |||
title: '修改分值', | |||
url: top.$.rootUrl + '/EducationalAdministration/StudentArticlePublic/FormScore?keyValue=' + keyValue, | |||
width: 500, | |||
height: 350, | |||
callBack: function (id) { | |||
var res = false; | |||
// 验证数据 | |||
res = top[id].validForm(); | |||
// 保存数据 | |||
if (res) { | |||
res = top[id].save('', function () { | |||
page.search(); | |||
}); | |||
} | |||
return res; | |||
} | |||
}); | |||
} | |||
}); | |||
//复制 | |||
$('#lr_copy').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('Id'); | |||
if (learun.checkrow(keyValue)) { | |||
learun.layerForm({ | |||
id: 'form', | |||
title: '新增', | |||
url: top.$.rootUrl + '/EducationalAdministration/StudentArticlePublic/Form?keyValue=' + keyValue + '&type=copy', | |||
width: 1000, | |||
height: 800, | |||
callBack: function (id) { | |||
var res = false; | |||
// 验证数据 | |||
res = top[id].validForm(); | |||
// 保存数据 | |||
if (res) { | |||
res = top[id].save('', function () { | |||
page.search(); | |||
}); | |||
} | |||
return res; | |||
} | |||
}); | |||
} | |||
}); | |||
// 删除 | |||
$('#lr_delete').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('Id'); | |||
if (learun.checkrow(keyValue)) { | |||
var Status = $('#gridtable').jfGridValue('Status'); | |||
if (Status == '2') { | |||
learun.alert.warning("当前项目已审批通过!"); | |||
return; | |||
} | |||
if (Status != '0') { | |||
learun.alert.warning("当前项目已提交,请耐心等待审批!"); | |||
return; | |||
} | |||
learun.layerConfirm('是否确认删除该项!', function (res) { | |||
if (res) { | |||
learun.deleteForm(top.$.rootUrl + '/EducationalAdministration/StudentArticlePublic/DeleteForm', { keyValue: keyValue }, function () { | |||
refreshGirdData(); | |||
}); | |||
} | |||
}); | |||
} | |||
}); | |||
// 提交 | |||
$('#lr_submit').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('Id'); | |||
if (learun.checkrow(keyValue)) { | |||
var Status = $('#gridtable').jfGridValue('Status'); | |||
if (Status == '2') { | |||
learun.alert.warning("当前项目已审批通过!"); | |||
return; | |||
} | |||
if (Status != '0') { | |||
learun.alert.warning("当前项目已提交,请耐心等待审批!"); | |||
return; | |||
} | |||
learun.layerConfirm('是否确认提交该项!', function (res) { | |||
if (res) { | |||
processId = learun.newGuid(); | |||
learun.postForm(top.$.rootUrl + '/EducationalAdministration/StudentArticlePublic/ChangeStatusById', { keyValue: keyValue, processId: processId }, function (res) { | |||
refreshGirdData(res, {}); | |||
}); | |||
} | |||
}); | |||
} | |||
}); | |||
// 打印 | |||
$('#lr_print').on('click', function () { | |||
$('#gridtable').jqprintTable(); | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
$('#gridtable').jfGrid({ | |||
url: top.$.rootUrl + '/EducationalAdministration/StudentArticlePublic/GetPageList', | |||
headData: [ | |||
{ label: "学年", name: "AcademicYearNo", width: 80, align: "left" }, | |||
{ label: "学期", name: "Semester", width: 80, align: "left" }, | |||
{ label: "学生学号", name: "StuNo", width: 150, align: "left" }, | |||
{ label: "学生姓名", name: "StuName", width: 100, align: "left" }, | |||
{ | |||
label: "专业部", name: "DeptNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdDeptInfo', | |||
key: value, | |||
keyId: 'deptno', | |||
callback: function (_data) { | |||
callback(_data['deptname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "专业", name: "MajorNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo', | |||
key: value, | |||
keyId: 'majorno', | |||
callback: function (_data) { | |||
callback(_data['majorname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "班级", name: "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: "APName", width: 100, align: "left" }, | |||
{ | |||
label: "刊登期刊级别", name: "APLevel", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('dataItem', { | |||
key: value, | |||
code: 'Level', | |||
callback: function (_data) { | |||
callback(_data.text); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: "指导老师", name: "Instructor", width: 100, align: "left" }, | |||
{ label: "出版单位", name: "Unit", width: 100, align: "left" }, | |||
{ label: "分值", name: "Score", width: 100, align: "left" }, | |||
{ | |||
label: "刊登时间", name: "APTime", width: 100, align: "left", | |||
formatter: function (cellvalue, row) { | |||
return learun.formatDate(cellvalue, 'yyyy-MM-dd'); | |||
} | |||
}, | |||
{ | |||
label: "状态", name: "Status", 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 | |||
}); | |||
page.search(); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
} | |||
}; | |||
refreshGirdData = function (res, postData) { | |||
if (res && res.code && res.code == 200) { | |||
var postData = { | |||
schemeCode: 'StudentArticlePublic',// 填写流程对应模板编号 | |||
processId: processId, | |||
level: '1', | |||
}; | |||
learun.httpAsync('Post', top.$.rootUrl + '/LR_NewWorkFlow/NWFProcess/CreateFlow', postData, function (data) { | |||
learun.loading(false); | |||
}); | |||
} | |||
page.search(); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,63 @@ | |||
@{ | |||
ViewBag.Title = "学生赛事奖励"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap" id="form"> | |||
<div class="col-xs-12 lr-form-item" data-table="StudentCompetition"> | |||
<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="StudentCompetition"> | |||
<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="StudentCompetition"> | |||
<div class="lr-form-item-title">学生学号<font face="宋体">*</font></div> | |||
<input id="StuNo" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="StudentCompetition"> | |||
<div class="lr-form-item-title">学生姓名<font face="宋体">*</font></div> | |||
<input id="StuName" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="StudentCompetition"> | |||
<div class="lr-form-item-title">专业部<font face="宋体">*</font></div> | |||
<div id="DeptNo" isvalid="yes" checkexpession="NotNull" readonly></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="StudentCompetition"> | |||
<div class="lr-form-item-title">专业<font face="宋体">*</font></div> | |||
<div id="MajorNo" isvalid="yes" checkexpession="NotNull" readonly></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="StudentCompetition"> | |||
<div class="lr-form-item-title">班级<font face="宋体">*</font></div> | |||
<div id="ClassNo" isvalid="yes" checkexpession="NotNull" readonly></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="StudentCompetition"> | |||
<div class="lr-form-item-title">赛事名称<font face="宋体">*</font></div> | |||
<input id="SCName" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="StudentCompetition"> | |||
<div class="lr-form-item-title">赛事级别<font face="宋体">*</font></div> | |||
<div id="SCLevel" isvalid="yes" checkexpession="NotNull"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="StudentCompetition"> | |||
<div class="lr-form-item-title">赛事种类<font face="宋体">*</font></div> | |||
<input id="SCType" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="StudentCompetition"> | |||
<div class="lr-form-item-title">颁发单位<font face="宋体">*</font></div> | |||
<input id="Unit" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="StudentCompetition"> | |||
<div class="lr-form-item-title">分值<font face="宋体">*</font></div> | |||
<input id="Score" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="StudentCompetition"> | |||
<div class="lr-form-item-title">获取时间<font face="宋体">*</font></div> | |||
<input id="SCTime" type="text" class="form-control lr-input-wdatepicker" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd',onpicked: function () { $('#SCTime').trigger('change'); } })" isvalid="yes" checkexpession="NotNull" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="StudentCompetition"> | |||
<div class="lr-form-item-title">附件上传</div> | |||
<div id="Url"></div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/StudentCompetition/Form.js") |
@@ -0,0 +1,174 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2022-11-08 11:05 | |||
* 描 述:学生赛事奖励 | |||
*/ | |||
var acceptClick; | |||
var keyValue = request('keyValue'); | |||
var type = request('type'); | |||
// 设置权限 | |||
var setAuthorize; | |||
// 设置表单数据 | |||
var setFormData; | |||
// 验证数据是否填写完整 | |||
var validForm; | |||
// 保存数据 | |||
var save; | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
// 设置权限 | |||
setAuthorize = function (data) { | |||
if (!!data) { | |||
for (var field in data) { | |||
if (data[field].isLook != 1) {// 如果没有查看权限就直接移除 | |||
$('#' + data[field].fieldId).parent().remove(); | |||
} | |||
else { | |||
if (data[field].isEdit != 1) { | |||
$('#' + data[field].fieldId).attr('disabled', 'disabled'); | |||
if ($('#' + data[field].fieldId).hasClass('lrUploader-wrap')) { | |||
$('#' + data[field].fieldId).css({ 'padding-right': '58px' }); | |||
$('#' + data[field].fieldId).find('.btn-success').remove(); | |||
} | |||
} | |||
} | |||
} | |||
} | |||
}; | |||
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: 'majorname' }); | |||
$('#ClassNo').lrDataSourceSelect({ code: 'bjsj', value: 'classno', text: 'classname' }); | |||
$('#Url').lrUploader(); | |||
$('#SCLevel').lrDataItemSelect({ code: 'Level' }); | |||
$('#StuNo').blur(function () { | |||
learun.httpAsyncGet(top.$.rootUrl + '/EducationalAdministration/StudentCompetition/GetStuData?stuno=' + $('#StuNo').val(), function (res) { | |||
learun.loading(false); | |||
if (res.code == learun.httpCode.success) { | |||
var data = res.data; | |||
if (!!data) { | |||
$('#StuName').val(data.StuName); | |||
$('#DeptNo').lrselectSet(data.DeptNo); | |||
$('#MajorNo').lrselectSet(data.MajorNo); | |||
$('#ClassNo').lrselectSet(data.ClassNo); | |||
} else { | |||
$('#StuName').val(); | |||
$('#DeptNo').lrselectSet(); | |||
$('#MajorNo').lrselectSet(); | |||
$('#ClassNo').lrselectSet(); | |||
} | |||
} | |||
else { | |||
learun.alert.error(res.info); | |||
} | |||
}); | |||
}); | |||
$('#StuName').blur(function () { | |||
learun.httpAsyncGet(top.$.rootUrl + '/EducationalAdministration/StudentCompetition/GetStuData?stuname=' + $('#StuName').val(), function (res) { | |||
learun.loading(false); | |||
if (res.code == learun.httpCode.success) { | |||
var data = res.data; | |||
if (!!data) { | |||
$('#StuNo').val(data.StuNo); | |||
$('#DeptNo').lrselectSet(data.DeptNo); | |||
$('#MajorNo').lrselectSet(data.MajorNo); | |||
$('#ClassNo').lrselectSet(data.ClassNo); | |||
} else { | |||
$('#StuName').val(); | |||
$('#DeptNo').lrselectSet(); | |||
$('#MajorNo').lrselectSet(); | |||
$('#ClassNo').lrselectSet(); | |||
} | |||
} | |||
else { | |||
learun.alert.error(res.info); | |||
} | |||
}); | |||
}); | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/StudentCompetition/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]); | |||
} | |||
} | |||
}); | |||
} | |||
} | |||
}; | |||
// 设置表单数据 | |||
setFormData = function (processId, param, callback) { | |||
if (!!processId) { | |||
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/StudentCompetition/GetFormDataByProcessId?processId=' + processId, function (data) { | |||
for (var id in data) { | |||
if (!!data[id] && data[id].length > 0) { | |||
$('#' + id).jfGridSet('refreshdata', data[id]); | |||
} | |||
else { | |||
if (id == 'StudentCompetition' && data[id]) { | |||
keyValue = data[id].Id; | |||
} | |||
$('[data-table="' + id + '"]').lrSetFormData(data[id]); | |||
} | |||
} | |||
}); | |||
} | |||
callback && callback(); | |||
} | |||
// 验证数据是否填写完整 | |||
validForm = function () { | |||
if (!$('body').lrValidform()) { | |||
return false; | |||
} | |||
return true; | |||
}; | |||
// 保存数据 | |||
save = function (processId, callBack, i) { | |||
var formData = $('body').lrGetFormData(); | |||
if (!!processId) { | |||
formData.processId = processId; | |||
} | |||
if (type == 'copy') { | |||
keyValue = ''; | |||
} | |||
var postData = { | |||
strEntity: JSON.stringify(formData) | |||
}; | |||
$.lrSaveForm(top.$.rootUrl + '/EducationalAdministration/StudentCompetition/SaveForm?keyValue=' + keyValue, postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(res, i); | |||
} | |||
}); | |||
}; | |||
page.init(); | |||
} |
@@ -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="StudentCompetition" > | |||
<div class="lr-form-item-title">学生学号<font face="宋体">*</font></div> | |||
<input id="StuNo" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" readonly="readonly" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="StudentCompetition" > | |||
<div class="lr-form-item-title">学生姓名<font face="宋体">*</font></div> | |||
<input id="StuName" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" readonly="readonly" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="StudentCompetition" > | |||
<div class="lr-form-item-title">赛事名称<font face="宋体">*</font></div> | |||
<input id="SCName" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" readonly="readonly" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="StudentCompetition" > | |||
<div class="lr-form-item-title">分值<font face="宋体">*</font></div> | |||
<input id="Score" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" /> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/StudentCompetition/FormScore.js") |
@@ -0,0 +1,94 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2022-11-08 11:05 | |||
* 描 述:学生赛事奖励 | |||
*/ | |||
var acceptClick; | |||
var keyValue = request('keyValue'); | |||
var type = request('type'); | |||
// 设置权限 | |||
var setAuthorize; | |||
// 设置表单数据 | |||
var setFormData; | |||
// 验证数据是否填写完整 | |||
var validForm; | |||
// 保存数据 | |||
var save; | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
$('.lr-form-wrap').lrscroll(); | |||
page.bind(); | |||
page.initData(); | |||
}, | |||
bind: function () { | |||
$('#DeptNo').lrDataSourceSelect({ code: 'CdDeptInfo', value: 'deptno', text: 'deptname' }); | |||
$('#MajorNo').lrDataSourceSelect({ code: 'CdMajorInfo', value: 'majorno', text: 'majorname' }); | |||
$('#ClassNo').lrDataSourceSelect({ code: 'bjsj', value: 'classno', text: 'classname' }); | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/StudentCompetition/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]); | |||
} | |||
} | |||
}); | |||
} | |||
} | |||
}; | |||
// 设置表单数据 | |||
setFormData = function (processId, param, callback) { | |||
if (!!processId) { | |||
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/StudentCompetition/GetFormDataByProcessId?processId=' + processId, function (data) { | |||
for (var id in data) { | |||
if (!!data[id] && data[id].length > 0) { | |||
$('#' + id).jfGridSet('refreshdata', data[id]); | |||
} | |||
else { | |||
if (id == 'StudentCompetition' && data[id]) { | |||
keyValue = data[id].Id; | |||
} | |||
$('[data-table="' + id + '"]').lrSetFormData(data[id]); | |||
} | |||
} | |||
}); | |||
} | |||
callback && callback(); | |||
} | |||
// 验证数据是否填写完整 | |||
validForm = function () { | |||
if (!$('body').lrValidform()) { | |||
return false; | |||
} | |||
return true; | |||
}; | |||
// 保存数据 | |||
save = function (processId, callBack, i) { | |||
var formData = $('body').lrGetFormData(); | |||
if (!!processId) { | |||
formData.processId = processId; | |||
} | |||
if (type == 'copy') { | |||
keyValue = ''; | |||
} | |||
var postData = { | |||
strEntity: JSON.stringify(formData) | |||
}; | |||
$.lrSaveForm(top.$.rootUrl + '/EducationalAdministration/StudentCompetition/SaveForm?keyValue=' + keyValue, postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(res, i); | |||
} | |||
}); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,77 @@ | |||
@{ | |||
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-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 class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">专业部</div> | |||
<div id="DeptNo"></div> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">专业</div> | |||
<div id="MajorNo"></div> | |||
</div> | |||
<div class="col-xs-6 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="SCName" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">赛事级别</div> | |||
<div id="SCLevel"></div> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">赛事种类</div> | |||
<input id="SCType" 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_copy" 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_updscore" class="btn btn-default"><i class="fa fa-plus"></i> 修改分值</a> | |||
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i> 删除</a> | |||
<a id="lr_submit" 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> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/StudentCompetition/Index.js") |
@@ -0,0 +1,317 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2022-11-08 11:05 | |||
* 描 述:学生赛事奖励 | |||
*/ | |||
var refreshGirdData; | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var processId = ''; | |||
var page = { | |||
init: function () { | |||
page.initGird(); | |||
page.bind(); | |||
}, | |||
bind: function () { | |||
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) { | |||
page.search(queryJson); | |||
}, 240, 400); | |||
$('#DeptNo').lrDataSourceSelect({ code: 'CdDeptInfo', value: 'deptno', text: 'deptname' }); | |||
$('#MajorNo').lrDataSourceSelect({ code: 'CdMajorInfo', value: 'majorno', text: 'majorname' }); | |||
$('#ClassNo').lrDataSourceSelect({ code: 'bjsj', value: 'classno', text: 'classname' }); | |||
$('#SCLevel').lrDataItemSelect({ code: 'Level' }); | |||
//学年 | |||
$('#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' | |||
}); | |||
// 刷新 | |||
$('#lr_refresh').on('click', function () { | |||
location.reload(); | |||
}); | |||
// 新增 | |||
$('#lr_add').on('click', function () { | |||
learun.layerForm({ | |||
id: 'form', | |||
title: '新增', | |||
url: top.$.rootUrl + '/EducationalAdministration/StudentCompetition/Form', | |||
width: 1000, | |||
height: 800, | |||
callBack: function (id) { | |||
var res = false; | |||
// 验证数据 | |||
res = top[id].validForm(); | |||
// 保存数据 | |||
if (res) { | |||
processId = learun.newGuid(); | |||
res = top[id].save(processId, refreshGirdData); | |||
} | |||
return res; | |||
} | |||
}); | |||
}); | |||
// 编辑 | |||
$('#lr_edit').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('Id'); | |||
if (learun.checkrow(keyValue)) { | |||
var Status = $('#gridtable').jfGridValue('Status'); | |||
if (Status == '2') { | |||
learun.alert.warning("当前项目已审批通过!"); | |||
return; | |||
} | |||
if (Status != '0') { | |||
learun.alert.warning("当前项目已提交,请耐心等待审批!"); | |||
return; | |||
} | |||
learun.layerForm({ | |||
id: 'form', | |||
title: '编辑', | |||
url: top.$.rootUrl + '/EducationalAdministration/StudentCompetition/Form?keyValue=' + keyValue, | |||
width: 1000, | |||
height: 800, | |||
callBack: function (id) { | |||
var res = false; | |||
// 验证数据 | |||
res = top[id].validForm(); | |||
// 保存数据 | |||
if (res) { | |||
res = top[id].save('', function () { | |||
page.search(); | |||
}); | |||
} | |||
return res; | |||
} | |||
}); | |||
} | |||
}); | |||
//修改分值 | |||
$('#lr_updscore').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('Id'); | |||
if (learun.checkrow(keyValue)) { | |||
var Status = $('#gridtable').jfGridValue('Status'); | |||
if (Status == '2') { | |||
learun.alert.warning("当前项目已审批通过!"); | |||
return; | |||
} | |||
if (Status != '0') { | |||
learun.alert.warning("当前项目已提交,请耐心等待审批!"); | |||
return; | |||
} | |||
learun.layerForm({ | |||
id: 'form_updscore', | |||
title: '修改分值', | |||
url: top.$.rootUrl + '/EducationalAdministration/StudentCompetition/FormScore?keyValue=' + keyValue, | |||
width: 500, | |||
height: 350, | |||
callBack: function (id) { | |||
var res = false; | |||
// 验证数据 | |||
res = top[id].validForm(); | |||
// 保存数据 | |||
if (res) { | |||
res = top[id].save('', function () { | |||
page.search(); | |||
}); | |||
} | |||
return res; | |||
} | |||
}); | |||
} | |||
}); | |||
//复制 | |||
$('#lr_copy').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('Id'); | |||
if (learun.checkrow(keyValue)) { | |||
learun.layerForm({ | |||
id: 'form', | |||
title: '新增', | |||
url: top.$.rootUrl + '/EducationalAdministration/StudentCompetition/Form?keyValue=' + keyValue + '&type=copy', | |||
width: 1000, | |||
height: 800, | |||
callBack: function (id) { | |||
var res = false; | |||
// 验证数据 | |||
res = top[id].validForm(); | |||
// 保存数据 | |||
if (res) { | |||
res = top[id].save('', function () { | |||
page.search(); | |||
}); | |||
} | |||
return res; | |||
} | |||
}); | |||
} | |||
}); | |||
// 删除 | |||
$('#lr_delete').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('Id'); | |||
if (learun.checkrow(keyValue)) { | |||
var Status = $('#gridtable').jfGridValue('Status'); | |||
if (Status == '2') { | |||
learun.alert.warning("当前项目已审批通过!"); | |||
return; | |||
} | |||
if (Status != '0') { | |||
learun.alert.warning("当前项目已提交,请耐心等待审批!"); | |||
return; | |||
} | |||
learun.layerConfirm('是否确认删除该项!', function (res) { | |||
if (res) { | |||
learun.deleteForm(top.$.rootUrl + '/EducationalAdministration/StudentCompetition/DeleteForm', { keyValue: keyValue }, function () { | |||
refreshGirdData(); | |||
}); | |||
} | |||
}); | |||
} | |||
}); | |||
// 提交 | |||
$('#lr_submit').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('Id'); | |||
if (learun.checkrow(keyValue)) { | |||
var Status = $('#gridtable').jfGridValue('Status'); | |||
if (Status == '2') { | |||
learun.alert.warning("当前项目已审批通过!"); | |||
return; | |||
} | |||
if (Status != '0') { | |||
learun.alert.warning("当前项目已提交,请耐心等待审批!"); | |||
return; | |||
} | |||
learun.layerConfirm('是否确认提交该项!', function (res) { | |||
if (res) { | |||
processId = learun.newGuid(); | |||
learun.postForm(top.$.rootUrl + '/EducationalAdministration/StudentCompetition/ChangeStatusById', { keyValue: keyValue, processId: processId }, function (res) { | |||
refreshGirdData(res, {}); | |||
}); | |||
} | |||
}); | |||
} | |||
}); | |||
// 打印 | |||
$('#lr_print').on('click', function () { | |||
$('#gridtable').jqprintTable(); | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
$('#gridtable').jfGrid({ | |||
url: top.$.rootUrl + '/EducationalAdministration/StudentCompetition/GetPageList', | |||
headData: [ | |||
{ label: "学年", name: "AcademicYearNo", width: 80, align: "left" }, | |||
{ label: "学期", name: "Semester", width: 80, align: "left" }, | |||
{ label: "学生学号", name: "StuNo", width: 150, align: "left" }, | |||
{ label: "学生姓名", name: "StuName", width: 100, align: "left" }, | |||
{ | |||
label: "专业部", name: "DeptNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdDeptInfo', | |||
key: value, | |||
keyId: 'deptno', | |||
callback: function (_data) { | |||
callback(_data['deptname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "专业", name: "MajorNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo', | |||
key: value, | |||
keyId: 'majorno', | |||
callback: function (_data) { | |||
callback(_data['majorname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "班级", name: "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: "SCName", width: 100, align: "left" }, | |||
{ | |||
label: "赛事级别", name: "SCLevel", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('dataItem', { | |||
key: value, | |||
code: 'Level', | |||
callback: function (_data) { | |||
callback(_data.text); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: "赛事种类", name: "SCType", width: 100, align: "left" }, | |||
{ label: "颁发单位", name: "Unit", width: 100, align: "left" }, | |||
{ label: "分值", name: "Score", width: 100, align: "left" }, | |||
{ | |||
label: "获取时间", name: "SCTime", width: 100, align: "left", | |||
formatter: function (cellvalue, row) { | |||
return learun.formatDate(cellvalue, 'yyyy-MM-dd'); | |||
} | |||
}, | |||
{ | |||
label: "状态", name: "Status", 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 | |||
}); | |||
page.search(); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
} | |||
}; | |||
refreshGirdData = function (res, postData) { | |||
if (res && res.code && res.code == 200) { | |||
var postData = { | |||
schemeCode: 'StudentCompetition',// 填写流程对应模板编号 | |||
processId: processId, | |||
level: '1', | |||
}; | |||
learun.httpAsync('Post', top.$.rootUrl + '/LR_NewWorkFlow/NWFProcess/CreateFlow', postData, function (data) { | |||
learun.loading(false); | |||
}); | |||
} | |||
page.search(); | |||
}; | |||
page.init(); | |||
} |
@@ -1873,8 +1873,10 @@ var bootstrap = function ($, learun) { | |||
continue; | |||
} | |||
} | |||
res.push(ainfo[i]); | |||
} | |||
if (ainfo[i].title != '开始') { | |||
res.push(ainfo[i]); | |||
} | |||
} | |||
$.jqprintForm(res); | |||
} | |||
else { | |||
@@ -1894,8 +1896,11 @@ var bootstrap = function ($, learun) { | |||
continue; | |||
} | |||
} | |||
res1.push(ainfo[i1]); | |||
} | |||
//res1.push(ainfo[i1]); | |||
if (ainfo[i1].title != '开始') { | |||
res1.push(ainfo[i1]); | |||
} | |||
} | |||
$.jqprintForm(res1); | |||
} | |||
@@ -482,7 +482,7 @@ body { | |||
color: #333; | |||
background-color: #fff; | |||
-webkit-font-smoothing: antialiased; | |||
-moz-osx-font-smoothing: grayscale; | |||
-moz-osx-font-smoothing: grayscale; | |||
} | |||
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, legend, input, textarea, p, blockquote, th, td, hr, button, article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { | |||
@@ -510,7 +510,7 @@ a { | |||
} | |||
body { | |||
padding: 15px; | |||
padding: 25mm; | |||
color: #333; | |||
} | |||
@@ -530,6 +530,7 @@ td,th { | |||
} | |||
.inputname { | |||
text-align: right; | |||
width: 40mm; | |||
} | |||
.anodeinfod { | |||
position:relative; | |||
@@ -351,6 +351,8 @@ | |||
<Compile Include="Areas\EducationalAdministration\Controllers\ScholarshipxjController.cs" /> | |||
<Compile Include="Areas\EducationalAdministration\Controllers\ScoreStatisticsController.cs" /> | |||
<Compile Include="Areas\EducationalAdministration\Controllers\StuAttendanceController.cs" /> | |||
<Compile Include="Areas\EducationalAdministration\Controllers\StudentArticlePublicController.cs" /> | |||
<Compile Include="Areas\EducationalAdministration\Controllers\StudentCompetitionController.cs" /> | |||
<Compile Include="Areas\EducationalAdministration\Controllers\StudentHonorController.cs" /> | |||
<Compile Include="Areas\EducationalAdministration\Controllers\StuDisciplineManagementController.cs" /> | |||
<Compile Include="Areas\EducationalAdministration\Controllers\StuCancelDisciplineManagementController.cs" /> | |||
@@ -883,6 +885,8 @@ | |||
<Compile Include="Areas\EducationalAdministration\Controllers\SportEquipmentController.cs" /> | |||
<Compile Include="Areas\AssetManagementSystem\Controllers\FundsApplyDetailController.cs" /> | |||
<Compile Include="Areas\AssetManagementSystem\Controllers\FundsApplyController.cs" /> | |||
<Compile Include="Areas\EducationalAdministration\Controllers\SportEquipmentLendController.cs" /> | |||
<Compile Include="Areas\EducationalAdministration\Controllers\SportEquipmentReturnController.cs" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<Content Include="Areas\AdmissionsPlatform\Views\AP_OnlineUserInfo\DropOutIndex.js" /> | |||
@@ -1172,6 +1176,12 @@ | |||
<Content Include="Areas\EducationalAdministration\Views\StuCancelLeaveManagement\Index.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuConsumption\IndexForStudent.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuConsumption\IndexForTeacher.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StudentArticlePublic\Form.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StudentArticlePublic\FormScore.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StudentArticlePublic\Index.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StudentCompetition\Form.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StudentCompetition\FormScore.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StudentCompetition\Index.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StudentHonor\Form.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StudentHonor\FormScore.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StudentHonor\Index.js" /> | |||
@@ -1289,6 +1299,12 @@ | |||
<Content Include="Areas\EducationalAdministration\Views\StudentHonor\Form.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StudentHonor\FormScore.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StudentHonor\Index.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StudentCompetition\Form.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StudentCompetition\FormScore.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StudentCompetition\Index.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StudentArticlePublic\Form.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StudentArticlePublic\FormScore.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StudentArticlePublic\Index.cshtml" /> | |||
<Content Include="Areas\AssetManagementSystem\Views\FundsApply\FormView.cshtml" /> | |||
<None Include="Areas\EducationalAdministration\Views\StuInfoBasic\Printxjk.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuInfoFresh\AllocationClassDC.js" /> | |||
@@ -6975,6 +6991,14 @@ | |||
<Content Include="Areas\AssetManagementSystem\Views\FundsApply\Index.js" /> | |||
<Content Include="Areas\AssetManagementSystem\Views\FundsApply\Form.cshtml" /> | |||
<Content Include="Areas\AssetManagementSystem\Views\FundsApply\Form.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\SportEquipmentLend\Index.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\SportEquipmentLend\Index.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\SportEquipmentLend\Form.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\SportEquipmentLend\Form.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\SportEquipmentReturn\Index.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\SportEquipmentReturn\Index.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\SportEquipmentReturn\Form.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\SportEquipmentReturn\Form.js" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<Folder Include="Areas\EducationalAdministration\Views\OpenLessonPlanOfElectivePre\" /> | |||
@@ -36,6 +36,8 @@ | |||
<typeAlias alias="StudentCertificateMethod" type="Learun.Application.WorkFlow.StudentCertificateMethod,Learun.Application.WorkFlow" /> | |||
<typeAlias alias="StudentHonorMethod" type="Learun.Application.WorkFlow.StudentHonorMethod,Learun.Application.WorkFlow" /> | |||
<typeAlias alias="FundsApplyMethod" type="Learun.Application.WorkFlow.StudentHonorMethod,Learun.Application.WorkFlow" /> | |||
<typeAlias alias="StudentCompetitionMethod" type="Learun.Application.WorkFlow.StudentCompetitionMethod,Learun.Application.WorkFlow" /> | |||
<typeAlias alias="StudentArticlePublicMethod" type="Learun.Application.WorkFlow.StudentArticlePublicMethod,Learun.Application.WorkFlow" /> | |||
<!--任务调度器--> | |||
<typeAlias alias="ITSMethod" type="Learun.Application.Extention.TaskScheduling.ITsMethod,Learun.Application.Extention" /> | |||
@@ -82,6 +84,8 @@ | |||
<type type="IWorkFlowMethod" mapTo="StudentCertificateMethod" name="StudentCertificateMethod"></type> | |||
<type type="IWorkFlowMethod" mapTo="StudentHonorMethod" name="StudentHonorMethod"></type> | |||
<type type="IWorkFlowMethod" mapTo="FundsApplyMethod" name="FundsApplyMethod"></type> | |||
<type type="IWorkFlowMethod" mapTo="StudentCompetitionMethod" name="StudentCompetitionMethod"></type> | |||
<type type="IWorkFlowMethod" mapTo="StudentArticlePublicMethod" name="StudentArticlePublicMethod"></type> | |||
</container> | |||
@@ -36,6 +36,7 @@ namespace Learun.Application.WebApi | |||
: base("/Learun/adms/Ououtsourcing") | |||
{ | |||
Get["/getlist"] = GetList; | |||
Get["/form"] = GetForm; | |||
} | |||
#region 获取数据 | |||
@@ -57,7 +58,21 @@ namespace Learun.Application.WebApi | |||
}; | |||
return Success(jsonData); | |||
} | |||
/// <summary> | |||
/// 获取表单数据 | |||
/// <summary> | |||
/// <param name="_"></param> | |||
/// <returns></returns> | |||
public Response GetForm(dynamic _) | |||
{ | |||
string keyValue = this.GetReqData(); | |||
var OuoutsourcingData = ououtsourcingIBLL.GetEntity(keyValue); | |||
var jsonData = new | |||
{ | |||
Ououtsourcing = OuoutsourcingData, | |||
}; | |||
return Success(jsonData); | |||
} | |||
#endregion | |||
} | |||
@@ -36,6 +36,7 @@ namespace Learun.Application.WebApi | |||
: base("/Learun/adms/WageSchedule") | |||
{ | |||
Get["/getlist"] = GetList; | |||
Get["/form"] = GetForm; | |||
} | |||
#region 获取数据 | |||
@@ -57,7 +58,21 @@ namespace Learun.Application.WebApi | |||
}; | |||
return Success(jsonData); | |||
} | |||
/// <summary> | |||
/// 获取表单数据 | |||
/// <summary> | |||
/// <param name="_"></param> | |||
/// <returns></returns> | |||
public Response GetForm(dynamic _) | |||
{ | |||
string keyValue = this.GetReqData(); | |||
var WageScheduleData = wageScheduleIBLL.GetEntity(keyValue); | |||
var jsonData = new | |||
{ | |||
WageSchedule = WageScheduleData, | |||
}; | |||
return Success(jsonData); | |||
} | |||
#endregion | |||
} | |||
@@ -36,6 +36,8 @@ namespace Learun.Application.WebApi | |||
: base("/Learun/adms/WelfarePosition") | |||
{ | |||
Get["/getlist"] = GetList; | |||
Get["/form"] = GetForm; | |||
} | |||
#region 获取数据 | |||
@@ -57,7 +59,21 @@ namespace Learun.Application.WebApi | |||
}; | |||
return Success(jsonData); | |||
} | |||
/// <summary> | |||
/// 获取表单数据 | |||
/// <summary> | |||
/// <param name="_"></param> | |||
/// <returns></returns> | |||
public Response GetForm(dynamic _) | |||
{ | |||
string keyValue = this.GetReqData(); | |||
var WelfarePositionData = WelfarePositionIBLL.GetEntity(keyValue); | |||
var jsonData = new | |||
{ | |||
WelfarePosition = WelfarePositionData, | |||
}; | |||
return Success(jsonData); | |||
} | |||
#endregion | |||
} | |||
@@ -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-11-08 17:00 | |||
/// 描 述:器材借出管理 | |||
/// </summary> | |||
public class SportEquipmentLendMap : EntityTypeConfiguration<SportEquipmentLendEntity> | |||
{ | |||
public SportEquipmentLendMap() | |||
{ | |||
#region 表、主键 | |||
//表 | |||
this.ToTable("SPORTEQUIPMENTLEND"); | |||
//主键 | |||
this.HasKey(t => t.ID); | |||
#endregion | |||
#region 配置关系 | |||
#endregion | |||
} | |||
} | |||
} | |||
@@ -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-11-08 17:33 | |||
/// 描 述:器材归还管理 | |||
/// </summary> | |||
public class SportEquipmentReturnMap : EntityTypeConfiguration<SportEquipmentReturnEntity> | |||
{ | |||
public SportEquipmentReturnMap() | |||
{ | |||
#region 表、主键 | |||
//表 | |||
this.ToTable("SPORTEQUIPMENTRETURN"); | |||
//主键 | |||
this.HasKey(t => t.ID); | |||
#endregion | |||
#region 配置关系 | |||
#endregion | |||
} | |||
} | |||
} | |||
@@ -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-11-09 11:05 | |||
/// 描 述:学生文章发表 | |||
/// </summary> | |||
public class StudentArticlePublicMap : EntityTypeConfiguration<StudentArticlePublicEntity> | |||
{ | |||
public StudentArticlePublicMap() | |||
{ | |||
#region 表、主键 | |||
//表 | |||
this.ToTable("STUDENTARTICLEPUBLIC"); | |||
//主键 | |||
this.HasKey(t => t.Id); | |||
#endregion | |||
#region 配置关系 | |||
#endregion | |||
} | |||
} | |||
} | |||
@@ -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-11-08 11:05 | |||
/// 描 述:学生赛事奖励 | |||
/// </summary> | |||
public class StudentCompetitionMap : EntityTypeConfiguration<StudentCompetitionEntity> | |||
{ | |||
public StudentCompetitionMap() | |||
{ | |||
#region 表、主键 | |||
//表 | |||
this.ToTable("STUDENTCOMPETITION"); | |||
//主键 | |||
this.HasKey(t => t.Id); | |||
#endregion | |||
#region 配置关系 | |||
#endregion | |||
} | |||
} | |||
} | |||
@@ -110,6 +110,8 @@ | |||
<Compile Include="EducationalAdministration\ScoreStatisticsMap.cs" /> | |||
<Compile Include="EducationalAdministration\StuCancelLeaveManagementMap.cs" /> | |||
<Compile Include="EducationalAdministration\StuCancleDisciplineManagementMap.cs" /> | |||
<Compile Include="EducationalAdministration\StudentArticlePublicMap.cs" /> | |||
<Compile Include="EducationalAdministration\StudentCompetitionMap.cs" /> | |||
<Compile Include="EducationalAdministration\StudentHonorMap.cs" /> | |||
<Compile Include="EducationalAdministration\StuDisciplineManagementMap.cs" /> | |||
<Compile Include="EducationalAdministration\StuGrantMap.cs" /> | |||
@@ -641,6 +643,8 @@ | |||
<Compile Include="AssetManagementSystem\FundsApplyMap.cs" /> | |||
<Compile Include="EducationalAdministration\WageScheduleMap.cs" /> | |||
<Compile Include="EducationalAdministration\SportEquipmentMap.cs" /> | |||
<Compile Include="EducationalAdministration\SportEquipmentLendMap.cs" /> | |||
<Compile Include="EducationalAdministration\SportEquipmentReturnMap.cs" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ProjectReference Include="..\..\..\Learun.Application.Organization\Learun.Application.Organization.csproj"> | |||
@@ -82,12 +82,12 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
if (!queryParam["IssueMonth"].IsEmpty()) | |||
{ | |||
dp.Add("IssueMonth", queryParam["IssueMonth"].ToString(), DbType.String); | |||
strSql.Append(" AND t.IssueMonth = IssueMonth "); | |||
strSql.Append(" AND t.IssueMonth = @IssueMonth "); | |||
} | |||
if (!queryParam["IssueYear"].IsEmpty()) | |||
{ | |||
dp.Add("IssueYear", queryParam["IssueYear"].ToString(), DbType.String); | |||
strSql.Append(" AND t.IssueYear = IssueYear "); | |||
strSql.Append(" AND t.IssueYear = @IssueYear "); | |||
} | |||
return this.BaseRepository("CollegeMIS").FindList<OuoutsourcingEntity>(strSql.ToString(), dp, pagination); | |||
@@ -0,0 +1,125 @@ | |||
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-11-08 17:00 | |||
/// 描 述:器材借出管理 | |||
/// </summary> | |||
public class SportEquipmentLendBLL : SportEquipmentLendIBLL | |||
{ | |||
private SportEquipmentLendService sportEquipmentLendService = new SportEquipmentLendService(); | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="pagination">分页参数</param> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
public IEnumerable<SportEquipmentLendEntity> GetPageList(Pagination pagination, string queryJson) | |||
{ | |||
try | |||
{ | |||
return sportEquipmentLendService.GetPageList(pagination, queryJson); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取SportEquipmentLend表实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
public SportEquipmentLendEntity GetSportEquipmentLendEntity(string keyValue) | |||
{ | |||
try | |||
{ | |||
return sportEquipmentLendService.GetSportEquipmentLendEntity(keyValue); | |||
} | |||
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 | |||
{ | |||
sportEquipmentLendService.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, SportEquipmentLendEntity entity) | |||
{ | |||
try | |||
{ | |||
sportEquipmentLendService.SaveEntity(keyValue, entity); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,80 @@ | |||
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-11-08 17:00 | |||
/// 描 述:器材借出管理 | |||
/// </summary> | |||
public class SportEquipmentLendEntity | |||
{ | |||
#region 实体成员 | |||
/// <summary> | |||
/// ID | |||
/// </summary> | |||
[Column("ID")] | |||
public string ID { get; set; } | |||
/// <summary> | |||
/// 实训室名称 | |||
/// </summary> | |||
[Column("TRAININGNAME")] | |||
public string TrainingName { get; set; } | |||
/// <summary> | |||
/// 器材名称 | |||
/// </summary> | |||
[Column("EQUIPMENTNAME")] | |||
public string EquipmentName { get; set; } | |||
/// <summary> | |||
/// 器材型号 | |||
/// </summary> | |||
[Column("EQUIPMENTMODEL")] | |||
public string EquipmentModel { get; set; } | |||
/// <summary> | |||
/// LendNum | |||
/// </summary> | |||
[Column("LENDNUM")] | |||
public int? LendNum { get; set; } | |||
/// <summary> | |||
/// LendTime | |||
/// </summary> | |||
[Column("LENDTIME")] | |||
public DateTime? LendTime { get; set; } | |||
/// <summary> | |||
/// LendUserID | |||
/// </summary> | |||
[Column("LENDUSERID")] | |||
public string LendUserID { get; set; } | |||
/// <summary> | |||
/// 备注 | |||
/// </summary> | |||
[Column("REMARK")] | |||
public string Remark { 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,48 @@ | |||
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-11-08 17:00 | |||
/// 描 述:器材借出管理 | |||
/// </summary> | |||
public interface SportEquipmentLendIBLL | |||
{ | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
IEnumerable<SportEquipmentLendEntity> GetPageList(Pagination pagination, string queryJson); | |||
/// <summary> | |||
/// 获取SportEquipmentLend表实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
SportEquipmentLendEntity GetSportEquipmentLendEntity(string keyValue); | |||
#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, SportEquipmentLendEntity entity); | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,165 @@ | |||
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-11-08 17:00 | |||
/// 描 述:器材借出管理 | |||
/// </summary> | |||
public class SportEquipmentLendService : RepositoryFactory | |||
{ | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="pagination">查询参数</param> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
public IEnumerable<SportEquipmentLendEntity> GetPageList(Pagination pagination, string queryJson) | |||
{ | |||
try | |||
{ | |||
var strSql = new StringBuilder(); | |||
strSql.Append("SELECT "); | |||
strSql.Append(@" | |||
t.ID, | |||
t.TrainingName, | |||
t.EquipmentName, | |||
t.EquipmentModel, | |||
t.LendNum, | |||
t.LendTime, | |||
t.Remark | |||
"); | |||
strSql.Append(" FROM SportEquipmentLend t "); | |||
strSql.Append(" WHERE 1=1 "); | |||
var queryParam = queryJson.ToJObject(); | |||
// 虚拟参数 | |||
var dp = new DynamicParameters(new { }); | |||
if (!queryParam["TrainingName"].IsEmpty()) | |||
{ | |||
dp.Add("TrainingName", "%" + queryParam["TrainingName"].ToString() + "%", DbType.String); | |||
strSql.Append(" AND t.TrainingName Like @TrainingName "); | |||
} | |||
if (!queryParam["EquipmentName"].IsEmpty()) | |||
{ | |||
dp.Add("EquipmentName", "%" + queryParam["EquipmentName"].ToString() + "%", DbType.String); | |||
strSql.Append(" AND t.EquipmentName Like @EquipmentName "); | |||
} | |||
if (!queryParam["EquipmentModel"].IsEmpty()) | |||
{ | |||
dp.Add("EquipmentModel", "%" + queryParam["EquipmentModel"].ToString() + "%", DbType.String); | |||
strSql.Append(" AND t.EquipmentModel Like @EquipmentModel "); | |||
} | |||
return this.BaseRepository("CollegeMIS").FindList<SportEquipmentLendEntity>(strSql.ToString(),dp, pagination); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取SportEquipmentLend表实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
public SportEquipmentLendEntity GetSportEquipmentLendEntity(string keyValue) | |||
{ | |||
try | |||
{ | |||
return this.BaseRepository("CollegeMIS").FindEntity<SportEquipmentLendEntity>(keyValue); | |||
} | |||
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) | |||
{ | |||
try | |||
{ | |||
this.BaseRepository("CollegeMIS").Delete<SportEquipmentLendEntity>(t=>t.ID == keyValue); | |||
} | |||
catch (Exception ex) | |||
{ | |||
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, SportEquipmentLendEntity entity) | |||
{ | |||
try | |||
{ | |||
if (!string.IsNullOrEmpty(keyValue)) | |||
{ | |||
entity.Modify(keyValue); | |||
this.BaseRepository("CollegeMIS").Update(entity); | |||
} | |||
else | |||
{ | |||
entity.Create(); | |||
this.BaseRepository("CollegeMIS").Insert(entity); | |||
} | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,125 @@ | |||
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-11-08 17:33 | |||
/// 描 述:器材归还管理 | |||
/// </summary> | |||
public class SportEquipmentReturnBLL : SportEquipmentReturnIBLL | |||
{ | |||
private SportEquipmentReturnService sportEquipmentReturnService = new SportEquipmentReturnService(); | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="pagination">分页参数</param> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
public IEnumerable<SportEquipmentReturnEntity> GetPageList(Pagination pagination, string queryJson) | |||
{ | |||
try | |||
{ | |||
return sportEquipmentReturnService.GetPageList(pagination, queryJson); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取SportEquipmentReturn表实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
public SportEquipmentReturnEntity GetSportEquipmentReturnEntity(string keyValue) | |||
{ | |||
try | |||
{ | |||
return sportEquipmentReturnService.GetSportEquipmentReturnEntity(keyValue); | |||
} | |||
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 | |||
{ | |||
sportEquipmentReturnService.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, SportEquipmentReturnEntity entity) | |||
{ | |||
try | |||
{ | |||
sportEquipmentReturnService.SaveEntity(keyValue, entity); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,80 @@ | |||
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-11-08 17:33 | |||
/// 描 述:器材归还管理 | |||
/// </summary> | |||
public class SportEquipmentReturnEntity | |||
{ | |||
#region 实体成员 | |||
/// <summary> | |||
/// ID | |||
/// </summary> | |||
[Column("ID")] | |||
public string ID { get; set; } | |||
/// <summary> | |||
/// 实训室名称 | |||
/// </summary> | |||
[Column("TRAININGNAME")] | |||
public string TrainingName { get; set; } | |||
/// <summary> | |||
/// 器材名称 | |||
/// </summary> | |||
[Column("EQUIPMENTNAME")] | |||
public string EquipmentName { get; set; } | |||
/// <summary> | |||
/// 器材型号 | |||
/// </summary> | |||
[Column("EQUIPMENTMODEL")] | |||
public string EquipmentModel { get; set; } | |||
/// <summary> | |||
/// ReturnNum | |||
/// </summary> | |||
[Column("RETURNNUM")] | |||
public int? ReturnNum { get; set; } | |||
/// <summary> | |||
/// ReturnTime | |||
/// </summary> | |||
[Column("RETURNTIME")] | |||
public DateTime? ReturnTime { get; set; } | |||
/// <summary> | |||
/// ReturnUserID | |||
/// </summary> | |||
[Column("RETURNUSERID")] | |||
public string ReturnUserID { get; set; } | |||
/// <summary> | |||
/// 备注 | |||
/// </summary> | |||
[Column("REMARK")] | |||
public string Remark { 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,48 @@ | |||
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-11-08 17:33 | |||
/// 描 述:器材归还管理 | |||
/// </summary> | |||
public interface SportEquipmentReturnIBLL | |||
{ | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
IEnumerable<SportEquipmentReturnEntity> GetPageList(Pagination pagination, string queryJson); | |||
/// <summary> | |||
/// 获取SportEquipmentReturn表实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
SportEquipmentReturnEntity GetSportEquipmentReturnEntity(string keyValue); | |||
#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, SportEquipmentReturnEntity entity); | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,157 @@ | |||
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-11-08 17:33 | |||
/// 描 述:器材归还管理 | |||
/// </summary> | |||
public class SportEquipmentReturnService : RepositoryFactory | |||
{ | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="pagination">查询参数</param> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
public IEnumerable<SportEquipmentReturnEntity> GetPageList(Pagination pagination, string queryJson) | |||
{ | |||
try | |||
{ | |||
var strSql = new StringBuilder(); | |||
strSql.Append("SELECT "); | |||
strSql.Append(@"t.* "); | |||
strSql.Append(" FROM SportEquipmentReturn t "); | |||
strSql.Append(" WHERE 1=1 "); | |||
var queryParam = queryJson.ToJObject(); | |||
// 虚拟参数 | |||
var dp = new DynamicParameters(new { }); | |||
if (!queryParam["TrainingName"].IsEmpty()) | |||
{ | |||
dp.Add("TrainingName", "%" + queryParam["TrainingName"].ToString() + "%", DbType.String); | |||
strSql.Append(" AND t.TrainingName Like @TrainingName "); | |||
} | |||
if (!queryParam["EquipmentName"].IsEmpty()) | |||
{ | |||
dp.Add("EquipmentName", "%" + queryParam["EquipmentName"].ToString() + "%", DbType.String); | |||
strSql.Append(" AND t.EquipmentName Like @EquipmentName "); | |||
} | |||
if (!queryParam["EquipmentModel"].IsEmpty()) | |||
{ | |||
dp.Add("EquipmentModel", "%" + queryParam["EquipmentModel"].ToString() + "%", DbType.String); | |||
strSql.Append(" AND t.EquipmentModel Like @EquipmentModel "); | |||
} | |||
return this.BaseRepository("CollegeMIS").FindList<SportEquipmentReturnEntity>(strSql.ToString(), dp, pagination); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取SportEquipmentReturn表实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
public SportEquipmentReturnEntity GetSportEquipmentReturnEntity(string keyValue) | |||
{ | |||
try | |||
{ | |||
return this.BaseRepository("CollegeMIS").FindEntity<SportEquipmentReturnEntity>(keyValue); | |||
} | |||
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) | |||
{ | |||
try | |||
{ | |||
this.BaseRepository("CollegeMIS").Delete<SportEquipmentReturnEntity>(t => t.ID == keyValue); | |||
} | |||
catch (Exception ex) | |||
{ | |||
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, SportEquipmentReturnEntity entity) | |||
{ | |||
try | |||
{ | |||
if (!string.IsNullOrEmpty(keyValue)) | |||
{ | |||
entity.Modify(keyValue); | |||
this.BaseRepository("CollegeMIS").Update(entity); | |||
} | |||
else | |||
{ | |||
entity.Create(); | |||
this.BaseRepository("CollegeMIS").Insert(entity); | |||
} | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,208 @@ | |||
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-11-09 11:05 | |||
/// 描 述:学生文章发表 | |||
/// </summary> | |||
public class StudentArticlePublicBLL : StudentArticlePublicIBLL | |||
{ | |||
private StudentArticlePublicService studentArticlePublicService = new StudentArticlePublicService(); | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="pagination">分页参数</param> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
public IEnumerable<StudentArticlePublicEntity> GetPageList(Pagination pagination, string queryJson) | |||
{ | |||
try | |||
{ | |||
return studentArticlePublicService.GetPageList(pagination, queryJson); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取StudentArticlePublic表实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
public StudentArticlePublicEntity GetStudentArticlePublicEntity(string keyValue) | |||
{ | |||
try | |||
{ | |||
return studentArticlePublicService.GetStudentArticlePublicEntity(keyValue); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <returns></returns> | |||
public IEnumerable<StudentArticlePublicEntity> GetList(string queryJson) | |||
{ | |||
try | |||
{ | |||
return studentArticlePublicService.GetList(queryJson); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取主表实体数据 | |||
/// </summary> | |||
/// <param name="processId">流程实例ID</param> | |||
/// <returns></returns> | |||
public StudentArticlePublicEntity GetEntityByProcessId(string processId) | |||
{ | |||
try | |||
{ | |||
return studentArticlePublicService.GetEntityByProcessId(processId); | |||
} | |||
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 | |||
{ | |||
studentArticlePublicService.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> | |||
public void SaveEntity(string keyValue, StudentArticlePublicEntity entity) | |||
{ | |||
try | |||
{ | |||
studentArticlePublicService.SaveEntity(keyValue, entity); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
public void ChangeStatusByProcessId(string processId, int status) | |||
{ | |||
try | |||
{ | |||
studentArticlePublicService.ChangeStatusByProcessId(processId, status); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
public void ChangeStatusById(string keyValue, int status, string processId) | |||
{ | |||
try | |||
{ | |||
studentArticlePublicService.ChangeStatusById(keyValue, status, processId); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,138 @@ | |||
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-11-09 11:05 | |||
/// 描 述:学生文章发表 | |||
/// </summary> | |||
public class StudentArticlePublicEntity | |||
{ | |||
#region 实体成员 | |||
/// <summary> | |||
/// Id | |||
/// </summary> | |||
[Column("ID")] | |||
public string Id { 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> | |||
/// 赛事名称 | |||
/// </summary> | |||
[Column("SCNAME")] | |||
public string SCName { get; set; } | |||
/// <summary> | |||
/// 赛事级别 | |||
/// </summary> | |||
[Column("SCLEVEL")] | |||
public string SCLevel { get; set; } | |||
/// <summary> | |||
/// 赛事获取时间 | |||
/// </summary> | |||
[Column("SCTIME")] | |||
public DateTime? SCTime { get; set; } | |||
/// <summary> | |||
/// 赛事种类 | |||
/// </summary> | |||
[Column("SCTYPE")] | |||
public string SCType { get; set; } | |||
/// <summary> | |||
/// 分值 | |||
/// </summary> | |||
[Column("SCORE")] | |||
public decimal? Score { get; set; } | |||
/// <summary> | |||
/// 附件 | |||
/// </summary> | |||
[Column("URL")] | |||
public string Url { get; set; } | |||
/// <summary> | |||
/// 颁发单位 | |||
/// </summary> | |||
[Column("UNIT")] | |||
public string Unit { get; set; } | |||
/// <summary> | |||
/// CreateTime | |||
/// </summary> | |||
[Column("CREATETIME")] | |||
public DateTime? CreateTime { get; set; } | |||
/// <summary> | |||
/// CreateUserId | |||
/// </summary> | |||
[Column("CREATEUSERID")] | |||
public string CreateUserId { get; set; } | |||
/// <summary> | |||
/// processId | |||
/// </summary> | |||
[Column("PROCESSID")] | |||
public string processId { get; set; } | |||
/// <summary> | |||
/// Status | |||
/// </summary> | |||
[Column("STATUS")] | |||
public int? Status { get; set; } | |||
/// <summary> | |||
/// 学年 | |||
/// </summary> | |||
[Column("ACADEMICYEARNO")] | |||
public string AcademicYearNo { get; set; } | |||
/// <summary> | |||
/// 学期 | |||
/// </summary> | |||
[Column("SEMESTER")] | |||
public string Semester { get; set; } | |||
#endregion | |||
#region 扩展操作 | |||
/// <summary> | |||
/// 新增调用 | |||
/// </summary> | |||
public void Create() | |||
{ | |||
this.Id = Guid.NewGuid().ToString(); | |||
this.CreateTime = DateTime.Now; | |||
this.CreateUserId = LoginUserInfo.Get().userId; | |||
this.Status = 0; | |||
} | |||
/// <summary> | |||
/// 编辑调用 | |||
/// </summary> | |||
/// <param name="keyValue"></param> | |||
public void Modify(string keyValue) | |||
{ | |||
this.Id = keyValue; | |||
} | |||
#endregion | |||
#region 扩展字段 | |||
#endregion | |||
} | |||
} | |||
@@ -0,0 +1,63 @@ | |||
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-11-09 11:05 | |||
/// 描 述:学生文章发表 | |||
/// </summary> | |||
public interface StudentArticlePublicIBLL | |||
{ | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="pagination">分页参数</param> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
IEnumerable<StudentArticlePublicEntity> GetPageList(Pagination pagination, string queryJson); | |||
/// <summary> | |||
/// 获取StudentArticlePublic表实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
StudentArticlePublicEntity GetStudentArticlePublicEntity(string keyValue); | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <returns></returns> | |||
IEnumerable<StudentArticlePublicEntity> GetList(string queryJson); | |||
/// <summary> | |||
/// 获取主表实体数据 | |||
/// </summary> | |||
/// <param name="processId">流程实例ID</param> | |||
/// <returns></returns> | |||
StudentArticlePublicEntity GetEntityByProcessId(string processId); | |||
#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, StudentArticlePublicEntity entity); | |||
void ChangeStatusByProcessId(string processId, int status); | |||
void ChangeStatusById(string keyValue, int status,string processId); | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,308 @@ | |||
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-11-09 11:05 | |||
/// 描 述:学生文章发表 | |||
/// </summary> | |||
public class StudentArticlePublicService : RepositoryFactory | |||
{ | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="pagination">分页参数</param> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
public IEnumerable<StudentArticlePublicEntity> GetPageList(Pagination pagination, string queryJson) | |||
{ | |||
try | |||
{ | |||
var strSql = new StringBuilder(); | |||
strSql.Append("SELECT "); | |||
strSql.Append(@" | |||
t.* | |||
"); | |||
strSql.Append(" FROM StudentArticlePublic t "); | |||
strSql.Append(" WHERE 1=1 "); | |||
var queryParam = queryJson.ToJObject(); | |||
// 虚拟参数 | |||
var dp = new DynamicParameters(new { }); | |||
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 "); | |||
} | |||
if (!queryParam["APName"].IsEmpty()) | |||
{ | |||
dp.Add("APName", "%" + queryParam["APName"].ToString() + "%", DbType.String); | |||
strSql.Append(" AND t.APName Like @APName "); | |||
} | |||
if (!queryParam["APLevel"].IsEmpty()) | |||
{ | |||
dp.Add("APLevel", queryParam["APLevel"].ToString(), DbType.String); | |||
strSql.Append(" AND t.APLevel = @APLevel "); | |||
} | |||
if (!queryParam["APTime"].IsEmpty()) | |||
{ | |||
dp.Add("APTime", queryParam["APTime"].ToDate(), DbType.DateTime); | |||
strSql.Append(" AND t.APTime = @APTime "); | |||
} | |||
if (!queryParam["Instructor"].IsEmpty()) | |||
{ | |||
dp.Add("Instructor", "%" + queryParam["Instructor"].ToString() + "%", DbType.String); | |||
strSql.Append(" AND t.Instructor Like @Instructor "); | |||
} | |||
if (!queryParam["Unit"].IsEmpty()) | |||
{ | |||
dp.Add("Unit", "%" + queryParam["Unit"].ToString() + "%", DbType.String); | |||
strSql.Append(" AND t.Unit Like @Unit "); | |||
} | |||
return this.BaseRepository("CollegeMIS").FindList<StudentArticlePublicEntity>(strSql.ToString(), dp, pagination); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取StudentArticlePublic表实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
public StudentArticlePublicEntity GetStudentArticlePublicEntity(string keyValue) | |||
{ | |||
try | |||
{ | |||
return this.BaseRepository("CollegeMIS").FindEntity<StudentArticlePublicEntity>(keyValue); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取主表实体数据 | |||
/// </summary> | |||
/// <param name="processId">流程实例ID</param> | |||
/// <returns></returns> | |||
public StudentArticlePublicEntity GetEntityByProcessId(string processId) | |||
{ | |||
try | |||
{ | |||
return this.BaseRepository("CollegeMIS").FindEntity<StudentArticlePublicEntity>(t => t.processId == processId); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <returns></returns> | |||
public IEnumerable<StudentArticlePublicEntity> GetList(string queryJson) | |||
{ | |||
try | |||
{ | |||
var strSql = new StringBuilder(); | |||
strSql.Append("SELECT t.* "); | |||
strSql.Append(" FROM StudentArticlePublic t "); | |||
strSql.Append(" WHERE 1=1 and t.Status=2 "); | |||
var queryParam = queryJson.ToJObject(); | |||
// 虚拟参数 | |||
var dp = new DynamicParameters(new { }); | |||
if (!queryParam["StuNo"].IsEmpty()) | |||
{ | |||
dp.Add("StuNo", queryParam["StuNo"].ToString(), DbType.String); | |||
strSql.Append(" AND t.StuNo = @StuNo "); | |||
} | |||
if (!queryParam["StuName"].IsEmpty()) | |||
{ | |||
dp.Add("StuName", "%" + queryParam["StuName"].ToString() + "%", DbType.String); | |||
strSql.Append(" AND t.StuName Like @StuName "); | |||
} | |||
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 "); | |||
} | |||
return this.BaseRepository("CollegeMIS").FindList<StudentArticlePublicEntity>(strSql.ToString(), dp); | |||
} | |||
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) | |||
{ | |||
try | |||
{ | |||
this.BaseRepository("CollegeMIS").Delete<StudentArticlePublicEntity>(t => t.Id == keyValue); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <param name="entity">实体</param> | |||
/// <returns></returns> | |||
public void SaveEntity(string keyValue, StudentArticlePublicEntity entity) | |||
{ | |||
try | |||
{ | |||
if (!string.IsNullOrEmpty(keyValue)) | |||
{ | |||
entity.Modify(keyValue); | |||
this.BaseRepository("CollegeMIS").Update(entity); | |||
} | |||
else | |||
{ | |||
entity.Create(); | |||
this.BaseRepository("CollegeMIS").Insert(entity); | |||
} | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
public void ChangeStatusByProcessId(string processId, int status) | |||
{ | |||
try | |||
{ | |||
this.BaseRepository("CollegeMIS").ExecuteBySql($"update StudentArticlePublic set Status='{status}' where processId='{processId}'"); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
public void ChangeStatusById(string keyValue, int status, string processId) | |||
{ | |||
try | |||
{ | |||
this.BaseRepository("CollegeMIS").ExecuteBySql($"update StudentArticlePublic set Status='{status}',processId='{processId}' where Id='{keyValue}'"); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,208 @@ | |||
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-11-08 11:05 | |||
/// 描 述:学生赛事奖励 | |||
/// </summary> | |||
public class StudentCompetitionBLL : StudentCompetitionIBLL | |||
{ | |||
private StudentCompetitionService studentCompetitionService = new StudentCompetitionService(); | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="pagination">分页参数</param> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
public IEnumerable<StudentCompetitionEntity> GetPageList(Pagination pagination, string queryJson) | |||
{ | |||
try | |||
{ | |||
return studentCompetitionService.GetPageList(pagination, queryJson); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取StudentCompetition表实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
public StudentCompetitionEntity GetStudentCompetitionEntity(string keyValue) | |||
{ | |||
try | |||
{ | |||
return studentCompetitionService.GetStudentCompetitionEntity(keyValue); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <returns></returns> | |||
public IEnumerable<StudentCompetitionEntity> GetList(string queryJson) | |||
{ | |||
try | |||
{ | |||
return studentCompetitionService.GetList(queryJson); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取主表实体数据 | |||
/// </summary> | |||
/// <param name="processId">流程实例ID</param> | |||
/// <returns></returns> | |||
public StudentCompetitionEntity GetEntityByProcessId(string processId) | |||
{ | |||
try | |||
{ | |||
return studentCompetitionService.GetEntityByProcessId(processId); | |||
} | |||
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 | |||
{ | |||
studentCompetitionService.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> | |||
public void SaveEntity(string keyValue, StudentCompetitionEntity entity) | |||
{ | |||
try | |||
{ | |||
studentCompetitionService.SaveEntity(keyValue, entity); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
public void ChangeStatusByProcessId(string processId, int status) | |||
{ | |||
try | |||
{ | |||
studentCompetitionService.ChangeStatusByProcessId(processId, status); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
public void ChangeStatusById(string keyValue, int status, string processId) | |||
{ | |||
try | |||
{ | |||
studentCompetitionService.ChangeStatusById(keyValue, status, processId); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,138 @@ | |||
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-11-08 11:05 | |||
/// 描 述:学生赛事奖励 | |||
/// </summary> | |||
public class StudentCompetitionEntity | |||
{ | |||
#region 实体成员 | |||
/// <summary> | |||
/// Id | |||
/// </summary> | |||
[Column("ID")] | |||
public string Id { 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> | |||
/// 赛事名称 | |||
/// </summary> | |||
[Column("SCNAME")] | |||
public string SCName { get; set; } | |||
/// <summary> | |||
/// 赛事级别 | |||
/// </summary> | |||
[Column("SCLEVEL")] | |||
public string SCLevel { get; set; } | |||
/// <summary> | |||
/// 赛事获取时间 | |||
/// </summary> | |||
[Column("SCTIME")] | |||
public DateTime? SCTime { get; set; } | |||
/// <summary> | |||
/// 赛事种类 | |||
/// </summary> | |||
[Column("SCTYPE")] | |||
public string SCType { get; set; } | |||
/// <summary> | |||
/// 分值 | |||
/// </summary> | |||
[Column("SCORE")] | |||
public decimal? Score { get; set; } | |||
/// <summary> | |||
/// 附件 | |||
/// </summary> | |||
[Column("URL")] | |||
public string Url { get; set; } | |||
/// <summary> | |||
/// 颁发单位 | |||
/// </summary> | |||
[Column("UNIT")] | |||
public string Unit { get; set; } | |||
/// <summary> | |||
/// CreateTime | |||
/// </summary> | |||
[Column("CREATETIME")] | |||
public DateTime? CreateTime { get; set; } | |||
/// <summary> | |||
/// CreateUserId | |||
/// </summary> | |||
[Column("CREATEUSERID")] | |||
public string CreateUserId { get; set; } | |||
/// <summary> | |||
/// processId | |||
/// </summary> | |||
[Column("PROCESSID")] | |||
public string processId { get; set; } | |||
/// <summary> | |||
/// Status | |||
/// </summary> | |||
[Column("STATUS")] | |||
public int? Status { get; set; } | |||
/// <summary> | |||
/// 学年 | |||
/// </summary> | |||
[Column("ACADEMICYEARNO")] | |||
public string AcademicYearNo { get; set; } | |||
/// <summary> | |||
/// 学期 | |||
/// </summary> | |||
[Column("SEMESTER")] | |||
public string Semester { get; set; } | |||
#endregion | |||
#region 扩展操作 | |||
/// <summary> | |||
/// 新增调用 | |||
/// </summary> | |||
public void Create() | |||
{ | |||
this.Id = Guid.NewGuid().ToString(); | |||
this.CreateTime = DateTime.Now; | |||
this.CreateUserId = LoginUserInfo.Get().userId; | |||
this.Status = 0; | |||
} | |||
/// <summary> | |||
/// 编辑调用 | |||
/// </summary> | |||
/// <param name="keyValue"></param> | |||
public void Modify(string keyValue) | |||
{ | |||
this.Id = keyValue; | |||
} | |||
#endregion | |||
#region 扩展字段 | |||
#endregion | |||
} | |||
} | |||
@@ -0,0 +1,63 @@ | |||
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-11-08 11:05 | |||
/// 描 述:学生赛事奖励 | |||
/// </summary> | |||
public interface StudentCompetitionIBLL | |||
{ | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="pagination">分页参数</param> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
IEnumerable<StudentCompetitionEntity> GetPageList(Pagination pagination, string queryJson); | |||
/// <summary> | |||
/// 获取StudentCompetition表实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
StudentCompetitionEntity GetStudentCompetitionEntity(string keyValue); | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <returns></returns> | |||
IEnumerable<StudentCompetitionEntity> GetList(string queryJson); | |||
/// <summary> | |||
/// 获取主表实体数据 | |||
/// </summary> | |||
/// <param name="processId">流程实例ID</param> | |||
/// <returns></returns> | |||
StudentCompetitionEntity GetEntityByProcessId(string processId); | |||
#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, StudentCompetitionEntity entity); | |||
void ChangeStatusByProcessId(string processId, int status); | |||
void ChangeStatusById(string keyValue, int status,string processId); | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,308 @@ | |||
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-11-08 11:05 | |||
/// 描 述:学生赛事奖励 | |||
/// </summary> | |||
public class StudentCompetitionService : RepositoryFactory | |||
{ | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="pagination">分页参数</param> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
public IEnumerable<StudentCompetitionEntity> GetPageList(Pagination pagination, string queryJson) | |||
{ | |||
try | |||
{ | |||
var strSql = new StringBuilder(); | |||
strSql.Append("SELECT "); | |||
strSql.Append(@" | |||
t.* | |||
"); | |||
strSql.Append(" FROM StudentCompetition t "); | |||
strSql.Append(" WHERE 1=1 "); | |||
var queryParam = queryJson.ToJObject(); | |||
// 虚拟参数 | |||
var dp = new DynamicParameters(new { }); | |||
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 "); | |||
} | |||
if (!queryParam["SCName"].IsEmpty()) | |||
{ | |||
dp.Add("SCName", "%" + queryParam["SCName"].ToString() + "%", DbType.String); | |||
strSql.Append(" AND t.SCName Like @SCName "); | |||
} | |||
if (!queryParam["SCLevel"].IsEmpty()) | |||
{ | |||
dp.Add("SCLevel",queryParam["SCLevel"].ToString(), DbType.String); | |||
strSql.Append(" AND t.SCLevel = @SCLevel "); | |||
} | |||
if (!queryParam["SCTime"].IsEmpty()) | |||
{ | |||
dp.Add("SCTime", queryParam["SCTime"].ToDate(), DbType.DateTime); | |||
strSql.Append(" AND t.SCTime = @SCTime "); | |||
} | |||
if (!queryParam["SCType"].IsEmpty()) | |||
{ | |||
dp.Add("SCType", "%" + queryParam["SCType"].ToString() + "%", DbType.String); | |||
strSql.Append(" AND t.SCType Like @SCType "); | |||
} | |||
if (!queryParam["Unit"].IsEmpty()) | |||
{ | |||
dp.Add("Unit", "%" + queryParam["Unit"].ToString() + "%", DbType.String); | |||
strSql.Append(" AND t.Unit Like @Unit "); | |||
} | |||
return this.BaseRepository("CollegeMIS").FindList<StudentCompetitionEntity>(strSql.ToString(), dp, pagination); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取StudentCompetition表实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
public StudentCompetitionEntity GetStudentCompetitionEntity(string keyValue) | |||
{ | |||
try | |||
{ | |||
return this.BaseRepository("CollegeMIS").FindEntity<StudentCompetitionEntity>(keyValue); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取主表实体数据 | |||
/// </summary> | |||
/// <param name="processId">流程实例ID</param> | |||
/// <returns></returns> | |||
public StudentCompetitionEntity GetEntityByProcessId(string processId) | |||
{ | |||
try | |||
{ | |||
return this.BaseRepository("CollegeMIS").FindEntity<StudentCompetitionEntity>(t => t.processId == processId); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <returns></returns> | |||
public IEnumerable<StudentCompetitionEntity> GetList(string queryJson) | |||
{ | |||
try | |||
{ | |||
var strSql = new StringBuilder(); | |||
strSql.Append("SELECT t.* "); | |||
strSql.Append(" FROM StudentCompetition t "); | |||
strSql.Append(" WHERE 1=1 and t.Status=2 "); | |||
var queryParam = queryJson.ToJObject(); | |||
// 虚拟参数 | |||
var dp = new DynamicParameters(new { }); | |||
if (!queryParam["StuNo"].IsEmpty()) | |||
{ | |||
dp.Add("StuNo", queryParam["StuNo"].ToString(), DbType.String); | |||
strSql.Append(" AND t.StuNo = @StuNo "); | |||
} | |||
if (!queryParam["StuName"].IsEmpty()) | |||
{ | |||
dp.Add("StuName", "%" + queryParam["StuName"].ToString() + "%", DbType.String); | |||
strSql.Append(" AND t.StuName Like @StuName "); | |||
} | |||
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 "); | |||
} | |||
return this.BaseRepository("CollegeMIS").FindList<StudentCompetitionEntity>(strSql.ToString(), dp); | |||
} | |||
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) | |||
{ | |||
try | |||
{ | |||
this.BaseRepository("CollegeMIS").Delete<StudentCompetitionEntity>(t => t.Id == keyValue); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <param name="entity">实体</param> | |||
/// <returns></returns> | |||
public void SaveEntity(string keyValue, StudentCompetitionEntity entity) | |||
{ | |||
try | |||
{ | |||
if (!string.IsNullOrEmpty(keyValue)) | |||
{ | |||
entity.Modify(keyValue); | |||
this.BaseRepository("CollegeMIS").Update(entity); | |||
} | |||
else | |||
{ | |||
entity.Create(); | |||
this.BaseRepository("CollegeMIS").Insert(entity); | |||
} | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
public void ChangeStatusByProcessId(string processId, int status) | |||
{ | |||
try | |||
{ | |||
this.BaseRepository("CollegeMIS").ExecuteBySql($"update StudentCompetition set Status='{status}' where processId='{processId}'"); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
public void ChangeStatusById(string keyValue, int status, string processId) | |||
{ | |||
try | |||
{ | |||
this.BaseRepository("CollegeMIS").ExecuteBySql($"update StudentCompetition set Status='{status}',processId='{processId}' where Id='{keyValue}'"); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
#endregion | |||
} | |||
} |
@@ -86,12 +86,12 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
if (!queryParam["IssueMonth"].IsEmpty()) | |||
{ | |||
dp.Add("IssueMonth", queryParam["IssueMonth"].ToString(), DbType.String); | |||
strSql.Append(" AND t.IssueMonth = IssueMonth "); | |||
strSql.Append(" AND t.IssueMonth = @IssueMonth "); | |||
} | |||
if (!queryParam["IssueYear"].IsEmpty()) | |||
{ | |||
dp.Add("IssueYear", queryParam["IssueYear"].ToString(), DbType.String); | |||
strSql.Append(" AND t.IssueYear = IssueYear "); | |||
strSql.Append(" AND t.IssueYear = @IssueYear "); | |||
} | |||
return this.BaseRepository("CollegeMIS").FindList<WageScheduleEntity>(strSql.ToString(), dp, pagination); | |||
} | |||
@@ -82,12 +82,12 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
if (!queryParam["IssueMonth"].IsEmpty()) | |||
{ | |||
dp.Add("IssueMonth", queryParam["IssueMonth"].ToString(), DbType.String); | |||
strSql.Append(" AND t.IssueMonth = IssueMonth "); | |||
strSql.Append(" AND t.IssueMonth = @IssueMonth "); | |||
} | |||
if (!queryParam["IssueYear"].IsEmpty()) | |||
{ | |||
dp.Add("IssueYear", queryParam["IssueYear"].ToString(), DbType.String); | |||
strSql.Append(" AND t.IssueYear = IssueYear "); | |||
strSql.Append(" AND t.IssueYear = @IssueYear "); | |||
} | |||
return this.BaseRepository("CollegeMIS").FindList<WelfarePositionEntity>(strSql.ToString(), dp, pagination); | |||
} | |||
@@ -265,6 +265,14 @@ | |||
<Compile Include="EducationalAdministration\ScoreStatistics\ScoreStatisticsIBLL.cs" /> | |||
<Compile Include="EducationalAdministration\ScoreStatistics\ScoreStatisticsService.cs" /> | |||
<Compile Include="EducationalAdministration\SignUpHelper.cs" /> | |||
<Compile Include="EducationalAdministration\StudentArticlePublic\StudentArticlePublicBLL.cs" /> | |||
<Compile Include="EducationalAdministration\StudentArticlePublic\StudentArticlePublicEntity.cs" /> | |||
<Compile Include="EducationalAdministration\StudentArticlePublic\StudentArticlePublicIBLL.cs" /> | |||
<Compile Include="EducationalAdministration\StudentArticlePublic\StudentArticlePublicService.cs" /> | |||
<Compile Include="EducationalAdministration\StudentCompetition\StudentCompetitionBLL.cs" /> | |||
<Compile Include="EducationalAdministration\StudentCompetition\StudentCompetitionEntity.cs" /> | |||
<Compile Include="EducationalAdministration\StudentCompetition\StudentCompetitionIBLL.cs" /> | |||
<Compile Include="EducationalAdministration\StudentCompetition\StudentCompetitionService.cs" /> | |||
<Compile Include="EducationalAdministration\StudentHonor\StudentHonorBLL.cs" /> | |||
<Compile Include="EducationalAdministration\StudentHonor\StudentHonorEntity.cs" /> | |||
<Compile Include="EducationalAdministration\StudentHonor\StudentHonorIBLL.cs" /> | |||
@@ -1987,6 +1995,14 @@ | |||
<Compile Include="AssetManagementSystem\FundsApply\FundsApplyService.cs" /> | |||
<Compile Include="AssetManagementSystem\FundsApply\FundsApplyBLL.cs" /> | |||
<Compile Include="AssetManagementSystem\FundsApply\FundsApplyIBLL.cs" /> | |||
<Compile Include="EducationalAdministration\SportEquipmentLend\SportEquipmentLendEntity.cs" /> | |||
<Compile Include="EducationalAdministration\SportEquipmentLend\SportEquipmentLendService.cs" /> | |||
<Compile Include="EducationalAdministration\SportEquipmentLend\SportEquipmentLendBLL.cs" /> | |||
<Compile Include="EducationalAdministration\SportEquipmentLend\SportEquipmentLendIBLL.cs" /> | |||
<Compile Include="EducationalAdministration\SportEquipmentReturn\SportEquipmentReturnEntity.cs" /> | |||
<Compile Include="EducationalAdministration\SportEquipmentReturn\SportEquipmentReturnService.cs" /> | |||
<Compile Include="EducationalAdministration\SportEquipmentReturn\SportEquipmentReturnBLL.cs" /> | |||
<Compile Include="EducationalAdministration\SportEquipmentReturn\SportEquipmentReturnIBLL.cs" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ProjectReference Include="..\..\..\Learun.Application.Organization\Learun.Application.Organization.csproj"> | |||
@@ -98,6 +98,8 @@ | |||
<Compile Include="NodeMethod\ADR_AddApplyMethod.cs" /> | |||
<Compile Include="NodeMethod\Ass_AcceptanceMethod.cs" /> | |||
<Compile Include="NodeMethod\FundsApplyMethod.cs" /> | |||
<Compile Include="NodeMethod\StudentArticlePublicMethod.cs" /> | |||
<Compile Include="NodeMethod\StudentCompetitionMethod.cs" /> | |||
<Compile Include="NodeMethod\StudentHonorMethod.cs" /> | |||
<Compile Include="NodeMethod\StudentCertificateMethod.cs" /> | |||
<Compile Include="NodeMethod\FD_PayManageMethod.cs" /> | |||
@@ -0,0 +1,27 @@ | |||
using System; | |||
using System.Collections.Generic; | |||
using System.Linq; | |||
using System.Text; | |||
using System.Threading.Tasks; | |||
using Learun.Application.TwoDevelopment.EducationalAdministration; | |||
namespace Learun.Application.WorkFlow | |||
{ | |||
public class StudentArticlePublicMethod : IWorkFlowMethod | |||
{ | |||
StudentArticlePublicIBLL asset = new StudentArticlePublicBLL(); | |||
public void Execute(WfMethodParameter parameter) | |||
{ | |||
if (parameter.code == "agree") | |||
{ | |||
asset.ChangeStatusByProcessId(parameter.processId, 2); | |||
} | |||
else | |||
{ | |||
asset.ChangeStatusByProcessId(parameter.processId, 0); | |||
} | |||
} | |||
} | |||
} |
@@ -0,0 +1,27 @@ | |||
using System; | |||
using System.Collections.Generic; | |||
using System.Linq; | |||
using System.Text; | |||
using System.Threading.Tasks; | |||
using Learun.Application.TwoDevelopment.EducationalAdministration; | |||
namespace Learun.Application.WorkFlow | |||
{ | |||
public class StudentCompetitionMethod : IWorkFlowMethod | |||
{ | |||
StudentCompetitionIBLL asset = new StudentCompetitionBLL(); | |||
public void Execute(WfMethodParameter parameter) | |||
{ | |||
if (parameter.code == "agree") | |||
{ | |||
asset.ChangeStatusByProcessId(parameter.processId, 2); | |||
} | |||
else | |||
{ | |||
asset.ChangeStatusByProcessId(parameter.processId, 0); | |||
} | |||
} | |||
} | |||
} |
@@ -22,12 +22,12 @@ export default { | |||
// ], | |||
"apiHost": [ | |||
// "http://cyzjzx.gnway.cc:31218/"//测试地址接口 | |||
"http://cyzjzx.gnway.cc:29904/"//正式地址接口 | |||
//"http://localhost:31173/" | |||
// "http://cyzjzx.gnway.cc:29904/"//正式地址接口 | |||
"http://192.168.10.58:8012/" | |||
], | |||
// "webHost":"http://cyzjzx.gnway.cc:30549/",//测试地址 | |||
"webHost":"http://wxd3f.cyzjzx.com/",//正式地址 | |||
//"webHost":"http://localhost:20472/", | |||
// "webHost":"http://wxd3f.cyzjzx.com/",//正式地址 | |||
"webHost":"http://192.168.10.58:8009/", | |||
// 开发环境下自动填充登录账号密码,与接口地址一一对应,只在开发环境下显示 | |||
"devAccount": [ | |||
// 20201130230 21364200000400266 老师 420528196310072253 学生 420528200606205026 420528200507261428 | |||
@@ -1090,11 +1090,47 @@ | |||
"style": { | |||
"navigationBarTitleText": "详情" | |||
} | |||
}, | |||
// 财政工资条 | |||
{ | |||
"path": "pages/Payslip/Payslip/list", | |||
"style": { | |||
"navigationBarTitleText": "财政工资条" | |||
} | |||
}, | |||
{ | |||
"path": "pages/Payslip/Payslip/single", | |||
"style": { | |||
"navigationBarTitleText": "详情" | |||
} | |||
}, | |||
// 外聘工资条 | |||
{ | |||
"path": "pages/Payslip/recruitPayslip/list", | |||
"style": { | |||
"navigationBarTitleText": "外聘工资条" | |||
} | |||
}, | |||
{ | |||
"path": "pages/Payslip/recruitPayslip/single", | |||
"style": { | |||
"navigationBarTitleText": "详情" | |||
} | |||
}, | |||
// 公益性岗位工资条 | |||
{ | |||
"path": "pages/Payslip/welfarePayslip/list", | |||
"style": { | |||
"navigationBarTitleText": "公益性岗位" | |||
} | |||
}, | |||
{ | |||
"path": "pages/Payslip/welfarePayslip/single", | |||
"style": { | |||
"navigationBarTitleText": "详情" | |||
} | |||
} | |||
], | |||
// 全局样式 | |||
@@ -0,0 +1,280 @@ | |||
<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.F_InvoiceId"> | |||
<view class="customlist-item-field"> | |||
<text class="customlist-item-field-title">姓名:</text> | |||
{{ displayListItem(item, 'EmpName') }} | |||
</view> | |||
<view class="customlist-item-field"> | |||
<text class="customlist-item-field-title">人员类别:</text> | |||
{{ displayListItem(item, 'PeopleType') }} | |||
</view> | |||
<view class="customlist-item-field"> | |||
<text class="customlist-item-field-title">发放年份:</text> | |||
{{ displayListItem(item, 'IssueYear') }} | |||
</view> | |||
<view class="customlist-item-field"> | |||
<text class="customlist-item-field-title">发放月份:</text> | |||
{{ displayListItem(item, 'IssueMonth') }} | |||
</view> | |||
<view class="customlist-item-field"> | |||
<text class="customlist-item-field-title">应发合计:</text> | |||
{{ displayListItem(item, 'TotalGrossPay') }} | |||
</view> | |||
<view class="customlist-item-field"> | |||
<text class="customlist-item-field-title">实发合计:</text> | |||
{{ displayListItem(item, 'NetCombined') }} | |||
</view> | |||
<!-- 操作按钮组 --> | |||
<l-customlist-action @view="action('view', item)" @edit="action('edit', item)" :showEdit="false" /> | |||
</view> | |||
</l-customlist> | |||
</l-scroll-list> | |||
</view> | |||
<!-- 关闭筛选栏按钮 --> | |||
<view @click="sideOpen = false" :class="sideOpen ? 'show' : ''" class="sideclose"> | |||
<l-icon type="pullright" color="blue" /> | |||
</view> | |||
<!-- 侧边栏 --> | |||
<scroll-view :class="sideOpen ? 'show' : ''" class="sidepage" scroll-y> | |||
<view v-if="ready" class="padding"> | |||
<l-input v-model="queryData.IssueYear" @change="searchChange()" title="年份" placeholder="按年份筛选,例:2022" /> | |||
<l-input v-model="queryData.IssueMonth" @change="searchChange()" title="月份" placeholder="按月份筛选,例:10" /> | |||
<l-input v-model="queryData.EmpName" @change="searchChange()" title="姓名" placeholder="按姓名筛选" /> | |||
<l-input v-model="queryData.PeopleType" @change="searchChange()" title="人员类别" placeholder="按人员类别筛选" /> | |||
<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('create')" /> --> | |||
</view> | |||
</template> | |||
<script> | |||
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: { | |||
// F_CustomerId: { type: 'select', dataSource: '1', dataSourceId: 'crmCustomer,f_fullname,f_customerid' }, | |||
// F_InvoiceContent: { type: 'texteditor' }, | |||
// 姓名EmpName | |||
EmpName: { type: 'text' }, | |||
// 人员类别PeopleType | |||
PeopleType: { type: 'text' }, | |||
// 发放年份IssueYear | |||
IssueYear: { type: 'text' }, | |||
// 发放月份IssueMonth | |||
IssueMonth: { type: 'text' }, | |||
// 应发合计TotalGrossPay | |||
TotalGrossPay: { type: 'text' }, | |||
// 实发合计NetCombined | |||
NetCombined: { type: 'text' }, | |||
}, | |||
// 筛选菜单值 | |||
searchData: {}, | |||
defaultQueryData: {}, | |||
queryData: { | |||
keyword: '' | |||
}, | |||
// 数据源 | |||
dataSource: { | |||
F_CustomerId: [] | |||
}, | |||
// 页面相关参数 | |||
ready: false, | |||
tips: '加载中…', | |||
loadState: '向下翻以加载更多', | |||
sideOpen: false, | |||
// 列表条目与分页信息 | |||
page: 1, | |||
total: 2, | |||
list: [] | |||
} | |||
}, | |||
async onLoad() { | |||
await this.init() | |||
}, | |||
onUnload() { | |||
this.OFF('invoice-list-change') | |||
}, | |||
methods: { | |||
// 页面初始化 | |||
async init() { | |||
this.ON('invoice-list-change', this.refreshList) | |||
await Promise.all([ | |||
// 加载 F_CustomerId 字段的数据源:客户信息 | |||
// this.FETCH_DATASOURCE('crmCustomer').then(result => { | |||
// this.dataSource.F_CustomerId = result.data.map(t => ({ text: t.f_fullname, value: t.f_customerid })) | |||
// }), | |||
// 拉取列表信息 | |||
this.fetchList() | |||
]) | |||
this.defaultQueryData = this.COPY(this.queryData) | |||
this.ready = true | |||
}, | |||
// 拉取列表 | |||
async fetchList(isConcat=true) { | |||
if (this.page > this.total) { | |||
return | |||
} | |||
const result = await this.HTTP_GET( | |||
'learun/adms/WageSchedule/getlist', | |||
{ | |||
pagination: { rows: 10, page: this.page, sidx: 'CreateTime', sord: 'DESC' }, | |||
queryJson: JSON.stringify(this.searchData) | |||
}, | |||
'加载数据时出错' | |||
) | |||
if (!result) { | |||
return | |||
} | |||
this.total = result.total | |||
this.page = result.page + 1 | |||
this.list = isConcat?this.list.concat(result.rows):result.rows; | |||
this.tips = `已加载 ${Math.min(result.page, result.total)} / ${result.total} 页,共 ${result.records} 项` | |||
this.loadState = result.page >= result.total ? '已加载所有项目' : '向下翻以加载更多' | |||
}, | |||
// 刷新清空列表 | |||
async refreshList(isConcat=true) { | |||
this.page = 1 | |||
this.total = 2 | |||
this.list = [] | |||
await this.fetchList(isConcat); | |||
}, | |||
// 列表下拉 | |||
pullDown() { | |||
this.refreshList().then(() => { | |||
this.$refs.list.stopPullDown() | |||
}) | |||
}, | |||
// 点击「编辑」、「查看」、「添加」、「删除」按钮 | |||
action(type, item) { | |||
switch (type) { | |||
default: | |||
case 'create': | |||
this.NAV_TO('./single?type=create') | |||
return | |||
case 'view': | |||
this.NAV_TO('./single?type=view&&id='+item.Id, item, true) | |||
return | |||
case 'edit': | |||
this.NAV_TO('./single?type=edit', item, true) | |||
return | |||
} | |||
}, | |||
// 显示列表中的标题项 | |||
displayListItem(item, field) { | |||
const fieldItem = this.scheme[field] | |||
const value = item[field] | |||
switch (fieldItem.type) { | |||
case 'currentInfo': | |||
case 'organize': | |||
switch (fieldItem.dataType) { | |||
case 'user': | |||
return get(this.GET_GLOBAL('user'), `${value}.name`, '') | |||
case 'department': | |||
return get(this.GET_GLOBAL('department'), `${value}.name`, '') | |||
case 'company': | |||
return get(this.GET_GLOBAL('company'), `${value}.name`, '') | |||
default: | |||
return value || '' | |||
} | |||
case 'radio': | |||
case 'select': | |||
const selectItem = this.dataSource[field].find(t => t.value === 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') | |||
default: | |||
return value || '' | |||
} | |||
}, | |||
// 设置搜索条件 | |||
async searchChange() { | |||
const result = {} | |||
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(false); | |||
}, | |||
// 点击「清空搜索条件」按钮 | |||
reset() { | |||
this.queryData = this.COPY(this.defaultQueryData) | |||
this.searchChange() | |||
} | |||
} | |||
} | |||
</script> | |||
<style lang="less" scoped> | |||
@import '~@/common/css/sidepage.less'; | |||
@import '~@/common/css/customlist.less'; | |||
</style> |
@@ -0,0 +1,542 @@ | |||
<template> | |||
<view class="page"> | |||
<view v-if="ready"> | |||
<view class="item-title">基本信息</view> | |||
<l-input | |||
@input="setValue('WageSchedule.EmpName', $event)" | |||
:value="getValue('WageSchedule.EmpName')" | |||
:disabled="!edit" | |||
title="姓名" | |||
/> | |||
<l-input | |||
@input="setValue('WageSchedule.IdCardNo', $event)" | |||
:value="getValue('WageSchedule.IdCardNo')" | |||
:disabled="!edit" | |||
title="身份证号" | |||
/> | |||
<l-input | |||
@input="setValue('WageSchedule.PeopleType', $event)" | |||
:value="getValue('WageSchedule.PeopleType')" | |||
:disabled="!edit" | |||
title="人员类别" | |||
/> | |||
<l-input | |||
@input="setValue('WageSchedule.PostType', $event)" | |||
:value="getValue('WageSchedule.PostType')" | |||
:disabled="!edit" | |||
title="岗位等级" | |||
/> | |||
<l-input | |||
@input="setValue('WageSchedule.PayGrade', $event)" | |||
:value="getValue('WageSchedule.PayGrade')" | |||
:disabled="!edit" | |||
title="薪级" | |||
/> | |||
<l-input | |||
@input="setValue('WageSchedule.TotalGrossPay', $event)" | |||
:value="getValue('WageSchedule.TotalGrossPay')" | |||
:disabled="!edit" | |||
title="应发合计" | |||
/> | |||
<view class="item-title">基本工资</view> | |||
<l-input | |||
@input="setValue('WageSchedule.PostWage', $event)" | |||
:value="getValue('WageSchedule.PostWage')" | |||
:disabled="!edit" | |||
title="岗位工资" | |||
/> | |||
<l-input | |||
@input="setValue('WageSchedule.PayGradeWage', $event)" | |||
:value="getValue('WageSchedule.PayGradeWage')" | |||
:disabled="!edit" | |||
title="薪级工资" | |||
/> | |||
<l-input | |||
@input="setValue('WageSchedule.TenPercent', $event)" | |||
:value="getValue('WageSchedule.TenPercent')" | |||
:disabled="!edit" | |||
title="百分之十" | |||
/> | |||
<l-input | |||
@input="setValue('WageSchedule.BasePay', $event)" | |||
:value="getValue('WageSchedule.BasePay')" | |||
:disabled="!edit" | |||
title="小计" | |||
/> | |||
<view class="item-title">津贴补贴</view> | |||
<l-input | |||
@input="setValue('WageSchedule.RoughEdgeAllowance', $event)" | |||
:value="getValue('WageSchedule.RoughEdgeAllowance')" | |||
:disabled="!edit" | |||
title="艰边津贴" | |||
/> | |||
<l-input | |||
@input="setValue('WageSchedule.NationAllowance', $event)" | |||
:value="getValue('WageSchedule.NationAllowance')" | |||
:disabled="!edit" | |||
title="民族津贴" | |||
/> | |||
<l-input | |||
@input="setValue('WageSchedule.TeachAllowance', $event)" | |||
:value="getValue('WageSchedule.TeachAllowance')" | |||
:disabled="!edit" | |||
title="教师津贴" | |||
/> | |||
<l-input | |||
@input="setValue('WageSchedule.SubsidiesAllowances', $event)" | |||
:value="getValue('WageSchedule.SubsidiesAllowances')" | |||
:disabled="!edit" | |||
title="小计" | |||
/> | |||
<l-input | |||
class="top-15" | |||
@input="setValue('WageSchedule.BasicsPerformance', $event)" | |||
:value="getValue('WageSchedule.BasicsPerformance')" | |||
:disabled="!edit" | |||
title="基础性绩效" | |||
/> | |||
<l-input | |||
class="top-15" | |||
@input="setValue('WageSchedule.GirlStaffSanitation', $event)" | |||
:value="getValue('WageSchedule.GirlStaffSanitation')" | |||
:disabled="!edit" | |||
title="女职工卫生费" | |||
/> | |||
<view class="item-title">改革性补贴</view> | |||
<l-input | |||
@input="setValue('WageSchedule.Transportation', $event)" | |||
:value="getValue('WageSchedule.Transportation')" | |||
:disabled="!edit" | |||
title="交通补贴" | |||
/> | |||
<l-input | |||
@input="setValue('WageSchedule.RealeState', $event)" | |||
:value="getValue('WageSchedule.RealeState')" | |||
:disabled="!edit" | |||
title="物业补贴" | |||
/> | |||
<l-input | |||
@input="setValue('WageSchedule.WorkKeep', $event)" | |||
:value="getValue('WageSchedule.WorkKeep')" | |||
:disabled="!edit" | |||
title="工改保留补贴" | |||
/> | |||
<l-input | |||
@input="setValue('WageSchedule.ReformSubsidySum', $event)" | |||
:value="getValue('WageSchedule.ReformSubsidySum')" | |||
:disabled="!edit" | |||
title="小计" | |||
/> | |||
<l-input | |||
class="top-15" | |||
@input="setValue('WageSchedule.HousingAllowance', $event)" | |||
:value="getValue('WageSchedule.HousingAllowance')" | |||
:disabled="!edit" | |||
title="住房补贴" | |||
/> | |||
<l-input | |||
class="top-15" | |||
@input="setValue('WageSchedule.HousingFundAllowance', $event)" | |||
:value="getValue('WageSchedule.HousingFundAllowance')" | |||
:disabled="!edit" | |||
title="住房公积金" | |||
/> | |||
<l-input | |||
class="top-15" | |||
@input="setValue('WageSchedule.TeacherAndTown', $event)" | |||
:value="getValue('WageSchedule.TeacherAndTown')" | |||
:disabled="!edit" | |||
title="特级教师津贴和乡镇补贴" | |||
/> | |||
<view class="item-title">扣款</view> | |||
<l-input | |||
@input="setValue('WageSchedule.DeductionsSubtotal', $event)" | |||
:value="getValue('WageSchedule.DeductionsSubtotal')" | |||
:disabled="!edit" | |||
title="小计" | |||
/> | |||
<l-input | |||
@input="setValue('WageSchedule.AccumulationFund', $event)" | |||
:value="getValue('WageSchedule.AccumulationFund')" | |||
:disabled="!edit" | |||
title="公积金" | |||
/> | |||
<l-input | |||
@input="setValue('WageSchedule.LaborUnionWage', $event)" | |||
:value="getValue('WageSchedule.LaborUnionWage')" | |||
:disabled="!edit" | |||
title="工会工费" | |||
/> | |||
<l-input | |||
@input="setValue('WageSchedule.PersonalIncomeTax', $event)" | |||
:value="getValue('WageSchedule.PersonalIncomeTax')" | |||
:disabled="!edit" | |||
title="个人所得税" | |||
/> | |||
<l-input | |||
@input="setValue('WageSchedule.EndowmentInsurance', $event)" | |||
:value="getValue('WageSchedule.EndowmentInsurance')" | |||
:disabled="!edit" | |||
title="养老保险" | |||
/> | |||
<l-input | |||
@input="setValue('WageSchedule.OccupationalAnnuities', $event)" | |||
:value="getValue('WageSchedule.OccupationalAnnuities')" | |||
:disabled="!edit" | |||
title="职业年金" | |||
/> | |||
<l-input | |||
@input="setValue('WageSchedule.MedicalInsurance', $event)" | |||
:value="getValue('WageSchedule.MedicalInsurance')" | |||
:disabled="!edit" | |||
title="医疗保险" | |||
/> | |||
<l-input | |||
@input="setValue('WageSchedule.UnemploymentInsurance', $event)" | |||
:value="getValue('WageSchedule.UnemploymentInsurance')" | |||
:disabled="!edit" | |||
title="失业保险" | |||
/> | |||
<l-textarea | |||
@input="setValue('WageSchedule.Other', $event)" | |||
:value="getValue('WageSchedule.Other')" | |||
:readonly="!edit" | |||
title="其他" | |||
/> | |||
<l-input | |||
class="top-15" | |||
@input="setValue('WageSchedule.FiscalDirect', $event)" | |||
:value="getValue('WageSchedule.FiscalDirect')" | |||
:disabled="!edit" | |||
title="财政直达" | |||
/> | |||
<l-input | |||
class="top-15" | |||
@input="setValue('WageSchedule.BankWithholding', $event)" | |||
:value="getValue('WageSchedule.BankWithholding')" | |||
:disabled="!edit" | |||
title="银行代扣" | |||
/> | |||
<l-input | |||
class="top-15" | |||
@input="setValue('WageSchedule.NetCombined', $event)" | |||
:value="getValue('WageSchedule.NetCombined')" | |||
:disabled="!edit" | |||
title="实发合计" | |||
/> | |||
<l-input | |||
class="top-15" | |||
@input="setValue('WageSchedule.WageCardNo', $event)" | |||
:value="getValue('WageSchedule.WageCardNo')" | |||
:disabled="!edit" | |||
title="工资卡号" | |||
/> | |||
<l-input | |||
class="top-15" | |||
@input="setValue('WageSchedule.CreateUser', $event)" | |||
:value="getValue('WageSchedule.CreateUser')" | |||
:disabled="!edit" | |||
title="创建用户" | |||
/> | |||
<l-datetime-picker | |||
class="top-15" | |||
@input="setValue('WageSchedule.CreateTime', $event)" | |||
:value="getValue('WageSchedule.CreateTime')" | |||
:disabled="!edit" | |||
title="创建时间" | |||
/> | |||
<l-input | |||
class="top-15" | |||
@input="setValue('WageSchedule.IssueMonth', $event)" | |||
:value="getValue('WageSchedule.IssueMonth')" | |||
:disabled="!edit" | |||
title="发放月份" | |||
/> | |||
</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('edit')" size="lg" line="orange" 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> | |||
<l-button v-if="!edit && mode !== 'create'" @click="action('delete')" 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 上海力软信息技术有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2020-10-16 15:39 | |||
* 描 述:工作日志 | |||
*/ | |||
/** | |||
* 本段代码由移动端代码生成器输出,移动端须 2.2.0 版本及以上可以使用 | |||
* 请在移动端 /pages.json 中的 pages 字段中添加一条记录: | |||
* { "path": "pages/EducationalAdministration/JournalSend/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' | |||
export default { | |||
mixins: [customPageMixins], | |||
data() { | |||
return { | |||
// 页面相关参数 | |||
id: null, | |||
mode: null, | |||
edit: null, | |||
ready: false, | |||
// 表单数据 | |||
current: {}, | |||
origin: {}, | |||
// 表单项数据结构 | |||
scheme: { | |||
WageSchedule: { | |||
// JTitle: { type: 'text', title: '日志主题' }, | |||
// JTypeId: { type: 'select', title: '日志类型', dataSource: '0' }, | |||
// JReceiveId: { type: 'organize', title: '接收人', dataType: 'user' }, | |||
// JContent: { type: 'textarea', title: '日志内容' }, | |||
// Id | |||
// 序号No | |||
No: { type: 'text', title: '序号' }, | |||
// 姓名EmpName | |||
EmpName: { type: 'text', title: '姓名' }, | |||
// 账号/身份证号IdCardNo | |||
IdCardNo: { type: 'text', title: '账号/身份证号' }, | |||
// 人员类别PeopleType | |||
PeopleType: { type: 'text', title: '人员类别' }, | |||
// 岗位等级PostType | |||
PostType: { type: 'text', title: '岗位等级'}, | |||
// 薪级PayGrade | |||
PayGrade: { type: 'text', title: '薪级'}, | |||
// 应发合计TotalGrossPay | |||
TotalGrossPay: { type: 'text', title: '应发合计'}, | |||
// 岗位工资PostWage | |||
PostWage: { type: 'text', title: '岗位工资'}, | |||
// 薪级工资PayGradeWage | |||
PayGradeWage: { type: 'text', title: '薪级工资'}, | |||
// 百分之十TenPercent | |||
TenPercent: { type: 'text', title: '百分之十'}, | |||
// 基本工资小计BasePay | |||
BasePay: { type: 'text', title: '基本工资小计'}, | |||
// 艰边津贴RoughEdgeAllowance | |||
RoughEdgeAllowance: { type: 'text', title: '艰边津贴'}, | |||
// 民族津贴NationAllowance | |||
NationAllowance: { type: 'text', title: '民族津贴'}, | |||
// 教师津贴TeachAllowance | |||
TeachAllowance: { type: 'text', title: '教师津贴'}, | |||
// 津贴补贴小计SubsidiesAllowances | |||
SubsidiesAllowances: { type: 'text', title: '津贴补贴小计'}, | |||
// 基础性绩效BasicsPerformance | |||
BasicsPerformance: { type: 'text', title: '基础性绩效'}, | |||
// 女职工卫生费GirlStaffSanitation | |||
GirlStaffSanitation: { type: 'text', title: 'http://cyzjzx.gnway.cc:29904'}, | |||
// 交通补贴Transportation | |||
Transportation: { type: 'text', title: '交通补贴'}, | |||
// 物业补贴RealeState | |||
BasicsPerformance: { type: 'text', title: '基础性绩效'}, | |||
// 工改保留补贴WorkKeep | |||
WorkKeep: { type: 'text', title: '工改保留补贴'}, | |||
// 改革性补贴小计ReformSubsidySum | |||
ReformSubsidySum: { type: 'text', title: '改革性补贴小计'}, | |||
// 住房补贴HousingAllowance | |||
HousingAllowance: { type: 'text', title: '住房补贴'}, | |||
// 住房公积金HousingFundAllowance | |||
HousingFundAllowance: { type: 'text', title: '住房公积金'}, | |||
// 特级教师津贴和乡镇补贴TeacherAndTown | |||
TeacherAndTown: { type: 'text', title: '特级教师津贴和乡镇补贴'}, | |||
// 扣款小计DeductionsSubtotal | |||
DeductionsSubtotal: { type: 'text', title: '扣款小计'}, | |||
// 公积金AccumulationFund | |||
AccumulationFund: { type: 'text', title: '公积金'}, | |||
// 工会工费LaborUnionWage | |||
LaborUnionWage: { type: 'text', title: '工会工费'}, | |||
// 个人所得税PersonalIncomeTax | |||
PersonalIncomeTax: { type: 'text', title: '个人所得税'}, | |||
// 养老保险EndowmentInsurance | |||
EndowmentInsurance: { type: 'text', title: '养老保险'}, | |||
// 职业年金OccupationalAnnuities | |||
OccupationalAnnuities: { type: 'text', title: '职业年金'}, | |||
// 医疗保险MedicalInsurance | |||
MedicalInsurance: { type: 'text', title: '医疗保险'}, | |||
// 失业保险UnemploymentInsurance | |||
UnemploymentInsurance: { type: 'text', title: '失业保险'}, | |||
// 其他Other | |||
Other: { type: 'text', title: '其他'}, | |||
// 财政直达FiscalDirect | |||
FiscalDirect: { type: 'text', title: '财政直达'}, | |||
// 银行代扣BankWithholding | |||
BankWithholding: { type: 'text', title: '银行代扣'}, | |||
// 实发合计NetCombined | |||
NetCombined: { type: 'text', title: '实发合计'}, | |||
// 工资卡号WageCardNo | |||
WageCardNo: { type: 'text', title: '工资卡号'}, | |||
// CreateUser | |||
CreateUser: { type: 'text', title: '创建用户'}, | |||
// CreateTime | |||
CreateTime: { type: 'text', title: '创建时间'}, | |||
// UpdateUser | |||
// UpdateTime | |||
// 发放月份IssueMonth | |||
IssueMonth: { type: 'text', title: '发放月份'}, | |||
// 发放年份IssueYear | |||
IssueYear: { type: 'text', title: '发放年份'}, | |||
}, | |||
}, | |||
// 数据源 | |||
dataSource: { | |||
JournalSend: { | |||
JTypeId: [], | |||
}, | |||
} | |||
} | |||
}, | |||
async onLoad({ type, id }) { | |||
await this.init(type, id) | |||
}, | |||
methods: { | |||
// 页面初始化 | |||
async init(type, id) { | |||
this.LOADING('加载数据中...') | |||
this.id = id | |||
this.mode = type | |||
// this.edit = ['create', 'edit'].includes(this.mode) | |||
// 拉取表单数据,同时拉取所有来自数据源的选单数据 | |||
await Promise.all([ | |||
() => {} | |||
]) | |||
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/WageSchedule/form', this.id) | |||
this.origin = await this.formatFormData(result) | |||
} | |||
this.current = this.COPY(this.origin) | |||
}, | |||
// 点击 「编辑」、「重置」、「保存」、「删除」 按钮 | |||
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) | |||
this.HTTP_POST('learun/adms/EducationalAdministration/Journal/save', postData, '表单提交保存失败').then(success => { | |||
this.HIDE_LOADING() | |||
if (!success) { | |||
return | |||
} | |||
this.EMIT('EducationalAdministrationJournalSend-list-change') | |||
this.NAV_BACK() | |||
this.TOAST('提交保存成功') | |||
}) | |||
break | |||
case 'delete': | |||
if (!(await this.CONFIRM('删除项目', '确定要删除本项吗?', true))) { | |||
return | |||
} | |||
this.LOADING('提交删除中...') | |||
this.HTTP_POST('learun/adms/EducationalAdministration/Journal/delete', this.id, '删除失败').then(success => { | |||
this.HIDE_LOADING() | |||
if (!success) { | |||
return | |||
} | |||
this.EMIT('EducationalAdministrationJournalSend-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) | |||
} | |||
} | |||
} | |||
</script> | |||
<style> | |||
.item-title{ | |||
color: #000; | |||
font-size: 16px; | |||
line-height: 36px; | |||
padding-left: 15px; | |||
} | |||
.top-15{ | |||
margin-top: 8px; | |||
} | |||
</style> |
@@ -0,0 +1,280 @@ | |||
<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.F_InvoiceId"> | |||
<view class="customlist-item-field"> | |||
<text class="customlist-item-field-title">姓名:</text> | |||
{{ displayListItem(item, 'EmpName') }} | |||
</view> | |||
<view class="customlist-item-field"> | |||
<text class="customlist-item-field-title">人员类别:</text> | |||
{{ displayListItem(item, 'PeopleType') }} | |||
</view> | |||
<view class="customlist-item-field"> | |||
<text class="customlist-item-field-title">发放年份:</text> | |||
{{ displayListItem(item, 'IssueYear') }} | |||
</view> | |||
<view class="customlist-item-field"> | |||
<text class="customlist-item-field-title">发放月份:</text> | |||
{{ displayListItem(item, 'IssueMonth') }} | |||
</view> | |||
<view class="customlist-item-field"> | |||
<text class="customlist-item-field-title">应发合计:</text> | |||
{{ displayListItem(item, 'TotalGrossPay') }} | |||
</view> | |||
<view class="customlist-item-field"> | |||
<text class="customlist-item-field-title">实发合计:</text> | |||
{{ displayListItem(item, 'NetCombined') }} | |||
</view> | |||
<!-- 操作按钮组 --> | |||
<l-customlist-action @view="action('view', item)" @edit="action('edit', item)" :showEdit="false" /> | |||
</view> | |||
</l-customlist> | |||
</l-scroll-list> | |||
</view> | |||
<!-- 关闭筛选栏按钮 --> | |||
<view @click="sideOpen = false" :class="sideOpen ? 'show' : ''" class="sideclose"> | |||
<l-icon type="pullright" color="blue" /> | |||
</view> | |||
<!-- 侧边栏 --> | |||
<scroll-view :class="sideOpen ? 'show' : ''" class="sidepage" scroll-y> | |||
<view v-if="ready" class="padding"> | |||
<l-input v-model="queryData.IssueYear" @change="searchChange()" title="年份" placeholder="按年份筛选,例:2022" /> | |||
<l-input v-model="queryData.IssueMonth" @change="searchChange()" title="月份" placeholder="按月份筛选,例:10" /> | |||
<l-input v-model="queryData.EmpName" @change="searchChange()" title="姓名" placeholder="按姓名筛选" /> | |||
<l-input v-model="queryData.PeopleType" @change="searchChange()" title="人员类别" placeholder="按人员类别筛选" /> | |||
<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('create')" /> --> | |||
</view> | |||
</template> | |||
<script> | |||
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: { | |||
// F_CustomerId: { type: 'select', dataSource: '1', dataSourceId: 'crmCustomer,f_fullname,f_customerid' }, | |||
// F_InvoiceContent: { type: 'texteditor' }, | |||
// 姓名EmpName | |||
EmpName: { type: 'text' }, | |||
// 人员类别PeopleType | |||
PeopleType: { type: 'text' }, | |||
// 发放年份IssueYear | |||
IssueYear: { type: 'text' }, | |||
// 发放月份IssueMonth | |||
IssueMonth: { type: 'text' }, | |||
// 应发合计TotalGrossPay | |||
TotalGrossPay: { type: 'text' }, | |||
// 实发合计NetCombined | |||
NetCombined: { type: 'text' }, | |||
}, | |||
// 筛选菜单值 | |||
searchData: {}, | |||
defaultQueryData: {}, | |||
queryData: { | |||
keyword: '' | |||
}, | |||
// 数据源 | |||
dataSource: { | |||
F_CustomerId: [] | |||
}, | |||
// 页面相关参数 | |||
ready: false, | |||
tips: '加载中…', | |||
loadState: '向下翻以加载更多', | |||
sideOpen: false, | |||
// 列表条目与分页信息 | |||
page: 1, | |||
total: 2, | |||
list: [] | |||
} | |||
}, | |||
async onLoad() { | |||
await this.init() | |||
}, | |||
onUnload() { | |||
this.OFF('invoice-list-change') | |||
}, | |||
methods: { | |||
// 页面初始化 | |||
async init() { | |||
this.ON('invoice-list-change', this.refreshList) | |||
await Promise.all([ | |||
// 加载 F_CustomerId 字段的数据源:客户信息 | |||
// this.FETCH_DATASOURCE('crmCustomer').then(result => { | |||
// this.dataSource.F_CustomerId = result.data.map(t => ({ text: t.f_fullname, value: t.f_customerid })) | |||
// }), | |||
// 拉取列表信息 | |||
this.fetchList() | |||
]) | |||
this.defaultQueryData = this.COPY(this.queryData) | |||
this.ready = true | |||
}, | |||
// 拉取列表 | |||
async fetchList(isConcat=true) { | |||
if (this.page > this.total) { | |||
return | |||
} | |||
const result = await this.HTTP_GET( | |||
'learun/adms/Ououtsourcing/getlist', | |||
{ | |||
pagination: { rows: 10, page: this.page, sidx: 'CreateTime', sord: 'DESC' }, | |||
queryJson: JSON.stringify(this.searchData) | |||
}, | |||
'加载数据时出错' | |||
) | |||
if (!result) { | |||
return | |||
} | |||
this.total = result.total | |||
this.page = result.page + 1 | |||
this.list = isConcat?this.list.concat(result.rows):result.rows; | |||
this.tips = `已加载 ${Math.min(result.page, result.total)} / ${result.total} 页,共 ${result.records} 项` | |||
this.loadState = result.page >= result.total ? '已加载所有项目' : '向下翻以加载更多' | |||
}, | |||
// 刷新清空列表 | |||
async refreshList(isConcat=true) { | |||
this.page = 1 | |||
this.total = 2 | |||
this.list = [] | |||
await this.fetchList(isConcat); | |||
}, | |||
// 列表下拉 | |||
pullDown() { | |||
this.refreshList().then(() => { | |||
this.$refs.list.stopPullDown() | |||
}) | |||
}, | |||
// 点击「编辑」、「查看」、「添加」、「删除」按钮 | |||
action(type, item) { | |||
switch (type) { | |||
default: | |||
case 'create': | |||
this.NAV_TO('./single?type=create') | |||
return | |||
case 'view': | |||
this.NAV_TO('./single?type=view&&id='+item.WPID, item, true) | |||
return | |||
case 'edit': | |||
this.NAV_TO('./single?type=edit', item, true) | |||
return | |||
} | |||
}, | |||
// 显示列表中的标题项 | |||
displayListItem(item, field) { | |||
const fieldItem = this.scheme[field] | |||
const value = item[field] | |||
switch (fieldItem.type) { | |||
case 'currentInfo': | |||
case 'organize': | |||
switch (fieldItem.dataType) { | |||
case 'user': | |||
return get(this.GET_GLOBAL('user'), `${value}.name`, '') | |||
case 'department': | |||
return get(this.GET_GLOBAL('department'), `${value}.name`, '') | |||
case 'company': | |||
return get(this.GET_GLOBAL('company'), `${value}.name`, '') | |||
default: | |||
return value || '' | |||
} | |||
case 'radio': | |||
case 'select': | |||
const selectItem = this.dataSource[field].find(t => t.value === 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') | |||
default: | |||
return value || '' | |||
} | |||
}, | |||
// 设置搜索条件 | |||
async searchChange() { | |||
const result = {} | |||
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(false); | |||
}, | |||
// 点击「清空搜索条件」按钮 | |||
reset() { | |||
this.queryData = this.COPY(this.defaultQueryData) | |||
this.searchChange() | |||
} | |||
} | |||
} | |||
</script> | |||
<style lang="less" scoped> | |||
@import '~@/common/css/sidepage.less'; | |||
@import '~@/common/css/customlist.less'; | |||
</style> |
@@ -0,0 +1,577 @@ | |||
<template> | |||
<view class="page"> | |||
<view v-if="ready"> | |||
<view class="item-title">基本信息</view> | |||
<l-input | |||
@input="setValue('Ououtsourcing.EmpName', $event)" | |||
:value="getValue('Ououtsourcing.EmpName')" | |||
:disabled="!edit" | |||
title="姓名" | |||
/> | |||
<l-input | |||
@input="setValue('Ououtsourcing.IdCardNo', $event)" | |||
:value="getValue('Ououtsourcing.IdCardNo')" | |||
:disabled="!edit" | |||
title="身份证号" | |||
/> | |||
<l-input | |||
@input="setValue('Ououtsourcing.WageCardNo', $event)" | |||
:value="getValue('Ououtsourcing.WageCardNo')" | |||
:disabled="!edit" | |||
title="工资卡号" | |||
/> | |||
<l-input | |||
@input="setValue('Ououtsourcing.PeopleType', $event)" | |||
:value="getValue('Ououtsourcing.PeopleType')" | |||
:disabled="!edit" | |||
title="人员类别" | |||
/> | |||
<l-input | |||
@input="setValue('Ououtsourcing.PostType', $event)" | |||
:value="getValue('Ououtsourcing.PostType')" | |||
:disabled="!edit" | |||
title="岗位等级" | |||
/> | |||
<l-input | |||
@input="setValue('Ououtsourcing.PayGrade', $event)" | |||
:value="getValue('Ououtsourcing.PayGrade')" | |||
:disabled="!edit" | |||
title="薪级" | |||
/> | |||
<l-input | |||
@input="setValue('Ououtsourcing.TotalGrossPay', $event)" | |||
:value="getValue('Ououtsourcing.TotalGrossPay')" | |||
:disabled="!edit" | |||
title="应发合计" | |||
/> | |||
<view class="item-title">基本工资</view> | |||
<l-input | |||
@input="setValue('Ououtsourcing.PostWage', $event)" | |||
:value="getValue('Ououtsourcing.PostWage')" | |||
:disabled="!edit" | |||
title="岗位工资" | |||
/> | |||
<l-input | |||
@input="setValue('Ououtsourcing.PayGradeWage', $event)" | |||
:value="getValue('Ououtsourcing.PayGradeWage')" | |||
:disabled="!edit" | |||
title="薪级工资" | |||
/> | |||
<l-input | |||
@input="setValue('Ououtsourcing.TenPercent', $event)" | |||
:value="getValue('Ououtsourcing.TenPercent')" | |||
:disabled="!edit" | |||
title="百分之十" | |||
/> | |||
<!-- <l-input | |||
@input="setValue('Ououtsourcing.BasePay', $event)" | |||
:value="getValue('Ououtsourcing.BasePay')" | |||
:disabled="!edit" | |||
title="小计" | |||
/> --> | |||
<view class="item-title">津贴补贴</view> | |||
<l-input | |||
@input="setValue('Ououtsourcing.RoughEdgeAllowance', $event)" | |||
:value="getValue('Ououtsourcing.RoughEdgeAllowance')" | |||
:disabled="!edit" | |||
title="艰边津贴" | |||
/> | |||
<l-input | |||
@input="setValue('Ououtsourcing.NationAllowance', $event)" | |||
:value="getValue('Ououtsourcing.NationAllowance')" | |||
:disabled="!edit" | |||
title="民族津贴" | |||
/> | |||
<l-input | |||
@input="setValue('Ououtsourcing.TeachAllowance', $event)" | |||
:value="getValue('Ououtsourcing.TeachAllowance')" | |||
:disabled="!edit" | |||
title="教师津贴" | |||
/> | |||
<!-- <l-input | |||
@input="setValue('Ououtsourcing.SubsidiesAllowances', $event)" | |||
:value="getValue('Ououtsourcing.SubsidiesAllowances')" | |||
:disabled="!edit" | |||
title="小计" | |||
/> --> | |||
<l-input | |||
class="top-15" | |||
@input="setValue('Ououtsourcing.BasicsPerformance', $event)" | |||
:value="getValue('Ououtsourcing.BasicsPerformance')" | |||
:disabled="!edit" | |||
title="基础性绩效" | |||
/> | |||
<l-input | |||
class="top-15" | |||
@input="setValue('Ououtsourcing.GirlStaffSanitation', $event)" | |||
:value="getValue('Ououtsourcing.GirlStaffSanitation')" | |||
:disabled="!edit" | |||
title="女职工卫生费" | |||
/> | |||
<view class="item-title">改革性补贴</view> | |||
<l-input | |||
@input="setValue('Ououtsourcing.Transportation', $event)" | |||
:value="getValue('Ououtsourcing.Transportation')" | |||
:disabled="!edit" | |||
title="交通补贴" | |||
/> | |||
<l-input | |||
@input="setValue('Ououtsourcing.RealeState', $event)" | |||
:value="getValue('Ououtsourcing.RealeState')" | |||
:disabled="!edit" | |||
title="物业补贴" | |||
/> | |||
<l-input | |||
@input="setValue('Ououtsourcing.WorkKeep', $event)" | |||
:value="getValue('Ououtsourcing.WorkKeep')" | |||
:disabled="!edit" | |||
title="工改保留补贴" | |||
/> | |||
<!-- <l-input | |||
@input="setValue('Ououtsourcing.ReformSubsidySum', $event)" | |||
:value="getValue('Ououtsourcing.ReformSubsidySum')" | |||
:disabled="!edit" | |||
title="小计" | |||
/> --> | |||
<l-input | |||
class="top-15" | |||
@input="setValue('Ououtsourcing.HousingAllowance', $event)" | |||
:value="getValue('Ououtsourcing.HousingAllowance')" | |||
:disabled="!edit" | |||
title="住房补贴" | |||
/> | |||
<l-input | |||
class="top-15" | |||
@input="setValue('Ououtsourcing.ProvidentFundPayment', $event)" | |||
:value="getValue('Ououtsourcing.ProvidentFundPayment')" | |||
:disabled="!edit" | |||
title="缴纳公积金" | |||
/> | |||
<l-input | |||
class="top-15" | |||
@input="setValue('Ououtsourcing.AssessmentWages', $event)" | |||
:value="getValue('Ououtsourcing.AssessmentWages')" | |||
:disabled="!edit" | |||
title="考核工资" | |||
/> | |||
<!-- <l-input | |||
class="top-15" | |||
@input="setValue('Ououtsourcing.TeacherAndTown', $event)" | |||
:value="getValue('Ououtsourcing.TeacherAndTown')" | |||
:disabled="!edit" | |||
title="特级教师津贴和乡镇补贴" | |||
/> --> | |||
<view class="item-title">扣款</view> | |||
<l-input | |||
@input="setValue('Ououtsourcing.DeductionsCombined', $event)" | |||
:value="getValue('Ououtsourcing.DeductionsCombined')" | |||
:disabled="!edit" | |||
title="小计" | |||
/> | |||
<l-input | |||
@input="setValue('Ououtsourcing.ProvidentFundPayment', $event)" | |||
:value="getValue('Ououtsourcing.ProvidentFundPayment')" | |||
:disabled="!edit" | |||
title="(缴纳)公积金" | |||
/> | |||
<l-input | |||
@input="setValue('Ououtsourcing.LaborUnionWage', $event)" | |||
:value="getValue('Ououtsourcing.LaborUnionWage')" | |||
:disabled="!edit" | |||
title="工会工费" | |||
/> | |||
<l-input | |||
@input="setValue('Ououtsourcing.PersonalIncomeTax', $event)" | |||
:value="getValue('Ououtsourcing.PersonalIncomeTax')" | |||
:disabled="!edit" | |||
title="个人所得税" | |||
/> | |||
<l-input | |||
@input="setValue('Ououtsourcing.EndowmentInsurance', $event)" | |||
:value="getValue('Ououtsourcing.EndowmentInsurance')" | |||
:disabled="!edit" | |||
title="养老保险" | |||
/> | |||
<!-- <l-input | |||
@input="setValue('Ououtsourcing.OccupationalAnnuities', $event)" | |||
:value="getValue('Ououtsourcing.OccupationalAnnuities')" | |||
:disabled="!edit" | |||
title="职业年金" | |||
/> --> | |||
<l-input | |||
@input="setValue('Ououtsourcing.MedicalInsurance', $event)" | |||
:value="getValue('Ououtsourcing.MedicalInsurance')" | |||
:disabled="!edit" | |||
title="医疗保险" | |||
/> | |||
<l-input | |||
@input="setValue('Ououtsourcing.UnemploymentInsurance', $event)" | |||
:value="getValue('Ououtsourcing.UnemploymentInsurance')" | |||
:disabled="!edit" | |||
title="失业保险" | |||
/> | |||
<l-textarea | |||
@input="setValue('Ououtsourcing.Other', $event)" | |||
:value="getValue('Ououtsourcing.Other')" | |||
:readonly="!edit" | |||
title="其他" | |||
/> | |||
<!-- <l-input | |||
class="top-15" | |||
@input="setValue('Ououtsourcing.FiscalDirect', $event)" | |||
:value="getValue('Ououtsourcing.FiscalDirect')" | |||
:disabled="!edit" | |||
title="财政直达" | |||
/> | |||
<l-input | |||
class="top-15" | |||
@input="setValue('Ououtsourcing.BankWithholding', $event)" | |||
:value="getValue('Ououtsourcing.BankWithholding')" | |||
:disabled="!edit" | |||
title="银行代扣" | |||
/> --> | |||
<l-input | |||
class="top-15" | |||
@input="setValue('Ououtsourcing.NetCombined', $event)" | |||
:value="getValue('Ououtsourcing.NetCombined')" | |||
:disabled="!edit" | |||
title="实发合计" | |||
/> | |||
<!-- <l-input | |||
class="top-15" | |||
@input="setValue('Ououtsourcing.CreateUser', $event)" | |||
:value="getValue('Ououtsourcing.CreateUser')" | |||
:disabled="!edit" | |||
title="创建用户" | |||
/> | |||
<l-datetime-picker | |||
class="top-15" | |||
@input="setValue('Ououtsourcing.CreateTime', $event)" | |||
:value="getValue('Ououtsourcing.CreateTime')" | |||
:disabled="!edit" | |||
title="创建时间" | |||
/> --> | |||
<l-input | |||
class="top-15" | |||
@input="setValue('Ououtsourcing.IssueMonth', $event)" | |||
:value="getValue('Ououtsourcing.IssueMonth')" | |||
:disabled="!edit" | |||
title="发放月份" | |||
/> | |||
<l-input | |||
class="top-15" | |||
@input="setValue('Ououtsourcing.IssueYear', $event)" | |||
:value="getValue('Ououtsourcing.IssueYear')" | |||
:disabled="!edit" | |||
title="发放年份" | |||
/> | |||
<!-- <l-select | |||
@input="setValue('JournalSend.JTypeId', $event)" | |||
:value="getValue('JournalSend.JTypeId')" | |||
:disabled="!edit" | |||
:range="dataSource.JournalSend.JTypeId" | |||
title="日志类型" | |||
/> | |||
<l-organize-picker | |||
@input="setValue('JournalSend.JReceiveId', $event)" | |||
:value="getValue('JournalSend.JReceiveId')" | |||
:readonly="!edit" | |||
type="user" | |||
title="接收人" | |||
/> | |||
<l-textarea | |||
@input="setValue('JournalSend.JContent', $event)" | |||
:value="getValue('JournalSend.JContent')" | |||
:readonly="!edit" | |||
title="日志内容" | |||
/> --> | |||
</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('edit')" size="lg" line="orange" 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> | |||
<l-button v-if="!edit && mode !== 'create'" @click="action('delete')" 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 上海力软信息技术有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2020-10-16 15:39 | |||
* 描 述:工作日志 | |||
*/ | |||
/** | |||
* 本段代码由移动端代码生成器输出,移动端须 2.2.0 版本及以上可以使用 | |||
* 请在移动端 /pages.json 中的 pages 字段中添加一条记录: | |||
* { "path": "pages/OuoutsourcingSend/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' | |||
export default { | |||
mixins: [customPageMixins], | |||
data() { | |||
return { | |||
// 页面相关参数 | |||
id: null, | |||
mode: null, | |||
edit: null, | |||
ready: false, | |||
// 表单数据 | |||
current: {}, | |||
origin: {}, | |||
// 表单项数据结构 | |||
scheme: { | |||
Ououtsourcing: { | |||
// JTitle: { type: 'text', title: '日志主题' }, | |||
// JTypeId: { type: 'select', title: '日志类型', dataSource: '0' }, | |||
// JReceiveId: { type: 'organize', title: '接收人', dataType: 'user' }, | |||
// JContent: { type: 'textarea', title: '日志内容' }, | |||
// Id | |||
// 序号No | |||
No: { type: 'text', title: '序号' }, | |||
// 姓名EmpName | |||
EmpName: { type: 'text', title: '姓名' }, | |||
// 账号/身份证号IdCardNo | |||
IdCardNo: { type: 'text', title: '账号/身份证号' }, | |||
// 人员类别PeopleType | |||
PeopleType: { type: 'text', title: '人员类别' }, | |||
// 岗位等级PostType | |||
PostType: { type: 'text', title: '岗位等级'}, | |||
// 薪级PayGrade | |||
PayGrade: { type: 'text', title: '薪级'}, | |||
// 应发合计TotalGrossPay | |||
TotalGrossPay: { type: 'text', title: '应发合计'}, | |||
// 岗位工资PostWage | |||
PostWage: { type: 'text', title: '岗位工资'}, | |||
// 薪级工资PayGradeWage | |||
PayGradeWage: { type: 'text', title: '薪级工资'}, | |||
// 百分之十TenPercent | |||
TenPercent: { type: 'text', title: '百分之十'}, | |||
// 基本工资小计BasePay | |||
// BasePay: { type: 'text', title: '基本工资小计'}, | |||
// 艰边津贴RoughEdgeAllowance | |||
RoughEdgeAllowance: { type: 'text', title: '艰边津贴'}, | |||
// 民族津贴NationAllowance | |||
NationAllowance: { type: 'text', title: '民族津贴'}, | |||
// 教师津贴TeachAllowance | |||
TeachAllowance: { type: 'text', title: '教师津贴'}, | |||
// 津贴补贴小计SubsidiesAllowances | |||
// SubsidiesAllowances: { type: 'text', title: '津贴补贴小计'}, | |||
// 基础性绩效BasicsPerformance | |||
BasicsPerformance: { type: 'text', title: '基础性绩效'}, | |||
// 女职工卫生费GirlStaffSanitation | |||
GirlStaffSanitation: { type: 'text', title: 'http://cyzjzx.gnway.cc:29904'}, | |||
// 交通补贴Transportation | |||
Transportation: { type: 'text', title: '交通补贴'}, | |||
// 物业补贴RealeState | |||
BasicsPerformance: { type: 'text', title: '基础性绩效'}, | |||
// 工改保留补贴WorkKeep | |||
WorkKeep: { type: 'text', title: '工改保留补贴'}, | |||
// 改革性补贴小计ReformSubsidySum | |||
// ReformSubsidySum: { type: 'text', title: '改革性补贴小计'}, | |||
// 住房补贴HousingAllowance | |||
HousingAllowance: { type: 'text', title: '住房补贴'}, | |||
// 公积金ProvidentFundPayment | |||
ProvidentFundPayment: { type: 'text', title: '公积金'}, | |||
// 考核工资AssessmentWages | |||
AssessmentWages: { type: 'text', title: '考核工资'}, | |||
// 特级教师津贴和乡镇补贴TeacherAndTown | |||
// TeacherAndTown: { type: 'text', title: '特级教师津贴和乡镇补贴'}, | |||
// 扣款小计DeductionsCombined | |||
DeductionsCombined: { type: 'text', title: '扣款小计'}, | |||
// 公积金ProvidentFundPayment | |||
ProvidentFundPayment: { type: 'text', title: '(缴纳)公积金'}, | |||
// 工会工费LaborUnionWage | |||
LaborUnionWage: { type: 'text', title: '工会工费'}, | |||
// 个人所得税PersonalIncomeTax | |||
PersonalIncomeTax: { type: 'text', title: '个人所得税'}, | |||
// 养老保险EndowmentInsurance | |||
EndowmentInsurance: { type: 'text', title: '养老保险'}, | |||
// 职业年金OccupationalAnnuities | |||
// OccupationalAnnuities: { type: 'text', title: '职业年金'}, | |||
// 医疗保险MedicalInsurance | |||
MedicalInsurance: { type: 'text', title: '医疗保险'}, | |||
// 失业保险UnemploymentInsurance | |||
UnemploymentInsurance: { type: 'text', title: '失业保险'}, | |||
// 其他Other | |||
Other: { type: 'text', title: '其他'}, | |||
// 财政直达FiscalDirect | |||
// FiscalDirect: { type: 'text', title: '财政直达'}, | |||
// 银行代扣BankWithholding | |||
// BankWithholding: { type: 'text', title: '银行代扣'}, | |||
// 实发合计NetCombined | |||
NetCombined: { type: 'text', title: '实发合计'}, | |||
// 工资卡号WageCardNo | |||
WageCardNo: { type: 'text', title: '工资卡号'}, | |||
// CreateUser | |||
// CreateUser: { type: 'text', title: '创建用户'}, | |||
// CreateTime | |||
// CreateTime: { type: 'text', title: '创建时间'}, | |||
// UpdateUser | |||
// UpdateTime | |||
// 发放月份IssueMonth | |||
IssueMonth: { type: 'text', title: '发放月份'}, | |||
// 发放年份IssueYear | |||
IssueYear: { type: 'text', title: '发放年份'}, | |||
}, | |||
}, | |||
// 数据源 | |||
dataSource: { | |||
JournalSend: { | |||
JTypeId: [], | |||
}, | |||
} | |||
} | |||
}, | |||
async onLoad({ type, id }) { | |||
await this.init(type, id) | |||
}, | |||
methods: { | |||
// 页面初始化 | |||
async init(type, id) { | |||
this.LOADING('加载数据中...') | |||
this.id = id | |||
this.mode = type | |||
// this.edit = ['create', 'edit'].includes(this.mode) | |||
// 拉取表单数据,同时拉取所有来自数据源的选单数据 | |||
await Promise.all([ | |||
() => {} | |||
]) | |||
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/Ououtsourcing/form', this.id) | |||
this.origin = await this.formatFormData(result) | |||
} | |||
this.current = this.COPY(this.origin) | |||
}, | |||
// 点击 「编辑」、「重置」、「保存」、「删除」 按钮 | |||
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) | |||
this.HTTP_POST('learun/adms/Ououtsourcing/save', postData, '表单提交保存失败').then(success => { | |||
this.HIDE_LOADING() | |||
if (!success) { | |||
return | |||
} | |||
this.EMIT('EducationalAdministrationJournalSend-list-change') | |||
this.NAV_BACK() | |||
this.TOAST('提交保存成功') | |||
}) | |||
break | |||
case 'delete': | |||
if (!(await this.CONFIRM('删除项目', '确定要删除本项吗?', true))) { | |||
return | |||
} | |||
this.LOADING('提交删除中...') | |||
this.HTTP_POST('learun/adms/Ououtsourcing/delete', this.id, '删除失败').then(success => { | |||
this.HIDE_LOADING() | |||
if (!success) { | |||
return | |||
} | |||
this.EMIT('EducationalAdministrationJournalSend-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) | |||
} | |||
} | |||
} | |||
</script> | |||
<style> | |||
.item-title{ | |||
color: #000; | |||
font-size: 16px; | |||
line-height: 36px; | |||
padding-left: 15px; | |||
} | |||
.top-15{ | |||
margin-top: 8px; | |||
} | |||
</style> |
@@ -0,0 +1,280 @@ | |||
<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.F_InvoiceId"> | |||
<view class="customlist-item-field"> | |||
<text class="customlist-item-field-title">姓名:</text> | |||
{{ displayListItem(item, 'EmpName') }} | |||
</view> | |||
<view class="customlist-item-field"> | |||
<text class="customlist-item-field-title">人员类别:</text> | |||
{{ displayListItem(item, 'PeopleType') }} | |||
</view> | |||
<view class="customlist-item-field"> | |||
<text class="customlist-item-field-title">发放年份:</text> | |||
{{ displayListItem(item, 'IssueYear') }} | |||
</view> | |||
<view class="customlist-item-field"> | |||
<text class="customlist-item-field-title">发放月份:</text> | |||
{{ displayListItem(item, 'IssueMonth') }} | |||
</view> | |||
<view class="customlist-item-field"> | |||
<text class="customlist-item-field-title">应发合计:</text> | |||
{{ displayListItem(item, 'TotalGrossPay') }} | |||
</view> | |||
<view class="customlist-item-field"> | |||
<text class="customlist-item-field-title">实发合计:</text> | |||
{{ displayListItem(item, 'NetCombined') }} | |||
</view> | |||
<!-- 操作按钮组 --> | |||
<l-customlist-action @view="action('view', item)" @edit="action('edit', item)" :showEdit="false" /> | |||
</view> | |||
</l-customlist> | |||
</l-scroll-list> | |||
</view> | |||
<!-- 关闭筛选栏按钮 --> | |||
<view @click="sideOpen = false" :class="sideOpen ? 'show' : ''" class="sideclose"> | |||
<l-icon type="pullright" color="blue" /> | |||
</view> | |||
<!-- 侧边栏 --> | |||
<scroll-view :class="sideOpen ? 'show' : ''" class="sidepage" scroll-y> | |||
<view v-if="ready" class="padding"> | |||
<l-input v-model="queryData.IssueYear" @change="searchChange()" title="年份" placeholder="按年份筛选,例:2022" /> | |||
<l-input v-model="queryData.IssueMonth" @change="searchChange()" title="月份" placeholder="按月份筛选,例:10" /> | |||
<l-input v-model="queryData.EmpName" @change="searchChange()" title="姓名" placeholder="按姓名筛选" /> | |||
<l-input v-model="queryData.PeopleType" @change="searchChange()" title="人员类别" placeholder="按人员类别筛选" /> | |||
<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('create')" /> --> | |||
</view> | |||
</template> | |||
<script> | |||
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: { | |||
// F_CustomerId: { type: 'select', dataSource: '1', dataSourceId: 'crmCustomer,f_fullname,f_customerid' }, | |||
// F_InvoiceContent: { type: 'texteditor' }, | |||
// 姓名EmpName | |||
EmpName: { type: 'text' }, | |||
// 人员类别PeopleType | |||
PeopleType: { type: 'text' }, | |||
// 发放年份IssueYear | |||
IssueYear: { type: 'text' }, | |||
// 发放月份IssueMonth | |||
IssueMonth: { type: 'text' }, | |||
// 应发合计TotalGrossPay | |||
TotalGrossPay: { type: 'text' }, | |||
// 实发合计NetCombined | |||
NetCombined: { type: 'text' }, | |||
}, | |||
// 筛选菜单值 | |||
searchData: {}, | |||
defaultQueryData: {}, | |||
queryData: { | |||
keyword: '' | |||
}, | |||
// 数据源 | |||
dataSource: { | |||
F_CustomerId: [] | |||
}, | |||
// 页面相关参数 | |||
ready: false, | |||
tips: '加载中…', | |||
loadState: '向下翻以加载更多', | |||
sideOpen: false, | |||
// 列表条目与分页信息 | |||
page: 1, | |||
total: 2, | |||
list: [] | |||
} | |||
}, | |||
async onLoad() { | |||
await this.init() | |||
}, | |||
onUnload() { | |||
this.OFF('invoice-list-change') | |||
}, | |||
methods: { | |||
// 页面初始化 | |||
async init() { | |||
this.ON('invoice-list-change', this.refreshList) | |||
await Promise.all([ | |||
// 加载 F_CustomerId 字段的数据源:客户信息 | |||
// this.FETCH_DATASOURCE('crmCustomer').then(result => { | |||
// this.dataSource.F_CustomerId = result.data.map(t => ({ text: t.f_fullname, value: t.f_customerid })) | |||
// }), | |||
// 拉取列表信息 | |||
this.fetchList() | |||
]) | |||
this.defaultQueryData = this.COPY(this.queryData) | |||
this.ready = true | |||
}, | |||
// 拉取列表 | |||
async fetchList(isConcat=true) { | |||
if (this.page > this.total) { | |||
return | |||
} | |||
const result = await this.HTTP_GET( | |||
'learun/adms/WelfarePosition/getlist', | |||
{ | |||
pagination: { rows: 10, page: this.page, sidx: 'CreateTime', sord: 'DESC' }, | |||
queryJson: JSON.stringify(this.searchData) | |||
}, | |||
'加载数据时出错' | |||
) | |||
if (!result) { | |||
return | |||
} | |||
this.total = result.total | |||
this.page = result.page + 1 | |||
this.list = isConcat?this.list.concat(result.rows):result.rows; | |||
this.tips = `已加载 ${Math.min(result.page, result.total)} / ${result.total} 页,共 ${result.records} 项` | |||
this.loadState = result.page >= result.total ? '已加载所有项目' : '向下翻以加载更多' | |||
}, | |||
// 刷新清空列表 | |||
async refreshList(isConcat=true) { | |||
this.page = 1 | |||
this.total = 2 | |||
this.list = [] | |||
await this.fetchList(isConcat); | |||
}, | |||
// 列表下拉 | |||
pullDown() { | |||
this.refreshList().then(() => { | |||
this.$refs.list.stopPullDown() | |||
}) | |||
}, | |||
// 点击「编辑」、「查看」、「添加」、「删除」按钮 | |||
action(type, item) { | |||
switch (type) { | |||
default: | |||
case 'create': | |||
this.NAV_TO('./single?type=create') | |||
return | |||
case 'view': | |||
this.NAV_TO('./single?type=view&&id='+item.GYID, item, true) | |||
return | |||
case 'edit': | |||
this.NAV_TO('./single?type=edit', item, true) | |||
return | |||
} | |||
}, | |||
// 显示列表中的标题项 | |||
displayListItem(item, field) { | |||
const fieldItem = this.scheme[field] | |||
const value = item[field] | |||
switch (fieldItem.type) { | |||
case 'currentInfo': | |||
case 'organize': | |||
switch (fieldItem.dataType) { | |||
case 'user': | |||
return get(this.GET_GLOBAL('user'), `${value}.name`, '') | |||
case 'department': | |||
return get(this.GET_GLOBAL('department'), `${value}.name`, '') | |||
case 'company': | |||
return get(this.GET_GLOBAL('company'), `${value}.name`, '') | |||
default: | |||
return value || '' | |||
} | |||
case 'radio': | |||
case 'select': | |||
const selectItem = this.dataSource[field].find(t => t.value === 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') | |||
default: | |||
return value || '' | |||
} | |||
}, | |||
// 设置搜索条件 | |||
async searchChange() { | |||
const result = {} | |||
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(false); | |||
}, | |||
// 点击「清空搜索条件」按钮 | |||
reset() { | |||
this.queryData = this.COPY(this.defaultQueryData) | |||
this.searchChange() | |||
} | |||
} | |||
} | |||
</script> | |||
<style lang="less" scoped> | |||
@import '~@/common/css/sidepage.less'; | |||
@import '~@/common/css/customlist.less'; | |||
</style> |
@@ -0,0 +1,577 @@ | |||
<template> | |||
<view class="page"> | |||
<view v-if="ready"> | |||
<view class="item-title">基本信息</view> | |||
<l-input | |||
@input="setValue('WelfarePosition.EmpName', $event)" | |||
:value="getValue('WelfarePosition.EmpName')" | |||
:disabled="!edit" | |||
title="姓名" | |||
/> | |||
<l-input | |||
@input="setValue('WelfarePosition.IdCardNo', $event)" | |||
:value="getValue('WelfarePosition.IdCardNo')" | |||
:disabled="!edit" | |||
title="身份证号" | |||
/> | |||
<l-input | |||
@input="setValue('WelfarePosition.WageCardNo', $event)" | |||
:value="getValue('WelfarePosition.WageCardNo')" | |||
:disabled="!edit" | |||
title="工资卡号" | |||
/> | |||
<l-input | |||
@input="setValue('WelfarePosition.PeopleType', $event)" | |||
:value="getValue('WelfarePosition.PeopleType')" | |||
:disabled="!edit" | |||
title="人员类别" | |||
/> | |||
<l-input | |||
@input="setValue('WelfarePosition.PostType', $event)" | |||
:value="getValue('WelfarePosition.PostType')" | |||
:disabled="!edit" | |||
title="岗位等级" | |||
/> | |||
<l-input | |||
@input="setValue('WelfarePosition.PayGrade', $event)" | |||
:value="getValue('WelfarePosition.PayGrade')" | |||
:disabled="!edit" | |||
title="薪级" | |||
/> | |||
<l-input | |||
@input="setValue('WelfarePosition.TotalGrossPay', $event)" | |||
:value="getValue('WelfarePosition.TotalGrossPay')" | |||
:disabled="!edit" | |||
title="应发合计" | |||
/> | |||
<view class="item-title">基本工资</view> | |||
<l-input | |||
@input="setValue('WelfarePosition.PostWage', $event)" | |||
:value="getValue('WelfarePosition.PostWage')" | |||
:disabled="!edit" | |||
title="岗位工资" | |||
/> | |||
<l-input | |||
@input="setValue('WelfarePosition.PayGradeWage', $event)" | |||
:value="getValue('WelfarePosition.PayGradeWage')" | |||
:disabled="!edit" | |||
title="薪级工资" | |||
/> | |||
<l-input | |||
@input="setValue('WelfarePosition.TenPercent', $event)" | |||
:value="getValue('WelfarePosition.TenPercent')" | |||
:disabled="!edit" | |||
title="百分之十" | |||
/> | |||
<!-- <l-input | |||
@input="setValue('WelfarePosition.BasePay', $event)" | |||
:value="getValue('WelfarePosition.BasePay')" | |||
:disabled="!edit" | |||
title="小计" | |||
/> --> | |||
<view class="item-title">津贴补贴</view> | |||
<l-input | |||
@input="setValue('WelfarePosition.RoughEdgeAllowance', $event)" | |||
:value="getValue('WelfarePosition.RoughEdgeAllowance')" | |||
:disabled="!edit" | |||
title="艰边津贴" | |||
/> | |||
<l-input | |||
@input="setValue('WelfarePosition.NationAllowance', $event)" | |||
:value="getValue('WelfarePosition.NationAllowance')" | |||
:disabled="!edit" | |||
title="民族津贴" | |||
/> | |||
<l-input | |||
@input="setValue('WelfarePosition.TeachAllowance', $event)" | |||
:value="getValue('WelfarePosition.TeachAllowance')" | |||
:disabled="!edit" | |||
title="教师津贴" | |||
/> | |||
<!-- <l-input | |||
@input="setValue('WelfarePosition.SubsidiesAllowances', $event)" | |||
:value="getValue('WelfarePosition.SubsidiesAllowances')" | |||
:disabled="!edit" | |||
title="小计" | |||
/> --> | |||
<l-input | |||
class="top-15" | |||
@input="setValue('WelfarePosition.BasicsPerformance', $event)" | |||
:value="getValue('WelfarePosition.BasicsPerformance')" | |||
:disabled="!edit" | |||
title="基础性绩效" | |||
/> | |||
<l-input | |||
class="top-15" | |||
@input="setValue('WelfarePosition.GirlStaffSanitation', $event)" | |||
:value="getValue('WelfarePosition.GirlStaffSanitation')" | |||
:disabled="!edit" | |||
title="女职工卫生费" | |||
/> | |||
<view class="item-title">改革性补贴</view> | |||
<l-input | |||
@input="setValue('WelfarePosition.Transportation', $event)" | |||
:value="getValue('WelfarePosition.Transportation')" | |||
:disabled="!edit" | |||
title="交通补贴" | |||
/> | |||
<l-input | |||
@input="setValue('WelfarePosition.RealeState', $event)" | |||
:value="getValue('WelfarePosition.RealeState')" | |||
:disabled="!edit" | |||
title="物业补贴" | |||
/> | |||
<l-input | |||
@input="setValue('WelfarePosition.WorkKeep', $event)" | |||
:value="getValue('WelfarePosition.WorkKeep')" | |||
:disabled="!edit" | |||
title="工改保留补贴" | |||
/> | |||
<!-- <l-input | |||
@input="setValue('WelfarePosition.ReformSubsidySum', $event)" | |||
:value="getValue('WelfarePosition.ReformSubsidySum')" | |||
:disabled="!edit" | |||
title="小计" | |||
/> --> | |||
<l-input | |||
class="top-15" | |||
@input="setValue('WelfarePosition.HousingAllowance', $event)" | |||
:value="getValue('WelfarePosition.HousingAllowance')" | |||
:disabled="!edit" | |||
title="住房补贴" | |||
/> | |||
<l-input | |||
class="top-15" | |||
@input="setValue('WelfarePosition.ProvidentFundPayment', $event)" | |||
:value="getValue('WelfarePosition.ProvidentFundPayment')" | |||
:disabled="!edit" | |||
title="缴纳公积金" | |||
/> | |||
<l-input | |||
class="top-15" | |||
@input="setValue('WelfarePosition.AssessmentWages', $event)" | |||
:value="getValue('WelfarePosition.AssessmentWages')" | |||
:disabled="!edit" | |||
title="考核工资" | |||
/> | |||
<!-- <l-input | |||
class="top-15" | |||
@input="setValue('WelfarePosition.TeacherAndTown', $event)" | |||
:value="getValue('WelfarePosition.TeacherAndTown')" | |||
:disabled="!edit" | |||
title="特级教师津贴和乡镇补贴" | |||
/> --> | |||
<view class="item-title">扣款</view> | |||
<l-input | |||
@input="setValue('WelfarePosition.DeductionsCombined', $event)" | |||
:value="getValue('WelfarePosition.DeductionsCombined')" | |||
:disabled="!edit" | |||
title="小计" | |||
/> | |||
<l-input | |||
@input="setValue('WelfarePosition.ProvidentFundPayment', $event)" | |||
:value="getValue('WelfarePosition.ProvidentFundPayment')" | |||
:disabled="!edit" | |||
title="(缴纳)公积金" | |||
/> | |||
<l-input | |||
@input="setValue('WelfarePosition.LaborUnionWage', $event)" | |||
:value="getValue('WelfarePosition.LaborUnionWage')" | |||
:disabled="!edit" | |||
title="工会工费" | |||
/> | |||
<l-input | |||
@input="setValue('WelfarePosition.PersonalIncomeTax', $event)" | |||
:value="getValue('WelfarePosition.PersonalIncomeTax')" | |||
:disabled="!edit" | |||
title="个人所得税" | |||
/> | |||
<l-input | |||
@input="setValue('WelfarePosition.EndowmentInsurance', $event)" | |||
:value="getValue('WelfarePosition.EndowmentInsurance')" | |||
:disabled="!edit" | |||
title="养老保险" | |||
/> | |||
<!-- <l-input | |||
@input="setValue('WelfarePosition.OccupationalAnnuities', $event)" | |||
:value="getValue('WelfarePosition.OccupationalAnnuities')" | |||
:disabled="!edit" | |||
title="职业年金" | |||
/> --> | |||
<l-input | |||
@input="setValue('WelfarePosition.MedicalInsurance', $event)" | |||
:value="getValue('WelfarePosition.MedicalInsurance')" | |||
:disabled="!edit" | |||
title="医疗保险" | |||
/> | |||
<l-input | |||
@input="setValue('WelfarePosition.UnemploymentInsurance', $event)" | |||
:value="getValue('WelfarePosition.UnemploymentInsurance')" | |||
:disabled="!edit" | |||
title="失业保险" | |||
/> | |||
<l-textarea | |||
@input="setValue('WelfarePosition.Other', $event)" | |||
:value="getValue('WelfarePosition.Other')" | |||
:readonly="!edit" | |||
title="其他" | |||
/> | |||
<!-- <l-input | |||
class="top-15" | |||
@input="setValue('WelfarePosition.FiscalDirect', $event)" | |||
:value="getValue('WelfarePosition.FiscalDirect')" | |||
:disabled="!edit" | |||
title="财政直达" | |||
/> | |||
<l-input | |||
class="top-15" | |||
@input="setValue('WelfarePosition.BankWithholding', $event)" | |||
:value="getValue('WelfarePosition.BankWithholding')" | |||
:disabled="!edit" | |||
title="银行代扣" | |||
/> --> | |||
<l-input | |||
class="top-15" | |||
@input="setValue('WelfarePosition.NetCombined', $event)" | |||
:value="getValue('WelfarePosition.NetCombined')" | |||
:disabled="!edit" | |||
title="实发合计" | |||
/> | |||
<!-- <l-input | |||
class="top-15" | |||
@input="setValue('WelfarePosition.CreateUser', $event)" | |||
:value="getValue('WelfarePosition.CreateUser')" | |||
:disabled="!edit" | |||
title="创建用户" | |||
/> | |||
<l-datetime-picker | |||
class="top-15" | |||
@input="setValue('WelfarePosition.CreateTime', $event)" | |||
:value="getValue('WelfarePosition.CreateTime')" | |||
:disabled="!edit" | |||
title="创建时间" | |||
/> --> | |||
<l-input | |||
class="top-15" | |||
@input="setValue('WelfarePosition.IssueMonth', $event)" | |||
:value="getValue('WelfarePosition.IssueMonth')" | |||
:disabled="!edit" | |||
title="发放月份" | |||
/> | |||
<l-input | |||
class="top-15" | |||
@input="setValue('WelfarePosition.IssueYear', $event)" | |||
:value="getValue('WelfarePosition.IssueYear')" | |||
:disabled="!edit" | |||
title="发放年份" | |||
/> | |||
<!-- <l-select | |||
@input="setValue('JournalSend.JTypeId', $event)" | |||
:value="getValue('JournalSend.JTypeId')" | |||
:disabled="!edit" | |||
:range="dataSource.JournalSend.JTypeId" | |||
title="日志类型" | |||
/> | |||
<l-organize-picker | |||
@input="setValue('JournalSend.JReceiveId', $event)" | |||
:value="getValue('JournalSend.JReceiveId')" | |||
:readonly="!edit" | |||
type="user" | |||
title="接收人" | |||
/> | |||
<l-textarea | |||
@input="setValue('JournalSend.JContent', $event)" | |||
:value="getValue('JournalSend.JContent')" | |||
:readonly="!edit" | |||
title="日志内容" | |||
/> --> | |||
</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('edit')" size="lg" line="orange" 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> | |||
<l-button v-if="!edit && mode !== 'create'" @click="action('delete')" 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 上海力软信息技术有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2020-10-16 15:39 | |||
* 描 述:工作日志 | |||
*/ | |||
/** | |||
* 本段代码由移动端代码生成器输出,移动端须 2.2.0 版本及以上可以使用 | |||
* 请在移动端 /pages.json 中的 pages 字段中添加一条记录: | |||
* { "path": "pages/WelfarePositionSend/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' | |||
export default { | |||
mixins: [customPageMixins], | |||
data() { | |||
return { | |||
// 页面相关参数 | |||
id: null, | |||
mode: null, | |||
edit: null, | |||
ready: false, | |||
// 表单数据 | |||
current: {}, | |||
origin: {}, | |||
// 表单项数据结构 | |||
scheme: { | |||
WelfarePosition: { | |||
// JTitle: { type: 'text', title: '日志主题' }, | |||
// JTypeId: { type: 'select', title: '日志类型', dataSource: '0' }, | |||
// JReceiveId: { type: 'organize', title: '接收人', dataType: 'user' }, | |||
// JContent: { type: 'textarea', title: '日志内容' }, | |||
// Id | |||
// 序号No | |||
No: { type: 'text', title: '序号' }, | |||
// 姓名EmpName | |||
EmpName: { type: 'text', title: '姓名' }, | |||
// 账号/身份证号IdCardNo | |||
IdCardNo: { type: 'text', title: '账号/身份证号' }, | |||
// 人员类别PeopleType | |||
PeopleType: { type: 'text', title: '人员类别' }, | |||
// 岗位等级PostType | |||
PostType: { type: 'text', title: '岗位等级'}, | |||
// 薪级PayGrade | |||
PayGrade: { type: 'text', title: '薪级'}, | |||
// 应发合计TotalGrossPay | |||
TotalGrossPay: { type: 'text', title: '应发合计'}, | |||
// 岗位工资PostWage | |||
PostWage: { type: 'text', title: '岗位工资'}, | |||
// 薪级工资PayGradeWage | |||
PayGradeWage: { type: 'text', title: '薪级工资'}, | |||
// 百分之十TenPercent | |||
TenPercent: { type: 'text', title: '百分之十'}, | |||
// 基本工资小计BasePay | |||
// BasePay: { type: 'text', title: '基本工资小计'}, | |||
// 艰边津贴RoughEdgeAllowance | |||
RoughEdgeAllowance: { type: 'text', title: '艰边津贴'}, | |||
// 民族津贴NationAllowance | |||
NationAllowance: { type: 'text', title: '民族津贴'}, | |||
// 教师津贴TeachAllowance | |||
TeachAllowance: { type: 'text', title: '教师津贴'}, | |||
// 津贴补贴小计SubsidiesAllowances | |||
// SubsidiesAllowances: { type: 'text', title: '津贴补贴小计'}, | |||
// 基础性绩效BasicsPerformance | |||
BasicsPerformance: { type: 'text', title: '基础性绩效'}, | |||
// 女职工卫生费GirlStaffSanitation | |||
GirlStaffSanitation: { type: 'text', title: 'http://cyzjzx.gnway.cc:29904'}, | |||
// 交通补贴Transportation | |||
Transportation: { type: 'text', title: '交通补贴'}, | |||
// 物业补贴RealeState | |||
BasicsPerformance: { type: 'text', title: '基础性绩效'}, | |||
// 工改保留补贴WorkKeep | |||
WorkKeep: { type: 'text', title: '工改保留补贴'}, | |||
// 改革性补贴小计ReformSubsidySum | |||
// ReformSubsidySum: { type: 'text', title: '改革性补贴小计'}, | |||
// 住房补贴HousingAllowance | |||
HousingAllowance: { type: 'text', title: '住房补贴'}, | |||
// 公积金ProvidentFundPayment | |||
ProvidentFundPayment: { type: 'text', title: '公积金'}, | |||
// 考核工资AssessmentWages | |||
AssessmentWages: { type: 'text', title: '考核工资'}, | |||
// 特级教师津贴和乡镇补贴TeacherAndTown | |||
// TeacherAndTown: { type: 'text', title: '特级教师津贴和乡镇补贴'}, | |||
// 扣款小计DeductionsCombined | |||
DeductionsCombined: { type: 'text', title: '扣款小计'}, | |||
// 公积金ProvidentFundPayment | |||
ProvidentFundPayment: { type: 'text', title: '(缴纳)公积金'}, | |||
// 工会工费LaborUnionWage | |||
LaborUnionWage: { type: 'text', title: '工会工费'}, | |||
// 个人所得税PersonalIncomeTax | |||
PersonalIncomeTax: { type: 'text', title: '个人所得税'}, | |||
// 养老保险EndowmentInsurance | |||
EndowmentInsurance: { type: 'text', title: '养老保险'}, | |||
// 职业年金OccupationalAnnuities | |||
// OccupationalAnnuities: { type: 'text', title: '职业年金'}, | |||
// 医疗保险MedicalInsurance | |||
MedicalInsurance: { type: 'text', title: '医疗保险'}, | |||
// 失业保险UnemploymentInsurance | |||
UnemploymentInsurance: { type: 'text', title: '失业保险'}, | |||
// 其他Other | |||
Other: { type: 'text', title: '其他'}, | |||
// 财政直达FiscalDirect | |||
// FiscalDirect: { type: 'text', title: '财政直达'}, | |||
// 银行代扣BankWithholding | |||
// BankWithholding: { type: 'text', title: '银行代扣'}, | |||
// 实发合计NetCombined | |||
NetCombined: { type: 'text', title: '实发合计'}, | |||
// 工资卡号WageCardNo | |||
WageCardNo: { type: 'text', title: '工资卡号'}, | |||
// CreateUser | |||
// CreateUser: { type: 'text', title: '创建用户'}, | |||
// CreateTime | |||
// CreateTime: { type: 'text', title: '创建时间'}, | |||
// UpdateUser | |||
// UpdateTime | |||
// 发放月份IssueMonth | |||
IssueMonth: { type: 'text', title: '发放月份'}, | |||
// 发放年份IssueYear | |||
IssueYear: { type: 'text', title: '发放年份'}, | |||
}, | |||
}, | |||
// 数据源 | |||
dataSource: { | |||
JournalSend: { | |||
JTypeId: [], | |||
}, | |||
} | |||
} | |||
}, | |||
async onLoad({ type, id }) { | |||
await this.init(type, id) | |||
}, | |||
methods: { | |||
// 页面初始化 | |||
async init(type, id) { | |||
this.LOADING('加载数据中...') | |||
this.id = id | |||
this.mode = type | |||
// this.edit = ['create', 'edit'].includes(this.mode) | |||
// 拉取表单数据,同时拉取所有来自数据源的选单数据 | |||
await Promise.all([ | |||
() => {} | |||
]) | |||
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/WelfarePosition/form', this.id) | |||
this.origin = await this.formatFormData(result) | |||
} | |||
this.current = this.COPY(this.origin) | |||
}, | |||
// 点击 「编辑」、「重置」、「保存」、「删除」 按钮 | |||
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) | |||
this.HTTP_POST('learun/adms/WelfarePosition/save', postData, '表单提交保存失败').then(success => { | |||
this.HIDE_LOADING() | |||
if (!success) { | |||
return | |||
} | |||
this.EMIT('EducationalAdministrationJournalSend-list-change') | |||
this.NAV_BACK() | |||
this.TOAST('提交保存成功') | |||
}) | |||
break | |||
case 'delete': | |||
if (!(await this.CONFIRM('删除项目', '确定要删除本项吗?', true))) { | |||
return | |||
} | |||
this.LOADING('提交删除中...') | |||
this.HTTP_POST('learun/adms/WelfarePosition/delete', this.id, '删除失败').then(success => { | |||
this.HIDE_LOADING() | |||
if (!success) { | |||
return | |||
} | |||
this.EMIT('EducationalAdministrationJournalSend-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) | |||
} | |||
} | |||
} | |||
</script> | |||
<style> | |||
.item-title{ | |||
color: #000; | |||
font-size: 16px; | |||
line-height: 36px; | |||
padding-left: 15px; | |||
} | |||
.top-15{ | |||
margin-top: 8px; | |||
} | |||
</style> |
@@ -1,308 +1,368 @@ | |||
<template> | |||
<view class="page"> | |||
<image src="@/static/login-banner.png" mode="widthFix" style="width:100%;margin-bottom: 12px;position: absolute;top: 0;"></image> | |||
<view class="content" style="padding-bottom:60px"> | |||
<view style="padding: 0 38px;"> | |||
<view class="head-banner"> | |||
<!-- 标题文字 --> | |||
<view class="main-title"> | |||
数字化智慧校园 | |||
<!-- <text v-if="DEV" class="margin-left-sm text-red">(开发模式)</text> --> | |||
<text class="text-gray margin-left-sm" style="font-size: 0.7em;">{{ APP_VERSION }}</text> | |||
</view> | |||
<!-- 首页 Logo --> | |||
<view mode="aspectFit" class="logo"> | |||
<image src="~@/static/logo.dc7ee5a9.png" mode="widthFix" class="logoImg"></image> | |||
</view> | |||
<!-- 【仅生产环境】使用账号的原因,无此项则微信审核通不过 --> | |||
<!-- <view v-if="!DEV" class="intro"> | |||
<view class="page"> | |||
<image src="@/static/login-banner.png" mode="widthFix" style="width:100%;margin-bottom: 12px;"></image> | |||
<view class="content" style="padding-bottom:60px"> | |||
<view style="padding: 0 38px;"> | |||
<view class="head-banner"> | |||
<!-- 标题文字 --> | |||
<view class="main-title"> | |||
数字化智慧校园 | |||
<!-- <text v-if="DEV" class="margin-left-sm text-red">(开发模式)</text> --> | |||
<text class="text-gray margin-left-sm" style="font-size: 0.7em;">{{ APP_VERSION }}</text> | |||
</view> | |||
<!-- 首页 Logo --> | |||
<view mode="aspectFit" class="logo"> | |||
<image src="~@/static/logo.dc7ee5a9.png" mode="widthFix" class="logoImg"></image> | |||
</view> | |||
<!-- 【仅生产环境】使用账号的原因,无此项则微信审核通不过 --> | |||
<!-- <view v-if="!DEV" class="intro"> | |||
<view class="intro">注册登录智慧校园账号后,您将可以体验力软框架产品中的所有功能与业务</view> | |||
<view class="intro">OA · 进销存 · 工作流审批 · 数据可视化</view> | |||
<view class="intro text-gray" style="font-size: 0.9em;"> | |||
如果您之前已在智慧校园 PC 端中注册过体验账号,可以直接使用原账号登录,无需另行注册 | |||
</view> | |||
</view> --> | |||
</view> | |||
<!-- 账户密码表单 --> | |||
<l-input v-if="ready" v-model="username" placeholder="账号" left> | |||
<l-icon slot="title" type="people" /> | |||
</l-input> | |||
<l-input v-if="ready" v-model="password" placeholder="请输入密码" password left> | |||
<l-icon slot="title" type="lock" /> | |||
</l-input> | |||
<l-button @click="login(null)" size="lg" color="blue" class="margin-top-sm block" block>登 录</l-button> | |||
<view class="otherLogin"> | |||
<navigator url="/pages/weixinLogin" class="textBtn">微信登录</text></navigator> | |||
</view> | |||
<!-- <l-button v-if="enableSignUp" @click="signUp" size="lg" line="blue" class="margin-top-sm block" block> | |||
</view> | |||
<!-- 账户密码表单 --> | |||
<l-input v-if="ready" v-model="username" placeholder="账号" left> | |||
<l-icon slot="title" type="people" /> | |||
</l-input> | |||
<l-input v-if="ready" v-model="password" placeholder="请输入密码" password left> | |||
<l-icon slot="title" type="lock" /> | |||
</l-input> | |||
<l-button @click="login(null)" size="lg" color="blue" class="margin-top-sm block" block>登 录</l-button> | |||
<view class="otherLogin"> | |||
<navigator url="/pages/weixinLogin" class="textBtn">微信登录</text></navigator> | |||
</view> | |||
<!-- <l-button v-if="enableSignUp" @click="signUp" size="lg" line="blue" class="margin-top-sm block" block> | |||
教师注册 | |||
</l-button> --> | |||
<!-- 【仅小程序】一键登录按钮 --> | |||
<!-- #ifdef MP --> | |||
<l-button v-if="MPLogin" @click="login(PLATFORM)" size="lg" line="green" class="margin-top-sm block" block> | |||
{{ PLATFORM_TEXT }}一键登录 | |||
</l-button> | |||
<!-- #endif --> | |||
<!-- 【仅小程序】一键登录按钮 --> | |||
<!-- #ifdef MP --> | |||
<l-button v-if="MPLogin" @click="login(PLATFORM)" size="lg" line="green" class="margin-top-sm block" | |||
block> | |||
{{ PLATFORM_TEXT }}一键登录 | |||
</l-button> | |||
<!-- #endif --> | |||
<!-- 【仅开发模式】显示,后台地址切换 --> | |||
<!-- <view v-if="DEV" class="more"> | |||
<!-- 【仅开发模式】显示,后台地址切换 --> | |||
<!-- <view v-if="DEV" class="more"> | |||
<view @click="showApiRootSelector = true" class="morebtn">后台地址(点击切换):</view> | |||
<view class="morebtn">{{ currentApiRoot }}</view> | |||
</view> --> | |||
<!-- 【仅开发模式】选择 API 地址的弹层 --> | |||
<l-modal | |||
v-if="DEV && ready" | |||
v-model="showApiRootSelector" | |||
@radioIndex="changeApiRoot" | |||
:radio="currentApiRoot" | |||
:range="apiRootList" | |||
type="radio" | |||
/> | |||
</view> | |||
</view> | |||
<!-- 页面底部版权文字 --> | |||
<view class="footer">{{ copyRightDisplay }}</view> | |||
</view> | |||
<!-- 【仅开发模式】选择 API 地址的弹层 --> | |||
<l-modal v-if="DEV && ready" v-model="showApiRootSelector" @radioIndex="changeApiRoot" | |||
:radio="currentApiRoot" :range="apiRootList" type="radio" /> | |||
</view> | |||
</view> | |||
<!-- 页面底部版权文字 --> | |||
<view class="footer" v-show="hideshow">{{ copyRightDisplay }}</view> | |||
</view> | |||
</template> | |||
<script> | |||
export default { | |||
data() { | |||
return { | |||
username: '', | |||
password: '', | |||
ready: false, | |||
showApiRootSelector: false, | |||
currentApiRoot: '', | |||
apiRootList: [], | |||
devAccountList: [] | |||
} | |||
}, | |||
async onLoad() { | |||
await this.init() | |||
}, | |||
methods: { | |||
// 页面初始化 | |||
async init() { | |||
const index = this.DEV ? this.CONFIG('devApiHostIndex') : this.CONFIG('prodApiHostIndex') | |||
this.apiRootList = this.CONFIG('apiHost') | |||
this.currentApiRoot = this.apiRootList[index] | |||
// 如果是开发模式,填入测试账号密码 | |||
if (this.DEV) { | |||
this.devAccountList = this.CONFIG('devAccount') | |||
const account = this.devAccountList[index] || { username: '', password: '' } | |||
this.username = account.username | |||
this.password = account.password | |||
} | |||
this.ready = true | |||
}, | |||
// 点击新用户注册 | |||
signUp() { | |||
this.NAV_TO('/pages/signup') | |||
}, | |||
// 切换后台地址 | |||
changeApiRoot(newIndex) { | |||
const newApiRoot = this.apiRootList[newIndex] | |||
this.currentApiRoot = newApiRoot | |||
this.SET_GLOBAL('apiRoot', newApiRoot) | |||
// 如果是开发模式,填入测试账号密码 | |||
if (this.DEV && this.devAccountList && this.devAccountList[newIndex]) { | |||
const account = this.devAccountList[newIndex] || { username: '', password: '' } | |||
this.username = account.username | |||
this.password = account.password | |||
} | |||
}, | |||
// 发起登录 | |||
// type=null 时表示使用账号密码登录 | |||
// type='weixin'/'alipay'/'dingtalk' 时表示使用小程序一键登录 | |||
async login(type) { | |||
const { username, password, check } = this | |||
// 账号密码登录时,验证输入,输入有误则返回 | |||
if (!type && !check()) { | |||
return | |||
} | |||
this.LOADING('登录中…') | |||
// 根据不同的登录方式,调用 API | |||
let loginResult = null | |||
// 不是小程序,则提交用户名、密码登录 | |||
// 是小程序,则申请授权码登录 | |||
if (!type) { | |||
let postResult = await this.POST('learun/adms/user/login', { username, password: this.MD5(password) }) | |||
if(postResult[1].data.code=='200'){ | |||
loginResult=postResult[1].data.data; | |||
}else{ | |||
this.TOAST(postResult[1].data.info); | |||
} | |||
} else { | |||
const [codeErr, { code } = {}] = await uni.login({ provider: type }) | |||
if (codeErr || !code) { | |||
this.HIDE_LOADING() | |||
this.CONFIRM('登录失败', '无法获取小程序登录授权码') | |||
return | |||
} | |||
loginResult = await this.HTTP_POST('learun/adms/user/openid_login', { code, type }, '登录时发生错误') | |||
} | |||
if (!loginResult) { | |||
return | |||
} | |||
// loginUser 中合并 role、post 两个字段 | |||
const { baseinfo, mpinfo, post, role } = loginResult | |||
const user = { ...baseinfo, post, role } | |||
const token = baseinfo.token | |||
// 返回的用户信息中,有 mpinfo 字段表示是否是小程序 | |||
if (mpinfo && Array.isArray(mpinfo) && mpinfo.includes(type)) { | |||
user.miniProgram = true | |||
} | |||
this.SET_GLOBAL('token', token) | |||
this.SET_GLOBAL('loginUser', user) | |||
this.SET_STORAGE('token', token) | |||
this.HIDE_LOADING() | |||
this.TAB_TO('/pages/home') | |||
}, | |||
// 验证用户输入 | |||
check() { | |||
const { username, password } = this | |||
if (username.length <= 0 || password.length <= 0) { | |||
this.CONFIRM('输入错误', '账号或密码不能为空,请重新输入') | |||
return false | |||
} | |||
return true | |||
} | |||
}, | |||
computed: { | |||
// 页面底部公司名、版权信息 | |||
copyRightDisplay() { | |||
const year = new Date().getFullYear() | |||
const company = this.CONFIG('company') | |||
return `Copyright © ${year} ${company}` | |||
}, | |||
// 是否显示小程序登录按键 | |||
MPLogin() { | |||
return this.CONFIG(`miniProgramAccount.${this.PLATFORM}`).includes('login') | |||
}, | |||
// 是否展示注册按钮 | |||
enableSignUp() { | |||
return this.CONFIG('enableSignUp') | |||
} | |||
} | |||
} | |||
export default { | |||
data() { | |||
return { | |||
username: '', | |||
password: '', | |||
ready: false, | |||
showApiRootSelector: false, | |||
currentApiRoot: '', | |||
apiRootList: [], | |||
devAccountList: [], | |||
docmHeight: document.documentElement.clientHeight || document.body.clientHeight, | |||
showHeight: document.documentElement.clientHeight || document.body.clientHeight, | |||
hideshow: true | |||
} | |||
}, | |||
async onLoad() { | |||
await this.init() | |||
}, | |||
watch: { | |||
//监听显示高度 | |||
showHeight:function() { | |||
if(this.docmHeight > this.showHeight){ | |||
//隐藏 | |||
this.hideshow=false | |||
}else{ | |||
//显示 | |||
this.hideshow=true | |||
} | |||
} | |||
}, | |||
mounted() { | |||
//监听事件 | |||
window.onresize = ()=>{ | |||
return(()=>{ | |||
this.showHeight = document.documentElement.clientHeight || document.body.clientHeight; | |||
})() | |||
} | |||
}, | |||
methods: { | |||
// 页面初始化 | |||
async init() { | |||
const index = this.DEV ? this.CONFIG('devApiHostIndex') : this.CONFIG('prodApiHostIndex') | |||
this.apiRootList = this.CONFIG('apiHost') | |||
this.currentApiRoot = this.apiRootList[index] | |||
// 如果是开发模式,填入测试账号密码 | |||
if (this.DEV) { | |||
this.devAccountList = this.CONFIG('devAccount') | |||
const account = this.devAccountList[index] || { | |||
username: '', | |||
password: '' | |||
} | |||
this.username = account.username | |||
this.password = account.password | |||
} | |||
this.ready = true | |||
}, | |||
// 点击新用户注册 | |||
signUp() { | |||
this.NAV_TO('/pages/signup') | |||
}, | |||
// 切换后台地址 | |||
changeApiRoot(newIndex) { | |||
const newApiRoot = this.apiRootList[newIndex] | |||
this.currentApiRoot = newApiRoot | |||
this.SET_GLOBAL('apiRoot', newApiRoot) | |||
// 如果是开发模式,填入测试账号密码 | |||
if (this.DEV && this.devAccountList && this.devAccountList[newIndex]) { | |||
const account = this.devAccountList[newIndex] || { | |||
username: '', | |||
password: '' | |||
} | |||
this.username = account.username | |||
this.password = account.password | |||
} | |||
}, | |||
// 发起登录 | |||
// type=null 时表示使用账号密码登录 | |||
// type='weixin'/'alipay'/'dingtalk' 时表示使用小程序一键登录 | |||
async login(type) { | |||
const { | |||
username, | |||
password, | |||
check | |||
} = this | |||
// 账号密码登录时,验证输入,输入有误则返回 | |||
if (!type && !check()) { | |||
return | |||
} | |||
this.LOADING('登录中…') | |||
// 根据不同的登录方式,调用 API | |||
let loginResult = null | |||
// 不是小程序,则提交用户名、密码登录 | |||
// 是小程序,则申请授权码登录 | |||
if (!type) { | |||
let postResult = await this.POST('learun/adms/user/login', { | |||
username, | |||
password: this.MD5(password) | |||
}) | |||
if (postResult[1].data.code == '200') { | |||
loginResult = postResult[1].data.data; | |||
} else { | |||
this.TOAST(postResult[1].data.info); | |||
} | |||
} else { | |||
const [codeErr, { | |||
code | |||
} = {}] = await uni.login({ | |||
provider: type | |||
}) | |||
if (codeErr || !code) { | |||
this.HIDE_LOADING() | |||
this.CONFIRM('登录失败', '无法获取小程序登录授权码') | |||
return | |||
} | |||
loginResult = await this.HTTP_POST('learun/adms/user/openid_login', { | |||
code, | |||
type | |||
}, '登录时发生错误') | |||
} | |||
if (!loginResult) { | |||
return | |||
} | |||
// loginUser 中合并 role、post 两个字段 | |||
const { | |||
baseinfo, | |||
mpinfo, | |||
post, | |||
role | |||
} = loginResult | |||
const user = { | |||
...baseinfo, | |||
post, | |||
role | |||
} | |||
const token = baseinfo.token | |||
// 返回的用户信息中,有 mpinfo 字段表示是否是小程序 | |||
if (mpinfo && Array.isArray(mpinfo) && mpinfo.includes(type)) { | |||
user.miniProgram = true | |||
} | |||
this.SET_GLOBAL('token', token) | |||
this.SET_GLOBAL('loginUser', user) | |||
this.SET_STORAGE('token', token) | |||
this.HIDE_LOADING() | |||
this.TAB_TO('/pages/home') | |||
}, | |||
// 验证用户输入 | |||
check() { | |||
const { | |||
username, | |||
password | |||
} = this | |||
if (username.length <= 0 || password.length <= 0) { | |||
this.CONFIRM('输入错误', '账号或密码不能为空,请重新输入') | |||
return false | |||
} | |||
return true | |||
} | |||
}, | |||
computed: { | |||
// 页面底部公司名、版权信息 | |||
copyRightDisplay() { | |||
const year = new Date().getFullYear() | |||
const company = this.CONFIG('company') | |||
return `Copyright © ${year} ${company}` | |||
}, | |||
// 是否显示小程序登录按键 | |||
MPLogin() { | |||
return this.CONFIG(`miniProgramAccount.${this.PLATFORM}`).includes('login') | |||
}, | |||
// 是否展示注册按钮 | |||
enableSignUp() { | |||
return this.CONFIG('enableSignUp') | |||
} | |||
} | |||
} | |||
</script> | |||
<style lang="less"> | |||
page { | |||
height: 100%; | |||
} | |||
/* #ifdef MP-ALIPAY */ | |||
.page { | |||
height: 100%; | |||
position: absolute; | |||
} | |||
/* #endif */ | |||
page { | |||
height: 100%; | |||
} | |||
/* #ifdef MP-ALIPAY */ | |||
.page { | |||
height: 100%; | |||
position: absolute; | |||
} | |||
/* #endif */ | |||
</style> | |||
<style lang="less" scoped> | |||
.page { | |||
height: 100%; | |||
width: 100%; | |||
display: flex; | |||
justify-content: center; | |||
align-items: center; | |||
.content { | |||
text-align: center; | |||
width: 100%; | |||
// padding: 0 38rpx; | |||
} | |||
.head-banner { | |||
margin-bottom: 40rpx; | |||
.logo { | |||
// background-image: url('~@/static/logo.png'); | |||
background-size: contain; | |||
height: 120rpx; | |||
width: 120rpx; | |||
text-align: center; | |||
display: inline-block; | |||
border-radius: 5px; | |||
} | |||
.logoImg { | |||
body { | |||
width: 100%; | |||
height: 100%; | |||
position: ; | |||
} | |||
.page { | |||
height: 100%; | |||
width: 100%; | |||
// display: flex; | |||
// justify-content: center; | |||
// align-items: center; | |||
.content { | |||
text-align: center; | |||
width: 100%; | |||
// padding: 0 38rpx; | |||
} | |||
.head-banner { | |||
margin-bottom: 40rpx; | |||
.logo { | |||
// background-image: url('~@/static/logo.png'); | |||
background-size: contain; | |||
height: 120rpx; | |||
width: 120rpx; | |||
text-align: center; | |||
display: inline-block; | |||
border-radius: 5px; | |||
} | |||
.logoImg { | |||
width: 100%; | |||
} | |||
.main-title { | |||
display: block; | |||
margin: 20rpx 0; | |||
color: #555; | |||
font-size: 1.4em; | |||
margin-bottom: 30rpx; | |||
} | |||
.intro { | |||
margin-top: 20rpx; | |||
} | |||
} | |||
.more { | |||
margin-top: 30rpx; | |||
.morebtn { | |||
color: #555; | |||
} | |||
} | |||
.otherLogin { | |||
display: flex; | |||
justify-content: flex-end; | |||
.textBtn { | |||
width: 100px; | |||
color: #606266; | |||
} | |||
} | |||
.footer { | |||
position: absolute; | |||
left: 0; | |||
right: 0; | |||
bottom: 10px; | |||
bottom: calc(10px + env(safe-area-inset-bottom)); | |||
text-align: center; | |||
font-size: 14px; | |||
color: #555; | |||
/* #ifdef MP-ALIPAY */ | |||
bottom: 10px; | |||
/* #endif */ | |||
} | |||
} | |||
.main-title { | |||
display: block; | |||
margin: 20rpx 0; | |||
color: #555; | |||
font-size: 1.4em; | |||
margin-bottom: 30rpx; | |||
} | |||
.intro { | |||
margin-top: 20rpx; | |||
} | |||
} | |||
.more { | |||
margin-top: 30rpx; | |||
.morebtn { | |||
color: #555; | |||
} | |||
} | |||
.otherLogin{ | |||
display: flex; | |||
justify-content: flex-end; | |||
.textBtn{ | |||
width: 100px; | |||
color: #606266; | |||
} | |||
} | |||
.footer { | |||
position: absolute; | |||
left: 0; | |||
right: 0; | |||
bottom: 10px; | |||
bottom: calc(10px + env(safe-area-inset-bottom)); | |||
text-align: center; | |||
font-size: 14px; | |||
color: #555; | |||
/* #ifdef MP-ALIPAY */ | |||
bottom: 10px; | |||
/* #endif */ | |||
} | |||
} | |||
</style> |