diff --git a/other-module/emergency-screen/xian-center/cv-monitor.html b/other-module/emergency-screen/xian-center/cv-monitor.html index c1db83a..b2f8319 100644 --- a/other-module/emergency-screen/xian-center/cv-monitor.html +++ b/other-module/emergency-screen/xian-center/cv-monitor.html @@ -117,6 +117,14 @@ .header__btn--main:hover{background:rgba(24,144,255,0.25);box-shadow:0 0 10px rgba(24,144,255,0.2);} .header__runtime{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-sub);} .header__runtime-num{font-size:18px;font-weight:700;color:var(--primary);text-shadow:0 0 8px rgba(24,144,255,0.4);} + /* 时间段 Tab(统一控制全屏统计图表的时间范围) */ + .header__tabs{display:flex;align-items:center;gap:2px;padding:3px;background:rgba(10,22,48,0.6); + border:1px solid var(--panel-border);border-radius:16px;} + .header__tab{height:22px;padding:0 12px;border-radius:13px;font-size:11px;cursor:pointer;transition:all .2s; + border:none;background:transparent;color:var(--text-sub);white-space:nowrap;letter-spacing:0.3px; + display:inline-flex;align-items:center;font-family:inherit;} + .header__tab:hover{color:var(--text-main);} + .header__tab--active{background:rgba(24,144,255,0.22);color:#fff;box-shadow:0 0 8px rgba(24,144,255,0.3);} .header__deco{position:absolute;top:6px;width:88px;height:10px;pointer-events:none;z-index:1; background-repeat:no-repeat;background-position:center;background-size:100% 100%;} .header__deco--left{left:32px; @@ -220,7 +228,7 @@ .cv-ring__legend-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;} .cv-ring__legend-value{font-weight:700;color:var(--text-main);font-variant-numeric:tabular-nums;white-space:nowrap;} - /* ========== 睡眠柱图(沿用主屏) ========== */ + /* ========== 睡眠柱图(口径参考求助趋势 help-trend) ========== */ .sleep-chart{display:flex;flex-direction:column;gap:6px;} .sleep-chart__summary{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;color:var(--text-sub);} .sleep-chart__summary b{color:#fff;font-size:13px;} @@ -229,15 +237,25 @@ .sleep-chart__plot::before,.sleep-chart__plot::after{content:'';position:absolute;left:0;right:0;border-top:1px dashed rgba(24,144,255,0.12);} .sleep-chart__plot::before{top:30px;} .sleep-chart__plot::after{top:60px;} - .sleep-day{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;position:relative;z-index:1;} + .sleep-day{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;position:relative;z-index:1;min-width:0;} .sleep-day__bars{height:72px;display:flex;align-items:flex-end;gap:3px;} .sleep-day__bar{width:7px;border-radius:5px 5px 2px 2px;min-height:6px;box-shadow:0 0 8px currentColor;} .sleep-day__bar--deep{background:#13C2C2;color:#13C2C2;} .sleep-day__bar--light{background:#1890FF;color:#1890FF;} - .sleep-day__label{font-size:10px;color:var(--text-dim);line-height:1;} + .sleep-day__label{font-size:10px;color:var(--text-dim);line-height:1;white-space:nowrap;} .sleep-chart__legend{display:flex;align-items:center;justify-content:center;gap:12px;font-size:10px;color:var(--text-sub);} .sleep-chart__legend span{display:flex;align-items:center;gap:5px;} .sleep-chart__dot{width:8px;height:8px;border-radius:2px;box-shadow:0 0 7px currentColor;} + /* 睡眠柱图悬浮 tip(口径参考求助趋势 help-trend-tip) */ + .sleep-tip{position:fixed;z-index:200;min-width:132px;padding:8px 10px; + background:rgba(10,22,48,0.96);border:1px solid rgba(24,144,255,0.4);border-radius:8px; + box-shadow:0 0 16px rgba(24,144,255,0.25);font-size:11px;color:var(--text-main); + pointer-events:none;backdrop-filter:blur(6px);} + .sleep-tip__head{font-size:12px;font-weight:700;color:#fff;margin-bottom:5px; + padding-bottom:4px;border-bottom:1px solid rgba(24,144,255,0.2);} + .sleep-tip__row{display:flex;align-items:center;gap:6px;line-height:1.6;color:var(--text-sub);} + .sleep-tip__row i{width:8px;height:8px;border-radius:2px;box-shadow:0 0 6px currentColor;flex-shrink:0;} + .sleep-tip__row b{color:#fff;font-weight:700;margin:0 2px;font-variant-numeric:tabular-nums;} /* ========== 步数环形图 ========== */ .steps-ring{display:flex;flex-direction:column;gap:6px;} @@ -331,7 +349,38 @@ display:flex;align-items:center;gap:6px;} .map-title-pill .dot{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 6px var(--cyan);} - /* ========== 单位手表配备情况卡片(横向滚动) ========== */ + /* ========== 地图缩放交互(点击手表图标放大居中 + 信息弹窗) ========== */ + .map-stage{position:absolute;inset:0;z-index:1;transform-origin:center center; + transition:transform .55s cubic-bezier(.22,.61,.36,1);} + .map-marker.is-active{z-index:12;} + .map-marker.is-active .map-marker__pin{filter:drop-shadow(0 0 5px rgba(255,255,255,0.95)) drop-shadow(0 0 10px rgba(0,229,255,0.55));} + /* 手表信息弹窗(浮于地图之上,不随缩放变化;由 JS 按地图正中自适应定位) */ + .watch-marker-popup{position:absolute;left:0;top:0;z-index:20;width:290px;padding:12px 14px 13px; + background:rgba(10,22,48,0.96);border:1px solid rgba(24,144,255,0.4);border-radius:10px; + box-shadow:0 0 22px rgba(24,144,255,0.3);backdrop-filter:blur(8px); + font-size:12px;color:var(--text-main);opacity:1;transition:opacity .2s ease; + animation:watchPopIn .26s ease;} + @keyframes watchPopIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}} + .watch-marker-popup__arrow{position:absolute;left:50%;bottom:-7px;width:13px;height:13px; + transform:translateX(-50%) rotate(45deg);background:rgba(10,22,48,0.96); + border-right:1px solid rgba(24,144,255,0.4);border-bottom:1px solid rgba(24,144,255,0.4);} + .watch-marker-popup__close{position:absolute;top:6px;right:8px;font-size:16px;line-height:1; + color:var(--text-dim);cursor:pointer;transition:color .2s;} + .watch-marker-popup__close:hover{color:var(--text-main);} + .watch-marker-popup__title{display:flex;align-items:center;gap:6px;flex-wrap:wrap; + font-size:13px;font-weight:700;color:#fff;margin-bottom:8px;padding-right:16px;} + .watch-marker-popup__status{font-size:10px;font-weight:600;padding:1px 7px;border-radius:4px;margin-left:auto;} + .watch-marker-popup__status--normal{color:var(--success);background:rgba(82,196,26,0.15);border:1px solid rgba(82,196,26,0.3);} + .watch-marker-popup__status--offline{color:var(--text-dim);background:rgba(74,107,138,0.15);border:1px solid rgba(74,107,138,0.3);} + .watch-marker-popup__status--warning{color:var(--warning);background:rgba(250,173,20,0.15);border:1px solid rgba(250,173,20,0.3);} + .watch-marker-popup__status--alarm{color:var(--danger);background:rgba(255,77,79,0.15);border:1px solid rgba(255,77,79,0.3);} + .watch-marker-popup__section{font-size:10px;color:var(--primary);font-weight:600;margin:6px 0 3px; + padding-top:5px;border-top:1px solid rgba(24,144,255,0.12);letter-spacing:0.5px;} + .watch-marker-popup__row{display:flex;align-items:flex-start;gap:8px;line-height:1.7;font-size:11px;} + .watch-marker-popup__k{flex-shrink:0;width:72px;color:var(--text-dim);} + .watch-marker-popup__v{flex:1;min-width:0;color:var(--text-main);word-break:break-all;} + + /* ========== 各单位告警统计卡片(横向滚动,沿用 watch-stat) ========== */ .watch-stat-panel{flex-shrink:0;} .watch-stat-cards{position:relative;overflow:hidden;padding:8px 0;} .watch-stat-cards::before,.watch-stat-cards::after{content:'';position:absolute;top:0;bottom:0;width:36px;z-index:5;pointer-events:none;} @@ -366,8 +415,8 @@ .watch-stat-card__chip{display:flex;flex-direction:column;align-items:center;gap:1px;flex:1;min-width:0;} .watch-stat-card__chip-num{font-size:12px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums;line-height:1;} .watch-stat-card__chip-label{font-size:9px;color:var(--text-dim);white-space:nowrap;} - .watch-stat-card__chip--online .watch-stat-card__chip-num{color:var(--success);} - .watch-stat-card__chip--offline .watch-stat-card__chip-num{color:var(--text-dim);} + .watch-stat-card__chip--wearable .watch-stat-card__chip-num{color:var(--primary);} + .watch-stat-card__chip--cardio .watch-stat-card__chip-num{color:var(--danger);} .watch-stat-card--total{background:linear-gradient(135deg,rgba(0,229,255,0.12),rgba(10,30,60,0.6)); border-color:rgba(0,229,255,0.35);box-shadow:0 0 12px rgba(0,229,255,0.18);} .watch-stat-card--total::before{background:var(--cyan);box-shadow:0 0 10px rgba(0,229,255,0.6);} @@ -461,6 +510,13 @@ 西安应急中心 · 心血管监测副屏