From 93cfe2fe06eb1b6cbdbd45dcd65a435a7299ef07 Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期二, 13 五月 2025 11:57:49 +0800
Subject: [PATCH] gx修护

---
 src/views/deviceWindoes2.vue |  987 ++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 787 insertions(+), 200 deletions(-)

diff --git a/src/views/deviceWindoes2.vue b/src/views/deviceWindoes2.vue
index 1655f15..c45a1c5 100644
--- a/src/views/deviceWindoes2.vue
+++ b/src/views/deviceWindoes2.vue
@@ -1,5 +1,6 @@
 <template>
     <div class="divice">
+      <!-- {{数据初始化}} -->
       <div class="youzhiliao" style="height: 100%;" v-if="deviceData.患者姓名">
         <div class="toubu" style="height: 11%;">
             <el-row
@@ -37,33 +38,31 @@
                 style="margin-left: 5%; font-size: 300%; height: 100%"
                 >{{ deviceData.性别 }}</span
                 >
-                <div style="
-                  position: absolute;
-                  top: 0;
-                  right: 0;
-                  display: grid;
-                  padding: 5px;
-                  font-size: 300%;
-                  height: 100%
-                ">
-                <span class="grid-container"
-                  style="height: 100%;color: #303133;padding-right: 20px;"
-                  >
-                  <el-image  @click="centerDialogVisible=true" :src="shezhi"></el-image>
-                  </span>
-                </div>
+                
+                
+                
+                <div style="position: absolute; top: 0; right: 0; display: flex;  align-items: center; justify-content: flex-end; padding: 5px; height: 100%;">
+                  <div class="grid-container" style="display: flex; align-items: center; padding-right: 20px;">
+                      <span style="display: inline-block; margin-right: 15px;">
+                          <img @click="dingshiShow" :src="dingshi" alt="Image 1">
+                      </span>
+                      <span style="display: inline-block;">
+                          <img @click="centerDialogVisible=true" :src="shezhi" alt="Image 2">
+                      </span>
+                  </div>
+              </div>
             </el-row>
         </div>
-        <div class="chongjian" style="height: 54%;">
-          <el-row :gutter="20" style="height: 100%; padding: 20px;">
-              <el-col :span="6" style="height: 100%;">
-                <div style="height: 100%">
+        <div class="chongjian" style="height: 50%;">
+          <el-row :gutter="20" style="height: 100%; padding:20px 20px 10px 20px">
+              <el-col :span="6" style="height: 100%;padding-bottom: 10px;">
+                <div style="height: 100%;">
                     <div
                         :style="{ backgroundImage: `url(${deviceData.患者头像})` }"
                         style="
                           background-size: 100% 100%;
                           border-radius: 5px;
-                          margin-bottom: 1%;
+                          /* margin-bottom: 1%; */
                           height: 100%;
                           width: 100%;
                         "
@@ -71,19 +70,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 +93,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 +109,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 +198,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 +247,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 +301,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 +311,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 +333,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,115 +347,147 @@
              
           </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>
 
             </div>
-            <div v-else  style="height: 70%;width: 100%; padding-right: 0px;padding-bottom: 10px;">
-              <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 class="container-cord" style="height: 100%;">
-                        <img style="width: 32px;" referrerpolicy="no-referrer" :src="xinlv"
+            <!-- 已签到 -->
+            <div v-else  style="height: 80%;width: 100%; padding-right: 0px;">
+              <div style="height: 100%; ">
+                <el-row style="height: 30%; padding: 0px 0px 10px 0px;" :gutter="20">
+                  <el-col :span="12">
+                    <div class="container-cord" style="height: 100%;padding-left: 20PX;background-color: #FFFFFF;border-radius: 8px;">
+                      <img style="width: 25px;" referrerpolicy="no-referrer" :src="tsl"
+                      />
+                      <span class="text-group_3">平均脱水量:</span>
+                      <span style="color: #333333;font-weight: 600;font-size: 25px;">{{deviceData.最近平均脱水量}}L</span>
+                      <span style="color: #777777;font-size: 25px;"> </span>
+                    </div>
+                  </el-col>
+                  <el-col :span="12">
+                    <div class="container-cord" style="height: 100%;padding-left: 20PX;background-color: #FFFFFF;border-radius: 8px;">
+                        <img style="width: 25px;margin-right: 10px;"
+                          referrerpolicy="no-referrer"
+                          :src="tsl"
                         />
-                        <span class="text-group_3">跨膜压/舒张压</span>
-                      </div>
-                    
+                        <span class="text-group_3">最大脱水量: </span>
+                        <span style="color: #333333;font-weight: 600;font-size: 25px;">{{deviceData.最近最大脱水量}}L</span> 
+                        <span style="color: #777777;font-size: 25px;">({{deviceData.最近最大脱水量日期}})</span>
                     </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>
-                  </div>
-                </el-col>
-                <el-col :span="18" style="height: 100%;width: 100%;">
-                  <div class="item" style="height: 100%;padding-bottom: 10px; /* 设置所有方向的间距为10px */">
-                    <div style="height: 100%;">
-                      <div 
-                          v-if="Number(deviceData.透析状态) > 1"
-                            :ref="'echartsDiv' + deviceData.设备编号"
-                            style="height: 97%"
-                          >
+                  </el-col>
+                </el-row>
+                <el-row style="height:70%;padding: 0px 0px 10px 0px;"  :gutter="20">
+                  <el-col :span="6" style="height: 100%; ">
+                    <div class="item" style="height: 100%;padding-bottom: 10px; gap: 10px; /* 设置所有方向的间距为10px */">
+                      <div style="height: 25%;">
+                        <div class="container-cord" style="height: 100%;">
+                          <img style="width: 25px;" referrerpolicy="no-referrer" :src="xinlv"
+                          />
+                          <span class="text-group_3">异常指标</span>
                         </div>
+                      
+                      </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>
-                  </div>
-                </el-col>
-              </el-row>
+                  </el-col>
+                  <el-col :span="18" style="height: 100%;width: 100%;">
+                    <div class="item" style="height: 100%;padding-bottom: 10px; /* 设置所有方向的间距为10px */">
+                      <div style="height: 100%;">
+                        <div 
+                            v-if="Number(deviceData.透析状态) > 1"
+                              :ref="'echartsDiv' + deviceData.设备编号"
+                              style="height: 97%"
+                            >
+                          </div>
+                      </div>
+                    </div>
+                  </el-col>
+                </el-row>
+              </div>
             </div>
             <!-- 消息提示一直显示最新的消息 -->
-            <div  style="height: 30%;width: 100%;background: #FEF0E1;;border-radius: 8px; font-size: 25px;">
+            <div  style="height: 20%;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 +495,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 +503,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 +609,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"
@@ -451,14 +783,18 @@
       <span>
         <el-form label-position="left" label-width="auto" style="max-width: 600px">
           <el-space fill>
-            <el-alert type="warning" show-icon :closable="false">
+            <el-alert type="绑定设备" show-icon :closable="false">
               <p>"请输入设备编号后才能使用不然无法定位到数据来源:</p>
+              <p>也可以选择二维码图片文件识别</p>
             </el-alert>
             <el-form-item label="设备编号">
               <el-input v-model="deviceCode" />
             </el-form-item>
           </el-space>
         </el-form>
+        <div>
+          <input type="file" pattern="选取二维码" accept="image/*" @change="onFileChange"  />
+        </div>
       </span>
       <template #footer>
         <div class="dialog-footer">
@@ -468,15 +804,69 @@
           </el-button>
         </div>
       </template>
-    </el-dialog>
+      </el-dialog>
+      <el-dialog v-model="centerDialogVisible2" title="定时任务设置" width="600" center>
+        <span>
+            <div>
+              <el-form  :model="formInline"  label-width="100px">
+                <el-form-item label="时间设定:">
+                  <el-col :span="10">
+                    <el-input-number style="width: 100%;" v-model="formInline.xiaoshi" :min="1" :max="10" />
+                  </el-col>
+                  <el-col :span="2" class="text-center">
+                    <span class="text-gray-500">小时 </span>
+                  </el-col>
+                  <el-col :span="10">
+                    <el-input-number style="width: 100%;" v-model="formInline.fenzhong" :min="1" :max="59" />
+                  </el-col>
+                  <el-col :span="2" class="text-center">
+                    <span class="text-gray-500">分钟 </span>
+                  </el-col>
+                </el-form-item>
+               
+                <el-form-item label="提醒内容:">
+                  <el-input v-if="!formInline.selectOpen"
+                      v-model="formInline.alertText"
+                      style="max-width: 600px"
+                      placeholder="请填写报警内容"
+                      type="textarea"
+                      class="input-with-select"
+                    >
+                  </el-input>
+                  <el-select v-else  v-model="formInline.selectType" style="width: 100%;" placeholder="选择内容" >
+                      <el-option label="测血压" value="测血压" />
+                      <el-option label="开超滤" value="开超滤" />
+                      <el-option label="给药" value="给药" />
+                  </el-select>
+                
+                </el-form-item>
+                <el-form-item label="定型文:">
+                  <el-switch v-model="formInline.selectOpen" />
+                </el-form-item>
+
+              </el-form>
+
+            </div>
+        </span>
+        <template #footer>
+          <div class="dialog-footer">
+            <el-button @click="centerDialogVisible2=false">取消</el-button>
+            <el-button type="primary" @click="setDingshi">
+              确定
+            </el-button>
+          </div>
+        </template>
+      </el-dialog>
     </div>  
     
     
     
   </template>
   <script lang="ts" setup>
+  import { BrowserMultiFormatReader, NotFoundException, ChecksumException, FormatException } from '@zxing/library';
   import TQS88 from "../img/TQS88.png";
   import shezhi from '../img/shezhi.png'
+  import dingshi from '../img/dingshi.png'
   import xinlv from '../img/xinlv.png'
   import tsl from '../img/tsl.png'
   import zlms from '../img/zlms.png'
@@ -490,10 +880,12 @@
   import { Local } from '../utils/storage';
   import * as echarts from "echarts";
   import { jgTime4 } from "../utils/formatTime";
+  import {setTimeoutAlert} from '../utils/httpApi'
   const { proxy } = getCurrentInstance() as any;
   // 在需要使用的组件中引入
   import { ChatDotSquare } from '@element-plus/icons-vue';
-  import { ElMessage } from "element-plus";
+  const ispaiban=ref(false)
+  import { ElLoading, ElMessage } from "element-plus";
   // 连接服务器
   const source = ref<EventSourcePolyfill | null>(null);
   //接收到的sse数据
@@ -511,6 +903,15 @@
     dbp:'111',
     zuihouTime:new Date()
   })
+  const formInline=ref({
+    xiaoshi:0,
+    fenzhong:5,
+    alertText:'',
+    selectType:'',
+    selectOpen:false
+  })
+  
+  const 当前客户耗材集合=ref({})
   const deviceData = ref({
     iot_传输时间: "2025-01-10 19:15:24",
     iot_当前脱水量: 2.04,
@@ -527,6 +928,7 @@
     实时脱水量: 1.65,
     干体重: 69.5,
     年龄: 59,
+    异常检验指标:[],
     性别: "男",
     患者头像:
       "http://dhimg.leon056.com/hemodialysis/face/PAT9090070832211PyVq/face-IMG_20240413_112705.jpg-202404131127536157.jpg",
@@ -560,7 +962,7 @@
     血压高值列表: "152,133,116",
     设备分区类型: 0,
     设备号: "23",
-    设备名称: "24",
+    设备名称: "页面初始化中,请耐心等待!",
     设备序列号: "B97AP002",
     设备状态列表: [
     ],
@@ -673,8 +1075,11 @@
     ],
   });
   // 告警提示
-  const textbaojing = ref("");
-  const iscomfig = ref(false);
+  // 识别窗口
+  const video = ref<HTMLVideoElement | null>(null);
+  // 识别数据流
+  let stream: MediaStream | null = null;
+  const centerDialogVisible2=ref(false)
   const centerDialogVisible = ref(false);
   const background = ref("");
   const txztText = ref("");
@@ -709,6 +1114,34 @@
   const xiaoduzhuangti = computed(() => {
     return false;
   });
+  // 打开定时任务设置
+  const dingshiShow=(()=>{
+    formInline.value={
+      xiaoshi:0,
+      fenzhong:5,
+      alertText:'',
+      selectType:'',
+      selectOpen:false
+    }
+    centerDialogVisible2.value=true
+  })
+  // 保存定时任务
+  const setDingshi=(()=>{
+    console.log('--------------------')
+    console.log(formInline.value)
+    console.log(deviceCode.value)
+    const minutes=formInline.value.xiaoshi*60+formInline.value.fenzhong
+    let alertText=''
+    if(formInline.value.selectOpen){
+      alertText=formInline.value.selectType
+    }else{
+      alertText=formInline.value.alertText
+    }
+    setTimeoutAlert({deviceCode:deviceCode.value,minutes:minutes,alertText:alertText}).then(res=>{
+      console.log(res.data)
+    })
+    // centerDialogVisible2.value=false
+  })
   // 状态颜色
   const zhuangtaiColor = computed(() => {
     const list = deviceData.value.设备状态列表;
@@ -866,6 +1299,41 @@
       ElMessage.warning('请先输入设备编号')
     }
   }
+  const onFileChange=async(event: Event)=> {
+    const inputElement = event.target as HTMLInputElement;
+    if (!inputElement.files || inputElement.files.length === 0) return;
+
+    const file = inputElement.files[0];
+    const reader = new FileReader();
+
+    reader.onload = async (e) => {
+      if (e.target && typeof e.target.result === 'string') {
+        try {
+          const codeReader = new BrowserMultiFormatReader();
+          const result = await codeReader.decodeFromImage(undefined, e.target.result, { tryHarder: true });
+          // const result = await codeReader.decodeFromImage(undefined, e.target.result);
+          deviceCode.value = result.text;
+          ElMessage.success('识别成功')
+        } catch (err) {
+          console.error('Error details:', err);
+          if (err instanceof NotFoundException) {
+            ElMessage.error("未找到二维码");
+          } else if (err instanceof ChecksumException) {
+            ElMessage.error("校验错误");
+          } else if (err instanceof FormatException) {
+            ElMessage.error("格式错误");
+          } else {
+            ElMessage.error("识别错误请重新识别");
+            console.error(err);
+          }
+        }
+      }
+    };
+
+    reader.readAsDataURL(file);
+  }
+  const shaoma=()=>{
+  }
   watch(
     () => deviceData.value.设备变化,
     () => {
@@ -877,82 +1345,103 @@
       }, 500);
     }
   );
+  const 数据初始化=ref(false)
   //创建链接对象
   const creatSource = () => {
     // http://testbs.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}`,{
-              heartbeatTimeout:60000
-          });
-          source.value.onopen = (e) => {
-              console.log('链接成功')
-              readyState.value = stateArr[source.value?.readyState ?? 0];
-              console.log(e)
-          };
-          source.value.onerror = (e) => {
-              console.log(e,'异常情况-----')
-              readyState.value = stateArr[source.value?.readyState ?? 0];
-          };
-          source.value.onmessage = (e) => {
-              console.log('收到消息',e.data)
-              shishiTime.value=new Date();
-              if(e.data){
-                  const msg=e.data
-                  let dif=msg.indexOf('event:message')
-                  let beng=msg.indexOf('{')
-                  let end=msg.length-1
-                  if(beng!==-1&&end!==-1&&dif!==-1){
-                    const datax=msg.slice(beng,end+1)
-                    const dataBody=JSON.parse(datax)
-                    console.log(dataBody) 
-                    console.log(dataBody) 
-                    if(dataBody.推送类型==='床旁血压计'){
-                      isinitXy.value=true
-                      let date = new Date();
-                      date.setMinutes(date.getMinutes() + 5);
-                      床旁血压计.value={
-                        date_time:dataBody?.床旁血压结果?.measureTime,
-                        sbp:dataBody?.床旁血压结果?.sbp,
-                        pulseRate:dataBody?.床旁血压结果?.pulseRate,
-                        dbp:dataBody?.床旁血压结果?.dbp,
-                        zuihouTime:date
-                      }
-                      setTimeout(()=>{
-                        initTupiao()
-                      },500)
-                    }else if(dataBody.推送类型==='中央监控大屏信息'){
-                      console.log(Date.now() + 'DEV')
-                      if(dataBody?.透析状态){
-                        deviceData.value=dataBody?.透析状态
-                      }else{
-                        deviceData.value.设备名称=dataBody.IOT信息.床号
-                        deviceData.value.患者姓名=''
-                      }
-                      
-                      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信息.状态列表
-                      
-                    }
-                   
+    // const test='http://testbs.ihemodialysis.com/sse/sseEvent/'
+    数据初始化.value=true
+      // const loading = ElLoading.service({
+      //   lock: true,
+      //   text: '数据初始化中。。。',
+      //   background: 'rgba(0, 0, 0, 0.7)',
+      //   svg:`<path class="path" d="
+      //     M 30 15
+      //     L 28 17
+      //     M 25.61 25.61
+      //     A 15 15, 0, 0, 1, 15 30
+      //     A 15 15, 0, 1, 1, 27.99 7.5
+      //     L 15 15
+      //   " style="stroke-width: 4px; fill: rgba(0, 0, 0, 0)"/>
+      //   `
+      // })
+      const test='https://backend.ihemodialysis.com/sse/sseEvent/'
+      const stateArr = [
+      { key: 0, value: "正在链接中" },
+      { key: 1, value: "已经链接并且可以通讯" },
+      { key: 2, value: "连接已关闭或者没有链接成功" },
+      ];
+      try {
+      source.value=  new EventSourcePolyfill(`${test}${deviceCode.value}`,{
+          heartbeatTimeout:60000
+      });
+      source.value.onopen = (e) => {
+          console.log('链接成功')
+          ElMessage.success('链接服务成功')
+          readyState.value = stateArr[source.value?.readyState ?? 0];
+          console.log(e)
+      };
+      source.value.onerror = (e) => {
+          console.log(e,'异常情况-----')
+          ElMessage.warning('链接服务失败,请耐心等待重连。。')
+          readyState.value = stateArr[source.value?.readyState ?? 0];
+      };
+      source.value.onmessage = (e) => {
+          console.log('收到消息',e.data)
+          shishiTime.value=new Date();
+          if(e.data){
+              const msg=e.data
+              let dif=msg.indexOf('event:message')
+              let beng=msg.indexOf('{')
+              let end=msg.length-1
+              if(beng!==-1&&end!==-1&&dif!==-1){
+                const datax=msg.slice(beng,end+1)
+                const dataBody=JSON.parse(datax)
+                console.log(dataBody) 
+                console.log(dataBody) 
+                if(dataBody.推送类型==='床旁血压计'){
+                  isinitXy.value=true
+                  let date = new Date();
+                  date.setMinutes(date.getMinutes() + 5);
+                  床旁血压计.value={
+                    date_time:dataBody?.床旁血压结果?.measureTime,
+                    sbp:dataBody?.床旁血压结果?.sbp,
+                    pulseRate:dataBody?.床旁血压结果?.pulseRate,
+                    dbp:dataBody?.床旁血压结果?.dbp,
+                    zuihouTime:date
                   }
+                  setTimeout(()=>{
+                    initTupiao()
+                  },500)
+                }else if(dataBody.推送类型==='中央监控大屏信息'){
+                  数据初始化.value=false
+                  // loading.close()
+                  console.log(Date.now() + 'DEV')
+                  if(dataBody?.透析状态){
+                    deviceData.value=dataBody?.透析状态
+                  }else{
+                    deviceData.value.设备名称=dataBody.IOT信息.床号
+                    deviceData.value.患者姓名=''
+                    if(dataBody?.使用耗材字典){
+                      当前客户耗材集合.value=dataBody?.使用耗材字典
+                    }
+                  }
+                  
+                  deviceData.value.设备变化=Date.now() + 'DEV'
+
+                  deviceData.value.属性历史列表=dataBody?.IOT信息?.属性历史列表
+                  console.log(deviceData.value.设备变化)
+                  deviceData.value.设备状态列表=dataBody.IOT信息.状态列表
+                  
+                }
+                
               }
-          };
-          } catch (error) {
-              console.log(error);
           }
       };
+      } catch (error) {
+          console.log(error);
+      }
+  };
   const showxuye=()=>{
     let date = new Date();
     date.setMinutes(date.getMinutes() + 0.1);
@@ -1155,7 +1644,7 @@
               show: false,
             },
             grid: {
-              left: 8,
+              left: 20,
               top: 0,
               bottom: 0,
             },
@@ -1169,6 +1658,7 @@
               },
             },
             yAxis: {
+              show:false,
               name: "",
               type: "value",
               min: 20,
@@ -1403,8 +1893,42 @@
       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{
     background: #DAE5EC;
     font-size: 100%;
@@ -1523,12 +2047,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