在上一篇博文 Rookey.Frame企業級快速開發框架開源了 中我們介紹了Rookey.Frame極速開發框架的最新更新及開源介紹,后面慢慢介紹該框架的使用方法,本人文筆不好,寫得不夠好的地方請大家見諒。
今天主要給大家介紹菜單功能的使用,一般功能模塊開發完成,首先要做的第一步就是配置菜單,在Rookey.Frame框架中菜單配置支持自定義配置和通用配置。
在介紹之前先說明下,之前有園友擔心Rookey.Frame開源框架會隨着人用的人多會慢慢開始收費或者是賣源碼,我在這里告訴大家,Rookey.Frame開源框架任何時候都不會收費或者賣源碼或賣半成品,一定會將其開源到底,至於更新我會按自己的時間來安排,畢竟我自己也是有工作要做的,如果更新的慢也請大家理解。
好了,廢話完了我們來正式介紹菜單的功能
先看下面的截圖:
通用菜單配置:
上圖中菜單名稱,顯示名稱就不說了,有的可能覺得有個菜單名稱就夠了,為啥還要個顯示名稱,菜單名稱是TitleKey字段,本框架中大部分模塊都有個TitleKey字段,該字段在模塊中是唯一的不允許重復的,但很多時候系統的菜單在界面顯示的時候可能在中間發生改變,老板覺得叫另外的名字比較好,這時開發人員必須就得改,如果沒有菜單顯示字段,遇到重復的菜單名稱就麻煩了,所以才有了顯示菜單這個字段,這個字段可以隨便取,允許重復。
針對通用菜單菜單URL均為空,必須要選定模塊
自定義菜單配置:
自定義模塊,則相反, URL自定義,模塊不需要選
我們看下/Scripts/common/Main.js中如下代碼:
//單擊菜單 function TreeNodeOnClick(node, dom) { var title = node.text; if (!node.children) { //子菜單 if (!node.attribute) return; var url = node.attribute.url; if (url) { //自定義url菜單 if (url.indexOf("?") > -1) url += "&"; else url += "?" url += 'mId=' + node.id; if (node.attribute.obj && node.attribute.obj.isNewWinOpen) { //新窗口中打開 window.open(url); } else { //在框架的標簽頁中打開 AddTab(null, title, url); } } else { //通用模塊菜單 var moduleId = node.attribute.obj.moduleId; var moduleName = node.attribute.obj.moduleName; if (node.attribute.obj && (moduleId || moduleName)) { var gridUrl = "/Page/Grid.html?page=grid"; if (moduleId) { gridUrl += "&moduleId=" + moduleId; } else if (moduleName) { gridUrl += "&moduleName=" + moduleName; } gridUrl += "&r=" + Math.random(); AddTab(null, title, gridUrl); } } } else { //文件夾菜單 $(dom).tree('toggle', node.target); } }
通用上面代碼我們可以看出菜單沒有自定義URL時系統會自動轉向 /Page/Grid.html
另外針對文件夾菜單需要注意的是葉子節點不能勾選,模塊不選,URL為空,如果是頂級菜單,則上級菜單置空。
文件夾菜單:
頂級菜單:
好了今天菜單的功能就先介紹到此地,祝大家生活愉快!