diff --git a/offer_frontend/src/views/admin/ApplicationManageView.vue b/offer_frontend/src/views/admin/ApplicationManageView.vue
index c377a39..01ca927 100644
--- a/offer_frontend/src/views/admin/ApplicationManageView.vue
+++ b/offer_frontend/src/views/admin/ApplicationManageView.vue
@@ -25,6 +25,16 @@
+
+
+
+
@@ -104,6 +114,9 @@ const applications = ref([])
const loading = ref(false)
const resumeVisible = ref(false)
const currentResume = ref(null)
+const currentPage = ref(1)
+const pageSize = ref(20)
+const total = ref(0)
const genderMap = {
'male': '男',
@@ -112,17 +125,33 @@ const genderMap = {
'': '-'
}
-onMounted(async () => {
+const fetchApplications = async (page = 1) => {
loading.value = true
- const { data } = await getManageApplications()
- applications.value = data.results
- loading.value = false
+ try {
+ const { data } = await getManageApplications({ page })
+ applications.value = data.results
+ total.value = data.count
+ currentPage.value = page
+ } catch (error) {
+ ElMessage.error('加载投递列表失败,请重试')
+ } finally {
+ loading.value = false
+ }
+}
+
+function handlePageChange(newPage) {
+ fetchApplications(newPage)
+}
+
+onMounted(() => {
+ fetchApplications()
})
async function updateStatus(row) {
try {
await updateApplicationStatus(row.id, { status: row.status })
ElMessage.success('状态已更新,求职者将收到邮件通知')
+ fetchApplications(currentPage.value)
} catch { ElMessage.error('更新失败') }
}