Files
vf_react/public/htmls/空中成像.html
2025-12-05 13:29:18 +08:00

490 lines
30 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="zh-CN" data-theme="night">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>深度研报:空中成像概念</title>
<link href="https://cdn.jsdelivr.net/npm/daisyui@4.12.2/dist/full.min.css" rel="stylesheet" type="text/css" />
<script src="https://cdn.tailwindcss.com/3.4.4"></script>
<script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.14.0/dist/cdn.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/echarts@5.5.0/dist/echarts.min.js"></script>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;700&display=swap" rel="stylesheet">
<style>
body {
font-family: 'Manrope', sans-serif;
background-color: #0c0a09; /* Near black */
background-image:
radial-gradient(at 20% 25%, hsla(212, 80%, 30%, 0.3) 0px, transparent 50%),
radial-gradient(at 80% 20%, hsla(288, 70%, 40%, 0.25) 0px, transparent 50%),
radial-gradient(at 50% 80%, hsla(190, 80%, 50%, 0.2) 0px, transparent 50%);
background-attachment: fixed;
}
.glass-card {
background: rgba(22, 28, 45, 0.4); /* Dark blueish tint */
backdrop-filter: blur(24px) saturate(150%);
-webkit-backdrop-filter: blur(24px) saturate(150%);
border: 1px solid rgba(255, 255, 255, 0.1);
box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
}
.bento-grid {
display: grid;
gap: 1rem;
grid-template-columns: repeat(12, 1fr);
}
.bento-item {
border-radius: 1.5rem; /* rounded-3xl */
padding: 1.5rem;
transition: all 0.3s ease-in-out;
}
.prose h1, .prose h2, .prose h3, .prose h4, .prose p, .prose li, .prose strong {
color: #e5e7eb; /* Gray 200 for readability */
}
.prose code {
color: #93c5fd;
}
.prose a {
color: #60a5fa;
text-decoration: none;
}
.prose a:hover {
text-decoration: underline;
}
.glow-divider {
height: 1px;
border: 0;
background: linear-gradient(to right, transparent, rgba(107, 114, 128, 0.5), transparent);
}
.daisy-collapse-title {
font-size: 1.125rem;
font-weight: 500;
}
/* Custom table style for glassmorphism */
.glass-table {
background: transparent;
}
.glass-table th {
background-color: rgba(255, 255, 255, 0.1);
color: #f9fafb;
border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.glass-table td {
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.glass-table tr:last-child td {
border-bottom: none;
}
</style>
</head>
<body class="min-h-screen text-gray-300">
<div class="container mx-auto p-4 md:p-8">
<!-- Header -->
<header class="text-center mb-16 relative">
<div class="absolute inset-0 -z-10">
<div class="absolute top-1/2 left-1/2 w-96 h-96 -translate-x-1/2 -translate-y-1/2 bg-cyan-500/20 rounded-full blur-3xl"></div>
</div>
<h1 class="text-4xl md:text-6xl font-bold text-transparent bg-clip-text bg-gradient-to-br from-white to-blue-300 mb-4 tracking-tight">
概念深度研报:空中成像
</h1>
<p class="text-lg text-gray-400">从主题炒作到产业化初期的关键节点</p>
</header>
<!-- Main Content Grid -->
<main class="space-y-12">
<!-- Insight Section -->
<section x-data="{}" class="bento-grid">
<!-- Core Viewpoint -->
<div class="bento-item glass-card col-span-12 lg:col-span-8 lg:row-span-1">
<h2 class="text-2xl font-bold text-white mb-4">核心观点摘要</h2>
<p class="text-gray-300 text-base leading-relaxed">
空中成像概念正处在从“主题炒作”向“产业化初期”过渡的关键节点。其核心驱动力源于智能座舱对革命性人机交互体验的迫切需求,并由华为等行业巨头的布局预期所引爆。尽管未来市场空间广阔,但当前存在显著的预期差——市场热情远超实际商业化落地进程,短期风险与长期潜力并存。
</p>
</div>
<!-- Definition -->
<div class="bento-item glass-card col-span-12 lg:col-span-4 lg:row-span-1">
<h2 class="text-2xl font-bold text-white mb-4">技术定义</h2>
<p class="text-gray-300 text-sm">通过平板透镜(主流为负折射平板透镜 DCT-plate形成不需要介质承载的实像技术。其特点是"无接触"、"无介质"、"防感染"。</p>
</div>
<!-- Event Timeline Chart -->
<div class="bento-item glass-card col-span-12">
<h2 class="text-2xl font-bold text-white mb-4">关键事件与市场演进</h2>
<div id="timeline-chart" class="w-full h-96"></div>
</div>
<!-- Core Logic -->
<div class="bento-item glass-card col-span-12 md:col-span-6">
<h3 class="text-xl font-bold text-white mb-4">核心逻辑与市场认知分析</h3>
<div class="prose prose-sm max-w-none">
<h4>核心驱动力:</h4>
<ul>
<li><strong>技术突破驱动成本下降:</strong>国内企业(如东超科技)量产突破,打破国外垄断,使成本大幅降低,未来有望降至每平米万元以内,这是商业化的根本前提。</li>
<li><strong>应用场景拉动:</strong>智能座艙是当前最明确、最具潜力的应用场景。其“无介质、非接触、悬浮操控”体验完美契合科技感、安全性与隐私性追求。2026年中国智能座舱市场规模预计达2127亿元。</li>
<li><strong>行业标杆催化:</strong>华为的入局预期是引爆市场情绪的关键。其技术布局被市场解读为产业化的“发令枪”,吸引资本和产业链资源快速聚集。</li>
</ul>
<hr class="glow-divider my-4">
<h4>预期差分析:</h4>
<p>市场普遍认知与产业实际进展之间存在巨大预期差。</p>
<ul>
<li><strong>市场的普遍认知:</strong>倾向于认为技术已成熟,即将随华为等巨头大规模上车。</li>
<li><strong>被忽略的关键点(产业现实):</strong>
<ol>
<li><strong>商业化阶段错判:</strong>技术目前主要处于“示范阶段”或“早期试验”,距离大规模前装量产仍有距离。</li>
<li><strong>技术路线混淆:</strong>市场将空中成像、全息、AR-HUD笼统归为一类而AR-HUD是当前渐进式升级的主流。</li>
<li><strong>公司角色误读:</strong>市场将“参股/投资”等同于“生产/运营”,如伟时电子仅为东超科技的财务投资者,而非生产商。</li>
</ol>
</li>
</ul>
</div>
</div>
<!-- Industry Chain -->
<div class="bento-item glass-card col-span-12 md:col-span-6">
<h3 class="text-xl font-bold text-white mb-4">产业链与核心公司深度剖析</h3>
<div class="prose prose-sm max-w-none">
<h4>产业链图谱:</h4>
<ul>
<li><strong>上游 (核心材料与元器件):</strong>
<ul>
<li>光学原材料: 玻璃基材 (成本占比最大)、树脂材料。</li>
<li>核心光学元件: 负折射平板透镜 (DCT-plate)、空气成像反射膜。<strong>(技术壁垒最高、价值量最核心环节)</strong></li>
<li>配套元器件: 光源 (LED/激光)、交互传感器。</li>
</ul>
</li>
<li><strong>中游 (解决方案/模组):</strong> 将上游元器件集成为完整的空中成像系统。</li>
<li><strong>下游 (应用与终端):</strong> 智能座舱、公共服务 (医疗、金融)、消费电子 (远期)。</li>
</ul>
<hr class="glow-divider my-4">
<h4>核心玩家对比:</h4>
<ul>
<li><strong>技术领导者 (逻辑最纯粹):</strong> 东超科技 (伟时电子参股), 棱镜全息 (当虹科技参股), 像航科技 (盈趣科技参股)。</li>
<li><strong>关键材料供应商:</strong> 凯盛科技 (空气成像反射膜)。</li>
<li><strong>潜在布局者:</strong> 奥比中光, 联创电子, 中光学 (拥有专利或研发方向)。</li>
<li><strong>应用场景集成商:</strong> 风语筑, 丝路视觉 (技术的“使用者”而非“创造者”)。</li>
</ul>
</div>
</div>
<!-- Risks & Conclusion -->
<div class="bento-item glass-card col-span-12 lg:col-span-7">
<h3 class="text-xl font-bold text-white mb-4">潜在风险与挑战</h3>
<div class="prose prose-sm max-w-none">
<ul>
<li><strong>技术风险:</strong> 纳米级加工精度、2mm级交互精度对工艺提出极高挑战成像尺寸、亮度、功耗仍有局限。</li>
<li><strong>商业化风险:</strong> 成本依然高昂;作为非刚需功能,市场接受度和付费意愿待检验;下游需求渗透不及预期。</li>
<li><strong>竞争风险:</strong> 来自AR-HUD、光场屏等更成熟、成本更低技术的竞争。</li>
<li><strong>信息交叉验证风险:</strong> 市场标签与公司现实严重不符是本概念最大的风险之一,如伟时电子仅为财务投资者。</li>
</ul>
</div>
</div>
<div class="bento-item glass-card col-span-12 lg:col-span-5">
<h3 class="text-xl font-bold text-white mb-4">综合结论与投资启示</h3>
<div class="prose prose-sm max-w-none">
<p><strong>最终看法:</strong>概念处于由主题炒作驱动的早期阶段,基本面正在萌芽但远未成熟。长期叙事逻辑清晰,但短期商业化路径不确定。当前投资的核心是<strong>博弈预期</strong></p>
<p><strong>最具投资价值环节:</strong>上游核心光学元件与关键材料。该环节技术壁垒最高,议价能力最强,是产业链的“卖水者”,确定性受益。</p>
</div>
</div>
</section>
<!-- Supporting Data Section -->
<section x-data="{ openTab: 1 }" class="glass-card rounded-3xl p-6">
<h2 class="text-2xl font-bold text-white mb-6">多源数据印证</h2>
<div class="tabs tabs-boxed bg-black/20 mb-6">
<a class="tab" :class="{'tab-active': openTab === 1}" @click="openTab = 1">研报数据</a>
<a class="tab" :class="{'tab-active': openTab === 2}" @click="openTab = 2">新闻数据</a>
<a class="tab" :class="{'tab-active': openTab === 3}" @click="openTab = 3">路演纪要</a>
</div>
<!-- Research Reports Content -->
<div x-show="openTab === 1" class="space-y-2">
<div class="collapse collapse-plus bg-base-200/50">
<input type="radio" name="research-accordion" checked="checked" />
<div class="collapse-title">技术原理与区别</div>
<div class="collapse-content">
<div class="prose prose-sm max-w-none">
<p><strong>主流技术原理 (光场重构):</strong> 通过一块特制的玻璃等效负折射率平板透镜DCT-plate将发散的光线重新汇聚在空中形成1:1大小的三维实像。</p>
<p><strong>与全息投影的区别:</strong></p>
<div class="overflow-x-auto">
<table class="table table-zebra table-xs">
<thead>
<tr>
<th>对比维度</th>
<th>全息投影</th>
<th>空中成像</th>
</tr>
</thead>
<tbody>
<tr>
<td>应用原理</td>
<td>利用光的干涉和衍射原理</td>
<td>应用光场重构原理</td>
</tr>
<tr>
<td>介质需求</td>
<td>需要介质承载 (如水幕、烟雾、全息膜等)</td>
<td>无需介质承载</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div class="collapse collapse-plus bg-base-200/50">
<input type="radio" name="research-accordion" />
<div class="collapse-title">车载应用与市场前景</div>
<div class="collapse-content">
<div class="prose prose-sm max-w-none">
<p><strong>华为合作:</strong>2024年4月华为发布"华为乾崑",东超科技推出"空中成像·智能车载解决方案"像航科技于2022年与华为携手探索智能座舱。</p>
<p><strong>市场前景:</strong>2022年中国智能座舱市场规模1127亿元预计2026年达2127亿元五年复合增长率约17%。</p>
<p><strong>已采纳车厂(部分):</strong>宝马(2017)、长城(2019)、吉利(2021)、长安(2021)、华为(2021)、江淮(2023)、奇瑞(2023)、一汽红旗(2023)。</p>
</div>
</div>
</div>
<div class="collapse collapse-plus bg-base-200/50">
<input type="radio" name="research-accordion" />
<div class="collapse-title">风险提示</div>
<div class="collapse-content">
<div class="prose prose-sm max-w-none">
<ul>
<li><strong>量产与导入不及预期:</strong>目前技术还未大批量使用,若批量应用、技术导入不及预期,将影响相关公司业绩。</li>
<li><strong>新技术出现风险:</strong>若有新的、效果更好的成像技术出现,可能导致该技术无法大规模使用。</li>
<li><strong>下游需求不及预期:</strong>公共枢纽、车载等应用目前仍处于示范阶段,存在下游渗透率不及预期的风险。</li>
</ul>
</div>
</div>
</div>
</div>
<!-- News Content -->
<div x-show="openTab === 2" class="space-y-2">
<div class="collapse collapse-plus bg-base-200/50">
<input type="radio" name="news-accordion" checked="checked" />
<div class="collapse-title">核心信息:技术与市场动态</div>
<div class="collapse-content">
<div class="prose prose-sm max-w-none">
<ul>
<li><strong>市场热点:</strong>新闻标题多次出现“空中成像”,并与“华为最新黑科技”、“产业链图谱”并列,显示其为市场关注热点。</li>
<li><strong>车载应用:</strong>华为智选车厂商申请空中成像专利,相关企业曾与江淮合作推出车载空中成像精灵。</li>
<li><strong>产业链构成:</strong>玻璃基材占据产品最大成本,交互传感器为三大核心部件之一。</li>
<li><strong>行业研讨:</strong>专家会议密集召开,火线解读技术原理、产品成熟度、量产情况、上游供应商及未来技术路径。</li>
</ul>
</div>
</div>
</div>
<div class="collapse collapse-plus bg-base-200/50">
<input type="radio" name="news-accordion" />
<div class="collapse-title">产业链与相关公司动态</div>
<div class="collapse-content">
<div class="prose prose-sm max-w-none">
<ul>
<li><strong>华为:</strong>智选车厂商申请空中成像专利。</li>
<li><strong>亿道信息:</strong>子公司有相关专利,但目前尚未有布局相关产品的计划。</li>
<li><strong>伟时电子:</strong>投资的东超科技技术领先。但公司发布风险提示,自身不生产空中成像相关产品。</li>
<li><strong>凯盛科技:</strong>空气成像反射膜已实现批量供货。</li>
<li><strong>比亚迪:</strong>公布浮空显示装置专利,涉及空中成像装置技术领域。</li>
<li><strong>奥比中光:</strong>在2020年申请了“一种空中成像系统和显示设备”的专利。</li>
</ul>
</div>
</div>
</div>
</div>
<!-- Roadshow Content -->
<div x-show="openTab === 3" class="space-y-2">
<div class="collapse collapse-plus bg-base-200/50">
<input type="radio" name="roadshow-accordion" checked="checked" />
<div class="collapse-title">技术成熟度分析 (路演日期 2024-03-11)</div>
<div class="collapse-content">
<div class="prose prose-sm max-w-none">
<ul>
<li><strong>原文描述谬误:</strong>将空中成像视为“显示技术的革命性变化”,并推举比亚迪、华为为技术引领者。</li>
<li><strong>谬误分析:</strong>空中成像如全息投影尚处早期试验阶段比亚迪2024年车型如“方程豹”未采用此技术更多为AR-HUD等渐进式升级。</li>
<li><strong>修正建议:</strong>应区分“技术概念”与“商业化落地”,强调需关注技术量产时间表及专利布局。</li>
</ul>
</div>
</div>
</div>
<div class="collapse collapse-plus bg-base-200/50">
<input type="radio" name="roadshow-accordion" />
<div class="collapse-title">相关技术升级路径 (路演日期 2024-08-21)</div>
<div class="collapse-content">
<div class="prose prose-sm max-w-none">
<p>路演详细讨论了构成或属于空中成像范畴的多项技术如HUD、智慧大灯和光场屏。</p>
<ul>
<li><strong>AR-HUD</strong>因显示信息丰富逐步取代WHUD预计2027年出货占比超50%。成本已降至2000元以下。</li>
<li><strong>智慧大灯 (DLP)</strong>可投影动态图案预计成为新方向但成本高约4000元且受TI芯片产能制约。</li>
<li><strong>光场屏:</strong>优势为远距离显示、护眼,但安全性担忧导致上车速度慢,目前仅华为问界系列测试。</li>
<li><strong>行业风险:</strong>存在技术替代风险如AR-HUD与全息投影竞争、供应链风险TI DMD芯片国产化进度</li>
</ul>
</div>
</div>
</div>
</div>
</section>
<!-- Stock List Table -->
<section class="glass-card rounded-3xl p-6">
<h2 class="text-2xl font-bold text-white mb-6">相关概念股一览</h2>
<div class="overflow-x-auto">
<table class="table w-full glass-table">
<thead>
<tr>
<th>股票名称</th>
<th>股票代码</th>
<th>关联原因</th>
<th>其他标签</th>
</tr>
</thead>
<tbody id="stock-table-body">
<!-- JS will populate this -->
</tbody>
</table>
</div>
</section>
</main>
<!-- Footer -->
<footer class="text-center mt-16">
<p class="text-xs text-gray-500">北京价值前沿科技有限公司 AI投研agent“价小前投研” 进行投研呈现</p>
<p class="text-xs text-gray-600 mt-1">免责声明本报告为AI合成数据所有内容仅供参考不构成任何投资建议投资需谨慎。</p>
</footer>
</div>
<script>
// ECharts Timeline Initialization
var timelineChart = echarts.init(document.getElementById('timeline-chart'));
var timelineOption = {
tooltip: {
trigger: 'axis',
formatter: function (params) {
var param = params[0];
return param.name + ' : ' + param.value[2];
},
backgroundColor: 'rgba(22, 28, 45, 0.8)',
borderColor: 'rgba(255, 255, 255, 0.2)',
textStyle: {
color: '#e5e7eb'
}
},
grid: {
left: '3%',
right: '4%',
bottom: '12%',
containLabel: true
},
xAxis: {
type: 'time',
axisLine: { lineStyle: { color: 'rgba(255, 255, 255, 0.3)' } },
splitLine: { show: false },
},
yAxis: {
type: 'value',
axisLine: { lineStyle: { color: 'rgba(255, 255, 255, 0.3)' } },
splitLine: { lineStyle: { color: 'rgba(255, 255, 255, 0.1)' } },
},
dataZoom: [{
type: 'inside',
start: 0,
end: 100
}, {
start: 0,
end: 100,
handleIcon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z',
handleSize: '80%',
handleStyle: {
color: '#fff',
shadowBlur: 3,
shadowColor: 'rgba(0, 0, 0, 0.6)',
shadowOffsetX: 2,
shadowOffsetY: 2
},
textStyle: { color: '#e5e7eb' }
}],
series: [{
name: '事件',
type: 'line',
symbol: 'circle',
symbolSize: 10,
smooth: true,
itemStyle: {
color: '#22d3ee' // cyan-400
},
areaStyle: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
offset: 0,
color: 'rgba(34, 211, 238, 0.3)'
}, {
offset: 1,
color: 'rgba(34, 211, 238, 0)'
}])
},
data: [
{ value: ['2017-01-01', 1, '宝马在CES展示相关技术'] },
{ value: ['2019-06-11', 2, '长城在亚洲CES与衍视科技合作展示'] },
{ value: ['2020-01-07', 3, '丰田在亚洲CES与衍视科技合作展示'] },
{ value: ['2021-04-14', 4, '吉利与棱镜全息合作'] },
{ value: ['2021-08-24', 5, '长安与东超科技合作'] },
{ value: ['2021-12-02', 6, '华为与像航科技合作'] },
{ value: ['2023-04-18', 7, '江淮、奇瑞在上海车展与东超科技合作展示'] },
{ value: ['2023-04-18', 8, '一汽红旗在上海车展与像航科技合作展示'] },
{ value: ['2024-09-03', 9, '市场引爆:华为智选车厂商申请空中成像专利新闻密集出现'] },
{ value: ['2024-09-06', 10, '风险提示:伟时电子公告澄清自身不生产相关产品'] },
]
}]
};
timelineChart.setOption(timelineOption);
window.addEventListener('resize', function() {
timelineChart.resize();
});
// Stock Data Processing
const stockData = {
"伟时电子": { code: "605218", reasons: ["投资东超科技空中成像专利A股第一", "东超科技是空中成像技术领军企业,产品广泛应用于家居、展览、车载医疗等领域。"], tags: ["主", "首板", "背光显示模组", "VR", "空中成像", "华为汽车"] },
"朗迪集团": { code: "603726", reasons: ["参股公司有激光微型投影仪及相关技术", "核心技术AnyBeam激光微型投影仪及模块在穿戴式AR眼镜与视网膜扫描成像技术。"], tags: ["主", "首板", "微型激光投影", "空调风叶", "先进封装"] },
"当虹科技": { code: "688039", reasons: ["投资棱镜全息空中成像专利A股第二"], tags: [] },
"亿道信息": { code: "001314", reasons: ["拥有离轴投影光学装置专利", "子公司亿境虚拟申请用于增强现实设备的离轴投影光学装置专利。"], tags: ["主"] },
"风语筑": { code: "603466", reasons: ["国内全息技术应用规模最大的企业之一", "拥有可触控的360度全息空中成像装置的专利积极将技术应用于项目中。"], tags: ["主", "债"] },
"凯盛科技": { code: "600552", reasons: ["攻克空气成像反射膜技术", "空气成像反射膜是设备重要组件,已实现稳定销售,并为华为提供材料支持。"], tags: ["主"] },
"盈趣科技": { code: "002925", reasons: ["投资像航科技,空气成像技术研发商", "像航科技与华为合作,在智能全息座舱领域开拓,获“华为智能汽车解决方案优秀合作伙伴”称号。"], tags: ["主"] },
"丝路视觉": { code: "300556", reasons: ["CG视觉服务可结合全息成像技术", "服务可结合全息、幻影、空气成像技术,并融入互动内容。"], tags: ["首板", "创", "债"] },
"奥比中光": { code: "688322", reasons: ["申请了空中成像系统和显示设备专利"], tags: [] },
"联创光电": { code: "600363", reasons: ["开发了180度全息投影技术", "技术可在空中成像三维物体。"], tags: ["主"] },
"联创电子": { code: "002036", reasons: ["研发空中成像技术并申请专利"], tags: [] },
"华凯易佰": { code: "300592", reasons: ["公司360度幻影成像基于立体投射镜成像"], tags: [] },
"中光学": { code: "002189", reasons: ["重点布局空中成像技术", "空中成像技术是公司布局未来产业发展的重点方向结合计算光学与AI开发新一代设备。"], tags: ["主"] },
"福耀玻璃": { code: "600660", reasons: ["福耀玻璃的汉恩全息技术能够实现悬浮操控和手势操作,并拥有雾幕成像技术。"], tags: ["主"] }
};
const tableBody = document.getElementById('stock-table-body');
Object.entries(stockData).forEach(([stock, data]) => {
const row = document.createElement('tr');
row.className = "hover";
const codeLink = data.code ? `<a href="https://valuefrontier.cn/company?scode=${data.code}" target="_blank" class="text-blue-400 hover:text-blue-300 transition-colors">${data.code}</a>` : 'N/A';
const tagsHtml = data.tags.map(tag => `<span class="badge badge-outline badge-info badge-sm">${tag}</span>`).join(' ');
row.innerHTML = `
<td class="font-semibold text-white">${stock}</td>
<td>${codeLink}</td>
<td>${data.reasons.join(' ')}</td>
<td><div class="flex flex-wrap gap-1">${tagsHtml}</div></td>
`;
tableBody.appendChild(row);
});
</script>
</body>
</html>