




已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
Java課程系列項目課程系列之權限系統(tǒng)尚硅谷JavaEE教研組版本:V1.0 第一章 ztree介紹和使用1.1 菜單樹實現(xiàn)原理 1.2 參考zTree-demo1.3 查看框架的源代碼1.3.1 本地文檔1.3.2 聯(lián)網(wǎng)文檔1.4 Demo演示1.4.1 將ztree引入到項目中1.4.2 分析樹結(jié)構引入css和js,拷貝zTree案例代碼,展示出樹結(jié)構。1.4.3 增加容器1.4.4 增加模擬代碼var zNodes = name:父節(jié)點1 - 展開, open:true, children: name:父節(jié)點11 - 折疊, children: name:葉子節(jié)點111, name:葉子節(jié)點112, name:葉子節(jié)點113, name:葉子節(jié)點114 , name:父節(jié)點12 - 折疊, children: name:葉子節(jié)點121, name:葉子節(jié)點122, name:葉子節(jié)點123, name:葉子節(jié)點124 , name:父節(jié)點13 - 沒有子節(jié)點, isParent:true , name:父節(jié)點2 - 折疊, children: name:父節(jié)點21 - 展開, open:true, children: name:葉子節(jié)點211, name:葉子節(jié)點212, name:葉子節(jié)點213, name:葉子節(jié)點214 , name:父節(jié)點22 - 折疊, children: name:葉子節(jié)點221, name:葉子節(jié)點222, name:葉子節(jié)點223, name:葉子節(jié)點224 , name:父節(jié)點23 - 折疊, children: name:葉子節(jié)點231, name:葉子節(jié)點232, name:葉子節(jié)點233, name:葉子節(jié)點234 , name:父節(jié)點3 - 沒有子節(jié)點, isParent:true ; var setting = ; $.fn.zTree.init($(#treeDemo), setting, zNodes);1.4.5 簡單JSONvar setting = data: simpleData: enable: true ; var zNodes = id:1, pId:0, name:pNode 1, open:true, id:11, pId:1, name:pNode 11, id:111, pId:11, name:leaf node 111, id:112, pId:11, name:leaf node 112, id:113, pId:11, name:leaf node 113, id:114, pId:11, name:leaf node 114, id:12, pId:1, name:pNode 12, id:121, pId:12, name:leaf node 121, id:122, pId:12, name:leaf node 122, id:123, pId:12, name:leaf node 123, id:124, pId:12, name:leaf node 124, id:13, pId:1, name:pNode 13 - no child, isParent:true, id:2, pId:0, name:pNode 2, id:21, pId:2, name:pNode 21, open:true, id:211, pId:21, name:leaf node 211, id:212, pId:21, name:leaf node 212, id:213, pId:21, name:leaf node 213, id:214, pId:21, name:leaf node 214, id:22, pId:2, name:pNode 22, id:221, pId:22, name:leaf node 221, id:222, pId:22, name:leaf node 222, id:223, pId:22, name:leaf node 223, id:224, pId:22, name:leaf node 224, id:23, pId:2, name:pNode 23, id:231, pId:23, name:leaf node 231, id:232, pId:23, name:leaf node 232, id:233, pId:23, name:leaf node 233, id:234, pId:23, name:leaf node 234, id:3, pId:0, name:pNode 3 - no child, isParent:true ; $(document).ready(function() $.fn.zTree.init($(#treeDemo), setting, zNodes); ); 第二章 加載菜單樹2.1 加載許可樹2.1.1 準備模擬數(shù)據(jù)2.1.2 加載菜單樹,導入 zTree2.1.3 控制器ResponseBodyGetMapping(/list)public List menusList()List listMenus = systemMenuService.listMenusUnmerge();return listMenus;2.1.4 業(yè)務層Overridepublic List listMenusUnmerge() return menuMapper.selectByExample(null);2.1.5 頁面展示var ztreeObj = null;$(function()/初始化所有菜單initMenus(););function initMenus()/1、ztree配置項var setting = data : simpleData : enable : true,pIdKey: pid /指定哪個為父ID,默認查找名稱為pId屬性,key:url:xxx/指定一個不被識別的屬性,這樣點擊菜單就不會執(zhí)行url跳轉(zhuǎn)了 ;/2、拿到menu的ztree數(shù)據(jù)$.get($appPath/menu/list,function(data)/3、展示節(jié)點ztreeObj = $.fn.zTree.init($(#menuTree), setting, data);/展開所有節(jié)點/var ztreeObj = $.fn.zTree.getZTreeObj(menuTree);ztreeObj.expandAll(true););2.2 增加根菜單data.push(id:0,name:系統(tǒng)菜單);2.3 增加圖標l 注意:設置圖標時,如果字體出現(xiàn)亂碼,需要將css映射引用放置在Bootstrap樣式之前。l 自定義圖標/1、ztree配置項var setting = view: /定制顯示效果addDiyDom: customeIcon,/顯示自定義圖標addHoverDom: addHoverDom, /顯示按鈕removeHoverDom: removeHoverDom /移除按鈕;/自定義圖標function customeIcon(treeId,treeNode)/treeId:整個ztree樹的id,treeNode:當前正在渲染的節(jié)點console.log(treeNode)/1、找到每一個ztree節(jié)點上用來顯示圖標的標簽,刪掉這個標簽的原來的class。加上我們指定的class/2、每一個節(jié)點展示的時候都會調(diào)用/$(#+treeNode.tId+_span).text(111)$(#+treeNode.tId+_ico).removeClass();/.addClass();$(#+treeNode.tId+_span).before()l data.push(id:0,name:系統(tǒng)菜單,icon:glyphicon glyphicon-asterisk);l 相關節(jié)點說明顯示文字的標簽 id=menuTree_4_span顯示圖標的標簽 id=menuTree_4_ico整個子節(jié)點:idmenuTree_4_a 的a標簽tId+_span:就是用來顯示文字的tid+_ico:就是用來顯示圖標的2.4 增加、移除按鈕組2.4.1 增加事件處理view: /定制顯示效果addDiyDom: customeIcon,/顯示自定義圖標addHoverDom: addHoverDom, /顯示按鈕removeHoverDom: removeHoverDom /移除按鈕2.4.2 增加按鈕組function addHoverDom(treeId,treeNode)var aObj = $(# + treeNode.tId + _a); aObj.attr(href, javascript:;);aObj.attr(onclick, return false;);if (treeNode.editNameFlag | $(#btnGroup+treeNode.tId).length0) return;var s = ;if ( treeNode.level = 0 ) s += else if ( treeNode.level = 1 ) s += if (treeNode.children.length = 0) s += s += else if ( treeNode.level = 2 ) s += s += s += ;aObj.after(s);2.4.3 移除按鈕組function removeHoverDom(treeId,treeNode)$(#btnGroup+treeNode.tId).remove();2.5 按鈕組事件綁定給按鈕增加事件綁定function addBtn(id)alert(add:+id);function updateBtn(id)alert(update:+id);function deleteBtn(id)alert(delete:+id);第三章 菜單新增3.1 事件處理function addBtn(id)$(#addFormPid).val(id);$(#AddModal).modal(show:true,backdrop:static,keyboard:false)function saveMenu()var pid = $(#addFormPid).val();var name = $(#addFormName).val();var icon = $(#addFormIcon).val();var url = $(#addFormUrl).val();$.post($PATH/menu/add,pid:pid,name:name,icon:icon,url:url,function(result)if(result=ok)$(#AddModal).modal(hide);initTree(););/* $(#addFormPid).val();$(#addFormName).val();$(#addFormIcon).val();$(#addFormUrl).val(); */$(#addMenuForm)0.reset();3.2 模態(tài)框 × 添加菜單 菜單名稱 菜單圖標 菜單URL 關閉 保存 3.3 后臺代碼處理l ControllerResponseBodyPostMapping(/add)public String addMenu(TMenu menu)systemMenuService.saveMenu(menu);return ok;l Service void saveMenu(TMenu menu);l ServiceImplOverridepublic void saveMenu(TMenu menu) menuMapper.insertSelective(menu);3.4 添加后效果3.5 注意事項l 只有根節(jié)點和分支節(jié)點可以添加l 葉子節(jié)點不能添加第四章 菜單修改4.1 事件處理function updateBtn(id)$.get($PATH/menu/get,id:id,function(result)$(#UpdateModal inputname=id).val(result.id);$(#UpdateModal inputname=name).val();$(#UpdateModal inputname=icon).val(result.icon);$(#UpdateModal inputname=url).val(result.url);$(#UpdateModal).modal(show:true,backdrop:static,keyboard:false);function updateMenu()var id = $(#UpdateModal inputname=id).val();var name = $(#UpdateModal inputname=name).val();var icon = $(#UpdateModal inputname=icon).val();var url = $(#UpdateModal inputname=url).val();$.post($PATH/menu/edit,id:id,name:name,icon:icon,url:url,function(result)if(result=ok)$(#UpdateModal).modal(hide);initTree(););4.2 模態(tài)框 × 修改菜單 菜單名稱 菜單圖標 菜單URL 關閉 修改 4.3 后臺代碼處理l ControllerResponseBodyPostMapping(/edit)public String editMenu(TMenu menu)systemMenuService.editMenu(menu);return ok;ResponseBodyGetMapping(/get)public TMenu getMenu(Integer id)return systemMenuService.getMenuById(id);l Service void editMenu(TMenu menu);TMenu getMenuById(Integer id);l ServiceImplOverridepublic void editMenu(TMenu menu) menuMapper.updat
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆山東省青島市三十九中學高三第一次調(diào)研測試英語試卷含答案
- 變電檢修工復習題(含答案)
- 江蘇省宿遷市沭陽縣2024-2025學年高一下學期期中英語試題(原卷版+解析版)
- 老年人、殘疾人養(yǎng)護服務考核試卷
- 洗浴行業(yè)商業(yè)模式創(chuàng)新趨勢分析與應用考核試卷
- 環(huán)境監(jiān)測儀器在公共安全中的應用考核試卷
- 稀土金屬壓延加工的技術創(chuàng)新驅(qū)動發(fā)展考核試卷
- 眼鏡行業(yè)跨界合作案例考核試卷
- 稀土金屬壓延加工的表面質(zhì)量控制技術考核試卷
- 紡織品的智能生產(chǎn)執(zhí)行系統(tǒng)實施策略考核試卷
- 2025中考(會考)地理綜合題答題模板+簡答題歸納
- 真需求-打開商業(yè)世界的萬能鑰匙
- 手術室不良事件警示教育
- 廠房分布式光伏系統(tǒng)施工進度計劃橫道圖
- 2022版《語文課程標準》
- 貴州省建設工程安全監(jiān)督備案登記表
- 小型雕刻機結(jié)構設計說明書
- 跨越道路和10kV線路跨越架專項施工方案
- 關于沒收建筑物處置的調(diào)研報告
- 萎縮性胃炎的內(nèi)鏡與病理學診斷ppt課件
- 二年級下冊數(shù)學教師家長會PPT.ppt
評論
0/150
提交評論