ai-echo / index.html
echo3700's picture
Add 3 files
46b7cfe verified
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>江阴市人民医院 - 24小时无人超声自助诊疗室</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<style>
@keyframes pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.5; }
}
.pulse-animation {
animation: pulse 2s infinite;
}
.gradient-bg {
background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%);
}
.scan-area {
position: relative;
overflow: hidden;
}
.scan-area::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 3px;
background: linear-gradient(90deg, transparent, #3b82f6, transparent);
animation: scan 3s linear infinite;
}
@keyframes scan {
0% { top: 0; }
100% { top: 100%; }
}
.modal {
transition: all 0.3s ease;
}
.modal-enter {
opacity: 0;
transform: scale(0.9);
}
.modal-enter-active {
opacity: 1;
transform: scale(1);
}
.modal-exit {
opacity: 1;
transform: scale(1);
}
.modal-exit-active {
opacity: 0;
transform: scale(0.9);
}
#previewImage {
max-height: 300px;
max-width: 100%;
}
#videoElement {
width: 100%;
height: auto;
background-color: #000;
}
#canvas {
display: none;
}
</style>
</head>
<body class="bg-gray-100 font-sans">
<!-- Header -->
<header class="gradient-bg text-white shadow-lg">
<div class="container mx-auto px-4 py-6">
<div class="flex justify-between items-center">
<div class="flex items-center space-x-4">
<i class="fas fa-hospital text-3xl"></i>
<div>
<h1 class="text-2xl font-bold">江阴市人民医院</h1>
<p class="text-sm opacity-80">24小时无人超声自助诊疗室</p>
</div>
</div>
<div class="hidden md:flex items-center space-x-6">
<a href="#services" class="hover:text-blue-200 transition">服务项目</a>
<a href="#process" class="hover:text-blue-200 transition">就诊流程</a>
<a href="#contact" class="hover:text-blue-200 transition">联系我们</a>
</div>
<button class="md:hidden text-2xl" id="mobile-menu-button">
<i class="fas fa-bars"></i>
</button>
</div>
</div>
</header>
<!-- Mobile Menu -->
<div class="md:hidden bg-white shadow-lg hidden" id="mobile-menu">
<div class="container mx-auto px-4 py-2 flex flex-col space-y-3">
<a href="#services" class="py-2 border-b border-gray-100">服务项目</a>
<a href="#process" class="py-2 border-b border-gray-100">就诊流程</a>
<a href="#contact" class="py-2">联系我们</a>
</div>
</div>
<!-- Hero Section -->
<section class="gradient-bg text-white py-16">
<div class="container mx-auto px-4 flex flex-col md:flex-row items-center">
<div class="md:w-1/2 mb-10 md:mb-0">
<h2 class="text-4xl font-bold mb-4">智能超声 自助诊疗</h2>
<p class="text-xl mb-6">24小时全天候服务,AI辅助诊断,专业医师远程指导</p>
<div class="flex flex-col sm:flex-row space-y-4 sm:space-y-0 sm:space-x-4">
<button class="bg-white text-blue-600 px-6 py-3 rounded-lg font-semibold hover:bg-blue-50 transition" id="start-btn">
开始自助诊疗 <i class="fas fa-arrow-right ml-2"></i>
</button>
<button class="border border-white text-white px-6 py-3 rounded-lg font-semibold hover:bg-white hover:text-blue-600 transition" id="video-btn">
观看操作视频 <i class="fas fa-play-circle ml-2"></i>
</button>
</div>
</div>
<div class="md:w-1/2 flex justify-center">
<div class="relative w-64 h-64 bg-white bg-opacity-20 rounded-lg flex items-center justify-center scan-area">
<div class="text-center p-4">
<i class="fas fa-qrcode text-6xl mb-4"></i>
<p class="text-sm">请扫描二维码上传检查资料</p>
</div>
</div>
</div>
</div>
</section>
<!-- Services Section -->
<section id="services" class="py-16 bg-white">
<div class="container mx-auto px-4">
<h2 class="text-3xl font-bold text-center mb-12">服务项目</h2>
<div class="grid md:grid-cols-3 gap-8">
<div class="bg-gray-50 p-6 rounded-lg shadow-sm hover:shadow-md transition">
<div class="text-blue-600 text-4xl mb-4">
<i class="fas fa-heartbeat"></i>
</div>
<h3 class="text-xl font-semibold mb-2">心脏超声检查</h3>
<p class="text-gray-600">包括心脏结构、功能评估,瓣膜活动情况,心包积液等检查项目</p>
</div>
<div class="bg-gray-50 p-6 rounded-lg shadow-sm hover:shadow-md transition">
<div class="text-blue-600 text-4xl mb-4">
<i class="fas fa-baby"></i>
</div>
<h3 class="text-xl font-semibold mb-2">腹部超声检查</h3>
<p class="text-gray-600">肝、胆、胰、脾、肾等腹部器官的形态学检查与功能评估</p>
</div>
<div class="bg-gray-50 p-6 rounded-lg shadow-sm hover:shadow-md transition">
<div class="text-blue-600 text-4xl mb-4">
<i class="fas fa-venus"></i>
</div>
<h3 class="text-xl font-semibold mb-2">妇科超声检查</h3>
<p class="text-gray-600">子宫、附件等妇科器官的常规检查与疾病筛查</p>
</div>
<div class="bg-gray-50 p-6 rounded-lg shadow-sm hover:shadow-md transition">
<div class="text-blue-600 text-4xl mb-4">
<i class="fas fa-procedures"></i>
</div>
<h3 class="text-xl font-semibold mb-2">甲状腺超声检查</h3>
<p class="text-gray-600">甲状腺形态、大小、血流及结节等病变的检查评估</p>
</div>
<div class="bg-gray-50 p-6 rounded-lg shadow-sm hover:shadow-md transition">
<div class="text-blue-600 text-4xl mb-4">
<i class="fas fa-vial"></i>
</div>
<h3 class="text-xl font-semibold mb-2">血管超声检查</h3>
<p class="text-gray-600">颈部血管、四肢血管等血管系统的结构与血流动力学检查</p>
</div>
<div class="bg-gray-50 p-6 rounded-lg shadow-sm hover:shadow-md transition">
<div class="text-blue-600 text-4xl mb-4">
<i class="fas fa-user-md"></i>
</div>
<h3 class="text-xl font-semibold mb-2">远程专家会诊</h3>
<p class="text-gray-600">疑难病例可申请三甲医院专家远程会诊服务</p>
</div>
</div>
</div>
</section>
<!-- Process Section -->
<section id="process" class="py-16 bg-gray-50">
<div class="container mx-auto px-4">
<h2 class="text-3xl font-bold text-center mb-12">就诊流程</h2>
<div class="relative">
<!-- Timeline line -->
<div class="hidden md:block absolute left-1/2 h-full w-1 bg-blue-200 transform -translate-x-1/2"></div>
<!-- Timeline items -->
<div class="space-y-8 md:space-y-0">
<!-- Step 1 -->
<div class="relative md:flex justify-center mb-8">
<div class="md:w-5/12 md:pr-8 md:text-right">
<div class="p-6 bg-white rounded-lg shadow-sm">
<h3 class="text-xl font-semibold text-blue-600 mb-2">1. 扫码预约</h3>
<p class="text-gray-600">扫描二维码上传个人信息和病史资料,完成预约登记</p>
</div>
</div>
<div class="hidden md:flex items-center justify-center md:w-2/12">
<div class="w-12 h-12 rounded-full bg-blue-600 text-white flex items-center justify-center text-xl font-bold">
1
</div>
</div>
<div class="md:w-5/12"></div>
</div>
<!-- Step 2 -->
<div class="relative md:flex justify-center mb-8">
<div class="md:w-5/12"></div>
<div class="hidden md:flex items-center justify-center md:w-2/12">
<div class="w-12 h-12 rounded-full bg-blue-600 text-white flex items-center justify-center text-xl font-bold">
2
</div>
</div>
<div class="md:w-5/12 md:pl-8">
<div class="p-6 bg-white rounded-lg shadow-sm">
<h3 class="text-xl font-semibold text-blue-600 mb-2">2. 自助检查</h3>
<p class="text-gray-600">按照语音和屏幕提示完成超声检查操作</p>
</div>
</div>
</div>
<!-- Step 3 -->
<div class="relative md:flex justify-center mb-8">
<div class="md:w-5/12 md:pr-8 md:text-right">
<div class="p-6 bg-white rounded-lg shadow-sm">
<h3 class="text-xl font-semibold text-blue-600 mb-2">3. AI初步诊断</h3>
<p class="text-gray-600">系统自动生成初步诊断报告,供医师参考</p>
</div>
</div>
<div class="hidden md:flex items-center justify-center md:w-2/12">
<div class="w-12 h-12 rounded-full bg-blue-600 text-white flex items-center justify-center text-xl font-bold">
3
</div>
</div>
<div class="md:w-5/12"></div>
</div>
<!-- Step 4 -->
<div class="relative md:flex justify-center">
<div class="md:w-5/12"></div>
<div class="hidden md:flex items-center justify-center md:w-2/12">
<div class="w-12 h-12 rounded-full bg-blue-600 text-white flex items-center justify-center text-xl font-bold">
4
</div>
</div>
<div class="md:w-5/12 md:pl-8">
<div class="p-6 bg-white rounded-lg shadow-sm">
<h3 class="text-xl font-semibold text-blue-600 mb-2">4. 获取报告</h3>
<p class="text-gray-600">医师审核后生成正式报告,可打印或电子版发送</p>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Features Section -->
<section class="py-16 bg-white">
<div class="container mx-auto px-4">
<h2 class="text-3xl font-bold text-center mb-12">技术优势</h2>
<div class="grid md:grid-cols-2 lg:grid-cols-4 gap-8">
<div class="text-center p-6">
<div class="w-20 h-20 bg-blue-100 rounded-full flex items-center justify-center mx-auto mb-4">
<i class="fas fa-robot text-blue-600 text-3xl"></i>
</div>
<h3 class="text-xl font-semibold mb-2">AI辅助诊断</h3>
<p class="text-gray-600">基于深度学习的智能分析系统,辅助医师提高诊断准确性</p>
</div>
<div class="text-center p-6">
<div class="w-20 h-20 bg-blue-100 rounded-full flex items-center justify-center mx-auto mb-4">
<i class="fas fa-cloud text-blue-600 text-3xl"></i>
</div>
<h3 class="text-xl font-semibold mb-2">云端存储</h3>
<p class="text-gray-600">所有检查数据安全存储在云端,随时可查</p>
</div>
<div class="text-center p-6">
<div class="w-20 h-20 bg-blue-100 rounded-full flex items-center justify-center mx-auto mb-4">
<i class="fas fa-shield-alt text-blue-600 text-3xl"></i>
</div>
<h3 class="text-xl font-semibold mb-2">隐私保护</h3>
<p class="text-gray-600">严格遵循医疗数据隐私保护规范,确保信息安全</p>
</div>
<div class="text-center p-6">
<div class="w-20 h-20 bg-blue-100 rounded-full flex items-center justify-center mx-auto mb-4">
<i class="fas fa-headset text-blue-600 text-3xl"></i>
</div>
<h3 class="text-xl font-semibold mb-2">远程指导</h3>
<p class="text-gray-600">实时视频连线专业医师,获取操作指导和诊断建议</p>
</div>
</div>
</div>
</section>
<!-- Contact Section -->
<section id="contact" class="py-16 bg-gray-50">
<div class="container mx-auto px-4">
<h2 class="text-3xl font-bold text-center mb-12">联系我们</h2>
<div class="max-w-4xl mx-auto bg-white rounded-lg shadow-sm overflow-hidden">
<div class="md:flex">
<div class="md:w-1/2 p-8">
<h3 class="text-xl font-semibold mb-4">江阴市人民医院超声科心超室</h3>
<div class="space-y-4">
<div class="flex items-start">
<i class="fas fa-map-marker-alt text-blue-600 mt-1 mr-3"></i>
<div>
<h4 class="font-medium">地址</h4>
<p class="text-gray-600">江苏省江阴市人民医院超声科心超室</p>
</div>
</div>
<div class="flex items-start">
<i class="fas fa-user-md text-blue-600 mt-1 mr-3"></i>
<div>
<h4 class="font-medium">联系人</h4>
<p class="text-gray-600">高春恒 主任医师</p>
</div>
</div>
<div class="flex items-start">
<i class="fas fa-phone-alt text-blue-600 mt-1 mr-3"></i>
<div>
<h4 class="font-medium">电话</h4>
<p class="text-gray-600">18921233382</p>
</div>
</div>
<div class="flex items-start">
<i class="fas fa-clock text-blue-600 mt-1 mr-3"></i>
<div>
<h4 class="font-medium">服务时间</h4>
<p class="text-gray-600">24小时全天候服务</p>
</div>
</div>
</div>
</div>
<div class="md:w-1/2 bg-gray-100 p-8 flex flex-col items-center justify-center">
<div class="text-center mb-6">
<i class="fas fa-qrcode text-6xl text-blue-600 mb-4"></i>
<p class="text-gray-600">扫描二维码上传检查资料</p>
</div>
<div class="w-full max-w-xs">
<form id="contact-form">
<div class="mb-4">
<input type="text" placeholder="您的姓名" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500" id="contact-name">
</div>
<div class="mb-4">
<input type="email" placeholder="电子邮箱" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500" id="contact-email">
</div>
<div class="mb-4">
<textarea placeholder="留言内容" rows="3" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500" id="contact-message"></textarea>
</div>
<button type="submit" class="w-full bg-blue-600 text-white px-6 py-2 rounded-lg font-semibold hover:bg-blue-700 transition">
发送留言 <i class="fas fa-paper-plane ml-2"></i>
</button>
</form>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Footer -->
<footer class="bg-gray-800 text-white py-8">
<div class="container mx-auto px-4">
<div class="md:flex justify-between items-center">
<div class="mb-6 md:mb-0">
<div class="flex items-center space-x-2">
<i class="fas fa-hospital text-2xl"></i>
<span class="text-xl font-semibold">江阴市人民医院</span>
</div>
<p class="text-gray-400 mt-2">24小时无人超声自助诊疗室</p>
</div>
<div class="grid grid-cols-2 md:grid-cols-3 gap-8">
<div>
<h4 class="text-lg font-semibold mb-4">快速链接</h4>
<ul class="space-y-2">
<li><a href="#services" class="text-gray-400 hover:text-white transition">服务项目</a></li>
<li><a href="#process" class="text-gray-400 hover:text-white transition">就诊流程</a></li>
<li><a href="#contact" class="text-gray-400 hover:text-white transition">联系我们</a></li>
</ul>
</div>
<div>
<h4 class="text-lg font-semibold mb-4">关于我们</h4>
<ul class="space-y-2">
<li><a href="#" class="text-gray-400 hover:text-white transition">医院简介</a></li>
<li><a href="#" class="text-gray-400 hover:text-white transition">医师团队</a></li>
<li><a href="#" class="text-gray-400 hover:text-white transition">设备介绍</a></li>
</ul>
</div>
<div class="col-span-2 md:col-span-1">
<h4 class="text-lg font-semibold mb-4">关注我们</h4>
<div class="flex space-x-4">
<a href="#" class="w-10 h-10 bg-gray-700 rounded-full flex items-center justify-center hover:bg-blue-600 transition">
<i class="fab fa-weixin"></i>
</a>
<a href="#" class="w-10 h-10 bg-gray-700 rounded-full flex items-center justify-center hover:bg-red-600 transition">
<i class="fab fa-weibo"></i>
</a>
<a href="#" class="w-10 h-10 bg-gray-700 rounded-full flex items-center justify-center hover:bg-blue-400 transition">
<i class="fab fa-twitter"></i>
</a>
</div>
</div>
</div>
</div>
<div class="border-t border-gray-700 mt-8 pt-6 text-center text-gray-400">
<p>© 2023 江阴市人民医院. 版权所有.</p>
</div>
</div>
</footer>
<!-- Login Modal -->
<div class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 hidden" id="login-modal">
<div class="bg-white rounded-lg w-full max-w-md overflow-hidden">
<div class="p-6">
<div class="flex justify-between items-center mb-6">
<h3 class="text-2xl font-bold text-gray-800">用户登录</h3>
<button id="close-modal" class="text-gray-500 hover:text-gray-700">
<i class="fas fa-times"></i>
</button>
</div>
<form id="login-form">
<div class="mb-4">
<label class="block text-gray-700 mb-2" for="username">用户名</label>
<input type="text" id="username" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500" required>
</div>
<div class="mb-6">
<label class="block text-gray-700 mb-2" for="password">密码</label>
<input type="password" id="password" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500" required>
</div>
<button type="submit" class="w-full bg-blue-600 text-white px-6 py-2 rounded-lg font-semibold hover:bg-blue-700 transition mb-4">
登录 <i class="fas fa-sign-in-alt ml-2"></i>
</button>
<div class="text-center">
<p class="text-gray-600">没有账号? <a href="#" class="text-blue-600 hover:underline" id="register-link">立即注册</a></p>
</div>
</form>
</div>
<div class="bg-gray-100 px-6 py-4 flex justify-center">
<div class="text-center">
<p class="text-gray-600 mb-2">或使用以下方式登录</p>
<div class="flex justify-center space-x-4">
<button class="w-10 h-10 bg-red-500 text-white rounded-full flex items-center justify-center">
<i class="fab fa-google"></i>
</button>
<button class="w-10 h-10 bg-blue-500 text-white rounded-full flex items-center justify-center">
<i class="fab fa-facebook-f"></i>
</button>
<button class="w-10 h-10 bg-black text-white rounded-full flex items-center justify-center">
<i class="fab fa-apple"></i>
</button>
</div>
</div>
</div>
</div>
</div>
<!-- Register Modal -->
<div class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 hidden" id="register-modal">
<div class="bg-white rounded-lg w-full max-w-md overflow-hidden">
<div class="p-6">
<div class="flex justify-between items-center mb-6">
<h3 class="text-2xl font-bold text-gray-800">用户注册</h3>
<button id="close-register-modal" class="text-gray-500 hover:text-gray-700">
<i class="fas fa-times"></i>
</button>
</div>
<form id="register-form">
<div class="mb-4">
<label class="block text-gray-700 mb-2" for="reg-name">姓名</label>
<input type="text" id="reg-name" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500" required>
</div>
<div class="mb-4">
<label class="block text-gray-700 mb-2" for="reg-phone">手机号码</label>
<input type="tel" id="reg-phone" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500" required>
</div>
<div class="mb-4">
<label class="block text-gray-700 mb-2" for="reg-id">身份证号</label>
<input type="text" id="reg-id" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500" required>
</div>
<div class="mb-4">
<label class="block text-gray-700 mb-2" for="reg-username">用户名</label>
<input type="text" id="reg-username" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500" required>
</div>
<div class="mb-6">
<label class="block text-gray-700 mb-2" for="reg-password">密码</label>
<input type="password" id="reg-password" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500" required>
</div>
<button type="submit" class="w-full bg-blue-600 text-white px-6 py-2 rounded-lg font-semibold hover:bg-blue-700 transition mb-4">
注册 <i class="fas fa-user-plus ml-2"></i>
</button>
<div class="text-center">
<p class="text-gray-600">已有账号? <a href="#" class="text-blue-600 hover:underline" id="login-link">立即登录</a></p>
</div>
</form>
</div>
</div>
</div>
<!-- Video Modal -->
<div class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 hidden" id="video-modal">
<div class="bg-white rounded-lg w-full max-w-4xl overflow-hidden">
<div class="p-4">
<div class="flex justify-between items-center mb-4">
<h3 class="text-xl font-bold text-gray-800">操作视频指南</h3>
<button id="close-video-modal" class="text-gray-500 hover:text-gray-700">
<i class="fas fa-times"></i>
</button>
</div>
<div class="aspect-w-16 aspect-h-9">
<video controls class="w-full">
<source src="https://example.com/video.mp4" type="video/mp4">
您的浏览器不支持视频播放。
</video>
</div>
<div class="mt-4">
<h4 class="font-semibold mb-2">操作步骤说明:</h4>
<ol class="list-decimal pl-5 space-y-2">
<li>扫描二维码或输入患者ID登录系统</li>
<li>选择需要进行的超声检查项目</li>
<li>按照屏幕提示正确放置超声探头</li>
<li>系统将自动采集图像并进行分析</li>
<li>查看AI生成的初步诊断报告</li>
<li>如有需要可申请远程专家会诊</li>
</ol>
</div>
</div>
</div>
</div>
<!-- Scan Modal -->
<div class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 hidden" id="scan-modal">
<div class="bg-white rounded-lg w-full max-w-md overflow-hidden">
<div class="p-6">
<div class="flex justify-between items-center mb-6">
<h3 class="text-2xl font-bold text-gray-800">扫描上传</h3>
<button id="close-scan-modal" class="text-gray-500 hover:text-gray-700">
<i class="fas fa-times"></i>
</button>
</div>
<div class="text-center mb-6">
<div class="relative w-64 h-64 mx-auto bg-gray-100 rounded-lg flex items-center justify-center scan-area">
<div id="camera-view" class="w-full h-full flex items-center justify-center">
<video id="videoElement" autoplay playsinline></video>
<canvas id="canvas"></canvas>
</div>
<div id="scan-instructions" class="absolute inset-0 flex flex-col items-center justify-center p-4 text-center">
<i class="fas fa-qrcode text-6xl mb-4 text-blue-600"></i>
<p class="text-gray-700">请将二维码置于框内扫描</p>
<p class="text-sm text-gray-500 mt-2">或选择图片上传</p>
</div>
</div>
</div>
<div class="flex flex-col space-y-4">
<button id="start-scan-btn" class="w-full bg-blue-600 text-white px-6 py-2 rounded-lg font-semibold hover:bg-blue-700 transition">
开始扫描 <i class="fas fa-camera ml-2"></i>
</button>
<button id="upload-btn" class="w-full border border-blue-600 text-blue-600 px-6 py-2 rounded-lg font-semibold hover:bg-blue-50 transition">
上传图片 <i class="fas fa-upload ml-2"></i>
</button>
<input type="file" id="file-input" accept="image/*" class="hidden">
</div>
</div>
</div>
</div>
<!-- Diagnosis Modal -->
<div class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 hidden" id="diagnosis-modal">
<div class="bg-white rounded-lg w-full max-w-4xl overflow-hidden">
<div class="p-6">
<div class="flex justify-between items-center mb-6">
<h3 class="text-2xl font-bold text-gray-800">超声诊断报告</h3>
<button id="close-diagnosis-modal" class="text-gray-500 hover:text-gray-700">
<i class="fas fa-times"></i>
</button>
</div>
<div class="grid md:grid-cols-2 gap-6">
<div>
<h4 class="font-semibold mb-2">患者信息</h4>
<div class="bg-gray-50 p-4 rounded-lg">
<div class="grid grid-cols-2 gap-4">
<div>
<p class="text-sm text-gray-500">姓名</p>
<p class="font-medium" id="patient-name">张三</p>
</div>
<div>
<p class="text-sm text-gray-500">性别</p>
<p class="font-medium" id="patient-gender"></p>
</div>
<div>
<p class="text-sm text-gray-500">年龄</p>
<p class="font-medium" id="patient-age">45岁</p>
</div>
<div>
<p class="text-sm text-gray-500">检查日期</p>
<p class="font-medium" id="exam-date">2023-06-15</p>
</div>
<div class="col-span-2">
<p class="text-sm text-gray-500">检查项目</p>
<p class="font-medium" id="exam-type">心脏超声检查</p>
</div>
</div>
</div>
<h4 class="font-semibold mb-2 mt-4">超声图像</h4>
<div class="bg-gray-50 p-4 rounded-lg flex justify-center">
<img id="previewImage" src="https://via.placeholder.com/300x200?text=超声图像" alt="超声图像" class="rounded">
</div>
</div>
<div>
<h4 class="font-semibold mb-2">检查结果</h4>
<div class="bg-gray-50 p-4 rounded-lg h-64 overflow-y-auto">
<div id="diagnosis-result">
<p><strong>超声所见:</strong></p>
<p>1. 各房室大小正常范围</p>
<p>2. 室间隔与左室后壁厚度正常,运动协调</p>
<p>3. 各瓣膜形态、结构及启闭未见明显异常</p>
<p>4. 主动脉及肺动脉内径正常</p>
<p>5. 心包腔内未见明显液性暗区</p>
<p>6. CDFI: 各瓣膜区未见明显异常血流信号</p>
<br>
<p><strong>超声提示:</strong></p>
<p>心脏超声检查未见明显异常</p>
</div>
</div>
<h4 class="font-semibold mb-2 mt-4">AI分析</h4>
<div class="bg-blue-50 p-4 rounded-lg">
<div class="flex items-start">
<i class="fas fa-robot text-blue-600 mt-1 mr-3"></i>
<div>
<p class="text-sm text-gray-700">AI系统分析认为本次检查结果在正常范围内,可信度评分: <span class="font-bold text-blue-600">92%</span>。建议定期复查。</p>
</div>
</div>
</div>
<div class="mt-6 flex flex-col sm:flex-row space-y-3 sm:space-y-0 sm:space-x-3">
<button class="flex-1 bg-blue-600 text-white px-4 py-2 rounded-lg font-semibold hover:bg-blue-700 transition">
<i class="fas fa-print mr-2"></i> 打印报告
</button>
<button class="flex-1 border border-blue-600 text-blue-600 px-4 py-2 rounded-lg font-semibold hover:bg-blue-50 transition">
<i class="fas fa-share-alt mr-2"></i> 分享报告
</button>
<button class="flex-1 bg-green-600 text-white px-4 py-2 rounded-lg font-semibold hover:bg-green-700 transition" id="consult-btn">
<i class="fas fa-user-md mr-2"></i> 专家会诊
</button>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Consultation Modal -->
<div class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 hidden" id="consultation-modal">
<div class="bg-white rounded-lg w-full max-w-4xl overflow-hidden">
<div class="p-6">
<div class="flex justify-between items-center mb-6">
<h3 class="text-2xl font-bold text-gray-800">远程专家会诊</h3>
<button id="close-consultation-modal" class="text-gray-500 hover:text-gray-700">
<i class="fas fa-times"></i>
</button>
</div>
<div class="grid md:grid-cols-2 gap-6">
<div>
<h4 class="font-semibold mb-2">会诊专家</h4>
<div class="space-y-4">
<div class="flex items-center p-4 border border-gray-200 rounded-lg hover:border-blue-500 transition cursor-pointer">
<img src="https://via.placeholder.com/60x60?text=专家" alt="专家" class="w-12 h-12 rounded-full mr-4">
<div>
<p class="font-semibold">高春恒 主任医师</p>
<p class="text-sm text-gray-600">江阴市人民医院超声科</p>
<p class="text-xs text-blue-600">心血管超声诊断专家</p>
</div>
</div>
<div class="flex items-center p-4 border border-gray-200 rounded-lg hover:border-blue-500 transition cursor-pointer">
<img src="https://via.placeholder.com/60x60?text=专家" alt="专家" class="w-12 h-12 rounded-full mr-4">
<div>
<p class="font-semibold">李华 副主任医师</p>
<p class="text-sm text-gray-600">上海中山医院超声科</p>
<p class="text-xs text-blue-600">腹部超声诊断专家</p>
</div>
</div>
<div class="flex items-center p-4 border border-gray-200 rounded-lg hover:border-blue-500 transition cursor-pointer">
<img src="https://via.placeholder.com/60x60?text=专家" alt="专家" class="w-12 h-12 rounded-full mr-4">
<div>
<p class="font-semibold">王芳 主任医师</p>
<p class="text-sm text-gray-600">北京协和医院超声科</p>
<p class="text-xs text-blue-600">妇科超声诊断专家</p>
</div>
</div>
</div>
</div>
<div>
<h4 class="font-semibold mb-2">会诊信息</h4>
<div class="bg-gray-50 p-4 rounded-lg mb-4">
<div class="mb-4">
<label class="block text-gray-700 mb-2">会诊类型</label>
<select class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500">
<option>实时视频会诊</option>
<option>影像资料会诊</option>
<option>综合会诊</option>
</select>
</div>
<div class="mb-4">
<label class="block text-gray-700 mb-2">病情描述</label>
<textarea rows="3" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500" placeholder="请详细描述您的症状和需求..."></textarea>
</div>
<div>
<label class="block text-gray-700 mb-2">上传补充资料</label>
<div class="border-2 border-dashed border-gray-300 rounded-lg p-4 text-center">
<i class="fas fa-cloud-upload-alt text-3xl text-gray-400 mb-2"></i>
<p class="text-sm text-gray-500">拖放文件到此处或点击选择</p>
<input type="file" class="hidden">
</div>
</div>
</div>
<button class="w-full bg-blue-600 text-white px-6 py-3 rounded-lg font-semibold hover:bg-blue-700 transition">
提交会诊申请 <i class="fas fa-paper-plane ml-2"></i>
</button>
</div>
</div>
</div>
</div>
</div>
<!-- Emergency Contact Banner -->
<div class="fixed bottom-4 right-4 z-40">
<div class="bg-red-600 text-white px-4 py-2 rounded-lg shadow-lg flex items-center pulse-animation">
<i class="fas fa-phone-alt mr-2"></i>
<span>紧急联系: 18921233382</span>
</div>
</div>
<script>
// 模拟后端数据存储
const backend = {
users: [
{ username: 'user1', password: 'pass1', name: '张三', gender: '男', age: 45 },
{ username: 'user2', password: 'pass2', name: '李四', gender: '女', age: 32 }
],
exams: [
{
id: 1,
patientId: 'user1',
type: '心脏超声检查',
date: '2023-06-15',
image: 'https://via.placeholder.com/300x200?text=心脏超声',
result: `
<p><strong>超声所见:</strong></p>
<p>1. 各房室大小正常范围</p>
<p>2. 室间隔与左室后壁厚度正常,运动协调</p>
<p>3. 各瓣膜形态、结构及启闭未见明显异常</p>
<p>4. 主动脉及肺动脉内径正常</p>
<p>5. 心包腔内未见明显液性暗区</p>
<p>6. CDFI: 各瓣膜区未见明显异常血流信号</p>
<br>
<p><strong>超声提示:</strong></p>
<p>心脏超声检查未见明显异常</p>
`,
aiScore: 92
},
{
id: 2,
patientId: 'user2',
type: '腹部超声检查',
date: '2023-06-10',
image: 'https://via.placeholder.com/300x200?text=腹部超声',
result: `
<p><strong>超声所见:</strong></p>
<p>1. 肝脏大小形态正常,包膜光滑,实质回声均匀</p>
<p>2. 胆囊大小正常,壁不厚,内未见明显异常回声</p>
<p>3. 胰腺形态正常,主胰管无扩张</p>
<p>4. 脾脏大小正常,实质回声均匀</p>
<p>5. 双肾大小形态正常,集合系统无分离</p>
<br>
<p><strong>超声提示:</strong></p>
<p>腹部超声检查未见明显异常</p>
`,
aiScore: 88
}
]
};
// 当前用户状态
let currentUser = null;
// DOM元素
const elements = {
mobileMenuButton: document.getElementById('mobile-menu-button'),
mobileMenu: document.getElementById('mobile-menu'),
startBtn: document.getElementById('start-btn'),
videoBtn: document.getElementById('video-btn'),
loginModal: document.getElementById('login-modal'),
closeModal: document.getElementById('close-modal'),
loginForm: document.getElementById('login-form'),
registerModal: document.getElementById('register-modal'),
closeRegisterModal: document.getElementById('close-register-modal'),
registerForm: document.getElementById('register-form'),
registerLink: document.getElementById('register-link'),
loginLink: document.getElementById('login-link'),
videoModal: document.getElementById('video-modal'),
closeVideoModal: document.getElementById('close-video-modal'),
scanModal: document.getElementById('scan-modal'),
closeScanModal: document.getElementById('close-scan-modal'),
startScanBtn: document.getElementById('start-scan-btn'),
uploadBtn: document.getElementById('upload-btn'),
fileInput: document.getElementById('file-input'),
cameraView: document.getElementById('camera-view'),
scanInstructions: document.getElementById('scan-instructions'),
videoElement: document.getElementById('videoElement'),
canvas: document.getElementById('canvas'),
diagnosisModal: document.getElementById('diagnosis-modal'),
closeDiagnosisModal: document.getElementById('close-diagnosis-modal'),
patientName: document.getElementById('patient-name'),
patientGender: document.getElementById('patient-gender'),
patientAge: document.getElementById('patient-age'),
examDate: document.getElementById('exam-date'),
examType: document.getElementById('exam-type'),
previewImage: document.getElementById('previewImage'),
diagnosisResult: document.getElementById('diagnosis-result'),
consultBtn: document.getElementById('consult-btn'),
consultationModal: document.getElementById('consultation-modal'),
closeConsultationModal: document.getElementById('close-consultation-modal'),
contactForm: document.getElementById('contact-form')
};
// 事件监听器
elements.mobileMenuButton.addEventListener('click', toggleMobileMenu);
elements.startBtn.addEventListener('click', startDiagnosis);
elements.videoBtn.addEventListener('click', showVideoModal);
elements.closeModal.addEventListener('click', () => elements.loginModal.classList.add('hidden'));
elements.closeRegisterModal.addEventListener('click', () => elements.registerModal.classList.add('hidden'));
elements.closeVideoModal.addEventListener('click', () => elements.videoModal.classList.add('hidden'));
elements.closeScanModal.addEventListener('click', closeScanModal);
elements.closeDiagnosisModal.addEventListener('click', () => elements.diagnosisModal.classList.add('hidden'));
elements.closeConsultationModal.addEventListener('click', () => elements.consultationModal.classList.add('hidden'));
elements.registerLink.addEventListener('click', (e) => {
e.preventDefault();
elements.loginModal.classList.add('hidden');
elements.registerModal.classList.remove('hidden');
});
elements.loginLink.addEventListener('click', (e) => {
e.preventDefault();
elements.registerModal.classList.add('hidden');
elements.loginModal.classList.remove('hidden');
});
elements.loginForm.addEventListener('submit', handleLogin);
elements.registerForm.addEventListener('submit', handleRegister);
elements.startScanBtn.addEventListener('click', startScan);
elements.uploadBtn.addEventListener('click', () => elements.fileInput.click());
elements.fileInput.addEventListener('change', handleFileUpload);
elements.consultBtn.addEventListener('click', () => {
elements.diagnosisModal.classList.add('hidden');
elements.consultationModal.classList.remove('hidden');
});
elements.contactForm.addEventListener('submit', handleContactForm);
// 平滑滚动
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener('click', function(e) {
e.preventDefault();
const targetId = this.getAttribute('href');
if (targetId === '#') return;
const targetElement = document.querySelector(targetId);
if (targetElement) {
targetElement.scrollIntoView({
behavior: 'smooth'
});
}
});
});
// 点击外部关闭模态框
[elements.loginModal, elements.registerModal, elements.videoModal, elements.scanModal, elements.diagnosisModal, elements.consultationModal].forEach(modal => {
modal.addEventListener('click', function(e) {
if (e.target === modal) {
modal.classList.add('hidden');
if (modal === elements.scanModal) {
closeScanModal();
}
}
});
});
// 函数定义
function toggleMobileMenu() {
elements.mobileMenu.classList.toggle('hidden');
}
function startDiagnosis() {
if (!currentUser) {
elements.loginModal.classList.remove('hidden');
} else {
// 模拟获取用户最近的检查
const userExam = backend.exams.find(exam => exam.patientId === currentUser.username);
if (userExam) {
showDiagnosisReport(userExam);
} else {
elements.scanModal.classList.remove('hidden');
}
}
}
function showVideoModal() {
elements.videoModal.classList.remove('hidden');
}
function showDiagnosisReport(exam) {
elements.patientName.textContent = currentUser.name;
elements.patientGender.textContent = currentUser.gender;
elements.patientAge.textContent = currentUser.age + '岁';
elements.examDate.textContent = exam.date;
elements.examType.textContent = exam.type;
elements.previewImage.src = exam.image;
elements.diagnosisResult.innerHTML = exam.result;
elements.diagnosisModal.classList.remove('hidden');
}
function handleLogin(e) {
e.preventDefault();
const username = document.getElementById('username').value;
const password = document.getElementById('password').value;
// 模拟后端验证
const user = backend.users.find(u => u.username === username && u.password === password);
if (user) {
currentUser = user;
elements.loginModal.classList.add('hidden');
alert('登录成功!');
startDiagnosis();
} else {
alert('用户名或密码错误!');
}
}
function handleRegister(e) {
e.preventDefault();
const name = document.getElementById('reg-name').value;
const phone = document.getElementById('reg-phone').value;
const id = document.getElementById('reg-id').value;
const username = document.getElementById('reg-username').value;
const password = document.getElementById('reg-password').value;
// 模拟后端注册
backend.users.push({
username,
password,
name,
gender: '未知',
age: 0
});
alert('注册成功!请登录');
elements.registerModal.classList.add('hidden');
elements.loginModal.classList.remove('hidden');
}
function startScan() {
elements.scanInstructions.classList.add('hidden');
elements.cameraView.classList.remove('hidden');
// 模拟摄像头访问
if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
navigator.mediaDevices.getUserMedia({ video: { facingMode: 'environment' } })
.then(function(stream) {
elements.videoElement.srcObject = stream;
// 模拟二维码扫描
setTimeout(() => {
simulateQRScan();
}, 2000);
})
.catch(function(err) {
console.error('无法访问摄像头:', err);
alert('无法访问摄像头,请检查权限设置或尝试上传图片');
elements.scanInstructions.classList.remove('hidden');
elements.cameraView.classList.add('hidden');
});
} else {
alert('您的设备不支持摄像头访问,请尝试上传图片');
elements.scanInstructions.classList.remove('hidden');
elements.cameraView.classList.add('hidden');
}
}
function simulateQRScan() {
// 模拟扫描到二维码
const userExam = backend.exams.find(exam => exam.patientId === (currentUser ? currentUser.username : 'user1'));
if (userExam) {
closeScanModal();
showDiagnosisReport(userExam);
} else {
alert('未找到匹配的检查记录');
closeScanModal();
}
}
function closeScanModal() {
if (elements.videoElement.srcObject) {
elements.videoElement.srcObject.getTracks().forEach(track => track.stop());
elements.videoElement.srcObject = null;
}
elements.scanModal.classList.add('hidden');
elements.scanInstructions.classList.remove('hidden');
elements.cameraView.classList.add('hidden');
}
function handleFileUpload(e) {
const file = e.target.files[0];
if (file) {
const reader = new FileReader();
reader.onload = function(event) {
elements.previewImage.src = event.target.result;
closeScanModal();
// 模拟上传后获取诊断报告
const userExam = backend.exams.find(exam => exam.patientId === (currentUser ? currentUser.username : 'user1'));
if (userExam) {
showDiagnosisReport(userExam);
}
};
reader.readAsDataURL(file);
}
}
function handleContactForm(e) {
e.preventDefault();
const name = document.getElementById('contact-name').value;
const email = document.getElementById('contact-email').value;
const message = document.getElementById('contact-message').value;
// 模拟表单提交
alert(`感谢您的留言,${name}!我们会尽快回复您。`);
elements.contactForm.reset();
}
// 初始化
document.addEventListener('DOMContentLoaded', () => {
// 可以在这里添加初始化逻辑
});
</script>
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=echo3700/ai-echo" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
</html>