feat: 添加雷暴日与地闪密度的联动逻辑

当地闪密度大于0时自动禁用雷暴日输入并设为-1
当地闪密度小于0时自动启用雷暴日输入并设为20
This commit is contained in:
dmy
2026-03-02 23:04:16 +08:00
parent 8aa2f600ed
commit 759b8b9a25

View File

@@ -105,6 +105,7 @@
v-model="params.parameter.td"
type="number"
label="雷暴日 (d)"
:disable="isTdDisabled"
>
<q-tooltip>一年中雷暴天数用于计算地闪密度</q-tooltip>
</q-input>
@@ -188,7 +189,7 @@
<q-card-section>
<div class="row q-col-gutter-md">
<div class="col-12 col-md-6">
<div class="col-12">
<q-input
v-model="params.advance.ng"
type="number"
@@ -198,22 +199,26 @@
<q-tooltip>每平方公里每年的地闪次数默认-1表示自动计算</q-tooltip>
</q-input>
</div>
<div class="col-12 col-md-6">
</div>
<div class="row q-col-gutter-md q-mt-sm">
<div class="col-6">
<q-input
v-model="params.advance.Ip_a"
type="number"
step="0.01"
label="雷电流概率密度曲线系数 a"
dense
>
<q-tooltip>雷电流幅值概率密度函数参数默认-1表示使用标准参数</q-tooltip>
</q-input>
</div>
<div class="col-12 col-md-6">
<div class="col-6">
<q-input
v-model="params.advance.Ip_b"
type="number"
step="0.01"
label="雷电流概率密度曲线系数 b"
dense
>
<q-tooltip>雷电流幅值概率密度函数参数默认-1表示使用标准参数</q-tooltip>
</q-input>
@@ -328,7 +333,7 @@
</template>
<script setup lang="ts">
import { ref, reactive, computed, onMounted, onUnmounted } from 'vue'
import { ref, reactive, computed, onMounted, onUnmounted, watch } from 'vue'
import type { AllParameters } from '@/types'
import LogComponent from './Log.vue'
@@ -376,6 +381,21 @@ const currentType = computed(() => {
return params.parameter.rated_voltage.includes('±') ? 'DC' : 'AC'
})
// 当地闪密度大于 0 时,自动将雷暴日设为 -1且不可编辑
// 当地闪密度小于 0 时,自动将雷暴日设为 20且可以编辑
const isTdDisabled = computed(() => Number(params.advance.ng) > 0)
watch(
() => params.advance.ng,
(newNg) => {
if (Number(newNg) > 0) {
params.parameter.td = -1
} else {
params.parameter.td = 20
}
}
)
// 数组操作函数最多3条导线即数组最多4个元素1地线+3导线
// 两个数组同步增减
const addHArm = () => {