|
@@ -2,8 +2,11 @@
|
|
|
<div>
|
|
|
<div v-if="props.items.length" class="d-flex align-center mb-1">
|
|
|
<v-checkbox v-model="selectAll" :label="!selectAll ? '全选' : `已选中${selectList.length}条`" hide-details color="primary" @update:model-value="handleChangeSelectAll"></v-checkbox>
|
|
|
- <v-btn v-if="tab === 1" class="ml-8" :disabled="!selectAll" @click="handleAction(2, 'batch', {})" color="primary" variant="tonal" size="small">刷新</v-btn>
|
|
|
- <v-btn v-if="tab === 1" class="ml-3" :disabled="!selectAll" color="primary" variant="tonal" size="small" @click="handleAction(0, 'close', {})">关闭</v-btn>
|
|
|
+ <div v-if="tab === 1" class="ml-8">
|
|
|
+ <v-btn :disabled="!selectAll" color="primary" variant="tonal" size="small" @click="handleAction(2, 'batch', {})">刷新</v-btn>
|
|
|
+ <v-btn class="mx-3" :disabled="!selectAll" color="primary" variant="tonal" size="small" @click="handleAction(3, 'top', {})">置顶</v-btn>
|
|
|
+ <v-btn :disabled="!selectAll" color="primary" variant="tonal" size="small" @click="handleAction(0, 'close', {})">关闭</v-btn>
|
|
|
+ </div>
|
|
|
<v-btn v-if="tab === 2" class="ml-8" :disabled="!selectAll" color="primary" variant="tonal" size="small" @click="handleAction(1, 'activation', {})">激活</v-btn>
|
|
|
</div>
|
|
|
<div v-for="val in items" :key="val.id" class="itemBox mb-3">
|
|
@@ -29,10 +32,6 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="d-flex align-center">
|
|
|
- <!-- <div class="resume" v-if="val.count && val.count > '0'">
|
|
|
- <div class="resume-number">{{ val.count }}</div>
|
|
|
- <div>待筛选简历</div>
|
|
|
- </div> -->
|
|
|
<div v-if="tab === 1">
|
|
|
<v-btn color="primary" variant="tonal">人才搜索</v-btn>
|
|
|
<v-btn class="ml-3" color="primary" @click="handleAction(2, '', val)">刷新职位</v-btn>
|
|
@@ -45,12 +44,18 @@
|
|
|
<div class="bottom pa-5 d-flex justify-space-between align-center">
|
|
|
<div>刷新时间:{{ timesTampChange(val.updateTime).slice(0, 10) }} {{ val.expireDay && Number(val.expireDay) >= 1 ? `(${ val.expireDay }天后到期)` : '' }}</div>
|
|
|
<div class="d-flex">
|
|
|
- <div class="ml-10">
|
|
|
- <span class="cursor-pointer" v-if="tab === 1" @click="handleAction(0, '', val)">{{ $t('common.close') }}</span>
|
|
|
- <span class="lines" v-if="tab === 1"></span>
|
|
|
+ <div class="ml-10 d-flex">
|
|
|
+ <div v-if="tab === 1">
|
|
|
+ <span class="cursor-pointer" @click="handleAction(3, '', val)">置顶</span>
|
|
|
+ <span class="lines"></span>
|
|
|
+ <span class="cursor-pointer" @click="handleAction(0, '', val)">{{ $t('common.close') }}</span>
|
|
|
+ <span class="lines"></span>
|
|
|
+ </div>
|
|
|
<span class="cursor-pointer" @click="handleToStatistics">{{ $t('position.recruitmentStatistics') }}</span>
|
|
|
- <span v-if="tab !== 3" class="lines"></span>
|
|
|
- <span v-if="tab !== 3" class="cursor-pointer" @click="handleEdit(val)">{{ $t('common.edit') }}</span>
|
|
|
+ <div v-if="tab !== 3">
|
|
|
+ <span class="lines"></span>
|
|
|
+ <span class="cursor-pointer" @click="handleEdit(val)">{{ $t('common.edit') }}</span>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -63,7 +68,7 @@ defineOptions({ name: 'enterprise-position-item'})
|
|
|
import { defineEmits, ref, watch } from 'vue'
|
|
|
import { useRouter } from 'vue-router'
|
|
|
import { timesTampChange } from '@/utils/date'
|
|
|
-import { closeJobAdvertised, enableJobAdvertised, refreshJobAdvertised } from '@/api/position'
|
|
|
+import { closeJobAdvertised, enableJobAdvertised, refreshJobAdvertised, topJobAdvertised } from '@/api/position'
|
|
|
import Snackbar from '@/plugins/snackbar'
|
|
|
|
|
|
const emit = defineEmits(['refresh'])
|
|
@@ -123,10 +128,11 @@ watch(
|
|
|
const apiList = [
|
|
|
{ api: closeJobAdvertised, desc: '关闭成功' },
|
|
|
{ api: enableJobAdvertised, desc: '激活成功' },
|
|
|
- { api: refreshJobAdvertised, desc: '刷新成功' }
|
|
|
+ { api: refreshJobAdvertised, desc: '刷新成功' },
|
|
|
+ { api: topJobAdvertised, desc: '置顶成功' }
|
|
|
]
|
|
|
|
|
|
-// 职位关闭、激活、刷新
|
|
|
+// 职位关闭、激活、刷新、置顶
|
|
|
const handleAction = async (index, type, { id }) => {
|
|
|
const ids = type ? props.items.filter(e => e.select).map(k => k.id) : [id]
|
|
|
if (!ids.length && !index) return
|