From bcff2cf9253145d0dd4b36daed70a12ecbd2ff54 Mon Sep 17 00:00:00 2001
From: wujingjing <gersonwu@qq.com>
Date: 星期五, 26 七月 2024 10:56:57 +0800
Subject: [PATCH] 选择宽度自适应

---
 src/components/chat/chatComponents/summaryCom/components/deviceLastValue/DeviceLastValueCom.vue |   18 ++++++++++++++----
 1 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/src/components/chat/chatComponents/summaryCom/components/deviceLastValue/DeviceLastValueCom.vue b/src/components/chat/chatComponents/summaryCom/components/deviceLastValue/DeviceLastValueCom.vue
index 6b5edb2..8ded22a 100644
--- a/src/components/chat/chatComponents/summaryCom/components/deviceLastValue/DeviceLastValueCom.vue
+++ b/src/components/chat/chatComponents/summaryCom/components/deviceLastValue/DeviceLastValueCom.vue
@@ -8,6 +8,9 @@
 					backgroundColor: BORDER_COLOR,
 				}"
 			>
+				<div class="flex-center font-bold text-base bg-[#8db4e2]" :style="{ height: `${CELL_HEIGHT}px` }">
+					{{ data.title }}
+				</div>
 				<div
 					v-for="(rowChunk, index) in currentRowChunkList"
 					:key="index"
@@ -80,7 +83,7 @@
 
 <script setup lang="ts">
 import _ from 'lodash';
-import { computed, onMounted, ref } from 'vue';
+import { computed, onActivated, onMounted, ref } from 'vue';
 import MonitorContent from './MonitorContent.vue';
 import { debounce, getTextWidth } from '/@/utils/util';
 
@@ -162,12 +165,15 @@
 const restColWidth = ref(colHeaderCellContentWidth.value);
 const calcMaxRowsNum = (groupCount: number, height, extraHeight = 0) => {
 	return Math.floor(
-		(height - THICK_BORDER_WIDTH - extraHeight) /
+		(height - 2 * THICK_BORDER_WIDTH - CELL_HEIGHT - extraHeight) /
 			(CELL_HEIGHT * groupCount + 2 * THICK_BORDER_WIDTH + THIN_BORDER_WIDTH * (groupCount - 2))
 	);
 };
 let maxColsNum = ref<number>(null);
 const resizeEvent = ({ width, height }) => {
+	if (width === 0 || height === 0) {
+		return;
+	}
 	// 鎸夋渶澶у搴︾畻鏈�澶у垪鏁�
 	maxColsNum.value = Math.floor(
 		(width - THICK_BORDER_WIDTH + colHeaderCellContentWidth.value - rowHeaderCellContentWidth.value) /
@@ -208,7 +214,11 @@
 	const isNeedPage = maxColsRowsNum > rowsNum;
 	rowsNum = isNeedPage ? calcMaxRowsNum(groupCount, height, PAGE_HEIGHT) : maxColsRowsNum;
 	// rowsNum 琛岋紝maxColsNum鍒楋紝绗竴鍒椾笉绠�
-	pageSize.value = isNeedPage ? rowsNum * (maxColsNum.value - 1) : total;
+	pageSize.value = isNeedPage
+		? rowsNum * (maxColsNum.value - 1)
+		: total % (maxColsNum.value - 1) === 0
+		? total
+		: (Math.floor(total / (maxColsNum.value - 1)) + 1) * (maxColsNum.value - 1);
 	pageIndex.value = 1;
 	// isNeedPage 鏄惁鍒嗛〉锛宺owsNum 琛屾暟锛宮axColsNum 鍒楁暟锛�
 };
@@ -258,7 +268,7 @@
 // const groupCount = (TEST_DATA?.rows?.length ?? 0) + 1;
 // 璁$畻鏈�澶ц鏁�
 // y * (cellHeight * groupCount) +
-// 	(y - 1) * (2 * thickBorderWidth) +
+// 	(y - 1) * (2 * thickBorderWidth) +cellHeight+thickBorderWidth
 // 	thickBorderWidth +
 // 	thickBorderWidth * 2 +
 // 	y * (groupCount - 2) * thinBorderWidth <=

--
Gitblit v1.9.3