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
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「看板列 = 在办商机(推进中)」作废。