Browse Source

液位计算

master
王梦远 3 weeks ago
parent
commit
1db2ebb3ec
  1. 15
      src/components/liquid/LiquidLevel.vue

15
src/components/liquid/LiquidLevel.vue

@ -2,10 +2,19 @@
import liquidLevelSvg from 'assets/images/liquid/liquid-container.svg' import liquidLevelSvg from 'assets/images/liquid/liquid-container.svg'
import liquidScaleSvg from 'assets/images/liquid/liquid-scale.svg' import liquidScaleSvg from 'assets/images/liquid/liquid-scale.svg'
import { roundNumber } from 'libs/utils' import { roundNumber } from 'libs/utils'
import { computed, ref, watchEffect } from 'vue'
import { computed, onMounted, ref, watchEffect } from 'vue'
import { useLiquidStore } from '@/stores/liquidStore' import { useLiquidStore } from '@/stores/liquidStore'
const elementHeight = ref(200)
onMounted(() => {
const element = document.querySelector('.liquid-level-img')
if (element) {
elementHeight.value = element.clientHeight
console.log('元素高度:', elementHeight.value)
}
})
const liquidStore = useLiquidStore() const liquidStore = useLiquidStore()
const liquidStateData = ref(liquidStore.liquidStateData) const liquidStateData = ref(liquidStore.liquidStateData)
const liquidTotal = ref(liquidStore.liquidTotal) const liquidTotal = ref(liquidStore.liquidTotal)
@ -21,7 +30,7 @@ const nowLiquid = computed(() => {
// 200px // 200px
const liquidHeight = computed(() => { const liquidHeight = computed(() => {
return (Number(nowLiquid.value) / Number(liquidTotal.value)) * 200
return (Number(nowLiquid.value) / Number(liquidTotal.value)) * elementHeight.value
}) })
</script> </script>
@ -61,7 +70,7 @@ const liquidHeight = computed(() => {
left: 0; left: 0;
width: 100%; width: 100%;
background: linear-gradient(to top, #0099ff, #e6f7ff); /* 颜色渐变,可按需调整 */ background: linear-gradient(to top, #0099ff, #e6f7ff); /* 颜色渐变,可按需调整 */
min-height: 1.5rem;
min-height: .8rem;
border-radius: 0 0 10px 10px; border-radius: 0 0 10px 10px;
} }
.liquid-level-middle{ .liquid-level-middle{

Loading…
Cancel
Save