|
@ -8,6 +8,8 @@ import { computed, onMounted, ref, watchEffect } from 'vue' |
|
|
import { useLiquidStore } from '@/stores/liquidStore' |
|
|
import { useLiquidStore } from '@/stores/liquidStore' |
|
|
|
|
|
|
|
|
const elementHeight = ref(200) |
|
|
const elementHeight = ref(200) |
|
|
|
|
|
const liquidContailRef = ref<HTMLElement | null>(null) |
|
|
|
|
|
const rulerHeight = ref(0) |
|
|
|
|
|
|
|
|
onMounted(() => { |
|
|
onMounted(() => { |
|
|
const element = document.querySelector('.liquid-level-img') |
|
|
const element = document.querySelector('.liquid-level-img') |
|
@ -15,6 +17,10 @@ onMounted(() => { |
|
|
elementHeight.value = element.clientHeight |
|
|
elementHeight.value = element.clientHeight |
|
|
console.log('元素高度:', elementHeight.value) |
|
|
console.log('元素高度:', elementHeight.value) |
|
|
} |
|
|
} |
|
|
|
|
|
if (liquidContailRef.value) { |
|
|
|
|
|
console.log('liquidContailRef=offsetHeight==', liquidContailRef.value.offsetHeight) |
|
|
|
|
|
rulerHeight.value = liquidContailRef.value.offsetHeight + 5 |
|
|
|
|
|
} |
|
|
}) |
|
|
}) |
|
|
const liquidStore = useLiquidStore() |
|
|
const liquidStore = useLiquidStore() |
|
|
const liquidStateData = ref(liquidStore.liquidStateData) |
|
|
const liquidStateData = ref(liquidStore.liquidStateData) |
|
@ -37,10 +43,10 @@ const liquidHeight = computed(() => { |
|
|
|
|
|
|
|
|
<template> |
|
|
<template> |
|
|
<div class="liquid-level-main"> |
|
|
<div class="liquid-level-main"> |
|
|
<ScaleRuler :max-scale="liquidTotal" /> |
|
|
|
|
|
<div class="liquid-level-contailner"> |
|
|
|
|
|
|
|
|
<ScaleRuler :max-scale="liquidTotal" :rulerHeight="rulerHeight" :key="rulerHeight"/> |
|
|
|
|
|
<div class="liquid-level-container"> |
|
|
<div class="liquid-level" :style="{ height: `${liquidHeight}%` }" /> |
|
|
<div class="liquid-level" :style="{ height: `${liquidHeight}%` }" /> |
|
|
<img :src="liquidLevelSvg" alt="液位图" class="liquid-level-img-r"> |
|
|
|
|
|
|
|
|
<img ref="liquidContailRef" :src="liquidLevelSvg" alt="液位图" class="liquid-level-img-r"> |
|
|
<!-- <div class="liquid-level-middle" :style="{ height: `${liquidHeight}px` }" /> --> |
|
|
<!-- <div class="liquid-level-middle" :style="{ height: `${liquidHeight}px` }" /> --> |
|
|
<div class="liquid-level" :style="{ height: `${liquidHeight}%` }" /> |
|
|
<div class="liquid-level" :style="{ height: `${liquidHeight}%` }" /> |
|
|
<div class="current-level"> |
|
|
<div class="current-level"> |
|
@ -57,7 +63,7 @@ const liquidHeight = computed(() => { |
|
|
display: flex; |
|
|
display: flex; |
|
|
gap: 5px; |
|
|
gap: 5px; |
|
|
} |
|
|
} |
|
|
.liquid-level-contailner{ |
|
|
|
|
|
|
|
|
.liquid-level-container{ |
|
|
position: relative; |
|
|
position: relative; |
|
|
height: 60vh;; /* 根据实际调整 */ |
|
|
height: 60vh;; /* 根据实际调整 */ |
|
|
} |
|
|
} |
|
@ -66,7 +72,7 @@ const liquidHeight = computed(() => { |
|
|
margin-top: -1.5vh; |
|
|
margin-top: -1.5vh; |
|
|
} |
|
|
} |
|
|
.liquid-level-img-r { |
|
|
.liquid-level-img-r { |
|
|
height: 60vh; |
|
|
|
|
|
|
|
|
height: 31rem; |
|
|
} |
|
|
} |
|
|
.liquid-level { |
|
|
.liquid-level { |
|
|
position: absolute; |
|
|
position: absolute; |
|
|