云
4 天以前 c719ace1983a32b8cfb7753b60e8116867486394
docs(mobile): 添加移动端设计方案文档

- 定义移动端定位为面向生产操作员、仓库作业员和现场班组负责人的现场作业界面
- 设计480×800视口的布局规范,包括工作台、作业、记录、我的四个底部导航入口
- 规划核心作业流程如扫码入库、袋码绑定托盘、托盘绑定批次的操作流程
- 制定菜单与按钮权限映射方案,确保移动端功能与现有权限体系一致
- 设计弱网环境下的数据一致性和幂等处理机制
- 建立实施顺序分为三个阶段:验证扫码闭环、覆盖仓储生产任务、扩展协同比
- 定义UI/UX视觉系统包括配色方案、字体规格和组件反馈规范
- 制定原型评审与验收矩阵确保多场景下的用户体验一致性
已添加1个文件
431 ■■■■■ 文件已修改
docs/移动端设计方案.md 431 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/ÒÆ¶¯¶ËÉè¼Æ·½°¸.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,431 @@
# MOM ç§»åŠ¨ç«¯è®¾è®¡æ–¹æ¡ˆ
版本:优化稿 V3(ui-ux-pro-max),2026-10-09。用途:功能与交互评审,尚未实施。
本版保留浏览器访问、480 Ã— 800 è§†å£ã€ç™»å½•时选择移动端 / PC ç«¯ä»¥åŠæ•°æ®åº“权限映射。设计方向为清晰、紧凑的现场作业界面:一页围绕一个主要任务,始终显示作业对象与位置,操作结果可以回看。第 11~12 èŠ‚ä¸ºæœ¬æ¬¡è¡¥å……çš„è§†è§‰ç³»ç»Ÿã€é¡µé¢è§„æ ¼å’Œè¯„å®¡æ ‡å‡†ã€‚
## 1. å®šä½ä¸Žè¾¹ç•Œ
面向生产操作员、仓库作业员和现场班组负责人,通过浏览器访问,以 480 Ã— 800 è§†å£ä¼˜å…ˆè®¾è®¡ã€‚核心目标是让员工在现场完成扫码、绑定、入库、拣货和任务处理,减少返回电脑录入的次数。
前端基于 `mom-pro2-before` çš„业务和接口组织设计。建议沿用 Vue 3、TypeScript、Vite çš„æŠ€æœ¯ä½“系,新增独立移动入口和页面,复用认证、接口类型、字典与业务规则。移动端采用任务列表和步骤表单,不直接缩小现有桌面表格。
外部消费者扫码溯源页与员工移动端是两种不同场景:员工端需要登录并按岗位授权;公众扫码继续进入现有公开溯源页。
## 2. æ•°æ®åº“核查结果
2026-10-09 é¦–轮方案核查读取了当前 `local` é…ç½®å¯¹åº”数据库的 `system_menu`、`system_role`、`system_role_menu`,未修改数据。菜单及按钮权限共 1157 æ¡ï¼›ä»¥ä¸‹èœå•均为未删除、启用状态。
`visible=true` è¡¨ç¤ºèœå•自身可见,不代表某个员工已获授权。必须同时考虑父级显示配置、用户角色、租户菜单范围和后端数据权限。以下为移动端建议纳入的功能,不是当前用户可见菜单的断言。
| ç§»åŠ¨ç«¯åŠŸèƒ½åç§° | æ•°æ®åº“菜单名称 / ID | çŽ°æœ‰å‰ç«¯ç»„ä»¶ | å»ºè®®é˜¶æ®µ |
|---|---|---|---|
| æ‰«ç å…¥åº“ | ç”Ÿäº§çº¿æ‰«ç å…¥åº“ / 602650 | `mes/pro/scan-in/index` | é¦–期核心 |
| è¢‹ç æŸ¥è¯¢ä¸Žç»‘定 | èµ‹ç ç®¡ç† / 602618 | `mes/pro/bagCode/index` | é¦–期核心 |
| æ‰˜ç›˜æŸ¥è¯¢ä¸Žç»‘定 | æ‰˜ç›˜ç ç®¡ç† / 602624 | `mes/pro/pallet/index` | é¦–期核心 |
| æ‰¹æ¬¡æŸ¥è¯¢ | æ‰¹æ¬¡ç”Ÿäº§ç®¡ç† / 602612 | `mes/pro/batch/index` | é¦–期查询 |
| åº“存查询 | åº“存现有量 / 5786 | `wls/materialstock/index` | é¦–期查询 |
| å…¥åº“任务 | äº§å“å…¥åº“ / 5819 | `wls/productreceipt/index` | ç¬¬äºŒé˜¶æ®µ |
| å‡ºåº“任务 | é”€å”®å‡ºåº“ / 5970 | `wls/productsales/index` | ç¬¬äºŒé˜¶æ®µ |
| å‘货任务 | å‘货通知 / 5867 | `wls/salesnotice/index` | ç¬¬äºŒé˜¶æ®µ |
| ç›˜ç‚¹ä»»åŠ¡ | ç›˜ç‚¹ä»»åŠ¡ / 5957 | `wls/stocktaking/task/index` | ç¬¬äºŒé˜¶æ®µ |
| åº“存流水 | åº“存事务流水 / 602476 | `wls/transaction/index` | é¦–期简版查询 |
| ç”Ÿäº§æŠ¥å·¥ | ç”Ÿäº§æŠ¥å·¥ / 5550 | `mes/pro/feedback/index` | ç¬¬äºŒé˜¶æ®µï¼Œéœ€ç¡®è®¤å¼€æ”¾èŒƒå›´ |
| ç§å­è´¨æ£€ | ç§å­è´¨æ£€ / 1065217 | `mes/qc/seedQuality/index` | ç¬¬ä¸‰é˜¶æ®µ |
| æ‰¹æ¬¡è¿½æº¯ | æ‰¹æ¬¡è¿½æº¯ / 5966 | `mes/qc/batchtrace/index` | é¦–期简版查询 |
| å¾…办审批 | å¾…办任务 / 1207 | `bpm/task/todo/index` | ç¬¬ä¸‰é˜¶æ®µï¼Œéœ€ç¡®è®¤å¼€æ”¾èŒƒå›´ |
需要特别处理的配置:
- â€œä¸€è¢‹ä¸€ç ç®¡ç†â€â€œä»“储物流”“出库流通管理”“质量管理”根目录当前可见。
- â€œç”Ÿäº§ç®¡æŽ§â€â€œååŒåŠžå…¬â€æ ¹ç›®å½•å½“å‰éšè—ï¼›å…¶ä¸‹éƒ¨åˆ†é¡µé¢å¯è§ï¼Œä½†ä¸èƒ½æ®æ­¤ç›´æŽ¥å¼€æ”¾ç§»åŠ¨å…¥å£ã€‚
- â€œç”Ÿäº§é¢†æ–™â€â€œç”Ÿäº§é€€æ–™â€â€œå®‰ç¯å‘¼å«â€â€œå¾…检任务”等菜单当前隐藏,先不作为默认入口。
- æŸ¥è¯¢åˆ°çš„角色以超级管理员、普通角色、CRM ç®¡ç†å‘˜ã€ç§Ÿæˆ·ç®¡ç†å‘˜ç­‰ä¸ºä¸»ï¼›æœ¬æ¬¡æ²¡æœ‰å‘现明确命名的生产操作员、仓库作业员角色。下文岗位划分是建议,实施前需要配置或映射现有角色,并核对关联用户。
## 3. å¯¼èˆªã€å²—位与工作台
底部设置 **工作台、作业、记录、我的** å››ä¸ªå…¥å£ã€‚只有这四个一级页面保留底部导航;扫码、详情、绑定和确认页面使用返回按钮及业务操作栏,避免底部导航与提交按钮竞争空间。
“开始扫码”必须带当前用途,例如“扫码入库”或“扫码查询”。识别二维码不等于允许写入,不能通过一个未注明用途的扫码按钮直接入库。
### å·¥ä½œå°ï¼šé¦–屏让员工知道在哪里、做什么
480 Ã— 800 è§†å£çš„内容顺序:
1. é¡¶æ ï¼šé¡µé¢æ ‡é¢˜ã€ç”¨æˆ·å…¥å£ã€‚
2. ä½œä¸šä¸Šä¸‹æ–‡ï¼šå½“前岗位、产线、库区 / åº“位,可点击切换。
3. å¤§æŒ‰é’®â€œæ‰«ç å…¥åº“”,下方提供“扫码查询”次要入口。无入库权限时,查询成为主操作。
4. å››ä¸ªå¸¸ç”¨å…¥å£ï¼Œé‡‡ç”¨ä¸¤åˆ—布局,图标配短标签。
5. å¾…处理任务最多三条;首期尚未接入任务时展示最近作业,不能展示虚构数量。
6. åº•部导航。
用户第一次使用先设置有权限的作业位置;以后记住上次选择,并在每次写操作确认页再次展示目标位置。用户有多岗位权限时,切换的是首页布局和任务视图,不能扩大后端权限。
### å²—位默认入口
| å²—位视图(建议配置) | é¦–期常用入口 | åŽç»­å…¥å£ |
|---|---|---|
| ç”Ÿäº§æ“ä½œå‘˜ | æ‰«ç å…¥åº“、袋码绑定、托盘绑定、批次查询 | æˆ‘的生产任务、生产报工 |
| ä»“库作业员 | æ‰«ç å…¥åº“、库存查询、托盘查询、作业记录 | å…¥åº“任务、出库拣货、盘点任务 |
| ç­ç»„负责人 | æ‰¹æ¬¡æŸ¥è¯¢ã€ä½œä¸šè®°å½•、库存查询、扫码查询 | ç­ç»„任务、异常处理、进度概览 |
负责人概览和班组记录需要对应数据权限或新增聚合接口;不能仅凭岗位名称推定已经具备。
### ç»Ÿä¸€ç™»å½•页:选择移动端或 PC ç«¯
同一个登录页提供“移动端 / PC ç«¯â€ä¸¤é¡¹é€‰æ‹©ï¼Œæ”¾åœ¨è´¦å·è¾“入区域上方。480 Ã— 800 è§†å£ä¸‹é€‰æ‹©å™¨ã€è´¦å·ã€å¯†ç ã€éªŒè¯ç å’Œç™»å½•按钮使用单列布局;桌面端保持现有登录页的视觉结构。
首次进入登录页,建议按 CSS è§†å£å®½åº¦åˆå§‹åŒ–:小于 768px é»˜è®¤ç§»åŠ¨ç«¯ï¼Œå¤§äºŽç­‰äºŽ 768px é»˜è®¤ PC ç«¯ã€‚该值是设计建议,应通过目标设备验证;用户始终可以手动切换。480px å®½åº¦é»˜è®¤é€‰æ‹©ç§»åŠ¨ç«¯ã€‚
规则如下:
1. è‡ªåŠ¨åˆ¤æ–­åªåˆå§‹åŒ–é€‰æ‹©ï¼Œä¸é™åˆ¶ç”¨æˆ·é€‰æ‹©ï¼Œå±å¹•è¾ƒå°ä¹Ÿå…è®¸é€‰æ‹© PC ç«¯ã€‚
2. ç”¨æˆ·æ‰‹åŠ¨é€‰æ‹©åŽï¼Œçª—å£ç¼©æ”¾ã€æ—‹è½¬å’Œè½¯é”®ç›˜å‡ºçŽ°å‡ä¸å¾—è¦†ç›–é€‰æ‹©ã€‚
3. ç™»å½•失败、验证码重试时保留当前选择;本次会话刷新后继续使用已选择的端。
4. ç™»å½•后不因屏幕宽度变化切换页面和菜单;端类型作为本次会话的界面设置。
5. é€€å‡ºåŽé‡æ–°è¿›å…¥ç™»å½•页,重新按当前视口给出默认选择。登录页的端选择不改变账号所属角色和权限。
登录流程:选择端 â†’ è¾“入账号 / å¯†ç  â†’ è®¤è¯åŠéªŒè¯ç  â†’ èŽ·å–ç”¨æˆ·æŽˆæƒ â†’ åŠ è½½è¯¥ç«¯èœå•ä¸Žè·¯ç”± â†’ è¿›å…¥å¯¹åº”首页。
- PC ç«¯ï¼šè¿›å…¥çŽ°æœ‰æ¡Œé¢é¦–é¡µï¼Œå±•ç¤ºå½“å‰è´¦å·å·²æŽˆæƒçš„ PC èœå•。
- ç§»åŠ¨ç«¯ï¼šè¿›å…¥ç§»åŠ¨å·¥ä½œå°ï¼Œå±•ç¤ºå½“å‰è´¦å·å·²æŽˆæƒä¸”å·²ç»é€‚é…ç§»åŠ¨é¡µé¢çš„èœå•ã€‚
- æ— æ‰€é€‰ç«¯åŠŸèƒ½æƒé™ï¼šæ˜¾ç¤ºâ€œå½“å‰è´¦å·æš‚æ— è¯¥ç«¯å¯ç”¨åŠŸèƒ½â€ï¼Œæä¾›åˆ‡æ¢å¦ä¸€ç«¯æˆ–é€€å‡ºå…¥å£ï¼Œä¸é™é»˜æ”¹é€‰ï¼Œä¹Ÿä¸èµ‹äºˆé¢å¤–æƒé™ã€‚
- ç™»å½•前存在目标地址时,仅在其属于所选端且有权限时恢复;否则进入所选端默认首页。
“我的 / ä¸ªäººè®¾ç½®â€å¯æä¾›â€œåˆ‡æ¢è‡³ PC ç«¯ / ç§»åŠ¨ç«¯â€ã€‚åˆ‡æ¢å‰å¤„ç†æœªæäº¤ä½œä¸šï¼Œåˆ‡æ¢æ—¶æ¸…ç†åŽŸç«¯åŠ¨æ€è·¯ç”±ã€èœå•åŠç›¸å…³é¡µé¢çŠ¶æ€ï¼Œå†åŠ è½½ç›®æ ‡ç«¯æƒé™è§†å›¾ã€‚æ˜¯å¦å…è®¸ä¸é‡æ–°ç™»å½•åˆ‡æ¢ï¼Œå®žæ–½æ—¶æŒ‰çŽ°æœ‰ä¼šè¯æœºåˆ¶éªŒè¯ã€‚
### ä½œä¸šã€è®°å½•、我的
- **作业:**“扫码作业、查询工具、任务处理”三个分组,最多两层导航。未接入功能不展示可点击入口。
- **记录:**本人今日记录为默认;日期、状态筛选放在顶部或底部抽屉。每条显示操作、对象码值、结果、时间。列表状态与详情状态一致。
- **我的:**账号、已授权岗位、作业位置、扫码方式、帮助、退出。单租户账号不展示无效的租户切换入口。
- æŸ¥è¯¢åˆ—表返回后恢复原有筛选、分页与滚动位置;浏览器返回键与页面返回行为保持一致。
## 4. æ ¸å¿ƒä½œä¸šï¼šæ˜Žç¡®é‡‡é›†ã€æ ¡éªŒã€æäº¤ä¸‰ä¸ªé˜¶æ®µ
### æ‰«ç å…¥åº“
作业模式 / ä½ç½®è®¾ç½® â†’ æ‰«ç é‡‡é›† â†’ æŸ¥è¯¢å¹¶æ ¡éªŒå¯¹è±¡ â†’ å…¥åº“确认 â†’ æœåŠ¡ç«¯å¤„ç† â†’ æˆåŠŸç»“æžœæˆ–å¯æ¢å¤é”™è¯¯ã€‚
**扫码采集页:**顶部持续显示“扫码入库”和目标库区 / åº“位;中间显示取景区;下方显示提示与最近识别结果;底部提供“手动输入”。识别成功后暂停识别,进入确认页,避免同一码被反复处理。
**确认页:**突出品种、完整码值、码类型、入库数量、目标位置;批次、产线等补充信息放在下方。主要按钮写“确认入库”,取消返回采集页。数量是否可编辑及单位换算,以后端规则为准,不对袋码、托盘码、批次码统一假设数量为 1。
**成功页:**显示具体对象、入库位置和时间,主按钮“继续扫码”,次要入口“查看记录”。不能只显示短暂提示后立即覆盖结果。
现有 `/mes/pro/scan-in/inbound` æ”¯æŒ `BAG`、`PALLET`、`BATCH`,包含 `eventId`、产线、数量、库区和库位参数。复用前需核对自动识别接口、数量语义、入库对象有效性和服务端幂等。
第一版采用单次扫码确认。连续扫码作业作为后续能力:锁定上下文、逐项校验、结果可追溯,失败停止并处理,不能因短时间无重复就假定业务安全。
### è¢‹ç ç»‘定托盘
扫描目标托盘 â†’ æ ¸å¯¹æ‰˜ç›˜ / æ‰¹æ¬¡ â†’ é€è¢‹é‡‡é›† â†’ æŸ¥çœ‹å¾…绑定清单 â†’ æäº¤ â†’ æŸ¥çœ‹é€æ¡ç»“果。
目标托盘摘要固定在采集页顶部,已采集袋数与待提交袋数明确显示。重复采集仅提示,不累加;已绑定、批次不匹配和无效码明确拒绝。更换目标托盘前,提示处理当前未提交清单。
“已采集”与“已绑定”使用不同状态。失败时保留未成功项;实际接口是否支持批量事务和逐条结果,在实施前核对,不以原型表现代替接口能力。
### æ‰˜ç›˜ç»‘定批次
选择或扫描目标批次 â†’ æ‰«ææ‰˜ç›˜ â†’ æ ¸å¯¹å“ç§å’ŒçŽ°æœ‰ç»‘å®š â†’ ç¡®è®¤ç»‘定。不能把“袋码绑托盘”和“托盘绑批次”放进同一个含义不清的提交按钮。
### æŸ¥è¯¢åœºæ™¯
扫码查询可以查询袋码、托盘或批次,但不自动执行绑定、入库、出库。详情主操作按对象状态及用户权限显示。库存查询先以品种 / æ‰¹æ¬¡ / åº“位筛选,列表只显示关键库存数量、单位和位置,其余信息进入详情。
### å‡ºåº“、盘点与报工
- **出库:**任务列表 â†’ å¯¹ç…§è®¢å•拣货 â†’ æ±‡æ€»æ ¡éªŒ â†’ æäº¤å½“前步骤。“执行拣货”“填写运单”“执行出库”沿用不同权限和状态。
- **盘点:**已分配任务 â†’ æ‰«ç å®šä½å¯¹è±¡ â†’ å®žç›˜æ•°é‡ â†’ å·®å¼‚说明 â†’ ä¿å­˜ / æäº¤ã€‚明确实盘数量与系统数量的含义。
- **报工:**可执行任务 â†’ åˆæ ¼é‡ / ä¸è‰¯é‡åŠå¿…要说明 â†’ æ ¡éªŒ â†’ æäº¤ã€‚超量、单位、班组和工序要求复用服务端规则。
### é”™è¯¯ä¸Žç»“果未知
| çŠ¶æ€ | é¡µé¢åé¦ˆ | ä¸‹ä¸€æ­¥ |
|---|---|---|
| æ— æ•ˆç  / éžä¸šåŠ¡ç  | æ˜¾ç¤ºåŽŸå§‹è¯†åˆ«ç»“æžœåŠâ€œä¸æ”¯æŒè¯¥ç â€ | é‡æ–°æ‰«ææˆ–输入 |
| å·²å…¥åº“ / å·²ç»‘定 | æ˜¾ç¤ºå·²å­˜åœ¨çš„业务状态 | æŸ¥çœ‹è®°å½•,不重复执行 |
| æ‰¹æ¬¡æˆ–库位不匹配 | æŒ‡å‡ºå…·ä½“冲突 | æ›´æ¢å¯¹è±¡æˆ–修正位置 |
| ç›¸æœºæ‹’绝授权 / ä¸å¯ç”¨ | æ˜¾ç¤ºæƒé™è®¾ç½®æŒ‡å¼• | æ‰‹åŠ¨è¾“å…¥æˆ–ä½¿ç”¨å·²é€‚é…æ‰«ç è®¾å¤‡ |
| ç½‘络失败、请求未发出 | ä¿ç•™å½“前表单 | æ¢å¤ç½‘络后提交 |
| å·²å‘送但超时 | â€œç»“果待确认” | æŸ¥è¯¢åŽŸæ“ä½œç»“æžœï¼Œå†å†³å®šé‡è¯• |
| ä¼šè¯è¿‡æœŸ | ä¿ç•™éžæ•æ„Ÿä½œä¸šè‰ç¨¿ | ç™»å½•后重新校验对象和权限 |
独立拍照异常工单继续列为扩展,需确认异常模型、分配、处理和关闭流程。
## 5. 480 Ã— 800 å¸ƒå±€è§„范
### å°ºå¯¸åŸºå‡†
本方案以 **480 Ã— 800 CSS åƒç´ çš„æµè§ˆå™¨å¯ç”¨è§†å£**为设计和验收基准。设备物理分辨率不必然等于 CSS è§†å£ï¼›å®žæ–½æ—¶è¯»å–实际视口,核对设备缩放设置。若 480 Ã— 800 æŒ‡ç‰©ç†å±å¹•尺寸,需在目标设备上重新核对可用宽高。
宽度随视口适配,较宽浏览器中将内容容器限制在 480px å¹¶å±…中。高度采用动态视口策略,适应浏览器地址栏展开、收起和键盘变化;不能把页面总高度永久锁为 800px,也不使用整页缩放来适配。
### åž‚直空间分配
以下高度为 800px è§†å£ã€æœªæ˜¾ç¤ºé”®ç›˜ä¸”无额外安全区的布局基准;内容可以滚动,不强行截断。
| é¡µé¢ç±»åž‹ | é¡¶éƒ¨åŒºåŸŸ | å†…容区域 | åº•部区域 |
|---|---:|---:|---:|
| ä¸€çº§é¡µé¢ | 56px æ ‡é¢˜æ  | 680px | 64px å¯¼èˆª |
| ä½œä¸š / è¯¦æƒ…页 | 56px è¿”回标题栏 | 664px | 80px æ“ä½œæ  |
| æ‰«ç é‡‡é›†é¡µ | 56px æ ‡é¢˜æ  + 64px ä½œä¸šä¸Šä¸‹æ–‡ | 600px,包含取景及结果 | 80px è¾“å…¥ / è¿”回操作 |
| ç™»å½•页 | ç®€çŸ­å“ç‰ŒåŒºåŸŸ | è´¦å·è¡¨å•与提示 | æ— å…¨å±€å¯¼èˆª |
有安全区时,底部区域增加安全区内边距,中间可用高度相应减少。每页只保留一个主要内容滚动区,避免长列表嵌套滚动。
### é¦–页首屏与扫码布局
工作台用清晰的顺序组织内容:岗位位置 â†’ ä¸»æ“ä½œ â†’ å¸¸ç”¨åŠŸèƒ½ â†’ å¾…办 / æœ€è¿‘记录。业务列表建议 88~104px:专用列表页首屏约显示 4~6 æ¡ï¼Œå·¥ä½œå°åªé¢„览 2~3 æ¡ï¼Œå®Œæ•´è®°å½•进入列表查看。准确数量随标题、筛选和真实文案变化,不为挤进首屏缩小文字和点击区域。
扫码取景区建议约 320 Ã— 320px,居中放置;这是视觉取景引导,不代表只能解码框内区域。取景区下方保留识别提示和当前对象摘要。长码值允许折行、查看和复制,不把完整长 URL å½“作主要展示信息。
### å­—体、间距和按钮
| å…ƒç´  | å»ºè®®è§„范 |
|---|---|
| é¡µé¢æ ‡é¢˜ | 20px,中等或半粗字重 |
| ä¸»è¦å“ç§ / å¯¹è±¡åç§° | 18px |
| æ­£æ–‡ã€è¾“入框 | 16px |
| æ—¶é—´ã€è¾…助说明 | 14px |
| é¡µé¢å·¦å³é—´è· | 16px,可用内容宽度 448px |
| ä¸»è¦æ“ä½œæŒ‰é’® | é«˜ 52px,全宽或占据操作栏主要空间 |
| è¾“入与选择控件 | æœ€å°é«˜ 48px,点击整行可操作 |
| å›¾æ ‡æ“ä½œ | ç‚¹å‡»åŒºåŸŸè‡³å°‘ 44 Ã— 44px |
| åˆ†ç»„间距 | 16~24px |
| å¸¸ç”¨å…¥å£ | ä¸¤åˆ—,每项约 216px å®½ï¼Œé—´è· 16px |
以浅背景、白色内容、深色文字和蓝色主操作保持业务界面一致,具体视觉值见第 11 èŠ‚ã€‚æˆåŠŸã€è­¦å‘Šã€å¤±è´¥åŒæ—¶ä½¿ç”¨æ–‡å­—å’Œé¢œè‰²ï¼Œä¸é é¢œè‰²å•ç‹¬ä¼ è¾¾çŠ¶æ€ã€‚åˆ—è¡¨ä¸»è¦ä½¿ç”¨åˆ†éš”çº¿å’Œç•™ç™½ï¼›å…³é”®å¯¹è±¡æ‘˜è¦æ‰ä½¿ç”¨ç‹¬ç«‹åŒºåŸŸï¼Œé¿å…æ¯ä¸€ä¸ªå­—æ®µéƒ½å¥—å¡ç‰‡ã€‚
### è¡¨å•、键盘与详情
- åº“区 / åº“位通过底部选择面板完成,支持搜索与逐级选择;更换库区时清理失效库位。
- ä»¥å•列表单为主,合格量 / ä¸è‰¯é‡ç­‰ç´§å¯†å…³è”的短数字字段可并排。
- æ‰“开软键盘时隐藏一级底部导航,调整操作栏,保证当前输入和错误提示可见;关闭键盘后恢复。
- å›ºå®šæŒ‰é’®ä¸Šæ–¹ä¿ç•™è¶³å¤Ÿå†…容间距,最后一条信息可以滚动到按钮上方。
- ä½œä¸šä½ç½®å˜æ›´éœ€è¦æ˜Žç¡®åé¦ˆï¼›æäº¤ä¸­çš„主要按钮禁用并显示处理状态。
- åˆ—表一页建议加载 20 æ¡ï¼ŒåŠ è½½æ›´å¤šå±•ç¤ºæ˜Žç¡®çŠ¶æ€ï¼›æ— æ•°æ®ã€æ— æƒé™å’ŒåŠ è½½å¤±è´¥é‡‡ç”¨ä¸åŒæ–‡æ¡ˆã€‚
## 6. èœå•与按钮权限
建议建立移动端功能映射:将移动路由关联已有菜单 ID å’Œæ“ä½œæƒé™ã€‚目录组织可适配手机,但实际授权、租户范围和业务数据范围继续由现有服务端控制。
首期关键权限映射:
| ç§»åŠ¨ç«¯åŠ¨ä½œ | å·²å­˜åœ¨çš„æƒé™æ ‡è¯† |
|---|---|
| æŸ¥è¯¢æ‰«ç è®°å½• | `mes:pro-scan-in:query` |
| æ‰§è¡Œæ‰«ç å…¥åº“ | `mes:pro-scan-in:inbound` |
| æŸ¥çœ‹æ‰«ç çœ‹æ¿ | `mes:pro-scan-in:dashboard` |
| æŸ¥è¯¢è¢‹ç  | `mes:pro-bag-code:query` |
| è¢‹ç ç»‘定托盘 | `mes:pro-bag-code:update` |
| æŸ¥è¯¢æ‰˜ç›˜ | `mes:pro-pallet:query` |
| æ‰˜ç›˜ç»‘定批次 | `mes:pro-pallet:update` |
| æŸ¥è¯¢æ‰¹æ¬¡ | `mes:pro-batch:query` |
| æŸ¥è¯¢åº“å­˜ | `mes:wm-material-stock:query` |
| æäº¤æŠ¥å·¥ | `mes:pro-feedback:create` |
| æ‰§è¡Œæ‹£è´§ | `mes:wm-product-sales:stock` |
| æ‰§è¡Œå‡ºåº“ | `mes:wm-product-sales:finish` |
移动端候选入口 âˆ© å½“前用户授权功能 âˆ© ç§Ÿæˆ·å¼€æ”¾èŒƒå›´ï¼Œæž„成实际菜单。每个按钮再检查对应操作权限;所有接口继续做服务端校验。隐藏目录的移动开放策略需要明确配置,不能因手机端入口重组而绕过权限。
端选择负责确定“展示哪套功能界面”,账号权限负责确定“允许访问哪些功能”。建议后端权限获取接口支持独立字段 `terminalType=pc|mobile`,返回所选端适用的已授权菜单;这是待开发的接口方案,现有接口尚未支持该参数。端类型不能作为新增权限的依据。
PC ç«¯ä¿ç•™å½“前菜单组件映射。移动端建立对应的移动组件映射和功能清单,已经适配且有权限的功能才进入菜单。菜单端配置建议支持 PC、移动、双端,配置层级和迁移方式在开发时确认。父目录、按钮权限和租户范围需要一起处理,不能只根据菜单路径名称过滤。
前端模式、动态路由、菜单及主页设置按端隔离;切换后重新初始化,避免 PC èœå•残留在移动端或反向残留。访问地址仍可区分桌面与移动页面,但登录时的明确选择决定本次默认进入哪端。
岗位建议:生产操作员拥有本产线作业与查询;仓库作业员拥有授权仓库任务与库存查询;班组负责人增加本班组进度和异常查看。删除、库存调整、生成大量码值、流程设计、编码规则和主数据配置不列入首期常用操作。
## 7. æµè§ˆå™¨è®¿é—®ä¸Žå‰ç«¯ç»“æž„
### è®¿é—®å’Œç™»å½•
用户通过 HTTPS åœ°å€è¿›å…¥ç»Ÿä¸€ç™»å½•页,选择移动端或 PC ç«¯ï¼Œä½¿ç”¨çŽ°æœ‰ç³»ç»Ÿè´¦å·ç™»å½•ï¼Œå¤ç”¨ç™»å½•æ€åˆ·æ–°ã€é€€å‡ºå’Œæƒé™èŽ·å–æœºåˆ¶ã€‚å»ºè®®ç§»åŠ¨ä¸šåŠ¡å…¥å£è·¯å¾„ä¸º `/mobile/`,桌面业务和公众溯源页保留各自入口;这是规划路径,当前尚未创建。
登录页根据视口宽度默认选择端,用户手动选择具有优先权。所选端决定业务布局和菜单,后续宽度变化只做布局适配。较窄的桌面浏览器也能用于预览,但现场验收必须用目标设备完成。
已核查的现有实现:`src/views/_core/authentication/login.vue` æäº¤ç™»å½•,`src/store/auth.ts` èŽ·å–ç”¨æˆ·åŠæƒé™ï¼Œ`src/router/access.ts` å’Œ `src/router/guard.ts` ç”ŸæˆæŽˆæƒèœå•与路由。适配点应覆盖这条完整链路,不能只新增登录页选择按钮。
现有 `authLogin` ä¸­çš„ `type='mobile'` è¡¨ç¤ºçŸ­ä¿¡ç™»å½•方式,不代表移动端界面。建议另设 `terminalType`,将登录方式与所选端明确分开。移动模式的值在当前浏览器标签页内保持,避免不同标签页的端选择相互覆盖。
### æµè§ˆå™¨æ‰«ç 
统一支持三种输入方式:
1. **摄像头:**用户点击开始后请求后置摄像头,识别二维码并暂停;离开页面、切后台或结束作业时停止取景。
2. **扫码枪 / PDA è¾“入:**目标设备具备键盘模拟能力时,将扫码内容输入指定采集框,通过结束字符提交采集。该模式需按实际设备适配,不能假定所有 PDA è¡Œä¸ºä¸€è‡´ã€‚
3. **手动输入:**所有扫码页面均可切换;输入完执行同样的码解析和业务校验。
扫码内容支持纯码值和已印刷的溯源 URL;URL åªæå– `code` å‚数进行业务查询,不自动打开任意扫描网址。码类型由解析及后端校验确认,原始内容保留用于错误反馈。
摄像头访问需要安全上下文和用户授权;上线使用 HTTPS。浏览器原生条码识别存在兼容性限制,不能作为唯一解码实现;需在目标浏览器验证二维码解码方案及其后备实现。声音、振动只能作为可选反馈,屏幕上的文字结果必须完整。
参考:[MDN æ‘„像头 API](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia/)、[MDN æ¡ç è¯†åˆ« API](https://developer.mozilla.org/en-US/docs/Web/API/Barcode_Detection_API)。
### å‰ç«¯å·¥ç¨‹æ–¹æ¡ˆ
基于 `mom-pro2-before`,采用同仓库的独立移动入口 / æž„建边界,沿用 Vue 3、TypeScript、Vite、Vue Router å’Œ Pinia。移动组件建议使用 Vant,桌面端保留 Ant Design Vue。入口拆分方式以现有 Vite é…ç½®è¯„估为准,避免移动页被迫加载整个桌面应用。
建议按职责组织:
- ç§»åŠ¨å¸ƒå±€ï¼šæ ‡é¢˜ã€åº•éƒ¨å¯¼èˆªã€ä¸šåŠ¡æ“ä½œæ ã€çŠ¶æ€é¡µã€‚
- ç§»åŠ¨ä¸šåŠ¡é¡µï¼šå·¥ä½œå°ã€æ‰«ç å…¥åº“ã€ç»‘å®šã€æŸ¥è¯¢ã€è®°å½•ã€æˆ‘çš„ã€‚
- å…±äº«èƒ½åŠ›ï¼šè¯·æ±‚å°è£…ã€è®¤è¯ä¸Žæƒé™ã€å­—å…¸ã€ä¸šåŠ¡æŽ¥å£ç±»åž‹ã€‚
- æ‰«ç é€‚配:摄像头解码、设备输入、手动输入、URL æç ã€‚
- ç§»åŠ¨åŠŸèƒ½æ˜ å°„ï¼šå·²æœ‰èœå• ID / æƒé™ â†’ ç§»åŠ¨è·¯ç”±å’ŒæŒ‰é’®ã€‚
共享接口层需与桌面弹窗、桌面通知组件解耦;不直接复制依赖桌面 UI çš„请求错误处理。移动样式限定在移动入口,避免全局重置污染桌面页面。
参考:[Vant å®˜æ–¹æ–‡æ¡£](https://vant-ui.github.io/vant/)。
## 8. å¼±ç½‘、幂等与数据一致性
查询失败可以重试,表单可以保留草稿。入库、出库、绑定等写操作不默认做离线自动提交。
一次业务操作生成稳定的操作标识,网络重试沿用原标识。现有入库接口已有 `eventId` å‚数,但仍需核查服务端幂等约束、结果查询方式和跨设备重复处理规则。请求超时后提示“结果待确认”,先核实记录,再决定重试,避免把已成功请求再次执行。
切换岗位、仓库或租户时清理不适用的作业上下文。多人同时操作、托盘部分绑定成功、已被他人完成、扫码被取消等情况,通过服务端返回结果明确反馈。
## 9. å®žæ–½é¡ºåºä¸ŽéªŒæ”¶
**第一阶段:验证现场扫码闭环。** ç™»å½•与权限、工作台、扫码入库、袋码 / æ‰˜ç›˜æŸ¥è¯¢ç»‘定、批次查询、库存查询、本人作业记录。优先复用现有接口,确认数据权限与幂等。
**第二阶段:覆盖仓储与生产任务。** äº§å“å…¥åº“、发货 / å‡ºåº“拣货、盘点、生产报工,围绕任务重新组织移动表单。
**第三阶段:扩展协同。** ç§å­è´¨æ£€ã€è´Ÿè´£äººæ¦‚览、审批、站内业务提醒、拍照异常闭环。通知对象与触发时机需按业务设计。
第一阶段验收:
1. ç›®æ ‡è®¾å¤‡æµè§ˆå™¨åœ¨ 480 Ã— 800 åŸºå‡†è§†å£ä¸‹é»˜è®¤é€‰ä¸­ç§»åŠ¨ç«¯ï¼Œå¯æ‰‹åŠ¨åˆ‡æ¢ PC ç«¯ï¼›å¤§å±é»˜è®¤ PC ç«¯ï¼Œä¹Ÿå¯æ‰‹åŠ¨åˆ‡æ¢ç§»åŠ¨ç«¯ã€‚æ‰‹åŠ¨é€‰æ‹©åœ¨éªŒè¯ç é‡è¯•å’Œçª—å£å˜åŒ–åŽä¿æŒã€‚
2. åŒä¸€è´¦å·çš„菜单、按钮、数据范围符合后端授权;不同岗位的常用入口符合实际工作。
3. æ‘„像头、已适配设备输入和手动输入走统一校验;袋码、托盘码、批次码及现有溯源 URL å‡èƒ½è¯†åˆ«ï¼Œæ‰«ç æŸ¥è¯¢ä¸ä¼šè§¦å‘写操作。
4. å…¥åº“完成后业务数据及作业记录一致;重复点击、请求超时、网络恢复不会重复记账。
5. å‘˜å·¥èƒ½åŒºåˆ†é‡‡é›†ã€å¤„理中、成功、失败与结果待确认状态。
6. çŽ°åœºè¯•ç”¨èƒ½å®Œæˆæ‰«ç ã€ç»‘å®šã€å…¥åº“çš„çœŸå®žæµç¨‹ï¼Œæ“ä½œç›®æ ‡å’Œç»“æžœæ— éœ€å€ŸåŠ©æ¡Œé¢ç«¯è¾¨è®¤ã€‚
7. æ‰€é€‰ç«¯çš„菜单、路由和首页一致;刷新保持模式,跨端目标地址不错误跳转,无该端可用功能时有明确反馈。
8. åœ°å€æ å˜åŒ–、软键盘和实际安全区下无横向滚动或按钮遮挡;登录失效恢复后重新校验端类型与权限,不自动提交草稿。
下一步交付建议:先出工作台、扫码入库、绑定托盘、库存查询、作业记录五个页面的可点击原型,再核对接口与权限缺口。原型评审通过后开始移动入口开发。
## 10. åŽŸåž‹é¡µé¢æ¸…å•ä¸Žè½åœ°æ£€æŸ¥
先验证下列完整链路,再扩展其余菜单。原型中的姓名、品种、数量和待办条数必须标注为示例,不假装已连接业务数据。
| é¡µé¢ | ä¸»è¦å†…容 | ä¸»æ“ä½œ | è¿”回或退出行为 |
|---|---|---|---|
| ç™»å½• | ç§»åŠ¨ç«¯ / PC ç«¯é€‰æ‹©ã€è´¦å·ã€å¯†ç ã€é”™è¯¯æç¤º | ç™»å½• | æ¢å¤æ‰€é€‰ç«¯å†…有权限的原目标页面,否则进入该端首页 |
| å·¥ä½œå° | å²—位位置、主扫码按钮、四个常用入口、最近记录 | æ‰«ç å…¥åº“或查询 | ä¸€çº§å…¥å£ä¿æŒå¯¼èˆª |
| ä½œä¸šä½ç½® | æŽˆæƒäº§çº¿ã€åº“区、库位 | ä¿å­˜ä½ç½® | è¿”回并明确展示新位置 |
| æ‰«ç é‡‡é›† | å½“前用途、位置、取景框、输入切换 | æ‰«æå¯¹è±¡ | å…³é—­æ‘„像头并返回来源页 |
| å…¥åº“确认 | å¯¹è±¡ã€æ•°é‡ä¸Žå•位、目标位置、补充信息 | ç¡®è®¤å…¥åº“ | æäº¤å‰å¯è¿”回采集;提交中不产生第二次提交 |
| ä½œä¸šç»“æžœ | å¯¹è±¡ã€æˆåŠŸ / å¤±è´¥ / å¾…确认、结果摘要 | ç»§ç»­æ‰«ç æˆ–核实结果 | å¯æŸ¥çœ‹å¯¹åº”记录 |
| æ‰˜ç›˜ç»‘定 | ç›®æ ‡æ‰˜ç›˜ã€å¾…绑定袋码、逐条校验 | ç¡®è®¤ç»‘定 | æœªæäº¤æ¸…单提示保留或放弃 |
| åº“存查询 | æœç´¢ã€ä½ç½®ç­›é€‰ã€åº“存条目 | æŸ¥è¯¢æˆ–查看详情 | ä¿ç•™ç­›é€‰å’Œæ»šåŠ¨ä½ç½® |
| æ‰¹æ¬¡ / ç è¯¦æƒ… | å“ç§ã€æ‰¹æ¬¡ã€ç»‘定状态、记录 | æœ‰æƒé™ä¸”业务允许的动作 | å›žåˆ°åŽŸæŸ¥è¯¢ä¸Šä¸‹æ–‡ |
| ä½œä¸šè®°å½• | æ—¥æœŸã€çŠ¶æ€ã€æœ¬äººè®°å½•åŠè¯¦æƒ… | æŸ¥çœ‹è®°å½• | æ¢å¤è®°å½•列表位置 |
| æˆ‘çš„ | è´¦å·ã€å²—位、位置、帮助、退出 | å¯¹åº”设置操作 | é€€å‡ºæ¸…理登录态及用户作业上下文 |
原型评审重点是“现场员工是否知道当前对象、目标位置及下一步”,不是主页入口数量。第一版不增加复杂图表、大量营销统计、桌面多列编辑表格或未接入的消息入口。
实施前集中核对四类缺口:
1. **接口:**统一码识别、对象摘要、本人记录筛选、绑定结果、操作结果查询是否可复用。
2. **权限:**真实员工账号所属角色、租户菜单范围及产线 / ä»“库数据权限;隐藏目录如何映射移动入口。
3. **设备:**实际 CSS è§†å£ã€æµè§ˆå™¨ç‰ˆæœ¬ã€æ‘„像头效果,以及是否有键盘模拟扫码设备。
4. **业务:**各码类型的数量与单位、重复入库规则、绑定跨批次限制、批量部分失败行为。
这些缺口形成实施清单;已有菜单或已有接口参数不能替代业务能力验证。当前交付为设计方案,不包含移动页面开发或数据库菜单变更。
## 11. UI/UX Pro Max è§†è§‰ä¸Žç»„件系统
### è®¾è®¡ä¾æ®ä¸Žå–舍
已运行 ui-ux-pro-max çš„设计系统检索、触控 / è¡¨å• / é”™è¯¯æ¢å¤æ£€ç´¢åŠ Vue æ ˆæ£€ç´¢ã€‚采用其扁平界面、清晰文字层级、可见焦点和提交反馈建议。自动检索中的应用商店营销页面结构与当前业务不匹配,不采用评分、下载按钮、宣传轮播等元素。
该系统以中文现场作业为主,使用系统中文字体,不依赖外网字体下载。视觉规范是待实现和验证的设计值,不能把工具推荐的无障碍等级当作产品已经达标。
### é…è‰²ä¸Žæ–‡å­—
| ç”¨é€” | è®¾è®¡å€¼ | ä½¿ç”¨æ–¹å¼ |
|---|---|---|
| ä¸»æ“ä½œ | `#0369A1` | ç¡®è®¤å…¥åº“、确认绑定、登录;文字白色 |
| é¡µé¢èƒŒæ™¯ | `#F8FAFC` | å·¥ä½œå°ã€åˆ—表、表单背景 |
| å†…容表面 | `#FFFFFF` | è¡¨å•、列表、对象摘要 |
| ä¸»æ–‡å­— | `#0F172A` | æ ‡é¢˜ã€å“ç§ã€ç å€¼ã€æ•°é‡ |
| æ¬¡è¦æ–‡å­— | `#475569` | æ—¶é—´ã€ä½ç½®è¯´æ˜Žã€è¾…助文字 |
| æ™®é€šåˆ†éš”线 | `#E2E8F0` | åˆ—表行分隔,不单独承担交互识别 |
| è¾“入边框 | `#64748B` | è¡¨å•控件边界;聚焦时使用主操作色 |
| æˆåŠŸ | `#166534` / `#F0FDF4` | æˆåŠŸæ–‡å­—ä¸Žæµ…è‰²èƒŒæ™¯ |
| è­¦å‘Š / å¾…确认 | `#92400E` / `#FFFBEB` | ç»“果未知、需处理提示 |
| å¤±è´¥ | `#B91C1C` / `#FEF2F2` | æ ¡éªŒå¤±è´¥ã€æ“ä½œå¤±è´¥åŠæ¢å¤æŒ‡å¼• |
普通文字对比度目标至少 4.5:1,关键控件边界与可见焦点至少 3:1;状态必须同时有文字说明。原型阶段验证上述组合,开发后仍需检查真实控件的所有状态。
字体使用系统中文无衬线字体。标题 20px / 28px、对象名称 18px / 26px、正文 16px / 24px、辅助文字 14px / 20px;斜杠后为行高。关键数量 24px / 32px。数量带单位,码值不自动插入分隔符,不改变原始值。
以 4px ä¸ºåŸºç¡€é—´è·å•位,常用 8、12、16、24px。控件圆角建议 8px,对象摘要区域 12px;不使用大面积渐变、半透明玻璃背景或装饰性阴影。所有图标采用统一 SVG å›¾æ ‡é›†ï¼Œå¸¸è§„ 24px,配合可读标签。
### ç»„件与反馈
| ç»„ä»¶ | è§„格与状态 |
|---|---|
| ç™»å½•端选择 | äºŒé€‰ä¸€å•选组,高 52px;选中项同时有边框、底色及选中标识,支持键盘操作;说明“可手动切换” |
| ä¸»æŒ‰é’® | é«˜ 52px;默认、按下、焦点、处理中、禁用状态明确;一个页面只突出一个主要动作 |
| æ¬¡è¦æŒ‰é’® | æ–‡å­—或描边,点击区域至少 44px;返回 / å–消不与提交同等突出 |
| è¡¨å•输入 | æ ‡ç­¾å¸¸é©»ï¼Œä¸ä»…用占位符;错误贴近字段,必要时聚焦首个错误字段 |
| ä½ç½®é€‰æ‹© | å±•示已选产线 / åº“区 / åº“位;空值写“请选择库位”,不能展示难以理解的横线 |
| ä¸šåŠ¡åˆ—è¡¨ | å“ç§ã€çŠ¶æ€ä¸ºç¬¬ä¸€å±‚ï¼Œæ•°é‡åŠä½ç½®ä¸ºç¬¬äºŒå±‚ï¼Œç å€¼å’Œæ—¶é—´ä¸ºç¬¬ä¸‰å±‚ï¼›æ•´è¡Œè¿›å…¥è¯¦æƒ…ï¼Œæ‰¹é‡å‹¾é€‰éœ€æ˜Žç¡®é€‰æ‹©æ¨¡å¼ |
| ä½œä¸šåé¦ˆ | è¯†åˆ«ç»“果、业务处理中、成功、失败、待确认各有独立状态;失败原因和恢复按钮保留在页内 |
| åº•部选择面板 | æ ‡é¢˜ã€å…³é—­ã€æœç´¢ã€é€‰é¡¹ã€ç¡®è®¤å®Œæ•´ï¼›æ‰“开后管理焦点,关闭回到原控件;适配键盘 |
输入阶段不使用红色“失败”样式表示尚未填写。没有权限的动作不展示;因业务状态暂时不可执行的动作展示禁用状态及原因,两者不能混为一谈。
声响与振动只作为用户可关闭的辅助反馈,不能替代屏幕结果。普通成功提示可简短,但入库、出库、绑定结果必须可从结果页及记录页恢复。加载采用稳定占位,不能让按钮和关键位置随着内容加载跳动。
### ç™»å½•页落地规格
480px è§†å£å·¦å³ç•™ç™½ 24px,表单宽度 432px;较窄视口减至 16px。首屏顺序为简短企业名称与系统标题、端选择、账号、密码、条件验证码、登录按钮、错误反馈。品牌区不放大图或长宣传文案,为表单和键盘留空间。
端选择标签为“移动端”“PC ç«¯â€ï¼Œè¾…助说明为“已按屏幕大小选择,可手动切换”。登录按钮文案随选择变为“登录移动端”或“登录 PC ç«¯â€ã€‚自动默认规则沿用第 3 èŠ‚ï¼›é€‰ä¸­å€¼æ˜¯ç‹¬ç«‹å­—æ®µï¼Œä¸ŽçŸ­ä¿¡ç™»å½•æ–¹å¼åˆ†å¼€ã€‚
认证成功但菜单获取失败时显示“登录成功,功能加载失败”,可重试加载或退出;没有该端授权功能时显示无功能状态,不伪装成密码错误。验证码出现或失败不得清空账号及端选择,密码处理沿用现有安全机制。
## 12. 480 Ã— 800 åŽŸåž‹è§„æ ¼ä¸ŽéªŒè¯çŸ©é˜µ
### é¡µé¢å†…容预算
一级页的可用中间区域为 680px,以下按无额外安全区、无键盘计算。高度是原型布局预算,实际文案变长时自然增长并滚动。
| å·¥ä½œå°åŒºåŸŸ | é¢„ç®— | ä¿¡æ¯å†…容 |
|---|---:|---|
| å†…容边距与分组间距 | 96px | é¦–尾及区域间留白 |
| å½“前作业上下文 | 64px | å²—位、位置、切换入口 |
| ä¸»æ“ä½œåŒºåŸŸ | 96px | æ‰«ç å…¥åº“ 52px,扫码查询次要入口 |
| å¸¸ç”¨å…¥å£ | 160px | ä¸¤è¡Œä¸¤åˆ—,共四项 |
| æœ€è¿‘记录预览 | 220px | æ ‡é¢˜å’Œä¸¤æ¡è®°å½•,提供“查看全部” |
| å¼¹æ€§ä½™é‡ | 44px | é•¿ä½ç½®åç§°ã€æç¤ºæˆ–内容变化 |
总计 680px。待办任务接通后可替换记录预览,不在首屏叠加新的统计区。岗位没有四个可用入口时,按实际数量排列,不用无效功能补齐。
扫码页采用 56px æ ‡é¢˜ã€64px ä¸Šä¸‹æ–‡ã€600px ä¸­é—´åŒºåŸŸå’Œ80px åº•部操作。中间区域容纳约 320px å–景区、操作说明、识别状态和手动输入入口;文字放在明亮背景中,避免直接覆盖复杂相机画面。相机取景与识别性能须在真实设备验证。
确认页把完整对象、目标位置与数量置于操作按钮前。结果页提供“继续扫码”和“查看本次记录”,不自动跳回相机;用户明确继续后才启动下一次识别。
### åŽŸåž‹è¯„å®¡ä¸ŽåŽç»­éªŒæ”¶
| åœºæ™¯ | é¢„期结果 |
|---|---|
| 480 Ã— 800,无键盘 | é»˜è®¤ç§»åŠ¨ç«¯ï¼›ä¸»è¦æ“ä½œã€ä¸Šä¸‹æ–‡å¯å‘çŽ°ï¼Œæ–‡å­—ä¸æˆªæ–­å…³é”®å†…å®¹ |
| 480 Ã— 800,键盘打开 | å½“前字段与错误可见,登录 / æäº¤æ“ä½œå¯åˆ°è¾¾ï¼Œæ— åŒå±‚底栏遮挡 |
| 375px å®½æˆ–较短实际视口 | å†…容自然滚动,按钮不缩小,页面没有横向溢出 |
| 768px é»˜è®¤ä¸´ç•Œç‚¹ | åˆæ¬¡é»˜è®¤å€¼æ­£ç¡®ï¼›æ‰‹åŠ¨é€‰æ‹©ä¸å› å†æ¬¡ç¼©æ”¾è¢«è¦†ç›– |
| PC é€‰æ‹©ç§»åŠ¨ç«¯ | 480px ä¸Šé™å®¹å™¨å±…中,移动菜单和操作行为一致 |
| å­—体放大、长品种 / é•¿åº“位 / é•¿ç å€¼ | å¤šè¡Œæ˜¾ç¤ºï¼Œå…³é”®æŒ‰é’®ä»å¯åˆ°è¾¾ï¼›ä¸ä¼šç”¨çœç•¥å†…容提交 |
| æ‹’绝相机、无效码、重复码 | æ˜Žç¡®æç¤ºå¹¶èƒ½ç»§ç»­è¾“入或恢复,不假显示业务成功 |
| æäº¤ä¸­é‡å¤ç‚¹å‡»ã€è¶…时后重试 | æ— é‡å¤æäº¤ï¼›å¾…确认结果先核实,原操作标识保持稳定 |
| ç™»å½•成功后无菜单或菜单加载失败 | åˆ†åˆ«æ˜¾ç¤ºæ— åŠŸèƒ½å’ŒåŠ è½½å¤±è´¥ï¼Œå¯åˆ‡æ¢ç«¯ã€é‡è¯•æˆ–é€€å‡º |
| åªæœ‰æŸ¥è¯¢æƒé™ | æœ‰æŸ¥è¯¢å…¥å£ï¼Œæ²¡æœ‰å†™å…¥å…¥å£ï¼›ç›´æŽ¥è®¿é—®å†™å…¥æŽ¥å£ä»å—服务端限制 |
| è¿”回、刷新、切端、切账号 | æƒé™ã€èœå•、草稿和上下文处理符合会话及账号边界 |
原型阶段可验证布局、信息层级和交互状态;登录、扫码识别、幂等、库存一致性和跨账号权限必须在接入后单独验收。文档中的预算、对比度与状态规格不能替代实际设备测试。