From 45f16bffeef4d72a0279c4178a85b0eeec50c4a3 Mon Sep 17 00:00:00 2001
From: wujingjing <gersonwu@qq.com>
Date: 星期三, 07 八月 2024 14:51:15 +0800
Subject: [PATCH] question

---
 src/components/chat/chatComponents/summaryCom/components/deviceLastValue/DeviceLastValueCom.vue |   36 ++++++++++++++++++++++++++++++++----
 1 files changed, 32 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..63c58e4 100644
--- a/src/components/chat/chatComponents/summaryCom/components/deviceLastValue/DeviceLastValueCom.vue
+++ b/src/components/chat/chatComponents/summaryCom/components/deviceLastValue/DeviceLastValueCom.vue
@@ -1,4 +1,5 @@
 <template>
+	<!-- 瀹炴椂鐩戞祴鍒楄〃 -->
 	<div ref="containerRef" class="w-full flex justify-center" v-resize="resizeHandler">
 		<div class="inline-block">
 			<div
@@ -8,6 +9,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"
@@ -50,6 +54,7 @@
 							:title="firstRow.title"
 							:type="firstRow.id"
 							:values="rowChunk"
+							@itemClick="valueClick"
 						/>
 					</div>
 					<!-- 鍓╀綑琛� -->
@@ -61,6 +66,7 @@
 						:title="row.title"
 						:type="row.id"
 						:values="rowChunk"
+						@itemClick="valueClick"
 					/>
 				</div>
 			</div>
@@ -75,12 +81,13 @@
 				@current-change="handleCurrentChange"
 			/>
 		</div>
+		<RecordSetDialog v-model="chartDlgIsShow" :otype="chartDlgMapRow?.OTYPE" :oname="chartDlgMapRow?.ONAME" :indexName="indexName"/>
 	</div>
 </template>
 
 <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';
 
@@ -97,6 +104,7 @@
 	THIN_BORDER_WIDTH,
 } from './constants';
 import type { Monitor, MonitorValue } from './types';
+import RecordSetDialog from '../recordSet/RecordSetDialog.vue';
 
 const props = defineProps(chatComProps) as {
 	data: Monitor;
@@ -162,12 +170,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 +219,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 鍒楁暟锛�
 };
@@ -249,6 +264,19 @@
 	return chunkResult;
 });
 
+//#region ====================== 鐐瑰嚮鐪嬫洸绾� ======================
+
+const chartDlgIsShow = ref(false);
+const chartDlgMapRow = ref(null);
+/** @description 鎸囨爣鍚嶇О */
+const indexName = ref(null);
+const valueClick = (item,type) => {
+	chartDlgMapRow.value = item;
+	chartDlgIsShow.value = true;
+	indexName.value = type;
+};
+//#endregion
+
 // 璁$畻鏈�澶у垪鏁�
 // (x-1)* cellWidth + rowHeaderCellContentWidth.value+thickBorderWidth*(x-1)+thickBorderWidth*2 <= width;
 
@@ -258,7 +286,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