Merge remote-tracking branch 'ruoyi-cloud/master' into dev

# Conflicts:
#	pom.xml
#	ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysMenu.java
#	ruoyi-ui/src/views/system/user/index.vue
#	ruoyi-ui/src/views/system/user/profile/userAvatar.vue
2.X
疯狂的狮子li 2 years ago
commit 29fb70c838

@ -1,12 +1,16 @@
<template> <template>
<div id="app"> <div id="app">
<router-view /> <router-view />
<theme-picker />
</div> </div>
</template> </template>
<script> <script>
import ThemePicker from "@/components/ThemePicker";
export default { export default {
name: 'App', name: "App",
components: { ThemePicker },
metaInfo() { metaInfo() {
return { return {
title: this.$store.state.settings.dynamicTitle && this.$store.state.settings.title, title: this.$store.state.settings.dynamicTitle && this.$store.state.settings.title,
@ -15,5 +19,10 @@ export default {
} }
} }
} }
} };
</script> </script>
<style scoped>
#app .theme-picker {
display: none;
}
</style>

@ -250,9 +250,10 @@
} }
.avatar-upload-preview { .avatar-upload-preview {
position: absolute; position: relative;
top: 50%; top: 50%;
transform: translate(50%, -50%); left: 50%;
transform: translate(-50%, -50%);
width: 200px; width: 200px;
height: 200px; height: 200px;
border-radius: 50%; border-radius: 50%;

@ -576,8 +576,8 @@ export default {
this.form = response.data.user; this.form = response.data.user;
this.postOptions = response.data.posts; this.postOptions = response.data.posts;
this.roleOptions = response.data.roles; this.roleOptions = response.data.roles;
this.form.postIds = response.data.postIds; this.$set(this.form, "postIds", response.data.postIds);
this.form.roleIds = response.data.roleIds; this.$set(this.form, "roleIds", response.data.roleIds);
this.open = true; this.open = true;
this.title = "修改用户"; this.title = "修改用户";
this.form.password = ""; this.form.password = "";
@ -667,4 +667,3 @@ export default {
} }
}; };
</script> </script>

@ -24,7 +24,7 @@
</el-row> </el-row>
<br /> <br />
<el-row> <el-row>
<el-col :lg="2" :md="2"> <el-col :lg="2" :sm="3" :xs="3">
<el-upload action="#" :http-request="requestUpload" :show-file-list="false" :before-upload="beforeUpload"> <el-upload action="#" :http-request="requestUpload" :show-file-list="false" :before-upload="beforeUpload">
<el-button size="small"> <el-button size="small">
选择 选择
@ -32,19 +32,19 @@
</el-button> </el-button>
</el-upload> </el-upload>
</el-col> </el-col>
<el-col :lg="{span: 1, offset: 2}" :md="2"> <el-col :lg="{span: 1, offset: 2}" :sm="2" :xs="2">
<el-button icon="el-icon-plus" size="small" @click="changeScale(1)"></el-button> <el-button icon="el-icon-plus" size="small" @click="changeScale(1)"></el-button>
</el-col> </el-col>
<el-col :lg="{span: 1, offset: 1}" :md="2"> <el-col :lg="{span: 1, offset: 1}" :sm="2" :xs="2">
<el-button icon="el-icon-minus" size="small" @click="changeScale(-1)"></el-button> <el-button icon="el-icon-minus" size="small" @click="changeScale(-1)"></el-button>
</el-col> </el-col>
<el-col :lg="{span: 1, offset: 1}" :md="2"> <el-col :lg="{span: 1, offset: 1}" :sm="2" :xs="2">
<el-button icon="el-icon-refresh-left" size="small" @click="rotateLeft()"></el-button> <el-button icon="el-icon-refresh-left" size="small" @click="rotateLeft()"></el-button>
</el-col> </el-col>
<el-col :lg="{span: 1, offset: 1}" :md="2"> <el-col :lg="{span: 1, offset: 1}" :sm="2" :xs="2">
<el-button icon="el-icon-refresh-right" size="small" @click="rotateRight()"></el-button> <el-button icon="el-icon-refresh-right" size="small" @click="rotateRight()"></el-button>
</el-col> </el-col>
<el-col :lg="{span: 2, offset: 6}" :md="2"> <el-col :lg="{span: 2, offset: 6}" :sm="2" :xs="2">
<el-button type="primary" size="small" @click="uploadImg()"> </el-button> <el-button type="primary" size="small" @click="uploadImg()"> </el-button>
</el-col> </el-col>
</el-row> </el-row>
@ -56,6 +56,7 @@
import store from "@/store"; import store from "@/store";
import { VueCropper } from "vue-cropper"; import { VueCropper } from "vue-cropper";
import { uploadAvatar } from "@/api/system/user"; import { uploadAvatar } from "@/api/system/user";
import { debounce } from '@/utils'
export default { export default {
components: { VueCropper }, components: { VueCropper },
@ -80,7 +81,8 @@ export default {
fixedBox: true, // fixedBox: true, //
filename: '' filename: ''
}, },
previews: {} previews: {},
resizeHandler: null
}; };
}, },
methods: { methods: {
@ -91,6 +93,16 @@ export default {
// //
modalOpened() { modalOpened() {
this.visible = true; this.visible = true;
if (!this.resizeHandler) {
this.resizeHandler = debounce(() => {
this.refresh()
}, 100)
}
window.addEventListener("resize", this.resizeHandler)
},
//
refresh() {
this.$refs.cropper.refresh();
}, },
// //
requestUpload() { requestUpload() {
@ -144,6 +156,7 @@ export default {
closeDialog() { closeDialog() {
this.options.img = store.getters.avatar this.options.img = store.getters.avatar
this.visible = false; this.visible = false;
window.removeEventListener("resize", this.resizeHandler)
} }
} }
}; };
@ -173,3 +186,4 @@ export default {
border-radius: 50%; border-radius: 50%;
} }
</style> </style>

Loading…
Cancel
Save