fix: 修复示波器停止捕获导致无法配置的问题,并取消示波器动画

This commit is contained in:
SikongJueluo 2025-07-22 02:41:07 +08:00
parent 1ce12120a0
commit f9178784c3
3 changed files with 15 additions and 10 deletions

View File

@ -262,16 +262,11 @@ const [useProvideOscilloscope, useOscilloscopeState] = createInjectionState(() =
alert.success("测试数据生成成功", 2000);
};
const isOperationInProgress = computed(
() => isApplying.value || isCapturing.value || operationMutex.isLocked()
);
return {
oscData,
config,
isApplying,
isCapturing,
isOperationInProgress,
sampleCount,
samplePeriodNs,
refreshIntervalMs,

View File

@ -104,9 +104,11 @@ const option = computed((): EChartsOption => {
return {};
}
const isCapturing = oscManager.isCapturing.value;
const series: LineSeriesOption[] = [];
// yChannels number[][]
// yChannels number[]
const yChannels: number[][] = Array.isArray(oscData.value.y[0])
? (oscData.value.y as number[][])
: [oscData.value.y as number[]];
@ -126,6 +128,10 @@ const option = computed((): EChartsOption => {
lineStyle: {
width: 2,
},
//
animation: !isCapturing,
animationDuration: isCapturing ? 0 : 1000,
animationEasing: isCapturing ? "linear" : "cubicOut",
});
});
@ -157,7 +163,7 @@ const option = computed((): EChartsOption => {
saveAsImage: {},
},
},
dataZoom: (oscManager.isCapturing.value) ? [] : [
dataZoom: [
{
type: "inside",
start: 0,
@ -198,6 +204,10 @@ const option = computed((): EChartsOption => {
show: false,
},
},
//
animation: !isCapturing,
animationDuration: isCapturing ? 0 : 1000,
animationEasing: isCapturing ? "linear" : "cubicOut",
series: series,
};
});

View File

@ -77,14 +77,14 @@
</div>
</label>
<div class="flex items-center gap-2">
<button class="btn btn-primary" type="submit" :disabled="osc.isOperationInProgress.value">
<button class="btn btn-primary" type="submit" :disabled="osc.isApplying.value || osc.isCapturing.value">
应用配置
</button>
<button class="btn btn-secondary" type="button" @click="osc.resetConfiguration"
:disabled="osc.isOperationInProgress.value">
:disabled="osc.isApplying.value || osc.isCapturing.value">
重置
</button>
<button class="btn btn-outline" @click="osc.refreshRAM" :disabled="osc.isOperationInProgress.value">
<button class="btn btn-outline" @click="osc.refreshRAM" :disabled="osc.isApplying.value || osc.isCapturing.value">
刷新RAM
</button>
<!-- <button class="btn btn-accent" @click="osc.generateTestData" :disabled="osc.isOperationInProgress.value">