日期: 2026-08-30
状态: 已确认(方案 2:专用查询接口)
Demo: docs/fresh-mint-pl-plan-form-available-qty-demo.html
新增/编辑运输计划弹窗中,装货/送货产品区在「计划数量」前展示「可安排数量」,并支持问号弹窗查看合同用量与已安排计划列表。
| 项 | 决策 |
|---|---|
| 颜色 | 可安排绿色;计划数量红色 |
| 超量 | 仅标红提示,仍可保存;安排接口硬拦 |
| 展示条件 | 有产品行即显示;无合同 →「—」,问号禁用并提示先选合同 |
| 问号 | 点击弹窗(非悬停气泡) |
| 计划编号 | 仅展示,不可点击 |
| 口径 | 可安排 = 合同数量 − 已安排(编辑时已安排不含本计划旧量);已归档按实际量、已安排未归档按计划量,见 2026-08-30-pl-contract-qty-archived-actual-design.md |
| 框架无固定量 | 可安排「—」;弹窗说明不限额 |
| 实现 | 方案 2:专用 API |
GET /transport/plan/contract-product-arrange-qty
Query:contractId、productId、可选 excludePlanId(当前编辑计划)
响应:
{
contractId, contractNo, customerName, productId, productName,
hasFixedQty: boolean,
contractQty?: number,
arrangedQty: number, // 不含 excludePlanId
availableQty?: number, // hasFixedQty 时
plans: [{ planId, planNo, planDate, planQty, followStatus, transportStatus, archiveStatus }]
}
复用 pl_contract_plan_qty 汇总口径;plans 为计入已安排且本产品有量的计划(不含 exclude)。
PlPlanStopProductTable:可安排列 + 问号;计划数量超可安排加红样式/提示文案contractId、excludePlanIdplanId 作为 exclude