diff --git a/OpenAuth.App/OrgManagerApp.cs b/OpenAuth.App/OrgManagerApp.cs index 066450fd..ee9251cf 100644 --- a/OpenAuth.App/OrgManagerApp.cs +++ b/OpenAuth.App/OrgManagerApp.cs @@ -68,14 +68,22 @@ namespace OpenAuth.App return _repository.Find(u => u.ParentId == orgId); } - //得到部门的所有子部门 + /// + /// 得到部门的所有子部门 + /// 如果orgId为0,表示取得所有部门 + /// public IEnumerable LoadAllChildren(int orgId) { - var org = _repository.FindSingle(u => u.Id == orgId); - if (org == null) - throw new Exception("未能找到指定对象信息"); + string cascadeId = "0."; + if (orgId != 0) + { + var org = _repository.FindSingle(u => u.Id == orgId); + if (org == null) + throw new Exception("未能找到指定对象信息"); + cascadeId = org.CascadeId; + } - return _repository.Find(u => u.CascadeId.Contains(org.CascadeId) && u.Id != orgId); + return _repository.Find(u => u.CascadeId.Contains(cascadeId) && u.Id != orgId); } /// @@ -109,4 +117,4 @@ namespace OpenAuth.App #endregion 私有方法 } -} \ No newline at end of file +} diff --git a/OpenAuth.Mvc/Controllers/OrgManagerController.cs b/OpenAuth.Mvc/Controllers/OrgManagerController.cs index 3b22b597..52e79618 100644 --- a/OpenAuth.Mvc/Controllers/OrgManagerController.cs +++ b/OpenAuth.Mvc/Controllers/OrgManagerController.cs @@ -6,13 +6,14 @@ using System.Web.Mvc; using Infrastructure; using OpenAuth.App; using OpenAuth.Domain; +using OpenAuth.Mvc.Models; namespace OpenAuth.Mvc.Controllers { public class OrgManagerController : BaseController { private OrgManagerApp _orgApp; - private Response _response = new Response(); + private BjuiResponse _bjuiResponse = new BjuiResponse(); public OrgManagerController() { @@ -25,12 +26,39 @@ namespace OpenAuth.Mvc.Controllers return View(); } + /// + /// 选择上级机构页面 + /// + /// ActionResult. public ActionResult LookupParent() { return View(); } + public ActionResult AddOrg() + { + return View(); + } + + //添加组织提交 + [HttpPost] + public string AddOrg(Org org) + { + try + { + _orgApp.AddOrg(org); + } + catch (Exception ex) + { + _bjuiResponse.statusCode = "300"; + _bjuiResponse.message = ex.Message; + } + return JsonHelper.Instance.Serialize(_bjuiResponse); + + } + + public string LoadOrg() { return JsonHelper.Instance.Serialize(_orgApp.GetAll()); @@ -41,23 +69,28 @@ namespace OpenAuth.Mvc.Controllers return JsonHelper.Instance.Serialize(_orgApp.LoadAllChildren(id)); } - public string DelOrg(string json) + /// + /// 删除指定ID的组织 + /// Id为逗号分开的字符串 + /// + /// System.String. + public string DelOrg(string Id) { try { - var delObj = JsonHelper.Instance.Deserialize(json); - foreach (var obj in delObj) + + foreach (var obj in Id.Split(',')) { - _orgApp.DelOrg(obj.Id); + _orgApp.DelOrg(int.Parse(obj)); } } catch (Exception e) { - _response.Status = false; - _response.Message = e.Message; + _bjuiResponse.statusCode = "300"; + _bjuiResponse.message = e.Message; } - return JsonHelper.Instance.Serialize(_response); + return JsonHelper.Instance.Serialize(_bjuiResponse); } } diff --git a/OpenAuth.Mvc/Models/BJUIResponse.cs b/OpenAuth.Mvc/Models/BJUIResponse.cs new file mode 100644 index 00000000..e39cb7a0 --- /dev/null +++ b/OpenAuth.Mvc/Models/BJUIResponse.cs @@ -0,0 +1,57 @@ +// *********************************************************************** +// Assembly : OpenAuth.Mvc +// Author : yubaolee +// Created : 11-05-2015 +// +// Last Modified By : yubaolee +// Last Modified On : 11-05-2015 +// *********************************************************************** +// +// Copyright (c) www.cnblogs.com/yubaolee. All rights reserved. +// +// B-JUI框架返回 +// *********************************************************************** + +namespace OpenAuth.Mvc.Models +{ + public class BjuiResponse + { + public string statusCode + { + get; set; + + } + + public string message + { + get; set; + + } + + public string tabid + { + get; set; + + } + + public bool closeCurrent + { + get; set; + + } + + public string forward { get; set; } + public string forwardConfirm { get; set; } + + + public BjuiResponse() + { + statusCode = "200"; + message = "操作成功"; + tabid = ""; + closeCurrent = false; + forward = ""; + forwardConfirm = ""; + } + } +} \ No newline at end of file diff --git a/OpenAuth.Mvc/OpenAuth.Mvc.csproj b/OpenAuth.Mvc/OpenAuth.Mvc.csproj index d610d182..814e1877 100644 --- a/OpenAuth.Mvc/OpenAuth.Mvc.csproj +++ b/OpenAuth.Mvc/OpenAuth.Mvc.csproj @@ -130,6 +130,7 @@ Global.asax + @@ -611,6 +612,7 @@ + diff --git a/OpenAuth.Mvc/Views/OrgManager/AddOrg.cshtml b/OpenAuth.Mvc/Views/OrgManager/AddOrg.cshtml new file mode 100644 index 00000000..d0d20df4 --- /dev/null +++ b/OpenAuth.Mvc/Views/OrgManager/AddOrg.cshtml @@ -0,0 +1,47 @@ + +@{ + ViewBag.Title = "title"; + Layout = null; +} + +
+
+ + + + + + + + + + + + + + + + + + +

* 添加

+ + +
+ + + +
+ + +
+
+
+ diff --git a/OpenAuth.Mvc/Views/OrgManager/Index.cshtml b/OpenAuth.Mvc/Views/OrgManager/Index.cshtml index 81f11e79..fc7f773a 100644 --- a/OpenAuth.Mvc/Views/OrgManager/Index.cshtml +++ b/OpenAuth.Mvc/Views/OrgManager/Index.cshtml @@ -5,7 +5,7 @@
-
+
@@ -17,23 +17,30 @@ }); //加载数据到datagrid function loadDataGrid(data) { - $('#test-datagrid-array').datagrid({ + //b-jui的datagrid需要重新处理HTML + $('#ztree-detail').empty() + .append('
'); + $('#mainGrid').datagrid({ gridTitle: '机构列表显示', showToolbar: true, - toolbarItem: 'add, edit, refresh, |, del', - //toolbarCustom: '' + - // '', + toolbarItem: 'refresh, |, del', + toolbarCustom: '添加' + + '', columns: [ - { - name: 'Id', - label:'Id', - hide: true, - edit:false - }, + { + name: 'Id', + label: 'Id', + hide: true + }, + { + name: 'ParentId', + label: '上级机构ID', + hide: true + }, { name: 'CascadeId', - label: '唯一标识', - edit:false + label: '唯一标识' }, { name: 'Name', @@ -41,9 +48,7 @@ }, { name: 'ParentName', - label: '上级机构', - type: 'lookup', - attrs: { 'data-url': 'OrgManager/LookupParent' } + label: '上级机构' }, { name: 'Status', @@ -58,12 +63,15 @@ }, { name: 'CreateTime', - label: '登记日期' + label: '登记日期', + type: 'date', + pattern: 'yyyy-MM-dd HH:mm:ss' } ], data: data, addUrl: 'OrgManager/AddOrg', delUrl: 'OrgManager/DelOrg', + delPK: "Id", editUrl: 'OrgManager/EditOrg', editMode: 'dialog', fullGrid: true, @@ -73,10 +81,10 @@ filterMult: false, showTfoot: true, delCallback: function (delResult) { - if (delResult.Status == true) + if (delResult.statusCode == "200") Init(selectedId); else { - $(this).alertmsg('warn', delResult.Message); + $(this).alertmsg('warn', delResult.message); } } }); @@ -86,10 +94,10 @@ $.getJSON('OrgManager/LoadChildren', { id: treeNode.Id }, function (json) { - $('#ztree-detail').empty().append('
'); loadDataGrid(json); }); } + function Init(selectedId) { var setting = { view: { @@ -114,37 +122,47 @@ $.getJSON('OrgManager/LoadOrg', function (json) { var zTreeObj = $.fn.zTree.init($('#orgTree'), setting, json); zTreeObj.expandAll(true); - if (selectedId == 0) { - loadDataGrid(json); - } else { - //TODO:设置ztree选中,不过没看到效果.. - var selectedNod = zTreeObj.getNodesByParam('Id', selectedId, null); - zTreeObj.selectNode(selectedNod, false); - $.getJSON('OrgManager/LoadChildren', { - id: selectedId - }, function (data) { - $('#ztree-detail').empty().append('
'); - loadDataGrid(data); - }); - } + + $.getJSON('OrgManager/LoadChildren', { + id: selectedId + }, function (data) { + loadDataGrid(data); + }); + + //TODO:设置ztree选中,不过没看到效果.. + var selectedNod = zTreeObj.getNodesByParam('Id', selectedId, null); + zTreeObj.selectNode(selectedNod, false); + }); } - function getSelected() { - var selected = $('#test-datagrid-array').data('selectedTrs'); - if (selected == null) { + + //获取勾选的值 + //column:为从0开始的列标识 + function getSelected(column) { + var selected = $('#mainGrid').data('selectedTrs'); + if (selected == null || selected.length == 0) { $(this).alertmsg('warn', '至少选择一个对象', { displayMode: 'slide', title: '重要提示' }); + return null; } - return selected; + + var records = new Array(); + selected.each(function () { + records[records.length] = this.children[column].innerText; + }); + + return records; } + + //自定义的编辑按钮 function editOrg() { - var selected = getSelected(); + var selected = getSelected(2); if (selected == null) return; } //@@ sourceURL=orgIndex.js - \ No newline at end of file +