From 4741170b1db77532fd24e73ee6e15312af556216 Mon Sep 17 00:00:00 2001 From: bb_pan Date: Thu, 29 Jan 2026 17:30:42 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/images/menu-1.png | Bin 0 -> 467 bytes src/assets/images/menu-2.png | Bin 0 -> 380 bytes src/assets/images/tishi.png | Bin 0 -> 1951 bytes src/assets/images/yujing.png | Bin 0 -> 1791 bytes src/layout/components/Navbar.vue | 372 ++++++++++++++++++------------- vue.config.js | 2 +- 6 files changed, 220 insertions(+), 154 deletions(-) create mode 100644 src/assets/images/menu-1.png create mode 100644 src/assets/images/menu-2.png create mode 100644 src/assets/images/tishi.png create mode 100644 src/assets/images/yujing.png diff --git a/src/assets/images/menu-1.png b/src/assets/images/menu-1.png new file mode 100644 index 0000000000000000000000000000000000000000..251a6c6254418bad0ea83b251383f397003ff6d0 GIT binary patch literal 467 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(-uuz(rC1}QWNE&K#jX6xzV7-AvV zI(e@bv!h6>?DoxENs>%LZ{B?2JaSItqvaYF@7p1oOqC6LoLRJkvz3KZdV3cw5ed1V z)VSm4IScV=scCx(zMZjs{_gJ2=8V|5!2e>K4yS>$#?GoF$W;we!UjpFPWcXQwqubKZR-YZ?(H z_ON=(?vA`m4&FQbd_GI=Ww`x7G06B!tkXe;eT$$9^rx{)9d3db|#Ei#)81+z49*sjlUHx3vIVCg!02xPv A;s5{u literal 0 HcmV?d00001 diff --git a/src/assets/images/tishi.png b/src/assets/images/tishi.png new file mode 100644 index 0000000000000000000000000000000000000000..76e16419082e3bd693ad49f40c094af55bc4ec38 GIT binary patch literal 1951 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 h_(M3 --> -
- 提醒 +
+ 提醒
-
- 提醒 +
+ 提醒
@@ -80,17 +74,14 @@ @click="goWarningDetail(item)" >
- 提醒 + 提醒
-
{{ item.title }}
+
退役预警
- +
- {{ item.desc }} + {{ item.name ? item.name + '-' : '' }}{{ item.status }}
@@ -125,16 +116,13 @@ @click="goMessageDetail(item)" >
- 提醒 + 提醒
-
{{ item.title }}
- +
{{ item.businessName }}-{{ item.statusType }}
+
- {{ item.desc }} + {{ item.deptAbbreviation ? item.deptAbbreviation + '-' : '' }}{{ item.applyUser }}-{{ item.applyTime }}
@@ -188,53 +176,93 @@
- + 手机号 138****8251
- + 修改密码
- + 设置默认首页
- + 操作手册下载
- + 一键换肤
- + 清除缓存
- + 测试网络速度
- + 意见反馈/闭环
- + 联系我们
- + 退出
@@ -260,7 +288,7 @@ - +
-
我的收藏
-
编辑
-
确定
+
我的收藏
+
编辑
+
确定
收藏菜单
-
-
-
{{ item.menuName }}
-
取消
+
+
+
+ {{ item.menuName }} +
+
取消
-
+
- -
暂无数据
+ +
暂无数据
@@ -409,7 +475,9 @@ import { mapGetters } from 'vuex' import Search from '@/components/HeaderSearch' import { getUserProfile } from '@/api/system/user' -import { addMenuCollect,deleteMenuCollect,getMenuCollectListApi } from '@/api/system/menu' +import { addMenuCollect, deleteMenuCollect, getMenuCollectListApi } from '@/api/system/menu' +import { getReal } from '@/api/basic/home' +import { getRetireListAPI } from '@/api/EquipmentRetire/index.js' export default { components: { Search }, @@ -425,50 +493,18 @@ export default { openLevel1: [], openLevel2: [], todoCount: 5, - warningCount: 2, - messageCount: 12, - warningList: [ - { - id: 1, - title: '达标投产复检预警', - desc: '您所管理的今天明天后天工程已超期', - }, - { - id: 2, - title: '达标投产复检预警', - desc: '红红火火恍恍惚惚好工程已超期', - }, - { - id: 3, - title: '达标投产复检预警', - desc: '红红火火恍恍惚惚好新建工程', - }, - ], + warningCount: 0, + messageCount: 0, + warningList: [], // 消息列表数据 - messageList: [ - { - id: 1, - title: '系统通知', - desc: '您的账号于2026-01-25 10:00完成登录,请注意账号安全', - }, - { - id: 2, - title: '业务提醒', - desc: '手塘-北三110kV工程已完成验收,可前往查看报告', - }, - { - id: 3, - title: '待办提醒', - desc: '您有5条待办事项未处理,预计截止时间2026-01-30', - }, - ], + messageList: [], contactDialogVisible: false, // 控制联系我们弹窗显示 contactPhone: '田经理15212781264,刘经理19855530627', // 联系电话 - drawerShow:false, - isEdit:false, - isHover:-1, - isHover2:-1, - zhinengList:[],//{name:"入库申请",url:'/all/stockManagement/entryApply'},{name:"出库申请",url:'/all/business/outbound/addApply'} + drawerShow: false, + isEdit: false, + isHover: -1, + isHover2: -1, + zhinengList: [], //{name:"入库申请",url:'/all/stockManagement/entryApply'},{name:"出库申请",url:'/all/business/outbound/addApply'} // xiangmuList:[], } }, @@ -484,15 +520,34 @@ export default { value: val, }) }, - } + }, }, created() { this.getUser() this.menuList = this.sidebarRouters.filter((route) => !route.hidden && route.path !== '/') this.menuList = this.menuList.slice(1) - console.log('🚀 ~ this.menuList:', this.menuList) + this.getEventList() + this.getRetireList() }, methods: { + async getEventList() { + try { + const res = await getReal() + this.messageList = res.data || [] + this.messageCount = res.data.length || 0 + } catch (error) { + console.log('🚀 ~ error:', error) + } + }, + async getRetireList() { + const params = { + pageNum: 1, + pageSize: 100, + } + const res = await getRetireListAPI(params) + this.warningList = res.data.rows || [] + this.warningCount = res.data.rows.length || 0 + }, goHome() { this.$router.push({ path: '/' }) }, @@ -509,12 +564,12 @@ export default { goTodo() { // this.$router.push({ path: '/todo' }) // 替换为实际的待办页路由 }, - async getMenuCollectList(){ + async getMenuCollectList() { try { const res = await getMenuCollectListApi() - if(res.code==200){ - this.zhinengList = res.data; - }else{ + if (res.code == 200) { + this.zhinengList = res.data + } else { this.zhinengList = [] } console.log(res) @@ -522,27 +577,27 @@ export default { console.error(error) } }, - goCollection(){ + goCollection() { this.getMenuCollectList() - this.isEdit=false - this.drawerShow=true + this.isEdit = false + this.drawerShow = true }, - gotoPage(item){ - this.drawerShow=false - this.isEdit=false - this.$router.replace({ path: '/'+item.fullRoutePath }) + gotoPage(item) { + this.drawerShow = false + this.isEdit = false + this.$router.replace({ path: '/' + item.fullRoutePath }) }, - async delCollect(item){ + async delCollect(item) { let param = { - menuId:item.menuId + menuId: item.menuId, } const res = await deleteMenuCollect(param) - this.changCollection(this.menuList,item.menuId,0) + this.changCollection(this.menuList, item.menuId, 0) this.getMenuCollectList() }, - closeDrawer(){ - this.isEdit=false; - this.drawerShow=false + closeDrawer() { + this.isEdit = false + this.drawerShow = false }, goMessageDetail(item) { this.$refs.messagePopover.doClose() // 关闭消息弹窗 @@ -661,45 +716,45 @@ export default { this.showMenuBox = false }, async handleCollection(route) { - console.log("route2",route) - if(route.isCollect==0){ + console.log('route2', route) + if (route.isCollect == 0) { try { let param = { - menuId:route.id + menuId: route.id, } const res = await addMenuCollect(param) if (res.code === 200) { this.$message.success('菜单收藏成功') - this.$nextTick(()=>{ - this.changCollection(this.menuList,route.id,1) + this.$nextTick(() => { + this.changCollection(this.menuList, route.id, 1) }) this.$forceUpdate() this.showMenuBox = false } else { this.$message.error(res.msg || '菜单收藏失败') - this.changCollection(this.menuList,route.id,0) + this.changCollection(this.menuList, route.id, 0) } } catch (error) { this.$message.error('菜单收藏失败:' + (error.message || '未知错误')) console.error(error) } - }else if(route.isCollect==1){ + } else if (route.isCollect == 1) { try { let param = { - menuId:route.id + menuId: route.id, } const res = await deleteMenuCollect(param) if (res.code === 200) { this.$message.success('取消收藏成功') - this.changCollection(this.menuList,route.id,0) - this.$nextTick(()=>{ - this.changCollection(this.menuList,route.id,0) + this.changCollection(this.menuList, route.id, 0) + this.$nextTick(() => { + this.changCollection(this.menuList, route.id, 0) }) this.$forceUpdate() this.showMenuBox = false } else { this.$message.error(res.msg || '取消收藏失败') - this.changCollection(this.menuList,route.id,1) + this.changCollection(this.menuList, route.id, 1) } } catch (error) { this.$message.error('取消收藏失败:' + (error.message || '未知错误')) @@ -707,20 +762,20 @@ export default { } } }, - changCollection(array,targetId,status){ + changCollection(array, targetId, status) { for (let obj of array) { - if (obj.id === targetId) { - this.$set(obj,"isCollect",status) - obj.isCollect=status; - } - // 如果当前对象有子数组,递归搜索 - if (obj.children && Array.isArray(obj.children)) { - this.changCollection(obj.children, targetId, status); - } + if (obj.id === targetId) { + this.$set(obj, 'isCollect', status) + obj.isCollect = status + } + // 如果当前对象有子数组,递归搜索 + if (obj.children && Array.isArray(obj.children)) { + this.changCollection(obj.children, targetId, status) + } } }, goRoute(route) { - console.log("route",route) + console.log('route', route) if (route.fullPath) { this.$router.push({ path: route.fullPath, query: route.query }) this.showMenuBox = false @@ -741,31 +796,41 @@ export default {