| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <el-form ref="userRef" :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="phonenumber"> |
| | | <el-input v-model="form.phonenumber" 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 value="0">ç·</el-radio> |
| | | <el-radio value="1">女</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="submit">ä¿å</el-button> |
| | | <el-button type="danger" @click="close">å
³é</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { updateUserProfile } from "@/api/system/user" |
| | | |
| | | const props = defineProps({ |
| | | user: { |
| | | type: Object |
| | | } |
| | | }) |
| | | |
| | | const { proxy } = getCurrentInstance() |
| | | |
| | | const form = ref({}) |
| | | const rules = ref({ |
| | | nickName: [{ required: true, message: "ç¨æ·æµç§°ä¸è½ä¸ºç©º", trigger: "blur" }], |
| | | email: [{ required: true, message: "é®ç®±å°åä¸è½ä¸ºç©º", trigger: "blur" }, { type: "email", message: "请è¾å
¥æ£ç¡®çé®ç®±å°å", trigger: ["blur", "change"] }], |
| | | phonenumber: [{ required: true, message: "ææºå·ç ä¸è½ä¸ºç©º", trigger: "blur" }, { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请è¾å
¥æ£ç¡®çææºå·ç ", trigger: "blur" }], |
| | | }) |
| | | |
| | | /** æäº¤æé® */ |
| | | function submit() { |
| | | proxy.$refs.userRef.validate(valid => { |
| | | if (valid) { |
| | | updateUserProfile(form.value).then(response => { |
| | | proxy.$modal.msgSuccess("ä¿®æ¹æå") |
| | | props.user.phonenumber = form.value.phonenumber |
| | | props.user.email = form.value.email |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | |
| | | /** å
³éæé® */ |
| | | function close() { |
| | | proxy.$tab.closePage() |
| | | } |
| | | |
| | | // åæ¾å½åç»å½ç¨æ·ä¿¡æ¯ |
| | | watch(() => props.user, user => { |
| | | if (user) { |
| | | form.value = { nickName: user.nickName, phonenumber: user.phonenumber, email: user.email, sex: user.sex } |
| | | } |
| | | },{ immediate: true }) |
| | | </script> |