@@ -32,6 +32,8 @@ interface Props {
3232 noteId : number ;
3333 /** 挂接/取消后刷新回调(NotesPage 重载引用列表) */
3434 onChanged : ( ) => void ;
35+ /** TD-2026-09-05-A:空体系时引导跳体系页并打开建体系向导(App 级通道) */
36+ onGotoKnowledgeSystem ?: ( ) => void ;
3537}
3638
3739/** 问题节点树 → 缩进行(父链循环守卫防脏数据死循环;深度上限 30) */
@@ -69,7 +71,7 @@ function flattenNodeRows(nodes: KnowledgeNode[]): LinkRow[] {
6971 return rows ;
7072}
7173
72- export default function NoteLinkToSystem ( { noteId, onChanged } : Props ) {
74+ export default function NoteLinkToSystem ( { noteId, onChanged, onGotoKnowledgeSystem } : Props ) {
7375 const [ open , setOpen ] = useState ( false ) ;
7476 const [ systems , setSystems ] = useState < KnowledgeSystem [ ] > ( [ ] ) ;
7577 const [ nodes , setNodes ] = useState < KnowledgeNode [ ] > ( [ ] ) ;
@@ -252,7 +254,19 @@ export default function NoteLinkToSystem({ noteId, onChanged }: Props) {
252254 } }
253255 >
254256 { domainSystems . length === 0 ? (
255- < div data-testid = "note-link-empty" style = { { fontSize : 12 , color : "#9ca3af" } } > 暂无体系——请先到「🧠 体系」页创建。</ div >
257+ < div data-testid = "note-link-empty" style = { { fontSize : 12 , color : "#9ca3af" , display : "flex" , flexDirection : "column" , gap : 6 , alignItems : "flex-start" } } >
258+ < span > 暂无体系——笔记无法挂接。</ span >
259+ { /* TD-2026-09-05-A:引导按钮(跳体系页并打开建体系向导) */ }
260+ { onGotoKnowledgeSystem && (
261+ < button
262+ data-testid = "note-link-goto-system"
263+ onClick = { onGotoKnowledgeSystem }
264+ style = { { fontSize : 12 , padding : "4px 10px" , borderRadius : 6 , border : "1px solid #0f766e" , background : "#f0fdfa" , color : "#0f766e" , cursor : "pointer" } }
265+ >
266+ ➕ 去体系页创建(向导)
267+ </ button >
268+ ) }
269+ </ div >
256270 ) : (
257271 < >
258272 < select
0 commit comments