优化api异常提示;

优化授权菜单加载逻辑
This commit is contained in:
yubaolee
2018-04-04 11:59:18 +08:00
parent a631e15d7e
commit 7989b4e563
24 changed files with 174 additions and 108 deletions

View File

@@ -23,29 +23,6 @@ namespace OpenAuth.Mvc.Controllers
return View();
}
/// <summary>
/// 所有页面按钮控制分部视图
/// </summary>
/// <returns>ActionResult.</returns>
[ChildActionOnly]
public ActionResult MenuHeader()
{
var sb = new StringBuilder();
foreach (var element in CurrentModule.Elements)
{
sb.Append("<button "
+ " data-type='" + element.DomId + "' "
+ " class='layui-btn layui-btn-small " + element.Class + "' "
+ element.Attr
+ ">");
if (!string.IsNullOrEmpty(element.Icon))
{
sb.Append("<i class='layui-icon'>" + element.Icon + "</i>");
}
sb.Append(element.Name + "</button>");
}
ViewBag.Buttons = sb.ToString();
return View();
}
}
}

View File

@@ -70,6 +70,13 @@ namespace OpenAuth.Mvc.Controllers
return JsonHelper.Instance.Serialize(menus);
}
public string LoadAuthorizedMenus()
{
return JsonHelper.Instance.Serialize(CurrentModule.Elements);
}
#region
//添加模块

View File

@@ -623,7 +623,6 @@
<Content Include="Views\Shared\_FlowForm.cshtml" />
<Content Include="Views\Home\Main.cshtml" />
<Content Include="Views\Shared\_Layout.cshtml" />
<Content Include="Views\Home\MenuHeader.cshtml" />
<Content Include="Views\Categories\Index.cshtml" />
<Content Include="Views\ModuleManager\Assign.cshtml" />
<Content Include="Views\RoleManager\Index.cshtml" />

View File

@@ -2,8 +2,7 @@
{
<link rel="stylesheet" href="/css/treetable.css" />
}
<blockquote class="layui-elem-quote news_search toolList">
@Html.Action("MenuHeader", "Home")
<blockquote class="layui-elem-quote news_search toolList" id="menus">
</blockquote>
<div style="display: flex;">

View File

@@ -2,8 +2,7 @@
{
<link rel="stylesheet" href="/css/treetable.css" />
}
<blockquote class="layui-elem-quote news_search toolList">
@Html.Action("MenuHeader", "Home")
<blockquote class="layui-elem-quote news_search toolList" id="menus">
</blockquote>
<div class="layui-row">

View File

@@ -2,8 +2,7 @@
{
<link rel="stylesheet" href="/css/treetable.css" />
}
<blockquote class="layui-elem-quote news_search toolList">
@Html.Action("MenuHeader", "Home")
<blockquote class="layui-elem-quote news_search toolList" id="menus">
</blockquote>

View File

@@ -1,8 +0,0 @@

@{
Layout = null;
}
@Html.Raw(ViewBag.Buttons)

View File

@@ -2,8 +2,7 @@
{
<link rel="stylesheet" href="/css/treetable.css" />
}
<blockquote class="layui-elem-quote news_search toolList">
@Html.Action("MenuHeader", "Home")
<blockquote class="layui-elem-quote news_search toolList" id="menus">
</blockquote>
<div style="display: flex;">
@@ -69,7 +68,7 @@
<!--模块添加/编辑窗口-->
<div id="divEdit" style="display: none">
<form class="layui-form" action="" id="formEdit">
<form class="layui-form layui-form-pane" action="" id="formEdit">
<input type="hidden" name="Id" v-model="Id" />

View File

@@ -2,8 +2,7 @@
{
<link rel="stylesheet" href="/css/treetable.css" />
}
<blockquote class="layui-elem-quote news_search toolList">
@Html.Action("MenuHeader", "Home")
<blockquote class="layui-elem-quote news_search toolList" id ="menus">
</blockquote>
<div class="layui-row">
@@ -38,7 +37,7 @@
<!--用户添加/编辑窗口-->
<div id="divEdit" style="display: none">
<form class="layui-form" action="" id="formEdit">
<form class="layui-form layui-form-pane" action="" id="formEdit">
<input type="hidden" name="Id" v-model="Id" />

View File

@@ -2,8 +2,7 @@
{
<link rel="stylesheet" href="/css/treetable.css" />
}
<blockquote class="layui-elem-quote news_search toolList">
@Html.Action("MenuHeader", "Home")
<blockquote class="layui-elem-quote news_search toolList" id ="menus">
</blockquote>
<div class="layui-row">
@@ -33,7 +32,7 @@
<!--角色添加/编辑窗口-->
<div id="divEdit" style="display: none">
<form class="layui-form" action="" id="formEdit">
<form class="layui-form layui-form-pane" action="" id="formEdit">
<input type="hidden" name="Id" v-model="Id" />
@@ -55,7 +54,7 @@
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-form-item" pane>
<label class="layui-form-label">是否可用</label>
<div class="layui-input-block">
<input type="checkbox" name="Status" v-model="Status" lay-skin="switch" value="1">

View File

@@ -2,8 +2,7 @@
{
<link rel="stylesheet" href="/css/treetable.css" />
}
<blockquote class="layui-elem-quote news_search toolList">
@Html.Action("MenuHeader", "Home")
<blockquote class="layui-elem-quote news_search toolList" id="menus">
</blockquote>
<div class="layui-row">

View File

@@ -3,25 +3,56 @@ layui.define("jquery", function (exports) {
var jQuery = layui.jquery,
$ = layui.jquery;
//获取url的参数值
$.getUrlParam = function (name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]); return null;
}
//获取url的参数值
$.getUrlParam = function (name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]); return null;
}
//把name/value的数组转为obj对象
$.arrayToObj = function(array) {
var result = {};
for (var i = 0; i < array.length; i++) {
var field = array[i];
if (field.name in result) {
result[field.name] += ',' + field.value;
} else {
result[field.name] = field.value;
}
//把name/value的数组转为obj对象
$.arrayToObj = function (array) {
var result = {};
for (var i = 0; i < array.length; i++) {
var field = array[i];
if (field.name in result) {
result[field.name] += ',' + field.value;
} else {
result[field.name] = field.value;
}
return result;
}
return result;
}
//加载菜单
$.fn.extend({
loadMenus: function () {
var dom = $(this);
$.ajax("/ModuleManager/LoadAuthorizedMenus",
{
async: false
, success: function (data) {
var obj = JSON.parse(data);
var sb = '';
$.each(obj,
function () {
var element = this;
sb += ("<button " + " data-type='" + element.DomId +
"' " + " class='layui-btn layui-btn-small " + element.Class +
"' " + element.Attr + ">");
if (element.Icon != null && element.Icon != '') {
sb += ("<i class='layui-icon'>" + element.Icon + "</i>");
}
sb += (element.Name + "</button>");
});
dom.html(sb);
}
});
}
});
exports('utils');
});

View File

@@ -1,12 +1,14 @@
layui.config({
base: "/js/"
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth'], function () {
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth','utils'], function () {
var form = layui.form,
layer = layui.layer,
$ = layui.jquery;
var table = layui.table;
var openauth = layui.openauth;
layui.droptree("/Categories/AllTypes", "#TypeName", "#TypeId", false);
$("#menus").loadMenus();
//主列表加载,可反复调用进行刷新
var config= {}; //table的参数如搜索key点击tree的id

View File

@@ -1,6 +1,6 @@
layui.config({
base: "/js/"
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth'], function () {
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth','utils'], function () {
var form = layui.form,
layer = (top == undefined || top.layer === undefined )? layui.layer : top.layer,
$ = layui.jquery;
@@ -8,6 +8,8 @@
var openauth = layui.openauth;
var thiswin = (top == undefined) ? window : top.window;
layui.droptree("/UserSession/GetOrgs", "#Organizations", "#OrganizationIds");
$("#menus").loadMenus();
//主列表加载,可反复调用进行刷新
var config= {}; //table的参数如搜索key点击tree的id
@@ -70,7 +72,7 @@
layer.open({
type: 2,
area: ['750px', '550px'], //宽高
area: ['800px', '700px'], //宽高
maxmin: true, //开启最大化最小化按钮
title: title,
content: '/flowInstances/edit?id=' + data.Id,

View File

@@ -169,6 +169,7 @@ layui.config({
return false; //阻止表单跳转。
});
flowDesignPanel.reinitSize($(window).width() - 30, $(window).height() - 100);
$(window).resize(function () {
flowDesignPanel.reinitSize($(window).width() - 30, $(window).height() - 100);
});

View File

@@ -1,6 +1,6 @@
layui.config({
base: "/js/"
}).use(['form', 'vue', 'ztree', 'layer', 'jquery', 'table', 'droptree', 'openauth'], function () {
}).use(['form', 'vue', 'ztree', 'layer', 'jquery', 'table', 'droptree', 'openauth','utils'], function () {
var form = layui.form, element = layui.element,
layer = (top == undefined || top.layer === undefined )? layui.layer : top.layer,
$ = layui.jquery;
@@ -10,6 +10,8 @@
layui.droptree("/UserSession/GetOrgs", "#Organizations", "#OrganizationIds");
$("#menus").loadMenus();
//主列表加载,可反复调用进行刷新
var config = {}; //table的参数如搜索key点击tree的id
var mainList = function (options) {
@@ -71,7 +73,7 @@
layer.open({
type: 2,
area: ['600px', '500px'], //宽高
area: ['800px', '700px'], //宽高
maxmin: true, //开启最大化最小化按钮
title: title,
content: '/flowschemes/design?id='+data.Id,

View File

@@ -1,6 +1,6 @@
layui.config({
base: "/js/"
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth'], function () {
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth','utils'], function () {
var form = layui.form,
element = layui.element,
layer = (top == undefined || top.layer === undefined )? layui.layer : top.layer,
@@ -12,7 +12,7 @@
layui.droptree("/UserSession/GetOrgs", "#Organizations", "#OrganizationIds");
$("#menus").loadMenus();
//主列表加载,可反复调用进行刷新
var config= {}; //table的参数如搜索key点击tree的id
var mainList = function (options) {

View File

@@ -1,6 +1,6 @@
layui.config({
base: "/js/"
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth'], function () {
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth','utils'], function () {
var form = layui.form,
layer = layui.layer,
$ = layui.jquery;
@@ -8,6 +8,8 @@ layui.config({
var openauth = layui.openauth;
layui.droptree("/UserSession/QueryModuleList", "#ParentName", "#ParentId", false);
$("#menus").loadMenus();
//主列表加载,可反复调用进行刷新
var config= {}; //table的参数如搜索key点击tree的id
var mainList = function (options) {

View File

@@ -1,12 +1,14 @@
layui.config({
base: "/js/"
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth'], function () {
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth','utils'], function () {
var form = layui.form,
layer = layui.layer,
$ = layui.jquery;
var table = layui.table;
var openauth = layui.openauth;
layui.droptree("/UserSession/GetOrgs", "#ParentName", "#ParentId", false);
$("#menus").loadMenus();
//主列表加载,可反复调用进行刷新
var config= {}; //table的参数如搜索key点击tree的id

View File

@@ -1,6 +1,6 @@
layui.config({
base: "/js/"
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth'], function () {
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth','utils'], function () {
var form = layui.form,
layer = layui.layer,
$ = layui.jquery;
@@ -8,6 +8,8 @@ layui.config({
var openauth = layui.openauth;
layui.droptree("/UserSession/GetOrgs", "#Organizations", "#OrganizationIds");
$("#menus").loadMenus();
//主列表加载,可反复调用进行刷新
var config= {}; //table的参数如搜索key点击tree的id
var mainList = function (options) {

View File

@@ -1,6 +1,6 @@
layui.config({
base: "/js/"
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth'], function () {
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth','utils'], function () {
var form = layui.form,
layer = layui.layer,
$ = layui.jquery;
@@ -8,6 +8,8 @@ layui.config({
var openauth = layui.openauth;
layui.droptree("/UserSession/GetOrgs", "#Organizations", "#OrganizationIds");
$("#menus").loadMenus();
//主列表加载,可反复调用进行刷新
var config= {}; //table的参数如搜索key点击tree的id
var mainList = function (options) {