diff --git a/index.html b/index.html index 3e9af86..4e668a4 100644 --- a/index.html +++ b/index.html @@ -255,7 +255,7 @@ const SITE_MAP = [ { file:'post-unit-count.html', label:'单位体检人数统计' }, { file:'post-unit-cost-stat.html', label:'单位体检费用统计' }, { file:'post-unit-item-stat.html', label:'单位体检项目统计' }, - { file:'post-result-comprehensive-stat.html', label:'结果动态综合统计' }, + { file:'post-result-comprehensive-stat.html', label:'项目结果综合统计' }, { file:'post-hospital-count.html', label:'医院体检人数统计' }, { file:'post-doctor-count.html', label:'医生检查人数统计' }, { file:'post-item-stat.html', label:'医院体检项目统计' }, diff --git a/web-admin/frontline-medical/bed-building.html b/web-admin/frontline-medical/bed-building.html index d72bcb9..d47c1d0 100644 --- a/web-admin/frontline-medical/bed-building.html +++ b/web-admin/frontline-medical/bed-building.html @@ -45,6 +45,32 @@ body{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei .filter-select{height:36px;min-width:140px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 28px 0 12px;font-size:var(--font-sm);color:var(--text-primary);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 8px center;cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;} .filter-input{height:36px;min-width:140px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 12px;font-size:var(--font-sm);color:var(--text-primary);outline:none;} .filter-input:focus{border-color:var(--primary);} +/* 单位部门级联筛选 + 站点搜索下拉 */ +.org-wrap{position:relative;display:inline-block;} +.org-trigger{height:36px;min-width:130px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 28px 0 12px;font-size:var(--font-sm);color:var(--text-primary);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 8px center;cursor:pointer;display:flex;align-items:center;user-select:none;white-space:nowrap;} +.org-trigger.open,.org-trigger:hover{border-color:var(--primary);} +.org-panel{display:none;position:absolute;top:36px;left:0;z-index:310;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);width:380px;} +.org-panel.open{display:flex;} +.org-col{flex:1;overflow-y:auto;max-height:200px;border-right:1px solid var(--border);} +.org-col:last-child{border-right:none;} +.org-col__title{padding:6px 12px;font-size:var(--font-sm);color:var(--text-placeholder);background:#FAFAFA;border-bottom:1px solid var(--border);font-weight:500;} +.org-item{padding:8px 12px;font-size:var(--font-sm);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:4px;} +.org-item:hover{background:#F0F8FF;color:var(--primary);} +.org-item.active{background:var(--primary-light);color:var(--primary);font-weight:500;} +.station-search{position:relative;} +.station-search__panel{display:none;position:absolute;top:34px;left:0;right:0;z-index:320;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);max-height:240px;overflow-y:auto;} +.station-search__panel.open{display:block;} +.station-search__item{padding:8px 12px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;} +.station-search__item:hover{background:#F0F8FF;} +.station-search__item .ss-name{color:var(--text-primary);font-weight:500;} +.station-search__item .ss-org{color:var(--text-placeholder);font-size:var(--font-xs);} +.station-search__empty{padding:16px 12px;text-align:center;color:var(--text-placeholder);font-size:var(--font-sm);} +.map-picker{width:100%;height:200px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#e6f7ff;display:flex;align-items:center;justify-content:center;color:var(--primary);font-size:var(--font-sm);gap:6px;cursor:pointer;position:relative;overflow:hidden;transition:border-color .2s;} +.map-picker:hover{border-color:var(--primary);} +.map-picker__bg{position:absolute;inset:0;opacity:.15;background:repeating-linear-gradient(0deg,transparent,transparent 19px,#91d5ff 19px,#91d5ff 20px),repeating-linear-gradient(90deg,transparent,transparent 19px,#91d5ff 19px,#91d5ff 20px);} +.map-picker__pin{position:absolute;top:50%;left:50%;transform:translate(-50%,-100%);z-index:2;display:none;} +.map-picker__label{position:relative;z-index:2;display:flex;align-items:center;gap:6px;} +.map-picker__coord{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);background:rgba(255,255,255,0.92);padding:4px 14px;border-radius:12px;font-size:var(--font-xs);box-shadow:0 1px 4px rgba(0,0,0,0.1);z-index:3;display:none;white-space:nowrap;color:var(--text-primary);max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis;} .btn{height:36px;padding:0 16px;border-radius:var(--radius-sm);font-size:var(--font-sm);cursor:pointer;border:none;transition:all .2s;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;} .btn-primary{background:var(--primary);color:#fff;}.btn-primary:hover{background:#40a9ff;} .btn-default{background:#fff;color:var(--text-primary);border:1px solid var(--border);}.btn-default:hover{color:var(--primary);border-color:var(--primary);} @@ -155,16 +181,20 @@ select.form-control{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http:/
- - -
-
- - + +
+
全部单位/部门
+
+
+
单位
+
全部单位/部门
+
+
+
部门
+
全部部门
+
+
+
@@ -200,7 +230,7 @@ select.form-control{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http:/ - 序号所属单位所属部门所属站点楼栋名称 + 序号楼栋名称所属站点所属单位部门 详细地址宿舍数量负责人负责人电话操作 @@ -215,28 +245,25 @@ select.form-control{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http:/