Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
S
saas-lab
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
saas-lab
Commits
5ed1f450
提交
5ed1f450
authored
1月 31, 2023
作者:
王鹏飞
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: 学生端新增案例原文
上级
8e572b08
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
36 行增加
和
0 行删除
+36
-0
api.ts
src/modules/student/lab/api.ts
+5
-0
Case.vue
src/modules/student/lab/components/Case.vue
+27
-0
Index.vue
src/modules/student/lab/views/Index.vue
+4
-0
没有找到文件。
src/modules/student/lab/api.ts
浏览文件 @
5ed1f450
...
...
@@ -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
})
...
...
src/modules/student/lab/components/Case.vue
0 → 100644
浏览文件 @
5ed1f450
<
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
>
src/modules/student/lab/views/Index.vue
浏览文件 @
5ed1f450
...
...
@@ -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
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论