diff --git a/offer_frontend/src/views/admin/JobManageView.vue b/offer_frontend/src/views/admin/JobManageView.vue
index bbdd9e1..da7e394 100644
--- a/offer_frontend/src/views/admin/JobManageView.vue
+++ b/offer_frontend/src/views/admin/JobManageView.vue
@@ -23,6 +23,15 @@
+
+
+
@@ -78,12 +87,22 @@ const form = reactive({
title: '', category: '', location: '', salary: '',
description: '', status: 'draft', organization_id: null
})
+const currentPage = ref(1)
+const pageSize = ref(20)
+const total = ref(0)
-const fetchJobs = async () => {
+const fetchJobs = async (page = 1) => {
loading.value = true
- const { data } = await manageJobs()
- jobs.value = data.results
- loading.value = false
+ try {
+ const { data } = await manageJobs(page)
+ jobs.value = data.results
+ total.value = data.count
+ currentPage.value = page
+ } catch (error) {
+ ElMessage.error('加载职位列表失败,请重试')
+ } finally {
+ loading.value = false
+ }
}
const fetchOrgs = async () => {
@@ -112,6 +131,10 @@ function openDialog(job = null) {
dialogVisible.value = true
}
+function handlePageChange(newPage) {
+ fetchJobs(newPage)
+}
+
async function handleSave() {
if (auth.isSuperAdmin && !form.organization_id) {
return ElMessage.warning('请选择所属公司')
@@ -124,7 +147,7 @@ async function handleSave() {
else await createJob(payload)
ElMessage.success('保存成功')
dialogVisible.value = false
- fetchJobs()
+ fetchJobs(1)
} catch (e) {
ElMessage.error(e.response?.data?.detail || '保存失败')
} finally {
@@ -136,7 +159,7 @@ async function handleDelete(id) {
await ElMessageBox.confirm('确认删除该职位?', '提示', { type: 'warning' })
await deleteJob(id)
ElMessage.success('已删除')
- fetchJobs()
+ fetchJobs(1)
}
onMounted(() => {