Commit bdaf2a5a14ece9355330e1834f943df20495c90f
Committed by
xp.Huang
1 parent
948cd75b
fix: 修复选择省份时和地区配置的选择省份联动
Showing
2 changed files
with
17 additions
and
2 deletions
... | ... | @@ -51,6 +51,9 @@ onMounted(async () => { |
51 | 51 | const onHandleSelectProvince = async (value: number | string, options: Recordable) => { |
52 | 52 | selectValues.cityValue = null |
53 | 53 | selectValues.countyValue = null |
54 | + // if(props.drillingIn){ | |
55 | + // emits('handleSelectArea',{value,options}) | |
56 | + // } | |
54 | 57 | if (value === 'china') return (selectValues.levelStr = areaEnum.COUNTRY) |
55 | 58 | selectOptions.cityOptions = await getAreaLists(areaEnum.CITY, value as number) |
56 | 59 | selectValues.levelStr = areaEnum.PROVINCE | ... | ... |
... | ... | @@ -160,7 +160,7 @@ |
160 | 160 | <CollapseItem name="地区配置" :expanded="true"> |
161 | 161 | <SettingItemBox name="地区配置" :alone="true"> |
162 | 162 | <template v-for="(item, map3DIndex) in optionData.dataset.map3D" :key="map3DIndex"> |
163 | - <setting-item name="省份名称"> | |
163 | + <setting-item name="省份名称" v-if="mapRegionCache.adcode=='china'"> | |
164 | 164 | <n-select |
165 | 165 | @change="(v:number,o:Recordable,w:Recordable,s1:number)=> onHandleSelectProvince(v,o,item, map3DIndex)" |
166 | 166 | placeholder="请选择省份" |
... | ... | @@ -233,6 +233,7 @@ import { regionInfo } from './config' |
233 | 233 | import { cloneDeep } from 'lodash' |
234 | 234 | import { getAreaList } from '@/api/external/common/index' |
235 | 235 | import { areaEnum } from '../../../Decorates/Mores/Weather/config' |
236 | +import { unref } from 'vue' | |
236 | 237 | |
237 | 238 | const props = defineProps({ |
238 | 239 | optionData: { |
... | ... | @@ -298,7 +299,7 @@ const mapRegionCache = computed(() => { |
298 | 299 | return props.optionData.mapRegion |
299 | 300 | }) |
300 | 301 | |
301 | -const onHandleSelectValues = (values: regionInfo) => { | |
302 | +const onHandleSelectValues = async (values: regionInfo) => { | |
302 | 303 | const { cityValue, countyValue, provinceValue, areaName } = values |
303 | 304 | mapRegionCache.value.areaName = areaName |
304 | 305 | mapRegionCache.value.saveSelect = values |
... | ... | @@ -310,6 +311,17 @@ const onHandleSelectValues = (values: regionInfo) => { |
310 | 311 | ? 'china' |
311 | 312 | : provinceValue |
312 | 313 | props.optionData.mapRegion = mapRegionCache.value |
314 | + if(mapRegionCache.value.adcode!=='china'){ | |
315 | + const {adcode,areaName} = unref(mapRegionCache) || {} | |
316 | + const cityOptions = await getAreaLists(areaEnum.CITY, adcode) | |
317 | + console.log(cityOptions,'cityOptions') | |
318 | + datasetMap3DList.value.forEach((item:any)=>{ | |
319 | + item.name=areaName | |
320 | + item.city_name=areaName?areaName:null | |
321 | + item.adcode=adcode, | |
322 | + item.cityOptions = cityOptions && cityOptions.length?cityOptions:[{adcode,label:areaName,value:areaName}] | |
323 | + }) | |
324 | + } | |
313 | 325 | } |
314 | 326 | |
315 | 327 | const handleChangeDrillingIn = () => { | ... | ... |