数据可视化大屏
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

103 Zeilen
4.6KB

  1. import { AfterViewInit, Component, ElementRef, OnInit, ViewChild, inject } from '@angular/core';
  2. import { STColumn, STComponent } from '@delon/abc/st';
  3. import { SFSchema } from '@delon/form';
  4. import { ModalHelper, _HttpClient } from '@delon/theme';
  5. import { SHARED_IMPORTS } from '@shared';
  6. import { AgGridAngular } from 'ag-grid-angular'; // AG Grid Component
  7. import { ColDef } from 'ag-grid-community'; // Column Definition Type Interface
  8. import { DataVCardComponent } from '../card/card.component';
  9. import { DataVTitleComponent } from '../title/title.component';
  10. @Component({
  11. selector: 'app-data-v-workstation',
  12. standalone: true,
  13. imports: [AgGridAngular, DataVCardComponent, DataVTitleComponent, ...SHARED_IMPORTS],
  14. templateUrl: './workstation.component.html',
  15. styleUrls: ['./workstation.component.less']
  16. })
  17. export class DataVWorkstationComponent implements OnInit, AfterViewInit {
  18. private readonly http = inject(_HttpClient);
  19. private readonly modal = inject(ModalHelper);
  20. private readonly elementRef = inject(ElementRef);
  21. rowData = [
  22. {
  23. rwmc: "任务1", rwms: "任务描述1", kssj: "2024-1-1", jhwcsj: "2024-1-2", sfcq: '否', dqzt: "正常", dqjd: "节点1", sjwcsj: "2024-1-2",
  24. bjmc: "报警1", bjms: "报警描述1", bjsj: "2024-1-1", gzyy: "-", clff: "-", tzsj: "2024-1-2", zycd: "一般", tzmc: '系统提示',
  25. tznr: '账户登录', fj: "-"
  26. },
  27. {
  28. rwmc: "任务2", rwms: "任务描述2", kssj: "2024-1-2", jhwcsj: "2024-1-3", sfcq: '否', dqzt: "正常", dqjd: "节点2", sjwcsj: "2024-1-2",
  29. bjmc: "报警2", bjms: "报警描述2", bjsj: "2024-1-2", gzyy: "-", clff: "-", tzsj: "2024-1-2", zycd: "一般", tzmc: '系统提示',
  30. tznr: '账户登录', fj: "-"
  31. },
  32. {
  33. rwmc: "任务3", rwms: "任务描述3", kssj: "2024-1-3", jhwcsj: "2024-1-4", sfcq: '否', dqzt: "正常", dqjd: "节点3", sjwcsj: "2024-1-2",
  34. bjmc: "报警3", bjms: "报警描述3", bjsj: "2024-1-3", gzyy: "-", clff: "-", tzsj: "2024-1-2", zycd: "一般", tzmc: '系统提示',
  35. tznr: '账户登录', fj: "-"
  36. },
  37. {
  38. rwmc: "任务4", rwms: "任务描述4", kssj: "2024-1-4", jhwcsj: "2024-1-5", sfcq: '否', dqzt: "正常", dqjd: "节点4", sjwcsj: "2024-1-2",
  39. bjmc: "报警4", bjms: "报警描述4", bjsj: "2024-1-4", gzyy: "-", clff: "-", tzsj: "2024-1-2", zycd: "一般", tzmc: '系统提示',
  40. tznr: '账户登录', fj: "-"
  41. },
  42. {
  43. rwmc: "任务5", rwms: "任务描述5", kssj: "2024-1-5", jhwcsj: "2024-1-6", sfcq: '否', dqzt: "正常", dqjd: "节点5", sjwcsj: "2024-1-2",
  44. bjmc: "报警5", bjms: "报警描述5", bjsj: "2024-1-5", gzyy: "-", clff: "-", tzsj: "2024-1-2", zycd: "一般", tzmc: '系统提示',
  45. tznr: '账户登录', fj: "-"
  46. },
  47. ];
  48. colDefs1: ColDef[] = [
  49. { headerName: '任务名称', field: "rwmc", flex: 1 },
  50. { headerName: '任务描述', field: "rwms", flex: 2 },
  51. { headerName: '开始时间', field: "kssj", flex: 1 },
  52. { headerName: '计划完成时间', field: "jhwcsj", flex: 1.5 },
  53. { headerName: '是否超期', field: "sfcq", flex: 1 },
  54. ];
  55. colDefs2: ColDef[] = [
  56. { headerName: '任务名称', field: "rwmc", flex: 1 },
  57. { headerName: '任务描述', field: "rwms", flex: 1 },
  58. { headerName: '开始时间', field: "kssj", flex: 1 },
  59. { headerName: '当前状态', field: "dqzt", flex: 1 },
  60. { headerName: '当前节点', field: "dqjd", flex: 1 },
  61. { headerName: '实际完成时间', field: "sjwcsj", flex: 1 },
  62. ];
  63. colDefs3: ColDef[] = [
  64. { headerName: '报警名称', field: "bjmc", flex: 1 },
  65. { headerName: '报警描述', field: "bjms", flex: 1 },
  66. { headerName: '报警时间', field: "bjsj", flex: 1 },
  67. { headerName: '故障原因', field: "gzyy", flex: 1.5 },
  68. { headerName: '处理方法', field: "clff", flex: 1 },
  69. ];
  70. // Column Definitions: Defines the columns to be displayed.
  71. colDefs4: ColDef[] = [
  72. { headerName: '通知时间', field: "tzsj", flex: 1 },
  73. { headerName: '重要程度', field: "zycd", flex: 1 },
  74. { headerName: '通知名称', field: "tzmc", flex: 1 },
  75. { headerName: '通知内容', field: "tznr", flex: 1 },
  76. { headerName: '附件', field: "fj", flex: 1 }
  77. ];
  78. ngOnInit(): void {
  79. }
  80. ngAfterViewInit(): void {
  81. // 获取 ag-grid 元素
  82. const gridDiv = this.elementRef.nativeElement.querySelector('.ag-theme-datav');
  83. // 获取 ag-grid 内部滚动容器元素
  84. const scrollContainer = gridDiv.querySelector('.ag-body-viewport');
  85. // 获取滚动条元素
  86. const scrollBar = gridDiv.querySelector('.ag-scroller');
  87. }
  88. add(): void {
  89. // this.modal
  90. // .createStatic(FormEditComponent, { i: { id: 0 } })
  91. // .subscribe(() => this.st.reload());
  92. }
  93. }