26 KiB
产品体验事实源
2026-05-27 治理口径:前端视觉、布局审美、组件观感、字体、颜色、动效、间距和交互细节的最终裁决统一交给
frontend-designskill。本文件不再作为设计规则手册,只保留 hyb-oa 的产品体验事实、业务信息架构、页面职责和验收边界。
权威边界
frontend-design:决定页面视觉方向、布局表达、审美质量、控件组合、交互动效、响应式呈现和前端设计一致性。- 本文件:记录 hyb-oa 特有的用户场景、角色优先级、模块职责、信息展示语义、企微/OA 边界和验证要求。
- 业务模块规约:报销、审批、采购、合同、项目、资产、企业微信、OCR、附件等领域细则以对应
docs/需求-*.md、docs/报销发票附件规则.md和当前 Trellis task 为准。 - Trellis spec:沉淀稳定工程规则和实现约束;当前任务的范围、验收和测试计划以
.trellis/tasks/<task>/prd.md为准。 - 历史 Issue CSV 和历史截图只用于追溯,不作为新页面设计裁决。
不得再把竞品页面、旧批次样板、颜色值、圆角、卡片样式、字体、官网视觉截图或历史视觉规则追加到本文。需要前端设计判断时,直接使用 frontend-design。
用户与使用事实
- 目标用户是国内、小于 10 人的科技初创公司,角色重叠、审批链短、使用频次高。
- 默认使用者不是专职 OA 操作员,而是一人多岗:负责人、财务、行政、项目负责人和员工职责可能集中在少数人身上。
- 产品默认形态是“小团队中文工作台”:先帮助用户看清今天要办什么、谁卡住了、下一步点哪里,再提供低频管理能力。
- PC 端主要服务批量查看、对账、审批、财务复核、导出和管理配置。
- 手机/企业微信端主要服务提交、补材料、查状态、处理待办和从消息直达业务详情。
- 系统应优先支持真实工作流,不做营销站式介绍页,也不把低频配置入口放到高频员工路径里。
- 页面可见内容应使用自然中文和国内 OA 常见表达,例如待处理、草稿、审批中、已通过、已支付、已驳回、提交、保存、删除、撤回;避免把
Portal、Dashboard、Workflow等英文产品词作为默认用户文案。
页面职责分层
页面分层只用于判断优先级、业务信息量和验证范围,不规定具体视觉样式。
- A 类核心流程:登录/找回密码、首页、审批中心、审批/进度移动页、报销列表、报销详情、移动报销详情、通知中心。
- B 类业务运营:票据、应付账款、付款批次、请假、采购、资产、项目、项目详情、合同。
- C 类管理配置:用户、组织、主数据、审批规则、工作流定义、系统设置、Feature Flag、审计日志。
A 类页面优先保证真实试运行路径顺畅;B 类页面优先保证台账、复核和导出不误导;C 类页面允许展示更多审计和排障信息,但不得泄露无权限数据。
页面模板固定为六类:工作台总览、任务处理列表、业务台账列表、主从工作台、详情工作区、管理配置页。后续新增或重构页面必须先判定页面分级和模板,再设计业务内容;不允许每个页面临时自创布局。移动端是这些模板的移动表达,不单独开一套 PC 壳层。采购、合同、项目、资产、付款、应付账款和票据的首屏默认都是 业务台账列表;主从工作台 只用于用户显式选择后的执行任务,例如已打开的资产盘点任务,不得在普通台账首屏自动选择第一条记录来填充详情区。
全系统操作语义固定:页面主动作只保留一个且出现在用户预期的主操作区;筛选、导出、更多、行级动作、详情高风险动作和移动端底部动作各有稳定位置。不可逆或高风险动作不得混在普通查看/编辑动作里,必须显示当前对象摘要并二次确认。
全系统动作必须从业务状态矩阵推导,不由单个页面临时决定。每个核心对象先明确草稿、审批中、被驳回、已通过、待执行/待支付、已完成/已支付、已取消、异常、归档等状态,再决定主动作、次动作、禁止动作、禁用原因、确认方式和审计要求;前端只负责体验显隐和原因解释,最终权限与状态校验仍以服务端为准。
审批动作集中在 待我审批 / 审批详情执行。报销、采购、合同、项目、资产等业务台账列表和普通业务详情只显示 查看处理、查看进度、补材料 或进入审批任务的入口,不直接放 通过、驳回、退回、转审;审批前必须进入统一审批详情核对摘要、证据、后果和确认。
删除、撤回、取消、作废和归档语义全系统统一。草稿或未生效临时对象才使用 删除;审批中由发起人按规则 撤回;业务不再执行用 取消;已编号、已签署、已付款、已发布或已生效对象失效用 作废;业务完成后锁定留存用 归档。已提交后的业务对象原则上不物理删除,必须保留原因、操作者、时间和审计记录。
全系统数据展示必须按当前任务角色收敛。普通员工默认只看我的、与我相关和需要我补充;审批人默认看待我审批;财务/负责人默认看授权范围内的台账、异常和处理入口;管理员默认在管理入口看配置、审计和排障。同一用户一人多岗时不做全局身份切换器,页面按当前任务自动显示最相关视角;如需跨范围查看,只在具体台账内提供 我相关 / 我负责 / 财务处理 / 全范围 等授权范围切换。页面首屏不因为有权限就默认展开全范围数据、高级工具、导出、批量、配置或内部字段。
权限不足、空状态和异常状态统一用自然中文说明原因和下一步。普通用户路径不暴露 403、接口名、权限 code、内部状态码、路由栈、完整路径、原始 payload 或大段技术错误;空态如果没有真实下一步就不显示模块;管理员、审计和排障页才展示最小必要技术信息。
全系统列表和台账默认保持轻量。首屏只保留搜索、状态、范围、时间等 3 到 5 个高频筛选;导出、批量、统计、模板、全范围、高级筛选等低频或高风险能力进入 更多、明确命名的动作按钮或权限面板,不再使用泛化 台账工具;批量动作只在选中记录后出现;移动端只承接搜索、状态筛选、卡片列表和主动作,不复制 PC 复杂后台工具。
合同、采购、项目和财务列表统一采用“列表查找、详情处理”的页面边界。列表页只负责查找、筛选、看状态和进入详情;合同下载、归档、付款、导出、批量处理、作废、敏感附件查看等高风险动作必须放到详情页、详情命令区、更多 或授权审计路径里,并按权限、审计和二次确认执行。
合同、采购、项目和财务列表默认按当前角色收敛视角。普通员工看 我发起/我相关,负责人看 我负责/项目相关,财务看 待复核/待付款/异常,管理员才在明确命名的筛选、更多或管理入口内进入或切换 全范围;全范围、导出、批量默认收进 筛选、更多 或权限面板,不铺在普通首屏。
合同 V1 只做登记、归档、到期/续签提醒,以及关联项目、采购和付款。合同页面不做完整合同生命周期管理,不自建电子签、复杂法务审查、条款库、版本协同或 CLM;如需合同审批,走 OA 统一审批中心或另建后续 Trellis task,合同页只展示状态、摘要和关联入口。
采购台账 V1 只做申请、审批、附件、轻量验收/归档,以及关联合同、项目和付款/AP。采购页面不承接采购订单全生命周期、库存、三单匹配、供应商生命周期管理、招采评标或自动入账;审批通过不代表已付款、已入库或已形成固定资产。
项目模块 V1 只做轻项目台账:项目状态、负责人/成员、里程碑/任务、风险、交付记录,以及关联报销、采购、合同和付款。项目页面不做完整项目管理软件,不承接甘特图、复杂任务依赖、工时、资源排期、OKR、项目组合管理或大型协同平台;项目页主要负责业务归集、风险提醒和跳转到对应业务详情。
财务台账 V1 只做付款准备、付款批次、企业网银导入制单、回单留痕、AP 状态、票据/OCR 状态和代账交接摘要。制单只是效率工具,不代表付款成功,也不是登记付款完成的门禁;银行回单仍是银行渠道付款的硬证据。付款、应付账款和票据页面不做完整财务软件,不承接银行直连真实支付、银行流水自动导入、总账、会计凭证生成、自动对账或税务申报;真实付款继续在线下银行或既有财务/代账流程完成,OA 只记录状态、证据和交接摘要。OA 不接 ERP,未来也不规划 ERP 接入。
员工收款信息默认只展示开户银行和脱敏尾号,由 HR/管理员维护,员工本人可核对但不自助修改;财务因转账需要查看完整账号时必须填写原因并留审计。付款复核与后续人工转账/制单使用同一份批次冻结收款快照,员工资料事后变化不得漂移已复核批次。公司企业银行账户独立挂在法人主体下,普通财务只读,财务负责人/管理员维护;新增、替换和停用须留审计并通知管理员与负责人。
付款相关动作集中在 付款 / 财务处理详情执行。报销、采购、合同、项目等列表和普通详情只显示付款状态、回单状态、查看付款、补回单 或进入付款记录入口,不直接放 标记已付款、取消付款、批量付款、执行付款;付款动作前必须核对金额、对象、线下付款说明、证据和回单。
付款批次详情以“报销单摘要 → 费用明细与小计 → 付款信息 → 付款结果/回单”为信息顺序,收款账户不得冒充报销明细。原报销单和付款批次之间只提供摘要与跳转,不复制对方完整流程。授权财务可在批次上下文内在线查看 PDF/图片回单并由系统自动记录固定用途;下载到本地仍需说明用途。报销处理进度中的付款批次入口只出现一次,并随实际付款节点展示。
跨模块关联采用“摘要 + 跳转”边界。项目、采购、合同、报销、资产、付款等页面可以展示关联对象的业务编号、名称、状态、金额/数量、负责人、证据完整性和下一步摘要,但不能复制对方模块的完整流程、审批动作、付款动作、发票/OCR 处理、合同正文下载或高敏附件操作;需要处理时跳转到归属模块详情、审批任务或财务处理页,并继续按原模块权限和审计控制。
全系统长表单默认支持草稿和清晰提交。保存草稿不触发审批、付款、发布或外部同步;提交前必须做业务校验和摘要确认;离开未保存页面要提示;错误提示必须定位到字段、明细、发票、附件或材料区,并保留用户已输入内容。移动端表单只保留必要字段、材料上传和底部主动作,不承接复杂配置表单。
全系统详情页采用统一证据结构。状态与下一步先行,业务摘要其次,明细、发票、附件、合同文件、资产材料、回单等证据居中。PC 主列展示业务证据,右栏上方是操作及下一步,下方是当前处理进度,正文不重复当前进度;操作卡不能单独吸顶遮挡其后的进度。移动端保持单列,在正文后按下一步/操作说明、进度、完整历史排列,必要主动作保留底部安全区。完整审批/处理历史与当前进度不是同一内容:长历史可保留在主列证据之后或独立历史区域,既有短历史可在侧栏进度之后完整保留,不能因布局调整截掉意见。高风险动作不得放在用户看不到证据的位置,确认时必须展示对象摘要和后果。首批应用于报销详情、报销审批工作台和付款详情,其他模块按任务分批对齐。
动作与下一步必须服从同一份服务端业务阶段。报销已审批不等于尚未组批,付款已复核或制单已下载不等于银行已付款;已有批次的详情只保留一个有权限的批次入口。无读取链接不等于没有批次,未知/不完整进度不能猜测创建资格。验收需从关联业务处理后返回原详情,并覆盖重新进入、切回页面和请求失败,不以单页按钮成功代替跨页交接正确。
全系统证据材料统一在详情页集中处理。列表页和台账页只显示发票、附件、合同文件、回单、资产材料等证据的完整性摘要、缺失提示和进入详情入口,不直接承接预览、下载、删除、批量打包或敏感材料处理;这些动作进入详情页、详情命令区、更多 或授权审计路径。
全系统上传材料采用“材料类型先行”。上传前必须明确是 PDF 发票、普通附件、合同文件、付款回单、验收材料、资产材料还是电子资料索引,不使用一个万能 上传附件 入口混收所有材料;不同类型分别进入对应校验、权限、审计和展示位置,上传文案必须说明结果。
移动端只承接轻动作,不复制 PC 管理台。手机和企业微信 WebView 主要用于提交、补材料、查状态、处理待办、扫码、上传和消息直达;不承接复杂台账、全范围管理、批量导出、批量审批、批量付款、流程配置、管理配置、功能开关、复杂筛选和大表格。移动页面统一采用顶部状态/焦点卡、卡片列表或分区详情、底部安全区主动作。
待办和通知必须分离。待我审批 是审批行动列表,只放需要当前用户审批处理的事项;通知中心 是事件收件箱,只记录状态变化、提醒、失败、同步结果和流转消息。通知点击直达业务详情、审批任务或失败解释页,不在通知中心复制一套审批任务列表;普通通知、已完成动态和只读进度不算工作台 今日待处理。
敏感数据默认最小展示。合同正文、发票、回单、付款信息、资产敏感字段、附件和导出文件只在授权场景展示必要内容;预览、下载、导出和批量下载必须按服务端权限和数据范围控制,并对财务、合同、票据、资产等高敏操作写审计。普通列表、移动端、通知和企业微信消息只展示脱敏摘要。
危险动作必须二次确认且展示对象和后果。删除、付款、发布、停用、作废、驳回、退回、切换配置、批量处理等不可逆或高风险动作,确认面板必须包含对象摘要、后果、影响范围、必要理由输入或确认输入,并写入审计;不允许只弹一句 确定吗?。
集成和外部系统状态必须保守表达。OA 主办报销、采购、合同、项目、付款、AP、票据、资产和高敏附件;企业微信主办打卡、请假、补卡、外出、加班等 HR/考勤日常动作;银行、代账、OCR、企业微信消息等外部能力只展示真实同步状态、失败原因和下一步,不在界面上承诺无法确认的 已同步、已付款 或 已审批。ERP 不作为当前或未来外部能力。
试运行和验收口径必须准确。本地构建、Playwright 和截图通过只代表本地验证通过;只有完成部署、公网访问检查、关键路径冒烟和必要截图证据后,才可告知用户 可以线上测试。未部署时只能说明 本地验证通过,尚未线上可测。
固定资产按统一资产台账的 FA 类型管理,产品口径是实物责任、流转、盘点和离职交接,不是完整财务固定资产账。电脑、显示器、硬盘、设备、安全介质等需要归还或盘点的实物应登记;普通耗材不登记;折旧、残值、会计科目和月度折旧凭证暂由财务/代账系统主办,OA 只记录采购来源、责任链、状态和交接证据。
采购/报销到固定资产的衔接采用“资产候选 + 管理员建卡”。采购明细或报销材料只提供可能形成资产的线索;审批通过、报销提交或付款完成都不自动生成资产卡片。管理员在到货、验收或报销完成后核对实物、数量、归属、是否耗材、是否退货/赠品,再手动创建 FA 资产卡片并关联来源单据。
固定资产必须有 FA 资产编号。电脑、显示器、硬盘、设备、安全介质等可贴标实物应贴二维码标签,用于移动扫码查找、盘点和领用/归还确认;不适合贴标签的资产不强制贴,但必须记录序列号、保管人和位置。盘点以扫码优先、手工输入兜底,不强制复杂拍照盘点。
固定资产盘点采用轻量频率。小团队 V1 默认每季度做一次固定资产轻盘点;离职、调拨、维修、报废等事件发生时做事件盘点;备份硬盘、安全介质和关键设备每月确认一次责任人和位置。
固定资产处置采用“流转留痕、处置确认”。领用、归还、调拨由管理员直接记录并留痕;报废、丢失、出售、赠送必须负责人确认并填写原因;涉及赔偿、金额或责任争议时另走审批或线下确认,资产页只记录结果和证据摘要,不一键完成争议处理。
电子资产只做责任和验证索引。代码仓库、系统、备份介质/集合在 OA 中只登记元数据、负责人、权限回收要求、备份/恢复验证日期和归档位置摘要;不保存源码包、密钥、token、完整配置、真实完整路径或备份内容。
电子资料资产 EA-DOC 只登记资料名称、类型、hash/校验摘要、敏感级别、负责人、关联项目/合同/付款和归档位置摘要。合同正文、银行流水、证照原件、客户资料等高敏原文不进普通资产页,必须走对应业务附件权限或线下受控归档。
OA 与企业微信边界
OA 主办:报销、采购、费用、合同、项目、付款、AP、代账和高敏附件仍在 OA 内提交、审批、查看和导出;企业微信只发送脱敏消息和 OA deeplink。企微镜像:HR/考勤员工日常审批、打卡、人事助手和假期余额优先由企业微信主办;OA 展示同步镜像、规则快照、审计状态和失败重试。OA 应急接管:仅管理员人工开启应急模式后,OA 才临时开放请假、补卡、外出、加班提交和审批;页面必须说明应急原因、范围和预计结束时间。- 企业微信消息只承载标题、类型、编号、状态和入口;点击后通过免登录或账号绑定进入 OA 目标页,附件查看和审批动作仍按 OA 服务端权限执行。
信息语义
- 普通用户主展示使用业务编号或业务摘要,不把 UUID、taskId、entityId、内部状态码或调试字段作为主编号。
- 审计页、管理员排障页和打印留痕页可在权限允许范围内展示必要内部编号。
- 同一业务对象在同一区域只展示一次主标识;同一状态在同一区域只展示一次。
- 普通路径不展示权限 code、role code、接口路径、数据库字段名、原始 payload、完整本地路径、调试 trace、Secret 或 token;审计/排障场景也只能最小必要展示。
- 技术枚举和平台词必须翻译成自然中文。普通用户默认看到的是
审批中、待你处理、已支付、发票识别失败,而不是PENDING_APPROVAL、Workflow、AP Operations或Feature Flag。 - 时间文案优先表达业务含义,例如
已等待多久、接收于、提交于、支付于,不把更新时间当作用户主要判断依据。 - 通知中心是事件收件箱,不是待办列表或进度页副本;通知点击应直达业务详情、审批任务或可解释的失败提示。
- 首页只做工作台摘要,不重复完整待办列表、通知列表和进度列表。
- 首页首屏优先展示
今日待处理:覆盖所有需要当前用户行动的事项,例如待审批、待补材料、待付款/待复核、票据异常、配置缺口和明确分配给当前用户的团队动作;普通通知、已完成进度、只读动态和低频管理入口不算待处理。 - 首页不使用常驻欢迎大卡片、说明型折叠区或入口集合。首屏应使用紧凑状态摘要、可行动事项列表和条件出现的
团队卡点/管理提醒/我的进度,没有真实数据的区域不显示。 报销进度、团队公告、试运行观测等不作为首页固定按钮或固定模块;只有存在可靠状态、真实阻塞或异常时才出现。- 首页不承担常驻新手教学职责;首次欢迎提示只做一次性、可关闭的常用业务入口,最多 3 个,不放个人设置、通知中心或“了解流程”这类说明型入口。
- 审批入口同时服务审批人和发起人:审批人处理待我审批,员工查看我发起的进度。
- 普通员工不应看到不可点或无权限的审批入口;审批、财务、负责人和管理员只能看到服务端允许的动作。
- 个人设置默认只放个人资料、密码/安全、通知偏好和企业微信绑定;组织归属、直属汇报和角色摘要可折叠展示,不默认暴露权限 code、role code、原始账号状态或完整员工档案维护入口。
- 个人设置和管理配置彻底分离:组织、角色、审批规则、功能开关、主数据、审计日志、人员维护和系统配置统一进入
管理,不出现在普通员工路径或个人资料页里。 - 移动端
我的不放管理矩阵;人员管理、组织架构、系统设置等低频配置只从 PC 管理入口承接。 - PC 侧边栏是小团队任务入口,不是全量模块目录;一级入口必须按角色、权限、频次和真实办事价值收敛。已启用且有权限的 OA 主办业务台账,例如
合同、采购、资产、项目,不默认藏到更多,否则会给常用业务增加二次点击负担。 - 审批人、负责人和财务看到
待我审批;普通员工默认不显示待办或审批待办入口;通知只保留顶部铃铛或通知中心,不进入侧边栏。 - PC 请假入口默认表达为
请假记录;提交请假、补卡、外出、加班仍优先走企业微信或移动入口,只有 OA 应急接管或指定管理场景才突出提交入口。 - 移动请假默认是记录查看和状态确认;普通员工不显示 OA 新建请假表单、编辑和提交动作。HR/管理员应急接管时才显示
OA 应急表单和提交应急审批。 - 考勤页普通员工只看月度摘要、异常解释、同步/留痕状态和企微处理说明;
OA 应急修正只给 HR/管理员处理企微不可用时的应急接管。 - 管理配置类能力在侧边栏合并为
管理,具体人员、组织、流程、规则、审计、功能开关和真实已启用外部能力进入管理页后分组承接。 - 财务入口应使用真实工作名,例如
付款、应付账款、票据;AP 运营、功能开关等内部平台词不作为默认一级菜单文案,ERP 集成不作为产品入口。 更多只承载低频、冻结、阶段性或偶尔查看的入口,不使用说明型副标题、教学卡片或历史模块解释文案;不得把常用业务台账作为默认二级入口。
业务体验事实
- 报销主展示使用后端业务编号,例如
BX20260506001;UUID 不作为普通用户主编号。 - 报销草稿允许编辑和删除;审批中按审批状态提供可解释下一步;已通过、已支付不提供删除。
- 普通员工发票入口在报销详情补充材料,不恢复员工侧“票据/发票池”主导航。
- 发票状态文案面向用户表达,例如识别中、识别失败、可添加、已添加、重复票据、已归档/已报销;不暴露 OCR provider、绑定整单、不绑定明细等内部术语。
- 请假、补卡、外出、加班的员工日常主路径优先走企业微信;OA 负责镜像、审计、异常和应急接管。
- 采购、合同、项目、财务附件和高敏资料不迁移到企业微信原生审批或企业微信附件。
- 资产管理保留统一资产台账:固定资产
FA负责实物责任和交接,电子资料/系统/仓库/备份资产负责索引、负责人和验证证据;账号密码、密钥、源码包和完整配置不进入 OA。 - 采购/报销只作为资产候选来源,不自动入库或自动生成固定资产;资产建卡必须由管理员核对实物后完成。
- 固定资产盘点优先使用资产编号和二维码标签;无法贴标时使用序列号、保管人和位置兜底。
- 固定资产常规盘点默认按季度执行;离职、调拨、维修、报废触发事件盘点;高风险实物资产按月确认责任人和位置。
- 固定资产报废、丢失、出售、赠送等处置必须负责人确认和填写原因;涉及赔偿或争议时不在资产页一键完成。
- 电子资产页面只展示责任人、权限回收、备份/恢复验证和归档摘要,不展示或存储源码、密钥、完整配置、真实路径和备份内容。
EA-DOC是资料索引和责任记录,不是文件库;高敏原文和业务原文按对应模块权限或线下归档处理。- 差旅仍不进入当前主线扩展;如恢复差旅能力,必须先新建独立 Trellis task。
验收边界
- 前端页面改动必须先使用
frontend-design做设计判断,再按影响范围执行cd client && npm run typecheck、cd client && npm run build和必要 Playwright/视觉验证。 - 涉及移动或企业微信 WebView 的改动,应覆盖代表性视口;真机验证暂缓时只能记为
PAUSED,不能用自动化通过替代人工确认。 - 涉及权限、状态机、审批规则、数据迁移、生产配置、企业微信写入或真实数据写入时,必须按当前 Trellis task 和对应业务规约补充验证与回滚说明。
- 面向用户可测试的页面改动,只有部署和公网检查通过后,才可告知用户可以测试。
- 本文件自身不代表页面已经整改、不代表已经部署、不替代真实试运行 Go/No-Go。