From b062b8644906438b507e519537622f3d59711f6a Mon Sep 17 00:00:00 2001 From: woody Date: Wed, 22 Oct 2025 16:10:00 +0800 Subject: [PATCH] =?UTF-8?q?feat(resettle):=20=E9=98=B6=E6=AE=B5=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E6=B7=BB=E5=8A=A0=E7=82=B9=E5=87=BB=E4=BA=A4=E4=BA=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/architectures/resettleSO.vue | 14 +- .../resettleArchite/resettle2.vue | 368 +++++++++++++++++- 2 files changed, 375 insertions(+), 7 deletions(-) diff --git a/components/architectures/resettleSO.vue b/components/architectures/resettleSO.vue index 533e5f6..0118a32 100644 --- a/components/architectures/resettleSO.vue +++ b/components/architectures/resettleSO.vue @@ -15,18 +15,20 @@ treeData.extend, }" > - + - {{ + {{ treeData.memberCode }} - {{ treeData.memberName }} + {{ stageName }} + + {{ treeData.creationTime }} 空点位 @@ -54,6 +56,7 @@ :top="0" @click-node="clickNode" @click-top="clickTop" + :stageName="stageName" /> @@ -63,7 +66,7 @@ @@ -639,9 +929,15 @@ export default { .member-code { font-size: 24rpx; font-weight: bold; - color: #333; + color: #005bac; flex-shrink: 0; margin-right: 30rpx; + cursor: pointer; + text-decoration: underline; + + &:active { + color: #003d7a; + } } .status-badge { @@ -890,4 +1186,72 @@ export default { } } } + +/* 树形图弹窗样式 */ +.tree-popup { + width: 95vw; + height: 80vh; + background: #fff; + border-radius: 20rpx; + overflow: hidden; + display: flex; + flex-direction: column; + + .tree-popup-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 30rpx; + background: #f5f6f8; + border-bottom: 2rpx solid #eee; + flex-shrink: 0; + + .popup-title { + font-size: 32rpx; + font-weight: bold; + color: #333; + } + } + + .tree-popup-content { + flex: 1; + position: relative; + overflow: hidden; + + .loading-tree { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + font-size: 26rpx; + color: #999; + + text { + margin-left: 12rpx; + } + } + + .tree-container { + width: 100%; + height: 100%; + position: relative; + overflow: hidden; + background: #fff; + + .tree-scroll-main { + width: 100%; + height: 100%; + transform-origin: center center; + cursor: grab; + display: flex; + align-items: center; + justify-content: center; + + &:active { + cursor: grabbing; + } + } + } + } +}