src/views/class-management/ClassStaff.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/education/cheat/list.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/education/subject/edit.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/exam/exam/monitor.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/exam/paper/edit.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/exam/question/edit/multiple-choice.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/exam/question/edit/single-choice.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/views/class-management/ClassStaff.vue
@@ -85,16 +85,16 @@ :before-close="handleAddClose" :close-on-click-modal="false"> <el-form :model="studentForm" :rules="studentRules" ref="studentForm" label-width="100px" class="demo-ruleForm"> <el-form-item label="真实姓名:" prop="realName" required> <el-form-item label="真实姓名:" prop="realName"> <el-input v-model="studentForm.realName"></el-input> </el-form-item> <el-form-item label="手机号码:" prop="phone" required> <el-form-item label="手机号码:" prop="phone"> <el-input v-model="studentForm.phone"></el-input> </el-form-item> <el-form-item label="登录账号:" prop="userName" required> <el-form-item label="登录账号:" prop="userName"> <el-input v-model="studentForm.userName" autocomplete="off"></el-input> </el-form-item> <el-form-item v-if="!studentForm.id" label="登录密码:" prop="password" required> <el-form-item v-if="!studentForm.id" label="登录密码:" prop="password"> <el-input v-model="studentForm.password" show-password autocomplete="off"></el-input> </el-form-item> <el-form-item label="年龄:"> @@ -109,7 +109,7 @@ <el-date-picker v-model="studentForm.birthDay" type="date" value-format="yyyy-MM-dd" placeholder="选择日期"/> </el-form-item> <el-form-item label="状态:" required> <el-form-item label="状态:"> <el-select v-model="studentForm.status" placeholder="状态"> <el-option v-for="item in statusEnum" :key="item.key" :value="item.key" :label="item.value"></el-option> </el-select> @@ -163,6 +163,30 @@ export default { components: { Pagination }, data () { var validatePassword = (rule, value, callback) => { if (value === '') { callback(new Error('请输入登录密码')) } else if (!/[A-Z]/.test(value)) { callback(new Error('密码必须包含至少一个大写字母')) } else if (!/[a-z]/.test(value)) { callback(new Error('密码必须包含至少一个小写字母')) } else if (!/[0-9]/.test(value)) { callback(new Error('密码必须包含至少一个数字')) } else { callback() } } var validatePhone = (rule, value, callback) => { // 手机号验证逻辑 const phoneRegex = /^1[3-9]\d{9}$/; if (!value) { callback(new Error('请输入手机号')); } else if (!phoneRegex.test(value)) { callback(new Error('手机号格式不正确')); } else { callback(); } } return { studentForm: { id: null, @@ -175,17 +199,17 @@ password: '' }, studentRules: { realName: [ { required: true, message: '请填写学员姓名', trigger: 'blur' } userName: [ { required: true, message: '请输入登录账号', trigger: 'blur' } ], sex: [ { required: true, message: '请选择学员性别', trigger: 'change' } realName: [ { required: true, message: '请输入真实姓名', trigger: 'blur' } ], password: [ { validator: validatePassword, trigger: 'blur' } ], phone: [ { required: true, message: '请填写学员电话', trigger: 'blur' } ], userName: [ { required: true, message: '请填写学员登录账号', trigger: 'blur' } { validator: validatePhone, trigger: 'blur' } ] }, studentTitle: '新增学员', @@ -238,23 +262,12 @@ console.log(this.studentForm) if (valid) { this.studentForm.classesId = this.classes.id if (this.studentForm.id) { editClassesUser(this.studentForm).then(res => { this.addOpen = false this.$message.success(res.data.message) this.page() this.resetStudentForm() }) window.location.reload() } else { addClassesUser(this.studentForm).then(res => { this.addOpen = false this.$message.success(res.data.message) this.page() this.resetStudentForm() }) window.location.reload() } addClassesUser(this.studentForm).then(res => { this.addOpen = false this.$message.success(res.data.message) this.page() this.resetStudentForm() }) } }) }, src/views/education/cheat/list.vue
@@ -24,10 +24,10 @@ <el-dialog :visible.sync="visible" width="400px"> <el-form :model="form" ref="form" label-width="100px" v-loading="formLoading" :rules="rules"> <el-form-item label="名称:" prop="name" required> <el-form-item label="名称:" prop="name"> <el-input v-model="form.name" maxlength="10" show-word-limit /> </el-form-item> <el-form-item label="排序:" prop="itemOrder" required> <el-form-item label="排序:" prop="itemOrder"> <el-input-number v-model="form.itemOrder" type="number" :min="1" :max="100" /> </el-form-item> <el-form-item> src/views/education/subject/edit.vue
@@ -2,10 +2,10 @@ <div class="app-container"> <el-form :model="form" ref="form" label-width="100px" v-loading="formLoading"> <el-form-item label="学科:" required> <el-form-item label="学科:"> <el-input v-model="form.name"></el-input> </el-form-item> <el-form-item label="年级:" required> <el-form-item label="年级:"> <el-select v-model="form.level" placeholder="年级"> <el-option v-for="item in levelEnum" :key="item.key" :value="item.key" :label="item.value"></el-option> </el-select> src/views/exam/exam/monitor.vue
@@ -51,10 +51,10 @@ <el-dialog :visible.sync="visible" width="400px"> <el-form :model="form" ref="form" label-width="100px" v-loading="formLoading" :rules="rules"> <el-form-item label="名称:" prop="name" required> <el-form-item label="名称:" prop="name"> <el-input v-model="form.name" maxlength="10" show-word-limit/> </el-form-item> <el-form-item label="排序:" prop="itemOrder" required> <el-form-item label="排序:" prop="itemOrder"> <el-input-number v-model="form.itemOrder" type="number" :min="1" :max="100"/> </el-form-item> <el-form-item> src/views/exam/paper/edit.vue
@@ -1,16 +1,16 @@ <template> <div class="app-container"> <el-form :model="form" ref="form" label-width="150px" v-loading="formLoading" :rules="rules"> <el-form-item label="试卷类型:" prop="paperType" required> <el-form-item label="试卷类型:" prop="paperType"> <el-select v-model="form.paperType" placeholder="试卷类型"> <el-option v-for="item in paperTypeEnum" :key="item.key" :value="item.key" :label="item.value"></el-option> </el-select> </el-form-item> <el-form-item label="试卷名称:" prop="name" required> <el-form-item label="试卷名称:" prop="name"> <el-input style="width: 300px" v-model="form.name"/> </el-form-item> <!-- 题目详细信息 --> <el-form-item :key="index" :label="'标题'+(index+1)+':'" required <el-form-item :key="index" :label="'标题'+(index+1)+':'" v-for="(titleItem,index) in form.questionTitleList" v-show="form.paperType===1 || (form.paperType ===3 && form.id)"> <el-input v-model="titleItem.title" style="width: 50%"/> @@ -63,7 +63,7 @@ v-show="form.deductType === 2 || form.deductType === 3" :min="0"/> </div> </el-form-item> <el-form-item label="建议时长(分钟):" prop="suggestTime" required> <el-form-item label="建议时长(分钟):" prop="suggestTime"> <el-input-number v-model="form.suggestTime" placeholder="分钟" :min="0"/> </el-form-item> <el-form-item label="权限:" prop="visibility"> src/views/exam/question/edit/multiple-choice.vue
@@ -1,28 +1,28 @@ <template> <div class="app-container"> <el-form :model="form" ref="form" label-width="100px" v-loading="formLoading" :rules="rules"> <el-form-item label="学科:" prop="subjectId" required> <el-form-item label="学科:" prop="subjectId"> <el-select v-model="form.subjectId" placeholder="学科" > <el-option v-for="item in subjects" :key="item.id" :value="item.id" :label="item.name"></el-option> </el-select> </el-form-item> <el-form-item label="题干:" prop="title" required> <el-form-item label="题干:" prop="title"> <el-input v-model="form.title" @focus="inputClick(form,'title')" /> </el-form-item> <el-form-item label="选项:" required> <el-form-item label="选项:"> <el-form-item :label="item.prefix" :key="item.prefix" v-for="(item,index) in form.items" label-width="50px" class="question-item-label"> <el-input v-model="item.prefix" style="width:50px;" /> <el-input v-model="item.content" @focus="inputClick(item,'content')" class="question-item-content-input"/> <el-button type="danger" size="mini" class="question-item-remove" icon="el-icon-delete" @click="questionItemRemove(index)"></el-button> </el-form-item> </el-form-item> <el-form-item label="解析:" prop="analyze" required> <el-form-item label="解析:" prop="analyze"> <el-input v-model="form.analyze" @focus="inputClick(form,'analyze')" /> </el-form-item> <el-form-item label="难度:" required> <el-form-item label="难度:"> <el-rate v-model="form.difficult" class="question-item-rate"></el-rate> </el-form-item> <el-form-item label="正确答案:" prop="correctArray" required> <el-form-item label="正确答案:" prop="correctArray"> <el-checkbox-group v-model="form.correctArray"> <el-checkbox v-for="item in form.items" :label="item.prefix" :key="item.prefix">{{item.prefix}}</el-checkbox> </el-checkbox-group> src/views/exam/question/edit/single-choice.vue
@@ -1,28 +1,28 @@ <template> <div class="app-container"> <el-form :model="form" ref="form" label-width="100px" v-loading="formLoading" :rules="rules"> <el-form-item label="学科:" prop="subjectId" required> <el-form-item label="学科:" prop="subjectId"> <el-select v-model="form.subjectId" placeholder="学科" > <el-option v-for="item in subjects" :key="item.id" :value="item.id" :label="item.name"></el-option> </el-select> </el-form-item> <el-form-item label="题干:" prop="title" required> <el-form-item label="题干:" prop="title"> <el-input v-model="form.title" @focus="inputClick(form,'title')" /> </el-form-item> <el-form-item label="选项:" required> <el-form-item label="选项:"> <el-form-item :label="item.prefix" :key="item.prefix" v-for="(item,index) in form.items" label-width="50px" class="question-item-label"> <el-input v-model="item.prefix" style="width:50px;" /> <el-input v-model="item.content" @focus="inputClick(item,'content')" class="question-item-content-input"/> <el-button type="danger" size="mini" class="question-item-remove" icon="el-icon-delete" @click="questionItemRemove(index)"></el-button> </el-form-item> </el-form-item> <el-form-item label="解析:" prop="analyze" required> <el-form-item label="解析:" prop="analyze"> <el-input v-model="form.analyze" @focus="inputClick(form,'analyze')" /> </el-form-item> <el-form-item label="难度:" required> <el-form-item label="难度:"> <el-rate v-model="form.difficult" class="question-item-rate"></el-rate> </el-form-item> <el-form-item label="正确答案:" prop="correct" required> <el-form-item label="正确答案:" prop="correct"> <el-radio-group v-model="form.correct"> <el-radio v-for="item in form.items" :key="item.prefix" :label="item.prefix">{{item.prefix}}</el-radio> </el-radio-group>