diff --git a/src/oj/submission/components/SubmissionLink.vue b/src/oj/submission/components/SubmissionLink.vue index 058ca4e..d2e332f 100644 --- a/src/oj/submission/components/SubmissionLink.vue +++ b/src/oj/submission/components/SubmissionLink.vue @@ -26,6 +26,6 @@ const props = defineProps() defineEmits(["showCode"]) function goto() { - router.push("/submission/" + props.submission.id) + window.open("/submission/" + props.submission.id, "_blank") } diff --git a/src/oj/submission/list.vue b/src/oj/submission/list.vue index 0474a79..190183e 100644 --- a/src/oj/submission/list.vue +++ b/src/oj/submission/list.vue @@ -109,14 +109,15 @@ async function rejudge(submissionID: string) { function problemClicked(row: Submission) { if (route.name === "contest submissions") { - router.push({ + const path = router.resolve({ name: "contest problem", params: { problemID: row.problem, }, }) + window.open(path.href, "_blank") } else { - router.push("/problem/" + row.problem) + window.open("/problem/" + row.problem, "_blank") } } @@ -225,7 +226,7 @@ const columns = computed(() => { h( ButtonWithSearch, { - onClick: () => router.push("/user?name=" + row.username), + onClick: () => window.open("/user?name=" + row.username, "_blank"), onSearch: () => (query.username = row.username), }, () => row.username,