diff --git a/components/md-render/md-render.vue b/components/md-render/md-render.vue index 4cc4e90..1865468 100644 --- a/components/md-render/md-render.vue +++ b/components/md-render/md-render.vue @@ -1,7 +1,12 @@ @@ -267,7 +272,7 @@ ol { diff --git a/components/wxAuthLogin/WxAuthLogin.vue b/components/wxAuthLogin/WxAuthLogin.vue index d580f71..0664095 100644 --- a/components/wxAuthLogin/WxAuthLogin.vue +++ b/components/wxAuthLogin/WxAuthLogin.vue @@ -11,7 +11,6 @@ 欢迎使用就业服务 - 需要您授权手机号登录 @@ -26,7 +25,7 @@ - 我是求职者 + 个人 - 我是招聘者 + 单位 diff --git a/config.js b/config.js index 972541c..31333da 100644 --- a/config.js +++ b/config.js @@ -6,9 +6,8 @@ */ export default { // baseUrl: 'http://39.98.44.136:8080', // 测试 - baseUrl: 'https://www.xjksly.cn/api/ks', // 测试 - // baseUrl: 'https://www.xjksly.cn/api/ks', // 测试 - // baseUrl: 'http://ks.zhaopinzao8dian.com/api/ks', // 测试 + // baseUrl: 'https://www.xjksly.cn/api/ks', // 正式环境 + baseUrl: 'http://ks.zhaopinzao8dian.com/api/ks', // 测试 // LCBaseUrl:'http://10.110.145.145:9100',//内网端口 // LCBaseUrlInner:'http://10.110.145.145:10100',//招聘、培训、帮扶 @@ -20,13 +19,14 @@ export default { trainVideoImgUrl:'https://www.xjksly.cn/prod-api/file/file/minio', // sseAI+ // StreamBaseURl: 'http://39.98.44.136:8000', - StreamBaseURl: 'https://qd.zhaopinzao8dian.com/ai', + StreamBaseURl: 'https://www.xjksly.cn/api/ks/app/chat', // StreamBaseURl: 'https://qd.zhaopinzao8dian.com/ai/test', // 语音转文字 - // vioceBaseURl: 'ws://39.98.44.136:8080/speech-recognition', - vioceBaseURl: 'wss://qd.zhaopinzao8dian.com/api/speech-recognition', + vioceBaseURl: 'https://www.xjksly.cn/api/ks/app/speech/asr', + // vioceBaseURl: 'wss://qd.zhaopinzao8dian.com/api/speech-recognition', // 语音合成 - speechSynthesis: 'wss://qd.zhaopinzao8dian.com/api/speech-synthesis', + speechSynthesis: 'https://www.xjksly.cn/api/ks/app/speech/tts', + // speechSynthesis: 'wss://qd.zhaopinzao8dian.com/api/speech-synthesis', // indexedDB DBversion: 2, // 只使用本地缓寸的数据 diff --git a/hook/useTTSPlayer.js b/hook/useTTSPlayer.js index b11ff3a..24a2689 100644 --- a/hook/useTTSPlayer.js +++ b/hook/useTTSPlayer.js @@ -292,19 +292,14 @@ export function useTTSPlayer(wsUrl) { onHide(cancelAudio) onUnload(cancelAudio) - // 只在支持 AudioContext 的环境中初始化 WebSocket - if (audioContext) { - initWebSocket() - } - - return { - speak, - pause, - resume, - cancelAudio, - isSpeaking, - isPaused, - isComplete + return { + speak, + pause, + resume, + cancelAudio, + isSpeaking, + isPaused, + isComplete } } diff --git a/packageA/pages/UnitDetails/UnitDetails.vue b/packageA/pages/UnitDetails/UnitDetails.vue index 2cf6817..13e4745 100644 --- a/packageA/pages/UnitDetails/UnitDetails.vue +++ b/packageA/pages/UnitDetails/UnitDetails.vue @@ -25,9 +25,7 @@ 公司介绍 - {{ - companyInfo?.description || '暂无公司介绍' - }} + @@ -142,6 +140,8 @@ isCollection: resData.data.isCollection || 0, jobList: resData.data.jobList || [] // 使用正确的jobList字段 }; + // 将职位列表数据赋值给jobInfoList,用于页面渲染 + jobInfoList.value = resData.data.jobList || []; console.log('Company details loaded successfully'); } else { console.error('Failed to load company details:', resData?.msg || 'Unknown error'); @@ -153,6 +153,7 @@ isCollection: 0, jobList: [] }; + jobInfoList.value = []; } }).catch((error) => { console.error('API error when fetching company details:', error); @@ -164,6 +165,7 @@ isCollection: 0, jobList: [] }; + jobInfoList.value = []; }); } @@ -443,8 +445,13 @@ font-size: 28rpx; color: #495265; text-align: justified; + :deep(span) { + background-color: transparent !important; + } + :deep(p > span) { + background-color: transparent !important; + } } - .title2 { margin-top: 48rpx; } diff --git a/packageA/pages/jobExpect/jobExpect.vue b/packageA/pages/jobExpect/jobExpect.vue index 7542a16..708e47c 100644 --- a/packageA/pages/jobExpect/jobExpect.vue +++ b/packageA/pages/jobExpect/jobExpect.vue @@ -67,9 +67,9 @@ const { dictLabel, oneDictData, getDictData } = useDictStore(); const selectJobsModel = ref(); const selectPopupRef = ref(); const percent = ref('0%'); -const salay = [2, 5, 10, 15, 20, 25, 30, 50, 80, 100]; +const salay = [2000, 5000, 10000, 15000, 20000, 25000, 30000, 50000, 80000, 100000]; const state = reactive({ - lfsalay: [2, 5, 10, 15, 20, 25, 30, 50], + lfsalay: [2000, 5000, 10000, 15000, 20000, 25000, 30000, 50000], risalay: JSON.parse(JSON.stringify(salay)), salayText: '', areaText: '', @@ -137,10 +137,10 @@ const changeSalary = () => { title: '薪资', maskClick: true, data: [state.lfsalay, state.risalay], - unit: 'k', + unit: '元', success: (_, [min, max]) => { - fromValue.salaryMin = min.value * 1000; - fromValue.salaryMax = max.value * 1000; + fromValue.salaryMin = min.value; + fromValue.salaryMax = max.value; state.salayText = `${fromValue.salaryMin}-${fromValue.salaryMax}`; }, change(e) { diff --git a/packageA/pages/myResume/myResume.vue b/packageA/pages/myResume/myResume.vue index babf046..1079235 100644 --- a/packageA/pages/myResume/myResume.vue +++ b/packageA/pages/myResume/myResume.vue @@ -51,7 +51,7 @@ 期望薪资: - {{ userInfo.salaryMin / 1000 }}k-{{ userInfo.salaryMax / 1000 }}k + {{ userInfo.salaryMin }}元-{{ userInfo.salaryMax }}元 期望工作地: diff --git a/packageA/pages/post/post.vue b/packageA/pages/post/post.vue index a6a4860..16514e1 100644 --- a/packageA/pages/post/post.vue +++ b/packageA/pages/post/post.vue @@ -107,7 +107,7 @@ 公司信息 单位详情 @@ -289,7 +289,6 @@ onShow(() => { } // #endif }); - function initLoad(option) { const jobId = decodeURIComponent(option.jobId); if (jobId !== jobIdRef.value) { @@ -341,9 +340,14 @@ function getDetail(jobId) { } function getCompanyIsAJobs(companyId) { - $api.createRequest(`/app/company/count/${companyId}`).then((resData) => { - companyCount.value = resData.data; - }); + if (companyId) { + $api.createRequest(`/app/company/count/${companyId}`).then((resData) => { + companyCount.value = resData.data; + }); + } + // $api.createRequest(`/app/company/count/${companyId}`).then((resData) => { + // companyCount.value = resData.data; + // }); } function getTextWidth(text, size = 12) { @@ -413,6 +417,11 @@ function getCompetivetuveness(jobId) { // 申请岗位 function jobApply() { + const tokenValue = uni.getStorageSync('token') || ''; + if (!tokenValue) { + $api.msg('请您先登录'); + return; + } const jobId = jobInfo.value.jobId; $api.createRequest(`/app/job/apply/${jobId}`, {}, 'GET').then((resData) => { getDetail(jobId); @@ -504,6 +513,17 @@ function previewImage(url, index) { function viewResume(userId) { navTo(`/packageA/pages/resumeDetail/resumeDetail?userId=${userId}`); } + +// 处理查看单位详情 +function handleCompanyDetailClick() { + // console.log('----企业ID--', jobInfo.value.company?.companyId) + // console.log('----企业data--', jobInfo.value) + if (jobInfo.value.company?.companyId) { + navTo(`/packageA/pages/UnitDetails/UnitDetails?companyId=${jobInfo.value.company.companyId}`); + } else { + $api.msg('没有企业信息'); + } +} diff --git a/packageB/institution/evaluationAgencyDetail.vue b/packageB/institution/evaluationAgencyDetail.vue new file mode 100644 index 0000000..fd35289 --- /dev/null +++ b/packageB/institution/evaluationAgencyDetail.vue @@ -0,0 +1,256 @@ + + + + + \ No newline at end of file diff --git a/packageB/institution/trainingInstitution.vue b/packageB/institution/trainingInstitution.vue new file mode 100644 index 0000000..4a63fe2 --- /dev/null +++ b/packageB/institution/trainingInstitution.vue @@ -0,0 +1,364 @@ + + + + + diff --git a/packageB/institution/trainingInstitutionDetail.vue b/packageB/institution/trainingInstitutionDetail.vue new file mode 100644 index 0000000..e5f69b3 --- /dev/null +++ b/packageB/institution/trainingInstitutionDetail.vue @@ -0,0 +1,267 @@ + + + + + \ No newline at end of file diff --git a/packageB/jobFair/detailPerson.vue b/packageB/jobFair/detailPerson.vue index f9e8557..1c44d63 100644 --- a/packageB/jobFair/detailPerson.vue +++ b/packageB/jobFair/detailPerson.vue @@ -323,46 +323,59 @@ const deliveringJobs = reactive({}); // 岗位投递 function deliverResume(job) { - if(deliveringJobs[job.jobId]) return - deliveringJobs[job.jobId] = true - const raw = uni.getStorageSync("Padmin-Token"); - const token = typeof raw === "string" ? raw.trim() : ""; - const headers = token ? { - Authorization: raw.startsWith("Bearer ") ? raw : `Bearer ${token}` - } : {}; - - $api.myRequest("/dashboard/auth/heart", {}, "POST", 10100, headers).then((resData1) => { - if (resData1.code == 200) { - $api.myRequest("/system/user/login/user/info", {}, "GET", 10100, headers).then((resData) => { - $api.myRequest("/jobfair/public/job-fair-person-job/insert", { - jobFairId: job.jobFairId, // 招聘会id - personId: resData.info.userId, // 当前登录用户id - enterpriseId: job.companyId, // 企业id - jobId: job.jobId, // 岗位id - idCard:resData.info.personCardNo - }, "post", 9100, { - "Content-Type": "application/json" - }).then((data) => { - if (data && data.code === 200) { - $api.msg("简历投递成功"); - if (!job.jobFairPersonJob) { - job.jobFairPersonJob = {}; - } - job.jobFairPersonJob.status = "1"; - getList(false); + uni.showModal({ + title: "提示", + content: "请确认是否投递简历?", + showCancel: true, + confirmText: "确定", + cancelText: "取消", + success: (res) => { + if(res.confirm){ + if(deliveringJobs[job.jobId]) return + deliveringJobs[job.jobId] = true + const raw = uni.getStorageSync("Padmin-Token"); + const token = typeof raw === "string" ? raw.trim() : ""; + const headers = token ? { + Authorization: raw.startsWith("Bearer ") ? raw : `Bearer ${token}` + } : {}; + + $api.myRequest("/dashboard/auth/heart", {}, "POST", 10100, headers).then((resData1) => { + if (resData1.code == 200) { + $api.myRequest("/system/user/login/user/info", {}, "GET", 10100, headers).then((resData) => { + $api.myRequest("/jobfair/public/job-fair-person-job/insert", { + jobFairId: job.jobFairId, // 招聘会id + personId: resData.info.userId, // 当前登录用户id + enterpriseId: job.companyId, // 企业id + jobId: job.jobId, // 岗位id + idCard:resData.info.personCardNo + }, "post", 9100, { + "Content-Type": "application/json" + }).then((data) => { + if (data && data.code === 200) { + $api.msg("简历投递成功"); + if (!job.jobFairPersonJob) { + job.jobFairPersonJob = {}; + } + job.jobFairPersonJob.status = "1"; + getList(false); + } else { + $api.msg((data && data.msg) || "简历投递失败"); + } + deliveringJobs[job.jobId] = false + }); + }); } else { - $api.msg((data && data.msg) || "简历投递失败"); + $api.msg('请先登录'); + deliveringJobs[job.jobId] =false } - deliveringJobs[job.jobId] = false + }).catch(() => { + deliveringJobs[job.jobId] =false; }); - }); - } else { - $api.msg('请先登录'); - deliveringJobs[job.jobId] =false + } + } - }).catch(() => { - deliveringJobs[job.jobId] =false; - }); + }) + } // 提交面试邀请 diff --git a/packageB/notice/detail.vue b/packageB/notice/detail.vue new file mode 100644 index 0000000..1b1af5b --- /dev/null +++ b/packageB/notice/detail.vue @@ -0,0 +1,79 @@ + + + + + \ No newline at end of file diff --git a/packageB/notice/index.vue b/packageB/notice/index.vue new file mode 100644 index 0000000..41f8273 --- /dev/null +++ b/packageB/notice/index.vue @@ -0,0 +1,201 @@ + + + + + \ No newline at end of file diff --git a/packageB/priority/recommend.vue b/packageB/priority/recommend.vue index d9fc6f7..a127a6d 100644 --- a/packageB/priority/recommend.vue +++ b/packageB/priority/recommend.vue @@ -93,7 +93,6 @@ {{ item.zcmc }} - {{ item.zclx }} {{ item.zcLevel }} {{ item.sourceUnit }} diff --git a/packageB/train/index.vue b/packageB/train/index.vue index bcef18e..541562b 100644 --- a/packageB/train/index.vue +++ b/packageB/train/index.vue @@ -13,7 +13,7 @@ --> - + 专项练习 diff --git a/packageB/train/mockExam/examList.vue b/packageB/train/mockExam/examList.vue index a8e3a68..8486218 100644 --- a/packageB/train/mockExam/examList.vue +++ b/packageB/train/mockExam/examList.vue @@ -129,6 +129,7 @@ + + diff --git a/packageCa/job/index.vue b/packageCa/job/index.vue index e020249..626bcb2 100644 --- a/packageCa/job/index.vue +++ b/packageCa/job/index.vue @@ -14,7 +14,6 @@ -