From db6e95bb9620371c1280b11d01c596c58dfcc0dd Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期五, 30 六月 2023 14:54:32 +0800
Subject: [PATCH] fix 修复 菜单管理字段不对应问题
---
src/views/system/user/profile/userAvatar.vue | 202 +++++++++++++++++++++++++-------------------------
1 files changed, 101 insertions(+), 101 deletions(-)
diff --git a/src/views/system/user/profile/userAvatar.vue b/src/views/system/user/profile/userAvatar.vue
index eaf8db3..0af8b28 100644
--- a/src/views/system/user/profile/userAvatar.vue
+++ b/src/views/system/user/profile/userAvatar.vue
@@ -1,104 +1,3 @@
-<script setup lang="ts">
-import "vue-cropper/dist/index.css";
-import { VueCropper } from "vue-cropper";
-import { uploadAvatar } from "@/api/system/user";
-import useUserStore from "@/store/modules/user";
-import { ComponentInternalInstance } from "vue";
-
-interface Options {
- img: string | ArrayBuffer | null // 瑁佸壀鍥剧墖鐨勫湴鍧�
- autoCrop: boolean // 鏄惁榛樿鐢熸垚鎴浘妗�
- autoCropWidth: number // 榛樿鐢熸垚鎴浘妗嗗搴�
- autoCropHeight: number // 榛樿鐢熸垚鎴浘妗嗛珮搴�
- fixedBox: boolean // 鍥哄畾鎴浘妗嗗ぇ灏� 涓嶅厑璁告敼鍙�
- fileName: string
- previews: any // 棰勮鏁版嵁
- outputType: string
- visible: boolean
-}
-
-
-const userStore = useUserStore();
-const { proxy } = getCurrentInstance() as ComponentInternalInstance;
-
-const open = ref(false);
-const visible = ref(false);
-const title = ref("淇敼澶村儚");
-
-const cropper = ref<any>({});
-//鍥剧墖瑁佸壀鏁版嵁
-const options = reactive<Options>({
- img: userStore.avatar,
- autoCrop: true,
- autoCropWidth: 200,
- autoCropHeight: 200,
- fixedBox: true,
- outputType: "png",
- fileName: '',
- previews: {},
- visible: false
-});
-
-/** 缂栬緫澶村儚 */
-const editCropper = () => {
- open.value = true;
-}
-/** 鎵撳紑寮瑰嚭灞傜粨鏉熸椂鐨勫洖璋� */
-const modalOpened = () => {
- visible.value = true;
-}
-/** 瑕嗙洊榛樿涓婁紶琛屼负 */
-const requestUpload = (): any => {}
-/** 鍚戝乏鏃嬭浆 */
-const rotateLeft = () => {
- cropper.value.rotateLeft();
-}
-/** 鍚戝彸鏃嬭浆 */
-const rotateRight = () => {
- cropper.value.rotateRight();
-}
-/** 鍥剧墖缂╂斁 */
-const changeScale = (num: number) => {
- num = num || 1;
- cropper.value.changeScale(num);
-}
-/** 涓婁紶棰勫鐞� */
-const beforeUpload = (file: any) => {
- if (file.type.indexOf("image/") == -1) {
- proxy?.$modal.msgError("鏂囦欢鏍煎紡閿欒锛岃涓婁紶鍥剧墖绫诲瀷,濡傦細JPG锛孭NG鍚庣紑鐨勬枃浠躲��");
- } else {
- const reader = new FileReader();
- reader.readAsDataURL(file);
- reader.onload = () => {
- options.img = reader.result;
- options.fileName = file.name;
- };
- }
-}
-/** 涓婁紶鍥剧墖 */
-const uploadImg = async () => {
- cropper.value.getCropBlob(async (data: any) => {
- let formData = new FormData();
- formData.append("avatarfile", data, options.fileName);
- const res = await uploadAvatar(formData);
- open.value = false;
- options.img = res.data.imgUrl;
- userStore.avatar = options.img as string;
- proxy?.$modal.msgSuccess("淇敼鎴愬姛");
- visible.value = false;
- });
-}
-/** 瀹炴椂棰勮 */
-const realTime = (data: any) => {
- options.previews = data;
-}
-/** 鍏抽棴绐楀彛 */
-const closeDialog = () => {
- options.img = userStore.avatar;
- options.visible = false;
-}
-</script>
-
<template>
<div class="user-info-head" @click="editCropper()">
<img :src="options.img as string" title="鐐瑰嚮涓婁紶澶村儚" class="img-circle img-lg" />
@@ -154,6 +53,107 @@
</div>
</template>
+<script setup lang="ts">
+import "vue-cropper/dist/index.css";
+import { VueCropper } from "vue-cropper";
+import { uploadAvatar } from "@/api/system/user";
+import useUserStore from "@/store/modules/user";
+import { ComponentInternalInstance } from "vue";
+
+interface Options {
+ img: string | ArrayBuffer | null // 瑁佸壀鍥剧墖鐨勫湴鍧�
+ autoCrop: boolean // 鏄惁榛樿鐢熸垚鎴浘妗�
+ autoCropWidth: number // 榛樿鐢熸垚鎴浘妗嗗搴�
+ autoCropHeight: number // 榛樿鐢熸垚鎴浘妗嗛珮搴�
+ fixedBox: boolean // 鍥哄畾鎴浘妗嗗ぇ灏� 涓嶅厑璁告敼鍙�
+ fileName: string
+ previews: any // 棰勮鏁版嵁
+ outputType: string
+ visible: boolean
+}
+
+
+const userStore = useUserStore();
+const { proxy } = getCurrentInstance() as ComponentInternalInstance;
+
+const open = ref(false);
+const visible = ref(false);
+const title = ref("淇敼澶村儚");
+
+const cropper = ref<any>({});
+//鍥剧墖瑁佸壀鏁版嵁
+const options = reactive<Options>({
+ img: userStore.avatar,
+ autoCrop: true,
+ autoCropWidth: 200,
+ autoCropHeight: 200,
+ fixedBox: true,
+ outputType: "png",
+ fileName: '',
+ previews: {},
+ visible: false
+});
+
+/** 缂栬緫澶村儚 */
+const editCropper = () => {
+ open.value = true;
+}
+/** 鎵撳紑寮瑰嚭灞傜粨鏉熸椂鐨勫洖璋� */
+const modalOpened = () => {
+ visible.value = true;
+}
+/** 瑕嗙洊榛樿涓婁紶琛屼负 */
+const requestUpload = (): any => {}
+/** 鍚戝乏鏃嬭浆 */
+const rotateLeft = () => {
+ cropper.value.rotateLeft();
+}
+/** 鍚戝彸鏃嬭浆 */
+const rotateRight = () => {
+ cropper.value.rotateRight();
+}
+/** 鍥剧墖缂╂斁 */
+const changeScale = (num: number) => {
+ num = num || 1;
+ cropper.value.changeScale(num);
+}
+/** 涓婁紶棰勫鐞� */
+const beforeUpload = (file: any) => {
+ if (file.type.indexOf("image/") == -1) {
+ proxy?.$modal.msgError("鏂囦欢鏍煎紡閿欒锛岃涓婁紶鍥剧墖绫诲瀷,濡傦細JPG锛孭NG鍚庣紑鐨勬枃浠躲��");
+ } else {
+ const reader = new FileReader();
+ reader.readAsDataURL(file);
+ reader.onload = () => {
+ options.img = reader.result;
+ options.fileName = file.name;
+ };
+ }
+}
+/** 涓婁紶鍥剧墖 */
+const uploadImg = async () => {
+ cropper.value.getCropBlob(async (data: any) => {
+ let formData = new FormData();
+ formData.append("avatarfile", data, options.fileName);
+ const res = await uploadAvatar(formData);
+ open.value = false;
+ options.img = res.data.imgUrl;
+ userStore.avatar = options.img as string;
+ proxy?.$modal.msgSuccess("淇敼鎴愬姛");
+ visible.value = false;
+ });
+}
+/** 瀹炴椂棰勮 */
+const realTime = (data: any) => {
+ options.previews = data;
+}
+/** 鍏抽棴绐楀彛 */
+const closeDialog = () => {
+ options.img = userStore.avatar;
+ options.visible = false;
+}
+</script>
+
<style lang="scss" scoped>
.user-info-head {
position: relative;
--
Gitblit v1.9.3