|
|
|
@ -11,17 +11,16 @@
|
|
|
|
:goals="taskGoals"
|
|
|
|
:goals="taskGoals"
|
|
|
|
:requirements="taskRequirement"
|
|
|
|
:requirements="taskRequirement"
|
|
|
|
:show-material="false"
|
|
|
|
:show-material="false"
|
|
|
|
|
|
|
|
:show-toolbar="false"
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
|
|
|
|
|
|
|
|
<section class="task-card">
|
|
|
|
<section class="task-card">
|
|
|
|
<div class="workbench-head workbench-head--actions-only">
|
|
|
|
<div class="workbench-head">
|
|
|
|
<div class="workbench-actions">
|
|
|
|
<div>
|
|
|
|
<TrainingMaterialButton :material-name="taskConfig?.materialName" :material-url="taskConfig?.materialUrl" />
|
|
|
|
<p class="section-eyebrow">Consumer scenario analysis</p>
|
|
|
|
<button type="button" class="outline-action" @click="exportOutcome">
|
|
|
|
<h3>{{ activeStepName || taskTitle }}</h3>
|
|
|
|
<el-icon><Download /></el-icon>
|
|
|
|
|
|
|
|
导出实训成果
|
|
|
|
|
|
|
|
</button>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<TrainingTaskToolbar class="consumer-scenario-toolbar" :task-key="TASK_KEY" :on-export="exportOutcome" />
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<nav v-if="trainingSteps.length" class="step-indicator" aria-label="消费场景解构步骤">
|
|
|
|
<nav v-if="trainingSteps.length" class="step-indicator" aria-label="消费场景解构步骤">
|
|
|
|
@ -258,7 +257,7 @@
|
|
|
|
import { computed, getCurrentInstance, onMounted, ref } from "vue";
|
|
|
|
import { computed, getCurrentInstance, onMounted, ref } from "vue";
|
|
|
|
import { ArrowLeft, ArrowRight, CircleCheck, Download, UploadFilled } from "@element-plus/icons-vue";
|
|
|
|
import { ArrowLeft, ArrowRight, CircleCheck, Download, UploadFilled } from "@element-plus/icons-vue";
|
|
|
|
import TrainingAiSidebar from "@/views/components/TrainingAiSidebar.vue";
|
|
|
|
import TrainingAiSidebar from "@/views/components/TrainingAiSidebar.vue";
|
|
|
|
import TrainingMaterialButton from "@/views/components/TrainingMaterialButton.vue";
|
|
|
|
import TrainingTaskToolbar from "@/views/components/TrainingTaskToolbar.vue";
|
|
|
|
import TrainingTaskBrief from "@/views/components/TrainingTaskBrief.vue";
|
|
|
|
import TrainingTaskBrief from "@/views/components/TrainingTaskBrief.vue";
|
|
|
|
import { getTrainingTaskByKey } from "@/api/trainingTask";
|
|
|
|
import { getTrainingTaskByKey } from "@/api/trainingTask";
|
|
|
|
import { parseTrainingArray } from "@/views/training/taskKeyMap";
|
|
|
|
import { parseTrainingArray } from "@/views/training/taskKeyMap";
|
|
|
|
@ -2264,5 +2263,14 @@ function exportOutcome() {
|
|
|
|
padding-bottom: 0;
|
|
|
|
padding-bottom: 0;
|
|
|
|
border-bottom: 0;
|
|
|
|
border-bottom: 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</style>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.consumer-scenario-toolbar {
|
|
|
|
|
|
|
|
flex: 0 0 auto;
|
|
|
|
|
|
|
|
justify-content: flex-end;
|
|
|
|
|
|
|
|
max-width: 100%;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@media (max-width: 900px) {
|
|
|
|
|
|
|
|
.consumer-scenario-toolbar { width: 100%; justify-content: flex-start; }
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
</style>
|
|
|
|
|