ソースを参照

个人中心-面试

Xiao_123 9 ヶ月 前
コミット
19a1ee1daf

+ 1 - 1
src/views/recruit/enterprise/elite/components/table.vue

@@ -87,7 +87,7 @@ const headers = ref([
   { title: '状态', key: 'status', sortable: false },
   { title: '状态', key: 'status', sortable: false },
   { title: '操作', value: 'actions', sortable: false }
   { title: '操作', value: 'actions', sortable: false }
 ])
 ])
-const unfit = { title: '类型', key: 'unfitType', sortable: false, value: item => item.type === '0' ? '简历不适' : '面试不适' }
+const unfit = { title: '类型', key: 'unfitType', sortable: false, value: item => item.type === '0' ? '简历不适' : '面试不适' }
 const delivery = { title: '类型', key: 'deliveryType', sortable: false, value: item => item.type === '0' ? '普通职位' : '赏金职位' }
 const delivery = { title: '类型', key: 'deliveryType', sortable: false, value: item => item.type === '0' ? '普通职位' : '赏金职位' }
 
 
 const list = [0, 4]
 const list = [0, 4]

+ 11 - 6
src/views/recruit/personal/PersonalCenter/components/interview/index.vue

@@ -2,13 +2,10 @@
   <div>
   <div>
     <v-divider></v-divider>
     <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-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>
       </v-tabs>
       <div v-if="items.length">
       <div v-if="items.length">
-        <ItemPage :items="items" @refresh="getData"></ItemPage>
+        <ItemPage :items="items" @refresh="getData" :tab="query.status"></ItemPage>
         <CtPagination
         <CtPagination
           v-if="total > 0"
           v-if="total > 0"
           :total="total"
           :total="total"
@@ -27,15 +24,23 @@ defineOptions({ name: 'interview-index'})
 import { ref } from 'vue'
 import { ref } from 'vue'
 import { getUserInterviewInvitePage } from '@/api/recruit/personal/personalCenter'
 import { getUserInterviewInvitePage } from '@/api/recruit/personal/personalCenter'
 import { dealDictObjData } from '@/utils/position'
 import { dealDictObjData } from '@/utils/position'
+import { getDict } from '@/hooks/web/useDictionaries'
 import ItemPage from './item.vue'
 import ItemPage from './item.vue'
 
 
 const query = ref({
 const query = ref({
   pageNo: 1,
   pageNo: 1,
   pageSize: 10,
   pageSize: 10,
-  status: 0
+  status: '0'
 })
 })
 const total = ref(0)
 const total = ref(0)
 const items = ref([])
 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 getData = async () => {
   const { list, total: number } = await getUserInterviewInvitePage(query.value)
   const { list, total: number } = await getUserInterviewInvitePage(query.value)

+ 4 - 0
src/views/recruit/personal/PersonalCenter/components/interview/item.vue

@@ -58,6 +58,10 @@ const props = defineProps({
   items: {
   items: {
     type: Array,
     type: Array,
     default: () => []
     default: () => []
+  },
+  tab: {
+    type: String,
+    default: '0'
   }
   }
 })
 })