data.js · 约 8974 字符
1/* 小草医院网络咨询管理系统 - 演示数据(纯前端,无后端) */2const ME = {3 name:'小草 (演示)', gender:'女', age:28, no:'XC2026-008812',4 card:'3201**********3024', phone:'138****6688', city:'南京',5 member:'至尊会员', since:'2023-05', balance:128.50,6 allergy:'青霉素', blood:'A型'7};89const DEPARTMENTS = [10 {id:'nk', name:'内科', emoji:'🫀', desc:'呼吸/消化/心血管'},11 {id:'wk', name:'外科', emoji:'🔪', desc:'普外/骨科/泌尿'},12 {id:'ek', name:'儿科', emoji:'🧒', desc:'儿童常见病'},13 {id:'fk', name:'妇产科', emoji:'🌸', desc:'妇科/产科'},14 {id:'pf', name:'皮肤科', emoji:'🧴', desc:'皮炎/痤疮/过敏'},15 {id:'yk', name:'眼科', emoji:'👁️', desc:'近视/干眼/炎症'},16 {id:'zy', name:'中医科', emoji:'🌿', desc:'调理/针灸/养生'},17 {id:'kq', name:'口腔科', emoji:'🦷', desc:'牙体/种植/正畸'},18];1920const DOCTORS = [21 {id:'d1', name:'林志远', title:'主任医师', dept:'内科', hospital:'小草医院', rating:4.9, consults:3621, price:39, online:true, good:'高血压、糖尿病等慢病复诊与用药调整',22 intro:'从事内科临床22年,擅长慢性病长期管理与线上复诊开方,累计服务患者超3.6万人次。'},23 {id:'d2', name:'苏曼', title:'副主任医师', dept:'儿科', hospital:'小草医院', rating:4.8, consults:2104, price:29, online:true, good:'小儿感冒发热、咳嗽、消化不良',24 intro:'儿科一线工作15年,问诊耐心细致,深受家长信赖。'},25 {id:'d3', name:'陈建国', title:'主任医师', dept:'外科', hospital:'小草医院', rating:4.9, consults:1890, price:49, online:false, good:'骨科扭伤、术后复查、伤口护理',26 intro:'骨科与普外双资质,擅长术后线上随访与康复指导。'},27 {id:'d4', name:'黄丽华', title:'主治医师', dept:'皮肤科', hospital:'小草医院', rating:4.7, consults:1533, price:25, online:true, good:'痤疮、湿疹、过敏性皮炎',28 intro:'专注于常见皮肤问题的线上诊断与用药方案。'},29 {id:'d5', name:'周明', title:'主任医师', dept:'中医科', hospital:'小草医院', rating:4.9, consults:2670, price:45, online:true, good:'脾胃调理、失眠、亚健康养生',30 intro:'中医世家,善用经方调理体质,倡导治未病。'},31 {id:'d6', name:'吴婷', title:'副主任医师', dept:'妇产科', hospital:'小草医院', rating:4.8, consults:1422, price:39, online:false, good:'月经不调、孕期咨询、妇科炎症',32 intro:'妇产科临床经验丰富,线上解答女性健康疑问。'},33];3435/* 智能导诊:症状关键词 -> 推荐科室 */36const TRIAGE = [37 {kw:['咳嗽','发热','咽痛','气喘','呼吸'], dept:'内科', tip:'建议呼吸内科方向问诊'},38 {kw:['腹痛','腹泻','反酸','恶心','消化'], dept:'内科', tip:'建议消化内科方向问诊'},39 {kw:['头晕','心慌','血压','胸闷'], dept:'内科', tip:'建议心血管内科方向问诊'},40 {kw:['皮疹','痘痘','瘙痒','过敏','湿疹'], dept:'皮肤科', tip:'建议皮肤科方向问诊'},41 {kw:['发烧','儿童','宝宝','幼儿','小孩'], dept:'儿科', tip:'建议儿科方向问诊'},42 {kw:['扭伤','骨折','伤口','术后','复查'], dept:'外科', tip:'建议外科方向问诊'},43 {kw:['月经','孕期','白带','妇科炎症'], dept:'妇产科', tip:'建议妇产科方向问诊'},44 {kw:['近视','眼睛','干眼','红眼'], dept:'眼科', tip:'建议眼科方向问诊'},45 {kw:['牙','牙痛','智齿','口腔'], dept:'口腔科', tip:'建议口腔科方向问诊'},46 {kw:['失眠','乏力','调理','养生','脾胃'], dept:'中医科', tip:'建议中医科方向调理'},47];4849const CONSULT_TYPES = [50 {id:'img', name:'图文问诊', emoji:'💬', desc:'上传资料 文字沟通', price:0},51 {id:'voice', name:'语音问诊', emoji:'🎙️', desc:'即时语音通话', price:10},52 {id:'video', name:'视频问诊', emoji:'📹', desc:'高清视频面对面', price:20},53];5455/* 预置问诊会话(图文) */56const CHAT = [57 {me:false, who:'林志远 主任医师', text:'您好,我是小草医院内科林志远医生。看到您描述近一周偶有头晕、血压偏高,方便告诉我平时血压大概多少吗?'},58 {me:true, who:'我', text:'医生您好,最近在家量为 145/95 左右,之前没吃过药。'},59 {me:false, who:'林志远 主任医师', text:'了解到。145/95 属于一级高血压,建议先生活方式干预两周,低盐饮食、规律作息。我为您开具一份健康处方,必要时再考虑药物。'},60 {me:true, who:'我', text:'好的,那平时还需要注意什么?'},61 {me:false, who:'林志远 主任医师', text:'每日监测血压并记录,避免熬夜和情绪激动。若两周后仍高于 140/90,建议线下就诊评估是否用药。已为您生成电子处方,请查收。'},62];6364const PRESCRIPTIONS = [65 {no:'RX202608010093', dept:'内科', doctor:'林志远 主任医师', date:'2026-08-01', status:'已审核',66 drugs:[67 {n:'苯磺酸氨氯地平片', s:'5mg×7片', u:'每日1次 每次1片 口服'},68 {n:'缬沙坦胶囊', s:'80mg×7粒', u:'每日1次 每次1粒 口服'},69 ], note:'低盐低脂饮食,两周后复查血压。药师已审核。', refill:true},70 {no:'RX202607150044', dept:'皮肤科', doctor:'黄丽华 主治医师', date:'2026-07-15', status:'已审核',71 drugs:[72 {n:'克林霉素磷酸酯凝胶', s:'10g', u:'每日2次 外用薄涂'},73 {n:'医用保湿修复乳', s:'50g', u:'每日1-2次 外用'},74 ], note:'停用刺激性护肤品,注意防晒。', refill:false},75];7677const RECORDS = [78 {id:'r1', type:'图文问诊', doctor:'林志远 主任医师', dept:'内科', date:'2026-08-01 10:24', summary:'高血压一级,开具健康处方,建议两周复查', fee:39, status:'已完成'},79 {id:'r2', type:'视频问诊', doctor:'周明 主任医师', dept:'中医科', date:'2026-07-28 15:10', summary:'脾胃虚弱调理,建议饮食+作息干预', fee:45, status:'已完成'},80 {id:'r3', type:'图文问诊', doctor:'黄丽华 主治医师', dept:'皮肤科', date:'2026-07-15 09:41', summary:'痤疮外用药方案,已开具电子处方', fee:25, status:'已开药'},81 {id:'r4', type:'预约挂号', doctor:'苏曼 副主任医师', dept:'儿科', date:'2026-07-09 14:00', summary:'儿童咳嗽复查,已到院就诊', fee:29, status:'已就诊'},82];8384const FAMILY = [85 {name:'小草', rel:'本人', gender:'女', age:28, card:'3201**********3024'},86 {name:'陈先生', rel:'配偶', gender:'男', age:31, card:'3201**********1180'},87 {name:'陈豆豆', rel:'子女', gender:'男', age:3, card:'—'},88];8990const REMINDS = [91 {tm:'08:00', nm:'苯磺酸氨氯地平片', ds:'每日1次 · 早餐后口服', on:true},92 {tm:'08:00', nm:'缬沙坦胶囊', ds:'每日1次 · 早餐后口服', on:true},93 {tm:'20:00', nm:'血压监测记录', ds:'每日1次 · 测量并记录', on:true},94 {tm:'21:00', nm:'温水泡脚 15 分钟', ds:'每日1次 · 助眠养生', on:false},95];9697const NEWS = [98 {tag:'健康科普', title:'夏季高血压患者的饮食与用药注意事项', date:'2026-08-03'},99 {tag:'医院公告', title:'小草医院互联网门诊新增「中医治未病」线上专区', date:'2026-08-01'},100 {tag:'用药安全', title:'抗生素滥用危害大,线上续方需药师严格审核', date:'2026-07-29'},101 {tag:'慢病管理', title:'糖尿病线上复诊续方流程指南(附视频)', date:'2026-07-25'},102];103104/* ---------- 通用工具 ---------- */105function $(sel, root){ return (root||document).querySelector(sel); }106function $all(sel, root){ return Array.from((root||document).querySelectorAll(sel)); }107function esc(s){ return String(s==null?'':s).replace(/[&<>"]/g, c=>({'&':'&','<':'<','>':'>','"':'"'}[c])); }108function toast(msg){109 let t = document.getElementById('toast');110 if(!t){ t = document.createElement('div'); t.id='toast'; t.className='toast'; document.body.appendChild(t); }111 t.textContent = msg; t.classList.add('show');112 clearTimeout(toast._t); toast._t = setTimeout(()=>t.classList.remove('show'), 1600);113}114function go(page){ location.href = page; }115function deptName(id){ const d = DEPARTMENTS.find(x=>x.id===id); return d?d.name:id; }116function docById(id){ return DOCTORS.find(x=>x.id===id); }117118/* 底部导航 */119function renderTab(active){120 const bar = document.getElementById('tabbar');121 if(!bar) return;122 const items = [123 {p:'index.html', t:'首页', ic:'🏠'},124 {p:'consult.html', t:'问诊', ic:'💬'},125 {p:'records.html', t:'记录', ic:'📋'},126 {p:'profile.html', t:'我的', ic:'👤'},127 ];128 bar.innerHTML = items.map(it=>129 `<a href="${it.p}" class="${active===it.t?'on':''}"><span class="ti">${it.ic}</span>${it.t}</a>`130 ).join('');131}132