ソースを参照

[Style 0000] 修改地图详情框样式

houzekong 5 日 前
コミット
adeadad8e6
1 ファイル変更12 行追加29 行削除
  1. 12 29
      src/layouts/default/feature/components/LeafPopup.vue

+ 12 - 29
src/layouts/default/feature/components/LeafPopup.vue

@@ -8,29 +8,20 @@
     </div>
     <div class="vjmapgis-popup-content__board mb-1">
       <div class="mr-5px">测风点数</div>
-      <div>{{ node.mineAreaList?.length ?? '-' }}</div>
+      <div>{{ getJSONObjectLength(node.mineAreaList) }}</div>
     </div>
     <div class="vjmapgis-popup-content__board mb-1">
       <div class="mr-5px">测风装置数</div>
-      <div>{{ node.windrectList?.length ?? '-' }}</div>
+      <div>{{ getJSONObjectLength(node.windrectList) }}</div>
     </div>
     <div class="vjmapgis-popup-content__board mb-1">
       <div class="mr-5px">风量不足</div>
-      <div>{{ node.m3Exception ?? '-' }}</div>
+      <div>{{ node.m3Exception || '-' }}</div>
     </div>
     <div class="vjmapgis-popup-content__board">
       <div class="mr-5px">判识结果</div>
-      <div>{{ judgeResultMap[String(node.judgeResult)] ?? '-' }}</div>
+      <div>{{ judgeResultMap[String(node.judgeResult)] || '-' }}</div>
     </div>
-    <template v-if="riskItems.length > 0">
-      <div class="vjmapgis-popup-content__title">主要风险</div>
-      <div class="vjmapgis-popup-content__divider"></div>
-      <!-- 主要风险(判定依据) -->
-      <div class="vjmapgis-popup-content__board mb-1" v-for="(item, idx) in riskItems" :key="'risk-' + idx">
-        <div class="mr-5px">{{ item.label }}</div>
-        <div>{{ item.value }}</div>
-      </div>
-    </template>
   </div>
 </template>
 <script lang="ts" setup>
@@ -52,22 +43,14 @@
     '2': '正常',
   };
 
-  // 主要风险字段(与 IdentifyResult 一致)
-  const riskFields = [
-    { label: '风量较均值偏低', prop: 'volumeLowPercent', unit: '%' },
-    { label: '缺失规定测风点数', prop: 'missingCount', unit: '个' },
-    { label: '多测点关联异常数', prop: 'relatedAbnormal', unit: '个' },
-  ];
-  const riskItems = computed(() => {
-    return riskFields
-      .map((f) => {
-        const val = props.node[f.prop];
-        // 无数据(undefined/null/空字符串)时剔除该项,整个区块在有数据时才渲染
-        if (val === null || val === undefined || val === '') return null;
-        return { label: f.label, value: `${val}${f.unit || ''}` };
-      })
-      .filter((item): item is { label: string; value: string } => item !== null);
-  });
+  function getJSONObjectLength(str) {
+    try {
+      const len = JSON.parse(str).length;
+      return len;
+    } catch {
+      return '-';
+    }
+  }
 </script>
 <style lang="less">
   .vjmapgis-popup-content {