favorites.js 4.4 KB

1
  1. "use strict";const e=require("../../common/vendor.js"),t=require("../../common/assets.js"),a=require("../../api/collection.js"),s=require("../../api/message.js"),o={__name:"favorites",setup(o){const i=e.ref("job"),n=[{name:"岗位",key:"job"},{name:"测评",key:"assessment"}],l=e.ref([]),d=e.ref([]),r=async()=>{e.index.showLoading({title:"加载中..."});try{const t=e.index.getStorageSync("userInfo");if(!t||!t.studentId)return;if("job"===i.value){const e=await a.listCollection({studentId:t.studentId,type:"job"});200===e.code&&(l.value=(e.rows||e.data||[]).map((e=>{const t=e.targetData||{};return{collectionId:e.id,id:e.targetId,title:t.postName||t.positionName||t.name||"未知岗位",salaryText:t.salaryRange||"面议",tags:[t.workCity,t.educationRequirementLabel||t.educationRequirement,t.gradeRequirementLabel||t.gradeRequirement].filter(Boolean),isUrgent:1===t.isUrgent,count:t.recruitNum||1,deadline:t.registrationEndDate?t.registrationEndDate.split(" ")[0]:"长期有效",isExpiring:!1,company:t.companyName||"平台推荐",location:(t.workProvince||"")+(t.workCity?"·"+t.workCity:""),logo:t.companyAvatar||"/static/icons/default-company.png"}})))}else{const e=await a.listCollection({studentId:t.studentId,type:"assessment"});200===e.code&&(d.value=(e.rows||e.data||[]).map((e=>{const t=e.targetData||{};return{collectionId:e.id,id:e.targetId,title:t.evaluationName||t.title||t.name||"未知测评",level:t.gradeLabel||t.grade||"A1",type:t.positionTypeLabel||t.positionType||"",category:t.position||"",tags:t.tags?t.tags.split(","):[],desc:t.remark||t.detail||"暂无描述",cover:t.mainImageUrl||"/static/images/assess_cover.svg"}})))}}catch(t){console.error("加载收藏失败",t)}finally{e.index.hideLoading()}};e.watch(i,(()=>{r()})),e.onMounted((()=>{r()})),e.onPullDownRefresh((async()=>{await r(),e.index.stopPullDownRefresh()}));const c=(t,s)=>{e.index.showModal({title:"提示",content:"确定要将该项从收藏夹移除吗?",success:async o=>{if(o.confirm)try{let o;o="job"===t?l.value[s].collectionId:d.value[s].collectionId,e.index.showLoading({title:"移除中..."});const i=await a.delCollection(o);e.index.hideLoading(),200===i.code&&("job"===t?l.value.splice(s,1):d.value.splice(s,1),e.index.showToast({title:"已移除收藏",icon:"success"}))}catch(i){e.index.hideLoading(),e.index.showToast({title:"移除失败",icon:"none"})}}})};return(a,o)=>e.e({a:e.f(n,((t,a,s)=>({a:e.t(t.name),b:t.key,c:e.n(i.value===t.key?"active":""),d:e.o((e=>i.value=t.key),t.key)}))),b:"job"===i.value},"job"===i.value?e.e({c:e.f(l.value,((t,a,s)=>e.e({a:e.t(t.title),b:t.isUrgent},(t.isUrgent,{}),{c:e.t(t.salaryText),d:e.f(t.tags,((t,a,s)=>({a:e.t(t),b:a}))),e:e.t(t.count),f:e.t(t.deadline),g:t.isExpiring},(t.isExpiring,{}),{h:t.logo,i:e.t(t.company),j:e.t(t.location),k:e.o((e=>c("job",a)),t.id),l:t.id,m:e.o((a=>(t=>{e.index.navigateTo({url:`/pages/jobdetail/index?id=${t.id}&title=${encodeURIComponent(t.title)}`})})(t)),t.id)}))),d:t._imports_0$2,e:t._imports_1$1,f:t._imports_2$1,g:t._imports_3$1,h:0===l.value.length},(l.value.length,{})):"assessment"===i.value?e.e({j:e.f(d.value,((t,a,o)=>({a:t.cover,b:e.t(t.title),c:e.t(t.level),d:e.t(t.type),e:e.t(t.category),f:e.f(t.tags,((t,a,s)=>({a:e.t(t),b:a}))),g:e.t(t.desc),h:e.o((a=>(async t=>{try{e.index.showLoading({title:"正在连接客服..."});const a=e.index.getStorageSync("userInfo")||{},o=a.studentId||null,i=a.name||"用户",n=a.avatarUrl||"/static/images/user_avatar.png",l=await s.createOrGetSession({sessionType:1,fromUserId:o,fromUserName:i,fromUserAvatar:n,sourceId:"assessment_"+((null==t?void 0:t.id)||"")});if(e.index.hideLoading(),l.data){const t=l.data;e.index.navigateTo({url:`/pages/chat/chat?sessionId=${t.sessionId}&sessionNo=${t.sessionNo||""}&fromUserId=${o||""}&userName=${encodeURIComponent(i)}`})}else e.index.showToast({title:"创建会话失败",icon:"none"})}catch(a){e.index.hideLoading(),console.error("创建会话失败:",a),e.index.showToast({title:"连接失败,请重试",icon:"none"})}})(t)),t.id),i:e.o((e=>c("assessment",a)),t.id),j:t.id,k:e.o((a=>(t=>{e.index.navigateTo({url:`/pages/assessment/detail?id=${t.id}`})})(t)),t.id)}))),k:t._imports_3$1,l:0===d.value.length},(d.value.length,{})):{},{i:"assessment"===i.value,m:"job"===i.value&&l.value.length>0||"assessment"===i.value&&d.value.length>0},("job"===i.value&&l.value.length>0||"assessment"===i.value&&d.value.length,{}))}},i=e._export_sfc(o,[["__scopeId","data-v-b59b47be"]]);wx.createPage(i);