/** * 求职意向名称解析工具 * 从 store 中的分类树数据里,根据意向 ID/Code 查找对应名称 */ import store from '@/stores' /** * 获取意向岗位类型名称列表 * 根据 jobIntention.categoryIds 在 jobCategories 树中查找名称 */ export function getIntentionCategoryNames(): string[] { const ids = store.state.jobIntention.categoryIds || [] if (ids.length === 0) return [] const names: string[] = [] for (const group of store.state.jobCategories) { for (const child of group.children || []) { for (const leaf of child.children || []) { if (ids.includes(Number(leaf.id))) names.push(leaf.name) } } } return names } /** * 获取意向城市名称列表 * 根据 jobIntention.regionCodes 在 regions 树中查找名称 */ export function getIntentionRegionNames(): string[] { const codes = store.state.jobIntention.regionCodes || [] if (codes.length === 0) return [] const names: string[] = [] for (const province of store.state.regions) { if (codes.includes(province.code)) { names.push(province.name); continue } for (const city of province.children || []) { if (codes.includes(city.code)) names.push(city.name) } } return names } /** * 获取意向行业名称列表 * 根据 jobIntention.industryIds 在 industries 树中查找名称 */ export function getIntentionIndustryNames(): string[] { const ids = store.state.jobIntention.industryIds || [] if (ids.length === 0) return [] const names: string[] = [] for (const group of store.state.industries) { if (ids.includes(Number(group.id))) { names.push(group.name); continue } for (const child of group.children || []) { if (ids.includes(Number(child.id))) names.push(child.name) } } return names }