完成添加

This commit is contained in:
yubaolee 2015-11-05 23:27:08 +08:00
parent 42f4ed9d7b
commit 4ee0a395e2
6 changed files with 218 additions and 53 deletions

View File

@ -68,14 +68,22 @@ namespace OpenAuth.App
return _repository.Find(u => u.ParentId == orgId);
}
//得到部门的所有子部门
/// <summary>
/// 得到部门的所有子部门
/// <para>如果orgId为0表示取得所有部门</para>
/// </summary>
public IEnumerable<Org> 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);
}
/// <summary>
@ -109,4 +117,4 @@ namespace OpenAuth.App
#endregion
}
}
}

View File

@ -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();
}
/// <summary>
/// 选择上级机构页面
/// </summary>
/// <returns>ActionResult.</returns>
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)
/// <summary>
/// 删除指定ID的组织
/// <para>Id为逗号分开的字符串</para>
/// </summary>
/// <returns>System.String.</returns>
public string DelOrg(string Id)
{
try
{
var delObj = JsonHelper.Instance.Deserialize<Org[]>(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);
}
}

View File

@ -0,0 +1,57 @@
// ***********************************************************************
// Assembly : OpenAuth.Mvc
// Author : yubaolee
// Created : 11-05-2015
//
// Last Modified By : yubaolee
// Last Modified On : 11-05-2015
// ***********************************************************************
// <copyright file="BJUIResponse.cs" company="www.cnblogs.com/yubaolee">
// Copyright (c) www.cnblogs.com/yubaolee. All rights reserved.
// </copyright>
// <summary>B-JUI框架返回</summary>
// ***********************************************************************
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 = "";
}
}
}

View File

@ -130,6 +130,7 @@
<DependentUpon>Global.asax</DependentUpon>
</Compile>
<Compile Include="Models\AccountViewModels.cs" />
<Compile Include="Models\BJUIResponse.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
@ -611,6 +612,7 @@
<Content Include="Views\Home\Main.cshtml" />
</ItemGroup>
<ItemGroup>
<None Include="Views\OrgManager\AddOrg.cshtml" />
<None Include="Views\OrgManager\LookupParent.cshtml" />
</ItemGroup>
<PropertyGroup>

View File

@ -0,0 +1,47 @@

@{
ViewBag.Title = "title";
Layout = null;
}
<div class="bjui-pageContent">
<form action="/OrgManager/AddOrg" class="pageForm" data-toggle="validate">
<table class="table table-condensed table-hover">
<tbody>
<tr>
<td align="center"><h3>* 添加</h3></td>
</tr>
<tr>
<td>
<label for="Name" class="control-label x90">机构名称:</label>
<input type="text" name="Name" id="Name" value=""
data-rule="required" size="20">
</td>
</tr>
<tr>
<td>
<input id="ParentId" name="ParentId" type="hidden">
<label for="ParentName" class="control-label x90">上级机构:</label>
<input type="text" name="ParentName" id="ParentName"
value="" data-toggle="lookup" data-url="/OrgManager/LookupParent">
</td>
</tr>
<tr>
<td>
<label for="Status" class="control-label x85">禁用:</label>
<input type="checkbox" name="Status" id="Status" value="true" data-toggle="icheck">
</td>
</tr>
</tbody>
</table>
</form>
</div>
<div class="bjui-pageFooter">
<ul>
<li><button type="button" class="btn-close">关闭</button></li>
<li><button type="submit" class="btn-green">保存</button></li>
</ul>
</div>

View File

@ -5,7 +5,7 @@
</div>
<div id="ztree-detail" style="margin-left: 225px; width: auto;height: auto">
<table id="test-datagrid-array" data-width="100%" data-height="100%" class="table table-bordered"></table>
<table id="mainGrid" data-width="100%" data-height="100%" class="table table-bordered"></table>
</div>
</div>
</div>
@ -17,23 +17,30 @@
});
//加载数据到datagrid
function loadDataGrid(data) {
$('#test-datagrid-array').datagrid({
//b-jui的datagrid需要重新处理HTML
$('#ztree-detail').empty()
.append('<table id="mainGrid" data-width="100%" data-height="100%" class="table table-bordered"></table>');
$('#mainGrid').datagrid({
gridTitle: '机构列表显示',
showToolbar: true,
toolbarItem: 'add, edit, refresh, |, del',
//toolbarCustom: '<button class=" btn-green" data-icon="plus" type="button">添加</button>' +
// '<button class=" btn-green" onclick="editOrg()" data-icon="pencil" type="button">编辑</button>',
toolbarItem: 'refresh, |, del',
toolbarCustom: '<a href="/OrgManager/AddOrg" class="btn btn-green" data-icon ="plus" ' +
'data-toggle="dialog" data-id="dialog-mask" data-mask="true">添加</a>' +
'<button class=" btn-green" onclick="editOrg()" data-icon="pencil" type="button">编辑</button>',
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('<table id="test-datagrid-array" data-width="100%" data-height="100%" class="table table-bordered"></table>');
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('<table id="test-datagrid-array" data-width="100%" data-height="100%" class="table table-bordered"></table>');
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
</script>
</script>