@@ -409,8 +409,6 @@ function planDetail(
409409 approach . append ( el ( "h2" , "" , t ( "建模思路" ) ) , richBlock ( plan . approach ) ) ;
410410 detail . append ( approach ) ;
411411
412- if ( plan . steps . length ) detail . append ( listBlock ( t ( "实验步骤" ) , plan . steps , 3 ) ) ;
413- if ( plan . risks . length ) detail . append ( listBlock ( t ( "主要风险" ) , plan . risks , 3 ) ) ;
414412 // 实现语言随 G1 一并确认(设计 §7.4):有就亮出来;旧运行没有该键则不猜
415413 const language = languageLabel ( plan . language ) ;
416414 if ( language ) {
@@ -419,22 +417,22 @@ function planDetail(
419417 detail . append ( block ) ;
420418 }
421419
420+ if ( plan . steps . length ) detail . append ( listBlock ( t ( "实验步骤" ) , plan . steps , 3 ) ) ;
421+ if ( plan . risks . length ) detail . append ( listBlock ( t ( "主要风险" ) , plan . risks , 3 ) ) ;
422422 if ( recommended && rationale ) {
423423 const why = el ( "div" ) ;
424424 why . append ( el ( "h2" , "" , t ( "推荐理由" ) ) , richBlock ( rationale ) ) ;
425425 detail . append ( why ) ;
426426 }
427- return detail ;
428- }
429427 // 用户确认时写的备注是决策的一部分,原文示人(不做 markdown 渲染,不改写)
430428 if ( decision && decision . chosenPlanId === plan . id && decision . comment ) {
431429 const note = el ( "div" ) ;
432430 note . append ( el ( "h2" , "" , t ( "确认备注" ) ) , el ( "p" , "" , decision . comment ) ) ;
433431 detail . append ( note ) ;
434432 }
433+ return detail ;
434+ }
435435
436- function renderModelPanel ( root : HTMLElement , proposal : PlanProposal ) : void {
437- const panel = root . querySelector < HTMLElement > ( '[data-workspace-panel="model-plan"]' ) ;
438436/** 结论条一句话:有台账写「已确认采用」+ 确认时间;没有沿用「建议采用」口径。 */
439437function planConclusion (
440438 proposal : PlanProposal ,
@@ -450,6 +448,8 @@ function planConclusion(
450448 return `${ t ( "已确认采用方案" ) } ${ plan . id } (${ plan . name } )${ origin } ,${ t ( "确认于" ) } ${ localizedMoment ( decision . resolvedAt ) } ` ;
451449}
452450
451+ function renderModelPanel ( root : HTMLElement , proposal : PlanProposal ) : void {
452+ const panel = root . querySelector < HTMLElement > ( '[data-workspace-panel="model-plan"]' ) ;
453453 // 台账落地不改 updated_at(那是方案产出时间),签名要连 resolved_at 一起看
454454 if ( ! panel || ! shouldRender ( panel , "model" , planProposalStamp ( proposal ) ) ) return ;
455455
@@ -695,9 +695,9 @@ function renderImplementationPanel(
695695 root : HTMLElement ,
696696 proposal : PlanProposal ,
697697 plan : PlanProposal [ "plans" ] [ number ] ,
698+ decision : PlanDecisionView | null = null ,
698699) : void {
699700 const panel = root . querySelector < HTMLElement > ( '[data-workspace-panel="implementation"]' ) ;
700- decision: PlanDecisionView | null = null ,
701701 if ( ! panel || plan . steps . length === 0 ) return ;
702702 panel . dataset . stageContentSource = "api" ;
703703
0 commit comments