// 江中猴菇饮 v2 · Ch2 嵌套洞察(5 子章) // ⚠️ 修正版:严格按会议要求的嵌套方向 // 第一层 = 病程阶段(由重到轻) // 第二层 = 每个阶段内的细分**症状**(胃酸/胃痛/胃胀/嗳气…) // 第三层 = 该症状下用户选的**产品** + **未满足需求** // // 2.1 治疗级 + 化药级 · 4大症状 × 产品 × 未满足需求 // 2.2 中成药养护 · 4大症状 × 产品 × 未满足需求 // 2.3 保健食品 + 功能食品 · 4大需求场景 × 产品 × 未满足需求 // 2.4 未病/预防 · 亚健康人群的空白地带 // 2.5 嵌套全景 · 5阶段×N症状×产品选择总览矩阵 const HGY = require('./houguyin-analyze.js'); const C = require('./houguyin-components.js'); const { BRAND, esc, renderVocCard, renderVocGrid, renderSectionHead, renderMatrix2x2 } = C; // ── 通用:症状×产品×未满足需求 嵌套表 渲染器 ── // items 可选:传入 VOC 数据时,自动显示 VOC 提及数列 function renderSymptomTable(rows, stageColor, items) { const hasItems = Array.isArray(items) && items.length > 0; // 若传入 items,为每行计算 VOC 命中数 if (hasItems) { rows.forEach(r => { if (r.re) r.vocCount = items.filter(it => r.re.test(it.content || '')).length; else r.vocCount = 0; }); } const cols = hasItems ? '110px 1fr 1fr 60px' : '110px 1fr 1fr'; return `
| 病程阶段 | 细分症状 | 用户选择的产品 | 未满足需求 | 猴菇饮机会 |
|---|---|---|---|---|
| ${esc(row.stage)} | ${esc(row.symptom)} | ${esc(row.products)} | ${esc(row.unmet)} | ${row.opp} |