diff --git a/index.html b/index.html index cf06ceb..5a00854 100644 --- a/index.html +++ b/index.html @@ -208,7 +208,7 @@ const SITE_MAP = [ { file:'pre-item-unit-fee.html', label:'单位体检项目费用' }, { file:'pre-item-combo-template.html', label:'体检项目组合模板' }, { file:'pre-item-exception.html', label:'组合模板例外配置' }, - { file:'pre-item-required.html', label:'必检/选检项目配置' }, + { file:'pre-item-required.html', label:'单位体检项目审核' }, { file:'pre-special-cancer.html', label:'防癌筛查人员' }, { file:'pre-special-occupation.html', label:'职业体检人员' }, { file:'pre-special-gastro.html', label:'胃肠镜人员配置' }, @@ -217,8 +217,9 @@ const SITE_MAP = [ { file:'pre-special-cta.html', label:'冠脉CTA体检人员' }, { file:'pre-special-hospital.html', label:'指定员工体检医院' }, { file:'mid-appointment-track.html', label:'员工预约跟踪' }, - { file:'mid-unit-appointment.html', label:'单位预约统计' }, + { file:'mid-selected-items.html', label:'已选项目员工信息' }, { file:'mid-participation.html', label:'员工参检情况' }, + { file:'mid-unit-appointment.html', label:'单位预约人数统计' }, { file:'mid-hospital-realtime.html', label:'医院实时预约人数' }, { file:'mid-doctor-realtime.html', label:'医生实时检查情况' }, { file:'mid-hospital-appointment.html', label:'医院预约人数统计' }, @@ -236,11 +237,13 @@ const SITE_MAP = [ { file:'post-key-indicator-stat.html', label:'重点指标异常统计' }, { file:'post-gastro-stat.html', label:'胃肠镜体检统计' }, { file:'post-report-employee.html', label:'常规体检报告' }, + { file:'post-illness-personnel.html', label:'大病人员信息' }, + { file:'post-indicator-notify.html', label:'指标异常通知' }, { file:'post-report-gastro.html', label:'胃肠镜体检报告' }, { file:'post-report-unmatched.html', label:'体检报告未匹配项目' }, - { file:'post-disease-info.html', label:'病种信息' }, + { file:'post-disease-info.html', label:'病种信息配置' }, { file:'post-conclusion-disease.html', label:'体检结论关联病种' }, - { file:'post-auto-select-disease.html', label:'自动勾选病种' }, + { file:'post-auto-select-disease.html', label:'员工病种信息' }, { file:'exception-dirty.html', label:'系统脏数据' }, { file:'exception-result.html', label:'结果异常' } ]}, diff --git a/web-admin/health-checkup/config-hospital-basic.html b/web-admin/health-checkup/config-hospital-basic.html index 20221cb..a031dd9 100644 --- a/web-admin/health-checkup/config-hospital-basic.html +++ b/web-admin/health-checkup/config-hospital-basic.html @@ -41,6 +41,13 @@ .sidebar-subgroup.open>.sidebar-subgroup__body{display:block;} .sidebar-subgroup__body .sidebar-item{padding-left:36px;font-size:12px;} .main{margin-left:240px;margin-top:56px;padding:24px;min-height:calc(100vh - 56px);} + /* 顶部体检类型 TAB */ + .type-tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:2px solid var(--border);background:#fff;border-radius:var(--radius-md) var(--radius-md) 0 0;box-shadow:var(--shadow-sm);} + .type-tab{padding:14px 32px;font-size:var(--font-base);color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s;font-weight:500;} + .type-tab:hover{color:var(--primary);} + .type-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600;} + .tab-pane{display:none;} + .tab-pane.active{display:block;} .filter-bar{background:#fff;border-radius:var(--radius-md);padding:20px 24px;margin-bottom:16px;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:16px;flex-wrap:wrap;} .filter-item{display:flex;align-items:center;gap:8px;} .filter-item label{font-size:var(--font-sm);color:var(--text-secondary);white-space:nowrap;} @@ -90,10 +97,14 @@ .form-label .required{color:var(--danger);} .form-input{width:100%;height:40px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 12px;font-size:var(--font-sm);color:var(--text-primary);outline:none;background:#fff;} .form-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px rgba(24,144,255,0.2);} - /* 体检类型复选 */ - .check-group{display:flex;gap:24px;flex-wrap:wrap;} - .check-item{display:flex;align-items:center;gap:8px;font-size:var(--font-sm);color:var(--text-primary);cursor:pointer;user-select:none;} - .check-item input[type="checkbox"]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary);} + .form-textarea{width:100%;min-height:84px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;font-size:var(--font-sm);color:var(--text-primary);outline:none;background:#fff;resize:vertical;font-family:inherit;line-height:1.6;} + .form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px rgba(24,144,255,0.2);} + .form-select{width:100%;height:40px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 28px 0 12px;font-size:var(--font-sm);color:var(--text-primary);outline:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23999'/%3E%3C/svg%3E") no-repeat right 12px center;appearance:none;cursor:pointer;} + .form-select:focus{border-color:var(--primary);box-shadow:0 0 0 2px rgba(24,144,255,0.2);} + /* 单选按钮 */ + .radio-group{display:flex;gap:24px;flex-wrap:wrap;} + .radio-item{display:flex;align-items:center;gap:8px;font-size:var(--font-sm);color:var(--text-primary);cursor:pointer;user-select:none;} + .radio-item input[type="radio"]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary);} /* 开关 */ .switch-row{display:flex;align-items:center;gap:12px;} .switch{width:40px;height:22px;border-radius:11px;background:#E8E8E8;cursor:pointer;position:relative;transition:.2s;flex-shrink:0;} @@ -184,54 +195,88 @@
- -
-
- - -
-
- - -
- - + +
+
常规体检
+
胃肠镜体检
- -
- - + +
+
+
+ + +
+ + +
+
+ + +
+
+
+
常规体检医院信息
+
+
+ + + + + + + + + + +
序号医院名称医院类型医院地址医院图片医院简介开启职业体检排序序号操作
1泾河医院普通医院西安市高陵区西安泾河开发区CQ西路20号医院图片西安宝石花CQ医院(高陵)1编辑 删除
2庆阳医院指定医院甘肃省庆阳市西峰区岐黄大道18号医院图片庆阳市人民医院体检中心2编辑 删除
+
+ +
- -
-
-
医院信息配置
+ +
+
+
+ + +
+ +
-
- - - - - - - - - - - -
序号医院名称体检类型医院地址医院图片医院简介开启职业体检排序序号操作
1泾河医院常规体检胃肠镜体检西安市高陵区西安泾河开发区CQ西路20号医院图片西安宝石花CQ医院(高陵)1编辑 删除
2庆阳医院常规体检甘肃省庆阳市西峰区岐黄大道18号医院图片庆阳市人民医院体检中心2编辑 删除
3长安胃肠镜医院胃肠镜体检西安市雁塔区科技路66号医院图片西安长安胃肠镜专科医院3编辑 删除
+
+ +
-
@@ -240,7 +285,7 @@
-
新增医院
+
新增医院
@@ -258,22 +303,49 @@
-
-
* 体检类型
-
- - + + +
+
+
* 医院类型
+
+ + +
+
+
+
开启职业体检
+
+
+ 是否开启职业体检 +
+
+
+
排序序号
+
-
-
排序序号
- -
-
-
开启职业体检
-
-
- 是否开启职业体检 + + +
@@ -296,6 +368,16 @@ function toggleSubgroup(header){ if(sub)sub.classList.add('open'); })(); +/* ===== 顶部体检类型 TAB ===== */ +var currentType = 'normal'; +function switchType(type){ + currentType = type; + document.querySelectorAll('.type-tab').forEach(function(t){ t.classList.remove('active'); }); + document.querySelectorAll('.tab-pane').forEach(function(p){ p.classList.remove('active'); }); + document.querySelector('.type-tab[onclick="switchType(\'' + type + '\')"]').classList.add('active'); + document.getElementById('pane-' + type).classList.add('active'); +} + /* ===== 新增医院抽屉 ===== */ var hospitalData = { 'h1': { name: '西安市中心医院', address: '西安市新城区西五路161号', intro: '西安市中心医院体检中心' }, @@ -306,14 +388,23 @@ var hospitalData = { }; function openDrawer(){ + var isNormal = currentType === 'normal'; + document.getElementById('drawer-title').textContent = isNormal ? '新增常规体检医院' : '新增胃肠镜体检医院'; + document.getElementById('normal-fields').style.display = isNormal ? '' : 'none'; + document.getElementById('gastro-fields').style.display = isNormal ? 'none' : ''; document.getElementById('hospital-drawer').classList.add('open'); document.getElementById('drawer-overlay').classList.add('open'); document.getElementById('search-input').value = ''; document.getElementById('search-value').value = ''; document.getElementById('hospital-info').classList.remove('show'); - document.getElementById('form-sort').value = ''; - document.querySelectorAll('#hospital-drawer input[name="checkup-type"]').forEach(function(cb){ cb.checked = false; }); + document.getElementById('form-sort-normal').value = ''; + document.getElementById('form-sort-gastro').value = ''; + document.querySelectorAll('input[name="hos-type"]').forEach(function(r){ r.checked = false; }); document.getElementById('switch-oc').classList.remove('on'); + document.getElementById('switch-card').classList.remove('on'); + document.getElementById('card-reg-item').style.display = 'none'; + document.getElementById('form-gastro-notice').value = ''; + document.getElementById('form-card-reg').value = ''; } function closeDrawer(){ @@ -321,6 +412,12 @@ function closeDrawer(){ document.getElementById('drawer-overlay').classList.remove('open'); } +function toggleCardSwitch(el){ + el.classList.toggle('on'); + var on = el.classList.contains('on'); + document.getElementById('card-reg-item').style.display = on ? '' : 'none'; +} + function onHospitalChange(){ var value = document.getElementById('search-value').value; var info = document.getElementById('hospital-info'); @@ -389,36 +486,43 @@ function onHospitalChange(){ function saveHospital(){ var value = document.getElementById('search-value').value; if(!value || !hospitalData[value]){ alert('请选择医院'); return; } - var types = []; - document.querySelectorAll('#hospital-drawer input[name="checkup-type"]:checked').forEach(function(cb){ types.push(cb.value); }); - if(types.length === 0){ alert('请选择体检类型'); return; } - var sort = document.getElementById('form-sort').value.trim(); - if(!sort){ sort = String(document.querySelectorAll('#hospital-tbody tr').length + 1); } - var oc = document.getElementById('switch-oc').classList.contains('on'); - var data = hospitalData[value]; - var typeHtml = types.map(function(t, i){ - var label = t === 'gastro' ? '胃肠镜体检' : '常规体检'; - var cls = t === 'gastro' ? 'tag-green' : 'tag-blue'; - return '' + label + ''; - }).join(''); - - var tbody = document.getElementById('hospital-tbody'); - var img = tbody.querySelector('.hospital-img'); - var imgSrc = img ? img.getAttribute('src') : ''; + var isNormal = currentType === 'normal'; + var tbody = document.getElementById(isNormal ? 'normal-tbody' : 'gastro-tbody'); var seq = tbody.querySelectorAll('tr').length + 1; + var imgSrc = (document.querySelector('.hospital-img') || {}).getAttribute ? document.querySelector('.hospital-img').getAttribute('src') : ''; - var tr = document.createElement('tr'); - tr.innerHTML = '' + seq + '' - + '' + data.name + '' - + '' + typeHtml + '' - + '' + data.address + '' - + '医院图片' - + '' + data.intro + '' - + '' + (oc ? '是' : '否') + '' - + '' + sort + '' - + '编辑 删除'; - tbody.appendChild(tr); + if(isNormal){ + var hosTypeEl = document.querySelector('input[name="hos-type"]:checked'); + if(!hosTypeEl){ alert('请选择医院类型'); return; } + var hosType = hosTypeEl.value; + var sort = document.getElementById('form-sort-normal').value.trim() || String(seq); + var oc = document.getElementById('switch-oc').classList.contains('on'); + var tr = document.createElement('tr'); + tr.innerHTML = '' + seq + '' + + '' + data.name + '' + + '' + hosType + '' + + '' + data.address + '' + + '医院图片' + + '' + data.intro + '' + + '' + (oc ? '是' : '否') + '' + + '' + sort + '' + + '编辑 删除'; + tbody.appendChild(tr); + } else { + var needCard = document.getElementById('switch-card').classList.contains('on'); + var sortG = document.getElementById('form-sort-gastro').value.trim() || String(seq); + var tr2 = document.createElement('tr'); + tr2.innerHTML = '' + seq + '' + + '' + data.name + '' + + '' + data.address + '' + + '医院图片' + + '' + data.intro + '' + + '' + (needCard ? '是' : '否') + '' + + '' + sortG + '' + + '编辑 删除'; + tbody.appendChild(tr2); + } closeDrawer(); } diff --git a/web-admin/health-checkup/config-standard-category.html b/web-admin/health-checkup/config-standard-category.html index 1392bad..a672d85 100644 --- a/web-admin/health-checkup/config-standard-category.html +++ b/web-admin/health-checkup/config-standard-category.html @@ -263,12 +263,12 @@ 身高 YB001-01 - 添加下级 关联科室 关联疾病 + 关联科室 关联疾病 体重 YB001-02 - 添加下级 关联科室 关联疾病 + 关联科室 关联疾病 +实验室检查 @@ -278,7 +278,7 @@ 血常规 SYS002-01 - 添加下级 关联科室 关联疾病 + 关联科室 关联疾病 +影像检查 @@ -288,7 +288,7 @@ 胸部X光 YX003-01 - 添加下级 关联科室 关联疾病 + 关联科室 关联疾病 @@ -464,7 +464,11 @@ function actionCellHTML(tr){ var diseases = (tr.dataset.diseases || '').split('|').filter(Boolean); var deptLabel = '关联科室' + (depts.length ? '(' + depts.length + ')' : ''); var diseaseLabel = '关联疾病' + (diseases.length ? '(' + diseases.length + ')' : ''); - return '添加下级' + /* 分类最多二级:二级分类不显示“添加下级” */ + var childBtn = tr.dataset.id + ? '添加下级' + : ''; + return childBtn + ' ' + deptLabel + '' + ' ' + diseaseLabel + '' + ' '; diff --git a/web-admin/health-checkup/config-standard-hospital.html b/web-admin/health-checkup/config-standard-hospital.html index ce9b600..08e7cc2 100644 --- a/web-admin/health-checkup/config-standard-hospital.html +++ b/web-admin/health-checkup/config-standard-hospital.html @@ -82,6 +82,7 @@ .modal__close:hover{background:#F5F5F5;} .modal__body{flex:1;overflow-y:auto;padding:24px;} .modal__footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border);flex-shrink:0;} + .modal--wide{width:720px;} /* 表单 */ .form-item{margin-bottom:16px;} .form-item:last-child{margin-bottom:0;} @@ -183,8 +184,9 @@
- + +
@@ -247,6 +249,29 @@
+ + + diff --git a/web-admin/health-checkup/doc/CHANGELOG.md b/web-admin/health-checkup/doc/CHANGELOG.md index 4b7b547..babf4e0 100644 --- a/web-admin/health-checkup/doc/CHANGELOG.md +++ b/web-admin/health-checkup/doc/CHANGELOG.md @@ -1,5 +1,17 @@ # 健康体检模块 CHANGELOG +## [Unreleased] 2026-09-02 + +### Changed +- 检后"病种信息管理"分组菜单更名:`post-disease-info.html`"病种信息"改为"病种信息配置",`post-auto-select-disease.html`"自动勾选病种"改为"员工病种信息"(文件名不变),17 个检后页面侧边栏、两页浏览器标题及首页站点地图同步更新;页面内操作按钮与文案(如"自动勾选病种"按钮、病种详情弹窗)不受影响 +- `post-auto-select-disease.html`(员工病种信息):列表"勾选病种数"改为蓝色链接,点击弹窗查看该员工勾选的具体病种(序号/病种名称/病种类别,复用记录弹窗样式,病种名取自与"病种信息配置"一致的词库、按行确定性生成且与勾选项数一致) +- `post-auto-select-disease.html`(员工病种信息):操作栏移除"自动筛选异常项""查看自动筛选记录"两个按钮,并清理关联 JS(runAutoFilter、filterRecords 数据、记录弹窗 filter 分支与标题项),操作栏仅保留自动勾选病种/查看自动勾选记录/导出员工病种/查看病种导出记录 +- `post-unit-count.html`:体检医院 Tab"查看分类统计"弹窗按参考图重做——表头改为"序号/分类/体检额度/人数"(原"年龄分类/体检额度/人数",额度不再带"元"后缀),分类改为三个年龄段×性别共 6 类:35岁以下(女/男)额度1000、35岁至44岁(女/男)额度1500、45岁及以上(女/男)额度2500,合计行仅人数列有值;"已选项目人数"列数据与参考图一致(合计 1396),其余各人数列沿用同一分类与额度、人数按列合计取整分布;弹窗标题由"年龄分类统计"改为"分类统计" + +### Added +- `post-illness-personnel.html`:新增"大病人员信息"页面(检后/常规体检分组,位于常规体检报告之下、体检报告未匹配项目之上)。参考线上 `/medical/physicalExamination/illness` 页面:筛选条件含姓名、身份证号、体检日期、单位、部门、医院选择;操作栏含导出列表数据、查看导出任务,表格右上角列设置图标;列表列为勾选、姓名、单位、部门、医院名称、身份证号、手机号(明文不脱敏)、体检日期、大病分类、是否开启消息通知、是否已发送短信、操作(编辑/删除/发送短信),其中"是否开启消息通知"为行内 switch 开关(逐行开启/关闭,替代原先的批量开启/关闭消息通知按钮),发送短信改为行内操作,"是否已发送短信"以是/否标签展示,共 5 条模拟数据与分页。检后各页面侧边栏"常规体检"分组及首页站点地图同步新增入口 +- `post-indicator-notify.html`:新增"指标异常通知"页面(检后/常规体检分组,位于大病人员信息之下)。筛选条件:姓名、身份证号、手机号(文本输入),APP已通知、APP通知已读、短信已通知(是/否/全部下拉);操作栏:导出列表数据、查看导出任务、批量导入员工、查看导入任务,表格右上角列设置图标;列表列:序号、姓名、身份证号、手机号、重大异常描述、APP已通知、APP通知时间、APP通知已读、APP通知已读时间、短信已通知、短信通知时间、操作(删除),通知/已读状态以是/否标签展示、未通知时间以"—"占位,共 5 条模拟数据与分页。检后各页面侧边栏"常规体检"分组及首页站点地图同步新增入口 + ## [Unreleased] 2026-09-01 ### Changed @@ -7,7 +19,14 @@ - 检后侧边栏改为二级目录:新增"常规体检"分组(下辖常规体检报告、体检报告未匹配项目、"体检统计汇总"分组(原"常规体检统计"分组更名并移至体检报告未匹配项目之下)、"病种信息管理"分组)与"胃肠镜体检"分组(胃肠镜体检报告、胃肠镜体检统计);原"体检报告信息"分组取消,其中常规体检报告与体检报告未匹配项目并入"常规体检"、胃肠镜体检报告并入"胃肠镜体检",胃肠镜体检统计由平铺入口并入"胃肠镜体检"分组,15 个检后页面同步调整,页面加载时自动展开当前页所在各级分组 - `mid-gastro-appointment-track.html`:新增"员工预约跟踪(胃肠镜)"页面(检中/胃肠镜体检分组,位于胃肠镜问卷信息之上)。由原"员工预约跟踪"页面的胃肠镜 Tab 形态拆分而来:列不含婚姻状况/体检类型/防癌项/预约信息/体检实际费用(含费用子表头),操作栏无"同步医院体检预约信息",支持批量置为已体检/未体检与行内编辑体检状态(弹窗仅可选已体检/未体检),详情弹窗同步精简;检中各页面侧边栏"胃肠镜体检"分组及首页站点地图同步新增入口 - `mid-appointment-track.html`:移除顶部"常规体检/胃肠镜体检"Tab 栏及胃肠镜形态相关交互(列隐藏切换、批量置为按钮、编辑链接与编辑弹窗),页面仅保留常规体检内容 +- `mid-appointment-track.html`:操作栏精简为仅"导出列表数据""查看导出任务""同步医院体检预约信息"三个按钮(曾新增的置为已体检/置为未体检/取消预约/导出项目数据/导出预约数据已移除,"导出列表数据"由主按钮改为默认样式),表格勾选列保留 +- `mid-appointment-track.html`:按线上"体检预约信息"页(userFormList)对齐——列表新增年龄区间/体检编码/用工形式/是否上市员工四列,"婚姻状况"改"婚姻状态"、"预约信息"改"体检预约信息",去掉"序号"列,列顺序重排为姓名→性别→年龄→年龄区间→身份证号→单位→部门→机构分类→员工编号→体检编码→用工形式→婚姻状态→体检类型→防癌项→是否上市员工→体检医院→体检预约信息→体检总费用→体检实际费用(四子列)→预约状态→预约日期→体检状态→体检日期→体检年度→体检计划→操作;筛选栏拆分为单位部门(合并线上的单位/部门两项)/机构分类并新增是否上市员工/性别/年龄区间/防癌项,"体检医院"改"医院选择",未采用线上的部门/预约日期/是否为未选项目三项;年龄区间选项定为"35岁以下/35至44岁/45岁及以上",列表年龄区间列与详情弹窗示例值同步;体检状态去掉"已出报告"选项;机构分类选项改为"子公司/三产公司"(表格与详情示例值同步);详情弹窗同步新增四字段并更新取数列索引 - `mid-unit-appointment.html`:移除顶部"常规体检/胃肠镜体检"Tab 栏(panel-normal/panel-gastro 双面板结构、切换 JS 及相关样式),页面仅保留常规体检内容 +- `mid-unit-appointment.html`:菜单"单位预约统计"更名为"单位预约人数统计",并在检中侧边栏"常规体检"分组中移至"已参检员工信息"之下(10 个检中页面侧边栏同步),页面标题与首页站点地图同步更新;胃肠镜分组"单位预约统计"不受影响 +- `mid-participation.html`:操作栏移除"增加防癌项目S9""增加防癌项目724""清除手动添加的防癌项目""增加已婚体检项""清除已婚体检项""同步手动增加项目"六个按钮,仅保留录入大病信息/导出项目状态/导出体检指引单/查看导出任务;列表首列新增勾选框(表头全选联动各行) + +### Added +- `mid-selected-items.html`:新增"已选项目员工信息"页面(检中/常规体检分组,位于员工预约跟踪与已参检员工信息之间,10 个检中页面侧边栏与首页站点地图同步新增入口)。筛选栏与列表对齐线上"已选项目人员"页(selectedProject):筛选含姓名/员工编号/身份证号/预约状态/预约日期/系统体检状态/体检日期/单位/部门/医院选择/体检年份/体检编码/前置机构体检状态;列表 16 列(勾选、姓名、单位、部门、体检编码、手机号码、医院名称、员工编号、身份证号、体检预约信息、预约状态、预约日期、系统体检状态、前置机预约状态、体检日期、操作〔详情/删除〕);操作栏复制自员工预约跟踪页(置为已体检/置为未体检作用于勾选行的系统体检状态列,取消预约更新预约状态列,另含导出列表数据/导出项目数据/导出预约数据/查看导出任务/同步医院体检预约信息);详情弹窗交互复制自已参检员工信息页(员工体检表信息/已体检项目/未体检项目三 Tab,行内置为已检/未检/弃检,Tab 内批量置为与表头全选);基本信息卡片与列表字段一致(姓名/单位/部门/体检编码/手机号码/医院名称/员工编号/身份证号/体检预约信息/预约状态/预约日期/系统体检状态/前置机预约状态/体检日期,示例值取自列表首行) - `mid-gastro-unit-appointment.html`:新增"单位预约统计(胃肠镜)"页面(检中/胃肠镜体检分组,位于员工预约跟踪(胃肠镜)之后)。由原"单位预约统计"页面的胃肠镜 Tab 面板拆分而来:表头"已选项目人数"改为"填写问卷人数"(数据 5000→3600),其余筛选栏、二级单位/三级单位子 Tab、操作栏与分页一致;检中各页面侧边栏"胃肠镜体检"分组及首页站点地图同步新增入口 - `mid-participation.html`:移除顶部"常规体检/胃肠镜体检"Tab 栏(双面板结构、切换 JS 及相关样式)与胃肠镜详情弹窗,页面仅保留常规体检内容 - `mid-gastro-participation.html`:新增"已参检员工信息(胃肠镜)"页面(检中/胃肠镜体检分组,位于单位预约统计(胃肠镜)之后)。由原"已参检员工信息"页面的胃肠镜 Tab 面板拆分而来:筛选栏无"医院体检状态"、体检医院选项含长安胃肠镜医院;操作栏仅保留录入大病信息/导出项目状态/导出体检指引单/查看导出任务/同步手动增加项目(无防癌项目与已婚体检项按钮);列表 14 列(无体检编号/医院体检状态列,共 86 条分页);详情为胃肠镜专属弹窗(基本信息含检查类型"无痛胃肠镜",单页签胃镜/肠镜两项目)。检中各页面侧边栏"胃肠镜体检"分组及首页站点地图同步新增入口 diff --git a/web-admin/health-checkup/mid-appointment-track.html b/web-admin/health-checkup/mid-appointment-track.html index f916beb..01d9ac8 100644 --- a/web-admin/health-checkup/mid-appointment-track.html +++ b/web-admin/health-checkup/mid-appointment-track.html @@ -149,8 +149,9 @@
预约与体检信息
已预约
-
已成功预约并更新项目
+
已成功预约并更新项目
2026-03-10
-
已出报告
+
已体检
延安医院
2026-03-12
2026
@@ -379,7 +414,7 @@ } })(); /* 详情弹窗:点击"详情"用该行数据填充并打开 */ -var TAG_CLASS={'未预约':'tag-orange','已预约':'tag-green','已取消预约':'tag-red','未体检':'tag-orange','体检中':'tag-blue','已体检':'tag-blue','已出报告':'tag-green'}; +var TAG_CLASS={'未预约':'tag-orange','已预约':'tag-green','已取消预约':'tag-red','未体检':'tag-orange','体检中':'tag-blue','已体检':'tag-blue'}; function openModal(id){document.getElementById(id).classList.add('open');} function closeModal(id){document.getElementById(id).classList.remove('open');} document.querySelectorAll('[data-close]').forEach(function(btn){ @@ -397,13 +432,15 @@ document.querySelectorAll('tbody .link:not(.edit-link)').forEach(function(link){ var txt=function(i){var td=tds[i];if(!td)return '-';var s=td.querySelector('.tag');return s?s.textContent.trim():(td.textContent.trim()||'-');}; var tag=function(el,cls,text){el.className='tag '+cls;el.textContent=text;}; var set=function(f,v){var el=document.querySelector('[data-f="'+f+'"]');if(el)el.textContent=v;}; - set('name',txt(2));set('empNo',txt(3));set('gender',txt(4));set('age',txt(5));set('idNo',txt(6)); - set('unit',txt(7));set('dept',txt(8));set('orgType',txt(9));set('marriage',txt(10)); - set('examType',txt(11));set('cancer',txt(12)); - var bookStatus=txt(13);set('bookInfo',txt(14));set('bookDate',txt(15)); - var examStatus=txt(16);set('hospital',txt(17));set('examDate',txt(18));set('feeTotal',txt(19)); - set('fee1',txt(20));set('fee2',txt(21));set('fee3',txt(22));set('fee4',txt(23)); - set('year',txt(24));set('plan',txt(25)); + set('name',txt(1));set('empNo',txt(9));set('gender',txt(2));set('age',txt(3));set('ageRange',txt(4));set('idNo',txt(5)); + set('unit',txt(6));set('dept',txt(7));set('orgType',txt(8));set('examCode',txt(10)); + set('empType',txt(11));set('marriage',txt(12)); + set('examType',txt(13));set('cancer',txt(14));set('listed',txt(15)); + set('hospital',txt(16));set('bookInfo',txt(17));set('feeTotal',txt(18)); + set('fee1',txt(19));set('fee2',txt(20));set('fee3',txt(21));set('fee4',txt(22)); + var bookStatus=txt(23);set('bookDate',txt(24)); + var examStatus=txt(25);set('examDate',txt(26)); + set('year',txt(27));set('plan',txt(28)); var bt=document.querySelector('[data-f="bookTag"]'); if(bt)tag(bt,TAG_CLASS[bookStatus]||'tag-blue',bookStatus); var et=document.querySelector('[data-f="examTag"]'); diff --git a/web-admin/health-checkup/mid-doctor-realtime.html b/web-admin/health-checkup/mid-doctor-realtime.html index f539c64..38087e6 100644 --- a/web-admin/health-checkup/mid-doctor-realtime.html +++ b/web-admin/health-checkup/mid-doctor-realtime.html @@ -116,8 +116,9 @@
@@ -388,6 +383,11 @@ document.getElementById('detailModal').addEventListener('click',function(e){ function toggleAllCheck(cb){ cb.closest('table').querySelectorAll('tbody input[type=checkbox]').forEach(function(c){c.checked=cb.checked;}); } +/* 列表全选/取消全选 */ +document.getElementById('checkAll').addEventListener('change',function(){ + var checked=this.checked; + document.querySelectorAll('.row-checkbox').forEach(function(cb){cb.checked=checked;}); +}); diff --git a/web-admin/health-checkup/mid-selected-items.html b/web-admin/health-checkup/mid-selected-items.html new file mode 100644 index 0000000..2df7e8e --- /dev/null +++ b/web-admin/health-checkup/mid-selected-items.html @@ -0,0 +1,465 @@ + + + + + +健康体检 - 已选项目员工信息 | 健康CQ原型 + + + + + +
+ + +
+ + + 返回首页 + +
+ 系统管理员 ▾ +
+
+ + + + + +
+ +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ + +
+ + +
+ + + + + + + + +
+ + +
+
+
已选项目员工信息列表
+
+
+ + + + + + + + + + + +
姓名单位部门体检编码手机号码医院名称员工编号身份证号体检预约信息预约状态预约日期系统体检状态前置机预约状态体检日期操作
王旭公司机关办公室TJ0068734518811391195兴隆园医院342423430626198502560029预约成功已预约2026-03-10未体检已预约2026-03-12详情 删除
张武公司机关政策研究室TJ0068726415121908360兴隆园医院324321430626198806120037预约成功已预约2026-03-10未体检已预约2026-03-11详情 删除
赵芳第二采油厂地质研究所TJ0068730213744705644泾河医院512336610402198109230028-未预约-未体检未预约-详情 删除
+
+ +
+
+ + + + + + + diff --git a/web-admin/health-checkup/mid-unit-appointment.html b/web-admin/health-checkup/mid-unit-appointment.html index 5edab45..ec417c1 100644 --- a/web-admin/health-checkup/mid-unit-appointment.html +++ b/web-admin/health-checkup/mid-unit-appointment.html @@ -3,7 +3,7 @@ -健康体检 - 单位预约统计 | 健康CQ原型 +健康体检 - 单位预约人数统计 | 健康CQ原型 + + + + +
+ + +
+ + + 返回首页 + +
+ 系统管理员 ▾ +
+
+ + + + + +
+ +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ + +
+ + +
+ + +
+ + +
+
+
大病人员信息
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
序号姓名单位部门医院名称身份证号手机号体检日期大病分类是否开启消息通知是否已发送短信操作
1王旭公司机关办公室延安医院430626198502560029138123466212026-03-10恶性肿瘤编辑删除发送短信
2张丽娟公司机关财务部长安医院430626198805120046139123430782026-03-11心脑血管疾病编辑删除发送短信
3李国强生产一部运行车间延安医院430626197911200017137123455402026-03-12糖尿病及并发症编辑删除发送短信
4陈慧敏生产二部检修班西南医院430626198302140028135123488022026-03-12慢性肾病编辑删除发送短信
5赵明辉公司机关安全环保部大坪医院430626197509030035136123411942026-03-13肝硬化编辑删除发送短信
+
+ +
+
+ + + + diff --git a/web-admin/health-checkup/post-indicator-notify.html b/web-admin/health-checkup/post-indicator-notify.html new file mode 100644 index 0000000..0ec3402 --- /dev/null +++ b/web-admin/health-checkup/post-indicator-notify.html @@ -0,0 +1,283 @@ + + + + + +健康体检 - 指标异常通知 | 健康CQ原型 + + + + + +
+ + +
+ + + 返回首页 + +
+ 系统管理员 ▾ +
+
+ + + + + +
+ +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ + +
+ + +
+ + + + +
+ + +
+
+
指标异常通知
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
序号姓名身份证号手机号重大异常描述APP已通知APP通知时间APP通知已读APP通知已读时间短信已通知短信通知时间操作
1王旭43062619850256002913812346621空腹血糖 14.2 mmol/L↑,糖化血红蛋白 9.8%↑,提示糖尿病可能2026-03-15 09:20:362026-03-15 10:05:122026-03-15 09:21:02删除
2张丽娟43062619880512004613912343078胸部CT示右肺上叶结节 12mm,建议进一步检查2026-03-15 09:22:18删除
3李国强43062619791120001713712345540血压 178/112 mmHg↑,心电图示左心室高电压删除
4陈慧敏43062619830214002813512348802甲胎蛋白 458 ng/mL↑,肝脏超声示占位性病变2026-03-16 14:02:452026-03-16 15:30:082026-03-16 14:03:20删除
5赵明辉43062619750903003513612341194总胆红素 68 μmol/L↑,转氨酶升高 3 倍,提示肝功能异常2026-03-16 16:40:55删除
+
+ +
+
+ + + + diff --git a/web-admin/health-checkup/post-item-stat.html b/web-admin/health-checkup/post-item-stat.html index 07189fb..8dcc644 100644 --- a/web-admin/health-checkup/post-item-stat.html +++ b/web-admin/health-checkup/post-item-stat.html @@ -118,6 +118,8 @@
diff --git a/web-admin/health-checkup/post-key-indicator-stat.html b/web-admin/health-checkup/post-key-indicator-stat.html index 1fceb4b..5967e1e 100644 --- a/web-admin/health-checkup/post-key-indicator-stat.html +++ b/web-admin/health-checkup/post-key-indicator-stat.html @@ -151,6 +151,8 @@ diff --git a/web-admin/health-checkup/post-report-employee.html b/web-admin/health-checkup/post-report-employee.html index 66423a5..7467d24 100644 --- a/web-admin/health-checkup/post-report-employee.html +++ b/web-admin/health-checkup/post-report-employee.html @@ -139,6 +139,8 @@ @@ -223,10 +225,6 @@ 体检报告补录 - - - - - @@ -286,40 +240,6 @@ function toggleAll(el){ document.querySelectorAll('.row-check').forEach(function(c){c.checked=el.checked;}); } -/* 新增未匹配项目弹窗 */ -function openAddModal(){ - document.getElementById('add-modal').classList.add('open'); -} -function closeAddModal(){ - document.getElementById('add-modal').classList.remove('open'); -} -/* 确定新增:必填校验,通过后插入新行并刷新总条数 */ -function saveAdd(){ - var year=document.getElementById('f-year'); - var hospital=document.getElementById('f-hospital'); - var codes=['f-item-code','f-item-name','f-combo-code','f-combo-name'].map(function(id){return document.getElementById(id);}); - var invalid=false; - var pass; - pass=hospital.value!=='请选择'; - hospital.style.borderColor=pass?'':'var(--danger)'; - if(!pass)invalid=true; - codes.forEach(function(e){ - pass=e.value.trim()!==''; - e.style.borderColor=pass?'':'var(--danger)'; - if(!pass)invalid=true; - }); - if(invalid)return; - var t=document.getElementById('unmatched-tbody'); - var seq=t.rows.length+1; - var d=new Date(); - function pad(n){return String(n).padStart(2,'0');} - var ts=d.getFullYear()+'-'+pad(d.getMonth()+1)+'-'+pad(d.getDate())+' '+pad(d.getHours())+':'+pad(d.getMinutes())+':'+pad(d.getSeconds()); - var tr=document.createElement('tr'); - tr.innerHTML=''+seq+''+hospital.value+''+codes[0].value.trim()+''+codes[1].value.trim()+''+codes[2].value.trim()+''+codes[3].value.trim()+''+ts+''+year.value+'更新体检报告'; - t.appendChild(tr); - document.getElementById('page-total').textContent='共 '+t.rows.length+' 条'; - closeAddModal(); -} /* 侧边栏展开/折叠交互 */ function toggleSubgroup(header){ header.parentElement.classList.toggle('open'); diff --git a/web-admin/health-checkup/post-standard-stat.html b/web-admin/health-checkup/post-standard-stat.html index 94d24b5..6f3a656 100644 --- a/web-admin/health-checkup/post-standard-stat.html +++ b/web-admin/health-checkup/post-standard-stat.html @@ -118,6 +118,8 @@ diff --git a/web-admin/health-checkup/post-unit-count.html b/web-admin/health-checkup/post-unit-count.html index 1c753ad..e86464e 100644 --- a/web-admin/health-checkup/post-unit-count.html +++ b/web-admin/health-checkup/post-unit-count.html @@ -140,6 +140,8 @@ @@ -298,7 +300,7 @@ + + +
* 折扣类型
@@ -601,15 +609,17 @@ function resetAddDrawer(){ document.getElementById('tpl-discount-type').value = ''; document.getElementById('tpl-discount-amount').value = ''; document.getElementById('cancer-fee-input').value = ''; + document.getElementById('female-fee-input').value = ''; projectTabKeys.forEach(function(k){ document.getElementById('tbody-' + k).innerHTML = ''; }); switchProjectTab(document.querySelector('#tpl-tab-nav .tab-nav__item[data-tab="required"]')); onGenderChange(); } -/* 性别切换:男隐藏妇科 tab */ +/* 性别切换:男隐藏妇科 tab;女显示女性专项费用 */ function onGenderChange(){ var gender = document.getElementById('tpl-gender').value; var showGyn = gender !== '男'; + document.getElementById('female-fee-box').style.display = gender === '女' ? 'block' : 'none'; document.querySelectorAll('#tpl-tab-nav .tab-nav__item[data-tab="gyn-unmarried"], #tpl-tab-nav .tab-nav__item[data-tab="gyn-married"]').forEach(function(t){ t.style.display = showGyn ? '' : 'none'; }); @@ -685,6 +695,7 @@ function saveComboTemplate(){ if(!document.getElementById('tpl-age').value){ alert('请选择年龄范围'); return; } if(!document.getElementById('tpl-discount-type').value){ alert('请选择折扣类型'); return; } if(!document.getElementById('tpl-discount-amount').value){ alert('请输入折扣金额'); return; } + if(document.getElementById('tpl-gender').value === '女' && !document.getElementById('female-fee-input').value){ alert('请输入女性专项费用'); return; } alert('已保存(原型演示)'); closeAddDrawer(); } diff --git a/web-admin/health-checkup/pre-item-exception.html b/web-admin/health-checkup/pre-item-exception.html index 8e5b3b0..33efb9d 100644 --- a/web-admin/health-checkup/pre-item-exception.html +++ b/web-admin/health-checkup/pre-item-exception.html @@ -189,7 +189,7 @@ 单位体检项目费用 体检项目组合模板 组合模板例外配置 - 必检/选检项目配置 + 单位体检项目审核
+ +
必检项目
@@ -404,58 +412,57 @@
防癌筛查项目(CA724)
+
+ 必选项目费用合计(元) + +
+
- +
体检项目项目编码项目标记
体检项目项目编码项目标记体检项目费用(元)
- +
体检项目项目编码项目标记
体检项目项目编码项目标记体检项目费用(元)
- +
体检项目项目编码项目标记
体检项目项目编码项目标记体检项目费用(元)
- +
体检项目项目编码项目标记
体检项目项目编码项目标记体检项目费用(元)
- +
体检项目项目编码项目标记
体检项目项目编码项目标记体检项目费用(元)
- +
体检项目项目编码项目标记
体检项目项目编码项目标记体检项目费用(元)
-
+
-
必选项目费用合计(元)
- -
-
-
-
-
必检费用(元)
- +
必检项目费用(已生效)
+
-
修改费用(元)
- +
本次提交费用(元)
+
@@ -465,6 +472,120 @@ + + + diff --git a/web-admin/health-checkup/pre-item-unit-fee.html b/web-admin/health-checkup/pre-item-unit-fee.html index 3d6187d..dfc8f2a 100644 --- a/web-admin/health-checkup/pre-item-unit-fee.html +++ b/web-admin/health-checkup/pre-item-unit-fee.html @@ -161,7 +161,7 @@ 单位体检项目费用 体检项目组合模板 组合模板例外配置 - 必检/选检项目配置 + 单位体检项目审核 -
-
是否手动输入
-
-
- -
-
@@ -332,7 +331,7 @@ - + diff --git a/web-admin/health-checkup/pre-special-cta.html b/web-admin/health-checkup/pre-special-cta.html index e0646de..4299437 100644 --- a/web-admin/health-checkup/pre-special-cta.html +++ b/web-admin/health-checkup/pre-special-cta.html @@ -190,7 +190,7 @@ 单位体检项目费用体检项目组合模板组合模板例外配置 - 必检/选检项目配置 + 单位体检项目审核 @@ -334,11 +338,11 @@
序号姓名员工编号性别年龄身份证号手机号单位部门体检年度体检计划体检计划单位防癌筛查类型上一年检查情况操作序号姓名员工编号性别年龄身份证号手机号单位部门体检年度体检计划体检计划单位防癌筛查类型上一次检查情况操作
防癌检查年份Septin9是否已检Septin9检查异常Septin9项目值CA724是否已检CA724检查异常CA724项目值
- + - +
序号姓名员工编号性别年龄身份证号手机号单位部门体检年度体检计划工种用工形式入职时间接害时间体检形式系统体检状态体检医院危害因素操作序号姓名员工编号性别年龄身份证号手机号单位部门工种用工形式入职时间接害时间体检形式危害因素系统体检状态体检医院体检年度体检计划操作
1贾彬505007903641133019900126004313912345678CQ工程设计有限公司建筑设计部2026第二采气厂2026年员...热力司炉工合同制B1994-09-012000-05-01在岗期间未体检宁夏宝石花医院噪声,一氧化碳删除
1贾彬505007903641133019900126004313912345678CQ工程设计有限公司建筑设计部热力司炉工合同制B1994-09-012000-05-01在岗期间噪声,一氧化碳未体检宁夏宝石花医院2026第二采气厂2026年员...编辑 删除
@@ -429,6 +433,51 @@ + + +