diff --git a/web/src/views/jcbt/workstudy/Application/index.vue b/web/src/views/jcbt/workstudy/Application/index.vue index f3ea20fa..e5da76b0 100644 --- a/web/src/views/jcbt/workstudy/Application/index.vue +++ b/web/src/views/jcbt/workstudy/Application/index.vue @@ -171,6 +171,9 @@ @cancel="applyDialogVisible = false" /> + + + @@ -183,12 +186,14 @@ import type { WorkStudyPositionVO } from '@/api/jcbt/workStudyPosition'; import { getStudentApplicationStatusList } from '@/api/jcbt/workStudyApplication'; import PositionDetail from './detail.vue'; import ApplicationForm from './form.vue'; +import ApplicationDetail from './components/ApplicationDetail.vue'; const router = useRouter(); // 组件引用 const queryFormRef = ref(); const tableRef = ref(); +const applicationDetailRef = ref(); // 响应式数据 const loading = ref(false); @@ -313,7 +318,14 @@ const handleApply = (position: WorkStudyPositionVO) => { // 如果已有申请且状态为已提交或审核中,跳转到申请管理页面 if (application && ['submitted', 'college_reviewing', 'final_reviewing'].includes(application.status)) { - router.push('/jcbt/workstudy/my-applications'); + const id = application?.applicationId || application?.id; + if (id && applicationDetailRef.value) { + applicationDetailRef.value.handleDetail(id, 'application'); + } else { + // 回退到岗位详情对话框 + selectedPositionId.value = position.id as number; + detailDialogVisible.value = true; + } return; }