Commit 540a0ebf8c22582f36562a0da8183b3a90072a92

Authored by fengwotao
1 parent 6fcb269e

feat(src/packages/): 高德地图新增标点点击显示弹窗信息

@@ -46,6 +46,7 @@ export const getPlatformInfo = () => defHttp.get({ url: Api.PLATFORM }) @@ -46,6 +46,7 @@ export const getPlatformInfo = () => defHttp.get({ url: Api.PLATFORM })
46 export const getConfigurationList = (params: object) => { 46 export const getConfigurationList = (params: object) => {
47 return defHttp.get({ url: `${Api.CONFIGURATION}`, params }) 47 return defHttp.get({ url: `${Api.CONFIGURATION}`, params })
48 } 48 }
  49 +
49 //组态设置是否公开或私有 50 //组态设置是否公开或私有
50 export const setConfigurationIsShare = (params: string,isShare:boolean,data:object) => { 51 export const setConfigurationIsShare = (params: string,isShare:boolean,data:object) => {
51 return defHttp.post({ 52 return defHttp.post({
@@ -53,3 +54,15 @@ export const setConfigurationIsShare = (params: string,isShare:boolean,data:obje @@ -53,3 +54,15 @@ export const setConfigurationIsShare = (params: string,isShare:boolean,data:obje
53 data 54 data
54 }) 55 })
55 } 56 }
  57 +
  58 +// 获取设备状态,在线 or 离线时间
  59 +export const getDeviceActiveTime = (entityId: string) => {
  60 + return defHttp.get(
  61 + {
  62 + url: `/plugins/telemetry/DEVICE/${entityId}/values/attributes?keys=active`,
  63 + },
  64 + {
  65 + joinPrefix: false,
  66 + }
  67 + );
  68 +};
  1 +import { PublicConfigClass } from '@/packages/public'
  2 +import { CreateComponentType } from '@/packages/index.d'
  3 +import { OverrideMapAmapConfig } from './index'
  4 +import { chartInitConfig } from '@/settings/designSetting'
  5 +import cloneDeep from 'lodash/cloneDeep'
  6 +import dataJson from './data.json'
  7 +
  8 +export enum ThemeEnum {
  9 + NORMAL = 'normal',
  10 + DARK = 'dark',
  11 + LIGHT = 'light',
  12 + WHITES_MOKE = 'whitesmoke',
  13 + FRESH = 'fresh',
  14 + GREY = 'grey',
  15 + GRAFFITI = 'graffiti',
  16 + MACARON = 'macaron',
  17 + BLUE = 'blue',
  18 + DARKBLUE = 'darkblue',
  19 + WINE = 'wine',
  20 + WEIXIN = 'tileLayer'
  21 +}
  22 +
  23 +export enum LangEnum {
  24 + ZH_CN = 'zh_cn',
  25 + EN = 'en',
  26 + ZH_EN = 'zh_en'
  27 +}
  28 +
  29 +export enum ViewModeEnum {
  30 + PLANE = '2D',
  31 + STEREOSCOPIC = '3D'
  32 +}
  33 +
  34 +export enum FeaturesEnum {
  35 + BG = 'bg',
  36 + POINT = 'point',
  37 + ROAD = 'road',
  38 + BUILDING = 'building'
  39 +}
  40 +
  41 +export enum MarkerEnum {
  42 + // 圆圈
  43 + CIRCLE_MARKER = 'CircleMarker',
  44 + // 定位标点
  45 + MARKER = 'Marker',
  46 + // 暂无
  47 + NONE = 'none'
  48 +}
  49 +
  50 +export const option = {
  51 + dataset: dataJson,
  52 + mapOptions: {
  53 + pitch: 60,
  54 + skyColor: '#53A9DE',
  55 + amapKey: 'd5f3e16589dbecae64d05fe90e2ba4f2',
  56 + amapStyleKey: ThemeEnum.DARK,
  57 + amapStyleKeyCustom: '',
  58 + amapLon: 104.108689,
  59 + amapLat: 30.66176,
  60 + amapZindex: 11,
  61 + marker: {
  62 + fillColor: '#E98984FF',
  63 + fillOpacity: 0.5,
  64 + strokeColor: 'white',
  65 + strokeWeight: 2,
  66 + strokeOpacity: 0.5,
  67 + zIndex: 10,
  68 + bubble: true,
  69 + cursor: 'pointer',
  70 + clickable: true
  71 + },
  72 + mapMarkerType: MarkerEnum.MARKER,
  73 + viewMode: ViewModeEnum.PLANE,
  74 + lang: LangEnum.ZH_CN,
  75 + features: [FeaturesEnum.BG, FeaturesEnum.POINT, FeaturesEnum.ROAD, FeaturesEnum.BUILDING]
  76 + }
  77 +}
  78 +
  79 +export default class Config extends PublicConfigClass implements CreateComponentType {
  80 + public key = OverrideMapAmapConfig.key
  81 + public attr = { ...chartInitConfig, w: 1000, h: 800, zIndex: -1 }
  82 + public chartConfig = cloneDeep(OverrideMapAmapConfig)
  83 + public option = cloneDeep(option)
  84 +}
  1 +<template>
  2 + <collapse-item name="基础" :expanded="true">
  3 + <setting-item-box name="语言类型" :alone="true">
  4 + <setting-item>
  5 + <n-select size="small" v-model:value="optionData.mapOptions.lang" :options="langOptions" />
  6 + </setting-item>
  7 + </setting-item-box>
  8 + <setting-item-box name="Key" :alone="true">
  9 + <setting-item name="请务必使用自己的高德应用 key">
  10 + <n-input v-model:value="optionData.mapOptions.amapKey" size="small"></n-input>
  11 + </setting-item>
  12 + </setting-item-box>
  13 + <setting-item-box name="自定义地图样式ID" :alone="true">
  14 + <setting-item>
  15 + <n-input size="small" v-model:value="optionData.mapOptions.amapStyleKeyCustom" />
  16 + </setting-item>
  17 + </setting-item-box>
  18 + </collapse-item>
  19 + <collapse-item name="地图" :expanded="true">
  20 + <setting-item-box name="主题">
  21 + <setting-item>
  22 + <n-select size="small" v-model:value="optionData.mapOptions.amapStyleKey" :options="themeOptions" />
  23 + </setting-item>
  24 + </setting-item-box>
  25 + <setting-item-box name="内容" :alone="true">
  26 + <n-checkbox-group v-model:value="optionData.mapOptions.features">
  27 + <n-space item-style="display: flex;">
  28 + <n-checkbox :value="item.value" :label="item.label" v-for="(item, index) in featuresOptions" :key="index" />
  29 + </n-space>
  30 + </n-checkbox-group>
  31 + </setting-item-box>
  32 + <setting-item-box name="位置">
  33 + <setting-item name="经度">
  34 + <n-input-number v-model:value="optionData.mapOptions.amapLon" :show-button="false" size="small">
  35 + <template #suffix>°</template>
  36 + </n-input-number>
  37 + </setting-item>
  38 + <setting-item name="纬度">
  39 + <n-input-number v-model:value="optionData.mapOptions.amapLat" :show-button="false" size="small">
  40 + <template #suffix>°</template>
  41 + </n-input-number>
  42 + </setting-item>
  43 + <setting-item name="初始缩放">
  44 + <n-input-number v-model:value="optionData.mapOptions.amapZindex" :min="0" size="small"></n-input-number>
  45 + </setting-item>
  46 + </setting-item-box>
  47 + <setting-item-box name="模式" :alone="true">
  48 + <setting-item>
  49 + <n-radio-group v-model:value="optionData.mapOptions.viewMode" name="radiogroup">
  50 + <n-space>
  51 + <n-radio v-for="song in viewModeOptions" :key="song.value" :value="song.value">
  52 + {{ song.label }}
  53 + </n-radio>
  54 + </n-space>
  55 + </n-radio-group>
  56 + </setting-item>
  57 + </setting-item-box>
  58 + <template v-if="optionData.mapOptions.viewMode === '3D'">
  59 + <setting-item-box>
  60 + <setting-item name="天空色">
  61 + <n-color-picker size="small" :modes="['hex']" v-model:value="optionData.mapOptions.skyColor"></n-color-picker>
  62 + </setting-item>
  63 + <setting-item name="俯仰角">
  64 + <n-input-number v-model:value="optionData.mapOptions.pitch" :min="0" :max="83" size="small"></n-input-number>
  65 + </setting-item>
  66 + </setting-item-box>
  67 + </template>
  68 + </collapse-item>
  69 + <collapse-item name="标记" :expanded="true">
  70 + <setting-item-box name="样式">
  71 + <setting-item name="类型">
  72 + <n-select size="small" v-model:value="optionData.mapOptions.mapMarkerType" :options="MarkerOptions" />
  73 + </setting-item>
  74 + <setting-item name="颜色">
  75 + <n-color-picker v-model:value="optionData.mapOptions.marker.fillColor" size="small"></n-color-picker>
  76 + </setting-item>
  77 + </setting-item-box>
  78 + </collapse-item>
  79 +</template>
  80 +
  81 +<script setup lang="ts">
  82 +import { PropType } from 'vue'
  83 +import { option, MarkerEnum, ThemeEnum, LangEnum, ViewModeEnum, FeaturesEnum } from './config'
  84 +import { CollapseItem, SettingItemBox, SettingItem } from '@/components/Pages/ChartItemSetting'
  85 +
  86 +defineProps({
  87 + optionData: {
  88 + type: Object as PropType<typeof option>,
  89 + required: true
  90 + }
  91 +})
  92 +
  93 +const themeOptions = [
  94 + {
  95 + value: ThemeEnum.NORMAL,
  96 + label: '标准'
  97 + },
  98 + {
  99 + value: ThemeEnum.DARK,
  100 + label: '幻影黑'
  101 + },
  102 + {
  103 + value: ThemeEnum.LIGHT,
  104 + label: '月光银'
  105 + },
  106 + {
  107 + value: ThemeEnum.WHITES_MOKE,
  108 + label: '远山黛'
  109 + },
  110 + {
  111 + value: ThemeEnum.FRESH,
  112 + label: '草色青'
  113 + },
  114 + {
  115 + value: ThemeEnum.GREY,
  116 + label: '雅士灰'
  117 + },
  118 + {
  119 + value: ThemeEnum.GRAFFITI,
  120 + label: '涂鸦'
  121 + },
  122 + {
  123 + value: ThemeEnum.MACARON,
  124 + label: '马卡龙'
  125 + },
  126 + {
  127 + value: ThemeEnum.BLUE,
  128 + label: '靛青蓝'
  129 + },
  130 + {
  131 + value: ThemeEnum.DARKBLUE,
  132 + label: '极夜蓝'
  133 + },
  134 + {
  135 + value: ThemeEnum.WINE,
  136 + label: '酱籽'
  137 + },
  138 + {
  139 + value: ThemeEnum.WEIXIN,
  140 + label: '卫星'
  141 + }
  142 +]
  143 +
  144 +const langOptions = [
  145 + {
  146 + value: LangEnum.ZH_CN,
  147 + label: '中文简体'
  148 + },
  149 + {
  150 + value: LangEnum.EN,
  151 + label: '英文'
  152 + },
  153 + {
  154 + value: LangEnum.ZH_EN,
  155 + label: '中英文对照'
  156 + }
  157 +]
  158 +
  159 +const viewModeOptions = [
  160 + {
  161 + value: ViewModeEnum.PLANE,
  162 + label: '2D'
  163 + },
  164 + {
  165 + value: ViewModeEnum.STEREOSCOPIC,
  166 + label: '3D'
  167 + }
  168 +]
  169 +
  170 +const featuresOptions = [
  171 + {
  172 + value: FeaturesEnum.BG,
  173 + label: '显示地图背景'
  174 + },
  175 + {
  176 + value: FeaturesEnum.POINT,
  177 + label: '显示标识'
  178 + },
  179 + {
  180 + value: FeaturesEnum.ROAD,
  181 + label: '显示道路'
  182 + },
  183 + {
  184 + value: FeaturesEnum.BUILDING,
  185 + label: '显示建筑'
  186 + }
  187 +]
  188 +
  189 +const MarkerOptions = [
  190 + {
  191 + value: MarkerEnum.CIRCLE_MARKER,
  192 + label: '圆形标点'
  193 + },
  194 + {
  195 + value: MarkerEnum.MARKER,
  196 + label: '定位标点'
  197 + },
  198 + {
  199 + value: MarkerEnum.NONE,
  200 + label: '隐藏标点'
  201 + }
  202 +]
  203 +</script>
  1 +{
  2 + "markers": [
  3 + {
  4 + "name": "x",
  5 + "value": 20,
  6 + "position": [103.856504, 30.687278],
  7 + "extraInfo": {
  8 + "tbDeviceId": "xxxxxxxxxxx",
  9 + "name": "xx",
  10 + "alias": "xx",
  11 + "organizationDTO": {
  12 + "name": "xx"
  13 + },
  14 + "deviceState": "INACTIVE",
  15 + "deviceProfile": {
  16 + "transportType": "MQTT"
  17 + },
  18 + "deviceInfo": {
  19 + "address": "四川省",
  20 + "longitude": 103.856504,
  21 + "latitude": 30.687278
  22 + }
  23 + }
  24 + },
  25 + {
  26 + "name": "xx",
  27 + "value": 30,
  28 + "position": [104.095368, 30.716787],
  29 + "extraInfo": {
  30 + "tbDeviceId": "xxxxxxxxxxxxxxx",
  31 + "name": "xxx",
  32 + "alias": "xx",
  33 + "organizationDTO": {
  34 + "name": "xx"
  35 + },
  36 + "deviceState": "INACTIVE",
  37 + "deviceProfile": {
  38 + "transportType": "TCP"
  39 + },
  40 + "deviceInfo": {
  41 + "address": "四川省",
  42 + "longitude": 104.095368,
  43 + "latitude": 30.716787
  44 + }
  45 + }
  46 + }
  47 + ]
  48 +}
  1 +import { ConfigType, PackagesCategoryEnum, ChartFrameEnum } from '@/packages/index.d'
  2 +import { ChatCategoryEnum, ChatCategoryEnumName } from '@/packages/components/Charts/index.d'
  3 +import { useWidgetKey } from '@/packages/external/useWidgetKey'
  4 +
  5 +const { key, conKey, chartKey } = useWidgetKey('OverrideMapAmap', true)
  6 +
  7 +export const OverrideMapAmapConfig: ConfigType = {
  8 + key,
  9 + chartKey,
  10 + conKey,
  11 + title: '高德地图',
  12 + category: ChatCategoryEnum.MAP,
  13 + categoryName: ChatCategoryEnumName.MAP,
  14 + package: PackagesCategoryEnum.CHARTS,
  15 + chartFrame: ChartFrameEnum.COMMON,
  16 + image: 'map_amap.png'
  17 +}
  1 +<template>
  2 + <div ref="vChartRef"></div>
  3 +</template>
  4 +
  5 +<script setup lang="ts">
  6 +import { ref, PropType, toRefs, watch } from 'vue'
  7 +import AMapLoader from '@amap/amap-jsapi-loader'
  8 +import { CreateComponentType } from '@/packages/index.d'
  9 +import { useChartDataFetch } from '@/hooks'
  10 +import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore'
  11 +import { MarkerEnum, ThemeEnum } from './config'
  12 +import { isArray } from '@/utils'
  13 +import djh from './images/djh.png'
  14 +import online from './images/online1.png'
  15 +import lx1 from './images/lx1.png'
  16 +import { getDeviceActiveTime } from '@/api/external/common/index'
  17 +import dayjs from 'dayjs'
  18 +
  19 +const props = defineProps({
  20 + chartConfig: {
  21 + type: Object as PropType<CreateComponentType>,
  22 + required: true
  23 + }
  24 +})
  25 +
  26 +let {
  27 + amapKey,
  28 + amapStyleKey,
  29 + amapLon,
  30 + amapLat,
  31 + amapZindex,
  32 + mapMarkerType,
  33 + lang,
  34 + amapStyleKeyCustom,
  35 + features,
  36 + viewMode,
  37 + pitch,
  38 + skyColor,
  39 + marker
  40 +} = toRefs(props.chartConfig.option.mapOptions)
  41 +
  42 +let mapIns: any = null
  43 +let markers: any = []
  44 +let AMapIns: any = null
  45 +const vChartRef = ref<HTMLElement>()
  46 +
  47 +const initMap = (newData: any) => {
  48 + // 初始化
  49 + AMapLoader.load({
  50 + key: amapKey.value, //api服务key--另外需要在public中使用安全密钥!!!
  51 + version: '2.0', // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
  52 + plugins: ['AMap.PlaceSearch', 'AMap.AutoComplete'] // 需要使用的的插件列表
  53 + })
  54 + .then(AMap => {
  55 + AMapIns = AMap
  56 + mapIns = new AMap.Map(vChartRef.value, {
  57 + resizeEnable: true,
  58 + zoom: amapZindex.value, // 地图显示的缩放级别
  59 + center: [amapLon.value, amapLat.value],
  60 + lang: lang.value,
  61 + features: features.value,
  62 + pitch: pitch.value, // 地图俯仰角度,有效范围 0 度- 83 度
  63 + skyColor: skyColor.value,
  64 + viewMode: viewMode.value, // 地图模式
  65 + willReadFrequently: true
  66 + })
  67 + dataHandle(props.chartConfig.option.dataset)
  68 + let satellite = new AMap.TileLayer.Satellite()
  69 + let roadNet = new AMap.TileLayer.RoadNet()
  70 + if (newData.amapStyleKey === ThemeEnum.WEIXIN) {
  71 + mapIns.add([satellite, roadNet])
  72 + } else {
  73 + mapIns.remove([satellite, roadNet])
  74 + mapIns.setMapStyle(
  75 + `amap://styles/${amapStyleKeyCustom.value !== '' ? amapStyleKeyCustom.value : amapStyleKey.value}`
  76 + )
  77 + }
  78 + //点击地图任意地方关闭infoWindow窗体
  79 + mapIns.on('click', () => {
  80 + mapIns.clearInfoWindow()
  81 + })
  82 + })
  83 + .catch(e => {
  84 + console.error(e)
  85 + })
  86 +}
  87 +
  88 +const createInfoWindow = async (extraInfo: any) => {
  89 + try {
  90 + const { name, alias, organizationDTO, deviceState, deviceProfile, deviceInfo, tbDeviceId } = extraInfo
  91 + const res = await getDeviceActiveTime(tbDeviceId)
  92 + let { lastUpdateTs } = res[0]
  93 + lastUpdateTs = dayjs(lastUpdateTs).format('YYYY-MM-DD HH:mm:ss')
  94 + return `
  95 + <div style="width:15vw;height:18vh;background-color:white;">
  96 + <div style="margin:0px 10px">
  97 + <div style="display:flex;justify-content:space-between; margin:20px 0px;">
  98 + <div style="font-size:16px;font-weight:bold">${alias || name}</div>
  99 + ${
  100 + deviceState === 'INACTIVE'
  101 + ? `<div style="display:flex;align-items:center;"><img style="width:15px;height:15px" src="${djh}" class="mr-1">待激活</div>`
  102 + : deviceState === 'ONLINE'
  103 + ? `<div style="display:flex;align-items:center; ">
  104 + <img style="width:15px;height:15px" src="${online}" class="mr-1">在线</div>`
  105 + : `<div style="display:flex;align-items:center;"><img style="width:15px;height:15px" src="${lx1}" class="mr-1">离线</div>`
  106 + }
  107 + </div>
  108 + <div>所属组织:${organizationDTO.name}</div>
  109 + <div style="margin-top:6px;">接入协议:${deviceProfile.transportType}</div>
  110 + <div style="margin-top:6px;">
  111 + 设备位置:${!deviceInfo.address ? '该设备暂无地理位置' : deviceInfo.address}
  112 + </div>
  113 + <div style="margin-top:6px;">
  114 + ${deviceState === 'ONLINE' ? '在线' : deviceState === 'INACTIVE' ? '创建' : '离线'}时间:${lastUpdateTs}
  115 + </div>
  116 + </div>
  117 + </div>
  118 + `
  119 + } catch (e) {
  120 + console.error(e)
  121 + }
  122 +}
  123 +
  124 +const dataHandle = (newData: any) => {
  125 + if (!mapIns && !AMapIns) {
  126 + initMap(props.chartConfig.option)
  127 + return
  128 + }
  129 + if (isArray(newData.markers)) {
  130 + // 先清除旧标记
  131 + mapIns.remove(markers)
  132 + markers = []
  133 + // 记录新标记
  134 + if (mapMarkerType.value === MarkerEnum.MARKER) {
  135 + newData.markers.forEach((markerItem: any) => {
  136 + const markerInstance = new AMapIns.Marker({
  137 + position: [markerItem.position[0], markerItem.position[1]],
  138 + offset: new AMapIns.Pixel(-13, -30)
  139 + })
  140 + // markers.push(markerInstance) 原作者这种方式添加,地图标注获取不到当前点击对象
  141 + // markerInstance.setMap(mapIns)
  142 + markerInstance.setExtData({
  143 + extraInfo: markerItem.extraInfo
  144 + })
  145 + mapIns.add(markerInstance)
  146 + markerInstance.setLabel({
  147 + content: markerItem.extraInfo.alias || markerItem.extraInfo.name
  148 + })
  149 + markerInstance.on('click', async (e: any) => {
  150 + const { extraInfo } = e.target.getExtData()
  151 + let infoWindow = new AMapIns.InfoWindow({
  152 + content: await createInfoWindow(extraInfo),
  153 + offset: new AMapIns.Pixel(0, -50)
  154 + })
  155 + infoWindow.open(mapIns, e.target.getPosition())
  156 + })
  157 + })
  158 + } else if (mapMarkerType.value === MarkerEnum.CIRCLE_MARKER) {
  159 + newData.markers.forEach((markerItem: any) => {
  160 + const markerInstance = new AMapIns.CircleMarker({
  161 + center: [
  162 + !markerItem.position[0] ? 0 : markerItem.position[0],
  163 + !markerItem.position[1] ? 0 : markerItem.position[1]
  164 + ],
  165 + radius: markerItem.value,
  166 + ...marker.value,
  167 + })
  168 + // markers.push(markerInstance) //原作者这种方式添加,地图标注获取不到当前点击对象
  169 + // markerInstance.setMap(mapIns)
  170 + markerInstance.setExtData({
  171 + extraInfo: markerItem.extraInfo
  172 + })
  173 + mapIns.add(markerInstance)
  174 + markerInstance.on('click', async (e: any) => {
  175 + console.log(e)
  176 + const { extraInfo } = e.target.getExtData()
  177 + let infoWindow = new AMapIns.InfoWindow({
  178 + content: await createInfoWindow(extraInfo),
  179 + offset: new AMapIns.Pixel(0, -50)
  180 + })
  181 + infoWindow.open(mapIns, e.target.getPosition())
  182 + })
  183 + })
  184 + }
  185 + }
  186 +}
  187 +
  188 +const stopWatch = watch(
  189 + () => props.chartConfig.option.mapOptions,
  190 + option => {
  191 + initMap(option)
  192 + },
  193 + {
  194 + immediate: true,
  195 + deep: true
  196 + }
  197 +)
  198 +
  199 +watch(
  200 + () => props.chartConfig.option.dataset,
  201 + newData => {
  202 + try {
  203 + dataHandle(newData)
  204 + } catch (error) {
  205 + console.log(error)
  206 + }
  207 + },
  208 + {
  209 + deep: false
  210 + }
  211 +)
  212 +
  213 +// 预览
  214 +useChartDataFetch(props.chartConfig, useChartEditStore, (newData: any) => {
  215 + stopWatch()
  216 + dataHandle(newData)
  217 +})
  218 +</script>
@@ -21,6 +21,7 @@ import { OverrideLineGradientsConfig } from '@/packages/components/external/Char @@ -21,6 +21,7 @@ import { OverrideLineGradientsConfig } from '@/packages/components/external/Char
21 import { OverrideProcessConfig } from '@/packages/components/external/Charts/Mores/OverrideProcess' 21 import { OverrideProcessConfig } from '@/packages/components/external/Charts/Mores/OverrideProcess'
22 import { OverridePieCircleConfig } from '@/packages/components/external/Charts/Pies/OverridePieCircle' 22 import { OverridePieCircleConfig } from '@/packages/components/external/Charts/Pies/OverridePieCircle'
23 import { OverrideMapBaseConfig } from '@/packages/components/external/Charts/Maps/OverrideMapBase' 23 import { OverrideMapBaseConfig } from '@/packages/components/external/Charts/Maps/OverrideMapBase'
  24 +import { OverrideMapAmapConfig } from '@/packages/components/external/Charts/Maps/OverrideMapAmap'
24 import { OverrideVideoConfig } from '@/packages/components/external/Informations/Mores/OverrideVideo' 25 import { OverrideVideoConfig } from '@/packages/components/external/Informations/Mores/OverrideVideo'
25 import { OverrideWaterPoloConfig } from '@/packages/components/external/Charts/Mores/OverrideWaterPolo' 26 import { OverrideWaterPoloConfig } from '@/packages/components/external/Charts/Mores/OverrideWaterPolo'
26 import { OverrideDialConfig } from '@/packages/components/external/Charts/Mores/OverrideDial' 27 import { OverrideDialConfig } from '@/packages/components/external/Charts/Mores/OverrideDial'
@@ -104,6 +105,7 @@ export function useInjectLib(packagesList: EPackagesType) { @@ -104,6 +105,7 @@ export function useInjectLib(packagesList: EPackagesType) {
104 addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.CHARTS, OverrideProcessConfig)//重写图表下的native ui 105 addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.CHARTS, OverrideProcessConfig)//重写图表下的native ui
105 addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.CHARTS, OverridePieCircleConfig)//重写图表下的饼图 106 addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.CHARTS, OverridePieCircleConfig)//重写图表下的饼图
106 addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.CHARTS, OverrideMapBaseConfig)//重写图表下的地图 107 addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.CHARTS, OverrideMapBaseConfig)//重写图表下的地图
  108 + addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.CHARTS, OverrideMapAmapConfig)//重写图表下的高德地图
107 addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.CHARTS, OverrideWaterPoloConfig)//重写图表下的水球图 109 addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.CHARTS, OverrideWaterPoloConfig)//重写图表下的水球图
108 addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.CHARTS, OverrideDialConfig)//重写图表下的表盘 110 addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.CHARTS, OverrideDialConfig)//重写图表下的表盘
109 // 111 //
@@ -16,7 +16,8 @@ export const hideAsideComponentsObj = { @@ -16,7 +16,8 @@ export const hideAsideComponentsObj = {
16 'VPieCircle' //饼图-环形 16 'VPieCircle' //饼图-环形
17 ], 17 ],
18 Maps: [ 18 Maps: [
19 - 'VMapBase' //地图(可选省份) 19 + 'VMapBase', //地图(可选省份)
  20 + 'VMapAmap', //高德地图
20 ], 21 ],
21 Mores: [ 22 Mores: [
22 'VProcess', //NaiveUI-进度 23 'VProcess', //NaiveUI-进度
@@ -45,6 +46,7 @@ export const hideAsideComponentsObj = { @@ -45,6 +46,7 @@ export const hideAsideComponentsObj = {
45 'VLineGradients', //双折线渐变面积图 46 'VLineGradients', //双折线渐变面积图
46 'VPieCircle', //饼图-环形 47 'VPieCircle', //饼图-环形
47 'VMapBase', //地图(可选省份) 48 'VMapBase', //地图(可选省份)
  49 + 'VMapAmap',//高德地图
48 'VProcess', //NaiveUI-进度 50 'VProcess', //NaiveUI-进度
49 'VTextGradient', //渐变文字 51 'VTextGradient', //渐变文字
50 'VTextBarrage', //弹幕文字 52 'VTextBarrage', //弹幕文字