diff --git a/core/core-backend/src/main/java/io/dataease/map/dao/auto/entity/CoreCustomGeoArea.java b/core/core-backend/src/main/java/io/dataease/map/dao/auto/entity/CoreCustomGeoArea.java new file mode 100644 index 0000000000..4a1b7097d0 --- /dev/null +++ b/core/core-backend/src/main/java/io/dataease/map/dao/auto/entity/CoreCustomGeoArea.java @@ -0,0 +1,52 @@ +package io.dataease.map.dao.auto.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; + +/** + *
+ * 自定义地理区域 + *
+ * + * @author fit2cloud + * @since 2024-11-22 + */ +@TableName("core_custom_geo_area") +public class CoreCustomGeoArea implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + private String id; + + /** + * 区域名称 + */ + private String name; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @Override + public String toString() { + return "CoreCustomGeoArea{" + + "id = " + id + + ", name = " + name + + "}"; + } +} diff --git a/core/core-backend/src/main/java/io/dataease/map/dao/auto/entity/CoreCustomGeoSubArea.java b/core/core-backend/src/main/java/io/dataease/map/dao/auto/entity/CoreCustomGeoSubArea.java new file mode 100644 index 0000000000..57015a6921 --- /dev/null +++ b/core/core-backend/src/main/java/io/dataease/map/dao/auto/entity/CoreCustomGeoSubArea.java @@ -0,0 +1,80 @@ +package io.dataease.map.dao.auto.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; + +/** + *+ * 自定义地理区域分区详情 + *
+ * + * @author fit2cloud + * @since 2024-11-22 + */ +@TableName("core_custom_geo_sub_area") +public class CoreCustomGeoSubArea implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + private Long id; + + /** + * 名称 + */ + private String name; + + /** + * 区域范围 + */ + private String scope; + + /** + * 自定义地理区域id + */ + private String geoAreaId; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getScope() { + return scope; + } + + public void setScope(String scope) { + this.scope = scope; + } + + public String getGeoAreaId() { + return geoAreaId; + } + + public void setGeoAreaId(String geoAreaId) { + this.geoAreaId = geoAreaId; + } + + @Override + public String toString() { + return "CoreCustomGeoSubArea{" + + "id = " + id + + ", name = " + name + + ", scope = " + scope + + ", geoAreaId = " + geoAreaId + + "}"; + } +} diff --git a/core/core-backend/src/main/java/io/dataease/map/dao/auto/mapper/CoreCustomGeoAreaMapper.java b/core/core-backend/src/main/java/io/dataease/map/dao/auto/mapper/CoreCustomGeoAreaMapper.java new file mode 100644 index 0000000000..23986813e5 --- /dev/null +++ b/core/core-backend/src/main/java/io/dataease/map/dao/auto/mapper/CoreCustomGeoAreaMapper.java @@ -0,0 +1,18 @@ +package io.dataease.map.dao.auto.mapper; + +import io.dataease.map.dao.auto.entity.CoreCustomGeoArea; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + *+ * 自定义地理区域 Mapper 接口 + *
+ * + * @author fit2cloud + * @since 2024-11-22 + */ +@Mapper +public interface CoreCustomGeoAreaMapper extends BaseMapper+ * 自定义地理区域分区详情 Mapper 接口 + *
+ * + * @author fit2cloud + * @since 2024-11-22 + */ +@Mapper +public interface CoreCustomGeoSubAreaMapper extends BaseMapperextends AntVDrawOptions
{
areaId?: string
level?: ViewLevel['level']
geoJson?: FeatureCollection
+ scope?: string[]
}
// S2 or others to be defined next
export abstract class L7PlotChartView<
diff --git a/core/core-frontend/src/views/chart/components/views/components/ChartComponentG2Plot.vue b/core/core-frontend/src/views/chart/components/views/components/ChartComponentG2Plot.vue
index e8c60059f8..032def29d7 100644
--- a/core/core-frontend/src/views/chart/components/views/components/ChartComponentG2Plot.vue
+++ b/core/core-frontend/src/views/chart/components/views/components/ChartComponentG2Plot.vue
@@ -184,11 +184,16 @@ const calcData = async (view, callback) => {
if (!res?.drillFilters?.length) {
dynamicAreaId.value = ''
} else {
- dynamicAreaId.value =
- view.chartExtRequest?.drill?.[res?.drillFilters?.length - 1].extra?.adcode + ''
+ const extra = view.chartExtRequest?.drill?.[res?.drillFilters?.length - 1].extra
+ dynamicAreaId.value = extra?.adcode + ''
+ scope = extra?.scope
// 地图
if (!dynamicAreaId.value?.startsWith(country.value)) {
- dynamicAreaId.value = country.value + dynamicAreaId.value
+ if (country.value === 'cus') {
+ dynamicAreaId.value = '156' + dynamicAreaId.value
+ } else {
+ dynamicAreaId.value = country.value + dynamicAreaId.value
+ }
}
}
dvMainStore.setViewDataDetails(view.id, res)
@@ -268,6 +273,7 @@ const dynamicAreaId = ref('')
const country = ref('')
const appStore = useAppStoreWithOut()
const chartContainer = ref