From bd0e71d77b116ea4772f9944314f2da7342daaf4 Mon Sep 17 00:00:00 2001 From: huangchenhao <123673748@qq.com> Date: Fri, 3 Apr 2026 16:29:10 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=9D=A2=E5=8C=85=E5=B1=91=E7=BB=84?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../screen/src/component/Breadcrumb/index.vue | 308 ++++++++++++++++++ packages/screen/src/router/index.js | 75 ++++- .../src/views/WarningManagement/index.js | 2 +- packages/screen/src/views/index.vue | 32 +- 4 files changed, 398 insertions(+), 19 deletions(-) create mode 100644 packages/screen/src/component/Breadcrumb/index.vue diff --git a/packages/screen/src/component/Breadcrumb/index.vue b/packages/screen/src/component/Breadcrumb/index.vue new file mode 100644 index 0000000..f98e190 --- /dev/null +++ b/packages/screen/src/component/Breadcrumb/index.vue @@ -0,0 +1,308 @@ + + + + + diff --git a/packages/screen/src/router/index.js b/packages/screen/src/router/index.js index 57fdf27..b8ab921 100644 --- a/packages/screen/src/router/index.js +++ b/packages/screen/src/router/index.js @@ -5,41 +5,65 @@ const routes = [ { path: '/', name: 'Home', - component: () => import('../views/Home.vue') + component: () => import('../views/Home.vue'), + meta: { + title: '首页', + breadcrumb: true + } }, { path: '/cockpit', name: 'Cockpit', meta: { - screen: true + title: '驾驶舱', + screen: true, + breadcrumb: true }, component: () => import('../views/cockpit/index.vue') }, { path: '/yhz', name: 'yhz', - component: () => import('../views/ServiceStationManagePage/index.vue') + component: () => import('../views/ServiceStationManagePage/index.vue'), + meta: { + title: '养护站管理', + breadcrumb: true + } }, { path: '/yhzsb/:data?', name: 'yhzsb', - component: () => import('../views/EquipmentManagement/index.vue') + component: () => import('../views/EquipmentManagement/index.vue'), + meta: { + title: '养护站设备', + breadcrumb: true + } }, { path: '/yhzwz/:data?', name: 'yhzwz', - component: () => import('../views/MaterialManagement/index.vue') + component: () => import('../views/MaterialManagement/index.vue'), + meta: { + title: '养护站物资', + breadcrumb: true + } }, { path: '/yhzevent', name: 'yhzevent', - component: () => import('../views/SnowEventManagement/index.vue') + component: () => import('../views/SnowEventManagement/index.vue'), + meta: { + title: '雪情事件管理', + breadcrumb: true + } }, { path: '/airSkyLand', name: 'airskyland', meta: { - screen: true + title: '空天地一体化', + screen: true, + breadcrumb: true }, component: () => import('../views/airSkyLand/AirSkyLand.vue') @@ -48,8 +72,10 @@ const routes = [ path: '/3DSituationalAwareness', name: '3DSituationalAwareness', meta: { + title: '三维态势感知', screen: true, - skipInitialCameraView: true // 跳过MapViewport的自动初始视图,由页面自己控制相机 + skipInitialCameraView: true, // 跳过MapViewport的自动初始视图,由页面自己控制相机 + breadcrumb: true }, component: () => import('../views/3DSituationalAwarenessRefactor/index.vue') }, @@ -57,7 +83,9 @@ const routes = [ path: '/riskWarning', name: 'RiskWarning', meta: { - screen: true + title: '风险预警', + screen: true, + breadcrumb: true }, component: () => import('../views/RiskWarning/index.vue') }, @@ -65,7 +93,9 @@ const routes = [ path: '/regulationsDivision', name: 'RegulationsDivision', meta: { - screen: true + title: '法规分工', + screen: true, + breadcrumb: true }, component: () => import('../views/RegulationsDivision/RegulationsDivision.vue') }, @@ -73,7 +103,9 @@ const routes = [ path: '/warningCounty', name: 'WarningCounty', meta: { - screen: true + title: '区县预警', + screen: true, + breadcrumb: true }, component: () => import('../views/warningCounty/warningCounty.vue') }, @@ -81,7 +113,9 @@ const routes = [ path: '/constructionDepartment', name: 'ConstructionDepartment', meta: { - screen: true + title: '建设部门', + screen: true, + breadcrumb: true }, component: () => import('../views/ConstructionDepartment/ConstructionDepartment.vue') }, @@ -89,14 +123,23 @@ const routes = [ { path: '/warningManagement', name: 'warningManagement', - component: () => import('../views/WarningManagement/index.vue') + component: () => import('../views/WarningManagement/index.vue'), + meta: { + title: '响应预警', + breadcrumb: true + } }, - // 驻地台账 + // 驻地台账 - 作为独立的页面,但在面包屑中显示为响应预警的子页面 { path: '/ledgerManagement', name: 'ledgerManagement', - component: () => import('../views/LedgerManagement/index.vue') - }, + component: () => import('../views/LedgerManagement/index.vue'), + meta: { + title: '驻地台账', + breadcrumb: true, + parentRoute: 'warningManagement' // 用于在面包屑中建立父子关系 + } + } ] const router = createRouter({ diff --git a/packages/screen/src/views/WarningManagement/index.js b/packages/screen/src/views/WarningManagement/index.js index f1eb997..db57ca7 100644 --- a/packages/screen/src/views/WarningManagement/index.js +++ b/packages/screen/src/views/WarningManagement/index.js @@ -189,7 +189,7 @@ export default () => { const router = useRouter(); const gotoLedgerPage = () => { router.push({ - path: `/ledgerManagement`, + path: '/ledgerManagement' }); }; diff --git a/packages/screen/src/views/index.vue b/packages/screen/src/views/index.vue index 63e6979..d1c08ed 100644 --- a/packages/screen/src/views/index.vue +++ b/packages/screen/src/views/index.vue @@ -12,7 +12,12 @@
- + +
+ +
@@ -20,7 +25,15 @@ \ No newline at end of file