From 0bfd176a6ce29e88b1ec509853a451d3d66fa782 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期三, 30 十月 2024 22:10:14 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/class-management/ClassStaff.vue | 79 ++++++++++++++++++++++++--------------- 1 files changed, 49 insertions(+), 30 deletions(-) diff --git a/src/views/class-management/ClassStaff.vue b/src/views/class-management/ClassStaff.vue index 18b7d74..53ae6fc 100644 --- a/src/views/class-management/ClassStaff.vue +++ b/src/views/class-management/ClassStaff.vue @@ -5,7 +5,7 @@ <div style="padding-bottom:20px"> <span class="item">{{ this.$route.query.className }}</span> <el-button class="item" @click="handlerAddStudent" type="primary" size="small">鏂板瀛﹀憳</el-button> - <el-button class="item" @click="open = true" type="primary" size="small">瀛﹀憳璋冩暣</el-button> + <el-button class="item" @click="openManage" type="primary" size="small">瀛﹀憳璋冩暣</el-button> </div> <div> <el-form :inline="true" :model="searchForm" class="demo-form-inline"> @@ -65,7 +65,7 @@ title="纭畾瑕佸垹闄よ鎴愬憳鍚楋紵" @confirm="remove(scope.row.id)" > - <el-button slot="reference" type="danger" size="small">鍒犻櫎</el-button> + <el-button slot="reference" type="danger" size="small" v-show="false">鍒犻櫎</el-button> </el-popconfirm> </template> </el-table-column> @@ -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: '鏂板瀛﹀憳', @@ -220,6 +244,10 @@ this.getStudentList() }, methods: { + openManage () { + this.getClassesCurrentUserList(this.classes.id) + this.open = true + }, handlerEditStudent (row) { this.studentForm = row this.studentTitle = '缂栬緫瀛﹀憳' @@ -234,21 +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() - }) - } else { - addClassesUser(this.studentForm).then(res => { - this.addOpen = false - this.$message.success(res.data.message) - this.page() - this.resetStudentForm() - }) - } + addClassesUser(this.studentForm).then(res => { + this.addOpen = false + this.$message.success(res.data.message) + this.page() + this.resetStudentForm() + }) } }) }, -- Gitblit v1.8.0