运输计划列表 · 扁平多列(取消合并单元格)

案例数据来自测试库运输计划 PO20261009022: 装货客户「安庆市山峡化工有限公司」、送货客户「桐城运城制版有限公司」、 3 个产品(硫酸 / 聚合氯化铝 / 液碱);需方合同 SX/X-JT20261008006,供方合同为空。 目标:去掉供/需纵向拆行 + rowspan,改为扁平分列,每一物理行独立完整。

PO20261009022 皖H21522 程欢欢 黄天宝(押)、沈卫斌(驾) 待安排

方案 A(推荐):按计划产品对齐成行(本单 3 行)。 「合同」拆成 供合同 / 需合同 两列;计划量若两侧一致可只保留一列,也可再拆供/需计划量。 无 rowspan / colspan,计划级字段在每行重复展示(或仅首行填、其余留空——本 demo 采用重复,便于导出/筛选)。

能解决:去掉合并单元格后,前端不再依赖 span-method,导出 Excel 也是标准扁平行; 筛选「需合同」「产品」时行语义清晰。代价是列变宽、计划级信息有重复。

计划编号 跟进状态 车牌号 人员 跟进人 装货客户 送货客户 装货地址/时间 送货地址/时间 供合同 需合同 产品名称 型号/规格 包装规格 单位 计划量 实际量
PO20261009022 待安排 皖H21522 黄天宝(押)、沈卫斌(驾) 程欢欢 安庆市山峡化工有限公司 桐城运城制版有限公司
— 2026-10-12
— 2026-10-12
— SX/X-JT20261008006 98% 工业硫酸 毒 98% 25kg/桶 吨 1 0
PO20261009022 待安排 皖H21522 黄天宝(押)、沈卫斌(驾) 程欢欢 安庆市山峡化工有限公司 桐城运城制版有限公司
— 2026-10-12
— 2026-10-12
— SX/X-JT20261008006 聚合氯化铝 — 25Kg/袋 吨 1 0
PO20261009022 待安排 皖H21522 黄天宝(押)、沈卫斌(驾) 程欢欢 安庆市山峡化工有限公司 桐城运城制版有限公司
— 2026-10-12
— 2026-10-12
— SX/X-JT20261008006 32%液碱 32% 25kg/桶 吨 0.25 0

行粒度:计划产品(装/送两侧按 plan_product_id 对齐)。本单 load×3 + delivery×3 收敛为 3 行,不再拆成 6 行供/需。

方案 B:整份计划只占 1 行。供/需合同、产品明细在单元格内用多行文本堆叠, 同样 无合并单元格。适合「一眼看完整单」;不适合按产品行勾选/导出明细。

实现成本最低(去掉 flatten + span-method 即可),但表格行高随产品数膨胀,筛选产品时仍是计划粒度。

计划编号 跟进状态 车牌号 人员 跟进人 装货客户 送货客户 装货地址/时间 送货地址/时间 供合同 需合同 产品明细
PO20261009022 待安排 皖H21522 黄天宝(押)、沈卫斌(驾) 程欢欢 安庆市山峡化工有限公司 桐城运城制版有限公司
— 2026-10-12
— 2026-10-12
— SX/X-JT20261008006
98% 工业硫酸 毒 · 98% · 25kg/桶 · 1 吨 聚合氯化铝 · 25Kg/袋 · 1 吨 32%液碱 · 32% · 25kg/桶 · 0.25 吨

现状对照:一份计划拆成供行 + 需行(本单 6 行),「合同 / 产品…」共用列头; 计划编号、装货客户等靠 rowspan 合并。视觉上「从合同起供/需多行」,也是导出与勾选复杂的根源。

计划编号 装货客户 送货客户 合同 产品名称 型号/规格 包装规格 单位 计划量
PO20261009022 安庆市山峡化工有限公司 桐城运城制版有限公司 供 — 98% 工业硫酸 毒 98% 25kg/桶 吨 1
聚合氯化铝 — 25Kg/袋 吨 1
32%液碱 32% 25kg/桶 吨 0.25
需 SX/X-JT20261008006 98% 工业硫酸 毒 98% 25kg/桶 吨 1
聚合氯化铝 — 25Kg/袋 吨 1
32%液碱 32% 25kg/桶 吨 0.25

本对照刻意保留 rowspan,仅用于对比;方案 A/B 均不使用合并单元格。