From aed8c89dedf94b98c4b6e988388fbe147f99dab5 Mon Sep 17 00:00:00 2001 From: David Wei Date: 星期日, 08 十月 2023 16:05:58 +0800 Subject: [PATCH] update 优化 通过参数键名获取键值接口的返回体 --- src/views/system/user/profile/userInfo.vue | 76 +++++++++++++++++++------------------ 1 files changed, 39 insertions(+), 37 deletions(-) diff --git a/src/views/system/user/profile/userInfo.vue b/src/views/system/user/profile/userInfo.vue index 13cc29b..3dd5ff7 100644 --- a/src/views/system/user/profile/userInfo.vue +++ b/src/views/system/user/profile/userInfo.vue @@ -1,33 +1,59 @@ +<template> + <el-form ref="userRef" :model="userForm" :rules="rules" label-width="80px"> + <el-form-item label="鐢ㄦ埛鏄电О" prop="nickName"> + <el-input v-model="userForm.nickName" maxlength="30" /> + </el-form-item> + <el-form-item label="鎵嬫満鍙风爜" prop="phonenumber"> + <el-input v-model="userForm.phonenumber" maxlength="11" /> + </el-form-item> + <el-form-item label="閭" prop="email"> + <el-input v-model="userForm.email" maxlength="50" /> + </el-form-item> + <el-form-item label="鎬у埆"> + <el-radio-group v-model="userForm.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" @click="submit">淇濆瓨</el-button> + <el-button type="danger" @click="close">鍏抽棴</el-button> + </el-form-item> + </el-form> +</template> + <script setup lang="ts"> import { updateUserProfile } from "@/api/system/user"; -import { FormRules } from "element-plus"; -import { ComponentInternalInstance } from "vue"; -import { PropType } from "vue"; -import { ElForm } from "element-plus"; const props = defineProps({ user: { type: Object as PropType<any>, + required: true } }); const userForm = computed(() => props.user); - const { proxy } = getCurrentInstance() as ComponentInternalInstance; - -const userRef = ref(ElForm); - -const rules = ref<FormRules>({ +const userRef = ref<ElFormInstance>(); +const rules = ref<ElFormRules>({ 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" }], + 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" }] }); /** 鎻愪氦鎸夐挳 */ const submit = () => { - userRef.value.validate(async (valid: boolean) => { + userRef.value?.validate(async (valid: boolean) => { if (valid) { - await updateUserProfile(props.user) + await updateUserProfile(props.user); proxy?.$modal.msgSuccess("淇敼鎴愬姛"); } }); @@ -37,27 +63,3 @@ proxy?.$tab.closePage(); }; </script> - -<template> - <el-form ref="userRef" :model="userForm" :rules="rules" label-width="80px"> - <el-form-item label="鐢ㄦ埛鏄电О" prop="nickName"> - <el-input v-model="userForm.nickName" maxlength="30" /> - </el-form-item> - <el-form-item label="鎵嬫満鍙风爜" prop="phonenumber"> - <el-input v-model="userForm.phonenumber" maxlength="11" /> - </el-form-item> - <el-form-item label="閭" prop="email"> - <el-input v-model="userForm.email" maxlength="50" /> - </el-form-item> - <el-form-item label="鎬у埆"> - <el-radio-group v-model="userForm.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" @click="submit">淇濆瓨</el-button> - <el-button type="danger" @click="close">鍏抽棴</el-button> - </el-form-item> - </el-form> -</template> -- Gitblit v1.9.3