diff --git a/src/main/resources/zzz/src/services/workOrderService.js b/src/main/resources/zzz/src/services/workOrderService.js index c1419b2..cc7de73 100644 --- a/src/main/resources/zzz/src/services/workOrderService.js +++ b/src/main/resources/zzz/src/services/workOrderService.js @@ -10,5 +10,57 @@ export const workOrderService = { } catch (error) { throw error.response?.data || error.message } + }, + + // 获取可抢工单 + async getAvailableOrders(areaId) { + try { + const response = await api.get(`/api/app/repairman/available-orders?areaId=${areaId}`) + return response.data + } catch (error) { + throw error.response?.data || error.message + } + }, + + // 抢单 + async grabOrder(orderId, repairmanId) { + try { + const response = await api.post('/api/app/repairman/grab-order', { + orderId, + repairmanId + }) + return response.data + } catch (error) { + throw error.response?.data || error.message + } + }, + + // 拒单 + async rejectOrder(orderId, repairmanId, reason) { + try { + const response = await api.post('/api/app/repairman/reject-order', { + orderId, + repairmanId, + reason + }) + return response.data + } catch (error) { + throw error.response?.data || error.message + } + }, + + // 提交维修结果 + async submitRepairResult(orderId, repairmanId, dealNote, imgUrl = null) { + try { + const response = await api.post('/api/app/repairman/submit-result', { + orderId, + repairmanId, + dealNote, + imgUrl + }) + return response.data + } catch (error) { + throw error.response?.data || error.message + } } } 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 5e57f2e..8578c47 100644 --- a/src/main/resources/zzz/src/views/WorkOrderDetail.vue +++ b/src/main/resources/zzz/src/views/WorkOrderDetail.vue @@ -1,3 +1,4 @@ + -