feat: 补全管理台功能 - 总览指标、搜索筛选、编辑模式、删除确认、全局日志查询

This commit is contained in:
2026-03-20 12:42:25 +08:00
parent 181cf09ad2
commit 0473a68dc2
19 changed files with 962 additions and 143 deletions

View File

@@ -10,6 +10,7 @@ import { logs } from '../data/logs.js';
import { mySkills, skillCategories, supportedModels, devDocs } from '../data/developerData.js';
import { projectMembers } from '../data/members.js';
import { scheduledTasks } from '../data/tasks.js';
import { adminDepartments, adminUsers, adminProjects, adminOverview, adminLogs } from '../data/adminData.js';
/**
* 用户相关 API
@@ -184,6 +185,48 @@ export const tasksApi = {
getById: (id) => scheduledTasks.find(task => task.id === id),
};
/**
* 管理台相关 API
*/
export const adminApi = {
/**
* 获取总览数据
* @returns {Object} 总览数据
*/
getOverview: () => adminOverview,
departments: {
list: () => adminDepartments,
getById: (id) => adminDepartments.find(d => d.id === id),
},
users: {
list: () => adminUsers,
getById: (id) => adminUsers.find(u => u.id === id),
},
projects: {
list: () => adminProjects,
getById: (id) => adminProjects.find(p => p.id === id),
},
logs: {
list: () => adminLogs,
filter: ({ keyword, user, department, type, status, startDate, endDate } = {}) => {
return adminLogs.filter(log => {
if (keyword && !log.action.includes(keyword) && !log.detail.includes(keyword)) return false;
if (user && log.user !== user) return false;
if (department && log.department !== department) return false;
if (type && log.type !== type) return false;
if (status && log.status !== status) return false;
if (startDate && log.time < startDate) return false;
if (endDate && log.time > endDate + ' 23:59:59') return false;
return true;
});
},
},
};
/**
* 统一 API 导出对象
*/
@@ -195,6 +238,7 @@ export const api = {
developer: developerApi,
members: membersApi,
tasks: tasksApi,
admin: adminApi,
};
export default api;