| | |
| | | // 行政区划 |
| | | /** |
| | | * 获取行政区划 |
| | | * @param {Boolean} allOption 是否在头部添加“全部”选项 |
| | | * @param {Number} level 获取的分类深度,范围 1 - 4 |
| | | * @returns |
| | | */ |
| | | function enumLocation(allOption = true, level = 4) { |
| | | const l = _enumLocation(); |
| | | if (!allOption) { |
| | | l.shift(); |
| | | } |
| | | _deleteByLevel(l, level, 1); |
| | | |
| | | function enumLocation() { |
| | | return l; |
| | | } |
| | | |
| | | function _enumLocation() { |
| | | return [ |
| | | { |
| | | label: '全部', |
| | | value: ['0', '全部'], |
| | | value: [null, '全部'], |
| | | }, |
| | | { |
| | | label: '上海市', |
| | |
| | | { label: '高新区', value: ['310116503', '高新区'] }, |
| | | { label: '金山卫镇', value: ['310116109', '金山卫镇'] }, |
| | | { label: '漕泾镇', value: ['310116112', '漕泾镇'] }, |
| | | { label: '山阳镇', value: ['310116113', '山阳镇'] }, |
| | | { label: '山阳镇', value: ['310116113', '山阳镇'] , children:[ |
| | | { |
| | | label: '万达广场', |
| | | value: ['31011611301', '万达广场'], |
| | | }, |
| | | ]}, |
| | | { label: '石化街道', value: ['310116001', '石化街道'] }, |
| | | { label: '朱泾镇', value: ['310116101', '朱泾镇'] }, |
| | | { label: '枫泾镇', value: ['310116102', '枫泾镇'] }, |
| | |
| | | { label: '枫林路街道', value: ['310104008', '枫林路街道'] }, |
| | | { label: '斜土路街道', value: ['310104007', '斜土路街道'] }, |
| | | { label: '长桥街道', value: ['310104010', '长桥街道'] }, |
| | | { label: '田林街道', value: ['310104011', '田林街道'] }, |
| | | { label: '田林街道', value: ['310104011', '田林街道'] , children:[ |
| | | { |
| | | label: '田尚坊', |
| | | value: ['31010401101', '田尚坊'], |
| | | }, |
| | | ]}, |
| | | { label: '康健新村街道', value: ['310104013', '康健新村街道'] }, |
| | | { label: '徐家汇街道', value: ['310104014', '徐家汇街道'] }, |
| | | { label: '徐家汇街道', value: ['310104014', '徐家汇街道'] , children:[ |
| | | { |
| | | label: '天钥桥', |
| | | value: ['31010401401', '天钥桥'], |
| | | }, |
| | | ]}, |
| | | { label: '凌云路街道', value: ['310104015', '凌云路街道'] }, |
| | | { label: '龙华街道', value: ['310104016', '龙华街道'] }, |
| | | { label: '漕河泾街道', value: ['310104017', '漕河泾街道'] }, |
| | |
| | | label: '静安区', |
| | | value: ['310106', '静安区'], |
| | | children: [ |
| | | { label: '大宁路街道', value: ['310106019', '大宁路街道'] }, |
| | | { label: '大宁路街道', value: ['310106019', '大宁路街道'] , children:[ |
| | | { |
| | | label: '久光中心', |
| | | value: ['31010601901', '久光中心'], |
| | | }, |
| | | ]}, |
| | | { label: '彭浦新村街道', value: ['310106020', '彭浦新村街道'] }, |
| | | { label: '临汾路街道', value: ['310106021', '临汾路街道'] }, |
| | | { label: '芷江西路街道', value: ['310106022', '芷江西路街道'] }, |
| | | { label: '彭浦镇', value: ['310106101', '彭浦镇'] }, |
| | | { label: '彭浦镇', value: ['310106101', '彭浦镇'] , children:[ |
| | | { |
| | | label: '大融城', |
| | | value: ['31010610101', '大融城'], |
| | | }, |
| | | ]}, |
| | | { label: '江宁路街道', value: ['310106006', '江宁路街道'] }, |
| | | { label: '石门二路街道', value: ['310106011', '石门二路街道'] }, |
| | | { label: '南京西路街道', value: ['310106012', '南京西路街道'] }, |
| | | { label: '南京西路街道', value: ['310106012', '南京西路街道'] , children:[ |
| | | { |
| | | label: 'X88', |
| | | value: ['31010601201', 'X88'], |
| | | }, |
| | | ]}, |
| | | { label: '静安寺街道', value: ['310106013', '静安寺街道'] }, |
| | | { label: '曹家渡街道', value: ['310106014', '曹家渡街道'] }, |
| | | { label: '曹家渡街道', value: ['310106014', '曹家渡街道'] , children:[ |
| | | { |
| | | label: '889', |
| | | value: ['31010601401', '889'], |
| | | }, |
| | | ]}, |
| | | { label: '天目西路街道', value: ['310106015', '天目西路街道'] }, |
| | | { label: '北站街道', value: ['310106016', '北站街道'] }, |
| | | { label: '北站街道', value: ['310106016', '北站街道'] , children:[ |
| | | { |
| | | label: '大悦城', |
| | | value: ['31010601601', '大悦城'], |
| | | }, |
| | | ]}, |
| | | { label: '宝山路街道', value: ['310106017', '宝山路街道'] }, |
| | | { label: '共和新路街道', value: ['310106018', '共和新路街道'] }, |
| | | ], |
| | |
| | | ], |
| | | }, |
| | | { |
| | | label: '长宁区', |
| | | value: ['310105', '长宁区'], |
| | | children: [ |
| | | { label: '华阳路街道', value: ['310105001', '华阳路街道'] }, |
| | | { label: '江苏路街道', value: ['310105002', '江苏路街道'] }, |
| | | { label: '新华路街道', value: ['310105004', '新华路街道'] }, |
| | | { label: '周家桥街道', value: ['310105005', '周家桥街道'] }, |
| | | { label: '天山路街道', value: ['310105006', '天山路街道'] }, |
| | | { label: '仙霞新村街道', value: ['310105008', '仙霞新村街道'] }, |
| | | { label: '虹桥街道', value: ['310105009', '虹桥街道'] }, |
| | | { label: '程家桥街道', value: ['310105010', '程家桥街道'] }, |
| | | { label: '北新泾街道', value: ['310105011', '北新泾街道'] }, |
| | | { label: '新泾镇', value: ['310105102', '新泾镇'] }, |
| | | ], |
| | | }, |
| | | { |
| | | label: '宝山区', |
| | | value: ['310113', '宝山区'], |
| | | children: [], |
| | |
| | | }, |
| | | ]; |
| | | } |
| | | function enumLocationNA() { |
| | | const l = enumLocation(); |
| | | l.shift(); |
| | | return l; |
| | | |
| | | // 按照需求的定位精度返回对应数据 |
| | | function _deleteByLevel(locations, level, step) { |
| | | if (step == level) { |
| | | locations.forEach((l) => { |
| | | if (l.children) { |
| | | l.children = undefined; |
| | | } |
| | | }); |
| | | return; |
| | | } else { |
| | | step++; |
| | | locations.forEach((l) => { |
| | | if (l.children) { |
| | | _deleteByLevel(l.children, level, step); |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | |
| | | export { enumLocation, enumLocationNA }; |
| | | export { enumLocation }; |