feat: 优化 AuditView 样式与交互细节
This commit is contained in:
@@ -91,6 +91,9 @@
|
|||||||
.main.settings-main {
|
.main.settings-main {
|
||||||
grid-template-rows: minmax(0, 1fr);
|
grid-template-rows: minmax(0, 1fr);
|
||||||
}
|
}
|
||||||
|
.main.audit-detail-main {
|
||||||
|
grid-template-rows: minmax(0, 1fr);
|
||||||
|
}
|
||||||
.workarea { overflow: auto; padding: 24px; }
|
.workarea { overflow: auto; padding: 24px; }
|
||||||
.workarea.chat-workarea {
|
.workarea.chat-workarea {
|
||||||
min-height: 0;
|
min-height: 0;
|
||||||
|
|||||||
@@ -247,6 +247,7 @@ tbody tr.spotlight {
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
display: grid;
|
display: grid;
|
||||||
|
align-content: start;
|
||||||
gap: 16px;
|
gap: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -299,6 +300,10 @@ tbody tr.spotlight {
|
|||||||
margin-top: 12px;
|
margin-top: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.inline-review-meta {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
.hero-review-meta span {
|
.hero-review-meta span {
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@@ -366,7 +371,7 @@ tbody tr.spotlight {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.detail-grid.skill-md-detail-grid {
|
.detail-grid.skill-md-detail-grid {
|
||||||
grid-template-columns: minmax(0, 1fr) 360px;
|
grid-template-columns: minmax(0, 1fr) 372px;
|
||||||
align-items: stretch;
|
align-items: stretch;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -476,6 +481,7 @@ tbody tr.spotlight {
|
|||||||
|
|
||||||
.skill-review-side {
|
.skill-review-side {
|
||||||
align-content: start;
|
align-content: start;
|
||||||
|
padding-right: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.review-card {
|
.review-card {
|
||||||
|
|||||||
@@ -20,12 +20,13 @@
|
|||||||
'approval-main': activeView === 'approval',
|
'approval-main': activeView === 'approval',
|
||||||
'policies-main': activeView === 'policies',
|
'policies-main': activeView === 'policies',
|
||||||
'audit-main': activeView === 'audit',
|
'audit-main': activeView === 'audit',
|
||||||
|
'audit-detail-main': activeView === 'audit' && auditDetailOpen,
|
||||||
'employees-main': activeView === 'employees',
|
'employees-main': activeView === 'employees',
|
||||||
'settings-main': activeView === 'settings'
|
'settings-main': activeView === 'settings'
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
<TopBar
|
<TopBar
|
||||||
v-if="activeView !== 'settings'"
|
v-if="activeView !== 'settings' && !(activeView === 'audit' && auditDetailOpen)"
|
||||||
:current-view="topBarView"
|
:current-view="topBarView"
|
||||||
:search="search"
|
:search="search"
|
||||||
:active-view="activeView"
|
:active-view="activeView"
|
||||||
@@ -112,7 +113,7 @@
|
|||||||
|
|
||||||
<ApprovalCenterView v-else-if="activeView === 'approval'" />
|
<ApprovalCenterView v-else-if="activeView === 'approval'" />
|
||||||
<PoliciesView v-else-if="activeView === 'policies'" @summary-change="knowledgeSummary = $event" />
|
<PoliciesView v-else-if="activeView === 'policies'" @summary-change="knowledgeSummary = $event" />
|
||||||
<AuditView v-else-if="activeView === 'audit'" />
|
<AuditView v-else-if="activeView === 'audit'" @detail-open-change="auditDetailOpen = $event" />
|
||||||
<EmployeeManagementView v-else-if="activeView === 'employees'" @overview-change="employeeSummary = $event" />
|
<EmployeeManagementView v-else-if="activeView === 'employees'" @overview-change="employeeSummary = $event" />
|
||||||
<SettingsView v-else />
|
<SettingsView v-else />
|
||||||
</section>
|
</section>
|
||||||
@@ -153,6 +154,7 @@ import { filterNavItemsByAccess } from '../utils/accessControl.js'
|
|||||||
|
|
||||||
const employeeSummary = ref(null)
|
const employeeSummary = ref(null)
|
||||||
const knowledgeSummary = ref(null)
|
const knowledgeSummary = ref(null)
|
||||||
|
const auditDetailOpen = ref(false)
|
||||||
|
|
||||||
const {
|
const {
|
||||||
activeCase,
|
activeCase,
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { computed, ref } from 'vue'
|
import { computed, ref, watch } from 'vue'
|
||||||
|
|
||||||
const TYPE_META = {
|
const TYPE_META = {
|
||||||
skills: {
|
skills: {
|
||||||
@@ -545,7 +545,8 @@ const assets = [
|
|||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'AuditView',
|
name: 'AuditView',
|
||||||
setup() {
|
emits: ['detail-open-change'],
|
||||||
|
setup(props, { emit }) {
|
||||||
const tabs = [
|
const tabs = [
|
||||||
{ id: 'skills', label: 'Skills' },
|
{ id: 'skills', label: 'Skills' },
|
||||||
{ id: 'mcp', label: 'MCP' },
|
{ id: 'mcp', label: 'MCP' },
|
||||||
@@ -562,6 +563,14 @@ export default {
|
|||||||
const tableColumns = computed(() => activeMeta.value.tableColumns)
|
const tableColumns = computed(() => activeMeta.value.tableColumns)
|
||||||
const visibleSkills = computed(() => assets.filter((item) => item.type === activeType.value))
|
const visibleSkills = computed(() => assets.filter((item) => item.type === activeType.value))
|
||||||
|
|
||||||
|
watch(
|
||||||
|
selectedSkill,
|
||||||
|
(value) => {
|
||||||
|
emit('detail-open-change', Boolean(value))
|
||||||
|
},
|
||||||
|
{ immediate: true }
|
||||||
|
)
|
||||||
|
|
||||||
function openVersionSwitch(version) {
|
function openVersionSwitch(version) {
|
||||||
if (!selectedSkill.value || version.version === selectedSkill.value.version) {
|
if (!selectedSkill.value || version.version === selectedSkill.value.version) {
|
||||||
return
|
return
|
||||||
|
|||||||
Reference in New Issue
Block a user