From 3623d5725ee5f305642a9bd98f73c649b449a96c Mon Sep 17 00:00:00 2001 From: yumoqing Date: Thu, 9 Jul 2026 11:17:20 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20add=20tenant=20module=20=E2=80=94=20men?= =?UTF-8?q?u=20entry=20+=20init=20loading?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add tenant wwwroot symlink to pipeline-app - Add '租户管理' to sidebar menu - Load tenant.init in app init --- app/pipeline_app.py | 8 ++++++ wwwroot/index.ui | 61 +++++++++++++++++++++++---------------------- 2 files changed, 39 insertions(+), 30 deletions(-) diff --git a/app/pipeline_app.py b/app/pipeline_app.py index 2ba11a3..71b29c8 100644 --- a/app/pipeline_app.py +++ b/app/pipeline_app.py @@ -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() diff --git a/wwwroot/index.ui b/wwwroot/index.ui index 7425c49..e78fe95 100644 --- a/wwwroot/index.ui +++ b/wwwroot/index.ui @@ -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",