添加Category

This commit is contained in:
yubaolee
2015-12-15 23:04:20 +08:00
parent 999046f887
commit f79e5c08fa
15 changed files with 1083 additions and 575 deletions

View File

@@ -0,0 +1,73 @@
using System;
using System.Web.Mvc;
using Infrastructure;
using OpenAuth.App;
using OpenAuth.Domain;
namespace OpenAuth.Mvc.Controllers
{
public class CategoryManagerController : BaseController
{
private CategoryManagerApp _app;
public CategoryManagerController()
{
_app = (CategoryManagerApp)DependencyResolver.Current.GetService(typeof(CategoryManagerApp));
}
//
// GET: /UserManager/
public ActionResult Index()
{
return View();
}
public ActionResult Add(int id = 0)
{
return View(_app.Find(id));
}
//添加或修改Category
[HttpPost]
public string Add(Category model)
{
try
{
_app.AddOrUpdate(model);
}
catch (Exception ex)
{
BjuiResponse.statusCode = "300";
BjuiResponse.message = ex.Message;
}
return JsonHelper.Instance.Serialize(BjuiResponse);
}
/// <summary>
/// 加载组织下面的所有用户
/// </summary>
public string Load(int orgId, int pageCurrent = 1, int pageSize = 30)
{
return JsonHelper.Instance.Serialize(_app.Load(orgId, pageCurrent, pageSize));
}
public string Delete(int Id)
{
try
{
_app.Delete(Id);
}
catch (Exception e)
{
BjuiResponse.statusCode = "300";
BjuiResponse.message = e.Message;
}
return JsonHelper.Instance.Serialize(BjuiResponse);
}
}
}

View File

@@ -20,6 +20,7 @@
<IISExpressAnonymousAuthentication>enabled</IISExpressAnonymousAuthentication>
<IISExpressWindowsAuthentication>disabled</IISExpressWindowsAuthentication>
<IISExpressUseClassicPipelineMode />
<UseGlobalApplicationHostFile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -125,6 +126,7 @@
<Compile Include="App_Start\RouteConfig.cs" />
<Compile Include="AutofacExt.cs" />
<Compile Include="Controllers\BaseController.cs" />
<Compile Include="Controllers\CategoryManagerController.cs" />
<Compile Include="Controllers\ErrorController.cs" />
<Compile Include="Controllers\HomeController.cs" />
<Compile Include="Controllers\LoginController.cs" />
@@ -554,6 +556,8 @@
<Content Include="BJUI\themes\purple\zTreeStandard.png" />
<Content Include="favicon.ico" />
<Content Include="Global.asax" />
<Content Include="Views\CategoryManager\Add.cshtml" />
<Content Include="Views\CategoryManager\Index.cshtml" />
<None Include="Views\Error\NoAccess.cshtml" />
<None Include="Views\Home\git.cshtml" />
<Content Include="Web.config" />

View File

@@ -0,0 +1,143 @@
@model OpenAuth.Domain.Category
@{
ViewBag.Title = "Category编辑界面";
Layout = null;
}
<div class="bjui-pageContent">
<form action="/CategoryManager/Add" class="pageForm" data-toggle="validate">
<table class="table table-condensed table-hover">
<tbody>
<tr>
<td>
@Html.HiddenFor(m =>m.Id)
</td>
</tr>
<tr>
<td>
<label for="CascadeId" class="control-label x90">节点语义ID</label>
<input type="text" name="CascadeId" id="CascadeId" value="@Model.CascadeId"
data-rule="required" size="20">
</td>
</tr>
<tr>
<td>
<label for="Name" class="control-label x90">名称:</label>
<input type="text" name="Name" id="Name" value="@Model.Name"
data-rule="required" size="20">
</td>
</tr>
<tr>
<td>
<label for="ParentId" class="control-label x85">父节点流水号:</label>
<input id="ParentId" name="ParentId" value="" style="display: none"/>
<input type="text" name="ParentName" id="ParentName"
data-toggle="selectztree" size="20" data-tree="#j_select_tree1" value="@Model.ParentName">
<ul id="j_select_tree1" class="ztree hide" data-toggle="ztree"></ul>
</td>
</tr>
<tr>
<td>
<label for="Status" class="control-label x85">当前状态:</label>
<select name="Status" id="Status" data-toggle="selectpicker" data-rule="required">
<option value="0" @if (Model.Status == 0) { <text> selected="selected" </text> }>默认</option>
<option value="1" @if (Model.Status == 1) { <text> selected="selected" </text> }>状态1</option>
</select>
</td>
</tr>
<tr>
<td>
<label for="SortNo" class="control-label x85">排序号:</label>
<select name="SortNo" id="SortNo" data-toggle="selectpicker" data-rule="required">
<option value="0" @if (Model.SortNo == 0) { <text> selected="selected" </text> }>默认</option>
<option value="1" @if (Model.SortNo == 1) { <text> selected="selected" </text> }>状态1</option>
</select>
</td>
</tr>
<tr>
<td>
<label for="RootKey" class="control-label x90">资源分类标识:</label>
<input type="text" name="RootKey" id="RootKey" value="@Model.RootKey"
data-rule="required" size="20">
</td>
</tr>
<tr>
<td>
<label for="RootName" class="control-label x90">资源分类:</label>
<input type="text" name="RootName" id="RootName" value="@Model.RootName"
data-rule="required" size="20">
</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>
<script type="text/javascript">
$(document).ready(function () {
Init();
});
function Init() {
var setting = {
view: {
selectedMulti: false
},
check: {
enable: true,
chkStyle: "checkbox",
chkboxType: { "Y": "", "N": "" } //去掉勾选时级联
},
data: {
key: {
name: 'Name',
title: 'Name'
},
simpleData: {
enable: true,
idKey: 'Id',
pIdKey: 'ParentId',
rootPId: 'null'
}
},
callback: {
onClick: zTreeOnClick,
onCheck: zTreeCheck
}
};
$.getJSON('OrgManager/LoadOrg', function (json) {
var zTreeObj = $.fn.zTree.init($('#j_select_tree1'), setting, json);
zTreeObj.expandAll(true);
});
}
function zTreeCheck(e, treeId, treeNode) {
var zTree = $.fn.zTree.getZTreeObj(treeId),
nodes = zTree.getCheckedNodes(true);
var ids = '', names = '';
for (var i = 0; i < nodes.length; i++) {
ids += ',' + nodes[i].Id;
names += ',' + nodes[i].Name;
}
if (ids.length > 0) { //去掉第一个逗号
ids = ids.substr(1);
names = names.substr(1);
}
var $from = $('#' + treeId).data('fromObj');
if ($from && $from.length) $from.val(names);
$('#ParentId').val(ids);
}
function zTreeOnClick(event, treeId, treeNode) {
var zTree = $.fn.zTree.getZTreeObj(treeId);
zTree.checkNode(treeNode, !treeNode.checked, true, true);
event.preventDefault();
}
</script>

View File

@@ -0,0 +1,162 @@
@{
string _prefix = "Category";
var _treeId = _prefix + "Tree";
var _gridId = _prefix + "Grid";
var _treeDetail = _prefix + "Detail";
}
@{ Html.RenderAction("MenuHeader", "Home");}
<div class="bjui-pageContent tableContent">
<div class="clearfix">
<div style="float: left; width: 220px; overflow: auto;" class="table table-bordered">
<ul id="@_treeId" class="ztree"></ul>
</div>
<div id="@_treeDetail" style="margin-left: 225px;">
</div>
</div>
</div>
<script type="text/javascript">
var selectedId = 0;
$(document).ready(function () {
initZtree();
loadDataGrid();
});
//加载数据到datagrid
function loadDataGrid() {
//b-jui的datagrid需要重新处理HTML
$('#@_treeDetail').empty()
.append('<table id="@_gridId" class="table table-bordered table-hover table-striped table-top"></table>');
$('#@_gridId').datagrid({
showToolbar: false,
filterThead: false,
columns: [
{
name: 'Id',
label: '资源表ID',
width: 100
, hide: true
},
{
name: 'CascadeId',
label: '节点语义ID',
width: 100
},
{
name: 'Name',
label: '名称',
width: 100
},
{
name: 'ParentId',
label: '父节点流水号',
width: 100
,type: 'select',
align: 'center',
items: [{ '0': '默认' }, { '1': '状态1' }],
},
{
name: 'Status',
label: '当前状态',
width: 100
,type: 'select',
align: 'center',
items: [{ '0': '默认' }, { '1': '状态1' }],
},
{
name: 'SortNo',
label: '排序号',
width: 100
,type: 'select',
align: 'center',
items: [{ '0': '默认' }, { '1': '状态1' }],
},
{
name: 'RootKey',
label: '根节点',
width: 100
},
{
name: 'RootName',
label: '根节点名称',
width: 100
},
],
dataUrl: 'CategoryManager/Load?orgId=' + selectedId,
fullGrid: true,
showLinenumber: true,
showCheckboxcol: true,
paging: true,
filterMult: false,
showTfoot: true,
height: '700'
});
}
function zTreeOnClick(event, treeId, treeNode) {
selectedId = treeNode.Id;
loadDataGrid();
}
function initZtree() {
var setting = {
view: {selectedMulti: false},
data: {
key: {
name: 'Name',
title: 'Name'
},
simpleData: {
enable: true,
idKey: 'Id',
pIdKey: 'ParentId',
rootPId: 'null'
}
},
callback: {onClick: zTreeOnClick}
};
$.getJSON('CategoryManager/LoadModuleWithRoot', function (json) {
var zTreeObj = $.fn.zTree.init($('#@_treeId'), setting, json);
zTreeObj.expandAll(true);
});
}
//删除
function delCategory() {
var selected = getSelected('#@_gridId',2);
if (selected == null) return;
$.get('CategoryManager/Delete?Id=' + selected, function (data) {
if (data.statusCode == "200")
loadDataGrid();
else {
$(this).alertmsg('warn', data.message);
}
});
}
//自定义的编辑按钮
function editCategory() {
var selected = getSelected('#@_gridId',2);
if (selected == null) return;
$(this).dialog({
id: 'editDialog',
url: '/CategoryManager/Add?id=' + selected,
title: '编辑',
onClose:function() {
refreshModuleGrid();
}
});
}
function refreshCategoryGrid() {
$('#@_gridId').datagrid('refresh');
// loadDataGrid();
}
//@@ sourceURL=CategoryManagerIndex.js
</script>