合并pingcode上的bug

This commit is contained in:
zhangsir
2024-08-05 17:56:54 +08:00
parent 94702ea288
commit b38f32f6dd
2 changed files with 140 additions and 133 deletions

View File

@@ -1,61 +1,61 @@
<template>
<div>
<div v-if="has" class="homework-div">
<div>
<div class="homework-title">作业名称</div>
<div class="homework-content">{{info.name}}</div>
</div>
<div>
<div class="homework-title">内容</div>
<div class="homework-content">{{info.content}}</div>
</div>
<div v-if="info.file">
<div class="homework-title">附件</div>
<div class="homework-content" style="color: blue">
<a :href="fileBaseUrl+info.file" target="_blank">下载作业附件</a></div>
</div>
<div>
<div class="homework-title">截止时间</div>
<div class="homework-content" :style="{color:close? 'red':''}">{{info.deadTime}}</div>
</div>
<div v-show="!close && showSubmit">
<div v-if="info.submitMode>1">
<div class="homework-title">作业内容</div>
<div class="homework-content">
<el-input type="textarea" rows="5" show-word-limit maxlength="255" v-model="answer" placeholder="(限255个字)"></el-input>
<div>
<div v-if="has" class="homework-div">
<div>
<div class="homework-title">作业名称</div>
<div class="homework-content">{{info.name}}</div>
</div>
<div>
<div class="homework-title">内容</div>
<div class="homework-content">{{info.content}}</div>
</div>
<div v-if="info.file">
<div class="homework-title">附件</div>
<div class="homework-content" style="color: blue">
<a :href="fileBaseUrl+info.file" target="_blank">下载作业附件</a></div>
</div>
<div>
<div class="homework-title">截止时间</div>
<div class="homework-content" :style="{color:close? 'red':''}">{{info.deadTime}}</div>
</div>
<div v-show="!close && showSubmit">
<div v-if="info.submitMode>1">
<div class="homework-title">作业内容</div>
<div class="homework-content">
<el-input type="textarea" rows="5" show-word-limit maxlength="255" v-model="answer" placeholder="(限255个字)"></el-input>
</div>
</div>
<div v-if="info.submitMode==1 || info.submitMode==3">
<div class="homework-title">上传作业</div>
<div class="homework-content">
<div v-if="filePath!=''">
<el-tag closable type="success" @close="removeHomeworkFile">作业附件</el-tag><span style="margin-left: 10px;">请点击下面的提交</span>
</div>
<div v-else >
<file-upload dir="files" :isShowTip="false" @success="uploadHomeworkFile" @remove="removeHomeworkFile"></file-upload>
</div>
</div>
</div>
<div style="text-align: center;padding-bottom: 10px;">
<el-button type="primary" @click="submitHomework()">{{records.length>0?'重新提交':'提交'}}</el-button>
</div>
</div>
<div v-show="showRecord"><!--作业提交记录-->
<el-table :data="records" style="width: 100%" border>
<el-table-column prop="endTime" label="提交时间" width="100" align="center"></el-table-column>
<el-table-column label="内容">
<template slot-scope="scope">
<div>{{scope.row.hwAnswer}}</div>
<div style="padding-top: 5px;" v-if="scope.row.filePath!=''">
<a :href="fileBaseUrl+scope.row.filePath" target="_blank">下载上传的作业文件</a>
</div>
</template>
</el-table-column>
</el-table>
</div>
</div>
<div v-else style="text-align: center;padding-top: 20px;color: red;">此课程无作业</div>
</div>
</div>
<div v-if="info.submitMode==1 || info.submitMode==3">
<div class="homework-title">上传作业</div>
<div class="homework-content">
<div v-if="filePath!=''">
<el-tag closable type="success" @close="removeHomeworkFile">作业附件</el-tag><span style="margin-left: 10px;">请点击下面的提交</span>
</div>
<div v-else >
<file-upload dir="files" :isShowTip="false" @success="uploadHomeworkFile" @remove="removeHomeworkFile"></file-upload>
</div>
</div>
</div>
<div style="text-align: center;padding-bottom: 10px;">
<el-button type="primary" :disabled="isSubmit" @click="submitHomework()">{{records.length>0?'重新提交':'提交'}}</el-button>
</div>
</div>
<div v-show="showRecord"><!--作业提交记录-->
<el-table :data="records" style="width: 100%" border>
<el-table-column prop="endTime" label="提交时间" width="100" align="center"></el-table-column>
<el-table-column label="内容">
<template slot-scope="scope">
<div>{{scope.row.hwAnswer}}</div>
<div style="padding-top: 5px;" v-if="scope.row.filePath!=''">
<a :href="fileBaseUrl+scope.row.filePath" target="_blank">下载上传的作业文件</a>
</div>
</template>
</el-table-column>
</el-table>
</div>
</div>
<div v-else style="text-align: center;padding-top: 20px;color: red;">此课程无作业</div>
</div>
</template>
<script>
@@ -65,21 +65,21 @@ import FileUpload from '@/components/FileUpload/index.vue';
export default {
components: { FileUpload },
props:{
studyId: {
type: String,
},
showRecord:{
type:Boolean,
default:true
},
showSubmit:{
type:Boolean,
default:true
},
content: {
type: Object,
default:()=>{}
}
studyId: {
type: String,
},
showRecord:{
type:Boolean,
default:true
},
showSubmit:{
type:Boolean,
default:true
},
content: {
type: Object,
default:()=>{}
}
},
data() {
return {
@@ -87,10 +87,12 @@ export default {
has:true,
info:{},
studyItemId:'',
studyItemIdOnce: '',
filePath:'',
answer:'',
close:false,
records:[],//作业记录
isSubmit:false,
};
},
mounted() {
@@ -104,26 +106,26 @@ export default {
methods: {
loadHomeworkInfo(){
apiCourse.getHomework(this.content.id).then(res=>{
if(res.status==200){
this.info=res.result;
//检查是否过期
if(res.result.deadTime!=''){
var d = new Date(res.result.deadTime);
var now=new Date();
if(now.getTime() > d.getTime()){
this.close=true;
} else {
this.close=false;
}
if(res.status==200){
this.info=res.result;
//检查是否过期
if(res.result.deadTime!=''){
var d = new Date(res.result.deadTime);
var now=new Date();
if(now.getTime() > d.getTime()){
this.close=true;
} else {
this.close=false;
}
if(!this.showTest && this.showRecord){
this.loadRecord();
}
}else if(res.status==404){
//没有找到作业信息
}else{
this.$message.error(res.message);
}
}
if(!this.showTest && this.showRecord){
this.loadRecord();
}
}else if(res.status==404){
//没有找到作业信息
}else{
this.$message.error(res.message);
}
});
//
},
@@ -134,7 +136,11 @@ export default {
}
apiCourseStudy.myHomeworkList(params).then(rs=>{
if(rs.status==200){
this.studyItemId = ''
this.records=rs.result;
if(rs.result.length>0){
this.studyItemIdOnce = rs.result[rs.result.length - 1].id;
}
}
})
},
@@ -143,15 +149,15 @@ export default {
this.filePath = res.result.filePath;
},
removeHomeworkFile(){
this.$confirm('您确定要删除已上传的附件吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.filePath='';
//从服务器端删除
this.$message({ type: 'success', message: '删除成功!' });
})
this.$confirm('您确定要删除已上传的附件吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.filePath='';
//从服务器端删除
this.$message({ type: 'success', message: '删除成功!' });
})
},
submitHomework() {//提交作业
@@ -171,9 +177,9 @@ export default {
return;
}
}
this.isSubmit = true
let pamars = {
studyItemId: this.studyItemId,//学习内容记录id,
studyItemId: this.studyItemId || this.studyItemIdOnce,//学习内容记录id,
studyId: this.studyId,//学习id,
courseId: this.content.courseId,//课程id,
contentId: this.content.id,//内容id,
@@ -185,16 +191,17 @@ export default {
score: 0
}
apiCourseStudy.saveHomework(pamars).then(res=>{
if(res.status==200){
this.$message.success("作业已提交");
this.filePath='';
this.answer='';
this.studyItemId=res.result.id;
this.records=[res.result];
this.$emit("submit", this.content);
}else {
this.$message.error(res.message);
}
this.isSubmit = false
if(res.status==200){
this.$message.success("作业已提交");
this.filePath='';
this.answer='';
this.studyItemId=res.result.id;
this.records=[res.result];
this.$emit("submit", this.content);
}else {
this.$message.error(res.message);
}
})
},
@@ -203,27 +210,27 @@ export default {
</script>
<style scoped lang="scss">
.homework-div {
border: 1px solid #dadada;
min-height: 500px;
padding: 20px;
font-size: 14px;
display: flex;
flex-direction: column;
align-items: flex-start;
>div{
width: 100%;
text-align: left;
.homework-title {
margin-bottom: 10px;
font-weight: 600;
}
.homework-content {
color: #666;
margin-bottom: 10px;
width: 100%;
}
.homework-div {
border: 1px solid #dadada;
min-height: 500px;
padding: 20px;
font-size: 14px;
display: flex;
flex-direction: column;
align-items: flex-start;
>div{
width: 100%;
text-align: left;
.homework-title {
margin-bottom: 10px;
font-weight: 600;
}
.homework-content {
color: #666;
margin-bottom: 10px;
width: 100%;
}
}
}
</style>

View File

@@ -1049,7 +1049,7 @@
this.cwareChange.curriculumData = deepClone(this.cware.curriculumData)
}
}else if(index==2){
this.homework.content.contentName = this.homework.info.name
this.homework.content.contentName = this.homework.info.name || '作业'
postData.content=this.homework.content;
postData.homework=this.homework.info;
this.homeworkChange = deepClone(this.homework)