Commit 4a57b5428d142ebece7ca184f1bf0452cb05b006
Merge branch 'fix/3D-map-select-city-county' into 'main_dev'
perf: 3D地图添加区县凸起 See merge request yunteng/thingskit-view!192
Showing
2 changed files
with
15 additions
and
10 deletions
@@ -105,8 +105,8 @@ | @@ -105,8 +105,8 @@ | ||
105 | @change="(v: number, o: Recordable, w: Recordable, s1: number) => onHandleSelectProvince(v, o, item, map3DIndex)" | 105 | @change="(v: number, o: Recordable, w: Recordable, s1: number) => onHandleSelectProvince(v, o, item, map3DIndex)" |
106 | placeholder="请选择省份" v-model:value="item.name" :options="item.provinceOptions" /> | 106 | placeholder="请选择省份" v-model:value="item.name" :options="item.provinceOptions" /> |
107 | </setting-item> | 107 | </setting-item> |
108 | - <setting-item name="城市名称"> | ||
109 | - <n-select placeholder="请选择城市" v-model:value="item.city_name" :options="item.cityOptions" /> | 108 | + <setting-item name="市/区/县名称"> |
109 | + <n-select placeholder="请选择市/区/县" v-model:value="item.city_name" :options="item.cityOptions" /> | ||
110 | </setting-item> | 110 | </setting-item> |
111 | <setting-item name="区块厚度"> | 111 | <setting-item name="区块厚度"> |
112 | <n-input-number v-model:value="item.height"> </n-input-number> | 112 | <n-input-number v-model:value="item.height"> </n-input-number> |
@@ -212,9 +212,11 @@ const getAreaLists = async (level = areaEnum.PROVINCE, parentId = 1) => { | @@ -212,9 +212,11 @@ const getAreaLists = async (level = areaEnum.PROVINCE, parentId = 1) => { | ||
212 | } | 212 | } |
213 | 213 | ||
214 | onMounted(async () => { | 214 | onMounted(async () => { |
215 | + const {saveSelect} = unref(mapRegionCache) || {} | ||
216 | + const {levelStr} = saveSelect || {} | ||
215 | datasetMap3DList.value.forEach(async (item: Recordable) => { | 217 | datasetMap3DList.value.forEach(async (item: Recordable) => { |
216 | item.provinceOptions = await getAreaLists() | 218 | item.provinceOptions = await getAreaLists() |
217 | - item.cityOptions = await getAreaLists(areaEnum.CITY, !item.adcode ? mapRegionCache.value.adcode : item.adcode) | 219 | + item.cityOptions = await getAreaLists(levelStr===areaEnum.CITY?areaEnum.COUNTY:areaEnum.CITY, !item.adcode ? mapRegionCache.value.adcode : item.adcode) |
218 | item.adcode = !item.adcode ? mapRegionCache.value.adcode : item.adcode | 220 | item.adcode = !item.adcode ? mapRegionCache.value.adcode : item.adcode |
219 | }) | 221 | }) |
220 | }) | 222 | }) |
@@ -229,11 +231,11 @@ const onHandleSelectProvince = async (value: number, option: Recordable, item: R | @@ -229,11 +231,11 @@ const onHandleSelectProvince = async (value: number, option: Recordable, item: R | ||
229 | const handleAddRegion =async () => { | 231 | const handleAddRegion =async () => { |
230 | props.optionData.dataset.map3D.push(cloneDeep(STATIC_SCATTER_CONFIG)) | 232 | props.optionData.dataset.map3D.push(cloneDeep(STATIC_SCATTER_CONFIG)) |
231 | if (mapRegionCache.value.adcode !== 'china') { | 233 | if (mapRegionCache.value.adcode !== 'china') { |
232 | - const { adcode, areaName } = unref(mapRegionCache) || {} | ||
233 | - const cityOptions = await getAreaLists(areaEnum.CITY, adcode) | 234 | + const { adcode, areaName,saveSelect } = unref(mapRegionCache) || {} |
235 | + const {levelStr} = saveSelect || {} | ||
236 | + const cityOptions = await getAreaLists(levelStr===areaEnum.CITY?areaEnum.COUNTY:areaEnum.CITY, adcode) | ||
234 | // 循环 push 城市数据 | 237 | // 循环 push 城市数据 |
235 | datasetMap3DList.value.forEach((item: any) => { | 238 | datasetMap3DList.value.forEach((item: any) => { |
236 | - | ||
237 | item.name = areaName | 239 | item.name = areaName |
238 | item.value = null | 240 | item.value = null |
239 | item.cityOptions = cityOptions && cityOptions.length ? cityOptions : [{ adcode, label: areaName, value: areaName }] | 241 | item.cityOptions = cityOptions && cityOptions.length ? cityOptions : [{ adcode, label: areaName, value: areaName }] |
@@ -274,8 +276,9 @@ const onHandleSelectValues = async (values: regionInfo) => { | @@ -274,8 +276,9 @@ const onHandleSelectValues = async (values: regionInfo) => { | ||
274 | } | 276 | } |
275 | 277 | ||
276 | const setDatasetArea = async () => { | 278 | const setDatasetArea = async () => { |
277 | - const { adcode, areaName } = unref(mapRegionCache) || {} | ||
278 | - const cityOptions = await getAreaLists(areaEnum.CITY, adcode) | 279 | + const { adcode, areaName,saveSelect } = unref(mapRegionCache) || {} |
280 | + const {levelStr} = saveSelect || {} | ||
281 | + const cityOptions = await getAreaLists(levelStr===areaEnum.CITY?areaEnum.COUNTY:areaEnum.CITY, adcode) | ||
279 | // 循环 push 城市数据 | 282 | // 循环 push 城市数据 |
280 | datasetMap3DList.value.forEach((item: any) => { | 283 | datasetMap3DList.value.forEach((item: any) => { |
281 | item.name = areaName | 284 | item.name = areaName |
@@ -248,7 +248,8 @@ | @@ -248,7 +248,8 @@ | ||
248 | d="M399 222.392M399 222.392Q399 233.784 388.988 244.137Q379.458 253.992 362.171 261.578Q325.76 277.556 274.62 277.556Q223.493 277.556 187.299 261.649Q170.106 254.093 160.639 244.256Q150.7 233.928 150.7 222.534L152.7 222.534Q152.7 233.122 162.08 242.869Q171.273 252.421 188.104 259.818Q223.913 275.556 274.62 275.556Q325.341 275.556 361.367 259.747Q378.294 252.319 387.55 242.747Q397 232.975 397 222.392L399 222.392Z" | 248 | d="M399 222.392M399 222.392Q399 233.784 388.988 244.137Q379.458 253.992 362.171 261.578Q325.76 277.556 274.62 277.556Q223.493 277.556 187.299 261.649Q170.106 254.093 160.639 244.256Q150.7 233.928 150.7 222.534L152.7 222.534Q152.7 233.122 162.08 242.869Q171.273 252.421 188.104 259.818Q223.913 275.556 274.62 275.556Q325.341 275.556 361.367 259.747Q378.294 252.319 387.55 242.747Q397 232.975 397 222.392L399 222.392Z" |
249 | /> | 249 | /> |
250 | <g opacity="1" transform="translate(47 157)"> | 250 | <g opacity="1" transform="translate(47 157)"> |
251 | - <text> | 251 | + <div> |
252 | + <text> | ||
252 | <tspan | 253 | <tspan |
253 | :x="fontConfig.x1" | 254 | :x="fontConfig.x1" |
254 | :y="fontConfig.y1" | 255 | :y="fontConfig.y1" |
@@ -260,9 +261,10 @@ | @@ -260,9 +261,10 @@ | ||
260 | font-weight="Regular" | 261 | font-weight="Regular" |
261 | letter-spacing="0" | 262 | letter-spacing="0" |
262 | > | 263 | > |
263 | - {{ unitStr }} | 264 | + {{ unitStr }} |
264 | </tspan> | 265 | </tspan> |
265 | </text> | 266 | </text> |
267 | + </div> | ||
266 | <animateMotion | 268 | <animateMotion |
267 | v-if="openAnim" | 269 | v-if="openAnim" |
268 | path="M0,0 L0,2 L0 9 L0 12 L0 -12 L0 -9 L0 -2 Z" | 270 | path="M0,0 L0,2 L0 9 L0 12 L0 -12 L0 -9 L0 -2 Z" |