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