From efb3b5e84ed4493f82f30ed3c3dcdff0fd5a8083 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Fri, 16 Jan 2026 10:55:55 +0800
Subject: [PATCH] feat:任务工单后台地图
---
applications/task-work-order/src/utils/cesium/kmz.js | 10 +++++++++-
1 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/applications/task-work-order/src/utils/cesium/kmz.js b/applications/task-work-order/src/utils/cesium/kmz.js
index a6cf77f..79e56ea 100644
--- a/applications/task-work-order/src/utils/cesium/kmz.js
+++ b/applications/task-work-order/src/utils/cesium/kmz.js
@@ -209,6 +209,11 @@
}
+/**
+ * 递归处理对象,移除 #text 键并返回其值,同时处理数值字符串到数字的转换
+ * @param {any} obj - 需要处理的对象或值
+ * @returns {any} 处理后的对象或值
+ */
export function removeTextKey(obj) {
if (typeof obj !== 'object' || obj === null) {
// 如果是数值字符串,转换为数值
@@ -219,18 +224,21 @@
}
if (Array.isArray(obj)) {
+ // 递归处理数组中的每个元素
return obj.map(item => removeTextKey(item));
}
if (Object.prototype.hasOwnProperty.call(obj, '#text')) {
- // 如果 #text 的值是数值字符串,转换为数值
+ // 如果存在 #text 属性,返回其值(如果是数值字符串则转换为数字)
const textValue = obj['#text'];
return typeof textValue === 'string' && /^-?\d+(\.\d+)?$/.test(textValue) ? Number(textValue) : textValue;
}
+ // 递归处理对象属性
const newObj = {};
for (const key in obj) {
if (Object.prototype.hasOwnProperty.call(obj, key)) {
+ // 如果属性值是空对象,则设为空字符串;否则递归处理
newObj[key] = Object.keys(obj[key]).length === 0 ? '' : removeTextKey(obj[key]);
}
}
--
Gitblit v1.9.3