首页 我的主页 / 工具

会议纪要自动排版工具

快速整理会议内容,自动按规范结构排版,一键导出专业会议纪要

会议基本信息

会议议题内容

预览与导出

未生成会议纪要

填写会议信息并添加议题后,点击"生成会议纪要"按钮

`; mimeType = 'text/html'; extension = 'html'; } else { // 生成Markdown let md = `# ${formData.meetingTitle}\n\n`; // 添加元信息 md += `## 会议信息\n`; md += `- 日期:${new Date(formData.meetingDate).toLocaleDateString()}\n`; if (formData.meetingTime) md += `- 时间:${formData.meetingTime}\n`; if (formData.meetingLocation) md += `- 地点:${formData.meetingLocation}\n`; if (formData.meetingRecorder) md += `- 记录人:${formData.meetingRecorder}\n`; md += `- 参会人员:${formData.meetingAttendees}\n\n`; // 添加议题内容 md += `## 会议议题及内容\n`; formData.topics.forEach((topic, index) => { md += `### ${index + 1}. ${topic.title}\n`; if (topic.speaker) { md += `#### 发言人及观点:\n${topic.speaker.replace(/\n/g, '\n> ')}\n\n`; } if (topic.conclusion) { md += `#### 讨论结论:\n${topic.conclusion}\n\n`; } if (topic.action) { md += `#### 待办事项:\n${topic.action.replace(/\n/g, '\n- ')}\n\n`; } }); // 添加生成时间 const now = new Date(); md += `\n---\n生成时间:${now.toLocaleString()}`; content = md; mimeType = 'text/markdown'; extension = 'md'; } // 创建下载链接 const blob = new Blob([content], { type: mimeType }); const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = `${formData.meetingTitle.replace(/\s+/g, '_')}_会议纪要.${extension}`; document.body.appendChild(a); a.click(); // 清理 setTimeout(() => { document.body.removeChild(a); URL.revokeObjectURL(url); }, 0); showToast(`会议纪要已导出为${extension.toUpperCase()}格式`); } // 显示提示信息 function showToast(message, type = 'success') { toastMessage.textContent = message; // 设置提示样式 if (type === 'success') { toast.className = 'fixed bottom-6 right-6 transform translate-y-0 opacity-100 transition-all duration-300 flex items-center px-4 py-3 rounded-lg shadow-lg z-50 max-w-xs bg-green-500 text-white'; toast.querySelector('i').className = 'fa fa-check-circle mr-2'; } else { toast.className = 'fixed bottom-6 right-6 transform translate-y-0 opacity-100 transition-all duration-300 flex items-center px-4 py-3 rounded-lg shadow-lg z-50 max-w-xs bg-red-500 text-white'; toast.querySelector('i').className = 'fa fa-exclamation-circle mr-2'; } // 3秒后隐藏提示 setTimeout(() => { toast.className = 'fixed bottom-6 right-6 transform translate-y-20 opacity-0 transition-all duration-300 flex items-center px-4 py-3 rounded-lg shadow-lg z-50 max-w-xs'; }, 3000); } // 页面加载完成后初始化 document.addEventListener('DOMContentLoaded', init); // 返回顶部按钮显示/隐藏 window.addEventListener('scroll', function() { var btn = document.getElementById('backToTop'); btn.style.display = (window.scrollY > window.innerHeight) ? 'block' : 'none'; }); // 设置版权年份 document.getElementById('copyrightYear').textContent = new Date().getFullYear(); // JSON导出功能 function exportJSON() { var formData = collectFormData(); if (!formData) return; var jsonStr = JSON.stringify(formData, null, 2); var blob = new Blob([jsonStr], { type: 'application/json' }); var url = URL.createObjectURL(blob); var a = document.createElement('a'); a.href = url; a.download = (formData.meetingTitle || '会议纪要').replace(/\s+/g, '_') + '_会议纪要.json'; document.body.appendChild(a); a.click(); setTimeout(function() { document.body.removeChild(a); URL.revokeObjectURL(url); }, 0); showToast('会议纪要已导出为JSON格式'); }