用户可以正常添加

This commit is contained in:
yubaolee@163.com 2017-09-01 18:36:25 +08:00
parent 376076b30f
commit a9218167a5
11 changed files with 1484 additions and 1484 deletions

View File

@ -1,189 +1,189 @@
$(function () {
$("#ParentName").on("click", function () {
parent.reload();
});
});
//左边导航
var ztree = function () {
var url = '/UserSession/GetOrgs';
var setting = {
view: { selectedMulti: false },
data: {
key: {
name: 'Name',
title: 'Name'
},
simpleData: {
enable: true,
idKey: 'Id',
pIdKey: 'ParentId',
rootPId: 'null'
}
},
callback: {
onClick: function (event, treeId, treeNode) {
list.reload(treeNode.Id);
}
}
};
var load = function () {
$.getJSON(url, function (json) {
var zTreeObj = $.fn.zTree.init($("#orgtree"), setting, json);
list.reload();
zTreeObj.expandAll(true);
});
};
load();
return {
reload: load
}
}();
//grid列表模块
function MainGrid() {
var url = '/OrgManager/LoadChildren?Id=';
var selectedId = '00000000-0000-0000-0000-000000000000'; //ztree选中的模块
this.maingrid = $('#maingrid')
.jqGrid({
colModel: [
{
name: 'Id',
index: 'Id',
label: '流水号',
hidden: true
},
{
index: 'CascadeId',
name: 'CascadeId',
label: '节点语义ID'
},
{
index: 'Name',
name: 'Name',
label: '组织名称'
},
{
index: 'ParentName',
name: 'ParentName',
label: '父节点名称'
},
{
index: 'ParentId',
name: 'ParentId',
hidden: true
},
{
index: 'SortNo',
name: 'SortNo',
label: '排序号'
}
],
url: url + selectedId,
datatype: "json",
viewrecords: true,
rowNum: 18,
pager: "#grid-pager",
altRows: true,
height: 'auto',
multiselect: true,
multiboxonly: true,
loadComplete: function () {
var table = this;
setTimeout(function () {
updatePagerIcons(table);
},
0);
}
}).jqGrid('navGrid', "#grid-pager", {
edit: false, add: false, del: false, refresh: false, search: false
});
this.reload = function (id) {
if (id != undefined) selectedId = id;
this.maingrid.jqGrid("setGridParam", { url: url + selectedId })
.trigger("reloadGrid", [{ page: 1 }]); //重载JQGrid
};
};
MainGrid.prototype = new Grid();
var list = new MainGrid();
var vm = new Vue({
el: '#editDlg'
});
//上级机构选择框
var parent = new ParentTree("/UserSession/GetOrgs","ParentName", "ParentId");
//添加(编辑)对话框
var editDlg = function () {
var update = false;
var show = function () {
layer.open({
type: 1,
skin: 'layui-layer-rim', //加上边框
title: "部门管理", //不显示标题
area: ['400px', '300px'], //宽高
content: $('#editDlg'), //捕获的元素
btn: ['保存', '关闭'],
yes: function (index, layero) {
$.post("/OrgManager/AddOrg", vm.$data, function (data) {
layer.msg(data.Message);
if (data.Status) {
list.reload();
ztree.reload();
}
}, "json");
},
cancel: function (index) {
layer.close(index);
}
});
}
return {
add: function () { //弹出添加
update = false;
show();
vm.$set('$data',
{
Id: '00000000-0000-0000-0000-000000000000',
SortNo: 0
});
},
update: function (ret) { //弹出编辑框
update = true;
show();
vm.$set('$data', ret);
}
};
}();
//删除
function del() {
list.del("Id", "/OrgManager/DelOrg", function () {
list.reload();
ztree.reload();
});
}
//自定义的编辑按钮
function edit() {
var selected = list.getSelectedObj();
if (selected == null) {
return;
}
editDlg.update(selected);
}
function add() {
editDlg.add();
}
function refresh() {
list.reload();
$(function () {
$("#ParentName").on("click", function () {
parent.reload();
});
});
//左边导航
var ztree = function () {
var url = '/UserSession/GetOrgs';
var setting = {
view: { selectedMulti: false },
data: {
key: {
name: 'Name',
title: 'Name'
},
simpleData: {
enable: true,
idKey: 'Id',
pIdKey: 'ParentId',
rootPId: 'null'
}
},
callback: {
onClick: function (event, treeId, treeNode) {
list.reload(treeNode.Id);
}
}
};
var load = function () {
$.getJSON(url, function (json) {
var zTreeObj = $.fn.zTree.init($("#orgtree"), setting, json);
list.reload();
zTreeObj.expandAll(true);
});
};
load();
return {
reload: load
}
}();
//grid列表模块
function MainGrid() {
var url = '/OrgManager/LoadChildren?Id=';
var selectedId = '00000000-0000-0000-0000-000000000000'; //ztree选中的模块
this.maingrid = $('#maingrid')
.jqGrid({
colModel: [
{
name: 'Id',
index: 'Id',
label: '流水号',
hidden: true
},
{
index: 'CascadeId',
name: 'CascadeId',
label: '节点语义ID'
},
{
index: 'Name',
name: 'Name',
label: '组织名称'
},
{
index: 'ParentName',
name: 'ParentName',
label: '父节点名称'
},
{
index: 'ParentId',
name: 'ParentId',
hidden: true
},
{
index: 'SortNo',
name: 'SortNo',
label: '排序号'
}
],
url: url + selectedId,
datatype: "json",
viewrecords: true,
rowNum: 18,
pager: "#grid-pager",
altRows: true,
height: 'auto',
multiselect: true,
multiboxonly: true,
loadComplete: function () {
var table = this;
setTimeout(function () {
updatePagerIcons(table);
},
0);
}
}).jqGrid('navGrid', "#grid-pager", {
edit: false, add: false, del: false, refresh: false, search: false
});
this.reload = function (id) {
if (id != undefined) selectedId = id;
this.maingrid.jqGrid("setGridParam", { url: url + selectedId })
.trigger("reloadGrid", [{ page: 1 }]); //重载JQGrid
};
};
MainGrid.prototype = new Grid();
var list = new MainGrid();
var vm = new Vue({
el: '#editDlg'
});
//上级机构选择框
var parent = new ParentTree("/UserSession/GetOrgs","ParentName", "ParentId");
//添加(编辑)对话框
var editDlg = function () {
var update = false;
var show = function () {
layer.open({
type: 1,
skin: 'layui-layer-rim', //加上边框
title: "部门管理", //不显示标题
area: ['400px', '300px'], //宽高
content: $('#editDlg'), //捕获的元素
btn: ['保存', '关闭'],
yes: function (index, layero) {
$.post("/OrgManager/AddOrg", vm.$data, function (data) {
layer.msg(data.Message);
if (data.Status) {
list.reload();
ztree.reload();
}
}, "json");
},
cancel: function (index) {
layer.close(index);
}
});
}
return {
add: function () { //弹出添加
update = false;
show();
vm.$set('$data',
{
Id: '00000000-0000-0000-0000-000000000000',
SortNo: 0
});
},
update: function (ret) { //弹出编辑框
update = true;
show();
vm.$set('$data', ret);
}
};
}();
//删除
function del() {
list.del("Id", "/OrgManager/DelOrg", function () {
list.reload();
ztree.reload();
});
}
//自定义的编辑按钮
function edit() {
var selected = list.getSelectedObj();
if (selected == null) {
return;
}
editDlg.update(selected);
}
function add() {
editDlg.add();
}
function refresh() {
list.reload();
}

View File

@ -1,221 +1,221 @@
$(function () {
$("#Organizations").on("click", function () {
parent.reload();
});
});
//左边导航
var ztree = function () {
var url = '/UserSession/GetOrgs';
var setting = {
view: { selectedMulti: false },
data: {
key: {
name: 'Name',
title: 'Name'
},
simpleData: {
enable: true,
idKey: 'Id',
pIdKey: 'ParentId',
rootPId: 'null'
}
},
callback: {
onClick: function (event, treeId, treeNode) {
list.reload(treeNode.Id);
}
}
};
var load = function () {
$.getJSON(url, function (json) {
var zTreeObj = $.fn.zTree.init($("#orgtree"), setting, json);
list.reload();
zTreeObj.expandAll(true);
});
};
load();
return {
reload: load
}
}();
//grid列表模块
function MainGrid() {
var url = '/RoleManager/Load?orgId=';
var selectedId = '00000000-0000-0000-0000-000000000000'; //ztree选中的模块
this.maingrid = $('#maingrid')
.jqGrid({
colModel: [
{
name: 'Id',
index: 'Id',
hidden: true
},
{
index: 'Name',
name: 'Name',
label: '姓名'
},
{
index: 'OrganizationIds',
name: 'OrganizationIds',
hidden: true
},
{
index: 'Organizations',
name: 'Organizations',
label: '所属机构'
}
],
url: url + selectedId,
datatype: "json",
viewrecords: true,
rowNum: 18,
pager: "#grid-pager",
altRows: true,
height: 'auto',
multiselect: true,
multiboxonly: true,
loadComplete: function () {
var table = this;
setTimeout(function () {
updatePagerIcons(table);
},
0);
}
}).jqGrid('navGrid', "#grid-pager", {
edit: false, add: false, del: false, refresh: false, search: false
});
this.reload = function (id) {
if (id != undefined) selectedId = id;
this.maingrid.jqGrid("setGridParam", { url: url + selectedId })
.trigger("reloadGrid", [{ page: 1 }]); //重载JQGrid
};
};
MainGrid.prototype = new Grid();
var list = new MainGrid();
var vm = new Vue({
el: '#editDlg'
});
//上级机构选择框
var parent = new ParentTreeMultiple("/UserSession/GetOrgs", "Organizations", "OrganizationIds");
//添加(编辑)对话框
var editDlg = function () {
var update = false;
var show = function () {
layer.open({
type: 1,
skin: 'layui-layer-rim', //加上边框
title: "角色管理", //不显示标题
area: ['400px', '300px'], //宽高
content: $('#editDlg'), //捕获的元素
btn: ['保存', '关闭'],
yes: function (index, layero) {
$.post("/RoleManager/Add", vm.$data, function (data) {
layer.msg(data.Message);
if (data.Status) {
list.reload();
ztree.reload();
}
}, "json");
},
cancel: function (index) {
layer.close(index);
}
});
}
return {
add: function () { //弹出添加
update = false;
show();
vm.$set('$data',
{
Id: '00000000-0000-0000-0000-000000000000',
Sex: 0
});
},
update: function (ret) { //弹出编辑框
update = true;
show();
vm.$set('$data', ret);
}
};
}();
//删除
function del() {
list.del("Id", "/RoleManager/Delete",function() {
list.reload();
ztree.reload();
});
}
//自定义的编辑按钮
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;
layer.open({
type: 2,
skin: 'layui-layer-rim', //加上边框
area: ['410px', '390px'], //宽高
content: '/ModuleManager/Assign?key=RoleModule&firstId=' + selected.Id
});
}
//为角色分配资源
function openRoleReourceAccess(obj) {
var selected = list.getSelectedObj();
if (selected == null) return;
layer.open({
type: 2,
skin: 'layui-layer-rim', //加上边框
area: ['600px', '300px'], //宽高
content: '/ResourceManager/AssignRes?key=RoleResource&firstId=' + selected.Id
});
}
//为角色分配菜单
function assignRoleElement(obj) {
var selected = list.getSelectedObj();
if (selected == null) return;
layer.open({
type: 2,
skin: 'layui-layer-rim', //加上边框
area: ['600px', '300px'], //宽高
content: '/ModuleElementManager/AssignModuleElement?key=RoleElement&firstId=' + selected.Id
});
}
$(function () {
$("#Organizations").on("click", function () {
parent.reload();
});
});
//左边导航
var ztree = function () {
var url = '/UserSession/GetOrgs';
var setting = {
view: { selectedMulti: false },
data: {
key: {
name: 'Name',
title: 'Name'
},
simpleData: {
enable: true,
idKey: 'Id',
pIdKey: 'ParentId',
rootPId: 'null'
}
},
callback: {
onClick: function (event, treeId, treeNode) {
list.reload(treeNode.Id);
}
}
};
var load = function () {
$.getJSON(url, function (json) {
var zTreeObj = $.fn.zTree.init($("#orgtree"), setting, json);
list.reload();
zTreeObj.expandAll(true);
});
};
load();
return {
reload: load
}
}();
//grid列表模块
function MainGrid() {
var url = '/RoleManager/Load?orgId=';
var selectedId = '00000000-0000-0000-0000-000000000000'; //ztree选中的模块
this.maingrid = $('#maingrid')
.jqGrid({
colModel: [
{
name: 'Id',
index: 'Id',
hidden: true
},
{
index: 'Name',
name: 'Name',
label: '姓名'
},
{
index: 'OrganizationIds',
name: 'OrganizationIds',
hidden: true
},
{
index: 'Organizations',
name: 'Organizations',
label: '所属机构'
}
],
url: url + selectedId,
datatype: "json",
viewrecords: true,
rowNum: 18,
pager: "#grid-pager",
altRows: true,
height: 'auto',
multiselect: true,
multiboxonly: true,
loadComplete: function () {
var table = this;
setTimeout(function () {
updatePagerIcons(table);
},
0);
}
}).jqGrid('navGrid', "#grid-pager", {
edit: false, add: false, del: false, refresh: false, search: false
});
this.reload = function (id) {
if (id != undefined) selectedId = id;
this.maingrid.jqGrid("setGridParam", { url: url + selectedId })
.trigger("reloadGrid", [{ page: 1 }]); //重载JQGrid
};
};
MainGrid.prototype = new Grid();
var list = new MainGrid();
var vm = new Vue({
el: '#editDlg'
});
//上级机构选择框
var parent = new ParentTreeMultiple("/UserSession/GetOrgs", "Organizations", "OrganizationIds");
//添加(编辑)对话框
var editDlg = function () {
var update = false;
var show = function () {
layer.open({
type: 1,
skin: 'layui-layer-rim', //加上边框
title: "角色管理", //不显示标题
area: ['400px', '300px'], //宽高
content: $('#editDlg'), //捕获的元素
btn: ['保存', '关闭'],
yes: function (index, layero) {
$.post("/RoleManager/Add", vm.$data, function (data) {
layer.msg(data.Message);
if (data.Status) {
list.reload();
ztree.reload();
}
}, "json");
},
cancel: function (index) {
layer.close(index);
}
});
}
return {
add: function () { //弹出添加
update = false;
show();
vm.$set('$data',
{
Id: '00000000-0000-0000-0000-000000000000',
Sex: 0
});
},
update: function (ret) { //弹出编辑框
update = true;
show();
vm.$set('$data', ret);
}
};
}();
//删除
function del() {
list.del("Id", "/RoleManager/Delete",function() {
list.reload();
ztree.reload();
});
}
//自定义的编辑按钮
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;
layer.open({
type: 2,
skin: 'layui-layer-rim', //加上边框
area: ['410px', '390px'], //宽高
content: '/ModuleManager/Assign?key=RoleModule&firstId=' + selected.Id
});
}
//为角色分配资源
function openRoleReourceAccess(obj) {
var selected = list.getSelectedObj();
if (selected == null) return;
layer.open({
type: 2,
skin: 'layui-layer-rim', //加上边框
area: ['600px', '300px'], //宽高
content: '/ResourceManager/AssignRes?key=RoleResource&firstId=' + selected.Id
});
}
//为角色分配菜单
function assignRoleElement(obj) {
var selected = list.getSelectedObj();
if (selected == null) return;
layer.open({
type: 2,
skin: 'layui-layer-rim', //加上边框
area: ['600px', '300px'], //宽高
content: '/ModuleElementManager/AssignModuleElement?key=RoleElement&firstId=' + selected.Id
});
}

View File

@ -1,189 +1,189 @@
$(function () {
$("#ParentName").on("click", function () {
parent.reload();
});
});
//左边导航
var ztree = function () {
var url = '/UserSession/GetOrgs';
var setting = {
view: { selectedMulti: false },
data: {
key: {
name: 'Name',
title: 'Name'
},
simpleData: {
enable: true,
idKey: 'Id',
pIdKey: 'ParentId',
rootPId: 'null'
}
},
callback: {
onClick: function (event, treeId, treeNode) {
list.reload(treeNode.Id);
}
}
};
var load = function () {
$.getJSON(url, function (json) {
var zTreeObj = $.fn.zTree.init($("#orgtree"), setting, json);
list.reload();
zTreeObj.expandAll(true);
});
};
load();
return {
reload: load
}
}();
//grid列表模块
function MainGrid() {
var url = '/StockManager/Load?parentId=';
var selectedId = '00000000-0000-0000-0000-000000000000'; //ztree选中的模块
this.maingrid = $('#maingrid')
.jqGrid({
colModel: [
{
name: 'Id',
index: 'Id',
hidden: true
},
{
index: 'Name',
name: 'Name',
label: '产品名称'
},
{
index: 'Viewable',
name: 'Viewable',
label: '可见范围'
},
{
index: 'OrgId',
name: 'OrgId',
hidden: true
},
{
index: 'Number',
name: 'Number',
label: '数量'
},
{
index: 'ParentName',
name: 'ParentName',
label: '所属机构'
}
],
url: url + selectedId,
datatype: "json",
viewrecords: true,
rowNum: 18,
pager: "#grid-pager",
altRows: true,
height: 'auto',
multiselect: true,
multiboxonly: true,
loadComplete: function () {
var table = this;
setTimeout(function () {
updatePagerIcons(table);
},
0);
}
}).jqGrid('navGrid', "#grid-pager", {
edit: false, add: false, del: false, refresh: false, search: false
});
this.reload = function (id) {
if (id != undefined) selectedId = id;
this.maingrid.jqGrid("setGridParam", { url: url + selectedId })
.trigger("reloadGrid", [{ page: 1 }]); //重载JQGrid
};
};
MainGrid.prototype = new Grid();
var list = new MainGrid();
var vm = new Vue({
el: '#editDlg'
});
//上级机构选择框
var parent = new ParentTree("/UserSession/GetOrgs", "ParentName", "OrgId");
//添加(编辑)对话框
var editDlg = function () {
var update = false;
var show = function () {
layer.open({
type: 1,
skin: 'layui-layer-rim', //加上边框
title: "进出库管理", //不显示标题
area: ['400px', '300px'], //宽高
content: $('#editDlg'), //捕获的元素
btn: ['保存', '关闭'],
yes: function (index, layero) {
$.post("/StockManager/Add", vm.$data, function (data) {
layer.msg(data.Message);
if (data.Status) {
list.reload();
ztree.reload();
}
}, "json");
},
cancel: function (index) {
layer.close(index);
}
});
}
return {
add: function () { //弹出添加
update = false;
show();
vm.$set('$data', {
Id: '00000000-0000-0000-0000-000000000000',
Number: 1
});
},
update: function (ret) { //弹出编辑框
update = true;
show();
vm.$set('$data', ret);
}
};
}();
//删除
function del() {
list.del("Id", "/StockManager/Delete", function () {
list.reload();
ztree.reload();
});
}
//自定义的编辑按钮
function edit() {
var selected = list.getSelectedObj();
if (selected == null) {
return;
}
editDlg.update(selected);
}
function add() {
editDlg.add();
}
function refresh() {
list.reload();
}
$(function () {
$("#ParentName").on("click", function () {
parent.reload();
});
});
//左边导航
var ztree = function () {
var url = '/UserSession/GetOrgs';
var setting = {
view: { selectedMulti: false },
data: {
key: {
name: 'Name',
title: 'Name'
},
simpleData: {
enable: true,
idKey: 'Id',
pIdKey: 'ParentId',
rootPId: 'null'
}
},
callback: {
onClick: function (event, treeId, treeNode) {
list.reload(treeNode.Id);
}
}
};
var load = function () {
$.getJSON(url, function (json) {
var zTreeObj = $.fn.zTree.init($("#orgtree"), setting, json);
list.reload();
zTreeObj.expandAll(true);
});
};
load();
return {
reload: load
}
}();
//grid列表模块
function MainGrid() {
var url = '/StockManager/Load?parentId=';
var selectedId = '00000000-0000-0000-0000-000000000000'; //ztree选中的模块
this.maingrid = $('#maingrid')
.jqGrid({
colModel: [
{
name: 'Id',
index: 'Id',
hidden: true
},
{
index: 'Name',
name: 'Name',
label: '产品名称'
},
{
index: 'Viewable',
name: 'Viewable',
label: '可见范围'
},
{
index: 'OrgId',
name: 'OrgId',
hidden: true
},
{
index: 'Number',
name: 'Number',
label: '数量'
},
{
index: 'ParentName',
name: 'ParentName',
label: '所属机构'
}
],
url: url + selectedId,
datatype: "json",
viewrecords: true,
rowNum: 18,
pager: "#grid-pager",
altRows: true,
height: 'auto',
multiselect: true,
multiboxonly: true,
loadComplete: function () {
var table = this;
setTimeout(function () {
updatePagerIcons(table);
},
0);
}
}).jqGrid('navGrid', "#grid-pager", {
edit: false, add: false, del: false, refresh: false, search: false
});
this.reload = function (id) {
if (id != undefined) selectedId = id;
this.maingrid.jqGrid("setGridParam", { url: url + selectedId })
.trigger("reloadGrid", [{ page: 1 }]); //重载JQGrid
};
};
MainGrid.prototype = new Grid();
var list = new MainGrid();
var vm = new Vue({
el: '#editDlg'
});
//上级机构选择框
var parent = new ParentTree("/UserSession/GetOrgs", "ParentName", "OrgId");
//添加(编辑)对话框
var editDlg = function () {
var update = false;
var show = function () {
layer.open({
type: 1,
skin: 'layui-layer-rim', //加上边框
title: "进出库管理", //不显示标题
area: ['400px', '300px'], //宽高
content: $('#editDlg'), //捕获的元素
btn: ['保存', '关闭'],
yes: function (index, layero) {
$.post("/StockManager/Add", vm.$data, function (data) {
layer.msg(data.Message);
if (data.Status) {
list.reload();
ztree.reload();
}
}, "json");
},
cancel: function (index) {
layer.close(index);
}
});
}
return {
add: function () { //弹出添加
update = false;
show();
vm.$set('$data', {
Id: '00000000-0000-0000-0000-000000000000',
Number: 1
});
},
update: function (ret) { //弹出编辑框
update = true;
show();
vm.$set('$data', ret);
}
};
}();
//删除
function del() {
list.del("Id", "/StockManager/Delete", function () {
list.reload();
ztree.reload();
});
}
//自定义的编辑按钮
function edit() {
var selected = list.getSelectedObj();
if (selected == null) {
return;
}
editDlg.update(selected);
}
function add() {
editDlg.add();
}
function refresh() {
list.reload();
}

View File

@ -1,109 +1,109 @@
// ***********************************************************************
// Assembly : OpenAuth.Mvc
// Author : yubaolee
// Created : 04-13-2016
//
// Last Modified By : yubaolee
// Last Modified On : 04-13-2016
// ***********************************************************************
// <copyright file="userRoleManager.js" company="www.cnblogs.com/yubaolee">
// 版权所有(C) 2015
// </copyright>
// <summary>用户分配角色模块</summary>
// ***********************************************************************
function renderLayui() {
layui.use(['layer', 'form'], function () {
var form = layui.form();
form.on('checkbox', function (data) {
if (data.elem.checked) {
$.post('/RelevanceManager/Assign', {
type: $("#moduleType").val(),
firstId: $('#firstId').val(),
secIds: data.value
}, function (json) {
json = $.parseJSON(json);
});
}
else {
$.post('/RelevanceManager/UnAssign', {
type: $("#moduleType").val(),
firstId: $('#firstId').val(),
secIds: data.value
}, function (json) {
json = $.parseJSON(json);
});
}
});
form.render();
});
}
var list = function () {
var selectedId = '00000000-0000-0000-0000-000000000000'; //选中的ID
var url = '/RoleManager/LoadForOrgAndUser?userId=' + $("#firstId").val()
+ "&key=" + $("#moduleType").val() + "&orgId=";
return {
reload: function (id) {
if (id != undefined) selectedId = id;
$.getJSON(url + selectedId,
function (data) {
var str = '';
if (data.length > 0) {
$.each(data,
function () {
str += "<input type=\"checkbox\" name=\"\" value=\"" + this.Id + "\" title=\"" + this.Name + "\"";
if (this.Checked) {
str += " checked ";
}
str += ">\r\n";
});
}
$("#roles").html(str);
renderLayui();
});
}
};
}();
//左边导航
var ztree = function () {
var url = "/UserSession/GetOrgs";
var setting = {
view: { selectedMulti: false },
data: {
key: {
name: 'Name',
title: 'Name'
},
simpleData: {
enable: true,
idKey: 'Id',
pIdKey: 'ParentId',
rootPId: 'null'
}
},
callback: {
onClick: function (event, treeId, treeNode) {
list.reload(treeNode.Id);
}
}
};
var load = function () {
$.getJSON(url,
function (json) {
var zTreeObj = $.fn.zTree.init($("#orgtree"), setting, json);
list.reload();
zTreeObj.expandAll(true);
});
};
load();
return {
reload: load
}
}();
// ***********************************************************************
// Assembly : OpenAuth.Mvc
// Author : yubaolee
// Created : 04-13-2016
//
// Last Modified By : yubaolee
// Last Modified On : 04-13-2016
// ***********************************************************************
// <copyright file="userRoleManager.js" company="www.cnblogs.com/yubaolee">
// 版权所有(C) 2015
// </copyright>
// <summary>用户分配角色模块</summary>
// ***********************************************************************
function renderLayui() {
layui.use(['layer', 'form'], function () {
var form = layui.form();
form.on('checkbox', function (data) {
if (data.elem.checked) {
$.post('/RelevanceManager/Assign', {
type: $("#moduleType").val(),
firstId: $('#firstId').val(),
secIds: data.value
}, function (json) {
json = $.parseJSON(json);
});
}
else {
$.post('/RelevanceManager/UnAssign', {
type: $("#moduleType").val(),
firstId: $('#firstId').val(),
secIds: data.value
}, function (json) {
json = $.parseJSON(json);
});
}
});
form.render();
});
}
var list = function () {
var selectedId = '00000000-0000-0000-0000-000000000000'; //选中的ID
var url = '/RoleManager/LoadForOrgAndUser?userId=' + $("#firstId").val()
+ "&key=" + $("#moduleType").val() + "&orgId=";
return {
reload: function (id) {
if (id != undefined) selectedId = id;
$.getJSON(url + selectedId,
function (data) {
var str = '';
if (data.length > 0) {
$.each(data,
function () {
str += "<input type=\"checkbox\" name=\"\" value=\"" + this.Id + "\" title=\"" + this.Name + "\"";
if (this.Checked) {
str += " checked ";
}
str += ">\r\n";
});
}
$("#roles").html(str);
renderLayui();
});
}
};
}();
//左边导航
var ztree = function () {
var url = "/UserSession/GetOrgs";
var setting = {
view: { selectedMulti: false },
data: {
key: {
name: 'Name',
title: 'Name'
},
simpleData: {
enable: true,
idKey: 'Id',
pIdKey: 'ParentId',
rootPId: 'null'
}
},
callback: {
onClick: function (event, treeId, treeNode) {
list.reload(treeNode.Id);
}
}
};
var load = function () {
$.getJSON(url,
function (json) {
var zTreeObj = $.fn.zTree.init($("#orgtree"), setting, json);
list.reload();
zTreeObj.expandAll(true);
});
};
load();
return {
reload: load
}
}();

View File

@ -1,243 +1,243 @@
$(function () {
$("#Organizations").on("click", function () {
parent.reload();
});
});
//左边导航
var ztree = function () {
var url = '/UserSession/GetOrgs';
var setting = {
view: { selectedMulti: false },
data: {
key: {
name: 'Name',
title: 'Name'
},
simpleData: {
enable: true,
idKey: 'Id',
pIdKey: 'ParentId',
rootPId: 'null'
}
},
callback: {
onClick: function (event, treeId, treeNode) {
list.reload(treeNode.Id);
}
}
};
var load = function () {
$.getJSON(url, function (json) {
var zTreeObj = $.fn.zTree.init($("#orgtree"), setting, json);
list.reload();
zTreeObj.expandAll(true);
});
};
load();
return {
reload: load
}
}();
//grid列表模块
function MainGrid() {
var url = '/UserManager/Load?orgId=';
var selectedId = '00000000-0000-0000-0000-000000000000'; //ztree选中的模块
this.maingrid = $('#maingrid')
.jqGrid({
colModel: [
{
name: 'Id',
index: 'Id',
hidden: true
},
{
index: 'Name',
name: 'Name',
label: '姓名'
},
{
index: 'Account',
name: 'Account',
label: '账号'
},
{
index: 'Sex',
name: 'Sex',
label: '性别'
},
{
index: 'OrganizationIds',
name: 'OrganizationIds',
hidden:true
},
{
index: 'Organizations',
name: 'Organizations',
label: '所属机构'
}
],
url: url + selectedId,
datatype: "json",
viewrecords: true,
rowNum: 18,
pager: "#grid-pager",
altRows: true,
height: 'auto',
multiselect: true,
multiboxonly: true,
loadComplete: function () {
var table = this;
setTimeout(function () {
updatePagerIcons(table);
},
0);
}
}).jqGrid('navGrid', "#grid-pager", {
edit: false, add: false, del: false, refresh: false, search: false
});
this.reload = function (id) {
if (id != undefined) selectedId = id;
this.maingrid.jqGrid("setGridParam", { url: url + selectedId })
.trigger("reloadGrid", [{ page: 1 }]); //重载JQGrid
};
};
MainGrid.prototype = new Grid();
var list = new MainGrid();
var vm = new Vue({
el: '#editDlg'
});
//上级机构选择框
var parent = new ParentTreeMultiple("/UserSession/GetOrgs","Organizations","OrganizationIds");
//添加(编辑)对话框
var editDlg = function () {
var update = false;
var show = function () {
layer.open({
type: 1,
skin: 'layui-layer-rim', //加上边框
title: "用户管理", //不显示标题
area: ['400px', '300px'], //宽高
content: $('#editDlg'), //捕获的元素
btn: ['保存', '关闭'],
yes: function (index, layero) {
$.post("/UserManager/Add", vm.$data, function (data) {
layer.msg(data.Message);
if (data.Status) {
list.reload();
ztree.reload();
}
}, "json");
},
cancel: function (index) {
layer.close(index);
}
});
}
return {
add: function () { //弹出添加
update = false;
show();
vm.$set('$data',
{
Id:'00000000-0000-0000-0000-000000000000',
Sex:0
});
},
update: function (ret) { //弹出编辑框
update = true;
show();
vm.$set('$data', ret);
}
};
}();
//删除
function del() {
list.del("Id", "/UserManager/Delete", function () {
list.reload();
ztree.reload();
});
}
//自定义的编辑按钮
function edit() {
var selected = list.getSelectedObj();
if (selected == null) {
return;
}
editDlg.update(selected);
}
function add() {
editDlg.add();
}
function refresh() {
list.reload();
}
//用户模块授权按钮
function openUserModuleAccess(obj) {
var selected = list.getSelectedObj();
if (selected == null) return;
layer.open({
type: 2,
skin: 'layui-layer-rim', //加上边框
area: ['410px', '390px'], //宽高
content: '/ModuleManager/Assign?key=UserModule&firstId=' + selected.Id
});
}
//用户角色授权
function openUserRoleAccess(obj) {
var selected = list.getSelectedObj();
if (selected == null) return;
layer.open({
type: 2,
skin: 'layui-layer-rim', //加上边框
area: ['600px', '300px'], //宽高
content: '/RoleManager/LookupMulti?key=UserRole&firstId=' + selected.Id
});
}
//为用户分配资源
function openUserReourceAccess(obj) {
var selected = list.getSelectedObj();
if (selected == null) return;
layer.open({
type: 2,
skin: 'layui-layer-rim', //加上边框
area: ['600px', '300px'], //宽高
content: '/ResourceManager/AssignRes?key=UserResource&firstId=' + selected.Id
});
}
//分配菜单
function openAssignUserElement(obj) {
var selected = list.getSelectedObj();
if (selected == null) return;
layer.open({
type: 2,
skin: 'layui-layer-rim', //加上边框
area: ['600px', '300px'], //宽高
content: '/ModuleElementManager/AssignModuleElement?key=UserElement&firstId=' + selected.Id
});
$(function () {
$("#Organizations").on("click", function () {
parent.reload();
});
});
//左边导航
var ztree = function () {
var url = '/UserSession/GetOrgs';
var setting = {
view: { selectedMulti: false },
data: {
key: {
name: 'Name',
title: 'Name'
},
simpleData: {
enable: true,
idKey: 'Id',
pIdKey: 'ParentId',
rootPId: 'null'
}
},
callback: {
onClick: function (event, treeId, treeNode) {
list.reload(treeNode.Id);
}
}
};
var load = function () {
$.getJSON(url, function (json) {
var zTreeObj = $.fn.zTree.init($("#orgtree"), setting, json);
list.reload();
zTreeObj.expandAll(true);
});
};
load();
return {
reload: load
}
}();
//grid列表模块
function MainGrid() {
var url = '/UserManager/Load?orgId=';
var selectedId = '00000000-0000-0000-0000-000000000000'; //ztree选中的模块
this.maingrid = $('#maingrid')
.jqGrid({
colModel: [
{
name: 'Id',
index: 'Id',
hidden: true
},
{
index: 'Name',
name: 'Name',
label: '姓名'
},
{
index: 'Account',
name: 'Account',
label: '账号'
},
{
index: 'Sex',
name: 'Sex',
label: '性别'
},
{
index: 'OrganizationIds',
name: 'OrganizationIds',
hidden:true
},
{
index: 'Organizations',
name: 'Organizations',
label: '所属机构'
}
],
url: url + selectedId,
datatype: "json",
viewrecords: true,
rowNum: 18,
pager: "#grid-pager",
altRows: true,
height: 'auto',
multiselect: true,
multiboxonly: true,
loadComplete: function () {
var table = this;
setTimeout(function () {
updatePagerIcons(table);
},
0);
}
}).jqGrid('navGrid', "#grid-pager", {
edit: false, add: false, del: false, refresh: false, search: false
});
this.reload = function (id) {
if (id != undefined) selectedId = id;
this.maingrid.jqGrid("setGridParam", { url: url + selectedId })
.trigger("reloadGrid", [{ page: 1 }]); //重载JQGrid
};
};
MainGrid.prototype = new Grid();
var list = new MainGrid();
var vm = new Vue({
el: '#editDlg'
});
//上级机构选择框
var parent = new ParentTreeMultiple("/UserSession/GetOrgs","Organizations","OrganizationIds");
//添加(编辑)对话框
var editDlg = function () {
var update = false;
var show = function () {
layer.open({
type: 1,
skin: 'layui-layer-rim', //加上边框
title: "用户管理", //不显示标题
area: ['400px', '300px'], //宽高
content: $('#editDlg'), //捕获的元素
btn: ['保存', '关闭'],
yes: function (index, layero) {
$.post("/UserManager/Add", vm.$data, function (data) {
layer.msg(data.Message);
if (data.Status) {
list.reload();
ztree.reload();
}
}, "json");
},
cancel: function (index) {
layer.close(index);
}
});
}
return {
add: function () { //弹出添加
update = false;
show();
vm.$set('$data',
{
Id:'00000000-0000-0000-0000-000000000000',
Sex:0
});
},
update: function (ret) { //弹出编辑框
update = true;
show();
vm.$set('$data', ret);
}
};
}();
//删除
function del() {
list.del("Id", "/UserManager/Delete", function () {
list.reload();
ztree.reload();
});
}
//自定义的编辑按钮
function edit() {
var selected = list.getSelectedObj();
if (selected == null) {
return;
}
editDlg.update(selected);
}
function add() {
editDlg.add();
}
function refresh() {
list.reload();
}
//用户模块授权按钮
function openUserModuleAccess(obj) {
var selected = list.getSelectedObj();
if (selected == null) return;
layer.open({
type: 2,
skin: 'layui-layer-rim', //加上边框
area: ['410px', '390px'], //宽高
content: '/ModuleManager/Assign?key=UserModule&firstId=' + selected.Id
});
}
//用户角色授权
function openUserRoleAccess(obj) {
var selected = list.getSelectedObj();
if (selected == null) return;
layer.open({
type: 2,
skin: 'layui-layer-rim', //加上边框
area: ['600px', '300px'], //宽高
content: '/RoleManager/LookupMulti?key=UserRole&firstId=' + selected.Id
});
}
//为用户分配资源
function openUserReourceAccess(obj) {
var selected = list.getSelectedObj();
if (selected == null) return;
layer.open({
type: 2,
skin: 'layui-layer-rim', //加上边框
area: ['600px', '300px'], //宽高
content: '/ResourceManager/AssignRes?key=UserResource&firstId=' + selected.Id
});
}
//分配菜单
function openAssignUserElement(obj) {
var selected = list.getSelectedObj();
if (selected == null) return;
layer.open({
type: 2,
skin: 'layui-layer-rim', //加上边框
area: ['600px', '300px'], //宽高
content: '/ModuleElementManager/AssignModuleElement?key=UserElement&firstId=' + selected.Id
});
}

View File

@ -175,7 +175,7 @@
<Content Include="BllScripts\categoryManager.js" />
<Content Include="BllScripts\formDesign.js" />
<Content Include="BllScripts\login.js" />
<Content Include="js\parentTreeMultiple.js" />
<Content Include="js\droptree.js" />
<Content Include="BllScripts\parentTree.js" />
<Content Include="BllScripts\processDetail.js" />
<Content Include="BllScripts\grid.js" />

View File

@ -54,19 +54,12 @@
placeholder="请输入昵称或姓名" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">所属部门</label>
<div class="layui-input-block">
<input type="text" name="Name" required lay-verify="required"
placeholder="请输入昵称或姓名" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">所属部门</label>
<div class="layui-input-block">
<input id="Organizations" required lay-verify="required" autocomplete="off" class="layui-input"/>
<input id="OrganizationIds" required lay-verify="required" type="hidden" />
<input id="Organizations" name="Organizations" required lay-verify="required" class="layui-input"/>
<input id="OrganizationIds" name="OrganizationIds" required lay-verify="required" type="hidden" />
<div id="menuContent" class="menuContent" style="display: none;">
<ul id="org" class="ztree"></ul>
</div>
@ -93,6 +86,6 @@
</div>
</div>
</form>
<script src="/js/parentTreeMultiple.js"></script>
<script type="text/javascript" src="/layui/layui.js"></script>
<script src="/js/droptree.js"></script>
<script type="text/javascript" src="/js/users.js"></script>

126
OpenAuth.Mvc/js/droptree.js Normal file
View File

@ -0,0 +1,126 @@
// ***********************************************************************
// Assembly : OpenAuth.Mvc
// Author : yubaolee
// Created : 10-16-2016
//
// Last Modified By : yubaolee
// Last Modified On : 10-16-2016
// ***********************************************************************
// <copyright file="droptree.js" company="www.cnblogs.com/yubaolee">
// 版权所有(C) 2015
// </copyright>
// <summary>单击文本框弹出的选择列表,可以多选</summary>
// ***********************************************************************
layui.define(['jquery', 'layer'], function (exports) {
var $ = layui.jquery;
var layer = layui.layer;
var options;
var zTreeObj;
var setting;
var showMenu = function () {
$("#menuContent").css({ left: "10px", top: $(options.nameDOM).outerHeight() + "px" }).slideDown("fast");
$("body").bind("mousedown", onBodyDown);
};
function hideMenu() {
$("#menuContent").fadeOut("fast");
$("body").unbind("mousedown", onBodyDown);
}
var setCheck = function () { //设置初始选中的值
zTreeObj.checkAllNodes(false);
var value = $(options.idDOM).val();
if (value == undefined) return;
var nodeids = value.split(",");
$.each(nodeids,
function () {
var node = zTreeObj.getNodeByParam("Id", this, null);
if (node != null) {
zTreeObj.checkNode(node, true, false);
}
});
}
function onClick(e, treeId, treeNode) {
var nodes = zTreeObj.getSelectedNodes();
for (var i = 0, l = nodes.length; i < l; i++) {
$(options.nameDOM).val(nodes[i].Name);
$(options.idDOM).val(nodes[i].Id);
break;
}
hideMenu();
}
function onCheck(e, 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(",");
$(options.nameDOM).val(names);
$(options.idDOM).val(ids);
}
function onBodyDown(event) {
if (!(event.target.id == "menuContent" || $(event.target).parents("#menuContent").length > 0)) {
hideMenu();
}
}
var load = function () {
var index = layer.load();
$.getJSON(options.url,
{
page: 1, rows: 10000
},
function (json) {
layer.close(index);
if (json.length == 0) {
$(options.nameDOM).val('');
$(options.idDOM).val('');
return;
}
zTreeObj = $.fn.zTree.init($("#org"), setting, json);
setCheck();
zTreeObj.expandAll(true);
showMenu();
});
}
exports('droptree', function (url, name, id) {
options = {
text: 'Name',
key: 'Id',
parentKey: 'ParentId',
nameDOM: name, //显示的文本框ID"#catetoryName"
idDOM: id, //隐藏的文本框,如:"#categoryId"
url: url
}
setting = {
view: { selectedMulti: true },
check: {
enable: true,
chkStyle: "checkbox",
chkboxType: { "Y": "", "N": "" } //去掉勾选时级联
},
data: {
key: {
name: options.text,
title: options.text
},
simpleData: {
enable: true,
idKey: options.key,
pIdKey: options.parentKey,
rootPId: 'null'
}
},
callback: {
onClick: onClick,
onCheck: onCheck
}
};
load();
});
});

View File

@ -1,118 +0,0 @@
// ***********************************************************************
// Assembly : OpenAuth.Mvc
// Author : yubaolee
// Created : 10-16-2016
//
// Last Modified By : yubaolee
// Last Modified On : 10-16-2016
// ***********************************************************************
// <copyright file="parentTree.js" company="www.cnblogs.com/yubaolee">
// 版权所有(C) 2015
// </copyright>
// <summary>单击文本框弹出的选择列表,可以多选</summary>
// ***********************************************************************
function ParentTreeMultiple(url, name, id) {
var zTreeObj;
var options = {
text: 'Name',
key: 'Id',
parentKey: 'ParentId',
nameDOM: name, //显示的文本框ID"#catetoryName"
idDOM: id //隐藏的文本框,如:"#categoryId"
}
var setting = {
view: { selectedMulti: true },
check: {
enable: true,
chkStyle: "checkbox",
chkboxType: { "Y": "", "N": "" } //去掉勾选时级联
},
data: {
key: {
name: options.text,
title: options.text
},
simpleData: {
enable: true,
idKey: options.key,
pIdKey: options.parentKey,
rootPId: 'null'
}
},
callback: {
onClick: onClick,
onCheck: onCheck
}
};
var showMenu = function () {
$("#menuContent").css({ left: "10px", top: $("#" + options.nameDOM).outerHeight() + "px" }).slideDown("fast");
$("body").bind("mousedown", onBodyDown);
};
var setCheck = function () { //设置初始选中的值
zTreeObj.checkAllNodes(false);
var value = vm.$get(options.idDOM);
if (value == undefined) return;
var nodeids = value.split(",");
$.each(nodeids,
function() {
var node = zTreeObj.getNodeByParam("Id", this, null);
if (node != null) {
zTreeObj.checkNode(node, true, false);
}
});
}
function onClick(e, treeId, treeNode) {
var nodes = zTreeObj.getSelectedNodes();
for (var i = 0, l = nodes.length; i < l; i++) {
vm.$set(options.nameDOM, nodes[i].Name);
vm.$set(options.idDOM, nodes[i].Id);
break;
}
hideMenu();
}
function onCheck(e, 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(",");
vm.$set(options.nameDOM, names);
vm.$set(options.idDOM, ids);
}
function onBodyDown(event) {
if (!(event.target.id == "menuContent" || $(event.target).parents("#menuContent").length > 0)) {
hideMenu();
}
}
function hideMenu() {
$("#menuContent").fadeOut("fast");
$("body").unbind("mousedown", onBodyDown);
}
return {
reload: function (layer, $) {
var index = layer.load();
$.getJSON(url,
{
page: 1, rows: 10000
},
function (json) {
layer.close(index);
if (json.length == 0) {
vm.$set(options.nameDOM, '');
vm.$set(options.idDOM, '');
return;
}
zTreeObj = $.fn.zTree.init($("#org"), setting, json);
setCheck();
zTreeObj.expandAll(true);
showMenu();
});
}
}
}

View File

@ -1,6 +1,6 @@
layui.config({
base: "/js/"
}).use(['form', 'ztree', 'layer', 'jquery', 'table'], function () {
}).use(['form', 'ztree', 'layer', 'jquery', 'table','droptree'], function () {
var form = layui.form,
//layer = parent.layer === undefined ? layui.layer : parent.layer,
layer =layui.layer,
@ -57,9 +57,8 @@ layui.config({
}();
//上级机构选择框
var parent = new ParentTreeMultiple("/UserSession/GetOrgs", "Organizations", "OrganizationIds");
$("#Organizations").on("click", function () {
parent.reload(layer, $);
layui.droptree("/UserSession/GetOrgs", "#Organizations", "#OrganizationIds");
});
//监听表格复选框选择

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 200 KiB

After

Width:  |  Height:  |  Size: 201 KiB