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('更新失败') } }