diff --git a/src/assets/imgs/login-bkg.png b/src/assets/imgs/login-bkg.png new file mode 100644 index 0000000..8d1190f Binary files /dev/null and b/src/assets/imgs/login-bkg.png differ diff --git a/src/assets/imgs/login-img1.png b/src/assets/imgs/login-img1.png new file mode 100644 index 0000000..9c03ff4 Binary files /dev/null and b/src/assets/imgs/login-img1.png differ diff --git a/src/assets/imgs/login-title.png b/src/assets/imgs/login-title.png new file mode 100644 index 0000000..c178069 Binary files /dev/null and b/src/assets/imgs/login-title.png differ diff --git a/src/views/login/index.vue b/src/views/login/index.vue index be03803..e326d23 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -1,266 +1,369 @@ - - + - 内控业务管理系统 + - - - - - - + + + + + + + + + + + + - - - - - - - + + + + + + - 登录 + 记住密码 - + 登录 + + + + diff --git a/src/views/login/mixin/drawMixin.js b/src/views/login/mixin/drawMixin.js new file mode 100644 index 0000000..3f4d227 --- /dev/null +++ b/src/views/login/mixin/drawMixin.js @@ -0,0 +1,57 @@ +// 屏幕适配 mixin 函数 + +// * 默认缩放值 +const scale = { + width: '1', + height: '1', +} + +// * 设计稿尺寸(px) +const baseWidth = 1920 +const baseHeight = 1080 + +// * 需保持的比例(默认1.77778) +const baseProportion = parseFloat((baseWidth / baseHeight).toFixed(5)) + +export default { + data() { + return { + // * 定时函数 + drawTiming: null + } + }, + mounted () { + this.calcRate() + window.addEventListener('resize', this.resize) + }, + beforeDestroy () { + window.removeEventListener('resize', this.resize) + }, + methods: { + calcRate () { + const appRef = this.$refs["formContainer"] + if (!appRef) return + // 当前宽高比 + const currentRate = parseFloat((window.innerWidth / window.innerHeight).toFixed(5)) + if (appRef) { + if (currentRate > baseProportion) { + // 表示更宽 + scale.width = ((window.innerHeight * baseProportion) / baseWidth).toFixed(5) + scale.height = (window.innerHeight / baseHeight).toFixed(5) + appRef.style.transform = `scale(${scale.width}, ${scale.height})` + } else { + // 表示更高 + scale.height = ((window.innerWidth / baseProportion) / baseHeight).toFixed(5) + scale.width = (window.innerWidth / baseWidth).toFixed(5) + appRef.style.transform = `scale(${scale.width}, ${scale.height})` + } + } + }, + resize () { + clearTimeout(this.drawTiming) + this.drawTiming = setTimeout(() => { + this.calcRate() + }, 200) + } + }, +}