|
@@ -5,6 +5,9 @@
|
|
<v-btn color="primary" size="small" @click="handleAgree(val)">同意</v-btn>
|
|
<v-btn color="primary" size="small" @click="handleAgree(val)">同意</v-btn>
|
|
<v-btn class="ml-3" color="error" size="small" @click="handleRefuse(val)">拒绝</v-btn>
|
|
<v-btn class="ml-3" color="error" size="small" @click="handleRefuse(val)">拒绝</v-btn>
|
|
</div>
|
|
</div>
|
|
|
|
+ <div v-if="tab === '1' || tab === '98'" class="float-right font-size-13" :style="{'padding': '12px 12px 0 0', 'color': tab === '1' ? 'var(--v-primary-base)' : 'var(--v-error-base)'}">
|
|
|
|
+ 您已于{{ timesTampChange(val.updateTime, 'Y-M-D h:m') }}{{ tab === '1' ? '接受' : '拒绝'}}了此面试邀请
|
|
|
|
+ </div>
|
|
<div class="img-box">
|
|
<div class="img-box">
|
|
<v-avatar :image="getUserAvatar(val.contact.avatar, val.contact.sex)" size="x-small"></v-avatar>
|
|
<v-avatar :image="getUserAvatar(val.contact.avatar, val.contact.sex)" size="x-small"></v-avatar>
|
|
<span class="name">
|
|
<span class="name">
|
|
@@ -16,14 +19,18 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="info-content">
|
|
<div class="info-content">
|
|
- <div class="job-info">
|
|
|
|
|
|
+ <div class="font-size-16 color-333 mr-5" style="width: 322px;">
|
|
|
|
+ <div>面试时间:{{ timesTampChange(val.time, 'Y-M-D h:m') }}</div>
|
|
|
|
+ <div class="mt-3 ellipsis" style="max-width: 322px;">面试地点:{{ val.address }}</div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="job-info color-666">
|
|
<div class="job-name ellipsis" style="max-width: 410px;">
|
|
<div class="job-name ellipsis" style="max-width: 410px;">
|
|
- <span class="mr-3">{{ val.job.name }}</span>
|
|
|
|
|
|
+ <span class="mr-3 cursor-pointer position-name" @click="handleToPositionDetails(val)">{{ val.job.name }}</span>
|
|
<span>{{ val.job.payFrom }}-{{ val.job.payTo }}/{{ val.job.payName }}</span>
|
|
<span>{{ val.job.payFrom }}-{{ val.job.payTo }}/{{ val.job.payName }}</span>
|
|
</div>
|
|
</div>
|
|
<div class="job-other d-flex align-center">
|
|
<div class="job-other d-flex align-center">
|
|
<div style="width: 30px;height: 30px;">
|
|
<div style="width: 30px;height: 30px;">
|
|
- <v-img width="30" height="30" :src="val.enterprise.logoUrl || 'https://minio.citupro.com/dev/menduner/7.png'"></v-img>
|
|
|
|
|
|
+ <v-img width="30" height="30" :src="val.enterprise.logoUrl || 'https://minio.citupro.com/dev/menduner/company-avatar.png'"></v-img>
|
|
</div>
|
|
</div>
|
|
<div class="ellipsis" style="max-width: 400px;">
|
|
<div class="ellipsis" style="max-width: 400px;">
|
|
<span class="mx-2 enterprise-name" @click="handleToEnterprise(val)">{{ val.enterprise.name }}</span>
|
|
<span class="mx-2 enterprise-name" @click="handleToEnterprise(val)">{{ val.enterprise.name }}</span>
|
|
@@ -35,10 +42,6 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div class="font-size-14 color-666" style="width: 322px;">
|
|
|
|
- <div>面试时间:{{ timesTampChange(val.time, 'Y-M-D h:m') }}</div>
|
|
|
|
- <div class="mt-3 ellipsis" style="max-width: 322px;">面试地点:{{ val.address }}</div>
|
|
|
|
- </div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
@@ -51,6 +54,7 @@ import { userInterviewInviteReject, userInterviewInviteConsent } from '@/api/rec
|
|
import Snackbar from '@/plugins/snackbar'
|
|
import Snackbar from '@/plugins/snackbar'
|
|
import Confirm from '@/plugins/confirm'
|
|
import Confirm from '@/plugins/confirm'
|
|
import { getUserAvatar } from '@/utils/avatar'
|
|
import { getUserAvatar } from '@/utils/avatar'
|
|
|
|
+import { useRouter } from 'vue-router'
|
|
|
|
|
|
const { t } = useI18n()
|
|
const { t } = useI18n()
|
|
const emits = defineEmits(['refresh'])
|
|
const emits = defineEmits(['refresh'])
|
|
@@ -65,11 +69,18 @@ const props = defineProps({
|
|
}
|
|
}
|
|
})
|
|
})
|
|
|
|
|
|
|
|
+const router = useRouter()
|
|
|
|
+
|
|
// 企业详情
|
|
// 企业详情
|
|
const handleToEnterprise = (item) => {
|
|
const handleToEnterprise = (item) => {
|
|
const id = item.enterprise.id
|
|
const id = item.enterprise.id
|
|
if (!id) return
|
|
if (!id) return
|
|
- window.open(`/recruit/personal/company/details/${id}?key=briefIntroduction`)
|
|
|
|
|
|
+ router.push(`/recruit/personal/company/details/${id}?key=briefIntroduction`)
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// 职位详情
|
|
|
|
+const handleToPositionDetails = (item) => {
|
|
|
|
+ router.push(`/recruit/personal/position/details/${item.job.id}`)
|
|
}
|
|
}
|
|
|
|
|
|
// 同意
|
|
// 同意
|
|
@@ -138,22 +149,19 @@ const handleRefuse = (val) => {
|
|
padding: 16px 24px;
|
|
padding: 16px 24px;
|
|
justify-content: space-between;
|
|
justify-content: space-between;
|
|
.job-info {
|
|
.job-info {
|
|
- width: 430px;
|
|
|
|
- max-width: 430px;
|
|
|
|
|
|
+ width: 360px;
|
|
|
|
+ max-width: 360px;
|
|
font-weight: 500;
|
|
font-weight: 500;
|
|
- font-size: 16px;
|
|
|
|
|
|
+ font-size: 14px;
|
|
margin-right: 12px;
|
|
margin-right: 12px;
|
|
.job-name {
|
|
.job-name {
|
|
height: 22px;
|
|
height: 22px;
|
|
line-height: 22px;
|
|
line-height: 22px;
|
|
- color: var(--color-222);
|
|
|
|
margin-bottom: 12px;
|
|
margin-bottom: 12px;
|
|
}
|
|
}
|
|
.job-other {
|
|
.job-other {
|
|
- color: var(--color-666);
|
|
|
|
height: 22px;
|
|
height: 22px;
|
|
line-height: 22px;
|
|
line-height: 22px;
|
|
- font-size: 14px;
|
|
|
|
.enterprise-name {
|
|
.enterprise-name {
|
|
cursor: pointer;
|
|
cursor: pointer;
|
|
&:hover {
|
|
&:hover {
|
|
@@ -164,4 +172,7 @@ const handleRefuse = (val) => {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+.position-name:hover {
|
|
|
|
+ color: var(--v-primary-base);
|
|
|
|
+}
|
|
</style>
|
|
</style>
|