/** 面板 Tab Demo 通用交互 */ function initPanelTabs(rootId) { const root = document.getElementById(rootId) if (!root) return const tabBtns = root.querySelectorAll('[data-tab]') const panels = root.querySelectorAll('[data-panel]') const track = root.querySelector('.tabs-06') const singleContent = root.querySelector('#content') function activate(name, index) { tabBtns.forEach((btn) => { btn.classList.toggle('is-active', btn.dataset.tab === name) }) panels.forEach((panel) => { panel.classList.toggle('is-active', panel.dataset.panel === name) }) if (track) { track.dataset.active = String(index) } if (singleContent && typeof mockContent === 'function') { singleContent.innerHTML = mockContent(name) } } tabBtns.forEach((btn, index) => { btn.addEventListener('click', () => activate(btn.dataset.tab, index)) }) } function buildBanner(currentFile, styleName, styleDesc) { const files = [ { id: '01', file: '01-underline-default.html', label: '01 下划线' }, { id: '02', file: '02-pill-segmented.html', label: '02 胶囊分段' }, { id: '03', file: '03-card-tabs.html', label: '03 卡片 Tab' }, { id: '04', file: '04-icon-blocks.html', label: '04 图标块' }, { id: '05', file: '05-bar-accent.html', label: '05 竖条强调' }, { id: '06', file: '06-full-track.html', label: '06 全宽滑轨' }, { id: '07', file: '07-minimal-dot.html', label: '07 极简圆点' } ] const links = files .map((f) => { const current = f.file === currentFile ? ' is-current' : '' return `${f.label}` }) .join('') return `

${styleName} 质检物料库 · Tab 样式 Demo

${styleDesc} · 点击下方 Tab 可切换模拟内容

← 选型索引 ${links}
` } function mockContent(tabName) { const labels = { list: '物料列表', usage: '变动记录', stockCheck: '库存盘点' } return `
物料编码/名称
全部
开始日期 — 结束日期
已选 0 项
序号入库编号物料名称批号剩余数量
1RK-20260601-001DMEM培养基BN2026050120 瓶
2RK-20260601-002胎牛血清BN202604156 瓶

当前 Tab:${labels[tabName] || tabName}(示意内容相同,仅 Tab 样式不同)

` }