diff --git a/sub-operation-service/src/views/ecommerce/supplier.vue b/sub-operation-service/src/views/ecommerce/supplier.vue index e700b43..9092d86 100644 --- a/sub-operation-service/src/views/ecommerce/supplier.vue +++ b/sub-operation-service/src/views/ecommerce/supplier.vue @@ -216,11 +216,35 @@ const handleCurrentChange = (val) => { pagination.current = val; getList(); }; + +const sortTreeByDescendingId = (nodes) => { + if (!nodes || !nodes.length) return []; + + // 对当前层级节点排序(BigInt 安全比较) + const sortedNodes = [...nodes].sort((a, b) => { + const idA = BigInt(a.id); + const idB = BigInt(b.id); + return idA > idB ? -1 : idA < idB ? 1 : 0; // 降序 + }); + + // 递归排序每个节点的 children + sortedNodes.forEach((node) => { + if (node.children && node.children.length) { + node.children = sortTreeByDescendingId(node.children); + } + }); + + return sortedNodes; +}; + const getTree = () => { transaction().then((res) => { if (res.code === 200) { - let a = res.data.sort((a, b) => Number(b.id) - Number(a.id)); - treeList.splice(0, treeList.length, ...a); + // 2. 使用排序函数 + const sortedData = sortTreeByDescendingId(res.data); + treeList.splice(0, treeList.length, ...sortedData); + // let a = res.data.sort((a, b) => Number(b.id) - Number(a.id)); + // treeList.splice(0, treeList.length, ...a); // console.log('treeList', treeList); } });