|
@@ -1,5 +1,5 @@
|
|
|
<template>
|
|
|
- <div v-loading="isLoading" class="hc-datav-gui-box" element-loading-background="rgba(122, 122, 122, 0.8)">
|
|
|
+ <div id="hc-datav-gui" v-loading="isLoading" class="hc-datav-gui-box" element-loading-background="rgba(122, 122, 122, 0.8)">
|
|
|
<div class="hc-gui-info-img">
|
|
|
<el-carousel :autoplay="false" indicator-position="outside" arrow="always" trigger="click">
|
|
|
<el-carousel-item v-for="(item, index) in guiViewData" :key="index">
|
|
@@ -42,7 +42,11 @@ watch(() => [props.type, props.projectId], ([type, pid]) => {
|
|
|
|
|
|
//渲染完成
|
|
|
onMounted(() => {
|
|
|
+ windowResize()
|
|
|
getGuiData()
|
|
|
+ setTimeout(() => {
|
|
|
+ onWindowResize()
|
|
|
+ }, 500)
|
|
|
})
|
|
|
|
|
|
//获取柜子数量
|
|
@@ -72,6 +76,34 @@ const guiItemInfo = ref({})
|
|
|
const guiItemChange = (item) => {
|
|
|
guiItemInfo.value = item
|
|
|
}
|
|
|
+
|
|
|
+//监听浏览器窗口变化
|
|
|
+const windowResize = () => {
|
|
|
+ window.addEventListener('resize', resizeEvent)
|
|
|
+}
|
|
|
+const resizeEvent = () => {
|
|
|
+ window.requestAnimationFrame(() => {
|
|
|
+ onWindowResize()
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+//设置尺寸
|
|
|
+const onWindowResize = () => {
|
|
|
+ const { width: mainWidth, height: mainHeight } = getDomStyle('main-gui-content')
|
|
|
+ const scaleX = mainWidth / 1363
|
|
|
+ const scaleY = mainHeight / 600
|
|
|
+ const scale = scaleX < scaleY ? scaleX : scaleY
|
|
|
+ document.getElementById('hc-datav-gui').style.transform = `scale(${scale})`
|
|
|
+}
|
|
|
+
|
|
|
+const getDomStyle = (id) => {
|
|
|
+ try {
|
|
|
+ const dom = document.getElementById(id)
|
|
|
+ return { width: dom.offsetWidth, height: dom.offsetHeight }
|
|
|
+ } catch (error) {
|
|
|
+ return { width: 0, height: 0 }
|
|
|
+ }
|
|
|
+}
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss">
|