栏舍管理界面

This commit is contained in:
2025-10-22 18:55:51 +08:00
parent 828c3bbe36
commit dc3f311037
7 changed files with 833 additions and 9 deletions

View File

@@ -15,7 +15,7 @@
:collapse="isCollapse"
:collapse-transition="false"
router
:default-openeds="['/device-management', '/monitor']"
:default-openeds="['/device-management', '/monitor', '/pms']"
>
<el-menu-item index="/">
<el-icon><House /></el-icon>
@@ -38,6 +38,18 @@
</el-menu-item>
</el-sub-menu>
<!-- 猪场管理二级菜单 -->
<el-sub-menu index="/pms">
<template #title>
<el-icon><OfficeBuilding /></el-icon>
<span>猪场管理</span>
</template>
<el-menu-item index="/pms/farm-management">
<el-icon><Tickets /></el-icon>
<template #title>栏舍管理</template>
</el-menu-item>
</el-sub-menu>
<el-menu-item index="/plans">
<el-icon><Calendar /></el-icon>
<template #title>计划管理</template>
@@ -167,14 +179,14 @@ import { ref, computed, onMounted, onUnmounted } from 'vue';
import { useRoute, useRouter } from 'vue-router';
import {
House, Monitor, Calendar, ArrowDown, Menu, Fold, Expand, Setting, Tickets, DataAnalysis, Document, Food,
FirstAidKit, Clock, Files, ShoppingCart, SoldOut, Warning, Switch, List, Shop, Coin, DataLine, Finished, User, ScaleToOriginal
FirstAidKit, Clock, Files, ShoppingCart, SoldOut, Warning, Switch, List, Shop, Coin, DataLine, Finished, User, ScaleToOriginal, OfficeBuilding
} from '@element-plus/icons-vue';
export default {
name: 'MainLayout',
components: {
House, Monitor, Calendar, ArrowDown, Menu, Fold, Expand, Setting, Tickets, DataAnalysis, Document, Food,
FirstAidKit, Clock, Files, ShoppingCart, SoldOut, Warning, Switch, List, Shop, Coin, DataLine, Finished, User, ScaleToOriginal
FirstAidKit, Clock, Files, ShoppingCart, SoldOut, Warning, Switch, List, Shop, Coin, DataLine, Finished, User, ScaleToOriginal, OfficeBuilding
},
setup() {
const route = useRoute();
@@ -199,11 +211,9 @@ export default {
};
const activeMenu = computed(() => {
if (route.path.startsWith('/monitor')) {
return route.path;
}
if (route.path === '/devices' || route.path === '/device-templates') {
return route.path;
const path = route.path;
if (path.startsWith('/monitor') || path.startsWith('/pms') || path.startsWith('/devices') || path.startsWith('/device-templates')) {
return path;
}
return route.path;
});
@@ -213,6 +223,7 @@ export default {
'/': '系统首页',
'/devices': '设备管理',
'/device-templates': '设备模板管理',
'/pms/farm-management': '栏舍管理',
'/plans': '计划管理',
'/monitor/device-command-logs': '设备命令日志',
'/monitor/feed-usage-records': '饲料使用记录',
@@ -338,4 +349,4 @@ export default {
font-size: 14px;
border-top: 1px solid #eee;
}
</style>
</style>