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()