| | |
| | | <template> |
| | | <div class="divice"> |
| | | <!-- {{数据初始化}} --> |
| | | <div class="youzhiliao" style="height: 100%;" v-if="deviceData.患者姓名"> |
| | | <div class="toubu" style="height: 11%;"> |
| | | <el-row |
| | |
| | | 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%; |
| | | " |
| | |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <!-- 床旁显示血压计有数据的时候 --> |
| | | <template v-if="床旁血压计.zuihouTime>shishiTime"> |
| | | <el-col :span="18" style="height: 100%;"> |
| | | <el-row style="height: 50%; "> |
| | |
| | | </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;"> |
| | |
| | | </div> |
| | | </div> |
| | | <div style="height: 75%; text-align: center;font-weight: 600;font-size: 50px;color: #D58E56;" class="grid-container" > |
| | | {{ deviceData.透析方案 }} |
| | | <div> |
| | | <span style="font-size: 30px;" v-if="deviceData.透析方案 ==='HDF'"> {{deviceData?.置换方式==='前置换'?'前':'后'}}</span> {{ deviceData.透析方案 }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | |
| | | <span class="text-group_3">人工肾</span> |
| | | </div> |
| | | </div> |
| | | <div style="height: 75%; text-align: center;font-weight: 600;font-size: 50px;color: #8079CB;" class="grid-container" > |
| | | <div style="height: 85%; font-weight: 600;font-size: 50px;color: #8079CB;" class="scrollable-text" > |
| | | {{deviceData.透析器}} |
| | | </div> |
| | | </div> |
| | |
| | | <div class="container-cord" style="height: 100%;"> |
| | | <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: 75%; text-align: center;font-weight: 600;font-size: 50px;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> |
| | | </div> |
| | | <div style="height: 75%; text-align: center;font-weight: 600;font-size: 50px;color: #8079CB;" class="grid-container" > |
| | | <span v-if="deviceData.处方脱水量"></span> |
| | | {{deviceData.处方脱水量}} L |
| | | <span v-if="deviceData.处方脱水量"> {{deviceData.处方脱水量}} L</span> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | |
| | | </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> |
| | | </div> |
| | | <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> |
| | | </div> |
| | | <div style="height: 75%; text-align: center;font-weight: 600;font-size: 50px;color: #333333;" class="grid-container" > |
| | | {{ deviceData.体重增长率 }}% |
| | | <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: 25%;"> |
| | | <div class="container-cord" style="height: 100%;"> |
| | | <img style="width: 25px;" 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: 75%; text-align: center;font-weight: 600;font-size: 50px;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; white-space: nowrap">{{ deviceData.透前血压_舒张压 }}</span> |
| | | <!-- <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: 30px;"> |
| | | <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;" |
| | |
| | | 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> |
| | |
| | | |
| | | </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> |
| | |
| | | </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="10" style="height: 100%; padding:10px 20px 0px 20px;"> |
| | | <el-col :span="7" style="height: 100%;" ref="targetDiv"> |
| | | <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" style="height: 100%;"> |
| | | <div class="cont_parent"> |
| | | <div class="cont_child" 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%;"> |
| | | <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="cont_child" 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%;"> |
| | | <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="cont_child" 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%;"> |
| | | <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> |
| | | <!-- <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 10px 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" |
| | |
| | | <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"> |
| | |
| | | <el-button type="primary" @click="saveSet"> |
| | | 确认 |
| | | </el-button> |
| | | <el-button type="success" @click="shuaxin"> |
| | | 刷新 |
| | | </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' |
| | |
| | | import cljd from '../img/cljd.png' |
| | | import tizhong from '../img/tizhong.png' |
| | | import {EventSourcePolyfill} from 'event-source-polyfill'; |
| | | import { computed, getCurrentInstance, onBeforeMount, onMounted, ref, watch, watchEffect } from "vue"; |
| | | import { computed, getCurrentInstance, onBeforeMount, onMounted, ref, watch, onUnmounted } from "vue"; |
| | | 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数据 |
| | | const sseData = ref({}); |
| | | // sse状态 |
| | | const readyState = ref({ key: 0, value: "正在链接中" }); |
| | | |
| | | |
| | | const deviceCode=ref('') |
| | | const shishiTime=ref(new Date()) |
| | | //有没有推送过血压如果有 就一直会显示血压数据 |
| | |
| | | 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, |
| | |
| | | 实时脱水量: 1.65, |
| | | 干体重: 69.5, |
| | | 年龄: 59, |
| | | 异常检验指标:[], |
| | | 性别: "男", |
| | | 患者头像: |
| | | "http://dhimg.leon056.com/hemodialysis/face/PAT9090070832211PyVq/face-IMG_20240413_112705.jpg-202404131127536157.jpg", |
| | |
| | | 血压高值列表: "152,133,116", |
| | | 设备分区类型: 0, |
| | | 设备号: "23", |
| | | 设备名称: "24", |
| | | 设备名称: "页面初始化中,请耐心等待!", |
| | | 设备序列号: "B97AP002", |
| | | 设备状态列表: [ |
| | | ], |
| | |
| | | ], |
| | | }); |
| | | // 告警提示 |
| | | 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(""); |
| | |
| | | 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.设备状态列表; |
| | |
| | | }else{ |
| | | centerDialogVisible.value=true |
| | | } |
| | | |
| | | }); |
| | | |
| | | |
| | | const saveSet=()=>{ |
| | | if(deviceCode.value){ |
| | | centerDialogVisible.value=false |
| | |
| | | }else{ |
| | | ElMessage.warning('请先输入设备编号') |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 刷新页面 |
| | | */ |
| | | const shuaxin=()=>{ |
| | | window.location.reload(); |
| | | } |
| | | 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.设备变化, |
| | |
| | | }, 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); |
| | |
| | | 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%; |
| | |
| | | margin-left:10px; |
| | | font-family: PingFangSC, PingFang SC; |
| | | font-weight: 600; |
| | | font-size: 20px; |
| | | font-size: 16px; |
| | | } |
| | | } |
| | | .container-weiqiandao { |
| | | display: flex; |
| | | flex-direction: column; |
| | | height: 100%; |
| | | gap: 10px; /* 调整这个值来设置间隔 */ |
| | | } |
| | | |
| | | .item-weiqiandao { |
| | | flex: 1; /* 确保每个子 div 占据相同的高度 */ |
| | | background-color: lightblue; /* 可以根据需要调整背景颜色 */ |
| | | padding: 10px; /* 添加内边距以美化显示 */ |
| | | |
| | | </style> |
| | | } |
| | | .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; |
| | | } |
| | | |
| | | .cont_parent { |
| | | height: 100%; |
| | | display: grid; |
| | | grid-template-rows: repeat(3, 1fr); /* 将容器划分为3行,每行占1份 */ |
| | | gap: 5px; /* 子元素之间的间隙(可选) */ |
| | | } |
| | | |
| | | .cont_child { |
| | | border: 1px solid #ccc; |
| | | padding: 10px; |
| | | overflow-y: auto; /* 当内容超出时显示垂直滚动条 */ |
| | | box-sizing: border-box; /* 确保 padding 和 border 不增加实际高度 */ |
| | | } |
| | | .scrollable-text{ |
| | | white-space: nowrap; |
| | | overflow-x: auto; |
| | | width: 100%; |
| | | padding: 10px; |
| | | box-sizing: border-box; |
| | | // border: 1px solid #e4e4e4; |
| | | // font-size: 16px; |
| | | } |
| | | </style> |