|
@@ -1,55 +1,48 @@
|
|
<script setup>
|
|
<script setup>
|
|
-import { reactive } from 'vue';
|
|
|
|
|
|
+import { reactive, ref } from 'vue';
|
|
|
|
+import { storeToRefs } from 'pinia';
|
|
import { upLoadImageFun } from "@/utils/tools";
|
|
import { upLoadImageFun } from "@/utils/tools";
|
|
import { NForm, NFormItem, NButton } from "naive-ui";
|
|
import { NForm, NFormItem, NButton } from "naive-ui";
|
|
import { userApi } from "@/api/user";
|
|
import { userApi } from "@/api/user";
|
|
import { useMessage } from 'naive-ui';
|
|
import { useMessage } from 'naive-ui';
|
|
-const props = defineProps({
|
|
|
|
- user: {
|
|
|
|
- type: Object,
|
|
|
|
- default: {
|
|
|
|
- dept: { deptName: '' }
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
-})
|
|
|
|
|
|
+import { useUserStore } from '@/stores/modules/userStore';
|
|
|
|
+
|
|
const message = useMessage();
|
|
const message = useMessage();
|
|
|
|
+
|
|
|
|
+const userStore = useUserStore();
|
|
|
|
+const { userInfo:user } = storeToRefs(userStore);
|
|
|
|
+
|
|
|
|
+const tempAvatar = ref(user.value.avatar);
|
|
|
|
+
|
|
const model = reactive({
|
|
const model = reactive({
|
|
des: null,
|
|
des: null,
|
|
selectValue: "信义污水厂",
|
|
selectValue: "信义污水厂",
|
|
submitStatus: false
|
|
submitStatus: false
|
|
});
|
|
});
|
|
|
|
|
|
-
|
|
|
|
const changeImg = async (e) => {
|
|
const changeImg = async (e) => {
|
|
- const avatar = await upLoadImageFun(e.target)
|
|
|
|
- console.log(avatar, 12);
|
|
|
|
|
|
+ const avatar = await upLoadImageFun(e.target);
|
|
if (avatar) {
|
|
if (avatar) {
|
|
- props.user.avatar = avatar
|
|
|
|
|
|
+ tempAvatar.value = avatar;
|
|
|
|
+ message.success("头像更新成功");
|
|
}
|
|
}
|
|
-
|
|
|
|
}
|
|
}
|
|
-const submit = () => {
|
|
|
|
- console.log(model.submitStatus);
|
|
|
|
|
|
+const submit = async () => {
|
|
if (!model.submitStatus) {
|
|
if (!model.submitStatus) {
|
|
model.submitStatus = true
|
|
model.submitStatus = true
|
|
const data = {
|
|
const data = {
|
|
- avatar: props.user.avatar,
|
|
|
|
- userName: props.user.userName,
|
|
|
|
- phonenumber: props.user.phonenumber,
|
|
|
|
- nickName: props.user.nickName,
|
|
|
|
- position: props.user.position,
|
|
|
|
- deptId: props.user.deptId,
|
|
|
|
- emergencyPhone: props.user.emergencyPhone,
|
|
|
|
|
|
+ avatar: tempAvatar.value,
|
|
|
|
+ // userName: user.value.userName,
|
|
|
|
+ // phonenumber: user.value.phonenumber,
|
|
|
|
+ // nickName: user.value.nickName,
|
|
|
|
+ // position: user.value.position,
|
|
|
|
+ // deptId: user.value.deptId,
|
|
|
|
+ // emergencyPhone: user.value.emergencyPhone,
|
|
}
|
|
}
|
|
- userApi.UpUser(data).then((res) => {
|
|
|
|
- if (res.code == 200) {
|
|
|
|
- message.success(res.msg)
|
|
|
|
- } else {
|
|
|
|
- message.error(res.msg)
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- }).finally(() => {
|
|
|
|
- model.submitStatus = false
|
|
|
|
|
|
+ await userApi.UpUser(data);
|
|
|
|
+ await userApi.getUserInfo().then(({user: userInfo}) => {
|
|
|
|
+ userStore.setUserInfo({ ...userInfo });
|
|
|
|
+ model.submitStatus = false;
|
|
})
|
|
})
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -63,7 +56,7 @@ const submit = () => {
|
|
<div class="avatar-wrap">
|
|
<div class="avatar-wrap">
|
|
<div class="replace">更换<input class="file" type="file" @change="changeImg"></input></div>
|
|
<div class="replace">更换<input class="file" type="file" @change="changeImg"></input></div>
|
|
<div class="avatar-wrap-box">
|
|
<div class="avatar-wrap-box">
|
|
- <figure class="avatar"><img :src="user.avatar" alt=""></figure>
|
|
|
|
|
|
+ <figure class="avatar"><img :src="tempAvatar" alt=""></figure>
|
|
<span>头像尺寸64*64</span>
|
|
<span>头像尺寸64*64</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -93,7 +86,6 @@ const submit = () => {
|
|
<n-form-item label="水厂" v-if="user.dept">
|
|
<n-form-item label="水厂" v-if="user.dept">
|
|
<div class="content">
|
|
<div class="content">
|
|
信义污水厂
|
|
信义污水厂
|
|
- <!-- {{ user.dept['deptName'] }} -->
|
|
|
|
<span class="des">设置为默认登录</span>
|
|
<span class="des">设置为默认登录</span>
|
|
</div>
|
|
</div>
|
|
</n-form-item>
|
|
</n-form-item>
|