From d5db368a2ff841e58c8e59aa379109eaaf2a1c7f Mon Sep 17 00:00:00 2001 From: yubao Date: Thu, 5 Apr 2018 12:35:05 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=8C=89=E9=92=AE=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DOC/核心设计.EAP | Bin 1249280 -> 1249280 bytes OpenAuth.App/ModuleManagerApp.cs | 5 + .../Controllers/ModuleManagerController.cs | 18 +++ OpenAuth.Mvc/Views/ModuleManager/Index.cshtml | 121 +++++++++--------- OpenAuth.Mvc/userJs/modules.js | 43 +++---- 建表&初始化数据.sql | Bin 281400 -> 283058 bytes 6 files changed, 101 insertions(+), 86 deletions(-) diff --git a/DOC/核心设计.EAP b/DOC/核心设计.EAP index 982288d2a5b41f6fca36e1cb810102bbc9417479..0e50a4aa4a25ae97694dc17a0333dddaacf9141f 100644 GIT binary patch delta 7565 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 delta 5898 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 =>u.Id, model); + UnitWork.Save(); + } } } \ No newline at end of file diff --git a/OpenAuth.Mvc/Controllers/ModuleManagerController.cs b/OpenAuth.Mvc/Controllers/ModuleManagerController.cs index bcd97d2f..642527ae 100644 --- a/OpenAuth.Mvc/Controllers/ModuleManagerController.cs +++ b/OpenAuth.Mvc/Controllers/ModuleManagerController.cs @@ -177,6 +177,24 @@ namespace OpenAuth.Mvc.Controllers return JsonHelper.Instance.Serialize(Result); } + //添加菜单 + [HttpPost] + [ValidateInput(false)] + public string UpdateMenu(ModuleElement model) + { + try + { + App.UpdateMenu(model); + } + catch (Exception ex) + { + Result.Code = 500; + Result.Message = ex.Message; + } + return JsonHelper.Instance.Serialize(Result); + } + + /// /// 删除菜单 /// diff --git a/OpenAuth.Mvc/Views/ModuleManager/Index.cshtml b/OpenAuth.Mvc/Views/ModuleManager/Index.cshtml index 0057b396..9f9f56f7 100644 --- a/OpenAuth.Mvc/Views/ModuleManager/Index.cshtml +++ b/OpenAuth.Mvc/Views/ModuleManager/Index.cshtml @@ -5,68 +5,63 @@ -
-
    - - - - - - - - - - - - - - -
    模块名称层级ID模块标识Url图标父节点名称排序号
    - - - +
    +
    +
      +
    +
    +
    + + + + + + + + + + + + + + +
    模块名称层级ID模块标识Url图标父节点名称排序号
    + + + +
    - - - - - - - - - - - - - -
    名称DomId样式图标排序号
    - - - +
    + + + + + + + + +
    已有菜单
    + + +
    -
    - +
    - +
    -
    diff --git a/OpenAuth.Mvc/userJs/modules.js b/OpenAuth.Mvc/userJs/modules.js index 291e95c5..4d5f0ceb 100644 --- a/OpenAuth.Mvc/userJs/modules.js +++ b/OpenAuth.Mvc/userJs/modules.js @@ -73,7 +73,7 @@ layui.config({ reload: load } }(); - + $("#tree").height($("div.layui-table-view").height()); //添加(编辑)模块对话框 var editDlg = function() { var vm = new Vue({ @@ -163,7 +163,7 @@ layui.config({ show({ Id: "", ModuleId:moduleId, - SortNo: 1 + Sort: 1 }); }, update: function (data) { //弹出编辑框 @@ -182,25 +182,22 @@ layui.config({ } }); - //监听菜单表格内部按钮 - table.on('tool(menulist)', function (obj) { - var data = obj.data; - if (obj.event === 'del') { //删除菜单 - openauth.del("/moduleManager/delMenu", - data.Id,menuList); - } - }); - - //监听页面主按钮操作 var active = { - btnDel: function () { //批量删除 + btnDel: function () { //删除模块 var checkStatus = table.checkStatus('mainList') , data = checkStatus.data; openauth.del("/moduleManager/Delete", data.map(function (e) { return e.Id; }), mainList); } + , btnDelMenu: function () { //删除菜单 + var checkStatus = table.checkStatus('menuList') + , data = checkStatus.data; + openauth.del("/moduleManager/DelMenu", + data.map(function (e) { return e.Id; }), + menuList); + } , btnAdd: function () { //添加模块 editDlg.add(); } @@ -223,22 +220,22 @@ layui.config({ editDlg.update(data[0]); } + , btnEditMenu: function () { //编辑菜单 + var checkStatus = table.checkStatus('menuList') + , data = checkStatus.data; + if (data.length != 1) { + layer.msg("请选择编辑的菜单"); + return; + } + meditDlg.update(data[0]); + } + , search: function () { //搜索 mainList({ key: $('#key').val() }); } , btnRefresh: function() { mainList(); } - , btnAccessModule: function () { - var index = layer.open({ - title: "为用户分配模块", - type: 2, - content: "newsAdd.html", - success: function(layero, index) { - - } - }); - } }; $('.toolList .layui-btn').on('click', function () { diff --git a/建表&初始化数据.sql b/建表&初始化数据.sql index a7c9669812eac2e8a2d14652bfd356fee8acd6c8..6787346cb1853f5b6b372c20d0cfb7cf8e129989 100644 GIT binary patch delta 1606 zcmaJ>TWAwO6rDRs)3{y2wkAPp4WWj%lo--zQ>{^a)G9t}ibbVLQ#BTRekl4OSWvX0 zVDy%bA1YPxNk38tx>bsnf<;9n2!hp8SMc%U6a4T|(Ah+xVx}z2-o5wSbI;Dsp5Bi9 zo0swvJrgU5msF4tsV39Ky_y6`6@tgrJz@h{?bL_^3+V~msTH!Kd$bT&T0;`-5Z|8j z)+#Gv=e7b~m)A#S0QR{{(6=}4!KRjGtSGzJ~$TlkungqO+~hR{2^i0_Z| zN&zhSlG?d%p)FUUa)=q-;KbqlC6+gU~MSZsCHLb_Eu zPZfSGK6nvA`mPC3s^adi*1{EJ3)xBbl2YOqCwry1|J>0T9X_ zVK-dhgc)Y*Wnd8(_#w>heupXShzlGz{KcMy%YE?FNs|kc$2_cP0xZchpE9#5$5K^| zp-R2CWufv$H+TG{!v1yzQ}3MEI_k!{4>qAh$XdrnE2xThbpO?q8*$F z6@H{c<@5uUsnswEwO?-5>HwQwQw9fe)3oXb#S$bjyzps`?hHbZ{+B%yf)f-fGV=9@ zVel)9n}r>05w>8i&14gqCX692u8@dk2%|9T)5L1#f+C8O&7@LbXNi2Agvm^SoJnE~ zLQradvo&wu+vE3|%w5AVda(1Qg5~$4%+UxoW}KtJo<&dq?AtuJXuhIisUVd?c$NNm zJ}An+DRnt`b71-()lZ@jw)_J)8fgGM(m*%XOa2HKGj7om;XzJ)^g6vFJEIwxE}ZD$ zxR8LZC24kRF%8um77*5@rCo@<@1Zs9>`hv%4|Cc!K5?dNy`@+eU5}(#T}*g3PPLDw iq*Z40(EywKlzLboNxgbaKiwk*A2kN3ZVXt~w*3YK)|c}D delta 1206 zcmZ`%-%C?b9RHrP>%6<_nlNQrj%lG~KCCuGrqNbJIo2|rh-9(Kg~kvyHIj&%FZR&G z0|kx|RN77wI8e|+N}x7okv64#ie=>IhI~j&;Rp5B8e}$KwyvFp&-sOQ zSn6esMZl!PQb`=PIyPUG#`-i>M+|jrp=MUo1QB-X+`?AYa(K>I;Qhwd8wZN=VdirZ zZIz6iVhLB9Hi3Z2@b)1lwXSKBh(Apc)hn|VpRqVU|1L!r?jkE0uyhhfiIYtFj}S+P zolW{>ZTov#iFku%re4zan#~pdjTM&e_Un1S?%-19xbjAiQ#XV!86MJH61&|0Vi7s{ zuNL$S@dXo_QfSzY6k7u{i8TsB19*b9w|jbwofl_JHg_dHt4l{k6G@`tvSi74|qaPLK2NeuCC)%9kO*=tN>Rx3@0D`0rK2t4*&oF