瀏覽代碼

日常开发

林旭祥 7 月之前
父節點
當前提交
62af9cfab9
共有 2 個文件被更改,包括 29 次插入4 次删除
  1. 1 1
      src/utils/ws.ts
  2. 28 3
      src/views/train/run.vue

+ 1 - 1
src/utils/ws.ts

@@ -438,7 +438,7 @@ export const suspendFaceRecognitionChannels = (data: any) => {
 };
 
 /**
- * 某道识别到了人就停止某道的识别
+ * 某道重新开始识别
  */
 export const resumeFaceRecognitionChannels = (data: any) => {
   let track = data;

+ 28 - 3
src/views/train/run.vue

@@ -81,7 +81,11 @@
                         }}</i></span>
                   </div>
                 </div>
-                <div class="menuBtn" v-if="examState > 3 && examState < 42" @click="getChooseStudent(item.track)">检录
+                <div class="menuBtn" v-if="examState > 3 && examState < 42 && !item.student_id"
+                  @click="getChooseStudent(item.track)">检录
+                </div>
+                <div class="menuBtn" v-if="examState > 3 && examState < 42 && item.student_id"
+                  @click="getRetestTrackFace(item.track)">重新识别
                 </div>
                 <div class="menuBtn menuBtn2" v-if="examState == 43 && item.student_id">等待开始测试</div>
                 <div class="menuBtn menuBtn2" v-if="examState == 42 && item.student_id">正在测试</div>
@@ -239,6 +243,9 @@ const getMessage = (e: any) => {
   }
   //人脸识别状态
   if (e.cmd === 'face_check_result') {
+    let obj = e.data[0];
+    currentTrack.value = obj.track;
+    returnStudent(obj)
   }
   //测试结束结果
   if (e.cmd === 'oneresult') {
@@ -316,6 +323,7 @@ const getFaceConfirmOnly = (data?: any) => {
   //重组数据
   list = list.map((item: any) => {
     let obj = {
+      result_id: item.result_id,
       student_id: item.student_id,
       student_name: item.student_name,
       gender: item.gender,
@@ -365,7 +373,7 @@ const getStartOneTest = () => {
   //停止播报;
   speckCancel()
 
-  // 和工作站搭配时差版
+  //和工作站搭配时差版
   //提前发送开始的时间
   let advanceTime = 1000;
   //各就位+枪声是7秒左右,5.26秒是播枪声
@@ -553,10 +561,11 @@ const returnStudent = (data: any) => {
  * 处理短跑返回被选学生
 */
 const sprintStudent = (data: any) => {
+  suspendFaceRecognitionChannels(currentTrack.value);//停止识别
   let obj = {
     result_id: resultId.value,
     face_pic: data.face_pic || data.logo_url,
-    student_id: data.id,
+    student_id: data.id || data.student_id,
     student_name: data.name,
     gender: data.gender,
   }
@@ -602,6 +611,22 @@ const longStudent = (data: any) => {
   faceStudentList.value.push(...list)
 };
 
+/**
+ * 重新识别指定跑道
+*/
+const getRetestTrackFace = (data: any) => {
+  resumeFaceRecognitionChannels(data);//重新识别
+  let obj = {
+    student_id: null,
+    track: data,
+    isfinish: false,
+  }
+  let myIndex = faceStudentList.value.findIndex((item: any) => {
+    return item.track == data;
+  })
+  faceStudentList.value[myIndex] = obj;
+};
+
 /**
  * 清除历史记录
 */