feat: add tenant module — menu entry + init loading

- Add tenant wwwroot symlink to pipeline-app
- Add '租户管理' to sidebar menu
- Load tenant.init in app init
This commit is contained in:
yumoqing 2026-07-09 11:17:20 +08:00
parent 4e560116e9
commit 3623d5725e
2 changed files with 39 additions and 30 deletions

View File

@ -22,11 +22,17 @@ def init():
except ImportError:
def load_pipeline_service(): pass
try:
from pipeline_task.init import load_pipeline_task
except ImportError:
def load_pipeline_task(): pass
try:
from pipeline_sdlc.adapter import load_sdlc_adapter
except ImportError:
def load_sdlc_adapter(): pass
from showcase.init import load_showcase
from tenant.init import load_tenant
from ktv_adapter import load_ktv_adapter
from global_func import set_globalvariable
@ -38,8 +44,10 @@ def init():
load_pipeline_ops()
load_pipeline_dist()
load_pipeline_service()
load_pipeline_task()
load_sdlc_adapter()
load_showcase()
load_tenant()
load_ktv_adapter()

View File

@ -11,11 +11,11 @@
{"widgettype": "Title4", "options": {"text": "产线平台", "color": "#fff"}},
{"widgettype": "Filler"},
{
"widgettype": "urlwidget",
"options": {
"url": "{{entire_url('/rbac/user/user_panel.ui')}}"
}
}
"widgettype": "urlwidget",
"options": {
"url": "{{entire_url('/rbac/user/user_panel.ui')}}"
}
}
]
},
{
@ -23,34 +23,35 @@
"options": {"css": "filler", "padding": "0", "gap": "0"},
"subwidgets": [
{
"widgettype": "VBox",
"options":{
"width": "220px",
"widgettype": "VBox",
"options":{
"width": "220px",
"minWidth": "200px",
"height": "100%",
"bgcolor": "#f8fafc"
},
"subwidgets":[
{
"widgettype": "Menu",
"id": "sidebar_menu",
"options": {
"width": "100%",
"height": "100%",
"target": "app.main_content",
"items": [
{"name": "pipeline_core", "label": "产线管理", "icon": "{{entire_url('/imgs/cubes.svg')}}", "url": "{{entire_url('/pipeline_core/')}}"},
{"name": "pipeline_sdlc", "label": "开发产线", "icon": "{{entire_url('/imgs/workflow.svg')}}", "url": "{{entire_url('/pipeline_sdlc/')}}"},
{"name": "pipeline_ops", "label": "运营管理", "icon": "{{entire_url('/imgs/dashboard.svg')}}", "url": "{{entire_url('/pipeline_ops/')}}"},
{"name": "pipeline_dist", "label": "分销管理", "icon": "{{entire_url('/imgs/truck.svg')}}", "url": "{{entire_url('/pipeline_dist/')}}"},
{"name": "pipeline_task", "label": "任务中心", "icon": "{{entire_url('/imgs/rocket.svg')}}", "url": "{{entire_url('/pipeline_task/')}}"},
{"name": "pipeline_ktv", "label": "KTV产线", "icon": "{{entire_url('/imgs/mic.svg')}}", "url": "{{entire_url('/pipeline_task/task_submit.ui')}}"},
{"name": "showcase", "label": "展示平台", "icon": "{{entire_url('/imgs/user-circle.svg')}}", "url": "{{entire_url('/showcase/')}}"}
]
}
}
]
},
},
"subwidgets":[
{
"widgettype": "Menu",
"id": "sidebar_menu",
"options": {
"width": "100%",
"height": "100%",
"target": "app.main_content",
"items": [
{"name": "pipeline_core", "label": "产线管理", "icon": "{{entire_url('/imgs/cubes.svg')}}", "url": "{{entire_url('/pipeline_core/')}}"},
{"name": "pipeline_sdlc", "label": "开发产线", "icon": "{{entire_url('/imgs/workflow.svg')}}", "url": "{{entire_url('/pipeline_sdlc/')}}"},
{"name": "pipeline_ops", "label": "运营管理", "icon": "{{entire_url('/imgs/dashboard.svg')}}", "url": "{{entire_url('/pipeline_ops/')}}"},
{"name": "pipeline_dist", "label": "分销管理", "icon": "{{entire_url('/imgs/truck.svg')}}", "url": "{{entire_url('/pipeline_dist/')}}"},
{"name": "pipeline_task", "label": "任务中心", "icon": "{{entire_url('/imgs/rocket.svg')}}", "url": "{{entire_url('/pipeline_task/')}}"},
{"name": "pipeline_ktv", "label": "KTV产线", "icon": "{{entire_url('/imgs/mic.svg')}}", "url": "{{entire_url('/pipeline_task/task_submit.ui')}}"},
{"name": "showcase", "label": "展示平台", "icon": "{{entire_url('/imgs/user-circle.svg')}}", "url": "{{entire_url('/showcase/')}}"},
{"name": "tenant", "label": "租户管理", "icon": "{{entire_url('/imgs/globe.svg')}}", "url": "{{entire_url('/tenant/')}}"}
]
}
}
]
},
{
"widgettype": "VScrollPanel",
"id": "main_content",