riku
2023-05-19 c9571c465c756deedbfe424b5eab2d7591119f77
src/enum/location.js
@@ -1,6 +1,20 @@
// 行政区划
/**
 * 获取行政区划
 * @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: '全部',
@@ -127,10 +141,24 @@
    },
  ];
}
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 };