Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
L
learn-online-pc
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
learn-online-pc
Commits
342ee7fa
提交
342ee7fa
authored
4月 21, 2021
作者:
王鹏飞
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
作业互评多条互评一起提交
上级
f2fe6965
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
78 行增加
和
73 行删除
+78
-73
api.js
src/modules/viewer/api.js
+3
-4
chapterWorkComment.vue
src/modules/viewer/components/work/chapterWorkComment.vue
+72
-9
chapterWorkCommentItem.vue
...modules/viewer/components/work/chapterWorkCommentItem.vue
+3
-60
没有找到文件。
src/modules/viewer/api.js
浏览文件 @
342ee7fa
...
...
@@ -173,9 +173,8 @@ export function getChapterHomeworkOtherAll(semesterId, courseId, chapterId, para
}
/**
* 获取课程考试结果
* @param {string} examId 试题ID
* 提交作业互评
*/
export
function
addChapterHomeworkComment
(
examId
,
params
)
{
return
httpRequest
.
post
(
`/api/lms/v2/education/homeworks/comment/
${
examId
}
`
,
params
)
export
function
addChapterHomeworkComment
(
data
)
{
return
httpRequest
.
post
(
'/api/lms/v2/education/homeworks/comment'
,
data
)
}
src/modules/viewer/components/work/chapterWorkComment.vue
浏览文件 @
342ee7fa
<
template
>
<container
:title=
"$t('viewerWork.commentTitle')"
>
<chapter-work-comment-item
v-for=
"(item, index) in list"
:data=
"item"
:key=
"item.id"
:index=
"index"
v-bind=
"$attrs"
@
update=
"getList"
/>
<template
v-for=
"(item, index) in list"
>
<el-form
:disabled=
"disabled"
:key=
"item.id"
ref=
"form"
:model=
"item"
:rules=
"rules"
>
<el-form-item
:label=
"$t('viewerWork.commentMyTitle')"
prop=
"comment"
>
<chapter-work-comment-item
:data=
"item"
:key=
"item.id"
:index=
"index"
:endDate=
"endDate"
/>
</el-form-item
></el-form>
</
template
>
<div
class=
"button"
>
<el-button
type=
"primary"
:disabled=
"disabled"
@
click=
"handleSubmit"
>
{{
$t('viewerWork.commentSubmitText')
}}
</el-button>
<p>
{{ $t('viewerWork.commentSubmitTips', { date: endDate }) }}
</p>
</div>
<div
class=
"more"
>
<router-link
:to=
"`${$route.path}/answers`"
target=
"_blank"
>
<el-button
round
>
{{ $t('viewerWork.answerMoreButtonText') }}
</el-button>
...
...
@@ -25,9 +30,13 @@ import ChapterWorkCommentItem from './chapterWorkCommentItem.vue'
export
default
{
components
:
{
Container
,
ChapterWorkCommentItem
},
props
:
{
endDate
:
{
type
:
String
}
},
data
()
{
return
{
list
:
[]
list
:
[],
rules
:
{
comment
:
[{
required
:
true
,
message
:
'请输入评价内容'
,
trigger
:
'blur'
}]
}
}
},
computed
:
{
...
...
@@ -42,6 +51,16 @@ export default {
// 当前页面的ID
pid
()
{
return
this
.
$route
.
params
.
id
},
isSubmitTime
()
{
// 大于开始时间,小于结束时间
const
endTime
=
+
new
Date
(
this
.
endDate
)
const
currentTime
=
new
Date
().
getTime
()
return
currentTime
<
endTime
},
// 是否禁用
disabled
()
{
return
!
this
.
isSubmitTime
}
},
methods
:
{
...
...
@@ -49,6 +68,43 @@ export default {
api
.
getChapterHomeworkOther
(
this
.
sid
,
this
.
cid
,
this
.
pid
).
then
(
response
=>
{
this
.
list
=
response
})
},
// 提交校验
checkSubmit
()
{
let
result
=
true
for
(
let
i
=
0
;
i
<
this
.
list
.
length
;
i
++
)
{
this
.
$refs
.
form
[
i
].
validate
(
valid
=>
{
if
(
!
valid
)
{
result
=
valid
return
result
}
})
}
return
result
},
// 提交评价
handleSubmit
()
{
// 校验
if
(
!
this
.
checkSubmit
())
{
this
.
messageInstance
&&
this
.
messageInstance
.
close
()
this
.
messageInstance
=
this
.
$message
.
error
(
this
.
$t
(
'viewerWork.examSubmitError'
))
return
}
this
.
handleSubmitReqeuest
()
},
handleSubmitReqeuest
()
{
const
params
=
this
.
list
.
map
(({
id
,
comment
})
=>
{
return
{
id
,
comment
}
})
api
.
addChapterHomeworkComment
(
params
)
.
then
(
response
=>
{
this
.
$message
({
type
:
'success'
,
message
:
response
.
message
})
this
.
getList
()
})
.
catch
(
error
=>
{
this
.
$message
({
type
:
'error'
,
message
:
error
.
message
})
})
}
},
beforeMount
()
{
...
...
@@ -62,4 +118,11 @@ export default {
text-align
:
center
;
padding-top
:
40px
;
}
.button
{
display
:
flex
;
align-items
:
center
;
p
{
padding-left
:
20px
;
}
}
</
style
>
src/modules/viewer/components/work/chapterWorkCommentItem.vue
浏览文件 @
342ee7fa
<
template
>
<chapter-work-answer-item
:data=
"data"
:key=
"data.id"
v-bind=
"$attrs"
>
<el-form
:model=
"ruleForm"
:rules=
"rules"
:hide-required-asterisk=
"true"
label-position=
"top"
ref=
"ruleForm"
>
<el-form-item
:label=
"$t('viewerWork.commentMyTitle')"
prop=
"comment"
>
<v-editor
v-model=
"ruleForm.comment"
:disabled=
"disabled"
></v-editor>
</el-form-item>
<el-form-item>
<div
class=
"button"
>
<el-button
type=
"primary"
:disabled=
"disabled"
@
click=
"handleSubmit"
>
{{
$t
(
'viewerWork.commentSubmitText'
)
}}
</el-button>
<p>
{{
$t
(
'viewerWork.commentSubmitTips'
,
{
date
:
endDate
}
)
}}
<
/p
>
<
/div
>
<
/el-form-item
>
<
/el-form
>
<v-editor
v-model=
"data.comment"
:disabled=
"disabled"
></v-editor>
</chapter-work-answer-item>
</
template
>
<
script
>
// api
import
*
as
api
from
'../../api'
// componets
import
ChapterWorkAnswerItem
from
'./chapterWorkAnswerItem.vue'
import
VEditor
from
'@/components/ckeditor'
export
default
{
props
:
{
endDate
:
{
type
:
String
}
,
data
:
{
type
:
Object
,
default
:
()
=>
({
}
)
}
}
,
props
:
{
endDate
:
{
type
:
String
},
data
:
{
type
:
Object
,
default
:
()
=>
({})
}
,
disabled
:
{
type
:
Boolean
}
},
components
:
{
ChapterWorkAnswerItem
,
VEditor
},
data
()
{
return
{
ruleForm
:
{
comment
:
this
.
data
.
comment
}
,
rules
:
{
comment
:
[
{
required
:
true
,
message
:
'请输入评价内容'
,
trigger
:
'blur'
}
,
{
max
:
1000
,
message
:
'最多输入1000个字符'
,
trigger
:
'blur'
}
]
}
}
}
,
computed
:
{
isSubmitTime
()
{
// 大于开始时间,小于结束时间
const
endTime
=
+
new
Date
(
this
.
endDate
)
const
currentTime
=
new
Date
().
getTime
()
return
currentTime
<
endTime
}
,
// 是否禁用
disabled
()
{
return
!
this
.
isSubmitTime
// return false
}
}
,
methods
:
{
// 提交评价
handleSubmit
()
{
this
.
$refs
.
ruleForm
.
validate
().
then
(
this
.
handleSubmitReqeuest
)
}
,
handleSubmitReqeuest
()
{
api
.
addChapterHomeworkComment
(
this
.
data
.
id
,
this
.
ruleForm
).
then
(
response
=>
{
this
.
$message
({
type
:
'success'
,
message
:
response
.
message
}
)
this
.
$emit
(
'update'
)
}
)
}
return
{}
}
}
</
script
>
<
style
lang
=
"scss"
scoped
>
.
button
{
display
:
flex
;
align
-
items
:
center
;
p
{
padding
-
left
:
20
px
;
}
}
<
/style
>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论