@@ -0,0 +1,141 @@ | |||
using Learun.Util; | |||
using System.Data; | |||
using Learun.Application.TwoDevelopment.LogisticsManagement; | |||
using System.Web.Mvc; | |||
using System.Collections.Generic; | |||
using System; | |||
namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2022-03-14 12:05 | |||
/// 描 述:宿舍晚归规则 | |||
/// </summary> | |||
public class Acc_DormitoryRuleController : MvcControllerBase | |||
{ | |||
private Acc_DormitoryRuleIBLL acc_DormitoryRuleIBLL = new Acc_DormitoryRuleBLL(); | |||
#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 = acc_DormitoryRuleIBLL.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 Acc_DormitoryRuleData = acc_DormitoryRuleIBLL.GetAcc_DormitoryRuleEntity(keyValue); | |||
var jsonData = new | |||
{ | |||
Acc_DormitoryRule = Acc_DormitoryRuleData, | |||
}; | |||
return Success(jsonData); | |||
} | |||
#endregion | |||
#region 提交数据 | |||
/// <summary> | |||
/// 删除实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult DeleteForm(string keyValue) | |||
{ | |||
acc_DormitoryRuleIBLL.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) | |||
{ | |||
Acc_DormitoryRuleEntity entity = strEntity.ToObject<Acc_DormitoryRuleEntity>(); | |||
DateTime time; | |||
bool flag = DateTime.TryParse(entity.LateReturnTime, out time); | |||
if (!flag) | |||
{ | |||
return Fail("晚归时间格式不正确!"); | |||
} | |||
if (!(entity.PushHour >= 0 && entity.PushHour <= 23)) | |||
{ | |||
return Fail("推送时间点填写不正确!"); | |||
} | |||
var model = acc_DormitoryRuleIBLL.GetEnableEntity(); | |||
if (entity.IsEnable == 1) | |||
{ | |||
if (string.IsNullOrEmpty(keyValue) && model != null) | |||
{ | |||
return Fail("只能有一个启用的规则!"); | |||
} | |||
else if (!string.IsNullOrEmpty(keyValue) && model != null && model.Id != keyValue) | |||
{ | |||
return Fail("只能有一个启用的规则!"); | |||
} | |||
} | |||
acc_DormitoryRuleIBLL.SaveEntity(keyValue, entity); | |||
return Success("保存成功!"); | |||
} | |||
#endregion | |||
} | |||
} |
@@ -7,6 +7,7 @@ using System.Web.Helpers; | |||
using Newtonsoft.Json; | |||
using Newtonsoft.Json.Linq; | |||
using System; | |||
using System.Linq; | |||
namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers | |||
{ | |||
@@ -32,26 +33,31 @@ namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers | |||
{ | |||
return View(); | |||
} | |||
///// <summary> | |||
///// 表单页 | |||
///// <summary> | |||
///// <returns></returns> | |||
//[HttpGet] | |||
//public ActionResult Form() | |||
//{ | |||
// return View(); | |||
//} | |||
/// <summary> | |||
/// 分配宿舍 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult IndexDistribution() | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 带参数的表单页 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult Form(string ParentID = null, string ParentName = null) | |||
public ActionResult Form(string ParentID = null, string ParentName = null, string keyValue = null) | |||
{ | |||
ViewBag.ParentID = ParentID; | |||
ViewBag.ParentName = ParentName; | |||
ViewBag.BuildType = accommodationIBLL.GetBuildType(ParentID); | |||
if (!string.IsNullOrEmpty(keyValue)) | |||
{ | |||
ViewBag.BuildType = accommodationIBLL.GetParentBuildType(keyValue); | |||
} | |||
return View(); | |||
} | |||
@@ -137,9 +143,70 @@ namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 分配系 | |||
/// </summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult FormDept() | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 分配专业和班级 | |||
/// </summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult FormClass() | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 分配宿舍 | |||
/// </summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult FormRoom() | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 床位管理 | |||
/// </summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult IndexBed() | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 床位管理 | |||
/// </summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult FormBed() | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 分类管理 | |||
/// </summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult FormClassify() | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 分类管理 | |||
/// </summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult IndexClassify() | |||
{ | |||
return View(); | |||
} | |||
#endregion | |||
@@ -167,6 +234,38 @@ namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers | |||
return Success(jsonData); | |||
} | |||
/// <summary> | |||
/// 获取床位数据 | |||
/// <summary> | |||
/// <param name="RoomId">查询参数</param> | |||
/// <returns></returns> | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetBedListByRoomId(string RoomId) | |||
{ | |||
var data = accommodationIBLL.GetBedListByRoomId(RoomId).OrderBy(x => x.DNo); | |||
return Success(data); | |||
} | |||
/// <summary> | |||
/// 获取分类数据 | |||
/// <summary> | |||
/// <param name="queryJson"></param> | |||
/// <returns></returns> | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetClassifyList(string pagination, string queryJson) | |||
{ | |||
Pagination paginationobj = pagination.ToObject<Pagination>(); | |||
var data = accommodationIBLL.GetClassifyList(paginationobj, queryJson).OrderBy(x => x.DNo); | |||
//var jsonData = new | |||
//{ | |||
// rows = data, | |||
// total = paginationobj.total, | |||
// page = paginationobj.page, | |||
// records = paginationobj.records | |||
//}; | |||
return Success(data); | |||
} | |||
/// <summary> | |||
/// 获取宿舍楼数据 | |||
@@ -269,6 +368,19 @@ namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers | |||
var data = accommodationIBLL.GetTreeNew(); | |||
return Success(data); | |||
} | |||
/// <summary> | |||
/// 获取上级树形数据 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetClassifyTree() | |||
{ | |||
var data = accommodationIBLL.GetClassifyTree(); | |||
return Success(data); | |||
} | |||
#endregion | |||
#region 提交数据 | |||
@@ -286,6 +398,18 @@ namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers | |||
return Success("删除成功!"); | |||
} | |||
/// <summary> | |||
/// 删除 | |||
/// <param name="keyValue">主键</param> | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult DeleteBed(string keyValue, string ParentID) | |||
{ | |||
accommodationIBLL.DeleteBed(keyValue, ParentID); | |||
return Success("删除成功!"); | |||
} | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
/// <param name="keyValue">主键</param> | |||
/// <summary> | |||
@@ -299,7 +423,54 @@ namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers | |||
accommodationIBLL.SaveEntity(keyValue, entity); | |||
return Success("保存成功!"); | |||
} | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
/// <param name="keyValue">主键</param> | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[ValidateAntiForgeryToken] | |||
[AjaxOnly] | |||
public ActionResult SaveBedForm(string keyValue, string ParentID, string strEntity) | |||
{ | |||
Acc_DormitoryBuildEntity entity = strEntity.ToObject<Acc_DormitoryBuildEntity>(); | |||
accommodationIBLL.SaveBedEntity(keyValue, ParentID, entity); | |||
return Success("保存成功!"); | |||
} | |||
/// <summary> | |||
/// 寝室分配系 | |||
/// <param name="keyValue">主键</param> | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[ValidateAntiForgeryToken] | |||
[AjaxOnly] | |||
public ActionResult SaveDeptClass(string keyValue, string strEntity, int type) | |||
{ | |||
Acc_DormitoryBuildEntity entity = strEntity.ToObject<Acc_DormitoryBuildEntity>(); | |||
accommodationIBLL.SaveDeptClass(keyValue, entity, type); | |||
return Success("保存成功!"); | |||
} | |||
/// <summary> | |||
/// 寝室分配床位 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[ValidateAntiForgeryToken] | |||
[AjaxOnly] | |||
public ActionResult SaveRoom(string RoomId, List<Acc_DormitoryBuildEntity> list) | |||
{ | |||
//List<Acc_DormitoryBuildEntity> list = strEntity.ToObject<List<Acc_DormitoryBuildEntity>>(); | |||
string res = accommodationIBLL.SaveRoom(RoomId, list); | |||
if (!string.IsNullOrEmpty(res)) | |||
{ | |||
return Fail(res); | |||
} | |||
return Success("保存成功!"); | |||
} | |||
/// <summary> | |||
/// 学生宿舍的单元、楼层、房间、床位添加 | |||
@@ -312,11 +483,6 @@ namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers | |||
[AjaxOnly] | |||
public ActionResult DormitoryAdd(string keyValue, string strEntity) | |||
{ | |||
//dynamic entity = JsonConvert.DeserializeObject(strEntity); | |||
//var ElementNum = entity.ElementNum; | |||
//var FloorNum = entity.FloorNum; | |||
//var RoomNum = entity.RoomNUm; | |||
//var BedNum = entity.BedNum; | |||
JObject jsonEntity = JObject.Parse(strEntity); | |||
var elementNum = int.Parse(jsonEntity["ElementNum"].ToString()); | |||
@@ -344,7 +510,7 @@ namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers | |||
} | |||
/// <summary> | |||
/// 同步宿舍信息数据 | |||
/// </summary> | |||
@@ -353,10 +519,7 @@ namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers | |||
{ | |||
accommodationIBLL.SyncData(); | |||
return Success("同步成功"); | |||
} | |||
//public ActionResult DormitoryAdd(string a,string ) | |||
#endregion | |||
@@ -0,0 +1,245 @@ | |||
using Learun.Util; | |||
using System.Data; | |||
using Learun.Application.TwoDevelopment.LogisticsManagement; | |||
using System.Web.Mvc; | |||
using System.Collections.Generic; | |||
using System.Linq; | |||
using System; | |||
namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2022-03-10 10:06 | |||
/// 描 述:学生归宿管理 | |||
/// </summary> | |||
public class DormitoryReturnController : MvcControllerBase | |||
{ | |||
private DormitoryReturnIBLL dormitoryReturnIBLL = new DormitoryReturnBLL(); | |||
private AccommodationIBLL accommodationIBLL = new AccommodationBLL(); | |||
#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 FormOut() | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 表单页 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult FormReturn() | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 表单页 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult IndexReport() | |||
{ | |||
return View(); | |||
} | |||
#endregion | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取左侧树形数据 | |||
/// <summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetTree() | |||
{ | |||
var data = dormitoryReturnIBLL.GetTree(); | |||
return Success(data); | |||
} | |||
/// <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 = dormitoryReturnIBLL.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 Acc_DormitoryReturnData = dormitoryReturnIBLL.GetAcc_DormitoryReturnEntity(keyValue); | |||
var jsonData = new | |||
{ | |||
Acc_DormitoryReturn = Acc_DormitoryReturnData, | |||
}; | |||
return Success(jsonData); | |||
} | |||
/// <summary> | |||
/// 获取下拉框数据 | |||
/// </summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult GetDept() | |||
{ | |||
var data = accommodationIBLL.GetDept(); | |||
return Success(data); | |||
} | |||
/// <summary> | |||
/// 获取下拉框数据 | |||
/// </summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult GetMajor(string strWhere) | |||
{ | |||
var data = accommodationIBLL.GetMajor(strWhere); | |||
return Success(data); | |||
} | |||
/// <summary> | |||
/// 获取下拉框数据 | |||
/// </summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult GetClass(string strWhere) | |||
{ | |||
var data = accommodationIBLL.GetClass(strWhere); | |||
return Success(data); | |||
} | |||
[HttpGet] | |||
public ActionResult GetReportList(string queryJson) | |||
{ | |||
List<Acc_DormitoryBuildEntity> data = dormitoryReturnIBLL.GetReportList(queryJson).ToList(); | |||
var list = data.GroupBy(a => a.IsReturn).Select(a => new { a.Key, num = a.Count() }).ToList(); | |||
List<object> list2 = new List<object>(); | |||
foreach (var item in list) | |||
{ | |||
var name = item.Key == 1 ? "已归宿" : "未归宿"; | |||
list2.Add(new { name = name, value = item.num }); | |||
} | |||
return JsonResult(list2); | |||
} | |||
/// <summary> | |||
/// | |||
/// </summary> | |||
/// <returns></returns> | |||
public ActionResult GetReportData(string queryJson) | |||
{ | |||
List<Acc_DormitoryBuildEntity> data = dormitoryReturnIBLL.GetReportList(queryJson).ToList(); | |||
var list = data.GroupBy(a => a.IsReturn).Select(a => new { a.Key, num = a.Count() }).ToList(); | |||
List<object> list2 = new List<object>(); | |||
List<String> list1 = new List<String>(); | |||
foreach (var item in list) | |||
{ | |||
var name = item.Key == 1 ? "已归宿" : "未归宿"; | |||
list2.Add(new { name = name, value = item.num }); | |||
list1.Add(name); | |||
} | |||
return Success(new { list1, list2 }); | |||
} | |||
#endregion | |||
#region 提交数据 | |||
/// <summary> | |||
/// 删除实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[AjaxOnly] | |||
public ActionResult DeleteForm(string keyValue) | |||
{ | |||
dormitoryReturnIBLL.DeleteEntity(keyValue); | |||
return Success("删除成功!"); | |||
} | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <param name="strEntity">实体</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[ValidateAntiForgeryToken] | |||
[AjaxOnly] | |||
public ActionResult SaveData(string keyValue, string strEntity) | |||
{ | |||
Acc_DormitoryReturnEntity entity = strEntity.ToObject<Acc_DormitoryReturnEntity>(); | |||
dormitoryReturnIBLL.SaveData(keyValue, entity); | |||
return Success("保存成功!"); | |||
} | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <param name="strEntity">实体</param> | |||
/// <returns></returns> | |||
[HttpPost] | |||
[ValidateAntiForgeryToken] | |||
[AjaxOnly] | |||
public ActionResult SaveForm(string type, string strEntity) | |||
{ | |||
Acc_DormitoryReturnEntity entity = strEntity.ToObject<Acc_DormitoryReturnEntity>(); | |||
dormitoryReturnIBLL.SaveEntity(type, entity); | |||
return Success("保存成功!"); | |||
} | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,27 @@ | |||
@{ | |||
ViewBag.Title = "宿舍晚归规则"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap" id="form"> | |||
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryRule"> | |||
<div class="lr-form-item-title">晚归时间<font face="宋体">*</font></div> | |||
<input id="LateReturnTime" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" placeholder="请填写时分,例如:22:00" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryRule"> | |||
<div class="lr-form-item-title">推送人<font face="宋体">*</font></div> | |||
<div id="PushUser" isvalid="yes" checkexpession="NotNull"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryRule"> | |||
<div class="lr-form-item-title">推送班主任<font face="宋体">*</font></div> | |||
<div id="ClassDiredctor"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryRule"> | |||
<div class="lr-form-item-title">推送时间点<font face="宋体">*</font></div> | |||
<input id="PushHour" type="number" class="form-control" isvalid="yes" checkexpession="NotNull" placeholder="请填写0-23数字" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryRule"> | |||
<div class="lr-form-item-title">启用<font face="宋体">*</font></div> | |||
<div id="IsEnable"></div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/Acc_DormitoryRule/Form.js") |
@@ -0,0 +1,62 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2022-03-14 12:05 | |||
* 描 述:宿舍晚归规则 | |||
*/ | |||
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 () { | |||
$('#PushUser').lrDataSourceSelect({ | |||
code: 'teacheruserdata', value: 'f_userid', text: 'f_realname', type: 'multiple' | |||
}); | |||
$('#ClassDiredctor').lrRadioCheckbox({ | |||
type: 'radio', | |||
code: 'YesOrNoInt', | |||
}); | |||
$('#IsEnable').lrRadioCheckbox({ | |||
type: 'radio', | |||
code: 'YesOrNoInt', | |||
}); | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
$.lrSetForm(top.$.rootUrl + '/LogisticsManagement/Acc_DormitoryRule/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 + '/LogisticsManagement/Acc_DormitoryRule/SaveForm?keyValue=' + keyValue, postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(); | |||
} | |||
}); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,27 @@ | |||
@{ | |||
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> | |||
<div class="lr-layout-tool-right"> | |||
<div class=" btn-group btn-group-sm"> | |||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | |||
</div> | |||
<div class=" btn-group btn-group-sm" learun-authorize="yes"> | |||
<a id="lr_add" class="btn btn-default"><i class="fa fa-plus"></i> 新增</a> | |||
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i> 编辑</a> | |||
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i> 删除</a> | |||
<a id="lr_print" class="btn btn-default"><i class="fa fa-print"></i> 打印</a> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/Acc_DormitoryRule/Index.js") |
@@ -0,0 +1,139 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2022-03-14 12:05 | |||
* 描 述:宿舍晚归规则 | |||
*/ | |||
var refreshGirdData; | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
page.initGird(); | |||
page.bind(); | |||
}, | |||
bind: function () { | |||
// 刷新 | |||
$('#lr_refresh').on('click', function () { | |||
location.reload(); | |||
}); | |||
// 新增 | |||
$('#lr_add').on('click', function () { | |||
learun.layerForm({ | |||
id: 'form', | |||
title: '新增', | |||
url: top.$.rootUrl + '/LogisticsManagement/Acc_DormitoryRule/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 + '/LogisticsManagement/Acc_DormitoryRule/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 + '/LogisticsManagement/Acc_DormitoryRule/DeleteForm', { keyValue: keyValue }, function () { | |||
refreshGirdData(); | |||
}); | |||
} | |||
}); | |||
} | |||
}); | |||
// 打印 | |||
$('#lr_print').on('click', function () { | |||
$('#gridtable').jqprintTable(); | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
$('#gridtable').jfGrid({ | |||
url: top.$.rootUrl + '/LogisticsManagement/Acc_DormitoryRule/GetPageList', | |||
headData: [ | |||
{ label: "晚归时间", name: "LateReturnTime", width: 100, align: "left" }, | |||
{ | |||
label: "推送人", name: "PushUser", width: 200, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
if (value.indexOf(',') != -1) { | |||
var content = ''; | |||
var timearr = value.split(','); | |||
for (var i = 0; i < timearr.length; i++) { | |||
learun.clientdata.getAsync('custmerData', | |||
{ | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'teacheruserdata', | |||
key: timearr[i], | |||
keyId: 'f_userid', | |||
callback: function (_data) { | |||
content += _data['f_realname']; | |||
} | |||
}); | |||
} | |||
content = content.substring(0, content.length - 1); | |||
callback(content); | |||
} else { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'teacheruserdata', | |||
key: value, | |||
keyId: 'f_userid', | |||
callback: function (_data) { | |||
callback(_data['f_realname']); | |||
} | |||
}); | |||
} | |||
} | |||
}, | |||
{ | |||
label: "推送班主任", name: "ClassDiredctor", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('dataItem', { | |||
key: value, | |||
code: 'YesOrNoInt', | |||
callback: function (_data) { | |||
callback(_data.text); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: "推送时间点", name: "PushHour", width: 100, align: "left" }, | |||
{ | |||
label: "启用", name: "IsEnable", width: 100, align: "left", | |||
formatter: function (cellvalue, rowObject) { | |||
return cellvalue == 1 ? "<i class=\"fa fa-toggle-on\"></i>" : "<i class=\"fa fa-toggle-off\"></i>"; | |||
} | |||
}, | |||
], | |||
mainId: 'Id', | |||
isPage: true | |||
}); | |||
page.search(); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
} | |||
}; | |||
refreshGirdData = function () { | |||
$('#gridtable').jfGridSet('reload'); | |||
}; | |||
page.init(); | |||
} |
@@ -58,11 +58,7 @@ | |||
<div class="indSec1T"> | |||
<a :href="'/LogisticsManagement/Accommodation/Floor'">{{dormitoryName}}</a><a :href="'/LogisticsManagement/Accommodation/Unit?ID='+dormitoryID">{{unitName}}</a> | |||
<ul class="indSec1List"> | |||
@*<li><a href="#"><img src="/Content/images/floor/inSec1-5.png" alt="" />多条件查找宿舍楼</a></li> | |||
<li><a href="#"><img src="/Content/images/floor/inSec1-6.png" alt="" />自动分配宿舍</a></li>*@ | |||
<li><a href="#" @@click="addFloor()"><img src="/Content/images/floor/inSec1-7.png" alt="" />添加楼层</a></li> | |||
@*<li><a href="#"><img src="/Content/images/floor/inSec1-8.png" alt="" />批量删除</a></li> | |||
<li><a href="#"><img src="/Content/images/floor/inSec1-9.png" alt="" />打印宿舍数据</a></li>*@ | |||
</ul> | |||
</div> | |||
<div class="inSec1Row"> | |||
@@ -76,7 +72,9 @@ | |||
<div class="inSec1Con inSec1Con1"> | |||
<img class="inSec1Horn" src="/Content/images/floor/inSec1-11.png" alt="" /> | |||
<div class="inSec1Con2"> | |||
<div class="inSec1ConT">{{floor.dormitory.Name}} <div class="inSec1Sex" :style="floor.dormitory.Sex | filter_style"><img :src="floor.dormitory.Sex | filter_sexImg" alt="" />{{floor.dormitory.Sex | filter_sex}}</div></div> | |||
<div class="inSec1ConT">{{floor.dormitory.Name}} | |||
@*<div class="inSec1Sex" :style="floor.dormitory.Sex | filter_style"><img :src="floor.dormitory.Sex | filter_sexImg" alt="" />{{floor.dormitory.Sex | filter_sex}}</div>*@ | |||
</div> | |||
<div class="inSec1ConTxt"> | |||
<span>{{floor.RoomNum}}</span>间 <span>{{floor.BedNum}}</span>床 | |||
</div> | |||
@@ -344,7 +342,7 @@ | |||
}, | |||
addFloor: function () { | |||
var url = ""; | |||
url = top.$.rootUrl + '/LogisticsManagement/Accommodation/Form?ParentID=' + this.unitID + '&ParentName=' + this.unitName; | |||
url = top.$.rootUrl + '/LogisticsManagement/Accommodation/FormClassify?ParentID=' + this.unitID + '&ParentName=' + this.unitName; | |||
top.learun.layerForm({ | |||
id: 'form', | |||
title: '新增', | |||
@@ -361,7 +359,7 @@ | |||
top.learun.layerForm({ | |||
id: 'form', | |||
title: '编辑', | |||
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/Form?keyValue=' + id, | |||
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/FormClassify?keyValue=' + id, | |||
width: 600, | |||
height: 400, | |||
callBack: function (id) { | |||
@@ -393,7 +391,7 @@ | |||
'<div class="laySec1L">' + | |||
'<div class="laySec1ConTitle">' + this.dormitoryName + ' ' + this.unitName + '</div> ' + | |||
'<div class="laySec1ConT">' + floor.dormitory.Name + | |||
this.filter_sex(floor.dormitory.Sex) + | |||
'<span style="display:none">' + this.filter_sex(floor.dormitory.Sex) + '</span>' + | |||
'</div>' + | |||
'<div class="laySec1R">' + | |||
'<div><div class="laySec1Txt"><span>负 责 人</span>' + floor.dormitory.Functionary + '</div> <div class="laySec1Txt"><span>负责人电话</span>' + floor.dormitory.Phone + '</div></div>' + | |||
@@ -403,14 +401,14 @@ | |||
'</div>' + | |||
'<div class="layer_sec layer_sec2">' + | |||
'<ul class="laySec2List">' + | |||
'<li><span>编 号</span>' + floor.dormitory.Name + '</li>' + | |||
'<li><span>价 格</span>' + floor.dormitory.Price + ' <i>元</i></li>' + | |||
'<li><span>编 号</span>' + floor.dormitory.DNo + '</li>' + | |||
'<li><span>价 格</span>' + (floor.dormitory.Price == null ? '' : floor.dormitory.Price) + ' <i>元</i></li>' + | |||
'<li><span>房 间</span>' + floor.RoomNum + ' <i>间</i></li>' + | |||
'<li><span>入 住</span>' + floor.HasStudentNum + ' <i>人</i></li>' + | |||
'<li><span>空 床</span>' + floor.NoStudentNum + ' <i>床</i></li>' + | |||
'<li><span>床 位</span>' + floor.BedNum + ' <i>个</i></li>' + | |||
'<li><span>涉及院系</span>' + this.filter_Dept(floor.dormitory.Dept) + '</li>' + | |||
'<li><span>涉及专业</span>' + this.filter_Major(floor.dormitory.Major) + '</li>' + | |||
//'<li><span>涉及院系</span>' + this.filter_Dept(floor.dormitory.Dept) + '</li>' + | |||
//'<li><span>涉及专业</span>' + this.filter_Major(floor.dormitory.Major) + '</li>' + | |||
'</ul>' + | |||
'<div class="laySec2Btn">' + | |||
//'<a href="#"><img src="/Content/images/floor/inSec1-1.png" alt="" /></a>' + | |||
@@ -62,11 +62,7 @@ | |||
<div class="crumbsList3"></div> | |||
</div> | |||
<ul class="indSec1List"> | |||
@*<li><a href="#"><img src="/Content/images/floor/inSec1-5.png" alt="" />多条件查找宿舍楼</a></li> | |||
<li><a href="#"><img src="/Content/images/floor/inSec1-6.png" alt="" />自动分配宿舍</a></li>*@ | |||
<li><a href="#" @@click="addFloor()"><img src="/Content/images/floor/inSec1-7.png" alt="" />添加房间</a></li> | |||
@*<li><a href="#"><img src="/Content/images/floor/inSec1-8.png" alt="" />批量删除</a></li> | |||
<li><a href="#"><img src="/Content/images/floor/inSec1-9.png" alt="" />打印宿舍数据</a></li>*@ | |||
</ul> | |||
</div> | |||
<div class="inSec1Row"> | |||
@@ -118,155 +114,6 @@ | |||
<script> | |||
//var data = { | |||
// "rows": [ | |||
// { | |||
// "ID": "289fb13a-8e91-4c5d-bd6b-7b7de344dc17", | |||
// "Name": "101室", | |||
// "Functionary": '负责人', | |||
// "Leader": '舍长', | |||
// "BuildType": "宿舍楼-类型", | |||
// "CreateBy": '创建人', | |||
// "CreateTime": '创建时间', | |||
// "UpdateBy": '更新人', | |||
// "UpdateTime": '更新时间', | |||
// "Price": '价格', | |||
// "Remark": '备注说明', | |||
// "Phone": '负责人电话', | |||
// "Address": '地址', | |||
// "Campus": '校区', | |||
// "Dept": '系', | |||
// "Major": '专业', | |||
// "Class": '班级', | |||
// "Sex": "0",//性别 | |||
// "StudentID": '学生id', | |||
// "ParentID": "父ID", | |||
// "StuName": 'null' | |||
// }, { | |||
// "ID": "289fb13a-8e91-4c5d-bd6b-7b7de344dc17", | |||
// "Name": "202室", | |||
// "Functionary": '张丽梅', | |||
// "Leader": '舍长', | |||
// "BuildType": "宿舍楼-类型", | |||
// "CreateBy": '薛礼根', | |||
// "CreateTime": '2019-05-14', | |||
// "UpdateBy": '薛礼根', | |||
// "UpdateTime": '2019-05-14', | |||
// "Price": '800~1200', | |||
// "Remark": '备注说明', | |||
// "Phone": '15735806069', | |||
// "Address": '山西省小店区南中环街高新区23号', | |||
// "Campus": '山西省小店区高新校区', | |||
// "Dept": '数学系', | |||
// "Major": '数学与应用数学', | |||
// "Class": '班级', | |||
// "Sex": "0",//性别 | |||
// "StudentID": '学生id', | |||
// "ParentID": "父ID", | |||
// "StuName": 'null' | |||
// } | |||
// ], | |||
// "total": 1, | |||
// "page": 1, | |||
// "records": 10 | |||
//} | |||
//var html = ''; | |||
//$.each(data.rows, function (i, n) { | |||
// var floor = floorName(n.Name, 1); | |||
// html += '<div class="inSec1Col3">' + | |||
// '<div class="inSec1Box">' + | |||
// '<div class="inSec1Top">' + | |||
// '<span><span>' + floor + '</span> 室</span>' + | |||
// '<ul class="inSec1TopList">' + | |||
// '<li>' + | |||
// '<a href="javascript:;"><img src="/Content/images/floor/inSec1-2.png" alt="" /></a>' + | |||
// '<div class="inSec1Con inSec1Con1">' + | |||
// '<img class="inSec1Horn" src="/Content/images/floor/inSec1-11.png" alt="" />' + | |||
// '<div class="inSec1Con2">' + | |||
// '<div class="inSec1ConT"><span>' + floor + '</span>室 <div class="inSec1Sex"><img src="/Content/images/floor/inSec1-10.png" alt="" />女生宿舍</div></div>' + | |||
// '<div class="inSec1ConTxt">' + | |||
// '舍长 <span>' + n.Functionary + '</span> <span>4</span>床' + | |||
// '</div>' + | |||
// '<div class="inSec1ConTxt">' + | |||
// '入住 <span>4</span>人 空闲<span>0</span>床位' + | |||
// '</div>' + | |||
// '<div class="inSec1Btn" index="' + i + '">查看更多信息 <i class="fa fa-angle-right"></i></div>' + | |||
// '</div>' + | |||
// '</div>' + | |||
// '</li>' + | |||
// '<li><a href="#"><img src="/Content/images/floor/inSec1-1.png" alt="" /></a></li>' + | |||
// '<li><a href="javascript:;"><img src="/Content/images/floor/inSec1-3.png" alt="" /></a></li>' + | |||
// '</ul>' + | |||
// '<div class="clear"></div>' + | |||
// '</div>' + | |||
// '<div class="inSec1Imgs">101</div>' + | |||
// '<div class="inSec1Img">' + | |||
// '<a href="room"><img src="/Content/images/floor/dorm1-1.png" alt="" /></a>' + | |||
// '<div class="inSec1ImgCon">' + | |||
// '<div class="inSec1ImgCon1"><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i></div>' + | |||
// '<div class="inSec1ImgCon2"><img src="/Content/images/floor/dorm1-3.png" alt="" /> 独卫</div>' + | |||
// '<div class="inSec1ImgCon3">满</div>' + | |||
// '</div>' + | |||
// '</div></div></div>'; | |||
//}) | |||
//$('.inSec1Row').html(html).on('click', '.inSec1Btn', function () { | |||
// var ind = $(this).attr('index'); | |||
// var datas = data.rows[ind]; | |||
// var floor = floorName(datas.Name, 1); | |||
// layer.open({ | |||
// type: 1, | |||
// closeBtn: 2, | |||
// area: ['888px', '80%'], | |||
// content: '<div class="layerBox unitLayer dormitoryLayer">' + | |||
// '<div class="layer_sec1 layer_sec">' + | |||
// '<div class="laySec1L">' + | |||
// '<div class="laySec1ConTitle"><span>1</span>号楼 <span>1</span>单元 <span>1</span>层</div> ' + | |||
// '<div class="laySec1ConT"><span>' + floor + '</span>室 ' + | |||
// '<div class="laySec1Sex"><img src="/Content/images/floor/inSec1-10.png" alt="" />女生宿舍</div></div>' + | |||
// '</div>' + | |||
// '<div class="laySec1R">' + | |||
// '<div><div class="laySec1Txt"><span>负 责 人</span>' + datas.Functionary + '</div> <div class="laySec1Txt"><span>负责人电话</span>' + datas.Phone + '</div></div>' + | |||
// '<div class="laySec1Txt"><span>校 区</span>' + datas.Campus + '</div>' + | |||
// '<div class="laySec1Txt"><span>地 址</span>' + datas.Address + '</div>' + | |||
// '</div>' + | |||
// '</div>' + | |||
// '<div class="layer_sec layer_sec2">' + | |||
// '<ul class="laySec2List">' + | |||
// '<li><span>编 号</span>001</li>' + | |||
// '<li><span>价 格</span>' + datas.Price + ' <i>元</i></li>' + | |||
// '<li><span>舍 长</span>' + datas.Leader + '</li>' + | |||
// '<li><span>入 住</span>4 <i>人</i></li>' + | |||
// '<li><span>床 位</span>4 <i>个</i></li>' + | |||
// '<li><span>空 床</span>0 <i>床</i></li>' + | |||
// '<li><span>涉及院系</span>' + datas.Dept + '</li>' + | |||
// '<li><span>涉及专业</span>' + datas.Major + '</li>' + | |||
// '<li><span>卫生等级</span><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i></li>' + | |||
// '<li><span>卫 生 间</span>0 <i>床</i></li>' + | |||
// '</ul>' + | |||
// '<div class="laySec2Btn">' + | |||
// '<a href="#"><img src="/Content/images/floor/inSec1-1.png" alt="" /></a>' + | |||
// '<a href="#"><img src="/Content/images/floor/inSec1-3.png" alt="" /></a>' + | |||
// '<a href="#"><img src="/Content/images/floor/inSec1-12.png" alt="" /></a>' + | |||
// '</div>' + | |||
// '</div>' + | |||
// '<div class="layer_sec layer_sec2 layer_sec4">' + | |||
// '<ul class="laySec2List">' + | |||
// '<li><span>创 建 人 </span>' + datas.CreateBy + '</li>' + | |||
// '<li><span>创建时间 </span>' + datas.CreateTime + '</li>' + | |||
// '<li><span>更 新 人</span>' + datas.UpdateBy + ' </li>' + | |||
// '<li><span>更新时间</span>' + datas.UpdateTime + ' </li>' + | |||
// '</ul>' + | |||
// '</div>' + | |||
// '<img class="layerImg" src="/Content/images/floor/dorm1-2.png" alt="" />' + | |||
// '<div class="inSec1Imgs">' + datas.Name + '</div>' + | |||
// '</div>' | |||
// }) | |||
//}) | |||
var parentID='@ViewBag.ParentID'; | |||
var vm = new Vue({ | |||
el: "#app", | |||
@@ -302,7 +149,8 @@ | |||
}.bind(this), 1000); | |||
}, | |||
filter_Dept: function (value) { | |||
var result; | |||
var result = ''; | |||
if (!!value) { | |||
top.learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdDeptInfo', | |||
key: value, | |||
@@ -310,20 +158,22 @@ | |||
callback: function (_data) { | |||
result = _data.deptname; | |||
} | |||
}); | |||
}); | |||
} | |||
return result; | |||
}, | |||
filter_Major: function (value) { | |||
var result; | |||
var result = ''; | |||
if (!!value) { | |||
top.learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo', | |||
key: value, | |||
keyId: 'id', | |||
keyId: 'majorno', | |||
callback: function (_data) { | |||
result = _data.majorname; | |||
} | |||
}); | |||
});} | |||
return result; | |||
}, | |||
@@ -384,8 +234,8 @@ | |||
id: 'form', | |||
title: '新增', | |||
url: url, | |||
width: 600, | |||
height: 400, | |||
width: 900, | |||
height: 500, | |||
callBack: function (id) { | |||
return top[id].acceptClick(this.laterGetData()); | |||
}.bind(this) | |||
@@ -397,8 +247,8 @@ | |||
id: 'form', | |||
title: '编辑', | |||
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/Form?keyValue=' + id, | |||
width: 600, | |||
height: 400, | |||
width: 900, | |||
height: 500, | |||
callBack: function (id) { | |||
return top[id].acceptClick(this.laterGetData()); | |||
}.bind(this) | |||
@@ -439,7 +289,7 @@ | |||
'<div class="layer_sec layer_sec2">' + | |||
'<ul class="laySec2List">' + | |||
'<li><span>编 号</span>' + floor.dormitory.Name + '</li>' + | |||
'<li><span>价 格</span>' + floor.dormitory.Price + ' <i>元</i></li>' + | |||
'<li><span>价 格</span>' + (floor.dormitory.Price == null ? '' : floor.dormitory.Price) + ' <i>元</i></li>' + | |||
'<li><span>舍 长</span>' + floor.dormitory.Leader + '</li>' + | |||
'<li><span>入 住</span>' + floor.HasStudentNum + ' <i>人</i></li>' + | |||
'<li><span>空 床</span>' + floor.NoStudentNum + ' <i>床</i></li>' + | |||
@@ -8,19 +8,19 @@ | |||
<div class="lr-form-wrap"> | |||
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">每栋楼单元数量</div> | |||
<input id="ElementNum" type="text" class="form-control" /> | |||
<input id="ElementNum" type="number" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">每单元楼层数量</div> | |||
<input id="FloorNum" type="text" class="form-control" /> | |||
<input id="FloorNum" type="number" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">每楼层房间数量</div> | |||
<input id="RoomNum" type="text" class="form-control" /> | |||
<input id="RoomNum" type="number" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">每房间床位数量</div> | |||
<input id="BedNum" type="text" class="form-control" /> | |||
<input id="BedNum" type="number" class="form-control" /> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/Accommodation/DormitoryAdd.js") | |||
@@ -57,8 +57,7 @@ | |||
@*山西省小店区高新校区*@ | |||
<ul class="indSec1List"> | |||
@*<li><a href="#"><img src="/Content/images/floor/inSec1-5.png" alt="" />多条件查找宿舍楼</a></li>*@ | |||
<li><a href="#" @@click="allocation()"><img src="/Content/images/floor/inSec1-6.png" alt="" />自动分配宿舍</a></li> | |||
@*<li><a href="#" @@click="allocation()"><img src="/Content/images/floor/inSec1-6.png" alt="" />自动分配宿舍</a></li>*@ | |||
<li><a href="#" @@click="addFloor()"><img src="/Content/images/floor/inSec1-7.png" alt="" />添加宿舍楼</a></li> | |||
@*<li><a href="#"><img src="/Content/images/floor/inSec1-8.png" alt="" />批量删除</a></li>*@ | |||
@*<li><a href="#"><img src="/Content/images/floor/inSec1-9.png" alt="" />打印宿舍数据</a></li>*@ | |||
@@ -75,7 +74,10 @@ | |||
<div class="inSec1Con inSec1Con1"> | |||
<img class="inSec1Horn" src="/Content/images/floor/inSec1-11.png" alt="" /> | |||
<div class="inSec1Con2"> | |||
<div class="inSec1ConT">{{floor.dormitory.Name}} <div class="inSec1Sex" :style="floor.dormitory.Sex | filter_style"><img :src="floor.dormitory.Sex | filter_sexImg" alt="" />{{floor.dormitory.Sex | filter_sex}}</div></div> | |||
<div class="inSec1ConT"> | |||
{{floor.dormitory.Name}} | |||
@*<div class="inSec1Sex" :style="floor.dormitory.Sex | filter_style"><img :src="floor.dormitory.Sex | filter_sexImg" alt="" />{{floor.dormitory.Sex | filter_sex}}</div>*@ | |||
</div> | |||
<div class="inSec1ConTxt"> | |||
<span>{{floor.UnitNum}}</span>单元 <span>{{floor.floorNum}}</span>层 <span>{{floor.RoomNum}}</span>间 | |||
</div> | |||
@@ -131,7 +133,7 @@ | |||
}.bind(this), 1000); | |||
}, | |||
filter_Dept: function (value) { | |||
var result; | |||
var result = ''; | |||
top.learun.clientdata.getAsync('custmerData', { | |||
sync: true, | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdDeptInfo', | |||
@@ -144,7 +146,7 @@ | |||
return result; | |||
}, | |||
filter_Major: function (value) { | |||
var result; | |||
var result = ''; | |||
top.learun.clientdata.getAsync('custmerData', { | |||
sync: true, | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo', | |||
@@ -195,7 +197,7 @@ | |||
}, | |||
addFloor: function () { | |||
var url = ""; | |||
url = top.$.rootUrl + '/LogisticsManagement/Accommodation/Form'; | |||
url = top.$.rootUrl + '/LogisticsManagement/Accommodation/FormClassify'; | |||
top.learun.layerForm({ | |||
id: 'form', | |||
title: '新增', | |||
@@ -212,7 +214,7 @@ | |||
top.learun.layerForm({ | |||
id: 'form', | |||
title: '编辑', | |||
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/Form?keyValue=' + id, | |||
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/FormClassify?keyValue=' + id, | |||
width: 600, | |||
height: 400, | |||
callBack: function (id) { | |||
@@ -234,7 +236,10 @@ | |||
var echarts1; | |||
//圆形图 | |||
var i = 0; | |||
var g = (floor.HasStudentNum / floor.BedNum) * 100 + "%"; | |||
var g = "0%"; | |||
if (!!floor.HasStudentNum && !!floor.BedNum && floor.HasStudentNum != 0 && floor.BedNum != 0) { | |||
g = ((floor.HasStudentNum / floor.BedNum) * 100).toFixed(2) + "%"; | |||
} | |||
layer.open({ | |||
type: 1, | |||
closeBtn: 2, | |||
@@ -243,7 +248,8 @@ | |||
'<img class="layerImg" src="/Content/images/floor/inSec1-4.png" alt="" />' + | |||
'<div class="layer_sec1 layer_sec">' + | |||
'<div class="laySec1L">' + | |||
'<div class="laySec1ConT">' + floor.dormitory.Name + this.filter_sex(floor.dormitory.Sex) + | |||
'<div class="laySec1ConT">' + floor.dormitory.Name + | |||
'<span style="display:none">' + this.filter_sex(floor.dormitory.Sex) + '</span>' + | |||
'</div>' + | |||
'<div class="laySec1R">' + | |||
'<div><div class="laySec1Txt"><span>负 责 人</span>' + floor.dormitory.Functionary + '</div> <div class="laySec1Txt"><span>负责人电话</span>' + floor.dormitory.Phone + '</div></div>' + | |||
@@ -253,16 +259,16 @@ | |||
'</div>' + | |||
'<div class="layer_sec layer_sec2">' + | |||
'<ul class="laySec2List">' + | |||
'<li><span>编 号</span>' + floor.dormitory.Name + '</li>' + | |||
'<li><span>价 格</span>' + floor.dormitory.Price + ' <i>元</i></li>' + | |||
'<li><span>编 号</span>' + floor.dormitory.DNo + '</li>' + | |||
'<li><span>价 格</span>' + (floor.dormitory.Price == null ? '' : floor.dormitory.Price) + ' <i>元</i></li>' + | |||
'<li><span>单 元</span>' + floor.UnitNum + ' <i>个</i></li>' + | |||
'<li><span>入 住</span>' + floor.HasStudentNum + ' <i>人</i></li>' + | |||
'<li><span>楼 层</span>' + floor.floorNum + ' <i>层</i></li>' + | |||
'<li><span>空 床</span>' + floor.NoStudentNum + ' <i>床</i></li>' + | |||
'<li><span>房 间</span>' + floor.RoomNum + ' <i>间</i></li>' + | |||
'<li><span>涉及院系</span>' + this.filter_Dept(floor.dormitory.Dept) + '</li>' + | |||
//'<li><span>涉及院系</span>' + this.filter_Dept(floor.dormitory.Dept) + '</li>' + | |||
'<li><span>床 位</span>' + floor.UnitNum + ' <i>个</i></li>' + | |||
'<li><span>涉及专业</span>' + this.filter_Major(floor.dormitory.Major) + '</li>' + | |||
// '<li><span>涉及专业</span>' + this.filter_Major(floor.dormitory.Major) + '</li>' + | |||
'</ul>' + | |||
'<div class="laySec2Btn">' + | |||
//'<a href="#"><img @@click="update(floor.dormitory.ID)" src="/Content/images/floor/inSec1-1.png" alt="" /></a>' + | |||
@@ -3,13 +3,23 @@ | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap"> | |||
@*<input value="@ViewBag.BuildType"/>*@ | |||
@if (ViewBag.ParentID != null) | |||
{ | |||
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">上级</div> | |||
<input id="ParentID" type="hidden" value="@ViewBag.ParentID" /> | |||
<input type="text" class="form-control" value="@ViewBag.ParentName" readonly="readonly" /> | |||
</div> | |||
} | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">名称</div> | |||
<input id="Name" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">学生</div> | |||
<div id="StudentID"></div> | |||
<div class="lr-form-item-title">编号<font face="宋体">*</font></div> | |||
<input id="DNo" type="number" class="form-control" isvalid="yes" checkexpession="NotNull" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
@@ -20,36 +30,23 @@ | |||
<div class="lr-form-item-title">类别<font face="宋体">*</font></div> | |||
<div id="BuildType" isvalid="yes" checkexpession="NotNull"></div> | |||
</div> | |||
@if (ViewBag.ParentID != null) | |||
{ | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">父单位</div> | |||
<input id="ParentID" type="hidden" value="@ViewBag.ParentID" /> | |||
<label class="form-control">@ViewBag.ParentName</label> | |||
</div> | |||
} | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">校区</div> | |||
<div id="Campus"></div> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">系</div> | |||
<div id="Dept"></div> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">专业</div> | |||
<div id="Major"></div> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">班级</div> | |||
<div id="Class"></div> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">性别</div> | |||
<div id="Sex"></div> | |||
</div> | |||
@*<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">系</div> | |||
<div id="Dept"></div> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">专业</div> | |||
<div id="Major"></div> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">班级</div> | |||
<div id="Class"></div> | |||
</div>*@ | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">负责人</div> | |||
<input id="Functionary" type="text" class="form-control" /> | |||
@@ -62,16 +59,25 @@ | |||
<div class="lr-form-item-title">价格</div> | |||
<input id="Price" type="text" class="form-control" /> | |||
</div> | |||
@*<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">顺序</div> | |||
<input id="sort" type="number" class="form-control"/> | |||
</div>*@ | |||
@if (ViewBag.BuildType == "4") | |||
@if (ViewBag.BuildType == "3") | |||
{ | |||
//寝室信息 | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">性别</div> | |||
<div id="Sex"></div> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">舍长</div> | |||
<input id="Leader" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">学生名字</div> | |||
<input id="StudentID" type="text" class="form-control" /> | |||
<div class="lr-form-item-title">几人寝<font face="宋体">*</font></div> | |||
<input id="RoomType" type="number" class="form-control" isvalid="yes" checkexpession="NotNull"/> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">星级</div> | |||
@@ -82,10 +88,16 @@ | |||
<div id="HasToilet"></div> | |||
</div> | |||
} | |||
@if (ViewBag.BuildType == "4") | |||
{ | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">学生名字</div> | |||
<input id="StudentID" type="text" class="form-control" /> | |||
</div> | |||
} | |||
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">备注</div> | |||
<textarea id="Remark" class="form-control" style="height:100px;"></textarea> | |||
<textarea id="Remark" class="form-control" style="height: 100px;"></textarea> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/Accommodation/Form.js") |
@@ -25,6 +25,7 @@ var bootstrap = function ($, learun) { | |||
code: 'HasToilet', | |||
}) | |||
$('#BuildType').lrDataItemSelect({ code: 'BuildType' }); | |||
//$('#StudentID').lrDataSourceSelect({ code: 'StuInfoBasic', value: 'stuid', text: 'stuname' }); | |||
//$('#StudentID').lrDataSourceSelect({ code: 'StuInfoTwo', value: 'stuid', text: 'stuname' }); | |||
$('#StudentID').lrselect({ | |||
@@ -0,0 +1,12 @@ | |||
@{ | |||
ViewBag.Title = "学生宿舍管理"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap"> | |||
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">名称</div> | |||
<input id="Name" type="text" class="form-control" /> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/Accommodation/FormBed.js") |
@@ -0,0 +1,52 @@ | |||
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) | |||
* Copyright (c) 2013-2018 北京泉江科技有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2019-04-26 15:02 | |||
* 描 述:学生宿舍管理 | |||
*/ | |||
var acceptClick; | |||
var keyValue = request('keyValue'); | |||
var ParentID = request('ParentID'); | |||
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 + '/LogisticsManagement/Accommodation/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 + '/LogisticsManagement/Accommodation/SaveBedForm?keyValue=' + keyValue + '&ParentID=' + ParentID, postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(); | |||
} | |||
}); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,19 @@ | |||
| |||
@{ | |||
ViewBag.Title = "FormClass"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap"> | |||
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">专业<font face="宋体">*</font></div> | |||
<div id="Major" isvalid="yes" checkexpession="NotNull"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">班级<font face="宋体">*</font></div> | |||
<div id="Class" isvalid="yes" checkexpession="NotNull"></div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/Accommodation/FormClass.js") | |||
@@ -0,0 +1,82 @@ | |||
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) | |||
* Copyright (c) 2013-2018 北京泉江科技有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2019-04-26 15:02 | |||
* 描 述:学生宿舍管理 | |||
*/ | |||
var acceptClick; | |||
var Dept = request('Dept'); | |||
var keyValue = request('keyValue'); | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
$('.lr-form-wrap').lrscroll(); | |||
page.bind(); | |||
page.initData(); | |||
}, | |||
bind: function () { | |||
$('#Class').lrselect({ | |||
value: "classno", | |||
text: "classname" | |||
}); | |||
$('#Major').lrselect({ | |||
value: "majorno", | |||
text: "majorname", | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable', | |||
param: { code: "CdMajorInfo", strWhere: "DeptNo='" + Dept + "'" }, | |||
select: function (item) { | |||
if (item) { | |||
$('#Class').lrselectRefresh({ | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable', | |||
param: { code: "bjsj", strWhere: "DeptNo='" + item.deptno + "' and majorno='" + item.majorno + "'" } | |||
}); | |||
} | |||
} | |||
}); | |||
$('#Class').on("click", | |||
function () { | |||
//var data1 = $('#Dept').lrselectGet(); | |||
var data2 = $('#Major').lrselectGet(); | |||
if (!data2) { | |||
learun.alert.error('请先选择专业'); | |||
} | |||
}); | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
$.lrSetForm(top.$.rootUrl + '/LogisticsManagement/Accommodation/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 + '/LogisticsManagement/Accommodation/SaveDeptClass?type=2&keyValue=' + keyValue, postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(); | |||
} | |||
}); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,97 @@ | |||
@{ | |||
ViewBag.Title = "学生宿舍管理"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap"> | |||
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">上级</div> | |||
<div id="ParentID" ></div> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">名称<font face="宋体">*</font></div> | |||
<input id="Name" type="text" class="form-control" isvalid="yes" checkexpession="NotNull"/> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">编号<font face="宋体">*</font></div> | |||
<input id="DNo" type="number" class="form-control" isvalid="yes" checkexpession="NotNull" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">位置</div> | |||
<input id="Address" type="text" class="form-control"/> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">类别<font face="宋体">*</font></div> | |||
<div id="BuildType" isvalid="yes" checkexpession="NotNull" ></div> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">校区</div> | |||
<div id="Campus"></div> | |||
</div> | |||
@*<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">系</div> | |||
<div id="Dept"></div> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">专业</div> | |||
<div id="Major"></div> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">班级</div> | |||
<div id="Class"></div> | |||
</div>*@ | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">负责人</div> | |||
<input id="Functionary" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">负责人电话</div> | |||
<input id="Phone" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">价格</div> | |||
<input id="Price" type="text" class="form-control" /> | |||
</div> | |||
@*<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">顺序</div> | |||
<input id="sort" type="number" class="form-control"/> | |||
</div>*@ | |||
@if (ViewBag.BuildType == "3") | |||
{ | |||
//寝室信息 | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">性别</div> | |||
<div id="Sex"></div> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">舍长</div> | |||
<input id="Leader" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">几人寝<font face="宋体">*</font></div> | |||
<input id="RoomType" type="number" class="form-control" isvalid="yes" checkexpession="NotNull"/> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">星级</div> | |||
<input id="Starred" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">是否独卫</div> | |||
<div id="HasToilet"></div> | |||
</div> | |||
} | |||
@if (ViewBag.BuildType == "4") | |||
{ | |||
<div class="col-xs-6 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">学生名字</div> | |||
<input id="StudentID" type="text" class="form-control" /> | |||
</div> | |||
} | |||
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">备注</div> | |||
<textarea id="Remark" class="form-control" style="height: 100px;"></textarea> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/Accommodation/FormClassify.js") |
@@ -0,0 +1,167 @@ | |||
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) | |||
* Copyright (c) 2013-2018 北京泉江科技有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2019-04-26 15:02 | |||
* 描 述:学生宿舍管理 | |||
*/ | |||
var acceptClick; | |||
var keyValue = request('keyValue'); | |||
var ParentID = request('ParentID'); | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
$('.lr-form-wrap').lrscroll(); | |||
page.bind(); | |||
page.initData(); | |||
page.initSelect(); | |||
}, | |||
bind: function () { | |||
$('#BuildType').lrDataItemSelect({ code: 'BuildType' }); | |||
// 上级 | |||
$('#ParentID').lrselect({ | |||
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/GetClassifyTree', | |||
type: 'tree', | |||
allowSearch: true, | |||
maxHeight: 225, | |||
select: function (item) { | |||
if (item&&item.id!='-1') { | |||
$('#BuildType').lrselectSet(item.title); | |||
$('#BuildType').attr('readonly', 'readonly'); | |||
} else { | |||
$('#BuildType').lrselectSet('1'); | |||
$('#BuildType').removeAttr('readonly'); | |||
} | |||
} | |||
}); | |||
$('#Sex').lrRadioCheckbox({ | |||
type: 'radio', | |||
code: 'usersex', | |||
}); | |||
$("#HasToilet").lrRadioCheckbox({ | |||
type: 'radio', | |||
code: 'HasToilet', | |||
}) | |||
//$('#StudentID').lrDataSourceSelect({ code: 'StuInfoBasic', value: 'stuid', text: 'stuname' }); | |||
//$('#StudentID').lrDataSourceSelect({ code: 'StuInfoTwo', value: 'stuid', text: 'stuname' }); | |||
$('#StudentID').lrselect({ | |||
value: "stuid", | |||
text: "stuname", | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=StuInfoBasic' | |||
}); | |||
$('#Class').lrselect({ | |||
value: "classno", | |||
text: "classname" | |||
}); | |||
$('#Dept').lrselect({ | |||
value: "deptno", | |||
text: "deptname", | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=CdDeptInfo', | |||
select: function (item) { | |||
if (item) { | |||
$('#Major').lrselectRefresh({ | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable', | |||
param: { code: "CdMajorInfo", strWhere: "DeptNo='" + item.deptno + "'" } | |||
}); | |||
} | |||
else { | |||
$('#Major').lrselectRefresh({ | |||
url: "", | |||
data: [] | |||
}); | |||
} | |||
$('#Class').lrselectRefresh({ | |||
url: "", | |||
data: [] | |||
}); | |||
} | |||
}); | |||
$('#Major').lrselect({ | |||
value: "majorno", | |||
text: "majorname", | |||
select: function (item) { | |||
if (item) { | |||
$('#Class').lrselectRefresh({ | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable', | |||
param: { code: "bjsj", strWhere: "DeptNo='" + item.deptno + "' and majorno='" + item.majorno + "'" } | |||
}); | |||
} | |||
} | |||
}); | |||
$('#Major').on("click", | |||
function () { | |||
var data = $('#Dept').lrselectGet(); | |||
if (!data) { | |||
learun.alert.error('请先选择系'); | |||
} | |||
}); | |||
$('#Class').on("click", | |||
function () { | |||
var data1 = $('#Dept').lrselectGet(); | |||
var data2 = $('#Major').lrselectGet(); | |||
if (!data1 || !data2) { | |||
learun.alert.error('请先选择系和专业'); | |||
} | |||
}); | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
$.lrSetForm(top.$.rootUrl + '/LogisticsManagement/Accommodation/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]); | |||
} | |||
} | |||
}); | |||
} else { | |||
$('#ParentID').lrselectSet(ParentID); | |||
} | |||
}, | |||
initSelect: function () { | |||
var dfop = { | |||
type: 'tree', | |||
// 展开最大高度 | |||
maxHeight: 200, | |||
// 是否允许搜索 | |||
allowSearch: true, | |||
// 访问数据接口地址 | |||
url: top.$.rootUrl + '/LR_OrganizationModule/Company/GetTree', | |||
// 访问数据接口参数 | |||
param: { parentId: '0' }, | |||
} | |||
$('#Campus').lrselect(dfop); | |||
} | |||
}; | |||
// 保存数据 | |||
acceptClick = function (callBack) { | |||
if (!$('body').lrValidform()) { | |||
return false; | |||
} | |||
var strEntity = $('body').lrGetFormData(); | |||
if (!strEntity.ParentID && strEntity.BuildType != '1') { | |||
return learun.alert.warning("请选择上级!"); | |||
} | |||
var postData = { | |||
strEntity: JSON.stringify(strEntity) | |||
}; | |||
$.lrSaveForm(top.$.rootUrl + '/LogisticsManagement/Accommodation/SaveForm?keyValue=' + keyValue, postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(); | |||
} | |||
}); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,15 @@ | |||
| |||
@{ | |||
ViewBag.Title = "Allocation"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap"> | |||
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryBuild"> | |||
<div class="lr-form-item-title">系部<font face="宋体">*</font></div> | |||
<div id="Dept" isvalid="yes" checkexpession="NotNull"></div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/Accommodation/FormDept.js") | |||
@@ -0,0 +1,56 @@ | |||
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) | |||
* Copyright (c) 2013-2018 北京泉江科技有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2019-04-26 15:02 | |||
* 描 述:学生宿舍管理 | |||
*/ | |||
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 () { | |||
$('#Dept').lrselect({ | |||
value: "deptno", | |||
text: "deptname", | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=CdDeptInfo', | |||
allowSearch:true | |||
}); | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
$.lrSetForm(top.$.rootUrl + '/LogisticsManagement/Accommodation/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 + '/LogisticsManagement/Accommodation/SaveDeptClass?type=1&keyValue=' + keyValue, postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(); | |||
} | |||
}); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,26 @@ | |||
| |||
@{ | |||
ViewBag.Title = "FormClass"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<style> | |||
.div12 { | |||
padding-left: 5px; | |||
} | |||
</style> | |||
<div class="lr-form-wrap" id="content"> | |||
@*<div class="col-xs-12 lr-form-item div12"> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">床位</div> | |||
<input id="Name" readonly="readonly" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-6 lr-form-item"> | |||
<div class="lr-form-item-title">学生</div> | |||
<div class="Student" id="1"></div> | |||
</div> | |||
</div>*@ | |||
</div> | |||
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/Accommodation/FormRoom.js") | |||
@@ -0,0 +1,128 @@ | |||
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) | |||
* Copyright (c) 2013-2018 北京泉江科技有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2019-04-26 15:02 | |||
* 描 述:学生宿舍管理 | |||
*/ | |||
var acceptClick; | |||
var Class = request('Class'); | |||
var keyValue = request('keyValue'); | |||
var Sex = request('Sex'); | |||
var arr = []; | |||
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 + '/LogisticsManagement/Accommodation/GetBedListByRoomId?RoomId=' + keyValue, function (data) { | |||
$('#content').html(''); | |||
var strWhere = " ClassNo='" + Class + "'"; | |||
if (Sex == '0') { | |||
strWhere += " and GenderNo=0"; | |||
} | |||
else if (Sex == '1') { | |||
strWhere += " and GenderNo=1"; | |||
} | |||
for (var i = 0; i < data.length; i++) { | |||
var html = ''; | |||
html += '<div class="col-xs-12 lr-form-item div12">'; | |||
html += '<div class="col-xs-6 lr-form-item">'; | |||
html += '<div class="lr-form-item-title">床位</div>'; | |||
html += '<input id="Name" readonly="readonly" type="text" class="form-control" value="' + | |||
data[i].Name + | |||
'" />'; | |||
html += '</div>'; | |||
html += '<div class="col-xs-6 lr-form-item" style="padding-right: 20px;">'; | |||
html += '<div class="lr-form-item-title">学生</div>'; | |||
html += '<div class="Student" id="' + data[i].ID + '"></div>'; | |||
html += '</div>'; | |||
html += '</div>'; | |||
$('#content').append(html); | |||
$('#' + data[i].ID).lrselect({ | |||
value: "stuno", | |||
text: "stuname", | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable', | |||
param: { code: "StuInfoBasic", strWhere: strWhere }, | |||
// 是否允许搜索 | |||
allowSearch: true, | |||
select: function (item) { | |||
// console.log(item); | |||
var stuid = ''; | |||
if (item) { | |||
stuid = item.stuno; | |||
} | |||
var id = $(this).attr('id'); | |||
//console.log('id', id); | |||
//console.log('item',item); | |||
arr.forEach(item => { | |||
if (item.ID == id) { | |||
//如果存在删除 | |||
removeByValue(arr, 'ID', id); | |||
} | |||
}); | |||
arr.push({ ID: id, StudentID: stuid }); | |||
} | |||
}); | |||
$('#' + data[i].ID).lrselectSet(data[i].StudentID); | |||
//arr.push({ ID: data[i].ID, StudentID: data[i].StudentID }); | |||
} | |||
}); | |||
} | |||
}, | |||
}; | |||
// 保存数据 | |||
acceptClick = function (callBack) { | |||
//if (!$('body').lrValidform()) { | |||
// return false; | |||
//} | |||
//var postData = { | |||
// strEntity: JSON.stringify($('body').lrGetFormData()) | |||
//}; | |||
//console.log('arr', arr); | |||
for (var i = 0; i < arr.length - 1; i++) { | |||
for (var j = i + 1; j < arr.length; j++) { | |||
if (!!arr[i].StudentID && arr[i].StudentID === arr[j].StudentID) { | |||
return learun.alert.warning('学生不可重复!'); | |||
} | |||
} | |||
} | |||
var postData = { | |||
list: arr | |||
}; | |||
$.lrSaveForm(top.$.rootUrl + '/LogisticsManagement/Accommodation/SaveRoom?RoomId=' + keyValue, postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(); | |||
} | |||
}); | |||
}; | |||
page.init(); | |||
//删除数组元素 | |||
function removeByValue(arr, attr, value) { | |||
var index = 0; | |||
for (var i in arr) { | |||
if (arr[i][attr] == value) { | |||
index = i; | |||
break; | |||
} | |||
} | |||
arr.splice(index, 1); | |||
} | |||
} |
@@ -21,44 +21,44 @@ | |||
<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="Name" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-query-formcontent"> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">名称</div> | |||
<input id="Name" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">宿舍楼</div> | |||
<div id="ApartmentId"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">单元</div> | |||
<div id="UnitId"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">楼层</div> | |||
<div id="FloorId"></div> | |||
</div> | |||
@*<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">类别</div> | |||
<input id="BuildType" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">学校</div> | |||
<input id="School" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">系</div> | |||
<input id="DeptName" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">班级</div> | |||
<input id="Class" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">专业</div> | |||
<input id="MajorName" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">性别</div> | |||
<div id="Sex"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">负责人</div> | |||
<input id="Functionary" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">舍长</div> | |||
<input id="Leader" type="text" class="form-control" /> | |||
</div> | |||
</div>*@ | |||
</div>*@ | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">系</div> | |||
<div id="Dept"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">专业</div> | |||
<div id="Major"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">班级</div> | |||
<div id="Class"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">性别</div> | |||
<div id="Sex"></div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
@@ -66,15 +66,19 @@ | |||
<div class=" btn-group btn-group-sm"> | |||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | |||
<a id="lr_dormitoryAdd" class="btn btn-default"><i class="fa fa-pencil-square"></i> 批量添加宿舍</a> | |||
<a id="lr_allocation" class="btn btn-default"><i class="fa fa-pencil-square"></i> 自动分配宿舍</a> | |||
<a id="lr_syncdata" class="btn btn-default"><i class="fa fa-pencil-square"></i> 同步宿舍信息</a> | |||
<a id="lr_bedManage" class="btn btn-default"><i class="fa fa-pencil-square"></i> 床位管理</a> | |||
@*<a id="lr_allocation" class="btn btn-default"><i class="fa fa-pencil-square"></i> 自动分配宿舍</a> | |||
<a id="lr_syncdata" class="btn btn-default"><i class="fa fa-pencil-square"></i> 同步宿舍信息</a>*@ | |||
</div> | |||
<div class=" btn-group btn-group-sm" learun-authorize="yes"> | |||
<a id="lr_add" class="btn btn-default"><i class="fa fa-plus"></i> 录入</a> | |||
<a id="lr_add" class="btn btn-default"><i class="fa fa-plus"></i> 新增宿舍</a> | |||
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i> 修改</a> | |||
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i> 删除</a> | |||
<a id="lr_print" class="btn btn-default"><i class="fa fa-print"></i> 打印</a> | |||
</div> | |||
<div class=" btn-group btn-group-sm" learun-authorize="yes"> | |||
<a id="lr_Classify" class="btn btn-default"><i class="fa fa-tags"></i> <span class="lrlt">分类管理</span></a> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
@@ -11,36 +11,138 @@ var bootstrap = function ($, learun) { | |||
var page = { | |||
init: function () { | |||
page.initTree(); | |||
//page.initGird(); | |||
page.initGird(); | |||
page.search({ ParentID: '' }); | |||
page.bind(); | |||
}, | |||
bind: function () { | |||
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) { | |||
page.search(queryJson); | |||
}, 220, 400); | |||
$('#Sex').lrRadioCheckbox({ | |||
type: 'radio', | |||
code: 'usersex', | |||
}, 420, 400); | |||
//宿舍楼 | |||
$('#ApartmentId').lrselect({ | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=DormitoryInfo', | |||
param: { strWhere: " BuildType='1' " }, | |||
value: "id", | |||
text: "name", | |||
select: function (item) { | |||
if (!!item) { | |||
//单元 | |||
$('#UnitId').lrselectRefresh({ | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=DormitoryInfo', | |||
param: { strWhere: " BuildType='2' and ApartmentId='" + item.id + "'" }, | |||
value: "id", | |||
text: "name", | |||
select: function (item) { | |||
if (!!item) { | |||
//楼层 | |||
$('#FloorId').lrselectRefresh({ | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=DormitoryInfo', | |||
param: { strWhere: " BuildType='3' and UnitId='" + item.id + "'" }, | |||
value: "id", | |||
text: "name" | |||
}); | |||
} | |||
} | |||
}); | |||
} | |||
} | |||
}); | |||
$('#UnitId').lrselect({ allowSearch: true }); | |||
$('#FloorId').lrselect({ allowSearch: true }); | |||
$('#Sex').lrDataItemSelect({ code: 'usersex' }); | |||
//.lrRadioCheckbox({ | |||
// type: 'radio', | |||
// code: 'usersex', | |||
//}); | |||
$('#Class').lrselect({ | |||
value: "classno", | |||
text: "classname" | |||
}); | |||
$('#Dept').lrselect({ | |||
value: "deptno", | |||
text: "deptname", | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=CdDeptInfo', | |||
select: function (item) { | |||
if (item) { | |||
$('#Major').lrselectRefresh({ | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable', | |||
param: { code: "CdMajorInfo", strWhere: "DeptNo='" + item.deptno + "'" } | |||
}); | |||
} | |||
else { | |||
$('#Major').lrselectRefresh({ | |||
url: "", | |||
data: [] | |||
}); | |||
} | |||
$('#Class').lrselectRefresh({ | |||
url: "", | |||
data: [] | |||
}); | |||
} | |||
}); | |||
$('#Major').lrselect({ | |||
value: "majorno", | |||
text: "majorname", | |||
select: function (item) { | |||
if (item) { | |||
$('#Class').lrselectRefresh({ | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable', | |||
param: { code: "bjsj", strWhere: "DeptNo='" + item.deptno + "' and majorno='" + item.majorno + "'" } | |||
}); | |||
} | |||
} | |||
}); | |||
$('#Major').on("click", | |||
function () { | |||
var data = $('#Dept').lrselectGet(); | |||
if (!data) { | |||
learun.alert.error('请先选择系'); | |||
} | |||
}); | |||
$('#Class').on("click", | |||
function () { | |||
var data1 = $('#Dept').lrselectGet(); | |||
var data2 = $('#Major').lrselectGet(); | |||
if (!data1 || !data2) { | |||
learun.alert.error('请先选择系和专业'); | |||
} | |||
}); | |||
// 刷新 | |||
$('#lr_refresh').on('click', function () { | |||
location.reload(); | |||
}); | |||
// 新增 | |||
$('#lr_add').on('click', function () { | |||
if (selectedParent.BuildType != '3') { | |||
return learun.alert.warning("请选择楼层!"); | |||
} | |||
var url = ""; | |||
if (selectedParent.ID != null) { | |||
url = top.$.rootUrl + '/LogisticsManagement/Accommodation/Form?ParentID=' + selectedParent.ID + '&ParentName=' + selectedParent.Name; | |||
} else { | |||
url = top.$.rootUrl + '/LogisticsManagement/Accommodation/Form'; | |||
return learun.alert.warning("请选择上级!"); | |||
//url = top.$.rootUrl + '/LogisticsManagement/Accommodation/Form'; | |||
} | |||
learun.layerForm({ | |||
id: 'form', | |||
title: '新增', | |||
url: url, | |||
width: 600, | |||
height: 400, | |||
width: 900, | |||
height: 550, | |||
callBack: function (id) { | |||
return top[id].acceptClick(refreshGirdData); | |||
} | |||
@@ -58,8 +160,8 @@ var bootstrap = function ($, learun) { | |||
id: 'form', | |||
title: '编辑', | |||
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/Form?keyValue=' + keyValue, | |||
width: 600, | |||
height: 400, | |||
width: 900, | |||
height: 550, | |||
callBack: function (id) { | |||
return top[id].acceptClick(refreshGirdData); | |||
} | |||
@@ -82,7 +184,8 @@ var bootstrap = function ($, learun) { | |||
//批量添加宿舍 | |||
$("#lr_dormitoryAdd").on("click", function () { | |||
var keyvalue1 = $("#gridtable").jfGridValue("ID"); | |||
if (selectedParent.ChildType == "2") { | |||
//console.log(selectedParent.ChildType); | |||
if (selectedParent.BuildType == "1") { | |||
var keyValue = selectedParent.ID; | |||
learun.layerForm({ | |||
id: 'form', | |||
@@ -138,7 +241,45 @@ var bootstrap = function ($, learun) { | |||
}); | |||
} | |||
}); | |||
//床位管理 | |||
$("#lr_bedManage").on("click", function () { | |||
var keyValue = $('#gridtable').jfGridValue('ID'); | |||
if (learun.checkrow(keyValue)) { | |||
if (keyValue.indexOf(',') != -1) { | |||
learun.alert.warning("只能选择一条记录!"); | |||
return false; | |||
} | |||
learun.layerForm({ | |||
id: 'indexBed', | |||
title: '床位管理', | |||
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/IndexBed?ParentID=' + keyValue, | |||
width: 700, | |||
height: 500, | |||
callBack: function (id) { | |||
return top[id].acceptClick(refreshGirdData); | |||
} | |||
}); | |||
} | |||
}); | |||
//分类管理 | |||
$("#lr_Classify").on("click", function () { | |||
learun.layerForm({ | |||
id: 'indexClassify', | |||
title: '分类管理', | |||
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/IndexClassify', | |||
width: 1200, | |||
height: 780, | |||
//btn:null, | |||
callBack: function (id) { | |||
return top[id].acceptClick(refreshGirdData); | |||
} | |||
}); | |||
}); | |||
}, | |||
//初始化左侧树 | |||
initTree: function () { | |||
@@ -148,7 +289,7 @@ var bootstrap = function ($, learun) { | |||
nodeClick: function (item) { | |||
selectedParent.ID = item.value; | |||
selectedParent.Name = item.text; | |||
selectedParent.BuildType = item.title; | |||
if (item.parent) { | |||
if (!item.parent.parentId) { | |||
selectedParent.ChildType = "2"; | |||
@@ -162,155 +303,283 @@ var bootstrap = function ($, learun) { | |||
if (item.text.indexOf("室") > -1) { | |||
selectedParent.ChildType = "5"; | |||
} | |||
page.initGird(); | |||
page.search({ ParentID: item.value }); | |||
var param = {}; | |||
if (item.title == '1') | |||
param.ApartmentId = item.value; | |||
else if (item.title == '2') | |||
param.UnitId = item.value; | |||
else if (item.title == '3') | |||
param.FloorId = item.value; | |||
//page.initGird(); | |||
//page.search({ ParentID: item.value }); | |||
page.search(param); | |||
} | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
//$("#gridtable").removeClass("jfgrid-layout"); | |||
//$("#gridtable").removeAttr("style"); | |||
//$("#gridtable").empty(); | |||
//宿舍数据 | |||
$('#gridtable').jfGrid({ | |||
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/GetPageList', | |||
headData: [ | |||
{ label: "名称", name: "Name", width: 100, align: "left" }, | |||
{ | |||
label: "宿舍楼", name: "ApartmentName", width: 100, align: "left" | |||
}, | |||
{ | |||
label: "单元", name: "UnitName", width: 100, align: "left" | |||
}, | |||
{ | |||
label: "楼层", name: "FloorName", width: 100, align: "left" | |||
}, | |||
//{ | |||
// label: "学生", name: "StudentID", width: 100, align: "left", | |||
// formatterAsync: function (callback, value, row, op, $cell) { | |||
//$("#gridtable")[0].dfop = undefined; | |||
if (selectedParent.ChildType == "5") { | |||
$('#gridtable').lrAuthorizeJfGridLei({ | |||
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/GetPageList', | |||
headData: [ | |||
{ label: "名称", name: "Name", width: 100, align: "left" }, | |||
{ label: "学生名字", name: "StuName", width: 100, align: "left" }, | |||
// learun.clientdata.getAsync('custmerData', { | |||
// url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'StuInfoBasic', | |||
// key: value, | |||
// keyId: 'stuid', | |||
// callback: function (_data) { | |||
// callback(_data['stuname']); | |||
// } | |||
// }); | |||
// } | |||
//}, | |||
{ label: "位置", name: "Address", width: 100, align: "left" }, | |||
{ | |||
label: "校区", name: "Campus", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
{ label: "班级", name: "Class", width: 100, align: "left" }, | |||
{ | |||
label: "性别", name: "Sex", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('dataItem', { | |||
key: value, | |||
code: 'usersex', | |||
callback: function (_data) { | |||
callback(_data.text); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: "负责人", name: "Functionary", width: 100, align: "left" }, | |||
{ label: "负责人电话", name: "Phone", width: 100, align: "left" }, | |||
{ label: "价格", name: "Price", width: 100, align: "left" }, | |||
{ label: "星级", name: "Starred", width: 100, align: "left" }, | |||
{ | |||
label: "是否独卫", name: "HasToilet", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('dataItem', { | |||
key: value, | |||
code: 'HasToilet', | |||
callback: function (_data) { | |||
callback(_data.text); | |||
} | |||
}); | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'company', | |||
key: value, | |||
keyId: 'f_companyid', | |||
callback: function (_data) { | |||
callback(_data['f_fullname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "系", name: "Dept", 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: "Major", 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: "Class", 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: "RoomType", width: 100, align: "left", | |||
formatter: function (value, row) { | |||
if (value) { | |||
return value + '人寝'; | |||
} else { | |||
return ''; | |||
} | |||
}, | |||
{ label: "舍长", name: "Leader", width: 100, align: "left" }, | |||
{ label: "备注", name: "Remark", width: 100, align: "left" }, | |||
], | |||
mainId: 'ID', | |||
isPage: true, | |||
isMultiselect:true | |||
}); | |||
} else { | |||
$('#gridtable').lrAuthorizeJfGridLei({ | |||
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/GetPageList', | |||
headData: [ | |||
{ label: "名称", name: "Name", width: 100, align: "left" }, | |||
{ label: "学生", name: "StudentID", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
} | |||
}, | |||
{ label: "入住人数", name: "CheckInStu", width: 100, align: "left" }, | |||
{ | |||
label: "性别", name: "Sex", width: 100, align: "left", | |||
formatter: function (value, row) { | |||
if (value == '0') | |||
return '女'; | |||
else if (value == '1') | |||
return '男'; | |||
else | |||
return ''; | |||
} | |||
}, | |||
{ label: "负责人", name: "Functionary", width: 100, align: "left" }, | |||
{ label: "负责人电话", name: "Phone", width: 100, align: "left" }, | |||
{ label: "备注", name: "Remark", width: 100, align: "left" }, | |||
], | |||
mainId: 'ID', | |||
isPage: true, | |||
isMultiselect: true, | |||
sidx: 'ApartmentId asc,UnitId asc ,FloorId asc ', | |||
//sord: 'ASC', | |||
isSubGrid: true, // 是否有子表 | |||
subGridExpanded: function (subContentId, rowItem) { | |||
$('#' + subContentId).jfGrid({ | |||
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/GetBedListByRoomId?RoomId=' + rowItem.ID, | |||
headData: [ | |||
{ label: "名称", name: "Name", width: 100, align: "left" }, | |||
{ | |||
label: "学生", name: "StudentID", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'StuInfoBasic', | |||
key: value, | |||
keyId: 'stuno', | |||
callback: function (_data) { | |||
callback(_data['stuname']); | |||
} | |||
}); | |||
} | |||
}, | |||
], | |||
mainId: 'ID', | |||
isPage: false, | |||
//sidx: 'DNo', | |||
//sord: 'ASC', | |||
}); | |||
//var param; | |||
//param = param || {}; | |||
//param.ParentID = rowItem.Id; | |||
$('#' + subContentId).jfGridSet('reload'); | |||
}, | |||
subGridHeight: 250, | |||
}); | |||
//$("#gridtable").empty(); | |||
//$("#gridtable")[0].dfop = undefined; | |||
//if (selectedParent.BuildType == undefined || selectedParent.BuildType === "3") { | |||
//} else { | |||
// //lrAuthorizeJfGridLei | |||
// $('#gridtable').jfGrid({ | |||
// url: top.$.rootUrl + '/LogisticsManagement/Accommodation/GetPageList', | |||
// headData: [ | |||
// { label: "名称", name: "Name", width: 100, align: "left" }, | |||
// { | |||
// label: "宿舍楼", name: "ApartmentName", width: 100, align: "left" | |||
// }, | |||
// { | |||
// label: "单元", name: "UnitName", width: 100, align: "left" | |||
// }, | |||
// { | |||
// label: "楼层", name: "FloorName", width: 100, align: "left" | |||
// }, | |||
// //{ | |||
// // label: "学生", name: "StudentID", width: 100, align: "left", | |||
// // formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'StuInfoBasic', | |||
key: value, | |||
keyId: 'stuid', | |||
callback: function (_data) { | |||
callback(_data['stuname']); | |||
} | |||
}); | |||
} }, | |||
{ label: "位置", name: "Address", width: 100, align: "left" }, | |||
{ | |||
label: "校区", name: "Campus", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
// // learun.clientdata.getAsync('custmerData', { | |||
// // url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'StuInfoBasic', | |||
// // key: value, | |||
// // keyId: 'stuid', | |||
// // callback: function (_data) { | |||
// // callback(_data['stuname']); | |||
// // } | |||
// // }); | |||
// // } | |||
// //}, | |||
// { label: "位置", name: "Address", width: 100, align: "left" }, | |||
// { | |||
// label: "校区", name: "Campus", width: 100, align: "left", | |||
// formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'company', | |||
key: value, | |||
keyId: 'f_companyid', | |||
callback: function (_data) { | |||
callback(_data['f_fullname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "系", name: "Dept", 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: "Major", 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: 'id', | |||
callback: function (_data) { | |||
callback(_data['majorname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: "班级", name: "Class", width: 100, align: "left" }, | |||
{ | |||
label: "性别", name: "Sex", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('dataItem', { | |||
key: value, | |||
code: 'usersex', | |||
callback: function (_data) { | |||
callback(_data.text); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: "负责人", name: "Functionary", width: 100, align: "left" }, | |||
{ label: "负责人电话", name: "Phone", width: 100, align: "left" }, | |||
{ label: "备注", name: "Remark", width: 100, align: "left" }, | |||
], | |||
mainId: 'ID', | |||
isPage: true, | |||
isMultiselect:true | |||
}); | |||
} | |||
// learun.clientdata.getAsync('custmerData', { | |||
// url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'company', | |||
// key: value, | |||
// keyId: 'f_companyid', | |||
// callback: function (_data) { | |||
// callback(_data['f_fullname']); | |||
// } | |||
// }); | |||
// } | |||
// }, | |||
// //{ | |||
// // label: "系", name: "Dept", 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: "Major", 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: 'id', | |||
// // callback: function (_data) { | |||
// // callback(_data['majorname']); | |||
// // } | |||
// // }); | |||
// // } | |||
// //}, | |||
// //{ label: "班级", name: "Class", width: 100, align: "left" }, | |||
// //{ | |||
// // label: "性别", name: "Sex", width: 100, align: "left", | |||
// // formatterAsync: function (callback, value, row, op, $cell) { | |||
// // learun.clientdata.getAsync('dataItem', { | |||
// // key: value, | |||
// // code: 'usersex', | |||
// // callback: function (_data) { | |||
// // callback(_data.text); | |||
// // } | |||
// // }); | |||
// // } | |||
// //}, | |||
// { label: "负责人", name: "Functionary", width: 100, align: "left" }, | |||
// { label: "负责人电话", name: "Phone", width: 100, align: "left" }, | |||
// { label: "备注", name: "Remark", width: 100, align: "left" }, | |||
// ], | |||
// mainId: 'ID', | |||
// isPage: true, | |||
// //isMultiselect: true | |||
// //sidx: 'ApartmentId asc,UnitId asc ,FloorId asc ', | |||
// //sord: 'ASC', | |||
// }); | |||
//} | |||
//page.search(); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
param.SqlParameter = " AND t.BuildType ='4' "; | |||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
} | |||
}; | |||
refreshGirdData = function () { | |||
//page.initTree(); | |||
if (!!selectedParent.ID) { | |||
//var param = { ParentID: selectedParent.ID }; | |||
//$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
page.initTree(); | |||
page.search({ ParentID: selectedParent.ID }); | |||
} else { | |||
page.initTree(); | |||
page.search(); | |||
} | |||
}; | |||
@@ -0,0 +1,61 @@ | |||
@{ | |||
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> | |||
<div class="lr-layout-tool-right"> | |||
<div class=" btn-group btn-group-sm"> | |||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | |||
</div> | |||
<div class=" btn-group btn-group-sm" learun-authorize="yes"> | |||
<a id="lr_add" class="btn btn-default"><i class="fa fa-plus"></i> 录入</a> | |||
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i> 修改</a> | |||
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i> 删除</a> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
</div> | |||
@*<div class="lr-layout lr-layout-left-center" id="lr_layout"> | |||
<div class="lr-layout-left"> | |||
<div class="lr-layout-wrap"> | |||
<div class="lr-layout-title lrlt "> | |||
树形列表 | |||
<a id="tree_refresh" onmouseover="this.style.cursor='hand'">刷新</a> | |||
</div> | |||
<div id="dataTree" class="lr-layout-body"></div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-center"> | |||
<div class="lr-layout-wrap "> | |||
<div class="lr-layout-tool"> | |||
<div class="lr-layout-tool-right"> | |||
<div class=" btn-group btn-group-sm"> | |||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | |||
</div> | |||
<div class=" btn-group btn-group-sm" learun-authorize="yes"> | |||
<a id="lr_add" class="btn btn-default"><i class="fa fa-plus"></i> 录入</a> | |||
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i> 修改</a> | |||
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i> 删除</a> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
</div>*@ | |||
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/Accommodation/IndexBed.js") |
@@ -0,0 +1,110 @@ | |||
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) | |||
* Copyright (c) 2013-2018 北京泉江科技有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2019-04-26 15:02 | |||
* 描 述:学生宿舍管理 | |||
*/ | |||
var refreshGirdData; | |||
var acceptClick; | |||
var selectedParent = {}; | |||
var ParentID = request('ParentID'); | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
page.initGird(); | |||
page.bind(); | |||
}, | |||
bind: function () { | |||
// 刷新 | |||
$('#lr_refresh').on('click', function () { | |||
location.reload(); | |||
}); | |||
// 新增 | |||
$('#lr_add').on('click', function () { | |||
learun.layerForm({ | |||
id: 'form', | |||
title: '新增', | |||
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/FormBed?ParentID=' + ParentID, | |||
width: 400, | |||
height: 300, | |||
callBack: function (id) { | |||
return top[id].acceptClick(refreshGirdData); | |||
} | |||
}); | |||
}); | |||
// 编辑 | |||
$('#lr_edit').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('ID'); | |||
if (learun.checkrow(keyValue)) { | |||
if (keyValue.indexOf(',') != -1) { | |||
learun.alert.warning("只能选择一条记录进行编辑!"); | |||
return false; | |||
} | |||
learun.layerForm({ | |||
id: 'form', | |||
title: '编辑', | |||
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/FormBed?keyValue=' + keyValue + '&ParentID=' + ParentID, | |||
width: 400, | |||
height: 300, | |||
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 + '/LogisticsManagement/Accommodation/DeleteBed', { keyValue: keyValue, ParentID: ParentID }, function () { | |||
refreshGirdData(); | |||
}); | |||
} | |||
}); | |||
} | |||
}); | |||
// 打印 | |||
$('#lr_print').on('click', function () { | |||
$('#gridtable').jqprintTable(); | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
$('#gridtable').jfGrid({ | |||
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/GetBedListByRoomId?RoomId=' + ParentID, | |||
headData: [ | |||
{ label: "名称", name: "Name", width: 100, align: "left" }, | |||
], | |||
mainId: 'ID', | |||
isPage: false, | |||
//isMultiselect: true, | |||
//sidx: 'ApartmentId asc,UnitId asc ,FloorId asc ', | |||
//sord: 'ASC', | |||
}); | |||
page.search(); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
} | |||
}; | |||
refreshGirdData = function () { | |||
page.search(); | |||
}; | |||
// 保存数据 | |||
acceptClick = function (callBack) { | |||
if (!!callBack) { | |||
callBack(); | |||
} | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,69 @@ | |||
@{ | |||
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="Name" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">宿舍楼</div> | |||
<div id="ApartmentId"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">单元</div> | |||
<div id="UnitId"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">楼层</div> | |||
<div id="FloorId"></div> | |||
</div> | |||
@*<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">类别</div> | |||
<input id="BuildType" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">系</div> | |||
<div id="Dept"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">专业</div> | |||
<div id="Major"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">班级</div> | |||
<div id="Class"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">性别</div> | |||
<div id="Sex"></div> | |||
</div>*@ | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-tool-right"> | |||
<div class=" btn-group btn-group-sm"> | |||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | |||
</div> | |||
<div class=" btn-group btn-group-sm" learun-authorize="yes"> | |||
<a id="lr_add" class="btn btn-default"><i class="fa fa-plus"></i> 录入</a> | |||
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i> 修改</a> | |||
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i> 删除</a> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/Accommodation/IndexClassify.js") |
@@ -0,0 +1,187 @@ | |||
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) | |||
* Copyright (c) 2013-2018 北京泉江科技有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2019-04-26 15:02 | |||
* 描 述:学生宿舍管理 | |||
*/ | |||
var refreshGirdData; | |||
var acceptClick; | |||
var selectedParent = {}; | |||
//var ParentID = request('ParentID'); | |||
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(); | |||
}); | |||
//宿舍楼 | |||
$('#ApartmentId').lrselect({ | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=DormitoryInfo', | |||
param: { strWhere: " BuildType='1' " }, | |||
value: "id", | |||
text: "name", | |||
select: function (item) { | |||
if (!!item) { | |||
//单元 | |||
$('#UnitId').lrselectRefresh({ | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=DormitoryInfo', | |||
param: { strWhere: " BuildType='2' and ApartmentId='" + item.id + "'" }, | |||
value: "id", | |||
text: "name", | |||
select: function (item) { | |||
if (!!item) { | |||
//楼层 | |||
$('#FloorId').lrselectRefresh({ | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=DormitoryInfo', | |||
param: { strWhere: " BuildType='3' and UnitId='" + item.id + "'" }, | |||
value: "id", | |||
text: "name" | |||
}); | |||
} | |||
} | |||
}); | |||
} | |||
} | |||
}); | |||
$('#UnitId').lrselect({ allowSearch: true }); | |||
$('#FloorId').lrselect({ allowSearch: true }); | |||
// 新增 | |||
$('#lr_add').on('click', function () { | |||
learun.layerForm({ | |||
id: 'form', | |||
title: '新增', | |||
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/FormClassify', | |||
width: 700, | |||
height: 400, | |||
callBack: function (id) { | |||
return top[id].acceptClick(refreshGirdData); | |||
} | |||
}); | |||
}); | |||
// 编辑 | |||
$('#lr_edit').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('ID'); | |||
if (learun.checkrow(keyValue)) { | |||
if (keyValue.indexOf(',') != -1) { | |||
learun.alert.warning("只能选择一条记录进行编辑!"); | |||
return false; | |||
} | |||
learun.layerForm({ | |||
id: 'form', | |||
title: '编辑', | |||
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/FormClassify?keyValue=' + keyValue, | |||
width: 700, | |||
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 + '/LogisticsManagement/Accommodation/DeleteForm', { keyValue: keyValue }, function () { | |||
refreshGirdData(); | |||
}); | |||
} | |||
}); | |||
} | |||
}); | |||
// 打印 | |||
$('#lr_print').on('click', function () { | |||
$('#gridtable').jqprintTable(); | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
$('#gridtable').jfGrid({ | |||
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/GetClassifyList', | |||
headData: [ | |||
{ label: "名称", name: "Name", width: 150, align: "left" }, | |||
{ | |||
label: "宿舍楼", name: "ApartmentName", width: 100, align: "left" | |||
}, | |||
{ | |||
label: "单元", name: "UnitName", width: 100, align: "left" | |||
}, | |||
{ | |||
label: "楼层", name: "FloorName", width: 100, align: "left" | |||
}, | |||
{ | |||
label: "类型", name: "BuildType", width: 100, align: "left", | |||
formatter: function (value, row) { | |||
if (value == '1') return '宿舍楼'; | |||
else if (value == '2') return '单元'; | |||
else if (value == '3') return '楼层'; | |||
else if (value == '4') return '房间'; | |||
} | |||
}, | |||
{ label: "位置", name: "Address", width: 100, align: "left" }, | |||
{ | |||
label: "校区", name: "Campus", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'company', | |||
key: value, | |||
keyId: 'f_companyid', | |||
callback: function (_data) { | |||
callback(_data['f_fullname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: "负责人", name: "Functionary", width: 100, align: "left" }, | |||
{ label: "负责人电话", name: "Phone", width: 100, align: "left" }, | |||
{ label: "备注", name: "Remark", width: 100, align: "left" }, | |||
], | |||
mainId: 'ID', | |||
isPage: false, | |||
//isMultiselect: true, | |||
//sidx: 'ApartmentId asc,UnitId asc ,FloorId asc ', | |||
isTree: true, | |||
parentId: 'ParentID', | |||
}); | |||
page.search(); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
//param.SqlParameter = " AND t.BuildType <>'5' "; | |||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
} | |||
}; | |||
refreshGirdData = function () { | |||
page.search(); | |||
}; | |||
// 保存数据 | |||
acceptClick = function (callBack) { | |||
learun.layerClose('indexClassify', ''); | |||
if (!!callBack) { | |||
callBack(); | |||
} | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,92 @@ | |||
@{ | |||
ViewBag.Title = "学生宿舍管理"; | |||
Layout = "~/Views/Shared/_Index.cshtml"; | |||
} | |||
<div class="lr-layout lr-layout-left-center" id="lr_layout"> | |||
<div class="lr-layout-left"> | |||
<div class="lr-layout-wrap"> | |||
<div class="lr-layout-title lrlt "> | |||
树形列表 | |||
<a id="tree_refresh" onmouseover="this.style.cursor='hand'">刷新</a> | |||
</div> | |||
<div id="dataTree" class="lr-layout-body"></div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-center"> | |||
<div class="lr-layout-wrap "> | |||
<div class="lr-layout-title"> | |||
<span id="titleinfo" class="lrlt">列表信息</span> | |||
</div> | |||
<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="Name" type="text" class="form-control" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">宿舍楼</div> | |||
<div id="ApartmentId"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">单元</div> | |||
<div id="UnitId"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">楼层</div> | |||
<div id="FloorId"></div> | |||
</div> | |||
@*<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">类别</div> | |||
<input id="BuildType" type="text" class="form-control" /> | |||
</div>*@ | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">系</div> | |||
<div id="Dept"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">专业</div> | |||
<div id="Major"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">班级</div> | |||
<div id="Class"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">性别</div> | |||
<div id="Sex"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">未分配</div> | |||
<div id="NoDistribution"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<div class="lr-form-item-title">已分配</div> | |||
<div id="Distribution"></div> | |||
</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> | |||
@*<a id="lr_dormitoryAdd" class="btn btn-default"><i class="fa fa-pencil-square"></i> 批量添加宿舍</a> | |||
<a id="lr_allocation" class="btn btn-default"><i class="fa fa-pencil-square"></i> 自动分配宿舍</a>*@ | |||
</div> | |||
<div class=" btn-group btn-group-sm" learun-authorize="yes"> | |||
<a id="lr_Dept" class="btn btn-default"><i class="fa fa-pencil-square"></i> 分配系</a> | |||
<a id="lr_Class" class="btn btn-default"><i class="fa fa-pencil-square"></i> 分配专业班级</a> | |||
<a id="lr_Bed" class="btn btn-default"><i class="fa fa-pencil-square"></i> 分配宿舍</a> | |||
<a id="lr_print" class="btn btn-default"><i class="fa fa-print"></i> 打印</a> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/Accommodation/IndexDistribution.js") |
@@ -0,0 +1,625 @@ | |||
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) | |||
* Copyright (c) 2013-2018 北京泉江科技有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2019-04-26 15:02 | |||
* 描 述:学生宿舍管理 | |||
*/ | |||
var refreshGirdData; | |||
var selectedParent = {}; | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
page.initTree(); | |||
page.initGird(); | |||
page.search({ ParentID: '' }); | |||
page.bind(); | |||
}, | |||
bind: function () { | |||
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) { | |||
page.search(queryJson); | |||
}, 420, 400); | |||
//宿舍楼 | |||
$('#ApartmentId').lrselect({ | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=DormitoryInfo', | |||
param: { strWhere: " BuildType='1' " }, | |||
value: "id", | |||
text: "name", | |||
select: function (item) { | |||
if (!!item) { | |||
//单元 | |||
$('#UnitId').lrselectRefresh({ | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=DormitoryInfo', | |||
param: { strWhere: " BuildType='2' and ApartmentId='" + item.id + "'" }, | |||
value: "id", | |||
text: "name", | |||
select: function (item) { | |||
if (!!item) { | |||
//楼层 | |||
$('#FloorId').lrselectRefresh({ | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=DormitoryInfo', | |||
param: { strWhere: " BuildType='3' and UnitId='" + item.id + "'" }, | |||
value: "id", | |||
text: "name" | |||
}); | |||
} | |||
} | |||
}); | |||
} | |||
} | |||
}); | |||
$('#UnitId').lrselect({ allowSearch: true }); | |||
$('#FloorId').lrselect({ allowSearch: true }); | |||
$('#Sex').lrDataItemSelect({ code: 'usersex' }); | |||
//.lrRadioCheckbox({ | |||
// type: 'radio', | |||
// code: 'usersex', | |||
//}); | |||
$('#NoDistribution').lrRadioCheckbox({ | |||
type: 'checkbox', | |||
code: 'NoDistribution' | |||
}); | |||
$('#Distribution').lrRadioCheckbox({ | |||
type: 'checkbox', | |||
code: 'NoDistribution' | |||
}); | |||
$('#Class').lrselect({ | |||
value: "classno", | |||
text: "classname" | |||
}); | |||
$('#Dept').lrselect({ | |||
value: "deptno", | |||
text: "deptname", | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=CdDeptInfo', | |||
select: function (item) { | |||
if (item) { | |||
$('#Major').lrselectRefresh({ | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable', | |||
param: { code: "CdMajorInfo", strWhere: "DeptNo='" + item.deptno + "'" } | |||
}); | |||
} | |||
else { | |||
$('#Major').lrselectRefresh({ | |||
url: "", | |||
data: [] | |||
}); | |||
} | |||
$('#Class').lrselectRefresh({ | |||
url: "", | |||
data: [] | |||
}); | |||
} | |||
}); | |||
$('#Major').lrselect({ | |||
value: "majorno", | |||
text: "majorname", | |||
select: function (item) { | |||
if (item) { | |||
$('#Class').lrselectRefresh({ | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable', | |||
param: { code: "bjsj", strWhere: "DeptNo='" + item.deptno + "' and majorno='" + item.majorno + "'" } | |||
}); | |||
} | |||
} | |||
}); | |||
$('#Major').on("click", | |||
function () { | |||
var data = $('#Dept').lrselectGet(); | |||
if (!data) { | |||
learun.alert.error('请先选择系'); | |||
} | |||
}); | |||
$('#Class').on("click", | |||
function () { | |||
var data1 = $('#Dept').lrselectGet(); | |||
var data2 = $('#Major').lrselectGet(); | |||
if (!data1 || !data2) { | |||
learun.alert.error('请先选择系和专业'); | |||
} | |||
}); | |||
// 刷新 | |||
$('#lr_refresh').on('click', function () { | |||
location.reload(); | |||
}); | |||
// 新增 | |||
$('#lr_add').on('click', function () { | |||
var url = ""; | |||
if (selectedParent.ID != null) { | |||
url = top.$.rootUrl + '/LogisticsManagement/Accommodation/Form?ParentID=' + selectedParent.ID + '&ParentName=' + selectedParent.Name; | |||
} else { | |||
return learun.alert.warning("请选择上级!"); | |||
//url = top.$.rootUrl + '/LogisticsManagement/Accommodation/Form'; | |||
} | |||
learun.layerForm({ | |||
id: 'form', | |||
title: '新增', | |||
url: url, | |||
width: 900, | |||
height: 550, | |||
callBack: function (id) { | |||
return top[id].acceptClick(refreshGirdData); | |||
} | |||
}); | |||
}); | |||
// 编辑 | |||
$('#lr_edit').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('ID'); | |||
if (learun.checkrow(keyValue)) { | |||
if (keyValue.indexOf(',') != -1) { | |||
learun.alert.warning("只能选择一条记录进行编辑!"); | |||
return false; | |||
} | |||
learun.layerForm({ | |||
id: 'form', | |||
title: '编辑', | |||
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/Form?keyValue=' + keyValue, | |||
width: 900, | |||
height: 550, | |||
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 + '/LogisticsManagement/Accommodation/DeleteForm', { keyValue: keyValue }, function () { | |||
refreshGirdData(); | |||
}); | |||
} | |||
}); | |||
} | |||
}); | |||
//批量添加宿舍 | |||
$("#lr_dormitoryAdd").on("click", function () { | |||
var keyvalue1 = $("#gridtable").jfGridValue("ID"); | |||
if (selectedParent.ChildType == "2") { | |||
var keyValue = selectedParent.ID; | |||
learun.layerForm({ | |||
id: 'form', | |||
title: '批量添加宿舍', | |||
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/DormitoryAdd?keyValue=' + keyValue, | |||
width: 600, | |||
height: 400, | |||
callBack: function (id) { | |||
return top[id].acceptClick(refreshGirdData); | |||
} | |||
}); | |||
} | |||
else { | |||
learun.alert.warning("请选择楼"); | |||
} | |||
}); | |||
// 打印 | |||
$('#lr_print').on('click', function () { | |||
$('#gridtable').jqprintTable(); | |||
}); | |||
//刷新左侧的树 | |||
$("#tree_refresh").on("click", function () { | |||
page.initTree(); | |||
}); | |||
//分配系 | |||
$("#lr_Dept").on("click", function () { | |||
var keyValue = $('#gridtable').jfGridValue('ID'); | |||
var BuildType = $('#gridtable').jfGridValue('BuildType'); | |||
var Dept = $('#gridtable').jfGridValue('Dept'); | |||
var arr = BuildType.split(','); | |||
if (arr.some(x => x != '4')) { | |||
return learun.alert.warning("只能选择宿舍进行分配!"); | |||
} | |||
if (keyValue.indexOf(',') > 0) { | |||
var arrDept = Dept.split(','); | |||
for (var i = 0; i < arrDept.length; i++) { | |||
if (arrDept[i].length >= 1) { | |||
learun.alert.warning("选中记录包含已分配的数据!"); | |||
return false; | |||
} | |||
} | |||
} | |||
learun.layerForm({ | |||
id: 'formDept', | |||
title: '分配系部', | |||
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/FormDept?keyValue=' + keyValue, | |||
width: 400, | |||
height: 300, | |||
callBack: function (id) { | |||
return top[id].acceptClick(refreshGirdData); | |||
} | |||
}); | |||
}); | |||
//分配专业和班级 | |||
$("#lr_Class").on("click", function () { | |||
var keyValue = $('#gridtable').jfGridValue('ID'); | |||
var BuildType = $('#gridtable').jfGridValue('BuildType'); | |||
var Dept = $('#gridtable').jfGridValue('Dept'); | |||
var arr = BuildType.split(','); | |||
if (arr.some(x => x != '4')) { | |||
return learun.alert.warning("只能选择宿舍进行分配!"); | |||
} | |||
var arrDept = Dept.split(','); | |||
if (arrDept.some(function (value, index) { | |||
return value.length === 0; | |||
})) { | |||
return learun.alert.warning("选中记录包含未分配系的数据!"); | |||
} | |||
if (keyValue.indexOf(',') > 0) { | |||
if (arrDept.some(function (value, index) { | |||
return value != arrDept[0]; | |||
})) { | |||
return learun.alert.warning("选中记录包含多种专业的数据,不可批量分配班级!"); | |||
} | |||
} | |||
learun.layerForm({ | |||
id: 'formClass', | |||
title: '分配专业班级', | |||
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/FormClass?keyValue=' + keyValue + '&Dept=' + arrDept[0], | |||
width: 400, | |||
height: 300, | |||
callBack: function (id) { | |||
return top[id].acceptClick(refreshGirdData); | |||
} | |||
}); | |||
}); | |||
//分配宿舍 | |||
$("#lr_Bed").on("click", function () { | |||
var keyValue = $('#gridtable').jfGridValue('ID'); | |||
var Sex = $('#gridtable').jfGridValue('Sex'); | |||
var BuildType = $('#gridtable').jfGridValue('BuildType'); | |||
var Name = $('#gridtable').jfGridValue('Name'); | |||
var Class = $('#gridtable').jfGridValue('Class'); | |||
var arr = BuildType.split(','); | |||
if (arr.some(x => x != '4')) { | |||
return learun.alert.warning("只能选择宿舍进行分配!"); | |||
} | |||
if (keyValue.indexOf(',') != -1) { | |||
return learun.alert.warning("只能选择一条记录进行分配!"); | |||
} | |||
if (Class.length == 0) { | |||
return learun.alert.warning("请先分配班级!"); | |||
} | |||
learun.layerForm({ | |||
id: 'formRoom', | |||
title: '分配宿舍--' + Name, | |||
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/FormRoom?keyValue=' + keyValue + '&Class=' + Class + '&Sex=' + Sex, | |||
width: 600, | |||
height: 400, | |||
callBack: function (id) { | |||
return top[id].acceptClick(refreshGirdData); | |||
} | |||
}); | |||
}); | |||
}, | |||
//初始化左侧树 | |||
initTree: function () { | |||
// 初始化左侧树形数据 | |||
$('#dataTree').lrtree({ | |||
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/GetTree', | |||
nodeClick: function (item) { | |||
selectedParent.ID = item.value; | |||
selectedParent.Name = item.text; | |||
selectedParent.BuildType = item.title; | |||
if (item.parent) { | |||
if (!item.parent.parentId) { | |||
selectedParent.ChildType = "2"; | |||
} else { | |||
selectedParent.ChildType = "0"; | |||
} | |||
} | |||
else { | |||
selectedParent.ChildType = "1"; | |||
} | |||
if (item.text.indexOf("室") > -1) { | |||
selectedParent.ChildType = "5"; | |||
} | |||
var param = {}; | |||
if (item.title == '1') | |||
param.ApartmentId = item.value; | |||
else if (item.title == '2') | |||
param.UnitId = item.value; | |||
else if (item.title == '3') | |||
param.FloorId = item.value; | |||
//page.initGird(); | |||
//page.search({ ParentID: item.value }); | |||
page.search(param); | |||
} | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
//宿舍数据 | |||
$('#gridtable').jfGrid({ | |||
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/GetPageList', | |||
headData: [ | |||
{ label: "名称", name: "Name", width: 100, align: "left" }, | |||
{ | |||
label: "宿舍楼", name: "ApartmentName", width: 100, align: "left" | |||
}, | |||
{ | |||
label: "单元", name: "UnitName", width: 100, align: "left" | |||
}, | |||
{ | |||
label: "楼层", name: "FloorName", width: 100, align: "left" | |||
}, | |||
//{ | |||
// label: "学生", name: "StudentID", width: 100, align: "left", | |||
// formatterAsync: function (callback, value, row, op, $cell) { | |||
// learun.clientdata.getAsync('custmerData', { | |||
// url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'StuInfoBasic', | |||
// key: value, | |||
// keyId: 'stuid', | |||
// callback: function (_data) { | |||
// callback(_data['stuname']); | |||
// } | |||
// }); | |||
// } | |||
//}, | |||
{ label: "位置", name: "Address", width: 100, align: "left" }, | |||
{ | |||
label: "校区", name: "Campus", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'company', | |||
key: value, | |||
keyId: 'f_companyid', | |||
callback: function (_data) { | |||
callback(_data['f_fullname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "系", name: "Dept", 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: "Major", 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: "Class", 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: "RoomType", width: 100, align: "left", | |||
formatter: function (value, row) { | |||
if (value) { | |||
return value + '人寝'; | |||
} else { | |||
return ''; | |||
} | |||
} | |||
}, | |||
{ label: "入住人数", name: "CheckInStu", width: 100, align: "left" }, | |||
{ | |||
label: "性别", name: "Sex", width: 100, align: "left", | |||
formatter: function (value, row) { | |||
if (value == '0') | |||
return '女'; | |||
else if (value == '1') | |||
return '男'; | |||
else | |||
return ''; | |||
} | |||
}, | |||
{ label: "负责人", name: "Functionary", width: 100, align: "left" }, | |||
{ label: "负责人电话", name: "Phone", width: 100, align: "left" }, | |||
{ label: "备注", name: "Remark", width: 100, align: "left" }, | |||
], | |||
mainId: 'ID', | |||
isPage: true, | |||
isMultiselect: true, | |||
sidx: 'CheckInStu asc,ApartmentId asc,UnitId asc ,FloorId asc ', | |||
//sord: 'ASC', | |||
isSubGrid: true, // 是否有子表 | |||
subGridExpanded: function (subContentId, rowItem) { | |||
$('#' + subContentId).jfGrid({ | |||
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/GetBedListByRoomId?RoomId=' + rowItem.ID, | |||
headData: [ | |||
{ label: "名称", name: "Name", width: 100, align: "left" }, | |||
{ | |||
label: "学生", name: "StudentID", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'StuInfoBasic', | |||
key: value, | |||
keyId: 'stuno', | |||
callback: function (_data) { | |||
callback(_data['stuname']); | |||
} | |||
}); | |||
} | |||
}, | |||
], | |||
mainId: 'ID', | |||
isPage: false, | |||
//sidx: 'DNo', | |||
//sord: 'ASC', | |||
}); | |||
//var param; | |||
//param = param || {}; | |||
//param.ParentID = rowItem.Id; | |||
$('#' + subContentId).jfGridSet('reload'); | |||
}, | |||
subGridHeight: 250, | |||
}); | |||
//$("#gridtable").empty(); | |||
//$("#gridtable")[0].dfop = undefined; | |||
//if (selectedParent.BuildType == undefined || selectedParent.BuildType === "3") { | |||
//} else { | |||
// //lrAuthorizeJfGridLei | |||
// $('#gridtable').jfGrid({ | |||
// url: top.$.rootUrl + '/LogisticsManagement/Accommodation/GetPageList', | |||
// headData: [ | |||
// { label: "名称", name: "Name", width: 100, align: "left" }, | |||
// { | |||
// label: "宿舍楼", name: "ApartmentName", width: 100, align: "left" | |||
// }, | |||
// { | |||
// label: "单元", name: "UnitName", width: 100, align: "left" | |||
// }, | |||
// { | |||
// label: "楼层", name: "FloorName", width: 100, align: "left" | |||
// }, | |||
// //{ | |||
// // label: "学生", name: "StudentID", width: 100, align: "left", | |||
// // formatterAsync: function (callback, value, row, op, $cell) { | |||
// // learun.clientdata.getAsync('custmerData', { | |||
// // url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'StuInfoBasic', | |||
// // key: value, | |||
// // keyId: 'stuid', | |||
// // callback: function (_data) { | |||
// // callback(_data['stuname']); | |||
// // } | |||
// // }); | |||
// // } | |||
// //}, | |||
// { label: "位置", name: "Address", width: 100, align: "left" }, | |||
// { | |||
// label: "校区", name: "Campus", width: 100, align: "left", | |||
// formatterAsync: function (callback, value, row, op, $cell) { | |||
// learun.clientdata.getAsync('custmerData', { | |||
// url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'company', | |||
// key: value, | |||
// keyId: 'f_companyid', | |||
// callback: function (_data) { | |||
// callback(_data['f_fullname']); | |||
// } | |||
// }); | |||
// } | |||
// }, | |||
// //{ | |||
// // label: "系", name: "Dept", 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: "Major", 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: 'id', | |||
// // callback: function (_data) { | |||
// // callback(_data['majorname']); | |||
// // } | |||
// // }); | |||
// // } | |||
// //}, | |||
// //{ label: "班级", name: "Class", width: 100, align: "left" }, | |||
// //{ | |||
// // label: "性别", name: "Sex", width: 100, align: "left", | |||
// // formatterAsync: function (callback, value, row, op, $cell) { | |||
// // learun.clientdata.getAsync('dataItem', { | |||
// // key: value, | |||
// // code: 'usersex', | |||
// // callback: function (_data) { | |||
// // callback(_data.text); | |||
// // } | |||
// // }); | |||
// // } | |||
// //}, | |||
// { label: "负责人", name: "Functionary", width: 100, align: "left" }, | |||
// { label: "负责人电话", name: "Phone", width: 100, align: "left" }, | |||
// { label: "备注", name: "Remark", width: 100, align: "left" }, | |||
// ], | |||
// mainId: 'ID', | |||
// isPage: true, | |||
// //isMultiselect: true | |||
// //sidx: 'ApartmentId asc,UnitId asc ,FloorId asc ', | |||
// //sord: 'ASC', | |||
// }); | |||
//} | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
param.SqlParameter = " AND t.BuildType ='4' "; | |||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
} | |||
}; | |||
refreshGirdData = function () { | |||
//page.initTree(); | |||
if (!!selectedParent.ID) { | |||
//var param = { ParentID: selectedParent.ID }; | |||
//$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
page.initTree(); | |||
page.search({ ParentID: selectedParent.ID }); | |||
} else { | |||
page.initTree(); | |||
page.search(); | |||
} | |||
}; | |||
page.init(); | |||
} |
@@ -79,10 +79,10 @@ | |||
<div class="inSec1ConTxt"> | |||
姓名 <span :title="floor.stuInfo.StuName" class="inSec1ConSpan1">{{floor.stuInfo.StuName}}</span> 学号 <span :title="floor.stuInfo.StuNo" class="inSec1ConSpan2" style="margin-left:0">{{floor.stuInfo.StuNo}}</span> | |||
</div> | |||
<div class="inSec1ConTxt"> | |||
@*<div class="inSec1ConTxt"> | |||
院系 <span :title="floor.stuInfo.DeptNo | filter_Dept" class="inSec1ConSpan1">{{floor.stuInfo.DeptNo | filter_Dept}}</span> 专业 <span :title="floor.stuInfo.MajorNo | filter_Major" style="margin-left:0" class="inSec1ConSpan2">{{floor.stuInfo.MajorNo | filter_Major}}</span> | |||
</div> | |||
<div @@click="checkDetail(floor)" class="inSec1Btn">查看更多信息 <i class="fa fa-angle-right"></i></div> | |||
<div @@click="checkDetail(floor)" class="inSec1Btn">查看更多信息 <i class="fa fa-angle-right"></i></div>*@ | |||
</div> | |||
</div> | |||
</li> | |||
@@ -237,7 +237,7 @@ | |||
top.learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo', | |||
key: value, | |||
keyId: 'id', | |||
keyId: 'majorno', | |||
callback: function (_data) { | |||
result = _data.majorname; | |||
@@ -398,7 +398,7 @@ | |||
}, | |||
addFloor: function () { | |||
var url = ""; | |||
url = top.$.rootUrl + '/LogisticsManagement/Accommodation/Form?ParentID=' + this.roomID + '&ParentName=' + this.roomName; | |||
url = top.$.rootUrl + '/LogisticsManagement/Accommodation/FormBed?ParentID=' + this.roomID + '&ParentName=' + this.roomName; | |||
top.learun.layerForm({ | |||
id: 'form', | |||
title: '新增', | |||
@@ -415,7 +415,7 @@ | |||
top.learun.layerForm({ | |||
id: 'form', | |||
title: '编辑', | |||
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/Form?keyValue=' + id, | |||
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/FormBed?keyValue=' + id, | |||
width: 600, | |||
height: 400, | |||
callBack: function (id) { | |||
@@ -542,7 +542,7 @@ | |||
top.learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo', | |||
key: value, | |||
keyId: 'id', | |||
keyId: 'majorno', | |||
callback: function (_data) { | |||
result = _data.majorname; | |||
@@ -76,7 +76,9 @@ | |||
<div class="inSec1Con inSec1Con1"> | |||
<img class="inSec1Horn" src="/Content/images/floor/inSec1-11.png" alt="" /> | |||
<div class="inSec1Con2"> | |||
<div class="inSec1ConT">{{floor.dormitory.Name}} <div class="inSec1Sex" :style="floor.dormitory.Sex | filter_style"><img :src="floor.dormitory.Sex | filter_sexImg" alt="" />{{floor.dormitory.Sex | filter_sex}}</div></div> | |||
<div class="inSec1ConT">{{floor.dormitory.Name}} | |||
@*<div class="inSec1Sex" :style="floor.dormitory.Sex | filter_style"><img :src="floor.dormitory.Sex | filter_sexImg" alt="" />{{floor.dormitory.Sex | filter_sex}}</div>*@ | |||
</div> | |||
<div class="inSec1ConTxt"> | |||
<span>{{floor.floorNum}}</span>层 <span>{{floor.RoomNum}}</span>间 <span>{{floor.BedNum}}</span>床 | |||
</div> | |||
@@ -255,7 +257,7 @@ | |||
floors: "", | |||
sexImgUrl: "/Content/images/floor/inSec1-10.png", | |||
dormitoryName: "", | |||
dormitoryID:"" | |||
dormitoryID: "" | |||
}, | |||
methods: { | |||
getData: function () { | |||
@@ -338,7 +340,7 @@ | |||
}, | |||
addFloor: function () { | |||
var url = ""; | |||
url = top.$.rootUrl + '/LogisticsManagement/Accommodation/Form?ParentID=' + this.dormitoryID + '&ParentName=' + this.dormitoryName; | |||
url = top.$.rootUrl + '/LogisticsManagement/Accommodation/FormClassify?ParentID=' + this.dormitoryID; | |||
top.learun.layerForm({ | |||
id: 'form', | |||
title: '新增', | |||
@@ -355,7 +357,7 @@ | |||
top.learun.layerForm({ | |||
id: 'form', | |||
title: '编辑', | |||
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/Form?keyValue=' + id, | |||
url: top.$.rootUrl + '/LogisticsManagement/Accommodation/FormClassify?keyValue=' + id, | |||
width: 600, | |||
height: 400, | |||
callBack: function (id) { | |||
@@ -385,7 +387,8 @@ | |||
content: '<div class="layerBox unitLayer">' + | |||
'<div class="layer_sec1 layer_sec">' + | |||
'<div class="laySec1L">' + | |||
'<div class="laySec1ConT">' + floor.dormitory.Name + this.filter_sex(floor.dormitory.Sex) + | |||
'<div class="laySec1ConT">' + floor.dormitory.Name+ | |||
'<span style="display:none">' + this.filter_sex(floor.dormitory.Sex) + '</span>' + | |||
'</div>' + | |||
'<div class="laySec1R">' + | |||
'<div><div class="laySec1Txt"><span>负 责 人</span>' + floor.dormitory.Functionary + '</div> <div class="laySec1Txt"><span>负责人电话</span>' + floor.dormitory.Phone + '</div></div>' + | |||
@@ -395,15 +398,15 @@ | |||
'</div>' + | |||
'<div class="layer_sec layer_sec2">' + | |||
'<ul class="laySec2List">' + | |||
'<li><span>编 号</span>' + floor.dormitory.Name + '</li>' + | |||
'<li><span>价 格</span>' + floor.dormitory.Price + ' <i>元</i></li>' + | |||
'<li><span>编 号</span>' + floor.dormitory.DNo + '</li>' + | |||
'<li><span>价 格</span>' + (floor.dormitory.Price == null ? '' : floor.dormitory.Price) + ' <i>元</i></li>' + | |||
'<li><span>楼 层</span>' + floor.floorNum + ' <i>层</i></li>' + | |||
'<li><span>入 住</span>' + floor.HasStudentNum + ' <i>人</i></li>' + | |||
'<li><span>房 间</span>' + floor.RoomNum + ' <i>间</i></li>' + | |||
'<li><span>空 床</span>' + floor.NoStudentNum + ' <i>床</i></li>' + | |||
'<li><span>床 位</span>' + floor.BedNum + ' <i>个</i></li>' + | |||
'<li><span>涉及院系</span>' + this.filter_Dept(floor.dormitory.Dept) + '</li>' + | |||
'<li><span>涉及专业</span>' + this.filter_Major(floor.dormitory.Major) + '</li>' + | |||
//'<li><span>涉及院系</span>' + this.filter_Dept(floor.dormitory.Dept) + '</li>' + | |||
//'<li><span>涉及专业</span>' + this.filter_Major(floor.dormitory.Major) + '</li>' + | |||
'</ul>' + | |||
'<div class="laySec2Btn">' + | |||
//'<a href="#"><img src="/Content/images/floor/inSec1-1.png" alt="" /></a>' + | |||
@@ -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="Acc_DormitoryReturn"> | |||
<div class="lr-form-item-title">床位</div> | |||
<div id="DormitoryBuildId"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryReturn"> | |||
<div class="lr-form-item-title">出宿时间</div> | |||
<input id="OutTime" type="text" class="form-control lr-input-wdatepicker" data-dateFmt="yyyy-MM-dd HH:mm:ss" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd HH:mm:ss',onpicked: function () { $('#OutTime').trigger('change'); } })" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryReturn"> | |||
<div class="lr-form-item-title">归宿时间</div> | |||
<input id="ReturnTime" type="text" class="form-control lr-input-wdatepicker" data-dateFmt="yyyy-MM-dd HH:mm:ss" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd HH:mm:ss',onpicked: function () { $('#ReturnTime').trigger('change'); } })" /> | |||
</div> | |||
@*<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryReturn"> | |||
<div class="lr-form-item-title">检查日期</div> | |||
<input id="CheckDate" type="text" class="form-control lr-input-wdatepicker" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd',onpicked: function () { $('#CheckDate').trigger('change'); } })" /> | |||
</div>*@ | |||
</div> | |||
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/DormitoryReturn/Form.js") |
@@ -0,0 +1,59 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2022-03-10 10:06 | |||
* 描 述:学生归宿管理 | |||
*/ | |||
var acceptClick; | |||
var keyValue = request('keyValue'); | |||
var ParentId = request('ParentId'); | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
$('.lr-form-wrap').lrscroll(); | |||
page.bind(); | |||
page.initData(); | |||
}, | |||
bind: function () { | |||
$('#DormitoryBuildId').lrselect({ | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable', | |||
param: { code: 'DormitoryInfo', strWhere: "ParentID='" + ParentId + "' and BuildType='5' and (StudentID is not null and len(StudentID)>0) order by name" }, | |||
text: 'name', | |||
value: 'id', | |||
allowSearch: true | |||
}); | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
$.lrSetForm(top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/GetFormData?keyValue=' + keyValue, function (data) { | |||
console.log('data', 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 + '/LogisticsManagement/DormitoryReturn/SaveData?keyValue=' + keyValue, postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(); | |||
} | |||
}); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,19 @@ | |||
@{ | |||
ViewBag.Title = "学生出宿"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap" id="form"> | |||
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryReturn"> | |||
<div class="lr-form-item-title">床位<font face="宋体">*</font></div> | |||
<div id="DormitoryBuildId"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryReturn"> | |||
<div class="lr-form-item-title">出宿时间<font face="宋体">*</font></div> | |||
<input id="OutTime" type="text" class="form-control lr-input-wdatepicker" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd HH:mm:ss',onpicked: function () { $('#OutTime').trigger('change'); } })" isvalid="yes" checkexpession="NotNull" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryReturn"> | |||
<div class="lr-form-item-title">备注</div> | |||
<textarea id="Remark" class="form-control" style="height: 100px;"></textarea> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/DormitoryReturn/FormOut.js") |
@@ -0,0 +1,61 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2022-03-10 10:06 | |||
* 描 述:学生归宿管理 | |||
*/ | |||
var acceptClick; | |||
var keyValue = request('keyValue'); | |||
var ParentId = request('ParentId'); | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
$('.lr-form-wrap').lrscroll(); | |||
page.bind(); | |||
page.initData(); | |||
}, | |||
bind: function () { | |||
$('#DormitoryBuildId').lrselect({ | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable', | |||
param: { code: 'DormitoryInfo', strWhere: "ParentID='" + ParentId + "' and BuildType='5' and (StudentID is not null and len(StudentID)>0) order by name" }, | |||
text: 'name', | |||
value: 'id', | |||
allowSearch: true | |||
}); | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
$.lrSetForm(top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/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 strEntity = $('body').lrGetFormData(); | |||
strEntity.ParentId = ParentId; | |||
var postData = { | |||
strEntity: JSON.stringify(strEntity) | |||
}; | |||
$.lrSaveForm(top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/SaveForm?type=1', postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(); | |||
} | |||
}); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,19 @@ | |||
@{ | |||
ViewBag.Title = "学生出宿"; | |||
Layout = "~/Views/Shared/_Form.cshtml"; | |||
} | |||
<div class="lr-form-wrap" id="form"> | |||
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryReturn"> | |||
<div class="lr-form-item-title">床位<font face="宋体">*</font></div> | |||
<div id="DormitoryBuildId"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryReturn"> | |||
<div class="lr-form-item-title">归宿时间<font face="宋体">*</font></div> | |||
<input id="ReturnTime" type="text" class="form-control lr-input-wdatepicker" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd HH:mm:ss',onpicked: function () { $('#ReturnTime').trigger('change'); } })" isvalid="yes" checkexpession="NotNull" /> | |||
</div> | |||
<div class="col-xs-12 lr-form-item" data-table="Acc_DormitoryReturn"> | |||
<div class="lr-form-item-title">备注</div> | |||
<textarea id="Remark" class="form-control" style="height: 100px;"></textarea> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/DormitoryReturn/FormReturn.js") |
@@ -0,0 +1,61 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2022-03-10 10:06 | |||
* 描 述:学生归宿管理 | |||
*/ | |||
var acceptClick; | |||
var keyValue = request('keyValue'); | |||
var ParentId = request('ParentId'); | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
$('.lr-form-wrap').lrscroll(); | |||
page.bind(); | |||
page.initData(); | |||
}, | |||
bind: function () { | |||
$('#DormitoryBuildId').lrselect({ | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable', | |||
param: { code: 'DormitoryInfo', strWhere: "ParentID='" + ParentId + "' and BuildType='5' and (StudentID is not null and len(StudentID)>0) order by name" }, | |||
text: 'name', | |||
value: 'id', | |||
allowSearch: true | |||
}); | |||
}, | |||
initData: function () { | |||
if (!!keyValue) { | |||
$.lrSetForm(top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/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 strEntity = $('body').lrGetFormData(); | |||
strEntity.ParentId = ParentId; | |||
var postData = { | |||
strEntity: JSON.stringify(strEntity) | |||
}; | |||
$.lrSaveForm(top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/SaveForm?type=2', postData, function (res) { | |||
// 保存成功后才回调 | |||
if (!!callBack) { | |||
callBack(); | |||
} | |||
}); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,49 @@ | |||
@{ | |||
ViewBag.Title = "学生归宿管理"; | |||
Layout = "~/Views/Shared/_Index.cshtml"; | |||
} | |||
<div class="lr-layout lr-layout-left-center" id="lr_layout" > | |||
<div class="lr-layout-left"> | |||
<div class="lr-layout-wrap"> | |||
<div class="lr-layout-title lrlg ">树形列表</div> | |||
<div id="dataTree" class="lr-layout-body"></div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-center"> | |||
<div class="lr-layout-wrap "> | |||
<div class="lr-layout-title"> | |||
<span id="titleinfo" class="lrlg">列表信息</span> | |||
</div> | |||
<div class="lr-layout-tool"> | |||
<div class="lr-layout-tool-left"> | |||
<div class="lr-layout-tool-item"> | |||
<div id="datesearch"></div> | |||
</div> | |||
@*<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> | |||
</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_out" class="btn btn-default"><i class="fa fa-plus"></i> 学生出宿</a> | |||
<a id="lr_return" class="btn btn-default"><i class="fa fa-plus"></i> 学生归宿</a> | |||
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i> 编辑</a> | |||
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i> 删除</a> | |||
<a id="lr_print" class="btn btn-default"><i class="fa fa-print"></i> 打印</a> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/DormitoryReturn/Index.js") |
@@ -0,0 +1,159 @@ | |||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2022-03-10 10:06 | |||
* 描 述:学生归宿管理 | |||
*/ | |||
var refreshGirdData; | |||
var ParentId = ''; | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var startTime; | |||
var endTime; | |||
var page = { | |||
init: function () { | |||
page.initGird(); | |||
page.bind(); | |||
}, | |||
bind: function () { | |||
// 初始化左侧树形数据 | |||
$('#dataTree').lrtree({ | |||
url: top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/GetTree', | |||
nodeClick: function (item) { | |||
if (item.title == '4') { | |||
ParentId = item.value; | |||
page.search({ ParentId: item.value }); | |||
} | |||
} | |||
}); | |||
// 时间搜索框 | |||
$('#datesearch').lrdate({ | |||
dfdata: [ | |||
{ name: '今天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00') }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }, | |||
{ name: '近7天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'd', -6) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }, | |||
{ name: '近1个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -1) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }, | |||
{ name: '近3个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -3) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } } | |||
], | |||
// 月 | |||
mShow: false, | |||
premShow: false, | |||
// 季度 | |||
jShow: false, | |||
prejShow: false, | |||
// 年 | |||
ysShow: false, | |||
yxShow: false, | |||
preyShow: false, | |||
yShow: false, | |||
// 默认 | |||
dfvalue: '1', | |||
selectfn: function (begin, end) { | |||
startTime = begin; | |||
endTime = end; | |||
page.search(); | |||
} | |||
}); | |||
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) { | |||
page.search(queryJson); | |||
}, 220, 400); | |||
// 刷新 | |||
$('#lr_refresh').on('click', function () { | |||
location.reload(); | |||
}); | |||
// 学生出宿 | |||
$('#lr_out').on('click', function () { | |||
if (!!ParentId) { | |||
learun.layerForm({ | |||
id: 'formout', | |||
title: '学生出宿', | |||
url: top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/FormOut?ParentId=' + ParentId, | |||
width: 600, | |||
height: 400, | |||
callBack: function (id) { | |||
return top[id].acceptClick(refreshGirdData); | |||
} | |||
}); | |||
} else { | |||
return learun.alert.warning('请选择宿舍!'); | |||
} | |||
}); | |||
// 学生出宿 | |||
$('#lr_return').on('click', function () { | |||
if (!!ParentId) { | |||
learun.layerForm({ | |||
id: 'formreturn', | |||
title: '学生归宿', | |||
url: top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/FormReturn?ParentId=' + ParentId, | |||
width: 600, | |||
height: 400, | |||
callBack: function (id) { | |||
return top[id].acceptClick(refreshGirdData); | |||
} | |||
}); | |||
} else { | |||
return learun.alert.warning('请选择宿舍!'); | |||
} | |||
}); | |||
// 编辑 | |||
$('#lr_edit').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('Id'); | |||
if (learun.checkrow(keyValue)) { | |||
learun.layerForm({ | |||
id: 'form', | |||
title: '编辑', | |||
url: top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/Form?keyValue=' + keyValue + '&ParentId=' + ParentId, | |||
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 + '/LogisticsManagement/DormitoryReturn/DeleteForm', { keyValue: keyValue }, function () { | |||
refreshGirdData(); | |||
}); | |||
} | |||
}); | |||
} | |||
}); | |||
// 打印 | |||
$('#lr_print').on('click', function () { | |||
$('#gridtable').jqprintTable(); | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
$('#gridtable').jfGrid({ | |||
url: top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/GetPageList', | |||
headData: [ | |||
{ label: "床位", name: "Name", width: 100, align: "left" }, | |||
{ label: "出宿时间", name: "OutTime", width: 200, align: "left" }, | |||
{ label: "归宿时间", name: "ReturnTime", width: 200, align: "left" }, | |||
], | |||
mainId: 'Id', | |||
isPage: true, | |||
sidx: 'OutTime desc', | |||
}); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
if (!!ParentId) { | |||
param.StartTime = startTime; | |||
param.EndTime = endTime; | |||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
} | |||
} | |||
}; | |||
refreshGirdData = function () { | |||
$('#gridtable').jfGridSet('reload'); | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,49 @@ | |||
| |||
@{ | |||
ViewBag.Title = "学生归宿统计"; | |||
Layout = "~/Views/Shared/_ReportTemplate.cshtml"; | |||
} | |||
<style> | |||
.lr-select { | |||
width: 150px; | |||
} | |||
</style> | |||
<div class="lr-layout ui-report"> | |||
<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="Dept" type="lrselect" class="lr-select"></div> | |||
</div> | |||
<div class="lr-layout-tool-item"> | |||
<div id="Major" type="lrselect" class="lr-select"></div> | |||
</div> | |||
<div class="lr-layout-tool-item"> | |||
<div id="Class" type="lrselect" class="lr-select"></div> | |||
</div> | |||
<div class="lr-layout-tool-item"> | |||
<a id="btn_Search" class="btn btn-primary btn-sm"><i class="fa fa-search"></i> 查询</a> | |||
</div> | |||
</div> | |||
<div class="lr-layout-tool-right"> | |||
<div class="btn-group btn-group-sm"> | |||
@*<a id="lr-replace" class="btn btn-default"><i class="fa fa-refresh"></i> <span class="lrlt">刷新</span></a>*@ | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-grid" style="overflow:auto;"> | |||
<div class="grid-title"> | |||
<div style="overflow: hidden; padding-bottom: 20px; text-align: center; margin-left: auto; margin-right: auto;"> | |||
<div id="main" style="float: left; margin-right: 20px; width: 650px; height: 350px;border: 1px solid #ccc;"> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<script src="~/Content/echarts/echarts.js"></script> | |||
@Html.AppendJsFile("/Areas/LogisticsManagement/Views/DormitoryReturn/IndexReport.js") |
@@ -0,0 +1,131 @@ | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var year = ""; | |||
var page = { | |||
init: function () { | |||
page.bind(); | |||
page.initGrid(); | |||
page.initChart(); | |||
}, | |||
bind: function () { | |||
$('#Dept').lrselect({ | |||
width: '150px', | |||
placeholder: "请选择系部", | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/GetDept', | |||
value: 'Dept', | |||
text: 'DeptName', | |||
select: function (item) { | |||
if (item) { | |||
$('#Major').lrselectRefresh({ | |||
url: top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/GetMajor', | |||
param: { strWhere: "m.deptno='" + item.Dept + "'" } | |||
}); | |||
$('#Class').lrselectRefresh({ | |||
//url: top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/GetClass', | |||
//param: { strWhere: "c.majorno=''" } | |||
}); | |||
} | |||
} | |||
}); | |||
$('#Major').lrselect({ | |||
width: '150px', | |||
placeholder: "请选择专业", | |||
allowSearch: true, | |||
//url: top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/GetMajor', | |||
value: 'Major', | |||
text: 'MajorName', | |||
select: function (item) { | |||
if (item) { | |||
$('#Class').lrselectRefresh({ | |||
url: top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/GetClass', | |||
param: { strWhere: "c.majorno='" + item.Major + "'" } | |||
}); | |||
} | |||
} | |||
}); | |||
$('#Class').lrselect({ | |||
width: '150px', | |||
placeholder: "请选择班级", | |||
allowSearch: true, | |||
value: 'Class', | |||
text: 'ClassName' | |||
}); | |||
//查询 | |||
$('#btn_Search').on('click', function () { | |||
page.search({ Dept: $('#Dept').lrselectGet(), Major: $('#Major').lrselectGet(), Class: $('#Class').lrselectGet() }); | |||
}); | |||
}, | |||
initGrid: function () { | |||
$(".lr-layout-grid").height($(window).height() - 110); | |||
$('#gridtable').jfGrid({ | |||
url: top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/GetReportList', | |||
headData: [ | |||
{ name: "name", label: "状态", width: 100, align: "center" }, | |||
{ name: "value", label: "人数", width: 150, align: "center" } | |||
] | |||
}); | |||
page.search(); | |||
}, | |||
initChart: function (queryJson) { | |||
var myChart1 = echarts.init(document.getElementById('main')); | |||
//var myChart2 = echarts.init(document.getElementById('main1')); | |||
queryJson = { | |||
Dept: $('#Dept').lrselectGet(), | |||
Major: $('#Major').lrselectGet(), | |||
Class: $('#Class').lrselectGet() | |||
}; | |||
//console.log('queryJson', queryJson); | |||
learun.httpAsyncPost(top.$.rootUrl + '/LogisticsManagement/DormitoryReturn/GetReportData', { queryJson: JSON.stringify(queryJson) }, function (res) { | |||
if (res.code == 200) { | |||
var option = { | |||
title: { | |||
text: '学生归宿统计', | |||
x: 'center' | |||
}, | |||
tooltip: { | |||
trigger: 'item', | |||
formatter: "{a} <br/>{b} : {c} ({d}%)" | |||
}, | |||
legend: { | |||
orient: 'vertical', | |||
left: 'left', | |||
data: res.data.list1 | |||
}, | |||
series: [ | |||
{ | |||
name: '学生归宿', | |||
type: 'pie', | |||
radius: '55%', | |||
center: ['50%', '60%'], | |||
data: res.data.list2, | |||
itemStyle: { | |||
emphasis: { | |||
shadowBlur: 10, | |||
shadowOffsetX: 0, | |||
shadowColor: 'rgba(0, 0, 0, 0.5)' | |||
} | |||
} | |||
} | |||
] | |||
}; | |||
myChart1.setOption(option); | |||
} | |||
}); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
page.initChart(param); | |||
} | |||
}; | |||
page.init(); | |||
} | |||
@@ -361,8 +361,10 @@ | |||
<Compile Include="Areas\EducationalAdministration\Controllers\TeachPlanController.cs" /> | |||
<Compile Include="Areas\EducationalAdministration\Controllers\TeachSwitchController.cs" /> | |||
<Compile Include="Areas\EducationalAdministration\EducationalAdministrationAreaRegistration.cs" /> | |||
<Compile Include="Areas\LogisticsManagement\Controllers\Acc_DormitoryRuleController.cs" /> | |||
<Compile Include="Areas\LogisticsManagement\Controllers\APAppointmentPsychologistController.cs" /> | |||
<Compile Include="Areas\LogisticsManagement\Controllers\CompanyNewsController.cs" /> | |||
<Compile Include="Areas\LogisticsManagement\Controllers\DormitoryReturnController.cs" /> | |||
<Compile Include="Areas\LogisticsManagement\LogisticsManagementAreaRegistration.cs" /> | |||
<Compile Include="Areas\LR_AuthorizeModule\Controllers\AuthorizeController.cs" /> | |||
<Compile Include="Areas\LR_AuthorizeModule\Controllers\FilterIPController.cs" /> | |||
@@ -1220,6 +1222,16 @@ | |||
<Content Include="Areas\EducationalAdministration\Views\TeachSwitch\Index.js" /> | |||
<Content Include="Areas\LogisticsManagement\Views\Accommodation\Allocation.js" /> | |||
<Content Include="Areas\LogisticsManagement\Views\Accommodation\DormitoryAdd.js" /> | |||
<Content Include="Areas\LogisticsManagement\Views\Accommodation\FormBed.js" /> | |||
<Content Include="Areas\LogisticsManagement\Views\Accommodation\FormClass.js" /> | |||
<Content Include="Areas\LogisticsManagement\Views\Accommodation\FormClassify.js" /> | |||
<Content Include="Areas\LogisticsManagement\Views\Accommodation\FormDept.js" /> | |||
<Content Include="Areas\LogisticsManagement\Views\Accommodation\FormRoom.js" /> | |||
<Content Include="Areas\LogisticsManagement\Views\Accommodation\IndexBed.js" /> | |||
<Content Include="Areas\LogisticsManagement\Views\Accommodation\IndexClassify.js" /> | |||
<Content Include="Areas\LogisticsManagement\Views\Accommodation\IndexDistribution.js" /> | |||
<Content Include="Areas\LogisticsManagement\Views\Acc_DormitoryRule\Form.js" /> | |||
<Content Include="Areas\LogisticsManagement\Views\Acc_DormitoryRule\Index.js" /> | |||
<Content Include="Areas\LogisticsManagement\Views\ADR_Record\AttendanceReportByWeek.js" /> | |||
<Content Include="Areas\LogisticsManagement\Views\ADR_Record\StatisticDetailIndex.js" /> | |||
<Content Include="Areas\LogisticsManagement\Views\ADR_Record\StatisticIndex.js" /> | |||
@@ -1227,6 +1239,11 @@ | |||
<Content Include="Areas\LogisticsManagement\Views\APAppointmentPsychologist\Index.js" /> | |||
<Content Include="Areas\LogisticsManagement\Views\CompanyNews\Form.js" /> | |||
<Content Include="Areas\LogisticsManagement\Views\CompanyNews\Index.js" /> | |||
<Content Include="Areas\LogisticsManagement\Views\DormitoryReturn\Form.js" /> | |||
<Content Include="Areas\LogisticsManagement\Views\DormitoryReturn\FormOut.js" /> | |||
<Content Include="Areas\LogisticsManagement\Views\DormitoryReturn\FormReturn.js" /> | |||
<Content Include="Areas\LogisticsManagement\Views\DormitoryReturn\Index.js" /> | |||
<Content Include="Areas\LogisticsManagement\Views\DormitoryReturn\IndexReport.js" /> | |||
<Content Include="Areas\LR_AuthorizeModule\Views\Authorize\AppForm.js" /> | |||
<Content Include="Areas\LR_AuthorizeModule\Views\Authorize\Form.css" /> | |||
<Content Include="Areas\LR_AuthorizeModule\Views\Authorize\Form.js" /> | |||
@@ -7645,6 +7662,21 @@ | |||
<Content Include="Areas\EducationalAdministration\Views\ArrangeExamTermNew\IndexStudent.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuScoreNotPass\IndexUnpass.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuScoreNotPassTwo\IndexUnpassTwo.cshtml" /> | |||
<Content Include="Areas\LogisticsManagement\Views\Accommodation\FormBed.cshtml" /> | |||
<Content Include="Areas\LogisticsManagement\Views\Accommodation\FormClass.cshtml" /> | |||
<Content Include="Areas\LogisticsManagement\Views\Accommodation\FormClassify.cshtml" /> | |||
<Content Include="Areas\LogisticsManagement\Views\Accommodation\FormDept.cshtml" /> | |||
<Content Include="Areas\LogisticsManagement\Views\Accommodation\FormRoom.cshtml" /> | |||
<Content Include="Areas\LogisticsManagement\Views\Accommodation\IndexBed.cshtml" /> | |||
<Content Include="Areas\LogisticsManagement\Views\Accommodation\IndexClassify.cshtml" /> | |||
<Content Include="Areas\LogisticsManagement\Views\Accommodation\IndexDistribution.cshtml" /> | |||
<Content Include="Areas\LogisticsManagement\Views\Acc_DormitoryRule\Form.cshtml" /> | |||
<Content Include="Areas\LogisticsManagement\Views\Acc_DormitoryRule\Index.cshtml" /> | |||
<Content Include="Areas\LogisticsManagement\Views\DormitoryReturn\Form.cshtml" /> | |||
<Content Include="Areas\LogisticsManagement\Views\DormitoryReturn\FormOut.cshtml" /> | |||
<Content Include="Areas\LogisticsManagement\Views\DormitoryReturn\FormReturn.cshtml" /> | |||
<Content Include="Areas\LogisticsManagement\Views\DormitoryReturn\Index.cshtml" /> | |||
<Content Include="Areas\LogisticsManagement\Views\DormitoryReturn\IndexReport.cshtml" /> | |||
<None Include="Properties\PublishProfiles\CustomProfile.pubxml" /> | |||
<None Include="Properties\PublishProfiles\FolderProfile.pubxml" /> | |||
<Content Include="Views\Login\Default-beifen.cshtml" /> | |||
@@ -102,6 +102,8 @@ | |||
<Compile Include="EvaluationTeach\Eval_QuestionItemsMap.cs" /> | |||
<Compile Include="EvaluationTeach\Eval_QuestionMap.cs" /> | |||
<Compile Include="EvaluationTeach\Eval_QuestionResultMap.cs" /> | |||
<Compile Include="LogisticsManagement\Acc_DormitoryReturnMap.cs" /> | |||
<Compile Include="LogisticsManagement\Acc_DormitoryRuleMap.cs" /> | |||
<Compile Include="LR_App\DTImgMap.cs" /> | |||
<Compile Include="LR_App\FunctionMap.cs" /> | |||
<Compile Include="LR_App\FunctionSchemeMap.cs" /> | |||
@@ -0,0 +1,29 @@ | |||
using Learun.Application.TwoDevelopment.LogisticsManagement; | |||
using System.Data.Entity.ModelConfiguration; | |||
namespace Learun.Application.Mapping | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2022-03-10 10:06 | |||
/// 描 述:学生归宿管理 | |||
/// </summary> | |||
public class Acc_DormitoryReturnMap : EntityTypeConfiguration<Acc_DormitoryReturnEntity> | |||
{ | |||
public Acc_DormitoryReturnMap() | |||
{ | |||
#region 表、主键 | |||
//表 | |||
this.ToTable("ACC_DORMITORYRETURN"); | |||
//主键 | |||
this.HasKey(t => t.Id); | |||
#endregion | |||
#region 配置关系 | |||
#endregion | |||
} | |||
} | |||
} | |||
@@ -0,0 +1,29 @@ | |||
using Learun.Application.TwoDevelopment.LogisticsManagement; | |||
using System.Data.Entity.ModelConfiguration; | |||
namespace Learun.Application.Mapping | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2022-03-14 12:05 | |||
/// 描 述:宿舍晚归规则 | |||
/// </summary> | |||
public class Acc_DormitoryRuleMap : EntityTypeConfiguration<Acc_DormitoryRuleEntity> | |||
{ | |||
public Acc_DormitoryRuleMap() | |||
{ | |||
#region 表、主键 | |||
//表 | |||
this.ToTable("ACC_DORMITORYRULE"); | |||
//主键 | |||
this.HasKey(t => t.Id); | |||
#endregion | |||
#region 配置关系 | |||
#endregion | |||
} | |||
} | |||
} | |||
@@ -275,8 +275,16 @@ | |||
<Compile Include="Feixing\SysDictDetailApiViewModel.cs" /> | |||
<Compile Include="Feixing\SystemInfoViewModel.cs" /> | |||
<Compile Include="Feixing\UserModel.cs" /> | |||
<Compile Include="LogisticsManagement\Acc_DormitoryRule\Acc_DormitoryRuleBLL.cs" /> | |||
<Compile Include="LogisticsManagement\Acc_DormitoryRule\Acc_DormitoryRuleEntity.cs" /> | |||
<Compile Include="LogisticsManagement\Acc_DormitoryRule\Acc_DormitoryRuleIBLL.cs" /> | |||
<Compile Include="LogisticsManagement\Acc_DormitoryRule\Acc_DormitoryRuleService.cs" /> | |||
<Compile Include="LogisticsManagement\APAppointmentPsychologist\APAppointmentPsychologistEntity.cs" /> | |||
<Compile Include="LogisticsManagement\CompanyNews\CompanyNewsEntity.cs" /> | |||
<Compile Include="LogisticsManagement\DormitoryReturn\Acc_DormitoryReturnEntity.cs" /> | |||
<Compile Include="LogisticsManagement\DormitoryReturn\DormitoryReturnBLL.cs" /> | |||
<Compile Include="LogisticsManagement\DormitoryReturn\DormitoryReturnIBLL.cs" /> | |||
<Compile Include="LogisticsManagement\DormitoryReturn\DormitoryReturnService.cs" /> | |||
<Compile Include="LR_CodeDemo\GantProject\GantProjectBLL.cs" /> | |||
<Compile Include="LR_CodeDemo\GantProject\GantProjectIBLL.cs" /> | |||
<Compile Include="LR_CodeDemo\GantProject\GantProjectService.cs" /> | |||
@@ -0,0 +1,148 @@ | |||
using Learun.Util; | |||
using System; | |||
using System.Data; | |||
using System.Collections.Generic; | |||
namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2022-03-14 12:05 | |||
/// 描 述:宿舍晚归规则 | |||
/// </summary> | |||
public class Acc_DormitoryRuleBLL : Acc_DormitoryRuleIBLL | |||
{ | |||
private Acc_DormitoryRuleService acc_DormitoryRuleService = new Acc_DormitoryRuleService(); | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="pagination">分页参数</param> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
public IEnumerable<Acc_DormitoryRuleEntity> GetPageList(Pagination pagination, string queryJson) | |||
{ | |||
try | |||
{ | |||
return acc_DormitoryRuleService.GetPageList(pagination, queryJson); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取Acc_DormitoryRule表实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
public Acc_DormitoryRuleEntity GetAcc_DormitoryRuleEntity(string keyValue) | |||
{ | |||
try | |||
{ | |||
return acc_DormitoryRuleService.GetAcc_DormitoryRuleEntity(keyValue); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取Acc_DormitoryRule表实体数据 | |||
/// </summary> | |||
/// <returns></returns> | |||
public Acc_DormitoryRuleEntity GetEnableEntity() | |||
{ | |||
try | |||
{ | |||
return acc_DormitoryRuleService.GetEnableEntity(); | |||
} | |||
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 | |||
{ | |||
acc_DormitoryRuleService.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, Acc_DormitoryRuleEntity entity) | |||
{ | |||
try | |||
{ | |||
acc_DormitoryRuleService.SaveEntity(keyValue, entity); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,90 @@ | |||
using Learun.Util; | |||
using System; | |||
using System.ComponentModel.DataAnnotations.Schema; | |||
namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2022-03-14 12:05 | |||
/// 描 述:宿舍晚归规则 | |||
/// </summary> | |||
public class Acc_DormitoryRuleEntity | |||
{ | |||
#region 实体成员 | |||
/// <summary> | |||
/// Id | |||
/// </summary> | |||
[Column("ID")] | |||
public string Id { get; set; } | |||
/// <summary> | |||
/// 晚归时间 | |||
/// </summary> | |||
[Column("LATERETURNTIME")] | |||
public string LateReturnTime { get; set; } | |||
/// <summary> | |||
/// 推送人员 | |||
/// </summary> | |||
[Column("PUSHUSER")] | |||
public string PushUser { get; set; } | |||
/// <summary> | |||
/// 是否推送班主任 | |||
/// </summary> | |||
[Column("CLASSDIREDCTOR")] | |||
public int? ClassDiredctor { get; set; } | |||
/// <summary> | |||
/// 推送时间点 | |||
/// </summary> | |||
[Column("PUSHHOUR")] | |||
public int? PushHour { get; set; } | |||
/// <summary> | |||
/// 是否启用 | |||
/// </summary> | |||
[Column("ISENABLE")] | |||
public int? IsEnable { get; set; } | |||
/// <summary> | |||
/// CreateTime | |||
/// </summary> | |||
[Column("CREATETIME")] | |||
public DateTime? CreateTime { get; set; } | |||
/// <summary> | |||
/// CreateUserId | |||
/// </summary> | |||
[Column("CREATEUSERID")] | |||
public string CreateUserId { get; set; } | |||
/// <summary> | |||
/// UpdateTime | |||
/// </summary> | |||
[Column("UPDATETIME")] | |||
public DateTime? UpdateTime { get; set; } | |||
/// <summary> | |||
/// UpdateUserId | |||
/// </summary> | |||
[Column("UPDATEUSERID")] | |||
public string UpdateUserId { get; set; } | |||
#endregion | |||
#region 扩展操作 | |||
/// <summary> | |||
/// 新增调用 | |||
/// </summary> | |||
public void Create() | |||
{ | |||
this.Id = Guid.NewGuid().ToString(); | |||
} | |||
/// <summary> | |||
/// 编辑调用 | |||
/// </summary> | |||
/// <param name="keyValue"></param> | |||
public void Modify(string keyValue) | |||
{ | |||
this.Id = keyValue; | |||
} | |||
#endregion | |||
#region 扩展字段 | |||
#endregion | |||
} | |||
} | |||
@@ -0,0 +1,49 @@ | |||
using Learun.Util; | |||
using System.Data; | |||
using System.Collections.Generic; | |||
namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2022-03-14 12:05 | |||
/// 描 述:宿舍晚归规则 | |||
/// </summary> | |||
public interface Acc_DormitoryRuleIBLL | |||
{ | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
IEnumerable<Acc_DormitoryRuleEntity> GetPageList(Pagination pagination, string queryJson); | |||
/// <summary> | |||
/// 获取Acc_DormitoryRule表实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
Acc_DormitoryRuleEntity GetAcc_DormitoryRuleEntity(string keyValue); | |||
Acc_DormitoryRuleEntity GetEnableEntity(); | |||
#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, Acc_DormitoryRuleEntity entity); | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,168 @@ | |||
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.LogisticsManagement | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2022-03-14 12:05 | |||
/// 描 述:宿舍晚归规则 | |||
/// </summary> | |||
public class Acc_DormitoryRuleService : RepositoryFactory | |||
{ | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="pagination">查询参数</param> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
public IEnumerable<Acc_DormitoryRuleEntity> GetPageList(Pagination pagination, string queryJson) | |||
{ | |||
try | |||
{ | |||
var strSql = new StringBuilder(); | |||
strSql.Append("SELECT "); | |||
strSql.Append(@" | |||
t.* | |||
"); | |||
strSql.Append(" FROM Acc_DormitoryRule t "); | |||
strSql.Append(" WHERE 1=1 "); | |||
var queryParam = queryJson.ToJObject(); | |||
// 虚拟参数 | |||
var dp = new DynamicParameters(new { }); | |||
return this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryRuleEntity>(strSql.ToString(), dp, pagination); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取Acc_DormitoryRule表实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
public Acc_DormitoryRuleEntity GetAcc_DormitoryRuleEntity(string keyValue) | |||
{ | |||
try | |||
{ | |||
return this.BaseRepository("CollegeMIS").FindEntity<Acc_DormitoryRuleEntity>(keyValue); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取Acc_DormitoryRule表实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
public Acc_DormitoryRuleEntity GetEnableEntity() | |||
{ | |||
try | |||
{ | |||
return this.BaseRepository("CollegeMIS").FindEntity<Acc_DormitoryRuleEntity>(x => x.IsEnable == 1); | |||
} | |||
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<Acc_DormitoryRuleEntity>(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, Acc_DormitoryRuleEntity 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 | |||
} | |||
} |
@@ -19,12 +19,33 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
/// </summary> | |||
[Column("ID")] | |||
public string ID { get; set; } | |||
/// <summary> | |||
/// 编号 | |||
/// </summary> | |||
[Column("DNO")] | |||
public string DNo { get; set; } | |||
/// <summary> | |||
/// 名称 | |||
/// </summary> | |||
[Column("NAME")] | |||
public string Name { get; set; } | |||
/// <summary> | |||
/// 宿舍楼 | |||
/// </summary> | |||
[Column("APARTMENTID")] | |||
public string ApartmentId { get; set; } | |||
/// <summary> | |||
/// 单元 | |||
/// </summary> | |||
[Column("UNITID")] | |||
public string UnitId { get; set; } | |||
/// <summary> | |||
/// 楼层 | |||
/// </summary> | |||
[Column("FLOORID")] | |||
public string FloorId { get; set; } | |||
/// <summary> | |||
/// 负责人 | |||
/// </summary> | |||
[Column("FUNCTIONARY")] | |||
@@ -145,9 +166,32 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
/// </summary> | |||
[Column("PLANBEDNUM")] | |||
public int? PlanBedNum { get; set; } | |||
/// <summary> | |||
/// 寝室类型(几人寝) | |||
/// </summary> | |||
[Column("ROOMTYPE")] | |||
public int? RoomType { get; set; } | |||
/// <summary> | |||
/// 入住人数 | |||
/// </summary> | |||
[Column("CHECKINSTU")] | |||
public int? CheckInStu { get; set; } | |||
/// <summary> | |||
/// 是否归宿 | |||
/// </summary> | |||
[Column("ISRETURN")] | |||
public int? IsReturn { get; set; } | |||
#endregion | |||
#region 扩展字段 | |||
[NotMapped] | |||
public string ApartmentName { get; set; } | |||
[NotMapped] | |||
public string UnitName { get; set; } | |||
[NotMapped] | |||
public string FloorName { get; set; } | |||
/// <summary> | |||
/// 学生名字 | |||
/// </summary> | |||
@@ -176,6 +220,13 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
[NotMapped] | |||
public string bedId { get; set; } | |||
[NotMapped] | |||
public string DeptName { get; set; } | |||
[NotMapped] | |||
public string MajorName { get; set; } | |||
[NotMapped] | |||
public string ClassName { get; set; } | |||
#endregion | |||
#region 扩展操作 | |||
@@ -42,6 +42,26 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
} | |||
} | |||
} | |||
public IEnumerable<Acc_DormitoryBuildEntity> GetBedListByRoomId(string RoomId) | |||
{ | |||
try | |||
{ | |||
return accommodationService.GetBedListByRoomId(RoomId); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
public IEnumerable<Acc_DormitoryBuildEntity> GetAllList() | |||
{ | |||
try | |||
@@ -61,6 +81,25 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
} | |||
} | |||
public IEnumerable<Acc_DormitoryBuildEntity> GetClassifyList(Pagination paginationobj, string queryJson) | |||
{ | |||
try | |||
{ | |||
return accommodationService.GetClassifyList(paginationobj, queryJson); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
public object GetDormitoryList() | |||
{ | |||
try | |||
@@ -179,6 +218,27 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
} | |||
public string GetParentBuildType(string keyValue) | |||
{ | |||
try | |||
{ | |||
return accommodationService.GetParentBuildType(keyValue); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取Acc_DormitoryBuild表实体数据 | |||
/// <param name="keyValue">主键</param> | |||
@@ -251,6 +311,61 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
} | |||
} | |||
public List<Acc_DormitoryBuildEntity> GetDept() | |||
{ | |||
try | |||
{ | |||
return accommodationService.GetSelectData("").Select(x => new Acc_DormitoryBuildEntity { Dept = x.Dept, DeptName = x.DeptName }).Distinct().ToList(); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
public List<Acc_DormitoryBuildEntity> GetMajor(string strWhere) | |||
{ | |||
try | |||
{ | |||
return accommodationService.GetSelectData(strWhere).Select(x => new Acc_DormitoryBuildEntity { Major = x.Major, MajorName = x.MajorName }).Distinct().ToList(); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
public List<Acc_DormitoryBuildEntity> GetClass(string strWhere) | |||
{ | |||
try | |||
{ | |||
return accommodationService.GetSelectData(strWhere).Select(x => new Acc_DormitoryBuildEntity { Class = x.Class, ClassName = x.ClassName }).Distinct().ToList(); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取左侧树形数据 | |||
/// <summary> | |||
@@ -270,8 +385,9 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
value = item.ID.ToString(), | |||
showcheck = false, | |||
checkstate = 0, | |||
isexpand = false, | |||
parentId = item.ParentID == null ? "" : item.ParentID | |||
isexpand = true, | |||
parentId = item.ParentID == null ? "" : item.ParentID, | |||
title = item.BuildType | |||
}; | |||
@@ -339,9 +455,49 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
} | |||
} | |||
} | |||
public List<TreeModel> GetClassifyTree() | |||
{ | |||
try | |||
{ | |||
List<Acc_DormitoryBuildEntity> list = accommodationService.GetClassifyTree(); | |||
List<TreeModel> treeList = new List<TreeModel>(); | |||
foreach (Acc_DormitoryBuildEntity item in list) | |||
{ | |||
TreeModel node = new TreeModel | |||
{ | |||
id = item.ID.ToString(), | |||
text = item.Name.ToString(), | |||
value = item.ID.ToString(), | |||
showcheck = false, | |||
checkstate = 0, | |||
isexpand = false, | |||
parentId = item.ParentID == null ? "" : item.ParentID, | |||
title = string.IsNullOrEmpty(item.BuildType) ? "" : (Convert.ToInt32(item.BuildType) + 1).ToString(), | |||
}; | |||
treeList.Add(node); | |||
} | |||
return treeList.ToTree(); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 根据父id 获取树形数据 | |||
@@ -386,7 +542,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
} | |||
} | |||
/// <summary> | |||
/// <summary> | |||
/// 根据父id 获取树形数据 | |||
/// </summary> | |||
/// <param name="parentID"></param> | |||
@@ -431,11 +587,11 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
} | |||
} | |||
public bool MatchDormitoryInfo(string stuNo,string dormitory,string unit,string floor,string room,string bed ,List<Acc_DormitoryBuildEntity> data) | |||
public bool MatchDormitoryInfo(string stuNo, string dormitory, string unit, string floor, string room, string bed, List<Acc_DormitoryBuildEntity> data) | |||
{ | |||
try | |||
{ | |||
return accommodationService.MatchDormitoryInfo(stuNo,dormitory,unit,floor,room,bed,data); | |||
return accommodationService.MatchDormitoryInfo(stuNo, dormitory, unit, floor, room, bed, data); | |||
} | |||
catch (Exception ex) | |||
@@ -481,6 +637,31 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
} | |||
} | |||
/// <summary> | |||
/// 删除实体数据 | |||
/// <param name="keyValue">主键</param> | |||
/// <summary> | |||
/// <returns></returns> | |||
public void DeleteBed(string keyValue, string ParentID) | |||
{ | |||
try | |||
{ | |||
accommodationService.DeleteBed(keyValue, ParentID); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
/// <param name="keyValue">主键</param> | |||
@@ -505,6 +686,74 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
} | |||
} | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
/// <param name="keyValue">主键</param> | |||
/// <summary> | |||
/// <returns></returns> | |||
public void SaveBedEntity(string keyValue, string ParentID, Acc_DormitoryBuildEntity entity) | |||
{ | |||
try | |||
{ | |||
accommodationService.SaveBedEntity(keyValue, ParentID, entity); | |||
} | |||
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 SaveDeptClass(string keyValue, Acc_DormitoryBuildEntity entity, int type) | |||
{ | |||
try | |||
{ | |||
accommodationService.SaveDeptClass(keyValue, entity, type); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
public string SaveRoom(string RoomId, List<Acc_DormitoryBuildEntity> list) | |||
{ | |||
try | |||
{ | |||
return accommodationService.SaveRoom(RoomId, list); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 批量添加单元、楼层、宿舍、床位 | |||
@@ -581,7 +830,6 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
} | |||
} | |||
#endregion | |||
} | |||
@@ -21,7 +21,9 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
IEnumerable<Acc_DormitoryBuildEntity> GetPageList(Pagination pagination, string queryJson); | |||
IEnumerable<Acc_DormitoryBuildEntity> GetBedListByRoomId(string RoomId); | |||
IEnumerable<Acc_DormitoryBuildEntity> GetAllList(); | |||
IEnumerable<Acc_DormitoryBuildEntity> GetClassifyList(Pagination paginationobj,string queryJson); | |||
/// <summary> | |||
/// 获取Acc_DormitoryBuild表实体数据 | |||
/// <param name="keyValue">主键</param> | |||
@@ -42,6 +44,9 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
/// <summary> | |||
/// <returns></returns> | |||
List<Acc_DormitoryBuildEntity> GetList(); | |||
List<Acc_DormitoryBuildEntity> GetDept(); | |||
List<Acc_DormitoryBuildEntity> GetMajor(string strWhere); | |||
List<Acc_DormitoryBuildEntity> GetClass(string strWhere); | |||
/// <summary> | |||
/// 获取左侧树形数据 | |||
/// <summary> | |||
@@ -50,6 +55,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
string GetDormitoryInfoByStuNo(string val); | |||
List<TreeModel> GetTree(); | |||
List<TreeModel> GetTreeNew(); | |||
List<TreeModel> GetClassifyTree(); | |||
bool MatchDormitoryInfo(string stuNo, string dormitory, string unit, string floor, string room, string bed,List<Acc_DormitoryBuildEntity> data); | |||
@@ -68,7 +74,9 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
/// <summary> | |||
/// <returns></returns> | |||
void DeleteEntity(string keyValue); | |||
void DeleteBed(string keyValue, string ParentID); | |||
string GetBuildType(string parentID); | |||
string GetParentBuildType(string keyValue); | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
@@ -76,7 +84,9 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
/// <summary> | |||
/// <returns></returns> | |||
void SaveEntity(string keyValue, Acc_DormitoryBuildEntity entity); | |||
void SaveBedEntity(string keyValue,string ParentID, Acc_DormitoryBuildEntity entity); | |||
void SaveDeptClass(string keyValue, Acc_DormitoryBuildEntity entity,int type); | |||
string SaveRoom(string RoomId, List<Acc_DormitoryBuildEntity> list); | |||
/// <summary> | |||
/// 批量添加单元、楼层、房间、床位 | |||
@@ -51,10 +51,14 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
t.ParentID, | |||
t.Remark, | |||
t.Starred, | |||
t.HasToilet, | |||
stb.StuName | |||
t.HasToilet,t.RoomType, | |||
t.ApartmentId,t.UnitId,t.FloorId,t.CheckInStu, | |||
a.name as ApartmentName,b.name as UnitName,c.Name as FloorName | |||
"); | |||
strSql.Append(" FROM Acc_DormitoryBuild t LEFT JOIN dbo.StuInfoBasic stb ON t.StudentID=stb.StuId"); | |||
strSql.Append(" FROM Acc_DormitoryBuild t "); | |||
strSql.Append(@" left join (select * FROM Acc_DormitoryBuild where BuildType='1') a on t.ApartmentId=a.ID | |||
left join(select * FROM Acc_DormitoryBuild where BuildType = '2') b on t.UnitId = b.ID | |||
left join(select * FROM Acc_DormitoryBuild where BuildType = '3') c on t.FloorId = c.ID "); | |||
strSql.Append(" WHERE 1=1 "); | |||
var queryParam = queryJson.ToJObject(); | |||
// 虚拟参数 | |||
@@ -64,6 +68,27 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
dp.Add("ParentID", queryParam["ParentID"].ToString(), DbType.String); | |||
strSql.Append(" AND t.ParentID =@ParentID "); | |||
} | |||
//else | |||
//{ | |||
// strSql.Append(" AND t.BuildType ='4' "); | |||
//} | |||
if (!queryParam["ApartmentId"].IsEmpty()) | |||
{ | |||
dp.Add("ApartmentId", queryParam["ApartmentId"].ToString(), DbType.String); | |||
strSql.Append(" AND t.ApartmentId =@ApartmentId "); | |||
} | |||
if (!queryParam["UnitId"].IsEmpty()) | |||
{ | |||
dp.Add("UnitId", queryParam["UnitId"].ToString(), DbType.String); | |||
strSql.Append(" AND t.UnitId =@UnitId "); | |||
} | |||
if (!queryParam["FloorId"].IsEmpty()) | |||
{ | |||
dp.Add("FloorId", queryParam["FloorId"].ToString(), DbType.String); | |||
strSql.Append(" AND t.FloorId =@FloorId "); | |||
} | |||
if (!queryParam["Name"].IsEmpty()) | |||
{ | |||
dp.Add("Name", "%" + queryParam["Name"].ToString() + "%", DbType.String); | |||
@@ -76,18 +101,18 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
} | |||
if (!queryParam["Dept"].IsEmpty()) | |||
{ | |||
dp.Add("Dept", "%" + queryParam["Dept"].ToString() + "%", DbType.String); | |||
strSql.Append(" AND t.Dept Like @Dept "); | |||
dp.Add("Dept", queryParam["Dept"].ToString(), DbType.String); | |||
strSql.Append(" AND t.Dept=@Dept "); | |||
} | |||
if (!queryParam["Class"].IsEmpty()) | |||
{ | |||
dp.Add("Class", "%" + queryParam["Class"].ToString() + "%", DbType.String); | |||
strSql.Append(" AND t.Class Like @Class "); | |||
dp.Add("Class", queryParam["Class"].ToString(), DbType.String); | |||
strSql.Append(" AND t.Class=@Class "); | |||
} | |||
if (!queryParam["Major"].IsEmpty()) | |||
{ | |||
dp.Add("Major", "%" + queryParam["Major"].ToString() + "%", DbType.String); | |||
strSql.Append(" AND t.Major Like @Major "); | |||
dp.Add("Major", queryParam["Major"].ToString(), DbType.String); | |||
strSql.Append(" AND t.Major=@Major "); | |||
} | |||
if (!queryParam["Sex"].IsEmpty()) | |||
{ | |||
@@ -104,6 +129,53 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
dp.Add("Leader", "%" + queryParam["Leader"].ToString() + "%", DbType.String); | |||
strSql.Append(" AND t.Leader Like @Leader "); | |||
} | |||
if (!queryParam["NoDistribution"].IsEmpty()) | |||
{ | |||
var noDistribution = queryParam["NoDistribution"].ToString(); | |||
if (noDistribution.Contains("dept")) | |||
{ | |||
strSql.Append(" AND (t.Dept is null or len(t.Dept)=0) "); | |||
} | |||
if (noDistribution.Contains("major")) | |||
{ | |||
strSql.Append(" AND (t.Major is null or len(t.Major)=0) "); | |||
} | |||
if (noDistribution.Contains("class")) | |||
{ | |||
strSql.Append(" AND (t.Class is null or len(t.Class)=0) "); | |||
} | |||
if (noDistribution.Contains("room")) | |||
{ | |||
strSql.Append(" AND (t.CheckInStu is null or len(t.CheckInStu)=0 or t.CheckInStu=0) "); | |||
} | |||
} | |||
if (!queryParam["Distribution"].IsEmpty()) | |||
{ | |||
var distribution = queryParam["Distribution"].ToString(); | |||
if (distribution.Contains("dept")) | |||
{ | |||
strSql.Append(" AND len(t.Dept)>0 "); | |||
} | |||
if (distribution.Contains("major")) | |||
{ | |||
strSql.Append(" AND len(t.Major)>0 "); | |||
} | |||
if (distribution.Contains("class")) | |||
{ | |||
strSql.Append(" AND len(t.Class)>0 "); | |||
} | |||
if (distribution.Contains("room")) | |||
{ | |||
strSql.Append(" AND t.CheckInStu>0 "); | |||
} | |||
} | |||
if (!queryParam["SqlParameter"].IsEmpty()) | |||
{ | |||
strSql.Append(queryParam["SqlParameter"].ToString()); | |||
} | |||
return this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryBuildEntity>(strSql.ToString(), dp, pagination).OrderBy(a => a.Name).ThenBy(a => a.Name).ToList(); | |||
} | |||
catch (Exception ex) | |||
@@ -118,6 +190,27 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
} | |||
} | |||
} | |||
public IEnumerable<Acc_DormitoryBuildEntity> GetBedListByRoomId(string RoomId) | |||
{ | |||
try | |||
{ | |||
string sql = $"select ID,Name,DNo,StudentID from Acc_DormitoryBuild where BuildType='5' and ParentID='{RoomId}'"; | |||
return this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryBuildEntity>(sql); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
public IEnumerable<Acc_DormitoryBuildEntity> GetAllList() | |||
{ | |||
try | |||
@@ -137,11 +230,95 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
} | |||
} | |||
public IEnumerable<Acc_DormitoryBuildEntity> GetClassifyList(Pagination pagination, string queryJson) | |||
{ | |||
try | |||
{ | |||
var strSql = new StringBuilder(); | |||
strSql.Append("SELECT "); | |||
strSql.Append(@" | |||
t.ID, | |||
t.Name, | |||
t.Address, | |||
t.Campus, | |||
t.Dept, | |||
t.BuildType, | |||
t.Major, | |||
t.Class, | |||
t.Sex, | |||
t.Functionary, | |||
t.Phone, | |||
t.Price, | |||
t.Leader, | |||
t.StudentID, | |||
t.PlanStudentID, | |||
t.ParentID, | |||
t.Remark, | |||
t.Starred, | |||
t.HasToilet,t.RoomType, | |||
t.ApartmentId,t.UnitId,t.FloorId,t.CheckInStu, | |||
a.name as ApartmentName,b.name as UnitName,c.Name as FloorName | |||
"); | |||
strSql.Append(" FROM Acc_DormitoryBuild t "); | |||
strSql.Append(@" left join (select * FROM Acc_DormitoryBuild where BuildType='1') a on t.ApartmentId=a.ID | |||
left join(select * FROM Acc_DormitoryBuild where BuildType = '2') b on t.UnitId = b.ID | |||
left join(select * FROM Acc_DormitoryBuild where BuildType = '3') c on t.FloorId = c.ID "); | |||
strSql.Append(" WHERE 1=1 and (t.BuildType<>'5' and t.BuildType<>'4') "); | |||
var queryParam = queryJson.ToJObject(); | |||
// 虚拟参数 | |||
var dp = new DynamicParameters(new { }); | |||
if (!queryParam["ParentID"].IsEmpty()) | |||
{ | |||
dp.Add("ParentID", queryParam["ParentID"].ToString(), DbType.String); | |||
strSql.Append(" AND t.ParentID =@ParentID "); | |||
} | |||
if (!queryParam["keyword"].IsEmpty()) | |||
{ | |||
strSql.Append($" AND t.Name like '%{queryParam["keyword"].ToString()}%' "); | |||
} | |||
if (!queryParam["ApartmentId"].IsEmpty()) | |||
{ | |||
dp.Add("ApartmentId", queryParam["ApartmentId"].ToString(), DbType.String); | |||
strSql.Append(" AND t.ApartmentId =@ApartmentId "); | |||
} | |||
if (!queryParam["UnitId"].IsEmpty()) | |||
{ | |||
dp.Add("UnitId", queryParam["UnitId"].ToString(), DbType.String); | |||
strSql.Append(" AND t.UnitId =@UnitId "); | |||
} | |||
if (!queryParam["FloorId"].IsEmpty()) | |||
{ | |||
dp.Add("FloorId", queryParam["FloorId"].ToString(), DbType.String); | |||
strSql.Append(" AND t.FloorId =@FloorId "); | |||
} | |||
if (!queryParam["Name"].IsEmpty()) | |||
{ | |||
dp.Add("Name", "%" + queryParam["Name"].ToString() + "%", DbType.String); | |||
strSql.Append(" AND t.Name Like @Name "); | |||
} | |||
return this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryBuildEntity>(strSql.ToString(), dp).ToList(); | |||
//return this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryBuildEntity>(strSql.ToString(), dp, pagination).ToList(); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
internal string GetBuildType(string parentID) | |||
{ | |||
try | |||
{ | |||
var entity = this.BaseRepository("CollegeMIS").FindEntity<Acc_DormitoryBuildEntity>(a => a.ParentID == parentID); | |||
var entity = this.BaseRepository("CollegeMIS").FindEntity<Acc_DormitoryBuildEntity>(a => a.ID == parentID); | |||
if (null != entity) | |||
{ | |||
return entity.BuildType; | |||
@@ -164,6 +341,35 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
} | |||
} | |||
public string GetParentBuildType(string keyValue) | |||
{ | |||
try | |||
{ | |||
string sql = $@" select BuildType from [dbo].[Acc_DormitoryBuild] where Id=( | |||
select parentid from [dbo].[Acc_DormitoryBuild] where id='{keyValue}')"; | |||
var data = this.BaseRepository("CollegeMIS").FindObject(sql); | |||
if (data == null) | |||
{ | |||
return ""; | |||
} | |||
else | |||
{ | |||
return data.ToString(); | |||
} | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
internal object GetRoomList(string parentID) | |||
{ | |||
try | |||
@@ -418,7 +624,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
floorInfo.dormitory = bed; | |||
if (!string.IsNullOrEmpty(bed.StudentID)) | |||
{ | |||
floorInfo.stuInfo = this.BaseRepository("CollegeMIS").FindEntity<StuInfoBasicEntity>(a => a.StuId == bed.StudentID); | |||
floorInfo.stuInfo = this.BaseRepository("CollegeMIS").FindEntity<StuInfoBasicEntity>(a => a.StuNo == bed.StudentID); | |||
} | |||
list.Add(floorInfo); | |||
} | |||
@@ -510,6 +716,25 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
} | |||
} | |||
public List<Acc_DormitoryBuildEntity> GetClassifyTree() | |||
{ | |||
try | |||
{ | |||
return this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryBuildEntity>(x => (x.BuildType == "2" || x.BuildType == "1")).ToList(); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取Acc_DormitoryBuild表实体数据 | |||
/// <param name="keyValue">主键</param> | |||
@@ -582,7 +807,44 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
{ | |||
try | |||
{ | |||
return this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryBuildEntity>(a => a.BuildType != "5").OrderBy(a => a.sort).ThenBy(a => a.Name).ToList(); | |||
return this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryBuildEntity>(a => a.BuildType != "5" && a.BuildType != "4").OrderBy(a => a.sort).ThenBy(a => a.Name).ToList(); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取非空床的系部专业 班级 | |||
/// </summary> | |||
/// <returns></returns> | |||
public List<Acc_DormitoryBuildEntity> GetSelectData(string strWhere) | |||
{ | |||
try | |||
{ | |||
string sql = | |||
@"select distinct dept,d.DeptName,major,m.MajorName,class,c.ClassName from [dbo].[Acc_DormitoryBuild] t | |||
join CdDept d on t.dept=d.deptno | |||
join CdMajor m on t.major=m.majorno | |||
join ClassInfo c on t.class=c.classno | |||
where t.ID in ( | |||
select parentid from [dbo].[Acc_DormitoryBuild] where BuildType='5' and (studentid is not null and len(studentid)>0) | |||
)"; | |||
if (!string.IsNullOrEmpty(strWhere)) | |||
{ | |||
sql += " and " + strWhere; | |||
} | |||
return this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryBuildEntity>(sql).ToList(); | |||
} | |||
catch (Exception ex) | |||
@@ -598,6 +860,41 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
} | |||
} | |||
/// <summary> | |||
/// 获取树形数据(学生归宿) | |||
/// </summary> | |||
/// <returns></returns> | |||
public List<Acc_DormitoryBuildEntity> GetSqlTreeForReturn() | |||
{ | |||
try | |||
{ | |||
List<Acc_DormitoryBuildEntity> list = new List<Acc_DormitoryBuildEntity>(); | |||
var roomSql = @"select * from [dbo].[Acc_DormitoryBuild] where ID in ( | |||
select parentid from [dbo].[Acc_DormitoryBuild] where BuildType='5' and (studentid is not null and len(studentid)>0) | |||
)"; | |||
List<Acc_DormitoryBuildEntity> roomList = this.BaseRepository("CollegeMIS") | |||
.FindList<Acc_DormitoryBuildEntity>(roomSql).ToList(); | |||
list = roomList.Union(list).ToList(); | |||
var apartIds = roomList.Select(x => x.ApartmentId).Distinct().ToList(); | |||
var unitIds = roomList.Select(x => x.UnitId).Distinct().ToList(); | |||
var floorIds = roomList.Select(x => x.FloorId).Distinct().ToList(); | |||
var otherList = this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryBuildEntity>(x => | |||
apartIds.Contains(x.ID) || unitIds.Contains(x.ID) || floorIds.Contains(x.ID)).ToList(); | |||
list = list.Union(otherList).ToList(); | |||
return list.OrderBy(x => x.DNo).OrderBy(x => x.Name).ToList(); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 根据父id获取数据 | |||
/// </summary> | |||
@@ -734,6 +1031,10 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
} | |||
bedInfo.StudentID = stuInfo.StuId; | |||
bedInfo.StuName = stuInfo.StuName; | |||
bedInfo.Dept = stuInfo.DeptNo; | |||
bedInfo.Major = stuInfo.MajorNo; | |||
bedInfo.Class = stuInfo.ClassNo; | |||
bedInfo.Sex = Convert.ToString(stuInfo.GenderNo); | |||
this.BaseRepository("CollegeMIS").Update(bedInfo); | |||
return true; | |||
} | |||
@@ -799,6 +1100,27 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
} | |||
} | |||
public void DeleteBed(string keyValue, string ParentID) | |||
{ | |||
try | |||
{ | |||
this.BaseRepository("CollegeMIS").Delete<Acc_DormitoryBuildEntity>(t => t.ID == keyValue); | |||
UpdateCheckInNum(ParentID); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
public void DeleteAll(string parentid) | |||
{ | |||
var list = this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryBuildEntity>(a => a.ParentID == parentid).ToList(); | |||
@@ -842,7 +1164,9 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
var elementEntity = new Acc_DormitoryBuildEntity | |||
{ | |||
ParentID = keyValue, | |||
ApartmentId = keyValue, | |||
Name = i.ToString() + "单元", | |||
DNo = i.ToString(), | |||
BuildType = "2",//单元类型 | |||
Sex = dormitory.Sex, | |||
Address = dormitory.Address, | |||
@@ -859,6 +1183,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
UpdateTime = DateTime.Now | |||
}; | |||
elementEntity.Create(); | |||
elementEntity.UnitId = elementEntity.ID; | |||
list.Add(elementEntity); | |||
//添加楼层 | |||
@@ -869,7 +1194,10 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
var floorEntity = new Acc_DormitoryBuildEntity | |||
{ | |||
ParentID = elementEntity.ID, | |||
ApartmentId = keyValue, | |||
UnitId = elementEntity.ID, | |||
Name = j.ToString() + "层", | |||
DNo = j.ToString(), | |||
BuildType = "3",//楼层类型, | |||
Sex = dormitory.Sex, | |||
Address = dormitory.Address, | |||
@@ -886,6 +1214,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
UpdateTime = DateTime.Now | |||
}; | |||
floorEntity.Create(); | |||
floorEntity.FloorId = floorEntity.ID; | |||
list.Add(floorEntity); | |||
//添加房间 | |||
@@ -896,7 +1225,11 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
var roomEntity = new Acc_DormitoryBuildEntity | |||
{ | |||
ParentID = floorEntity.ID, | |||
ApartmentId = keyValue, | |||
UnitId = elementEntity.ID, | |||
FloorId = floorEntity.ID, | |||
Name = j.ToString() + (n < 10 ? "0" + n.ToString() : n.ToString()) + "室", | |||
DNo = j.ToString() + (n < 10 ? "0" + n.ToString() : n.ToString()), | |||
BuildType = "4",//房间类型 | |||
Sex = dormitory.Sex, | |||
Address = dormitory.Address, | |||
@@ -909,6 +1242,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
Major = dormitory.Major, | |||
Phone = dormitory.Phone, | |||
Price = dormitory.Price, | |||
RoomType = bedNum, | |||
UpdateBy = currentUser.realName, | |||
UpdateTime = DateTime.Now, | |||
Starred = "3", | |||
@@ -925,7 +1259,11 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
var bedEntity = new Acc_DormitoryBuildEntity | |||
{ | |||
ParentID = roomEntity.ID, | |||
ApartmentId = keyValue, | |||
UnitId = elementEntity.ID, | |||
FloorId = floorEntity.ID, | |||
Name = m.ToString() + "床", | |||
DNo = m.ToString(), | |||
BuildType = "5", | |||
Sex = dormitory.Sex, | |||
Address = dormitory.Address, | |||
@@ -1275,9 +1613,11 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
} | |||
else | |||
{ | |||
entity.Create(); | |||
if (entity.BuildType == "1") | |||
{ | |||
if (string.IsNullOrEmpty(entity.ParentID)) | |||
entity.ApartmentId = entity.ID; | |||
if (string.IsNullOrEmpty(entity.ParentID) || entity.ParentID == "-1") | |||
{ | |||
var rootNode = this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryBuildEntity>().FirstOrDefault(a => a.ParentID == null); | |||
if (rootNode == null) | |||
@@ -1291,6 +1631,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
rootEntity.CreateTime = DateTime.Now; | |||
rootEntity.UpdateBy = currentUser.realName; | |||
rootEntity.UpdateTime = DateTime.Now; | |||
rootEntity.ApartmentId = rootEntity.ID; | |||
entity.ParentID = rootEntity.ID; | |||
this.BaseRepository("CollegeMIS").Insert(rootEntity); | |||
} | |||
@@ -1300,7 +1641,33 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
} | |||
} | |||
} | |||
entity.Create(); | |||
else | |||
{ | |||
//上一级 | |||
var parentity = this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryBuildEntity>().FirstOrDefault(a => a.ID == entity.ParentID); | |||
switch (parentity.BuildType) | |||
{ | |||
case "1": | |||
entity.ApartmentId = parentity.ID; | |||
entity.UnitId = entity.ID; | |||
break; | |||
case "2": | |||
{ | |||
entity.FloorId = entity.ID; | |||
entity.UnitId = parentity.ID; | |||
entity.ApartmentId = parentity.ApartmentId; | |||
} | |||
break; | |||
case "3": | |||
{ | |||
entity.FloorId = parentity.ID; | |||
entity.UnitId = parentity.UnitId; | |||
entity.ApartmentId = parentity.ApartmentId; | |||
} | |||
break; | |||
} | |||
} | |||
entity.CreateBy = currentUser.realName; | |||
entity.CreateTime = DateTime.Now; | |||
entity.UpdateBy = currentUser.realName; | |||
@@ -1321,6 +1688,157 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
} | |||
} | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
/// <param name="keyValue">主键</param> | |||
/// <summary> | |||
/// <returns></returns> | |||
public void SaveBedEntity(string keyValue, string ParentID, Acc_DormitoryBuildEntity entity) | |||
{ | |||
var db = this.BaseRepository("CollegeMIS"); | |||
try | |||
{ | |||
db.BeginTrans(); | |||
if (!string.IsNullOrEmpty(keyValue)) | |||
{ | |||
entity.Modify(keyValue); | |||
db.Update(entity); | |||
} | |||
else | |||
{ | |||
var parentEntity = db.FindEntity<Acc_DormitoryBuildEntity>(ParentID); | |||
entity.Create(); | |||
entity.ApartmentId = parentEntity.ApartmentId; | |||
entity.UnitId = parentEntity.UnitId; | |||
entity.FloorId = parentEntity.FloorId; | |||
entity.ParentID = ParentID; | |||
entity.BuildType = "5"; | |||
db.Insert(entity); | |||
} | |||
db.Commit(); | |||
UpdateCheckInNum(ParentID); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
private void UpdateCheckInNum(string ParentID) | |||
{ | |||
try | |||
{ | |||
string sql = $@"update [dbo].[Acc_DormitoryBuild] set RoomType=( | |||
select count(1) from [dbo].[Acc_DormitoryBuild] where ParentId='{ParentID}' and BuildType='5' | |||
) | |||
where ID='{ParentID}' | |||
"; | |||
this.BaseRepository("CollegeMIS").ExecuteBySql(sql); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
public void SaveDeptClass(string keyValue, Acc_DormitoryBuildEntity entity, int type) | |||
{ | |||
try | |||
{ | |||
if (keyValue.Contains(",")) | |||
{ | |||
keyValue = string.Join("','", keyValue.Split(',')); | |||
} | |||
string sql = $"update Acc_DormitoryBuild set "; | |||
if (type == 1) | |||
{ | |||
sql += $" Dept='{entity.Dept}' "; | |||
} | |||
else | |||
{ | |||
sql += $"Major='{entity.Major}',Class='{entity.Class}'"; | |||
} | |||
sql += $" where ID in ('{keyValue}')"; | |||
this.BaseRepository("CollegeMIS").ExecuteBySql(sql); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 分配宿舍 | |||
/// </summary> | |||
/// <param name="RoomId"></param> | |||
/// <param name="list"></param> | |||
public string SaveRoom(string RoomId, List<Acc_DormitoryBuildEntity> list) | |||
{ | |||
var db = this.BaseRepository("CollegeMIS").BeginTrans(); | |||
try | |||
{ | |||
foreach (var entity in list) | |||
{ | |||
//判断该学生是否已分配 | |||
if (!string.IsNullOrEmpty(entity.StudentID)) | |||
{ | |||
var count = db.FindList<Acc_DormitoryBuildEntity>().Count(x => x.StudentID == entity.StudentID && x.ID != entity.ID); | |||
if (count > 0) | |||
{ | |||
var stuname = db.FindEntity<StuInfoBasicEntity>(x => x.StuNo == entity.StudentID)?.StuName; | |||
return "学生" + stuname + "已分配床位,不可重复分配!"; | |||
} | |||
} | |||
//分配床位 | |||
string sql = $"update Acc_DormitoryBuild set StudentID='{entity.StudentID}' where ID='{entity.ID}'"; | |||
db.ExecuteBySql(sql); | |||
} | |||
int checkInStu = list.Where(x => x.StudentID != null).Count(); | |||
string checkInSql = $"update Acc_DormitoryBuild set CheckInStu='{checkInStu}' where ID='{RoomId}'"; | |||
db.ExecuteBySql(checkInSql); | |||
db.Commit(); | |||
return ""; | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 同步宿舍信息 | |||
/// </summary> | |||
@@ -0,0 +1,104 @@ | |||
using Learun.Util; | |||
using System; | |||
using System.ComponentModel.DataAnnotations.Schema; | |||
namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2022-03-10 10:06 | |||
/// 描 述:学生归宿管理 | |||
/// </summary> | |||
public class Acc_DormitoryReturnEntity | |||
{ | |||
#region 实体成员 | |||
/// <summary> | |||
/// Id | |||
/// </summary> | |||
[Column("ID")] | |||
public string Id { get; set; } | |||
/// <summary> | |||
/// 宿舍id,关联Acc_DormitoryBuild表 | |||
/// </summary> | |||
[Column("DORMITORYBUILDID")] | |||
public string DormitoryBuildId { get; set; } | |||
/// <summary> | |||
/// 床位父级 | |||
/// </summary> | |||
[Column("PARENTID")] | |||
public string ParentId { get; set; } | |||
/// <summary> | |||
/// 检查日期 | |||
/// </summary> | |||
[Column("CHECKDATE")] | |||
public DateTime? CheckDate { get; set; } | |||
/// <summary> | |||
/// 出宿时间 | |||
/// </summary> | |||
[Column("OUTTIME")] | |||
public DateTime? OutTime { get; set; } | |||
/// <summary> | |||
/// 归宿时间 | |||
/// </summary> | |||
[Column("RETURNTIME")] | |||
public DateTime? ReturnTime { get; set; } | |||
/// <summary> | |||
/// 备注 | |||
/// </summary> | |||
[Column("REMARK")] | |||
public string Remark { get; set; } | |||
/// <summary> | |||
/// 创建人 | |||
/// </summary> | |||
[Column("CREATEUSERID")] | |||
public string CreateUserId { get; set; } | |||
/// <summary> | |||
/// 创建时间 | |||
/// </summary> | |||
[Column("CREATETIME")] | |||
public DateTime? CreateTime { get; set; } | |||
/// <summary> | |||
/// 修改时间 | |||
/// </summary> | |||
[Column("UPDATETIME")] | |||
public DateTime? UpdateTime { get; set; } | |||
/// <summary> | |||
/// 修改人 | |||
/// </summary> | |||
[Column("UPDATEUSERID")] | |||
public string UpdateUserId { get; set; } | |||
#endregion | |||
#region 扩展操作 | |||
/// <summary> | |||
/// 新增调用 | |||
/// </summary> | |||
public void Create() | |||
{ | |||
this.Id = Guid.NewGuid().ToString(); | |||
this.CreateTime = DateTime.Now; | |||
this.CreateUserId = LoginUserInfo.Get().userId; | |||
} | |||
/// <summary> | |||
/// 编辑调用 | |||
/// </summary> | |||
/// <param name="keyValue"></param> | |||
public void Modify(string keyValue) | |||
{ | |||
this.Id = keyValue; | |||
this.UpdateTime = DateTime.Now; | |||
this.UpdateUserId = LoginUserInfo.Get().userId; | |||
} | |||
#endregion | |||
#region 扩展字段 | |||
[NotMapped] | |||
public string Name { get; set; } | |||
#endregion | |||
} | |||
} | |||
@@ -0,0 +1,210 @@ | |||
using Learun.Util; | |||
using System; | |||
using System.Data; | |||
using System.Collections.Generic; | |||
using System.Linq; | |||
namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2022-03-10 10:06 | |||
/// 描 述:学生归宿管理 | |||
/// </summary> | |||
public class DormitoryReturnBLL : DormitoryReturnIBLL | |||
{ | |||
private DormitoryReturnService dormitoryReturnService = new DormitoryReturnService(); | |||
private AccommodationService accommodationService = new AccommodationService(); | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取左侧树形数据 | |||
/// <summary> | |||
/// <returns></returns> | |||
public List<TreeModel> GetTree() | |||
{ | |||
try | |||
{ | |||
List<Acc_DormitoryBuildEntity> list = accommodationService.GetSqlTreeForReturn(); | |||
List<TreeModel> treeList = new List<TreeModel>(); | |||
foreach (Acc_DormitoryBuildEntity item in list) | |||
{ | |||
TreeModel node = new TreeModel | |||
{ | |||
id = item.ID.ToString(), | |||
text = item.Name.ToString(), | |||
value = item.ID.ToString(), | |||
showcheck = false, | |||
checkstate = 0, | |||
isexpand = true, | |||
parentId = item.ParentID == null ? "" : item.ParentID, | |||
title = item.BuildType | |||
}; | |||
treeList.Add(node); | |||
} | |||
return treeList.ToTree(); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="pagination">分页参数</param> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
public IEnumerable<Acc_DormitoryReturnEntity> GetPageList(Pagination pagination, string queryJson) | |||
{ | |||
try | |||
{ | |||
return dormitoryReturnService.GetPageList(pagination, queryJson); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
public IEnumerable<Acc_DormitoryBuildEntity> GetReportList(string queryJson) | |||
{ | |||
try | |||
{ | |||
return dormitoryReturnService.GetReportList(queryJson); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取Acc_DormitoryReturn表实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
public Acc_DormitoryReturnEntity GetAcc_DormitoryReturnEntity(string keyValue) | |||
{ | |||
try | |||
{ | |||
return dormitoryReturnService.GetAcc_DormitoryReturnEntity(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 | |||
{ | |||
dormitoryReturnService.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 type, Acc_DormitoryReturnEntity entity) | |||
{ | |||
try | |||
{ | |||
dormitoryReturnService.SaveEntity(type, entity); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
public void SaveData(string keyValue, Acc_DormitoryReturnEntity entity) | |||
{ | |||
try | |||
{ | |||
dormitoryReturnService.SaveData(keyValue, entity); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,50 @@ | |||
using Learun.Util; | |||
using System.Data; | |||
using System.Collections.Generic; | |||
namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2022-03-10 10:06 | |||
/// 描 述:学生归宿管理 | |||
/// </summary> | |||
public interface DormitoryReturnIBLL | |||
{ | |||
#region 获取数据 | |||
List<TreeModel> GetTree(); | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
IEnumerable<Acc_DormitoryReturnEntity> GetPageList(Pagination pagination, string queryJson); | |||
IEnumerable<Acc_DormitoryBuildEntity> GetReportList(string queryJson); | |||
/// <summary> | |||
/// 获取Acc_DormitoryReturn表实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
Acc_DormitoryReturnEntity GetAcc_DormitoryReturnEntity(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 type, Acc_DormitoryReturnEntity entity); | |||
void SaveData(string keyValue, Acc_DormitoryReturnEntity entity); | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,273 @@ | |||
using Dapper; | |||
using Learun.DataBase.Repository; | |||
using Learun.Util; | |||
using System; | |||
using System.Collections.Generic; | |||
using System.Data; | |||
using System.Linq; | |||
using System.Text; | |||
namespace Learun.Application.TwoDevelopment.LogisticsManagement | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2022-03-10 10:06 | |||
/// 描 述:学生归宿管理 | |||
/// </summary> | |||
public class DormitoryReturnService : RepositoryFactory | |||
{ | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// </summary> | |||
/// <param name="pagination">查询参数</param> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
public IEnumerable<Acc_DormitoryReturnEntity> GetPageList(Pagination pagination, string queryJson) | |||
{ | |||
try | |||
{ | |||
var strSql = new StringBuilder(); | |||
strSql.Append("SELECT "); | |||
strSql.Append(@" | |||
t.*,a.Name | |||
"); | |||
strSql.Append(" FROM Acc_DormitoryReturn t "); | |||
strSql.Append(" join Acc_DormitoryBuild a on t.DormitoryBuildId=a.ID "); | |||
strSql.Append(" WHERE 1=1 "); | |||
var queryParam = queryJson.ToJObject(); | |||
// 虚拟参数 | |||
var dp = new DynamicParameters(new { }); | |||
if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty()) | |||
{ | |||
dp.Add("startTime", queryParam["StartTime"].ToDate(), DbType.DateTime); | |||
dp.Add("endTime", queryParam["EndTime"].ToDate(), DbType.DateTime); | |||
strSql.Append(" AND ( t.CheckDate >= @startTime AND t.CheckDate <= @endTime ) "); | |||
} | |||
if (!queryParam["OutTime"].IsEmpty()) | |||
{ | |||
dp.Add("OutTime", queryParam["OutTime"].ToString(), DbType.String); | |||
strSql.Append(" AND t.OutTime = @OutTime "); | |||
} | |||
if (!queryParam["ParentId"].IsEmpty()) | |||
{ | |||
dp.Add("ParentId", queryParam["ParentId"].ToString(), DbType.String); | |||
strSql.Append(" AND t.ParentId = @ParentId "); | |||
} | |||
return this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryReturnEntity>(strSql.ToString(), dp, pagination); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取统计数据 | |||
/// </summary> | |||
/// <param name="queryJson"></param> | |||
/// <returns></returns> | |||
public IEnumerable<Acc_DormitoryBuildEntity> GetReportList(string queryJson) | |||
{ | |||
try | |||
{ | |||
string sql = @"select t.isreturn,a.Dept,a.Major,a.class from | |||
( | |||
select parentid,isreturn from [dbo].[Acc_DormitoryBuild] where BuildType='5' and (studentid is not null and len(studentid)>0) | |||
) t | |||
join Acc_DormitoryBuild a on a.ID=t.parentid where 1=1 | |||
"; | |||
var queryParam = queryJson.ToJObject(); | |||
// 虚拟参数 | |||
var dp = new DynamicParameters(new { }); | |||
if (!queryParam["Dept"].IsEmpty()) | |||
{ | |||
sql += $" AND a.Dept = '{queryParam["Dept"].ToString()}'"; | |||
} | |||
if (!queryParam["Major"].IsEmpty()) | |||
{ | |||
sql += $" AND a.Major = '{queryParam["Major"].ToString()}'"; | |||
} | |||
if (!queryParam["Class"].IsEmpty()) | |||
{ | |||
sql += $" AND a.Class = '{queryParam["Class"].ToString()}'"; | |||
} | |||
return this.BaseRepository("CollegeMIS").FindList<Acc_DormitoryBuildEntity>(sql); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取Acc_DormitoryReturn表实体数据 | |||
/// </summary> | |||
/// <param name="keyValue">主键</param> | |||
/// <returns></returns> | |||
public Acc_DormitoryReturnEntity GetAcc_DormitoryReturnEntity(string keyValue) | |||
{ | |||
try | |||
{ | |||
return this.BaseRepository("CollegeMIS").FindEntity<Acc_DormitoryReturnEntity>(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<Acc_DormitoryReturnEntity>(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 type, Acc_DormitoryReturnEntity entity) | |||
{ | |||
var db = this.BaseRepository("CollegeMIS"); | |||
try | |||
{ | |||
db.BeginTrans(); | |||
if (type == "1") | |||
{ | |||
//学生出宿 | |||
entity.Create(); | |||
entity.CheckDate = Convert.ToDateTime(entity.OutTime.Value.Date); | |||
db.Insert(entity); | |||
//修改该床位为未归宿 | |||
var sql = $"update Acc_DormitoryBuild set IsReturn=0 where ID='{entity.DormitoryBuildId}'"; | |||
db.ExecuteBySql(sql); | |||
} | |||
else | |||
{ | |||
//学生归宿 | |||
//获取今天最后一次出宿的记录 | |||
var outsql = | |||
$"select top 1 * from Acc_DormitoryReturn where DormitoryBuildId='{entity.DormitoryBuildId}' and CheckDate='{DateTime.Now.Date}' order by OutTime desc"; | |||
var model = db.FindList<Acc_DormitoryReturnEntity>(outsql).FirstOrDefault(); | |||
if (model == null) | |||
{ | |||
//新增 | |||
entity.Create(); | |||
entity.ReturnTime = entity.ReturnTime; | |||
entity.CheckDate = Convert.ToDateTime(entity.ReturnTime.Value.Date); | |||
db.Insert(entity); | |||
} | |||
else | |||
{ | |||
//修改 | |||
model.ReturnTime = entity.ReturnTime; | |||
model.Remark += " " + entity.Remark; | |||
model.Modify(model.Id); | |||
db.Update(model); | |||
} | |||
//修改该床位为未归宿 | |||
var sql = $"update Acc_DormitoryBuild set IsReturn=1 where ID='{entity.DormitoryBuildId}'"; | |||
db.ExecuteBySql(sql); | |||
} | |||
db.Commit(); | |||
} | |||
catch (Exception ex) | |||
{ | |||
db.Rollback(); | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 保存 | |||
/// </summary> | |||
/// <param name="keyValue"></param> | |||
/// <param name="entity"></param> | |||
public void SaveData(string keyValue, Acc_DormitoryReturnEntity 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 | |||
} | |||
} |