feat: 将额定电压输入改为下拉选择框

将额定电压从数字输入改为预定义选项的下拉选择框,支持常见的电压等级
This commit is contained in:
dmy
2026-03-02 21:17:34 +08:00
parent 9a5e8e0076
commit 4ae2f36049
3 changed files with 12 additions and 6 deletions

View File

@@ -26,12 +26,11 @@
<q-card-section> <q-card-section>
<div class="row q-col-gutter-md"> <div class="row q-col-gutter-md">
<div class="col-12 col-md-6"> <div class="col-12 col-md-6">
<q-input <q-select
v-model="params.parameter.rated_voltage" v-model="params.parameter.rated_voltage"
type="number" :options="voltageOptions"
label="额定电压等级 (kV)" label="额定电压等级 (kV)"
hint="输电线路的额定电压" hint="输电线路的额定电压"
:rules="[val => val > 0 || '必须大于0']"
/> />
</div> </div>
<div class="col-12 col-md-6"> <div class="col-12 col-md-6">
@@ -313,7 +312,7 @@ import LogComponent from './Log.vue'
// 默认参数 // 默认参数
const defaultParams: AllParameters = { const defaultParams: AllParameters = {
parameter: { parameter: {
rated_voltage: 750, rated_voltage: '500kV',
h_c_sag: 14.43, h_c_sag: 14.43,
h_g_sag: 11.67, h_g_sag: 11.67,
insulator_c_len: 7.02, insulator_c_len: 7.02,
@@ -342,6 +341,11 @@ const result = ref<string | null>(null)
const error = ref<string | null>(null) const error = ref<string | null>(null)
const logRef = ref<InstanceType<typeof LogComponent> | null>(null) const logRef = ref<InstanceType<typeof LogComponent> | null>(null)
const voltageOptions = [
'110kV', '220kV', '330kV', '500kV', '750kV','1000kV',
'±500kV', '±660kV', '±800kV', '±1100kV'
]
// 数组操作函数 // 数组操作函数
const addHArm = () => { const addHArm = () => {
const last = params.parameter.h_arm[params.parameter.h_arm.length - 1] || 100 const last = params.parameter.h_arm[params.parameter.h_arm.length - 1] || 100

View File

@@ -2,7 +2,7 @@
export interface Parameter { export interface Parameter {
// 基本参数 // 基本参数
rated_voltage: number // 额定电压等级 (kV) rated_voltage: string // 额定电压等级 (kV)
h_c_sag: number // 导线弧垂 (m) h_c_sag: number // 导线弧垂 (m)
h_g_sag: number // 地线弧垂 (m) h_g_sag: number // 地线弧垂 (m)
insulator_c_len: number // 导线串子绝缘长度 (m) insulator_c_len: number // 导线串子绝缘长度 (m)

View File

@@ -101,7 +101,9 @@ class EGMWebApp:
] ]
para.h_arm = list(parameter_data.get('h_arm', [150, 130])) para.h_arm = list(parameter_data.get('h_arm', [150, 130]))
para.altitude = int(parameter_data.get('altitude', 1000)) para.altitude = int(parameter_data.get('altitude', 1000))
para.rated_voltage = float(parameter_data.get('rated_voltage', 750)) # 解析电压等级字符串,如 "500kV" -> 500
rated_voltage_str = str(parameter_data.get('rated_voltage', '500kV'))
para.rated_voltage = float(rated_voltage_str.replace('kV', '').replace('±', ''))
para.ng = float(advance_data.get('ng', -1)) para.ng = float(advance_data.get('ng', -1))
para.Ip_a = float(advance_data.get('Ip_a', -1)) para.Ip_a = float(advance_data.get('Ip_a', -1))