You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
2.0 KiB

3 months ago
<template>
<el-form ref="form" :model="user" :rules="rules" label-width="80px">
<el-form-item label="用户昵称" prop="name">
<el-input v-model="user.name" />
</el-form-item>
<el-form-item label="手机号码" prop="phone">
<el-input v-model="user.phone" maxlength="11" />
</el-form-item>
<el-form-item label="邮箱" prop="emailAddress">
<el-input v-model="user.emailAddress" maxlength="50" />
</el-form-item>
<el-form-item>
<el-button type="primary" size="mini" @click="submit"></el-button>
<el-button type="danger" size="mini" @click="close"></el-button>
</el-form-item>
</el-form>
</template>
<script>
import { updateUserProfile } from '@/api/school/system/user'
export default {
props: {
user: {
type: Object,
default: function() {
return {}
}
}
},
data() {
return {
// 表单校验
rules: {
name: [
{ required: true, message: '名称不能为空', trigger: 'blur' }
],
emailAddress: [
{ required: true, message: '邮箱地址不能为空', trigger: 'blur' },
{
type: 'email',
message: "'请输入正确的邮箱地址",
trigger: ['blur', 'change']
}
],
phone: [
{ required: true, message: '手机号码不能为空', trigger: 'blur' },
{
pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
message: '请输入正确的手机号码',
trigger: 'blur'
}
]
}
}
},
methods: {
submit() {
this.$refs['form'].validate(valid => {
if (valid) {
updateUserProfile(this.user).then(response => {
if (response.respCode === '0000') {
this.msgSuccess('修改成功')
} else {
this.msgError(response.respMsg)
}
})
}
})
},
close() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.push({ path: '/' })
}
}
}
</script>