AdoS8PageConfigDto.cs 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. namespace Admin.NET.Plugin.AiDOP.Dto.S8;
  2. /// <summary>
  3. /// 大屏页面结构配置出参(GET /api/aidop/s8/dashboard/page-config)。
  4. /// 面向四大屏启动渲染使用:只返回 enabled=true 的配置,按 layout_area + sort_no 排序。
  5. /// 不替代 CRUD 接口 /api/aidop/s8/config/dashboard-cells,也不触发 ado_s8_exception 查询。
  6. /// G-09 一期:DTO 不含 ShowInSidebar、FilterExpression、TenantId/FactoryId/Id、CreatedAt/UpdatedAt。
  7. /// </summary>
  8. public class AdoS8PageConfigDto
  9. {
  10. public string PageCode { get; set; } = string.Empty;
  11. public List<AdoS8PageConfigCellDto> Cells { get; set; } = new();
  12. }
  13. public class AdoS8PageConfigCellDto
  14. {
  15. /// <summary>卡片编码(页面内唯一,前端 v-for key 锚点)</summary>
  16. public string CellCode { get; set; } = string.Empty;
  17. /// <summary>卡片标题(可为空,前端按组件默认标题渲染)</summary>
  18. public string? CellTitle { get; set; }
  19. /// <summary>前端图标 key(对应 @element-plus/icons-vue 组件名)</summary>
  20. public string? Icon { get; set; }
  21. /// <summary>主布局区域:MODULES / ANALYSIS / SIDEBAR</summary>
  22. public string LayoutArea { get; set; } = "ANALYSIS";
  23. /// <summary>展示形态:STAGE_CARD / CATEGORY_CARD / CATEGORY_COMPACT / DEPT_CLUSTER / CUSTOM</summary>
  24. public string DisplayMode { get; set; } = "CATEGORY_CARD";
  25. /// <summary>页面内排序</summary>
  26. public int SortNo { get; set; }
  27. /// <summary>绑定类型:EXCEPTION_TYPE / AGGREGATE / CUSTOM</summary>
  28. public string BindingType { get; set; } = "CUSTOM";
  29. /// <summary>binding_type=EXCEPTION_TYPE 时的异常类型编码</summary>
  30. public string? ExceptionTypeCode { get; set; }
  31. /// <summary>binding_type=AGGREGATE 时的聚合范围</summary>
  32. public string? AggregateScope { get; set; }
  33. /// <summary>统计指标:OPEN_COUNT / FREQUENCY / AVG_DURATION / CLOSE_RATE</summary>
  34. public string StatMetric { get; set; } = "OPEN_COUNT";
  35. /// <summary>时间窗:TODAY / LAST_24H / LAST_7D / LAST_30D</summary>
  36. public string TimeWindow { get; set; } = "LAST_24H";
  37. /// <summary>部门聚合维度:OWNER / OCCUR</summary>
  38. public string DeptGroupBy { get; set; } = "OWNER";
  39. /// <summary>是否启用(接口仅返回 enabled=true,此字段为前端知情副本)</summary>
  40. public bool Enabled { get; set; }
  41. }
  42. /// <summary>page-config 查询入参</summary>
  43. public class AdoS8PageConfigQueryDto
  44. {
  45. /// <summary>页面编码:OVERVIEW / DELIVERY / PRODUCTION / SUPPLY</summary>
  46. public string PageCode { get; set; } = string.Empty;
  47. /// <summary>租户 ID(0 = 仅全局基线;非 0 时会叠加工厂覆盖)</summary>
  48. public long TenantId { get; set; } = 0;
  49. /// <summary>工厂 ID(0 = 仅全局基线;非 0 时会叠加工厂覆盖)</summary>
  50. public long FactoryId { get; set; } = 0;
  51. }