﻿# UC-001 产品工时计算

## 文档信息

| 字段 | 内容 |
|------|------|
| 文档编号 | UC-001 |
| 文档类型 | 功能用例 |
| 功能名称 | product-work-hours-estimation |
| 对应流程 | 路径 F: 临时快速任务（Demo→产品，≤7天） |
| 关联用户故事 | US-001 |
| 关联 PRD | PRD-001 |
| 状态 | 草稿 |
| 仓库定位 | 原型仓库 |
| 说明 | 真实编码工作在外部开发仓库推进，本仓库保留原型与需求文档。 |

## 用例 1：登录报价估算系统

<table>
  <tr>
    <td width="180">用例名称</td>
    <td>登录报价估算系统</td>
  </tr>
  <tr>
    <td>用例描述</td>
    <td>用户通过账号密码登录系统，进入报价估算功能入口。</td>
  </tr>
  <tr>
    <td>相关操作界面</td>
    <td>
      1. 登录页：用户名、密码输入框及登录按钮。<br>
      2. 登录失败态：页面显示“用户名或密码错误”。<br>
      3. 登录成功态：顶部导航显示“产品报价 / CG 工时 / 产品报价项管理（当前原型入口名为‘数据管理’）”及当前登录用户。
    </td>
  </tr>
  <tr>
    <td>操作者</td>
    <td>管理员 / 报价人员</td>
  </tr>
  <tr>
    <td>前置条件</td>
    <td>
      1. 用户已打开系统。<br>
      2. 用户拥有可用账号密码。
    </td>
  </tr>
  <tr>
    <td>后置条件</td>
    <td>系统建立登录状态，用户可访问报价估算相关页面。</td>
  </tr>
  <tr>
    <td>正常用例流程</td>
    <td>
      1. 用户访问系统。<br>
      2. 系统检测到用户未登录时，展示登录页面。<br>
      3. 用户输入用户名与密码。<br>
      4. 用户点击“登录”按钮。<br>
      5. 系统校验账号信息。<br>
      6. 校验成功后，系统写入登录状态，并允许用户进入报价估算功能。
    </td>
  </tr>
  <tr>
    <td>异常流程</td>
    <td>
      1. 用户名或密码错误时，系统提示“用户名或密码错误”。<br>
      2. 用户未登录直接访问受保护页面时，系统跳转回登录页。
    </td>
  </tr>
</table>

## 用例 2：切换并查看产品报价明细

<table>
  <tr>
    <td width="180">用例名称</td>
    <td>切换并查看产品报价明细</td>
  </tr>
  <tr>
    <td>用例描述</td>
    <td>用户进入“产品报价”页面，可在不同产品之间切换查看对应报价模板；系统默认加载 3D 大楼产品。</td>
  </tr>
  <tr>
    <td>相关操作界面</td>
    <td>
      1. 默认展示态：页面默认加载 3D 大楼产品，并展示产品名称、说明、币种及完整报价表格。<br>
      2. 产品切换态：页面提供产品切换入口，可切换 3D 大楼、GIS、平面色彩切换、WALK、VR 等产品。<br>
      3. 分类汇总态：每个类型底部显示分类小计，表格底部显示产品报价合计。<br>
      4. 自定义金额态：素材制作费用、定制开发费用中的自定义金额项显示输入框。
    </td>
  </tr>
  <tr>
    <td>操作者</td>
    <td>报价人员</td>
  </tr>
  <tr>
    <td>前置条件</td>
    <td>
      1. 用户已登录系统。<br>
      2. 系统已预置产品模板数据。<br>
      3. 当前产品报价页面可正常访问。
    </td>
  </tr>
  <tr>
    <td>后置条件</td>
    <td>当前选中产品的报价明细、各分类小计与总报价成功展示。</td>
  </tr>
  <tr>
    <td>正常用例流程</td>
    <td>
      1. 用户点击顶部“产品报价”菜单。<br>
      2. 系统进入产品报价页面，默认加载 3D 大楼产品的报价模板。<br>
      3. 页面展示产品切换入口。<br>
      4. 用户可切换到其他产品类型，例如 GIS、平面色彩切换、WALK、VR。<br>
      5. 系统加载所选产品的报价模板，并刷新产品名称、产品说明及价格单位 JPY。<br>
      6. 系统按“类型 → 模块 → 功能”层级展示报价结构。<br>
      7. 页面展示字段包括：类型、隐藏、模块、功能、可选配、选配、工时、定价。<br>
      8. 系统按当前模块参与状态展示各模块金额。<br>
      9. 系统计算并显示各类型小计。<br>
      10. 系统在表格底部显示产品报价合计。
    </td>
  </tr>
  <tr>
    <td>异常流程</td>
    <td>
      1. 未登录时，用户无法查看产品报价页面。<br>
      2. 当所选产品未维护报价模板时，系统提示暂无可展示的报价项数据。<br>
      3. 自定义金额模块未输入金额或金额为 0 时，该项界面显示“—”，并按 0 参与汇总。
    </td>
  </tr>
</table>

## 用例 3：配置产品模块并实时计算报价

<table>
  <tr>
    <td width="180">用例名称</td>
    <td>配置产品模块并实时计算报价</td>
  </tr>
  <tr>
    <td>用例描述</td>
    <td>用户在产品报价页面调整可选模块、控制类别显示状态，系统实时更新参与计算的范围与金额。</td>
  </tr>
  <tr>
    <td>相关操作界面</td>
    <td>
      1. 可选模块勾选态：模块可通过复选框控制是否纳入计算。<br>
      2. 未选配态：可选模块取消勾选后，整行弱化显示，金额显示“—”。<br>
      3. 类别隐藏态：点击隐藏按钮后，类别折叠为“已隐藏，不计入总价”提示。<br>
      4. 类别恢复态：点击显示按钮后，类别重新展开并恢复参与计算。
    </td>
  </tr>
  <tr>
    <td>操作者</td>
    <td>报价人员</td>
  </tr>
  <tr>
    <td>前置条件</td>
    <td>
      1. 用户已登录系统。<br>
      2. 用户已进入产品报价页面。<br>
      3. 页面已成功加载产品报价数据。
    </td>
  </tr>
  <tr>
    <td>后置条件</td>
    <td>各模块参与状态、分类小计及产品报价合计按最新配置更新完成。</td>
  </tr>
  <tr>
    <td>正常用例流程</td>
    <td>
      1. 用户查看当前产品报价表。<br>
      2. 用户对可选模块执行勾选或取消勾选操作。<br>
      3. 系统依据模块是否参与计算，实时更新该模块金额显示。<br>
      4. 用户点击某个类型的隐藏按钮。<br>
      5. 系统折叠该类型，并提示“已隐藏，不计入总价”。<br>
      6. 系统同步更新该类型小计与产品报价合计。<br>
      7. 用户再次点击显示按钮时，系统恢复该类型展示与计算。
    </td>
  </tr>
  <tr>
    <td>异常流程</td>
    <td>
      1. 非可选模块不提供勾选能力，默认始终参与计算。<br>
      2. 可选模块未勾选时，该模块金额不展示且不计入分类小计与总价。<br>
      3. 类型被隐藏时，该类型小计显示“—”，且不参与总价计算。
    </td>
  </tr>
</table>

## 用例 4：录入自定义金额类模块

<table>
  <tr>
    <td width="180">用例名称</td>
    <td>录入自定义金额类模块</td>
  </tr>
  <tr>
    <td>用例描述</td>
    <td>用户对需要单独估算的模块录入金额，系统将录入值纳入对应分类小计及总报价。</td>
  </tr>
  <tr>
    <td>相关操作界面</td>
    <td>
      1. 素材制作费用输入态：CG 模块显示金额输入框。<br>
      2. 定制开发费用输入态：定制功能模块显示金额输入框。<br>
      3. 汇总更新态：录入金额后，分类小计与总报价即时刷新。
    </td>
  </tr>
  <tr>
    <td>操作者</td>
    <td>报价人员</td>
  </tr>
  <tr>
    <td>前置条件</td>
    <td>
      1. 用户已登录系统。<br>
      2. 用户已进入产品报价页面。<br>
      3. 相关自定义金额模块处于可见状态。<br>
      4. 可选模块如需参与计算，已被勾选。
    </td>
  </tr>
  <tr>
    <td>后置条件</td>
    <td>录入金额成功保存到当前页面状态，并参与分类小计与总报价计算。</td>
  </tr>
  <tr>
    <td>正常用例流程</td>
    <td>
      1. 用户定位到需要自定义录入金额的模块。<br>
      2. 系统在该模块金额列展示输入框。<br>
      3. 用户输入金额。<br>
      4. 系统实时更新该模块金额。<br>
      5. 系统同步刷新所属类型小计。<br>
      6. 系统同步刷新产品报价合计。
    </td>
  </tr>
  <tr>
    <td>异常流程</td>
    <td>
      1. 用户未输入金额或输入 0 时，该模块界面显示“—”，并按 0 参与计算。<br>
      2. 当可选自定义金额模块未被选配时，系统不展示有效金额，且该项不参与计算。<br>
      3. 输入框最小值为 0，小于 0 的输入由控件限制。
    </td>
  </tr>
</table>

## 用例 5：录入 CG 制作工时明细

<table>
  <tr>
    <td width="180">用例名称</td>
    <td>录入 CG 制作工时明细</td>
  </tr>
  <tr>
    <td>用例描述</td>
    <td>用户在“CG 工时”页面选择制作项目层级、输入数量与备注，系统汇总输出总工时及总报价。</td>
  </tr>
  <tr>
    <td>相关操作界面</td>
    <td>
      1. 默认编辑态：页面默认展示多行可编辑明细。<br>
      2. 层级选择态：项目、细分、子项 1 至子项 4 逐级联动。<br>
      3. 叶子节点命中态：选择完整路径后展示单位工时、单位报价。<br>
      4. 汇总态：页脚显示总工时与总报价。<br>
      5. 行维护态：支持新增行、删除行。
    </td>
  </tr>
  <tr>
    <td>操作者</td>
    <td>报价人员 / CG 估算人员</td>
  </tr>
  <tr>
    <td>前置条件</td>
    <td>
      1. 用户已登录系统。<br>
      2. 系统已预置 CG 工时标准数据。<br>
      3. 用户可访问“CG 工时”页面。
    </td>
  </tr>
  <tr>
    <td>后置条件</td>
    <td>当前页面的 CG 明细行、总工时与总报价完成更新展示。</td>
  </tr>
  <tr>
    <td>正常用例流程</td>
    <td>
      1. 用户点击顶部“CG 工时”菜单。<br>
      2. 系统进入 CG 工时页面，并默认展示多行空白明细。<br>
      3. 用户依次选择项目、细分及下级子项。<br>
      4. 系统依据当前选择动态加载下一层级的候选项。<br>
      5. 当用户选择到叶子节点后，系统展示该项单位工时和单位报价。<br>
      6. 用户输入数量。<br>
      7. 系统按“数量 × 单位工时 / 单位报价”累计汇总。<br>
      8. 用户可填写备注信息。<br>
      9. 用户可通过“添加行”继续录入更多条目，或删除无效条目。<br>
      10. 系统在表格底部展示总工时与总报价。
    </td>
  </tr>
  <tr>
    <td>异常流程</td>
    <td>
      1. 当层级选择未完成时，单位工时、单位报价显示“—”。<br>
      2. 当上级选项发生变化时，系统自动清空后续下级选项，避免无效组合。<br>
      3. 数量输入框最小值为 1，小于 1 的输入由控件限制。<br>
      4. 全部条目均未形成有效叶子节点时，页脚总工时与总报价显示“—”。
    </td>
  </tr>
</table>

## 用例 6：管理产品报价项模板

<table>
  <tr>
    <td width="180">用例名称</td>
    <td>管理产品报价项模板</td>
  </tr>
  <tr>
    <td>用例描述</td>
    <td>管理员在“产品报价项管理”中维护不同产品类型的报价模板，为前台报价计算提供标准化的类型、模块、功能、工时和定价数据。</td>
  </tr>
  <tr>
    <td>相关操作界面</td>
    <td>
      1. 产品类型列表态：展示可维护的产品类型，如 3D大楼、GIS、平面色彩切换、WALK、VR。<br>
      2. 模板明细编辑态：展示产品下的类型、模块、功能、是否可选配、默认选配、工时、定价等字段。<br>
      3. 编辑保存态：支持新增、修改、启停或删除报价项模板数据。<br>
      4. 当前原型说明：现阶段页面入口名称为“数据管理”，后续业务命名调整为“产品报价项管理”。
    </td>
  </tr>
  <tr>
    <td>操作者</td>
    <td>管理员 / 模板维护人员</td>
  </tr>
  <tr>
    <td>前置条件</td>
    <td>
      1. 用户已登录系统。<br>
      2. 用户拥有产品报价项管理权限。<br>
      3. 系统已建立产品模板数据模型。
    </td>
  </tr>
  <tr>
    <td>后置条件</td>
    <td>对应产品类型的报价模板维护完成，可供产品报价页面按产品类型加载使用。</td>
  </tr>
  <tr>
    <td>正常用例流程</td>
    <td>
      1. 用户点击“产品报价项管理”菜单。<br>
      2. 系统展示可维护的产品类型列表。<br>
      3. 用户选择某个产品类型，例如 GIS 或 WALK。<br>
      4. 系统加载该产品类型下的报价模板明细。<br>
      5. 用户新增或编辑类型、模块、功能、是否可选配、默认选配、工时、定价等信息。<br>
      6. 用户保存变更。<br>
      7. 系统校验数据完整性并保存模板。<br>
      8. 后续在产品报价页面中，系统可按对应产品类型加载最新模板进行报价计算。
    </td>
  </tr>
  <tr>
    <td>异常流程</td>
    <td>
      1. 用户无管理权限时，系统不允许进入产品报价项管理页面。<br>
      2. 必填字段缺失时，系统阻止保存并提示补全。<br>
      3. 模板项存在非法金额或非法工时时，系统阻止保存并提示修正。<br>
      4. 产品类型下无任何模板数据时，系统展示空状态，并允许用户新建模板。
    </td>
  </tr>
</table>
