From ddd7e6f6c57c2f39305e94a74650e28bbf31f9e7 Mon Sep 17 00:00:00 2001
From: “linengliang” <vanSuperEnergy@163.com>
Date: 星期二, 12 三月 2024 16:24:29 +0800
Subject: [PATCH] 问题项修改

---
 src/views/WorkshopSignage.vue |   67 +++++++++++++++++++++------------
 1 files changed, 43 insertions(+), 24 deletions(-)

diff --git a/src/views/WorkshopSignage.vue b/src/views/WorkshopSignage.vue
index 6ef8d5b..c9209c4 100644
--- a/src/views/WorkshopSignage.vue
+++ b/src/views/WorkshopSignage.vue
@@ -1,8 +1,8 @@
 <template>
   <dv-full-screen-container class="full-screen-container">
-    <header class="page-header">
+    <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>
@@ -17,11 +17,11 @@
         <a-button type="primary" icon="save" size="large" @click="saveDevicePositionAndSizeByApi">淇濆瓨浣嶇疆</a-button>
       </div>
       <div class="device-status-info">
-        <div v-for="item in deviceStatusList" :key="item.value" class="single-status-info">
+        <a-space v-for="item in deviceStatusList" :key="item.value" class="single-status-info">
           <div>{{ item.label }}</div>
           <div class="status-square" :style="{ backgroundColor: item.color }"></div>
           <div>{{ getDeviceNumberByStatus(item.value) }}</div>
-        </div>
+        </a-space>
       </div>
     </header>
 
@@ -36,9 +36,10 @@
           :y="item.coordinateTop"
           v-on:resizing="resize($event, index)"
           v-on:dragging="resize($event, index)"
-          :parentLimitation="true"
-          :minw="100"
-          :minh="100"
+          :parentLimitation="parentLimitation"
+          :parentH="parentH"
+          :minw="70"
+          :minh="70"
           :isDraggable="isDraggable"
           :isResizable="isResizable"
           :stickSize="6"
@@ -77,7 +78,6 @@
             </div>
           </div>
         </VueDragResize>
-
       </div>
     </dv-border-box-8>
 
@@ -103,11 +103,13 @@
     },
     data() {
       return {
+        pageHeaderHeight: 80,// 椤靛ご楂樺害
         workshopDetails: {}, //  杞﹂棿璇︾粏淇℃伅,
         isDraggable: false, // 鏄惁寮�鍚嫋鎷�
         isResizable: false, // 鏄惁寮�鍚缉鏀�
         isSwitchChecked: false, // 鏄惁寮�鍚姛鑳�
         timingAcquisition: null, // 瀹氭椂鍒锋柊鏄惁寮�鍚�
+        parentH: 5000,//鐖剁骇楂樺害
         deviceList: [
           // {
           //   equipmentId: '123213213123232',// 璁惧ID
@@ -141,7 +143,10 @@
             value: 22,
             color: '#FF0000'
           }
-        ] // 璁惧鐘舵�佹寚绀虹伅鍒楄〃
+        ],// 璁惧鐘舵�佹寚绀虹伅鍒楄〃锛�
+        windowHeight: null,// 褰撳墠娴忚鍣ㄥ彲瑙嗗尯鍩熼珮搴︼紙锛堜笉鍖呮嫭宸ュ叿鏍忋�佷功绛俱�佸簳閮ㄤ换鍔℃爮锛夛紝杩涘叆椤甸潰鏃惰绠椾竴娆★紝闄ら潪閲嶆柊鍔犺浇椤甸潰鍚﹀垯娴忚鍣ㄥ彲瑙嗗尯鍩熼珮搴﹀垯涓嶅彂鐢熸敼鍙�
+        isFullScreen: false,// 杩涘叆鐪嬫澘椤甸潰鏃舵槸鍚︿负鍏ㄥ睆妯″紡锛屼笉鍖呮嫭姝e父妯″紡杩涘叆鍚庡垏鎹负鍏ㄥ睆妯″紡
+        parentLimitation: false// 鎷栨嫿鍖哄煙鏄惁闄愬埗鍦ㄧ埗鍏冪礌鍖哄煙鍐�
       }
     },
     watch: {
@@ -186,7 +191,9 @@
             this.workshopDetails.backgroundImage
           )})`
 
-
+          this.$refs.deviceContainerRef.style.height = (this.windowHeight - this.pageHeaderHeight) + 'px'
+          this.parentH = this.windowHeight - this.pageHeaderHeight
+          this.parentLimitation = true // 鍦ㄧ埗鍏冪礌楂樺害璁剧疆鍚庡啀璁剧疆闄愬埗鎷栨嫿鍖哄煙锛屼笉杩欐牱鏈夋鐜囧鑷寸埗鍏冪礌楂樺害鏈缃氨闄愬埗鎷栨嫿
         })
       },
 
@@ -273,7 +280,6 @@
       openDetail(item) {
         if (!this.isSwitchChecked) {
           if (item.equipmentStatus == 0) {
-            // this.$message.warn("璁惧澶勪簬鍏虫満鐘舵�侊紒");
             this.$message.warning('璁惧澶勪簬鍏虫満鐘舵�侊紒')
             return false
           }
@@ -285,8 +291,15 @@
           //   setTimeout( this.$refs.equmentDetaiModel.initData(item.equipmentId),0)
           // },1000*10)
         }
-      }
+      },
 
+      /**
+       * 娴忚鍣ㄥ昂瀵稿彂鐢熸敼鍙樻椂瑙﹀彂
+       */
+      handleWindowSizeChange() {
+        this.isFullScreen = !this.isFullScreen
+        if (!this.isFullScreen) location.reload() // 濡傛灉涓哄叏灞忔ā寮忥紝鍒欏湪鍒囨崲妯″紡鏃堕噸鏂板姞杞介〉闈互閲嶆柊鑾峰彇娴忚鍣ㄥ彲瑙嗗尯鍩熼珮搴�
+      }
     },
     created() {
       if (this.$route.params.id) {
@@ -297,9 +310,19 @@
     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
     }
@@ -313,7 +336,6 @@
     color: #fff;
 
     .page-header {
-      height: 80px;
       font-size: 50px;
       text-align: center;
       position: relative;
@@ -321,7 +343,7 @@
       .header-left {
         width: 450px;
         position: absolute;
-        left: 0px;
+        left: 0;
         top: 35px;
         display: flex;
         justify-content: space-evenly;
@@ -340,10 +362,6 @@
         justify-content: space-between;
 
         .single-status-info {
-          width: 60px;
-          display: flex;
-          align-items: center;
-          justify-content: space-between;
 
           .status-square {
             width: 14px;
@@ -357,10 +375,8 @@
 
     .content-container {
       width: 100%;
-      height: calc(100% - 80px);
       background-repeat: no-repeat;
       background-size: 100% 100%;
-
 
       .single-device {
         position: absolute;
@@ -380,13 +396,16 @@
           width: 100%;
           height: 100%;
           display: flex;
-          justify-content: space-between;
+          -webkit-align-items: flex-end;
+          -moz-align-items: flex-end;
+          -ms-align-items: flex-end;
 
           .status-image {
             background-size: 100% 100%;
             background-repeat: no-repeat;
-            width: 45px;
-            margin-right: 10px;
+            width: 10px;
+            height: 60%;
+            margin-right: 5px;
           }
 
           .device-image {

--
Gitblit v1.9.3