Kaynağa Gözat

合并

新疆警官学校中职
zhangli 2 yıl önce
ebeveyn
işleme
a7608ba9ab
68 değiştirilmiş dosya ile 7994 ekleme ve 303 silme
  1. +117
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/SportEquipmentLendController.cs
  2. +117
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/SportEquipmentReturnController.cs
  3. +175
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/StudentArticlePublicController.cs
  4. +175
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/StudentCompetitionController.cs
  5. +32
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/SportEquipmentLend/Form.cshtml
  6. +50
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/SportEquipmentLend/Form.js
  7. +44
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/SportEquipmentLend/Index.cshtml
  8. +93
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/SportEquipmentLend/Index.js
  9. +31
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/SportEquipmentReturn/Form.cshtml
  10. +50
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/SportEquipmentReturn/Form.js
  11. +44
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/SportEquipmentReturn/Index.cshtml
  12. +93
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/SportEquipmentReturn/Index.js
  13. +63
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StudentArticlePublic/Form.cshtml
  14. +174
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StudentArticlePublic/Form.js
  15. +23
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StudentArticlePublic/FormScore.cshtml
  16. +94
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StudentArticlePublic/FormScore.js
  17. +85
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StudentArticlePublic/Index.cshtml
  18. +317
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StudentArticlePublic/Index.js
  19. +63
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StudentCompetition/Form.cshtml
  20. +174
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StudentCompetition/Form.js
  21. +23
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StudentCompetition/FormScore.cshtml
  22. +94
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StudentCompetition/FormScore.js
  23. +77
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StudentCompetition/Index.cshtml
  24. +317
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StudentCompetition/Index.js
  25. +9
    -4
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Views/NWFProcess/NWFContainerForm.js
  26. +3
    -2
      Learun.Framework.Ultimate V7/Learun.Application.Web/Content/jquery/plugin/jqprint/jqprint.css
  27. +24
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj
  28. +4
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/XmlConfig/ioc.config
  29. +16
    -1
      Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/OuoutsourcingApi.cs
  30. +16
    -1
      Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/WageScheduleApi.cs
  31. +17
    -1
      Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/WelfarePositionApi.cs
  32. +29
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/EducationalAdministration/SportEquipmentLendMap.cs
  33. +29
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/EducationalAdministration/SportEquipmentReturnMap.cs
  34. +29
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/EducationalAdministration/StudentArticlePublicMap.cs
  35. +29
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/EducationalAdministration/StudentCompetitionMap.cs
  36. +4
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/Learun.Application.Mapping.csproj
  37. +2
    -2
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Ououtsourcing/OuoutsourcingService.cs
  38. +125
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/SportEquipmentLend/SportEquipmentLendBLL.cs
  39. +80
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/SportEquipmentLend/SportEquipmentLendEntity.cs
  40. +48
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/SportEquipmentLend/SportEquipmentLendIBLL.cs
  41. +165
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/SportEquipmentLend/SportEquipmentLendService.cs
  42. +125
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/SportEquipmentReturn/SportEquipmentReturnBLL.cs
  43. +80
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/SportEquipmentReturn/SportEquipmentReturnEntity.cs
  44. +48
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/SportEquipmentReturn/SportEquipmentReturnIBLL.cs
  45. +157
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/SportEquipmentReturn/SportEquipmentReturnService.cs
  46. +208
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StudentArticlePublic/StudentArticlePublicBLL.cs
  47. +138
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StudentArticlePublic/StudentArticlePublicEntity.cs
  48. +63
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StudentArticlePublic/StudentArticlePublicIBLL.cs
  49. +308
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StudentArticlePublic/StudentArticlePublicService.cs
  50. +208
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StudentCompetition/StudentCompetitionBLL.cs
  51. +138
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StudentCompetition/StudentCompetitionEntity.cs
  52. +63
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StudentCompetition/StudentCompetitionIBLL.cs
  53. +308
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StudentCompetition/StudentCompetitionService.cs
  54. +2
    -2
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/WageSchedule/WageScheduleService.cs
  55. +2
    -2
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/WelfarePosition/WelfarePositionService.cs
  56. +16
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/Learun.Application.TwoDevelopment.csproj
  57. +2
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/Learun.Application.WorkFlow.csproj
  58. +27
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/NodeMethod/StudentArticlePublicMethod.cs
  59. +27
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/NodeMethod/StudentCompetitionMethod.cs
  60. +4
    -4
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/config.js
  61. +39
    -3
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages.json
  62. +280
    -0
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/Payslip/Payslip/list.vue
  63. +542
    -0
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/Payslip/Payslip/single.vue
  64. +280
    -0
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/Payslip/recruitPayslip/list.vue
  65. +577
    -0
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/Payslip/recruitPayslip/single.vue
  66. +280
    -0
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/Payslip/welfarePayslip/list.vue
  67. +577
    -0
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/Payslip/welfarePayslip/single.vue
  68. +341
    -281
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/login.vue

+ 117
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/SportEquipmentLendController.cs Dosyayı Görüntüle

@@ -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

}
}

+ 117
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/SportEquipmentReturnController.cs Dosyayı Görüntüle

@@ -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

}
}

+ 175
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/StudentArticlePublicController.cs Dosyayı Görüntüle

@@ -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

}
}

+ 175
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/StudentCompetitionController.cs Dosyayı Görüntüle

@@ -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

}
}

+ 32
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/SportEquipmentLend/Form.cshtml Dosyayı Görüntüle

@@ -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")

+ 50
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/SportEquipmentLend/Form.js Dosyayı Görüntüle

@@ -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();
}

+ 44
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/SportEquipmentLend/Index.cshtml Dosyayı Görüntüle

@@ -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>&nbsp;新增</a>
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i>&nbsp;编辑</a>
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i>&nbsp;删除</a>
</div>
</div>
</div>
<div class="lr-layout-body" id="gridtable"></div>
</div>
</div>
</div>
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/SportEquipmentLend/Index.js")

+ 93
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/SportEquipmentLend/Index.js Dosyayı Görüntüle

@@ -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();
}

+ 31
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/SportEquipmentReturn/Form.cshtml Dosyayı Görüntüle

@@ -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")

+ 50
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/SportEquipmentReturn/Form.js Dosyayı Görüntüle

@@ -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();
}

+ 44
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/SportEquipmentReturn/Index.cshtml Dosyayı Görüntüle

@@ -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>&nbsp;新增</a>
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i>&nbsp;编辑</a>
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i>&nbsp;删除</a>
</div>
</div>
</div>
<div class="lr-layout-body" id="gridtable"></div>
</div>
</div>
</div>
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/SportEquipmentReturn/Index.js")

+ 93
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/SportEquipmentReturn/Index.js Dosyayı Görüntüle

@@ -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();
}

+ 63
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StudentArticlePublic/Form.cshtml Dosyayı Görüntüle

@@ -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")

+ 174
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StudentArticlePublic/Form.js Dosyayı Görüntüle

@@ -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();
}

+ 23
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StudentArticlePublic/FormScore.cshtml Dosyayı Görüntüle

@@ -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")

+ 94
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StudentArticlePublic/FormScore.js Dosyayı Görüntüle

@@ -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();
}

+ 85
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StudentArticlePublic/Index.cshtml Dosyayı Görüntüle

@@ -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>&nbsp;新增</a>
<a id="lr_copy" class="btn btn-default"><i class="fa fa-plus"></i>&nbsp;复制</a>
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i>&nbsp;编辑</a>
<a id="lr_updscore" class="btn btn-default"><i class="fa fa-plus"></i>&nbsp;修改分值</a>
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i>&nbsp;删除</a>
<a id="lr_submit" class="btn btn-default"><i class="fa fa-plus"></i>&nbsp;提交</a>
<a id="lr_print" class="btn btn-default"><i class="fa fa-print"></i>&nbsp;打印</a>
</div>
</div>
</div>
<div class="lr-layout-body" id="gridtable"></div>
</div>
</div>
</div>
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/StudentArticlePublic/Index.js")

+ 317
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StudentArticlePublic/Index.js Dosyayı Görüntüle

@@ -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();
}

+ 63
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StudentCompetition/Form.cshtml Dosyayı Görüntüle

@@ -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")

+ 174
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StudentCompetition/Form.js Dosyayı Görüntüle

@@ -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();
}

+ 23
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StudentCompetition/FormScore.cshtml Dosyayı Görüntüle

@@ -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")

+ 94
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StudentCompetition/FormScore.js Dosyayı Görüntüle

@@ -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();
}

+ 77
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StudentCompetition/Index.cshtml Dosyayı Görüntüle

@@ -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>&nbsp;新增</a>
<a id="lr_copy" class="btn btn-default"><i class="fa fa-plus"></i>&nbsp;复制</a>
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i>&nbsp;编辑</a>
<a id="lr_updscore" class="btn btn-default"><i class="fa fa-plus"></i>&nbsp;修改分值</a>
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i>&nbsp;删除</a>
<a id="lr_submit" class="btn btn-default"><i class="fa fa-plus"></i>&nbsp;提交</a>
<a id="lr_print" class="btn btn-default"><i class="fa fa-print"></i>&nbsp;打印</a>
</div>
</div>
</div>
<div class="lr-layout-body" id="gridtable"></div>
</div>
</div>
</div>
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/StudentCompetition/Index.js")

+ 317
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StudentCompetition/Index.js Dosyayı Görüntüle

@@ -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();
}

+ 9
- 4
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Views/NWFProcess/NWFContainerForm.js Dosyayı Görüntüle

@@ -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);

}


+ 3
- 2
Learun.Framework.Ultimate V7/Learun.Application.Web/Content/jquery/plugin/jqprint/jqprint.css Dosyayı Görüntüle

@@ -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;


+ 24
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj Dosyayı Görüntüle

@@ -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\" />


+ 4
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/XmlConfig/ioc.config Dosyayı Görüntüle

@@ -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>



+ 16
- 1
Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/OuoutsourcingApi.cs Dosyayı Görüntüle

@@ -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
}


+ 16
- 1
Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/WageScheduleApi.cs Dosyayı Görüntüle

@@ -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
}


+ 17
- 1
Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/WelfarePositionApi.cs Dosyayı Görüntüle

@@ -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
}


+ 29
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/EducationalAdministration/SportEquipmentLendMap.cs Dosyayı Görüntüle

@@ -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
}
}
}


+ 29
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/EducationalAdministration/SportEquipmentReturnMap.cs Dosyayı Görüntüle

@@ -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
}
}
}


+ 29
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/EducationalAdministration/StudentArticlePublicMap.cs Dosyayı Görüntüle

@@ -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
}
}
}


+ 29
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/EducationalAdministration/StudentCompetitionMap.cs Dosyayı Görüntüle

@@ -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
}
}
}


+ 4
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/Learun.Application.Mapping.csproj Dosyayı Görüntüle

@@ -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">


+ 2
- 2
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Ououtsourcing/OuoutsourcingService.cs Dosyayı Görüntüle

@@ -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);


+ 125
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/SportEquipmentLend/SportEquipmentLendBLL.cs Dosyayı Görüntüle

@@ -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

}
}

+ 80
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/SportEquipmentLend/SportEquipmentLendEntity.cs Dosyayı Görüntüle

@@ -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
}
}


+ 48
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/SportEquipmentLend/SportEquipmentLendIBLL.cs Dosyayı Görüntüle

@@ -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

}
}

+ 165
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/SportEquipmentLend/SportEquipmentLendService.cs Dosyayı Görüntüle

@@ -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

}
}

+ 125
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/SportEquipmentReturn/SportEquipmentReturnBLL.cs Dosyayı Görüntüle

@@ -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

}
}

+ 80
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/SportEquipmentReturn/SportEquipmentReturnEntity.cs Dosyayı Görüntüle

@@ -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
}
}


+ 48
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/SportEquipmentReturn/SportEquipmentReturnIBLL.cs Dosyayı Görüntüle

@@ -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

}
}

+ 157
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/SportEquipmentReturn/SportEquipmentReturnService.cs Dosyayı Görüntüle

@@ -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

}
}

+ 208
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StudentArticlePublic/StudentArticlePublicBLL.cs Dosyayı Görüntüle

@@ -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

}
}

+ 138
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StudentArticlePublic/StudentArticlePublicEntity.cs Dosyayı Görüntüle

@@ -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
}
}


+ 63
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StudentArticlePublic/StudentArticlePublicIBLL.cs Dosyayı Görüntüle

@@ -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

}
}

+ 308
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StudentArticlePublic/StudentArticlePublicService.cs Dosyayı Görüntüle

@@ -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

}
}

+ 208
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StudentCompetition/StudentCompetitionBLL.cs Dosyayı Görüntüle

@@ -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

}
}

+ 138
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StudentCompetition/StudentCompetitionEntity.cs Dosyayı Görüntüle

@@ -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
}
}


+ 63
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StudentCompetition/StudentCompetitionIBLL.cs Dosyayı Görüntüle

@@ -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

}
}

+ 308
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StudentCompetition/StudentCompetitionService.cs Dosyayı Görüntüle

@@ -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

}
}

+ 2
- 2
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/WageSchedule/WageScheduleService.cs Dosyayı Görüntüle

@@ -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);
}


+ 2
- 2
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/WelfarePosition/WelfarePositionService.cs Dosyayı Görüntüle

@@ -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);
}


+ 16
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/Learun.Application.TwoDevelopment.csproj Dosyayı Görüntüle

@@ -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">


+ 2
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/Learun.Application.WorkFlow.csproj Dosyayı Görüntüle

@@ -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" />


+ 27
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/NodeMethod/StudentArticlePublicMethod.cs Dosyayı Görüntüle

@@ -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);
}
}
}
}

+ 27
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/NodeMethod/StudentCompetitionMethod.cs Dosyayı Görüntüle

@@ -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);
}
}
}
}

+ 4
- 4
Learun.Framework.Ultimate V7/LearunApp-2.2.0/config.js Dosyayı Görüntüle

@@ -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


+ 39
- 3
Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages.json Dosyayı Görüntüle

@@ -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": "详情"
}
}
],

// 全局样式


+ 280
- 0
Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/Payslip/Payslip/list.vue Dosyayı Görüntüle

@@ -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>

+ 542
- 0
Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/Payslip/Payslip/single.vue Dosyayı Görüntüle

@@ -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>

+ 280
- 0
Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/Payslip/recruitPayslip/list.vue Dosyayı Görüntüle

@@ -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>

+ 577
- 0
Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/Payslip/recruitPayslip/single.vue Dosyayı Görüntüle

@@ -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>

+ 280
- 0
Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/Payslip/welfarePayslip/list.vue Dosyayı Görüntüle

@@ -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>

+ 577
- 0
Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/Payslip/welfarePayslip/single.vue Dosyayı Görüntüle

@@ -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>

+ 341
- 281
Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/login.vue Dosyayı Görüntüle

@@ -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>

Yükleniyor…
İptal
Kaydet