test(物流公司管理需求): 需求文档与 QE Fleet 全流程设计产物入库

- 需求 v1.1 + 2026-09-29 需求方确认的 Q7~Q19 决议(含 BR-07/BR-09/6.7/6.9 矛盾表述修订)
- 测试点 159 个、测试用例 164 条(P0 55/P1 81/P2 23/P3 5),需求→测试点→用例三级追溯覆盖率 100%
- 质量裁决 PASS(首轮 PASS_WITH_FIX,13 项待确认确认后复裁决升级);评审原始 2 阻断项+9 建议项+3 优化项已全部修复
- 确认单:与 4 个历史需求均为并行关系、0 冲突、0 回写
- 附导出 v1/v2 版本快照、Playwright/Appium 脚本骨架、覆盖率审计脚本与指标、评审修复脚本
This commit is contained in:
xst
2026-09-29 10:03:35 +08:00
parent 1a53a1f537
commit 8c61209dd4
47 changed files with 14470 additions and 0 deletions
@@ -0,0 +1,383 @@
# 物流公司管理需求
> 文档角色:需求文档
> 原始来源:`requirements\物流公司管理需求.md`
# 物流公司管理需求文档
> **版本**: v1.1(Q1–Q6 决议已确认)
> **编写日期**: 2026-09-28(同日确认决议,见第 8 节)
> **状态**: 待评审
> **交互原型**: [prototypes/物流公司管理原型.html](prototypes/物流公司管理原型.html)(可点击操作,数据为演示数据,不落库)
> **UI 参考**: 运八管理端"基础信息 → 货主管理 → 企业货主"(新增表单、编辑页-合同管理 Tab、新增合同弹窗三张截图);2026-09-28 补充实际页面截图:运费核算(运单列表 + 核算状态列)、修改核算弹窗、运单管理、货源管理、货主打款、财务打款
> **关联模块**: 基础信息 / 承运结算 → 运费核算
---
## 1. 背景与目标
### 1.1 背景
平台目前的承运主体以车队/司机为主。随着业务扩展,出现由**外协物流公司**整段承运的场景:平台将一批运单委托给一家物流公司完成,运费按公司口径核算与结算。当前系统没有物流公司档案的维护入口,合同以线下方式管理,核算时结算对象无法从系统中选择,只能手工填写,导致:
- 物流公司信息分散、口径不一致(同一公司在不同运单、打款记录中名称/信用代码写法不一);
- 合同(含税源地归属)无系统记录,开票与核算缺少依据;
- 核算人员勾选结算对象时无可用清单,效率低且易错。
### 1.2 目标
1. 提供**物流公司**档案管理能力:创建、修改、删除、查询。
2. 编辑物流公司时支持**合同管理**(交互对标"企业货主-合同管理")。
3. 运费核算环节,核算人员在**运单上**勾选物流公司(选填、单选),核算数据**填充至运单表**;运单记录所选公司信息。
4. 新建/编辑货源时支持选择物流公司(选填、单选),作为货源及关联运单的记录信息。
### 1.3 不在本期范围
- 物流公司登录端(APP/门户)、给物流公司开账号。
- 合同审批流、电子签章。
- 与现有"承运人管理/车队管理"实体的打通或合并。
- 基于合同的自动计费、自动开票。
### 1.4 设计原则(强调)
**本功能仅作运单记录,不影响任何流程。** 物流公司档案及其在运单、货源上的关联,仅用于业务记录、展示与追溯:
- 是否选择物流公司、所选公司是否存在生效合同,均**不阻断、不改变**任何业务流程(核算、货源、运单、打款等);
- 合同状态(待生效/生效中/已过期)仅作信息展示,不参与任何校验或计费;
- 唯一的强约束针对档案数据本身的一致性(唯一性校验、删除保护,见 BR-01/BR-04),不属于业务流程控制。
---
## 2. 名词与范围
| 名词 | 说明 |
|:---|:---|
| 物流公司 | 与平台签订承运合同、整段承接运输业务的外协承运主体,档案含基本资料与证件 |
| 物流合同 | 平台与物流公司签订的承运合同,记录合同编号、签订/生效/过期时间、所属税源地、附件 |
| 运费核算 | "承运结算 → 运费核算"环节:核算人员将核算数据**填充到运单表**;**无独立核算单据**,核算的对象就是运单 |
| 生效合同 | 当前日期 ∈ [生效时间, 过期时间] 的合同,状态由系统按日期自动计算 |
---
## 3. 角色与权限
| 角色 | 权限 |
|:---|:---|
| 运营管理员(基础信息维护岗) | 物流公司新增/编辑/删除/启停用、合同管理(全部操作) |
| 核算人员 | 运费核算时在运单上勾选物流公司;可查看物流公司列表(只读),不可增删改 |
| 系统管理员 | 可授权上述权限给其他角色(沿用平台角色权限体系) |
- 数据权限:沿用平台多机构数据隔离规则,物流公司按创建机构归属,跨机构不可见、不可操作。
- 所有增/删/改操作写入行为日志(操作人、时间、IP、变更内容摘要)。
---
## 4. 功能清单
| 编号 | 功能 | 说明 | 优先级 |
|:---|:---|:---|:---:|
| FR-01 | 物流公司列表查询 | 多条件查询 + 分页,列表展示状态与生效合同数 | P0 |
| FR-02 | 新增物流公司 | 证件上传 + 基本信息表单,唯一性校验 | P0 |
| FR-03 | 编辑物流公司 | 企业资料修改 + 合同管理 Tab(对标企业货主) | P0 |
| FR-04 | 删除物流公司 | 二次确认;有约束条件(见 BR-04) | P0 |
| FR-05 | 启用/停用 | 状态开关,控制核算勾选可见性(见 BR-05) | P0 |
| FR-06 | 合同管理 | 列表 + 新增/编辑/删除/查看,附件上传 | P0 |
| FR-07 | 运单核算关联物流公司 | 运费核算时在**运单**上弹窗**单选**一家启用状态公司(**选填**,见 BR-06),连同"客户收货地址"(选填、仅作记录)一并**填充至运单表** | P0 |
| FR-08 | 货源选择物流公司 | 新建/编辑货源时选择物流公司(选填、单选,见 BR-07) | P1 |
| FR-09 | 打款列表物流公司筛选 | **货主打款、财务打款**两个页面查询区增加"物流公司"筛选项(见 BR-08 / 6.8) | P1 |
| FR-10 | 列表显示物流公司 | **货源管理列表、运单管理、货主打款/财务打款列表**均显示"物流公司"列(快照口径,见 BR-09 / 6.9) | P1 |
---
## 5. 业务规则
### BR-01 唯一性
- **公司名称**全平台唯一(不含已逻辑删除的公司)。
- **统一社会信用代码**全平台唯一,格式按国标 18 位(`[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}`)校验。
- **简称码**(选填)全平台唯一,2-4 位纯字母(对标企业货主简称码口径)。
### BR-02 状态定义
物流公司仅两种状态:**启用** / **停用**。新增后默认为**启用**。
### BR-03 合同规则
- 同一物流公司下**合同编号唯一**;不同公司之间允许重复。
- 过期时间必须晚于生效时间。
- 合同状态由系统按当前日期自动计算:待生效 / 生效中 / 已过期,不可手工设置。
- 附件仅允许 pdf/doc/docx/jpg/jpeg/bmp/png(对标企业货主合同附件口径)。
### BR-04 删除约束
- 删除为**逻辑删除**,需二次确认。
- 满足任一条件时**禁止删除**,仅可停用:
1. 存在状态为"生效中"的合同;
2. 已被任一**运单**引用(运单上记录了该公司,历史运单需要追溯公司信息)。
- 阻断提示需说明具体原因(生效合同数 / 被运单引用),并引导改用"停用"。
- 以上为**档案数据完整性保护**,不属于业务流程控制(见 1.4 设计原则)。
### BR-05 启用/停用影响
- **停用**:不再出现在运费核算的勾选弹窗中;已核算的运单不受影响;档案仍可查询、编辑、管理合同。
- **启用**:恢复出现在勾选列表。
- 停用需二次确认;启用即时生效。
### BR-06 运单核算关联物流公司(单选、选填)
> **口径纠正(2026-09-28)**:核算单与运单是同一个东西——**核算是将核算数据填充到运单表**,没有独立的核算单,不存在"新建核算单"。本节操作对象均为**运单**。
1. 运费核算位于 **整车运输 → 承运结算 → 运费核算**,页面即运单列表(含"**核算状态**"列:未核算/已核算);核算人员通过行内"编辑"打开**修改核算**弹窗,弹窗中提供**选择物流公司**入口,选择结果**填充到运单表**。
2. 弹窗**仅加载启用状态**的物流公司,默认按创建时间倒序,支持按公司名称/统一社会信用代码搜索,分页默认 20 条/页。
3. **单选**(Q1 决议):一张运单仅可关联**一家**物流公司;再次选择时替换上次结果。核算时**自动带出**物流公司:货源已选公司的运单(FR-08)默认带入该公司,可**取消选择**(清除)和**再次选择**(更换)。
4. **选填**(Q2 决议):不强制选择;未选择时核算数据正常保存到运单(运单上记为"无外协公司"),不影响任何流程。
5. 无生效合同的公司**可勾选**(Q3 决议),行内"⚠ 无生效合同"仅作信息提示,不做任何阻断。
6. 保存核算时若已选择公司,将其 **ID + 公司名称 + 统一社会信用代码** 写入**运单表**对应字段;此后公司改名/停用/删除均不影响运单上已保存的信息。
7. 运单核算同时增加"**客户收货地址**"字段(2026-09-28 新增):**选填**文本(≤200 字符),**仅作记录**、填充到运单表并随运单展示,不参与任何校验、流程与计费。
### BR-07 货源选择物流公司(FR-08)
1. **新建/编辑货源**(发布货源页面)增加"物流公司"字段:**选填、单选**,交互复用 BR-06 的选择弹窗(仅启用公司)。
2. 所选物流公司仅作为**该货源及其关联运单的记录信息**展示与追溯,不参与货源、运单、结算的任何流程判断与计费(见 1.4 设计原则)。
3. 编辑货源可更换或清除所选物流公司;保存时同样写入信息快照。
### BR-08 打款列表物流公司筛选(FR-09)
1. 打款分**货主打款**与**财务打款**两个页面(均位于 整车运输 → 承运结算 菜单下),两个页面的查询区均增加"**物流公司**"下拉筛选项;打款记录页同步增加。
2. 下拉选项:全部 / **无外协公司** / 各物流公司(**含停用状态**——历史打款记录需可按原公司查出)。
3. 过滤依据为运单上记录的物流公司(由货源选择带入,FR-08);未关联公司的运单归入"无外协公司"。
4. 仅作查询过滤与结果展示,**不影响打款流程、金额计算与任何审批动作**(见 1.4 设计原则)。
### BR-09 列表显示物流公司(FR-10)
1. **货源管理列表**(整车运输 → 货源管理 → 货源管理):显示该货源所选物流公司;未选择的显示"无外协公司"。
2. **运单管理**:显示运单关联货源上记录的物流公司(随货源带入);未关联的显示"无外协公司"。
3. **货主打款 / 财务打款列表**:随 FR-09 一并显示该列(见 6.8)。
4. 展示口径为公司名称**快照**:公司后续改名/停用/删除,历史记录仍显示保存时的名称,不受影响。
5. 该列为只读展示,不参与任何流程(见 1.4 设计原则);列表导出 Excel 需同步包含"物流公司"列。
> 说明:以上待确认问题 Q1–Q6 已于 2026-09-28 全部确认,结论见第 8 节"决议记录"。其中核算相关口径后又作一次纠正:**核算即运单核算、无独立核算单**,本文档已统一按运单口径表述。
---
## 6. 页面详述
### 6.1 物流公司列表(菜单:基础信息 → 承运管理 → 物流公司管理)
**查询条件**:
| 条件 | 控件 | 说明 |
|:---|:---|:---|
| 公司名称 | 输入框 | 模糊匹配 |
| 统一社会信用代码 | 输入框 | 模糊匹配 |
| 联系方式 | 输入框 | 模糊匹配 |
| 状态 | 下拉 | 全部 / 启用 / 停用 |
| 创建时间 | 日期范围 | 含当天 |
按钮:查询、重置、新增、导出(导出 Excel,沿用平台 20000 条上限口径)。
**列表列**:
| 列 | 说明 |
|:---|:---|
| 公司名称 | 超链接,点击进入编辑页 |
| 简称码 | 未设置为显示 "-" |
| 统一社会信用代码 | - |
| 法人代表名称 | - |
| 联系人 / 联系方式 | - |
| 生效合同数 | 实时统计"生效中"合同数量 |
| 状态 | 启用(绿)/ 停用(灰),行内开关切换 |
| 创建人 / 创建时间 | - |
| 操作 | 编辑、删除(删除受 BR-04 约束) |
默认排序:创建时间倒序。分页:默认 20 条/页,可选 10/20/50/100。
### 6.2 新增物流公司
页面布局对标"企业货主-新增":上方证件上传区,下方两栏表单。
**证件上传区**:
| 证件 | 必填 | 说明 |
|:---|:---:|:---|
| 企业营业执照 | ✓ | jpg/jpeg/png/pdf |
| 法人身份证人像面照片 | ✓ | jpg/jpeg/png |
| 法人身份证国徽面照片 | ✓ | jpg/jpeg/png |
| 道路运输经营许可证 | - | jpg/jpeg/png/pdf(Q5 决议:选填) |
**表单字段**:
| 字段 | 必填 | 类型 | 校验/说明 |
|:---|:---:|:---|:---|
| 公司名称 | ✓ | 文本 | ≤50 字符;全平台唯一(BR-01) |
| 统一社会信用代码 | ✓ | 文本 | 18 位国标格式 + 唯一(BR-01),失焦即校验 |
| 法人代表名称 | ✓ | 文本 | ≤30 字符 |
| 联系人 | ✓ | 文本 | ≤20 字符 |
| 联系方式 | ✓ | 文本 | 手机号格式 |
| 简称码 | - | 文本 | 2-4 位纯字母,全平台唯一(BR-01) |
| 企业通信地址 | ✓ | 省市区级联 | 对标企业货主通信地址控件 |
| 详细地址 | ✓ | 文本 | ≤100 字符 |
| 备注 | - | 多行文本 | ≤200 字符 |
提交成功 → 返回列表并提示"新增成功",新公司状态为**启用**。提交失败时表单不清空,错误字段就近标红提示。
### 6.3 编辑物流公司
页面 Tab 结构对标"编辑企业货主",本期包含两个 Tab(结构上预留扩展):
- **企业资料**:同新增表单,回显数据;公司名称、统一社会信用代码修改时重新执行唯一性校验(排除自身)。
- **合同管理**:见 6.4。
### 6.4 合同管理(编辑页内 Tab,对标企业货主-合同管理)
**筛选条件**:合同编号(输入)、所属税源地(下拉)、签订时间范围、创建时间范围。按钮:查询、新增、导出。
**列表列**:选择框(批量列,本期不提供批量操作)、合同编号、所属税源地、合同状态(待生效/生效中/已过期,自动计算)、创建人、签订时间、创建时间、生效时间、过期时间、操作(查看 / 编辑 / 删除)。
**新增/编辑合同弹窗**(对标企业货主"新增"弹窗):
| 字段 | 必填 | 校验/说明 |
|:---|:---:|:---|
| 合同编号 | ✓ | 同一公司下唯一(BR-03),≤50 字符 |
| 签订时间 | ✓ | 日期,可晚于当前日期(补录场景),不做强校验 |
| 生效时间 | ✓ | 日期 |
| 过期时间 | ✓ | 晚于生效时间(BR-03) |
| 所属税源地 | ✓ | 下拉,数据来源"数据字典-税源地"(与企业货主税源地同源) |
| 附件 | ✓ | 点击上传,仅 pdf/doc/docx/jpg/jpeg/bmp/png(BR-03),单文件;**暂不设置大小上限**(Q6 决议);上传后显示文件名,可重新上传替换 |
- **查看**:只读弹窗,附件支持预览/下载。
- **删除**:二次确认,记录操作日志;仅作记录数据维护,不影响其他流程。
### 6.5 删除 / 停用
见 BR-04、BR-05。列表"删除"按钮与编辑页内均不提供物理删除入口;删除后列表不可见,导出与核算勾选均不含已删除公司。
### 6.6 运费核算 —— 在运单上核算并关联物流公司(FR-07,单选/选填)
> **核算单与运单是同一个东西**:核算是将核算数据填充到运单表,没有独立的核算单,也没有"新建核算单"入口;运费核算的操作对象就是运单。
**入口**:整车运输 → 承运结算 → 运费核算(页面即运单列表,含"核算状态"列:未核算/已核算;列表带批量核算按钮)。
**交互流程**:
1. 核算人员在运单列表点击行内"编辑",打开**修改核算**弹窗(含运单信息区:运单号、货主名称、司机姓名、车牌号、结算吨位等,原有字段不变)。
2. 修改核算弹窗中新增"物流公司"(**选填、单选**)与"**客户收货地址**"(**选填**)两个字段;物流公司默认带入货源上选择的公司(FR-08),可点击"选择物流公司"打开弹窗更换或清除。
3. 选择弹窗:系统加载**启用状态**物流公司(BR-06),展示公司名称、统一社会信用代码、联系人、联系方式、生效合同数(无生效合同的行显示"⚠ 无生效合同",仅提示、可勾选);支持搜索、分页(20 条/页);**单选**。
4. 选择后点击"确定",弹窗关闭,所选公司回填修改核算弹窗。
5. 点击"保存/核算":核算数据(含物流公司、客户收货地址)**写入运单表**,运单"核算状态"更新为"已核算";未选择公司时正常保存(运单上记为"无外协公司")。
6. 运费核算列表与运单管理的"物流公司"列展示运单表中的公司信息(FR-10 / 6.9)。
**异常与边界**:
- 弹窗打开时公司列表加载失败 → 空状态 + "重新加载"按钮。
- 核算保存时公司已被停用/删除 → 后端二次校验:提示具体公司名并要求重新选择(数据有效性校验,非流程控制)。
- 已核算的运单再次修改核算 → 覆盖更新运单上的核算字段并记录日志(不产生新单据)。
- 搜索无结果 → 空状态"未找到符合条件的物流公司"。
- **批量核算**:沿用现有逻辑;是否支持批量填充物流公司/客户收货地址,见待确认 Q7。
### 6.7 货源选择物流公司(FR-08,新增)
**入口**:整车运输 → 货源管理 → 发布货源(新建)/ 编辑货源。
**交互**:
1. 表单增加"物流公司"字段(**选填、单选**),建议置于承运信息区("指定车队司机"附近);按钮"选择物流公司"复用 6.6 的选择弹窗(仅启用公司、支持搜索分页)。
2. 选择后回显公司名称、统一社会信用代码、联系人,可"移除"清空,或再次打开弹窗更换(替换上次选择)。
3. 保存货源时写入所选公司信息快照;该信息随货源展示,并作为其关联运单的记录信息。
4. **不触发任何流程**:选择与否、公司是否有合同,均不影响货源发布、接单、运单流转与结算(见 1.4 设计原则)。
### 6.8 打款列表增加物流公司筛选项(FR-09,新增)
**入口**:整车运输 → 承运结算 → **货主打款** / **财务打款**(两个独立页面,均需改造);打款记录页同步。
**交互**:
1. 查询区增加"物流公司"下拉筛选项(BR-08):全部 / 无外协公司 / 各物流公司(含停用)。
2. 与其他筛选条件(运单号、打款状态、打款时间范围等)可组合查询,结果实时过滤。
3. 物流公司列展示运单上记录的公司名称(信息快照);无关联公司的运单显示"无外协公司"。
4. 仅作查询过滤,不改变打款列表的任何操作入口与流程(打款、驳回等按原有逻辑执行)。
### 6.9 货源管理列表 / 运单管理 / 货主打款 / 财务打款 显示物流公司(FR-10,新增)
| 列表 | 物流公司列数据来源 | 空值显示 |
|:---|:---|:---|
| 货源管理列表(整车运输 → 货源管理 → 货源管理) | 该货源选择的物流公司(FR-08) | 无外协公司 |
| 运单管理(整车运输 → 运输管理 → 运单管理) | 关联货源上记录的物流公司 | 无外协公司 |
| 货主打款 / 财务打款(整车运输 → 承运结算,FR-09) | 运单上记录的物流公司快照 | 无外协公司 |
- 建议列位置:货源管理列表置于"目的地"之后;运单管理置于"承运司机"附近;货主打款/财务打款置于"运输单号"之后。
- 展示为只读信息,不参与任何流程(见 1.4 设计原则);导出 Excel 同步包含该列。
---
## 7. 数据与接口要点(给开发)
| 项 | 要求 |
|:---|:---|
| 表设计 | `logistics_company`(主档)、`logistics_contract`(合同,company_id 外键);**运单表**新增核算字段:物流公司(company_id + company_name + uscc 冗余存储)、客户收货地址、核算状态 |
| 删除 | 物流公司逻辑删除(deleted 标志);合同物理删除并记日志 |
| 唯一性 | 名称/信用代码/简称码唯一约束在**数据库层**实现(应用层先校验给出友好提示) |
| 快照 | 运单表冗余存储 company_name、uscc,核算保存时写入,不做联表实时取值 |
| 附件 | 存华为云 OBS,库内仅存 URL;上传接口复用现有文件服务 |
| 导出 | 列表导出复用平台 Excel 导出组件(默认上限 20000 条) |
| 日志 | 增删改、启停用、合同增删改均记行为日志 |
| 幂等 | 新增/保存接口防重复提交(沿用平台统一幂等口径) |
---
## 8. 决议记录(2026-09-28 确认)
> **总原则:本功能仅作运单记录,不影响任何流程**(见 1.4 设计原则)。
| 编号 | 问题 | 决议 |
|:---:|:---|:---|
| Q1 | 勾选粒度 | **核算(运单)仅可勾选一家**(单选) |
| Q2 | 是否强制勾选物流公司 | **不强制、不必填**;未选择按"无外协公司"正常保存核算 |
| Q3 | 无生效合同的公司是否可被勾选 | **可勾选**;"无生效合同"仅作信息提示 |
| Q4 | 与承运人/车队体系是否打通 | **本期不处理**;独立建档 + 信用代码唯一防重 |
| Q5 | 道路运输经营许可证是否必传 | **不是必传**;其余证件(营业执照、法人身份证人像面/国徽面)必传 |
| Q6 | 合同附件大小上限 / 是否多附件 | **先不设置大小上限**(格式白名单保留);单附件 |
**新增需求(2026-09-28)**:
1. 新建、编辑货源时也要选择物流公司 → 已纳入 FR-08 / BR-07 / 6.7。
2. 运单核算增加"客户收货地址"字段,仅作记录 → 已纳入 BR-06 第 7 条 / 6.6。
**口径纠正(2026-09-28)**:**核算单与运单是同一个东西**——核算是将核算数据填充到运单表,不存在独立核算单/"新建核算单";文档中原"核算单"表述已全部改为运单口径(FR-07 / BR-06 / 6.6 同步修订)。
**补充确认(2026-09-28,依据实际页面截图)**:
- 运费核算、货主打款、财务打款均位于 **整车运输 → 承运结算** 菜单下;打款分**货主打款**、**财务打款**两个页面,两页面均需增加物流公司筛选与列。
- 运费核算页面即运单列表(含"核算状态"列:未核算/已核算),核算操作通过行内"编辑"打开"修改核算"弹窗完成,弹窗中新增物流公司与客户收货地址字段。
> ⚠️ 待确认 Q7:**批量核算**是否需要支持批量填充物流公司/客户收货地址?当前口径:仅单笔"修改核算"弹窗中填写,批量核算逻辑不变。
3. 打款时打款列表增加一个物流公司的筛选项 → 已纳入 FR-09 / BR-08 / 6.8。
4. 货源列表、运单管理、打款列表都要显示物流公司 → 已纳入 FR-10 / BR-09 / 6.9。
---
## 9. 验收要点(概要)
1. 创建:三个唯一性字段(名称/信用代码/简称码)重复时均有明确提示,且数据库层有兜底约束;营业执照、法人身份证人像面/国徽面必传校验生效,道路运输经营许可证可不传。
2. 删除:存在生效合同或被运单引用的公司删除被阻断,提示包含原因;无引用公司可删除且列表消失。
3. 停用:停用后立即从选择弹窗消失,历史运单/货源展示不变(快照)。
4. 合同:过期时间 ≤ 生效时间被阻断;附件类型白名单外文件被拒绝;合同状态随日期自动变化;附件不设大小上限。
5. 运单核算:仅启用公司可见;**单选**(再次选择替换、可移除清空);**不选公司可直接保存核算**;无生效合同公司可正常勾选;核算后物流公司/客户收货地址正确**写入运单表**并在运单列表展示;货源已选公司的运单默认带入。
6. 货源:新建/编辑货源可选择、更换、清除物流公司(选填、单选);不选择不影响货源保存与后续任何流程。
7. 权限:核算人员账号进入物流公司列表为只读;跨机构数据不可见。
8. 并发:两人同时新建同一信用代码,后提交者失败且提示友好;重复点击保存不产生重复数据。
9. 打款筛选(货主打款/财务打款两页面):物流公司筛选项可单独或组合查询;"无外协公司"可过滤未关联记录;**停用公司仍可筛出历史打款记录**;筛选不改变打款/驳回等任何操作。
10. 列表展示:货源管理列表、运单管理、货主打款/财务打款列表均显示"物流公司"列,口径为公司名称快照;未关联记录显示"无外协公司";导出 Excel 含该列;公司改名/停用后历史列表显示不变。
---
## 10. 原型与截图对照
| 原型页面 | 对标截图 |
|:---|:---|
| 物流公司列表 | 通用列表风格(查询 + 表格 + 分页,同企业货主列表) |
| 新增物流公司 | 截图1:企业货主-新增(证件上传区 + 两栏表单) |
| 编辑物流公司-合同管理 Tab | 截图2:企业货主-编辑-合同管理(筛选 + 按钮组 + 合同表格) |
| 新增/编辑合同弹窗 | 截图3:企业货主-新增合同弹窗(编号/三个时间/税源地/附件) |
| 运费核算-运单核算弹窗 | 新增设计:在运单上核算(无独立核算单),**单选** + 搜索 + 分页(选填) |
| 发布货源-物流公司选择 | 新增设计:复用同一弹窗(FR-08) |
| 货主打款/财务打款-物流公司筛选 | 实际页面截图:两页面查询区各加筛选(FR-09) |
| 货源管理/运单管理/打款-物流公司列 | 实际页面截图:列表只读展示(FR-10) |