|
|
@@ -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;
|
|
|
}
|
|
|
|