(function () {
var shell = document.querySelector('.detail-shell');
if (!shell) return;
var detailSheet = document.querySelector('#detail-sheet');
var detailBackdrop = document.querySelector('#detail-backdrop');
var toast = document.querySelector('#toast');
var toastTimer;
var casesExpanded = false;
function showToast(message) {
if (!toast) return;
window.clearTimeout(toastTimer);
toast.textContent = message;
toast.classList.add('is-visible');
toastTimer = window.setTimeout(function () {
toast.classList.remove('is-visible');
}, 1800);
}
function firstQualTitle(raw) {
var text = (raw || '').trim();
if (!text) return '咨询师资质';
var first = text.split(/[,,、]/)[0];
first = (first || '').trim();
return first || '咨询师资质';
}
function openSheet(opts) {
document.querySelector('#detail-sheet-kicker').textContent = opts.kicker || '';
document.querySelector('#detail-sheet-title').textContent = firstQualTitle(opts.title);
var imgWrap = document.querySelector('#detail-sheet-cert-img');
if (opts.image) {
imgWrap.innerHTML =
'' +
'
点击证书可放大查看,支持旋转
'; imgWrap.hidden = false; } else { imgWrap.innerHTML = ''; imgWrap.hidden = true; } detailBackdrop.hidden = false; detailSheet.hidden = false; document.body.style.overflow = 'hidden'; } function closeSheet() { if (window.ExpertCertViewer && window.ExpertCertViewer.isOpen()) { window.ExpertCertViewer.close(); } detailBackdrop.hidden = true; detailSheet.hidden = true; document.body.style.overflow = ''; } function expandCases() { var extras = document.querySelectorAll('#case-list .content-card.is-extra'); for (var i = 0; i < extras.length; i++) { extras[i].hidden = false; } casesExpanded = true; var btn = document.querySelector('[data-expand-cases]'); if (btn) { btn.textContent = '收起'; btn.setAttribute('data-expanded', '1'); } } function collapseCases() { var extras = document.querySelectorAll('#case-list .content-card.is-extra'); for (var i = 0; i < extras.length; i++) { extras[i].hidden = true; } casesExpanded = false; var btn = document.querySelector('[data-expand-cases]'); if (btn) { btn.textContent = '查看全部'; btn.removeAttribute('data-expanded'); } } document.addEventListener('click', function (event) { var preview = event.target.closest('[data-cert-preview]'); if (preview) { event.preventDefault(); event.stopPropagation(); if (window.ExpertCertViewer) { window.ExpertCertViewer.open(preview.getAttribute('data-cert-preview') || preview.getAttribute('src')); } return; } var certBtn = event.target.closest('[data-certificate-open]'); if (certBtn) { var img = certBtn.getAttribute('data-certify-image') || ''; if (!img) { showToast('暂无证书图片'); return; } openSheet({ kicker: '专业证书', title: certBtn.getAttribute('data-qual') || '咨询师资质', image: img }); return; } var expandBtn = event.target.closest('[data-expand-cases]'); if (expandBtn) { if (casesExpanded) { collapseCases(); } else { expandCases(); } return; } }); var closeBtn = document.querySelector('#detail-sheet-close'); var primaryBtn = document.querySelector('#detail-sheet-primary'); if (closeBtn) closeBtn.addEventListener('click', closeSheet); if (primaryBtn) primaryBtn.addEventListener('click', closeSheet); if (detailBackdrop) detailBackdrop.addEventListener('click', closeSheet); document.addEventListener('keydown', function (event) { if (event.key === 'Escape') { if (window.ExpertCertViewer && window.ExpertCertViewer.isOpen()) { return; } closeSheet(); } }); })();