From 27504f29f00df1a77f022a0796c61ad6ade4a36c Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期二, 29 四月 2025 08:43:34 +0800
Subject: [PATCH] gx

---
 src/views/deviceWindoes2.vue |  164 +++++++++++++++++++++++++++++++-----------------------
 src/style.css                |    3 +
 2 files changed, 96 insertions(+), 71 deletions(-)

diff --git a/src/style.css b/src/style.css
index 877f744..16a4423 100644
--- a/src/style.css
+++ b/src/style.css
@@ -39,3 +39,6 @@
     background-color: #f9f9f9;
   }
 }
+.el-loading-spinner .el-loading-text {
+  font-size: 16px; /* 修改为你需要的字体大小 */
+}
\ No newline at end of file
diff --git a/src/views/deviceWindoes2.vue b/src/views/deviceWindoes2.vue
index 3b9e5b3..da1e367 100644
--- a/src/views/deviceWindoes2.vue
+++ b/src/views/deviceWindoes2.vue
@@ -1,5 +1,6 @@
 <template>
     <div class="divice">
+      <!-- {{数据初始化}} -->
       <div class="youzhiliao" style="height: 100%;" v-if="deviceData.患者姓名">
         <div class="toubu" style="height: 11%;">
             <el-row
@@ -832,7 +833,7 @@
   // 在需要使用的组件中引入
   import { ChatDotSquare } from '@element-plus/icons-vue';
   const ispaiban=ref(false)
-  import { ElMessage } from "element-plus";
+  import { ElLoading, ElMessage } from "element-plus";
   // 连接服务器
   const source = ref<EventSourcePolyfill | null>(null);
   //接收到的sse数据
@@ -901,7 +902,7 @@
     血压高值列表: "152,133,116",
     设备分区类型: 0,
     设备号: "23",
-    设备名称: "24",
+    设备名称: "页面初始化中,请耐心等待!",
     设备序列号: "B97AP002",
     设备状态列表: [
     ],
@@ -1255,83 +1256,103 @@
       }, 500);
     }
   );
+  const 数据初始化=ref(false)
   //创建链接对象
   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(`${test}${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.患者姓名=''
-                        if(dataBody?.使用耗材字典){
-                          当前客户耗材集合.value=dataBody?.使用耗材字典
-                        }
-                      }
-                      
-                      deviceData.value.设备变化=Date.now() + 'DEV'
-
-                      deviceData.value.属性历史列表=dataBody?.IOT信息?.属性历史列表
-                      console.log(deviceData.value.设备变化)
-                      deviceData.value.设备状态列表=dataBody.IOT信息.状态列表
-                      
-                    }
-                   
+    数据初始化.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);
@@ -1818,6 +1839,7 @@
   }
   </script>
 <style lang="less" scoped>
+
   .divice{
     background: #DAE5EC;
     font-size: 100%;

--
Gitblit v1.8.0