From 05e63f745d89c9a16280428208c28a98258f9391 Mon Sep 17 00:00:00 2001
From: wujingjing <gersonwu@qq.com>
Date: 星期五, 07 三月 2025 17:53:48 +0800
Subject: [PATCH] 选择列记忆

---
 vite.config.ts                                                        |    2 +-
 src/components/chat/components/playBar/businessTablePreview/index.vue |   34 ++++++++++++++++++++++++++++++----
 2 files changed, 31 insertions(+), 5 deletions(-)

diff --git a/src/components/chat/components/playBar/businessTablePreview/index.vue b/src/components/chat/components/playBar/businessTablePreview/index.vue
index 3e2dcc6..90de87e 100644
--- a/src/components/chat/components/playBar/businessTablePreview/index.vue
+++ b/src/components/chat/components/playBar/businessTablePreview/index.vue
@@ -15,7 +15,7 @@
 		</template>
 		<div class="w100 h100">
 			<div class="h-full flex-column">
-				<ColFilter class="flex-0 ml-auto mb-2" :column-list="tableCheckData" />
+				<ColFilter class="flex-0 ml-auto mb-2" :column-list="tableCheckData" @change="colFilterChange" />
 				<el-table v-loading="tableLoading" ref="draggableTableRef" class="flex-auto" border :data="tableData" highlight-current-row>
 					<el-table-column
 						v-for="item in visibleTableColumns"
@@ -38,6 +38,7 @@
 // import TableSearch from './search/index.vue';
 import type { Attach } from '../hook/useAttach';
 import ColFilter from '/@/components/table/colFilter/ColFilter.vue';
+import { LocalPlus } from '/@/utils/storage';
 const dialogIsShow = defineModel({
 	type: Boolean,
 });
@@ -58,7 +59,6 @@
 const tableData = ref([]);
 
 const tableColumns = ref([]);
-
 const tableCheckData = computed(() => {
 	return tableColumns.value.map((item) => {
 		return {
@@ -73,7 +73,6 @@
 		};
 	});
 });
-
 const visibleTableColumns = computed(() => {
 	return tableColumns.value.filter((item) => item.isShow);
 });
@@ -106,16 +105,43 @@
 	() => dialogIsShow.value,
 	(val) => {
 		if (!val) return;
-		tableColumns.value = (props.data?.model?.columns || []).map((item) => {
+		const data = (props.data?.model?.columns || []).map((item) => {
 			return {
 				name: item,
 				title: item,
 				isShow: true,
 			};
 		});
+
+		const finalData = getStoreCols(data);
+		tableColumns.value = finalData;
 		tableData.value = parseRecordData(props.data?.model?.values || [], tableColumns.value);
 	}
 );
+
+//#region ====================== 閫夋嫨鍒楄蹇� ======================
+const colFilterChange = () => {
+	storeCols(tableColumns.value);
+};
+const storeCols = (colList: any[]) => {
+	const key = colList.map((item) => item.label).join(',');
+	if (!key) return;
+	LocalPlus.set(`${key}-table-preview`, colList, 7);
+};
+const getStoreCols = (colList: any[]) => {
+	if (colList.length === 0) return colList;
+	const key = colList.map((item) => item.label).join(',');
+	if (!key) return colList;
+	const storeValue = LocalPlus.get(`${key}-table-preview`);
+
+	if (!storeValue) {
+		return colList;
+	} else {
+		return storeValue;
+	}
+};
+
+//#endregion
 </script>
 <style scoped lang="scss">
 .set-permission {
diff --git a/vite.config.ts b/vite.config.ts
index 27dae42..1c82ca0 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -58,7 +58,7 @@
 			host: '0.0.0.0',
 			port: env.VITE_PORT as unknown as number,
 			open: JSON.parse(env.VITE_OPEN),
-			hmr: true,
+			hmr: false,
 			proxy: {
 				'/events': {
 					target: 'http://localhost:3000',

--
Gitblit v1.9.3