index.vue 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <template>
  2. <div>
  3. <headCarousel></headCarousel>
  4. <div class="stickyBox py-5">
  5. <headSearch text="职位类型" @handleSearch="handleSearch"></headSearch>
  6. </div>
  7. <hotJobs></hotJobs>
  8. <div class="default-width">
  9. <!-- <jobTypeCard class="mb-5" page @handleJobClick="handleJobClick" isSingle></jobTypeCard> -->
  10. <homeJobTypeCard></homeJobTypeCard>
  11. <advertisementPage class="my-3"></advertisementPage>
  12. <hotPromotedPositions></hotPromotedPositions>
  13. <PopularEnterprises class="mt-10"></PopularEnterprises>
  14. </div>
  15. </div>
  16. </template>
  17. <script setup>
  18. defineOptions({ name:'personal-index'})
  19. import headCarousel from './components/headCarousel.vue'
  20. import headSearch from '@/components/headSearch'
  21. import hotJobs from './components/hotJobs.vue'
  22. // import jobTypeCard from '@/components/jobTypeCard'
  23. import homeJobTypeCard from './components/homeJobTypeCard'
  24. import hotPromotedPositions from './components/hotPromotedPositions.vue'
  25. import PopularEnterprises from './components/popularEnterprises.vue'
  26. import advertisementPage from './components/advertisement.vue'
  27. import { useRouter } from 'vue-router'
  28. const router = useRouter()
  29. const handleSearch = (val) => {
  30. if (val) router.push(`/recruit/personal/position?content=${val}`)
  31. }
  32. </script>
  33. <style lang="scss" scoped>
  34. .stickyBox {
  35. position: sticky;
  36. top: 48px;
  37. z-index: 999;
  38. background-color: var(--default-bgc);
  39. }
  40. </style>