单应用项目,可以创建很多独立工具类页面 ,不用登录 初始化的页面
gx
chenyc
2025-04-21 c587f3499ca5eebf81374cf77ed1e0694f8c236b
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信息.状态列表
                      
@@ -1404,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{
@@ -1524,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>