From b3a7afc32b5f9f5571631b6bf6b0dec5e7939f97 Mon Sep 17 00:00:00 2001 From: yubaolee Date: Fri, 21 Oct 2016 00:33:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=88=86=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OpenAuth.App/RoleManagerApp.cs | 12 +- OpenAuth.App/ViewModel/RoleVM.cs | 2 +- OpenAuth.Domain/Service/ResManagerService.cs | 2 +- OpenAuth.Mvc/BllScripts/assignRes.js | 155 ++++++++--------- OpenAuth.Mvc/BllScripts/roleManager.js | 15 +- OpenAuth.Mvc/BllScripts/userRoleManager.js | 164 ++++++++---------- OpenAuth.Mvc/BllScripts/usermanager.js | 29 ++-- .../Controllers/RoleManagerController.cs | 19 +- .../Views/ResourceManager/AssignRes.cshtml | 47 +++-- .../Views/RoleManager/LookupMulti.cshtml | 45 +++-- 10 files changed, 206 insertions(+), 284 deletions(-) diff --git a/OpenAuth.App/RoleManagerApp.cs b/OpenAuth.App/RoleManagerApp.cs index 01c8c5a6..60a70c00 100644 --- a/OpenAuth.App/RoleManagerApp.cs +++ b/OpenAuth.App/RoleManagerApp.cs @@ -130,7 +130,7 @@ namespace OpenAuth.App foreach (var role in orgroles) { RoleVM rolevm = role; - rolevm.IsBelongUser = userroles.Any(u => u.Id == role.Id); + rolevm.Checked = userroles.Any(u => u.Id == role.Id); var orgs = _orgRepository.LoadByRole(role.Id); rolevm.Organizations = string.Join(",", orgs.Select(u => u.Name).ToList()); rolevm.OrganizationIds = string.Join(",", orgs.Select(u => u.Id).ToList()); @@ -139,16 +139,6 @@ namespace OpenAuth.App return rolevms; } - public void AccessRole(Guid userId, Guid[] roleIds) - { - _relevanceRepository.AddRelevance("UserRole", roleIds.ToLookup(roleId => userId)); - } - - public void DelAccessRole(Guid userId, Guid[] roleids) - { - _relevanceRepository.DeleteBy("UserRole", roleids.ToLookup(roleId => userId)); - } - public List GetUsersInRole(string ruleName) { var role = _repository.FindSingle(u => u.Name == ruleName); diff --git a/OpenAuth.App/ViewModel/RoleVM.cs b/OpenAuth.App/ViewModel/RoleVM.cs index d02b7ca4..d9239ba6 100644 --- a/OpenAuth.App/ViewModel/RoleVM.cs +++ b/OpenAuth.App/ViewModel/RoleVM.cs @@ -55,7 +55,7 @@ namespace OpenAuth.App.ViewModel /// ///是否属于某用户 /// - public bool IsBelongUser { get; set; } + public bool Checked { get; set; } public static implicit operator RoleVM(Role role) { diff --git a/OpenAuth.Domain/Service/ResManagerService.cs b/OpenAuth.Domain/Service/ResManagerService.cs index a93ba382..e6742db5 100644 --- a/OpenAuth.Domain/Service/ResManagerService.cs +++ b/OpenAuth.Domain/Service/ResManagerService.cs @@ -157,7 +157,7 @@ namespace OpenAuth.Domain.Service { Id = element.Id, Name = element.Name, - IsBelongUser = accessed != null, + Checked = accessed != null, Description = element.Description, Key = element.Key, Status = element.Status diff --git a/OpenAuth.Mvc/BllScripts/assignRes.js b/OpenAuth.Mvc/BllScripts/assignRes.js index 70c7cc68..d79b88c4 100644 --- a/OpenAuth.Mvc/BllScripts/assignRes.js +++ b/OpenAuth.Mvc/BllScripts/assignRes.js @@ -12,92 +12,66 @@ // 分配资源模块处理 // *********************************************************************** +function renderLayui() { + layui.use(['layer', 'form'], function () { + var form = layui.form(); -$(document).ready(function () { - $.CurrentDialog.find("#btnAccess").on("click", function () { - var ids = dlgList.getSelectedProperties('Id'); - if (ids == null) return; + 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); - $.post('/RelevanceManager/Assign', { - type: $("#moduleType").val(), - firstId: $('#firstId').val(), - secIds: ids - }, function (json) { - json = $.parseJSON(json); - if (json.statusCode != "200") { - $(this).alertmsg('warn', json.message); - return; + }); } - dlgList.reload(); - }); - }); - $.CurrentDialog.find("#btnDelAccess").on("click", function () { - var ids = dlgList.getSelectedProperties('Id'); - if (ids == null) return; + else { + $.post('/RelevanceManager/UnAssign', { + type: $("#moduleType").val(), + firstId: $('#firstId').val(), + secIds: data.value + }, function (json) { + json = $.parseJSON(json); - $.post('/RelevanceManager/UnAssign', { - type: $("#moduleType").val(), - firstId: $('#firstId').val(), - secIds: ids - }, function (json) { - json = $.parseJSON(json); - if (json.statusCode != "200") { - $(this).alertmsg('warn', json.message); - return; + }); } - dlgList.reload(); }); - }); -}); -//grid列表模块 -function DialogList() { + form.render(); + }); +} + +var list = function () { var selectedId = '00000000-0000-0000-0000-000000000000'; //选中的ID - var url = '/ResourceManager/LoadWithAccess?cId='; - this.maingrid = $.CurrentDialog.find('#maingrid').datagrid({ - showToolbar: false, - loadType: 'GET', - filterThead: false, - target: $(this), - columns: [ - { - name: 'Id', - label: '角色ID', - hide: true - }, - { - name: 'Name', - label: '资源名称', - width: 100 - }, - - { - name: 'IsBelongUser', - label: '是否已经授权', - type: 'select', - align: 'center', - items: [{ 'false': '未授权', 'true': '已授权' }], - width: 100 - } - ], - dataUrl: url + selectedId + '&key=' + $('#moduleType').val() + '&firstId=' + $('#firstId').val(), - fullGrid: true, - showLinenumber: true, - showCheckboxcol: true, - paging: true, - filterMult: false, - showTfoot: false, - - }); - this.reload = function (id) { - if (id != undefined) selectedId = id; - this.maingrid.datagrid('reload', { dataUrl: url + selectedId + '&key=' + $('#moduleType').val() + '&firstId=' + $('#firstId').val() }); - } -}; -DialogList.prototype = new Grid(); -var dlgList = new DialogList(); - + var url = '/ResourceManager/LoadWithAccess?firstId=' + $("#firstId").val() + "&key=" + $("#moduleType").val() + "&cId="; + return { + reload: function (id) { + if (id != undefined) selectedId = id; + $.getJSON(url + selectedId, + function (data) { + var str = ''; + if (data.length > 0) { + $.each(data, + function () { + str += " // 用户分配角色模块 // *********************************************************************** +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); -$(document).ready(function () { - $.CurrentDialog.find("#btnAccess").on("click", function () { - var ids = userRolesList.getSelectedProperties('Id'); - if (ids == null) return; - - $.post('/RoleManager/AccessRoles', { - userId: $('#userId').val(), - ids: ids - }, function (json) { - userRolesList.reload(); - }); - }); - $.CurrentDialog.find("#btnDelAccess").on("click", function () { - var ids = userRolesList.getSelectedProperties('Id'); - if (ids == null) return; - - $.post('/RoleManager/DelAccessRoles', { - userId: $('#userId').val(), - ids: ids - }, function (json) { - userRolesList.reload(); - }); - }); -}); - -//grid列表模块 -function UserRolesList() { - var selectedId = '00000000-0000-0000-0000-000000000000'; //ztree选中的模块 - this.maingrid = $.CurrentDialog.find('#maingrid').datagrid({ - showToolbar: false, - loadType: 'GET', - filterThead: false, - target: $(this), - columns: [ - { - name: 'Id', - label: '角色ID', - hide: true - }, - { - name: 'Name', - label: '角色名称', - width: 100 - }, - { - name: 'Organizations', - label: '所属组织', - width: 100 - }, - { - name: 'IsBelongUser', - label: '是否已经授权', - type: 'select', - align: 'center', - items: [{ 'false': '未授权', 'true': '已授权' }], - width: 100 + }); } - ], - data: [], - fullGrid: true, - showLinenumber: true, - showCheckboxcol: true, - paging: true, - filterMult: false, - showTfoot: false, - - }); - this.reload = function (id) { - if (id != undefined) selectedId = id; - console.log(id); - this.maingrid.datagrid('reload', { dataUrl: '/RoleManager/LoadForOrgAndUser?orgId=' + selectedId + '&userId=' + $('#userId').val() }); - } -}; -UserRolesList.prototype = new Grid(); -var userRolesList = new UserRolesList(); + 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 += " 0) { - firstId = json[0].Id; - } else { - firstId = -1; + callback: { + onClick: function (event, treeId, treeNode) { + list.reload(treeNode.Id); + } } - userRolesList.reload(firstId); - zTreeObj.expandAll(true); + }; + var load = function () { + $.getJSON(url, + function (json) { + var zTreeObj = $.fn.zTree.init($("#orgtree"), setting, json); + list.reload(); + zTreeObj.expandAll(true); + }); + }; + load(); - }); + return { + reload: load + } }(); -function zTreeOnClick(event, treeId, treeNode) { - userRolesList.reload(treeNode.Id); -} - + diff --git a/OpenAuth.Mvc/BllScripts/usermanager.js b/OpenAuth.Mvc/BllScripts/usermanager.js index 9b61b388..597a8bba 100644 --- a/OpenAuth.Mvc/BllScripts/usermanager.js +++ b/OpenAuth.Mvc/BllScripts/usermanager.js @@ -218,15 +218,11 @@ function openUserRoleAccess(obj) { var selected = list.getSelectedObj(); if (selected == null) return; - $(obj).dialog({ - id: 'accessUserRole', - url: '/RoleManager/LookupMulti', - title: '为用户分配角色', - width: 600, - height: 380, - data: { - userId: selected.Id - } + layer.open({ + type: 2, + skin: 'layui-layer-rim', //加上边框 + area: ['410px', '390px'], //宽高 + content: '/RoleManager/LookupMulti?key=UserRole&firstId=' + selected.Id }); } @@ -235,16 +231,11 @@ function openUserReourceAccess(obj) { var selected = list.getSelectedObj(); if (selected == null) return; - $(obj).dialog({ - id: 'accessUserResource', - url: '/ResourceManager/AssignRes', - title: '为用户分配资源', - width: 600, - height: 380, - data: { - firstId: selected.Id, - key:"UserResource" - } + layer.open({ + type: 2, + skin: 'layui-layer-rim', //加上边框 + area: ['410px', '390px'], //宽高 + content: '/ResourceManager/AssignRes?key=UserResource&firstId=' + selected.Id }); } diff --git a/OpenAuth.Mvc/Controllers/RoleManagerController.cs b/OpenAuth.Mvc/Controllers/RoleManagerController.cs index e09bd213..4fe569ac 100644 --- a/OpenAuth.Mvc/Controllers/RoleManagerController.cs +++ b/OpenAuth.Mvc/Controllers/RoleManagerController.cs @@ -69,9 +69,10 @@ namespace OpenAuth.Mvc.Controllers } #region 为用户设置角色界面 - public ActionResult LookupMulti(Guid userId) + public ActionResult LookupMulti(Guid firstId, string key) { - ViewBag.UserId = userId; + ViewBag.FirstId = firstId; + ViewBag.ModuleType = key; return View(); } @@ -80,20 +81,6 @@ namespace OpenAuth.Mvc.Controllers return JsonHelper.Instance.Serialize(_app.LoadForOrgAndUser(orgId, userId)); } - [System.Web.Mvc.HttpPost] - public string AccessRoles(Guid userId, Guid[] ids) - { - _app.AccessRole(userId, ids); - return JsonHelper.Instance.Serialize(Result); - } - - [System.Web.Mvc.HttpPost] - public string DelAccessRoles(Guid userId, Guid[] ids) - { - _app.DelAccessRole(userId, ids); - return JsonHelper.Instance.Serialize(Result); - } - #endregion 为用户设置角色界面 } } \ No newline at end of file diff --git a/OpenAuth.Mvc/Views/ResourceManager/AssignRes.cshtml b/OpenAuth.Mvc/Views/ResourceManager/AssignRes.cshtml index f2e1e643..a5bf54db 100644 --- a/OpenAuth.Mvc/Views/ResourceManager/AssignRes.cshtml +++ b/OpenAuth.Mvc/Views/ResourceManager/AssignRes.cshtml @@ -1,31 +1,26 @@ -
- + +@{ + Layout = null; +} + + + + + + + +
+ + +
    -
    -
    -
    -
      -
      -
      -
      -
      -
      +
      +
      + + - \ No newline at end of file + + diff --git a/OpenAuth.Mvc/Views/RoleManager/LookupMulti.cshtml b/OpenAuth.Mvc/Views/RoleManager/LookupMulti.cshtml index 8eaa5757..eeb76e9e 100644 --- a/OpenAuth.Mvc/Views/RoleManager/LookupMulti.cshtml +++ b/OpenAuth.Mvc/Views/RoleManager/LookupMulti.cshtml @@ -1,31 +1,26 @@ -
      - + +@{ + Layout = null; +} + + + + + + + +
      + + +
        -
        -
        -
        -
          -
          -
          -
          -
          -
          +
          +
          + - \ No newline at end of file + +