|
@@ -1,10 +1,13 @@
|
|
<!-- 搜索页面的职位详情-长条 -->
|
|
<!-- 搜索页面的职位详情-长条 -->
|
|
<template>
|
|
<template>
|
|
- <div class="positionItem" v-for="(item, index) in list" :key="index" @mouseenter="item.active = true" @mouseleave="item.active = false">
|
|
|
|
|
|
+ <div class="positionItem px-3 pt-3" v-for="(item, index) in list" :key="index" @mouseenter="item.active = true" @mouseleave="item.active = false">
|
|
<div class="position-and-company">
|
|
<div class="position-and-company">
|
|
<!-- 职位 -->
|
|
<!-- 职位 -->
|
|
|
|
|
|
- <div class="position" @mouseenter="item.positionActive = true" @mouseleave="item.positionActive = false" @click.stop="handlePosition(item)">
|
|
|
|
|
|
+ <div
|
|
|
|
+ class="position cursor-pointer rounded-lg" :class="item.positionActive ? 'elevation-5' : ''"
|
|
|
|
+ @mouseenter="item.positionActive = true" @mouseleave="item.positionActive = false" @click.stop="handlePosition(item)"
|
|
|
|
+ >
|
|
<div class="d-flex">
|
|
<div class="d-flex">
|
|
<div v-if="item?.job?.hire" class="mr-3">
|
|
<div v-if="item?.job?.hire" class="mr-3">
|
|
<svg-icon name="pin" size="45"></svg-icon>
|
|
<svg-icon name="pin" size="45"></svg-icon>
|
|
@@ -40,7 +43,9 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- 公司 -->
|
|
<!-- 公司 -->
|
|
- <div class="company" @click.stop="jumpToEnterpriseDetail(item.enterprise.id, true)">
|
|
|
|
|
|
+ <div
|
|
|
|
+ class="company rounded-lg pa-4 cursor-pointer" :class="item.companyActive ? 'elevation-5' : ''"
|
|
|
|
+ @click.stop="jumpToEnterpriseDetail(item.enterprise.id, true)" @mouseenter="item.companyActive = true" @mouseleave="item.companyActive = false">
|
|
<div class="float-left">
|
|
<div class="float-left">
|
|
<v-img :src="item?.enterprise.logoUrl || 'https://minio.citupro.com/dev/menduner/company-avatar.png'" :alt="item.enterprise.anotherName" :width="40" style="height: 40px;border-radius: 4px;"/>
|
|
<v-img :src="item?.enterprise.logoUrl || 'https://minio.citupro.com/dev/menduner/company-avatar.png'" :alt="item.enterprise.anotherName" :width="40" style="height: 40px;border-radius: 4px;"/>
|
|
</div>
|
|
</div>
|
|
@@ -59,16 +64,16 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- 底部 -->
|
|
<!-- 底部 -->
|
|
- <div class="footer">
|
|
|
|
|
|
+ <div class="footer mt-1">
|
|
<div class="footer-left">
|
|
<div class="footer-left">
|
|
<template v-for="(jobTag, jobTagsIndex) in item.job.tagList" :key="jobTagsIndex">
|
|
<template v-for="(jobTag, jobTagsIndex) in item.job.tagList" :key="jobTagsIndex">
|
|
- <span class="textColor666 mx-1" v-if="jobTagsIndex">|</span>
|
|
|
|
- <span class="textColor666 dis">{{ jobTag }}</span>
|
|
|
|
|
|
+ <span class="color-666 mx-1" v-if="jobTagsIndex">|</span>
|
|
|
|
+ <span class="color-666 dis">{{ jobTag }}</span>
|
|
</template>
|
|
</template>
|
|
</div>
|
|
</div>
|
|
<div class="footer-right" v-if="item.contact">
|
|
<div class="footer-right" v-if="item.contact">
|
|
<v-avatar size="x-small" :image="getUserAvatar(item.contact?.avatar, item.contact?.sex)"></v-avatar>
|
|
<v-avatar size="x-small" :image="getUserAvatar(item.contact?.avatar, item.contact?.sex)"></v-avatar>
|
|
- <span class="mx-2 textColor666">
|
|
|
|
|
|
+ <span class="mx-2 color-666">
|
|
{{ item.contact?.name }}
|
|
{{ item.contact?.name }}
|
|
<span v-if="item?.contact?.postNameCn">|</span>
|
|
<span v-if="item?.contact?.postNameCn">|</span>
|
|
{{ item.contact?.postNameCn }}
|
|
{{ item.contact?.postNameCn }}
|
|
@@ -137,35 +142,29 @@ const handlePosition = (item) => {
|
|
.company-info {
|
|
.company-info {
|
|
float: left;
|
|
float: left;
|
|
margin-left: 16px;
|
|
margin-left: 16px;
|
|
- // width: 282px;
|
|
|
|
}
|
|
}
|
|
.company-info p {
|
|
.company-info p {
|
|
height: 18px;
|
|
height: 18px;
|
|
- font-size: 13px;
|
|
|
|
|
|
+ font-size: 14px;
|
|
font-weight: 400;
|
|
font-weight: 400;
|
|
color: var(--color-999);
|
|
color: var(--color-999);
|
|
}
|
|
}
|
|
-.textColor666 { color: var(--color-666); }
|
|
|
|
.positionItem {
|
|
.positionItem {
|
|
- // width: 850px;
|
|
|
|
width: 100%;
|
|
width: 100%;
|
|
margin-bottom: 12px;
|
|
margin-bottom: 12px;
|
|
border-radius: 12px;
|
|
border-radius: 12px;
|
|
padding: 0;
|
|
padding: 0;
|
|
overflow: hidden;
|
|
overflow: hidden;
|
|
- cursor: pointer;
|
|
|
|
transition: all .2s linear;
|
|
transition: all .2s linear;
|
|
background-color: #fff;
|
|
background-color: #fff;
|
|
- &:hover {
|
|
|
|
- box-shadow: 0 16px 40px 0 rgba(153, 153, 153, .3);
|
|
|
|
- }
|
|
|
|
|
|
+ box-shadow: 0 2px 20px 0 rgba(37, 39, 48, .2);
|
|
.position-and-company {
|
|
.position-and-company {
|
|
display: flex;
|
|
display: flex;
|
|
- padding: 16px 20px;
|
|
|
|
width: 100%;
|
|
width: 100%;
|
|
.position {
|
|
.position {
|
|
width: 500px;
|
|
width: 500px;
|
|
- padding-right: 30px;
|
|
|
|
|
|
+ padding: 15px 20px 16px 20px;
|
|
|
|
+ margin-right: 30px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.footer {
|
|
.footer {
|
|
@@ -189,11 +188,6 @@ const handlePosition = (item) => {
|
|
white-space: nowrap;
|
|
white-space: nowrap;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- .ellipsisStyle {
|
|
|
|
- overflow: hidden;
|
|
|
|
- text-overflow: ellipsis;
|
|
|
|
- white-space: nowrap;
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
.salary {
|
|
.salary {
|
|
font-size: 16px;
|
|
font-size: 16px;
|