UNPKG

taskflow-ai

Version:

TaskFlow AI - 智能PRD文档解析与任务管理助手,支持多模型AI协同、MCP编辑器集成,专为开发团队设计的CLI工具

189 lines (188 loc) 4.85 kB
/** * 仪表板生成器 - 创建综合性的项目仪表板 * 整合多个图表和指标,提供全面的项目视图 */ import { Logger } from '../../infra/logger'; import { TaskPlan } from '../../types/task'; import { OrchestrationResult } from '../ai/intelligent-orchestrator'; import { ChartType, GeneratedChart } from './chart-generator'; /** * 仪表板类型枚举 */ export declare enum DashboardType { EXECUTIVE = "executive",// 高管仪表板 PROJECT_MANAGER = "project_manager",// 项目经理仪表板 DEVELOPER = "developer",// 开发者仪表板 TEAM_LEAD = "team_lead",// 团队负责人仪表板 STAKEHOLDER = "stakeholder",// 利益相关者仪表板 CUSTOM = "custom" } /** * 仪表板布局类型 */ export declare enum DashboardLayout { GRID = "grid",// 网格布局 MASONRY = "masonry",// 瀑布流布局 TABS = "tabs",// 标签页布局 ACCORDION = "accordion",// 手风琴布局 SIDEBAR = "sidebar" } /** * 仪表板组件接口 */ export interface DashboardWidget { id: string; type: 'chart' | 'metric' | 'table' | 'text' | 'custom'; title: string; description?: string; position: { x: number; y: number; width: number; height: number; }; data?: unknown; config?: Record<string, unknown>; refreshInterval?: number; visible?: boolean; permissions?: string[]; } /** * 仪表板配置接口 */ export interface DashboardConfig { type: DashboardType; layout: DashboardLayout; title: string; description?: string; theme: 'light' | 'dark' | 'auto'; refreshInterval: number; autoRefresh: boolean; responsive: boolean; exportable: boolean; shareable: boolean; filters?: DashboardFilter[]; customCss?: string; } /** * 仪表板过滤器接口 */ export interface DashboardFilter { id: string; name: string; type: 'select' | 'multiselect' | 'date' | 'daterange' | 'text' | 'number'; options?: Array<{ label: string; value: string | number | boolean; }>; defaultValue?: string | number | boolean; required?: boolean; } /** * 生成的仪表板接口 */ export interface GeneratedDashboard { id: string; config: DashboardConfig; widgets: DashboardWidget[]; charts: GeneratedChart[]; metrics: DashboardMetric[]; metadata: { generatedAt: Date; dataSource: string; version: string; lastUpdated?: Date; }; } /** * 仪表板指标接口 */ export interface DashboardMetric { id: string; name: string; value: number | string; unit?: string; trend?: { direction: 'up' | 'down' | 'stable'; percentage: number; period: string; }; target?: number; status: 'good' | 'warning' | 'critical'; description?: string; category: string; } /** * 仪表板生成器类 */ export declare class DashboardGenerator { private logger; private chartGenerator; constructor(logger: Logger); /** * 生成高管仪表板 * @param taskPlan 任务计划 * @param orchestrationResult 编排结果 */ generateExecutiveDashboard(taskPlan: TaskPlan, orchestrationResult?: OrchestrationResult): GeneratedDashboard; /** * 生成项目经理仪表板 * @param taskPlan 任务计划 * @param orchestrationResult 编排结果 */ generateProjectManagerDashboard(taskPlan: TaskPlan, orchestrationResult?: OrchestrationResult): GeneratedDashboard; /** * 生成开发者仪表板 * @param taskPlan 任务计划 * @param developerId 开发者ID */ generateDeveloperDashboard(taskPlan: TaskPlan, developerId: string): GeneratedDashboard; /** * 生成自定义仪表板 * @param taskPlan 任务计划 * @param customConfig 自定义配置 */ generateCustomDashboard(taskPlan: TaskPlan, customConfig: { title: string; chartTypes: ChartType[]; layout: DashboardLayout; theme: 'light' | 'dark' | 'auto'; filters?: DashboardFilter[]; }): GeneratedDashboard; /** * 生成仪表板ID */ private generateDashboardId; /** * 计算高管指标 */ private calculateExecutiveMetrics; /** * 计算项目经理指标 */ private calculateProjectManagerMetrics; /** * 计算开发者指标 */ private calculateDeveloperMetrics; /** * 获取负责人选项 */ private getAssigneeOptions; /** * 获取状态选项 */ private getStatusOptions; /** * 格式化任务表格 */ private formatTaskTable; /** * 自动布局组件 */ private autoLayoutWidgets; /** * 计算组件位置 */ private calculatePosition; }