diff --git a/ruoyi-ui/src/views/JiHeExpressway/components/Adaptation.vue b/ruoyi-ui/src/views/JiHeExpressway/components/Adaptation.vue index 403081c7..47f79ff9 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/components/Adaptation.vue +++ b/ruoyi-ui/src/views/JiHeExpressway/components/Adaptation.vue @@ -50,12 +50,38 @@ export default { initScale() { let winW = window.innerWidth; let winH = window.innerHeight; - this.scale.scaleX = winW / this.defaultWidth; - this.scale.scaleY = winH / this.defaultHeight; + + this.setScale(this.scale.scaleX = winW / this.defaultWidth, this.scale.scaleY = winH / this.defaultHeight) + }, + setScale(scaleX, scaleY) { + const cssGlobalVariable = [ + [ + '--keep-ratio', + '' + ], + [ + '--reverse-scale', + '' + ], + ]; + + if (scaleX > scaleY) { + cssGlobalVariable[0][1] = `scaleX(${1 / scaleX * scaleY})`; + cssGlobalVariable[1][1] = `scaleY(${1 / scaleX})`; + } else { + cssGlobalVariable[0][1] = `scaleY(${1 / scaleY * scaleX})`; + cssGlobalVariable[1][1] = `scaleX(${1 / scaleY})`; + } + + cssGlobalVariable.forEach((data) => { + document.documentElement.style.setProperty(...data); + }); + } }, mounted() { this.initScale(); + window.addEventListener( "resize", _.debounce(this.initScale.bind(this), 360) @@ -64,6 +90,56 @@ export default { }; + +