Browse Source

加上loading

lifanagju_citu 1 month ago
parent
commit
3d41f0d63f
1 changed files with 28 additions and 22 deletions
  1. 28 22
      src/views/recruit/enterprise/resume/index.vue

+ 28 - 22
src/views/recruit/enterprise/resume/index.vue

@@ -36,7 +36,7 @@
 
     <v-window v-model="tab" class="mt-1">
       <v-window-item v-for="k in tabList" :value="k.value" :key="k.value">
-        <TablePage :items="items" :total="total"  :pageInfo="query" :tab="k.value" :statusList="statusList" @refresh="getList" @page="handleChangePage"></TablePage>
+        <TablePage v-loading="loading" :items="items" :total="total"  :pageInfo="query" :tab="k.value" :statusList="statusList" @refresh="getList" @page="handleChangePage"></TablePage>
       </v-window-item>
     </v-window>
   </v-card>
@@ -92,30 +92,36 @@ getDict('menduner_interview_invite_status').then(({data}) => {
 })
 
 // 获取牛人列表
+const loading = ref(false)
 const items = ref([])
 const getList = async () => {
-  const api = tabList.value[tab.value].api
-  if (tab.value !== 0) {
-    query.value.conversationStatus = tabList.value[tab.value].status
-    delete query.value.status
-    delete query.value.type
+  try {
+    loading.value = true
+    const api = tabList.value[tab.value].api
+    if (tab.value !== 0) {
+      query.value.conversationStatus = tabList.value[tab.value].status
+      delete query.value.status
+      delete query.value.type
+    }
+  
+    const { list, total: number } = await api(query.value)
+    if (!list.length) {
+      items.value = []
+      total.value = 0
+      return
+    }
+    total.value = number
+    items.value = list.map(e => {
+      let obj = e
+      obj.jobClosed = e?.job?.status === '1' || false // 职位已关闭
+      if (e.person) obj.person = Object.assign(e.person, dealDictObjData({}, e.person))
+      obj.job = Object.assign(e.job, dealDictObjData({}, e.job))
+      obj.createTime = timesTampChange(e.createTime, 'Y-M-D h:m')
+      return obj
+    })
+  } finally {
+    loading.value = false
   }
-
-  const { list, total: number } = await api(query.value)
-  if (!list.length) {
-    items.value = []
-    total.value = 0
-    return
-  }
-  total.value = number
-  items.value = list.map(e => {
-    let obj = e
-    obj.jobClosed = e?.job?.status === '1' || false // 职位已关闭
-    if (e.person) obj.person = Object.assign(e.person, dealDictObjData({}, e.person))
-    obj.job = Object.assign(e.job, dealDictObjData({}, e.job))
-    obj.createTime = timesTampChange(e.createTime, 'Y-M-D h:m')
-    return obj
-  })
 }
 // 没有带id时一进来才刷新,带id由组件传值刷新
 if (!route.query?.id) getList()