From 4fee4e7c0b613f37794528c90be1c230b8780dc7 Mon Sep 17 00:00:00 2001 From: luoyuehang <2830398107@qq.com> Date: Wed, 10 Dec 2025 17:25:03 +0800 Subject: [PATCH] =?UTF-8?q?app1=E5=B7=A5=E5=8D=95=E6=8A=A2=E5=8D=95=20/=20?= =?UTF-8?q?=E6=8B=92=E5=8D=95=20/=20=E6=8F=90=E4=BA=A4=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/zzz/src/stores/auth.js | 14 ++++++++++---- src/main/resources/zzz/src/views/LoginPage.vue | 4 +++- .../resources/zzz/src/views/WorkOrderDetail.vue | 17 ++++++++++++----- .../resources/zzz/src/views/WorkOrderList.vue | 12 +++++++++--- 4 files changed, 34 insertions(+), 13 deletions(-) diff --git a/src/main/resources/zzz/src/stores/auth.js b/src/main/resources/zzz/src/stores/auth.js index fa8910e..74851a6 100644 --- a/src/main/resources/zzz/src/stores/auth.js +++ b/src/main/resources/zzz/src/stores/auth.js @@ -35,11 +35,15 @@ export const useAuthStore = defineStore('auth', () => { return user.value?.userType || localStorage.getItem('userType') }) - // 获取维修人员ID -const getRepairmanId = computed(() => { - return user.value?.userId || localStorage.getItem('userId') // 使用userId而不是repairmanId -}) + // 获取维修人员ID + const getRepairmanId = computed(() => { + return user.value?.userId || localStorage.getItem('userId') // 使用userId而不是repairmanId + }) + // 获取区域ID + const getAreaId = computed(() => { + return user.value?.areaId || localStorage.getItem('areaId') + }) // 登出 const logout = () => { @@ -53,6 +57,7 @@ const getRepairmanId = computed(() => { localStorage.removeItem('repairmanId') localStorage.removeItem('userId') localStorage.removeItem('username') + localStorage.removeItem('areaId') // 移除 areaId // 跳转到登录页 router.push('/') @@ -75,6 +80,7 @@ const getRepairmanId = computed(() => { isAuthenticated, getUserType, getRepairmanId, + getAreaId, // 导出 getAreaId login, logout, getUserInfo, diff --git a/src/main/resources/zzz/src/views/LoginPage.vue b/src/main/resources/zzz/src/views/LoginPage.vue index e39b8a5..114c304 100644 --- a/src/main/resources/zzz/src/views/LoginPage.vue +++ b/src/main/resources/zzz/src/views/LoginPage.vue @@ -42,7 +42,8 @@ const handleLogin = async () => { username: result.data.username, userType: result.data.userType, userId: result.data.userId, - repairmanId: result.data.userId + repairmanId: result.data.userId, + areaId: result.data.areaId }, result.data.token); // 保存到本地存储 @@ -51,6 +52,7 @@ const handleLogin = async () => { localStorage.setItem('username', result.data.username); localStorage.setItem('userType', result.data.userType); localStorage.setItem('repairmanId', result.data.userId); + localStorage.setItem('areaId', result.data.areaId); alert('登录成功!'); router.push('/home'); diff --git a/src/main/resources/zzz/src/views/WorkOrderDetail.vue b/src/main/resources/zzz/src/views/WorkOrderDetail.vue index ec85ac7..8578c47 100644 --- a/src/main/resources/zzz/src/views/WorkOrderDetail.vue +++ b/src/main/resources/zzz/src/views/WorkOrderDetail.vue @@ -481,12 +481,18 @@ const loadOrderDetail = async (orderId) => { currentOrder.value = order } else { // 如果在我的工单中找不到,则尝试从可抢工单中查找 - const availableRes = await workOrderService.getAvailableOrders('A') // 这里应该使用实际区域 - const availableOrder = availableRes.data.find(o => o.orderId === orderId) - if (availableOrder) { - currentOrder.value = availableOrder + // 使用存储的 areaId 而不是默认值 'A' + const areaId = authStore.getAreaId + if (areaId) { + const availableRes = await workOrderService.getAvailableOrders(areaId) + const availableOrder = availableRes.data.find(o => o.orderId === orderId) + if (availableOrder) { + currentOrder.value = availableOrder + } else { + throw new Error('工单不存在') + } } else { - throw new Error('工单不存在') + throw new Error('未找到区域ID,无法获取工单信息') } } } catch (error) { @@ -498,6 +504,7 @@ const loadOrderDetail = async (orderId) => { } } + onMounted(() => { const orderId = route.params.id if (orderId) { diff --git a/src/main/resources/zzz/src/views/WorkOrderList.vue b/src/main/resources/zzz/src/views/WorkOrderList.vue index 8626e75..64513b3 100644 --- a/src/main/resources/zzz/src/views/WorkOrderList.vue +++ b/src/main/resources/zzz/src/views/WorkOrderList.vue @@ -281,9 +281,14 @@ const loadOrders = async () => { ) // 获取可抢工单 - // 注意:这里需要根据维修人员所在区域获取,暂时使用默认值 - const available = await workOrderService.getAvailableOrders('A') - availableOrders.value = available.data || [] + const areaId = authStore.getAreaId // 从认证存储中获取 areaId + if (areaId) { + const available = await workOrderService.getAvailableOrders(areaId) + availableOrders.value = available.data || [] + } else { + console.warn('未找到区域ID,无法获取可抢工单') + availableOrders.value = [] + } } catch (error) { console.error('加载工单失败:', error) alert('加载工单失败: ' + (error.message || '未知错误')) @@ -292,6 +297,7 @@ const loadOrders = async () => { } } + // 初始化时加载数据 onMounted(() => { loadOrders()