mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2025-04-05 17:38:01 +08:00
完成所有主列表JS模块化
This commit is contained in:
parent
25bb5bf07c
commit
2f0a9a3719
@ -39,14 +39,24 @@ Description="连接的数据库" %>
|
|||||||
<% foreach (ColumnSchema column in this.SourceTable.Columns) {
|
<% foreach (ColumnSchema column in this.SourceTable.Columns) {
|
||||||
if(column.IsPrimaryKeyMember){%>
|
if(column.IsPrimaryKeyMember){%>
|
||||||
<input type="text" id="<%=column.Name%>" name="<%=column.Name%>" value="" class="hidden" />
|
<input type="text" id="<%=column.Name%>" name="<%=column.Name%>" value="" class="hidden" />
|
||||||
<%}else if(CSharpAlias[column.SystemType.FullName] == "bool"
|
<%}else if(CSharpAlias[column.SystemType.FullName] == "bool") {%>
|
||||||
||(CSharpAlias[column.SystemType.FullName] == "int" && Tools.GetDescription(column).Contains("下拉选择"))) {%>
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="<%=column.Name%>" class="control-label x120"><%=Tools.GetDescription(column)%>:</label>
|
||||||
|
<select name="<%=column.Name%>" id="<%=column.Name%>" data-toggle="selectpicker" data-rule="required">
|
||||||
|
<option value="false">否</option>
|
||||||
|
<option value="true">是</option>
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<%}else if(CSharpAlias[column.SystemType.FullName] == "int" ) {%>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<label for="<%=column.Name%>" class="control-label x120"><%=Tools.GetDescription(column)%>:</label>
|
<label for="<%=column.Name%>" class="control-label x120"><%=Tools.GetDescription(column)%>:</label>
|
||||||
<select name="<%=column.Name%>" id="<%=column.Name%>" data-toggle="selectpicker" data-rule="required">
|
<select name="<%=column.Name%>" id="<%=column.Name%>" data-toggle="selectpicker" data-rule="required">
|
||||||
<option value="0">默认</option>
|
<option value="0">默认</option>
|
||||||
<option value="1">禁用</option>
|
<option value="1">状态1</option>
|
||||||
|
<option value="2">状态2</option>
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -32,13 +32,11 @@ function MainGrid() {
|
|||||||
, hide: true
|
, hide: true
|
||||||
<%} %>
|
<%} %>
|
||||||
<%else if(CSharpAlias[column.SystemType.FullName] == "bool") {%>
|
<%else if(CSharpAlias[column.SystemType.FullName] == "bool") {%>
|
||||||
,type: 'select',
|
,align: 'center',
|
||||||
align: 'center',
|
items: [{ 'false': '否' }, { 'true': '是' }],
|
||||||
items: [{ '0': '否' }, { '1': '是' }],
|
|
||||||
<%} %>
|
<%} %>
|
||||||
<%else if(CSharpAlias[column.SystemType.FullName] == "int") {%>
|
<%else if(CSharpAlias[column.SystemType.FullName] == "int") {%>
|
||||||
,type: 'select',
|
, align: 'center',
|
||||||
align: 'center',
|
|
||||||
items: [{ '0': '默认' }, { '1': '状态1' }],
|
items: [{ '0': '默认' }, { '1': '状态1' }],
|
||||||
<%} %>
|
<%} %>
|
||||||
},
|
},
|
||||||
@ -181,22 +179,25 @@ var editDlg = function () {
|
|||||||
$("#Id").val(0);
|
$("#Id").val(0);
|
||||||
|
|
||||||
<%if(Tools.NeedCascade(SourceTable)){
|
<%if(Tools.NeedCascade(SourceTable)){
|
||||||
Response.WriteLine("parentTree.show()");
|
Response.WriteLine("parentTree.show();");
|
||||||
}%>
|
}%>
|
||||||
},
|
},
|
||||||
update: function (ret) { //弹出编辑框
|
update: function (ret) { //弹出编辑框
|
||||||
update = true;
|
update = true;
|
||||||
show();
|
show();
|
||||||
<% foreach (ColumnSchema column in this.SourceTable.Columns) { %>
|
<% foreach (ColumnSchema column in this.SourceTable.Columns) { %>
|
||||||
<%if(CSharpAlias[column.SystemType.FullName] == "bool"
|
<%if(column.IsPrimaryKeyMember){%>
|
||||||
||(CSharpAlias[column.SystemType.FullName] == "int" && Tools.GetDescription(column).Contains("下拉选择"))) {%>
|
$('#<%=column.Name%>').val(ret.<%=column.Name%>);
|
||||||
|
<%}else if(CSharpAlias[column.SystemType.FullName] == "bool") {%>
|
||||||
|
$('#<%=column.Name%>').selectpicker('val', ret.<%=column.Name%>?"true":"false");
|
||||||
|
<%}else if(CSharpAlias[column.SystemType.FullName] == "int") {%>
|
||||||
$('#<%=column.Name%>').selectpicker('val', ret.<%=column.Name%>);
|
$('#<%=column.Name%>').selectpicker('val', ret.<%=column.Name%>);
|
||||||
<%} else{ %>
|
<%} else{ %>
|
||||||
$('#<%=column.Name%>').val(ret.<%=column.Name%>);
|
$('#<%=column.Name%>').val(ret.<%=column.Name%>);
|
||||||
<%} %>
|
<%} %>
|
||||||
<% } %>
|
<% } %>
|
||||||
<%if(Tools.NeedCascade(SourceTable)){
|
<%if(Tools.NeedCascade(SourceTable)){
|
||||||
Response.WriteLine("parentTree.show()");
|
Response.WriteLine("parentTree.show();");
|
||||||
}%>
|
}%>
|
||||||
},
|
},
|
||||||
save: function() { //编辑-->保存
|
save: function() { //编辑-->保存
|
||||||
@ -219,7 +220,7 @@ function del() {
|
|||||||
var selected = list.getSelectedObj();
|
var selected = list.getSelectedObj();
|
||||||
if (selected == null) return;
|
if (selected == null) return;
|
||||||
|
|
||||||
$.getJSON('/moduleManager/Delete?Id=' + selected.Id, function (data) {
|
$.getJSON('/<%=ModuleName%>/Delete?Id=' + selected.Id, function (data) {
|
||||||
if (data.statusCode == "200") {
|
if (data.statusCode == "200") {
|
||||||
list.reload();
|
list.reload();
|
||||||
ztree.reload();
|
ztree.reload();
|
||||||
|
@ -50,9 +50,9 @@ namespace OpenAuth.App
|
|||||||
/// <exception cref="System.Exception">未能找到该组织的父节点信息</exception>
|
/// <exception cref="System.Exception">未能找到该组织的父节点信息</exception>
|
||||||
public int AddOrUpdate(Org org)
|
public int AddOrUpdate(Org org)
|
||||||
{
|
{
|
||||||
|
ChangeModuleCascade(org);
|
||||||
if (org.Id == 0)
|
if (org.Id == 0)
|
||||||
{
|
{
|
||||||
ChangeModuleCascade(org);
|
|
||||||
_repository.Add(org);
|
_repository.Add(org);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -56,7 +56,9 @@ namespace OpenAuth.App
|
|||||||
foreach (var user in users)
|
foreach (var user in users)
|
||||||
{
|
{
|
||||||
UserView uv = user;
|
UserView uv = user;
|
||||||
uv.Organizations = string.Join(",", _orgRepository.LoadByUser(user.Id).Select(u => u.Name).ToList());
|
var orgs = _orgRepository.LoadByUser(user.Id);
|
||||||
|
uv.Organizations = string.Join(",", orgs.Select(u => u.Name).ToList());
|
||||||
|
uv.OrganizationIds = string.Join(",", orgs.Select(u => u.Id).ToList());
|
||||||
userviews.Add(uv);
|
userviews.Add(uv);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -105,16 +107,17 @@ namespace OpenAuth.App
|
|||||||
public void AddOrUpdate(UserView view)
|
public void AddOrUpdate(UserView view)
|
||||||
{
|
{
|
||||||
User user = view;
|
User user = view;
|
||||||
|
user.CreateTime = DateTime.Now;
|
||||||
if (user.Id == 0)
|
if (user.Id == 0)
|
||||||
{
|
{
|
||||||
user.CreateTime = DateTime.Now;
|
|
||||||
user.Password = user.Account; //初始密码与账号相同
|
user.Password = user.Account; //初始密码与账号相同
|
||||||
_repository.Add(user);
|
_repository.Add(user);
|
||||||
view.Id = user.Id; //要把保存后的ID存入view
|
view.Id = user.Id; //要把保存后的ID存入view
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_repository.Update(user);
|
_repository.Update(u=>u.Id, user);
|
||||||
}
|
}
|
||||||
int[] orgIds = view.OrganizationIds.Split(',').Select(id => int.Parse(id)).ToArray();
|
int[] orgIds = view.OrganizationIds.Split(',').Select(id => int.Parse(id)).ToArray();
|
||||||
|
|
||||||
|
@ -241,7 +241,7 @@ function del() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
//自定义的编辑按钮
|
//编辑
|
||||||
function edit() {
|
function edit() {
|
||||||
var selected = list.getSelectedObj();
|
var selected = list.getSelectedObj();
|
||||||
if (selected == null) {
|
if (selected == null) {
|
||||||
@ -250,10 +250,12 @@ function edit() {
|
|||||||
editDlg.update(selected);
|
editDlg.update(selected);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//添加
|
||||||
function add() {
|
function add() {
|
||||||
editDlg.add();
|
editDlg.add();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//刷新
|
||||||
function refresh() {
|
function refresh() {
|
||||||
list.reload();
|
list.reload();
|
||||||
}
|
}
|
||||||
|
@ -15,11 +15,11 @@
|
|||||||
var moduleId = $.CurrentDialog.find("#selectedModuleId").val(); //外部传递的moduleId
|
var moduleId = $.CurrentDialog.find("#selectedModuleId").val(); //外部传递的moduleId
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
$.CurrentDialog.find('#btnAddElement').on('click', function () {
|
$.CurrentDialog.find('#btnAddElement').on('click', function () { //添加菜单
|
||||||
editEleDlg.add();
|
editEleDlg.add();
|
||||||
});
|
});
|
||||||
|
|
||||||
$.CurrentDialog.find('#btnEditElement').on('click', function () {
|
$.CurrentDialog.find('#btnEditElement').on('click', function () { //编辑菜单
|
||||||
var selected = thisDlg.getSelectedObj();
|
var selected = thisDlg.getSelectedObj();
|
||||||
if (selected == null) {
|
if (selected == null) {
|
||||||
return;
|
return;
|
||||||
@ -27,7 +27,7 @@ $(document).ready(function () {
|
|||||||
editEleDlg.update(selected);
|
editEleDlg.update(selected);
|
||||||
});
|
});
|
||||||
|
|
||||||
$.CurrentDialog.find('#btnDelElement').on('click', function () {
|
$.CurrentDialog.find('#btnDelElement').on('click', function () { //删除菜单
|
||||||
var selected = thisDlg.getSelectedMany(); //可以一次删除多个
|
var selected = thisDlg.getSelectedMany(); //可以一次删除多个
|
||||||
if (selected == null) {
|
if (selected == null) {
|
||||||
return;
|
return;
|
||||||
|
@ -42,19 +42,7 @@ function MainGrid() {
|
|||||||
label: '主页面URL',
|
label: '主页面URL',
|
||||||
width: 100
|
width: 100
|
||||||
},
|
},
|
||||||
{
|
|
||||||
name: 'HotKey',
|
|
||||||
label: '热键',
|
|
||||||
width: 100
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'ParentId',
|
|
||||||
label: '父节点流水号',
|
|
||||||
width: 100
|
|
||||||
, type: 'select',
|
|
||||||
align: 'center',
|
|
||||||
items: [{ '0': '默认' }, { '1': '状态1' }],
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: 'IsLeaf',
|
name: 'IsLeaf',
|
||||||
label: '是否叶子节点',
|
label: '是否叶子节点',
|
||||||
@ -71,11 +59,6 @@ function MainGrid() {
|
|||||||
align: 'center',
|
align: 'center',
|
||||||
items: [{ 'false': '否' }, { 'true': '是' }],
|
items: [{ 'false': '否' }, { 'true': '是' }],
|
||||||
},
|
},
|
||||||
{
|
|
||||||
name: 'IconName',
|
|
||||||
label: '节点图标文件名称',
|
|
||||||
width: 100
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: 'Status',
|
name: 'Status',
|
||||||
label: '当前状态',
|
label: '当前状态',
|
||||||
|
256
OpenAuth.Mvc/BllScripts/orgManager.js
Normal file
256
OpenAuth.Mvc/BllScripts/orgManager.js
Normal file
@ -0,0 +1,256 @@
|
|||||||
|
|
||||||
|
//grid列表模块
|
||||||
|
function MainGrid() {
|
||||||
|
var url = '/OrgManager/LoadChildren?Id=';
|
||||||
|
var selectedId = 0; //ztree选中的模块
|
||||||
|
this.maingrid = $('#maingrid').datagrid({
|
||||||
|
showToolbar: false,
|
||||||
|
filterThead: false,
|
||||||
|
target: $(this),
|
||||||
|
columns: [
|
||||||
|
{
|
||||||
|
name: 'Id',
|
||||||
|
label: '流水号',
|
||||||
|
width: 100
|
||||||
|
, hide: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'CascadeId',
|
||||||
|
label: '节点语义ID',
|
||||||
|
width: 100
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Name',
|
||||||
|
label: '组织名称',
|
||||||
|
width: 100
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'ParentName',
|
||||||
|
label: '父节点名称',
|
||||||
|
width: 100
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'IsLeaf',
|
||||||
|
label: '是否叶子节点',
|
||||||
|
width: 100
|
||||||
|
,
|
||||||
|
align: 'center',
|
||||||
|
items: [{ 'false': '否' }, { 'true': '是' }],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'IsAutoExpand',
|
||||||
|
label: '是否自动展开',
|
||||||
|
width: 100
|
||||||
|
,
|
||||||
|
align: 'center',
|
||||||
|
items: [{ 'false': '否' }, { 'true': '是' }],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'IconName',
|
||||||
|
label: '节点图标文件名称',
|
||||||
|
width: 100
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'SortNo',
|
||||||
|
label: '排序号',
|
||||||
|
width: 100 ,
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
dataUrl: url + selectedId,
|
||||||
|
fullGrid: true,
|
||||||
|
showLinenumber: true,
|
||||||
|
showCheckboxcol: true,
|
||||||
|
paging: true,
|
||||||
|
filterMult: false,
|
||||||
|
showTfoot: false,
|
||||||
|
height: '100%'
|
||||||
|
});
|
||||||
|
this.reload = function (id) {
|
||||||
|
if (id != undefined) selectedId = id;
|
||||||
|
this.maingrid.datagrid('reload', { dataUrl: url + selectedId });
|
||||||
|
};
|
||||||
|
};
|
||||||
|
MainGrid.prototype = new Grid();
|
||||||
|
var list = new MainGrid();
|
||||||
|
|
||||||
|
//左边分类导航树
|
||||||
|
var ztree = function () {
|
||||||
|
var url = '/OrgManager/LoadOrg';
|
||||||
|
var setting = {
|
||||||
|
view: { selectedMulti: false },
|
||||||
|
data: {
|
||||||
|
key: {
|
||||||
|
name: 'Name',
|
||||||
|
title: 'Name'
|
||||||
|
},
|
||||||
|
simpleData: {
|
||||||
|
enable: true,
|
||||||
|
idKey: 'Id',
|
||||||
|
pIdKey: 'ParentId',
|
||||||
|
rootPId: 'null'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
callback: { onClick: zTreeOnClick }
|
||||||
|
};
|
||||||
|
$.getJSON(url, function (json) {
|
||||||
|
$.fn.zTree.init($("#tree"), setting, json).expandAll(true);
|
||||||
|
});
|
||||||
|
function zTreeOnClick(event, treeId, treeNode) {
|
||||||
|
list.reload(treeNode.Id);
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
reload: function () {
|
||||||
|
$.getJSON(url, function (json) {
|
||||||
|
$.fn.zTree.init($("#tree"), setting, json).expandAll(true);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}();
|
||||||
|
|
||||||
|
//编辑时,选择上级弹出的树
|
||||||
|
var parentTree = function () {
|
||||||
|
var nameDom = "#ParentName";
|
||||||
|
var idDom = "#ParentId";
|
||||||
|
var zTreeObj;
|
||||||
|
var setting = {
|
||||||
|
view: {
|
||||||
|
selectedMulti: false
|
||||||
|
},
|
||||||
|
check: {
|
||||||
|
enable: true,
|
||||||
|
chkStyle: "radio", //单选
|
||||||
|
radioType: "all"
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
key: {
|
||||||
|
name: 'Name',
|
||||||
|
title: 'Name'
|
||||||
|
},
|
||||||
|
simpleData: {
|
||||||
|
enable: true,
|
||||||
|
idKey: 'Id',
|
||||||
|
pIdKey: 'ParentId',
|
||||||
|
rootPId: 'null'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
callback: {
|
||||||
|
onClick: zTreeOnClick,
|
||||||
|
onCheck: zTreeCheck
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
function zTreeCheck(event, treeId, treeNode) {
|
||||||
|
var nodes = zTreeObj.getCheckedNodes(true);
|
||||||
|
var ids = nodes.map(function (e) { return e.Id; }).join(",");
|
||||||
|
var names = nodes.map(function (e) { return e.Name; }).join(",");
|
||||||
|
|
||||||
|
$(nameDom).val(names);
|
||||||
|
$(idDom).val(ids);
|
||||||
|
}
|
||||||
|
function zTreeOnClick(event, treeId, treeNode) {
|
||||||
|
zTreeObj.checkNode(treeNode, !treeNode.checked, true, true);
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
show: function () {
|
||||||
|
$.getJSON('/OrgManager/LoadForTree', function (json) {
|
||||||
|
zTreeObj = $.fn.zTree.init($('#j_select_tree1'), setting, json);
|
||||||
|
var orgstr = $(idDom).val();
|
||||||
|
var name = '';
|
||||||
|
if (orgstr != '') {
|
||||||
|
var nodeIds = orgstr.split(',');
|
||||||
|
$.each(nodeIds, function () {
|
||||||
|
var node = zTreeObj.getNodeByParam("Id", this, null);
|
||||||
|
name += ',' + node.Name;
|
||||||
|
zTreeObj.checkNode(node, true, true);
|
||||||
|
});
|
||||||
|
$(nameDom).val(name.substr(1)); //显示名称
|
||||||
|
}
|
||||||
|
zTreeObj.expandAll(true);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}();
|
||||||
|
|
||||||
|
//添加(编辑)对话框
|
||||||
|
var editDlg = function () {
|
||||||
|
var update = false;
|
||||||
|
var show = function () {
|
||||||
|
BJUI.dialog({ id: 'editDlg', title: '编辑对话框', target: '#editDlg' });
|
||||||
|
$("#btnSave").on("click", function () {
|
||||||
|
editDlg.save();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
add: function () { //弹出添加
|
||||||
|
update = false;
|
||||||
|
show();
|
||||||
|
$.CurrentDialog.find("form")[0].reset(); //reset方法只能通过dom调用
|
||||||
|
$("#Id").val(0);
|
||||||
|
|
||||||
|
parentTree.show()
|
||||||
|
},
|
||||||
|
update: function (ret) { //弹出编辑框
|
||||||
|
update = true;
|
||||||
|
show();
|
||||||
|
$('#Id').val(ret.Id);
|
||||||
|
$('#Name').val(ret.Name);
|
||||||
|
$('#ParentId').val(ret.ParentId);
|
||||||
|
$('#ParentName').val(ret.ParentName);
|
||||||
|
$('#IsLeaf').selectpicker('val', ret.IsLeaf?"true":"false");
|
||||||
|
$('#IsAutoExpand').selectpicker('val', ret.IsAutoExpand?"true":"false");
|
||||||
|
$('#SortNo').val(ret.SortNo);
|
||||||
|
parentTree.show();
|
||||||
|
},
|
||||||
|
save: function () { //编辑-->保存
|
||||||
|
$('#editForm').isValid(function (v) {
|
||||||
|
if (!v) return; //验证没通过
|
||||||
|
$("#editForm").bjuiajax('ajaxForm', {
|
||||||
|
reload: false,
|
||||||
|
callback: function (json) {
|
||||||
|
list.reload();
|
||||||
|
ztree.reload();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}();
|
||||||
|
|
||||||
|
//删除
|
||||||
|
function del() {
|
||||||
|
var selected = list.getSelectedObj();
|
||||||
|
if (selected == null) return;
|
||||||
|
|
||||||
|
$.getJSON('/OrgManager/DelOrg?Id=' + selected.Id, function (data) {
|
||||||
|
if (data.statusCode == "200") {
|
||||||
|
list.reload();
|
||||||
|
ztree.reload();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$(this).alertmsg('warn', data.message);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//自定义的编辑按钮
|
||||||
|
function edit() {
|
||||||
|
var selected = list.getSelectedObj();
|
||||||
|
if (selected == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
editDlg.update(selected);
|
||||||
|
}
|
||||||
|
|
||||||
|
function add() {
|
||||||
|
editDlg.add();
|
||||||
|
}
|
||||||
|
|
||||||
|
function refresh() {
|
||||||
|
list.reload();
|
||||||
|
}
|
||||||
|
|
||||||
|
//@@ sourceURL=OrgManager.js
|
246
OpenAuth.Mvc/BllScripts/resourceManager.js
Normal file
246
OpenAuth.Mvc/BllScripts/resourceManager.js
Normal file
@ -0,0 +1,246 @@
|
|||||||
|
|
||||||
|
//grid列表模块
|
||||||
|
function MainGrid() {
|
||||||
|
var url = '/ResourceManager/Load?categoryId=';
|
||||||
|
var selectedId = 0; //ztree选中的模块
|
||||||
|
this.maingrid = $('#maingrid').datagrid({
|
||||||
|
showToolbar: false,
|
||||||
|
filterThead: false,
|
||||||
|
target: $(this),
|
||||||
|
columns: [
|
||||||
|
{
|
||||||
|
name: 'Id',
|
||||||
|
label: '资源表ID',
|
||||||
|
width: 100
|
||||||
|
, hide: true
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
name: 'Key',
|
||||||
|
label: 'Key',
|
||||||
|
width: 100
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Name',
|
||||||
|
label: '名称',
|
||||||
|
width: 100
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
name: 'Status',
|
||||||
|
label: '当前状态',
|
||||||
|
width: 100
|
||||||
|
, align: 'center',
|
||||||
|
items: [{ '0': '默认' }, { '1': '状态1' }],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'SortNo',
|
||||||
|
label: '排序号',
|
||||||
|
width: 100
|
||||||
|
, align: 'center',
|
||||||
|
items: [{ '0': '默认' }, { '1': '状态1' }],
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
name: 'Description',
|
||||||
|
label: '描述',
|
||||||
|
width: 100
|
||||||
|
},
|
||||||
|
],
|
||||||
|
dataUrl: url + selectedId,
|
||||||
|
fullGrid: true,
|
||||||
|
showLinenumber: true,
|
||||||
|
showCheckboxcol: true,
|
||||||
|
paging: true,
|
||||||
|
filterMult: false,
|
||||||
|
showTfoot: false,
|
||||||
|
height: '100%'
|
||||||
|
});
|
||||||
|
this.reload = function (id) {
|
||||||
|
if (id != undefined) selectedId = id;
|
||||||
|
this.maingrid.datagrid('reload', { dataUrl: url + selectedId });
|
||||||
|
};
|
||||||
|
};
|
||||||
|
MainGrid.prototype = new Grid();
|
||||||
|
var list = new MainGrid();
|
||||||
|
|
||||||
|
//左边分类导航树
|
||||||
|
var ztree = function () {
|
||||||
|
var url = '/CategoryManager/LoadForTree';
|
||||||
|
var setting = {
|
||||||
|
view: { selectedMulti: false },
|
||||||
|
data: {
|
||||||
|
key: {
|
||||||
|
name: 'Name',
|
||||||
|
title: 'Name'
|
||||||
|
},
|
||||||
|
simpleData: {
|
||||||
|
enable: true,
|
||||||
|
idKey: 'Id',
|
||||||
|
pIdKey: 'ParentId',
|
||||||
|
rootPId: 'null'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
callback: { onClick: zTreeOnClick }
|
||||||
|
};
|
||||||
|
$.getJSON(url, function (json) {
|
||||||
|
$.fn.zTree.init($("#tree"), setting, json).expandAll(true);
|
||||||
|
});
|
||||||
|
function zTreeOnClick(event, treeId, treeNode) {
|
||||||
|
list.reload(treeNode.Id);
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
reload: function () {
|
||||||
|
$.getJSON(url, function (json) {
|
||||||
|
$.fn.zTree.init($("#tree"), setting, json).expandAll(true);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}();
|
||||||
|
|
||||||
|
//编辑时,选择上级弹出的树
|
||||||
|
var parentTree = function () {
|
||||||
|
var nameDom = "#CategoryName";
|
||||||
|
var idDom = "#CategoryId";
|
||||||
|
var zTreeObj;
|
||||||
|
var setting = {
|
||||||
|
view: {
|
||||||
|
selectedMulti: false
|
||||||
|
},
|
||||||
|
check: {
|
||||||
|
enable: true,
|
||||||
|
chkStyle: "radio", //单选
|
||||||
|
radioType: "all"
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
key: {
|
||||||
|
name: 'Name',
|
||||||
|
title: 'Name'
|
||||||
|
},
|
||||||
|
simpleData: {
|
||||||
|
enable: true,
|
||||||
|
idKey: 'Id',
|
||||||
|
pIdKey: 'ParentId',
|
||||||
|
rootPId: 'null'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
callback: {
|
||||||
|
onClick: zTreeOnClick,
|
||||||
|
onCheck: zTreeCheck
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
function zTreeCheck(event, treeId, treeNode) {
|
||||||
|
var nodes = zTreeObj.getCheckedNodes(true);
|
||||||
|
var ids = nodes.map(function (e) { return e.Id; }).join(",");
|
||||||
|
var names = nodes.map(function (e) { return e.Name; }).join(",");
|
||||||
|
|
||||||
|
$(nameDom).val(names);
|
||||||
|
$(idDom).val(ids);
|
||||||
|
}
|
||||||
|
function zTreeOnClick(event, treeId, treeNode) {
|
||||||
|
zTreeObj.checkNode(treeNode, !treeNode.checked, true, true);
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
show: function () {
|
||||||
|
$.getJSON('/CategoryManager/LoadForTree', function (json) {
|
||||||
|
zTreeObj = $.fn.zTree.init($('#j_select_tree1'), setting, json);
|
||||||
|
var orgstr = $(idDom).val();
|
||||||
|
var name = '';
|
||||||
|
if (orgstr != '') {
|
||||||
|
var nodeIds = orgstr.split(',');
|
||||||
|
$.each(nodeIds, function () {
|
||||||
|
var node = zTreeObj.getNodeByParam("Id", this, null);
|
||||||
|
name += ',' + node.Name;
|
||||||
|
zTreeObj.checkNode(node, true, true);
|
||||||
|
});
|
||||||
|
$(nameDom).val(name.substr(1)); //显示名称
|
||||||
|
}
|
||||||
|
zTreeObj.expandAll(true);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}();
|
||||||
|
|
||||||
|
//添加(编辑)对话框
|
||||||
|
var editDlg = function () {
|
||||||
|
var update = false;
|
||||||
|
var show = function () {
|
||||||
|
BJUI.dialog({ id: 'editDlg', title: '编辑对话框', target: '#editDlg' });
|
||||||
|
$("#btnSave").on("click", function () {
|
||||||
|
editDlg.save();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
add: function () { //弹出添加
|
||||||
|
update = false;
|
||||||
|
show();
|
||||||
|
$.CurrentDialog.find("form")[0].reset(); //reset方法只能通过dom调用
|
||||||
|
$("#Id").val(0);
|
||||||
|
|
||||||
|
parentTree.show();
|
||||||
|
},
|
||||||
|
update: function (ret) { //弹出编辑框
|
||||||
|
update = true;
|
||||||
|
show();
|
||||||
|
$('#Id').val(ret.Id);
|
||||||
|
$('#Key').val(ret.Key);
|
||||||
|
$('#Name').val(ret.Name);
|
||||||
|
$('#Status').selectpicker('val', ret.Status);
|
||||||
|
$('#SortNo').val(ret.SortNo);
|
||||||
|
$('#CategoryId').val(ret.CategoryId);
|
||||||
|
$('#Description').val(ret.Description);
|
||||||
|
parentTree.show();
|
||||||
|
},
|
||||||
|
save: function () { //编辑-->保存
|
||||||
|
$('#editForm').isValid(function (v) {
|
||||||
|
if (!v) return; //验证没通过
|
||||||
|
$("#editForm").bjuiajax('ajaxForm', {
|
||||||
|
reload: false,
|
||||||
|
callback: function (json) {
|
||||||
|
list.reload();
|
||||||
|
ztree.reload();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}();
|
||||||
|
|
||||||
|
//删除
|
||||||
|
function del() {
|
||||||
|
var selected = list.getSelectedObj();
|
||||||
|
if (selected == null) return;
|
||||||
|
|
||||||
|
$.getJSON('/ResourceManager/Delete?Id=' + selected.Id, function (data) {
|
||||||
|
if (data.statusCode == "200") {
|
||||||
|
list.reload();
|
||||||
|
ztree.reload();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$(this).alertmsg('warn', data.message);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//自定义的编辑按钮
|
||||||
|
function edit() {
|
||||||
|
var selected = list.getSelectedObj();
|
||||||
|
if (selected == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
editDlg.update(selected);
|
||||||
|
}
|
||||||
|
|
||||||
|
function add() {
|
||||||
|
editDlg.add();
|
||||||
|
}
|
||||||
|
|
||||||
|
function refresh() {
|
||||||
|
list.reload();
|
||||||
|
}
|
||||||
|
|
||||||
|
//@@ sourceURL=ResourceManager.js
|
299
OpenAuth.Mvc/BllScripts/roleManager.js
Normal file
299
OpenAuth.Mvc/BllScripts/roleManager.js
Normal file
@ -0,0 +1,299 @@
|
|||||||
|
|
||||||
|
//grid列表模块
|
||||||
|
function MainGrid() {
|
||||||
|
var url = '/RoleManager/Load?orgId=';
|
||||||
|
var selectedId = 0; //ztree选中的模块
|
||||||
|
this.maingrid = $('#maingrid').datagrid({
|
||||||
|
showToolbar: false,
|
||||||
|
filterThead: false,
|
||||||
|
target: $(this),
|
||||||
|
columns: [
|
||||||
|
{
|
||||||
|
name: 'Id',
|
||||||
|
label: '流水号',
|
||||||
|
width: 100
|
||||||
|
, hide: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Name',
|
||||||
|
label: '角色名称',
|
||||||
|
width: 100
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Status',
|
||||||
|
label: '当前状态',
|
||||||
|
width: 100
|
||||||
|
, align: 'center',
|
||||||
|
items: [{ '0': '默认' }, { '1': '状态1' }],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Type',
|
||||||
|
label: '角色类型',
|
||||||
|
width: 100
|
||||||
|
, align: 'center',
|
||||||
|
items: [{ '0': '默认' }, { '1': '状态1' }],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'OrgName',
|
||||||
|
label: '所属部门名称',
|
||||||
|
width: 100
|
||||||
|
},
|
||||||
|
],
|
||||||
|
dataUrl: url + selectedId,
|
||||||
|
fullGrid: true,
|
||||||
|
showLinenumber: true,
|
||||||
|
showCheckboxcol: true,
|
||||||
|
paging: true,
|
||||||
|
filterMult: false,
|
||||||
|
showTfoot: false,
|
||||||
|
height: '100%'
|
||||||
|
});
|
||||||
|
this.reload = function (id) {
|
||||||
|
if (id != undefined) selectedId = id;
|
||||||
|
this.maingrid.datagrid('reload', { dataUrl: url + selectedId });
|
||||||
|
};
|
||||||
|
};
|
||||||
|
MainGrid.prototype = new Grid();
|
||||||
|
var list = new MainGrid();
|
||||||
|
|
||||||
|
//左边分类导航树
|
||||||
|
var ztree = function () {
|
||||||
|
var url = '/OrgManager/LoadOrg';
|
||||||
|
var setting = {
|
||||||
|
view: { selectedMulti: false },
|
||||||
|
data: {
|
||||||
|
key: {
|
||||||
|
name: 'Name',
|
||||||
|
title: 'Name'
|
||||||
|
},
|
||||||
|
simpleData: {
|
||||||
|
enable: true,
|
||||||
|
idKey: 'Id',
|
||||||
|
pIdKey: 'ParentId',
|
||||||
|
rootPId: 'null'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
callback: { onClick: zTreeOnClick }
|
||||||
|
};
|
||||||
|
$.getJSON(url, function (json) {
|
||||||
|
$.fn.zTree.init($("#tree"), setting, json).expandAll(true);
|
||||||
|
});
|
||||||
|
function zTreeOnClick(event, treeId, treeNode) {
|
||||||
|
list.reload(treeNode.Id);
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
reload: function () {
|
||||||
|
$.getJSON(url, function (json) {
|
||||||
|
$.fn.zTree.init($("#tree"), setting, json).expandAll(true);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}();
|
||||||
|
|
||||||
|
//编辑时,选择上级弹出的树
|
||||||
|
var parentTree = function () {
|
||||||
|
var nameDom = "#OrgName";
|
||||||
|
var idDom = "#OrgId";
|
||||||
|
var zTreeObj;
|
||||||
|
var setting = {
|
||||||
|
view: {
|
||||||
|
selectedMulti: false
|
||||||
|
},
|
||||||
|
check: {
|
||||||
|
enable: true,
|
||||||
|
chkStyle: "radio", //单选
|
||||||
|
radioType: "all"
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
key: {
|
||||||
|
name: 'Name',
|
||||||
|
title: 'Name'
|
||||||
|
},
|
||||||
|
simpleData: {
|
||||||
|
enable: true,
|
||||||
|
idKey: 'Id',
|
||||||
|
pIdKey: 'ParentId',
|
||||||
|
rootPId: 'null'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
callback: {
|
||||||
|
onClick: zTreeOnClick,
|
||||||
|
onCheck: zTreeCheck
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
function zTreeCheck(event, treeId, treeNode) {
|
||||||
|
var nodes = zTreeObj.getCheckedNodes(true);
|
||||||
|
var ids = nodes.map(function (e) { return e.Id; }).join(",");
|
||||||
|
var names = nodes.map(function (e) { return e.Name; }).join(",");
|
||||||
|
|
||||||
|
$(nameDom).val(names);
|
||||||
|
$(idDom).val(ids);
|
||||||
|
}
|
||||||
|
function zTreeOnClick(event, treeId, treeNode) {
|
||||||
|
zTreeObj.checkNode(treeNode, !treeNode.checked, true, true);
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
show: function () {
|
||||||
|
$.getJSON('/OrgManager/LoadForTree', function (json) {
|
||||||
|
zTreeObj = $.fn.zTree.init($('#j_select_tree1'), setting, json);
|
||||||
|
var orgstr = $(idDom).val();
|
||||||
|
var name = '';
|
||||||
|
if (orgstr != '') {
|
||||||
|
var nodeIds = orgstr.split(',');
|
||||||
|
$.each(nodeIds, function () {
|
||||||
|
var node = zTreeObj.getNodeByParam("Id", this, null);
|
||||||
|
name += ',' + node.Name;
|
||||||
|
zTreeObj.checkNode(node, true, true);
|
||||||
|
});
|
||||||
|
$(nameDom).val(name.substr(1)); //显示名称
|
||||||
|
}
|
||||||
|
zTreeObj.expandAll(true);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}();
|
||||||
|
|
||||||
|
//添加(编辑)对话框
|
||||||
|
var editDlg = function () {
|
||||||
|
var update = false;
|
||||||
|
var show = function () {
|
||||||
|
BJUI.dialog({ id: 'editDlg', title: '编辑对话框', target: '#editDlg' });
|
||||||
|
$("#btnSave").on("click", function () {
|
||||||
|
editDlg.save();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
add: function () { //弹出添加
|
||||||
|
update = false;
|
||||||
|
show();
|
||||||
|
$.CurrentDialog.find("form")[0].reset(); //reset方法只能通过dom调用
|
||||||
|
$("#Id").val(0);
|
||||||
|
parentTree.show();
|
||||||
|
|
||||||
|
},
|
||||||
|
update: function (ret) { //弹出编辑框
|
||||||
|
update = true;
|
||||||
|
show();
|
||||||
|
$('#Id').val(ret.Id);
|
||||||
|
$('#Name').val(ret.Name);
|
||||||
|
$('#Status').selectpicker('val', ret.Status);
|
||||||
|
$('#Type').selectpicker('val', ret.Type);
|
||||||
|
$('#OrgId').val(ret.OrgId);
|
||||||
|
$('#OrgName').val(ret.OrgName);
|
||||||
|
parentTree.show();
|
||||||
|
},
|
||||||
|
save: function () { //编辑-->保存
|
||||||
|
$('#editForm').isValid(function (v) {
|
||||||
|
if (!v) return; //验证没通过
|
||||||
|
$("#editForm").bjuiajax('ajaxForm', {
|
||||||
|
reload: false,
|
||||||
|
callback: function (json) {
|
||||||
|
list.reload();
|
||||||
|
ztree.reload();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}();
|
||||||
|
|
||||||
|
//删除
|
||||||
|
function del() {
|
||||||
|
var selected = list.getSelectedObj();
|
||||||
|
if (selected == null) return;
|
||||||
|
|
||||||
|
$.getJSON('/RoleManager/Delete?Id=' + selected.Id, function (data) {
|
||||||
|
if (data.statusCode == "200") {
|
||||||
|
list.reload();
|
||||||
|
ztree.reload();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$(this).alertmsg('warn', data.message);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//自定义的编辑按钮
|
||||||
|
function edit() {
|
||||||
|
var selected = list.getSelectedObj();
|
||||||
|
if (selected == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
editDlg.update(selected);
|
||||||
|
}
|
||||||
|
|
||||||
|
function add() {
|
||||||
|
editDlg.add();
|
||||||
|
}
|
||||||
|
|
||||||
|
function refresh() {
|
||||||
|
list.reload();
|
||||||
|
}
|
||||||
|
|
||||||
|
//为角色分配模块
|
||||||
|
function assignRoleModule(obj) {
|
||||||
|
|
||||||
|
var selected = list.getSelectedObj();
|
||||||
|
if (selected == null) return;
|
||||||
|
|
||||||
|
$(obj).dialog({
|
||||||
|
id: 'accessRoleModule',
|
||||||
|
url: '/ModuleManager/LookupMultiForRole',
|
||||||
|
title: '为角色分配模块',
|
||||||
|
data: {
|
||||||
|
roleid: selected.Id
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//为角色分配可见机构
|
||||||
|
function assignRoleOrg(obj) {
|
||||||
|
var selected = list.getSelectedObj();
|
||||||
|
if (selected == null) return;
|
||||||
|
|
||||||
|
$(obj).dialog({
|
||||||
|
id: 'accessRoleOrg',
|
||||||
|
url: '/OrgManager/LookupMultiForRole',
|
||||||
|
title: '为角色分配可见机构',
|
||||||
|
data: {
|
||||||
|
roleid: selected.Id
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//为角色分配资源
|
||||||
|
function openRoleReourceAccess(obj) {
|
||||||
|
var selected = list.getSelectedObj();
|
||||||
|
if (selected == null) return;
|
||||||
|
|
||||||
|
$(obj).dialog({
|
||||||
|
id: 'accessUserRole',
|
||||||
|
url: '/ResourceManager/LookupMultiForRole',
|
||||||
|
title: '为角色分配资源',
|
||||||
|
width: 600,
|
||||||
|
height: 380,
|
||||||
|
data: {
|
||||||
|
roleId: selected.Id
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//为角色分配菜单
|
||||||
|
function assignRoleElement(obj) {
|
||||||
|
var selected = list.getSelectedObj();
|
||||||
|
if (selected == null) return;
|
||||||
|
|
||||||
|
$(obj).dialog({
|
||||||
|
id: 'assignElement',
|
||||||
|
url: '/ModuleElementManager/AssignForRole?roleId=' + selected.Id,
|
||||||
|
title: '为角色分配菜单',
|
||||||
|
width: 700,
|
||||||
|
height: 380
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//@@ sourceURL=RoleManager.js
|
@ -1,22 +1,72 @@
|
|||||||
// ***********************************************************************
|
|
||||||
// Assembly : OpenAuth.Mvc
|
//grid列表模块
|
||||||
// Author : yubaolee
|
function MainGrid() {
|
||||||
// Created : 04-12-2016
|
var url = '/UserManager/Load?orgId=';
|
||||||
//
|
var selectedId = 0; //ztree选中的模块
|
||||||
// Last Modified By : yubaolee
|
this.maingrid = $('#maingrid').datagrid({
|
||||||
// Last Modified On : 04-12-2016
|
showToolbar: false,
|
||||||
// ***********************************************************************
|
filterThead: false,
|
||||||
// <copyright file="usermanager.js" company="www.cnblogs.com/yubaolee">
|
target: $(this),
|
||||||
// 版权所有(C) 2015
|
columns: [
|
||||||
// </copyright>
|
{
|
||||||
// <summary>用户管理前端模块</summary>
|
name: 'Id',
|
||||||
// ***********************************************************************
|
label: 'Id',
|
||||||
|
width: 100
|
||||||
|
, hide: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Account',
|
||||||
|
label: '账号',
|
||||||
|
width: 100
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Name',
|
||||||
|
label: '名称',
|
||||||
|
width: 100
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Sex',
|
||||||
|
label: '性别',
|
||||||
|
width: 100
|
||||||
|
, align: 'center',
|
||||||
|
items: [{ '0': '男' }, { '1': '女' }],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Status',
|
||||||
|
label: '状态',
|
||||||
|
width: 100
|
||||||
|
, align: 'center',
|
||||||
|
items: [{ '0': '默认' }, { '1': '状态1' }],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Type',
|
||||||
|
label: '用户类型',
|
||||||
|
width: 100
|
||||||
|
, align: 'center',
|
||||||
|
items: [{ '0': '默认' }, { '1': '类型' }],
|
||||||
|
}
|
||||||
|
|
||||||
|
],
|
||||||
|
dataUrl: url + selectedId,
|
||||||
|
fullGrid: true,
|
||||||
|
showLinenumber: true,
|
||||||
|
showCheckboxcol: true,
|
||||||
|
paging: true,
|
||||||
|
filterMult: false,
|
||||||
|
showTfoot: false,
|
||||||
|
height: '100%'
|
||||||
|
});
|
||||||
|
this.reload = function (id) {
|
||||||
|
if (id != undefined) selectedId = id;
|
||||||
|
this.maingrid.datagrid('reload', { dataUrl: url + selectedId });
|
||||||
|
};
|
||||||
|
};
|
||||||
|
MainGrid.prototype = new Grid();
|
||||||
|
var list = new MainGrid();
|
||||||
|
|
||||||
$(function () {
|
//左边分类导航树
|
||||||
});
|
|
||||||
|
|
||||||
//ztree模块
|
|
||||||
var ztree = function () {
|
var ztree = function () {
|
||||||
|
var url = '/OrgManager/LoadOrg';
|
||||||
var setting = {
|
var setting = {
|
||||||
view: { selectedMulti: false },
|
view: { selectedMulti: false },
|
||||||
data: {
|
data: {
|
||||||
@ -31,112 +81,147 @@ var ztree = function () {
|
|||||||
rootPId: 'null'
|
rootPId: 'null'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
callback: {
|
callback: { onClick: zTreeOnClick }
|
||||||
onClick: function (event, treeId, treeNode) {
|
|
||||||
grid.reload(treeNode.Id);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
$.getJSON('/OrgManager/LoadOrg', function (json) {
|
$.getJSON(url, function (json) {
|
||||||
var zTreeObj = $.fn.zTree.init($('#maintree'), setting, json);
|
$.fn.zTree.init($("#tree"), setting, json).expandAll(true);
|
||||||
zTreeObj.expandAll(true);
|
|
||||||
});
|
|
||||||
}();
|
|
||||||
|
|
||||||
//grid列表模块
|
|
||||||
var grid = function () {
|
|
||||||
var selectedId = 0; //选中的ID
|
|
||||||
var maingrid = $('#maingrid', '#detail').datagrid({
|
|
||||||
showToolbar: false,
|
|
||||||
filterThead: false,
|
|
||||||
target: $(this),
|
|
||||||
columns: [
|
|
||||||
{
|
|
||||||
name: 'Id',
|
|
||||||
label: 'Id',
|
|
||||||
attrs: { readonly: 'readonly' },
|
|
||||||
hide: true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Account',
|
|
||||||
label: '用户账号',
|
|
||||||
width: 142,
|
|
||||||
attrs: { readonly: 'readonly' }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Name',
|
|
||||||
label: '姓名/昵称',
|
|
||||||
width: 226
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Organizations',
|
|
||||||
label: '所属机构',
|
|
||||||
width: 150
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Status',
|
|
||||||
label: '状态',
|
|
||||||
type: 'select',
|
|
||||||
align: 'center',
|
|
||||||
width: 80,
|
|
||||||
items: [{ '0': '正常' }, { '1': '禁用' }]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Sex',
|
|
||||||
label: '性别',
|
|
||||||
type: 'select',
|
|
||||||
align: 'center',
|
|
||||||
width: 80,
|
|
||||||
items: [{ '0': '男' }, { '1': '女' }]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'CreateTime',
|
|
||||||
label: '登记日期',
|
|
||||||
type: 'date',
|
|
||||||
width: 180,
|
|
||||||
pattern: 'yyyy-MM-dd HH:mm:ss'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
dataUrl: '/UserManager/Load?orgId=' + selectedId,
|
|
||||||
fullGrid: true,
|
|
||||||
showLinenumber: true,
|
|
||||||
showCheckboxcol: true,
|
|
||||||
paging: true,
|
|
||||||
filterMult: false,
|
|
||||||
showTfoot: false,
|
|
||||||
height: '100%'
|
|
||||||
});
|
});
|
||||||
|
function zTreeOnClick(event, treeId, treeNode) {
|
||||||
|
list.reload(treeNode.Id);
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
reload: function (id) {
|
reload: function () {
|
||||||
if (id != undefined) selectedId = id;
|
$.getJSON(url, function (json) {
|
||||||
maingrid.datagrid('reload', { dataUrl: '/UserManager/Load?orgId=' + selectedId });
|
$.fn.zTree.init($("#tree"), setting, json).expandAll(true);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}();
|
||||||
|
|
||||||
|
//编辑时,选择上级弹出的树
|
||||||
|
var parentTree = function () {
|
||||||
|
var nameDom = "#Organizations";
|
||||||
|
var idDom = "#OrganizationIds";
|
||||||
|
var zTreeObj;
|
||||||
|
var setting = {
|
||||||
|
view: {
|
||||||
|
selectedMulti: false
|
||||||
},
|
},
|
||||||
getSelectedObj: function () { //选择单行
|
check: {
|
||||||
var selectedDatas = maingrid.data('selectedDatas');
|
enable: true,
|
||||||
if (selectedDatas == undefined || selectedDatas.length == 0) {
|
chkStyle: "checkbox",
|
||||||
$(this).alertmsg('warn', '至少选择一个对象', {
|
chkboxType: { "Y": "", "N": "" } //去掉勾选时级联
|
||||||
displayMode: 'slide',
|
},
|
||||||
title: '重要提示'
|
data: {
|
||||||
});
|
key: {
|
||||||
return null;
|
name: 'Name',
|
||||||
|
title: 'Name'
|
||||||
|
},
|
||||||
|
simpleData: {
|
||||||
|
enable: true,
|
||||||
|
idKey: 'Id',
|
||||||
|
pIdKey: 'ParentId',
|
||||||
|
rootPId: 'null'
|
||||||
}
|
}
|
||||||
return selectedDatas[0];
|
|
||||||
},
|
},
|
||||||
getSelectedMany: function () { //选择多行
|
callback: {
|
||||||
return maingrid.data('selectedDatas');
|
onClick: zTreeOnClick,
|
||||||
|
onCheck: zTreeCheck
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
function zTreeCheck(event, treeId, treeNode) {
|
||||||
|
var nodes = zTreeObj.getCheckedNodes(true);
|
||||||
|
var ids = nodes.map(function (e) { return e.Id; }).join(",");
|
||||||
|
var names = nodes.map(function (e) { return e.Name; }).join(",");
|
||||||
|
|
||||||
|
$(nameDom).val(names);
|
||||||
|
$(idDom).val(ids);
|
||||||
|
}
|
||||||
|
function zTreeOnClick(event, treeId, treeNode) {
|
||||||
|
zTreeObj.checkNode(treeNode, !treeNode.checked, true, true);
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
show: function () {
|
||||||
|
$.getJSON('/OrgManager/LoadOrg', function (json) {
|
||||||
|
zTreeObj = $.fn.zTree.init($('#j_select_tree1'), setting, json);
|
||||||
|
var orgstr = $(idDom).val();
|
||||||
|
var name = '';
|
||||||
|
if (orgstr != '') {
|
||||||
|
var nodeIds = orgstr.split(',');
|
||||||
|
$.each(nodeIds, function () {
|
||||||
|
var node = zTreeObj.getNodeByParam("Id", this, null);
|
||||||
|
name += ',' + node.Name;
|
||||||
|
zTreeObj.checkNode(node, true, true);
|
||||||
|
});
|
||||||
|
$(nameDom).val(name.substr(1)); //显示名称
|
||||||
|
}
|
||||||
|
zTreeObj.expandAll(true);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}();
|
||||||
|
|
||||||
|
//添加(编辑)对话框
|
||||||
|
var editDlg = function () {
|
||||||
|
var update = false;
|
||||||
|
var show = function () {
|
||||||
|
BJUI.dialog({ id: 'editDlg', title: '编辑对话框', target: '#editDlg' });
|
||||||
|
$("#btnSave").on("click", function () {
|
||||||
|
editDlg.save();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
add: function () { //弹出添加
|
||||||
|
update = false;
|
||||||
|
show();
|
||||||
|
$.CurrentDialog.find("form")[0].reset(); //reset方法只能通过dom调用
|
||||||
|
$("#Id").val(0);
|
||||||
|
parentTree.show();
|
||||||
|
|
||||||
},
|
},
|
||||||
|
update: function (ret) { //弹出编辑框
|
||||||
|
update = true;
|
||||||
|
show();
|
||||||
|
$('#Id').val(ret.Id);
|
||||||
|
$('#Account').val(ret.Account);
|
||||||
|
$('#Password').val(ret.Password);
|
||||||
|
$('#Name').val(ret.Name);
|
||||||
|
$('#Sex').selectpicker('val', ret.Sex);
|
||||||
|
$('#Status').selectpicker('val', ret.Status);
|
||||||
|
$('#Type').selectpicker('val', ret.Type);
|
||||||
|
$("#OrganizationIds").val(ret.OrganizationIds);
|
||||||
|
parentTree.show();
|
||||||
|
},
|
||||||
|
save: function () { //编辑-->保存
|
||||||
|
$('#editForm').isValid(function (v) {
|
||||||
|
if (!v) return; //验证没通过
|
||||||
|
$("#editForm").bjuiajax('ajaxForm', {
|
||||||
|
reload: false,
|
||||||
|
callback: function (json) {
|
||||||
|
list.reload();
|
||||||
|
ztree.reload();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}();
|
}();
|
||||||
|
|
||||||
//删除
|
//删除
|
||||||
function delUser() {
|
function del() {
|
||||||
var selected = grid.getSelectedObj();
|
var selected = list.getSelectedObj();
|
||||||
if (selected == null) return;
|
if (selected == null) return;
|
||||||
|
|
||||||
$.getJSON('/UserManager/Delete?Id=' + selected.Id, function (data) {
|
$.getJSON('/UserManager/Delete?Id=' + selected.Id, function (data) {
|
||||||
if (data.statusCode == "200")
|
if (data.statusCode == "200") {
|
||||||
grid.reload();
|
list.reload();
|
||||||
|
ztree.reload();
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
$(this).alertmsg('warn', data.message);
|
$(this).alertmsg('warn', data.message);
|
||||||
}
|
}
|
||||||
@ -144,27 +229,26 @@ function delUser() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//自定义的编辑按钮
|
//自定义的编辑按钮
|
||||||
function editUser() {
|
function edit() {
|
||||||
var selected = grid.getSelectedObj();
|
var selected = list.getSelectedObj();
|
||||||
if (selected == null) return;
|
if (selected == null) {
|
||||||
|
return;
|
||||||
$(this).dialog({
|
}
|
||||||
id: 'editDialog',
|
editDlg.update(selected);
|
||||||
url: '/UserManager/Add?id=' + selected.Id,
|
|
||||||
title: '编辑',
|
|
||||||
onClose: function () {
|
|
||||||
grid.reload();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function refreshUserGrid() {
|
function add() {
|
||||||
grid.reload();
|
editDlg.add();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function refresh() {
|
||||||
|
list.reload();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//用户模块授权按钮
|
//用户模块授权按钮
|
||||||
function openUserModuleAccess(obj) {
|
function openUserModuleAccess(obj) {
|
||||||
var selected = grid.getSelectedObj();
|
var selected = list.getSelectedObj();
|
||||||
if (selected == null) return;
|
if (selected == null) return;
|
||||||
|
|
||||||
$(obj).dialog({
|
$(obj).dialog({
|
||||||
@ -179,7 +263,7 @@ function openUserModuleAccess(obj) {
|
|||||||
|
|
||||||
//用户可见组织授权按钮
|
//用户可见组织授权按钮
|
||||||
function openUserOrgAccess(obj) {
|
function openUserOrgAccess(obj) {
|
||||||
var selected = grid.getSelectedObj();
|
var selected = list.getSelectedObj();
|
||||||
if (selected == null) return;
|
if (selected == null) return;
|
||||||
|
|
||||||
$(obj).dialog({
|
$(obj).dialog({
|
||||||
@ -194,7 +278,7 @@ function openUserOrgAccess(obj) {
|
|||||||
|
|
||||||
//用户角色授权
|
//用户角色授权
|
||||||
function openUserRoleAccess(obj) {
|
function openUserRoleAccess(obj) {
|
||||||
var selected = grid.getSelectedObj();
|
var selected = list.getSelectedObj();
|
||||||
if (selected == null) return;
|
if (selected == null) return;
|
||||||
|
|
||||||
$(obj).dialog({
|
$(obj).dialog({
|
||||||
@ -211,7 +295,7 @@ function openUserRoleAccess(obj) {
|
|||||||
|
|
||||||
//为用户分配资源
|
//为用户分配资源
|
||||||
function openUserReourceAccess(obj) {
|
function openUserReourceAccess(obj) {
|
||||||
var selected = grid.getSelectedObj();
|
var selected = list.getSelectedObj();
|
||||||
if (selected == null) return;
|
if (selected == null) return;
|
||||||
|
|
||||||
$(obj).dialog({
|
$(obj).dialog({
|
||||||
@ -228,7 +312,7 @@ function openUserReourceAccess(obj) {
|
|||||||
|
|
||||||
//分配菜单
|
//分配菜单
|
||||||
function openAssignUserElement(obj) {
|
function openAssignUserElement(obj) {
|
||||||
var selected = grid.getSelectedObj();
|
var selected = list.getSelectedObj();
|
||||||
if (selected == null) return;
|
if (selected == null) return;
|
||||||
|
|
||||||
$(obj).dialog({
|
$(obj).dialog({
|
||||||
@ -238,4 +322,6 @@ function openAssignUserElement(obj) {
|
|||||||
width: 700,
|
width: 700,
|
||||||
height: 380
|
height: 380
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//@@ sourceURL=UserManager.js
|
@ -55,11 +55,20 @@ namespace OpenAuth.Mvc.Controllers
|
|||||||
return View();
|
return View();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 返回当前登录用户可访问到的部门
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>System.String.</returns>
|
||||||
public string LoadForTree()
|
public string LoadForTree()
|
||||||
{
|
{
|
||||||
var orgs = SessionHelper.GetSessionUser<LoginUserVM>().AccessedOrgs;
|
var orgs = SessionHelper.GetSessionUser<LoginUserVM>().AccessedOrgs;
|
||||||
return JsonHelper.Instance.Serialize(orgs);
|
return JsonHelper.Instance.Serialize(orgs);
|
||||||
}
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 返回带有根节点的全部部门,不受用户权限影响
|
||||||
|
/// <para>可以匿名访问</para>
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>System.String.</returns>
|
||||||
[Anonymous]
|
[Anonymous]
|
||||||
public string LoadOrg()
|
public string LoadOrg()
|
||||||
{
|
{
|
||||||
@ -150,21 +159,6 @@ namespace OpenAuth.Mvc.Controllers
|
|||||||
}
|
}
|
||||||
return JsonHelper.Instance.Serialize(BjuiResponse);
|
return JsonHelper.Instance.Serialize(BjuiResponse);
|
||||||
}
|
}
|
||||||
|
|
||||||
public string EditOrg(string json)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
var org = JsonHelper.Instance.Deserialize<Org>(json);
|
|
||||||
_orgApp.AddOrUpdate(org);
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
BjuiResponse.statusCode = "300";
|
|
||||||
BjuiResponse.message = ex.Message;
|
|
||||||
}
|
|
||||||
return JsonHelper.Instance.Serialize(BjuiResponse);
|
|
||||||
}
|
|
||||||
|
|
||||||
public string LoadChildren(int id)
|
public string LoadChildren(int id)
|
||||||
{
|
{
|
||||||
|
@ -23,11 +23,6 @@ namespace OpenAuth.Mvc.Controllers
|
|||||||
return View();
|
return View();
|
||||||
}
|
}
|
||||||
|
|
||||||
public ActionResult Add(int id = 0)
|
|
||||||
{
|
|
||||||
return View(_app.Find(id));
|
|
||||||
}
|
|
||||||
|
|
||||||
//添加或修改Resource
|
//添加或修改Resource
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public string Add(Resource model)
|
public string Add(Resource model)
|
||||||
|
@ -23,11 +23,6 @@ namespace OpenAuth.Mvc.Controllers
|
|||||||
return View();
|
return View();
|
||||||
}
|
}
|
||||||
|
|
||||||
public ActionResult Add(int id = 0)
|
|
||||||
{
|
|
||||||
return View(_app.Find(id));
|
|
||||||
}
|
|
||||||
|
|
||||||
//添加或修改组织
|
//添加或修改组织
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public string Add(UserView view)
|
public string Add(UserView view)
|
||||||
|
@ -154,6 +154,10 @@
|
|||||||
<Content Include="BllScripts\grid.js" />
|
<Content Include="BllScripts\grid.js" />
|
||||||
<Content Include="BllScripts\moduleElementMan.js" />
|
<Content Include="BllScripts\moduleElementMan.js" />
|
||||||
<Content Include="BllScripts\modulemanager.js" />
|
<Content Include="BllScripts\modulemanager.js" />
|
||||||
|
<Content Include="BllScripts\orgManager.js" />
|
||||||
|
<Content Include="BllScripts\resourceManager.js" />
|
||||||
|
<Content Include="BllScripts\roleManager.js" />
|
||||||
|
<Content Include="BllScripts\stockManager.js" />
|
||||||
<Content Include="BllScripts\usermanager.js" />
|
<Content Include="BllScripts\usermanager.js" />
|
||||||
<Content Include="BllScripts\roleModuleElement.js" />
|
<Content Include="BllScripts\roleModuleElement.js" />
|
||||||
<Content Include="BllScripts\userModuleElement.js" />
|
<Content Include="BllScripts\userModuleElement.js" />
|
||||||
@ -603,13 +607,11 @@
|
|||||||
<Content Include="Views\_ViewStart.cshtml" />
|
<Content Include="Views\_ViewStart.cshtml" />
|
||||||
<Content Include="Views\Shared\_Layout.cshtml" />
|
<Content Include="Views\Shared\_Layout.cshtml" />
|
||||||
<Content Include="Views\Home\Index.cshtml" />
|
<Content Include="Views\Home\Index.cshtml" />
|
||||||
<Content Include="Views\ResourceManager\Add.cshtml" />
|
|
||||||
<Content Include="Views\ResourceManager\Index.cshtml" />
|
<Content Include="Views\ResourceManager\Index.cshtml" />
|
||||||
<Content Include="Views\RoleManager\LookupMulti.cshtml" />
|
<Content Include="Views\RoleManager\LookupMulti.cshtml" />
|
||||||
<Content Include="Views\ResourceManager\LookupMultiForUser.cshtml" />
|
<Content Include="Views\ResourceManager\LookupMultiForUser.cshtml" />
|
||||||
<Content Include="Views\ResourceManager\LookupMultiForRole.cshtml" />
|
<Content Include="Views\ResourceManager\LookupMultiForRole.cshtml" />
|
||||||
<Content Include="Views\StockManager\Index.cshtml" />
|
<Content Include="Views\StockManager\Index.cshtml" />
|
||||||
<Content Include="Views\StockManager\Add.cshtml" />
|
|
||||||
<Content Include="Views\OrgManager\LookupMultiForRole.cshtml" />
|
<Content Include="Views\OrgManager\LookupMultiForRole.cshtml" />
|
||||||
<Content Include="Views\OrgManager\LookupMultiForUser.cshtml" />
|
<Content Include="Views\OrgManager\LookupMultiForUser.cshtml" />
|
||||||
<Content Include="Views\Shared\_BjuiLayout.cshtml" />
|
<Content Include="Views\Shared\_BjuiLayout.cshtml" />
|
||||||
@ -674,11 +676,8 @@
|
|||||||
<Content Include="Views\ModuleElementManager\AssignForUser.cshtml" />
|
<Content Include="Views\ModuleElementManager\AssignForUser.cshtml" />
|
||||||
<None Include="Views\ModuleElementManager\Index.cshtml" />
|
<None Include="Views\ModuleElementManager\Index.cshtml" />
|
||||||
<Content Include="Views\ModuleElementManager\AssignForRole.cshtml" />
|
<Content Include="Views\ModuleElementManager\AssignForRole.cshtml" />
|
||||||
<None Include="Views\OrgManager\AddOrg.cshtml" />
|
|
||||||
<Content Include="Views\OrgManager\LookupParent.cshtml" />
|
<Content Include="Views\OrgManager\LookupParent.cshtml" />
|
||||||
<Content Include="Views\UserManager\Index.cshtml" />
|
<Content Include="Views\UserManager\Index.cshtml" />
|
||||||
<Content Include="Views\UserManager\Add.cshtml" />
|
|
||||||
<Content Include="Views\RoleManager\Add.cshtml" />
|
|
||||||
<Content Include="Views\RoleManager\Index.cshtml" />
|
<Content Include="Views\RoleManager\Index.cshtml" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
@ -26,46 +26,3 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
function getDatagridRow(gridid) {
|
|
||||||
var selected = $(gridid).data('selectedTrs');
|
|
||||||
if (selected == null || selected.length == 0) {
|
|
||||||
$(this).alertmsg('warn', '至少选择一个对象', {
|
|
||||||
displayMode: 'slide',
|
|
||||||
title: '重要提示'
|
|
||||||
});
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return selected;
|
|
||||||
}
|
|
||||||
//获取勾选的值
|
|
||||||
//column:为从0开始的列标识
|
|
||||||
function getSelected(gridid, column) {
|
|
||||||
|
|
||||||
var selected = getDatagridRow(gridid);
|
|
||||||
if (selected == null) return null;
|
|
||||||
|
|
||||||
var records = new Array();
|
|
||||||
$.each(selected, function (i) {
|
|
||||||
console.log($(this).children().eq(column).text());
|
|
||||||
records[records.length] = $(this).children().eq(column).text();
|
|
||||||
});
|
|
||||||
|
|
||||||
return records[0];
|
|
||||||
}
|
|
||||||
//返回选择的多条记录,用逗号隔开
|
|
||||||
function getSelectedMany(gridid, column) {
|
|
||||||
var selected = getDatagridRow(gridid);
|
|
||||||
if (selected == null) return null;
|
|
||||||
|
|
||||||
var results = '';
|
|
||||||
$.each(selected, function (i) {
|
|
||||||
console.log($(this).children().eq(column).text());
|
|
||||||
results += ',' + $(this).children().eq(column).text();
|
|
||||||
});
|
|
||||||
|
|
||||||
results = results.substr(1); //去掉第一个逗号
|
|
||||||
return results;
|
|
||||||
}
|
|
||||||
</script>
|
|
@ -98,7 +98,12 @@
|
|||||||
<select id="Icon" name="Icon" data-toggle="selectpicker">
|
<select id="Icon" name="Icon" data-toggle="selectpicker">
|
||||||
<option value="pencil" selected>pencil</option>
|
<option value="pencil" selected>pencil</option>
|
||||||
<option value="plus">plus</option>
|
<option value="plus">plus</option>
|
||||||
<option value="del">del</option>
|
<option value="trash">trash</option>
|
||||||
|
<option value="bank">bank</option>
|
||||||
|
<option value="bar">bar</option>
|
||||||
|
<option value="refresh">refresh</option>
|
||||||
|
<option value="user">user</option>
|
||||||
|
<option value="key">key</option>
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -1,107 +0,0 @@
|
|||||||
@{
|
|
||||||
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>
|
|
||||||
<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" data-toggle="selectztree" size="20" data-tree="#j_select_tree1">
|
|
||||||
<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">正常</option>
|
|
||||||
<option value="1">禁用</option>
|
|
||||||
</select>
|
|
||||||
</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: "radio",
|
|
||||||
radioType: "all"
|
|
||||||
},
|
|
||||||
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>
|
|
@ -3,142 +3,75 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@{ Html.RenderAction("MenuHeader", "Home");}
|
@{ Html.RenderAction("MenuHeader", "Home");}
|
||||||
|
<div class="bjui-pageContent tableContent" style="position: relative">
|
||||||
<div class="bjui-pageContent tableContent" style="position:relative">
|
|
||||||
<div class="clearfix">
|
<div class="clearfix">
|
||||||
<div style="float: left; width: 220px; overflow: auto;" class="table table-bordered">
|
<div style="float: left; width: 220px; overflow: auto;" class="table table-bordered">
|
||||||
<ul id="maintree" class="ztree"></ul>
|
<ul id="tree" class="ztree"></ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="detail" style="margin-left: 225px; ">
|
<div id="detail" style="margin-left: 225px;">
|
||||||
|
<table id="maingrid" class="table table-bordered"></table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<!--编辑对话框-->
|
||||||
var selectedId = 0;
|
<div class="bjui-dialog hidden bjui-dialog-container" id="editDlg" data-noinit="true">
|
||||||
var grid;
|
<div class="bjui-pageContent">
|
||||||
$(document).ready(function () {
|
<form action="/OrgManager/AddOrg" class="pageForm" data-toggle="validate" data-reload="false" id="editForm">
|
||||||
initZtree();
|
<table class="table table-condensed table-hover">
|
||||||
LoadOrg();
|
<tbody>
|
||||||
});
|
<input type="text" id="Id" name="Id" value="" class="hidden" />
|
||||||
//加载数据到datagrid
|
<tr>
|
||||||
function LoadOrg() {
|
<td>
|
||||||
//b-jui的datagrid需要重新处理HTML
|
<label for="Name" class="control-label x120">组织名称:</label>
|
||||||
$('#detail').empty()
|
<input type="text" id="Name" name="Name" value="" />
|
||||||
.append('<table id="maingrid" class="table table-bordered table-hover table-striped table-top"></table>');
|
</td>
|
||||||
grid = $('#maingrid').datagrid({
|
</tr>
|
||||||
showToolbar: false,
|
<tr>
|
||||||
filterThead: false,
|
<td>
|
||||||
target: $(this),
|
<label for="IsLeaf" class="control-label x120">是否叶子节点:</label>
|
||||||
columns: [
|
<select name="IsLeaf" id="IsLeaf" data-toggle="selectpicker" data-rule="required">
|
||||||
{
|
<option value="false">否</option>
|
||||||
name: 'Id',
|
<option value="true">是</option>
|
||||||
label: 'Id',
|
</select>
|
||||||
attrs: { readonly: 'readonly' },
|
</td>
|
||||||
hide: true
|
</tr>
|
||||||
},
|
<tr>
|
||||||
{
|
<td>
|
||||||
name: 'ParentId',
|
<label for="IsAutoExpand" class="control-label x120">是否自动展开:</label>
|
||||||
label: '上级机构ID',
|
<select name="IsAutoExpand" id="IsAutoExpand" data-toggle="selectpicker" data-rule="required">
|
||||||
attrs: { readonly: 'readonly'},
|
<option value="false">否</option>
|
||||||
hide: true
|
<option value="true">是</option>
|
||||||
},
|
</select>
|
||||||
{
|
</td>
|
||||||
name: 'CascadeId',
|
</tr>
|
||||||
label: '唯一标识',
|
<tr>
|
||||||
attrs: { readonly: 'readonly'}
|
<td>
|
||||||
},
|
<label for="SortNo" class="control-label x120">排序号:</label>
|
||||||
{
|
<input type="text" id="SortNo" name="SortNo" value="" />
|
||||||
name: 'Name',
|
</td>
|
||||||
label: '机构名称'
|
</tr>
|
||||||
},
|
<tr>
|
||||||
{
|
<td>
|
||||||
name: 'ParentName',
|
<label for="ParentName" class="control-label x120">上级机构:</label>
|
||||||
label: '上级机构',
|
<input id="ParentId" name="ParentId" style="display: none" />
|
||||||
edit: false,
|
<input type="text" name="ParentName" id="ParentName"
|
||||||
attrs: { readonly: 'readonly' }
|
data-toggle="selectztree" data-tree="#j_select_tree1">
|
||||||
},
|
<ul id="j_select_tree1" class="ztree hide" data-toggle="ztree"></ul>
|
||||||
{
|
</td>
|
||||||
name: 'Status',
|
</tr>
|
||||||
label: '状态',
|
</tbody>
|
||||||
type: 'select',
|
</table>
|
||||||
align: 'center',
|
</form>
|
||||||
items:[{'0':'正常'}, {'1':'禁用'}]
|
</div>
|
||||||
},
|
<div class="bjui-pageFooter">
|
||||||
{
|
<ul>
|
||||||
name: 'CreateTime',
|
<li><button type="button" class="btn btn-close">关闭</button></li>
|
||||||
label: '登记日期',
|
<li><button type="button" class="btn btn-primary" id="btnSave">保存</button></li>
|
||||||
type: 'date',
|
</ul>
|
||||||
pattern: 'yyyy-MM-dd HH:mm:ss'
|
</div>
|
||||||
}
|
</div>
|
||||||
],
|
|
||||||
dataUrl: '/OrgManager/LoadChildren?Id=' + selectedId,
|
|
||||||
editUrl: 'OrgManager/EditOrg',
|
|
||||||
editMode: 'dialog',
|
|
||||||
fullGrid: true,
|
|
||||||
showLinenumber: true,
|
|
||||||
showCheckboxcol: true,
|
|
||||||
paging: false,
|
|
||||||
filterMult: false,
|
|
||||||
showTfoot: false,
|
|
||||||
height:700,
|
|
||||||
editCallback: function (delResult) {
|
|
||||||
if (delResult.statusCode == "200")
|
|
||||||
Init(selectedId);
|
|
||||||
else {
|
|
||||||
$(this).alertmsg('warn', delResult.message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
function zTreeOnClick(event, treeId, treeNode) {
|
|
||||||
selectedId = treeNode.Id;
|
|
||||||
LoadOrg();
|
|
||||||
}
|
|
||||||
|
|
||||||
function initZtree() {
|
<script src="~/BllScripts/grid.js"></script>
|
||||||
var setting = {
|
<script src="~/BllScripts/OrgManager.js"></script>
|
||||||
view: {
|
|
||||||
selectedMulti: false
|
|
||||||
},
|
|
||||||
data: {
|
|
||||||
key: {
|
|
||||||
name: 'Name',
|
|
||||||
title: 'Name'
|
|
||||||
},
|
|
||||||
simpleData: {
|
|
||||||
enable: true,
|
|
||||||
idKey: 'Id',
|
|
||||||
pIdKey: 'ParentId',
|
|
||||||
rootPId: 'null'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
callback: {
|
|
||||||
onClick: zTreeOnClick
|
|
||||||
}
|
|
||||||
};
|
|
||||||
$.getJSON('/OrgManager/LoadOrg', function (json) {
|
|
||||||
var zTreeObj = $.fn.zTree.init($('#maintree'), setting, json);
|
|
||||||
zTreeObj.expandAll(true);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function refreshOrgGrid() {
|
|
||||||
$('#maingrid').datagrid('refresh');
|
|
||||||
}
|
|
||||||
|
|
||||||
//删除
|
|
||||||
function delOrg() {
|
|
||||||
var selected = getSelected('#maingrid',2);
|
|
||||||
if (selected == null) return;
|
|
||||||
|
|
||||||
$.getJSON('/OrgManager/DelOrg?Id=' + selected, function (data) {
|
|
||||||
if (data.statusCode == "200")
|
|
||||||
refreshOrgGrid();
|
|
||||||
else {
|
|
||||||
$(this).alertmsg('warn', data.message);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
@ -1,157 +0,0 @@
|
|||||||
@model OpenAuth.Domain.Resource
|
|
||||||
@{
|
|
||||||
ViewBag.Title = "Resource编辑界面";
|
|
||||||
Layout = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
<div class="bjui-pageContent">
|
|
||||||
<form action="/ResourceManager/Add" class="pageForm" data-toggle="validate">
|
|
||||||
<table class="table table-condensed table-hover">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
@Html.HiddenFor(m => m.Id)
|
|
||||||
@Html.HiddenFor(m => m.CategoryId)
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<label for="Key" class="control-label x120">资源标识:</label>
|
|
||||||
<input type="text" name="Key" id="Key" value="@Model.Key"
|
|
||||||
data-rule="required" size="20">
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<label for="Name" class="control-label x120">名称:</label>
|
|
||||||
<input type="text" name="Name" id="Name" value="@Model.Name"
|
|
||||||
data-rule="required" size="20">
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
@if (Model.Id == 0) //添加
|
|
||||||
{
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<label for="ParentName" class="control-label x120">所属分类:</label>
|
|
||||||
<input type="text" name="ParentName" id="ParentName"
|
|
||||||
data-toggle="selectztree" size="20" data-tree="#j_select_tree1" value="">
|
|
||||||
<ul id="j_select_tree1" class="ztree hide" data-toggle="ztree"></ul>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(document).ready(function () {
|
|
||||||
Init();
|
|
||||||
});
|
|
||||||
function Init() {
|
|
||||||
var setting = {
|
|
||||||
view: {
|
|
||||||
selectedMulti: false
|
|
||||||
},
|
|
||||||
check: {
|
|
||||||
enable: true,
|
|
||||||
chkStyle: "radio",
|
|
||||||
radioType: "all"
|
|
||||||
},
|
|
||||||
data: {
|
|
||||||
key: {
|
|
||||||
name: 'Name',
|
|
||||||
title: 'Name'
|
|
||||||
},
|
|
||||||
simpleData: {
|
|
||||||
enable: true,
|
|
||||||
idKey: 'Id',
|
|
||||||
pIdKey: 'ParentId',
|
|
||||||
rootPId: 'null'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
callback: {
|
|
||||||
onClick: zTreeOnClick,
|
|
||||||
onCheck: zTreeCheck
|
|
||||||
}
|
|
||||||
};
|
|
||||||
$.getJSON('/CategoryManager/LoadForTree', 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);
|
|
||||||
|
|
||||||
$('#CategoryId').val(ids);
|
|
||||||
}
|
|
||||||
function zTreeOnClick(event, treeId, treeNode) {
|
|
||||||
var zTree = $.fn.zTree.getZTreeObj(treeId);
|
|
||||||
zTree.checkNode(treeNode, !treeNode.checked, true, true);
|
|
||||||
event.preventDefault();
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
}
|
|
||||||
else //编辑
|
|
||||||
{
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<label for="CascadeId" class="control-label x120">节点语义ID:</label>
|
|
||||||
<input type="text" name="CascadeId" id="CascadeId" value="@Model.CascadeId"
|
|
||||||
data-rule="required" size="20">
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
}
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<label for="Status" class="control-label x120">当前状态:</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 x120">排序号:</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="CategoryId" class="control-label x120">资源分类标识:</label>
|
|
||||||
<select name="CategoryId" id="CategoryId" data-toggle="selectpicker" data-rule="required">
|
|
||||||
<option value="0" @if (Model.CategoryId == 0) { <text> selected="selected" </text> }>默认</option>
|
|
||||||
<option value="1" @if (Model.CategoryId == 1) { <text> selected="selected" </text> }>状态1</option>
|
|
||||||
</select>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<label for="Description" class="control-label x120">描述:</label>
|
|
||||||
<input type="text" name="Description" id="Description" value="@Model.Description"
|
|
||||||
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>
|
|
@ -3,166 +3,83 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@{ Html.RenderAction("MenuHeader", "Home");}
|
@{ Html.RenderAction("MenuHeader", "Home");}
|
||||||
<div class="bjui-pageContent tableContent" style="position:relative">
|
<div class="bjui-pageContent tableContent" style="position: relative">
|
||||||
<div class="clearfix">
|
<div class="clearfix">
|
||||||
<div style="float: left; width: 220px; overflow: auto;" class="table table-bordered">
|
<div style="float: left; width: 220px; overflow: auto;" class="table table-bordered">
|
||||||
<ul id="maintree" class="ztree"></ul>
|
<ul id="tree" class="ztree"></ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="detail" style="margin-left: 225px;">
|
<div id="detail" style="margin-left: 225px;">
|
||||||
|
<table id="maingrid" class="table table-bordered"></table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!--编辑对话框-->
|
||||||
|
<div class="bjui-dialog hidden bjui-dialog-container" id="editDlg" data-noinit="true">
|
||||||
|
<div class="bjui-pageContent">
|
||||||
|
<form action="/ResourceManager/Add" class="pageForm" data-toggle="validate" data-reload="false" id="editForm">
|
||||||
|
|
||||||
<script type="text/javascript">
|
<table class="table table-condensed table-hover">
|
||||||
var selectedId = 0;
|
<tbody>
|
||||||
$(document).ready(function () {
|
<input type="text" id="Id" name="Id" value="" class="hidden" />
|
||||||
initZtree();
|
<tr>
|
||||||
loadDataGrid();
|
<td>
|
||||||
});
|
<label for="Key" class="control-label x120">资源标识:</label>
|
||||||
//加载数据到datagrid
|
<input type="text" id="Key" name="Key" value="" />
|
||||||
function loadDataGrid() {
|
</td>
|
||||||
//b-jui的datagrid需要重新处理HTML
|
</tr>
|
||||||
$('#detail').empty()
|
<tr>
|
||||||
.append('<table id="maingrid" class="table table-bordered table-hover table-striped table-top"></table>');
|
<td>
|
||||||
|
<label for="Name" class="control-label x120">名称:</label>
|
||||||
|
<input type="text" id="Name" name="Name" value="" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="Status" class="control-label x120">当前状态:</label>
|
||||||
|
<select name="Status" id="Status" data-toggle="selectpicker" data-rule="required">
|
||||||
|
<option value="0">默认</option>
|
||||||
|
<option value="1">状态1</option>
|
||||||
|
<option value="2">状态2</option>
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="SortNo" class="control-label x120">排序号:</label>
|
||||||
|
<input type="text" id="SortNo" name="SortNo" value=""/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="Description" class="control-label x120">描述:</label>
|
||||||
|
<input type="text" id="Description" name="Description" value="" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="CategoryName" class="control-label x120">所属分类:</label>
|
||||||
|
<input id="CategoryId" name="CategoryId" style="display: none" />
|
||||||
|
<input type="text" name="CategoryName" id="CategoryName"
|
||||||
|
data-toggle="selectztree" data-tree="#j_select_tree1">
|
||||||
|
<ul id="j_select_tree1" class="ztree hide" data-toggle="ztree"></ul>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div class="bjui-pageFooter">
|
||||||
|
<ul>
|
||||||
|
<li><button type="button" class="btn btn-close">关闭</button></li>
|
||||||
|
<li><button type="button" class="btn btn-primary" id="btnSave">保存</button></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
$('#maingrid').datagrid({
|
<script src="~/BllScripts/grid.js"></script>
|
||||||
showToolbar: false,
|
<script src="~/BllScripts/ResourceManager.js"></script>
|
||||||
filterThead: false,
|
|
||||||
target: $(this),
|
|
||||||
columns: [
|
|
||||||
{
|
|
||||||
name: 'Id',
|
|
||||||
label: '资源表ID',
|
|
||||||
width: 100
|
|
||||||
, hide: true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'CascadeId',
|
|
||||||
label: '节点语义ID',
|
|
||||||
width: 100
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Key',
|
|
||||||
label: '',
|
|
||||||
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: 'CategoryId',
|
|
||||||
label: '资源分类标识',
|
|
||||||
width: 100
|
|
||||||
,type: 'select',
|
|
||||||
align: 'center',
|
|
||||||
items: [{ '0': '默认' }, { '1': '状态1' }],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Description',
|
|
||||||
label: '描述',
|
|
||||||
width: 100
|
|
||||||
},
|
|
||||||
],
|
|
||||||
dataUrl: '/ResourceManager/Load?categoryId=' + selectedId,
|
|
||||||
fullGrid: true,
|
|
||||||
showLinenumber: true,
|
|
||||||
showCheckboxcol: true,
|
|
||||||
paging: true,
|
|
||||||
filterMult: false,
|
|
||||||
showTfoot: false,
|
|
||||||
height: '100%'
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
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/LoadForTree', function (json) {
|
|
||||||
var zTreeObj = $.fn.zTree.init($('#maintree'), setting, json);
|
|
||||||
zTreeObj.expandAll(true);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
//删除
|
|
||||||
function delResource() {
|
|
||||||
var selected = getSelected('#maingrid',2);
|
|
||||||
if (selected == null) return;
|
|
||||||
|
|
||||||
$.getJSON('/ResourceManager/Delete?Id=' + selected, function (data) {
|
|
||||||
if (data.statusCode == "200")
|
|
||||||
loadDataGrid();
|
|
||||||
else {
|
|
||||||
$(this).alertmsg('warn', data.message);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
//自定义的编辑按钮
|
|
||||||
function editResource() {
|
|
||||||
var selected = getSelected('#maingrid',2);
|
|
||||||
if (selected == null) return;
|
|
||||||
|
|
||||||
$(this).dialog({
|
|
||||||
id: 'editDialog',
|
|
||||||
url: '/ResourceManager/Add?id=' + selected,
|
|
||||||
title: '编辑',
|
|
||||||
onClose:function() {
|
|
||||||
refreshResourceGrid();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function refreshResourceGrid() {
|
|
||||||
$('#maingrid').datagrid('refresh');
|
|
||||||
// loadDataGrid();
|
|
||||||
}
|
|
||||||
//@@ sourceURL=ResourceManagerIndex.js
|
|
||||||
</script>
|
|
||||||
|
@ -1,137 +0,0 @@
|
|||||||
@model OpenAuth.Domain.Role
|
|
||||||
@{
|
|
||||||
ViewBag.Title = "title";
|
|
||||||
Layout = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
<div class="bjui-pageContent">
|
|
||||||
<form action="/RoleManager/Add" class="pageForm" data-toggle="validate">
|
|
||||||
<table class="table table-condensed table-hover">
|
|
||||||
<tbody>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
@Html.HiddenFor(m => m.Id)
|
|
||||||
@Html.HiddenFor(m => m.CreateTime)
|
|
||||||
<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="Status" class="control-label x90">当前状态:</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> }>禁用</option>
|
|
||||||
</select>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
<label for="Type" class="control-label x90">角色类型:</label>
|
|
||||||
<select name="Type" id="Type" data-toggle="selectpicker" data-rule="required">
|
|
||||||
<option value="0" @if (Model.Type == 0) { <text> selected="selected" </text> }>管理员</option>
|
|
||||||
<option value="1" @if (Model.Type == 1) { <text> selected="selected" </text> }>普通角色</option>
|
|
||||||
</select>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<label for="OrgName" class="control-label x90">所属机构:</label>
|
|
||||||
<input id="OrgId" name="OrgId" value="" style="display: none"/>
|
|
||||||
<input type="text" name="OrgName" id="OrgName"
|
|
||||||
data-toggle="selectztree" size="20" data-tree="#j_select_tree1" value="@Model.OrgName">
|
|
||||||
<ul id="j_select_tree1" class="ztree hide" data-toggle="ztree"></ul>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
<label for="OrgCascadeId" class="control-label x90">机构级联ID:</label>
|
|
||||||
<input type="text" name="OrgCascadeId" id="OrgCascadeId" value="@Model.OrgCascadeId"
|
|
||||||
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: "radio",
|
|
||||||
radioType: "all"
|
|
||||||
},
|
|
||||||
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 = '', cascadeids='';
|
|
||||||
for (var i = 0; i < nodes.length; i++) {
|
|
||||||
ids += ',' + nodes[i].Id;
|
|
||||||
names += ',' + nodes[i].Name;
|
|
||||||
cascadeids += ',' + nodes[i].CascadeId;
|
|
||||||
}
|
|
||||||
if (ids.length > 0) { //去掉第一个逗号
|
|
||||||
ids = ids.substr(1);
|
|
||||||
names = names.substr(1);
|
|
||||||
cascadeids = cascadeids.substr(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
var $from = $('#' + treeId).data('fromObj');
|
|
||||||
if ($from && $from.length) $from.val(names);
|
|
||||||
|
|
||||||
$('#OrgId').val(ids);
|
|
||||||
$('#OrgCascadeId').val(cascadeids);
|
|
||||||
}
|
|
||||||
function zTreeOnClick(event, treeId, treeNode) {
|
|
||||||
var zTree = $.fn.zTree.getZTreeObj(treeId);
|
|
||||||
zTree.checkNode(treeNode, !treeNode.checked, true, true);
|
|
||||||
event.preventDefault();
|
|
||||||
}
|
|
||||||
</script>
|
|
@ -3,215 +3,73 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@{ Html.RenderAction("MenuHeader", "Home");}
|
@{ Html.RenderAction("MenuHeader", "Home");}
|
||||||
|
<div class="bjui-pageContent tableContent" style="position: relative">
|
||||||
<div class="bjui-pageContent tableContent" style="position:relative">
|
|
||||||
<div class="clearfix">
|
<div class="clearfix">
|
||||||
<div style="float: left; width: 220px; overflow: auto;" class="table table-bordered">
|
<div style="float: left; width: 220px; overflow: auto;" class="table table-bordered">
|
||||||
<ul id="maintree" class="ztree"></ul>
|
<ul id="tree" class="ztree"></ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="detail" style="margin-left: 225px;">
|
<div id="detail" style="margin-left: 225px;">
|
||||||
|
<table id="maingrid" class="table table-bordered"></table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!--编辑对话框-->
|
||||||
|
<div class="bjui-dialog hidden bjui-dialog-container" id="editDlg" data-noinit="true">
|
||||||
|
<div class="bjui-pageContent">
|
||||||
|
<form action="/RoleManager/Add" class="pageForm" data-toggle="validate" data-reload="false" id="editForm">
|
||||||
|
|
||||||
<script type="text/javascript">
|
<table class="table table-condensed table-hover">
|
||||||
var selectedId = 0;
|
<tbody>
|
||||||
$(document).ready(function () {
|
<input type="text" id="Id" name="Id" value="" class="hidden" />
|
||||||
initZtree();
|
<tr>
|
||||||
loadDataGrid();
|
<td>
|
||||||
});
|
<label for="Name" class="control-label x120">角色名称:</label>
|
||||||
//加载数据到datagrid
|
<input type="text" id="Name" name="Name" value=""/>
|
||||||
function loadDataGrid() {
|
</td>
|
||||||
//b-jui的datagrid需要重新处理HTML
|
</tr>
|
||||||
$('#detail').empty()
|
<tr>
|
||||||
.append('<table id="maingrid" class="table table-bordered table-hover table-striped table-top"></table>');
|
<td>
|
||||||
|
<label for="OrgName" class="control-label x120">所属组织:</label>
|
||||||
|
<input id="OrgId" name="OrgId" style="display: none" />
|
||||||
|
<input type="text" name="OrgName" id="OrgName"
|
||||||
|
data-toggle="selectztree" data-tree="#j_select_tree1">
|
||||||
|
<ul id="j_select_tree1" class="ztree hide" data-toggle="ztree"></ul>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="Status" class="control-label x120">当前状态:</label>
|
||||||
|
<select name="Status" id="Status" data-toggle="selectpicker" data-rule="required">
|
||||||
|
<option value="0">默认</option>
|
||||||
|
<option value="1">状态1</option>
|
||||||
|
<option value="2">状态2</option>
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="Type" class="control-label x120">角色类型:</label>
|
||||||
|
<select name="Type" id="Type" data-toggle="selectpicker" data-rule="required">
|
||||||
|
<option value="0">默认</option>
|
||||||
|
<option value="1">状态1</option>
|
||||||
|
<option value="2">状态2</option>
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div class="bjui-pageFooter">
|
||||||
|
<ul>
|
||||||
|
<li><button type="button" class="btn btn-close">关闭</button></li>
|
||||||
|
<li><button type="button" class="btn btn-primary" id="btnSave">保存</button></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
$('#maingrid').datagrid({
|
<script src="~/BllScripts/grid.js"></script>
|
||||||
showToolbar:false,
|
<script src="~/BllScripts/RoleManager.js"></script>
|
||||||
filterThead: false,
|
|
||||||
columns: [
|
|
||||||
{
|
|
||||||
name: 'Id',
|
|
||||||
label: '流水号'
|
|
||||||
, hide: true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Name',
|
|
||||||
label: '角色名称',
|
|
||||||
width:100
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Status',
|
|
||||||
label: '当前状态',
|
|
||||||
type: 'select',
|
|
||||||
align: 'center',
|
|
||||||
items:[{'0':'正常','1':'禁用'}],
|
|
||||||
width:50
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Type',
|
|
||||||
label: '角色类型',
|
|
||||||
type: 'select',
|
|
||||||
align: 'center',
|
|
||||||
items: [{ '0': '管理员','1':'普通角色' }],
|
|
||||||
width:50
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'CreateTime',
|
|
||||||
label: '创建时间'
|
|
||||||
, type: 'date',
|
|
||||||
width: 150,
|
|
||||||
pattern: 'yyyy-MM-dd HH:mm:ss'
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
name: 'OrgCascadeId',
|
|
||||||
label: '所属部门节点语义ID',
|
|
||||||
width:100
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'OrgName',
|
|
||||||
label: '所属部门名称',
|
|
||||||
width:100
|
|
||||||
}
|
|
||||||
],
|
|
||||||
dataUrl: '/RoleManager/Load?orgId=' + selectedId,
|
|
||||||
target:$(this),
|
|
||||||
fullGrid: true,
|
|
||||||
showLinenumber: true,
|
|
||||||
showCheckboxcol: true,
|
|
||||||
paging: true,
|
|
||||||
filterMult: false,
|
|
||||||
showTfoot: false,
|
|
||||||
height: '100%'
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
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('/OrgManager/LoadOrg', function (json) {
|
|
||||||
var zTreeObj = $.fn.zTree.init($('#maintree'), setting, json);
|
|
||||||
zTreeObj.expandAll(true);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
//删除
|
|
||||||
function delRole() {
|
|
||||||
var selected = getSelected('#maingrid', 2);
|
|
||||||
if (selected == null) return;
|
|
||||||
|
|
||||||
$.getJSON('/RoleManager/Delete?Id=' + selected, function (data) {
|
|
||||||
if (data.statusCode == "200")
|
|
||||||
refreshRoleGrid();
|
|
||||||
else {
|
|
||||||
$(this).alertmsg('warn', data.message);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
//自定义的编辑按钮
|
|
||||||
function editRole() {
|
|
||||||
var selected = getSelected('#maingrid',2);
|
|
||||||
if (selected == null) return;
|
|
||||||
|
|
||||||
$(this).dialog({
|
|
||||||
id: 'editDialog',
|
|
||||||
url: '/RoleManager/Add?id=' + selected,
|
|
||||||
title: '编辑',
|
|
||||||
onClose:function() {
|
|
||||||
refreshRoleGrid();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function refreshRoleGrid() {
|
|
||||||
$('#maingrid').datagrid('refresh');
|
|
||||||
// loadDataGrid();
|
|
||||||
}
|
|
||||||
|
|
||||||
//为角色分配模块
|
|
||||||
function assignRoleModule(obj) {
|
|
||||||
|
|
||||||
var selected = getSelected('#maingrid',2);
|
|
||||||
if (selected == null) return;
|
|
||||||
|
|
||||||
$(obj).dialog({
|
|
||||||
id: 'accessRoleModule',
|
|
||||||
url: '/ModuleManager/LookupMultiForRole',
|
|
||||||
title: '为角色分配模块',
|
|
||||||
data: {
|
|
||||||
roleid: selected
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
//为角色分配可见机构
|
|
||||||
function assignRoleOrg(obj) {
|
|
||||||
var selected = getSelected('#maingrid', 2);
|
|
||||||
if (selected == null) return;
|
|
||||||
|
|
||||||
$(obj).dialog({
|
|
||||||
id: 'accessRoleOrg',
|
|
||||||
url: '/OrgManager/LookupMultiForRole',
|
|
||||||
title: '为角色分配可见机构',
|
|
||||||
data: {
|
|
||||||
roleid: selected
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
//为角色分配资源
|
|
||||||
function openRoleReourceAccess(obj) {
|
|
||||||
var selected = getSelected('#maingrid', 2);
|
|
||||||
if (selected == null) return;
|
|
||||||
|
|
||||||
$(obj).dialog({
|
|
||||||
id: 'accessUserRole',
|
|
||||||
url: '/ResourceManager/LookupMultiForRole',
|
|
||||||
title: '为角色分配资源',
|
|
||||||
width: 600,
|
|
||||||
height: 380,
|
|
||||||
data: {
|
|
||||||
roleId: selected
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
//为角色分配菜单
|
|
||||||
function assignRoleElement(obj) {
|
|
||||||
var selected = getSelected('#maingrid', 2);
|
|
||||||
if (selected == null) return;
|
|
||||||
|
|
||||||
$(obj).dialog({
|
|
||||||
id: 'assignElement',
|
|
||||||
url: '/ModuleElementManager/AssignForRole?roleId=' + selected,
|
|
||||||
title: '为角色分配菜单',
|
|
||||||
width: 700,
|
|
||||||
height:380
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
//@@ sourceURL=RoleManagerIndex.js
|
|
||||||
</script>
|
|
||||||
|
@ -1,131 +0,0 @@
|
|||||||
@model OpenAuth.Domain.Stock
|
|
||||||
@{
|
|
||||||
ViewBag.Title = "Stock编辑界面";
|
|
||||||
Layout = null;
|
|
||||||
}
|
|
||||||
<div class="bjui-pageContent">
|
|
||||||
<form action="/StockManager/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="Name" class="control-label x120">产品名称:</label>
|
|
||||||
<input type="text" name="Name" id="Name" value="@Model.Name"
|
|
||||||
data-rule="required" size="20">
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<label for="Number" class="control-label x120">产品数量:</label>
|
|
||||||
<input type="text" name="Number" id="Number" value="@Model.Number"
|
|
||||||
data-rule="required" size="20">
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<label for="Price" class="control-label x120">产品单价:</label>
|
|
||||||
<input type="text" name="Price" id="Price" value="@Model.Price"
|
|
||||||
data-rule="required" size="20">
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<label for="Status" class="control-label x120">出库/入库:</label>
|
|
||||||
<input type="text" name="Status" id="Status" value="@Model.Status"
|
|
||||||
data-rule="required" size="20">
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<label for="Time" class="control-label x120">操作时间:</label>
|
|
||||||
<input type="text" name="Time" id="Time" value="@Model.Time"
|
|
||||||
data-rule="required" size="20">
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
@Html.HiddenFor(m =>m.OrgId)
|
|
||||||
@if (Model.Id == 0) //添加
|
|
||||||
{
|
|
||||||
//这个只用于显示使用,并不会进行提交处理,真正提交的是OrgId
|
|
||||||
<label for="OrgName" class="control-label x120">所属部门:</label>
|
|
||||||
<input type="text" name="OrgName" id="OrgName"
|
|
||||||
data-toggle="selectztree" size="20" data-tree="#j_select_tree1" value="">
|
|
||||||
<ul id="j_select_tree1" class="ztree hide" data-toggle="ztree"></ul>
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(document).ready(function () {
|
|
||||||
Init();
|
|
||||||
});
|
|
||||||
function Init() {
|
|
||||||
var setting = {
|
|
||||||
view: {
|
|
||||||
selectedMulti: false
|
|
||||||
},
|
|
||||||
check: {
|
|
||||||
enable: true,
|
|
||||||
chkStyle: "radio",
|
|
||||||
radioType: "all"
|
|
||||||
},
|
|
||||||
data: {
|
|
||||||
key: {
|
|
||||||
name: 'Name',
|
|
||||||
title: 'Name'
|
|
||||||
},
|
|
||||||
simpleData: {
|
|
||||||
enable: true,
|
|
||||||
idKey: 'Id',
|
|
||||||
pIdKey: 'ParentId',
|
|
||||||
rootPId: 'null'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
callback: {
|
|
||||||
onClick: zTreeOnClick,
|
|
||||||
onCheck: zTreeCheck
|
|
||||||
}
|
|
||||||
};
|
|
||||||
$.getJSON('/OrgManager/LoadForTree', 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);
|
|
||||||
$('#OrgId').val(ids);
|
|
||||||
}
|
|
||||||
function zTreeOnClick(event, treeId, treeNode) {
|
|
||||||
var zTree = $.fn.zTree.getZTreeObj(treeId);
|
|
||||||
zTree.checkNode(treeNode, !treeNode.checked, true, true);
|
|
||||||
event.preventDefault();
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
}
|
|
||||||
</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>
|
|
@ -3,154 +3,85 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@{ Html.RenderAction("MenuHeader", "Home");}
|
@{ Html.RenderAction("MenuHeader", "Home");}
|
||||||
<div class="bjui-pageContent tableContent" style="position:relative">
|
<div class="bjui-pageContent tableContent" style="position: relative">
|
||||||
<div class="clearfix">
|
<div class="clearfix">
|
||||||
<div style="float: left; width: 220px; overflow: auto;" class="table table-bordered">
|
<div style="float: left; width: 220px; overflow: auto;" class="table table-bordered">
|
||||||
<ul id="maintree" class="ztree"></ul>
|
<ul id="tree" class="ztree"></ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="detail" style="margin-left: 225px;">
|
<div id="detail" style="margin-left: 225px;">
|
||||||
|
<table id="maingrid" class="table table-bordered"></table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<!--编辑对话框-->
|
||||||
var selectedId = 0;
|
<div class="bjui-dialog hidden bjui-dialog-container" id="editDlg" data-noinit="true">
|
||||||
$(document).ready(function () {
|
<div class="bjui-pageContent">
|
||||||
initZtree();
|
<form action="/StockManager/Add" class="pageForm" data-toggle="validate" data-reload="false" id="editForm">
|
||||||
loadDataGrid();
|
|
||||||
});
|
|
||||||
//加载数据到datagrid
|
|
||||||
function loadDataGrid() {
|
|
||||||
//b-jui的datagrid需要重新处理HTML
|
|
||||||
$('#detail').empty()
|
|
||||||
.append('<table id="maingrid" class="table table-bordered table-hover table-striped table-top"></table>');
|
|
||||||
|
|
||||||
$('#maingrid').datagrid({
|
<table class="table table-condensed table-hover">
|
||||||
showToolbar: false,
|
<tbody>
|
||||||
filterThead: false,
|
<input type="text" id="Id" name="Id" value="" class="hidden" />
|
||||||
target: $(this),
|
<tr>
|
||||||
columns: [
|
<td>
|
||||||
{
|
<label for="Name" class="control-label x120">产品名称:</label>
|
||||||
name: 'Id',
|
<input type="text" id="Name" name="Name" value="" />
|
||||||
label: '数据ID',
|
</td>
|
||||||
width: 100,
|
</tr>
|
||||||
hide: true
|
<tr>
|
||||||
},
|
<td>
|
||||||
{
|
<label for="Number" class="control-label x120">产品数量:</label>
|
||||||
name: 'Name',
|
<input type="text" id="Number" name="Number" value="" />
|
||||||
label: '产品名称',
|
</td>
|
||||||
width: 100
|
</tr>
|
||||||
},
|
<tr>
|
||||||
{
|
<td>
|
||||||
name: 'Number',
|
<label for="Price" class="control-label x120">产品单价:</label>
|
||||||
label: '产品数量',
|
<input type="text" id="Price" name="Price" value="" />
|
||||||
width: 100
|
</td>
|
||||||
},
|
</tr>
|
||||||
{
|
<tr>
|
||||||
name: 'Price',
|
<td>
|
||||||
label: '产品单价',
|
<label for="Status" class="control-label x120">出库/入库:</label>
|
||||||
width: 100
|
<select name="Status" id="Status" data-toggle="selectpicker" data-rule="required">
|
||||||
},
|
<option value="0">出库</option>
|
||||||
{
|
<option value="1">入库</option>
|
||||||
name: 'Status',
|
</select>
|
||||||
label: '出库/入库',
|
</td>
|
||||||
width: 100
|
</tr>
|
||||||
, type: 'select',
|
<tr>
|
||||||
align: 'center',
|
<td>
|
||||||
items: [{ '0': '入库' }, { '1': '出库' }],
|
<label for="User" class="control-label x120">操作人:</label>
|
||||||
},
|
<input type="text" id="User" name="User" value="" />
|
||||||
{
|
</td>
|
||||||
name: 'User',
|
</tr>
|
||||||
label: '操作人',
|
<tr>
|
||||||
width: 100
|
<td>
|
||||||
},
|
<label for="Time" class="control-label x120">操作时间:</label>
|
||||||
{
|
<input type="text" id="Time" name="Time" value="" data-toggle="datepicker" />
|
||||||
name: 'Time',
|
</td>
|
||||||
label: '操作时间',
|
</tr>
|
||||||
width: 100
|
<tr>
|
||||||
, type: 'date',
|
<td>
|
||||||
pattern: 'yyyy-MM-dd HH:mm:ss'
|
<label for="ParentName" class="control-label x120">部门:</label>
|
||||||
},
|
<input id="OrgId" name="OrgId" style="display: none" />
|
||||||
{
|
<input type="text" name="ParentName" id="ParentName"
|
||||||
name: 'OrgId',
|
data-toggle="selectztree" size="20" data-tree="#j_select_tree1">
|
||||||
label: '所属部门',
|
<ul id="j_select_tree1" class="ztree hide" data-toggle="ztree"></ul>
|
||||||
width: 100,
|
</td>
|
||||||
hide: true
|
</tr>
|
||||||
}
|
</tbody>
|
||||||
],
|
</table>
|
||||||
dataUrl: '/StockManager/Load?parentId=' + selectedId,
|
</form>
|
||||||
fullGrid: true,
|
</div>
|
||||||
showLinenumber: true,
|
<div class="bjui-pageFooter">
|
||||||
showCheckboxcol: true,
|
<ul>
|
||||||
paging: true,
|
<li><button type="button" class="btn btn-close">关闭</button></li>
|
||||||
filterMult: false,
|
<li><button type="button" class="btn btn-primary" id="btnSave">保存</button></li>
|
||||||
showTfoot: false,
|
</ul>
|
||||||
height: '100%'
|
</div>
|
||||||
});
|
</div>
|
||||||
}
|
|
||||||
|
|
||||||
function zTreeOnClick(event, treeId, treeNode) {
|
<script src="~/BllScripts/grid.js"></script>
|
||||||
selectedId = treeNode.Id;
|
<script src="~/BllScripts/StockManager.js"></script>
|
||||||
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('/OrgManager/LoadOrg', function (json) {
|
|
||||||
var zTreeObj = $.fn.zTree.init($('#maintree'), setting, json);
|
|
||||||
zTreeObj.expandAll(true);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
//删除
|
|
||||||
function delStock() {
|
|
||||||
var selected = getSelected('#maingrid', 2);
|
|
||||||
if (selected == null) return;
|
|
||||||
|
|
||||||
$.getJSON('/StockManager/Delete?Id=' + selected, function (data) {
|
|
||||||
if (data.statusCode == "200")
|
|
||||||
loadDataGrid();
|
|
||||||
else {
|
|
||||||
$(this).alertmsg('warn', data.message);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
//自定义的编辑按钮
|
|
||||||
function editStock() {
|
|
||||||
var selected = getSelected('#maingrid', 2);
|
|
||||||
if (selected == null) return;
|
|
||||||
|
|
||||||
$(this).dialog({
|
|
||||||
id: 'editDialog',
|
|
||||||
url: '/StockManager/Add?id=' + selected,
|
|
||||||
title: '编辑',
|
|
||||||
onClose: function () {
|
|
||||||
refreshStockGrid();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function refreshStockGrid() {
|
|
||||||
$('#maingrid').datagrid('refresh');
|
|
||||||
// loadDataGrid();
|
|
||||||
}
|
|
||||||
//@@ sourceURL=StockManagerIndex.js
|
|
||||||
</script>
|
|
||||||
|
@ -1,18 +1,89 @@
|
|||||||
@{
|
@{
|
||||||
Layout = "~/Views/Shared/_BjuiLayout.cshtml";
|
Layout = "~/Views/Shared/_BjuiLayout.cshtml";
|
||||||
}
|
}
|
||||||
|
|
||||||
@{ Html.RenderAction("MenuHeader", "Home");}
|
@{ Html.RenderAction("MenuHeader", "Home");}
|
||||||
|
<div class="bjui-pageContent tableContent" style="position: relative">
|
||||||
<div class="bjui-pageContent tableContent" style="position:relative">
|
|
||||||
<div class="clearfix">
|
<div class="clearfix">
|
||||||
<div style="float: left; width: 220px; overflow: auto;" class="table table-bordered">
|
<div style="float: left; width: 220px; overflow: auto;" class="table table-bordered">
|
||||||
<ul id="maintree" class="ztree"></ul>
|
<ul id="tree" class="ztree"></ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="detail" style="margin-left: 225px;">
|
<div id="detail" style="margin-left: 225px;">
|
||||||
<table id="maingrid" class="table table-bordered table-hover table-striped table-top"></table>
|
<table id="maingrid" class="table table-bordered"></table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="~/BllScripts/usermanager.js"></script>
|
<!--编辑对话框-->
|
||||||
|
<div class="bjui-dialog hidden bjui-dialog-container" id="editDlg" data-noinit="true">
|
||||||
|
<div class="bjui-pageContent">
|
||||||
|
<form action="/UserManager/Add" class="pageForm" data-toggle="validate" data-reload="false" id="editForm">
|
||||||
|
|
||||||
|
<table class="table table-condensed table-hover">
|
||||||
|
<tbody>
|
||||||
|
<input type="text" id="Id" name="Id" value="" class="hidden"/>
|
||||||
|
<input type="text" id="Password" name="Password" class="hidden" />
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="Account" class="control-label x120">账号:</label>
|
||||||
|
<input type="text" id="Account" name="Account" value="" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="Name" class="control-label x120">姓名:</label>
|
||||||
|
<input type="text" id="Name" name="Name" value=""/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="Organizations" class="control-label x120">所属机构:</label>
|
||||||
|
<input id="OrganizationIds" name="OrganizationIds" value="" style="display: none" />
|
||||||
|
<input type="text" name="Organizations" id="Organizations"
|
||||||
|
data-toggle="selectztree" data-tree="#j_select_tree1" >
|
||||||
|
<ul id="j_select_tree1" class="ztree hide" data-toggle="ztree"></ul>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="Sex" class="control-label x120">用户性别:</label>
|
||||||
|
<select name="Sex" id="Sex" data-toggle="selectpicker" data-rule="required">
|
||||||
|
<option value="0">男</option>
|
||||||
|
<option value="1">女</option>
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="Status" class="control-label x120">用户状态:</label>
|
||||||
|
<select name="Status" id="Status" data-toggle="selectpicker" data-rule="required">
|
||||||
|
<option value="0">默认</option>
|
||||||
|
<option value="1">状态1</option>
|
||||||
|
<option value="2">状态2</option>
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label for="Type" class="control-label x120">用户类型:</label>
|
||||||
|
<select name="Type" id="Type" data-toggle="selectpicker" data-rule="required">
|
||||||
|
<option value="0">默认</option>
|
||||||
|
<option value="1">状态1</option>
|
||||||
|
<option value="2">状态2</option>
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div class="bjui-pageFooter">
|
||||||
|
<ul>
|
||||||
|
<li><button type="button" class="btn btn-close">关闭</button></li>
|
||||||
|
<li><button type="button" class="btn btn-primary" id="btnSave">保存</button></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script src="~/BllScripts/grid.js"></script>
|
||||||
|
<script src="~/BllScripts/UserManager.js"></script>
|
@ -87,5 +87,22 @@ namespace OpenAuth.UnitTest
|
|||||||
Console.WriteLine(user.Name + " \t用户ID:" + user.Id);
|
Console.WriteLine(user.Name + " \t用户ID:" + user.Id);
|
||||||
return user;
|
return user;
|
||||||
}
|
}
|
||||||
|
[TestMethod]
|
||||||
|
public void TestEditExist()
|
||||||
|
{
|
||||||
|
var user = new UserView
|
||||||
|
{
|
||||||
|
Id = 1,
|
||||||
|
|
||||||
|
Account = "admin",
|
||||||
|
Name = "管理员",
|
||||||
|
OrganizationIds = "1,2",
|
||||||
|
Organizations = "集团总部,研发部",
|
||||||
|
Status = 1
|
||||||
|
|
||||||
|
};
|
||||||
|
_app.AddOrUpdate(user);
|
||||||
|
Console.WriteLine(user.Name + " \t用户ID:" + user.Id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user