Procházet zdrojové kódy

修改工程安全页面的样式和布局

BAI před 1 týdnem
rodič
revize
d7a1f0bd72

+ 2 - 2
src/components/TopNav.vue

@@ -152,10 +152,10 @@ export default {
 
 .system-title {
   position: absolute;
-  top: 10px;
+  top: 2px;
   left: 50%;
   transform: translateX(-50%);
-  font-size: 37px;
+  font-size: 48px;
   font-weight: 900;
   background: linear-gradient(to top, #00d5ff 0%, #ffffff 50%);
   -webkit-background-clip: text;

+ 1 - 1
src/views/admin/PatrolHiddenView.vue

@@ -220,7 +220,7 @@ export default {
   box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.03);
   padding: 16px 24px;
 }
-.bar-stat { display: flex; align-items: center; gap: 12px; }
+.bar-stat { flex: 1; display: flex; align-items: center; gap: 12px; }
 .bar-icon {
   width: 40px; height: 40px; border-radius: 10px;
   display: flex; align-items: center; justify-content: center; font-size: 20px;

+ 2 - 2
src/views/admin/WaterResourceAllocationView.vue

@@ -482,10 +482,10 @@ export default {
 
 /* ===== KPI 指标栏 ===== */
 .kpi-bar {
-  display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px;
-  flex-shrink: 0;
+  display: flex; gap: 10px; flex-shrink: 0;
 }
 .kpi-card {
+  flex: 1;
   background: rgba(255,255,255,0.85); backdrop-filter: blur(20px);
   border-radius: 10px; border: 1px solid rgba(255,255,255,0.8);
   box-shadow: 0 2px 6px rgba(0,0,0,0.03); padding: 12px 14px;

+ 68 - 66
src/views/mainPages/EngineeringSafetyView.vue

@@ -643,145 +643,147 @@ export default {
 .safety-scroll-area::-webkit-scrollbar-track { background: rgba(0,20,40,0.5); }
 .safety-scroll-area::-webkit-scrollbar-thumb { background: rgba(0,212,255,0.3); border-radius: 2px; }
 .tab-content { width: 100%; display: flex; justify-content: space-between; padding: 0 20px; box-sizing: border-box; }
-.left-sidebar { width: 350px; flex-shrink: 0; pointer-events: auto; }
-.right-sidebar { width: 380px; flex-shrink: 0; pointer-events: auto; }
-.mt-10 { margin-top: 10px; }
+.left-sidebar { width: 350px; flex-shrink: 0; pointer-events: auto; display: flex; flex-direction: column; }
+.right-sidebar { width: 380px; flex-shrink: 0; pointer-events: auto; display: flex; flex-direction: column; }
+.mt-10 { margin-top: 8px; }
 
 /* ========== Data Card ========== */
-.data-card { width: 100%; background: rgba(0,20,40,0.7); border-radius: 4px; overflow: hidden; box-shadow: 0 0 10px rgba(0,212,255,0.2); }
-.card-header { height: 42px; background-image: url("/src/assets/images/数据小标题.png"); background-size: 100% 100%; background-position: center; background-repeat: no-repeat; display: flex; align-items: flex-start; justify-content: space-between; padding: 4px 16px 0; }
-.card-title { font-size: var(--fs-card-title); font-weight: bold; color: #e0fcff; margin: 0; text-shadow: 0 0 5px rgba(0,212,255,0.5); padding-left: 20px; }
-.card-body { padding: 8px; min-height: auto; font-size: 13px; line-height: 1.5; margin-top: -6px; }
-.card-body.chart-body { padding: 2px 8px 4px; }
-.card-body.card-body-tight { padding: 2px 8px 4px; height: 100%; }
+.data-card { width: 100%; background: rgba(0,20,40,0.7); border-radius: 4px; overflow: hidden; box-shadow: 0 0 10px rgba(0,212,255,0.2); display: flex; flex-direction: column; }
+.left-sidebar .data-card { flex: unset; }
+.left-sidebar .data-card:first-child .card-body { max-height: 150px; overflow-y: auto; }
+.card-header { height: 38px; background-image: url("/src/assets/images/数据小标题.png"); background-size: 100% 100%; background-position: center; background-repeat: no-repeat; display: flex; align-items: flex-start; justify-content: space-between; padding: 4px 12px 0; }
+.card-title { font-size: 13px; font-weight: bold; color: #e0fcff; margin: 0; text-shadow: 0 0 5px rgba(0,212,255,0.5); padding-left: 25px; padding-right: 25px; }
+.card-body { padding: 8px; min-height: auto; font-size: 12px; line-height: 1.4; margin-top: -4px; }
+.card-body.chart-body { padding: 3px 8px 4px; }
+.card-body.card-body-tight { padding: 3px 8px 4px; height: 100%; }
 
 /* ========== Safety Evaluation ========== */
-.safety-eval-section { background: rgba(0,20,40,0.5); border-radius: 4px; border: 1px solid rgba(0,212,255,0.12); padding: 8px 10px; min-height: 120px; display: flex; flex-direction: column; justify-content: space-between; }
-.safety-eval-top { display: flex; justify-content: space-between; align-items: center; height: 30px; padding: 0 10px; border-radius: 3px; margin-bottom: 6px; background: #22c55e; }
-.safety-eval-section-title { color: #ffffff; font-size: 15px; }
-.safety-eval-grade { color: #ffffff; font-size: 16px; font-weight: bold; }
-.safety-eval-sub-row { display: flex; gap: 6px; margin-bottom: 6px; }
+.safety-eval-section { background: rgba(0,20,40,0.5); border-radius: 4px; border: 1px solid rgba(0,212,255,0.12); padding: 6px 10px; display: flex; flex-direction: column; gap: 5px; }
+.safety-eval-top { display: flex; justify-content: space-between; align-items: center; height: 26px; padding: 0 10px; border-radius: 3px; background: #22c55e; }
+.safety-eval-section-title { color: #ffffff; font-size: 13px; }
+.safety-eval-grade { color: #ffffff; font-size: 14px; font-weight: bold; }
+.safety-eval-sub-row { display: flex; gap: 5px; }
 .safety-eval-sub-card { flex: 1; display: flex; justify-content: space-between; align-items: center; padding: 4px 8px; background: rgba(0,20,40,0.4); border-radius: 3px; }
-.eval-sub-label { color: #7bbef6; font-size: 13px; }
-.eval-sub-value { color: #e0fcff; font-size: 13px; font-weight: bold; }
+.eval-sub-label { color: #7bbef6; font-size: 12px; }
+.eval-sub-value { color: #e0fcff; font-size: 12px; font-weight: bold; }
 .eval-sub-value.status-ok { color: #22c55e; }
-.safety-eval-mid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-bottom: 6px; }
+.safety-eval-mid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
 .safety-eval-item { display: flex; justify-content: space-between; align-items: center; padding: 4px 8px; background: rgba(0,20,40,0.4); border-radius: 3px; }
 .eval-item-name { color: #e0fcff; font-size: 11px; }
-.eval-item-tag { font-size: 10px; font-weight: bold; padding: 1px 8px; border-radius: 2px; }
+.eval-item-tag { font-size: 10px; font-weight: bold; padding: 1px 6px; border-radius: 2px; }
 .eval-item-tag.tag-ok { color: #22c55e; background: rgba(34,197,94,0.15); }
 .eval-item-tag.tag-warn { color: #ffd93d; background: rgba(255,217,61,0.15); }
-.safety-eval-bot { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 4px; }
-.safety-eval-stat { display: flex; align-items: center; gap: 4px; color: #e0fcff; font-size: 10px; }
-.eval-stat-dot { width: 6px; height: 6px; border-radius: 50%; }
+.safety-eval-bot { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
+.safety-eval-stat { display: flex; align-items: center; gap: 3px; color: #e0fcff; font-size: 10px; }
+.eval-stat-dot { width: 5px; height: 5px; border-radius: 50%; }
 .dot-ok { background: #22c55e; } .dot-warn { background: #ffd93d; } .dot-err { background: #ef4444; }
 .safety-eval-time { margin-left: auto; color: #7bbef6; font-size: 10px; white-space: nowrap; }
 
 /* ========== Device Stats + Gauge ========== */
-.device-stats-row { display: flex; gap: 4px; align-items: center; }
-.device-stat-card { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 4px; border-radius: 4px; padding: 8px 4px; }
-.device-stat-percent { color: #e0fcff; font-size: 20px; font-weight: bold; }
-.device-stat-icon { display: flex; align-items: center; justify-content: center; height: 36px; }
+.device-stats-row { display: flex; gap: 3px; align-items: center; }
+.device-stat-card { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px; border-radius: 4px; padding: 4px 3px; }
+.device-stat-percent { color: #e0fcff; font-size: 17px; font-weight: bold; }
+.device-stat-icon { display: flex; align-items: center; justify-content: center; height: 28px; }
 .stat-icon-img { height: auto; width: auto; max-height: none; }
-.device-stat-label { color: #ffffff; font-size: 13px; white-space: nowrap; }
-.device-gauge-section { flex-shrink: 0; display: flex; flex-direction: column; align-items: center; margin: 0 2px; }
+.device-stat-label { color: #ffffff; font-size: 11px; white-space: nowrap; }
+.device-gauge-section { flex-shrink: 0; display: flex; flex-direction: column; align-items: center; margin: 0; }
 
 /* ========== Monitor Summary ========== */
-.monitor-divider { height: 1px; background: rgba(0,212,255,0.15); margin: 4px 0; }
-.monitor-summary-row { display: flex; gap: 6px; margin-bottom: 4px; }
-.monitor-summary-card { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px; background: rgba(0,20,40,0.5); border-radius: 4px; border: 1px solid rgba(0,212,255,0.12); padding: 8px 4px; cursor: pointer; transition: all 0.2s; }
+.monitor-divider { height: 1px; background: rgba(0,212,255,0.15); margin: 3px 0; }
+.monitor-summary-row { display: flex; gap: 4px; margin-bottom: 3px; }
+.monitor-summary-card { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 1px; background: rgba(0,20,40,0.5); border-radius: 4px; border: 1px solid rgba(0,212,255,0.12); padding: 5px 3px; cursor: pointer; transition: all 0.2s; }
 .monitor-summary-card:hover { border-color: rgba(0,212,255,0.35); background: rgba(0,30,60,0.6); }
 .monitor-summary-card.active { border-color: rgba(0,212,255,0.6); background: rgba(0,40,80,0.7); box-shadow: 0 0 8px rgba(0,212,255,0.2); }
-.summary-pie-area { background: rgba(0,20,40,0.4); border-radius: 4px; border: 1px solid rgba(0,212,255,0.1); padding: 2px; margin-bottom: 4px; text-align: center; }
+.summary-pie-area { background: rgba(0,20,40,0.4); border-radius: 4px; border: 1px solid rgba(0,212,255,0.1); padding: 1px; margin-bottom: 3px; text-align: center; }
 .progress-ring-bg { fill: none; stroke: rgba(255,255,255,0.08); stroke-width: 3; }
 .progress-ring-fill { fill: none; stroke-width: 3; stroke-linecap: round; transform: rotate(-90deg); transform-origin: 24px 24px; }
 .monitor-summary-name { color: #7bbef6; font-size: 10px; }
-.monitor-summary-count { font-size: 18px; font-weight: bold; }
+.monitor-summary-count { font-size: 16px; font-weight: bold; }
 
 /* ========== Patrol Record Card ========== */
-.patrol-stats-row { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 4px; margin-bottom: 6px; }
-.patrol-stat-item { display: flex; flex-direction: column; align-items: center; padding: 6px 2px; background: rgba(0,20,40,0.4); border-radius: 3px; border: 1px solid rgba(0,212,255,0.08); }
-.patrol-stat-num { font-size: 20px; font-weight: bold; color: #e0fcff; line-height: 1.2; }
-.patrol-stat-label { color: #7bbef6; font-size: 9px; margin-top: 2px; white-space: nowrap; }
-.patrol-list { max-height: 120px; overflow-y: auto; display: flex; flex-direction: column; gap: 2px; }
+.patrol-stats-row { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 3px; margin-bottom: 4px; }
+.patrol-stat-item { display: flex; flex-direction: column; align-items: center; padding: 4px 2px; background: rgba(0,20,40,0.4); border-radius: 3px; border: 1px solid rgba(0,212,255,0.08); }
+.patrol-stat-num { font-size: 17px; font-weight: bold; color: #e0fcff; line-height: 1.1; }
+.patrol-stat-label { color: #7bbef6; font-size: 9px; margin-top: 1px; white-space: nowrap; }
+.patrol-list { max-height: 110px; overflow-y: auto; display: flex; flex-direction: column; gap: 2px; }
 .patrol-list::-webkit-scrollbar { width: 3px; }
 .patrol-list::-webkit-scrollbar-track { background: rgba(0,20,40,0.5); }
 .patrol-list::-webkit-scrollbar-thumb { background: rgba(0,212,255,0.3); border-radius: 2px; }
-.patrol-row { display: flex; align-items: center; justify-content: space-between; padding: 5px 8px; background: rgba(0,20,40,0.3); border-radius: 3px; border: 1px solid rgba(0,212,255,0.06); }
-.patrol-row-left { display: flex; align-items: center; gap: 8px; }
-.patrol-row-right { display: flex; align-items: center; gap: 6px; }
+.patrol-row { display: flex; align-items: center; justify-content: space-between; padding: 3px 6px; background: rgba(0,20,40,0.3); border-radius: 3px; border: 1px solid rgba(0,212,255,0.06); }
+.patrol-row-left { display: flex; align-items: center; gap: 6px; }
+.patrol-row-right { display: flex; align-items: center; gap: 4px; }
 .patrol-row-time { color: #7bbef6; font-size: 11px; flex-shrink: 0; }
-.patrol-row-point { color: #e0fcff; font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 120px; }
+.patrol-row-point { color: #e0fcff; font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100px; }
 .patrol-row-person { color: #7bbef6; font-size: 11px; }
-.patrol-row-status { font-size: 10px; font-weight: bold; padding: 0 6px; border-radius: 2px; line-height: 18px; }
+.patrol-row-status { font-size: 10px; font-weight: bold; padding: 0 5px; border-radius: 2px; line-height: 16px; }
 .patrol-row-status.status-normal { color: #22c55e; background: rgba(34,197,94,0.15); }
 .patrol-row-status.status-abnormal { color: #ef4444; background: rgba(239,68,68,0.15); }
 
 /* ========== Threshold Alarm ========== */
-.threshold-summary { display: flex; gap: 6px; margin-bottom: 4px; }
-.threshold-stat { flex: 1; display: flex; flex-direction: column; align-items: center; padding: 6px 4px; background: rgba(0,20,40,0.4); border-radius: 4px; border: 1px solid rgba(0,212,255,0.1); }
-.threshold-stat-value { font-size: 22px; font-weight: bold; color: #ef4444; line-height: 1.2; }
-.threshold-stat-label { font-size: 10px; color: #7bbef6; margin-top: 2px; }
-.threshold-item { padding: 5px 6px; border-radius: 3px; border: 1px solid transparent; margin-bottom: 3px; }
+.threshold-summary { display: flex; gap: 4px; margin-bottom: 3px; }
+.threshold-stat { flex: 1; display: flex; flex-direction: column; align-items: center; padding: 4px 3px; background: rgba(0,20,40,0.4); border-radius: 4px; border: 1px solid rgba(0,212,255,0.1); }
+.threshold-stat-value { font-size: 19px; font-weight: bold; color: #ef4444; line-height: 1.1; }
+.threshold-stat-label { font-size: 10px; color: #7bbef6; margin-top: 1px; }
+.threshold-item { padding: 4px 5px; border-radius: 3px; border: 1px solid transparent; margin-bottom: 2px; }
 .threshold-item.threshold-critical { background: rgba(239,68,68,0.08); border-color: rgba(239,68,68,0.2); }
 .threshold-item.threshold-warning { background: rgba(251,191,36,0.06); border-color: rgba(251,191,36,0.15); }
-.threshold-item-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 3px; }
+.threshold-item-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 2px; }
 .threshold-device { color: #e0fcff; font-size: 11px; font-weight: bold; }
 .threshold-tag { font-size: 9px; padding: 0 5px; border-radius: 2px; line-height: 16px; }
 .tag-critical { background: rgba(239,68,68,0.2); color: #ef4444; }
 .tag-warning { background: rgba(251,191,36,0.2); color: #fbbf24; }
-.threshold-item-body { display: flex; gap: 4px; margin-bottom: 2px; }
-.threshold-metric { flex: 1; display: flex; flex-direction: column; align-items: center; padding: 2px 4px; background: rgba(0,20,40,0.3); border-radius: 2px; }
+.threshold-item-body { display: flex; gap: 3px; margin-bottom: 1px; }
+.threshold-metric { flex: 1; display: flex; flex-direction: column; align-items: center; padding: 1px 3px; background: rgba(0,20,40,0.3); border-radius: 2px; }
 .tm-label { color: #7bbef6; font-size: 9px; }
 .tm-value { color: #e0fcff; font-size: 11px; font-weight: bold; }
 .threshold-item-time { color: #7bbef6; font-size: 9px; text-align: right; }
 
 /* ========== Deformation & Seepage Section ========== */
 .deform-section,
-.seepage-section { background: rgba(0,20,40,0.5); border-radius: 4px; border: 1px solid rgba(0,212,255,0.12); padding: 8px 10px; min-height: 120px; display: flex; flex-direction: column; justify-content: space-between; gap: 6px; }
+.seepage-section { background: rgba(0,20,40,0.5); border-radius: 4px; border: 1px solid rgba(0,212,255,0.12); padding: 6px 10px; display: flex; flex-direction: column; gap: 5px; }
 
 /* Conclusion row (no background bar, text-only green) */
 .conclusion-row { display: flex; justify-content: space-between; align-items: center; padding: 4px 8px; background: rgba(0,20,40,0.3); border-radius: 3px; }
-.conclusion-row-label { color: #7bbef6; font-size: 13px; }
-.conclusion-row-value { font-size: 14px; font-weight: bold; }
+.conclusion-row-label { color: #7bbef6; font-size: 12px; }
+.conclusion-row-value { font-size: 13px; font-weight: bold; }
 .conclusion-row-value.text-green { color: #22c55e; }
 
 /* Metrics (2-column grid) */
 .deform-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
-.metric-item { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 6px 4px; background: rgba(0,20,40,0.4); border-radius: 3px; }
+.metric-item { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 5px 4px; background: rgba(0,20,40,0.4); border-radius: 3px; }
 .metric-item-label { color: #7bbef6; font-size: 11px; text-align: center; }
-.metric-item-value { color: #e0fcff; font-size: 20px; font-weight: bold; line-height: 1.2; }
-.metric-item-unit { color: #7bbef6; font-size: 12px; font-weight: normal; margin-left: 2px; }
-.metric-item-tag { font-size: 9px; padding: 0 6px; border-radius: 2px; line-height: 16px; }
+.metric-item-value { color: #e0fcff; font-size: 18px; font-weight: bold; line-height: 1.2; }
+.metric-item-unit { color: #7bbef6; font-size: 11px; font-weight: normal; margin-left: 2px; }
+.metric-item-tag { font-size: 9px; padding: 0 5px; border-radius: 2px; line-height: 16px; }
 .metric-item-tag.tag-ok { color: #22c55e; background: rgba(34,197,94,0.15); }
 
 /* Rate row */
-.deform-rate { display: flex; align-items: center; gap: 8px; padding: 4px 8px; background: rgba(0,20,40,0.4); border-radius: 3px; }
+.deform-rate { display: flex; align-items: center; gap: 6px; padding: 4px 8px; background: rgba(0,20,40,0.4); border-radius: 3px; }
 .rate-label { color: #7bbef6; font-size: 12px; }
-.rate-tag { font-size: 11px; font-weight: bold; padding: 1px 8px; border-radius: 2px; }
+.rate-tag { font-size: 11px; font-weight: bold; padding: 1px 6px; border-radius: 2px; }
 .rate-tag.tag-ok { color: #22c55e; background: rgba(34,197,94,0.15); }
 .rate-hint { margin-left: auto; color: #7bbef6; font-size: 11px; }
 
 /* Trend chart */
 .deform-trend { display: flex; flex-direction: column; gap: 2px; }
-.trend-label { color: #7bbef6; font-size: 12px; padding-left: 2px; }
+.trend-label { color: #7bbef6; font-size: 11px; padding-left: 2px; }
 .trend-chart-box { background: rgba(0,20,40,0.4); border-radius: 3px; border: 1px solid rgba(0,212,255,0.08); padding: 2px; }
 
 /* Balance row (seepage) */
-.balance-row { display: flex; flex-direction: column; gap: 4px; padding: 4px 8px; background: rgba(0,20,40,0.4); border-radius: 3px; }
+.balance-row { display: flex; flex-direction: column; gap: 3px; padding: 4px 8px; background: rgba(0,20,40,0.4); border-radius: 3px; }
 .balance-row-label { color: #7bbef6; font-size: 12px; }
 .balance-bars { display: flex; flex-direction: column; gap: 3px; }
-.balance-bar-line { display: flex; align-items: center; gap: 6px; }
+.balance-bar-line { display: flex; align-items: center; gap: 4px; }
 .balance-bar-side { color: #e0fcff; font-size: 11px; width: 28px; text-align: right; flex-shrink: 0; }
-.balance-track { flex: 1; height: 8px; background: rgba(255,255,255,0.08); border-radius: 4px; overflow: hidden; }
-.balance-fill { height: 100%; background: #62f6fb; border-radius: 4px; }
+.balance-track { flex: 1; height: 6px; background: rgba(255,255,255,0.08); border-radius: 3px; overflow: hidden; }
+.balance-fill { height: 100%; background: #62f6fb; border-radius: 3px; }
 .balance-fill.fill-right { background: #62f6fb; }
 .balance-bar-val { color: #e0fcff; font-size: 11px; width: 30px; text-align: left; flex-shrink: 0; }
-.balance-result { font-size: 11px; font-weight: bold; padding: 1px 8px; border-radius: 2px; align-self: flex-end; }
+.balance-result { font-size: 11px; font-weight: bold; padding: 1px 6px; border-radius: 2px; align-self: flex-end; }
 .balance-result.tag-ok { color: #22c55e; background: rgba(34,197,94,0.15); }
 
 /* ========== Small Title ========== */
-.monitor-subtitle { color: #e0fcff; font-size: var(--fs-label); font-weight: bold; padding: 3px 16px 2px 22px; background-image: url("/src/assets/images/小标题.png"); background-size: 100% 100%; background-position: center; background-repeat: no-repeat; height: 24px; display: inline-flex; align-items: center; }
+.monitor-subtitle { color: #e0fcff; font-size: 12px; font-weight: bold; padding: 2px 12px 2px 18px; background-image: url("/src/assets/images/小标题.png"); background-size: 100% 100%; background-position: center; background-repeat: no-repeat; height: 20px; display: inline-flex; align-items: center; }
 
 canvas { display: block; margin: 0 auto; }
 canvas#summaryPieChart { display: flex !important; padding-left: 35px !important; padding-right: 35px !important; }

+ 2 - 1
src/views/mainPages/LifecycleView.vue

@@ -269,6 +269,7 @@
 
 <script setup>
 import { ref, computed } from 'vue'
+import reservoirImage from '@/assets/images/乌拉海沟水库.png'
 
 const activeMilestoneTab = ref('construction')
 const activeProcessTab = ref('调度运用')
@@ -500,7 +501,7 @@ const handleNodeClick = (data) => {
 }
 
 const constructionEvents = [
-  { date: '2022-07 — 2024-06', title: '主体工程建设', desc: '乌拉海沟水库工程正式开工建设,历时24个月完成坝体填筑、混凝土浇筑及基础处理工程。总库容978万m³,最大坝高71.15m。', image: '/src/assets/images/乌拉海沟水库.png' },
+  { date: '2022-07 — 2024-06', title: '主体工程建设', desc: '乌拉海沟水库工程正式开工建设,历时24个月完成坝体填筑、混凝土浇筑及基础处理工程。总库容978万m³,最大坝高71.15m。', image: reservoirImage },
   { date: '2024-07 — 2024-10', title: '金属结构安装', desc: '完成闸门、启闭机、引水管道(10.94km)及金属结构设备的安装调试工作。' },
   { date: '2024-08 — 2024-11', title: '安全监测系统建设', desc: '完成大坝安全监测系统(变形、渗流、应力应变)的安装与调试,实现数据自动采集。' },
   { date: '2024-12', title: '下闸蓄水验收', desc: '通过下闸蓄水阶段验收,水库开始蓄水运行。总投资3.6386亿元。' }

+ 12 - 6
src/views/mainPages/VideoMonitorView.vue

@@ -143,6 +143,12 @@ import { ref, computed, onMounted, onBeforeUnmount } from 'vue'
 import { useRouter } from 'vue-router'
 import GradientOverlay from '../../components/gradient-overlay.vue'
 import TopNav from '../../components/TopNav.vue'
+import img1 from '@/assets/images/Heilin/图1.jpeg'
+import img2 from '@/assets/images/Heilin/图2.jpeg'
+import img3 from '@/assets/images/Heilin/图3.jpeg'
+import img4 from '@/assets/images/Heilin/图4.jpeg'
+import img5 from '@/assets/images/Heilin/图5.jpeg'
+import imgReservoir from '@/assets/images/乌拉海沟水库.png'
 
 const router = useRouter()
 
@@ -168,12 +174,12 @@ const activeCameraIndex = ref(0)
 
 // 点位对应的场景图片(使用项目现有静态图片)
 const sceneImages = [
-  '/src/assets/images/Heilin/图1.jpeg',
-  '/src/assets/images/Heilin/图2.jpeg',
-  '/src/assets/images/Heilin/图3.jpeg',
-  '/src/assets/images/Heilin/图4.jpeg',
-  '/src/assets/images/Heilin/图5.jpeg',
-  '/src/assets/images/乌拉海沟水库.png'
+  img1,
+  img2,
+  img3,
+  img4,
+  img5,
+  imgReservoir
 ]
 
 const selectCamera = (index) => {