From ea689dd91eaa72425dc01759042c3b4eb2186512 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期三, 17 六月 2026 10:14:44 +0800
Subject: [PATCH] 新增智能电表、空调管理

---
 h5/pages/index.vue |   88 +++++++++++++++++++++++++++++++++----------
 1 files changed, 67 insertions(+), 21 deletions(-)

diff --git a/h5/pages/index.vue b/h5/pages/index.vue
index 81b4ef6..ba479e2 100644
--- a/h5/pages/index.vue
+++ b/h5/pages/index.vue
@@ -18,16 +18,22 @@
 			<view v-for="item in list2" class="item" @click="itemClick(item)">
 				<image :src="item.img"></image>
 				<view class="name">{{item.name}}</view>
+				<view v-if="item.name == '寰呭姙涓績' && taskNum" class="superscript">{{taskNum}}</view>
 			</view>
 		</view>
-		<view class="loginout" @click="loginOut">閫�鍑虹櫥闄�</view>
+		<view class="footer-actions">
+			<view class="switch-role" @click="switchRole">鍒囨崲瑙掕壊</view>
+			<view class="loginout" @click="loginOut">閫�鍑虹櫥褰�</view>
+		</view>
 	</view>
 </template>
 
 <script>
 	import {
-		logoutPost
+		logoutPost,
+		myNoticesH5
 	} from '@/api'
+	import { switchRole as doSwitchRole, goRoleSelect } from '@/utils/roleSwitch.js'
 	export default {
 		data() {
 			return {
@@ -50,6 +56,12 @@
 						img: require('@/static/home/ic_fangkebaobe@2x.png'),
 						auth: 'weixin:menu:visitcar'
 					},
+					{
+						name: '搴撳瓨鐩樼偣',
+						url: '/pages/inventory/index',
+						img: require('@/static/home/ic_pandian@2x.png'),
+						auth: 'weixin:menu:visitcar'
+					},
 				],
 				list2: [{
 						name: '宸℃浠诲姟',
@@ -63,11 +75,20 @@
 						img: require('@/static/home/ic_wodehuiyi@2x.png'),
 						auth: 'weixin:menu:visitcar'
 					},
-				]
+					{
+						name: '寰呭姙涓績',
+						url: '/pages/workOrder/wait',
+						img: require('@/static/home/ic_daiban@2x.png'),
+						auth: 'weixin:menu:visitcar'
+					},
+				],
+				taskNum: 0
 			}
 		},
-		onLoad() {
-
+		onShow() {
+			myNoticesH5({ page: 1, capacity: 1,model: {status: 0}}).then(res => {
+				this.taskNum = res.data.total
+			})
 		},
 		methods: {
 			itemClick(item) {
@@ -75,16 +96,11 @@
 					url: item.url
 				})
 			},
+			switchRole () {
+				doSwitchRole(logoutPost)
+			},
 			loginOut() {
-				logoutPost().then(res => {
-					this.$store.commit('empty')
-					setTimeout(() => {
-						uni.redirectTo({
-							url: '/pages/login'
-						})
-					}, 300)
-				})
-				// window.location.href= 'https://zhcg.fnwtzx.com/fn_h5'
+				logoutPost().catch(() => {}).finally(() => goRoleSelect())
 			},
 
 		}
@@ -133,7 +149,7 @@
 				flex-direction: column;
 				align-items: center;
 				width: 25%;
-
+				position: relative;
 				image {
 					width: 88rpx;
 					height: 88rpx;
@@ -143,23 +159,53 @@
 				.name {
 					font-size: 26rpx;
 				}
+				.superscript{
+					height: 40rpx;
+					width: 40rpx;
+					position: absolute;
+					top: -16rpx;
+					right: 24rpx;
+					background-color: red;
+					color: #fff;
+					font-size: 24rpx;
+					display: flex;
+					align-items: center;
+					justify-content: center;
+					border-radius: 50%;
+				}
 			}
 		}
 
-		.loginout {
+		.footer-actions {
 			position: fixed;
 			bottom: 88rpx;
-			left: 50%;
-			transform: translate(-50%, 0);
-			width: 152rpx;
+			left: 0;
+			right: 0;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			gap: 24rpx;
+		}
+
+		.switch-role,
+		.loginout {
 			height: 60rpx;
+			padding: 0 32rpx;
 			border-radius: 30rpx;
-			border: 1rpx solid $primaryColor;
-			color: $primaryColor;
 			font-size: 26rpx;
 			display: flex;
 			justify-content: center;
 			align-items: center;
 		}
+
+		.switch-role {
+			border: 1rpx solid $primaryColor;
+			color: $primaryColor;
+		}
+
+		.loginout {
+			border: 1rpx solid #ccc;
+			color: #666;
+		}
 	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3