修复模块添加菜单时异常

This commit is contained in:
wintel 2025-02-22 20:16:46 +08:00
parent d07b75201d
commit e244246028
5 changed files with 192 additions and 191 deletions
OpenAuth.Mvc
Views
Home
ModuleManager
wwwroot
docs

View File

@ -122,7 +122,7 @@ tpwidget("init", {
</div>
<!-- 底部 -->
<div class="layui-footer footer">
<p>copyright @@2024 yubaolee  <a onclick="donation()" class="layui-btn layui-btn-danger l·ayui-btn-small">捐赠作者</a></p>
<p>copyright @@2025 yubaolee  <a onclick="donation()" class="layui-btn layui-btn-danger l·ayui-btn-small">捐赠作者</a></p>
</div>
</div>

View File

@ -198,4 +198,4 @@
</div>
<script type="text/javascript" src="/layui/layui.js"></script>
<script type="text/javascript" src="/userJs/modules.js?v2"></script>
<script type="text/javascript" src="/userJs/modules.js?v2.1"></script>

View File

@ -1,15 +1,15 @@
var $,tab,skyconsWeather;
var $, tab, skyconsWeather;
layui.config({
base : "/js/"
}).use(['bodyTab','form','element','layer','jquery','cookie'],function(){
base: "/js/"
}).use(['bodyTab', 'form', 'element', 'layer', 'jquery', 'cookie'], function () {
var form = layui.form,
layer = layui.layer,
element = layui.element;
$ = layui.jquery;
tab = layui.bodyTab({
openTabNum : "50", //最大可打开窗口数量
url: "/UserSession/GetModulesTree" //获取菜单json地址
});
$ = layui.jquery;
tab = layui.bodyTab({
openTabNum: "50", //最大可打开窗口数量
url: "/UserSession/GetModulesTree" //获取菜单json地址
});
$(".menu_three").on("click", function () {
@ -27,131 +27,131 @@ layui.config({
$(this).addClass('three_this'); // 添加当前元素的样式
})
$.get('/UserSession/GetUserName',
function(data) {
$("#username").html(data);
$("#usernametop").html(data);
});
$.get('/UserSession/GetUserName',
function (data) {
$("#username").html(data);
$("#usernametop").html(data);
});
//todo:默认登录后取第一个机构的id作为默认可以在【个人中心】界面修改默认
//todo:默认登录后取第一个机构的id作为默认可以在【个人中心】界面修改默认
//在大型业务系统中,应该让用户登录成功后弹出选择框选择操作的机构
$.get('/UserSession/GetOrgs',
function(data) {
var orgs = JSON.parse(data).Result;
function (data) {
var orgs = JSON.parse(data).Result;
var defaultorgId = orgs[0].Id;
$.cookie('defaultorgid', defaultorgId,{path: '/'});
$.cookie('defaultorgid', defaultorgId, { path: '/' });
});
//更换皮肤
function skins(){
function skins() {
var skin = window.sessionStorage.getItem("skin");
if (skin) { //如果更换过皮肤
if (window.sessionStorage.getItem("skinValue") != "自定义") {
$("body").addClass(window.sessionStorage.getItem("skin"));
} else {
$(".layui-layout-admin .layui-header").css("background-color", skin.split(',')[0]);
$(".layui-bg-black").css("background-color", skin.split(',')[1]);
$(".hideMenu").css("background-color", skin.split(',')[2]);
}
if (window.sessionStorage.getItem("skinValue") != "自定义") {
$("body").addClass(window.sessionStorage.getItem("skin"));
} else {
$(".layui-layout-admin .layui-header").css("background-color", skin.split(',')[0]);
$(".layui-bg-black").css("background-color", skin.split(',')[1]);
$(".hideMenu").css("background-color", skin.split(',')[2]);
}
} else {
$("body").addClass("blue");
$("body").addClass("blue");
}
}
skins();
$(".changeSkin").click(function(){
$(".changeSkin").click(function () {
layer.open({
title : "更换皮肤",
area : ["310px","280px"],
type : "1",
content : '<div class="skins_box">'+
'<form class="layui-form">'+
'<div class="layui-form-item">'+
'<input type="radio" name="skin" value="默认" title="默认" lay-filter="default" checked="">'+
'<input type="radio" name="skin" value="藏青" title="藏青" lay-filter="cyan">'+
'<input type="radio" name="skin" value="蓝色" title="蓝色" lay-filter="blue">'+
'<input type="radio" name="skin" value="自定义" title="自定义" lay-filter="custom">'+
'<div class="skinCustom">'+
'<input type="text" class="layui-input topColor" name="topSkin" placeholder="顶部颜色" />'+
'<input type="text" class="layui-input leftColor" name="leftSkin" placeholder="左侧颜色" />'+
'<input type="text" class="layui-input menuColor" name="btnSkin" placeholder="顶部菜单按钮" />'+
'</div>'+
'</div>'+
'<div class="layui-form-item skinBtn">'+
'<a href="javascript:;" class="layui-btn layui-btn-small layui-btn-normal" lay-submit="" lay-filter="changeSkin">确定更换</a>'+
'<a href="javascript:;" class="layui-btn layui-btn-small layui-btn-primary" lay-submit="" lay-filter="noChangeSkin">我再想想</a>'+
'</div>'+
'</form>'+
'</div>',
success : function(index, layero){
title: "更换皮肤",
area: ["310px", "280px"],
type: "1",
content: '<div class="skins_box">' +
'<form class="layui-form">' +
'<div class="layui-form-item">' +
'<input type="radio" name="skin" value="默认" title="默认" lay-filter="default" checked="">' +
'<input type="radio" name="skin" value="藏青" title="藏青" lay-filter="cyan">' +
'<input type="radio" name="skin" value="蓝色" title="蓝色" lay-filter="blue">' +
'<input type="radio" name="skin" value="自定义" title="自定义" lay-filter="custom">' +
'<div class="skinCustom">' +
'<input type="text" class="layui-input topColor" name="topSkin" placeholder="顶部颜色" />' +
'<input type="text" class="layui-input leftColor" name="leftSkin" placeholder="左侧颜色" />' +
'<input type="text" class="layui-input menuColor" name="btnSkin" placeholder="顶部菜单按钮" />' +
'</div>' +
'</div>' +
'<div class="layui-form-item skinBtn">' +
'<a href="javascript:;" class="layui-btn layui-btn-small layui-btn-normal" lay-submit="" lay-filter="changeSkin">确定更换</a>' +
'<a href="javascript:;" class="layui-btn layui-btn-small layui-btn-primary" lay-submit="" lay-filter="noChangeSkin">我再想想</a>' +
'</div>' +
'</form>' +
'</div>',
success: function (index, layero) {
var skin = window.sessionStorage.getItem("skin");
if(window.sessionStorage.getItem("skinValue")){
$(".skins_box input[value="+window.sessionStorage.getItem("skinValue")+"]").attr("checked","checked");
if (window.sessionStorage.getItem("skinValue")) {
$(".skins_box input[value=" + window.sessionStorage.getItem("skinValue") + "]").attr("checked", "checked");
};
if($(".skins_box input[value=自定义]").attr("checked")){
$(".skinCustom").css("visibility","inherit");
if ($(".skins_box input[value=自定义]").attr("checked")) {
$(".skinCustom").css("visibility", "inherit");
$(".topColor").val(skin.split(',')[0]);
$(".leftColor").val(skin.split(',')[1]);
$(".menuColor").val(skin.split(',')[2]);
};
form.render();
$(".skins_box").removeClass("layui-hide");
$(".skins_box .layui-form-radio").on("click",function(){
$(".skins_box .layui-form-radio").on("click", function () {
var skinColor;
if($(this).find("span").text() == "藏青"){
if ($(this).find("span").text() == "藏青") {
skinColor = "cyan";
}else if($(this).find("span").text() == "蓝色"){
} else if ($(this).find("span").text() == "蓝色") {
skinColor = "blue";
}else if($(this).find("span").text() == "默认"){
} else if ($(this).find("span").text() == "默认") {
skinColor = "";
}
if($(this).find("span").text() != "自定义"){
if ($(this).find("span").text() != "自定义") {
$(".topColor,.leftColor,.menuColor").val('');
$("body").removeAttr("class").addClass("main_body "+skinColor+"");
$("body").removeAttr("class").addClass("main_body " + skinColor + "");
$(".skinCustom").removeAttr("style");
$(".layui-bg-black,.hideMenu,.layui-layout-admin .layui-header").removeAttr("style");
}else{
$(".skinCustom").css("visibility","inherit");
} else {
$(".skinCustom").css("visibility", "inherit");
}
})
var skinStr,skinColor;
$(".topColor").blur(function(){
$(".layui-layout-admin .layui-header").css("background-color",$(this).val());
var skinStr, skinColor;
$(".topColor").blur(function () {
$(".layui-layout-admin .layui-header").css("background-color", $(this).val());
})
$(".leftColor").blur(function(){
$(".layui-bg-black").css("background-color",$(this).val());
$(".leftColor").blur(function () {
$(".layui-bg-black").css("background-color", $(this).val());
})
$(".menuColor").blur(function(){
$(".hideMenu").css("background-color",$(this).val());
$(".menuColor").blur(function () {
$(".hideMenu").css("background-color", $(this).val());
})
form.on("submit(changeSkin)",function(data){
if(data.field.skin != "自定义"){
if(data.field.skin == "藏青"){
form.on("submit(changeSkin)", function (data) {
if (data.field.skin != "自定义") {
if (data.field.skin == "藏青") {
skinColor = "cyan";
}else if(data.field.skin == "蓝色"){
} else if (data.field.skin == "蓝色") {
skinColor = "blue";
}else if(data.field.skin == "默认"){
} else if (data.field.skin == "默认") {
skinColor = "";
}
window.sessionStorage.setItem("skin",skinColor);
}else{
skinStr = $(".topColor").val()+','+$(".leftColor").val()+','+$(".menuColor").val();
window.sessionStorage.setItem("skin",skinStr);
window.sessionStorage.setItem("skin", skinColor);
} else {
skinStr = $(".topColor").val() + ',' + $(".leftColor").val() + ',' + $(".menuColor").val();
window.sessionStorage.setItem("skin", skinStr);
$("body").removeAttr("class").addClass("main_body");
}
window.sessionStorage.setItem("skinValue",data.field.skin);
window.sessionStorage.setItem("skinValue", data.field.skin);
layer.closeAll("page");
});
form.on("submit(noChangeSkin)",function(){
$("body").removeAttr("class").addClass("main_body "+window.sessionStorage.getItem("skin")+"");
form.on("submit(noChangeSkin)", function () {
$("body").removeAttr("class").addClass("main_body " + window.sessionStorage.getItem("skin") + "");
$(".layui-bg-black,.hideMenu,.layui-layout-admin .layui-header").removeAttr("style");
skins();
layer.closeAll("page");
});
},
cancel : function(){
$("body").removeAttr("class").addClass("main_body "+window.sessionStorage.getItem("skin")+"");
cancel: function () {
$("body").removeAttr("class").addClass("main_body " + window.sessionStorage.getItem("skin") + "");
$(".layui-bg-black,.hideMenu,.layui-layout-admin .layui-header").removeAttr("style");
skins();
}
@ -159,14 +159,14 @@ layui.config({
})
//退出
$(".signOut").click(function(){
$(".signOut").click(function () {
window.sessionStorage.removeItem("menu");
menu = [];
window.sessionStorage.removeItem("curmenu");
})
//隐藏左侧导航
$(".hideMenu").click(function(){
$(".hideMenu").click(function () {
$(".layui-layout-admin").toggleClass("showMenu");
//渲染顶部窗口
tab.tabMove();
@ -176,43 +176,43 @@ layui.config({
tab.render();
//锁屏
function lockPage(){
function lockPage() {
layer.open({
title : false,
type : 1,
content : ' <div class="admin-header-lock" id="lock-box">'+
'<div class="admin-header-lock-img"><img src="/images/face.jpg"/></div>'+
'<div class="admin-header-lock-name" id="lockUserName">admin</div>'+
'<div class="input_btn">'+
'<input type="password" class="admin-header-lock-input layui-input" autocomplete="off" placeholder="请输入密码解锁.." name="lockPwd" id="lockPwd" />'+
'<button class="layui-btn" id="unlock">解锁</button>'+
'</div>'+
'<p>请输入“123456”否则不会解锁成功哦</p>'+
'</div>',
closeBtn : 0,
shade : 0.9
title: false,
type: 1,
content: ' <div class="admin-header-lock" id="lock-box">' +
'<div class="admin-header-lock-img"><img src="/images/face.jpg"/></div>' +
'<div class="admin-header-lock-name" id="lockUserName">admin</div>' +
'<div class="input_btn">' +
'<input type="password" class="admin-header-lock-input layui-input" autocomplete="off" placeholder="请输入密码解锁.." name="lockPwd" id="lockPwd" />' +
'<button class="layui-btn" id="unlock">解锁</button>' +
'</div>' +
'<p>请输入“123456”否则不会解锁成功哦</p>' +
'</div>',
closeBtn: 0,
shade: 0.9
})
$(".admin-header-lock-input").focus();
}
$(".lockcms").on("click",function(){
window.sessionStorage.setItem("lockcms",true);
$(".lockcms").on("click", function () {
window.sessionStorage.setItem("lockcms", true);
lockPage();
})
// 判断是否显示锁屏
if(window.sessionStorage.getItem("lockcms") == "true"){
if (window.sessionStorage.getItem("lockcms") == "true") {
lockPage();
}
// 解锁
$("body").on("click","#unlock",function(){
if($(this).siblings(".admin-header-lock-input").val() == ''){
$("body").on("click", "#unlock", function () {
if ($(this).siblings(".admin-header-lock-input").val() == '') {
layer.msg("请输入解锁密码!");
$(this).siblings(".admin-header-lock-input").focus();
}else{
if($(this).siblings(".admin-header-lock-input").val() == "123456"){
window.sessionStorage.setItem("lockcms",false);
} else {
if ($(this).siblings(".admin-header-lock-input").val() == "123456") {
window.sessionStorage.setItem("lockcms", false);
$(this).siblings(".admin-header-lock-input").val('');
layer.closeAll("page");
}else{
} else {
layer.msg("密码错误,请重新输入!");
$(this).siblings(".admin-header-lock-input").val('').focus();
}
@ -223,18 +223,18 @@ layui.config({
var treeMobile = $('.site-tree-mobile'),
shadeMobile = $('.site-mobile-shade')
treeMobile.on('click', function(){
treeMobile.on('click', function () {
$('body').addClass('site-mobile');
});
shadeMobile.on('click', function(){
shadeMobile.on('click', function () {
$('body').removeClass('site-mobile');
});
// 添加新窗口
$("body").on("click",".layui-nav .layui-nav-item a",function(){
$("body").on("click", ".layui-nav .layui-nav-item a", function () {
//如果不存在子级
if($(this).siblings().length == 0){
if ($(this).siblings().length == 0) {
addTab($(this));
$('body').removeClass('site-mobile'); //移动端点击菜单关闭菜单层
}
@ -242,73 +242,73 @@ layui.config({
})
//公告层
function showNotice(){
function showNotice() {
layer.open({
type: 1,
title: "系统公告",
closeBtn: false,
area: '310px',
shade: 0.8,
id: 'LAY_layuipro',
btn: ['火速围观'],
moveType: 1,
content: '<div style="padding:15px 20px; text-align:justify; line-height: 22px; text-indent:2em;border-bottom:1px solid #e2e2e2;">' +
'<p>郑重提示OpenAuth.Net 6.0新版上线,如以前访问过本站点请清空缓存后访问</p>' +
'<p>喜欢的快快star吧</p></div>',
success: function(layero){
type: 1,
title: "系统公告",
closeBtn: false,
area: '310px',
shade: 0.8,
id: 'LAY_layuipro',
btn: ['火速围观'],
moveType: 1,
content: '<div style="padding:15px 20px; text-align:justify; line-height: 22px; text-indent:2em;border-bottom:1px solid #e2e2e2;">' +
'<p>郑重提示OpenAuth.Net 7.1新版上线,如以前访问过本站点请清空缓存后访问</p>' +
'<p>喜欢的快快star吧</p></div>',
success: function (layero) {
var btn = layero.find('.layui-layer-btn');
btn.css('text-align', 'center');
btn.on("click",function(){
window.sessionStorage.setItem("showNotice","true");
btn.on("click", function () {
window.sessionStorage.setItem("showNotice", "true");
})
if($(window).width() > 432){ //如果页面宽度不足以显示顶部“系统公告”按钮,则不提示
btn.on("click",function(){
if ($(window).width() > 432) { //如果页面宽度不足以显示顶部“系统公告”按钮,则不提示
btn.on("click", function () {
layer.tips('系统公告躲在了这里', '#showNotice', {
tips: 3
});
})
}
}
});
}
});
}
//判断是否处于锁屏状态(如果关闭以后则未关闭浏览器之前不再显示)
if(window.sessionStorage.getItem("lockcms") != "true" && window.sessionStorage.getItem("showNotice") != "true"){
if (window.sessionStorage.getItem("lockcms") != "true" && window.sessionStorage.getItem("showNotice") != "true") {
showNotice();
}
$(".showNotice").on("click",function(){
$(".showNotice").on("click", function () {
showNotice();
})
//刷新后还原打开的窗口
if(window.sessionStorage.getItem("menu") != null){
if (window.sessionStorage.getItem("menu") != null) {
menu = JSON.parse(window.sessionStorage.getItem("menu"));
curmenu = window.sessionStorage.getItem("curmenu");
var openTitle = '';
for(var i=0;i<menu.length;i++){
for (var i = 0; i < menu.length; i++) {
openTitle = '';
if(menu[i].icon){
if(menu[i].icon.split("-")[0] == 'icon'){
openTitle += '<i class="iconfont '+menu[i].icon+'"></i>';
}else{
openTitle += '<i class="layui-icon">'+menu[i].icon+'</i>';
if (menu[i].icon) {
if (menu[i].icon.split("-")[0] == 'icon') {
openTitle += '<i class="iconfont ' + menu[i].icon + '"></i>';
} else {
openTitle += '<i class="layui-icon">' + menu[i].icon + '</i>';
}
}
openTitle += '<cite>'+menu[i].title+'</cite>';
openTitle += '<i class="layui-icon layui-unselect layui-tab-close" data-id="'+menu[i].layId+'">&#x1006;</i>';
element.tabAdd("bodyTab",{
title : openTitle,
content :"<iframe src='"+menu[i].href+"' data-id='"+menu[i].layId+"'></frame>",
id : menu[i].layId
openTitle += '<cite>' + menu[i].title + '</cite>';
openTitle += '<i class="layui-icon layui-unselect layui-tab-close" data-id="' + menu[i].layId + '">&#x1006;</i>';
element.tabAdd("bodyTab", {
title: openTitle,
content: "<iframe src='" + menu[i].href + "' data-id='" + menu[i].layId + "'></frame>",
id: menu[i].layId
})
//定位到刷新前的窗口
if(curmenu != "undefined"){
if(curmenu == '' || curmenu == "null"){ //定位到后台首页
element.tabChange("bodyTab",'');
}else if(JSON.parse(curmenu).title == menu[i].title){ //定位到刷新前的页面
element.tabChange("bodyTab",menu[i].layId);
if (curmenu != "undefined") {
if (curmenu == '' || curmenu == "null") { //定位到后台首页
element.tabChange("bodyTab", '');
} else if (JSON.parse(curmenu).title == menu[i].title) { //定位到刷新前的页面
element.tabChange("bodyTab", menu[i].layId);
}
}else{
element.tabChange("bodyTab",menu[menu.length-1].layId);
} else {
element.tabChange("bodyTab", menu[menu.length - 1].layId);
}
}
//渲染顶部窗口
@ -316,61 +316,61 @@ layui.config({
}
//刷新当前
$(".refresh").on("click",function(){ //此处添加禁止连续点击刷新一是为了降低服务器压力另外一个就是为了防止超快点击造成chrome本身的一些js文件的报错(不过貌似这个问题还是存在,不过概率小了很多)
if($(this).hasClass("refreshThis")){
$(".refresh").on("click", function () { //此处添加禁止连续点击刷新一是为了降低服务器压力另外一个就是为了防止超快点击造成chrome本身的一些js文件的报错(不过貌似这个问题还是存在,不过概率小了很多)
if ($(this).hasClass("refreshThis")) {
$(this).removeClass("refreshThis");
$(".clildFrame .layui-tab-item.layui-show").find("iframe")[0].contentWindow.location.reload(true);
}else{
} else {
layer.msg("您点击的速度超过了服务器的响应速度,还是等两秒再刷新吧!");
setTimeout(function(){
setTimeout(function () {
$(".refresh").addClass("refreshThis");
},2000)
}, 2000)
}
})
//关闭其他
$(".closePageOther").on("click",function(){
if($("#top_tabs li").length>2 && $("#top_tabs li.layui-this cite").text()!="后台首页"){
$(".closePageOther").on("click", function () {
if ($("#top_tabs li").length > 2 && $("#top_tabs li.layui-this cite").text() != "后台首页") {
var menu = JSON.parse(window.sessionStorage.getItem("menu"));
$("#top_tabs li").each(function(){
if($(this).attr("lay-id") != '' && !$(this).hasClass("layui-this")){
element.tabDelete("bodyTab",$(this).attr("lay-id")).init();
$("#top_tabs li").each(function () {
if ($(this).attr("lay-id") != '' && !$(this).hasClass("layui-this")) {
element.tabDelete("bodyTab", $(this).attr("lay-id")).init();
//此处将当前窗口重新获取放入session避免一个个删除来回循环造成的不必要工作量
for(var i=0;i<menu.length;i++){
if($("#top_tabs li.layui-this cite").text() == menu[i].title){
menu.splice(0,menu.length,menu[i]);
window.sessionStorage.setItem("menu",JSON.stringify(menu));
for (var i = 0; i < menu.length; i++) {
if ($("#top_tabs li.layui-this cite").text() == menu[i].title) {
menu.splice(0, menu.length, menu[i]);
window.sessionStorage.setItem("menu", JSON.stringify(menu));
}
}
}
})
}else if($("#top_tabs li.layui-this cite").text()=="后台首页" && $("#top_tabs li").length>1){
$("#top_tabs li").each(function(){
if($(this).attr("lay-id") != '' && !$(this).hasClass("layui-this")){
element.tabDelete("bodyTab",$(this).attr("lay-id")).init();
} else if ($("#top_tabs li.layui-this cite").text() == "后台首页" && $("#top_tabs li").length > 1) {
$("#top_tabs li").each(function () {
if ($(this).attr("lay-id") != '' && !$(this).hasClass("layui-this")) {
element.tabDelete("bodyTab", $(this).attr("lay-id")).init();
window.sessionStorage.removeItem("menu");
menu = [];
window.sessionStorage.removeItem("curmenu");
}
})
}else{
} else {
layer.msg("没有可以关闭的窗口了@_@");
}
//渲染顶部窗口
tab.tabMove();
})
//关闭全部
$(".closePageAll").on("click",function(){
if($("#top_tabs li").length > 1){
$("#top_tabs li").each(function(){
if($(this).attr("lay-id") != ''){
element.tabDelete("bodyTab",$(this).attr("lay-id")).init();
$(".closePageAll").on("click", function () {
if ($("#top_tabs li").length > 1) {
$("#top_tabs li").each(function () {
if ($(this).attr("lay-id") != '') {
element.tabDelete("bodyTab", $(this).attr("lay-id")).init();
window.sessionStorage.removeItem("menu");
menu = [];
window.sessionStorage.removeItem("curmenu");
}
})
}else{
} else {
layer.msg("没有可以关闭的窗口了@_@");
}
//渲染顶部窗口
@ -379,20 +379,20 @@ layui.config({
})
//打开新窗口
function addTab(_this){
function addTab(_this) {
tab.tabAdd(_this);
}
//捐赠弹窗
function donation(){
function donation() {
layer.tab({
area : ['260px', '367px'],
tab : [{
title : "微信",
content : "<div style='padding:30px;overflow:hidden;background:#d2d0d0;'><img src='/images/wechat.jpg'></div>"
},{
title : "支付宝",
content : "<div style='padding:30px;overflow:hidden;background:#d2d0d0;'><img src='/images/alipay.jpg'></div>"
area: ['260px', '367px'],
tab: [{
title: "微信",
content: "<div style='padding:30px;overflow:hidden;background:#d2d0d0;'><img src='/images/wechat.jpg'></div>"
}, {
title: "支付宝",
content: "<div style='padding:30px;overflow:hidden;background:#d2d0d0;'><img src='/images/alipay.jpg'></div>"
}]
})
}

View File

@ -177,7 +177,7 @@ layui.config({
type: 1,
content: $('#divMenuEdit'),
success: function () {
if (data == undefined) {
if (!update) {
form.val("mfromEdit", menuInital);
} else {
form.val("mfromEdit", data);
@ -204,6 +204,7 @@ layui.config({
}
return {
add: function (moduleId) { //弹出添加
menuInital.ModuleId = moduleId;
show(false);
},
update: function (data) { //弹出编辑框

View File

@ -18,7 +18,7 @@ features:
details: 角色授权、代码生成、智能打印、数据权限、拖拽表单、工作流引擎、定时任务。
- title: 主流技术
details: IdentityServer、EF、SqlSugar、Quartz、AutoFac、WebAPI、Swagger、Mock、NUnit、VUE2、VUE3、Element-ui、Element-plus。
footer: Copyright © 2024- yubaolee
footer: Copyright © 2025- yubaolee
---