12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- <template>
- <el-form ref="form" :model="form" :rules="rules" label-width="80px">
- <el-form-item label="用户昵称" prop="nickName">
- <el-input v-model="form.nickName" maxlength="30" />
- </el-form-item>
- <el-form-item label="手机号码" prop="mobile">
- <el-input v-model="form.mobile" maxlength="11" />
- </el-form-item>
- <el-form-item label="邮箱" prop="email">
- <el-input v-model="form.email" maxlength="50" />
- </el-form-item>
- <el-form-item label="性别">
- <el-radio-group v-model="form.sex">
- <el-radio label="0">男</el-radio>
- <el-radio label="1">女</el-radio>
- </el-radio-group>
- </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/system/user";
- export default {
- props: {
- user: {
- type: Object
- }
- },
- data() {
- return {
- form: {},
- // 表单校验
- rules: {
- nickName: [
- { required: true, message: "用户昵称不能为空", trigger: "blur" }
- ],
- email: [
- { required: true, message: "邮箱地址不能为空", trigger: "blur" },
- {
- type: "email",
- message: "请输入正确的邮箱地址",
- trigger: ["blur", "change"]
- }
- ],
- mobile: [
- { required: true, message: "手机号码不能为空", trigger: "blur" },
- {
- pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
- message: "请输入正确的手机号码",
- trigger: "blur"
- }
- ]
- }
- };
- },
- watch: {
- user: {
- handler(user) {
- if (user) {
- this.form = { id:user.id, nickName: user.nickName, mobile: user.mobile, email: user.email, sex: user.sex };
- }
- },
- immediate: true
- }
- },
- methods: {
- submit() {
- this.$refs["form"].validate(valid => {
- if (valid) {
- updateUserProfile(this.form).then(response => {
- this.$modal.msgSuccess("修改成功");
- this.user.mobile = this.form.mobile;
- this.user.email = this.form.email;
- });
- }
- });
- },
- close() {
- this.$tab.closePage();
- }
- }
- };
- </script>
|