From 00abe1da154ea98bfde02d07817664bfa9dd7ce8 Mon Sep 17 00:00:00 2001 From: TianyangZhang Date: Wed, 25 Mar 2026 17:01:42 +0800 Subject: [PATCH] =?UTF-8?q?feat(admin):=20=E4=B8=BA=E6=8A=95=E9=80=92?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E9=A1=B5=E9=9D=A2=E6=B7=BB=E5=8A=A0=E5=88=86?= =?UTF-8?q?=E9=A1=B5=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/admin/ApplicationManageView.vue | 37 +++++++++++++++++-- 1 file changed, 33 insertions(+), 4 deletions(-) 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('更新失败') } }