wuzhen před 1 rokem
rodič
revize
b2cc3df51e
1 změnil soubory, kde provedl 13 přidání a 1 odebrání
  1. 13 1
      web/src/views/jcbt/workstudy/Application/index.vue

+ 13 - 1
web/src/views/jcbt/workstudy/Application/index.vue

@@ -171,6 +171,9 @@
         @cancel="applyDialogVisible = false"
       />
     </el-dialog>
+
+    <!-- 申请详情对话框(复用组件) -->
+    <ApplicationDetail ref="applicationDetailRef" />
   </div>
 </template>
 
@@ -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;
   }