| | |
| | | // 行政区划 |
| | | /** |
| | | * 获取行政区划 |
| | | * @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: '全部', |
| | |
| | | }, |
| | | ]; |
| | | } |
| | | 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 }; |