From a44a455ecad975b123c086820740cf6d75e5ad77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=A5=E6=B5=A9?= Date: Mon, 28 Apr 2025 14:05:24 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E9=A2=91=E7=8E=87?= =?UTF-8?q?=E8=8F=9C=E5=8D=95=E5=92=8C=E7=8A=B6=E6=80=81=E5=8F=98=E9=87=8F?= =?UTF-8?q?=E5=90=8D=E7=A7=B0=E4=B8=BA=E4=B8=AD=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/PinPuYi/PinPuYi.vue | 121 +++++++++++++++-------------- 1 file changed, 64 insertions(+), 57 deletions(-) diff --git a/src/components/PinPuYi/PinPuYi.vue b/src/components/PinPuYi/PinPuYi.vue index ab05a38..c1500ec 100644 --- a/src/components/PinPuYi/PinPuYi.vue +++ b/src/components/PinPuYi/PinPuYi.vue @@ -3,11 +3,13 @@ import { $enum } from 'ts-enum-util'; import 临时屏幕照片 from './imgs/临时屏幕.png'; -import DeviceImage from './pin-pu-yi-bg.png'; +import 设备照片 from './pin-pu-yi-bg-clean.png'; + +const 是否显示临时屏幕照片 = false; enum E_选项卡菜单 { - Freq菜单列表 = 'Freq菜单列表', - Freq单位列表 = 'Freq单位列表', + 频率菜单列表 = '频率菜单列表', + 频率单位列表 = '频率单位列表', } /* 值是在屏幕上显示的值。 */ @@ -44,10 +46,10 @@ enum E_数字键盘按键 { } const state = reactive({ - 选项卡当前显示: E_选项卡菜单.Freq菜单列表, - Freq状态: { + 选项卡当前显示: E_选项卡菜单.频率菜单列表, + 频率状态: { 输入状态: { - 选中的Freq菜单列表的项目: null as null | E_选项卡菜单Freq菜单列表的项目, + 选中的频率菜单列表的项目: null as null | E_选项卡菜单Freq菜单列表的项目, 输入的值临时输入字符串: null as null | string, // 用于暂存用户输入 }, center: { @@ -67,27 +69,27 @@ const state = reactive({ const 选项卡标题 = computed(() => $enum.mapValue(state.选项卡当前显示).with({ - [E_选项卡菜单.Freq菜单列表]: 'Freq/Channel', - [E_选项卡菜单.Freq单位列表]: '', + [E_选项卡菜单.频率菜单列表]: 'Freq/Channel', + [E_选项卡菜单.频率单位列表]: '', }), ); function 执行点击屏幕右边的按钮(按钮序号: number) { console.group('🔘 点击屏幕右边的按钮', { 按钮序号 }); - if (state.选项卡当前显示 === E_选项卡菜单.Freq菜单列表) { + if (state.选项卡当前显示 === E_选项卡菜单.频率菜单列表) { switch (按钮序号) { case 1: { - state.Freq状态.输入状态.选中的Freq菜单列表的项目 = E_选项卡菜单Freq菜单列表的项目.CenterFreq; + state.频率状态.输入状态.选中的频率菜单列表的项目 = E_选项卡菜单Freq菜单列表的项目.CenterFreq; console.debug('设置 Freq 输入状态为 CenterFreq'); break; } case 2: { - state.Freq状态.输入状态.选中的Freq菜单列表的项目 = E_选项卡菜单Freq菜单列表的项目.StartFreq; + state.频率状态.输入状态.选中的频率菜单列表的项目 = E_选项卡菜单Freq菜单列表的项目.StartFreq; console.debug('设置 Freq 输入状态为 StartFreq'); break; } case 3: { - state.Freq状态.输入状态.选中的Freq菜单列表的项目 = E_选项卡菜单Freq菜单列表的项目.StopFreq; + state.频率状态.输入状态.选中的频率菜单列表的项目 = E_选项卡菜单Freq菜单列表的项目.StopFreq; console.debug('设置 Freq 输入状态为 StopFreq'); break; } @@ -98,7 +100,7 @@ function 执行点击屏幕右边的按钮(按钮序号: number) { } } - if (state.选项卡当前显示 === E_选项卡菜单.Freq单位列表) { + if (state.选项卡当前显示 === E_选项卡菜单.频率单位列表) { let selectedUnit: E_Freq单位 | null = null; switch (按钮序号) { case 1: { @@ -124,8 +126,8 @@ function 执行点击屏幕右边的按钮(按钮序号: number) { } // 不处理无效按钮 (5, 6, 7) } - const tempInputString = state.Freq状态.输入状态.输入的值临时输入字符串; - const selectedFreqItem = state.Freq状态.输入状态.选中的Freq菜单列表的项目; + const tempInputString = state.频率状态.输入状态.输入的值临时输入字符串; + const selectedFreqItem = state.频率状态.输入状态.选中的频率菜单列表的项目; // 必须有临时输入值和选中的 Freq 项目才能确认 if (!tempInputString || !selectedFreqItem) { @@ -149,32 +151,32 @@ function 执行点击屏幕右边的按钮(按钮序号: number) { // 根据选中的 Freq 项目更新对应的状态 switch (selectedFreqItem) { case E_选项卡菜单Freq菜单列表的项目.CenterFreq: { - state.Freq状态.center.value = inputValue; - state.Freq状态.center.unit = selectedUnit; - console.debug('更新 CenterFreq:', state.Freq状态.center); + state.频率状态.center.value = inputValue; + state.频率状态.center.unit = selectedUnit; + console.debug('更新 CenterFreq:', state.频率状态.center); break; } case E_选项卡菜单Freq菜单列表的项目.StartFreq: { - state.Freq状态.start.value = inputValue; - state.Freq状态.start.unit = selectedUnit; - console.debug('更新 StartFreq:', state.Freq状态.start); + state.频率状态.start.value = inputValue; + state.频率状态.start.unit = selectedUnit; + console.debug('更新 StartFreq:', state.频率状态.start); break; } case E_选项卡菜单Freq菜单列表的项目.StopFreq: { - state.Freq状态.stop.value = inputValue; - state.Freq状态.stop.unit = selectedUnit; - console.debug('更新 StopFreq:', state.Freq状态.stop); + state.频率状态.stop.value = inputValue; + state.频率状态.stop.unit = selectedUnit; + console.debug('更新 StopFreq:', state.频率状态.stop); break; } } // 重置整个输入状态,为下一次输入做准备 - state.Freq状态.输入状态.选中的Freq菜单列表的项目 = null; - state.Freq状态.输入状态.输入的值临时输入字符串 = null; + state.频率状态.输入状态.选中的频率菜单列表的项目 = null; + state.频率状态.输入状态.输入的值临时输入字符串 = null; console.debug('输入状态已重置'); // 操作完成,切换回 Freq 菜单列表 - state.选项卡当前显示 = E_选项卡菜单.Freq菜单列表; + state.选项卡当前显示 = E_选项卡菜单.频率菜单列表; console.debug('切换回 Freq 菜单列表'); } console.groupEnd(); @@ -184,14 +186,14 @@ function 执行点击数字按钮(按钮值: E_数字键盘按键) { console.group('🔢 点击数字按钮', { 按钮值 }); // 检查是否已选择 Freq 菜单项 - if (!state.Freq状态.输入状态.选中的Freq菜单列表的项目) { + if (!state.频率状态.输入状态.选中的频率菜单列表的项目) { console.warn('请先选择一个 Freq 菜单项 (Center, Start, Stop)'); console.groupEnd(); return; } // 使用 临时输入字符串,如果为 null 则视为空字符串 - const 当前临时输入 = state.Freq状态.输入状态.输入的值临时输入字符串 ?? ''; + const 当前临时输入 = state.频率状态.输入状态.输入的值临时输入字符串 ?? ''; switch (按钮值) { case E_数字键盘按键.Dot: { @@ -200,8 +202,8 @@ function 执行点击数字按钮(按钮值: E_数字键盘按键) { console.debug('已存在小数点,忽略本次输入'); } else { // 如果当前为空,则为 '0.',否则追加 '.' - state.Freq状态.输入状态.输入的值临时输入字符串 = 当前临时输入 ? 当前临时输入 + '.' : '0.'; - console.debug('输入小数点,临时字符串:', state.Freq状态.输入状态.输入的值临时输入字符串); + state.频率状态.输入状态.输入的值临时输入字符串 = 当前临时输入 ? 当前临时输入 + '.' : '0.'; + console.debug('输入小数点,临时字符串:', state.频率状态.输入状态.输入的值临时输入字符串); } break; } @@ -219,31 +221,31 @@ function 执行点击数字按钮(按钮值: E_数字键盘按键) { // 直接拼接数字到临时字符串 // 特殊处理:如果当前是 '0',则替换为新数字;如果是 '-0',则替换为 '-'+新数字 if (当前临时输入 === '0') { - state.Freq状态.输入状态.输入的值临时输入字符串 = String(按钮值); + state.频率状态.输入状态.输入的值临时输入字符串 = String(按钮值); } else if (当前临时输入 === '-0') { - state.Freq状态.输入状态.输入的值临时输入字符串 = '-' + String(按钮值); + state.频率状态.输入状态.输入的值临时输入字符串 = '-' + String(按钮值); } else { - state.Freq状态.输入状态.输入的值临时输入字符串 = 当前临时输入 + String(按钮值); + state.频率状态.输入状态.输入的值临时输入字符串 = 当前临时输入 + String(按钮值); } - console.debug('输入数字,临时字符串:', state.Freq状态.输入状态.输入的值临时输入字符串); + console.debug('输入数字,临时字符串:', state.频率状态.输入状态.输入的值临时输入字符串); break; } case E_数字键盘按键.PlusMinus: { // +/- 逻辑操作临时字符串 if (当前临时输入.startsWith('-')) { // 如果已经是负数,移除负号 - state.Freq状态.输入状态.输入的值临时输入字符串 = 当前临时输入.slice(1); + state.频率状态.输入状态.输入的值临时输入字符串 = 当前临时输入.slice(1); } else if (当前临时输入 && 当前临时输入 !== '0' && 当前临时输入 !== '0.') { // 如果是正数且不为0或0.,添加负号 - state.Freq状态.输入状态.输入的值临时输入字符串 = '-' + 当前临时输入; + state.频率状态.输入状态.输入的值临时输入字符串 = '-' + 当前临时输入; } else if (当前临时输入 === '' || 当前临时输入 === '0' || 当前临时输入 === '0.') { // 如果是空或0或0.,变成负号开头 - state.Freq状态.输入状态.输入的值临时输入字符串 = '-'; + state.频率状态.输入状态.输入的值临时输入字符串 = '-'; } else { // 其他情况(例如只有一个'-')不允许切换 console.debug('无法切换正负号'); } - console.debug('切换正负号,临时字符串:', state.Freq状态.输入状态.输入的值临时输入字符串); + console.debug('切换正负号,临时字符串:', state.频率状态.输入状态.输入的值临时输入字符串); break; } default: { @@ -251,7 +253,7 @@ function 执行点击数字按钮(按钮值: E_数字键盘按键) { console.warn('未知的数字键盘按键:', 按钮值); } } - state.选项卡当前显示 = E_选项卡菜单.Freq单位列表; + state.选项卡当前显示 = E_选项卡菜单.频率单位列表; console.groupEnd(); } @@ -262,7 +264,7 @@ function 执行点击数字按钮(按钮值: E_数字键盘按键) { { 选项卡菜单7个: $enum(E_选项卡菜单).getValues(), ...state } }}
- 频谱仪设备照片 + 频谱仪设备照片
- 频谱仪设备照片 + 频谱仪设备照片
-
{{ state.Freq状态.输入状态.选中的Freq菜单列表的项目 }}
+
{{ state.频率状态.输入状态.选中的频率菜单列表的项目 }}
-