From 7f6af6907202cb7c9395a7020d249bd62e17d50f Mon Sep 17 00:00:00 2001
From: zhuzhuanzhuan
Date: 星期五, 05 一月 2024 17:59:17 +0800
Subject: [PATCH] 1、解决车间看板页面因浏览器兼容性问题导致的样式不适配问题(使用浏览器86版本与其他版本做对比) 2、优化车间看板页面代码,将看板拖拽区域设置高度后再设置限制拖拽以试图解决进入页面后有概率设备无法自由拖拽问题(猜想因父子组件渲染顺序导致,父组件还未渲染完成,子组件就已限制区域,此时区域高度可能0,未在现场调试,本地调试无问题) 3、优化设备利用率、开动率及班次利用率页面代码,解决因浏览器版本问题导致表格前3列文字无法垂直排列导致的布局问题以及调整右上角区间展示区域为响应式布局

---
 src/views/WorkshopSignage.vue |   85 +++++++++++++-----------------------------
 1 files changed, 26 insertions(+), 59 deletions(-)

diff --git a/src/views/WorkshopSignage.vue b/src/views/WorkshopSignage.vue
index 5dc5cb2..0d993f3 100644
--- a/src/views/WorkshopSignage.vue
+++ b/src/views/WorkshopSignage.vue
@@ -2,7 +2,7 @@
   <dv-full-screen-container class="full-screen-container">
     <header class="page-header" :style="{height: pageHeaderHeight+'px'}">
       {{ workshopDetails.workshopName }}
-      <div class="header-left" v-has="'home:saveDevicePositionAndSize'">
+      <div class="header-left" v-has="'home:saveDevicePositionAndSize'" v-if="!isFullScreen">
         <a-space>
           <span v-if="!isSwitchChecked">寮�鍚姛鑳�</span>
           <span v-else>鍏抽棴鍔熻兘</span>
@@ -36,7 +36,7 @@
           :y="item.coordinateTop"
           v-on:resizing="resize($event, index)"
           v-on:dragging="resize($event, index)"
-          :parentLimitation="true"
+          :parentLimitation="parentLimitation"
           :minw="70"
           :minh="70"
           :isDraggable="isDraggable"
@@ -103,10 +103,6 @@
     data() {
       return {
         pageHeaderHeight: 80,// 椤靛ご楂樺害
-        taskBarHeight: window.screen.height - window.screen.availHeight,// 灞忓箷搴曢儴浠诲姟鏍忛珮搴�
-        utilsBarHeight: window.outerHeight - window.innerHeight,// 娴忚鍣ㄥ伐鍏锋爮楂樺害
-        normalPageHeight: 0,
-        fullScreenPageHeight: 0,
         workshopDetails: {}, //  杞﹂棿璇︾粏淇℃伅,
         isDraggable: false, // 鏄惁寮�鍚嫋鎷�
         isResizable: false, // 鏄惁寮�鍚缉鏀�
@@ -146,7 +142,9 @@
             color: '#FF0000'
           }
         ],// 璁惧鐘舵�佹寚绀虹伅鍒楄〃锛�
-        isFullscreen: false
+        windowHeight: null,// 褰撳墠娴忚鍣ㄥ彲瑙嗗尯鍩熼珮搴︼紙锛堜笉鍖呮嫭宸ュ叿鏍忋�佷功绛俱�佸簳閮ㄤ换鍔℃爮锛夛紝杩涘叆椤甸潰鏃惰绠椾竴娆★紝闄ら潪閲嶆柊鍔犺浇椤甸潰鍚﹀垯娴忚鍣ㄥ彲瑙嗗尯鍩熼珮搴﹀垯涓嶅彂鐢熸敼鍙�
+        isFullScreen: false,// 杩涘叆鐪嬫澘椤甸潰鏃舵槸鍚︿负鍏ㄥ睆妯″紡锛屼笉鍖呮嫭姝e父妯″紡杩涘叆鍚庡垏鎹负鍏ㄥ睆妯″紡
+        parentLimitation: false// 鎷栨嫿鍖哄煙鏄惁闄愬埗鍦ㄧ埗鍏冪礌鍖哄煙鍐�
       }
     },
     watch: {
@@ -191,14 +189,8 @@
             this.workshopDetails.backgroundImage
           )})`
 
-          this.fullScreenPageHeight = `calc(100% - ${this.pageHeaderHeight}px)`
-          this.normalPageHeight = `calc(100% - ${this.pageHeaderHeight}px - ${this.taskBarHeight}px - ${this.utilsBarHeight}px)`
-
-          if (this.isFullscreen) {
-            this.$refs.deviceContainerRef.style.height = this.fullScreenPageHeight
-          } else {
-            this.$refs.deviceContainerRef.style.height = this.normalPageHeight
-          }
+          this.$refs.deviceContainerRef.style.height = (this.windowHeight - this.pageHeaderHeight) + 'px'
+          this.parentLimitation = true // 鍦ㄧ埗鍏冪礌楂樺害璁剧疆鍚庡啀璁剧疆闄愬埗鎷栨嫿鍖哄煙锛屼笉杩欐牱鏈夋鐜囧鑷寸埗鍏冪礌楂樺害鏈缃氨闄愬埗鎷栨嫿
         })
       },
 
@@ -299,64 +291,37 @@
         }
       },
 
-      onResize() {
-        // 鍒╃敤灞忓箷鍒嗚鲸鐜囧拰window瀵硅薄鐨勫唴楂樺害鏉ュ垽鏂吋瀹笽E
-        let winFlag = window.innerHeight === window.screen.height
-        // 鍒╃敤window鍏ㄥ睆鏍囪瘑鏉ュ垽鏂� -- IE鏃犳晥
-        let isFull = window.fullScreen || document.webkitIsFullScreen
-
-        if (isFull === undefined) {
-          this.isFullscreen = winFlag
-        } else {
-          this.isFullscreen = winFlag || isFull
-        }
-        console.log(winFlag)  // true鍏ㄥ睆   false涓嶆槸鍏ㄥ睆
-        console.log('浠诲姟鏍忛珮搴�', this.taskBarHeight)
-        console.log('宸ュ叿鏍忛珮搴�', this.utilsBarHeight)
-
-        //鍏ㄥ睆鍒欏浘绾哥洅瀛愬彲瑙嗛珮搴﹀噺鍘婚〉澶撮珮搴︼紝姝e父绐楀彛鍒欏噺鍘婚〉澶淬�佸睆骞曞簳閮ㄤ换鍔℃爮浠ュ強娴忚鍣ㄥ伐鍏锋爮楂樺害
-        if (winFlag) {
-          console.log('瑙﹀彂鍏ㄥ睆')
-          this.$refs.deviceContainerRef.style.height = this.fullScreenPageHeight
-
-        } else {
-          console.log('鍏抽棴鍏ㄥ睆')
-          // 濡傛灉鍒锋柊椤甸潰閲嶆柊鍔犺浇鍚庨粯璁ゅ浜庡叏灞忔ā寮忥紝鍒欏伐鍏锋爮楂樺害涓鸿礋鏁帮紝鍥犳闇�瑕侀��鍑哄叏灞忔ā寮忔椂閲嶇疆宸ュ叿鏍忛珮搴�
-          this.utilsBarHeight = window.outerHeight - window.innerHeight
-          this.normalPageHeight = `calc(100% - ${this.pageHeaderHeight}px - ${this.taskBarHeight}px - ${this.utilsBarHeight}px)`
-          this.$refs.deviceContainerRef.style.height = this.normalPageHeight
-        }
+      /**
+       * 娴忚鍣ㄥ昂瀵稿彂鐢熸敼鍙樻椂瑙﹀彂
+       */
+      handleWindowSizeChange() {
+        if (this.isFullScreen) location.reload() // 濡傛灉椤甸潰杩涘叆鏃朵负鍏ㄥ睆妯″紡锛屽垯鍦ㄥ垏鎹㈡ā寮忔椂閲嶆柊鍔犺浇椤甸潰浠ラ噸鏂拌幏鍙栨祻瑙堝櫒鍙鍖哄煙楂樺害
       }
-
     },
     created() {
       if (this.$route.params.id) {
         this.getDeviceListByApi(this.$route.params.id)
         this.getWorkshopDetailsByApi(this.$route.params.id)
       }
-
-
-      let winFlag = window.innerHeight === window.screen.height
-      // 鍒╃敤window鍏ㄥ睆鏍囪瘑鏉ュ垽鏂� -- IE鏃犳晥
-      let isFull = window.fullScreen || document.webkitIsFullScreen
-
-      if (isFull === undefined) {
-        this.isFullscreen = winFlag
-      } else {
-        this.isFullscreen = winFlag || isFull
-      }
-
-      // window.addEventListener('resize', this.onResize)
     },
     mounted() {
       // 绂佹鐢ㄦ埛閫変腑鍐呭
       document.onselectstart = () => false
+
+      this.windowHeight =
+        window.innerHeight ||
+        document.documentElement.clientHeight ||
+        document.body.clientHeight
+
+      // 鍒ゆ柇娴忚鍣ㄥ彲瑙嗗尯鍩熼珮搴︽槸鍚︾瓑浜庡垎杈ㄧ巼锛岃嫢鐩哥瓑鍒欒〃绀鸿繘鍏ユ椂娴忚鍣ㄤ负鍏ㄥ睆妯″紡
+      if (this.windowHeight === screen.height) this.isFullScreen = true
+
+      window.addEventListener('resize', this.handleWindowSizeChange)
     },
     beforeDestroy() {
       // 纭繚閿�姣佸畾鏃跺櫒銆佷簨浠跺強鍥炴敹璧勬簮
       clearInterval(this.timingAcquisition)
       this.timingAcquisition = null
-      // window.removeEventListener('resize', this.onResize)
     }
   }
 </script>
@@ -375,7 +340,7 @@
       .header-left {
         width: 450px;
         position: absolute;
-        left: 0px;
+        left: 0;
         top: 35px;
         display: flex;
         justify-content: space-evenly;
@@ -434,7 +399,9 @@
           width: 100%;
           height: 100%;
           display: flex;
-          align-items: end;
+          -webkit-align-items: flex-end;
+          -moz-align-items: flex-end;
+          -ms-align-items: flex-end;
 
           .status-image {
             background-size: 100% 100%;

--
Gitblit v1.9.3