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 @@
-
-
-
-
-
-
-
-
-
新增核查进度
+
+
-
-
+
+
@@ -205,10 +208,25 @@ onMounted(async () => {
.page {
padding: 16px;
}
-.filters {
+.table-toolbar {
display: flex;
- gap: 8px;
+ justify-content: space-between;
align-items: center;
+ margin-bottom: 20px;
+ gap: 16px;
+ flex-wrap: wrap;
+}
+.filter-group {
+ display: flex;
+ gap: 12px;
+ align-items: center;
+ flex-wrap: wrap;
+}
+.filter-item {
+ width: 160px;
+}
+.site-selector {
+ width: 220px;
}
.spacer {
flex: 1;
diff --git a/frontend/src/views/admin/AuditLogs.vue b/frontend/src/views/admin/AuditLogs.vue
index f3a9a4e2..207085c9 100644
--- a/frontend/src/views/admin/AuditLogs.vue
+++ b/frontend/src/views/admin/AuditLogs.vue
@@ -1,48 +1,54 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
查询
-
- 导出系统审计
-
-
- 导出项目审计
-
+
+
{{ displayDateTime(scope.row.timestamp) }}
@@ -318,16 +324,6 @@ onMounted(async () => {
.page {
padding: 16px;
}
-.filters {
- display: flex;
- gap: 8px;
- align-items: center;
- margin-bottom: 12px;
- flex-wrap: wrap;
-}
-.spacer {
- flex: 1;
-}
.pagination {
margin-top: 12px;
text-align: right;