feat: show class task names in allocation

dev-QQq
chenyuan 1 month ago
parent db23846b88
commit 37f99be8a4

@ -32,7 +32,7 @@
</template> </template>
<script setup> <script setup>
import { listTrainingTasks } from "@/api/trainingTask"; import { listClassTrainingTasks } from "@/api/trainingTask";
import * as indexApi from "@/api/teacher"; import * as indexApi from "@/api/teacher";
import useUserStore from "@/store/modules/user"; import useUserStore from "@/store/modules/user";
@ -59,7 +59,11 @@ async function loadClasses() {
} }
async function loadTasks() { async function loadTasks() {
const res = await listTrainingTasks({ enabledOnly: false }); if (!classId.value) {
tasks.value = [];
return;
}
const res = await listClassTrainingTasks(classId.value, { enabledOnly: false });
tasks.value = res.data || []; tasks.value = res.data || [];
} }
@ -77,6 +81,7 @@ async function loadPublication() {
if (!classId.value) return; if (!classId.value) return;
loading.value = true; loading.value = true;
try { try {
await loadTasks();
const res = await indexApi.getTaskPublication({ classId: classId.value }); const res = await indexApi.getTaskPublication({ classId: classId.value });
configured.value = res.data?.configured === true; configured.value = res.data?.configured === true;
selectedTaskKeys.value = configured.value selectedTaskKeys.value = configured.value
@ -113,7 +118,7 @@ async function savePublication() {
onMounted(async () => { onMounted(async () => {
loading.value = true; loading.value = true;
try { try {
await Promise.all([loadClasses(), loadTasks()]); await loadClasses();
await loadPublication(); await loadPublication();
} finally { } finally {
loading.value = false; loading.value = false;

@ -8,7 +8,9 @@ const taskPage = read("src/views/teacherEnd/task/index.vue");
const sidebar = read("src/layout/components/Sidebar/index.vue"); const sidebar = read("src/layout/components/Sidebar/index.vue");
const api = read("src/api/teacher.js"); const api = read("src/api/teacher.js");
assert(taskPage.includes("listTrainingTasks"), "task allocation must use training tasks as its data source"); assert(taskPage.includes("listClassTrainingTasks"), "task allocation must use training tasks as its data source");
assert(taskPage.includes("listClassTrainingTasks"), "task allocation must load training tasks for the selected teaching class");
assert(taskPage.includes("await listClassTrainingTasks(classId.value, { enabledOnly: false })"), "class task loading must request disabled and enabled tasks");
assert(taskPage.includes("getTaskPublication"), "task allocation must load the selected class publication state"); assert(taskPage.includes("getTaskPublication"), "task allocation must load the selected class publication state");
assert(taskPage.includes("tasks.value.map((task) => task.taskKey)"), "an unconfigured class must default to all tasks selected"); assert(taskPage.includes("tasks.value.map((task) => task.taskKey)"), "an unconfigured class must default to all tasks selected");
assert(taskPage.includes("保存发布配置"), "task allocation must require an explicit save"); assert(taskPage.includes("保存发布配置"), "task allocation must require an explicit save");

Loading…
Cancel
Save