|
@@ -3,9 +3,9 @@
|
|
|
<div class="sub-li" v-for="(item, index) in list" :key="index" >
|
|
|
<div v-if="item">
|
|
|
<!-- 公司信息 -->
|
|
|
- <div class="company-info-top" @click="handleClickEnterprise(item)">
|
|
|
+ <div class="company-info-top align-center" @click="handleClickEnterprise(item)">
|
|
|
<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="" width="77" height="77" style="border-radius: 4px;"/>
|
|
|
</div>
|
|
|
<div class="company-info">
|
|
|
<h3>{{ item.enterprise.anotherName }}</h3>
|
|
@@ -18,25 +18,29 @@
|
|
|
</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <div v-if="item.enterprise?.welfareList && item.enterprise.welfareList.length" class="px-5 py-1 ellipsis" style="border-bottom: 1px solid #EBEBEB;">
|
|
|
+ <span class="welfareTag mr-5" v-for="(k, i) in item.enterprise.welfareList" :key="i">{{ k }}</span>
|
|
|
+ </div>
|
|
|
<!-- 职位列表 -->
|
|
|
<ul class="company-job-list">
|
|
|
<li class="company-job-item" v-for="(k, i) in item.jobList" :key="i">
|
|
|
<div class="job-info" @mouseenter="k.active = true" @mouseleave="k.active = false" @click="handleClickPosition(k)">
|
|
|
<div class="mb-2 d-flex">
|
|
|
<p :class="['name', {'default-active': k.active }]">{{ k.name }}</p>
|
|
|
- <v-icon size="20" class="message">mdi-message-processing</v-icon>
|
|
|
<span class="salary">{{ k.payFrom }}-{{ k.payTo }}/{{ k.payName }}</span>
|
|
|
</div>
|
|
|
- <div style="height: 24px; overflow: hidden;">
|
|
|
- <span v-for="j in desc" :key="j">
|
|
|
- <v-chip v-if="k[j.value]" size="x-small" label class="mr-1" color="var(--color-666)">{{ k[j.value] }}</v-chip>
|
|
|
+ <div style="height: 24px; overflow: hidden; color: #808080;">
|
|
|
+ <span v-for="(j, index) in desc" :key="index">
|
|
|
+ <span v-if="k[j.value]" class="mr-1 font-size-13">{{ k[j.value] }}</span>
|
|
|
+ <span v-if="k[j.value] && index !== desc.length - 1" class="septal-line ml-1"></span>
|
|
|
</span>
|
|
|
+ <span class="font-size-13 float-right">{{ timesTampChange(k.updateTime, 'Y-M-D') }}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</li>
|
|
|
</ul>
|
|
|
- <div class="moreBtn">
|
|
|
- <v-btn class="buttons" color="primary" variant="outlined" @click="handleMoreEnterprise(item)">{{ $t('position.moreBtn') }}</v-btn>
|
|
|
+ <div class="moreBtn d-flex align-center justify-center" @click="handleMoreEnterprise(item)">
|
|
|
+ {{ $t('position.moreBtn') }}
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -45,6 +49,8 @@
|
|
|
|
|
|
<script setup name="hotPromoted">
|
|
|
import { ref, watch } from 'vue'
|
|
|
+import { timesTampChange } from '@/utils/date'
|
|
|
+
|
|
|
const props = defineProps({
|
|
|
items: {
|
|
|
type: Array,
|
|
@@ -93,19 +99,17 @@ const handleMoreEnterprise = (item) => {
|
|
|
min-width: calc((100% - 24px) / 3);
|
|
|
max-width: calc((100% - 24px) / 3);
|
|
|
margin: 0 12px 12px 0;
|
|
|
- height: 388px;
|
|
|
+ height: 450px;
|
|
|
border-radius: 12px;
|
|
|
padding: 0;
|
|
|
overflow: hidden;
|
|
|
transition: all .2s linear;
|
|
|
background-color: #fff;
|
|
|
cursor: pointer;
|
|
|
+ box-shadow: 0 2px 20px 0 rgba(37, 39, 48, .2);
|
|
|
&:nth-child(3n) {
|
|
|
margin-right: 0;
|
|
|
}
|
|
|
- &:hover {
|
|
|
- box-shadow: 0 16px 40px 0 rgba(153, 153, 153, .3);
|
|
|
- }
|
|
|
}
|
|
|
.company-info {
|
|
|
float: left;
|
|
@@ -114,16 +118,20 @@ const handleMoreEnterprise = (item) => {
|
|
|
}
|
|
|
.company-info-top {
|
|
|
display: flex;
|
|
|
- height: 76px;
|
|
|
+ height: 110px;
|
|
|
padding: 16px 20px;
|
|
|
overflow: hidden;
|
|
|
- background: linear-gradient(90deg, #f2fafa 0, #fcfbfa 100%);
|
|
|
+ border-bottom: 1px solid #EBEBEB;
|
|
|
+}
|
|
|
+.welfareTag {
|
|
|
+ color: #CEC149;
|
|
|
+ font-size: 13px;
|
|
|
}
|
|
|
.company-info h3 {
|
|
|
height: 22px;
|
|
|
- font-size: 16px;
|
|
|
- font-weight: 400;
|
|
|
- color: var(--color-222);
|
|
|
+ font-size: 18px;
|
|
|
+ font-weight: 700;
|
|
|
+ color: #404040;
|
|
|
line-height: 22px;
|
|
|
margin: 0 0 4px 0;
|
|
|
padding: 0;
|
|
@@ -159,7 +167,7 @@ ul li {
|
|
|
font-size: 16px;
|
|
|
float: right;
|
|
|
font-weight: 700;
|
|
|
- color: var(--v-error-base);
|
|
|
+ color: #CEC149;
|
|
|
line-height: 22px;
|
|
|
max-width: none;
|
|
|
text-align: right;
|
|
@@ -169,24 +177,21 @@ ul li {
|
|
|
position: relative;
|
|
|
max-width: 200px;
|
|
|
line-height: 22px;
|
|
|
- font-weight: 500;
|
|
|
- color: var(--color-222);
|
|
|
+ font-weight: 700;
|
|
|
+ color: #404040;
|
|
|
margin-right: 8px;
|
|
|
overflow: hidden;
|
|
|
text-overflow: ellipsis;
|
|
|
white-space: nowrap;
|
|
|
transition: all linear .2s;
|
|
|
}
|
|
|
-.message {
|
|
|
- color: #bfc1c9;
|
|
|
- &:hover {
|
|
|
- color: var(--v-primary-base);
|
|
|
- }
|
|
|
-}
|
|
|
.moreBtn {
|
|
|
position: absolute;
|
|
|
- bottom: 25px;
|
|
|
- left: 50%;
|
|
|
- translate: -50%;
|
|
|
+ width: 100%;
|
|
|
+ bottom: 0;
|
|
|
+ height: 37px;
|
|
|
+ color: #fff;
|
|
|
+ font-size: 14px;
|
|
|
+ background: linear-gradient(to right, #12ebb0, #427daa);
|
|
|
}
|
|
|
</style>
|