feat: 限制导线和地线坐标数组的最大长度并更新标签

限制导线和地线坐标数组的最大长度为4(1地线+3导线),更新相关按钮的禁用逻辑
更新坐标输入框的标签文本
This commit is contained in:
dmy
2026-03-02 21:58:09 +08:00
parent 3bda0260b6
commit dbd6c4f702

View File

@@ -105,7 +105,7 @@
<!-- 地线挂点高度 -->
<div class="q-mt-md">
<div class="text-subtitle2 q-mb-sm">
地线挂点垂直距离 (m) - 第一个值为地线挂点高度
地线挂点垂直坐标 (m)
</div>
<div class="row q-col-gutter-sm">
<div class="col" v-for="(h, index) in params.parameter.h_arm" :key="index">
@@ -118,10 +118,10 @@
/>
</div>
<div class="col-auto">
<q-btn flat round color="primary" icon="add" @click="addHArm" />
<q-btn flat round color="primary" icon="add" @click="addHArm" :disable="params.parameter.h_arm.length >= 4" />
</div>
<div class="col-auto">
<q-btn flat round color="negative" icon="remove" @click="removeHArm" :disable="params.parameter.h_arm.length <= 1" />
<q-btn flat round color="negative" icon="remove" @click="removeHArm" :disable="params.parameter.h_arm.length <= 2" />
</div>
</div>
</div>
@@ -129,7 +129,7 @@
<!-- 地线水平坐标 -->
<div class="q-mt-md">
<div class="text-subtitle2 q-mb-sm">
地线水平坐标 (m)
地线挂点水平坐标 (m)
</div>
<div class="row q-col-gutter-sm">
<div class="col" v-for="(x, index) in params.parameter.gc_x" :key="index">
@@ -142,10 +142,10 @@
/>
</div>
<div class="col-auto">
<q-btn flat round color="primary" icon="add" @click="addGcX" />
<q-btn flat round color="primary" icon="add" @click="addGcX" :disable="params.parameter.gc_x.length >= 4" />
</div>
<div class="col-auto">
<q-btn flat round color="negative" icon="remove" @click="removeGcX" :disable="params.parameter.gc_x.length <= 1" />
<q-btn flat round color="negative" icon="remove" @click="removeGcX" :disable="params.parameter.gc_x.length <= 2" />
</div>
</div>
</div>
@@ -357,25 +357,29 @@ const voltageOptions = [
'±500kV', '±660kV', '±800kV', '±1100kV'
]
// 数组操作函数
// 数组操作函数最多3条导线即数组最多4个元素1地线+3导线
const addHArm = () => {
if (params.parameter.h_arm.length < 4) {
const last = params.parameter.h_arm[params.parameter.h_arm.length - 1] || 100
params.parameter.h_arm.push(last - 20)
}
}
const removeHArm = () => {
if (params.parameter.h_arm.length > 1) {
if (params.parameter.h_arm.length > 2) {
params.parameter.h_arm.pop()
}
}
const addGcX = () => {
if (params.parameter.gc_x.length < 4) {
const last = params.parameter.gc_x[params.parameter.gc_x.length - 1] || 10
params.parameter.gc_x.push(last)
}
}
const removeGcX = () => {
if (params.parameter.gc_x.length > 1) {
if (params.parameter.gc_x.length > 2) {
params.parameter.gc_x.pop()
}
}