提交 5ed1f450 authored 作者: 王鹏飞's avatar 王鹏飞

feat: 学生端新增案例原文

上级 8e572b08
......@@ -10,6 +10,11 @@ export function getExperiment(params: { experiment_id: string }) {
return httpRequest.get('/api/lab/v1/student/experiment/detail', { params })
}
// 获取实验案例原文
export function getExperimentCase(params: { experiment_id: string }) {
return httpRequest.get('/api/lab/v1/student/experiment-cases/detail', { params })
}
// 获取实验指导书
export function getExperimentBook(params: { experiment_id: string }) {
return httpRequest.get('/api/lab/v1/student/experiment-book/detail', { params })
......
<script setup lang="ts">
import type { ExperimentBookType } from '../types'
import Preview from '@/components/Preview.vue'
import { getExperimentCase } from '../api'
interface Props {
experiment_id?: string
course_id?: string
}
const props = defineProps<Props>()
let detail = $ref<ExperimentBookType>()
function fetchInfo() {
if (!props.experiment_id) return
getExperimentCase({ experiment_id: props.experiment_id }).then(res => {
detail = res.data.detail
})
}
watchEffect(() => {
fetchInfo()
})
</script>
<template>
<Preview :url="detail.url" v-if="props.experiment_id && detail?.id"></Preview>
<el-empty description="暂无数据" v-else />
</template>
......@@ -11,6 +11,7 @@ import { saveAs } from 'file-saver'
import html2pdf from 'html2pdf.js'
const Info = defineAsyncComponent(() => import('../components/Info.vue'))
const Case = defineAsyncComponent(() => import('../components/Case.vue'))
const Book = defineAsyncComponent(() => import('../components/Book.vue'))
const Video = defineAsyncComponent(() => import('../components/Video.vue'))
const Discuss = defineAsyncComponent(() => import('../components/Discuss.vue'))
......@@ -231,6 +232,9 @@ function handleReportPreviewReady() {
<el-tab-pane label="实验信息" lazy>
<Info :data="experimentInfo"></Info>
</el-tab-pane>
<el-tab-pane label="案例原文" lazy>
<Case :course_id="form.course_id" :experiment_id="form.experiment_id" :key="resizeKey"></Case>
</el-tab-pane>
<el-tab-pane label="实训指导" lazy>
<Book :course_id="form.course_id" :experiment_id="form.experiment_id" :key="resizeKey"></Book>
</el-tab-pane>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论