Kaynağa Gözat

fix(photography): 修复重拍和一键停止功能

- 修改重拍功能的实现,使用 reNosObj 替代 runAction- 在重拍失败时重置相关状态
- 添加一键停止功能的监听事件
- 优化错误处理和状态重置逻辑
panqiuyao 4 ay önce
ebeveyn
işleme
f3c8a4d21a
1 değiştirilmiş dosya ile 24 ekleme ve 2 silme
  1. 24 2
      frontend/src/views/Photography/shot.vue

+ 24 - 2
frontend/src/views/Photography/shot.vue

@@ -477,8 +477,9 @@ const reTakePicture = async (img)=>{
   })
 
   runLoading.value = true;
-  runAction.value.goods_art_no = img.goods_art_no
-  runAction.value.action = 're_take_picture'
+  reNosObj.value.goods_art_no = img.goods_art_no
+  reNosObj.value.action = 're_take_picture'
+
   let params = {
     id: img.action_id
   }
@@ -497,6 +498,9 @@ const reTakePicture = async (img)=>{
 
       this_run_mcu_single(result.data)
     }else if(result.msg){
+      runLoading.value = false;
+      reNosObj.value.goods_art_no = ''
+      reNosObj.value.action = ''
       ElMessage.error(result.msg)
     }
   });
@@ -554,6 +558,10 @@ const reTakePicture = async (img)=>{
           showlastPhoto.value = false
         },6000)
       }else if(result.msg) {
+
+        runLoading.value = false;
+        reNosObj.value.goods_art_no = ''
+        reNosObj.value.action = ''
         ElMessage.error(result.msg)
       }
       clientStore.ipc.removeAllListeners(icpList.socket.message + '_re_take_picture');
@@ -680,6 +688,19 @@ onMounted(async () => {
 
   })
 
+
+  // 监听一键停止结束
+  clientStore.ipc.on(icpList.socket.message + '_run_mcu_stop', (event, result) => {
+    console.log('_run_mcu_stop')
+
+    runLoading.value = false;
+    reNosObj.value.goods_art_no = ''
+    reNosObj.value.action = ''
+    runAction.value.goods_art_no = '';
+    runAction.value.action = '';
+  })
+
+
   // 监听拍照完成后的最终状态事件
   clientStore.ipc.on(icpList.socket.message + '_photo_take_finish', (event, result) => {
     console.log('_photo_take_finish')
@@ -795,6 +816,7 @@ onBeforeUnmount(() => {
   clientStore.ipc.removeAllListeners(icpList.socket.message + '_photo_take_finish');
   clientStore.ipc.removeAllListeners(icpList.socket.message + '_run_mcu_update');
   clientStore.ipc.removeAllListeners(icpList.socket.message + '_stop_action');
+  clientStore.ipc.removeAllListeners(icpList.socket.message + '_run_mcu_stop');
 /*  window.removeEventListener('storage', handleStorageEvent);*/