Commit 4a57b5428d142ebece7ca184f1bf0452cb05b006

Authored by xp.Huang
2 parents bd5dd20a 5c0c4906

Merge branch 'fix/3D-map-select-city-county' into 'main_dev'

perf: 3D地图添加区县凸起

See merge request yunteng/thingskit-view!192
@@ -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"