From 2a53d3e6774678eeebf2b0f028c6aec2c70a4774 Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期五, 10 十一月 2023 09:55:38 +0800 Subject: [PATCH] 2023.11.10 --- src/enum/location.js | 42 +++++++++++++++++++++++++++++++++++------- 1 files changed, 35 insertions(+), 7 deletions(-) diff --git a/src/enum/location.js b/src/enum/location.js index ff9fb5a..0d79acb 100644 --- a/src/enum/location.js +++ b/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 }; -- Gitblit v1.9.3