From ebff3bb9647a2741ed564ecd5333f7a3c27ff5e7 Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期二, 05 十二月 2023 09:57:37 +0800
Subject: [PATCH] gx

---
 src/views/home/index.vue |   74 +++++++++++++++++++++++++++----------
 1 files changed, 54 insertions(+), 20 deletions(-)

diff --git a/src/views/home/index.vue b/src/views/home/index.vue
index e102b5f..b0c5da9 100644
--- a/src/views/home/index.vue
+++ b/src/views/home/index.vue
@@ -177,7 +177,7 @@
               <el-row>
                 <el-col   :span="24" style="text-align: right; line-height: 67px;padding-right: 0px; font-size: 40px;font-weight: 400;color: #EB6F1C;">
                   <div v-if="!dialogVisible">{{clockNum}}S</div>
-                  <el-input v-else  v-model="inputCode" ref="inputRef" id="inputCode"  style="width: 200px; height: 40px;"  @change="inputChabge"
+                  <el-input   v-else  v-model="inputCode" ref="inputRef" id="inputCode"  style="width: 200px; height: 40px;ime-mode:active"  @change="inputChabge"
                     placeholder="请输入患者卡号或扫描条码" />
                 </el-col>
               </el-row>
@@ -216,22 +216,27 @@
 import Speech from 'speak-tts'
 import { reactive,computed, toRefs, onMounted, watch, ref } from "vue"
 import { sendPationCodeApi } from '../../samples/httpApi'
-import { formatDate } from '@/utils/formatTime'
+import { formatDate,jgTime,isworkTime } from '@/utils/formatTime'
 import { confingInfoStore } from '@/stores/StoresConfing'
 import {base64toFile} from '@/samples/faceApi'
 import{initPort} from '@/samples/portApi'
 import{initPort as oumulongHbp9030 } from '@/samples/deviceApi/oumulong-HBP-9030'
+import{initPort as  TM2655VP} from '@/samples/deviceApi/TM2655VP'
 import{initPort as zhiRongT605 } from '@/samples/deviceApi/zhiRongT605'
 import{initPort as taiHengM523 } from '@/samples/deviceApi/taiHengM523'
+import{initPort as XK3190A12 } from '@/samples/deviceApi/XK3190A12'
 // 读取体重文件
 import{toDataTz,todatatzs } from '@/samples/deviceApi/seca101'
 import { ElLoading, ElMessage } from 'element-plus'
+import { el } from 'element-plus/es/locale'
+import { Console } from 'console'
 let trackerTask: any = null;
+let lsDateTime:any=new Date()
 // 标识用的画布
 const myCanvas = ref<HTMLCanvasElement | null>(null);
 let imgSrc:'';
 const msg = ref<string>("没识别到人脸...");
-// 实例人脸检查器
+// 实例人脸检查器                    ObjectTracker
 const myTracker: any = new tracking.ObjectTracker("face");
 myTracker.setInitialScale(4);
 myTracker.setStepSize(2);
@@ -243,18 +248,26 @@
     context.clearRect(0, 0, myCanvas.value.width, myCanvas.value.height);
   }
   if (event.data.length === 0) {
+    // console.log('没有监测到---')
     msg.value = "没识别到人脸...";
-  } else if(event.data.length === 1) {
+  } else if(event.data.length >= 1){
+    
     trackerTask.stop();
     msg.value = "检测到人脸";
+    console.log('监测到人脸样')
+    console.log(event.data)
     const myCanvas = document.getElementById("myCanvas");// 
     const thisContext = myCanvas?.getContext("2d");
     const myVideo = document.querySelector("#myVideo") as HTMLVideoElement;
     thisContext.drawImage(myVideo, 0,0, 250, 200);
     imgSrc = myCanvas?.toDataURL('image/png');
+    const X= jgTime(lsDateTime,new Date())
+    
     // 转文件
-    // 识别框显示才能到传阿里云识别
-    if(dialogVisible.value){
+    // 识别框显示才能到传阿里云识别并且时间要是工作时间
+    if(dialogVisible.value&&X>configData.value.face_push&&isworkTime(new Date())){
+      lsDateTime=new Date()
+      console.log(X,'上传阿里识别间隔')
       base64toFile(imgSrc)
     }
     setTimeout(() => {
@@ -525,7 +538,11 @@
         }else if(Number(patientInfo.value.pureWeight) !== 0&&patientInfo.value.isAfterMed===1 && patientInfo.value.preWeight>10){
           aimTSL.value = (Number(patientInfo.value.preWeight)- Number(patientInfo.value.pureWeight) - Number(patientInfo.value.clothesWeight)).toFixed(2)
         }
-      }
+    }else if(patientInfo.value.code===''&&weightInfo.value.result !== "0"){
+      speech.value?.speak({ text: "没有识别的患者,请先验证患者" }).then(() => {
+        // console.log("播报完成...")
+      })
+    }
   }
 );
 // 血压发送了变化
@@ -661,10 +678,23 @@
 );
 // 文本框点击事件
 const inputChabge = () => {
-  sendPationCodeApi(inputCode.value)
-  setTimeout(function () {
-    inputCode.value = ''
-  }, 5000)
+  console.log(inputCode.value.substring(0,4)==='1553')
+  // 更具沅江肾病医院的二维码匹配
+  if(inputCode.value.substring(0,4)==='1553'){
+    const list=inputCode.value.split(':')
+    console.log(list)
+    sendPationCodeApi(list[1])
+    setTimeout(function () {
+      inputCode.value = ''
+    }, 5000)
+  }else{
+    sendPationCodeApi(inputCode.value)
+    setTimeout(function () {
+      inputCode.value = ''
+    }, 5000)
+  }
+ 
+  
 }
 // 点击10下关闭程序
 const guyanbi = () => {
@@ -677,6 +707,7 @@
   console.log(0%5)
   console.log('页面初始化', os.hostname())
   setTimeout(()=>{
+    
     console.log('8秒后执行')
     console.log('打印设置文件')
     console.log(configData.value)
@@ -686,7 +717,11 @@
     }
     // 是否开启血压计联机
     if(configData.value.Is_xyj){
-      oumulongHbp9030(configData.value.xueyanjiPortPath,configData.value.xueyanjiBaudRate)
+      if(configData.value.xyj_type==='TM2655'){
+        TM2655VP(configData.value.xueyanjiPortPath,configData.value.xueyanjiBaudRate)
+      }else{
+        oumulongHbp9030(configData.value.xueyanjiPortPath,configData.value.xueyanjiBaudRate)
+      } 
     }
     // 是否开启志荣体重秤联机
     if(configData.value.Is_tzc){
@@ -697,6 +732,9 @@
       // seca101读取文件
       else if(configData.value.tzc_type==='seca101'){
         console.log('体重是读取文件')
+      }// 耀华XK3190-A12 
+      else if(configData.value.tzc_type==='XK3190-A12'){
+        XK3190A12(configData.value.tzcPortPath,configData.value.tzcBaudRate)
       }
       else{
         zhiRongT605(configData.value.tzcPortPath,configData.value.tzcBaudRate)
@@ -728,14 +766,10 @@
       }else {
         timeShidaun.value='晚上好!'
       }
-      //5秒一次验证读取体重数据
-      console.log(clockNum.value,clockNum.value%5==0)
-      if(clockNum.value%3==0){
-        // 验证人脸识别已经通过但是还没有体重数据主动获取数据
-        if(patientInfo.value.name!==''&&weightInfo.value.result==='0'){
-          console.log('主动获取体重')
-          todatatzs(patientInfo.value.datetime)
-        }
+      // 验证人脸识别已经通过但是还没有体重数据主动获取数据
+      if(patientInfo.value.name!==''&&weightInfo.value.result==='0'&&configData.value.Is_tzc){
+        console.log('主动获取体重')
+        todatatzs(patientInfo.value.datetime)
       }
       inputRef.value.focus();
 

--
Gitblit v1.8.0