diff --git a/package.json b/package.json index 60d4ba1..de6ffd8 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "pinia": "^2.2.4", "pinia-plugin-persistedstate": "^4.1.2", "ramda": "^0.30.1", + "rxjs": "^7.8.1", "sass": "^1.79.5", "simple-keyboard": "^3.8.17", "simple-keyboard-layouts": "^3.4.41", @@ -32,6 +33,7 @@ "@types/mockjs": "^1.0.10", "@types/node": "^22.7.5", "@types/ramda": "^0.30.2", + "@types/rx": "^4.1.4", "@types/vue": "^2.0.0", "@typescript-eslint/eslint-plugin": "^8.8.1", "@typescript-eslint/parser": "^8.8.1", diff --git a/src/pages/Index/Regular/Consumables.vue b/src/pages/Index/Regular/Consumables.vue index 91995b4..b71af58 100644 --- a/src/pages/Index/Regular/Consumables.vue +++ b/src/pages/Index/Regular/Consumables.vue @@ -136,6 +136,7 @@ import InitWarn from '../components/Consumables/Warn/InitWarn.vue' import { getServerInfo } from '@/utils/getServerInfo' import { formatScanReports } from '@/utils/errorHandler' import { ElMessage } from 'element-plus' +import { Subject, debounceTime } from 'rxjs' const { wsUrl } = getServerInfo('/api/v1/app/ws/state') const socket = createWebSocket(wsUrl) @@ -144,6 +145,10 @@ const consumableStore = useConsumablesStore() const emergencyStore = useEmergencyStore() const deviceStore = useDeviceStore() +const errMsg$ = new Subject() +errMsg$.pipe(debounceTime(500)).subscribe((msg) => { + ElMessage.error(msg) +}) // 扫描耗材中 const isLoading = ref(false) @@ -317,7 +322,7 @@ const updateReactionPlateNum = async ({ isDragging.value = true } } else { - ElMessage.error('设备正在工作,无法修改数值') + errMsg$.next('设备正在工作,无法修改数值') } } @@ -347,7 +352,7 @@ const updateTipNum = async ({ isDragging.value = true } } else { - ElMessage.error('设备正在工作,无法修改数值') + errMsg$.next('设备正在工作,无法修改数值') } }