fix: 修改频率菜单和状态变量名称为中文
This commit is contained in:
@ -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 }
|
||||
}}</pre>
|
||||
<div class="relative wrp">
|
||||
<img :src="DeviceImage" alt="频谱仪设备照片" />
|
||||
<img :src="设备照片" alt="频谱仪设备照片" />
|
||||
|
||||
<div
|
||||
data-box="屏幕右边的按钮"
|
||||
@ -282,33 +284,38 @@ function 执行点击数字按钮(按钮值: E_数字键盘按键) {
|
||||
</div>
|
||||
|
||||
<div data-box="屏幕" class="absolute top-[140px] left-[170px] w-[460px] h-[350px] bg-black">
|
||||
<img :src="临时屏幕照片" alt="频谱仪设备照片" class="absolute top-0 left-0 w-[380px]! h-[330px]!" />
|
||||
<img
|
||||
:src="临时屏幕照片"
|
||||
alt="频谱仪设备照片"
|
||||
class="absolute top-0 left-0 w-[380px]! h-[330px]!"
|
||||
v-if="是否显示临时屏幕照片"
|
||||
/>
|
||||
<div
|
||||
v-if="state.Freq状态.输入状态.选中的Freq菜单列表的项目"
|
||||
v-if="state.频率状态.输入状态.选中的频率菜单列表的项目"
|
||||
data-box="显示输入的 Freq/Channel 的值"
|
||||
class="flex flex-col gap-y-[0px] text-white bg-pink-500/100 absolute left-[40px] top-[140px] lh-[1.2]"
|
||||
>
|
||||
<!-- 优先显示临时输入字符串,如果为空,则显示默认或已确认的值 -->
|
||||
<div>{{ state.Freq状态.输入状态.选中的Freq菜单列表的项目 }}</div>
|
||||
<div>{{ state.频率状态.输入状态.选中的频率菜单列表的项目 }}</div>
|
||||
<div>
|
||||
<template v-if="state.Freq状态.输入状态.输入的值临时输入字符串 !== null">
|
||||
{{ state.Freq状态.输入状态.输入的值临时输入字符串 }}
|
||||
<template v-if="state.频率状态.输入状态.输入的值临时输入字符串 !== null">
|
||||
{{ state.频率状态.输入状态.输入的值临时输入字符串 }}
|
||||
<!-- 输入过程中不显示单位,等待单位确认 -->
|
||||
</template>
|
||||
<template
|
||||
v-else-if="state.Freq状态.输入状态.选中的Freq菜单列表的项目 === E_选项卡菜单Freq菜单列表的项目.CenterFreq"
|
||||
v-else-if="state.频率状态.输入状态.选中的频率菜单列表的项目 === E_选项卡菜单Freq菜单列表的项目.CenterFreq"
|
||||
>
|
||||
{{ state.Freq状态.center.value }} {{ state.Freq状态.center.unit }}
|
||||
{{ state.频率状态.center.value }} {{ state.频率状态.center.unit }}
|
||||
</template>
|
||||
<template
|
||||
v-else-if="state.Freq状态.输入状态.选中的Freq菜单列表的项目 === E_选项卡菜单Freq菜单列表的项目.StartFreq"
|
||||
v-else-if="state.频率状态.输入状态.选中的频率菜单列表的项目 === E_选项卡菜单Freq菜单列表的项目.StartFreq"
|
||||
>
|
||||
{{ state.Freq状态.start.value }} {{ state.Freq状态.start.unit }}
|
||||
{{ state.频率状态.start.value }} {{ state.频率状态.start.unit }}
|
||||
</template>
|
||||
<template
|
||||
v-else-if="state.Freq状态.输入状态.选中的Freq菜单列表的项目 === E_选项卡菜单Freq菜单列表的项目.StopFreq"
|
||||
v-else-if="state.频率状态.输入状态.选中的频率菜单列表的项目 === E_选项卡菜单Freq菜单列表的项目.StopFreq"
|
||||
>
|
||||
{{ state.Freq状态.stop.value }} {{ state.Freq状态.stop.unit }}
|
||||
{{ state.频率状态.stop.value }} {{ state.频率状态.stop.unit }}
|
||||
</template>
|
||||
<template v-else>
|
||||
<!-- 没有选中项目,也没有临时输入时显示默认 -->
|
||||
@ -324,21 +331,21 @@ function 执行点击数字按钮(按钮值: E_数字键盘按键) {
|
||||
<div class="h-[30px] overflow-hidden menu-item lh-[30px] text-center" data-box="菜单标题">{{ 选项卡标题 }}</div>
|
||||
|
||||
<ul
|
||||
v-if="state.选项卡当前显示 === E_选项卡菜单.Freq菜单列表"
|
||||
v-if="state.选项卡当前显示 === E_选项卡菜单.频率菜单列表"
|
||||
class="h-[300px] flex flex-col justify-around gap-y-[4px]"
|
||||
data-box="FreqChannel菜单列表"
|
||||
>
|
||||
<li class="flex-1 menu-item flex flex-col gap-y-[0px] lh-[1.2]">
|
||||
<span>Center Freq</span>
|
||||
<span>{{ state.Freq状态.center.value }} {{ state.Freq状态.center.unit }}</span>
|
||||
<span>{{ state.频率状态.center.value }} {{ state.频率状态.center.unit }}</span>
|
||||
</li>
|
||||
<li class="flex-1 menu-item flex flex-col gap-y-[0px] lh-[1.2]">
|
||||
<span>Start Freq</span>
|
||||
<span>{{ state.Freq状态.start.value }} {{ state.Freq状态.start.unit }}</span>
|
||||
<span>{{ state.频率状态.start.value }} {{ state.频率状态.start.unit }}</span>
|
||||
</li>
|
||||
<li class="flex-1 menu-item flex flex-col gap-y-[0px] lh-[1.2]">
|
||||
<span>Stop Freq</span>
|
||||
<span>{{ state.Freq状态.stop.value }} {{ state.Freq状态.stop.unit }}</span>
|
||||
<span>{{ state.频率状态.stop.value }} {{ state.频率状态.stop.unit }}</span>
|
||||
</li>
|
||||
<li class="flex-1 menu-item flex flex-col gap-y-[0px] lh-[1.2]">
|
||||
<span>#CF Step</span>
|
||||
@ -358,7 +365,7 @@ function 执行点击数字按钮(按钮值: E_数字键盘按键) {
|
||||
</ul>
|
||||
|
||||
<ul
|
||||
v-if="state.选项卡当前显示 === E_选项卡菜单.Freq单位列表"
|
||||
v-if="state.选项卡当前显示 === E_选项卡菜单.频率单位列表"
|
||||
class="flex-1 flex flex-col justify-around gap-y-[4px]"
|
||||
data-box="FreqChannel单位列表"
|
||||
>
|
||||
|
Reference in New Issue
Block a user