From 9cd970a31ea4692566cda920d043cf09f79fa6ed Mon Sep 17 00:00:00 2001 From: liuyunqin Date: Thu, 17 Sep 2026 18:10:16 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=B8=80=E7=BA=BF=E5=8C=BB=E7=96=97?= =?UTF-8?q?=E8=BA=AB=E4=BB=BD=E8=AF=81=E4=B8=8E=E8=81=94=E7=B3=BB=E7=94=B5?= =?UTF-8?q?=E8=AF=9D=E5=8E=BB=E9=99=A4=E8=84=B1=E6=95=8F=20=C2=B7=20?= =?UTF-8?q?=E5=91=98=E5=B7=A5=E5=88=86=E9=85=8D=E7=BB=9F=E8=AE=A1=E6=A6=82?= =?UTF-8?q?=E8=A7=88=E5=8D=A1=E6=94=B9=E5=91=98=E5=B7=A5=E5=8F=A3=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 全站演示数据身份证号与联系电话由脱敏改为完整展示 - config-allocate-stat 概览卡改为员工总数量/已分配/未分配三卡,名册统计文案上移 - 同步更新 CHANGELOG --- web-admin/frontline-medical/bed-bed.html | 26 +- .../frontline-medical/bed-call-record.html | 18 +- .../frontline-medical/bed-dormitory.html | 24 +- .../config-allocate-stat.html | 24 +- .../frontline-medical/config-allocate.html | 382 +++++++++++++++--- .../frontline-medical/config-ambulance.html | 14 +- .../daily-ambulance-attendance.html | 71 ++-- .../daily-chronic-intervention.html | 33 +- .../frontline-medical/daily-chronic.html | 33 +- .../frontline-medical/daily-education.html | 289 ++++++++----- .../daily-employee-file.html | 33 +- .../daily-employee-search.html | 33 +- .../frontline-medical/daily-follow-task.html | 59 +-- web-admin/frontline-medical/daily-follow.html | 59 +-- .../daily-interpret-manage.html | 189 ++++----- .../frontline-medical/daily-interpret.html | 371 +++++++++++------ .../frontline-medical/daily-treatment.html | 33 +- web-admin/frontline-medical/doc/CHANGELOG.md | 20 + .../frontline-medical/hut-appointment.html | 24 +- web-admin/frontline-medical/hut-cabin.html | 16 +- 20 files changed, 1126 insertions(+), 625 deletions(-) diff --git a/web-admin/frontline-medical/bed-bed.html b/web-admin/frontline-medical/bed-bed.html index 047808b..a0d74e4 100644 --- a/web-admin/frontline-medical/bed-bed.html +++ b/web-admin/frontline-medical/bed-bed.html @@ -359,20 +359,20 @@ var dormMeta=[ {name:'401室',building:'靖边气田倒班宿舍楼',beds:4}, {name:'402室',building:'靖边气田倒班宿舍楼',beds:2} ]; -/* empPool:与全站演示数据共享的员工池(已脱敏) */ +/* empPool:与全站演示数据共享的员工池 */ var empPool=[ - {no:'CQ021578',name:'石维国',org:'采油一厂',depart:'樊学作业区',phone:'139****3456'}, - {no:'CQ032144',name:'李桂芳',org:'采油一厂',depart:'樊学作业区',phone:'139****7788'}, - {no:'CQ045130',name:'杨慧敏',org:'采油一厂',depart:'麻子山作业区',phone:'139****5012'}, - {no:'CQ019203',name:'曲志明',org:'采油一厂',depart:'樊学作业区',phone:'139****7208'}, - {no:'CQ033096',name:'赵万福',org:'采油二厂',depart:'桐园作业区',phone:'139****6630'}, - {no:'CQ027710',name:'张秀兰',org:'采油二厂',depart:'姬圪台作业区',phone:'139****4415'}, - {no:'CQ010564',name:'高建军',org:'第四采油厂',depart:'西峰作业区',phone:'139****4320'}, - {no:'CQ041822',name:'闫婷',org:'第四采油厂',depart:'西峰作业区',phone:'139****4531'}, - {no:'CQ036441',name:'刘玉梅',org:'采气一厂',depart:'靖边气田',phone:'139****3745'}, - {no:'CQ029905',name:'呼建国',org:'采气一厂',depart:'靖边气田',phone:'139****3870'}, - {no:'CQ044871',name:'白瑞',org:'采气一厂',depart:'靖边气田(轮训)',phone:'139****2317'}, - {no:'CQ022317',name:'徐立成',org:'第四采油厂',depart:'西峰作业区(轮训)',phone:'139****4906'} + {no:'CQ021578',name:'石维国',org:'采油一厂',depart:'樊学作业区',phone:'13961153456'}, + {no:'CQ032144',name:'李桂芳',org:'采油一厂',depart:'樊学作业区',phone:'13927127788'}, + {no:'CQ045130',name:'杨慧敏',org:'采油一厂',depart:'麻子山作业区',phone:'13941215012'}, + {no:'CQ019203',name:'曲志明',org:'采油一厂',depart:'樊学作业区',phone:'13989577208'}, + {no:'CQ033096',name:'赵万福',org:'采油二厂',depart:'桐园作业区',phone:'13969296630'}, + {no:'CQ027710',name:'张秀兰',org:'采油二厂',depart:'姬圪台作业区',phone:'13943704415'}, + {no:'CQ010564',name:'高建军',org:'第四采油厂',depart:'西峰作业区',phone:'13941064320'}, + {no:'CQ041822',name:'闫婷',org:'第四采油厂',depart:'西峰作业区',phone:'13900024531'}, + {no:'CQ036441',name:'刘玉梅',org:'采气一厂',depart:'靖边气田',phone:'13986823745'}, + {no:'CQ029905',name:'呼建国',org:'采气一厂',depart:'靖边气田',phone:'13920263870'}, + {no:'CQ044871',name:'白瑞',org:'采气一厂',depart:'靖边气田(轮训)',phone:'13928272317'}, + {no:'CQ022317',name:'徐立成',org:'第四采油厂',depart:'西峰作业区(轮训)',phone:'13937154906'} ]; /* 床位→员工分配(key=楼栋|床位编号) */ var assigns={ diff --git a/web-admin/frontline-medical/bed-call-record.html b/web-admin/frontline-medical/bed-call-record.html index a5be0a0..912154a 100644 --- a/web-admin/frontline-medical/bed-call-record.html +++ b/web-admin/frontline-medical/bed-call-record.html @@ -253,15 +253,15 @@ tbody tr:hover td:last-child{background:#F8FBFF;} var curTab='in'; /* 员工档案简版:供工单详情「员工信息」区块取数 */ var empProfiles={ - 'CQ021578':{name:'石维国',sex:'男',age:52,unit:'采油一厂',dept:'樊学作业区',phone:'182****3367',chronic:'高血压(2级)'}, - 'CQ032144':{name:'李桂芳',sex:'女',age:47,unit:'采油一厂',dept:'樊学作业区',phone:'137****2208',chronic:'无明确慢性病史'}, - 'CQ033096':{name:'赵万福',sex:'男',age:58,unit:'采油二厂',dept:'桐园作业区',phone:'158****6620',chronic:'高血压(3级)、2型糖尿病'}, - 'CQ036441':{name:'刘玉梅',sex:'女',age:44,unit:'采气一厂',dept:'靖边气田',phone:'188****9032',chronic:'无明确慢性病史'}, - 'CQ010564':{name:'高建军',sex:'男',age:55,unit:'第四采油厂',dept:'西峰作业区',phone:'135****4471',chronic:'颈椎病史、高脂血症'}, - 'CQ045130':{name:'杨慧敏',sex:'女',age:38,unit:'采油一厂',dept:'麻子山作业区',phone:'176****5583',chronic:'无明确慢性病史'}, - 'CQ027710':{name:'张秀兰',sex:'女',age:50,unit:'第四采油厂',dept:'西峰作业区',phone:'139****2760',chronic:'冠心病'}, - 'CQ022317':{name:'徐立成',sex:'男',age:49,unit:'采油二厂',dept:'桐园作业区',phone:'150****8819',chronic:'慢性支气管炎'}, - 'CQ029905':{name:'呼建国',sex:'男',age:53,unit:'采气一厂',dept:'靖边气田',phone:'187****3345',chronic:'支气管哮喘'} + 'CQ021578':{name:'石维国',sex:'男',age:52,unit:'采油一厂',dept:'樊学作业区',phone:'18238083367',chronic:'高血压(2级)'}, + 'CQ032144':{name:'李桂芳',sex:'女',age:47,unit:'采油一厂',dept:'樊学作业区',phone:'13798352208',chronic:'无明确慢性病史'}, + 'CQ033096':{name:'赵万福',sex:'男',age:58,unit:'采油二厂',dept:'桐园作业区',phone:'15869506620',chronic:'高血压(3级)、2型糖尿病'}, + 'CQ036441':{name:'刘玉梅',sex:'女',age:44,unit:'采气一厂',dept:'靖边气田',phone:'18814269032',chronic:'无明确慢性病史'}, + 'CQ010564':{name:'高建军',sex:'男',age:55,unit:'第四采油厂',dept:'西峰作业区',phone:'13515064471',chronic:'颈椎病史、高脂血症'}, + 'CQ045130':{name:'杨慧敏',sex:'女',age:38,unit:'采油一厂',dept:'麻子山作业区',phone:'17646095583',chronic:'无明确慢性病史'}, + 'CQ027710':{name:'张秀兰',sex:'女',age:50,unit:'第四采油厂',dept:'西峰作业区',phone:'13968902760',chronic:'冠心病'}, + 'CQ022317':{name:'徐立成',sex:'男',age:49,unit:'采油二厂',dept:'桐园作业区',phone:'15089628819',chronic:'慢性支气管炎'}, + 'CQ029905':{name:'呼建国',sex:'男',age:53,unit:'采气一厂',dept:'靖边气田',phone:'18730413345',chronic:'支气管哮喘'} }; /* 员工呼入:主呼设备=床头/面板(HC-*),被呼设备=值班室终端(HD-*);赵万福(182/110)与结果异常 YC-20260905-05 同源事件 */ var incoming=[ diff --git a/web-admin/frontline-medical/bed-dormitory.html b/web-admin/frontline-medical/bed-dormitory.html index 6d8c51a..f1f0637 100644 --- a/web-admin/frontline-medical/bed-dormitory.html +++ b/web-admin/frontline-medical/bed-dormitory.html @@ -321,18 +321,18 @@ var dorms=[ ]; /* [交互] 床位下钻演示数据:员工池与「床位信息」页一致(key=楼栋|床位编号) */ var empLite={ - 'CQ021578':{name:'石维国',unit:'采油一厂',depart:'樊学作业区',phone:'139****3456'}, - 'CQ032144':{name:'李桂芳',unit:'采油一厂',depart:'樊学作业区',phone:'139****7788'}, - 'CQ019203':{name:'曲志明',unit:'采油一厂',depart:'樊学作业区',phone:'139****7208'}, - 'CQ045130':{name:'杨慧敏',unit:'采油一厂',depart:'麻子山作业区',phone:'139****5012'}, - 'CQ033096':{name:'赵万福',unit:'采油二厂',depart:'桐园作业区',phone:'139****6630'}, - 'CQ022317':{name:'徐立成',unit:'第四采油厂',depart:'西峰作业区(轮训)',phone:'139****4906'}, - 'CQ010564':{name:'高建军',unit:'第四采油厂',depart:'西峰作业区',phone:'139****4320'}, - 'CQ041822':{name:'闫婷',unit:'第四采油厂',depart:'西峰作业区',phone:'139****4531'}, - 'CQ044871':{name:'白瑞',unit:'采气一厂',depart:'靖边气田(轮训)',phone:'139****2317'}, - 'CQ027710':{name:'张秀兰',unit:'采油二厂',depart:'姬圪台作业区',phone:'139****4415'}, - 'CQ036441':{name:'刘玉梅',unit:'采气一厂',depart:'靖边气田',phone:'139****3745'}, - 'CQ029905':{name:'呼建国',unit:'采气一厂',depart:'靖边气田',phone:'139****3870'} + 'CQ021578':{name:'石维国',unit:'采油一厂',depart:'樊学作业区',phone:'13961153456'}, + 'CQ032144':{name:'李桂芳',unit:'采油一厂',depart:'樊学作业区',phone:'13927127788'}, + 'CQ019203':{name:'曲志明',unit:'采油一厂',depart:'樊学作业区',phone:'13989577208'}, + 'CQ045130':{name:'杨慧敏',unit:'采油一厂',depart:'麻子山作业区',phone:'13941215012'}, + 'CQ033096':{name:'赵万福',unit:'采油二厂',depart:'桐园作业区',phone:'13969296630'}, + 'CQ022317':{name:'徐立成',unit:'第四采油厂',depart:'西峰作业区(轮训)',phone:'13937154906'}, + 'CQ010564':{name:'高建军',unit:'第四采油厂',depart:'西峰作业区',phone:'13941064320'}, + 'CQ041822':{name:'闫婷',unit:'第四采油厂',depart:'西峰作业区',phone:'13900024531'}, + 'CQ044871':{name:'白瑞',unit:'采气一厂',depart:'靖边气田(轮训)',phone:'13928272317'}, + 'CQ027710':{name:'张秀兰',unit:'采油二厂',depart:'姬圪台作业区',phone:'13943704415'}, + 'CQ036441':{name:'刘玉梅',unit:'采气一厂',depart:'靖边气田',phone:'13986823745'}, + 'CQ029905':{name:'呼建国',unit:'采气一厂',depart:'靖边气田',phone:'13920263870'} }; var bedAssigns={ '樊学倒班宿舍1号楼|101-1':'CQ021578','樊学倒班宿舍1号楼|101-2':'CQ032144','樊学倒班宿舍1号楼|102-1':'CQ019203', diff --git a/web-admin/frontline-medical/config-allocate-stat.html b/web-admin/frontline-medical/config-allocate-stat.html index f8d5fd0..ea3b377 100644 --- a/web-admin/frontline-medical/config-allocate-stat.html +++ b/web-admin/frontline-medical/config-allocate-stat.html @@ -46,7 +46,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei .main{margin-left:240px;margin-top:56px;padding:24px;min-height:calc(100vh - 56px);} /* 概览卡 */ -.stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px;} +.stat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px;} .stat-card{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:18px 20px;display:flex;align-items:center;gap:14px;} .stat-card__icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;} .stat-card__icon--blue{background:var(--primary-light);} @@ -113,8 +113,8 @@ tbody tr:hover td:last-child{background:#F8FBFF;} .drawer__close:hover{color:var(--text-primary);} .drawer__body{flex:1;overflow-y:auto;padding:24px;} .drawer__footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 24px;border-top:1px solid var(--border);flex-shrink:0;} +.drawer__hint{font-size:var(--font-sm);color:var(--text-secondary);margin-bottom:14px;} .drawer__toolbar{display:flex;align-items:center;gap:8px;margin-bottom:14px;} -.drawer__toolbar .grow{margin-left:auto;font-size:var(--font-sm);color:var(--text-placeholder);} /* 内嵌小表格 */ .mini-table{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;min-width:0;} @@ -227,12 +227,12 @@ tbody tr:hover td:last-child{background:#F8FBFF;}
已分配员工名册
+
-
@@ -269,6 +269,9 @@ var statPoints=[ roster:[{unit:'采气一厂',dept:'苏里格南作业区',name:'徐立成',sex:'男',age:44,code:'CQ022317'}]} ]; +/* 未分配员工按单位汇总(与「员工分配」页未分配 Tab 演示数据一致,共 9 人) */ +var unallocByUnit={'采油一厂':3,'采油二厂':2,'第四采油厂':2,'采气一厂':2}; + /* ===== 单位→医疗点级联(由统计数据生成,保证单一数据源) ===== */ function initUnitSel(){ var sel=document.getElementById('filterUnit'); @@ -291,14 +294,15 @@ function currentData(){ return statPoints.filter(function(p){return (!unit||p.unit===unit)&&(!point||p.name===point);}); } function renderStats(list){ - var staff=0,alloc=0; - list.forEach(function(p){staff+=p.staff;alloc+=p.roster.length;}); - var avg=list.length?(alloc/list.length).toFixed(1):'0.0'; + var alloc=0; + list.forEach(function(p){alloc+=p.roster.length;}); + var unit=document.getElementById('filterUnit').value,un=0; + for(var k in unallocByUnit){if(!unit||k===unit)un+=unallocByUnit[k];} + var total=alloc+un; document.getElementById('statCards').innerHTML= - '
🏥
医疗点数量
'+list.length+'
当前筛选范围内
' - +'
👩‍⚕️
医护人员总数
'+staff+'
来自系统管理医护角色统计
' - +'
👥
已分配员工总数
'+alloc+'
在「员工分配」页维护
' - +'
📊
平均每点分配人数
'+avg+'
已分配员工总数 ÷ 医疗点数
'; + '
👥
员工总数量
'+total+'
已分配 + 未分配
' + +'
已分配员工数量
'+alloc+'
在「员工分配」页维护
' + +'
📋
未分配员工数量
'+un+'
可在「员工分配」页进行分配
'; } function renderTable(){ var list=currentData(); diff --git a/web-admin/frontline-medical/config-allocate.html b/web-admin/frontline-medical/config-allocate.html index 5961e6e..d6ba757 100644 --- a/web-admin/frontline-medical/config-allocate.html +++ b/web-admin/frontline-medical/config-allocate.html @@ -133,6 +133,35 @@ tbody tr:hover td:last-child{background:#F8FBFF;} select.form-control{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 10px center;appearance:none;-webkit-appearance:none;padding-right:28px;cursor:pointer;} .drop-zone{border:1px dashed var(--border);border-radius:var(--radius-sm);padding:16px;text-align:center;color:var(--text-placeholder);font-size:var(--font-sm);cursor:pointer;line-height:1.8;} .drop-zone:hover{border-color:var(--primary);color:var(--primary);background:#F8FBFF;} + +/* 分配员工弹窗(左右双栏) */ +.modal--xl{width:1080px;} +.alloc-emp{display:flex;gap:16px;} +.alloc-emp__left,.alloc-emp__right{flex:1;min-width:0;} +.alloc-emp__panel-title{font-size:var(--font-sm);font-weight:600;color:var(--text-primary);margin-bottom:10px;display:flex;align-items:center;gap:6px;} +.alloc-emp__filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;} +.alloc-emp__filter .filter-input{flex:1;min-width:90px;height:32px;} +.alloc-emp__filter .org-trigger{height:32px;min-width:150px;} +.alloc-emp__filter .org-panel{top:32px;} +.alloc-emp__list{border:1px solid var(--border);border-radius:var(--radius-sm);height:300px;overflow-y:auto;overflow-x:hidden;} +.ae-table{width:100%;min-width:0;border-collapse:separate;border-spacing:0;font-size:var(--font-sm);} +.ae-table th:last-child,.ae-table td:last-child{position:static;box-shadow:none;} +.ae-table th,.ae-table td{padding:8px 10px;text-align:left;vertical-align:middle;border-bottom:1px solid #F0F0F0;} +.ae-table th{background:#FAFAFA;font-weight:500;color:var(--text-secondary);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1;} +.ae-table td{color:var(--text-primary);} +.ae-table th:first-child,.ae-table td:first-child{width:44px;text-align:center;padding-left:4px;padding-right:4px;} +.ae-table tbody tr:hover{background:#F8FBFF;} +.ae-table tbody tr:last-child td{border-bottom:none;} +.alloc-emp__item{display:flex;align-items:center;gap:8px;padding:7px 12px;font-size:var(--font-sm);color:var(--text-primary);border-bottom:1px solid #F0F0F0;cursor:pointer;} +.alloc-emp__item:hover{background:#F8FBFF;} +.alloc-emp__item:last-child{border-bottom:none;} +.alloc-emp__item input[type=checkbox]{cursor:pointer;flex-shrink:0;} +.alloc-emp__item .ae-meta{flex:1;min-width:0;color:var(--text-secondary);font-size:var(--font-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;} +.alloc-emp__remove{color:var(--danger);cursor:pointer;margin-left:auto;font-size:var(--font-xs);flex-shrink:0;} +.alloc-emp__empty{text-align:center;padding:40px 0;color:var(--text-placeholder);font-size:var(--font-sm);} +.alloc-emp__alloc{background:#FAFAFA;border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;margin-bottom:10px;display:flex;gap:12px;} +.alloc-emp__alloc .form-item{flex:1;margin-bottom:0;} +.ae-cnt{display:inline-block;min-width:18px;padding:0 5px;height:18px;line-height:18px;border-radius:9px;background:var(--primary-light);color:var(--primary);font-size:var(--font-xs);text-align:center;font-weight:600;} @@ -171,14 +200,22 @@ select.form-control{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http:/
-
已分配0
-
未分配0
+
已分配
+
未分配
- +
- + + +
+
+ + +
+
+
全部单位/部门
@@ -197,14 +234,6 @@ select.form-control{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http:/
-
- - -
-
- - -
+
+ + + + +
@@ -227,13 +262,13 @@ select.form-control{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http:/
- - +
@@ -271,6 +306,71 @@ select.form-control{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http:/
+ +
单位名称部门名称姓名性别年龄员工编号
+ + +
姓名员工编号所属单位所属部门
+
+ +
+
已选择员工 0
+
+
* 医疗点所属单位 +
+
* 分配医疗点 +
+
+
+
+ + + + + + + +