From 404dfd588ca780dbafea362880d185d3643ebf8b Mon Sep 17 00:00:00 2001 From: wujingjing <gersonwu@qq.com> Date: 星期四, 31 十月 2024 13:45:55 +0800 Subject: [PATCH] createTime --- src/components/chat/chatComponents/summaryCom/components/recordSetTable/RecordSetTable.vue | 40 +++++++++++++++++++++++++++++++--------- 1 files changed, 31 insertions(+), 9 deletions(-) diff --git a/src/components/chat/chatComponents/summaryCom/components/recordSetTable/RecordSetTable.vue b/src/components/chat/chatComponents/summaryCom/components/recordSetTable/RecordSetTable.vue index 4c1d85b..2bcc031 100644 --- a/src/components/chat/chatComponents/summaryCom/components/recordSetTable/RecordSetTable.vue +++ b/src/components/chat/chatComponents/summaryCom/components/recordSetTable/RecordSetTable.vue @@ -26,7 +26,7 @@ :maxHeight="tableHeight" :cell-style="tableCellStyle" :header-cell-style="tableHeaderCellStyle" - :data="chunkTableData[pager.index - 1]" + :data="tableData" @row-click="recordSelectChange" :spanMethod="objectSpanMethod" class="w-full h-full" @@ -291,14 +291,13 @@ return values; } - const groupData = _.groupBy(values, (item, index) => { - const groupValue = item[curGroupIndex]; - return groupValue; - }); + + + const groupData = getItemMap(values,curGroupIndex,true) // 椤哄欢涓嬩竴涓垎缁� i++; // 閲嶆柊鎺掑竷涓�涓嬩綅缃紝淇濊瘉 group 鐩搁偦锛屽悓鏃舵墦涓� rowspan - const result = Object.values(groupData).reduce((preVal, curVal) => { + const result = Object.values(Array.from(groupData.values())).reduce((preVal, curVal) => { curVal.map((item, index) => { // 琛屽垪浣滀负 key const key = `${j + index},${curGroupIndex}`; @@ -309,6 +308,26 @@ j += curVal.length; return preVal; }, []); + return result; +}; + + const getItemMap = <T>(arr: T[], defaultProps = 'ID', isMultiple = false) => { + if (!arr || arr.length === 0) return {}; + + const result = arr.reduce((acc, curr) => { + if (isMultiple) { + if (!acc.get(curr[defaultProps])) { + acc.set(curr[defaultProps], [curr]); + } else { + {/* acc[curr[defaultProps]].push(curr); */} + acc.get(curr[defaultProps]).push(curr); + } + } else { + acc.set(curr[defaultProps], curr); + } + return acc; + }, new Map()) as Map<string, T | T[]>; + return result; }; @@ -339,7 +358,8 @@ // 璁$畻姣忎竴鍒楁渶闀跨殑鏍囬瀛楃涓插拰鏍囬瀛楃涓查暱搴� for (const item of tableValues.value) { item.map((subItem, index) => { - const subItemLen = subItem?.gblen(); + // subItem 鍙兘鏄� 鏁板瓧 + const subItemLen = (subItem +'')?.gblen(); if (maxLenList[index] < subItemLen) { maxLenList[index] = subItemLen; maxStrList[index] = subItem; @@ -419,7 +439,7 @@ } if (tableCols.value.length > 0) { cellRowSpanMap.clear(); - tableValues.value = buildGroupData(tableValues.value); + // tableValues.value = buildGroupData(tableValues.value); calcColWidth(width); nextTick(() => { calcPagerHeight(); @@ -503,11 +523,13 @@ tableRef.value.doLayout(); // pager.index = 1; - chunkTableData.value = _.chunk(tableValues.value ?? [], pager.size); + chunkTableData.value = (_.chunk(tableValues.value ?? [], pager.size)); }; //#endregion +const tableData = computed(()=>buildGroupData(chunkTableData.value[pager.index - 1])) + const reloadTable = () => { // 閲嶆柊璁$畻瀹藉害 -- Gitblit v1.9.3