fix(#I13MQS): 保存菜单时检查菜单类型
#Comment comment #I13MQS 增加客户端检查 menuChild rule #Issue link https://gitee.com/LongbowEnterprise/dashboard/issues?id=I13MQS
This commit is contained in:
parent
9f832c365e
commit
0abd9aa9eb
|
@ -44,5 +44,15 @@ namespace Bootstrap.Admin.Controllers.Api
|
||||||
{
|
{
|
||||||
return MenuHelper.RetrieveMenus(User.Identity.Name).Where(m => m.Menus.Count() > 0).OrderBy(m => m.Name).Select(m => m.Name);
|
return MenuHelper.RetrieveMenus(User.Identity.Name).Where(m => m.Menus.Count() > 0).OrderBy(m => m.Name).Select(m => m.Name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 通过指定菜单检查子菜单是否有子菜单
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpGet("{id}")]
|
||||||
|
public bool ValidateMenuBySubMenu(string id)
|
||||||
|
{
|
||||||
|
return !MenuHelper.RetrieveAllMenus(User.Identity.Name).Where(m => m.ParentId == id).Any();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -148,7 +148,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-sm-6">
|
<div class="form-group col-sm-6">
|
||||||
<label class="control-label" for="isRes">菜单类型</label>
|
<label class="control-label" for="isRes">菜单类型</label>
|
||||||
<select data-toggle="lgbSelect" class="d-none" data-default-val="0" id="isRes">
|
<select data-toggle="lgbSelect" class="d-none menuChild" data-default-val="0" id="isRes" data-valid="true">
|
||||||
<option value="0">菜单</option>
|
<option value="0">菜单</option>
|
||||||
<option value="1">资源</option>
|
<option value="1">资源</option>
|
||||||
<option value="2">按钮</option>
|
<option value="2">按钮</option>
|
||||||
|
|
|
@ -340,4 +340,22 @@ $(function () {
|
||||||
var val = defaultVal === $app.val() ? '0' : '1';
|
var val = defaultVal === $app.val() ? '0' : '1';
|
||||||
$category.lgbSelect('val', val);
|
$category.lgbSelect('val', val);
|
||||||
})
|
})
|
||||||
|
|
||||||
|
if ($.isFunction($.validator)) {
|
||||||
|
$.validator.addMethod("menuChild", function (value, element) {
|
||||||
|
var id = $("#menuID").val();
|
||||||
|
var check = id === "" || value === "菜单";
|
||||||
|
if (!check) {
|
||||||
|
$.get({
|
||||||
|
url: $.formatUrl('api/Category/ValidateMenuBySubMenu/' + id),
|
||||||
|
async: false,
|
||||||
|
cache: false,
|
||||||
|
success: function (result) {
|
||||||
|
check = result
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return check;
|
||||||
|
}, "拥有子菜单时菜单类型不可更改为资源或者按钮");
|
||||||
|
}
|
||||||
});
|
});
|
|
@ -114,7 +114,7 @@
|
||||||
|
|
||||||
// save attributes
|
// save attributes
|
||||||
var attrs = [];
|
var attrs = [];
|
||||||
["id", "name", "data-default-val"].forEach(function (v, index) {
|
["id", "name", "class", "data-valid", "data-default-val"].forEach(function (v, index) {
|
||||||
var value = that.$element.attr(v);
|
var value = that.$element.attr(v);
|
||||||
if (value !== undefined) attrs.push({ name: v, value: value });
|
if (value !== undefined) attrs.push({ name: v, value: value });
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue