import type { CategoryTree } from '@/types' /** 在分类树中找目标分类的祖先路径(含自身) */ export function findCategoryPath(nodes: CategoryTree[], targetId: string): string[] { for (const n of nodes) { if (n.id === targetId) return [n.id] if (n.children?.length) { const sub = findCategoryPath(n.children, targetId) if (sub.length) return [n.id, ...sub] } } return [] } export interface CascadeNode { value: string label: string children?: CascadeNode[] } /** 分类树 → el-cascader 选项 */ export function buildCascader(tree: CategoryTree[]): CascadeNode[] { return tree.map((n) => ({ value: n.id, label: n.categoryName, children: n.children?.length ? buildCascader(n.children) : undefined, })) }