﻿# PRD - 报价管理系统

**版本**：V1.1
**创建日期**：2026-04-20
**产品负责人**：耿功发

---

### 1. 概述

#### 1.1 背景

当前报价流程主要依赖 Excel 表格和人工协作推进。日本侧提出项目需求后，南京侧根据经验和既有表格进行人工报价，再交由日方确认。由于缺少统一的报价规则、价格参数和工时参数，同一项目在相同条件下可能由不同人员得出不同结果，造成报价不一致、解释困难、沟通成本高的问题。

与此同时，现有报价方式缺少清晰、可解释的计算逻辑，客户和内部协作方难以理解报价差异来源，容易对结果产生质疑。一次报价往往需要项目部与 CG 部门共同参与，整体周期长，且存在较高比例的争议和返工。

因此，需要建设一套报价管理系统，将原本分散在表格、经验和人工沟通中的报价逻辑沉淀为统一、标准、可追溯的系统能力，支撑报价流程规范化、透明化和高效化。

#### 1.2 目标

建设一个面向报价业务流程的报价管理系统，支持不同角色在统一规则下完成项目报价操作，提升报价效率、一致性与可解释性，并为后续设计、开发和测试提供清晰的产品基线。

本期目标包括：

1. 支持用户按标准流程完成一次报价：创建项目、选择产品/模块、填写参数、系统计算、保存报价。
2. 建立统一的报价规则、价格参数和工时参数，减少人工判断差异。
3. 支持不同权限角色在系统内完成各自职责范围内的管理与报价操作。
4. 形成可复用、可管理、可审计的系统化报价能力，逐步替代原有 Excel + 人工协作方式。

#### 1.3 关联文档

- MRD：[《报价管理系统-精简MRD》](../mrd/报价管理系统-精简MRD.md)
- 用例集：[待补充]
- 原始报价表：[待补充]
- 参数来源：[待补充]

#### 1.4 产品形态

报价管理系统由两个 Web 平台组成，均需用户登录后使用：

1. 前端报价平台：面向普通用户。普通用户通过用户名和密码登录，账号由管理员或超级管理员在后端管理平台创建，不提供用户自助注册功能。登录成功后进入前端报价平台，前端仅包含两个核心功能：项目列表、报价计算器。
2. 后端管理平台：面向超级管理员和管理员，承载项目管理、用户管理、价格配置、工时配置等后台管理能力。其中价格配置包含大楼配置、产品配置、税项配置；工时配置包含大楼配置、产品配置、动画配置。

两个平台共享同一套账号权限体系，但根据角色不同展示各自可访问的功能范围。

两个平台均需支持国际化，支持中文、日文、英文三种界面语言。用户可在界面中手动切换显示语言；首次进入系统时，默认语言根据浏览器语言设置自动匹配。

#### 1.5 角色定义

##### 1. 超级管理员

- 可查看全公司范围内的项目与报价数据。
- 可管理管理员账号。
- 可从全局视角统筹报价管理规则与使用范围。

##### 2. 管理员

- 负责管理自己创建的账号和项目。
- 负责维护报价规则、价格参数、工时参数。
- 负责配置项目可见范围及普通用户名单。
- 可在后端管理平台创建项目并将项目分配给一个或多个指定普通用户。
- 暂不参与项目报价。

##### 3. 普通用户

- 在被授权的项目范围内进行报价操作与查看报价结果。
- 按统一规则完成项目报价。
- 业务身份上分为南京报价人员、日本报价人员，两者在业务协作中共同参与报价确认。
- 可在前端项目列表中创建项目；项目创建后，创建人默认立即获得该项目的可见与报价权限。

#### 1.6 使用场景

典型场景为：日本侧提出项目需求后，相关用户登录系统，在前端报价平台中发起项目报价，按照统一规则选择产品与模块、填写必要参数，由系统自动计算报价结果并保存；管理员和超级管理员则通过后端管理平台维护账号、权限和报价规则，保障前端报价结果的一致性和可控性。

对于普通用户而言，进入系统后的主要使用路径为：

1. 登录前端报价平台。
2. 进入项目列表查看已有项目、创建项目，或进入指定项目。
3. 在报价计算器中完成产品选择、模块选择、参数填写与报价计算。
4. 保存当前报价结果，形成该项目下的一次报价记录。
5. 后续可在同一项目下继续新增报价。

对于管理员而言，可在后端管理平台创建项目并将项目分配给一个或多个指定普通用户。管理员和超级管理员默认拥有项目管理与查看权限，但暂不参与项目报价。

#### 1.7 核心流程

一次完整报价的基础流程如下：

1. 登录系统
2. 创建项目
3. 选择产品/模块
4. 填写参数
5. 系统计算
6. 保存报价

```mermaid
flowchart TD
    A([开始]) --> B[登录系统]
    B --> C[创建项目]
    C --> D[选择产品/模块]
    D --> E[填写参数]
    E --> F[系统计算]
    F --> G[保存报价]
    G --> H([结束])
```

#### 1.8 文档信息

| 字段 | 内容 |
|------|------|
| 文档编号 | PRD-002 |
| 文档类型 | 产品需求文档 |
| 功能名称 | quotation-management-system |
| 对应阶段 | 产品进入设计开发阶段 |
| 目标读者 | 产品、设计、开发、测试 |
| 状态 | 草稿 |
| 存放位置 | documents/prd |
| 说明 | 本文档用于定义报价管理系统的完整产品需求，作为后续设计、开发、测试协作基线。 |

#### 1.9 版本记录

| 版本号 | 更新内容 |
|--------|----------|
| V1.0 | 首版，包含：<br>1. 用户登录<br>2. 项目列表<br>3. 报价计算器<br>4. 后端项目管理<br>5. 后端用户管理<br>6. 价格配置 |
| V1.1 | 包含：<br>1. 价格配置归类调整（动画配置、系统收费并入产品配置）<br>2. 大楼交付结构与计价调整（`CITY VISITA` 调整为 `BUILDING VISTA 3D` 选配项，并同步调整基础价格与超出单价）<br>3. 色彩切换模块规则调整（补充 `2D / 3D` 配置结构、计价规则与折扣规则）<br>4. 色彩切换 `2D` 出图类型顺序调整（`CCG` 优先，`CQCG` 次之）<br>5. 系统收费模块规则调整（`homestation` 更名为 `HOMESTAGING`，并调整费用规则）<br>6. 后端项目管理补充 `追加报价` 能力（支持按模块选择、填写追加备注、比例与金额；审核通过后仍可继续追加，且追加报价不设次数限制） |

### 2. 功能需求矩阵

| 功能ID | 功能名称 | 关联用例 | 优先级 | 状态 |
|--------|---------|---------|--------|------|
| F001 | 用户登录 | 登录系统 | Must | 待补充 |
| F002 | 项目列表 | 创建项目 | Must | 待补充 |
| F003 | 报价计算器 | 选择产品/模块、填参数、系统计算、保存报价 | Must | 待补充 |
| F004 | 后端项目管理 | 后台项目维护与授权分配 | Must | 待补充 |
| F005 | 后端用户管理 | 后台账号与角色维护 | Must | 待补充 |
| F006 | 价格配置 | 维护价格规则与税项 | Must | 待补充 |
| F007 | 工时配置 | 维护工时参数 | Must | 待补充 |
| F008 | 系统管理 | 修改密码 | Must | 待补充 |

### 3. 功能详细说明

#### F001: 用户登录

**描述**：支持普通用户/管理员/超级管理员登录对应平台，并按角色进入可访问功能范围。

**交互流程**：
1. 用户进入前端报价平台或后端管理平台登录页。
2. 系统根据浏览器语言设置默认展示对应语言界面。
3. 用户输入账号和密码并提交登录。
4. 系统校验账号、密码和账号状态。
5. 若校验失败，系统提示错误信息并停留在当前登录页。
6. 若校验成功，系统根据用户角色判断其可访问的平台和功能范围。
7. 普通用户登录成功后进入前端报价平台；管理员和超级管理员登录成功后进入后端管理平台。
8. 用户首次使用初始密码登录成功后，系统自动跳转至 `系统管理 - 修改密码` 页面。
9. 用户完成首次密码修改后，进入对应平台首页，并仅展示当前角色有权限访问的页面、菜单和操作。

**界面原型**：见「原型与交互说明」

[当前已明确：
- 密码规则：密码长度不少于 `8` 位，需同时包含字母和数字，区分大小写；用户首次登录成功后可修改密码，新密码不得与当前密码相同。
- 异常提示：账号不存在或密码错误时，统一提示“账号不存在或密码错误”；账号被禁用时，提示“账号已停用，请联系管理员”；账号或密码为空时，提示“请输入账号和密码”；系统异常时，提示“登录失败，请稍后重试”。
- 忘记密码策略：前端不提供自助找回密码功能；用户忘记密码后需联系管理员，由管理员在后端用户管理中重置密码。
- 首次登录要求：所有用户首次使用管理员配置的初始密码登录成功后，系统自动进入 `修改密码` 页面；完成密码修改后方可进入对应平台继续使用；若后续密码被管理员重置，则按首次登录规则重新处理。]

- 前端报价平台采用用户名 + 密码登录方式。
- 不提供注册功能。
- 普通用户账号由管理员或超级管理员在后端管理平台创建。
- 用户初始密码由管理员在后台配置。
- 用户首次登录成功后，系统应自动引导其进入修改密码流程；完成首次修改后，后续可自行修改密码。
- 前端报价平台与后端管理平台均支持中文、日文、英文三种语言显示。
- 用户可在界面中手动切换当前显示语言。
- 用户首次进入系统时，默认语言根据浏览器语言设置自动匹配。
- 普通用户登录成功后进入前端报价平台。
- 登录后仅展示普通用户有权限访问的页面与功能。

#### F002: 项目列表

**描述**：支持创建项目、查看项目列表、查看历史报价记录，并在授权范围内进入项目进行报价。

**交互流程**：
1. 普通用户登录成功后进入前端项目列表页。
2. 系统加载并展示当前用户有权限查看的项目列表。
3. 用户可在项目列表中查看项目基础信息，并展开查看该项目下的历史报价记录。
4. 普通用户可在项目列表中创建项目；项目创建成功后，创建人默认获得该项目的可见权限与报价权限。
5. 管理员可在后端管理平台创建项目，并为项目分配一个或多个指定普通用户。
6. 用户可在有权限的项目下点击 `新建报价` 进入空白报价计算器，或从历史报价记录点击 `复制` 进入带原报价内容的报价计算器。
7. 用户进入指定项目后，在授权范围内完成报价查看、报价新增和历史报价复制操作。

**界面原型**：见「原型与交互说明」

[当前已明确：
- 筛选条件：支持按项目名称、客户名称、区域、销售人员搜索或筛选，支持按创建时间范围筛选。
- 排序规则：默认按创建时间倒序排列，最新创建的项目优先展示；支持按创建时间正序/倒序切换。]

- 普通用户登录成功后默认进入项目列表。
- 项目列表用于展示当前用户有权限查看或操作的项目。
- 项目创建入口位于项目列表页面。
- 普通用户可以创建项目。
- 管理员可在后端管理平台创建项目。
- 普通用户创建项目时，项目创建人默认立即拥有该项目的可见权限与报价权限。
- 管理员创建项目时，可将项目分配给一个或多个指定普通用户；管理员和超级管理员暂不参与项目报价。
- 普通用户创建项目时，默认至少仅创建人本人可见；管理员后续可补充配置其他可见人员。
- 凡是有权限查看该项目的用户，均可在该项目下新建报价。
- 用户可从项目列表进入指定项目的报价计算器。
- 点击“新建项目”后，系统以弹窗形式展示项目创建表单。
- 当前已明确的项目创建字段包括：
  - 项目名称：必填。
  - 客户名称：选填。
  - 区域：选填，自由输入。
  - 销售人员：选填，自由输入。
  - 备注：选填，多行文本。
- 项目列表当前已明确的展示字段包括：
  - 项目编号
  - 项目名称
  - 客户名称
  - 区域
  - 销售人员
  - 报价次数
  - 创建时间
  - 操作
- 项目列表暂不展示状态字段。
- 一个项目可包含多次报价记录，报价次数用于展示当前项目下已保存的报价记录总数。
- 项目列表应支持查看历史报价记录。
- 建议交互为：用户可在列表中点击展开某个项目，查看该项目下的所有历史报价记录。
- 在项目列表中点击“新建报价”时，应进入一份空白报价。
- 历史报价记录当前已明确的展示字段包括：
  - 报价单编号
  - 报价人
  - 报价时间
  - 报价金额
  - 状态（待提交审核、审核通过、审核不通过）
  - 备注
  - 操作（查看、复制）
- 追加报价生成后的记录也应在历史报价记录列表中体现，作为该项目历史报价的一部分统一展示。

#### F003: 报价计算器

**描述**：支持产品/模块选择、参数填写、报价计算、报价预览与保存，形成可追溯的报价记录。

**交互流程**：
1. 用户从项目列表点击 `新建报价` 进入空白报价计算器，或从历史报价记录点击 `复制` 进入带原报价内容的报价计算器。
2. 系统加载报价计算器页面，并展示左侧配置区和右侧报价预览区。
3. 用户在左侧依次选择产品模块、填写参数，并根据需要新增、删除或切换模块实例。
4. 系统根据用户当前选择与输入内容，实时计算各模块小计和整单报价结果。
5. 右侧报价预览区同步展示当前报价结果、模块小计和关键参数摘要。
6. 用户首次填写报价内容完成后，可点击 `取消` 或 `保存报价`。
7. 点击 `取消` 时，系统关闭当前报价编辑流程，不保存本次修改。
8. 点击 `保存报价` 时，系统保存当前报价记录，并将报价状态标记为 `待提交审核`。
9. 报价保存成功后，系统将该记录归档到所属项目的历史报价记录列表中。
10. 用户后续从历史报价记录点击 `查看` 进入报价详情页时，若该报价状态为 `待提交审核`，则页面底部展示 `申请报价审核` 按钮。
11. 用户在报价详情页点击 `申请报价审核` 后，系统对该报价发起审核流程，并将报价状态更新为 `待审核`。

**界面原型**：见「原型与交互说明」

[当前已明确：
- 模块联动规则：不同模块的配置项、套餐项、追加项应按后台维护的价格规则和工时规则联动展示；当用户切换产品类型、展示方式、家具配置、面积规格等关键参数时，系统应同步刷新对应可选项、小计金额和报价预览内容；若已选择 `专有部VR`，则 `2D` 色彩切换模块按原价 `8 折` 计算；若未选择 `专有部VR`，则 `2D` 色彩切换模块不打折；`2D` 色彩切换额外收取 `200,000 日元` 系统费，且该系统费不参与折扣；`3D` 色彩切换不收取系统费；模块实例支持独立配置，一个模块中的修改不应错误影响其他模块实例；从历史报价复制进入时，系统应预填原报价内容，用户修改后另存为新的报价记录，不覆盖原记录。
- 参数校验规则：必填参数未填写时，系统应阻止保存报价或提交审核，并提示具体缺失项；数值型参数应校验最小值、最大值和输入格式，不允许输入非法值；单选、多选、步进器等字段应按预设规则限制输入范围；当参数组合不合法或存在冲突时，系统应明确提示冲突原因，并阻止提交。
- 报价预览明细展示规则：右侧报价预览区按模块展示报价结果，并显示模块小计和总报价；预览区应展示当前已选择或已填写的关键参数摘要，不展示未选择或默认值为空/零的无效项；多实例模块应分别展示每个实例的小计与摘要信息；当左侧参数发生变化时，右侧预览区应实时刷新；报价预览结果应与最终保存的报价记录保持一致。]

- 报价计算器是普通用户在前端平台中的核心操作页面。
- 用户可在该功能中完成选择产品/模块、填写参数、触发系统计算和保存报价。
- 报价计算器应基于后台维护的统一规则、价格参数和工时参数执行计算。
- 每次保存报价均应在所属项目下生成一条独立报价记录。
- 同一项目允许重复新增报价，不覆盖既有历史报价记录。
- 从项目列表点击“新建报价”进入报价计算器时，系统应提供空白报价初始态。
- 用户可基于历史报价记录执行复制操作，快速生成新的报价内容作为后续报价基础。
- 从历史报价记录点击“复制”进入报价计算器时，系统应基于被复制报价预填原有内容，供用户继续修改并另存为新的报价记录。
- 报价计算器页面底部当前包含以下操作按钮：
  - 取消
  - 保存报价
- 当用户点击 `保存报价` 时，系统保存当前报价记录，且该报价状态标记为 `待提交审核`。
- 用户从历史报价记录点击 `查看` 进入报价详情页时，若当前报价状态为 `待提交审核`，则详情页底部展示 `申请报价审核` 按钮。
- 当用户点击 `申请报价审核` 时，系统对当前报价发起审核流程，且该报价状态标记为 `待审核`。
- 报价计算器页面分为左右两个区域：
  - 左侧为配置区。
  - 右侧为报价预览区。
- 左侧配置区当前已明确包含以下模块：
  - 楼宇
  - 专有部
  - 色彩切换
  - 共用部
  - 办公室
  - 动画
  - 系统收费
- 用户通过左侧配置区逐步完成模块配置后，右侧报价预览区同步展示报价结果。
- 楼宇模块当前已明确分为三块：
  - 大楼
  - 项目场地条件
  - 大楼交付

##### 1. 楼宇模块

- 楼宇模块用于配置与单栋楼宇相关的主体信息、场地条件和交付内容。
- 楼宇模块支持维护多个“大楼实例”。
- 用户可新增大楼、切换当前编辑的大楼、删除当前大楼。
- 楼宇模块顶部显示当前已添加的大楼实例数量。
- 用户至少新增一栋大楼并选择至少一个大楼交付项后，才视为完成楼宇模块的有效配置。
- 楼宇模块参数定义规则如下：
  - 字段名称后括号内内容为参数单位。
  - 若括号内包含 `/`，则表示该字段为单选项。
  - 其余带单位字段默认为数值输入。
  - 数值型参数默认值为 `0`。
  - 单选项默认不选中。

###### 1. 大楼

- 大楼区域按“大楼实例”维度配置。
- 每个大楼实例均有独立的小计金额。
- 当前已明确的大楼实例字段包括：
  - 楼宇名称：自由输入。
  - 层数：步进器输入，单位为“层”。
  - 体型类型：单选，当前选项包括“一字”“L型”“回字”。
  - 阳台外立面数：步进器输入，单位为“面”。
  - 错层外立面数：步进器输入，单位为“面”。
  - 退台/大露台数量：步进器输入，单位为“处”。
  - 屋顶类型：单选，当前选项包括“平屋顶”“露台屋顶”。
  - 屋顶特殊构筑物：
    - 立体停机坪：步进器输入，单位为“处”。
    - 设备平台：步进器输入，单位为“处”。
    - 太阳能区：步进器输入，单位为“处”。
  - 外露楼梯：步进器输入，单位为“处”。
  - 连廊：步进器输入，单位为“处”。

###### 2. 项目场地条件

- 项目场地条件用于描述当前楼宇项目整体的场地环境，并按项目整体计价一次。
- 当前已明确的项目场地条件内容包括：
  - 标准制作包含：说明性展示项，不参与计价。
    - 水泥及铺装地面
    - 地面停车位
  - 景观大树：步进器输入，单位为“颗”。
  - 小灌木：步进器输入，单位为“㎡”。
  - 异形件：
    - 导视柱：步进器输入，单位为“个”。
    - 景观灯柱：步进器输入，单位为“根”。
    - 景观雕塑/装置：步进器输入，单位为“处”。
    - 定制大树：步进器输入，单位为“颗”。
    - 定制景观雕塑：步进器输入，单位为“处”。
  - 小管理用房：步进器输入，单位为“㎡”。
  - 机械车位：步进器输入，单位为“㎡”。
  - 自行车位：步进器输入，单位为“㎡”。
  - 停车楼：步进器输入，单位为“个”。
  - 庭院（含庭院围栏）：步进器输入，单位为“个”。
  - 硬质景观（例如水池、亭子等）：步进器输入，单位为“项”。
  - 门岗/大门：步进器输入，单位为“个”。
  - 围墙/围栏：单选，当前选项包括“无”“单侧”“双侧”“三侧”“全围合”。
  - 沟渠/排水沟：
    - 普通：步进器输入，单位为“条”。
    - 复杂：步进器输入，单位为“条”。
  - 地面高差：步进器输入，单位为“毫米”。

###### 3. 大楼交付

- 大楼交付用于配置当前大楼项目需要交付的成果类型。
- 大楼交付按每栋大楼实例分别配置。
- 每栋大楼均可独立选择自己的交付项。
- 大楼交付支持多选，但每栋大楼至少必须选择 1 项。
- 当前已明确的可选交付项包括：
  - BUILDING VISTA 3D
  - BUILDING VISTA Lite
  - 大楼追加静态图交付
- `CITY VISITA` 作为 `BUILDING VISTA 3D` 下的选配项展示与配置，不单独作为一级交付项出现。
- `大楼追加静态图交付`可以单独选择，不依赖其他交付项。
- 若任意一栋大楼未选择任何交付项，则不允许保存当前报价。

**BUILDING VISTA 3D**

- `BUILDING VISTA 3D` 为当前已定义的大楼交付选项之一。
- `CITY VISITA` 作为 `BUILDING VISTA 3D` 下的选配项进行配置。
- `BUILDING VISTA 3D` 默认基础价格为 `500,000 日元`。
- `BUILDING VISTA 3D` 默认包含基础包内容。
- 当前已明确的基础交付项为：`BUILDING VISTA 3D`。
- `BUILDING VISTA 3D` 基础包内容默认收起，不默认展示详细内容。
- 用户点击 `查看基础包内容` 后，系统展开显示基础包内容；展开后按钮文案变更为 `收起基础包内容`。
- 当前已明确的基础包内容包括：
  - 楼体展示
  - 环视相机
  - 隐藏周边
  - 操作指南
- `BUILDING VISTA 3D` 下方存在选配项区域。
- 当前已明确的选配项包括：
  - CITY VISITA：`600,000 日元`
  - 户型展示：`280,000 日元`（含 `100 户`）+ `1,200 日元/户`
  - 外景展示（眺望）：`280,000 日元`（含 `100 张`）+ `1,200 日元/张`
  - 飞行导航：`1,200 日元/导航点`

**BUILDING VISTA 3D 选配项：CITY VISITA**

- `CITY VISITA` 为 `BUILDING VISTA 3D` 下的选配项。
- `CITY VISITA` 默认基础价格为 `600,000 日元`。
- `CITY VISITA` 默认包含基础包内容。
- 当前已明确的基础交付项为：`广域再现（3D 沙盘）`。
- `CITY VISITA` 基础包内容默认收起，不默认展示详细内容。
- 用户点击 `查看基础包内容` 后，系统展开显示基础包内容；展开后按钮文案变更为 `收起基础包内容`。
- 当前已明确的基础包内容包括：
  - 楼体展示
  - Google 卫星地图展示
  - 环视相机
  - 隐藏周边
- `CITY VISITA` 下方存在选配项区域。
- 当前已明确的选配项之一为 `3D 住户表`。

**BUILDING VISTA 3D 选配项：CITY VISITA - 3D 住户表**

- `3D 住户表` 为一次性选配项。
- 默认基础价格为 `280,000 日元`。
- 默认包含 `100 户`。
- 该选配项一旦被选中，数量最小值为 `100`，不允许低于 `100`。
- 当数量不超过 `100 户` 时，不额外加价。
- 当数量超过 `100 户` 时，超出部分按 `1,200 日元/户` 加收。
- 该选配项被选中后，应展开详细配置卡片。
- 详细配置卡片当前已明确包含：
  - 数量：步进器输入，单位为“户”，默认值为 `100`。
  - 报价项介绍：在大楼建筑上展示住户表，超出部分的每户加收费用已包含对应的 WALK 设置费用。
  - 规则说明：基础价含 `100 户`，超出部分每户加收 `1,200 日元`（含 WALK 设置费用）。
- 该选配项的小计金额应根据数量实时计算并展示。
- 计算规则为：
  - 当数量 `<= 100` 时，小计 = `280,000 日元`
  - 当数量 `> 100` 时，小计 = `280,000 + (数量 - 100) * 1,200`

**BUILDING VISTA 3D 选配项：CITY VISITA - 城市数据展示**

- `城市数据展示` 为一次性选配项。
- 默认价格为 `240,000 日元`。
- 该选配项需与 `广域再现（3D 沙盘）` 配套使用。
- 该选配项被选中后，应展开详细配置卡片。
- 详细配置卡片当前已明确包含：
  - 报价项介绍：需与 `广域再现（3D 沙盘）` 配套，当前支持 `3` 种信息图层，其余图层待系统支持后开放。
  - 规则说明：
    - 包含范围：`3` 种信息图层。
    - 已支持图层：周边设施导览（图片）、交通路线图、点位标记。
    - 默认点位：上述 `3` 种图层合计默认包含 `50` 个点位。
    - 超出规则：超过 `50` 个点位后，超出部分按 `1,200 日元/点位` 加收。
    - 待支持图层：周边区域显示（分区）、灾害风险地图、学区、城市规划区域。
    - 增项规则：待支持图层上线后另行定价。
- 当前可按点位数量进行配置；不超过 `50` 个点位时按固定价格计费，超过 `50` 个点位时按超出部分追加计费。

**BUILDING VISTA 3D 选配项：CITY VISITA - 外景展示（眺望）**

- `外景展示（眺望）` 为一次性选配项。
- 默认基础价格为 `280,000 日元`。
- 默认包含 `100 张`。
- 该选配项一旦被选中，数量最小值为 `100`，不允许低于 `100`。
- 当数量不超过 `100 张` 时，不额外加价。
- 当数量超过 `100 张` 时，超出部分按 `1,200 日元/张` 加收。
- 该选配项被选中后，应展开详细配置卡片。
- 详细配置卡片当前已明确包含：
  - 数量：步进器输入，单位为“张”，默认值为 `100`。
  - 报价项介绍：GIS 中的外景展示与眺望能力，按张数计费。
  - 规则说明：基础价含 `100 张`，超出部分每张加收 `1,200 日元`。
- 该选配项的小计金额应根据数量实时计算并展示。
- 计算规则为：
  - 当数量 `<= 100` 时，小计 = `280,000 日元`
  - 当数量 `> 100` 时，小计 = `280,000 + (数量 - 100) * 1,200`

**BUILDING VISTA 3D 选配项：CITY VISITA - 人视眺望**

- `人视眺望` 为按量计费选配项。
- 按 `1,200 日元/眺望点` 计费。
- 该选配项一旦被选中，数量最小值为 `1`，不允许低于 `1`。
- 该选配项被选中后，应展开详细配置卡片。
- 详细配置卡片当前已明确包含：
  - 数量：步进器输入，单位为“眺望点”，默认值为 `1`。
  - 报价项介绍：GIS 中的人视角眺望能力，按眺望点数量计费。
  - 规则说明：按量计费，每个眺望点 `1,200 日元`。
- 该选配项的小计金额应根据数量实时计算并展示。
- 计算规则为：
  - 小计 = `数量 * 1,200`

**BUILDING VISTA 3D 选配项：CITY VISITA - 飞行导航**

- `飞行导航` 为按量计费选配项。
- 按 `1,200 日元/导航点` 计费。
- 该选配项一旦被选中，数量最小值为 `1`，不允许低于 `1`。
- 该选配项被选中后，应展开详细配置卡片。
- 详细配置卡片当前已明确包含：
  - 数量：步进器输入，单位为“导航点”，默认值为 `1`。
  - 报价项介绍：GIS 中的飞行路径导航能力，按导航点数量计费。
  - 规则说明：按量计费，每个导航点 `1,200 日元`。
- 该选配项的小计金额应根据数量实时计算并展示。
- 计算规则为：
  - 小计 = `数量 * 1,200`

**BUILDING VISTA 3D 选配项：户型展示**

- `户型展示` 为一次性选配项。
- 默认基础价格为 `280,000 日元`。
- 默认包含 `100 户`。
- 该选配项一旦被选中，数量最小值为 `100`，不允许低于 `100`。
- 当数量不超过 `100 户` 时，不额外加价。
- 当数量超过 `100 户` 时，超出部分按 `1,200 日元/户` 加收。
- 该选配项被选中后，应展开详细配置卡片。
- 详细配置卡片当前已明确包含：
  - 数量：步进器输入，单位为“户”，默认值为 `100`。
  - 报价项介绍：在 `3D 大楼建筑` 上展示住户表，超出部分的每户加收费用已包含对应的 WALK 设置费用。
  - 规则说明：基础价含 `100 户`，超出部分每户加收 `1,200 日元`（含 WALK 设置费用）。
- 该选配项的小计金额应根据数量实时计算并展示。
- 计算规则为：
  - 当数量 `<= 100` 时，小计 = `280,000 日元`
  - 当数量 `> 100` 时，小计 = `280,000 + (数量 - 100) * 1,200`

**BUILDING VISTA 3D 选配项：外景展示（眺望）**

- `外景展示（眺望）` 为一次性选配项。
- 默认基础价格为 `280,000 日元`。
- 默认包含 `100 张`。
- 该选配项一旦被选中，数量最小值为 `100`，不允许低于 `100`。
- 当数量不超过 `100 张` 时，不额外加价。
- 当数量超过 `100 张` 时，超出部分按 `1,200 日元/张` 加收。
- 该选配项被选中后，应展开详细配置卡片。
- 详细配置卡片当前已明确包含：
  - 数量：步进器输入，单位为“张”，默认值为 `100`。
  - 报价项介绍：`3D 大楼` 中的外景展示与眺望能力，按张数计费。
  - 规则说明：基础价含 `100 张`，超出部分每张加收 `1,200 日元`。
- 该选配项的小计金额应根据数量实时计算并展示。
- 计算规则为：
  - 当数量 `<= 100` 时，小计 = `280,000 日元`
  - 当数量 `> 100` 时，小计 = `280,000 + (数量 - 100) * 1,200`

**BUILDING VISTA 3D 选配项：飞行导航**

- `飞行导航` 为按量计费选配项。
- 按 `1,200 日元/导航点` 计费。
- 该选配项一旦被选中，数量最小值为 `1`，不允许低于 `1`。
- 该选配项被选中后，应展开详细配置卡片。
- 详细配置卡片当前已明确包含：
  - 数量：步进器输入，单位为“导航点”，默认值为 `1`。
  - 报价项介绍：`3D 大楼` 中的飞行路径导航能力，按导航点数量计费。
  - 规则说明：按量计费，每个导航点 `1,200 日元`。
- 该选配项的小计金额应根据数量实时计算并展示。
- 计算规则为：
  - 小计 = `数量 * 1,200`

**BUILDING VISTA Lite**

- `BUILDING VISTA Lite` 为当前已定义的大楼交付选项之一。
- `BUILDING VISTA Lite` 默认基础价格为 `33,750 日元`。
- `BUILDING VISTA Lite` 默认包含基础包内容。
- 当前已明确的基础交付项为：`BUILDING VISTA Lite`。
- `BUILDING VISTA Lite` 基础包内容默认收起，不默认展示详细内容。
- 用户点击 `查看基础包内容` 后，系统展开显示基础包内容；展开后按钮文案变更为 `收起基础包内容`。
- 当前已明确的基础包内容包括：
  - 场景搭建
  - 角度调整
  - 隐藏周边
  - 全屏展示
  - 回到初始视角
  - 操作指南
  - 重要提示
  - 项目导入支援
- `BUILDING VISTA Lite` 下方存在选配项区域。
- 当前已明确的选配项包括：
  - 键盘操作：`0 日元`
  - 隐藏周边：`0 日元`
  - 全屏展示：`0 日元`
  - 重要提示：`0 日元`
- 上述选配项默认选中。
- 上述选配项允许用户取消选中。
- 当前未定义额外数量参数，选中或取消均不影响价格，小计仍保持 `0 日元`。

**大楼追加静态图交付**

- `大楼追加静态图交付` 为当前已定义的大楼交付选项之一。
- 用于在已制作楼宇基础上追加输出静态图。
- 当前按数量计费。
- 默认基础价格为 `120,000 日元/张`。
- 该交付项一旦被选中，数量最小值为 `1`，不允许低于 `1`。
- 数量通过步进器输入，单位为“张”，默认值为 `1`。
- 该交付项的小计金额应根据数量实时计算并展示。
- 计算规则为：
  - 小计 = `数量 * 120,000`
- 当前无可报价子项。

##### 2. 专有部模块

- 专有部模块用于按户型逐条配置套餐、数量与追加项。
- 专有部模块顶部显示当前已添加的实例数量。
- 专有部模块提供 `新增同类模块` 按钮，用于新增新的专有部实例。
- 当专有部模块尚无实例时，页面展示空状态提示，引导用户点击 `新增同类模块` 按钮添加新实例。
- 点击 `新增同类模块` 后，系统新增一条专有部实例配置卡片。
- 每条专有部实例当前已明确包含以下外层字段与操作：
  - 实例名称：自由输入，默认示例为 `专有部 1`。
  - 数量：步进器输入，默认值为 `1`。
  - 小计金额：根据当前套餐与追加项实时计算。
  - 删除：用于删除当前专有部实例。
- 每条专有部实例包含三组套餐选择项：
  - 展示方式：单选，当前选项包括 `视点VR`、`Walk VR`、`投影(3面)`、`投影(单面)`。
  - 家具/配置：单选，当前选项包括 `全屋有家具`、`全屋无家具`、`LDK有家具`、`LDK无家具`。
  - 面积/规格：单选，候选项会根据当前已选展示方式与家具/配置动态变化。
- 用户完成上述三组选择后，系统生成当前套餐摘要，用于展示当前选中的组合结果。
- 当前界面中已出现的套餐摘要示例为：`视点VR · 全屋有家具 · 70㎡未满 · CQCG`。
- 已确认：`展示方式` 会影响当前套餐小计金额与套餐摘要。
- 已确认：`面积/规格` 的可选区间并非固定不变，而是会随当前套餐组合变化。
- 当前已观测到的 `视点VR` 组合示例包括：
  - `视点VR · 全屋有家具 · 70㎡未满 · CQCG`，对应示例小计为 `387,500 日元`
  - `视点VR · 全屋有家具 · 70-100㎡ · CQCG`，对应示例小计为 `395,000 日元`
  - `视点VR · 全屋有家具 · 100-150㎡ · CQCG`，对应示例小计为 `405,000 日元`
  - `视点VR · 全屋有家具 · 150-200㎡ · CQCG`，对应示例小计为 `450,000 日元`
  - `视点VR · 全屋有家具 · 200㎡以上 · CQCG`，对应示例小计为 `500,000 日元`
  - `视点VR · 全屋无家具 · 150㎡未满 · CQCG`，对应示例小计为 `210,000 日元`
  - `视点VR · 全屋无家具 · 150㎡以上 · CQCG`，对应示例小计为 `240,000 日元`
  - `视点VR · LDK有家具 · 70㎡未满 · CQCG`，对应示例小计为 `146,000 日元`
  - `视点VR · LDK有家具 · 70-100㎡ · CQCG`，对应示例小计为 `153,000 日元`
  - `视点VR · LDK有家具 · 100-150㎡ · CQCG`，对应示例小计为 `160,000 日元`
  - `视点VR · LDK有家具 · 150㎡以上 · CQCG`，对应示例小计为 `182,000 日元`
  - `视点VR · LDK无家具 · 150㎡未满 · CQCG`，对应示例小计为 `80,000 日元`
  - `视点VR · LDK无家具 · 150㎡以上 · CQCG`，对应示例小计为 `100,000 日元`
- 当前已观测到的 `Walk VR` 组合示例包括：
  - `Walk VR · 全屋有家具 · 70㎡未满 · CQCG`，对应示例小计为 `398,000 日元`
  - `Walk VR · 全屋有家具 · 70-100㎡ · CQCG`，对应示例小计为 `430,000 日元`
  - `Walk VR · 全屋有家具 · 100-150㎡ · CQCG`，对应示例小计为 `450,000 日元`
  - `Walk VR · 全屋无家具 · 70㎡未满 · CQCG`，对应示例小计为 `358,800 日元`
  - `Walk VR · 全屋无家具 · 70-100㎡ · CQCG`，对应示例小计为 `418,000 日元`
  - `Walk VR · 全屋无家具 · 100-150㎡ · CQCG`，对应示例小计为 `475,200 日元`
  - `Walk VR · LDK有家具 · 70㎡未满 · CQCG`，对应示例小计为 `316,800 日元`
  - `Walk VR · LDK有家具 · 70-100㎡ · CQCG`，对应示例小计为 `338,000 日元`
  - `Walk VR · LDK有家具 · 100-150㎡ · CQCG`，对应示例小计为 `398,000 日元`
  - `Walk VR · LDK无家具 · 150㎡未满 · CQCG`，对应示例小计为 `284,480 日元`
- 当前已观测到的 `投影(3面)` 组合示例包括：
  - `投影(3面) · 全屋有家具 · 70㎡未满 · CQCG`，对应示例小计为 `350,000 日元`
  - `投影(3面) · 全屋有家具 · 70-100㎡ · CQCG`，对应示例小计为 `370,000 日元`
  - `投影(3面) · 全屋有家具 · 100-150㎡ · CQCG`，对应示例小计为 `390,000 日元`
  - `投影(3面) · 全屋有家具 · 150㎡以上 · CQCG`，对应示例小计为 `420,000 日元`
  - `投影(3面) · 全屋无家具 · 150㎡未满 · CQCG`，对应示例小计为 `200,000 日元`
  - `投影(3面) · 全屋无家具 · 150㎡以上 · CQCG`，对应示例小计为 `230,000 日元`
- 当前已观测到的 `投影(单面)` 组合示例包括：
  - `投影(单面) · 全屋有家具 · 70㎡未满 · CQCG`，对应示例小计为 `320,000 日元`
  - `投影(单面) · 全屋有家具 · 70-100㎡ · CQCG`，对应示例小计为 `340,000 日元`
  - `投影(单面) · 全屋有家具 · 100-150㎡ · CQCG`，对应示例小计为 `350,000 日元`
  - `投影(单面) · 全屋有家具 · 150㎡以上 · CQCG`，对应示例小计为 `390,000 日元`
  - `投影(单面) · 全屋无家具 · 150㎡未满 · CQCG`，对应示例小计为 `160,000 日元`
  - `投影(单面) · 全屋无家具 · 150㎡以上 · CQCG`，对应示例小计为 `220,000 日元`
- 每条专有部实例包含 `追加项` 区域。
- 追加项区域以复选框列表形式展示可追加内容，每项展示名称与价格。
- 当前已明确：`展示方式` 的选择不会改变下方追加项清单。
- `追加项` 是否随 `家具/配置` 或 `面积/规格` 变化待后续确认。
- 部分同名追加项在不同组合下价格可能不同。
- 追加项价格清单（按截图观测）包括：
  - `追加制作房间`：`50,000 日元/房间`、`60,000 日元/房间`
  - `庭园/阳台/露台追加制作（50㎡未满）`：`100,000 日元/处`、`200,000 日元/处`
  - `庭园/阳台/露台追加制作（100㎡未满）`：`150,000 日元/处`、`220,000 日元/处`
  - `追加家具模型`：`10,000 日元/个`、`15,000 日元/个`
  - `追加展示视点`：`28,000 日元/视点`、`40,000 日元/视点`
  - `BIM模型`：`56,000 日元/个`
  - `收纳柜（单个）`：`15,000 日元/个`、`20,000 日元/个`
  - `收纳柜（全屋/户）`：`50,000 日元/户`、`70,000 日元/户`
  - `收纳柜展示视点追加`：`10,000 日元/视点`、`15,000 日元/视点`
  - `硬装材质`：`20,000 日元/处`
  - `家具库内软装替换`：`4,000 日元/处`、`7,000 日元/处`
  - `模型制作（家具/照明等）`：`10,000 日元/个`
  - `小物制作（3-5件/组）`：`10,000 日元/组`
  - `硬装模型制作（门窗等）`：`15,000 日元/组`
  - `室内静态图追加（基于已做全景）`：`20,000 日元/张`、`40,000 日元/张`
  - `室内静态图制作（独立制作）`：`60,000 日元/张`、`70,000 日元/张`
  - `夜景追加（全景）`：`30,000 日元/项`、`40,000 日元/项`
  - `柜门/柜体开闭追加`：`15,000 日元/组`
  - `窗外/阳台景色（静态）`：`8,000 日元/张`、`10,000 日元/张`
  - `阳台全景CG图片`：`45,000 日元/张`、`75,000 日元/张`
  - `阳台静态CG图片`：`30,000 日元/张`、`40,000 日元/张`
  - `追加子户型（有家具·70㎡未满）`：`60,000 日元/户型`、`80,000 日元/户型`
  - `追加子户型（有家具·70-100㎡）`：`70,000 日元/户型`、`90,000 日元/户型`
  - `追加子户型（有家具·100-150㎡）`：`80,000 日元/户型`、`100,000 日元/户型`
  - `追加子户型（有家具·150-200㎡）`：`100,000 日元/户型`、`110,000 日元/户型`
  - `追加子户型（无家具·150㎡未满）`：`60,000 日元/户型`、`80,000 日元/户型`
  - `追加子户型（无家具·150㎡以上）`：`80,000 日元/户型`、`100,000 日元/户型`
  - `LDK以外追加VR制作（有家具）`：`35,000 日元/区域`、`65,000 日元/区域`
  - `LDK以外追加VR制作（无家具）`：`25,000 日元/区域`、`46,000 日元/区域`
  - `Dollhouse追加制作（有家具）`：`70,000 日元/套`
  - `Dollhouse追加制作（无家具）`：`45,000 日元/套`
  - `2D颜色选择`：`45,000 日元/套`、`55,000 日元/套`
  - `3D颜色选择`：`55,000 日元/套`、`70,000 日元/套`
- 追加项的精确适用组合、数量规则、互斥关系与最终计价方式待后续继续补充。

##### 3. 色彩切换模块

- 色彩切换模块用于对室内场景进行多风格色彩切换报价配置。
- 色彩切换模块当前支持 `2D` 和 `3D` 两种内容类型。
- 色彩切换模块在左侧配置区中展示，用户可在该模块中完成展示方式选择，并根据不同展示方式进入对应配置流程；右侧报价预览区同步展示当前选择与数量。
- 当前已明确的配置流程如下：
  - 展示方式：选择 `2D` 或 `3D`（单选，必选）。
  - 当展示方式选择 `2D` 时：
    - 下一级选择出图类型（单选，必选）：`CCG`、`CQCG`。
    - 再下一级选择场景（可多选）：`LDK`、`厕所`、`洗面室`、`浴室`。
    - 再下一级选择风格套系和部件。
      - 交互规则：风格套系和部件按场景展示；每个部件提供“是否选择 + 数量”配置；当部件被选中时，数量最小值为 `1`；未选中时数量不计入报价（可显示为 `0` 或隐藏输入框，最终样式由 UI 设计确定）。
      - LDK：柜门、台面、高低台、燃气灶
      - 厕所：柜门、台面
      - 洗面室：柜门、三面镜下
      - 浴室：浴缸形状、照明
  - 当展示方式选择 `3D` 时：
    - 当前仅支持 `LDK` 场景。
    - `LDK` 场景下展示 `阳室配置` 选项：
      - 带阳室
      - 不带阳室
    - `LDK` 场景支持配置 `风格套系` 数量，数量输入最小值为 `1`。
    - 当前已明确的价格口径：
      - `LDK + 带阳室`：`185,000 日元/套`
      - `LDK + 不带阳室`：`150,000 日元/套`
    - 配置卡片应展示当前场景名称、阳室配置、风格套系数量和对应小计金额。
- 当前已明确的 `2D` 计价规则如下：
  - 每个场景单独计价。
  - 当出图类型选择 `CQCG` 时，场景基础价格为 `55,000 日元/场景`。
  - 当出图类型选择 `CCG` 时，场景基础价格为 `75,000 日元/场景`。
  - 同一场景下，普通部件按 `15,000 日元/部件` 计价。
  - 若选择浴室场景下的 `浴缸形状`，则该部件按 `20,000 日元/项` 计价。
  - `2D` 色彩切换额外收取 `200,000 日元` 系统费。
- 参数校验规则：
  - 必须选择展示方式（`2D` 或 `3D`）。
  - 当展示方式选择 `2D` 时，必须选择出图类型（`CCG` 或 `CQCG`）。
  - 当展示方式选择 `2D` 时，至少必须选择 `1` 个场景。
  - 当展示方式选择 `2D` 且已选择某个部件时，该部件数量必须为 `>= 1` 的整数。
  - 当展示方式选择 `3D` 时，必须选择 `LDK` 场景下的阳室配置（`带阳室` 或 `不带阳室`）。
  - 当展示方式选择 `3D` 时，风格套系数量必须为 `>= 1` 的整数。
- 计价方式说明：
  - 色彩切换的最终计价规则（展示方式、出图类型、场景、风格套系与部件如何参与计价）由后台计价规则配置，当前 PRD 仅定义前端字段与交互。
  - 当前已明确的 `2D` 计价口径可按“系统费 `200,000 日元` + 各场景基础价格 + 已选部件价格之和”理解；其中 `浴缸形状` 使用单独价格口径。
  - 若当前报价已选择 `专有部VR`，则 `2D` 色彩切换模块按原价 `8 折` 计算。
  - 若当前报价未选择 `专有部VR`，则 `2D` 色彩切换模块不打折。
  - `2D` 色彩切换中的 `200,000 日元` 系统费不参与上述折扣，始终按原价计算。
  - `3D` 色彩切换不收取系统费。
  - 当前已明确的 `3D` 计价口径可按“`LDK` 场景基础价格（区分带/不带阳室） * 风格套系数量”理解。

##### 4. 共用部模块

- 共用部模块用于按区域逐条配置共用部套餐、面积与追加项。
- 共用部模块顶部显示当前已添加的实例数量。
- 共用部模块提供 `新增同类模块` 按钮，用于新增新的共用部实例。
- 每条共用部实例当前已明确包含以下外层字段与操作：
  - 实例名称：自由输入，默认示例为 `共用部 1`。
  - 小计金额：根据当前套餐与追加项实时计算。
  - 删除：用于删除当前共用部实例。
- 每条共用部实例包含三组套餐选择项：
  - 展示方式：单选，当前选项包括 `视点VR`、`Walk VR`。
  - 家具/配置：单选，当前选项包括 `室内有家具`、`室外有家具`。
  - 面积/规格：单选；可选区间会随当前已选 `展示方式` + `家具/配置` 动态变化（以下为当前截图中观测到的选项集合）：
    - 当 `展示方式=视点VR` 且 `家具/配置=室内有家具`：`20㎡未满`、`20-50㎡`、`50-90㎡`、`90-150㎡`、`150-200㎡`、`200㎡以上`
    - 当 `展示方式=视点VR` 且 `家具/配置=室外有家具`：`100㎡以内`、`100-150㎡`、`150-200㎡`、`200-250㎡`
    - 当 `展示方式=Walk VR` 且 `家具/配置=室内有家具`：`70㎡未满`、`70-100㎡`、`100-150㎡`、`150㎡以上`
    - 当 `展示方式=Walk VR` 且 `家具/配置=室外有家具`：`100㎡以内`、`100-150㎡`、`150-200㎡`、`200-250㎡`
- 用户完成上述三组选择后，系统生成当前套餐摘要，用于展示当前选中的组合结果。
- 当前界面中已出现的套餐摘要示例为：`视点VR · 室内有家具 · 20㎡未满 · CQCG`。
- 当前已观测到的共用部套餐组合示例包括：
  - `视点VR · 室内有家具 · 20㎡未满 · CQCG`，对应示例小计为 `170,000 日元`
  - `视点VR · 室内有家具 · 20-50㎡ · CQCG`，对应示例小计为 `220,000 日元`
  - `视点VR · 室内有家具 · 50-90㎡ · CQCG`，对应示例小计为 `250,000 日元`
  - `视点VR · 室内有家具 · 90-150㎡ · CQCG`，对应示例小计为 `280,000 日元`
  - `视点VR · 室内有家具 · 150-200㎡ · CQCG`，对应示例小计为 `320,000 日元`
  - `视点VR · 室内有家具 · 200㎡以上 · CQCG`，对应示例小计为 `374,000 日元`
  - `视点VR · 室外有家具 · 100㎡以内 · CQCG`，对应示例小计为 `200,000 日元`
  - `视点VR · 室外有家具 · 100-150㎡ · CQCG`，对应示例小计为 `270,000 日元`
  - `视点VR · 室外有家具 · 150-200㎡ · CQCG`，对应示例小计为 `340,000 日元`
  - `视点VR · 室外有家具 · 200-250㎡ · CQCG`，对应示例小计为 `400,000 日元`
  - `Walk VR · 室内有家具 · 70㎡未满 · CQCG`，对应示例小计为 `370,000 日元`
  - `Walk VR · 室内有家具 · 70-100㎡ · CQCG`，对应示例小计为 `400,000 日元`
  - `Walk VR · 室内有家具 · 100-150㎡ · CQCG`，对应示例小计为 `450,000 日元`
  - `Walk VR · 室内有家具 · 150㎡以上 · CQCG`，对应示例小计为 `510,000 日元`
  - `Walk VR · 室外有家具 · 100㎡以内 · CQCG`，对应示例小计为 `270,000 日元`
  - `Walk VR · 室外有家具 · 100-150㎡ · CQCG`，对应示例小计为 `330,000 日元`
  - `Walk VR · 室外有家具 · 150-200㎡ · CQCG`，对应示例小计为 `408,000 日元`
  - `Walk VR · 室外有家具 · 200-250㎡ · CQCG`，对应示例小计为 `470,000 日元`
- 每条共用部实例包含 `追加项` 区域。
- 已确认：无论共用部实例选择哪种 `展示方式` / `家具/配置` / `面积/规格`，下方 `追加项` 清单与价格口径均保持一致（不随选择变化）。
- 共用部追加项清单（按截图观测到的条目与价格）：
  - `窗外植物`：`59,000 日元/视点`、`130,000 日元/视点`
  - `窗外眺望`：`15,000 日元/区域`、`30,000 日元/区域`
  - `室内静态图（基于全景）`：`39,000 日元/张`、`52,000 日元/张`
  - `室内静态图（独立制作）`：`154,000 日元/张`、`180,000 日元/张`
  - `室外静态图（基于全景）`：`51,000 日元/张`、`64,000 日元/张`
  - `室外静态图（独立制作）`：`180,000 日元/张`、`243,000 日元/张`

##### 5. 办公室模块

- 办公室模块用于按办公空间逐条配置展示规格、面积与追加项。
- 办公室模块顶部显示当前已添加的实例数量。
- 办公室模块提供 `新增同类模块` 按钮，用于新增新的办公室实例。
- 每条办公室实例当前已明确包含以下外层字段与操作：
  - 实例名称：自由输入，默认示例为 `办公室 1`。
  - 小计金额：根据当前套餐与追加项实时计算。
  - 删除：用于删除当前办公室实例。
- 每条办公室实例包含三组套餐选择项：
  - 展示方式：单选；当前截图仅观测到 `视点VR`（固定展示，无其他选项）。
  - 家具/配置：单选，当前选项包括 `水泥结构`、`有家具`。
  - 面积/规格：单选，当前选项包括 `30㎡以内`、`30-50㎡`、`50-100㎡`、`100-200㎡`、`200-300㎡`、`300㎡以上`。
- 用户完成上述三组选择后，系统生成当前套餐摘要，用于展示当前选中的组合结果。
- 当前界面中已出现的套餐摘要示例为：`视点VR · 水泥结构 · 30㎡以内`。
- 当前已观测到的办公室套餐组合示例包括：
  - `视点VR · 水泥结构 · 30㎡以内`，对应示例小计为 `70,000 日元`
  - `视点VR · 水泥结构 · 30-50㎡`，对应示例小计为 `90,000 日元`
  - `视点VR · 水泥结构 · 50-100㎡`，对应示例小计为 `110,000 日元`
  - `视点VR · 水泥结构 · 100-200㎡`，对应示例小计为 `130,000 日元`
  - `视点VR · 水泥结构 · 200-300㎡`，对应示例小计为 `170,000 日元`
  - `视点VR · 水泥结构 · 300㎡以上`，对应示例小计为 `200,000 日元`
  - `视点VR · 有家具 · 30㎡以内`，对应示例小计为 `130,000 日元`
  - `视点VR · 有家具 · 30-50㎡`，对应示例小计为 `160,000 日元`
  - `视点VR · 有家具 · 50-100㎡`，对应示例小计为 `210,000 日元`
  - `视点VR · 有家具 · 100-200㎡`，对应示例小计为 `240,000 日元`
  - `视点VR · 有家具 · 200-300㎡`，对应示例小计为 `290,000 日元`
  - `视点VR · 有家具 · 300㎡以上`，对应示例小计为 `360,000 日元`
- 每条办公室实例包含 `追加项` 区域。
- 追加项区域以复选框列表形式展示可追加内容，每项展示名称与价格。
- 追加项是否随 `家具/配置` 或 `面积/规格` 变化待后续确认；按当前截图观测到的追加项与单价如下：
  - `室内静态图（基于已制作模型）`：`50,000 日元/张`
  - `室内静态图（独立制作）`：`120,000 日元/张`
  - `室内测距`：`7,000 日元/视点`

##### 6. 动画模块

- 动画模块用于按动画条目逐条配置场景、秒数与追加项。
- 动画模块顶部显示当前已添加的实例数量。
- 动画模块提供 `新增同类模块` 按钮，用于新增新的动画实例。
- 每条动画实例当前已明确包含以下外层字段与操作：
  - 实例名称：自由输入，默认示例为 `动画 1`。
  - 小计金额：根据场景与时长实时计算。
  - 删除：用于删除当前动画实例。
- 每条动画实例包含三组配置项：
  - 展示方式：固定为 `动画`（当前截图未观测到其他选项）。
  - 场景类型（位于“家具/配置”区域）：单选，当前选项包括：
    - `专有部室内`
    - `共用部室内`
    - `共用部室外`
    - `楼宇外观`
  - 动画时长：步进器输入，单位为“秒”，默认值为 `1`。
- 动画按秒计费；不同 `场景类型` 对应不同单价（按截图观测到的单价如下）：
  - `专有部室内`：`20,000 日元/秒`
  - `共用部室内`：`25,000 日元/秒`
  - `共用部室外`：`30,000 日元/秒`
  - `楼宇外观`：`30,000 日元/秒`
- 动画时长最小值为 `1`（不允许小于 `1`）。
- 动画实例的小计金额应根据“场景类型单价 * 时长”实时计算并展示。
- 计算规则为：
  - 小计 = `时长(秒) * 场景类型单价`
- 每条动画实例包含 `追加项` 区域。
- 追加项区域以复选框列表形式展示可追加内容，每项展示名称与价格（当前截图观测到的条目与单价如下）：
  - `视频屏幕处理费用`：`200,000 日元/条`
  - `动画剪辑处理`：`85,000 日元/条`
- 追加项是否随场景类型或时长变化待后续确认；当前截图未观测到随选择变化的情况。

##### 7. 系统收费模块

- 系统收费模块用于配置项目级的系统使用费与系统相关选配服务费用。
- 系统使用费单独按月计费，项目正式交付后开始计算使用时间。
- 系统收费模块为 `项目级` 模块（不区分大楼实例，不随大楼数量变化）。
- 系统收费模块基础交付项为 `系统使用费`：
  - 计费方式：按月计费。
  - 单价：`30,000 日元/月`。
  - 使用月数：步进器输入，默认值为 `1`，最小值为 `1`（不允许小于 `1`）。
  - 小计金额应根据使用月数实时计算并展示。
  - 计算规则：小计 = `使用月数 * 30,000`。
- 系统收费模块包含 `选配项` 区域（选配项可勾选/取消；选中后展开对应配置卡片）：
  - 外观模型：`10,000 日元/个月`
    - 计费维度：`个数 * 月数`。
    - 个数：步进器输入，默认值为 `1`，最小值为 `1`。
    - 月数：步进器输入，默认值为 `1`，最小值为 `1`。
    - 规则说明：个数 * 月数 * 单价。
    - 计算规则：小计 = `个数 * 月数 * 10,000`。
  - 视点式 URL 链接费：`5,000 日元/链接月`
    - 计费维度：`链接数 * 月数`。
    - 链接数：步进器输入，默认值为 `1`，最小值为 `1`。
    - 月数：步进器输入，默认值为 `1`，最小值为 `1`。
    - 规则说明：链接数 * 月数 * 单价。
    - 计算规则：小计 = `链接数 * 月数 * 5,000`。
  - HOMESTAGING：`5,000 日元/月`
    - 使用月数：步进器输入，默认值为 `1`，最小值为 `1`。
    - 规则说明：按独立月数计费。
    - 计算规则：小计 = `使用月数 * 5,000`。
- 系统收费模块总小计 = `系统使用费小计 + 已选选配项小计之和`。

##### 8. 报价预览区

- 右侧报价预览区用于同步展示左侧配置区当前已选择的参数及其对应报价结果。
- 报价预览区按模块展示报价汇总，并展示模块小计。
- 在楼宇模块中，报价预览区应展示：
  - 楼宇模块总小计。
  - 每栋大楼实例的独立报价卡片。
  - 每栋大楼实例的名称与小计金额。
  - 每栋大楼实例当前已选择或已填写的关键参数摘要。
- 大楼摘要信息应仅展示已选择、已填写或值大于 `0` 的参数，不展示未选择或默认值为 `0` 的参数。
- 当用户在 `BUILDING VISTA 3D` 下选中 `CITY VISITA` 时，配置区应展示其基础价格、基础交付项与选配项区域。
- `CITY VISITA` 的基础包详细内容默认不在报价预览区单独展开展示，是否在报价预览中显示基础包明细待后续确认。
- 当用户选中 `BUILDING VISTA 3D` 时，配置区应展示其基础价格、基础交付项与选配项区域。
- `BUILDING VISTA 3D` 的基础包详细内容默认不在报价预览区单独展开展示，是否在报价预览中显示基础包明细待后续确认。
- 当用户选中 `BUILDING VISTA Lite` 时，配置区应展示其基础价格、基础交付项与选配项区域。
- `BUILDING VISTA Lite` 的基础包详细内容默认不在报价预览区单独展开展示，是否在报价预览中显示基础包明细待后续确认。
- 当用户选中 `大楼追加静态图交付` 时，配置区应展示其基础价格、数量输入区，以及“当前没有可报价子项”的说明。
- 当用户配置系统收费模块时，报价预览区应展示：
  - 系统收费模块小计。
  - 系统使用费（按月）计费摘要（含月数与小计）。
- 已选选配项（外观模型 / 视点式 URL 链接费 / HOMESTAGING）的计费摘要（含数量/链接数、月数与小计）。

#### F004: 后端项目管理

**描述**：支持管理员和超级管理员在后端管理平台中维护项目基础信息、项目可见范围与项目成员分配关系，并以一级项目列表 + 二级历史报价列表的方式查看、审核项目报价数据。

**交互流程**：
1. 管理员或超级管理员进入后端管理平台的项目管理页面。
2. 系统展示一级项目列表，用户可按项目名称和日期范围搜索项目。
3. 用户可新建项目，或对已有项目执行编辑、删除操作。
4. 用户点击某个项目后，系统展开该项目下的所有历史报价记录。
5. 系统在二级列表中展示该项目下的报价版本、报价名称、报价人、价格、状态、时间和操作。
6. 用户点击某一条报价记录的 `查看` 后，进入该报价的详情页面。
7. 用户在二级列表中点击 `审核` 时，系统以弹窗方式提供 `审核通过` 或 `审核不通过` 操作。
8. 用户在项目详情页中查看项目补充信息，在报价详情页中查看报价补充信息和审核操作。

**界面原型**：见「原型与交互说明」

[待补充：筛选条件、批量操作、删除限制]

- 后端项目管理面向管理员和超级管理员开放。
- 超级管理员可查看全公司范围内的项目。
- 管理员可查看并维护自己创建或负责管理的项目。
- 后端项目管理支持创建项目、编辑项目、查看项目详情。
- 后端项目管理支持为项目分配一个或多个普通用户。
- 被分配到项目的普通用户可在前端项目列表中查看并操作该项目。
- 管理员和超级管理员暂不在后台直接参与报价。
- 后端项目管理页顶部提供搜索/筛选区域。
- 当前已明确的搜索条件包括：
  - 项目名称：支持按项目名称搜索。
  - 日期范围：支持按日期范围筛选项目。
- 后端项目管理采用一二级列表结构：
  - 一级列表展示项目信息。
  - 二级列表展示该项目下的历史报价列表。
- 后端项目管理中的项目基础字段与前端新建项目字段保持一致，当前已明确包括：
  - 项目名称：必填。
  - 客户名称：选填。
  - 区域：选填。
  - 销售人员：选填。
  - 备注：选填。

##### 1. 项目列表

- 一级项目列表展示以下字段：
  - 编号
  - 项目名称
  - 创建人
  - 价格
  - 状态
  - 创建时间
  - 操作
- 项目状态当前分为：
  - 待审核
  - 审核通过
  - 审核未通过
- 一级项目列表操作当前包括：
  - 编辑：编辑项目基础信息与可见人员。
  - 删除：删除项目。

- 用户点击某个项目后，应展开该项目下的所有历史报价记录。
- 二级历史报价列表展示以下字段：
  - 版本号
  - 报价名称
  - 报价人
  - 价格
  - 状态
  - 时间
  - 操作
- 报价版本号默认从 `V1` 开始，每新增一条报价记录自动按顺序递增，例如 `V1`、`V2`、`V3`。
- 二级历史报价列表操作当前包括：
  - 查看：查看该版本报价详情。
  - 审核：弹窗选择 `审核通过` 或 `审核不通过`。
  - 追加报价：打开 `追加报价` 弹窗，基于当前报价版本追加模块金额。
  - 删除：删除当前指定报价记录。
- 用户在二级历史报价列表中点击 `删除` 时，系统应先弹出确认对话框。
- 只有用户确认删除后，系统才执行该条报价记录的删除。
- 点击 `追加报价` 后，系统弹窗展示该报价当前各大项总价，当前已明确包括：
  - 楼宇
  - 专有部
  - 色彩切换
  - 共用部
  - 办公室
  - 动画
  - 系统收费
- 弹窗中每一项均支持单独勾选是否追加；被勾选后，当前项需展示以下可编辑内容：
  - 追加备注：文本输入，用于填写本次追加说明，例如 `大楼1CB`
  - 追加比例：百分比选择，默认值为 `100%`
  - 追加金额：根据“该项总价 * 追加比例”自动生成，且支持人工修改最终金额
- `追加报价` 弹窗底部按钮包括：
  - 取消
  - 确认追加
- 用户点击 `确认追加` 后，系统基于当前报价版本生成一条新的追加报价记录，并保留本次追加明细与备注。
- 报价在管理员审核通过后，仍可继续发起后续追加报价。
- 追加报价不设次数限制，允许基于同一项目和历史报价记录多次追加。

- 其他项目字段和补充信息统一下沉到项目详情中展示，当前项目详情至少包括：
  - 客户名称
  - 区域
  - 销售人员
  - 备注
  - 可见人员
  - 报价次数

##### 2. 报价详情

- 用户点击某一条报价信息后，应进入对应的报价详情页面。
- 其他报价字段和补充信息统一下沉到报价详情中展示，当前报价详情至少包括：
  - 备注
- 报价详情页底部区域应展示该报价的所有追加报价明细。
- 追加报价明细当前至少包括：
  - 追加时间
  - 追加备注
  - 追加比例
  - 追加金额
- 追加明细应支持按追加时间展示，例如：`追加楼宇报价 / 100% / 320,000 日元 / 具体时间`。
- 报价详情页右侧区域新增 `审核记录`，用于展示该报价的历史审核记录。
- `审核记录` 当前已明确展示字段包括：
  - 审核时间
  - 报价版本号
  - 价格
  - 审核状态
- 若存在追加报价，右侧审核区域还应补充展示：
  - 追加时间
  - 追加金额
  - 备注
- `审核记录` 按审核时间排序展示，默认最新审核记录优先显示。
- 当用户在二级列表中点击 `查看` 时，系统进入该版本报价详情页。
- 报价详情页底部当前包含以下审核操作按钮：
  - 审核通过
  - 审核不通过
- 当前口径下，后台人员暂不在该模块中直接进行报价，仅负责项目管理与报价审核。

#### F005: 后端用户管理

**描述**：支持管理员和超级管理员在后端管理平台中维护账号、角色与账号可用状态，并按不同角色控制可创建用户范围及权限配置项。

**交互流程**：
1. 管理员或超级管理员进入后端管理平台的价格配置页面。
2. 系统按分类展示价格配置项，包括大楼配置、产品配置、税项配置。
3. 用户选择某一配置分类后，查看当前已生效的价格规则和参数内容。
4. 用户可新增、编辑或删除对应价格配置项，并填写相关参数。
5. 用户提交保存后，系统对配置内容进行校验。
6. 若校验通过，系统保存本次配置变更，并记录操作人、操作时间和变更内容。
7. 保存成功后，系统按设定的生效方式更新 `F003 报价计算器` 的价格计算依据。
8. 用户可查看历史版本或历史操作记录，用于追溯配置变化。

**界面原型**：见「原型与交互说明」

[待补充：密码初始化规则、禁用后的行为]

- 后端用户管理面向管理员和超级管理员开放。
- 超级管理员拥有最高权限。
- 超级管理员可查看全量账号，并管理管理员账号和报价人员账号。
- 管理员可管理自己创建的报价人员账号。
- 普通用户不可访问后端管理平台。
- 后端用户管理支持创建账号、编辑账号、启用账号、禁用账号。
- 超级管理员和管理员都可以新建用户。
- 超级管理员新建用户时：
  - 可选择创建 `管理员` 或 `报价人员`。
  - 新建用户表单当前包含以下字段：
    - 账号
    - 密码
    - 姓名
    - 角色
    - 部门
    - 账号状态
  - 当角色选择 `管理员` 时，页面展示 `价格权限` 和 `工时权限` 配置项，且两个配置项均使用开关按钮表示，可手动开启或关闭。
  - 当角色选择 `报价人员` 时，`价格权限` 和 `工时权限` 配置项使用关闭状态的开关按钮表示，默认关闭且不可开启。
  - `账号状态` 使用开关按钮表示，可切换为 `开启` 或 `停用`。
- 管理员新建用户时：
  - 只能创建 `报价人员`。
  - 新建用户表单当前包含以下字段：
    - 账号
    - 密码
    - 姓名
    - 角色（固定为 `报价人员`）
    - 部门
    - 账号状态
  - `价格权限` 和 `工时权限` 配置项使用关闭状态的开关按钮表示，默认关闭且不可开启。
  - `账号状态` 使用开关按钮表示，可切换为 `开启` 或 `停用`。
- 当前账号列表建议至少包含以下基础字段：
  - 账号
  - 姓名
  - 角色
  - 部门
  - 状态
  - 创建人
  - 创建时间
- 账号列表中的 `状态` 字段使用开关按钮表示，用于切换 `开启` / `停用`。
- `价格权限` 和 `工时权限` 在用户管理中均使用开关按钮表示。
- 当前角色范围包括：
  - 超级管理员
  - 管理员
  - 报价人员（前台普通用户）

#### F006: 价格配置

**描述**：支持管理员和超级管理员在后端管理平台中维护 `F003 报价计算器` 所依赖的价格规则、模块价格与税项配置。

**交互流程**：
1. 管理员或超级管理员进入后端管理平台的价格配置页面。
2. 系统按分类展示价格配置项，包括大楼配置、产品配置、税项配置。
3. 用户选择某一配置分类后，查看当前已生效的价格规则和参数内容。
4. 用户可新增、编辑或删除对应价格配置项，并填写相关参数。
5. 用户提交保存后，系统对配置内容进行校验。
6. 若校验通过，系统保存本次配置变更，并记录操作人、操作时间和变更内容。
7. 保存成功后，系统按设定的生效方式更新 `F003 报价计算器` 的价格计算依据。
8. 用户可查看历史版本或历史操作记录，用于追溯配置变化。

**界面原型**：见「原型与交互说明」

[当前已明确：
- 字段结构：价格配置按大楼配置、产品配置、税项配置分类维护。每个配置项至少包含配置分类、配置名称、配置编码、适用模块、价格类型、价格值、单位、状态、生效时间、备注。
- 版本管理：每次保存价格配置后，系统自动生成一条新的配置版本记录；每条版本记录应保存版本号、配置分类、操作人、操作时间、变更说明；历史版本仅用于查看和追溯，不允许直接覆盖修改；如需调整配置，应基于当前有效版本生成新的配置版本。
- 生效方式：默认采用保存即生效；新保存的有效配置应用于后续新建或重新计算的报价；已保存的历史报价记录不因价格配置更新而自动回算或覆盖；若配置被停用，则后续报价中不再继续使用该配置。
- 历史记录：系统应记录每次配置新增、编辑、删除、启用、停用操作；历史记录至少包括配置分类、配置名称、变更前内容、变更后内容、操作人、操作时间、备注；用户可按配置分类、操作人、时间范围查询历史记录。]

- 价格配置面向管理员和超级管理员开放。
- 前端报价计算器的价格结果应基于后台价格配置执行。
- 价格配置是对 `F003 报价计算器` 中各业务模块参数的后台维护入口，不单独构成新的报价业务模块。
- 价格配置当前包含以下后台维护入口：
  - 大楼配置：维护 `F003 报价计算器` 中楼宇模块相关参数的价格规则。
  - 产品配置：维护 `F003 报价计算器` 中专有部、色彩切换、共用部、办公室、动画、系统收费模块相关参数的价格规则。
  - 税项配置：维护报价结果所使用的税项价格规则。
- 每个价格配置项应至少支持维护以下信息：
  - 配置分类
  - 配置名称
  - 配置编码
  - 适用模块
  - 价格类型
  - 价格值
  - 单位
  - 状态
  - 生效时间
  - 备注
- 每次保存价格配置后，系统应自动生成新的配置版本记录，用于追溯配置变化。
- 历史版本仅用于查看和追溯，不允许直接在原版本上覆盖修改。
- 新保存的有效配置默认保存即生效，并应用于后续新建或重新计算的报价。
- 已保存的历史报价记录不因价格配置更新而自动回算或覆盖。
- 价格配置历史记录应支持按配置分类、操作人、时间范围进行查询。

#### F007: 工时配置

**描述**：支持管理员和超级管理员在后端管理平台中维护 `F003 报价计算器` 所依赖的工时参数。

**交互流程**：待补充（见下方规则/说明）

**界面原型**：见「原型与交互说明」

[待补充：工时单位、工时展示位置、生效方式]

- 工时配置面向管理员和超级管理员开放。
- 前端报价计算器的工时结果应基于后台工时配置执行。
- 工时配置是对 `F003 报价计算器` 中各业务模块参数的后台维护入口，不单独构成新的报价业务模块。
- 工时配置当前包含以下后台维护入口：
  - 大楼配置：维护 `F003 报价计算器` 中楼宇模块相关参数的工时规则。
  - 产品配置：维护 `F003 报价计算器` 中专有部、色彩切换、共用部、办公室模块相关参数的工时规则。
  - 动画配置：维护 `F003 报价计算器` 中动画模块相关参数的工时规则。
- 每个工时配置项应至少支持维护以下信息：
  - 配置名称
  - 所属模块
  - 参数/选项
  - 工时口径
  - 备注

#### F008: 系统管理

**描述**：支持普通用户、管理员和超级管理员在各自可访问的平台中，通过一级菜单 `系统管理` 进入相关系统功能。当前前端提供 `修改密码`，后端提供 `修改密码` 和 `操作日志`。

**交互流程**：
1. 用户登录成功后，在当前可访问平台的一级菜单中看到 `系统管理`。
2. 用户点击 `系统管理`，进入系统管理页面。
3. 普通用户在前端报价平台中看到 `修改密码` 功能；管理员和超级管理员在后端管理平台中看到 `修改密码` 和 `操作日志` 功能。
4. 用户进入 `修改密码` 页面后，输入当前密码、新密码和确认新密码。
5. 用户提交后，系统校验当前密码是否正确，以及新密码是否符合密码规则、两次输入是否一致。
6. 若校验失败，系统提示对应错误信息并停留在当前页面。
7. 若校验通过，系统保存新密码并提示修改成功。
8. 密码修改成功后，新密码用于后续登录。
9. 管理员或超级管理员进入 `操作日志` 页面后，系统展示日志列表。
10. 日志列表记录用户登录、报价项目、操作时间、IP 地址等信息。
11. 用户可按姓名和时间范围搜索操作日志。

**界面原型**：见「原型与交互说明」

[当前已明确：
- 菜单结构：前端报价平台和后端管理平台均新增一级菜单 `系统管理`；前端当前仅包含 `修改密码`，后端当前包含 `修改密码` 和 `操作日志`。
- 页面字段：修改密码页至少包括当前密码、新密码、确认新密码。
- 校验规则：系统需校验当前密码正确性、新密码符合既有密码规则、确认新密码与新密码一致，且新密码不得与当前密码相同。
- 生效方式：密码修改成功后立即生效，并用于用户后续登录。
- 首次登录引导：所有用户首次使用初始密码登录成功后，系统自动进入 `修改密码` 页面；完成首次修改后方可进入对应平台首页。
- 操作日志：后端 `系统管理` 新增 `操作日志` 子菜单，日志列表至少记录用户姓名、登录、报价项目、操作时间、IP 地址等信息，并支持按姓名和时间范围搜索。]

- 前端报价平台和后端管理平台均应提供一级菜单 `系统管理`。
- 前端 `系统管理` 下当前仅提供 `修改密码` 一个功能入口。
- 后端 `系统管理` 下当前提供 `修改密码` 和 `操作日志` 两个子菜单。
- 普通用户在前端报价平台中可访问 `系统管理`。
- 管理员和超级管理员在后端管理平台中可访问 `系统管理`。

##### 1. 修改密码

- 修改密码页面至少包含以下字段：
  - 当前密码
  - 新密码
  - 确认新密码
- 当用户提交修改密码时，系统应至少校验：
  - 当前密码输入正确。
  - 新密码符合 `F001 用户登录` 中定义的密码规则。
  - 确认新密码与新密码一致。
  - 新密码不得与当前密码相同。
- 所有用户首次使用初始密码登录成功后，系统应自动跳转至 `修改密码` 页面。
- 用户完成首次密码修改前，不应直接进入前端项目列表页或后端管理平台首页。
- 密码修改成功后，应立即生效，并用于用户后续登录。

##### 2. 操作日志

- `操作日志` 页面至少展示以下内容：
  - 用户姓名
  - 操作类型（如登录、报价项目）
  - 操作时间
  - IP 地址
- `操作日志` 列表支持按姓名和时间范围进行搜索。

#### 原型与交互说明

前端报价平台关键页面如下：

1. 登录页：普通用户输入用户名和密码后进入系统。
2. 项目列表页：展示当前用户有权限查看的项目列表，并支持创建项目、分配项目用户、进入项目详情或报价计算器。
   新建项目弹窗字段包括：项目名称、客户名称、区域、销售人员、备注，其中项目名称为必填项。
   项目列表字段包括：项目编号、项目名称、客户名称、区域、销售人员、报价次数、创建时间、操作，不展示状态字段。
   项目列表支持展开查看某个项目下的历史报价记录，历史报价记录字段包括：报价单编号、报价人、报价时间、报价金额、状态（待提交审核、审核通过、审核不通过）、备注、操作（查看、复制）。
   用户从项目列表点击“新建报价”时进入空白报价计算器；用户从历史报价记录点击“复制”时进入带原报价内容的报价计算器。
3. 报价计算器页：页面分为左侧配置区和右侧报价预览区。左侧配置区包含楼宇、专有部、色彩切换、共用部、办公室、动画、系统收费七个模块；右侧报价预览区用于展示当前报价结果并执行保存。
   其中楼宇模块分为大楼、项目场地条件、大楼交付三块；支持新增多个大楼实例，并分别配置实例参数。
   右侧报价预览区需根据左侧已选参数实时展示各模块和各实例的报价摘要。
   首次填写报价时，页面底部仅提供取消、保存报价两个按钮；点击保存报价后，报价状态为待提交审核。用户后续从历史报价记录点击“查看”进入报价详情页时，若当前报价状态为待提交审核，则详情页底部展示“申请报价审核”按钮；点击后，报价状态更新为待审核。
4. 系统管理页：前端报价平台增加一级菜单 `系统管理`，当前仅包含 `修改密码` 功能。修改密码页包含当前密码、新密码、确认新密码字段。

后端管理平台关键页面如下：

1. 登录页：管理员和超级管理员登录后台。
2. 项目管理页：采用一级项目列表 + 二级历史报价列表结构。一级列表展示编号、项目名称、创建人、价格、状态、创建时间、操作；其他项目字段统一放入项目详情中展示，项目详情包括客户名称、区域、销售人员、备注、可见人员、报价次数。二级列表不单独展示额外标签区，列表内容包括版本号、报价名称、报价人、价格、状态、时间、操作；追加报价生成后的记录也应在历史报价列表中统一展示。其他报价补充信息统一放入报价详情中展示，当前至少包括备注。报价详情页底部区域应展示所有追加报价明细；右侧审核区域除审核时间、报价版本号、价格、审核状态外，还应补充展示追加时间、追加金额、备注，并按时间排序。项目状态包括待审核、审核通过、审核未通过；一级操作包括编辑、删除；二级操作包括查看、审核、追加报价、删除。点击查看后进入报价详情页，详情页底部提供审核通过、审核不通过按钮；点击审核时，以弹窗方式选择通过或不通过；点击追加报价时，弹窗展示该报价各大项总价，并支持按项填写追加备注、追加比例和追加金额；点击删除时，系统先弹出确认对话框，确认后才删除对应报价。后台人员暂不在该页面直接进行报价，仅负责项目管理与报价审核。
3. 用户管理页：支持查看账号列表、创建账号、编辑账号、启用/禁用账号，并按角色区分管理员与报价人员管理范围。超级管理员可创建管理员和报价人员；管理员只能创建报价人员。新建用户表单字段包括账号、密码、姓名、角色、部门、账号状态；其中 `价格权限`、`工时权限` 和 `账号状态` 均使用开关按钮表示。当角色为管理员时，可对价格权限和工时权限开关进行开启或关闭；当角色为报价人员时，这两个权限开关默认关闭且不可开启。账号状态开关用于切换 `开启` 或 `停用`。
4. 价格配置页：按大楼配置、产品配置、税项配置分组，维护 `F003 报价计算器` 对应模块的价格规则。其中动画模块与系统收费模块的价格规则统一归入产品配置维护。
5. 工时配置页：按大楼配置、产品配置、动画配置分组，维护 `F003 报价计算器` 对应模块的工时规则。
6. 系统管理页：后端管理平台增加一级菜单 `系统管理`，当前包含 `修改密码` 和 `操作日志` 两个子菜单。修改密码页包含当前密码、新密码、确认新密码字段；操作日志页展示用户姓名、操作类型、操作时间、IP 地址等日志信息，并支持按姓名和时间范围搜索。

[待补充：页面跳转关系、各页面关键字段、交互细节、异常提示]

### 4. 非功能需求

#### 性能

[待补充：响应时间、并发规模、计算耗时目标]

#### 可用性

[待补充：可用性目标、异常恢复方式、重要操作保护]

#### 安全

[待补充：账号权限、数据访问范围、登录认证方式、会话有效期、操作留痕]

- 普通用户只能使用管理员或超级管理员预先创建的账号登录。
- 前端平台不提供开放注册入口。
- 登录后只能查看和操作被授权范围内的项目数据。

#### 兼容性

[待补充：浏览器、设备、系统环境]

#### 可扩展性

[待补充：后续产品扩展、规则扩展、参数扩展能力]

#### 国际化

- 前端报价平台与后端管理平台均需支持中文、日文、英文三种界面语言。
- 用户可在任一平台中手动切换显示语言。
- 用户首次进入系统时，默认语言根据浏览器语言设置自动匹配。
- 界面中的导航、按钮、表单字段、表格表头、提示信息、错误信息等用户可见文本均应支持国际化。

### 5. 国际化配置表

| Key | 中文 | 日文 | 英文 | 备注 |
|-----|------|------|------|------|
| app.locale.supported.zh-CN | 中文 | 中国語 | Chinese | 支持语言 |
| app.locale.supported.ja-JP | 日文 | 日本語 | Japanese | 支持语言 |
| app.locale.supported.en-US | 英文 | 英語 | English | 支持语言 |
| app.locale.default | 默认语言根据浏览器设置 | 既定言語はブラウザ設定に従う | Default language follows browser settings | 首次进入系统时生效 |
| app.locale.switcher | 支持手动切换语言 | 手動で言語切替可能 | Manual language switching is supported | 前端报价平台与后端管理平台均需提供 |
| app.locale.scope | 两个平台的界面文本均支持国际化 | 両プラットフォームのUIテキストを多言語対応する | UI text on both platforms must be internationalized | 覆盖导航、按钮、表单、提示与错误信息 |

### 6. 基础数据

系统运行所需的初始数据如下（本节用于后续拆分后台配置与初始化脚本）：

| 数据类型 | 内容 | 维护方式 |
|---------|------|---------|
| 账号与角色 | 普通用户 / 管理员 / 超级管理员；账号创建与禁用 | 管理平台维护 |
| 项目与授权 | 项目基础字段、项目分配用户清单、可见范围规则 | 管理平台维护 |
| 模块清单 | 楼宇 / 专有部 / 色彩切换 / 共用部 / 办公室 / 动画 / 系统收费 | 系统初始化 + 管理平台可扩展 |
| 价格配置 | 大楼配置、产品配置、税项配置 | 管理平台维护 |
| 工时配置 | 大楼配置、产品配置、动画配置 | 管理平台维护 |
| 规则与参数 | 各模块基础价格、套餐组合、追加项清单、互斥/联动规则、税项与工时参数 | 管理平台维护 |
| 枚举与单位 | 字段单位、默认值口径、步进器最小值/默认值规则 | 系统初始化 + 管理平台维护 |

[待补充：价格参数来源、工时参数来源、版本管理与生效策略]

### 7. 验收标准

#### AC-001 用户登录

Given 用户已拥有有效账号且被分配角色  
When 用户访问前端报价平台或后端管理平台并完成登录  
Then 系统允许其进入对应平台，并仅展示该角色有权限访问的功能

Given 用户浏览器语言为 `ja-JP`  
When 用户首次访问前端报价平台或后端管理平台  
Then 系统默认以日文显示界面文本

Given 用户浏览器语言为 `en-US`  
When 用户首次访问前端报价平台或后端管理平台  
Then 系统默认以英文显示界面文本

Given 用户已进入前端报价平台或后端管理平台  
When 用户手动切换显示语言为中文、日文或英文  
Then 当前平台界面文本应立即切换为对应语言显示

Given 管理员已为用户配置初始密码  
When 用户使用该初始密码首次登录成功  
Then 系统应自动跳转至 `系统管理 - 修改密码` 页面，且用户完成首次密码修改后方可进入对应平台

#### AC-002 项目列表

Given 普通用户或管理员已成功进入具备项目操作能力的平台  
When 用户进入项目列表页  
Then 系统展示该用户有权限访问的项目列表，并提供创建项目入口

Given 用户进入项目列表页  
When 系统展示项目列表  
Then 列表应展示项目编号、项目名称、客户名称、区域、销售人员、报价次数、创建时间、操作，且不展示状态字段

#### AC-003 项目创建与分配

Given 普通用户或管理员进入项目列表页  
When 用户填写项目名称、客户名称、区域、销售人员、备注等信息并提交创建  
Then 系统成功创建项目

Given 普通用户创建项目  
When 项目创建成功  
Then 项目创建人应默认立即获得该项目的可见权限与报价权限

Given 用户未填写项目名称  
When 用户提交新建项目表单  
Then 系统应阻止提交，并提示项目名称为必填项

Given 管理员创建项目  
When 管理员在创建或编辑项目时选择一个或多个普通用户  
Then 系统将该项目分配给所选普通用户，并使其可在项目列表中查看和操作该项目

#### AC-004 报价计算器

Given 用户已进入报价项目  
When 用户进入报价计算器并依次完成产品/模块选择、参数填写、触发计算、保存报价  
Then 系统按统一规则输出报价结果并成功保存当前报价数据

Given 用户对某项目拥有访问权限  
When 用户在该项目下再次发起并保存报价  
Then 系统应新增一条该项目下的报价记录，并更新该项目的报价次数

Given 用户在报价计算器页面查看底部操作区  
When 页面完成加载  
Then 页面底部应提供 `取消`、`保存报价` 两个按钮

Given 用户在报价计算器中完成内容填写  
When 用户点击 `保存报价`  
Then 系统应保存当前报价记录，并将该报价状态标记为 `待提交审核`

Given 用户在项目列表中点击“新建报价”  
When 系统打开报价计算器  
Then 计算器应以空白报价内容作为初始状态

Given 用户进入报价计算器  
When 页面完成加载  
Then 页面应展示左侧配置区和右侧报价预览区两部分

Given 用户进入报价计算器  
When 页面展示配置区  
Then 配置区应提供楼宇、专有部、色彩切换、共用部、办公室、动画、系统收费七个模块

Given 用户进入楼宇模块  
When 系统展示楼宇模块  
Then 应展示大楼、项目场地条件、大楼交付三块内容

Given 用户进入专有部模块  
When 当前尚未添加任何专有部实例  
Then 系统应展示空状态提示，并提供 `新增同类模块` 按钮

Given 用户进入专有部模块  
When 用户点击 `新增同类模块`  
Then 系统应新增一条专有部实例配置卡片

Given 用户已新增一条专有部实例  
When 系统展示该实例卡片  
Then 系统应展示实例名称输入框、数量步进器、小计金额、删除操作，以及展示方式/家具配置/面积规格三组选择项

Given 用户首次新增专有部实例  
When 系统完成实例初始化  
Then 该实例数量默认值应为 `1`

Given 用户在专有部实例中完成展示方式、家具配置、面积规格选择  
When 系统更新实例信息  
Then 系统应生成并展示当前套餐摘要

Given 用户在专有部实例中切换套餐组合  
When 系统刷新追加项区域  
Then 系统应展示当前组合对应的追加项复选框列表及价格信息

Given 用户在专有部实例中切换 `展示方式`  
When 系统刷新页面内容  
Then 下方追加项清单不应因展示方式切换而发生变化

Given 用户在专有部实例中将 `展示方式` 切换为 `视点VR`  
When 系统刷新实例信息  
Then 系统应更新套餐摘要与小计金额，但不改变下方追加项清单

Given 用户在专有部实例中将 `展示方式` 切换为 `Walk VR`  
When 系统刷新实例信息  
Then 系统应更新套餐摘要与小计金额，但不改变下方追加项清单

Given 用户在专有部实例中切换 `家具/配置` 或 `展示方式`  
When 系统刷新 `面积/规格` 选项区域  
Then 系统应按当前套餐组合展示对应的面积区间候选项

Given 用户在专有部实例中将 `展示方式` 切换为 `投影(3面)`  
When 系统刷新实例信息  
Then 系统应更新套餐摘要与小计金额，但不改变下方追加项清单

Given 用户在专有部实例中将 `展示方式` 切换为 `投影(单面)`  
When 系统刷新实例信息  
Then 系统应更新套餐摘要与小计金额，但不改变下方追加项清单

Given 用户进入共用部模块  
When 用户点击 `新增同类模块`  
Then 系统应新增一条共用部实例配置卡片，并展示展示方式/家具配置/面积规格三组选择项

Given 用户在共用部实例中切换 `展示方式` / `家具/配置` / `面积/规格`  
When 系统刷新实例信息  
Then 系统应更新套餐摘要与小计金额，且下方追加项清单与价格口径不随选择变化

Given 用户在共用部实例中切换 `展示方式` 或 `家具/配置`  
When 系统刷新 `面积/规格` 选项区域  
Then 系统应按当前套餐组合展示对应的面积区间候选项

Given 用户进入楼宇模块  
When 用户需要配置多栋楼  
Then 系统应支持新增大楼、切换当前编辑大楼和删除当前大楼

Given 用户配置大楼交付  
When 用户提交或保存报价  
Then 系统应要求每栋大楼至少选择 1 个大楼交付项

Given 用户为某栋大楼配置大楼交付  
When 用户选择交付项  
Then 该栋大楼应支持在 `BUILDING VISTA 3D`、`BUILDING VISTA Lite`、`大楼追加静态图交付` 三项中自由多选，且 `CITY VISITA` 应作为 `BUILDING VISTA 3D` 下的选配项展示

Given 用户为某栋大楼配置大楼交付  
When 用户仅选择 `大楼追加静态图交付`  
Then 系统应允许该选择并可继续保存

Given 用户为某栋大楼选择 `BUILDING VISTA 3D` 并选中其选配项 `CITY VISITA`  
When 系统展示 `CITY VISITA` 配置卡片  
Then 系统应展示其默认基础价格 `600,000 日元`，并展示基础交付项 `广域再现（3D 沙盘）`

Given 用户为某栋大楼选择 `BUILDING VISTA 3D` 并选中其选配项 `CITY VISITA`  
When 系统首次展示 `CITY VISITA` 配置卡片  
Then 基础包内容应默认收起，不自动展开显示详细内容

Given 用户查看 `CITY VISITA` 配置卡片  
When 用户点击 `查看基础包内容`  
Then 系统应展开显示基础包内容，并将按钮文案切换为 `收起基础包内容`

Given 用户已展开 `CITY VISITA` 基础包内容  
When 用户点击 `收起基础包内容`  
Then 系统应收起基础包详细内容

Given 用户在 `CITY VISITA` 中选中 `3D 住户表`  
When 系统展开该选配项配置卡片  
Then 系统应展示默认数量 `100 户`、默认价格 `280,000 日元`，以及报价项介绍与规则说明

Given 用户已选中 `3D 住户表`  
When 用户将数量调整为不超过 `100 户`  
Then 该选配项价格应保持为 `280,000 日元`

Given 用户已选中 `3D 住户表`  
When 用户尝试将数量调整到 `100` 以下  
Then 系统应阻止该操作，并保持数量最小值为 `100`

Given 用户已选中 `3D 住户表`  
When 用户将数量调整为超过 `100 户`  
Then 系统应按超出部分 `1,200 日元/户` 实时计算并更新该选配项价格

Given 用户在 `CITY VISITA` 中选中 `城市数据展示`  
When 系统展开该选配项配置卡片  
Then 系统应展示固定价格 `240,000 日元`，以及报价项介绍与规则说明

Given 用户已选中 `城市数据展示`  
When 系统计算该选配项价格  
Then 系统应按固定价格 `240,000 日元` 计费

Given 用户在 `CITY VISITA` 中选中 `外景展示（眺望）`  
When 系统展开该选配项配置卡片  
Then 系统应展示默认数量 `100 张`、默认价格 `280,000 日元`，以及报价项介绍与规则说明

Given 用户已选中 `外景展示（眺望）`  
When 用户尝试将数量调整到 `100` 以下  
Then 系统应阻止该操作，并保持数量最小值为 `100`

Given 用户已选中 `外景展示（眺望）`  
When 用户将数量调整为不超过 `100 张`  
Then 该选配项价格应保持为 `280,000 日元`

Given 用户已选中 `外景展示（眺望）`  
When 用户将数量调整为超过 `100 张`  
Then 系统应按超出部分 `1,200 日元/张` 实时计算并更新该选配项价格

Given 用户在 `CITY VISITA` 中选中 `人视眺望`  
When 系统展开该选配项配置卡片  
Then 系统应展示默认数量 `1`、单价 `1,200 日元/眺望点`，以及报价项介绍与规则说明

Given 用户已选中 `人视眺望`  
When 用户尝试将数量调整到 `1` 以下  
Then 系统应阻止该操作，并保持数量最小值为 `1`

Given 用户已选中 `人视眺望`  
When 用户调整眺望点数量  
Then 系统应按 `数量 * 1,200` 实时计算并更新该选配项价格

Given 用户在 `CITY VISITA` 中选中 `飞行导航`  
When 系统展开该选配项配置卡片  
Then 系统应展示默认数量 `1`、单价 `1,200 日元/导航点`，以及报价项介绍与规则说明

Given 用户已选中 `飞行导航`  
When 用户尝试将数量调整到 `1` 以下  
Then 系统应阻止该操作，并保持数量最小值为 `1`

Given 用户已选中 `飞行导航`  
When 用户调整导航点数量  
Then 系统应按 `数量 * 1,200` 实时计算并更新该选配项价格

Given 用户为某栋大楼选择 `BUILDING VISTA 3D`  
When 系统展示 `BUILDING VISTA 3D` 配置卡片  
Then 系统应展示其默认基础价格 `500,000 日元`，并展示基础交付项 `BUILDING VISTA 3D`

Given 用户为某栋大楼选择 `BUILDING VISTA 3D`  
When 系统首次展示 `BUILDING VISTA 3D` 配置卡片  
Then 基础包内容应默认收起，不自动展开显示详细内容

Given 用户查看 `BUILDING VISTA 3D` 配置卡片  
When 用户点击 `查看基础包内容`  
Then 系统应展开显示基础包内容，并将按钮文案切换为 `收起基础包内容`

Given 用户已展开 `BUILDING VISTA 3D` 基础包内容  
When 用户点击 `收起基础包内容`  
Then 系统应收起基础包详细内容

Given 用户为某栋大楼选择 `BUILDING VISTA 3D`  
When 系统展示选配项区域  
Then 系统应展示 `户型展示`、`外景展示（眺望）`、`飞行导航` 三个选配项及其价格文案

Given 用户在 `BUILDING VISTA 3D` 中选中 `户型展示`  
When 系统展开该选配项配置卡片  
Then 系统应展示默认数量 `100 户`、默认价格 `280,000 日元`，以及报价项介绍与规则说明

Given 用户已选中 `BUILDING VISTA 3D` 的 `户型展示`  
When 用户尝试将数量调整到 `100` 以下  
Then 系统应阻止该操作，并保持数量最小值为 `100`

Given 用户已选中 `BUILDING VISTA 3D` 的 `户型展示`  
When 用户将数量调整为不超过 `100 户`  
Then 该选配项价格应保持为 `280,000 日元`

Given 用户已选中 `BUILDING VISTA 3D` 的 `户型展示`  
When 用户将数量调整为超过 `100 户`  
Then 系统应按超出部分 `1,200 日元/户` 实时计算并更新该选配项价格

Given 用户在 `BUILDING VISTA 3D` 中选中 `外景展示（眺望）`  
When 系统展开该选配项配置卡片  
Then 系统应展示默认数量 `100 张`、默认价格 `280,000 日元`，以及报价项介绍与规则说明

Given 用户已选中 `BUILDING VISTA 3D` 的 `外景展示（眺望）`  
When 用户尝试将数量调整到 `100` 以下  
Then 系统应阻止该操作，并保持数量最小值为 `100`

Given 用户已选中 `BUILDING VISTA 3D` 的 `外景展示（眺望）`  
When 用户将数量调整为不超过 `100 张`  
Then 该选配项价格应保持为 `280,000 日元`

Given 用户已选中 `BUILDING VISTA 3D` 的 `外景展示（眺望）`  
When 用户将数量调整为超过 `100 张`  
Then 系统应按超出部分 `1,200 日元/张` 实时计算并更新该选配项价格

Given 用户在 `BUILDING VISTA 3D` 中选中 `飞行导航`  
When 系统展开该选配项配置卡片  
Then 系统应展示默认数量 `1`、单价 `1,200 日元/导航点`，以及报价项介绍与规则说明

Given 用户已选中 `BUILDING VISTA 3D` 的 `飞行导航`  
When 用户尝试将数量调整到 `1` 以下  
Then 系统应阻止该操作，并保持数量最小值为 `1`

Given 用户已选中 `BUILDING VISTA 3D` 的 `飞行导航`  
When 用户调整导航点数量  
Then 系统应按 `数量 * 1,200` 实时计算并更新该选配项价格

Given 用户为某栋大楼选择 `BUILDING VISTA Lite`  
When 系统展示 `BUILDING VISTA Lite` 配置卡片  
Then 系统应展示其默认基础价格 `33,750 日元`，并展示基础交付项 `BUILDING VISTA Lite`

Given 用户为某栋大楼选择 `BUILDING VISTA Lite`  
When 系统首次展示 `BUILDING VISTA Lite` 配置卡片  
Then 基础包内容应默认收起，不自动展开显示详细内容

Given 用户查看 `BUILDING VISTA Lite` 配置卡片  
When 用户点击 `查看基础包内容`  
Then 系统应展开显示基础包内容，并将按钮文案切换为 `收起基础包内容`

Given 用户已展开 `BUILDING VISTA Lite` 基础包内容  
When 用户点击 `收起基础包内容`  
Then 系统应收起基础包详细内容

Given 用户为某栋大楼选择 `BUILDING VISTA Lite`  
When 系统展示选配项区域  
Then 系统应展示 `键盘操作`、`隐藏周边`、`全屏展示`、`重要提示` 四个选配项，且价格均为 `0 日元`

Given 用户首次进入 `BUILDING VISTA Lite` 选配项区域  
When 系统完成加载  
Then `键盘操作`、`隐藏周边`、`全屏展示`、`重要提示` 应默认处于选中状态

Given 用户已进入 `BUILDING VISTA Lite` 选配项区域  
When 用户取消任意一个 `0 日元` 选配项  
Then 系统应允许取消该项，且不改变该交付项总价

Given 用户为某栋大楼选择 `大楼追加静态图交付`  
When 系统展示该交付项配置卡片  
Then 系统应展示默认单价 `120,000 日元/张`、默认数量 `1 张`，以及“当前没有可报价子项”的说明

Given 用户已选中 `大楼追加静态图交付`  
When 用户尝试将数量调整到 `1` 以下  
Then 系统应阻止该操作，并保持数量最小值为 `1`

Given 用户已选中 `大楼追加静态图交付`  
When 用户调整静态图数量  
Then 系统应按 `数量 * 120,000` 实时计算并更新该交付项价格

Given 用户在左侧配置区填写楼宇参数  
When 右侧报价预览区刷新  
Then 预览区应展示已选模块、模块小计、各大楼实例小计，以及各大楼已选择或非零参数的摘要信息

Given 某项目已存在多次报价记录  
When 用户在项目列表中查看该项目  
Then 用户可展开查看该项目下的所有历史报价记录

Given 用户展开查看某项目的历史报价记录  
When 系统展示历史报价记录列表  
Then 列表应展示报价单编号、报价人、报价时间、报价金额、状态、备注、操作，且状态字段当前包含 `待提交审核`、`审核通过`、`审核不通过`

Given 用户在历史报价记录中点击“查看”  
When 系统打开指定报价记录  
Then 用户可查看该报价记录的详细内容

Given 用户在历史报价记录中点击“复制”  
When 系统基于该历史报价记录执行复制  
Then 系统应生成一份可继续修改并保存的新报价内容，且不覆盖原历史报价记录

Given 用户在历史报价记录中点击“复制”  
When 系统打开报价计算器  
Then 计算器应预填被复制报价的原有内容，供用户继续修改并保存为新的报价记录

Given 用户在历史报价记录中点击“查看”且当前报价状态为 `待提交审核`  
When 系统打开该报价详情页  
Then 详情页底部应展示 `申请报价审核` 按钮

Given 用户在报价详情页点击 `申请报价审核`  
When 系统执行提交审核动作  
Then 系统应对该报价记录发起审核流程，并将该报价状态更新为 `待审核`

#### AC-005 后端项目管理

Given 管理员或超级管理员已登录后端管理平台  
When 用户进入项目管理页  
Then 系统应展示该用户有权限查看的后台项目列表

Given 用户进入后端项目管理页  
When 系统展示一级项目列表  
Then 一级项目列表应展示编号、项目名称、创建人、价格、状态、创建时间、操作

Given 用户进入后端项目管理页  
When 系统展示页面顶部搜索区域  
Then 搜索区域应至少提供项目名称搜索和日期范围筛选

Given 用户在后端项目管理页输入项目名称或选择日期范围  
When 用户执行搜索  
Then 系统应按搜索条件过滤一级项目列表结果

Given 用户进入后端项目管理页  
When 系统展示某个项目的二级历史报价列表  
Then 二级列表应展示版本号、报价名称、报价人、价格、状态、时间、操作

Given 用户在后端项目管理页点击某个项目  
When 系统展开该项目  
Then 系统应展示该项目下的所有历史报价记录

Given 管理员在后端项目管理中创建或编辑项目  
When 用户填写项目名称、客户名称、区域、销售人员、备注并保存  
Then 系统应成功保存项目基础信息

Given 用户在后端项目管理中进入项目详情页  
When 系统展示项目详情内容  
Then 项目详情应展示客户名称、区域、销售人员、备注、可见人员、报价次数

Given 管理员在后端项目管理中为项目分配一个或多个普通用户  
When 用户保存项目授权关系  
Then 被分配的普通用户应可在前端项目列表中查看并操作该项目

Given 超级管理员进入项目管理页  
When 系统展示项目列表  
Then 超级管理员应可查看全公司范围内的项目数据

Given 用户进入项目详情页  
When 系统展示项目状态  
Then 项目状态应仅包含 `待审核`、`审核通过`、`审核未通过` 三种取值

Given 管理员或超级管理员进入后端项目管理页  
When 用户查看一级项目列表操作  
Then 一级操作应仅包含 `编辑`、`删除`

Given 管理员或超级管理员进入后端项目管理页  
When 用户使用后台项目管理模块  
Then 后台人员暂不应在该模块直接进行报价，仅执行项目管理与报价审核

Given 某项目已存在多条历史报价记录  
When 系统展示二级历史报价列表  
Then 报价版本号应按 `V1`、`V2`、`V3` 顺序递增展示

Given 用户在二级历史报价列表中点击 `查看`  
When 系统打开指定报价版本  
Then 系统应展示该版本的报价详情，且详情中至少包含备注信息

Given 用户在二级历史报价列表中点击 `查看`  
When 系统展示报价详情页右侧审核记录区域  
Then 系统应展示每次审核时间、报价版本号、价格、审核状态，并按审核时间排序展示

Given 用户在二级历史报价列表中点击 `查看`  
When 系统展示报价详情页底部操作区  
Then 页面底部应提供 `审核通过` 和 `审核不通过` 按钮

Given 用户在二级历史报价列表中点击 `审核`  
When 系统打开审核弹窗  
Then 弹窗应允许选择 `审核通过` 或 `审核不通过`

Given 用户在二级历史报价列表中查看操作项  
When 系统展示可用操作  
Then 二级操作应包含 `查看`、`审核`、`追加报价`、`删除`

Given 用户在二级历史报价列表中点击 `追加报价`  
When 系统打开 `追加报价` 弹窗  
Then 弹窗应展示该报价各大项总价，并支持对各项进行勾选

Given 用户在 `追加报价` 弹窗中勾选任意报价项  
When 系统展示该项配置内容  
Then 系统应提供 `追加备注`、`追加比例`、`追加金额` 三项输入，其中追加比例默认值为 `100%`，追加金额支持自动生成后手动修改

Given 用户在 `追加报价` 弹窗底部查看操作按钮  
When 系统展示弹窗底部区域  
Then 页面应提供 `取消` 和 `确认追加` 按钮

Given 用户在二级历史报价列表中点击 `删除`  
When 系统打开删除确认对话框  
Then 系统应提示用户确认是否删除该条报价记录

Given 用户在删除确认对话框中确认删除  
When 系统执行删除操作  
Then 系统应删除对应的报价记录

Given 某条报价已完成管理员审核并处于可继续操作状态  
When 用户再次发起 `追加报价`  
Then 系统应允许继续追加，且追加报价次数不设限制

Given 某条报价已完成一次或多次追加报价  
When 系统展示该项目的历史报价记录列表  
Then 追加报价生成的记录也应在历史报价列表中统一展示

Given 用户进入某条报价的详情页面  
When 系统展示报价详情页底部区域  
Then 页面底部应展示该报价的所有追加报价明细，包括追加时间、追加备注、追加比例与追加金额

Given 用户进入某条报价的详情页面  
When 系统展示右侧审核区域  
Then 除审核记录外，页面还应展示追加时间、追加金额、备注等追加报价信息

#### AC-006 后端用户管理

Given 超级管理员已登录后端管理平台  
When 超级管理员进入用户管理页  
Then 系统应允许其查看全量账号并管理管理员账号

Given 管理员已登录后端管理平台  
When 管理员进入用户管理页  
Then 系统应允许其管理自己创建的报价人员账号

Given 超级管理员在用户管理页创建账号  
When 用户填写账号、密码、姓名、角色、部门等必填信息并保存  
Then 系统应成功创建账号

Given 超级管理员在新建用户表单中选择角色为 `管理员`  
When 页面刷新权限配置区域  
Then 系统应展示 `价格权限` 和 `工时权限` 开关，且支持手动开启或关闭

Given 超级管理员在新建用户表单中选择角色为 `报价人员`  
When 页面刷新权限配置区域  
Then 系统应展示关闭状态的 `价格权限` 和 `工时权限` 开关，且两项默认关闭并不可开启

Given 管理员在用户管理页新建账号  
When 页面展示角色选项  
Then 角色只允许选择 `报价人员`

Given 管理员在新建用户表单中创建报价人员  
When 页面展示表单字段  
Then 系统应展示账号、密码、姓名、角色、部门、账号状态字段，且 `价格权限` 和 `工时权限` 开关默认关闭并不可开启

Given 管理员或超级管理员在用户管理页查看账号状态  
When 系统展示账号列表  
Then `状态` 字段应以开关按钮形式展示，并支持切换 `开启` 或 `停用`

Given 管理员或超级管理员在新建或编辑用户表单中查看账号状态  
When 系统展示表单字段  
Then `账号状态` 应以开关按钮形式展示，并支持切换 `开启` 或 `停用`

Given 普通用户尝试访问后端管理平台  
When 系统校验其角色权限  
Then 系统应阻止其进入后台管理页面

#### AC-007 价格配置

Given 管理员或超级管理员已登录后端管理平台  
When 用户进入价格配置页  
Then 系统应展示用于维护 `F003 报价计算器` 的大楼配置、产品配置、税项配置三类价格配置入口

Given 管理员或超级管理员在价格配置页维护某项价格规则  
When 用户修改配置并保存  
Then 系统应成功保存该价格配置

Given 后台价格配置已更新并保存  
When 前端用户再次执行报价计算  
Then 系统应按最新价格配置输出报价结果

#### AC-008 工时配置

Given 管理员或超级管理员已登录后端管理平台  
When 用户进入工时配置页  
Then 系统应展示用于维护 `F003 报价计算器` 的大楼配置、产品配置、动画配置三类工时配置入口

Given 管理员或超级管理员在工时配置页维护某项工时规则  
When 用户修改配置并保存  
Then 系统应成功保存该工时配置

Given 后台工时配置已更新并保存  
When 前端用户再次执行报价计算  
Then 系统应按最新工时配置输出工时结果

#### AC-009 系统管理

Given 普通用户已登录前端报价平台  
When 用户查看一级菜单  
Then 系统应展示 `系统管理` 菜单，且菜单下当前仅包含 `修改密码`

Given 管理员或超级管理员已登录后端管理平台  
When 用户查看一级菜单  
Then 系统应展示 `系统管理` 菜单，且菜单下当前包含 `修改密码` 和 `操作日志`

Given 用户进入修改密码页  
When 系统展示页面字段  
Then 页面应展示 `当前密码`、`新密码`、`确认新密码` 三个字段

Given 用户在修改密码页提交表单  
When 当前密码正确、新密码符合密码规则且两次输入一致  
Then 系统应成功修改密码，并使新密码立即生效

Given 用户在修改密码页提交表单  
When 当前密码错误、新密码不符合规则、两次输入不一致，或新密码与当前密码相同  
Then 系统应阻止提交并提示对应错误信息

Given 任意角色用户使用初始密码首次登录成功  
When 系统完成登录校验  
Then 系统应自动跳转至 `修改密码` 页面，且用户完成首次密码修改前不得直接进入对应平台首页

Given 管理员或超级管理员进入后端 `系统管理 - 操作日志` 页面  
When 系统展示日志列表  
Then 页面应展示用户姓名、操作类型、操作时间、IP 地址等日志信息

Given 管理员或超级管理员在操作日志页输入姓名或选择时间范围  
When 用户执行搜索  
Then 系统应按姓名和时间范围过滤日志列表结果

### 8. 成功指标

| 指标 | 目标值 | 衡量方式 |
|------|--------|---------|
| 平均报价时长 | ≤ 4 小时/次 | 统计系统中项目创建到报价输出的处理时长 |
| 同条件报价差异率 | 0% | 对相同项目参数下不同人员输出结果进行比对 |
| 报价认可率 | ≥ 90% | 统计日本销售或客户首次确认通过的报价占比 |

### 9. 待确认事项

1. 第一版支持的产品范围与模块范围。
2. 登录方式及账号体系规则。
3. 项目分配后是否支持后续修改、追加或移除指定用户。
4. 报价参数清单及其来源。
5. 楼宇模块中各字段的必填规则、默认值与详细计价口径。
6. 色彩切换模块的计价方式、与其他模块联动规则。
7. 报价预览区各模块的详细展示字段与排序规则。
8. `CITY VISITA` 其余选配项的详细字段、价格与展示规则。
9. 系统计算规则的详细口径（含追加项适用组合、数量规则、互斥关系与最终计价方式）。
10. 保存报价后的状态流转、查看方式与后续确认流程。
