メニュー管理
1. メニュー管理ページ
System Management の Menu Management をクリックして、メニュー管理ページを開きます。このページには、メニュー名、アイコン、閲覧順、権限識別子、コンポーネントパス、状態、作る時刻などのフィールドを含むツリー形式の一覧が閲覧されます。

2. メニュー情報の加える
Add をクリックし、ダイアログでメニュー情報を入力して OK をクリックすると、メニュー情報の加えるが完了します。

3. メニュー情報の編集
編集するメニュー情報を選択し、操作列の Edit をクリックします。ダイアログで既存のメニュー情報を変更し、OK をクリックすると、メニュー情報の編集が完了します。

4. メニュー情報の取り除き
取り除きするメニュー情報を選択し、操作列の Delete をクリックして OK をクリックすると、システムがそのメニュー情報を取り除きします。

5. サブメニュー加える時の親メニュー自動入力
対象の親メニューを選択し、その操作列の Add をクリックします。閲覧された Add ダイアログでは、Parent Menu フィールドに現在のメニューが自動閲覧されます。その他の情報を入力して OK をクリックすると、サブメニューを加えるできます。

6. 展開/折りたたみ
Expand/Collapse ボタンをクリックすると、ツリー一覧の展開状態と折りたたみ状態を切り替えられます。

7. 拡張情報
7.1 シナリオ紹介
プロジェクトの反復デベロップメント中に機能を加えるした場合、システムメニューに対応する入口を加えるする必要があります。
コード部分はリポジトリから直接取得できますが、メニューは SQL スクリプトを手動で実行する必要があります。以下はメニュー SQL の例と説明です。
7.2 スクリプト実行方法
データベースタイプの説明
- MySQL: 以下のスクリプトを直接実行できます。
- DM: 先にメニュー SQL を実行してメインメニューを生成し、生成された ID を手動で確認してから、後続スクリプトの
@parentIdをその ID に置き換えます。
実行順序
- ステップ1:メニュー SQL を実行してメインメニューを挿入します。
- ステップ2:
@parentIdを確認するか、新しく挿入されたメニューの ID を手動で取得します。 - ステップ3:ボタン SQL スクリプトを実行し、対応するボタン権限を挿入します。
注意事項
- 管理者アカウント で実行してください。
- キャッシュがある場合は、実行後にキャッシュをクリアするかサービスを再起動してください。
7.3 サンプルスクリプト
-- 注意:以下は MySQL の書き方です
-- メニュー SQL
insert into system_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('Data Element', '2306', '1', 'dpDataElem', 'dp/dataElem/index', 1, 0, 'C', '0', '0', 'dp:dataElem:dataelem:list', '#', 'admin', sysdate(), '', null, 'Data Element menu');
-- ボタン親メニュー ID。DM は一時的に非対応のため実行しません。
SELECT @parentId := LAST_INSERT_ID();
-- ボタン SQL。順番に実行します。
insert into system_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('Data Element Query', @parentId, '1', '#', '', 1, 0, 'F', '0', '0', 'dp:dataElem:dataelem:query', '#', 'admin', sysdate(), '', null, '');
insert into system_menu values('Data Element Add', @parentId, '2', '#', '', 1, 0, 'F', '0', '0', 'dp:dataElem:dataelem:add', '#', 'admin', sysdate(), '', null, '');
insert into system_menu values('Data Element Edit', @parentId, '3', '#', '', 1, 0, 'F', '0', '0', 'dp:dataElem:dataelem:edit', '#', 'admin', sysdate(), '', null, '');
insert into system_menu values('Data Element Delete', @parentId, '4', '#', '', 1, 0, 'F', '0', '0', 'dp:dataElem:dataelem:remove','#', 'admin', sysdate(), '', null, '');
insert into system_menu values('Data Element Export', @parentId, '5', '#', '', 1, 0, 'F', '0', '0', 'dp:dataElem:dataelem:export','#', 'admin', sysdate(), '', null, '');
insert into system_menu values('Data Element Import', @parentId, '6', '#', '', 1, 0, 'F', '0', '0', 'dp:dataElem:dataelem:import','#', 'admin', sysdate(), '', null, '');7.4 フィールド意味説明
| フィールド名 | 意味 | 例 |
|---|---|---|
| menu_name | メニュー名 / ボタン名 | Data Element / Data Element Add |
| parent_id | 親メニュー ID | 2306(業務モジュールの親メニュー) |
| order_num | メニュー閲覧順番号 | 1 |
| path | ルートパス | dpDataElem |
| component | フロントエンドコンポーネントパス | dp/dataElem/index |
| menu_type | タイプ:M=カタログ、C=メニュー、F=ボタン | C |
| perms | 権限識別子。フロントエンドとバックエンドで一致が必要 | dp:dataElem:dataelem:add |
| icon | メニューアイコン | # |
| create_by | 作る者 | admin |
| create_time | 作る時刻 | sysdate() |
| remark | 備考説明 | Data Element menu |
7.5 設定結果
スクリプト実行後、システムメニューに Data Element モジュールが閲覧され、以下の操作ボタンが含まれます。
- Data Element Query
- Data Element Add
- Data Element Edit
- Data Element Delete
- Data Element Export
- Data Element Import
管理者は Menu Management ページで、メニュー階層、閲覧順、権限割り当てを確認および調整できます。
