You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

1.8 KiB

看板按阶段展示名分组(不看状态)

商机看板(board)的分列键从 current_stage_id(节点 id)改为「当前节点的展示名」——展示名 = custom_node_name 优先、空则带入 opp_stage 字典名。看板不再按状态过滤:current_stage_id 有值即上板(暂缓中/已关闭/已转项目只要阶段有值都上板,无阶段值不上板)。列顺序由视口阶段模板(stageTemplateId 参数,null → 当前用户所属部门绑定模板 → 全公司通用默认模板)的节点 seq_no 定,视口外展示名追加列末;同一模板版本内展示名唯一(发布校验),跨模板同名合并为一列。

Considered Options

  • 按节点 id 分组(原实现)current_stage_id 指向 opportunity_stage_node 行,是模板版本私有主键;同一字典值(如 OPP_STAGE_02)在多模板/多版本下有多个节点 id,看板会把同一业务阶段拆成多列——弃。
  • stage_dict_code 分组:跨模板对同一字典值可设不同 custom_node_name,列头取谁无确定答案——弃。
  • 按展示名分组(本决策):分组键 = 用户实际看到的名字,语义最直观;撞名合并是接受的代价。

Consequences

  • 看板列语义与状态轴(轴1)解耦,只认阶段轴(轴2);卡片需带 oppStatus 供前端渲染状态角标。
  • boardStageSummary 返回完整有序列摘要(空列 count=0 也返回);空列是否渲染由前端决定。
  • boardCards 寻址键从 stageId(Long) 改为 stageName(String),后端解析成「展示名相等的节点 id 集合」过滤。
  • 阶段模板发布校验新增:同一模板版本内展示名唯一。
  • D-15「看板列 = 在办商机(推进中)」作废。