Selaa lähdekoodia

修复页面tabbar高度bug

xiaohaizhao 1 vuosi sitten
vanhempi
commit
8fe5648da0
4 muutettua tiedostoa jossa 40 lisäystä ja 41 poistoa
  1. 15 9
      components/My_listbox.vue
  2. 8 11
      pages/facility/index.vue
  3. 16 17
      pages/facility/list.vue
  4. 1 4
      pages/facility/my-map.vue

+ 15 - 9
components/My_listbox.vue

@@ -61,15 +61,21 @@ export default {
         },
         /* 设置组件高度 */
         setHeight(mode, num) {
-            this.getHeight("#mylisttop", this).then(res => {
-                let height = res;
-                if (mode == 'add') {
-                    height = (res - 0) + (num - 0);
-                } else if (mode == 'minus') {
-                    height = res - num
-                }
-                if (this.height != height) this.height = height
-            });
+            return new Promise((resolve) => {
+                this.getHeight("#mylisttop", this).then(res => {
+                    let height = res;
+                    switch (mode) {
+                        case 'add':
+                            height = (res - 0) + (num - 0);
+                            break;
+                        case 'minus':
+                            height = res - num;
+                            break;
+                    }
+                    if (this.height != height) this.height = height;
+                    resolve(height)
+                });
+            })
         }
     },
 }

+ 8 - 11
pages/facility/index.vue

@@ -1,6 +1,6 @@
 <template>
-    <view class="container">
-        <cu-custom id="custom"
+    <view>
+        <cu-custom ref="custom" id="custom"
             bgImage="https://yostest175549.obs.cn-east-2.myhuaweicloud.com:443/202306151686796745663B52544232.png"
             :isBack="isBack">
             <block slot="backText">返回</block>
@@ -16,7 +16,7 @@
                 </view>
             </template>
         </My_search>
-        <list ref="设备列表" :empty="empty" :list="list" v-show="PageCur == '设备列表'" />
+        <list ref="设备列表" :tabHeight="tabHeight" :empty="empty" :list="list" v-show="PageCur == '设备列表'" />
         <my-map ref="设备地图" :tabHeight="tabHeight" :markers="markers" v-show="PageCur == '设备地图'" />
     </view>
 </template>
@@ -28,10 +28,7 @@ import myMap from "./my-map.vue";
 export default {
     components: { list, myMap },
     props: {
-        tabHeight: {
-            type: Number,
-            default: 98
-        }
+        tabHeight: Number
     },
     name: "facility",
     data() {
@@ -43,9 +40,9 @@ export default {
             PageCur: "设备列表",
             list: [],
             markers: [],
-            "where": {
-                "condition": "",
-                "status": ""
+            where: {
+                condition: "",
+                status: ""
             },
             filter: [{
                 label: "状态",
@@ -106,7 +103,7 @@ export default {
                         where: this.where
                     }
                 }).then(res => {
-                    console.log("11设备列表", res)
+                    console.log("设备列表", res)
                     if (this.cutoff(res.msg)) return;
                     resolve(res.msg == '成功')
                     this.empty = res.data.length == 0;

+ 16 - 17
pages/facility/list.vue

@@ -1,26 +1,25 @@
 <template>
-    <view>
-        <My_listbox ref="List" :empty='empty' @getlist="getlist">
-            <navigator v-for="item in list" :key="item.w_deviceid" class="item"
-                :url="'/pages/facility/detail?id=' + item.w_deviceid">
-                <view class="name u-line-1">设备:{{ item.devicename || ' --' }}</view>
-                <view class="row u-line-1">产品名称:<text>{{ item.prodname || ' --' }}</text></view>
-                <view class="row u-line-1">设备编号:<text>{{ item.serialnumber || ' --' }}</text></view>
-                <view class="row u-line-1">设备地址:<text>{{ (item.province + item.city + item.county + item.address) || ' --'
-                }}</text>
-                </view>
-                <view class="status" :style="{ background: item.bgColor }">{{ item.status }}</view>
-            </navigator>
-            <view style="height: 20px;" />
-        </My_listbox>
-    </view>
+    <My_listbox ref="List" :empty='empty' @getlist="getlist">
+        <navigator v-for="item in list" :key="item.w_deviceid" class="item"
+            :url="'/pages/facility/detail?id=' + item.w_deviceid">
+            <view class="name u-line-1">设备:{{ item.devicename || ' --' }}</view>
+            <view class="row u-line-1">产品名称:<text>{{ item.prodname || ' --' }}</text></view>
+            <view class="row u-line-1">设备编号:<text>{{ item.serialnumber || ' --' }}</text></view>
+            <view class="row u-line-1">设备地址:<text>{{ (item.province + item.city + item.county + item.address) || ' --'
+            }}</text>
+            </view>
+            <view class="status" :style="{ background: item.bgColor }">{{ item.status }}</view>
+        </navigator>
+        <view style="height: 20px;" />
+    </My_listbox>
 </template>
 <script>
 
 export default {
     props: {
         list: Array,
-        empty: Boolean
+        empty: Boolean,
+        tabHeight: Number
     },
     name: "list",
     data() {
@@ -31,7 +30,7 @@ export default {
     methods: {
         init() {
             this.uninitialized = false;
-            this.$refs.List.setHeight();
+            setTimeout(() => this.$refs.List.setHeight("minus", this.tabHeight), 300)
         },
         getlist() {
             if (this.$Http.updateFacilityList) {

+ 1 - 4
pages/facility/my-map.vue

@@ -62,10 +62,7 @@
 export default {
 	props: {
 		markers: Array,
-		tabHeight: {
-			type: Number,
-			default: 98
-		}
+		tabHeight: Number
 	},
 	name: 'My-map',
 	data() {