# 手动进出场操作页面 — 实现计划 > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. **Goal:** 在停车管理下新增"进出场操作"页面,支持手动输入车牌/RFID 完成车辆进场和出场操作 **Architecture:** 前端新增 Vue 3 组件 `entryExit.vue`,Tab 切换进场/出场模式,复用已有 `vehicle.js` API。后端仅需在 seed.go 新增菜单记录和权限映射。 **Tech Stack:** Vue 3 + Element Plus + Pinia, Go 1.25 + GIN **预估文件变更:** 2 files (1 new + 1 modified) --- ## 文件结构 | 文件 | 操作 | 职责 | |------|------|------| | `frontend/src/view/parking/entryExit.vue` | 新建 | 进出场操作页面:输入查询、车辆详情、进场/出场操作 | | `internal/initialize/seed.go` | 修改 | 新增菜单记录(entryExit, ID=31) + authority_menu 映射 | --- ### Task 1: 新增菜单和权限映射 **Files:** - Modify: `internal/initialize/seed.go` - [ ] **Step 1: 新增菜单记录** 在 `pricing` 菜单之后插入(第 122 行之后): ```go {MenuLevel: 0, ParentId: 20, Path: "entryExit", Name: "entryExit", Hidden: false, Component: "view/parking/entryExit.vue", Sort: 5, Meta: dao.Meta{Title: "进出场操作", Icon: "switch"}}, ``` - [ ] **Step 2: 新增 authority_menu 映射** 在第 173 行之后新增: ```go // 进出场操作 (31) — admin + operator {MenuId: "31", AuthorityId: "618"}, {MenuId: "31", AuthorityId: "888"}, {MenuId: "31", AuthorityId: "9527"}, ``` - [ ] **Step 3: 编译验证** ```bash cd lc_garage && go build -o build/bin/smart-parking.exe . ``` - [ ] **Step 4: 提交** ```bash git add internal/initialize/seed.go git commit -m "feat: 新增进出场操作菜单和权限——MenuId=31, ParentId=20" ``` --- ### Task 2: 创建进出场操作页面 **Files:** - Create: `frontend/src/view/parking/entryExit.vue` - [ ] **Step 1: 完整文件内容(template + script + style)** ```vue ``` - [ ] **Step 2: 提交** ```bash git add frontend/src/view/parking/entryExit.vue git commit -m "feat: 新增手动进出场操作页面——支持车牌/RFID查询进出场" ``` --- ### Task 3: 端到端验证 - [ ] **Step 1: 启动开发模式** ```bash cd lc_garage && wails dev ``` - [ ] **Step 2: 验证菜单显示** 1. 登录(admin / 123456) 2. 侧边栏 → 停车管理 → 确认"进出场操作"菜单出现 3. 点击进入页面,确认 Tab 切换正常 - [ ] **Step 3: 验证进场流程** 1. 输入新车牌号(如"测试001") 2. 点查询 → 确认显示"未找到车辆信息" + 停车场选择 3. 选停车场 → 点"确认进场(临时车)" 4. 确认绿色"入场成功"提示 - [ ] **Step 4: 验证出场流程** 1. 切换到"车辆出场"Tab 2. 输入刚才的车牌号 → 点查询 3. 确认车辆信息卡片显示 4. 点"确认出场并收费" → 确认弹窗 → 确认 5. 确认成功消息显示费用信息 - [ ] **Step 5: 验证边界情况** | 场景 | 预期结果 | |------|---------| | 空输入点查询 | "请至少输入车牌号或RFID标签" | | 未选停车场点确认进场 | "请选择停车场" | | 已出场车辆再次出场 | "车辆未入场或已出场" | | 不在场车辆点出场 | "车辆未入场或已出场" | - [ ] **Step 6: 提交** ```bash git add -A && git commit -m "verify: 手动进出场页面端到端验证通过" ```