Browse Source

修复设备详情区域放大问题 更多设置坐摔检测

wangming 2 days ago
parent
commit
003982e7a0
2 changed files with 70 additions and 51 deletions
  1. 56 46
      src/pagesA/deviceDetail/deviceDetail.vue
  2. 14 5
      src/pagesA/moreSetting/moreSetting.vue

+ 56 - 46
src/pagesA/deviceDetail/deviceDetail.vue

@@ -19,57 +19,68 @@
                     position: 'absolute',
                     top: `${rotatedRect.top - 8}rpx`,
                     left: `${rotatedRect.left - 8}rpx`,
-                    transform: `scale(${zoomTimes})`,
                     border: `${9 / zoomTimes}rpx solid #333333`,
+                    overflow: 'hidden',
+                    transform: `scale(${zoomTimes})`,
+                    transformOrigin: 'center center',
                 }"
                 class="tranStyle"
             >
-            </view>
-            <template v-if="modules.length > 0">
-                <view
-                    v-for="(item, index) in modules"
-                    :key="index"
-                    class="moduleContent"
-                >
+                <template v-if="modules.length > 0">
                     <view
-                        :class="item.type"
-                        :style="{
-                            width: `${item.width}rpx`,
-                            height: `${item.height}rpx`,
-                            top: `${item.top}rpx`,
-                            left: `${item.left}rpx`,
-                            transform: `rotate(${item.rotate}deg)`,
-                            'transform-origin': 'center center',
-                            zIndex: 44,
-                        }"
+                        v-for="(item, index) in modules"
+                        :key="index"
+                        class="moduleContent"
                     >
-                        <image
-                            style="width: 100%; height: 100%; display: block"
-                            :src="`../../static/furnitures/${item.type}.png`"
-                            mode=""
-                        />
+                        <view
+                            :class="item.type"
+                            :style="{
+                                width: `${item.width}rpx`,
+                                height: `${item.height}rpx`,
+                                top: `${item.top - rotatedRect.top}rpx`,
+                                left: `${item.left - rotatedRect.left}rpx`,
+                                transform: `rotate(${item.rotate}deg)`,
+                                'transform-origin': 'center center',
+                                zIndex: 44,
+                                position: 'absolute',
+                            }"
+                        >
+                            <image
+                                style="
+                                    width: 100%;
+                                    height: 100%;
+                                    display: block;
+                                "
+                                :src="`../../static/furnitures/${item.type}.png`"
+                                mode=""
+                            />
+                        </view>
                     </view>
-                </view>
-            </template>
-            <template>
-                <image
-                    v-for="item in targetPoints"
-                    :key="item.id"
-                    class="action-icon-M"
-                    :src="`../../static/${lnbAction}.png`"
-                    :style="{
-                        position: 'absolute',
-                        transform: `translate(-50%, -50%) translate3d(${item.displayX}rpx, ${item.displayY}rpx, 0)`,
-                        transition: 'transform 1s linear',
-                        willChange: 'transform',
-                        zIndex: 444,
-                        top: '0',
-                        left: '0',
-                        width: '70rpx',
-                        height: '70rpx',
-                    }"
-                />
-            </template>
+                </template>
+
+                <template>
+                    <image
+                        v-for="item in targetPoints"
+                        :key="item.id"
+                        class="action-icon-M"
+                        :src="`../../static/${lnbAction}.png`"
+                        :style="{
+                            position: 'absolute',
+                            transform: `translate(-50%, -50%) translate3d(${
+                                item.displayX - rotatedRect.left
+                            }rpx, ${item.displayY - rotatedRect.top}rpx, 0)`,
+                            transition: 'transform 1s linear',
+                            willChange: 'transform',
+                            zIndex: 444,
+                            top: '0',
+                            left: '0',
+                            width: `${70 / zoomTimes}rpx`,
+                            height: `${70 / zoomTimes}rpx`,
+                        }"
+                    />
+                </template>
+            </view>
+
             <!-- <image class="redar-pic" src="../../static/rander.png" mode="" /> -->
         </view>
 
@@ -1238,7 +1249,6 @@ export default {
         box-sizing: border-box;
 
         .tranStyle {
-            position: absolute;
             background-repeat: no-repeat;
             background-position: center;
             z-index: 1; // 父元素层级要高于伪元素容器
@@ -1255,7 +1265,7 @@ export default {
 
         .moduleContent {
             view {
-                position: absolute;
+                // position: absolute;
             }
 
             .module-img {

+ 14 - 5
src/pagesA/moreSetting/moreSetting.vue

@@ -150,11 +150,20 @@ export default {
             console.log("初始化坐摔参数:", devInfo);
             Object.assign(this, {
                 preFallSettingEnabled: devInfo.preFallSettingEnabled,
-                fallSettingEnabled: devInfo.fallSettingEnabled,
-                lowZMax: devInfo.lowZMax,
-                humanPredThreshold: devInfo.humanPredThreshold,
-                minEventsForDetection: devInfo.minEventsForDetection,
-                minHumanEventsForDetection: devInfo.minHumanEventsForDetection,
+                fallSettingEnabled: devInfo.fallSettingEnabled ?? 0,
+                lowZMax: devInfo.lowZMax == 0 ? 0.5 : devInfo.lowZMax,
+                humanPredThreshold:
+                    devInfo.humanPredThreshold == 0
+                        ? 0.78
+                        : devInfo.humanPredThreshold,
+                minEventsForDetection:
+                    devInfo.minEventsForDetection == 0
+                        ? 3
+                        : devInfo.minEventsForDetection,
+                minHumanEventsForDetection:
+                    devInfo.minHumanEventsForDetection == 0
+                        ? 2
+                        : devInfo.minHumanEventsForDetection,
                 showFallSettingModle: false,
             });
         },