From dc7afd089a74edf6a9e50d0eb3e0607d09e72548 Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期五, 08 七月 2022 17:15:29 +0800
Subject: [PATCH] confingUpdete

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

diff --git a/src/views/home/index.vue b/src/views/home/index.vue
index 6a67dac..e1a76c2 100644
--- a/src/views/home/index.vue
+++ b/src/views/home/index.vue
@@ -1,15 +1,22 @@
 <script lang="ts">
 import { userInfoStore } from '@/stores/userInfo'
 import { sockteStore } from '@/stores/sockteInfo'
+import { patientInfoStore } from '@/stores/patient'
 import { ipcRenderer } from 'electron'
-import { reactive,computed, toRefs,onMounted ,ref} from "vue"
-import{sendPationCode} from '../../samples/sockteStomp'
+import os from "os"
+import { reactive,computed, toRefs,onMounted ,ref,watch} from "vue"
+import{sendPationCode,sendPationSet} from '../../samples/sockteStomp'
 import {formatDate} from '@/utils/formatTime'
  export default {
         setup() {
+            let  timer:any=0
             const user = userInfoStore()
             const sockte= sockteStore()
             const inputRef=ref()
+            const AudioRef0=ref()
+            const AudioRef=ref()
+            const AudioRef2=ref()
+            const AudioRef3=ref()
             const isLink= computed(()=>{
                 return !sockte.isLink
             }) 
@@ -19,36 +26,178 @@
             const weightInfo= computed(()=>{
                 return sockte.weightSockte
             })
+            const xyjInfo= computed(()=>{
+                return sockte.xyjSockte
+            })
+            const patientInfo=computed(()=>{
+                return patientInfoStore().patientInfo
+            })
+            const viewNumber=computed(()=>{
+                return patientInfoStore().viewNumber
+            })
+
+            const settime=()=>{
+                // 计数倒计时
+                state.clockNum=patientInfoStore().viewNumber
+                // 清除定时器
+                clearInterval(state.timerNum)
+                console.log('------------------')
+                timer= setInterval(() => {
+                    if (state.clockNum > 0) {
+                        state.clockNum--
+                    }
+                    else {
+                        clearInterval(timer)
+                        patientInfoStore().setpatientInfo({
+                            id:0,
+                            code:'',
+                            name:'',
+                            patientAvatarIcon:'',
+                            deviceCode:'',
+                            hemoCode:'',
+                            pureWeight:''
+                        })
+                        state.clockNum = patientInfoStore().viewNumber
+                    }
+                }, 1000)
+                // 记录定时器
+                state.timerNum=timer
+                console.log(timer)
+            }
             const state=reactive({
                 dialogVisible:false,
                 isActive:false,
                 inputCode:"",
-                Newdate:""
+                Newdate:"",
+                clockNum:60,
+                timerNum:0,//定时器数
+                aimTSL:0,// 目标脱水量,
+                gao_ya:"",//高压
+                di_ya:"",//低压
+                mai_bu:""//脉搏
             })
+            watch(
+                ()=>patientInfo.value.id,
+                ()=>{
+                    console.log('患者变化了',patientInfo)
+                    if(patientInfo.value.id!==0)
+                    {
+                        AudioRef.value.play();
+                        sockteStore().setweightSockte({
+                            type:"体重秤",
+                            state:2,
+                            deviceName:"",
+                            result:"0",
+                            resultTime:""
+                        })
+                        sockteStore().setxyjSockte({
+                            type:"血压计",
+                            state:2,
+                            deviceName:"",
+                            result:"",
+                            resultTime:""
+                        })
+                        settime()
+                       
+                    }
+                }
+            )
+            watch(
+                ()=>weightInfo.value.resultTime,
+                ()=>{
+                    settime()
+                    console.log("体重变化了")
+                    // AudioRef2.value.play()
+                    if(patientInfo.value.id===0){
+                        AudioRef0.value.play()
+                    }
+                    else{
+                        AudioRef2.value.play()
+                        // 发送结果到sockte服务
+                        const mode={
+                            patientCode:patientInfo.value.code,
+                            weight:weightInfo.value.result,
+                            bloodPressure:''
+
+                        }
+                        console.log('发送患者结果',mode)
+                        sendPationSet(mode)
+                        // 计算目标脱水量
+                        if(Number(weightInfo.value.result)>0&&Number(patientInfo.value.pureWeight)!==0){
+                            state.aimTSL=Number(weightInfo.value.result)-Number(patientInfo.value.pureWeight)
+                        }
+                    }
+                }
+            )
+            watch(
+                ()=>xyjInfo.value.resultTime,
+                ()=>{
+                    if(xyjInfo.value.result!==''){
+                        const list=xyjInfo.value.result.split(',')
+                        if(list.length===3){ 
+                            state.gao_ya=list[0]
+                            state.di_ya=list[1]
+                            state.mai_bu=list[2]
+                        }
+                        if(patientInfo.value.id===0){
+                            AudioRef0.value.play()
+                            settime()
+                        }else{
+                            AudioRef3.value.play()
+                            settime()
+                            const mode={
+                                patientCode:patientInfo.value.code,
+                                weight:weightInfo.value.result,
+                                bloodPressure:xyjInfo.value.result
+
+                            }
+                            console.log('发送患者结果',mode)
+                            sendPationSet(mode)
+                        }    
+                    }else{
+                        state.gao_ya=""
+                        state.di_ya=""
+                        state.mai_bu=""
+                    }
+                }
+            )
+            watch(()=>viewNumber,
+                ()=>{
+                    state.clockNum=viewNumber.value
+                }
+            )
             const inputChabge=()=>{
                 sendPationCode(state.inputCode)
+                setTimeout(function(){
+                    state.inputCode=''
+                },1000)
             }
             onMounted(() => {
-                console.log('Component is mounted!')
-                inputRef.value.focus();
-                console.log(inputRef)
+                console.log('页面初始化',os.hostname())
+                state.clockNum=patientInfoStore().viewNumber
                 setTimeout(function(){
-                    // state.inputCode="3434"
-                    console.log('-----------sdsds')
+                    console.log('7秒后操作')
                     inputRef.value.focus();
-                },10000)
+                },7000)
                 setInterval(function(){
                     state.Newdate=formatDate(new Date(),"YYYY-mm-dd HH:MM:SS")
-                    console.log(state.Newdate,'----ss')
                 },1000)
             })
-            return{ ...toRefs(state),isLink,netLink,weightInfo,inputRef,inputChabge
+            return{ ...toRefs(state),isLink,netLink,weightInfo,patientInfo,inputRef,AudioRef0,AudioRef,AudioRef2,AudioRef3,inputChabge
             }
         }
     }
 </script>
 <template>
     <div class="home">
+        <!-- 提醒刷卡 -->
+        <audio src="https://dhcdn.leon056.com/hemo/autoselfsign/step1.mp3" ref="AudioRef0" id="eventAudio"></audio>
+        <!-- 患者信息读取成功 -->
+        <audio src="https://dhcdn.leon056.com/hemo/autoselfsign/step2.mp3" ref="AudioRef" id="eventAudio"></audio>
+        <!-- 体重结果回传成功 -->
+        <audio src="https://dhcdn.leon056.com/hemo/autoselfsign/step3.mp3" ref="AudioRef2" id="eventAudio"></audio>
+        <!-- 血压结果回传成功 -->
+        <audio src="https://dhcdn.leon056.com/hemo/autoselfsign/step4.mp3" ref="AudioRef3" id="eventAudio"></audio>
         <el-dialog
             title="提示"
             v-model="netLink"
@@ -67,10 +216,16 @@
                     <img class="imgss" alt="Vue logo" src="@/assets/logo.png" />
                 </div>
             </el-col>
-            <el-col :span="12">
+            <el-col :span="6">
                 <!-- <div> sockte连接状态{{isLink}}</div>
                 <div> 网络连接状态{{netLink}}</div> -->
                 <el-input id="inputCode" @change="inputChabge" v-model="inputCode" ref="inputRef" placeholder="" />
+
+            </el-col>
+            <el-col :span="6">
+                <div class="datess">
+                    {{clockNum}}
+                </div>
             </el-col>
         </el-row>
         <div class="grid-container">
@@ -79,9 +234,9 @@
                     shape="square"
                     :size="100"
                     fit="cover"
-                    src="https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg"
+                    :src="patientInfo.patientAvatarIcon"
                 />
-                <div class="zsf">张三丰</div>
+                <div class="zsf">{{patientInfo.name}}</div>
             </div>
             <div class="grid-item">
                 <div class="lableText">当前时间:</div>
@@ -89,19 +244,19 @@
             </div>
             <div class="grid-item">
                 <div class="lableText">透析号:</div>
-                <div class="conText">123456</div>
+                <div class="conText">{{patientInfo.hemoCode}}</div>
             </div>
             <div class="grid-item">
                 <div class="lableText">机号:</div>
-                <div class="conText">001</div>
+                <div class="conText">{{patientInfo.deviceCode}}</div>
             </div>
             <div class="grid-item">
                 <div class="lableText">序号:</div>
-                <div class="conText">10</div>
+                <div class="conText">0</div>
             </div>
             <div class="grid-item">
                 <div class="lableText">干体重(kg):</div>
-                <div class="conText">88</div>
+                <div class="conText">{{patientInfo.pureWeight}}</div>
             </div>
             <div class="grid-item" >
                 <div>
@@ -113,11 +268,11 @@
             </div>
             <div class="grid-item">
                 <div class="lableText">目标脱水量:</div>
-                <div class="conText">2</div>
+                <div class="conText">{{aimTSL}}</div>
             </div>
             <div class="grid-item">
                 <div class="lableText">血压:</div>
-                <div class="conText">140/90</div>
+                <div class="conText">{{gao_ya}}/{{di_ya}}</div>
             </div>
         </div>
     </div>
@@ -175,4 +330,12 @@
     background: #c1c2c6;
     color: black;
 }
+.datess{
+    text-align: right;
+    padding-right: 20px;
+    height: 30px;
+    line-height: 30px;
+    color: red;
+    font-weight: 1000;
+}
 </style>
\ No newline at end of file

--
Gitblit v1.8.0