wangming пре 1 месец
родитељ
комит
528666f2bd
2 измењених фајлова са 46 додато и 6 уклоњено
  1. 14 0
      src/components/component/alarModel.vue
  2. 32 6
      src/pagesA/deviceDetail/deviceDetail.vue

+ 14 - 0
src/components/component/alarModel.vue

@@ -635,6 +635,7 @@ export default {
                 this.targetPoints = {};
                 console.log("长时间没有点位,清除数据");
                 this.sendChange();
+                this.$emit("sendHealth", 0);
             }, 1500);
 
             // 验证topic格式
@@ -643,6 +644,19 @@ export default {
 
             try {
                 const data = JSON.parse(message.toString());
+                if (data.health) {
+                    if (
+                        data.health.breath_rpm ||
+                        data.health.breath_rpm === 0
+                    ) {
+                        this.$emit(
+                            "sendHealth",
+                            Math.floor(data.health.breath_rpm)
+                        );
+                    } else {
+                        this.$emit("sendHealth", 0);
+                    }
+                }
                 this.processTrackerData(data.tracker_targets);
             } catch (e) {
                 console.error("MQTT消息解析失败", e);

+ 32 - 6
src/pagesA/deviceDetail/deviceDetail.vue

@@ -94,6 +94,33 @@
                 }}</text>
                 <image src="../../static/rightArrow.png"></image>
             </view>
+            <view
+                class="title"
+                v-if="
+                    devInfo.installPosition == 'Bedroom' ||
+                    (breathRate === 0 && breathRate !== '')
+                "
+            >
+                <view
+                    class="title-text"
+                    style="color: #111111; font-size: 30rpx"
+                    >当前呼吸率</view
+                >
+                <view
+                    class="title-btn"
+                    style="color: #111111; font-size: 30rpx"
+                    v-if="breathRate !== ''"
+                    >{{ breathRate }}次/分钟</view
+                >
+                <view
+                    v-else
+                    class="title-btn"
+                    style="color: #111111; font-size: 30rpx"
+                >
+                    暂无
+                </view>
+            </view>
+
             <view class="title" v-if="devInfo.installPosition == 'Toilet'">
                 <view class="title-text" style="color: #22dea7"
                     >今日卫生间使用频次</view
@@ -266,6 +293,7 @@
             v-if="isInitAlarm"
             :clientIdProp="clientIdProp"
             @sendChange="receptionChange"
+            @sendHealth="receptHealth"
         />
     </view>
 </template>
@@ -308,20 +336,15 @@ export default {
             messageFlag: true,
             serviceNumberFlag: true,
             voipFlag: true,
-            inactivityTimer: "",
             isInitAlarm: "",
 
             // mqtt模块
-            mqttClient: null,
             targetPoints: {},
             inactivityTimer: null,
-            reconnectTimer: null,
-            reconnectCount: 0,
-            maxReconnectAttempts: 5,
-            isConnecting: false,
             left: 0,
             top: 0,
             clientIdProp: null,
+            breathRate: "",
         };
     },
     computed: {},
@@ -637,6 +660,9 @@ export default {
         receptionChange(val) {
             this.targetPoints = val;
         },
+        receptHealth(val) {
+            this.breathRate = val;
+        },
         getToday() {
             const today = new Date();
             const year = today.getFullYear();