From 4a3fab943c5983f8a6a9cc5d50101d01c1537448 Mon Sep 17 00:00:00 2001 From: Argo-Lenovo Date: Wed, 9 Nov 2016 00:34:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9BUG=EF=BC=8C=E6=8C=87?= =?UTF-8?q?=E6=B4=BE=E8=8F=9C=E5=8D=95=E6=8C=89=E9=92=AE=E8=B0=83=E7=94=A8?= =?UTF-8?q?ajax=E5=AF=BC=E8=87=B4=E6=95=B0=E6=8D=AE=E5=8A=A0=E8=BD=BD?= =?UTF-8?q?=E4=B8=A4=E6=AC=A1=EF=BC=8C=E6=9B=B4=E6=96=B0=E6=8C=87=E6=B4=BE?= =?UTF-8?q?=E8=8F=9C=E5=8D=95=E6=8C=89=E9=92=AE=E5=9B=BE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Bootstrap.Admin/Content/js/framework.js | 71 +++++++++++++++--------- Bootstrap.Admin/Scripts/Roles.js | 6 +- Bootstrap.Admin/Views/Admin/Roles.cshtml | 6 +- 3 files changed, 49 insertions(+), 34 deletions(-) diff --git a/Bootstrap.Admin/Content/js/framework.js b/Bootstrap.Admin/Content/js/framework.js index aea0d9b5..898ff797 100644 --- a/Bootstrap.Admin/Content/js/framework.js +++ b/Bootstrap.Admin/Content/js/framework.js @@ -218,35 +218,47 @@ var htmlTemplate = '
'; var processData = function (options) { - var data = $.extend({ data: { type: "" }, method: "POST", Id: "", url: this.url, title: this.title, html: this.html }, options); - $.ajax({ - url: data.url + data.Id, - data: data.data, - type: data.method, - success: function (result) { - if ($.isFunction(data.callback)) { - if ($.isArray(result)) { - var html = data.html(result); - data.callback(html); - $('div.checkbox label.tooltips').tooltip(); - return; - } + var data = $.extend({ data: { type: "" }, remote: true, method: "POST", Id: "", url: this.url, title: this.title, html: this.html }, options); + + if (data.remote) { + $.ajax({ + url: data.url + data.Id, + data: data.data, + type: data.method, + success: function (result) { + success(result); + }, + error: function (XMLHttpRequest, textStatus, errorThrown) { + if ($.isFunction(data.callback)) data.callback(false); } - else if ($.isPlainObject(data.callback) && data.callback.modal !== undefined) { - $("#" + data.callback.modal).modal('hide'); + }); + } + else success() + + function success(result) { + if ($.isFunction(data.callback)) { + if ($.isArray(result)) { + var html = data.html(result); + data.callback(html); + $('div.checkbox label.tooltips').tooltip(); + return; } + } + else if ($.isPlainObject(data.callback) && data.callback.modal !== undefined) { + $("#" + data.callback.modal).modal('hide'); + } + if (data.remote) { if (result) { swal("成功", data.title, "success"); } else { swal("失败", data.title, "error"); } - if ($.isFunction(data.callback)) data.callback(result); - }, - error: function (XMLHttpRequest, textStatus, errorThrown) { - if ($.isFunction(data.callback)) data.callback(false); } - }); + if ($.isFunction(data.callback)) data.callback(result); + } } // Role Role = { - url: '../api/Roles/', title: "授权角色", html: function (result) { + url: '../api/Roles/', + title: "授权角色", + html: function (result) { return $.map(result, function (element, index) { return $.format(htmlTemplate, element.ID, element.RoleName, element.Checked, element.Description); }).join(''); @@ -272,7 +284,9 @@ }; // Users User = { - url: '../api/Users/', title: "授权用户", html: function (result) { + url: '../api/Users/', + title: "授权用户", + html: function (result) { return $.map(result, function (element, index) { return $.format(htmlTemplate, element.ID, element.DisplayName, element.Checked, element.UserName); }).join(''); @@ -292,7 +306,9 @@ } // Groups Group = { - url: '../api/Groups/', title: "授权部门", html: function (result) { + url: '../api/Groups/', + title: "授权部门", + html: function (result) { return $.map(result, function (element, index) { return $.format(htmlTemplate, element.ID, element.GroupName, element.Checked, element.Description); }).join(''); @@ -310,19 +326,20 @@ Group.saveGroupsByRoleId = function (roleId, groupIds, callback) { processData.call(this, { Id: roleId, callback: callback, method: "PUT", data: { type: "role", groupIds: groupIds } }); }; - htmlTemplateForMenu='
  • '; //Menus Menu = { - url: '../api/Menus/', title: "授权菜单", html: function (result) { + url: '../api/Menus/', + title: "授权菜单", + html: function (result) { return $.map(result, function (element, index) { return $.format(htmlTemplateForMenu, element.ID, element.Name, element.Active); }).join(''); } } Menu.getMenusByRoleId = function (roleId, callback) { - processData.call(this, { Id: roleId, callback: callback, data: { type: "role" } }); + processData.call(this, { Id: roleId, callback: callback, remote: false }); }; Menu.saveMenusByRoleId = function (roleId, menuIds, callback) { - processData.call(this, { Id: roleId, callback: callback, method: "PUT", data: { type: "role", menuIds:menuIds } }); + processData.call(this, { Id: roleId, callback: callback, method: "PUT", data: { type: "role", menuIds: menuIds } }); }; })(jQuery); \ No newline at end of file diff --git a/Bootstrap.Admin/Scripts/Roles.js b/Bootstrap.Admin/Scripts/Roles.js index e0832f91..75ba52bc 100644 --- a/Bootstrap.Admin/Scripts/Roles.js +++ b/Bootstrap.Admin/Scripts/Roles.js @@ -5,7 +5,7 @@ map: { ID: "roleID", RoleName: "roleName", - Description: "roleDesc" + Description: "roleDesc" } }), click: { @@ -44,7 +44,7 @@ var groupIds = $('#dialogGroup :checked').map(function (index, element) { return $(element).val(); }).toArray().join(','); - Group.saveGroupsByRoleId(roleId, groupIds, { modal: 'dialogGroup' }); + Group.saveGroupsByRoleId(roleId, groupIds, { modal: 'dialogGroup' }); } }, { @@ -53,10 +53,8 @@ Menu.getMenusByRoleId(row.ID, function (data) { $(".menu-content .modal-header .modal-title").text($.format('{0}-菜单授权窗口', row.RoleName)); $('.menu-content button:last').data('type', 'menu'); - $('ol.dd-list').html(data); $('#dialogMenu').modal('show'); $('.menu-content').show(); - $('div.dd3-content :checkbox').show(); $('div.dd3-content :radio').hide(); }) } diff --git a/Bootstrap.Admin/Views/Admin/Roles.cshtml b/Bootstrap.Admin/Views/Admin/Roles.cshtml index 485ff0a5..37249ca4 100644 --- a/Bootstrap.Admin/Views/Admin/Roles.cshtml +++ b/Bootstrap.Admin/Views/Admin/Roles.cshtml @@ -39,9 +39,9 @@ + } @section modal { @@ -66,5 +66,5 @@ @section customModal{ @Html.Partial("UserConfig") @Html.Partial("GroupConfig") - @Html.Partial("NavigatorConfig", Model.Navigations) + @Html.Partial("NavigatorConfig", Model.Navigations.Union(Model.Menus)) }