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

View File

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