|
@@ -31,20 +31,25 @@
|
|
|
<!-- 面试状态: '待接受'/'已取消' -->
|
|
|
<div :style="{ 'color': colorData[item.status] }">
|
|
|
<v-icon v-if="statusList.find(e => e.value === item.status)?.label" size="30">mdi mdi-circle-small</v-icon>
|
|
|
- <span>{{ statusList.find(e => e.value === item.status)?.label }}</span>
|
|
|
+ <span>
|
|
|
+ {{ statusList.find(e => e.value === item.status)?.label }}
|
|
|
+ <span v-if="item?.job?.status === '1'" style="font-size: 13px; color: grey;">[职位已关闭]</span>
|
|
|
+ </span>
|
|
|
</div>
|
|
|
<div>
|
|
|
- <span v-if="editStatus.indexOf(item.status) !== -1" class="font-size-15 color-primary" @click="handleActionClick('edit', item)">修改面试</span>
|
|
|
- <span v-if="againStatus.indexOf(item.status) !== -1" class="font-size-15 color-primary" @click="handleActionClick('edit', item)">重新邀约</span>
|
|
|
+ <template v-if="item.job?.status !== '1'" >
|
|
|
+ <span v-if="editStatus.indexOf(item.status) !== -1" class="font-size-15 color-primary" @click="handleActionClick('edit', item)">修改面试</span>
|
|
|
+ <span v-if="againStatus.indexOf(item.status) !== -1" class="font-size-15 color-primary" @click="handleActionClick('edit', item)">重新邀约</span>
|
|
|
+ </template>
|
|
|
<span v-if="item.status === '1'" class="font-size-15 color-primary" @click="handleActionClick('completed', item)">完成面试</span>
|
|
|
<span v-if="item.status === '3'" class="font-size-15 color-primary" @click="handleActionClick('feedback', item)">填写反馈</span>
|
|
|
- <v-menu v-if="actionItems(item.status).length">
|
|
|
+ <v-menu v-if="actionItems(item).length">
|
|
|
<template v-slot:activator="{ props }">
|
|
|
<v-icon v-bind="props" class="mx-3" size="20" color="primary">mdi-dots-horizontal</v-icon>
|
|
|
</template>
|
|
|
<v-list>
|
|
|
<v-list-item
|
|
|
- v-for="(k, index) in actionItems(item.status)"
|
|
|
+ v-for="(k, index) in actionItems(item)"
|
|
|
:key="index"
|
|
|
:value="index"
|
|
|
color="primary"
|
|
@@ -143,10 +148,12 @@ const obj = {
|
|
|
'1': [4, 1, 3],
|
|
|
'2': [3]
|
|
|
}
|
|
|
-const actionItems = (status) => {
|
|
|
- const type = obj[status]
|
|
|
+const actionItems = (item) => {
|
|
|
+ const status = item?.status
|
|
|
+ const jobClosed = item.job?.status === '1'
|
|
|
+ const type = jobClosed && obj[status] ? obj[status].filter(i => i !== 4) : obj[status]
|
|
|
if (!type || !type.length) return []
|
|
|
- const data = type.map(e => actions.value[e])
|
|
|
+ let data = type.map(e => actions.value[e])
|
|
|
return data
|
|
|
}
|
|
|
|