Browse Source

省份级联

master
DU 6 months ago
parent
commit
db576fb680
  1. 49
      src/pageStore/mapStore/index.scss
  2. 223
      src/pageStore/mapStore/index.tsx
  3. 565
      src/utils/cityData.ts

49
src/pageStore/mapStore/index.scss

@ -218,4 +218,53 @@ @@ -218,4 +218,53 @@
}
}
}
// 城市选择弹窗
.city-picker {
padding: 0;
.picker-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 30px;
border-bottom: 1px solid #EEEEEE;
.picker-cancel,
.picker-confirm {
font-size: 28px;
color: #666666;
}
.picker-title {
font-size: 32px;
font-weight: 500;
color: #333333;
}
}
.city-tabs {
height: 600px;
.city-scroll-view {
height: 540px;
}
.city-item {
padding: 30px;
font-size: 28px;
color: #333333;
border-bottom: 1px solid #F5F5F5;
&.active {
color: #FF9900;
background: #FFF7E6;
}
.city-item-text {
display: block;
}
}
}
}
}

223
src/pageStore/mapStore/index.tsx

@ -5,7 +5,10 @@ import { View, Text, Map, ScrollView, Image, Input } from '@tarojs/components' @@ -5,7 +5,10 @@ import { View, Text, Map, ScrollView, Image, Input } from '@tarojs/components'
import Taro, { useLoad } from '@tarojs/taro'
import { observer } from 'mobx-react'
import { useState, useRef, useEffect } from 'react'
import { Popup, Tabs, Toast } from '@taroify/core'
import { useCascader } from '@taroify/hooks'
import { Search, Arrow, Location } from '@taroify/icons'
import { chinaCityData } from '../../utils/cityData'
import './index.scss'
// 模拟门店数据(带经纬度)
@ -122,9 +125,19 @@ const MapStorePage = observer(() => { @@ -122,9 +125,19 @@ const MapStorePage = observer(() => {
const [activeStoreId, setActiveStoreId] = useState<string | null>(null)
const [searchValue, setSearchValue] = useState('')
const [selectedCity, setSelectedCity] = useState('选城市')
const [cityPopupOpen, setCityPopupOpen] = useState(false)
const [cityValue, setCityValue] = useState<string[]>([])
const [tabIndex, setTabIndex] = useState(0)
const mapContext = useRef<any>(null)
// 使用 useCascader hook
const { columns } = useCascader({
value: cityValue,
depth: 2,
options: chinaCityData,
})
useLoad(() => {
// 页面加载时获取用户位置
requestLocationPermission()
@ -302,59 +315,151 @@ const MapStorePage = observer(() => { @@ -302,59 +315,151 @@ const MapStorePage = observer(() => {
}
}
// 点击列表项
// 点击列表项 - 打开导航
const handleStoreItemClick = (store: Store) => {
setActiveStoreId(store.id)
// 移动地图到对应位置
setMapCenter({
latitude: store.latitude,
longitude: store.longitude
})
// 使用 moveToLocation 移动地图(需要 mapContext)
if (mapContext.current) {
mapContext.current.moveToLocation({
// 打开微信地图导航
Taro.openLocation({
latitude: store.latitude,
longitude: store.longitude
longitude: store.longitude,
name: store.name,
address: store.address,
scale: 18
})
}
}
// 重新定位
const handleRelocate = () => {
requestLocationPermission()
}
// 导航到门店
const handleNavigate = (store: Store, e: any) => {
e.stopPropagation()
// 打开城市选择
const handleOpenCityPicker = () => {
setCityPopupOpen(true)
}
Taro.openLocation({
latitude: store.latitude,
longitude: store.longitude,
name: store.name,
address: store.address,
scale: 18
// 关闭城市选择
const handleCloseCityPicker = () => {
setCityPopupOpen(false)
setTabIndex(0)
}
// 选择城市选项
const handleSelectOption = (option: any, columnIndex: number) => {
const newValue = [...cityValue]
newValue[columnIndex] = option.value
// 清除后面的选中值
newValue.splice(columnIndex + 1)
setCityValue(newValue)
// 如果选择了最后一级(城市),关闭弹窗并调用接口
if (columnIndex === 1 || !option.children || option.children.length === 0) {
setSelectedCity(option.label)
setCityPopupOpen(false)
setTabIndex(0)
// 调用后端接口获取该城市的门店数据
fetchStoresByCity(option.label, option.value)
} else {
// 切换到下一个 tab
setTabIndex(columnIndex + 1)
}
}
// 根据城市获取门店数据
const fetchStoresByCity = async (cityLabel: string, cityValue: string) => {
try {
Toast.loading({
message: '加载中...',
duration: 0,
})
// TODO: 替换为真实接口
const res = await Taro.request({
url: 'https://your-api.com/api/stores/city',
method: 'GET',
data: {
city: cityValue,
latitude: userLocation.latitude,
longitude: userLocation.longitude,
}
})
// 暂时使用模拟数据
// if (res.statusCode === 200 && res.data.code === 200) {
// const stores = res.data.data.list
// setStoreList(stores)
// generateMarkers(stores)
// if (stores.length > 0) {
// setMapCenter({ latitude: stores[0].latitude, longitude: stores[0].longitude })
// }
// }
// 模拟网络延迟
await new Promise(resolve => setTimeout(resolve, 500))
// 使用模拟数据
setStoreList(mockStoreData)
generateMarkers(mockStoreData)
Toast.close()
Toast.success(`已切换到${cityLabel}`)
} catch (error) {
Toast.close()
console.error('获取城市门店失败:', error)
Toast.open({
message: '获取门店数据失败',
icon: 'fail'
})
}
}
// 搜索门店
const handleSearch = () => {
const handleSearch = async () => {
if (!searchValue.trim()) {
Taro.showToast({
title: '请输入门店名称或地址',
icon: 'none'
})
Toast.open('请输入门店名称或地址')
return
}
// TODO: 调用搜索接口
try {
Toast.loading({
message: '搜索中...',
duration: 0,
})
// TODO: 替换为真实搜索接口
const res = await Taro.request({
url: 'https://your-api.com/api/stores/search',
method: 'GET',
data: {
keyword: searchValue,
city: cityValue[1] || '',
latitude: userLocation.latitude,
longitude: userLocation.longitude,
}
})
// 暂时使用模拟数据
// if (res.statusCode === 200 && res.data.code === 200) {
// const stores = res.data.data.list
// setStoreList(stores)
// generateMarkers(stores)
// if (stores.length > 0) {
// setMapCenter({ latitude: stores[0].latitude, longitude: stores[0].longitude })
// }
// Toast.close()
// }
// 模拟网络延迟
await new Promise(resolve => setTimeout(resolve, 500))
// 模拟搜索
const filtered = mockStoreData.filter(
store =>
store.name.includes(searchValue) || store.address.includes(searchValue)
)
Toast.close()
if (filtered.length > 0) {
setStoreList(filtered)
generateMarkers(filtered)
@ -364,10 +469,17 @@ const MapStorePage = observer(() => { @@ -364,10 +469,17 @@ const MapStorePage = observer(() => {
latitude: filtered[0].latitude,
longitude: filtered[0].longitude
})
Toast.success(`找到 ${filtered.length} 家门店`)
} else {
Taro.showToast({
title: '未找到相关门店',
icon: 'none'
Toast.open('未找到相关门店')
}
} catch (error) {
Toast.close()
console.error('搜索门店失败:', error)
Toast.open({
message: '搜索失败',
icon: 'fail'
})
}
}
@ -401,7 +513,7 @@ const MapStorePage = observer(() => { @@ -401,7 +513,7 @@ const MapStorePage = observer(() => {
<View className="filter-area">
<View className="filter-left">
{/* 城市选择 */}
<View className="city-select">
<View className="city-select" onClick={handleOpenCityPicker}>
<Text className="city-text">{selectedCity}</Text>
<Arrow size={16} color="#999999" />
</View>
@ -471,6 +583,51 @@ const MapStorePage = observer(() => { @@ -471,6 +583,51 @@ const MapStorePage = observer(() => {
)}
</ScrollView>
</View>
{/* 城市选择弹窗 - 使用 useCascader */}
<Popup
open={cityPopupOpen}
placement="bottom"
rounded
onClose={handleCloseCityPicker}
>
<View className="city-picker">
{/* 头部 */}
<View className="picker-header">
<Text className="picker-cancel" onClick={handleCloseCityPicker}></Text>
<Text className="picker-title"></Text>
<Text className="picker-confirm" onClick={handleCloseCityPicker}></Text>
</View>
{/* Tabs 切换 */}
<Tabs className="city-tabs" value={tabIndex} onChange={setTabIndex}>
{columns.map((column, columnIndex) => (
<Tabs.TabPane
key={columnIndex}
title={cityValue[columnIndex]
? column.find(opt => opt.value === cityValue[columnIndex])?.label || '请选择'
: '请选择'
}
>
<ScrollView scrollY className="city-scroll-view">
{column.map((option) => (
<View
key={option.value}
className={`city-item ${cityValue[columnIndex] === option.value ? 'active' : ''}`}
onClick={() => handleSelectOption(option, columnIndex)}
>
<Text className="city-item-text">{option.label}</Text>
</View>
))}
</ScrollView>
</Tabs.TabPane>
))}
</Tabs>
</View>
</Popup>
{/* Toast 组件 */}
<Toast id="toast" />
</View>
)
})

565
src/utils/cityData.ts

@ -0,0 +1,565 @@ @@ -0,0 +1,565 @@
/**
*
* ->
*/
export interface CityOption {
label: string
value: string
children?: CityOption[]
}
export const chinaCityData: CityOption[] = [
{
label: '北京市',
value: 'beijing',
children: [
{ label: '北京市', value: 'beijing_city' }
]
},
{
label: '天津市',
value: 'tianjin',
children: [
{ label: '天津市', value: 'tianjin_city' }
]
},
{
label: '河北省',
value: 'hebei',
children: [
{ label: '石家庄市', value: 'shijiazhuang' },
{ label: '唐山市', value: 'tangshan' },
{ label: '秦皇岛市', value: 'qinhuangdao' },
{ label: '邯郸市', value: 'handan' },
{ label: '邢台市', value: 'xingtai' },
{ label: '保定市', value: 'baoding' },
{ label: '张家口市', value: 'zhangjiakou' },
{ label: '承德市', value: 'chengde' },
{ label: '沧州市', value: 'cangzhou' },
{ label: '廊坊市', value: 'langfang' },
{ label: '衡水市', value: 'hengshui' }
]
},
{
label: '山西省',
value: 'shanxi',
children: [
{ label: '太原市', value: 'taiyuan' },
{ label: '大同市', value: 'datong' },
{ label: '阳泉市', value: 'yangquan' },
{ label: '长治市', value: 'changzhi' },
{ label: '晋城市', value: 'jincheng' },
{ label: '朔州市', value: 'shuozhou' },
{ label: '晋中市', value: 'jinzhong' },
{ label: '运城市', value: 'yuncheng' },
{ label: '忻州市', value: 'xinzhou' },
{ label: '临汾市', value: 'linfen' },
{ label: '吕梁市', value: 'lvliang' }
]
},
{
label: '内蒙古自治区',
value: 'neimenggu',
children: [
{ label: '呼和浩特市', value: 'huhehaote' },
{ label: '包头市', value: 'baotou' },
{ label: '乌海市', value: 'wuhai' },
{ label: '赤峰市', value: 'chifeng' },
{ label: '通辽市', value: 'tongliao' },
{ label: '鄂尔多斯市', value: 'eerduosi' },
{ label: '呼伦贝尔市', value: 'hulunbeier' },
{ label: '巴彦淖尔市', value: 'bayannaoer' },
{ label: '乌兰察布市', value: 'wulanchabu' },
{ label: '兴安盟', value: 'xingan' },
{ label: '锡林郭勒盟', value: 'xilingol' },
{ label: '阿拉善盟', value: 'alashan' }
]
},
{
label: '辽宁省',
value: 'liaoning',
children: [
{ label: '沈阳市', value: 'shenyang' },
{ label: '大连市', value: 'dalian' },
{ label: '鞍山市', value: 'anshan' },
{ label: '抚顺市', value: 'fushun' },
{ label: '本溪市', value: 'benxi' },
{ label: '丹东市', value: 'dandong' },
{ label: '锦州市', value: 'jinzhou' },
{ label: '营口市', value: 'yingkou' },
{ label: '阜新市', value: 'fuxin' },
{ label: '辽阳市', value: 'liaoyang' },
{ label: '盘锦市', value: 'panjin' },
{ label: '铁岭市', value: 'tieling' },
{ label: '朝阳市', value: 'chaoyang' },
{ label: '葫芦岛市', value: 'huludao' }
]
},
{
label: '吉林省',
value: 'jilin',
children: [
{ label: '长春市', value: 'changchun' },
{ label: '吉林市', value: 'jilin_city' },
{ label: '四平市', value: 'siping' },
{ label: '辽源市', value: 'liaoyuan' },
{ label: '通化市', value: 'tonghua' },
{ label: '白山市', value: 'baishan' },
{ label: '松原市', value: 'songyuan' },
{ label: '白城市', value: 'baicheng' },
{ label: '延边朝鲜族自治州', value: 'yanbian' }
]
},
{
label: '黑龙江省',
value: 'heilongjiang',
children: [
{ label: '哈尔滨市', value: 'haerbin' },
{ label: '齐齐哈尔市', value: 'qiqihaer' },
{ label: '鸡西市', value: 'jixi' },
{ label: '鹤岗市', value: 'hegang' },
{ label: '双鸭山市', value: 'shuangyashan' },
{ label: '大庆市', value: 'daqing' },
{ label: '伊春市', value: 'yichun_hlj' },
{ label: '佳木斯市', value: 'jiamusi' },
{ label: '七台河市', value: 'qitaihe' },
{ label: '牡丹江市', value: 'mudanjiang' },
{ label: '黑河市', value: 'heihe' },
{ label: '绥化市', value: 'suihua' },
{ label: '大兴安岭地区', value: 'daxinganling' }
]
},
{
label: '上海市',
value: 'shanghai',
children: [
{ label: '上海市', value: 'shanghai_city' }
]
},
{
label: '江苏省',
value: 'jiangsu',
children: [
{ label: '南京市', value: 'nanjing' },
{ label: '无锡市', value: 'wuxi' },
{ label: '徐州市', value: 'xuzhou' },
{ label: '常州市', value: 'changzhou' },
{ label: '苏州市', value: 'suzhou' },
{ label: '南通市', value: 'nantong' },
{ label: '连云港市', value: 'lianyungang' },
{ label: '淮安市', value: 'huaian' },
{ label: '盐城市', value: 'yancheng' },
{ label: '扬州市', value: 'yangzhou' },
{ label: '镇江市', value: 'zhenjiang' },
{ label: '泰州市', value: 'taizhou_js' },
{ label: '宿迁市', value: 'suqian' }
]
},
{
label: '浙江省',
value: 'zhejiang',
children: [
{ label: '杭州市', value: 'hangzhou' },
{ label: '宁波市', value: 'ningbo' },
{ label: '温州市', value: 'wenzhou' },
{ label: '嘉兴市', value: 'jiaxing' },
{ label: '湖州市', value: 'huzhou' },
{ label: '绍兴市', value: 'shaoxing' },
{ label: '金华市', value: 'jinhua' },
{ label: '衢州市', value: 'quzhou' },
{ label: '舟山市', value: 'zhoushan' },
{ label: '台州市', value: 'taizhou_zj' },
{ label: '丽水市', value: 'lishui' }
]
},
{
label: '安徽省',
value: 'anhui',
children: [
{ label: '合肥市', value: 'hefei' },
{ label: '芜湖市', value: 'wuhu' },
{ label: '蚌埠市', value: 'bengbu' },
{ label: '淮南市', value: 'huainan' },
{ label: '马鞍山市', value: 'maanshan' },
{ label: '淮北市', value: 'huaibei' },
{ label: '铜陵市', value: 'tongling' },
{ label: '安庆市', value: 'anqing' },
{ label: '黄山市', value: 'huangshan' },
{ label: '滁州市', value: 'chuzhou' },
{ label: '阜阳市', value: 'fuyang' },
{ label: '宿州市', value: 'suzhou_ah' },
{ label: '六安市', value: 'luan' },
{ label: '亳州市', value: 'bozhou' },
{ label: '池州市', value: 'chizhou' },
{ label: '宣城市', value: 'xuancheng' }
]
},
{
label: '福建省',
value: 'fujian',
children: [
{ label: '福州市', value: 'fuzhou' },
{ label: '厦门市', value: 'xiamen' },
{ label: '莆田市', value: 'putian' },
{ label: '三明市', value: 'sanming' },
{ label: '泉州市', value: 'quanzhou' },
{ label: '漳州市', value: 'zhangzhou' },
{ label: '南平市', value: 'nanping' },
{ label: '龙岩市', value: 'longyan' },
{ label: '宁德市', value: 'ningde' }
]
},
{
label: '江西省',
value: 'jiangxi',
children: [
{ label: '南昌市', value: 'nanchang' },
{ label: '景德镇市', value: 'jingdezhen' },
{ label: '萍乡市', value: 'pingxiang' },
{ label: '九江市', value: 'jiujiang' },
{ label: '新余市', value: 'xinyu' },
{ label: '鹰潭市', value: 'yingtan' },
{ label: '赣州市', value: 'ganzhou' },
{ label: '吉安市', value: 'jian' },
{ label: '宜春市', value: 'yichun_jx' },
{ label: '抚州市', value: 'fuzhou_jx' },
{ label: '上饶市', value: 'shangrao' }
]
},
{
label: '山东省',
value: 'shandong',
children: [
{ label: '济南市', value: 'jinan' },
{ label: '青岛市', value: 'qingdao' },
{ label: '淄博市', value: 'zibo' },
{ label: '枣庄市', value: 'zaozhuang' },
{ label: '东营市', value: 'dongying' },
{ label: '烟台市', value: 'yantai' },
{ label: '潍坊市', value: 'weifang' },
{ label: '济宁市', value: 'jining' },
{ label: '泰安市', value: 'taian' },
{ label: '威海市', value: 'weihai' },
{ label: '日照市', value: 'rizhao' },
{ label: '临沂市', value: 'linyi' },
{ label: '德州市', value: 'dezhou' },
{ label: '聊城市', value: 'liaocheng' },
{ label: '滨州市', value: 'binzhou' },
{ label: '菏泽市', value: 'heze' }
]
},
{
label: '河南省',
value: 'henan',
children: [
{ label: '郑州市', value: 'zhengzhou' },
{ label: '开封市', value: 'kaifeng' },
{ label: '洛阳市', value: 'luoyang' },
{ label: '平顶山市', value: 'pingdingshan' },
{ label: '安阳市', value: 'anyang' },
{ label: '鹤壁市', value: 'hebi' },
{ label: '新乡市', value: 'xinxiang' },
{ label: '焦作市', value: 'jiaozuo' },
{ label: '濮阳市', value: 'puyang' },
{ label: '许昌市', value: 'xuchang' },
{ label: '漯河市', value: 'luohe' },
{ label: '三门峡市', value: 'sanmenxia' },
{ label: '南阳市', value: 'nanyang' },
{ label: '商丘市', value: 'shangqiu' },
{ label: '信阳市', value: 'xinyang' },
{ label: '周口市', value: 'zhoukou' },
{ label: '驻马店市', value: 'zhumadian' }
]
},
{
label: '湖北省',
value: 'hubei',
children: [
{ label: '武汉市', value: 'wuhan' },
{ label: '黄石市', value: 'huangshi' },
{ label: '十堰市', value: 'shiyan' },
{ label: '宜昌市', value: 'yichang' },
{ label: '襄阳市', value: 'xiangyang' },
{ label: '鄂州市', value: 'ezhou' },
{ label: '荆门市', value: 'jingmen' },
{ label: '孝感市', value: 'xiaogan' },
{ label: '荆州市', value: 'jingzhou' },
{ label: '黄冈市', value: 'huanggang' },
{ label: '咸宁市', value: 'xianning' },
{ label: '随州市', value: 'suizhou' },
{ label: '恩施土家族苗族自治州', value: 'enshi' }
]
},
{
label: '湖南省',
value: 'hunan',
children: [
{ label: '长沙市', value: 'changsha' },
{ label: '株洲市', value: 'zhuzhou' },
{ label: '湘潭市', value: 'xiangtan' },
{ label: '衡阳市', value: 'hengyang' },
{ label: '邵阳市', value: 'shaoyang' },
{ label: '岳阳市', value: 'yueyang' },
{ label: '常德市', value: 'changde' },
{ label: '张家界市', value: 'zhangjiajie' },
{ label: '益阳市', value: 'yiyang' },
{ label: '郴州市', value: 'chenzhou' },
{ label: '永州市', value: 'yongzhou' },
{ label: '怀化市', value: 'huaihua' },
{ label: '娄底市', value: 'loudi' },
{ label: '湘西土家族苗族自治州', value: 'xiangxi' }
]
},
{
label: '广东省',
value: 'guangdong',
children: [
{ label: '广州市', value: 'guangzhou' },
{ label: '韶关市', value: 'shaoguan' },
{ label: '深圳市', value: 'shenzhen' },
{ label: '珠海市', value: 'zhuhai' },
{ label: '汕头市', value: 'shantou' },
{ label: '佛山市', value: 'foshan' },
{ label: '江门市', value: 'jiangmen' },
{ label: '湛江市', value: 'zhanjiang' },
{ label: '茂名市', value: 'maoming' },
{ label: '肇庆市', value: 'zhaoqing' },
{ label: '惠州市', value: 'huizhou' },
{ label: '梅州市', value: 'meizhou' },
{ label: '汕尾市', value: 'shanwei' },
{ label: '河源市', value: 'heyuan' },
{ label: '阳江市', value: 'yangjiang' },
{ label: '清远市', value: 'qingyuan' },
{ label: '东莞市', value: 'dongguan' },
{ label: '中山市', value: 'zhongshan' },
{ label: '潮州市', value: 'chaozhou' },
{ label: '揭阳市', value: 'jieyang' },
{ label: '云浮市', value: 'yunfu' }
]
},
{
label: '广西壮族自治区',
value: 'guangxi',
children: [
{ label: '南宁市', value: 'nanning' },
{ label: '柳州市', value: 'liuzhou' },
{ label: '桂林市', value: 'guilin' },
{ label: '梧州市', value: 'wuzhou' },
{ label: '北海市', value: 'beihai' },
{ label: '防城港市', value: 'fangchenggang' },
{ label: '钦州市', value: 'qinzhou' },
{ label: '贵港市', value: 'guigang' },
{ label: '玉林市', value: 'yulin_gx' },
{ label: '百色市', value: 'baise' },
{ label: '贺州市', value: 'hezhou' },
{ label: '河池市', value: 'hechi' },
{ label: '来宾市', value: 'laibin' },
{ label: '崇左市', value: 'chongzuo' }
]
},
{
label: '海南省',
value: 'hainan',
children: [
{ label: '海口市', value: 'haikou' },
{ label: '三亚市', value: 'sanya' },
{ label: '三沙市', value: 'sansha' },
{ label: '儋州市', value: 'danzhou' }
]
},
{
label: '重庆市',
value: 'chongqing',
children: [
{ label: '重庆市', value: 'chongqing_city' }
]
},
{
label: '四川省',
value: 'sichuan',
children: [
{ label: '成都市', value: 'chengdu' },
{ label: '自贡市', value: 'zigong' },
{ label: '攀枝花市', value: 'panzhihua' },
{ label: '泸州市', value: 'luzhou' },
{ label: '德阳市', value: 'deyang' },
{ label: '绵阳市', value: 'mianyang' },
{ label: '广元市', value: 'guangyuan' },
{ label: '遂宁市', value: 'suining' },
{ label: '内江市', value: 'neijiang' },
{ label: '乐山市', value: 'leshan' },
{ label: '南充市', value: 'nanchong' },
{ label: '眉山市', value: 'meishan' },
{ label: '宜宾市', value: 'yibin' },
{ label: '广安市', value: 'guangan' },
{ label: '达州市', value: 'dazhou' },
{ label: '雅安市', value: 'yaan' },
{ label: '巴中市', value: 'bazhong' },
{ label: '资阳市', value: 'ziyang' },
{ label: '阿坝藏族羌族自治州', value: 'aba' },
{ label: '甘孜藏族自治州', value: 'ganzi' },
{ label: '凉山彝族自治州', value: 'liangshan' }
]
},
{
label: '贵州省',
value: 'guizhou',
children: [
{ label: '贵阳市', value: 'guiyang' },
{ label: '六盘水市', value: 'liupanshui' },
{ label: '遵义市', value: 'zunyi' },
{ label: '安顺市', value: 'anshun' },
{ label: '毕节市', value: 'bijie' },
{ label: '铜仁市', value: 'tongren' },
{ label: '黔西南布依族苗族自治州', value: 'qianxinan' },
{ label: '黔东南苗族侗族自治州', value: 'qiandongnan' },
{ label: '黔南布依族苗族自治州', value: 'qiannan' }
]
},
{
label: '云南省',
value: 'yunnan',
children: [
{ label: '昆明市', value: 'kunming' },
{ label: '曲靖市', value: 'qujing' },
{ label: '玉溪市', value: 'yuxi' },
{ label: '保山市', value: 'baoshan' },
{ label: '昭通市', value: 'zhaotong' },
{ label: '丽江市', value: 'lijiang' },
{ label: '普洱市', value: 'puer' },
{ label: '临沧市', value: 'lincang' },
{ label: '楚雄彝族自治州', value: 'chuxiong' },
{ label: '红河哈尼族彝族自治州', value: 'honghe' },
{ label: '文山壮族苗族自治州', value: 'wenshan' },
{ label: '西双版纳傣族自治州', value: 'xishuangbanna' },
{ label: '大理白族自治州', value: 'dali' },
{ label: '德宏傣族景颇族自治州', value: 'dehong' },
{ label: '怒江傈僳族自治州', value: 'nujiang' },
{ label: '迪庆藏族自治州', value: 'diqing' }
]
},
{
label: '西藏自治区',
value: 'xizang',
children: [
{ label: '拉萨市', value: 'lasa' },
{ label: '日喀则市', value: 'rikaze' },
{ label: '昌都市', value: 'changdu' },
{ label: '林芝市', value: 'linzhi' },
{ label: '山南市', value: 'shannan' },
{ label: '那曲市', value: 'naqu' },
{ label: '阿里地区', value: 'ali' }
]
},
{
label: '陕西省',
value: 'shaanxi',
children: [
{ label: '西安市', value: 'xian' },
{ label: '铜川市', value: 'tongchuan' },
{ label: '宝鸡市', value: 'baoji' },
{ label: '咸阳市', value: 'xianyang' },
{ label: '渭南市', value: 'weinan' },
{ label: '延安市', value: 'yanan' },
{ label: '汉中市', value: 'hanzhong' },
{ label: '榆林市', value: 'yulin_sx' },
{ label: '安康市', value: 'ankang' },
{ label: '商洛市', value: 'shangluo' }
]
},
{
label: '甘肃省',
value: 'gansu',
children: [
{ label: '兰州市', value: 'lanzhou' },
{ label: '嘉峪关市', value: 'jiayuguan' },
{ label: '金昌市', value: 'jinchang' },
{ label: '白银市', value: 'baiyin' },
{ label: '天水市', value: 'tianshui' },
{ label: '武威市', value: 'wuwei' },
{ label: '张掖市', value: 'zhangye' },
{ label: '平凉市', value: 'pingliang' },
{ label: '酒泉市', value: 'jiuquan' },
{ label: '庆阳市', value: 'qingyang' },
{ label: '定西市', value: 'dingxi' },
{ label: '陇南市', value: 'longnan' },
{ label: '临夏回族自治州', value: 'linxia' },
{ label: '甘南藏族自治州', value: 'gannan' }
]
},
{
label: '青海省',
value: 'qinghai',
children: [
{ label: '西宁市', value: 'xining' },
{ label: '海东市', value: 'haidong' },
{ label: '海北藏族自治州', value: 'haibei' },
{ label: '黄南藏族自治州', value: 'huangnan' },
{ label: '海南藏族自治州', value: 'hainan_qh' },
{ label: '果洛藏族自治州', value: 'guoluo' },
{ label: '玉树藏族自治州', value: 'yushu' },
{ label: '海西蒙古族藏族自治州', value: 'haixi' }
]
},
{
label: '宁夏回族自治区',
value: 'ningxia',
children: [
{ label: '银川市', value: 'yinchuan' },
{ label: '石嘴山市', value: 'shizuishan' },
{ label: '吴忠市', value: 'wuzhong' },
{ label: '固原市', value: 'guyuan' },
{ label: '中卫市', value: 'zhongwei' }
]
},
{
label: '新疆维吾尔自治区',
value: 'xinjiang',
children: [
{ label: '乌鲁木齐市', value: 'wulumuqi' },
{ label: '克拉玛依市', value: 'kelamayi' },
{ label: '吐鲁番市', value: 'tulufan' },
{ label: '哈密市', value: 'hami' },
{ label: '昌吉回族自治州', value: 'changji' },
{ label: '博尔塔拉蒙古自治州', value: 'boertala' },
{ label: '巴音郭楞蒙古自治州', value: 'bayinguoleng' },
{ label: '阿克苏地区', value: 'akesu' },
{ label: '克孜勒苏柯尔克孜自治州', value: 'kizilesu' },
{ label: '喀什地区', value: 'kashi' },
{ label: '和田地区', value: 'hetian' },
{ label: '伊犁哈萨克自治州', value: 'yili' },
{ label: '塔城地区', value: 'tacheng' },
{ label: '阿勒泰地区', value: 'aletai' }
]
},
{
label: '香港特别行政区',
value: 'hongkong',
children: [
{ label: '香港', value: 'hongkong_city' }
]
},
{
label: '澳门特别行政区',
value: 'macao',
children: [
{ label: '澳门', value: 'macao_city' }
]
},
{
label: '台湾省',
value: 'taiwan',
children: [
{ label: '台北市', value: 'taibei' },
{ label: '新北市', value: 'xinbei' },
{ label: '桃园市', value: 'taoyuan' },
{ label: '台中市', value: 'taizhong' },
{ label: '台南市', value: 'tainan' },
{ label: '高雄市', value: 'gaoxiong' },
{ label: '基隆市', value: 'jilong' },
{ label: '新竹市', value: 'xinzhu' },
{ label: '嘉义市', value: 'jiayi' }
]
}
]
Loading…
Cancel
Save