style: 全局 UI 主题皮肤重构与样式模块化
引入 Element Plus 主题定制和主题皮肤 composable,将全局 样式拆分为组件级独立 CSS 文件(侧边栏、顶栏、工作台等), 统一色彩变量和间距规范,重构所有视图和组件样式以适配新 主题系统,优化图表和知识图谱组件视觉表现,提取审计和差 旅报销相关子组件。
This commit is contained in:
@@ -3,6 +3,7 @@ import { useRouter } from 'vue-router'
|
||||
|
||||
import LogTrendChart from '../../components/charts/LogTrendChart.vue'
|
||||
import DonutChart from '../../components/charts/DonutChart.vue'
|
||||
import EnterpriseSelect from '../../components/shared/EnterpriseSelect.vue'
|
||||
import TableLoadingState from '../../components/shared/TableLoadingState.vue'
|
||||
import { fetchAgentRuns } from '../../services/agentAssets.js'
|
||||
import { fetchSystemLogEntries } from '../../services/systemLogs.js'
|
||||
@@ -221,6 +222,7 @@ export default {
|
||||
components: {
|
||||
LogTrendChart,
|
||||
DonutChart,
|
||||
EnterpriseSelect,
|
||||
TableLoadingState
|
||||
},
|
||||
emits: ['summary-change'],
|
||||
@@ -237,20 +239,28 @@ export default {
|
||||
const systemLevelFilter = ref('')
|
||||
const systemEventTypeFilter = ref('')
|
||||
const systemLogEntries = ref([])
|
||||
const currentPage = ref(1)
|
||||
const pageSize = ref(10)
|
||||
const pageSizes = [10, 20, 50]
|
||||
const pageSizeOpen = ref(false)
|
||||
const currentPage = ref(1)
|
||||
const pageSize = ref(10)
|
||||
const pageSizes = [10, 20, 50]
|
||||
const pageSizeOptions = pageSizes.map((size) => ({ label: `${size} 条/页`, value: size }))
|
||||
let pollTimer = 0
|
||||
|
||||
const isAdmin = computed(() => isManagerUser(currentUser.value))
|
||||
const filteredHermesRuns = computed(() => hermesRuns.value)
|
||||
const systemLevelOptions = computed(() =>
|
||||
Array.from(new Set(systemLogEntries.value.map((entry) => entry.level).filter(Boolean)))
|
||||
)
|
||||
const systemEventTypeOptions = computed(() =>
|
||||
Array.from(new Set(systemLogEntries.value.map((entry) => entry.event_type).filter(Boolean)))
|
||||
)
|
||||
const systemLevelOptions = computed(() =>
|
||||
Array.from(new Set(systemLogEntries.value.map((entry) => entry.level).filter(Boolean)))
|
||||
)
|
||||
const systemEventTypeOptions = computed(() =>
|
||||
Array.from(new Set(systemLogEntries.value.map((entry) => entry.event_type).filter(Boolean)))
|
||||
)
|
||||
const systemLevelFilterOptions = computed(() => [
|
||||
{ label: '全部', value: '' },
|
||||
...systemLevelOptions.value
|
||||
])
|
||||
const systemEventTypeFilterOptions = computed(() => [
|
||||
{ label: '全部', value: '' },
|
||||
...systemEventTypeOptions.value
|
||||
])
|
||||
const filteredSystemLogEntries = computed(() => {
|
||||
const keyword = systemSearchKeyword.value.trim().toLowerCase()
|
||||
return systemLogEntries.value.filter((entry) => {
|
||||
@@ -330,11 +340,10 @@ export default {
|
||||
return filteredSystemLogEntries.value.slice(start, start + pageSize.value)
|
||||
})
|
||||
|
||||
function changePageSize(size) {
|
||||
pageSize.value = size
|
||||
pageSizeOpen.value = false
|
||||
currentPage.value = 1
|
||||
}
|
||||
function changePageSize(size) {
|
||||
pageSize.value = size
|
||||
currentPage.value = 1
|
||||
}
|
||||
|
||||
async function loadHermesRuns() {
|
||||
if (!isAdmin.value) {
|
||||
@@ -456,8 +465,8 @@ export default {
|
||||
loadSystemLogs,
|
||||
currentPage,
|
||||
pageSize,
|
||||
pageSizeOpen,
|
||||
pageSizes,
|
||||
pageSizes,
|
||||
pageSizeOptions,
|
||||
resolveLevelTone,
|
||||
resolveRunLevel,
|
||||
resolveRunModuleLabel,
|
||||
@@ -472,10 +481,12 @@ export default {
|
||||
runningRunCount,
|
||||
selectRun,
|
||||
selectSystemLog,
|
||||
systemEventTypeFilter,
|
||||
systemEventTypeOptions,
|
||||
systemLevelFilter,
|
||||
systemLevelOptions,
|
||||
systemEventTypeFilter,
|
||||
systemEventTypeFilterOptions,
|
||||
systemEventTypeOptions,
|
||||
systemLevelFilter,
|
||||
systemLevelFilterOptions,
|
||||
systemLevelOptions,
|
||||
systemLogEntries,
|
||||
systemLogLoading,
|
||||
systemSearchKeyword,
|
||||
|
||||
Reference in New Issue
Block a user