From eb77732a7d7fdac62a72893fa4c0905e1e3b39df Mon Sep 17 00:00:00 2001 From: wintel Date: Tue, 13 May 2025 20:37:21 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90?= =?UTF-8?q?=E5=99=A8=E5=8D=95=E8=A1=A8=E6=94=AF=E6=8C=81=E9=AB=98=E7=BA=A7?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=92=8C=E5=88=97=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Template/SingleTable/BuildVue3.html | 40 ++++++++++++++++--- .../BuildVue3WithDynamicHeader.html | 30 ++++++++++++-- 2 files changed, 60 insertions(+), 10 deletions(-) diff --git a/OpenAuth.WebApi/Template/SingleTable/BuildVue3.html b/OpenAuth.WebApi/Template/SingleTable/BuildVue3.html index b9071935..a815a710 100644 --- a/OpenAuth.WebApi/Template/SingleTable/BuildVue3.html +++ b/OpenAuth.WebApi/Template/SingleTable/BuildVue3.html @@ -7,10 +7,11 @@
@@ -59,6 +60,8 @@ const listLoading = ref(true) //进度条 const dialogFormVisible = ref(false) //是否显示编辑框 const dialogStatus = ref(0) //0:新增 1:编辑 let temp = reactive({}) //新增(编辑)绑定对话框 +import ColumnSetting from '@/components/ColumnSetting/index.vue' +import QueryBuilder from '@/components/QueryBuilder/index.vue' const listQuery = reactive({ // 查询条件 page: 1, @@ -71,12 +74,37 @@ const rules = reactive({ //组件refs const mainTableRef = ref(null) const dataFormRef = ref(null) + onMounted(() => { + initHeaderList() + getList() +}) + +// 初始化表头 +const initHeaderList = () => { headerList.value = [ {HeaderList} ] - getList() -}) + + // 尝试从存储中加载列设置 + const savedSettings = getItem('{TableName}_column_settings') + if (savedSettings) { + // 将保存的设置合并到当前列表 + headerList.value = savedSettings + } +} + +// 处理列设置更新 +const handleColumnsUpdate = (columns) => { + if (columns) { + // 更新列显示配置 + headerList.value = columns + } else { + // 如果是null,则重置回默认配置 + initHeaderList() + } +} + const rowClick = function (row) { mainTableRef.value.clearSelection() mainTableRef.value.toggleRowSelection(row) diff --git a/OpenAuth.WebApi/Template/SingleTable/BuildVue3WithDynamicHeader.html b/OpenAuth.WebApi/Template/SingleTable/BuildVue3WithDynamicHeader.html index c45cbc6d..233fb2c6 100644 --- a/OpenAuth.WebApi/Template/SingleTable/BuildVue3WithDynamicHeader.html +++ b/OpenAuth.WebApi/Template/SingleTable/BuildVue3WithDynamicHeader.html @@ -7,10 +7,11 @@
@@ -59,6 +60,8 @@ const listLoading = ref(true) //进度条 const dialogFormVisible = ref(false) //是否显示编辑框 const dialogStatus = ref(0) //0:新增 1:编辑 let temp = reactive({}) //新增(编辑)绑定对话框 +import ColumnSetting from '@/components/ColumnSetting/index.vue' +import QueryBuilder from '@/components/QueryBuilder/index.vue' const listQuery = reactive({ // 查询条件 page: 1, @@ -118,10 +121,29 @@ const getList = function () { item.columnName.substring(1) }) headerList.value = response.columnFields + + // 尝试从存储中加载列设置 + const savedSettings = getItem('{TableName}_column_settings') + if (savedSettings) { + // 将保存的设置合并到当前列表 + headerList.value = savedSettings + } total.value = response.count listLoading.value = false }) } + +// 处理列设置更新 +const handleColumnsUpdate = (columns) => { + if (columns) { + // 更新列显示配置 + headerList.value = columns + } else { + // 如果是null,则重置回默认配置 + getList() + } +} + const handleFilter = function () { listQuery.page = 1 getList()