diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index b8a55388..636f7a35 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -28,10 +28,96 @@ + +
+ 待办 +
+ + + + +
+
预告警列表
+ +
+
🔔
+
+
{{ item.title }}
+
{{ item.desc }}
+
+
+ + +
+ + +
+ + 预警 + +
+
+ + + + +
+
消息列表
+
+
💬
+
+
{{ item.title }}
+
{{ item.desc }}
+
+
+ +
+ +
+ + 消息 + +
+
+ @@ -154,6 +240,44 @@ export default { currentMenu: {}, openLevel1: [], openLevel2: [], + todoCount: 5, + warningCount: 2, + messageCount: 12, + warningList: [ + { + id: 1, + title: '达标投产复检预警', + desc: '您所管理的今天明天后天工程已超期' + }, + { + id: 2, + title: '达标投产复检预警', + desc: '红红火火恍恍惚惚好工程已超期' + }, + { + id: 3, + title: '达标投产复检预警', + desc: '红红火火恍恍惚惚好新建工程' + } + ], + // 消息列表数据 + messageList: [ + { + id: 1, + title: '系统通知', + desc: '您的账号于2026-01-25 10:00完成登录,请注意账号安全' + }, + { + id: 2, + title: '业务提醒', + desc: '手塘-北三110kV工程已完成验收,可前往查看报告' + }, + { + id: 3, + title: '待办提醒', + desc: '您有5条待办事项未处理,预计截止时间2026-01-30' + } + ] } }, computed: { @@ -175,6 +299,27 @@ export default { this.menuList = this.sidebarRouters.filter((route) => !route.hidden) }, methods: { + goWarningDetail(item) { + this.$refs.warningPopover.doClose(); // 关闭弹窗 + // this.$router.push({ path: '/warning/detail', query: { id: item.id } }); + }, + // 预警触发元素/查看全部点击-跳转到预警列表页 + goWarning() { + this.$refs.warningPopover.doClose(); + // this.$router.push({ path: '/warning/list' }); + }, + // 待办点击-跳转到待办页面 + goTodo() { + this.$router.push({ path: '/todo' }) // 替换为实际的待办页路由 + }, + goMessageDetail(item) { + this.$refs.messagePopover.doClose(); // 关闭消息弹窗 + // this.$router.push({ path: '/message/detail', query: { id: item.id } }); // 跳消息详情 + }, + goMessage() { + this.$refs.messagePopover.doClose(); // 关闭消息弹窗 + // this.$router.push({ path: '/message' }); // 跳消息列表 + }, getUser() { getUserProfile().then((response) => { this.user = response.data @@ -544,4 +689,89 @@ export default { } } } + +.right-menu { + .bar-item { + display: inline-flex; + align-items: center; + color: #fff; + cursor: pointer; + + i { + font-size: 18px; + color: #fff; + } + + .bar-text { + margin-left: 3px; + font-size: 15px; + color: #fff; + font-weight: bold; + } + + .badge { + line-height: 1; + } + } +} + +.warning-popover { + padding: 0; +} + +.warning-box { + width: 100%; + font-size: 14px; +} + +.warning-title { + color: #000000; + font-size: 16px; + font-weight: bold; + padding: 10px 12px; + border-bottom: 1px solid #eee; +} + +.warning-item { + display: flex; + padding: 10px 12px; + cursor: pointer; + transition: all 0.2s; + + &:hover { + background: #f5f7fa; + } +} + +.warning-icon { + margin-right: 8px; +} + +.warning-content { + flex: 1; +} + +.warning-main { + font-weight: 600; + color: #333; +} + +.warning-sub { + font-size: 12px; + color: #999; + margin-top: 4px; +} + +.warning-footer { + text-align: center; + padding: 8px; + color: #409eff; + cursor: pointer; + border-top: 1px solid #eee; + + &:hover { + background: #f5f7fa; + } +} + diff --git a/src/router/index.js b/src/router/index.js index a536091d..d59b55fa 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -79,7 +79,7 @@ export const constantRoutes = [ path: 'index1', component: () => import('@/views/index'), name: 'Index1', - meta: { title: '快捷导航', icon: 'dashboard', affix: true } + meta: { title: '导航', icon: 'dashboard', affix: true } }, ] diff --git a/src/views/iotDevice/config.js b/src/views/iotDevice/config.js index 06ec782a..d9d471e4 100644 --- a/src/views/iotDevice/config.js +++ b/src/views/iotDevice/config.js @@ -16,7 +16,7 @@ export const dialogConfig = { { t_props: 'bindStatus', t_label: '是否解绑' }, { t_props: 'address', t_label: '地址' }, { t_props: 'remark', t_label: '备注' }, - { t_props: 'iotManager', t_label: 'IOT设备负责人' }, + { t_props: 'iotManager', t_label: '定位设备负责人' }, { t_props: 'bindTime', t_label: '绑定时间' }, { t_props: 'unBindTime', t_label: '解绑时间' }, { t_props: 'bindDays', t_label: '绑定天数' }, diff --git a/src/views/iotDevice/index.vue b/src/views/iotDevice/index.vue index 651cb926..4ccacf4f 100644 --- a/src/views/iotDevice/index.vue +++ b/src/views/iotDevice/index.vue @@ -10,7 +10,7 @@ :model="searchParams" class="search-form" > - + - + - + - + + - + - + - + - +