From c587f3499ca5eebf81374cf77ed1e0694f8c236b Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期一, 21 四月 2025 15:13:05 +0800
Subject: [PATCH] gx
---
src/views/deviceWindoes2.vue | 642 ++++++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 550 insertions(+), 92 deletions(-)
diff --git a/src/views/deviceWindoes2.vue b/src/views/deviceWindoes2.vue
index 1655f15..1ed4985 100644
--- a/src/views/deviceWindoes2.vue
+++ b/src/views/deviceWindoes2.vue
@@ -54,7 +54,7 @@
</div>
</el-row>
</div>
- <div class="chongjian" style="height: 54%;">
+ <div class="chongjian" style="height: 50%;">
<el-row :gutter="20" style="height: 100%; padding: 20px;">
<el-col :span="6" style="height: 100%;">
<div style="height: 100%">
@@ -71,19 +71,20 @@
</div>
</div>
</el-col>
+ <!-- 床旁显示血压计有数据的时候 -->
<template v-if="床旁血压计.zuihouTime>shishiTime">
<el-col :span="18" style="height: 100%;">
<el-row style="height: 50%; ">
<div style="width: 100%; height: 100%;border-radius: 8px;">
<div class="item" style="background-color: #ffffff;height: 97%;">
- <div style="height: 30%;">
+ <div style="height: 25%;">
<div class="container-cord" style="height: 100%;">
- <img style="width: 35px;" referrerpolicy="no-referrer" :src="tsl"
+ <img style="width: 25px;" referrerpolicy="no-referrer" :src="tsl"
/>
<span class="text-group_3">血压</span>
</div>
</div>
- <div style="height: 70%; text-align: center;font-weight: 600;font-size: 92px;color: #70A3DD;" class="grid-container" >
+ <div style="height: 75%; text-align: center;font-weight: 600;font-size: 65px;color: #70A3DD;" class="grid-container" >
{{床旁血压计.sbp}} / {{床旁血压计.dbp}}
</div>
</div>
@@ -93,14 +94,14 @@
<el-row style="height: 50%;">
<div style="width: 100%; height: 100%;border-radius: 8px;">
<div class="item" style="background-color: #ffffff;height: 97%;">
- <div style="height: 30%;">
+ <div style="height: 25%;">
<div class="container-cord" style="height: 100%;">
- <img style="width: 32px;" referrerpolicy="no-referrer" :src="xinlv"
+ <img style="width: 25px;" referrerpolicy="no-referrer" :src="xinlv"
/>
<span class="text-group_3">心率</span>
</div>
</div>
- <div style="height: 70%; text-align: center;font-weight: 600;font-size: 92px;color: #70A3DD;" class="grid-container" >
+ <div style="height: 75%; text-align: center;font-weight: 600;font-size: 65px;color: #70A3DD;" class="grid-container" >
{{床旁血压计.pulseRate}}
</div>
</div>
@@ -109,6 +110,88 @@
</el-row>
</el-col>
</template>
+ <!-- 未签到 -->
+ <template v-else-if="Number(deviceData.透析状态)===0">
+ <el-col :span="18" style="height: 100%;">
+ <el-row :gutter="20" style="width: 100%; height: 100%;">
+ <el-col :span="14" style="height: 100%;">
+ <div class="container-weiqiandao" >
+ <div class="item-weiqiandao" style="background: #E5EEFF;border-radius: 8px;">
+ <div class="container-cord" style="height: 30px;">
+ <img style="width: 25px;" referrerpolicy="no-referrer" :src="tsl"
+ />
+ <span class="text-group_3">治疗模式</span>
+ </div>
+ <div class="container-body" style="height: calc(100% - 30px);width: 100%;">
+ <div class="container-body-text" style="color: #3A75B8;font-size: 30px;" >
+ <span style="font-size: 30px;" v-if="deviceData.透析方案 ==='HDF'"> {{deviceData?.置换方式==='前置换'?'前':'后'}}</span> {{ deviceData.透析方案 }}
+ </div>
+
+ </div>
+ </div>
+ <div class="item-weiqiandao" style="background: #F9DEDE;border-radius: 8px;">
+ <div class="container-cord" style="height: 30px;">
+ <img style="width: 25px;" referrerpolicy="no-referrer" :src="tsl"
+ />
+ <span class="text-group_3">人工肾</span>
+ </div>
+ <div class="grid-container" style="height: calc(100% - 30px);width: 100%;font-size: 28px;">
+ <div class="grid-container-text" style="color: #A78718;" v-for="(item,index) in deviceData.透析器列表" :style="{fontSize:deviceData.透析器列表.length>1?'22px':'28px'}" :key="index">
+ <div class="left-div">{{item.name}}</div>
+ <div class="right-div">{{item.数量}}{{item.单位}}</div>
+ </div>
+ </div>
+ </div>
+ <div class="item-weiqiandao" style="background: #D9F0E2;border-radius: 8px;">
+ <div class="container-cord" style="height: 30px;">
+ <img style="width: 25px;" referrerpolicy="no-referrer" :src="tsl"
+ />
+ <span class="text-group_3">一次性循环管路</span>
+ </div>
+ <div class="grid-container" style="height: calc(100% - 30px);width: 100%;font-size: 28px;">
+ <div class="grid-container-text" style="color: #3AB859;" v-for="(item,index) in deviceData.管路列表" :style="{fontSize:deviceData.管路列表.length>1?'22px':'28px'}" :key="index">
+ <div class="left-div">{{item.name}}</div>
+ <div class="right-div">{{item.数量}}支</div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ </el-col>
+ <el-col :span="10" style="height: 100%;">
+ <div class="container-weiqiandao">
+ <div class="item-weiqiandao" style="background: #F6F5FA;border-radius: 8px;">
+ <div class="container-cord" style="height: 30px;">
+ <img style="width: 25px;" referrerpolicy="no-referrer" :src="txztimg"
+ />
+ <span class="text-group_3">治疗状态</span>
+ </div>
+ <div class="container-body" style="height: calc(100% - 30px);width: 100%;">
+ <div class="container-body-text" style="color: #333333; font-size: 50px;">
+ {{txztText}}
+ </div>
+ </div>
+ </div>
+ <div class="item-weiqiandao" style="background: #EFE5FF;border-radius: 8px;">
+ <div class="container-cord" style="height: 30px;">
+ <img style="width: 25px;" referrerpolicy="no-referrer" :src="tsl"
+ />
+ <span class="text-group_3">透析液</span>
+ </div>
+ <div class="grid-container" style="height: calc(100% - 30px);width: 100%;font-size: 28px;">
+ <div class="grid-container-text" style="color: #3AB859;" :style="{fontSize:deviceData.透析液列表.length>1?'22px':'28px'}" v-for="(item,index) in deviceData.透析液列表" :key="index">
+ <div class="left-div">{{item.name}}</div>
+ <div class="right-div">{{item.数量}}{{item.单位}}</div>
+ </div>
+ </div>
+ </div>
+
+ </div>
+ </el-col>
+ </el-row>
+ </el-col>
+ </template>
+ <!-- 治疗中 -->
<template v-else>
<el-col :span="18" style="height: 100%;">
<el-row style="height: 50%; padding-bottom: 10px;">
@@ -116,42 +199,44 @@
<el-row style="height: 100%;" :gutter="10">
<el-col class="itemboy" style="height:100%" :span="7">
<div class="item" style="background-color: #ffffff;height: 97%;">
- <div style="height: 30%;">
+ <div style="height: 25%;">
<div class="container-cord" style="height: 100%;">
- <img style="width: 32px;" referrerpolicy="no-referrer" :src="zlms"
+ <img style="width: 25px;" referrerpolicy="no-referrer" :src="zlms"
/>
<span class="text-group_3">治疗模式</span>
</div>
</div>
- <div style="height: 70%; text-align: center;font-weight: 600;font-size: 48px;color: #D58E56;" class="grid-container" >
- {{ deviceData.透析方案 }}
+ <div style="height: 75%; text-align: center;font-weight: 600;font-size: 50px;color: #D58E56;" class="grid-container" >
+ <div>
+ <span style="font-size: 30px;" v-if="deviceData.透析方案 ==='HDF'"> {{deviceData?.置换方式==='前置换'?'前':'后'}}</span> {{ deviceData.透析方案 }}
+ </div>
</div>
</div>
</el-col>
<el-col class="itemboy" style="height:100%" :span="7">
<div class="item" style="background-color: #ffffff;height: 97%;">
- <div style="height: 30%;">
+ <div style="height: 25%;">
<div class="container-cord" style="height: 100%;">
- <img style="width: 32px;" referrerpolicy="no-referrer" :src="txztimg"
+ <img style="width: 25px;" referrerpolicy="no-referrer" :src="txztimg"
/>
<span class="text-group_3">治疗状态</span>
</div>
</div>
- <div style="height: 70%; text-align: center;font-weight: 600;font-size: 48px;color: #70A3DD;" class="grid-container" >
+ <div style="height: 75%; text-align: center;font-weight: 600;font-size: 50px;color: #70A3DD;" class="grid-container" >
{{txztText}}
</div>
</div>
</el-col>
<el-col class="itemboy" style="height:100%" :span="10">
<div class="item" style="background-color: #ffffff;height: 97%;">
- <div style="height: 30%;">
+ <div style="height: 25%;">
<div class="container-cord" style="height: 100%;">
- <img style="width: 32px;" referrerpolicy="no-referrer" :src="txq"
+ <img style="width: 25px;" referrerpolicy="no-referrer" :src="txq"
/>
<span class="text-group_3">人工肾</span>
</div>
</div>
- <div style="height: 70%; text-align: center;font-weight: 600;font-size: 48px;color: #8079CB;" class="grid-container" >
+ <div style="height: 75%; text-align: center;font-weight: 600;font-size: 50px;color: #8079CB;" class="grid-container" >
{{deviceData.透析器}}
</div>
</div>
@@ -163,46 +248,47 @@
<!-- 签到未签到状态 -->
<div class="container" v-if="Number(deviceData.透析状态) < 1" style="height: 50%; ">
<div class="item" style="background-color: #FFFFFF;">
- <div style="height: 30%;">
+ <div style="height: 25%;">
<div class="container-cord" style="height: 100%;">
- <img style="width: 32px;" referrerpolicy="no-referrer" :src="xinlv"
+ <img style="width: 25px;" referrerpolicy="no-referrer" :src="xinlv"
/>
- <span class="text-group_3">透前血压、心率</span>
+ <span class="text-group_3">异常指标</span>
</div>
</div>
- <div style="height: 70%; text-align: center;font-weight: 600;font-size: 48px;color: #333333;" class="grid-container" >
- <div>
- <span v-if="deviceData.透前血压_伸缩压" :style="{ color: tqXygj ? 'red' : '#303133' }">{{ deviceData.透前血压_伸缩压 }}/</span >
- <span :style="{ color: tqXygj ? 'red' : '#303133' }" style="font-weight: 800; font-size: 200%; white-space: nowrap">{{ deviceData.透前血压_舒张压 }}</span>
- <span v-if="deviceData.透前脉搏" :style="{ color: tqMbgj ? 'red' : '#303133' }" style="font-weight: 800; font-size: 200%; white-space: nowrap"> {{ deviceData.透前脉搏 }}</span>
- </div>
+ <div style="height: 75%; text-align: center;font-weight: 600;font-size: 50px;color: #333333; color: #CA7070;" >
+ <el-row style="font-size: 30px;">
+ <el-col v-for="(row,index) in deviceData.异常检验指标" :span="8" style="font-weight: 700;" :key="index">
+ {{getItemName(row?.项目名称)}} <b v-if="row?.结果标记==='g'" style="font-weight:bold">⬆</b> <b v-else style="font-weight:bold">⬇</b>
+ </el-col>
+ </el-row>
+
</div>
</div>
<div class="item" style="background-color: #ffffff;">
- <div style="height: 30%;">
+ <div style="height: 25%;">
<div class="container-cord" style="height: 100%;">
- <img style="width: 32px;" referrerpolicy="no-referrer" :src="tsl"
+ <img style="width: 25px;" referrerpolicy="no-referrer" :src="tsl"
/>
<span class="text-group_3">处方脱水量</span>
</div>
</div>
- <div style="height: 70%; text-align: center;font-weight: 600;font-size: 48px;color: #8079CB;" class="grid-container" >
- <span v-if="deviceData.处方脱水量"></span>
- {{deviceData.处方脱水量}} L
+ <div style="height: 75%; text-align: center;font-weight: 600;font-size: 50px;color: #8079CB;" class="grid-container" >
+ <span v-if="deviceData.处方脱水量"> {{deviceData.处方脱水量}} L</span>
+
</div>
</div>
</div>
<!-- 透析中状态 -->
<div class="container" v-else style="height: 50%; ">
<div class="item" style="background-color: #FFFFFF;">
- <div style="height: 30%;">
+ <div style="height: 10%;">
<div class="container-cord" style="height: 100%;">
- <img style="width: 32px;" referrerpolicy="no-referrer" :src="sjjd"
+ <img style="width: 25px;" referrerpolicy="no-referrer" :src="sjjd"
/>
<span class="text-group_3">时间进度</span>
</div>
</div>
- <div style="height: 70%; text-align: center;font-weight: 600;font-size: 48px;color: #333333;" class="grid-container" >
+ <div style="height: 90%; text-align: center;font-weight: 600;font-size: 50px;color: #333333;" class="grid-container" >
<div>
<span style="color: #303133">{{
jgTime4(deviceData.iot_透析时间)
@@ -216,7 +302,7 @@
<div>
<el-progress
:text-inside="true"
- :stroke-width="30"
+ :stroke-width="25"
:show-text="false"
color="#70A3DD"
:percentage="(Number(deviceData.iot_透析时间)/(Number(deviceData.透析处方的时长)*60))*100"
@@ -226,14 +312,14 @@
</div>
</div>
<div class="item" style="background-color: #ffffff;">
- <div style="height: 30%;">
+ <div style="height: 10%;">
<div class="container-cord" style="height: 100%;">
- <img style="width: 32px;" referrerpolicy="no-referrer" :src="cljd"
+ <img style="width: 25px;" referrerpolicy="no-referrer" :src="cljd"
/>
<span class="text-group_3">超滤进度</span>
</div>
</div>
- <div style="height: 70%; text-align: center;font-weight: 600;font-size: 48px;color: #8079CB;" class="grid-container" >
+ <div style="height: 90%; text-align: center;font-weight: 600;font-size: 50px;color: #8079CB;" class="grid-container" >
<div>
<span style="color: #303133">{{
Number(deviceData.iot_当前脱水量).toFixed(1)
@@ -248,7 +334,7 @@
<div>
<el-progress
:text-inside="true"
- :stroke-width="30"
+ :stroke-width="25"
:show-text="false"
color="#70CAAE"
:percentage=" Number(deviceData.iot_当前脱水量)/Number(deviceData.处方脱水量)*100"
@@ -262,73 +348,78 @@
</el-row>
</div>
-
-
- <div class="mowei" style="height: 35%; ">
+ <!-- 治疗中 -->
+ <div class="mowei" style="height: 39%;" v-if="Number(deviceData.透析状态) >0">
<el-row style="height: 100%; padding:0px 20px 10px 20px">
<div v-if="Number(deviceData.透析状态) < 1" style="height: 70%;width: 100%;">
<div class="container">
<div class="item">
- <div style="height: 30%;">
+ <div style="height: 25%;">
<div class="container-cord" style="height: 100%;">
- <img style="width: 32px;" referrerpolicy="no-referrer" :src="tizhong"
+ <img style="width: 25px;" referrerpolicy="no-referrer" :src="tizhong"
/>
<span class="text-group_3">干体重</span>
</div>
</div>
- <div style="height: 70%; text-align: center;font-weight: 600;font-size: 48px;color: #333333;" class="grid-container" >
+ <div style="height: 75%; text-align: center;font-weight: 600;font-size: 50px;color: #333333;" class="grid-container" >
{{ Number(deviceData.干体重).toFixed(1) }}
</div>
</div>
<div class="item">
- <div style="height: 30%;">
+ <div style="height: 25%;">
<div class="container-cord" style="height: 100%;">
- <img style="width: 32px;" referrerpolicy="no-referrer" :src="tizhong"
+ <img style="width: 25px;" referrerpolicy="no-referrer" :src="tizhong"
/>
<span class="text-group_3" >透前称重</span>
</div>
</div>
- <div style="height: 70%; text-align: center;font-weight: 600;font-size: 48px;color: #333333;" class="grid-container" >
+ <div style="height: 75%; text-align: center;font-weight: 600;font-size: 50px;color: #333333;" class="grid-container" >
{{ Number(deviceData.透前称重).toFixed(1) }}
</div>
</div>
<div class="item">
- <div style="height: 30%;">
+ <div style="height: 25%;">
<div class="container-cord" style="height: 100%;">
- <img style="width: 32px;" referrerpolicy="no-referrer" :src="tizhong"
+ <img style="width: 25px;" referrerpolicy="no-referrer" :src="tizhong"
/>
<span class="text-group_3">上次透后体重</span>
</div>
</div>
- <div style="height: 70%; text-align: center;font-weight: 600;font-size: 48px;color: #333333;" class="grid-container" >
+ <div style="height: 75%; text-align: center;font-weight: 600;font-size: 50px;color: #333333;" class="grid-container" >
{{ Number(deviceData.上次透后称重).toFixed(1) }}
</div>
</div>
<div class="item">
- <div style="height: 30%;">
+ <div style="height: 25%;">
<div class="container-cord" style="height: 100%;">
- <img style="width: 32px;" referrerpolicy="no-referrer" :src="tizhong"
+ <img style="width: 25px;" referrerpolicy="no-referrer" :src="tizhong"
/>
<span class="text-group_3" >体重增长</span>
</div>
</div>
- <div style="height: 70%; text-align: center;font-weight: 600;font-size: 48px;color: #333333;" class="grid-container" >
- +{{
+ <div style="height: 75%; text-align: center;font-weight: 600;font-size: 50px;color: #333333;" class="grid-container" >
+ <template v-if="deviceData.透前称重&&deviceData.干体重&&Number(deviceData.透前称重)>0">
+ +{{
Number(deviceData.透前称重 - deviceData.干体重).toFixed(1)
}}
+ </template>
+
</div>
</div>
<div class="item">
- <div style="height: 30%;">
+ <div style="height: 25%;">
<div class="container-cord" style="height: 100%;">
- <img style="width: 32px;" referrerpolicy="no-referrer" :src="tizhong"
+ <img style="width: 25px;" referrerpolicy="no-referrer" :src="tizhong"
/>
<span class="text-group_3">增长率</span>
</div>
</div>
- <div style="height: 70%; text-align: center;font-weight: 600;font-size: 48px;color: #333333;" class="grid-container" >
- {{ deviceData.体重增长率 }}%
+ <div style="height: 75%; text-align: center;font-weight: 600;font-size: 50px;color: #333333;" class="grid-container" >
+ <template v-if="deviceData.透前称重&&deviceData.干体重">
+ {{ deviceData.体重增长率 }}%
+ </template>
+
</div>
</div>
</div>
@@ -338,19 +429,20 @@
<el-row style="height:100%" :gutter="20">
<el-col :span="6" style="height: 100%; ">
<div class="item" style="height: 100%;padding-bottom: 10px; gap: 10px; /* 设置所有方向的间距为10px */">
- <div style="height: 30%;">
+ <div style="height: 25%;">
<div class="container-cord" style="height: 100%;">
- <img style="width: 32px;" referrerpolicy="no-referrer" :src="xinlv"
+ <img style="width: 25px;" referrerpolicy="no-referrer" :src="xinlv"
/>
- <span class="text-group_3">跨膜压/舒张压</span>
+ <span class="text-group_3">异常指标</span>
</div>
</div>
- <div style="height: 70%; text-align: center;font-weight: 600;font-size: 48px;color: #333333;" class="grid-container" >
- <div>
- <span @click="initTupiao" v-if="deviceData.iot_静脉压" style="color: #409eff">{{ deviceData.iot_静脉压 }}</span> /
- <span v-if="deviceData.iot_跨膜压" :style="{ color: deviceData.iot_跨膜压 > 200 ? 'red' : '', }" >{{ deviceData.iot_跨膜压 }}</span>
- </div>
+ <div style="height: 75%; text-align: center;font-weight: 600;font-size: 50px;color: #333333;color: #CA7070;" >
+ <el-row style="font-size: 30px;">
+ <el-col v-for="(row,index) in deviceData.异常检验指标" :span="12" style="font-weight: 700;" :key="index">
+ {{getItemName(row?.项目名称)}} <b v-if="row?.结果标记==='g'" style="font-weight:bold">⬆</b> <b v-else style="font-weight:bold">⬇</b>
+ </el-col>
+ </el-row>
</div>
</div>
@@ -370,7 +462,7 @@
</el-row>
</div>
<!-- 消息提示一直显示最新的消息 -->
- <div style="height: 30%;width: 100%;background: #FEF0E1;;border-radius: 8px; font-size: 25px;">
+ <div style="height: 30%;width: 100%;background: #FEF0E1;;border-radius: 8px; font-size: 30px;">
<div style="height: 100%;">
<div class="container-cord" style="height: 100%;padding-left: 20PX;">
<img style="width: 25px;"
@@ -378,7 +470,7 @@
src="https://lanhu-oss.lanhuapp.com/SketchPng7d7c4e66d2f3fb56cb7c93cf3b359782ee05a12117f39e9b1836bff686aca428"
/>
- <span class="text-group_3" v-if="isinitXy" >
+ <span class="text-group_3" v-if="isinitXy&&Number(deviceData.透析状态) >= 1" >
最近一次, 高压:{{床旁血压计.sbp}},低压: {{床旁血压计.dbp}}, 心率: {{床旁血压计.pulseRate}}
</span>
<span class="text-group_3" v-else>暂无通知消息哦</span>
@@ -386,6 +478,72 @@
</div>
</div>
+ </el-row>
+ </div>
+ <!-- 未签到 -->
+ <div class="mowei" style="height: 39%;" v-if="Number(deviceData.透析状态) ===0">
+ <el-row gutter="20" style="height: 100%;padding:10px 20px 20px 20px;">
+ <el-col :span="12" style="height: 100%;">
+ <div class="container-weiqiandao" style="height: 100%;" >
+ <div class="item-weiqiandao" style="background: #FFEDD2;border-radius: 8px;">
+ <div class="container-cord" style="height: 30px;">
+ <img style="width: 25px;" referrerpolicy="no-referrer" :src="tsl"
+ />
+ <span class="text-group_3">抗凝剂</span>
+ </div>
+ <div class="grid-container" style="height: calc(100% - 30px);width: 100%;">
+ <div class="grid-container-text" style="color: #A78718;" v-for="(item,index) in deviceData.抗凝剂列表" :style="{fontSize:deviceData.抗凝剂列表.length>1?'22px':'28px'}" :key="index">
+ <div class="left-div">{{item.name}}</div>
+ <div class="right-div">{{item.数量}}{{item.单位}}</div>
+ </div>
+ </div>
+ </div>
+ <div class="item-weiqiandao" style="background: #FFEDD2;border-radius: 8px;">
+ <div class="container-cord" style="height: 30px;">
+ <img style="width: 25px;" referrerpolicy="no-referrer" :src="tsl"
+ />
+ <span class="text-group_3">穿刺针</span>
+ </div>
+ <div class="grid-container" style="height: calc(100% - 30px);width: 100%;font-size: 25px;">
+ <div class="grid-container-text" style="color: #A78718;" v-for="(item,index) in deviceData.穿刺针列表" :style="{fontSize:deviceData.穿刺针列表.length>1?'22px':'28px'}" :key="index">
+ <div class="left-div">{{item.name}}</div>
+ <div class="right-div">{{item.数量}}支</div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ </el-col>
+ <el-col :span="12">
+ <div class="container-weiqiandao" style="height: 100%;" >
+ <div class="item-weiqiandao" style="background: #E5EEFF;border-radius: 8px;">
+ <div class="container-cord" style="height: 30px;">
+ <img style="width: 25px;" referrerpolicy="no-referrer" :src="tsl"
+ />
+ <span class="text-group_3">一次性使用透析护理包</span>
+ </div>
+ <div class="grid-container" style="height: calc(100% - 30px);width: 100%;font-size: 28px;">
+ <div class="grid-container-text" style="color: #1D77BD;" v-for="(item,index) in deviceData.护理包列表" :style="{fontSize:deviceData.护理包列表.length>1?'22px':'28px'}" :key="index">
+ <div class="left-div">{{item.name}}</div>
+ <div class="right-div">{{item.数量}}{{item.单位}}</div>
+ </div>
+ </div>
+ </div>
+ <div class="item-weiqiandao" style="background: #E5EEFF;border-radius: 8px;">
+ <div class="container-cord" style="height: 30px;">
+ <img style="width: 25px;" referrerpolicy="no-referrer" :src="tsl"
+ />
+ <span class="text-group_3">血管通路</span>
+ </div>
+ <div class="grid-container" style="height: calc(100% - 30px);width: 100%;font-size: 28px;">
+ <div class="grid-container-text" style="color: #1D77BD;" v-for="(item,index) in deviceData.血管通路列表" :style="{fontSize:deviceData.血管通路列表.length>1?'22px':'28px'}" :key="index">
+ <div class="left-div">{{item.类型}}</div>
+ <div class="right-div" style="width: 200px;">{{item.位置}}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </el-col>
</el-row>
</div>
</div>
@@ -426,19 +584,168 @@
</div>
</el-row>
</div>
-
- <div style="height: 89%;width: 100%;background: #FEF0E1;;border-radius: 8px; font-size: 100px;">
- <div style="height: 100%;">
- <div class="container-cord" style="height: 100%;padding-left: 20PX;">
- <img style="width: 100px;"
- referrerpolicy="no-referrer"
- src="https://lanhu-oss.lanhuapp.com/SketchPng7d7c4e66d2f3fb56cb7c93cf3b359782ee05a12117f39e9b1836bff686aca428"
- />
- <span class="text-group_3" style="font-size: 100px;">等待患者排班</span>
+ <template v-if="!ispaiban">
+ <div class="chongjian" style="height: 50%;">
+ <el-row :gutter="20" style="height: 100%; padding: 20px;">
+ <el-col :span="7" style="height: 100%;">
+ <div class="container-weiqiandao" style="height: 100%">
+ <div class="item-weiqiandao" style="background: #FFEDD2;border-radius: 8px;height: 100%;">
+ <div class="container-cord" style="height: 30px;">
+ <img style="width: 25px;" referrerpolicy="no-referrer" :src="tsl"
+ />
+ <span class="text-group_3">抗凝剂</span>
+ </div>
+ <div class="grid-container" style="height: calc(100% - 30px);width: 100%;">
+ <div class="scrollable-container" style="height: 100%;">
+ <ul>
+ <li v-for="(item,index) in 当前客户耗材集合.抗凝剂" :key="index">
+ {{item}}
+ </li>
+
+ </ul>
+ </div>
+ </div>
+ </div>
</div>
-
- </div>
+ </el-col>
+ <el-col :span="10">
+ <div class="container-weiqiandao" >
+ <div class="item-weiqiandao" style="background: #E5EEFF;border-radius: 8px;height: 100%;">
+ <div class="container-cord" style="height: 30px;">
+ <img style="width: 25px;" referrerpolicy="no-referrer" :src="tsl"
+ />
+ <span class="text-group_3">透析方案</span>
+ </div>
+ <div class="grid-container" style="height: calc(100% - 30px);width: 100%;">
+ <div class="container-body-text" style="color: #3A75B8;">
+ <template v-for="(item,index) in 当前客户耗材集合.透析模式" :key="index">
+ <span> {{item}}</span><template v-if="当前客户耗材集合.透析模式.length>index+1">,</template>
+ </template>
+
+ </div>
+ </div>
+ </div>
+ <div class="item-weiqiandao" style="background: #D9F0E2;border-radius: 8px;height: 100%;">
+ <div class="container-cord" style="height: 30px;">
+ <img style="width: 25px;" referrerpolicy="no-referrer" :src="tsl"
+ />
+ <span class="text-group_3">一次性血液透析体外循环管路</span>
+ </div>
+ <div class="grid-container" style="height: calc(100% - 30px);width: 100%;">
+ <div class="scrollable-container" style="height: 100%;color: #3AB859;">
+ <ul>
+ <li v-for="(item,index) in 当前客户耗材集合.管路" :key="index">
+ {{item}}
+ </li>
+
+ </ul>
+ </div>
+ </div>
+ </div>
+ <div class="item-weiqiandao" style="background: #F9DEDE;border-radius: 8px;height: 100%;">
+ <div class="container-cord" style="height: 30px;">
+ <img style="width: 25px;" referrerpolicy="no-referrer" :src="tsl"
+ />
+ <span class="text-group_3">一次性使用透析护理包</span>
+ </div>
+ <div class="grid-container" style="height: calc(100% - 30px);width: 100%;">
+ <div class="scrollable-container" style="height: 100%;color: #902D2D;">
+ <ul>
+ <li v-for="(item,index) in 当前客户耗材集合.护理包" :key="index">
+ {{item}}
+ </li>
+
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+ </el-col>
+ <el-col :span="7" style="height: 100%;">
+ <div class="container-weiqiandao" style="height: 100%">
+ <div class="item-weiqiandao" style="background: #EFE5FF;border-radius: 8px;height: 100%;">
+ <div class="container-cord" style="height: 30px;">
+ <img style="width: 25px;" referrerpolicy="no-referrer" :src="tsl"
+ />
+ <span class="text-group_3">一次性使用内瘘穿刺针</span>
+ </div>
+ <div class="grid-container" style="height: calc(100% - 30px);width: 100%;">
+ <div class="scrollable-container" style="height: 100%;color: #A78718;">
+ <ul>
+ <li v-for="(item,index) in 当前客户耗材集合.穿刺针" :key="index">
+ {{item}}
+ </li>
+
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+ </el-col>
+ </el-row>
+ </div>
+ <div class="mowei" style="height: 39%;">
+ <el-row :gutter="20" style="height: 100%;padding:10px 20px 20px 20px;">
+ <el-col :span="12" style="height: 100%">
+ <div class="container-weiqiandao" style="height: 100%">
+ <div class="item-weiqiandao" style="background: #F6F5FA;border-radius: 8px;height: 100%;">
+ <div class="container-cord" style="height: 30px;">
+ <img style="width: 25px;" referrerpolicy="no-referrer" :src="tsl"
+ />
+ <span class="text-group_3">血液透析器</span>
+ </div>
+ <div class="grid-container" style="height: calc(100% - 30px);width: 100%;">
+ <div style="height: 100%;color: #333333;font-weight: 600;">
+ <div>
+ <span v-for="(item,index) in 当前客户耗材集合.透析器" :key="index" style="margin-right: 10px">
+ {{item}}<template v-if="当前客户耗材集合.透析器.length>index+1">,</template>
+ </span>
+
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </el-col>
+ <el-col :span="12">
+ <div class="container-weiqiandao" style="height: 100%">
+ <div class="item-weiqiandao" style="background: #F6F5FA;border-radius: 8px;height: 100%;">
+ <div class="container-cord" style="height: 30px;">
+ <img style="width: 25px;" referrerpolicy="no-referrer" :src="tsl"
+ />
+ <span class="text-group_3">血液透析滤过器</span>
+ </div>
+ <div class="grid-container" style="height: calc(100% - 30px);width: 100%;">
+ <div style="height: 100%;color: #333333;font-weight: 600;">
+ <div>
+ <span v-for="(item,index) in 当前客户耗材集合.滤过器" :key="index" style="margin-right: 10px">
+ {{item}}<template v-if="当前客户耗材集合.滤过器.length>index+1">,</template>
+ </span>
+
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </el-col>
+ </el-row>
+ </div>
+ </template>
+ <template v-else>
+ <div style="height: 89%;width: 100%;background: #FEF0E1;;border-radius: 8px; font-size: 100px;">
+ <div style="height: 100%;">
+ <div class="container-cord" style="height: 100%;padding-left: 20PX;">
+ <img style="width: 100px;"
+ referrerpolicy="no-referrer"
+ src="https://lanhu-oss.lanhuapp.com/SketchPng7d7c4e66d2f3fb56cb7c93cf3b359782ee05a12117f39e9b1836bff686aca428"
+ />
+ <span class="text-group_3" style="font-size: 100px;">等待患者排班</span>
</div>
+
+ </div>
+ </div>
+ </template>
+
</div>
<el-dialog
:show-close="false"
@@ -459,10 +766,15 @@
</el-form-item>
</el-space>
</el-form>
+ <video ref="video" width="300" height="300" autoplay></video>
+ <input type="text" v-model="codeResult" placeholder="扫描结果将会显示在这里">
</span>
<template #footer>
<div class="dialog-footer">
<el-button @click="centerDialogVisible = false">取消</el-button>
+ <el-button type="primary" @click="shaoma">
+ 扫码录入
+ </el-button>
<el-button type="primary" @click="saveSet">
确认
</el-button>
@@ -486,6 +798,7 @@
import cljd from '../img/cljd.png'
import tizhong from '../img/tizhong.png'
import {EventSourcePolyfill} from 'event-source-polyfill';
+ import jsQR from 'jsqr';
import { computed, getCurrentInstance, onBeforeMount, onMounted, ref, watch, watchEffect } from "vue";
import { Local } from '../utils/storage';
import * as echarts from "echarts";
@@ -493,6 +806,7 @@
const { proxy } = getCurrentInstance() as any;
// 在需要使用的组件中引入
import { ChatDotSquare } from '@element-plus/icons-vue';
+ const ispaiban=ref(false)
import { ElMessage } from "element-plus";
// 连接服务器
const source = ref<EventSourcePolyfill | null>(null);
@@ -511,6 +825,7 @@
dbp:'111',
zuihouTime:new Date()
})
+ const 当前客户耗材集合=ref({})
const deviceData = ref({
iot_传输时间: "2025-01-10 19:15:24",
iot_当前脱水量: 2.04,
@@ -527,6 +842,7 @@
实时脱水量: 1.65,
干体重: 69.5,
年龄: 59,
+ 异常检验指标:[],
性别: "男",
患者头像:
"http://dhimg.leon056.com/hemodialysis/face/PAT9090070832211PyVq/face-IMG_20240413_112705.jpg-202404131127536157.jpg",
@@ -673,8 +989,12 @@
],
});
// 告警提示
- const textbaojing = ref("");
- const iscomfig = ref(false);
+ // 识别窗口
+ const video = ref<HTMLVideoElement | null>(null);
+ // 识别文本
+ const codeResult = ref<string>('');
+ // 识别数据流
+ let stream: MediaStream | null = null;
const centerDialogVisible = ref(false);
const background = ref("");
const txztText = ref("");
@@ -866,6 +1186,46 @@
ElMessage.warning('请先输入设备编号')
}
}
+ function captureFrame() {
+ if (!video.value) return;
+
+ const canvas = document.createElement('canvas');
+ const context = canvas.getContext('2d');
+ if (!context || !video.value) return;
+
+ canvas.width = video.value.videoWidth;
+ canvas.height = video.value.videoHeight;
+ context.drawImage(video.value, 0, 0, canvas.width, canvas.height);
+ const imageData = context.getImageData(0, 0, canvas.width, canvas.height);
+
+ // 解析二维码
+ const code = jsQR(imageData.data, imageData.width, imageData.height);
+ if (code) {
+ codeResult.value = code.data;
+ }
+
+ // 定期捕获帧
+ setTimeout(captureFrame, 500);
+ }
+ const startCamera=async()=> {
+ if (video.value) {
+ try {
+ stream = await navigator.mediaDevices.getUserMedia({ video: { facingMode: "environment" } });
+ if (video.value) {
+ video.value.srcObject = stream;
+ video.value.play();
+
+ // 开始捕获帧
+ captureFrame();
+ }
+ } catch (e) {
+ console.error("无法访问摄像头", e);
+ }
+ }
+}
+ const shaoma=()=>{
+ startCamera()
+ }
watch(
() => deviceData.value.设备变化,
() => {
@@ -880,13 +1240,15 @@
//创建链接对象
const creatSource = () => {
// http://testbs.ihemodialysis.com/sse/sseEvent
+ const test='http://testbs.ihemodialysis.com/sse/sseEvent/'
+ // const test='https://backend.ihemodialysis.com/sse/sseEvent/'
const stateArr = [
{ key: 0, value: "正在链接中" },
{ key: 1, value: "已经链接并且可以通讯" },
{ key: 2, value: "连接已关闭或者没有链接成功" },
];
try {
- source.value= new EventSourcePolyfill(`https://backend.ihemodialysis.com/sse/sseEvent/${deviceCode.value}`,{
+ source.value= new EventSourcePolyfill(`${test}${deviceCode.value}`,{
heartbeatTimeout:60000
});
source.value.onopen = (e) => {
@@ -932,15 +1294,14 @@
}else{
deviceData.value.设备名称=dataBody.IOT信息.床号
deviceData.value.患者姓名=''
+ if(dataBody?.使用耗材字典){
+ 当前客户耗材集合.value=dataBody?.使用耗材字典
+ }
}
deviceData.value.设备变化=Date.now() + 'DEV'
- console.log(1)
- console.log(2)
+
deviceData.value.属性历史列表=dataBody?.IOT信息?.属性历史列表
- console.log(3)
-
- console.log(4)
console.log(deviceData.value.设备变化)
deviceData.value.设备状态列表=dataBody.IOT信息.状态列表
@@ -1155,7 +1516,7 @@
show: false,
},
grid: {
- left: 8,
+ left: 20,
top: 0,
bottom: 0,
},
@@ -1169,6 +1530,7 @@
},
},
yAxis: {
+ show:false,
name: "",
type: "value",
min: 20,
@@ -1403,6 +1765,39 @@
console.log(deviceData.value);
}
};
+ const getItemName=(name:string)=>{
+ if(name){
+ if(name==='血红蛋白测定'){
+ return 'Hgb '
+ }
+ else if(name==='铁蛋白'){
+ return 'Fer '
+ }
+ else if(name==='白蛋白'){
+ return 'Alb '
+ }
+ else if(name==='血清铁蛋白'){
+ return 'SF '
+ }
+ else if(name==='钙'){
+ return 'Ga '
+ }
+ else if(name==='钾'){
+ return 'K '
+ }
+ else if(name==='无机磷'){
+ return 'pi '
+ }
+ else if(name==='甲状旁腺激素'){
+ return 'PTH '
+ }else{
+ return name
+ }
+
+ }else{
+ return ''
+ }
+ }
</script>
<style lang="less" scoped>
.divice{
@@ -1523,12 +1918,75 @@
margin-left:10px;
font-family: PingFangSC, PingFang SC;
font-weight: 600;
- font-size: 26px;
- color: #D58E56;
+ font-size: 16px;
}
}
- .itemboy{
+ .container-weiqiandao {
+ display: flex;
+ flex-direction: column;
+ height: 100%;
+ gap: 10px; /* 调整这个值来设置间隔 */
+}
+.item-weiqiandao {
+ flex: 1; /* 确保每个子 div 占据相同的高度 */
+ background-color: lightblue; /* 可以根据需要调整背景颜色 */
+ padding: 10px; /* 添加内边距以美化显示 */
+}
+.container-body{
+ display: flex;
+ justify-content: center; /* 水平居中 */
+ align-items: center; /* 垂直居中 */
+ // padding: 10px;
+}
+.container-body-text {
+ text-align: center; /* 文本水平居中 */
+ white-space: nowrap; /* 防止文本换行 */
+ overflow: hidden; /* 隐藏溢出内容 */
+ text-overflow: ellipsis; /* 使用省略号表示被隐藏的文本 */
+ width: 100%; /* 确保宽度为父容器的100% */
+ font-weight: 600;font-size: 50px;color: #D58E56;
+}
+.grid-container-text{
+ display: flex;
+ width: 100%; /* 容器宽度可以根据需要调整 */
+ padding-left: 10px;
+}
+ .left-div {
+ flex-grow: 1; /* 自适应宽度,占满剩余空间 */
+ white-space: nowrap; /* 防止文字自动换行 */
+ overflow: hidden; /* 隐藏超出容器宽度的内容 */
+ text-overflow: ellipsis; /* 当文本溢出时显示省略号 */
+ width: 100%; /* 设置一个具体的宽度或确保有继承宽度 */
+ font-weight: 600;
}
+
+ .right-div {
+ width: 50px; /* 固定宽度 */
+ font-size: 16px;
+ display: flex;
+ justify-content: center; /* 水平居中 */
+ align-items: center; /* 垂直居中 */
+
+
+ }
+ /* 设置你的div占据整个高度,并在需要时显示滚动条 */
+.scrollable-container {
+ height: 100%;
+ overflow-y: auto; /* 当内容超出容器高度时,垂直方向上显示滚动条 */
+}
+
+/* 可选:给ul设置一些样式 */
+.scrollable-container ul {
+ list-style: none;
+ padding: 0;
+ margin: 0;
+}
+
+.scrollable-container li {
+ padding: 4px;
+ font-weight: 600;
+ // border-bottom: 1px solid #ddd;
+}
</style>
\ No newline at end of file
--
Gitblit v1.8.0