|
@@ -8,29 +8,20 @@
|
|
|
</div>
|
|
</div>
|
|
|
<div class="vjmapgis-popup-content__board mb-1">
|
|
<div class="vjmapgis-popup-content__board mb-1">
|
|
|
<div class="mr-5px">测风点数</div>
|
|
<div class="mr-5px">测风点数</div>
|
|
|
- <div>{{ node.mineAreaList?.length ?? '-' }}</div>
|
|
|
|
|
|
|
+ <div>{{ getJSONObjectLength(node.mineAreaList) }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="vjmapgis-popup-content__board mb-1">
|
|
<div class="vjmapgis-popup-content__board mb-1">
|
|
|
<div class="mr-5px">测风装置数</div>
|
|
<div class="mr-5px">测风装置数</div>
|
|
|
- <div>{{ node.windrectList?.length ?? '-' }}</div>
|
|
|
|
|
|
|
+ <div>{{ getJSONObjectLength(node.windrectList) }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="vjmapgis-popup-content__board mb-1">
|
|
<div class="vjmapgis-popup-content__board mb-1">
|
|
|
<div class="mr-5px">风量不足</div>
|
|
<div class="mr-5px">风量不足</div>
|
|
|
- <div>{{ node.m3Exception ?? '-' }}</div>
|
|
|
|
|
|
|
+ <div>{{ node.m3Exception || '-' }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="vjmapgis-popup-content__board">
|
|
<div class="vjmapgis-popup-content__board">
|
|
|
<div class="mr-5px">判识结果</div>
|
|
<div class="mr-5px">判识结果</div>
|
|
|
- <div>{{ judgeResultMap[String(node.judgeResult)] ?? '-' }}</div>
|
|
|
|
|
|
|
+ <div>{{ judgeResultMap[String(node.judgeResult)] || '-' }}</div>
|
|
|
</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>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
<script lang="ts" setup>
|
|
<script lang="ts" setup>
|
|
@@ -52,22 +43,14 @@
|
|
|
'2': '正常',
|
|
'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>
|
|
</script>
|
|
|
<style lang="less">
|
|
<style lang="less">
|
|
|
.vjmapgis-popup-content {
|
|
.vjmapgis-popup-content {
|