feat: 新增重置控制端的功能;前端可以显示提交记录 fix: 修复资源数据库sha256计算问题;修复资源数据库无法上传的问题
This commit is contained in:
@@ -161,17 +161,17 @@
|
||||
>
|
||||
暂无提交记录
|
||||
</div>
|
||||
<div v-else class="overflow-y-auto">
|
||||
<div v-else class="overflow-y-auto fit-content max-h-50">
|
||||
<ul class="steps steps-vertical">
|
||||
<li
|
||||
class="step"
|
||||
:class="{ 'step-primary': _idx === 1 }"
|
||||
v-for="(commit, _idx) in commitsList.slice(0, 3)"
|
||||
:class="{
|
||||
'step-primary': _idx === commitsList.length - 1,
|
||||
}"
|
||||
v-for="(commit, _idx) in commitsList"
|
||||
>
|
||||
{{ commit.id }} ---
|
||||
{{ commit.uploadTime.toDateString() }}
|
||||
{{ commit.uploadTime.toTimeString() }}
|
||||
</li>
|
||||
<li class="step" v-if="commitsList.length > 3">......</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@@ -214,7 +214,9 @@
|
||||
ref="uploadModal"
|
||||
class="fixed z-auto"
|
||||
:auto-upload="true"
|
||||
:close-after-upload="true"
|
||||
:callback="submitExam"
|
||||
@finished-upload="handleSubmitFinished"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
@@ -234,11 +236,12 @@ import { useRouter } from "vue-router";
|
||||
import { formatDate } from "@/utils/Common";
|
||||
import { computed } from "vue";
|
||||
import { watch } from "vue";
|
||||
import { isNull, isUndefined } from "lodash";
|
||||
import { delay, isNull, isUndefined } from "lodash";
|
||||
import { Download, GitGraph, Smile, Upload, XIcon } from "lucide-vue-next";
|
||||
import UploadModal from "@/components/UploadModal.vue";
|
||||
import { templateRef } from "@vueuse/core";
|
||||
import { toFileParameter } from "@/utils/Common";
|
||||
import { onMounted } from "vue";
|
||||
|
||||
const alertStore = useRequiredInjection(useAlertStore);
|
||||
const router = useRouter();
|
||||
@@ -259,11 +262,23 @@ async function updateCommits() {
|
||||
const list = await client.getCommitsByExamId(props.selectedExam.id);
|
||||
commitsList.value = list;
|
||||
}
|
||||
watch(() => props.selectedExam, updateCommits);
|
||||
watch(
|
||||
() => show.value,
|
||||
() => {
|
||||
if (show.value) {
|
||||
updateCommits();
|
||||
}
|
||||
},
|
||||
);
|
||||
onMounted(() => {
|
||||
if (show.value) {
|
||||
updateCommits();
|
||||
}
|
||||
});
|
||||
|
||||
// Download resources
|
||||
const downloadingResources = ref(false);
|
||||
const downloadResources = async () => {
|
||||
async function downloadResources() {
|
||||
if (!props.selectedExam || downloadingResources.value) return;
|
||||
|
||||
downloadingResources.value = true;
|
||||
@@ -311,10 +326,10 @@ const downloadResources = async () => {
|
||||
} finally {
|
||||
downloadingResources.value = false;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
// 开始实验
|
||||
const startExam = () => {
|
||||
function startExam() {
|
||||
if (props.selectedExam) {
|
||||
// 跳转到项目页面,传递实验ID
|
||||
console.log("开始实验:", props.selectedExam.id);
|
||||
@@ -323,9 +338,9 @@ const startExam = () => {
|
||||
query: { examId: props.selectedExam.id },
|
||||
});
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
const submitExam = (files: File[]) => {
|
||||
function submitExam(files: File[]) {
|
||||
try {
|
||||
const client = AuthManager.createClient(ResourceClient);
|
||||
|
||||
@@ -341,11 +356,17 @@ const submitExam = (files: File[]) => {
|
||||
alertStore.error(err.message || "上传资料失败");
|
||||
console.error("上传资料失败:", err);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
const closeExamDetail = () => {
|
||||
async function handleSubmitFinished() {
|
||||
delay(async () => {
|
||||
await updateCommits();
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
function closeExamDetail() {
|
||||
show.value = false;
|
||||
};
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="postcss" scoped></style>
|
||||
|
||||
Reference in New Issue
Block a user