diff --git a/frontend/dist/index.html b/frontend/dist/index.html index 8107d5b9..5ac88abe 100644 --- a/frontend/dist/index.html +++ b/frontend/dist/index.html @@ -4,8 +4,8 @@ CTMS - - + +
diff --git a/frontend/src/styles/main.css b/frontend/src/styles/main.css index 60c9d2f2..f0b35559 100644 --- a/frontend/src/styles/main.css +++ b/frontend/src/styles/main.css @@ -156,3 +156,30 @@ body { .el-tag--success { background-color: #f6ffed; color: var(--ctms-success); border: 1px solid #b7eb8f; } .el-tag--warning { background-color: #fffbe6; color: var(--ctms-warning); border: 1px solid #ffe58f; } .el-tag--danger { background-color: #fff1f0; color: var(--ctms-danger); border: 1px solid #ffa39e; } + +/* 列表整合工具栏 (Table Toolbar) */ +.ctms-table-toolbar { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 20px; + gap: 16px; + flex-wrap: wrap; +} + +.ctms-filter-group { + display: flex; + gap: 12px; + align-items: center; + flex-wrap: wrap; +} + +.ctms-filter-item { + width: 160px; +} + +.ctms-action-group { + display: flex; + gap: 12px; + align-items: center; +} diff --git a/frontend/src/views/MilestoneDetail.vue b/frontend/src/views/MilestoneDetail.vue index 936778d3..068c5231 100644 --- a/frontend/src/views/MilestoneDetail.vue +++ b/frontend/src/views/MilestoneDetail.vue @@ -121,12 +121,17 @@ const siteName = (row: any) => { const ownerName = (ownerId: string) => { const memberMap = members.value.reduce>((acc, cur) => { - const username = cur?.user?.display_name || cur?.user?.username || cur?.username; + const username = cur?.user?.display_name || cur?.user?.full_name || cur?.user?.username || cur?.username; if (cur?.user_id) acc[cur.user_id] = username || cur.user_id; + if (cur?.id) acc[cur.id] = username || cur.id; return acc; }, {}); + const owner = milestone.value?.owner; - return owner?.display_name || owner?.username || displayUser(ownerId, { members: memberMap }); + const nameFromObject = owner?.display_name || owner?.full_name || owner?.username; + if (nameFromObject) return nameFromObject; + + return memberMap[ownerId] || ownerId || "—"; }; onMounted(async () => { diff --git a/frontend/src/views/Verification.vue b/frontend/src/views/Verification.vue index 3b63b984..9982bda2 100644 --- a/frontend/src/views/Verification.vue +++ b/frontend/src/views/Verification.vue @@ -1,31 +1,34 @@