From 2510046e4e09c929cdb0d5adcecde62fd3a20cf4 Mon Sep 17 00:00:00 2001
From: chenyincheng <501753378@qq.com>
Date: 星期六, 07 一月 2023 11:45:19 +0800
Subject: [PATCH] 更新外网订阅
---
src/views/home/index.vue | 270 ++++++++++++++++++++++++++++++++++++------------------
1 files changed, 180 insertions(+), 90 deletions(-)
diff --git a/src/views/home/index.vue b/src/views/home/index.vue
index 90871f2..b9c42f8 100644
--- a/src/views/home/index.vue
+++ b/src/views/home/index.vue
@@ -1,6 +1,7 @@
<script lang="ts">
import { userInfoStore } from '@/stores/userInfo'
import { sockteStore } from '@/stores/sockteInfo'
+import { ipcRenderer } from 'electron'
import { patientInfoStore } from '@/stores/patient'
import os from "os"
import { reactive, computed, toRefs, onMounted, ref, watch } from "vue"
@@ -10,10 +11,22 @@
import state2 from '@/assets/state2.png'
import state3 from '@/assets/state3.png'
import logo from '@/assets/LOGO.png'
+import step6 from '@/assets/mp3/step6.mp3'
+import step5 from '@/assets/mp3/step5.mp3'
+import step4 from '@/assets/mp3/step4.mp3'
+import step3 from '@/assets/mp3/step3.mp3'
+import step2 from '@/assets/mp3/step2.mp3'
+import step1 from '@/assets/mp3/step1.mp3'
+import step7 from '@/assets/mp3/chongfuchengzhong.mp3'
+import login from '@/views/login/index.vue'
+import { confingInfoStore } from '@/stores/StoresConfing'
export default {
+ name: 'hoem',
+ components: { login },
setup() {
let timer: any = 0
+ const loginRef = ref();
const user = userInfoStore()
const sockte = sockteStore()
const inputRef = ref()
@@ -22,6 +35,10 @@
const AudioRef2 = ref()
const AudioRef3 = ref()
const AudioRef4=ref()
+ const AudioRef5=ref()
+ const AudioRef7=ref()
+ let patientCodeLs=''
+ const isUseFaceRecogService=ref(false)
const isLink = computed(() => {
return !sockte.isLink
})
@@ -93,7 +110,15 @@
console.log(timer)
}
const state = reactive({
+ caozuo:0,// 点击10下才能关闭
logo:logo,
+ step5:step5,
+ step4:step4,
+ step3:step3,
+ step7:step7,
+ step2:step2,
+ step1:step1,
+ step6:step6,
state1:state1,
state2:state2,
state3:state3,
@@ -106,64 +131,92 @@
aimTSL: '',// 目标脱水量,
gao_ya: "",//高压
di_ya: "",//低压
- mai_bu: ""//脉搏
+ mai_bu: "",//脉搏,
+ haodu:"0px",
})
watch(
() => patientInfo.value.datetime,
() => {
- 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()
+ console.log('患者信息变化',patientInfo.value)
+ patientCodeLs=''
+ console.log(patientCodeLs,'患者codec初始化')
+
+ 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()
- }else{
- if(patientInfo.value.name===''){
- AudioRef4.value.play();
+ }
+ // 没有找到患者
+ else if(patientInfo.value.name===''){
+ AudioRef4.value.play();
+ if(isUseFaceRecogService.value){
+ state.dialogVisible=true
}
-
- }
+ return
+ }
+ // 没有排班
+ else if(patientInfo.value.isScheduled===0){
+ AudioRef5.value.play();
+ if(isUseFaceRecogService.value){
+ state.dialogVisible=true
+ }
+ return
+ }
}
- )
+ );
watch(
() => weightInfo.value.resultTime,
() => {
- settime()
- console.log("体重变化了")
+ console.log("体重变化了",weightInfo.value)
// AudioRef2.value.play()
if (patientInfo.value.id === 0) {
AudioRef0.value.play()
+ // inputRef.value.focus();
+
}
else {
- AudioRef2.value.play()
- // 发送结果到sockte服务
- const mode = {
- patientCode: patientInfo.value.code,
- weight: weightInfo.value.result,
- bloodPressure: ''
+ if(weightInfo.value.result!=="0"){
+ // 发送结果到sockte服务
+ const mode = {
+ patientCode: patientInfo.value.code,
+ weight: weightInfo.value.result,
+ bloodPressure: ''
+ }
+ console.log('发送患者结果,前提是患者code 不能重复', mode)
+ if(patientCodeLs!==mode.patientCode){
+ console.log('发送患者结果')
+ AudioRef2.value.play()
+ sendPationSet(mode)
+ patientCodeLs=mode.patientCode
+ }
+ else{
+ console.log(`patientCodeLs===${patientCodeLs} ,mode.patCode${mode.patientCode}`)
+ AudioRef7.value.play()
+ }
+ // 计算目标脱水量
+ if (Number(weightInfo.value.result) > 0 && Number(patientInfo.value.pureWeight) !== 0) {
+ state.aimTSL = (Number(weightInfo.value.result) - Number(patientInfo.value.pureWeight)).toFixed(2)
+ }
}
- 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)).toFixed(2)
- }
+
}
}
- )
+ );
watch(
() => xyjInfo.value.resultTime,
() => {
@@ -176,6 +229,7 @@
}
if (patientInfo.value.id === 0) {
AudioRef0.value.play()
+ // inputRef.value.focus();
settime()
} else {
AudioRef3.value.play()
@@ -195,10 +249,11 @@
state.mai_bu = ""
}
}
- )
+ );
watch(
() => dkqInfo.value.resultTime,
() => {
+ state.dialogVisible=false
console.log(dkqInfo.value,'读卡器')
if (dkqInfo.value.result !== ''&&dkqInfo.value.result !== undefined) {
const code=dkqInfo.value.result.split(",")[0]
@@ -206,61 +261,91 @@
sendPationCode(code)
}
}
- )
+ );
watch(() => viewNumber,
() => {
state.clockNum = viewNumber.value
}
- )
+ );
const inputChabge = () => {
sendPationCode(state.inputCode)
setTimeout(function () {
state.inputCode = ''
}, 1000)
}
+ const guyanbi=()=>{
+ state.caozuo++
+ if(state.caozuo>10){
+ ipcRenderer.send('winClose')
+ }
+ console.log(state.caozuo)
+ }
onMounted(() => {
console.log('页面初始化', os.hostname())
+ console.log('页面初始化读取配置文件',confingInfoStore().confingInfo)
+ // 是否开启脸识别
+ isUseFaceRecogService.value=confingInfoStore().confingInfo.isUseFaceRecogService
+ if(isUseFaceRecogService.value){
+ state.dialogVisible=true
+ }
+ state.haodu=(document.documentElement.clientHeight-180)/2+'px'
state.clockNum = patientInfoStore().viewNumber
- setTimeout(function () {
- console.log('7秒后操作')
- inputRef.value.focus();
- }, 7000)
setInterval(function () {
- state.Newdate = formatDate(new Date(), "YYYY-mm-dd HH:MM:SS")
+ console.log('sockte链接成功指标指向input',isLink.value)
+ inputRef.value.focus();
}, 1000)
+
})
return {
- ...toRefs(state), isLink, netLink, weightInfo, patientInfo, xyjInfo, inputRef, AudioRef0, AudioRef, AudioRef4, AudioRef2, AudioRef3, inputChabge
+ ...toRefs(state), guyanbi, loginRef,isLink, netLink, weightInfo, patientInfo, xyjInfo, inputRef, AudioRef0, AudioRef, AudioRef4,AudioRef5, AudioRef2, AudioRef3,AudioRef7, inputChabge
}
}
}
</script>
<template>
- <div class="pagehome">
+ <div >
+ <div class="pagehome">
+ <el-dialog v-model="dialogVisible" width="80%" center :show-close="false">
+ <template>
+ <div class="my-header">
+ <h4>人脸识别中。。。</h4>
+ </div>
+ </template>
+ <login ref="loginRef" />
+ </el-dialog>
+ </div>
<!-- 提醒刷卡 -->
- <audio src="https://dhcdn.leon056.com/hemo/autoselfsign/step1.mp3" ref="AudioRef0" id="eventAudio2"></audio>
+ <audio :src="step1" ref="AudioRef0" id="eventAudio1"></audio>
<!-- 患者信息读取成功 -->
- <audio src="https://dhcdn.leon056.com/hemo/autoselfsign/step2.mp3" ref="AudioRef" id="eventAudio2"></audio>
+ <audio :src="step2" ref="AudioRef" id="eventAudio2"></audio>
<!-- 体重结果回传成功 -->
- <audio src="https://dhcdn.leon056.com/hemo/autoselfsign/step3.mp3" ref="AudioRef2" id="eventAudio3"></audio>
+ <audio :src="step3" ref="AudioRef2" id="eventAudio3"></audio>
<!-- 血压结果回传成功 -->
- <audio src="https://dhcdn.leon056.com/hemo/autoselfsign/step4.mp3" ref="AudioRef3" id="eventAudio4"></audio>
+ <audio :src="step4" ref="AudioRef3" id="eventAudio4"></audio>
<!-- 没有找到患者 -->
- <audio src="https://dhcdn.leon056.com/hemo/autoselfsign/step5.mp3" ref="AudioRef4" id="eventAudio5"></audio>
+ <audio :src="step5" ref="AudioRef4" id="eventAudio5"></audio>
+ <!-- 没有找到排班 -->
+ <audio :src="step6" ref="AudioRef5" id="eventAudio6"></audio>
+ <!-- 不能重复称重 -->
+ <audio :src="step7" ref="AudioRef7" id="eventAudio7"></audio>
<el-dialog title="提示" v-model="netLink" width="30%">
<span>无法链接到网络!</span>
</el-dialog>
<el-dialog title="提示" v-model="isLink" width="30%">
<span>sockte连接失败正在重连。。。。。。</span>
</el-dialog>
+ <!-- <div>
+ <el-button type="primary" @click="dialogVisible=true" size="small">测试</el-button>
+ </div> -->
<el-row class="header">
<el-col :span="8">
- <img
+ <img
class="image_1"
referrerpolicy="no-referrer"
:src="logo"
/>
- <el-input
+ <div class="inpu" >
+ <el-input
v-model="inputCode"
ref="inputRef"
id="inputCode"
@@ -268,9 +353,10 @@
@change="inputChabge"
placeholder="请输入患者卡号或扫描条码"
/>
+ </div>
</el-col>
<el-col :span="8" class="titleText">
- <span class="text_1">自助签到</span> <span class="text_2"></span>
+ <span class="text_1" @click="guyanbi">自助签到</span> <span class="text_2"></span>
</el-col>
<el-col :span="8" class="inputcla">
@@ -282,15 +368,15 @@
</el-row>
<el-row :gutter="20">
<el-col :span="12">
- <div class="divcol">
- <el-row>
+ <div class="divcol" :style="{height:haodu}">
+ <el-row style="width: 100%; height: 100%">
<el-col :span="8" class="imgclass">
- <el-image style="width: 100%; height: 320px" src="https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg" fit="cover" />
+ <el-image style="width: 100%; height: 85%" :src="patientInfo.patientAvatarIcon" fit="cover" />
</el-col>
<el-col :span="15" class="userinfo">
<el-row>
<el-col :span="12">
- <div class="lableclass">
+ <div class="lableclass" >
姓名:
</div>
</el-col>
@@ -301,7 +387,7 @@
</el-col>
</el-row>
- <el-row style="margin-top: 63px;">
+ <el-row style="margin-top: 10%;">
<el-col :span="12">
<div class="lableclass">
透析号:
@@ -318,7 +404,7 @@
</div>
</el-col>
<el-col :span="12">
- <div class="divcol">
+ <div class="divcol" :style="{height:haodu}">
<el-row class="titleHand">
<el-col :span="12">
<div class="tilaft">
@@ -350,15 +436,16 @@
</el-row>
<el-row class="divbody">
<div class="bodeText">
- {{ gao_ya }}/{{ di_ya }}
+ {{ Number(gao_ya) }}/{{ Number(di_ya) }}
+ <br/>{{Number(mai_bu)}}
</div>
</el-row>
</div>
</el-col>
</el-row>
- <el-row :gutter="60">
+ <el-row style="margin-top: 20px;" :gutter="20">
<el-col :span="12">
- <div class="divcol">
+ <div class="divcol" :style="{height:haodu}">
<el-row class="rowdiv">
<el-col :span="12">
<div class="lableclass">
@@ -398,7 +485,7 @@
</div>
</el-col>
<el-col :span="12">
- <div class="divcol">
+ <div class="divcol" :style="{height:haodu}">
<el-row class="titleHand">
<el-col :span="12">
<div class="tilaft">
@@ -439,24 +526,28 @@
</div>
</template>
-<style>
+<style lang="less" scoped>
body{
background: #F3F6FE;
+ padding: 0;
}
+.inpu{
+ margin-top: 20px;
+}
.header{
- height: 42px;
+ height: 40px;
background: #FFFFFF;
-box-shadow: 1px 3px 5px 0px #E9E9E9;
+ box-shadow: 1px 3px 5px 0px #E9E9E9;
margin-bottom: 10px;
}
.inputcla{
padding-top: 5px;
text-align: right;
font-size: 27px;
-font-family: PingFangSC-Medium, PingFang SC;
-font-weight: 500;
-color: #FF7472;
+ font-family: PingFangSC-Medium, PingFang SC;
+ font-weight: 500;
+ color: #FF7472;
}
.titleText{
@@ -472,17 +563,17 @@
box-shadow: 1px 2px 4px 0px rgba(201, 223, 246, 0.5);
background-color: rgba(255, 255, 255, 1);
border-radius: 20px;
- height: 466px;
- margin: 0 20px 20px 0;
+ height: 426px;
padding-left: 1.5rem;
- padding-top: 1.5rem;
+ padding-top: 5%;
padding-right: 0.5rem;
background: #FFFFFF;
}
.rowdiv{
/* background: #769AFF; */
+ font-size: 300%;
height: 15%;
- margin-top: 10%;
+ margin-top: 5%;
}
.titleHand{
/* background: #769AFF; */
@@ -490,7 +581,7 @@
}
.tilaft{
text-align: left;
- font-size: 30px;
+ font-size: 300%;
font-family: AlibabaPuHuiTi-Regular, AlibabaPuHuiTi;
font-weight: 400;
color: #333333;
@@ -502,7 +593,7 @@
padding-left: 5px;
}
.divbody{
- height: 85%;
+ height: 70%;
width: 100%;
display:table;
}
@@ -511,7 +602,7 @@
vertical-align:middle;
width: 100%;
text-align: center;
- font-size: 120px;
+ font-size: 700%;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #769AFF;
@@ -519,18 +610,17 @@
}
.imgclass{
/* background: red; */
- height: 440px;
- padding-top: 60px;
+ height: 100%;
+ /* padding-top: 5%; */
/* padding-top: ; */
}
.userinfo{
- padding-top: 120px;
- font-size: 30px;
- text-align: right;
+ padding-top: 6%;
/* background: #769AFF; */
+ font-size: 300%;
+ text-align: right;
}
.lableclass{
- font-size: 30px;
text-align: right;
font-weight: 400;
color: #777777;
@@ -539,13 +629,13 @@
}
.textclass{
text-align: left;
- font-size: 30px;
-font-family: AlibabaPuHuiTi-Medium, AlibabaPuHuiTi;
-font-weight: 500;
-color: #769AFF;
+ font-family: AlibabaPuHuiTi-Medium, AlibabaPuHuiTi;
+ font-weight: 500;
+ color: #769AFF;
}
+
</style>
--
Gitblit v1.8.0