This commit is contained in:
2024-09-11 16:35:25 +08:00
2 changed files with 105 additions and 16 deletions

View File

@@ -121,24 +121,29 @@
<el-radio :label="1">包含</el-radio>
<el-radio :label="0">不包含</el-radio>
</el-radio-group>
<div class="flexBox">
</el-form-item>
<div class="flexBox" v-show="ClassModelForm.isExam == 1">
<div>
<el-form-item label="" prop="examScore" label-width="10">
<el-input
type="number"
v-show="ClassModelForm.isExam == 1"
v-model="ClassModelForm.examScore"
><template slot="append">% 分数占比</template></el-input
><template slot="append"><span style="color:red">*</span>分数占比%</template></el-input
>
</el-form-item>
</div>
<div style="padding-left:10px">
<div >
<el-form-item label="" prop="examDays" label-width="20">
<el-input
type="number"
@focus="showExameDays = false"
v-show="ClassModelForm.isExam == 1"
v-model="ClassModelForm.examDays"
:disabled="classModel && classModel.id ? true : false"
><template slot="append">考试周期</template></el-input
><template slot="append"><span style="color:red">*</span>考试周期</template></el-input
>
</el-form-item>
<div v-show="showExameDays && ClassModelForm.isExam == 1">
<span
style="color:red; font-size :12px; display: inline;"
@@ -147,7 +152,49 @@
</div>
</div>
</div>
</el-form-item>
<div class="flexBox " v-show="ClassModelForm.isExam == 1" >
<div>
<el-form-item label="" prop="singleChoice" label-width="10">
<el-input
type="number"
v-model="ClassModelForm.singleChoice"
:disabled="classModel && classModel.id ? true : false"
><template slot="append"><span style="color:red">*</span>单选题</template></el-input
>
</el-form-item>
</div>
<div>
<el-form-item label="" prop="multipleChoice" label-width="10">
<el-input
type="number"
v-model="ClassModelForm.multipleChoice"
:disabled="classModel && classModel.id ? true : false"
><template slot="append"><span style="color:red">*</span>多选题</template></el-input
>
</el-form-item>
</div>
</div>
<div class="flexBox " v-show="ClassModelForm.isExam == 1" >
<div style="width:100%">
<el-form-item label="" prop="examTime" label-width="0">
<el-input
type="number"
v-model="ClassModelForm.examTime"
:disabled="classModel && classModel.id ? true : false"
><template slot="append"><span style="color:red">*</span>考试时间分钟</template></el-input
>
</el-form-item>
</div>
<!-- <div style="padding-left:10px">
<el-input
type="number"
v-model="ClassModelForm.multipleChoice"
:disabled="classModel && classModel.id ? true : false"
><template slot="append">多选题</template></el-input
>
</div> -->
</div>
</div>
<div style="margin:15px 0; font-size:14px; color:#606266">
课程设置: <span style="color:red">*</span>
@@ -286,7 +333,13 @@ export default {
ClassModelRules: {
title: [{ required: true, message: "必填项", trigger: "blur" }],
courseIds: [{ required: true, message: "必填项", trigger: "blur" }],
days: [{ required: true, message: "必填项", trigger: "blur" }]
days: [{ required: true, message: "必填项", trigger: "blur" }],
isExam: [{ required: true, message: "必填项", trigger: "blur" }],
examScore: [{ required: true, message: "必填项", trigger: "blur" }],
examDays: [{ required: true, message: "必填项", trigger: "blur" }],
singleChoice: [{ required: true, message: "必填项", trigger: "blur" }],
multipleChoice: [{ required: true, message: "必填项", trigger: "blur" }],
examTime: [{ required: true, message: "必填项", trigger: "blur" }],
},
remoteMethodLoading: false,
ClassModelForm: {
@@ -308,7 +361,11 @@ export default {
experienceScore: 10,
examScore: 60,
isExam: 1,
examDays: undefined // 考试天数
examDays: undefined, // 考试天数
singleChoice:60,
multipleChoice:40,
examTime:45 , // 考试时长
},
courseList: [],
typeOptions: [
@@ -325,6 +382,8 @@ export default {
label: "精英班"
}
],
flag: false,
userList: [],
// 富文本编辑器配置
editorOption: {
@@ -378,6 +437,14 @@ export default {
if (this.classModel.ddirectorId == 0) {
this.ClassModelForm.ddirectorId = null;
}
if (this.classModel.examProportion != '') {
var ss = this.classModel.examProportion.split(":");
this.ClassModelForm.singleChoice = parseInt(ss[0]);
this.ClassModelForm.multipleChoice = parseInt(ss[1]);
}
});
} else {
console.log("添加", this.ClassModelForm);
@@ -391,14 +458,25 @@ export default {
this.ClassModelForm.ddirectorId
);
if (this.ClassModelForm.isExam == 1) {
if(!this.ClassModelForm.examDays || this.ClassModelForm.examDays == 0) {
this.$message.error("请设置考试周期需要的天数");
this.showExameDays = true;
return;
}
// if(!this.ClassModelForm.examDays || this.ClassModelForm.examDays == 0) {
// this.$message.error("请设置考试周期需要的天数");
// this.showExameDays = true;
// return;
// }
} else {
this.ClassModelForm.examDays = 0;
}
if(this.ClassModelForm.isExam == 1){
if(this.ClassModelForm.multipleChoice == this.ClassModelForm.singleChoice && this.ClassModelForm.singleChoice == 0 ){
this.$message.error("题目的总数至少大于0");
return;
}
}
if(this.ClassModelForm.examTime == 0){
this.$message.error("考试时长至少大于0");
return;
}
if (this.ClassModelForm.days <= 0) {
this.$message.error("学习时长不可为0");
return;
@@ -412,8 +490,12 @@ export default {
return;
}
this.$refs["ClassModelForm"].validate(valid => {
this.$refs["ClassModelForm"].validate(valid => {
if (valid) {
if(this.flag){
return
}
this.flag = true;
if (
this.ClassModelForm.type == "0" &&
this.ClassModelForm.courseIds.length > 1
@@ -446,9 +528,12 @@ export default {
experienceScore: parseInt(this.ClassModelForm.experienceScore),
isExam: this.ClassModelForm.isExam,
examScore: parseInt(this.ClassModelForm.examScore),
examDays:parseInt(this.ClassModelForm.examDays), // 考试周期天数
examDays:parseInt(this.ClassModelForm.examDays), // 考试周期天数---------
examProportion: this.ClassModelForm.singleChoice + ":" + this.ClassModelForm.multipleChoice, // 单选:多选
examTime:parseInt(this.ClassModelForm.examTime), // 考试时长
})
}).then(({ data }) => {
this.flag = false;
if (data && data.code == 0) {
this.$message.success("操作成功");
this.$nextTick(() => {
@@ -457,6 +542,9 @@ export default {
} else {
this.$message.error(data.msg);
}
}).catch(e =>{
this.flag = false;
this.$message.error(e.msg);
});
}
});
@@ -570,6 +658,7 @@ export default {
</script>
<style lang="less" scoped>
.el-form-item{margin-bottom: 0 !important;}
.partsBox {
padding: 10px;
background: #eee;
@@ -588,5 +677,6 @@ export default {
.courseSelect {
width: 100% !important;
}
.mt15{margin-top: 20px;}
// .line{border-bottom: 1px solid #ddd;}
</style>

View File

@@ -66,8 +66,7 @@
label="小班名称"
>
</el-table-column>
<el-table-column
<el-table-column
header-align="center"
align="center"
label="创建人"