From aed4c4e0513ac51226e690606ff3797f5355a750 Mon Sep 17 00:00:00 2001
From: luohairen <3399054449@qq.com>
Date: 星期三, 30 十月 2024 21:56:44 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/views/exam/exam/monitor.vue | 4 +-
src/views/exam/question/edit/single-choice.vue | 12 +++---
src/views/education/cheat/list.vue | 4 +-
src/views/education/subject/edit.vue | 4 +-
src/views/exam/question/edit/multiple-choice.vue | 12 +++---
src/views/exam/paper/edit.vue | 8 ++--
src/views/class-management/ClassStaff.vue | 73 +++++++++++++++++++++---------------
7 files changed, 65 insertions(+), 52 deletions(-)
diff --git a/src/views/class-management/ClassStaff.vue b/src/views/class-management/ClassStaff.vue
index 92f1cfa..53ae6fc 100644
--- a/src/views/class-management/ClassStaff.vue
+++ b/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('鎵嬫満鍙锋牸寮忎笉姝g‘'));
+ } 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()
+ })
}
})
},
diff --git a/src/views/education/cheat/list.vue b/src/views/education/cheat/list.vue
index 3cced0e..60aab2b 100644
--- a/src/views/education/cheat/list.vue
+++ b/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>
diff --git a/src/views/education/subject/edit.vue b/src/views/education/subject/edit.vue
index 323393f..f6bb7db 100644
--- a/src/views/education/subject/edit.vue
+++ b/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>
diff --git a/src/views/exam/exam/monitor.vue b/src/views/exam/exam/monitor.vue
index 0473fb0..09bd218 100644
--- a/src/views/exam/exam/monitor.vue
+++ b/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>
diff --git a/src/views/exam/paper/edit.vue b/src/views/exam/paper/edit.vue
index ff068b0..f02869e 100644
--- a/src/views/exam/paper/edit.vue
+++ b/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">
diff --git a/src/views/exam/question/edit/multiple-choice.vue b/src/views/exam/question/edit/multiple-choice.vue
index 15677d8..2c6f4d3 100644
--- a/src/views/exam/question/edit/multiple-choice.vue
+++ b/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="瑙f瀽锛�" prop="analyze" required>
+ <el-form-item label="瑙f瀽锛�" 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="姝g‘绛旀锛�" prop="correctArray" required>
+ <el-form-item label="姝g‘绛旀锛�" 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>
diff --git a/src/views/exam/question/edit/single-choice.vue b/src/views/exam/question/edit/single-choice.vue
index 2c05773..312fad9 100644
--- a/src/views/exam/question/edit/single-choice.vue
+++ b/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="瑙f瀽锛�" prop="analyze" required>
+ <el-form-item label="瑙f瀽锛�" 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="姝g‘绛旀锛�" prop="correct" required>
+ <el-form-item label="姝g‘绛旀锛�" 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>
--
Gitblit v1.8.0