Просмотр исходного кода

鼠标单击查询详细信息属性框排序,差异分析结果列表按照属性名中文排序

lkk 1 месяц назад
Родитель
Сommit
536bc35296
1 измененных файлов с 16 добавлено и 5 удалено
  1. 16 5
      website/src/views/ghfxpj/gtkjfxyy/ghcyfx.vue

+ 16 - 5
website/src/views/ghfxpj/gtkjfxyy/ghcyfx.vue

@@ -198,7 +198,11 @@ export default {
             ghcyfx.tableData = apiData;
             // 从第一条数据中提取属性名,作为表格列(若数据为空则不渲染列)
             if (apiData.length > 0) {
-              ghcyfx.tableColumns = Object.keys(apiData[0]);
+              // 获取列名并按中文排序
+              ghcyfx.tableColumns = Object.keys(apiData[0]).sort((a, b) => {
+                // 使用localeCompare按中文拼音排序(支持简体中文)
+                return a.localeCompare(b, "zh-CN");
+              });
             }
           }
         });
@@ -350,11 +354,18 @@ export default {
       transValue(rawData) {
         // 兼容原始数据为null/undefined的情况
         if (!rawData || typeof rawData !== "object") return [];
-
-        return Object.entries(rawData).map(([key, value]) => ({
-          label: key, // 直接使用原始字段名
-          value: value === null || value === undefined ? "" : String(value), // 空值处理,转为字符串避免渲染问题
+        const labelValueList = Object.entries(rawData).map(([key, value]) => ({
+          label: key, // 直接使用原始字段名作为label
+          value: value === null || value === undefined ? "" : String(value), // 空值处理
         }));
+
+        //  按label的中文拼音排序
+        return labelValueList.sort((a, b) => {
+          return a.label.localeCompare(b.label, "zh-CN", {
+            sensitivity: "base", // 忽略大小写和重音
+            numeric: true, // 数字部分按数值排序
+          });
+        });
       },
     });
     onUnmounted(() => {