|
@@ -2,13 +2,10 @@
|
|
|
<div>
|
|
|
<v-divider></v-divider>
|
|
|
<v-tabs class="mb-3" v-model="query.status" align-tabs="start" color="primary" bg-color="#fff" @update:model-value="handleUpdate">
|
|
|
- <v-tab :value="0">待接受</v-tab>
|
|
|
- <v-tab :value="1">待面试</v-tab>
|
|
|
- <v-tab :value="3">已完成</v-tab>
|
|
|
- <v-tab :value="98">已拒绝</v-tab>
|
|
|
+ <v-tab v-for="val in tabList" :key="val.value" :value="val.value">{{ val.label }}</v-tab>
|
|
|
</v-tabs>
|
|
|
<div v-if="items.length">
|
|
|
- <ItemPage :items="items" @refresh="getData"></ItemPage>
|
|
|
+ <ItemPage :items="items" @refresh="getData" :tab="query.status"></ItemPage>
|
|
|
<CtPagination
|
|
|
v-if="total > 0"
|
|
|
:total="total"
|
|
@@ -27,15 +24,23 @@ defineOptions({ name: 'interview-index'})
|
|
|
import { ref } from 'vue'
|
|
|
import { getUserInterviewInvitePage } from '@/api/recruit/personal/personalCenter'
|
|
|
import { dealDictObjData } from '@/utils/position'
|
|
|
+import { getDict } from '@/hooks/web/useDictionaries'
|
|
|
import ItemPage from './item.vue'
|
|
|
|
|
|
const query = ref({
|
|
|
pageNo: 1,
|
|
|
pageSize: 10,
|
|
|
- status: 0
|
|
|
+ status: '0'
|
|
|
})
|
|
|
const total = ref(0)
|
|
|
const items = ref([])
|
|
|
+const tabList = ref([])
|
|
|
+
|
|
|
+const getTabList = async () => {
|
|
|
+ const { data } = await getDict('menduner_interview_invite_status')
|
|
|
+ tabList.value = data
|
|
|
+}
|
|
|
+getTabList()
|
|
|
|
|
|
const getData = async () => {
|
|
|
const { list, total: number } = await getUserInterviewInvitePage(query.value)
|