Selaa lähdekoodia

删除微服务中前端的静态数据,统一调用DMS接口(微功能服务栏目数据)

DESKTOP-6LTVLN7\Liumouren 1 kuukausi sitten
vanhempi
sitoutus
64e0a838b4
3 muutettua tiedostoa jossa 152 lisäystä ja 549 poistoa
  1. 136 547
      src/components/wgn/controlPanel.vue
  2. 10 0
      src/components/yxgl/EchartsDome.vue
  3. 6 2
      src/components/yxgl/table.vue

+ 136 - 547
src/components/wgn/controlPanel.vue

@@ -5,7 +5,7 @@
         <div class="">
           场景名称:
           <el-cascader
-            :disabled="$route.query.sceneId"
+            :disabled="$route.query.sceneId || SceneValue"
             v-model="SceneValue"
             placeholder="试试搜索:距离"
             :options="SceneList"
@@ -34,19 +34,10 @@
       </div>
       <el-divider></el-divider>
       <div>
-        元素个数:{{
-          SceneValue && SceneRule[SceneValue] ? SceneRule[SceneValue].numberOf : "0"
-        }}
+        元素个数:{{ SceneValue && dmsServerItem ? dmsServerItem.numberOf : "0" }}
       </div>
       <div>
-        参数类型:{{
-          SceneValue && SceneRule[SceneValue] ? SceneRule[SceneValue].elementTypes : "[]"
-        }}
-      </div>
-      <div>
-        接口地址:{{
-          SceneValue && SceneRule[SceneValue] ? SceneRule[SceneValue].apiUrl : "/"
-        }}
+        参数类型:{{ SceneValue && dmsServerItem ? dmsServerItem.elementTypes : "[]" }}
       </div>
       <div>接口地址:{{ SceneValue && dmsServerItem ? dmsServerItem.apiUrl : "/" }}</div>
     </div>
@@ -69,15 +60,15 @@
               <el-button type="primary">上传文件</el-button>
             </el-upload>
           </div>
-          <div v-if="SceneValue && SceneRule[SceneValue]">
-            <div v-for="item in SceneRule[SceneValue].elementTypes" :key="item">
+          <div v-if="SceneValue && dmsServerItem">
+            <div v-for="item in dmsServerItem.elementTypes" :key="item">
               <div
-                v-if="SceneValue && SceneRule[SceneValue] && SceneRule[SceneValue][item]"
+                v-if="SceneValue && dmsServerItem && selectOptions[item]"
                 style="margin: 0.5rem 0"
               >
                 {{ item }}:<el-select
                   @change="handleSelectChange(item, $event)"
-                  v-if="SceneRule[SceneValue][item]"
+                  v-if="selectOptions[item]"
                   v-model="params[item]"
                   :placeholder="'请选择' + item"
                   style="width: 240px"
@@ -139,10 +130,8 @@
             class="vueJsonEditor_box"
             v-show="
               SceneValue &&
-              SceneRule[SceneValue] &&
-              (SceneRule[SceneValue].elementTypes.includes('point') ||
-                SceneRule[SceneValue].elementTypes.includes('polyline') ||
-                SceneRule[SceneValue].elementTypes.includes('polygon'))
+              dmsServerItem &&
+              (ifHasType('point') || ifHasType('polyline') || ifHasType('polygon'))
             "
           >
             <div class="vueJsonEditor_tools">
@@ -422,527 +411,73 @@ export default {
           ],
         },
       ],
-      // 场景规则
-      SceneRule: {
-        "1.5.1.1": {
-          // 功能描述
-          functionalDefinition:
-            "拓扑计算功能聚焦于深度解析大批量数据的点、线、面之间的拓扑关系,能够精准判断点与线、面的位置关系,以及线、面之间的相交、平行、邻接、包含等复杂状态。借助四叉树、R 树等精心设计的数据结构,结合 Douglas - Peucker 等高效算法,确保在处理海量空间数据时,也能快速且准确地输出分析结果。",
-          // 元素类型
-          elementTypes: ["point", "polyline", "polygon"],
-          // 元素个数
-          numberOf: 2,
-          // 后台接口路径
-          apiUrl: "/topology/geoJsonToGeoJson",
-        },
-        "1.5.2.1": {
-          // 功能描述
-          functionalDefinition:
-            "计算两个点要素之间的最短空间距离,单位支持米、千米。操作逻辑为:用户通过接口输入两点经纬度坐标,或在系统内部地图上点击选择两点,系统基于坐标系参数计算欧氏距离。例如:计算青浦区某学校与社区卫生服务中心的直线距离,用于公共服务覆盖半径评估;计算两个监测点位的直线距离,用于监测设备信号覆盖范围判断。",
-          // 元素类型
-          elementTypes: ["point", "point", "unit"],
-          // 单位
-          unit: [
-            {
-              value: "METER",
-              label: "米",
-            },
-            {
-              value: "KILOMETER",
-              label: "千米",
-            },
-          ],
-          // 元素个数
-          numberOf: 2,
-          // 后台接口路径
-          apiUrl: "/spatialMeasure/pointToPoint",
-        },
-        "1.5.2.2": {
-          // 功能描述
-          functionalDefinition: "计算点和线要素之间的最短空间距离,单位支持米、千米",
-          // 元素类型
-          elementTypes: ["point", "polyline", "unit"],
-          // 单位
-          unit: [
-            {
-              value: "METER",
-              label: "米",
-            },
-            {
-              value: "KILOMETER",
-              label: "千米",
-            },
-          ],
-          // 元素个数
-          numberOf: 2,
-          // 后台接口路径
-          apiUrl: "/spatialMeasure/pointToLine",
-        },
-        "1.5.2.3": {
-          // 功能描述
-          functionalDefinition: "计算点和面要素之间的最短空间距离,单位支持米、千米",
-          // 元素类型
-          elementTypes: ["point", "polygon", "unit"],
-          // 单位
-          unit: [
-            {
-              value: "METER",
-              label: "米",
-            },
-            {
-              value: "KILOMETER",
-              label: "千米",
-            },
-          ],
-          // 元素个数
-          numberOf: 2,
-          // 后台接口路径
-          apiUrl: "/spatialMeasure/pointToPolygon",
-        },
-        "1.5.2.4": {
-          // 功能描述
-          functionalDefinition: "计算两个面要素之间的最短空间距离,单位支持米、千米",
-          // 元素类型
-          elementTypes: ["polygon", "polygon", "unit"],
-          // 单位
-          unit: [
-            {
-              value: "METER",
-              label: "米",
-            },
-            {
-              value: "KILOMETER",
-              label: "千米",
-            },
-          ],
-          // 元素个数
-          numberOf: 2,
-          // 后台接口路径
-          apiUrl: "/spatialMeasure/PolygonToPolygon",
-        },
-        "1.5.2.5": {
-          // 功能描述
-          functionalDefinition: "计算多条线段组成的折线总长度,单位支持米、千米",
-          // 元素类型
-          elementTypes: ["polyline", "unit"],
-          // 单位
-          unit: [
-            {
-              value: "METER",
-              label: "米",
-            },
-            {
-              value: "KILOMETER",
-              label: "千米",
-            },
-          ],
-          // 元素个数
-          numberOf: 1,
-          // 后台接口路径
-          apiUrl: "/spatialMeasure/calculatePolylineDistance",
-        },
-        "1.5.2.6": {
-          // 功能描述
-          functionalDefinition:
-            "计算面要素在二维平面上的投影面积,单位支持平方米、公顷、平方千米切换",
-          // 元素类型
-          elementTypes: ["polygon", "unit"],
-          // 单位
-          unit: [
-            {
-              value: "SQUARE_METER",
-              label: "平方米",
-            },
-            {
-              value: "HECTARE",
-              label: "公顷",
-            },
-            {
-              value: "SQUARE_KILOMETER",
-              label: "平方千米",
-            },
-          ],
-          // 元素个数
-          numberOf: 1,
-          // 后台接口路径
-          apiUrl: "/spatialMeasure/calculatePlaneAreaInGeometry",
-        },
-        "1.5.2.7": {
-          // 功能描述
-          functionalDefinition:
-            "结合 DEM 高程数据,计算面要素在三维地形上的实际曲面面积(考虑地形起伏),精度依赖 DEM 数据分辨率。,单位支持平方米、公顷、平方千米切换",
-          // 元素类型
-          elementTypes: ["polygon", "unit"],
-          // 单位
-          unit: [
-            {
-              value: "SQUARE_METER",
-              label: "平方米",
-            },
-            {
-              value: "HECTARE",
-              label: "公顷",
-            },
-            {
-              value: "SQUARE_KILOMETER",
-              label: "平方千米",
-            },
-          ],
-          // 元素个数
-          numberOf: 1,
-          // 后台接口路径
-          apiUrl: "/spatialMeasure/calculateSurfaceAreaInGeometry",
-        },
-        "1.5.2.8": {
-          // 功能描述
-          functionalDefinition:
-            "查询单个点要素的海拔高度(基于 CGCS2000 大地高程基准),单位为米",
-          // 元素类型
-          elementTypes: ["point"],
-          // 元素个数
-          numberOf: 1,
-          // 后台接口路径
-          apiUrl: "/spatialMeasure/getPointElevationInGeometry",
-        },
-        "1.5.2.9": {
-          // 功能描述
-          functionalDefinition:
-            "计算两个点要素之间的高程差值,支持正负值显示(正值表示前者高于后者,负值相反)",
-          // 元素类型
-          elementTypes: ["point", "point"],
-          // 元素个数
-          numberOf: 2,
-          // 后台接口路径
-          apiUrl: "/spatialMeasure/calculateElevationDiffInGeometry",
-        },
-        "1.5.2.10": {
-          // 功能描述
-          functionalDefinition:
-            "查询单个面要素的海拔高度(基于 CGCS2000 大地高程基准),单位为米",
-          // 元素类型
-          elementTypes: ["polygon"],
-          // 元素个数
-          numberOf: 1,
-          // 后台接口路径
-          apiUrl: "/spatialMeasure/calculateAreaElevationStatsInGeometry",
-        },
-        "1.5.3.1": {
-          // 功能描述
-          functionalDefinition:
-            "将两个或多个不重叠 / 部分重叠的面要素,合并为一个连续的新面要素(消除重叠部分,保留所有要素的覆盖范围)",
-          // 元素类型
-          elementTypes: ["polygon"],
-          // 元素个数
-          numberOf: 2,
-          // 后台接口路径
-          apiUrl: "/geometry/union",
-        },
-        "1.5.3.2": {
-          // 功能描述
-          functionalDefinition:
-            "提取两个或多个面要素之间的重叠区域,生成新的面要素(仅保留所有要素共同覆盖的范围)",
-          // 元素类型
-          elementTypes: ["polygon"],
-          // 元素个数
-          numberOf: 2,
-          // 后台接口路径
-          apiUrl: "/geometry/intersection",
-        },
-        "1.5.3.3": {
-          // 功能描述
-          functionalDefinition:
-            "以一个面要素(称为 “源面”)为基础,减去与另一个面要素(称为 “裁剪面”)的重叠区域,生成新的面要素(保留源面中未被裁剪面覆盖的部分)",
-          // 元素类型
-          elementTypes: ["polygon"],
-          // 元素个数
-          numberOf: 2,
-          // 后台接口路径
-          apiUrl: "/geometry/difference",
-        },
-        "1.5.3.4": {
-          // 功能描述
-          functionalDefinition:
-            "计算面要素的参数(面积、周长、中心坐标、最小外接矩形等)",
-          // 元素类型
-          elementTypes: ["point", "polyline", "polygon"],
-          // 元素个数
-          numberOf: 1,
-          // 后台接口路径
-          apiUrl: "/geometry/parameters",
-        },
-        "1.5.4.1": {
-          // 功能描述
-          functionalDefinition:
-            "判断两个面要素是否 “边界接触但不重叠”,且距离小于等于自定义阈值(默认 1 米,可通过接口参数调整),核心用于 “相邻区域联动” 场景",
-          // 元素类型
-          elementTypes: ["polygon", "polygon", "EPSILON"],
-          // 元素个数
-          numberOf: 2,
-          // 后台接口路径
-          apiUrl: "/relationAnalys/adjacent",
-        },
-        "1.5.4.2": {
-          // 功能描述
-          functionalDefinition:
-            "判断一个要素(含点、线、面)是否完全位于另一个面要素内部,且无任何部分超出,核心用于 “归属界定” 场景",
-          // 元素类型
-          elementTypes: ["point", "polyline", "polygon", "EPSILON"],
-          // 元素个数
-          numberOf: 2,
-          // 后台接口路径
-          apiUrl: "/relationAnalys/include",
-        },
-        "1.5.4.3": {
-          // 功能描述
-          functionalDefinition:
-            "判断两个要素(点与线、点与面、线与线、线与面、面与面)是否存在空间重叠(含部分重叠),核心用于 “交叉影响” 场景",
-          // 元素类型
-          elementTypes: ["point", "polyline", "polygon", "EPSILON"],
-          // 元素个数
-          numberOf: 2,
-          // 后台接口路径
-          apiUrl: "/relationAnalys/intersect",
-        },
-        "1.5.4.4": {
-          // 功能描述
-          functionalDefinition:
-            "判断两个要素(点、线、面)之间无任何空间接触(含边界接触),且最小距离大于自定义阈值(默认 10 米,可通过接口参数调整),核心用于 “无关联排除” 场景",
-          // 元素类型
-          elementTypes: ["point", "polyline", "polygon", "EPSILON"],
-          // 元素个数
-          numberOf: 2,
-          // 后台接口路径
-          apiUrl: "/relationAnalys/parting",
-        },
-        "1.5.5.1": {
-          // 功能描述
-          functionalDefinition:
-            "非空间数据转空间数据功能支持常见格式的非空间数据转换,如 CSV、Excel 表格数据等。通过与地理编码服务紧密结合,关联空间参考信息(如地址、行政区域、关联 ID),转换为带坐标的空间要素(点、线、面),将表格中的地址、坐标等信息转换为具有空间位置的矢量数据的功能,并依据用户设定规则赋予属性信息。核心解决 “业务数据与地图引擎关联” 的问题,实现 “数据可视化” 与 “空间分析” 的联动。在智慧城市建设中,整合人口、环境、交通等多源非空间数据,实现数据融合分析,为城市精细化管理提供数据支持;在地理大数据分析中,拓展非空间数据的应用维度,挖掘数据潜在价值。",
-          // 元素类型
-          elementTypes: ["file"],
-          // 元素个数
-          numberOf: 0,
-          // 后台接口路径
-          apiUrl: "/nonStandardToStandard/importFile",
-        },
-        "1.5.6.1": {
-          // 功能描述
-          functionalDefinition:
-            "坐标转换是基于青浦区三维数字底板的坐标系统(SH2000投影坐标系),将空间要素的坐标在不同坐标系之间进行转换的功能,包括地理坐标系(如 WGS84、上海 2000 等)和投影坐标系(如高斯 - 克吕格投影、UTM 投影等)",
-          // 元素类型
-          elementTypes: ["lon", "lat", "inPrj", "outPrj"],
-          inPrj: [
-            {
-              value: "WGS84",
-              label: "WGS84",
-            },
-            {
-              value: "SH2000",
-              label: "SH2000",
-            },
-            {
-              value: "UTM",
-              label: "UTM",
-            },
-            {
-              value: "WEB_Mercator",
-              label: "WEB_Mercator",
-            },
-          ],
-          outPrj: [
-            {
-              value: "WGS84",
-              label: "WGS84",
-            },
-            {
-              value: "SH2000",
-              label: "SH2000",
-            },
-            {
-              value: "UTM",
-              label: "UTM",
-            },
-            {
-              value: "WEB_Mercator",
-              label: "WEB_Mercator",
-            },
-          ],
-          // 元素个数
-          numberOf: 0,
-          // 后台接口路径
-          apiUrl: "/coordinateSystemTransformation/pointTransformation",
-        },
-        "1.5.6.2": {
-          // 功能描述
-          functionalDefinition:
-            "传入geoJsonPolygons(geojson)并解析成JSONArray,然后转坐标并返回geojson",
-          // 元素类型
-          elementTypes: ["point", "polyline", "polygon", "inPrj", "outPrj"],
-          inPrj: [
-            {
-              value: "WGS84",
-              label: "WGS84",
-            },
-            {
-              value: "SH2000",
-              label: "SH2000",
-            },
-            {
-              value: "UTM",
-              label: "UTM",
-            },
-            {
-              value: "WEB_Mercator",
-              label: "WEB_Mercator",
-            },
-          ],
-          outPrj: [
-            {
-              value: "WGS84",
-              label: "WGS84",
-            },
-            {
-              value: "SH2000",
-              label: "SH2000",
-            },
-            {
-              value: "UTM",
-              label: "UTM",
-            },
-            {
-              value: "WEB_Mercator",
-              label: "WEB_Mercator",
-            },
-          ],
-          // 元素个数
-          numberOf: 1,
-          // 后台接口路径
-          apiUrl: "/coordinateSystemTransformation/transformation",
-        },
-        "1.5.7.1": {
-          // 功能描述
-          functionalDefinition:
-            "时空数据格式转换是将青浦区三维数字底板中的时空数据(含空间坐标与时间属性的数据,如轨迹数据、时序监测数据),在不同标准数据格式之间进行转换的功能,如 Shapefile、GeoJSON、KML、NetCDF 等。核心支持 “矢量数据格式转换”“栅格数据格式转换”“时空轨迹数据格式转换” 三类转换,确保数据能在不同 GIS 软件、不同应用系统之间兼容流转,不同部门、不同系统之间顺利读取和处理时空数据;在大数据存储和管理时,根据不同应用场景和存储需求,选择合适的数据格式。提高数据存储和访问效率,满足数据共享、分析、展示的多场景需求。",
-          // 元素类型
-          elementTypes: ["file", "outFileType", "lonKey", "latKey"],
-          outFileType: [
-            {
-              value: "geoJson",
-              label: "geoJson",
-            },
-            {
-              value: "shp",
-              label: "shp",
-            },
-            {
-              value: "csv",
-              label: "csv",
-            },
-            {
-              value: "xlsx",
-              label: "xlsx",
-            },
-          ],
-          // 元素个数
-          numberOf: 0,
-          // 后台接口路径
-          apiUrl: "/spatiotemporal_data_format_conversion/fileFormatConversion",
-        },
-        "1.5.7.2": {
-          // 功能描述
-          functionalDefinition: "转换文件下载",
-          // 元素类型
-          elementTypes: ["filePath"],
-          // 元素个数
-          numberOf: 0,
-          // 后台接口路径
-          apiUrl: "/spatiotemporal_data_format_conversion/downloadFile",
-        },
-        // 这就都是时空算子库了
-        "1.2.5.1": {
-          // 功能描述
-          functionalDefinition:
-            "墨卡托投影是一种等角正圆柱投影,经纬线相互垂直,纬线间隔随纬度升高而增大 。计算距离时,利用投影后的坐标,根据勾股定理计算两点间的直线距离,再通过特定的比例尺换算公式,将投影距离转换为实际地面距离。计算面积时,先将多边形分割成多个三角形,利用三角形面积公式计算各三角形面积,再求和得到多边形面积,过程中同样要考虑投影带来的变形和比例尺差异。",
-          // 元素类型
-          elementTypes: ["polyline", "polygon", "unit", "inPrj"],
-          // 单位
-          unit: [
-            {
-              value: "METER",
-              label: "米",
-            },
-            {
-              value: "KILOMETER",
-              label: "千米",
-            },
-          ],
-          inPrj: [
-            {
-              value: "WGS84",
-              label: "WGS84",
-            },
-            {
-              value: "SH2000",
-              label: "SH2000",
-            },
-            {
-              value: "UTM",
-              label: "UTM",
-            },
-            {
-              value: "WEB_Mercator",
-              label: "WEB_Mercator",
-            },
-          ],
-          // 元素个数
-          numberOf: 1,
-          // 后台接口路径
-          apiUrl: "/spaceTimeOperatorLibrary/adjacent",
-        },
-
-        "1.2.5.2": {
-          // 功能描述:(必须要有两个点和一个障碍面?)
-          functionalDefinition:
-            "基于图论的思想,将地图抽象为一个图,其中节点表示位置,边表示可通行路径,设置障碍的区域则视为不可通行的边或节点。通过搜索算法,如 Dijkstra 算法、A * 算法等,在考虑障碍的情况下,寻找从起点到终点的最优路径。这些算法会根据节点间的距离、代价等因素,不断探索和评估路径,直到找到满足条件的最佳路径。",
-          // 元素类型
-          elementTypes: ["point", "point", "polygon"],
-          // 元素个数
-          numberOf: 3,
-          // 后台接口路径
-          apiUrl: "/spaceTimeOperatorLibrary/pathCalculation",
-        },
-        "1.2.5.3": {
-          // 功能描述:(由于使用了jts的工具,这个工具类必须要有高程数据,暂时测试不了)
-          functionalDefinition:
-            "对于点与线的关系,通过计算点到线的垂直距离,若距离为 0,则点在线上;对于点与面的关系,可通过射线法,从点出发作一条射线,统计射线与多边形边界的交点个数,若为奇数则点在面内,偶数则在面外。线与线的关系可通过判断两条线段是否相交来确定;线与面的关系则是判断线与面的边界是否相交以及交点个数等。对于体与点、线、面的关系,类似地通过计算几何的方法,判断点是否在体内,线是否贯穿体,面是否与体相交等。",
-          // 元素类型
-          elementTypes: ["pointZ", "polylineZ", "polygonZ"],
-          // 元素个数
-          numberOf: 2,
-          // 后台接口路径
-          apiUrl: "/spaceTimeOperatorLibrary/topologyPlus",
-        },
-        "1.2.5.4": {
-          // 功能描述
-          functionalDefinition:
-            "以点、线、面等几何对象为基础,按照给定的距离生成围绕这些对象的缓冲区。对于点,缓冲区是一个以点为圆心,给定距离为半径的圆;对于线,缓冲区是沿着线的两侧扩展一定距离形成的带状区域;对于面,缓冲区是在面的边界向外或向内扩展一定距离得到的新面。计算过程中需要考虑几何对象的形状、方向以及缓冲区的平滑度等因素。",
-          // 元素类型
-          elementTypes: ["point", "polyline", "polygon", "EPSILON"],
-          // 元素个数
-          numberOf: 2,
-          // 后台接口路径
-          apiUrl: "/relationAnalys/neighbor",
-        },
-        // children: [
-        //   {
-        //     value: "1.2.5.5",
-        //     label: "线面体分割",
-        //   },
-        //   {
-        //     value: "1.2.5.6",
-        //     label: "时空差异分析(两个面计算不相交的面)",
-        //   },
-        // ],
+      dmsServerItem: {},
+      selectOptions: {
+        // 单位
+        unit: [
+          {
+            value: "METER",
+            label: "米",
+          },
+          {
+            value: "KILOMETER",
+            label: "千米",
+          },
+        ],
+        inPrj: [
+          {
+            value: "WGS84",
+            label: "WGS84",
+          },
+          {
+            value: "SH2000",
+            label: "SH2000",
+          },
+          {
+            value: "UTM",
+            label: "UTM",
+          },
+          {
+            value: "WEB_Mercator",
+            label: "WEB_Mercator",
+          },
+        ],
+        outPrj: [
+          {
+            value: "WGS84",
+            label: "WGS84",
+          },
+          {
+            value: "SH2000",
+            label: "SH2000",
+          },
+          {
+            value: "UTM",
+            label: "UTM",
+          },
+          {
+            value: "WEB_Mercator",
+            label: "WEB_Mercator",
+          },
+        ],
+        outFileType: [
+          {
+            value: "geoJson",
+            label: "geoJson",
+          },
+          {
+            value: "shp",
+            label: "shp",
+          },
+          {
+            value: "csv",
+            label: "csv",
+          },
+          {
+            value: "xlsx",
+            label: "xlsx",
+          },
+        ],
       },
       currentTool: null,
       drawingMode: null,
@@ -978,6 +513,60 @@ export default {
     },
   },
   methods: {
+    ifHasType(type) {
+      if (this.dmsServerItem.elementTypes && this.dmsServerItem.elementTypes.length > 0) {
+        return this.dmsServerItem.elementTypes.includes(type);
+      } else {
+        return false;
+      }
+    },
+    // 搜索微功能服务
+    searchServerList() {
+      let requestParams = {
+        columnId: 1651,
+        states: 0,
+        pageSize: 999,
+        page: 0,
+      };
+      if (this.SceneValue) {
+        requestParams.search = JSON.stringify([
+          {
+            field: "c_scene_name",
+            searchType: 1,
+            content: { value: this.SceneValue },
+          },
+        ]);
+        // 获取微功能服务列表
+        wgn
+          .getDmsData(requestParams)
+          .then((res) => {
+            if (res.code === 200 && res.content.data[0]) {
+              let dmsServiceData = res.content.data[0];
+              this.dmsServerItem = {
+                // 功能描述
+                functionalDefinition: dmsServiceData.content,
+                // 元素类型
+                elementTypes: JSON.parse(dmsServiceData.c_input_parameter_rules),
+                // 元素个数
+                numberOf: JSON.parse(dmsServiceData.c_number_of_elements),
+                // 后台接口路径
+                apiUrl: dmsServiceData.c_url,
+              };
+            } else {
+              this.$message({
+                message: "搜索微功能服务失败,请检查场景名称是否正确",
+                type: "warning",
+              });
+            }
+          })
+          .catch((e) => {
+            this.$message({
+              message: "搜索微功能服务失败" + e,
+              type: "error",
+            });
+          });
+      }
+    },
     // 将用户输入或后台返回的geojson渲染到地图中
     showToMap(geojson) {
       // 1. 清除所有地图中的元素
@@ -1740,18 +1329,18 @@ export default {
       }
       if (
         this.SceneValue &&
-        this.SceneRule[this.SceneValue] &&
-        this.SceneRule[this.SceneValue].elementTypes &&
-        this.SceneRule[this.SceneValue].elementTypes.includes("inPrj") &&
+        this.dmsServerItem &&
+        this.dmsServerItem.elementTypes &&
+        this.ifHasType("inPrj") &&
         this.params.inPrj
       ) {
         requestData.inPrj = this.params.inPrj;
       }
       if (
         this.SceneValue &&
-        this.SceneRule[this.SceneValue] &&
-        this.SceneRule[this.SceneValue].elementTypes &&
-        this.SceneRule[this.SceneValue].elementTypes.includes("outPrj") &&
+        this.dmsServerItem &&
+        this.dmsServerItem.elementTypes &&
+        this.ifHasType("outPrj") &&
         this.params.outPrj
       ) {
         requestData.outPrj = this.params.outPrj;

+ 10 - 0
src/components/yxgl/EchartsDome.vue

@@ -49,6 +49,16 @@ export default {
           bottom: 0,
           containLabel: true, // 关键:防止坐标轴标签超出容器(可选,根据需求添加)
         };
+        if (!this.chartOption.legend) {
+          this.chartOption.legend = {};
+        }
+        Object.assign(this.chartOption.legend, {
+          textStyle: {
+            color: "#F2F3F5", // 字体颜色(支持十六进制、RGB、颜色名)
+            fontSize: 14, // 可选:字体大小
+            fontWeight: "normal", // 可选:字体粗细
+          },
+        });
         chartDom.setOption(this.chartOption);
       }
     },

+ 6 - 2
src/components/yxgl/table.vue

@@ -4,7 +4,11 @@
     <div class="table_more">
       <el-button type="primary" link> 更多 </el-button>
     </div>
-    <el-table :data="tableData" style="width: 100%" height="calc(100% - 60px)">
+    <el-table
+      :data="tableData"
+      style="width: 100%; background-color: #00000032"
+      height="calc(100% - 60px)"
+    >
       <el-table-column prop="serviceName" label="服务名称" width="300" />
       <el-table-column prop="serviceType" label="类别" width="300" />
       <el-table-column prop="callCount" label="调用次数" width="480" />
@@ -56,7 +60,7 @@ export default {
 };
 </script>
 
-<style>
+<style lang="less" scoped>
 .table_box {
   width: 100%;
   height: 100%;