11
Some checks failed
Node CI / build (14.x, macOS-latest) (push) Has been cancelled
Node CI / build (14.x, ubuntu-latest) (push) Has been cancelled
Node CI / build (14.x, windows-latest) (push) Has been cancelled
Node CI / build (16.x, macOS-latest) (push) Has been cancelled
Node CI / build (16.x, ubuntu-latest) (push) Has been cancelled
Node CI / build (16.x, windows-latest) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
coverage CI / build (push) Has been cancelled
Node pnpm CI / build (16.x, macOS-latest) (push) Has been cancelled
Node pnpm CI / build (16.x, ubuntu-latest) (push) Has been cancelled
Node pnpm CI / build (16.x, windows-latest) (push) Has been cancelled

This commit is contained in:
francis-fh
2026-06-04 17:15:41 +08:00
parent 197e80826e
commit 971e2b8be5
3 changed files with 36 additions and 21 deletions

View File

@@ -34,7 +34,7 @@ import {
import { isJobPortalLoggedIn } from '@/utils/jobPortalAuth';
import { favoriteJob, unfavoriteJob, applyJob } from '@/services/jobportal/user';
import { ensureJobPortalLogin, PORTAL_LOGIN_URL } from '@/utils/jobPortalAuth';
import { getDictLabel, findTreeLabelById } from '@/utils/jobPortalDict';
import { getDictLabel, resolveIndustryLabel } from '@/utils/jobPortalDict';
import { getDictValueEnum } from '@/services/system/dict';
import { getCmsIndustryTreeList } from '@/services/classify/industry';
import type { DictValueEnumObj } from '@/components/DictTag';
@@ -113,9 +113,9 @@ const transformJobData = (jobData: any) => {
<p>3. 具备良好的团队协作能力;</p>
`,
companyInfo: {
name: jobData.companyName || jobData.company || jobData.companyVo?.name,
scale: jobData.companyVo?.scale ?? jobData.scale ?? '',
industry: jobData.companyVo?.industry ?? jobData.industry ?? '',
name: jobData.companyName || jobData.companyVo?.name || jobData.company,
scale: jobData.scale ?? '',
industry: jobData.industry ?? '',
description:
jobData.companyVo?.companyDescription
|| jobData.companyDescription
@@ -217,20 +217,22 @@ const JobDetailPage: React.FC = () => {
}, []);
const companyMetaItems = useMemo(() => {
const company = originalJobData?.companyVo || {};
const rawScale = company.scale ?? originalJobData?.scale ?? jobDetail.companyInfo?.scale;
const rawIndustry =
company.industry ?? originalJobData?.industry ?? jobDetail.companyInfo?.industry;
if (!originalJobData) {
return [];
}
const rawScale = originalJobData.scale;
const rawIndustry = originalJobData.industry;
const items: string[] = [];
const scaleLabel = getDictLabel(scaleEnum, rawScale) || rawScale;
const industryLabel = findTreeLabelById(industryTree, rawIndustry) || rawIndustry;
if (scaleLabel) items.push(scaleLabel);
if (rawScale != null && rawScale !== '') {
const scaleLabel = getDictLabel(scaleEnum, rawScale) || String(rawScale);
if (scaleLabel) items.push(scaleLabel);
}
const industryLabel = resolveIndustryLabel(industryTree, rawIndustry);
if (industryLabel) items.push(industryLabel);
return items;
}, [originalJobData, jobDetail.companyInfo, scaleEnum, industryTree]);
}, [originalJobData, scaleEnum, industryTree]);
useEffect(() => {
// 首先尝试从传递的数据中获取职位信息

View File

@@ -29,7 +29,7 @@ import { getDictValueEnum } from '@/services/system/dict';
import JobPortalHeader from '@/components/JobPortalHeader';
import { favoriteJob, unfavoriteJob, applyJob } from '@/services/jobportal/user';
import { ensureJobPortalLogin, PORTAL_LOGIN_URL } from '@/utils/jobPortalAuth';
import { getDictLabel, findTreeLabelById } from '@/utils/jobPortalDict';
import { getDictLabel, findTreeLabelById, resolveIndustryLabel } from '@/utils/jobPortalDict';
import { getJobTitleTreeSelect } from '@/services/common/jobTitle';
import { getCmsIndustryTreeList } from '@/services/classify/industry';
import type { DictValueEnumObj } from '@/components/DictTag';
@@ -256,15 +256,15 @@ const JobListPage: React.FC = () => {
const selectedCompanyMetaItems = useMemo(() => {
if (!selectedJob) return [];
const company = selectedJob.companyVo || {};
const rawScale = company.scale ?? selectedJob.scale;
const rawIndustry = company.industry ?? selectedJob.industry;
const rawScale = selectedJob.scale;
const rawIndustry = selectedJob.industry;
const items: string[] = [];
const scaleLabel = getDictLabel(scaleEnum, rawScale) || rawScale;
const industryLabel = findTreeLabelById(industryTree, rawIndustry) || rawIndustry;
if (scaleLabel) items.push(scaleLabel);
if (rawScale != null && rawScale !== '') {
const scaleLabel = getDictLabel(scaleEnum, rawScale) || String(rawScale);
if (scaleLabel) items.push(scaleLabel);
}
const industryLabel = resolveIndustryLabel(industryTree, rawIndustry);
if (industryLabel) items.push(industryLabel);
return items;
}, [selectedJob, scaleEnum, industryTree]);