zhengyiming
8 天以前 4e2b08ec7c558498592a1e9b32bae8016b0906ac
packages/utils/area.ts
@@ -1,19 +1,15 @@
import { AreaType } from '@12333/constants';
export interface AreaTreeNode extends API.AreaDto {
  children?: AreaTreeNode[];
}
export function formatAreaListToTree(
  areaDataList: API.AreaDto[],
  parentId: number,
  areaDataList: API.AreaTreeNode[],
  parentId = '',
  maxLayer = AreaType.Area
) {
  const treeNodeList: API.AreaTreeNode[] = [];
  if (areaDataList.length > 0) {
    areaDataList.forEach((areaData) => {
      const areaTreeNode: API.AreaTreeNode = { ...areaData };
      if (areaData.parentId === parentId && areaData.layer <= maxLayer) {
      if (areaData.parentCode === parentId && areaData.layer <= maxLayer) {
        const children = formatAreaListToTree(areaDataList, areaData.areaCode, maxLayer);
        areaTreeNode.children = children;
        treeNodeList.push(areaTreeNode);