diff --git a/apiRc/jobRecommend.js b/apiRc/jobRecommend.js deleted file mode 100644 index 59f9282..0000000 --- a/apiRc/jobRecommend.js +++ /dev/null @@ -1,33 +0,0 @@ -/* - * @Date: 2025-11-12 - * @Description: 职业推荐相关接口 - */ -import request from '@/utilsRc/request' - -function createFormData(payload = {}) { - if (typeof FormData !== 'undefined') { - const formData = new FormData() - Object.keys(payload).forEach(key => { - const value = payload[key] - if (value !== undefined && value !== null && value !== '') { - formData.append(key, value) - } - }) - return formData - } - return payload -} - -export function recommendJob(data) { - const params = {}; - if (data?.jobName !== undefined && data?.jobName !== null && data?.jobName !== '') { - params.jobName = String(data.jobName); - } - - return request({ - url: '/job/recommendJobByJobName', - method: 'get', - params: params, - baseUrlType: 'zytp' - }) -} diff --git a/apiRc/jobSkill.js b/apiRc/jobSkill.js deleted file mode 100644 index 8741153..0000000 --- a/apiRc/jobSkill.js +++ /dev/null @@ -1,55 +0,0 @@ -/* - * @Date: 2025-11-12 - * @Description: 职业技能相关接口 - */ -import request from '@/utilsRc/request' - -export function getJobSkillDetail(params) { - return request({ - url: '/jobSkillDet/getJobSkillDet', - method: 'get', - params, - baseUrlType: 'zytp' - }) -} - -// 获取技能权重 -export function getJobSkillWeight(params) { - return request({ - url: '/jobSkillDet/getJobSkillWeight', - method: 'get', - params, - baseUrlType: 'zytp' - }) -} - -// 暂未使用 - 如果需要在 CareerPath.vue 中点击路径职位查看详细技能信息时使用 -// 使用场景:获取职业路径中某个职位的详细技能信息(包含技能分数、类型等) -// export function getJobPathSkill(data) { -// let formData -// if (typeof FormData !== 'undefined') { -// formData = new FormData() -// if (data?.pathId !== undefined && data?.pathId !== null) { -// formData.append('pathId', data.pathId) -// } -// if (data?.currentJobName !== undefined && data?.currentJobName !== null) { -// formData.append('currentJobName', data.currentJobName) -// } -// } else { -// formData = { -// pathId: data?.pathId ?? '', -// currentJobName: data?.currentJobName ?? '' -// } -// } - -// return request({ -// url: '/jobSkillDet/getJobPathSkill', -// method: 'post', -// data: formData, -// baseUrlType: 'zytp', -// header: { -// 'content-type': 'multipart/form-data' -// } -// }) -// } - diff --git a/apiRc/service/careerPath.js b/apiRc/service/careerPath.js new file mode 100644 index 0000000..09bbf6c --- /dev/null +++ b/apiRc/service/careerPath.js @@ -0,0 +1,37 @@ +/* + * @Date: 2024-09-25 11:14:29 + * @LastEditors: shirlwang + * @LastEditTime: 2025-12-23 17:40:11 + * @Description: 职业路径相关接口 + */ +import request from '@/utilsRc/request' + +// 获取当前职位 +export function getCurrentPosition(query) { + return request({ + url: '/jobPath/getJob', + method: 'get', + params: query, + baseUrlType: 'zytp' + }) +} + +// 获取路径列表 +export function getPath(query) { + return request({ + url: '/jobPath/getJobPathList', + method: 'get', + params: query, + baseUrlType: 'zytp' + }) +} + +// 获取路径详情 +export function getPathDetail(query) { + return request({ + url: '/jobPath/getJobPathById', + method: 'get', + params: query, + baseUrlType: 'zytp' + }) +} diff --git a/apiRc/service/careerRecommendation.js b/apiRc/service/careerRecommendation.js new file mode 100644 index 0000000..67e0247 --- /dev/null +++ b/apiRc/service/careerRecommendation.js @@ -0,0 +1,37 @@ +/* + * @Date: 2024-09-25 11:14:29 + * @LastEditors: shirlwang + * @LastEditTime: 2025-12-23 17:40:11 + * @Description: 职业推荐相关接口 + */ +import request from '@/utilsRc/request' + +// 获取职业列表 +export function getProfessions(query) { + return request({ + url: '/jobSimilarity/getJob', + method: 'get', + params: query, + baseUrlType: 'zytp' + }) +} + +// 获取技能标签 +export function getSkillTags(query) { + return request({ + url: '/jobSkillDet/getJobSkill', + method: 'get', + params: query, + baseUrlType: 'zytp' + }) +} + +// 获取推荐职业 +export function getRecommend(query) { + return request({ + url: '/jobSimilarity/recommendJobByJobName', + method: 'get', + params: query, + baseUrlType: 'zytp' + }) +} diff --git a/apiRc/jobPath.js b/apiRc/service/jobPath.js similarity index 64% rename from apiRc/jobPath.js rename to apiRc/service/jobPath.js index 9324074..10a8fa4 100644 --- a/apiRc/jobPath.js +++ b/apiRc/service/jobPath.js @@ -16,17 +16,19 @@ export function getJobPathPage(params) { // 根据职业路径ID获取详情 export function getJobPathDetail(params) { + const {startJobId, endJobId} = params; const requestParams = {}; - if (params?.jobPathId !== undefined && params?.jobPathId !== null && params?.jobPathId !== '') { - requestParams.id = params.jobPathId; - } else if (params?.id !== undefined && params?.id !== null && params?.id !== '') { - requestParams.id = params.id; + if (startJobId !== undefined && startJobId !== null && startJobId !== '') { + requestParams.startJobId = startJobId; } - - if (!requestParams.id) { - return Promise.reject('缺少必需的 id 参数'); + if (endJobId !== undefined && endJobId !== null && endJobId !== '') { + requestParams.endJobId = endJobId; } - + + if (!startJobId || !endJobId) { + return Promise.reject('缺少必需的 startJobId 和 endJobId 参数'); + } + return request({ url: '/jobPath/getJobPathById', method: 'get', diff --git a/apiRc/service/jobRecommend.js b/apiRc/service/jobRecommend.js index 92c7170..e3654e3 100644 --- a/apiRc/service/jobRecommend.js +++ b/apiRc/service/jobRecommend.js @@ -76,11 +76,16 @@ export function getAddedJobs(params) { }) } -// // 获取推荐岗位 -// export function getAddedJobs(params) { -// return request({ -// url: '/personnel/personBaseInfo/postRecommend', -// method: 'get', -// params, -// }) -// } +export function recommendJob(data) { + const params = {}; + if (data?.jobName !== undefined && data?.jobName !== null && data?.jobName !== '') { + params.jobName = String(data.jobName); + } + + return request({ + url: '/job/recommendJobByJobName', + method: 'get', + params: params, + baseUrlType: 'zytp' + }) +} diff --git a/apiRc/service/jobSkill.js b/apiRc/service/jobSkill.js new file mode 100644 index 0000000..38583d2 --- /dev/null +++ b/apiRc/service/jobSkill.js @@ -0,0 +1,24 @@ +/* + * @Date: 2025-11-12 + * @Description: 职业技能相关接口 + */ +import request from '@/utilsRc/request' + +export function getJobSkillDetail(params) { + return request({ + url: '/jobSkillDet/getJobSkillDet', + method: 'get', + params, + baseUrlType: 'zytp' + }) +} + +// 获取技能权重 +export function getJobSkillWeight(params) { + return request({ + url: '/jobSkillDet/getJobSkillWeight', + method: 'get', + params, + baseUrlType: 'zytp' + }) +} diff --git a/apiRc/service/skillDevelopment.js b/apiRc/service/skillDevelopment.js new file mode 100644 index 0000000..15216c5 --- /dev/null +++ b/apiRc/service/skillDevelopment.js @@ -0,0 +1,17 @@ +/* + * @Date: 2024-09-25 11:14:29 + * @LastEditors: shirlwang + * @LastEditTime: 2025-12-23 17:40:11 + * @Description: 技能发展相关接口 + */ +import request from '@/utilsRc/request' + +// 获取技能信息 +export function getSkill(query) { + return request({ + url: '/jobSkillDet/getJobSkillWeight', + method: 'get', + params: query, + baseUrlType: 'zytp' + }) +} diff --git a/common/globalFunction.js b/common/globalFunction.js index 8a183eb..a523251 100644 --- a/common/globalFunction.js +++ b/common/globalFunction.js @@ -72,18 +72,18 @@ export const navTo = function(url, { const pages = getCurrentPages(); if (pages.length >= 10) { uni.redirectTo({ - url: '/pages/complete-info/complete-info', + url: '/packageA/pages/complete-info/complete-info', fail: (err) => { console.error('页面跳转失败:', err); } }); } else { uni.navigateTo({ - url: '/pages/complete-info/complete-info', + url: '/packageA/pages/complete-info/complete-info', fail: (err) => { console.error('页面跳转失败:', err); uni.redirectTo({ - url: '/pages/complete-info/complete-info', + url: '/packageA/pages/complete-info/complete-info', fail: (err2) => { console.error('redirectTo也失败:', err2); } diff --git a/components/CustomTabBar/CustomTabBar.vue b/components/CustomTabBar/CustomTabBar.vue index 105766b..444ecd7 100644 --- a/components/CustomTabBar/CustomTabBar.vue +++ b/components/CustomTabBar/CustomTabBar.vue @@ -104,7 +104,7 @@ const generateTabbarList = () => { baseItems.splice(1, 0, { id: 1, text: '发布岗位', - path: '/pages/job/publishJob', + path: '/packageA/pages/job/publishJob', iconPath: '/static/tabbar/post.png', selectedIconPath: '/static/tabbar/posted.png', centerItem: false, @@ -125,7 +125,17 @@ const generateTabbarList = () => { // }); // #endif } - + if (userType === 0) { + baseItems.splice(2, 0, { + id: 5, + text: '招聘会', + path: '/pages/careerfair/careerfair', + iconPath: '/static/tabbar/careerfair.png', + selectedIconPath: '/static/tabbar/careerfaired.png', + centerItem: false, + badge: 0, + }); + } return baseItems; }; @@ -163,7 +173,7 @@ const switchTab = (item, index) => { // 检查是否为需要登录的页面 const loginRequiredPages = [ - '/pages/job/publishJob', + '/packageA/pages/job/publishJob', '/pages/mine/mine', '/pages/mine/company-mine' ]; @@ -180,7 +190,7 @@ const switchTab = (item, index) => { } // 已登录,处理特定页面的逻辑 - if (item.path === '/pages/job/publishJob') { + if (item.path === '/packageA/pages/job/publishJob') { // 检查企业信息是否完整 const cachedUserInfo = uni.getStorageSync('userInfo') || {}; const storeUserInfo = userInfo.value || {}; @@ -190,12 +200,12 @@ const switchTab = (item, index) => { if (!currentUserInfo.company || currentUserInfo.company === null) { // 企业信息为空,跳转到企业信息补全页面 uni.navigateTo({ - url: '/pages/complete-info/company-info', + url: '/packageA/pages/complete-info/company-info', }); } else { // 企业信息完整,跳转到发布岗位页面 uni.navigateTo({ - url: '/pages/job/publishJob', + url: '/packageA/pages/job/publishJob', }); } diff --git a/components/jobfair/signDialog.vue b/components/jobfair/signDialog.vue index 6890a57..bde9699 100644 --- a/components/jobfair/signDialog.vue +++ b/components/jobfair/signDialog.vue @@ -275,14 +275,15 @@ Authorization: `Bearer ${uni.getStorageSync("Padmin-Token")}` }).then((resData) => { if(resData.code == 200){ - let isPublishJobList = resData.data.list || []; - jobList.value = isPublishJobList.filter(job => job.isPublish === "1"); - if (isPublishJobList.length > 0 && jobList.value.length === 0) { - uni.showToast({ - title: '请等待岗位审核通过后,再进行报名', - icon: 'none' - }); - } + jobList.value = resData.data.list || []; + // let isPublishJobList = resData.data.list || []; + // jobList.value = isPublishJobList.filter(job => job.isPublish === "1"); + // if (isPublishJobList.length > 0 && jobList.value.length === 0) { + // uni.showToast({ + // title: '请等待岗位审核通过后,再进行报名', + // icon: 'none' + // }); + // } }else{ uni.showToast({ title: '请前往基本信息中完善企业信息和岗位信息', diff --git a/components/md-render/md-render.vue b/components/md-render/md-render.vue index 4cc4e90..22fdd96 100644 --- a/components/md-render/md-render.vue +++ b/components/md-render/md-render.vue @@ -1,13 +1,45 @@ - - + + + + + + + + + + + + {{ card.jobTitle }} + {{ card.salary }} + + {{ card.location }}·{{ card.companyName }} + + + {{ card.education }} + {{ card.experience }} + + 查看详情 + + + + + + + + diff --git a/components/selectJobs/selectJobs.vue b/components/selectJobs/selectJobs.vue index 1d1317c..75fda41 100644 --- a/components/selectJobs/selectJobs.vue +++ b/components/selectJobs/selectJobs.vue @@ -195,7 +195,8 @@ defineExpose({ 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 @@ + + + + + + + {{organ.organName}} + + + + + + 机构联系人:{{organ.contactName}} + 联系方式:{{organ.contactPhone}} + 机构地址:{{organ.address}} + + + + + + 评价流程说明 + + + {{organ.processDescription}} + 暂无数据 + + + + + + 评价项目 + + + {{organ.organContent}} + 暂无数据 + + + + + + 资质证书 + + + + + + + + 暂无数据 + + + + + + + + + \ 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 @@ + + + + + + + + + {{item.organName}} + + 机构详情 + + + + 机构联系人:{{item.contactName}} + 联系方式:{{item.contactPhone}} + 机构地址:{{item.address}} + + + + + + + + + + + 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 @@ + + + + + + + {{trainOrgan.organName}} + + + + + + 机构联系人:{{trainOrgan.contactName}} + 联系方式:{{trainOrgan.contactPhone}} + 机构地址:{{trainOrgan.address}} + + + + + + 课程介绍 + + + {{item}} + 暂无数据 + + + + + + 师资团队 + + + + {{item.tramName}} + 老师介绍:{{item.tramContent}} + + 暂无数据 + + + + + + 资质证书 + + + + + + + + 暂无数据 + + + + + + + + + \ No newline at end of file diff --git a/packageB/jobFair/detailCom.vue b/packageB/jobFair/detailCom.vue index bd77ce1..b7bf8a0 100644 --- a/packageB/jobFair/detailCom.vue +++ b/packageB/jobFair/detailCom.vue @@ -28,6 +28,14 @@ 2、招聘会主办单位:{{ fair.jobFairHostUnit }} 3、招聘会承办单位:{{ fair.jobFairOrganizeUnit }} + 签到签退码: + + {{ fair.checkCode }} + + 展区展位名: + + {{ fair.jobFairAreaBoothName }} + 内容描述: {{ fair.jobFairIntroduction }} @@ -120,13 +128,13 @@ - 性别:{{ item.personInfo.sex == 0 ? "男" : "女" }} + 性别:{{ item.personInfo.sex}} 年龄:{{ item.personInfo.age }} - + 查看 面试邀请 @@ -142,7 +150,68 @@ 加载中... 没有更多数据了 - + + + + + + 简历 + + + + 姓名: + + {{detailObj.name}} + + + + 性别: + + {{detailObj.sex}} + + + + 年龄: + + {{detailObj.age}} + + + + 联系方式: + + {{detailObj.phone}} + + + + 期望薪资: + + {{detailObj.salaryMin}}-{{ detailObj.salaryMax }} + + + + 学历: + + {{detailObj.education}} + + + + 期望岗位: + + {{detailObj.jobTitleId}} + + + + 政治面貌: + + {{detailObj.politicalAffiliation}} + + + + + 关闭 + + + @@ -365,7 +434,17 @@ loading.value = false; } }; - + const resumeDetailPopup = ref() + const detailObj = reactive({}); + //简历详情 + const getDetailPopup= (item)=>{ + Object.assign(detailObj,item.personInfo); + resumeDetailPopup.value.open(); + } + const closeResumeDetailPopup =()=>{ + Object.assign(detailObj, {}); + resumeDetailPopup.value.close(); + } // 面试邀请 const interviewBtn = (item) => { Object.assign(openGw, item); @@ -859,7 +938,9 @@ .dialog-content { padding: 10rpx; height: 80%; - + .flexBox{ + display: flex; + } .detail-item1 { // display: flex; // align-items: center; diff --git a/packageB/jobFair/detailPerson.vue b/packageB/jobFair/detailPerson.vue index 79047d5..1c44d63 100644 --- a/packageB/jobFair/detailPerson.vue +++ b/packageB/jobFair/detailPerson.vue @@ -43,7 +43,7 @@ - {{ +{{ parseDateTime(fair.jobFairStartTime).time }} {{ @@ -134,7 +134,9 @@ {{ getStatusText(job.jobFairPersonJob?.status).text }} - 简历投递 + + {{ deliveringJobs[job.jobId] ? '投递中...' : '简历投递' }} + @@ -317,39 +319,63 @@ const closeFeedBackPopup = () => { feedBackPopup.value.close(); }; + // 投递简历loading状态,使用对象存储每个job的投递状态 + const deliveringJobs = reactive({}); // 岗位投递 function deliverResume(job) { - 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("简历投递成功"); - 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 } + }).catch(() => { + deliveringJobs[job.jobId] =false; }); - }); - } else { - $api.msg('请先登录') + } + } - }); - + }) + } // 提交面试邀请 diff --git a/packageB/login.vue b/packageB/login.vue index 47e7b19..45f048e 100644 --- a/packageB/login.vue +++ b/packageB/login.vue @@ -59,7 +59,7 @@ onMounted(() => { // getCodeImg() let form={} - if (uni.getStorageSync('userInfo').isCompanyUser=='1') { + if (uni.getStorageSync('userInfo').isCompanyUser=='1' || uni.getStorageSync('userInfo').isCompanyUser=='2') { form={ usertype: '1', idno: uni.getStorageSync('userInfo').idCard, 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 @@ + + + + + {{ dataInfo.title }} + + + 发布日期:{{ dataInfo.publishTime }} + + + + + + + + + + + \ No newline at end of file diff --git a/packageB/notice/index.vue b/packageB/notice/index.vue new file mode 100644 index 0000000..b361e2a --- /dev/null +++ b/packageB/notice/index.vue @@ -0,0 +1,203 @@ + + + + + 培训公告 + + + 评价公告 + + + + + + + {{ item.title }} + + + + + 发布日期:{{ item.publishTime }} + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packageB/priority/helpFilter.vue b/packageB/priority/helpFilter.vue index 1f8d495..654f8d0 100644 --- a/packageB/priority/helpFilter.vue +++ b/packageB/priority/helpFilter.vue @@ -40,7 +40,7 @@ 所属区域: - @@ -180,10 +180,11 @@ const initialForm = { idCard: '', taskType: '', createByName: '', - helpArea: [], - startTime: '', - endTime: '', - deptId:'' +// helpArea: [], +// startTime: '', +// endTime: '', +// deptId:'', + deptTags:'' } const formData = reactive({ ...initialForm }); const taskTypeOptions=ref([]) @@ -228,12 +229,17 @@ const handleReset = () =>{ onMounted(async () => { // await loadLevelData('201'); }); -onLoad(async () => { +onLoad(() => { let token=uni.getStorageSync('fourLevelLinkage-token') if(token){ - await loadLevelData('201'); - getDictionary() - getDataList('refresh'); + $api.myRequest("/system/user/login/user/info", {}, "GET", 9100, { + Authorization: `Bearer ${uni.getStorageSync("fourLevelLinkage-token")}` + }).then(async (resData) => { + + await loadLevelData(resData.sysUser.dept.deptId); + getDictionary() + getDataList('refresh'); + }); }else{ navTo('/packageB/login2'); } @@ -259,7 +265,7 @@ function getTaskTypeLabelByValue(value) { return item ? item.text : '暂无帮扶类型' } // 加载某一级的数据(parentId 为空表示根) -async function loadLevelData(parentId) { +async function loadLevelData(parentId,node) { let header = { 'Authorization': uni.getStorageSync('fourLevelLinkage-token'), 'Content-Type': "application/x-www-form-urlencoded" @@ -274,15 +280,14 @@ async function loadLevelData(parentId) { } const formatted = (resData.data || []).map(item => ({ text: item.deptName, - value: item.deptId, + value: item.tags, + deptId: item.deptId, children: [] })); - if (parentId === '201') { - // 第一层 - regions.value = formatted; - } else { - // 找到父节点并注入 children + if(node){ injectChildren(parentId, formatted); + }else{ + regions.value=formatted } } catch (error) { console.error("加载部门数据失败:", error); @@ -293,7 +298,7 @@ async function loadLevelData(parentId) { function injectChildren(parentValue, childrenData) { const findAndInject = (nodes) => { for (let node of nodes) { - if (node.value === parentValue) { + if (node.deptId === parentValue) { // 如果 children 已存在且非空,避免重复加载 if (!node.children || node.children.length === 0) { node.children = childrenData; @@ -313,7 +318,7 @@ function injectChildren(parentValue, childrenData) { // 当用户选择时触发(注意:change 在每级选择后都会触发) function onchange(e) { const selectedValues = e.detail.value; - formData.deptId=selectedValues.map(item => item.value).join(','); + // formData.deptId=selectedValues.map(item => item.value).join(','); if (selectedValues.length === 0) return; // 获取最后一级选中的 value const lastSelectedValue = selectedValues[selectedValues.length - 1]; @@ -322,7 +327,7 @@ function onchange(e) { if (node && (!node.children || node.children.length === 0)) { // 检查接口是否还有下一级(可通过接口返回判断,或先尝试加载) // 这里我们直接尝试加载下一级 - loadLevelData(lastSelectedValue.value); + loadLevelData(node.deptId , node); picker.value.show() } } 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 578970f..541562b 100644 --- a/packageB/train/index.vue +++ b/packageB/train/index.vue @@ -13,7 +13,7 @@ --> - + 专项练习 @@ -71,7 +71,7 @@ async function jumps(url){ async function thirdLogin(){ let form={} - if (uni.getStorageSync('userInfo').isCompanyUser=='1') { + if (uni.getStorageSync('userInfo').isCompanyUser=='1' || uni.getStorageSync('userInfo').isCompanyUser=='2') { form={ usertype: '1', idno: uni.getStorageSync('userInfo').idCard, 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/packageB/train/video/videoList.vue b/packageB/train/video/videoList.vue index 5efd2d0..ca754ba 100644 --- a/packageB/train/video/videoList.vue +++ b/packageB/train/video/videoList.vue @@ -145,7 +145,7 @@ async function playVideo(video) { async function thirdLogin(){ let form={} - if (uni.getStorageSync('userInfo').isCompanyUser=='1') { + if (uni.getStorageSync('userInfo').isCompanyUser=='1'|| uni.getStorageSync('userInfo').isCompanyUser=='2') { form={ usertype: '1', idno: uni.getStorageSync('userInfo').idCard, 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 @@ - @@ -86,13 +86,11 @@ {{item.zcmc}} - {{item.zclx}} {{item.zcLevel}} {{item.sourceUnit}} 发布日期:{{item.createTime}} - 浏览数{{item.viewNum}} @@ -107,7 +105,7 @@ const { $api, navTo, vacanciesTo, formatTotal, config } = inject('globalFunction import { getPolicyList } from '@/packageRc/apiRc/policy'; let policyList = ref([]) function getPolicy() { - getPolicyList({pageNum: 1, pageSize: 10}).then(res => { + getPolicyList({pageNum: 1, pageSize: 10,zclx:'1'}).then(res => { policyList.value = res.rows }) } @@ -116,7 +114,7 @@ function changeType(type) { tabType.value = type } function toPolicyList() { - navTo(`/packageRc/pages/policy/policyList`) + navTo(`/packageRc/pages/policy/policyList?zclx=1`) } function toPolicyDetail(item) { navTo(`/packageRc/pages/policy/policyDetail?id=${item.id}`) diff --git a/packageRc/pages/jobList/jobList.vue b/packageRc/pages/jobList/jobList.vue index 32bd2ab..54c41ff 100644 --- a/packageRc/pages/jobList/jobList.vue +++ b/packageRc/pages/jobList/jobList.vue @@ -70,7 +70,7 @@ - + @@ -731,7 +731,7 @@ const handleLoginSuccess = () => { // 处理附近工作点击 const handleNearbyClick = () => { if (checkLogin()) { - navTo("/pages/nearby/nearby"); + navTo("/packageA/pages/nearby/nearby"); } }; diff --git a/packageRc/pages/policy/policyDetail.vue b/packageRc/pages/policy/policyDetail.vue index ecf52fe..e6725fc 100644 --- a/packageRc/pages/policy/policyDetail.vue +++ b/packageRc/pages/policy/policyDetail.vue @@ -16,18 +16,16 @@ - 政策:{{ policyDetail.zcLevel }} + 政策级别:{{ policyDetail.zcLevel }} 发文单位:{{ policyDetail.sourceUnit }} - 受理单位:{{ policyDetail.acceptingUnit }} 发布时间:{{ policyDetail.publishTime || '--' }} - 浏览次数:{{ policyDetail.viewNum }} - + -- - + 政策内容 -- - - 政策申报时间 - - {{ policyDetail.validity || "--" }} - - - - - 政策文件 - - - -- - - - - + 补贴标准 @@ -98,153 +81,14 @@ - + 经办渠道 -- - - - 申报条件 - - - -- - - - - - - - 政策内容 - - - -- - - - - - - - 发文单位 - - {{ policyDetail.sourceUnit || "--" }} - - - - 发文时间 - - {{ policyDetail.publishTime || "--" }} - - - - 受理单位 - - {{ policyDetail.acceptingUnit || "--" }} - - - - 咨询电话 - - - -- - - - - - - 申报指南 - - - -- - - - - - 申请材料 - - - -- - - - - diff --git a/packageRc/pages/policy/policyList.vue b/packageRc/pages/policy/policyList.vue index db1d88a..8b1aaed 100644 --- a/packageRc/pages/policy/policyList.vue +++ b/packageRc/pages/policy/policyList.vue @@ -6,30 +6,23 @@ - 共 {{ total }} 条 - - 推荐 {{item.zcmc}} - {{item.zclx}} {{item.zcLevel}} {{item.sourceUnit}} - 发布日期:{{item.createTime}} - 浏览数{{item.viewNum}} + 发文日期:{{item.publishTime}} @@ -55,7 +48,6 @@ import { getPolicyList } from "@/packageRc/apiRc/policy"; }, data() { return { - checkData: [], queryParams: { pageNum: 1, pageSize: 10, @@ -66,8 +58,8 @@ import { getPolicyList } from "@/packageRc/apiRc/policy"; loading: false, } }, - onLoad() { - this.getCheckData() + onLoad(options) { + this.queryParams.zclx = options.zclx }, onShow() { this.search(); @@ -78,64 +70,10 @@ import { getPolicyList } from "@/packageRc/apiRc/policy"; url: `/packageRc/pages/policy/policyDetail?id=${item.id}` }) }, - getDictLabel(value, list) { - if (list) { - let arr = list.filter(ele => ele.dictValue == value) - if (arr.length) { - return arr[0].dictLabel - } else { - return '--' - } - } - }, - async getCheckData() { - let workExperienceYears - await this.$getDict('qcjy_gznx').then(res => { - workExperienceYears = res.data - }) - await this.$getDict('qcjy_xqlc').then(res => { - this.currentStatusList = res.data; - console.log(res.data) - }) - this.checkData = [ - { - name: "需求类型", - type: "demandType", - data: [{dictLabel: '求职需求', dictValue: '1'},{dictLabel: '创业需求', dictValue: '3'},{dictLabel: '培训需求', dictValue: '4'},{dictLabel: '其他需求', dictValue: '5'}], - activeIndex: 0, - }, - { - name: "需求状态", - type: "currentStatus", - data: [{ - dictLabel: '全部', - dictValue: '' - }].concat(this.currentStatusList), - activeIndex: 0, - }, - // { - // name: "工作经验", - // type: "workExperienceYears", - // data: [{dictLabel: '全部', dictValue: ''}].concat(workExperienceYears), - // activeIndex: 0, - // }, - - ]; - }, - popupSearch(queryParams) { - queryParams.forEach((item, index) => { - if (item.data[item.activeIndex].dictLabel == "全部") { - this.queryParams[item.type] = ""; - } else { - this.queryParams[item.type] = item.data[item.activeIndex].dictValue; - } - }); - this.search() - }, search() { this.showMorePage = true; this.queryParams.pageNum = 1; - this.queryParams.pageSize = 10; + this.queryParams.pageSize = 20; this.tableData = []; this.total = 0; this.getList(); diff --git a/pages.json b/pages.json index 47cb4c9..516b86c 100644 --- a/pages.json +++ b/pages.json @@ -6,6 +6,12 @@ "navigationBarTitleText": "喀什智慧就业平台" } }, + { + "path": "pages/city-select/index", + "style": { + "navigationBarTitleText": "选择城市" + } + }, { "path": "pages/mine/mine", "style": { @@ -25,50 +31,9 @@ } }, { - "path": "pages/complete-info/complete-info", + "path": "pages/search/search", "style": { - "navigationBarTitleText": "补全信息" - } - }, - { - "path": "pages/complete-info/company-info", - "style": { - "navigationBarTitleText": "企业信息" - } - }, - { - "path": "pages/complete-info/components/map-location-picker", - "style": { - "navigationBarTitleText": "选择地址" - } - }, - { - "path": "pages/complete-info/skill-search", - "style": { - "navigationBarTitleText": "技能查询" - } - }, - { - "path": "pages/nearby/nearby", - "style": { - "navigationBarTitleText": "附近", - "navigationBarBackgroundColor": "#4778EC", - "navigationBarTextStyle": "white" - } - }, - { - "path": "pages/job/publishJob", - "style": { - "navigationBarTitleText": "发布岗位" - } - }, - { - "path": "pages/job/companySearch", - "style": { - "navigationBarTitleText": "选择企业", - "disableScroll": false, - "enablePullDownRefresh": false, - "backgroundColor": "#f5f5f5" + "navigationBarTitleText": "搜索职位" } }, { @@ -80,12 +45,6 @@ "enablePullDownRefresh": false } }, - { - "path": "pages/search/search", - "style": { - "navigationBarTitleText": "搜索职位" - } - }, { "path": "pages/service/career-planning", "style": { @@ -155,6 +114,53 @@ { "root": "packageA", "pages": [ + { + "path": "pages/complete-info/complete-info", + "style": { + "navigationBarTitleText": "补全信息" + } + }, + { + "path": "pages/complete-info/company-info", + "style": { + "navigationBarTitleText": "企业信息" + } + }, + { + "path": "pages/complete-info/components/map-location-picker", + "style": { + "navigationBarTitleText": "选择地址" + } + }, + { + "path": "pages/complete-info/skill-search", + "style": { + "navigationBarTitleText": "技能查询" + } + }, + { + "path": "pages/nearby/nearby", + "style": { + "navigationBarTitleText": "附近", + "navigationBarBackgroundColor": "#4778EC", + "navigationBarTextStyle": "white" + } + }, + { + "path": "pages/job/publishJob", + "style": { + "navigationBarTitleText": "发布岗位" + } + }, + { + "path": "pages/job/companySearch", + "style": { + "navigationBarTitleText": "选择企业", + "disableScroll": false, + "enablePullDownRefresh": false, + "backgroundColor": "#f5f5f5" + } + }, { "path": "pages/addWorkExperience/addWorkExperience", "style": { @@ -342,6 +348,12 @@ "navigationBarTitleText": "技能评价" } }, + { + "path": "train/practice/startPracticingList", + "style": { + "navigationBarTitleText": "专项训练" + } + }, { "path": "train/practice/startPracticing", "style": { @@ -419,6 +431,42 @@ "style": { "navigationBarTitleText": "错题详情" } + }, + { + "path": "notice/index", + "style": { + "navigationBarTitleText": "培训评价公告" + } + }, + { + "path": "notice/detail", + "style": { + "navigationBarTitleText": "公告详情" + } + }, + { + "path": "institution/evaluationAgency", + "style": { + "navigationBarTitleText": "评价机构信息" + } + }, + { + "path": "institution/evaluationAgencyDetail", + "style": { + "navigationBarTitleText": "评价机构信息详情" + } + }, + { + "path": "institution/trainingInstitution", + "style": { + "navigationBarTitleText": "培训机构信息" + } + }, + { + "path": "institution/trainingInstitutionDetail", + "style": { + "navigationBarTitleText": "培训机构信息详情" + } } ] }, diff --git a/pages/careerfair/careerfair.vue b/pages/careerfair/careerfair.vue index 7230dc7..32d3274 100644 --- a/pages/careerfair/careerfair.vue +++ b/pages/careerfair/careerfair.vue @@ -22,12 +22,68 @@ @click="getFair('refresh')"> + 筛选 + + + + + + + + + + + {{ item.label }} + + + + {{ option.label }} + + + + + + + + + 重置 + 确认 + + + - + @@ -74,10 +130,12 @@ - + + + - + @@ -108,7 +166,7 @@ longitudeVal, latitudeVal } = storeToRefs(useLocationStore()); - const wxAuthLoginRef = ref(null); + // const wxAuthLoginRef = ref(null); const { $api, navTo, @@ -131,7 +189,7 @@ jobFairTitle: "", }); const baseUrl = config.imgBaseUrl; - + const showTabar = ref(false); onLoad(async () => { // const today = new Date(); // const year = today.getFullYear(); @@ -149,13 +207,60 @@ onShow(() => { // 更新自定义tabbar选中状态 tabbarManager.updateSelected(1); + getoptions(); });// - - - + //筛选 + const filterOptions = ref([]); + const activeTab = ref(''); + const selectFilterModel = ref(null); + const selectedValues = ref(null); + function openFilter() { + selectFilterModel.value?.open(); + } + const scrollTo = (key) => { + activeTab.value = key; + }; + + const handleSelect = (e) => { + selectedValues.value = e.detail.value + }; + function cleanup(){ + selectedValues.value = null + confirm() + } + function confirm(){ + getFair("refresh"); + selectFilterModel.value?.close(); + } + function getoptions() { + let headers = { + 'Content-Type': 'application/x-www-form-urlencoded', + } + let params = { + dictType:'administrative_division', + dictParentValue:'653100000000', + childFlag:'1', + } + filterOptions.value = [{ + label: '所在区域', + key: 'area', + options: [] + }]; + $api.myRequest('/system/public/dict/data/getByParentValue',params,'POST',9100,headers).then(res=>{ + if (res.code == 200) { + filterOptions.value[0].options = res.data.map(item=>{ + return { + label: item.dictLabel, + value: item.dictValue, + } + }) + } + }) + activeTab.value = 'area'; + } async function thirdLogin(needToast){ let form={} - if (uni.getStorageSync('userInfo') && uni.getStorageSync('userInfo').isCompanyUser=='1') { + if (uni.getStorageSync('userInfo') && (uni.getStorageSync('userInfo').isCompanyUser=='1' || uni.getStorageSync('userInfo').isCompanyUser=='2')) { form={ usertype: '1', idno: uni.getStorageSync('userInfo').idCard, @@ -198,16 +303,22 @@ } } - onMounted(() => { - // 监听退出登录事件,显示微信登录弹窗 - uni.$on("showLoginModal", () => { - wxAuthLoginRef.value?.open(); - }); - }); - - onUnmounted(() => { - uni.$off("showLoginModal"); - }); + // onMounted(() => { + // // 监听退出登录事件,显示微信登录弹窗 + // uni.$on("showLoginModal", () => { + // wxAuthLoginRef.value?.open(); + // }); + // }); + watch(() => userInfo.value.userType, (newVal) => { + if(newVal=='ent'){ + showTabar.value = true + }else{ + showTabar.value = false + } + },{ immediate: true ,deep: true}) + // onUnmounted(() => { + // uni.$off("showLoginModal"); + // }); // 登录成功回调 const handleLoginSuccess = () => { @@ -331,11 +442,27 @@ // 正确映射响应为用户信息(优先使用 data 字段) const data = resData?.data ?? resData; userInfo.value = data || {}; + if(data?.info?.entCreditCode && data?.info?.userId){ + updateEnterpriseId({ + unifiedSocialCreditCode: data?.info?.entCreditCode, + userId: data?.info?.userId, + }) + } getFair("refresh"); return userInfo.value; }); } - + function updateEnterpriseId(params){ + const headers = { + 'Content-Type':'application/json' + } + return $api.myRequest("/jobfair/public/job-fair-sign-up-enterprise/update-enterprise-id", params, "POST", 9100, headers).then((resData) => { + if(resData.code == 200 && resData.data !=0){ + state.current = 3 + getMyFair("refresh"); + } + }); + } function getMyFair(type = "add") { if (type === "refresh") { pageState.pageNum = 1; @@ -396,6 +523,7 @@ pageSize: pageState.pageSize, jobFairTitle: pageState.jobFairTitle, jobFairType: state.current, + dictValue: selectedValues.value, }; if (isLogin.value) { if (userInfo.value.userType == "ent") { @@ -553,7 +681,168 @@ return dates; } + diff --git a/pages/city-select/index.vue b/pages/city-select/index.vue new file mode 100644 index 0000000..c62b2ea --- /dev/null +++ b/pages/city-select/index.vue @@ -0,0 +1,425 @@ + + + + + + + + + + + + + + + + + + + + + + + + + {{ group.letter }} + + {{ item.name }} + + + + + + + + {{ letter }} + + + + + + + + + \ No newline at end of file diff --git a/pages/index/components/index-one.vue b/pages/index/components/index-one.vue index fd36b1a..2e3b8c7 100644 --- a/pages/index/components/index-one.vue +++ b/pages/index/components/index-one.vue @@ -75,15 +75,15 @@ - + + 简历指导 + - @@ -110,7 +110,7 @@ - 技能培训 + 技能课堂 @@ -148,12 +148,12 @@ 职业规划推荐 - + @@ -166,6 +166,25 @@ 帮扶 + + + + + 培训评价公告 + + + + + + + 培训机构信息 + + + + + + 评价机构信息 + @@ -178,7 +197,7 @@ - + @@ -231,10 +250,15 @@ + 添加 + + {{ selectedCity.name || '地区' }} + + @@ -262,6 +286,7 @@ @scrolltolower="scrollBottom" :enable-back-to-top="false" :scroll-with-animation="false" + @touchmove.stop.prevent > @@ -297,7 +322,7 @@ {{ config.appInfo.areaName }} - + @@ -374,7 +399,7 @@ {{ config.appInfo.areaName }} - + @@ -589,6 +614,14 @@ const wxAuthLoginRef = ref(null); const state = reactive({ tabIndex: 'all', }); +//帮扶模块跳转 +const helpClick = () => { + navTo('/packageB/priority/helpFilter'); +}; +//招聘会模块跳转 +const handleJobFairClick = () => { + navTo('/pages/careerfair/careerfair'); +}; const list = ref([]); const pageState = reactive({ page: 0, @@ -603,17 +636,20 @@ const inputText = ref(''); const showFilter = ref(false); const selectFilterModel = ref(null); const showModel = ref(false); +// 选中的城市 +const selectedCity = ref({ code: '', name: '' }); const rangeOptions = ref([ { value: 0, text: '推荐' }, { value: 1, text: '最热' }, { value: 2, text: '最新发布' }, { value: 3, text: '疆外' }, + { value: 4, text: '零工市场' } ]); const isLoaded = ref(false); const isInitialized = ref(false); // 添加初始化标志 const { columnCount, columnSpace } = useColumnCount(() => { - pageState.pageSize = 10 * (columnCount.value - 1); + pageState.pageSize = 10 * (columnCount.value - 1) + 10; // 只在首次初始化时调用,避免重复调用 if (!isInitialized.value) { @@ -678,27 +714,55 @@ const goToCompanyInfo = () => { navTo('/pages/mine/company-info'); }; + // 组件初始化时加载数据 onMounted(() => { // 获取企业信息 getCompanyInfo(); // pageNull.value = 0; - // 监听退出登录事件,显示微信登录弹窗 uni.$on('showLoginModal', () => { wxAuthLoginRef.value?.open(); pageNull.value = 0; }); }); -onUnmounted(() => { +onMounted(() => { + // 在组件挂载时绑定事件监听,确保只绑定一次 + // 先移除可能存在的旧监听,避免重复绑定 uni.$off('showLoginModal'); + uni.$off('citySelected'); + + // 绑定新的监听 + uni.$on('showLoginModal', () => { + console.log('收到showLoginModal事件,打开登录弹窗'); + wxAuthLoginRef.value?.open(); + pageNull.value = 0; + }); + + // 监听城市选择事件 + uni.$on('citySelected', (city) => { + console.log('收到citySelected事件,选择的城市:', city); + selectedCity.value = city; + // 可以在这里添加根据城市筛选职位的逻辑 + conditionSearch.value.regionCode = city.code; + getJobRecommend('refresh'); + }); + + // 获取企业信息 + getCompanyInfo(); +}); + +onUnmounted(() => { + // 组件销毁时移除事件监听 + uni.$off('showLoginModal'); + uni.$off('citySelected'); }); onShow(() => { - // 获取最新的企业信息 + // 页面显示时获取最新的企业信息 getCompanyInfo(); - //四级联动单点及权限 - getIsFourLevelLinkagePurview() + // 四级联动单点及权限 + getIsFourLevelLinkagePurview(); }); // 监听用户信息变化,当登录状态改变时重新获取企业信息 @@ -729,21 +793,63 @@ const handleLoginSuccess = () => { //四级联动单点及权限 getIsFourLevelLinkagePurview() }; +// H5环境下从URL获取token并自动登录 +onLoad(() => { + // #ifdef H5 + const token = uni.getStorageSync('zkr-token'); + if (token) { + useUserStore().loginSetToken(token); + } + // #endif +}); // 处理附近工作点击 -const handleNearbyClick = () => { +const handleNearbyClick = (options ) => { + // #ifdef MP-WEIXIN if (checkLogin()) { - navTo('/pages/nearby/nearby'); + navTo('/packageA/pages/nearby/nearby'); } + // #endif + // #ifdef H5 + const token = options.token || uni.getStorageSync('zkr-token'); + if (token) { + navTo('/packageA/pages/nearby/nearby'); + } + // #endif }; - +const handleNoticeClick = () =>{ + uni.navigateTo({ + url:'/packageB/notice/index' + }) +} +function handleInstitutionClick(type){ + if(type=='evaluate'){ + uni.navigateTo({ + url:'/packageB/institution/evaluationAgency' + }) + }else if (type=='training'){ + uni.navigateTo({ + url:'/packageB/institution/trainingInstitution' + }) + } + +} // 处理服务功能点击 const handleServiceClick = (serviceType) => { if (checkLogin()) { navToService(serviceType); } }; - +// H5的简历指导跳转 +const handelGoResumeGuide = () => { + const token = uni.getStorageSync('zkr-token'); + // myToken.value = token; + if (token) { + // navTo() + navTo('/pages/resume-guide/resume-guide'); + } + +} // 处理直播按钮点击 const handleLiveClick = () => { // #ifdef MP-WEIXIN @@ -777,17 +883,12 @@ const handleLiveClick = () => { const handleSalaryInfoClick = () => { navTo('/pages/service/salary-info'); }; -const handleJobFairClick = () => { - navTo('/pages/careerfair/careerfair'); -}; + const handleH5SalaryClick = () => { const salaryUrl = "https://www.mohrss.gov.cn/SYrlzyhshbzb/laodongguanxi_/fwyd/202506/t20250627_544623.html"; window.location.assign(salaryUrl); }; -// 处理帮扶 -const helpClick = () => { - navTo('/packageB/priority/helpFilter'); -}; + async function loadData() { try { if (isLoaded.value) return; @@ -799,7 +900,6 @@ async function loadData() { } const pageNull = ref(0); function scrollBottom() { - console.log('scrollBottom------') if (loadmoreRef.value && typeof loadmoreRef.value.change === 'function') { loadmoreRef.value.change('loading'); } @@ -862,15 +962,7 @@ function clearfindJob(job) { } function nextDetail(job) { - // 登录检查 - if (checkLogin()) { - // 记录岗位类型,用作数据分析 - if (job.jobCategory) { - const recordData = recommedIndexDb.JobParameter(job); - recommedIndexDb.addRecord(recordData); - } - navTo(`/packageA/pages/post/post?jobId=${encodeURIComponent(job.jobId)}`); - } + navTo(`/packageA/pages/post/post?jobId=${encodeURIComponent(job.jobId)}`); } function navToService(serviceType) { @@ -966,6 +1058,12 @@ function handelHostestSearch(val) { isShowJw.value = val.value; pageState.search.order = val.value; pageState.search.jobType = val.value === 3 ? 1 : 0; + if(val.value === 4) { + pageState.search.type = 4; + } else { + delete pageState.search.type; + } + if (state.tabIndex === 'all') { getJobRecommend('refresh'); } else { @@ -980,12 +1078,16 @@ function getJobRecommend(type = 'add') { if (waterfallsFlowRef.value) waterfallsFlowRef.value.refresh(); } let params = { - pageSize: pageState.pageSize, + pageSize: pageState.pageSize + 10, sessionId: useUserStore().seesionId, ...pageState.search, ...conditionSearch.value, isPublish: 1, }; + // 当选中零工市场(4)或疆外(3)时,order参数传递0 + if (pageState.search.order === 3 || pageState.search.order === 4) { + params.order = 0; + } // 优先从store获取,如果为空则从缓存获取 const storeIsCompanyUser = userInfo.value?.isCompanyUser; const cachedUserInfo = uni.getStorageSync('userInfo') || {}; @@ -1064,11 +1166,15 @@ function getJobList(type = 'add') { ...pageState.search, // ...conditionSearch.value, }; + // 当选中零工市场(4)或疆外(3)时,order参数传递0 + if (pageState.search.order === 3 || pageState.search.order === 4) { + params.order = 0; + } $api.createRequest('/app/job/list', params).then((resData) => { const { rows, total } = resData; if (type === 'add') { - const str = pageState.pageSize * (pageState.page - 1); + const str = pageState.pageSize * (pageState.page - 1) + 10; const end = list.value.length; const reslist = dataToImg(rows); list.value.splice(str, end, ...reslist); @@ -1640,6 +1746,9 @@ defineExpose({ loadData }); min-width: 80rpx; padding: 8rpx 12rpx; white-space: nowrap; + .right-sx + width: 28rpx; + height: 28rpx; .filter-bottom display: flex justify-content: space-between @@ -1651,8 +1760,8 @@ defineExpose({ loadData }); font-weight: 400; font-size: 32rpx; color: #666D7F; - margin-right: 24rpx - padding: 0rpx 16rpx + margin-right: 8rpx + padding: 0rpx 6rpx .active font-weight: 500; font-size: 32rpx; @@ -1671,12 +1780,24 @@ defineExpose({ loadData }); background: #F4F4F4 flex: 1 overflow: hidden - height: 0; // 确保flex容器正确计算高度 + // 确保flex容器正确计算高度 + position: relative; .falls-scroll width: 100% height: 100% // 确保滚动容器可以正常滚动 -webkit-overflow-scrolling: touch; + // 解决H5端嵌套环境滑动问题 + touch-action: pan-y; + /* #ifdef H5 */ + // 修复H5端在一体机嵌套环境中的滚动问题 + overflow-y: auto; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + /* #endif */ .falls padding: 28rpx 28rpx; .item diff --git a/pages/index/index.vue b/pages/index/index.vue index b32f937..c903289 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -19,10 +19,11 @@ import IndexOne from './components/index-one.vue'; // import IndexTwo from './components/index-two.vue'; import { storeToRefs } from 'pinia'; import { useReadMsg } from '@/stores/useReadMsg'; +import useUserStore from '@/stores/useUserStore'; import { tabbarManager } from '@/utils/tabbarManager'; const { unreadCount } = storeToRefs(useReadMsg()); - -onLoad(() => { +const userStore = useUserStore(); +onLoad((options) => { // useReadMsg().fetchMessages(); }); diff --git a/pages/login/h5-login.vue b/pages/login/h5-login.vue index cd58ace..41eb30c 100644 --- a/pages/login/h5-login.vue +++ b/pages/login/h5-login.vue @@ -194,7 +194,7 @@ const handleLogin = async () => { icon: 'success' }) // window.location.assign('http://222.80.110.161:11111/mechine-dual-vue/login') - window.location.assign('https://www.xjksly.cn/mechine-single-vue/login') + // window.location.assign('https://www.xjksly.cn/mechine-single-vue/login') // // 跳转到首页 // uni.reLaunch({ // url: '/pages/index/index' diff --git a/pages/mine/company-info.vue b/pages/mine/company-info.vue index 52a71a3..1a6a3c8 100644 --- a/pages/mine/company-info.vue +++ b/pages/mine/company-info.vue @@ -5,7 +5,7 @@ 编辑信息 - + @@ -15,7 +15,7 @@ 企业名称 {{ companyInfo.name || '暂无公司名称' }} - + @@ -23,7 +23,7 @@ 统一社会代码 {{ companyInfo.socialCode || '暂无统一社会代码' }} - + @@ -31,7 +31,7 @@ 企业注册地点 {{ companyInfo.location || '暂无注册地点' }} - + @@ -39,7 +39,7 @@ 企业信息介绍 {{ companyInfo.description || '暂无企业介绍' }} - + @@ -47,7 +47,7 @@ 企业法人姓名 {{ companyInfo.legalPerson || '暂无法人信息' }} - + diff --git a/pages/mine/mine.vue b/pages/mine/mine.vue index 9ad6cba..e398bd1 100644 --- a/pages/mine/mine.vue +++ b/pages/mine/mine.vue @@ -201,7 +201,7 @@ function seeDetail() { function goToJobHelper() { // 跳转到求职者信息补全页面 - navTo('/pages/complete-info/complete-info'); + navTo('/packageA/pages/complete-info/complete-info'); } // 跳转到素质测评 function goCa(){ diff --git a/pages/resume-guide/resume-guide.vue b/pages/resume-guide/resume-guide.vue index 8b1ac4a..1630227 100644 --- a/pages/resume-guide/resume-guide.vue +++ b/pages/resume-guide/resume-guide.vue @@ -49,9 +49,11 @@ + 开始制作简历 + 查看简历示例 diff --git a/pages/service/career-planning.bak.vue b/pages/service/career-planning.bak.vue new file mode 100644 index 0000000..c3abf8d --- /dev/null +++ b/pages/service/career-planning.bak.vue @@ -0,0 +1,590 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pages/service/career-planning.vue b/pages/service/career-planning.vue index c3abf8d..ed03978 100644 --- a/pages/service/career-planning.vue +++ b/pages/service/career-planning.vue @@ -1,67 +1,4 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +