From 3a838d04a24a39a3c46521c59755ec34484673a7 Mon Sep 17 00:00:00 2001 From: liuyunqin Date: Thu, 3 Sep 2026 14:43:10 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=81=A5=E5=BA=B7=E4=BD=93=E6=A3=80?= =?UTF-8?q?=E5=8E=9F=E5=9E=8B=E5=AE=8C=E5=96=84=EF=BC=88=E8=83=83=E8=82=A0?= =?UTF-8?q?=E9=95=9C=E4=BD=93=E6=A3=80=E8=AE=A1=E5=88=92=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=96=B0=E5=A2=9E/=E7=BC=96=E8=BE=91/?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E6=8A=BD=E5=B1=89=E6=94=AF=E6=8C=81=E6=89=BF?= =?UTF-8?q?=E6=A3=80=E5=8C=BB=E9=99=A2=E5=A4=9A=E9=80=89=E4=B8=8E=E6=9C=BA?= =?UTF-8?q?=E6=9E=84=E6=A0=91=E9=80=89=E4=BA=BA=EF=BC=8C=E5=8C=BB=E9=99=A2?= =?UTF-8?q?=E5=9F=BA=E7=A1=80=E4=BF=A1=E6=81=AF=E5=88=97=E8=A1=A8=E5=8A=A0?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E5=88=97=E5=B9=B6=E7=BB=9F=E4=B8=80=E5=B8=B8?= =?UTF-8?q?=E8=A7=84/=E8=83=83=E8=82=A0=E9=95=9C=E5=8C=BB=E9=99=A2?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E6=8A=BD=E5=B1=89=EF=BC=8C=E6=8A=A5=E5=91=8A?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E8=AF=A6=E6=83=85=E4=B8=8E=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E5=A4=8D=E7=94=A8=E5=90=8C=E4=B8=80=E5=BC=B9=E7=AA=97=E5=90=AB?= =?UTF-8?q?=E5=8F=AA=E8=AF=BB=E6=A8=A1=E5=BC=8F=EF=BC=8C=E7=BB=84=E5=90=88?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF/=E4=BE=8B=E5=A4=96=E9=85=8D=E7=BD=AE/?= =?UTF-8?q?=E5=8C=BB=E9=99=A2=E8=B4=B9=E7=94=A8/=E5=8D=95=E4=BD=8D?= =?UTF-8?q?=E8=B4=B9=E7=94=A8=E6=96=B0=E5=A2=9E=E8=AF=A6=E6=83=85=E5=BC=B9?= =?UTF-8?q?=E7=AA=97=E4=B8=8E=E7=BC=96=E8=BE=91=E6=8A=BD=E5=B1=89=E5=8F=8A?= =?UTF-8?q?=E7=94=9F=E6=88=90=E8=B4=B9=E7=94=A8=E7=A1=AE=E8=AE=A4=E5=BC=B9?= =?UTF-8?q?=E7=AA=97=EF=BC=8C=E5=8D=95=E4=BD=8D=E4=BD=93=E6=A3=80=E8=AE=A1?= =?UTF-8?q?=E5=88=92=E6=96=B0=E5=A2=9E=E6=8A=BD=E5=B1=89=E5=90=AB=E5=85=81?= =?UTF-8?q?=E8=AE=B8=E9=A2=84=E7=BA=A6=E6=97=A5=E6=9C=9F=E8=8C=83=E5=9B=B4?= =?UTF-8?q?=EF=BC=8C=E5=90=8D=E9=A2=9D=E5=88=86=E7=BB=84=E4=B8=8E=E6=9D=90?= =?UTF-8?q?=E6=96=99=E6=93=8D=E4=BD=9C=E8=AF=B4=E6=98=8E=E5=BC=B9=E7=AA=97?= =?UTF-8?q?=E6=8A=BD=E5=B1=89=EF=BC=8C=E6=A3=80=E4=B8=AD=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E7=AD=9B=E9=80=89=E9=A1=B9=E9=87=8D=E6=8E=92=E3=80=81=E9=A2=84?= =?UTF-8?q?=E7=BA=A6=E8=B7=9F=E8=B8=AA=E5=A4=9A=E7=BA=A7=E8=A1=A8=E5=A4=B4?= =?UTF-8?q?=EF=BC=8C=E7=89=B9=E6=AE=8A=E9=A1=B9=E7=9B=AE=E9=A1=B5=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E5=AD=97=E6=AE=B5=E8=B0=83=E6=95=B4=EF=BC=8C=E6=A1=A3?= =?UTF-8?q?=E6=A1=88=E9=A1=B5=E7=AD=9B=E9=80=89=E6=8E=92=E5=BA=8F=E7=BB=9F?= =?UTF-8?q?=E4=B8=80=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../health-checkup/archive-personal.html | 14 +- web-admin/health-checkup/archive-unit.html | 12 +- .../health-checkup/config-hospital-basic.html | 189 ++- .../health-checkup/config-material-video.html | 64 +- .../config-report-template.html | 141 ++- .../health-checkup/config-standard-basic.html | 2 - .../config-standard-hospital.html | 55 +- web-admin/health-checkup/exception-dirty.html | 16 +- .../health-checkup/exception-result.html | 18 +- .../health-checkup/mid-appointment-track.html | 80 +- .../mid-gastro-appointment-track.html | 22 +- .../mid-gastro-questionnaire.html | 16 +- .../health-checkup/mid-participation.html | 16 +- .../health-checkup/mid-selected-items.html | 66 +- .../post-auto-select-disease.html | 34 +- .../health-checkup/post-cancer-screening.html | 12 +- .../post-conclusion-disease.html | 12 +- .../health-checkup/post-gastro-stat.html | 24 +- .../post-illness-personnel.html | 16 +- .../post-key-indicator-stat.html | 2 +- .../health-checkup/post-report-employee.html | 2 +- .../health-checkup/post-report-gastro.html | 14 +- .../health-checkup/pre-gastro-employee.html | 16 +- .../health-checkup/pre-gastro-plan-mgmt.html | 1015 ++++++++++++++++- web-admin/health-checkup/pre-gastro-plan.html | 28 +- web-admin/health-checkup/pre-gastro-stat.html | 8 +- .../pre-item-combo-template.html | 262 ++++- .../health-checkup/pre-item-exception.html | 251 +++- .../health-checkup/pre-item-hospital-fee.html | 285 ++++- .../health-checkup/pre-item-required.html | 26 +- .../health-checkup/pre-item-unit-fee.html | 55 +- web-admin/health-checkup/pre-plan.html | 166 ++- web-admin/health-checkup/pre-quota-group.html | 95 +- .../health-checkup/pre-special-cancer.html | 55 +- web-admin/health-checkup/pre-special-cta.html | 24 +- .../health-checkup/pre-special-gastro.html | 53 +- .../health-checkup/pre-special-hospital.html | 28 +- .../pre-special-occupation.html | 42 +- 38 files changed, 2716 insertions(+), 520 deletions(-) diff --git a/web-admin/health-checkup/archive-personal.html b/web-admin/health-checkup/archive-personal.html index b99cab2..1367090 100644 --- a/web-admin/health-checkup/archive-personal.html +++ b/web-admin/health-checkup/archive-personal.html @@ -117,11 +117,17 @@
- +
+
+ + +
@@ -130,12 +136,6 @@
-
- - -
diff --git a/web-admin/health-checkup/config-hospital-basic.html b/web-admin/health-checkup/config-hospital-basic.html index a031dd9..865bd54 100644 --- a/web-admin/health-checkup/config-hospital-basic.html +++ b/web-admin/health-checkup/config-hospital-basic.html @@ -121,6 +121,7 @@ .search-select__option{padding:10px 12px;font-size:var(--font-sm);cursor:pointer;transition:background .15s;color:var(--text-primary);} .search-select__option:hover,.search-select__option.active{background:var(--primary-light);color:var(--primary);} .search-select__empty{padding:10px 12px;font-size:var(--font-sm);color:var(--text-placeholder);text-align:center;} + .search-select__input[readonly]{background:#F5F7FA;color:var(--text-secondary);cursor:not-allowed;} /* 医院信息卡片 */ .hospital-info{background:#F5F7FA;border-radius:var(--radius-sm);padding:12px;margin-bottom:16px;display:none;} .hospital-info.show{display:block;} @@ -227,8 +228,8 @@ - 1泾河医院普通医院西安市高陵区西安泾河开发区CQ西路20号医院图片西安宝石花CQ医院(高陵)是1编辑 删除 - 2庆阳医院指定医院甘肃省庆阳市西峰区岐黄大道18号医院图片庆阳市人民医院体检中心是2编辑 删除 + 1泾河医院普通医院西安市高陵区西安泾河开发区CQ西路20号医院图片西安宝石花CQ医院(高陵)是1编辑 删除 + 2庆阳医院指定医院甘肃省庆阳市西峰区岐黄大道18号医院图片庆阳市人民医院体检中心是2编辑 删除
@@ -267,7 +268,7 @@ - 1长安胃肠镜医院西安市雁塔区科技路66号医院图片西安长安胃肠镜专科医院是1编辑 删除 + 1长安胃肠镜医院西安市雁塔区科技路66号医院图片西安长安胃肠镜专科医院是1编辑 删除 @@ -378,7 +379,7 @@ function switchType(type){ document.getElementById('pane-' + type).classList.add('active'); } -/* ===== 新增医院抽屉 ===== */ +/* ===== 新增/编辑医院抽屉 ===== */ var hospitalData = { 'h1': { name: '西安市中心医院', address: '西安市新城区西五路161号', intro: '西安市中心医院体检中心' }, 'h2': { name: '陕西省人民医院', address: '西安市碑林区友谊西路256号', intro: '陕西省人民医院健康管理中心' }, @@ -387,13 +388,26 @@ var hospitalData = { 'h5': { name: '宝鸡市人民医院', address: '宝鸡市渭滨区经二路185号', intro: '宝鸡市人民医院体检科' } }; -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'); +/* 当前正在编辑的行(null 表示新增) */ +var editingRow = null; + +/* 抽屉内是否锁定医院选择(编辑时医院不可更换) */ +function setHospitalLocked(locked, name, address){ + var input = document.getElementById('search-input'); + if(locked){ + input.value = name || ''; + input.readOnly = true; + input.placeholder = ''; + var info = document.getElementById('hospital-info'); + document.getElementById('hospital-address').textContent = address || ''; + if(address) info.classList.add('show'); + } else { + input.readOnly = false; + input.placeholder = '请输入医院名称搜索'; + } +} + +function resetDrawerFields(){ document.getElementById('search-input').value = ''; document.getElementById('search-value').value = ''; document.getElementById('hospital-info').classList.remove('show'); @@ -407,6 +421,53 @@ function openDrawer(){ document.getElementById('form-card-reg').value = ''; } +function openDrawer(){ + editingRow = null; + 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' : ''; + resetDrawerFields(); + setHospitalLocked(false); + document.getElementById('hospital-drawer').classList.add('open'); + document.getElementById('drawer-overlay').classList.add('open'); +} + +/* 读取单元格文本 */ +function readTd(tr, i){ + var td = tr.children[i]; + return td ? td.textContent.trim() : ''; +} + +/* 打开编辑抽屉:按行数据回填,医院锁定不可改 */ +function openEditDrawer(btn){ + editingRow = btn.closest('tr'); + var isNormal = currentType === 'normal'; + resetDrawerFields(); + if(isNormal){ + document.getElementById('drawer-title').textContent = '编辑常规体检医院'; + document.getElementById('normal-fields').style.display = ''; + document.getElementById('gastro-fields').style.display = 'none'; + setHospitalLocked(true, readTd(editingRow, 1), readTd(editingRow, 3)); + document.querySelectorAll('input[name="hos-type"]').forEach(function(r){ r.checked = (r.value === readTd(editingRow, 2)); }); + document.getElementById('switch-oc').classList.toggle('on', readTd(editingRow, 6) === '是'); + document.getElementById('form-sort-normal').value = readTd(editingRow, 7); + } else { + document.getElementById('drawer-title').textContent = '编辑胃肠镜体检医院'; + document.getElementById('normal-fields').style.display = 'none'; + document.getElementById('gastro-fields').style.display = ''; + setHospitalLocked(true, readTd(editingRow, 1), readTd(editingRow, 2)); + var needCard = readTd(editingRow, 5) === '是'; + document.getElementById('switch-card').classList.toggle('on', needCard); + document.getElementById('card-reg-item').style.display = needCard ? '' : 'none'; + document.getElementById('form-sort-gastro').value = readTd(editingRow, 6); + document.getElementById('form-gastro-notice').value = editingRow.dataset.notice || ''; + document.getElementById('form-card-reg').value = editingRow.dataset.cardreg || ''; + } + document.getElementById('hospital-drawer').classList.add('open'); + document.getElementById('drawer-overlay').classList.add('open'); +} + function closeDrawer(){ document.getElementById('hospital-drawer').classList.remove('open'); document.getElementById('drawer-overlay').classList.remove('open'); @@ -466,6 +527,7 @@ function onHospitalChange(){ } input.addEventListener('focus', function(){ + if(this.readOnly) return; renderOptions(this.value); dropdown.classList.add('show'); }); @@ -482,49 +544,98 @@ function onHospitalChange(){ }); })(); -/* 保存新增医院 */ +/* 单元格操作链接(新增与编辑行共用) */ +var ROW_ACTIONS = '编辑 删除'; +var HOSPITAL_IMG = (document.querySelector('.hospital-img') || {}).getAttribute ? document.querySelector('.hospital-img').getAttribute('src') : ''; + +/* 刷新某个表格的序号列 */ +function refreshSeq(tbody){ + tbody.querySelectorAll('tr').forEach(function(tr, i){ tr.children[0].textContent = i + 1; }); +} + +/* 生成常规体检行 HTML */ +function buildNormalRow(data, hosType, oc, sort){ + return '' + + '' + data.name + '' + + '' + hosType + '' + + '' + data.address + '' + + '医院图片' + + '' + data.intro + '' + + '' + (oc ? '是' : '否') + '' + + '' + sort + '' + + ROW_ACTIONS; +} + +/* 生成胃肠镜体检行 HTML */ +function buildGastroRow(data, needCard, sort){ + return '' + + '' + data.name + '' + + '' + data.address + '' + + '医院图片' + + '' + data.intro + '' + + '' + (needCard ? '是' : '否') + '' + + '' + sort + '' + + ROW_ACTIONS; +} + +/* 保存(新增或编辑) */ function saveHospital(){ + var isNormal = currentType === 'normal'; + var tbody = document.getElementById(isNormal ? 'normal-tbody' : 'gastro-tbody'); + + if(editingRow){ + /* 编辑:医院不变,更新可变列 */ + if(isNormal){ + var hosTypeEl = document.querySelector('input[name="hos-type"]:checked'); + if(!hosTypeEl){ alert('请选择医院类型'); return; } + var sort = document.getElementById('form-sort-normal').value.trim() || editingRow.children[7].textContent.trim(); + var oc = document.getElementById('switch-oc').classList.contains('on'); + editingRow.children[2].textContent = hosTypeEl.value; + editingRow.children[6].textContent = oc ? '是' : '否'; + editingRow.children[7].textContent = sort; + } else { + var needCard = document.getElementById('switch-card').classList.contains('on'); + var sortG = document.getElementById('form-sort-gastro').value.trim() || editingRow.children[6].textContent.trim(); + editingRow.children[5].textContent = needCard ? '是' : '否'; + editingRow.children[6].textContent = sortG; + editingRow.dataset.notice = document.getElementById('form-gastro-notice').value; + editingRow.dataset.cardreg = document.getElementById('form-card-reg').value; + } + closeDrawer(); + return; + } + + /* 新增:需从医院库选择 */ var value = document.getElementById('search-value').value; if(!value || !hospitalData[value]){ alert('请选择医院'); return; } var data = hospitalData[value]; - 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'); 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); + tr.innerHTML = buildNormalRow(data, hosTypeEl.value, document.getElementById('switch-oc').classList.contains('on'), sort); } 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); + tr.innerHTML = buildGastroRow(data, needCard, sortG); + tr.dataset.notice = document.getElementById('form-gastro-notice').value; + tr.dataset.cardreg = document.getElementById('form-card-reg').value; } + tbody.appendChild(tr); + tr.children[0].textContent = seq; closeDrawer(); } + +/* 删除行 */ +function deleteRow(btn){ + if(!confirm('确认删除该医院?')) return; + var tr = btn.closest('tr'); + var tbody = tr.parentElement; + tr.remove(); + refreshSeq(tbody); +} diff --git a/web-admin/health-checkup/config-material-video.html b/web-admin/health-checkup/config-material-video.html index 2c8337d..3b9ee61 100644 --- a/web-admin/health-checkup/config-material-video.html +++ b/web-admin/health-checkup/config-material-video.html @@ -124,6 +124,17 @@ .rich-content li{margin:4px 0;} .rich-content h3{margin:10px 0 4px;font-size:15px;font-weight:600;} .rich-content img{max-width:100%;border-radius:4px;margin:6px 0;} + /* 右侧抽屉 */ + .drawer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0);z-index:999;pointer-events:none;transition:background .3s;} + .drawer-overlay.open{background:rgba(0,0,0,0.45);pointer-events:auto;} + .drawer{position:fixed;top:0;right:-520px;bottom:0;width:520px;background:#fff;box-shadow:-2px 0 8px rgba(0,0,0,0.15);z-index:1000;transition:right .3s;display:flex;flex-direction:column;} + .drawer.open{right:0;} + .drawer__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border);flex-shrink:0;} + .drawer__title{font-size:var(--font-lg);font-weight:600;} + .drawer__close{width:32px;height:32px;border-radius:50%;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:18px;} + .drawer__close:hover{background:#F5F5F5;} + .drawer__body{flex:1;overflow-y:auto;padding:24px;} + .drawer__footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid var(--border);flex-shrink:0;} @@ -259,20 +270,23 @@ - - diff --git a/web-admin/health-checkup/config-standard-hospital.html b/web-admin/health-checkup/config-standard-hospital.html index 08e7cc2..81b8331 100644 --- a/web-admin/health-checkup/config-standard-hospital.html +++ b/web-admin/health-checkup/config-standard-hospital.html @@ -202,9 +202,9 @@ - 1泾河医院JH-XM001身高测量XM001(身高)身高体重检测, 基础体检套餐2026-03-102026-04-15编辑 删除 - 2泾河医院JH-XM002体重测量XM002(体重)身高体重检测, 基础体检套餐2026-03-102026-04-15编辑 删除 - 3庆阳医院QY-XM001血压检测XM004(血压)内科常规, 深度体检套餐2026-03-122026-04-20编辑 删除 + 1泾河医院JH-XM001身高测量XM001(身高)身高体重检测, 基础体检套餐2026-03-102026-04-15编辑 删除 + 2泾河医院JH-XM002体重测量XM002(体重)身高体重检测, 基础体检套餐2026-03-102026-04-15编辑 删除 + 3庆阳医院QY-XM001血压检测XM004(血压)内科常规, 深度体检套餐2026-03-122026-04-20编辑 删除 @@ -221,7 +221,7 @@ + + + diff --git a/web-admin/health-checkup/pre-item-hospital-fee.html b/web-admin/health-checkup/pre-item-hospital-fee.html index f5b7e55..cf93b9e 100644 --- a/web-admin/health-checkup/pre-item-hospital-fee.html +++ b/web-admin/health-checkup/pre-item-hospital-fee.html @@ -148,6 +148,13 @@ .editor-body:empty:before{content:attr(data-placeholder);color:var(--text-placeholder);} .editor-footer{display:flex;align-items:center;justify-content:space-between;margin-top:8px;} .editor-footer__hint{font-size:var(--font-xs);color:#999;} + /* 详情只读展示 */ + .detail-list{display:flex;flex-direction:column;gap:16px;} + .detail-item{display:flex;flex-direction:column;gap:4px;} + .detail-item__label{font-size:var(--font-sm);color:var(--text-secondary);} + .detail-item__value{font-size:var(--font-base);color:var(--text-primary);font-weight:500;} + .detail-thumb{display:flex;align-items:center;justify-content:center;width:96px;height:96px;border-radius:var(--radius-sm);background:#FAFAFA;color:var(--text-placeholder);} + .detail-desc{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;font-size:var(--font-sm);line-height:1.8;color:var(--text-primary);min-height:40px;background:#FAFAFA;word-break:break-all;} @@ -270,12 +277,18 @@
@@ -303,9 +316,9 @@ - 1经颅多普勒TCD-001常规检查功能检查项目260.00更新已生成费用 编辑 详情 删除 - 2腹部彩超BUS-002常规检查影像检查项目180.00更新已生成费用 编辑 详情 删除 - 3血常规BLD-003常规检查检验项目35.00更新已生成费用 编辑 详情 删除 + 1经颅多普勒TCD-001常规检查功能检查项目260.00更新已生成费用 编辑 详情 删除 + 2腹部彩超BUS-002常规检查功能检查项目180.00更新已生成费用 编辑 详情 删除 + 3血常规BLD-003常规检查抽血及其它检验项目35.00更新已生成费用 编辑 详情 删除
@@ -329,12 +342,18 @@
@@ -362,9 +381,9 @@ - 1经颅多普勒TCD-001常规检查功能检查项目260.00更新已生成费用 编辑 详情 删除 - 2腹部彩超BUS-002常规检查影像检查项目180.00更新已生成费用 编辑 详情 删除 - 3血常规BLD-003常规检查检验项目35.00更新已生成费用 编辑 详情 删除 + 1经颅多普勒TCD-001常规检查功能检查项目260.00更新已生成费用 编辑 详情 删除 + 2腹部彩超BUS-002常规检查功能检查项目180.00更新已生成费用 编辑 详情 删除 + 3血常规BLD-003常规检查抽血及其它检验项目35.00更新已生成费用 编辑 详情 删除
@@ -388,12 +407,18 @@
@@ -421,9 +446,9 @@ - 1经颅多普勒TCD-001常规检查功能检查项目260.00更新已生成费用 编辑 详情 删除 - 2腹部彩超BUS-002常规检查影像检查项目180.00更新已生成费用 编辑 详情 删除 - 3血常规BLD-003常规检查检验项目35.00更新已生成费用 编辑 详情 删除 + 1经颅多普勒TCD-001常规检查功能检查项目260.00更新已生成费用 编辑 详情 删除 + 2腹部彩超BUS-002常规检查功能检查项目180.00更新已生成费用 编辑 详情 删除 + 3血常规BLD-003常规检查抽血及其它检验项目35.00更新已生成费用 编辑 详情 删除
@@ -447,12 +472,18 @@
@@ -480,9 +511,9 @@ - 1经颅多普勒TCD-001常规检查功能检查项目260.00更新已生成费用 编辑 详情 删除 - 2腹部彩超BUS-002常规检查影像检查项目180.00更新已生成费用 编辑 详情 删除 - 3血常规BLD-003常规检查检验项目35.00更新已生成费用 编辑 详情 删除 + 1经颅多普勒TCD-001常规检查功能检查项目260.00更新已生成费用 编辑 详情 删除 + 2腹部彩超BUS-002常规检查功能检查项目180.00更新已生成费用 编辑 详情 删除 + 3血常规BLD-003常规检查抽血及其它检验项目35.00更新已生成费用 编辑 详情 删除
@@ -506,12 +537,18 @@
@@ -539,9 +576,9 @@ - 1经颅多普勒TCD-001常规检查功能检查项目260.00更新已生成费用 编辑 详情 删除 - 2腹部彩超BUS-002常规检查影像检查项目180.00更新已生成费用 编辑 详情 删除 - 3血常规BLD-003常规检查检验项目35.00更新已生成费用 编辑 详情 删除 + 1经颅多普勒TCD-001常规检查功能检查项目260.00更新已生成费用 编辑 详情 删除 + 2腹部彩超BUS-002常规检查功能检查项目180.00更新已生成费用 编辑 详情 删除 + 3血常规BLD-003常规检查抽血及其它检验项目35.00更新已生成费用 编辑 详情 删除
@@ -577,17 +614,17 @@
* 项目类别
@@ -599,7 +636,7 @@
@@ -766,6 +803,60 @@
+ + + + + + diff --git a/web-admin/health-checkup/pre-plan.html b/web-admin/health-checkup/pre-plan.html index 173862f..ad45d89 100644 --- a/web-admin/health-checkup/pre-plan.html +++ b/web-admin/health-checkup/pre-plan.html @@ -204,6 +204,17 @@ /* toast */ .toast{position:fixed;top:80px;left:50%;transform:translateX(-50%);background:#333;color:#fff;padding:10px 24px;border-radius:var(--radius-sm);font-size:var(--font-sm);z-index:9999;opacity:0;transition:opacity .2s;pointer-events:none;} .toast.show{opacity:1;} + /* 右侧抽屉 */ + .drawer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0);z-index:1001;pointer-events:none;transition:background .3s;} + .drawer-overlay.open{background:rgba(0,0,0,0.45);pointer-events:auto;} + .drawer{position:fixed;top:0;right:-560px;bottom:0;width:560px;max-width:calc(100vw - 48px);background:#fff;box-shadow:-2px 0 12px rgba(0,0,0,0.15);z-index:1002;transition:right .3s;display:flex;flex-direction:column;} + .drawer.open{right:0;} + .drawer__header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--border);flex-shrink:0;} + .drawer__title{font-size:var(--font-lg);font-weight:600;} + .drawer__close{width:32px;height:32px;border-radius:50%;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:18px;} + .drawer__close:hover{background:#F5F5F5;} + .drawer__body{flex:1;overflow-y:auto;padding:20px 24px;} + .drawer__footer{display:flex;justify-content:flex-end;gap:12px;padding:14px 24px;border-top:1px solid var(--border);flex-shrink:0;} @@ -311,7 +322,7 @@
- +
@@ -349,13 +360,13 @@ - + - - - + + +
序号单位体检年度体检计划名称承检医院签约医院有效标志体检计划日期范围允许预约日期范围创建人创建时间操作序号单位体检年份体检计划名称承检医院签约医院有效标志体检计划日期范围允许预约日期范围创建人创建时间操作
1新闻中心2026新闻中心2026年员工非职业健康体检兴隆园医院宝石花有效2025-06-23至2025-08-312025-06-23至2025-08-31系统管理员2025-06-18 09:20详情 编辑 删除
2公司机关2026公司机关2026年员工非职业健康体检宝石花宝石花有效2025-06-23至2025-08-312025-06-23至2025-08-31系统管理员2025-06-18 09:45详情 编辑 删除
3采油二厂2026采油二厂2026年员工职业健康体检兴隆园医院兴隆园医院有效2025-06-23至2025-08-312025-06-23至2025-08-31系统管理员2025-06-19 14:10详情 编辑 删除
1新闻中心2026新闻中心2026年员工非职业健康体检兴隆园医院宝石花有效2025-06-23至2025-08-312025-06-23至2025-08-31系统管理员2025-06-18 09:20详情 编辑 删除
2公司机关2026公司机关2026年员工非职业健康体检宝石花宝石花有效2025-06-23至2025-08-312025-06-23至2025-08-31系统管理员2025-06-18 09:45详情 编辑 删除
3采油二厂2026采油二厂2026年员工职业健康体检兴隆园医院兴隆园医院有效2025-06-23至2025-08-312025-06-23至2025-08-31系统管理员2025-06-19 14:10详情 编辑 删除
@@ -370,14 +381,14 @@ - - diff --git a/web-admin/health-checkup/pre-special-occupation.html b/web-admin/health-checkup/pre-special-occupation.html index 88ac538..400f2d4 100644 --- a/web-admin/health-checkup/pre-special-occupation.html +++ b/web-admin/health-checkup/pre-special-occupation.html @@ -252,7 +252,7 @@
- +
+
+ + +
@@ -283,21 +289,22 @@
-
- - -
+
+ + +
- -
-
- -
@@ -338,11 +342,11 @@ - + - +
序号姓名员工编号性别年龄身份证号手机号单位部门工种用工形式入职时间接害时间体检形式危害因素系统体检状态体检医院体检年度体检计划操作序号姓名员工编号性别年龄年龄范围身份证号手机号单位部门工种用工形式入职时间接害时间体检形式危害因素系统体检状态体检医院体检年份体检计划操作
1贾彬505007903641133019900126004313912345678CQ工程设计有限公司建筑设计部热力司炉工合同制B1994-09-012000-05-01在岗期间噪声,一氧化碳未体检宁夏宝石花医院2026第二采气厂2026年员...编辑 删除
1贾彬505007903635≤年龄<4041133019900126004313912345678CQ工程设计有限公司建筑设计部热力司炉工合同制B1994-09-012000-05-01在岗期间噪声,一氧化碳未体检宁夏宝石花医院2026第二采气厂2026年员...编辑 删除
@@ -513,7 +517,7 @@ var examFormOptions = ['在岗期间','上岗前','离岗后','离岗时','应 var jobTypeOptions = ['热力司炉工','采气工','化验工','行政专员','机修工','结构工程师']; var hazardFactorOptions = ['噪声','一氧化碳','硫化氢','苯','电焊烟尘','粉尘','高温']; /* 列表列索引 */ -var COL = { name:1, idcard:5, unit:7, dept:8, jobType:9, entryDate:11, hazardDate:12, examForm:13, hazardFactor:14 }; +var COL = { name:1, idcard:6, unit:8, dept:9, jobType:10, entryDate:12, hazardDate:13, examForm:14, hazardFactor:15 }; var editTr = null; function fillSelect(sel, options, current){