jiaqingjiayi-Web/src/views/user/dialog/index.vue
2024-12-24 10:22:28 +08:00

152 lines
3.7 KiB
Vue

<template>
<el-dialog
model-value="dialogVisible"
:title="dialogTitle"
width="30%"
@close="handleClose"
>
<el-form
ref="formRef"
:model="form"
:rules="rules"
label-width="100px"
>
<el-form-item label="用户头像" prop="avatarUrl">
<img :src="form.avatarUrl" alt="空" width="50" height="50"/>
</el-form-item>
<el-form-item label="用户昵称" prop="username">
{{form.username}}
</el-form-item>
<el-form-item label="用户账号" prop="userAccount">
{{form.userAccount}}
</el-form-item>
<el-form-item label="性别" prop="gender">
<template v-if="form.gender==0"></template>
<template v-else></template>
</el-form-item>
<el-form-item label="电话" prop="phone">
{{form.phone}}
</el-form-item>
<el-form-item label="邮箱" prop="email">
{{form.email}}
</el-form-item>
<el-form-item label="用户状态" prop="userStatus">
<template v-if="form.userStatus==0">禁用</template>
<template v-else>启用</template>
</el-form-item>
<el-form-item label="用户角色" prop="userRole">
<template v-if="form.userRole===0">普通用户</template>
<template v-else-if="form.userRole===1">管理员</template>
<template v-else-if="form.userRole===2">商家</template>
<template v-else>美甲师</template>
</el-form-item>
</el-form>
<!-- <template #footer>-->
<!--<span class="dialog-footer">-->
<!--<el-button @click="handleClose">取消</el-button>-->
<!--<el-button type="primary" @click="handleConfirm">确认</el-button>-->
<!--</span>-->
<!-- </template>-->
</el-dialog>
</template>
<script setup>
import {defineEmits, defineProps, ref, watch} from "vue";
import axios from "@/util/axios";
import { ElMessage } from "element-plus";
const props=defineProps({
id:{
type:String,
default:-1,
required:true
},
dialogTitle:{
type:String,
default:'',
required:true
}
})
const form=ref({
avatarUrl: "",
createTime:"",
email:"",
gender:null,
isDelete:null,
openId:null,
phone:null,
unionId:null,
updateTime:"",
userAccount:"",
userPassword:"",
userRole:null,
userStatus:null,
username:""
})
// const rules=ref({
// name: [
// {
// required: true,
// message: '请输入商品大类名称!'
// }
// ],
// remark: [
// {
// required: true,
// message: '请输入商品大类描述!'
// }
// ]
// })
const formRef=ref(null);
const initFormData=async(ids)=>{
// console.log(ids)
const res=await axios.get("user/getById",{id: ids})
// console.log(res.data.data)
form.value=res.data.data;
}
watch(
()=>props.id,
()=>{
//console.log("id="+props.id);
let ids=props.id;
initFormData(ids)
// }else{
// formRef.value.resetFields();
// form.value={
// id:-1,
// name:"",
// remark:""
// }
// }
}
)
// 定义父组件事件
const emits=defineEmits(['update:modelValue','initUserList'])
const handleClose=()=>{
console.log("xxx")
// 调用执行
emits('update:modelValue',false)
}
// const handleConfirm=()=>{
// formRef.value.validate(async(valid)=>{
// if(valid){
// let result=await axios.post("admin/bigType/save",form.value)
// let data=result.data;
// if(data.code==0){
// ElMessage.success("执行成功!");
// formRef.value.resetFields();
// emits("initUserList");
// handleClose();
// }else{
// ElMessage.error(data.msg);
// }
// }else{
// console.log("fail")
// return false
// }
// })
// }
</script>
<style scoped>
</style>