EvalReportWidget.h 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. #ifndef EVALREPORTWIDGET_H
  2. # define EVALREPORTWIDGET_H
  3. # include <QWidget>
  4. # include "SchemePlanManager.h"
  5. class ProjectInfo;
  6. class CMind;
  7. class PlotView;
  8. class CustomPieChart;
  9. class QVBoxLayout;
  10. class QGridLayout;
  11. class QTabWidget;
  12. class QTableView;
  13. class QComboBox;
  14. class QLabel;
  15. class EvalReportWidget : public QWidget
  16. {
  17. Q_OBJECT
  18. public:
  19. explicit EvalReportWidget(ProjectInfo *proj, int indexType, QWidget *parent = nullptr);
  20. void exportReport();
  21. private:
  22. void initWidgets();
  23. void initLayouts();
  24. void loadAlgs();
  25. void loadData();
  26. /// 项目演示-方案优选-层次分析法
  27. /// 第一层 0.0399746 0.08573655 0.1867215 0.517877 0.1696905
  28. // 第二层 最终方案优选十个值---------------------------------------------------------
  29. // [0.03164655, 0.00832805,]
  30. // [0.06787475, 0.0178618 ,]
  31. // [0.15171122, 0.03501028,]
  32. // [0.43156399, 0.08631301,]
  33. // [0.04242262, 0.12726788,]
  34. /// 项目演示-综合效能-三级权重
  35. /// 伪装规划能力,伪装作业能力,检测评估能力
  36. // [0.280833, 0.584156, 0.13501]
  37. // 二层
  38. // 态势处理,任务规划,隐真作业,示假作业,空中检测评估,地面检测评估
  39. // [0.07020825, 0.21062475, 0.48679647, 0.09735953, 0.10688289, 0.02812711]
  40. /*
  41. * 三层
  42. 态势要素完备率,态势生成时间,行动种类,伪装方案生成时间,行动计划生成时间,隐真波段覆盖率,隐真背景融合度,隐真作业速度,
  43. 示假波段覆盖率,示假对象覆盖率,示假作业速度,示假逼真度,空中勘测波段覆盖率,空中勘测效率,空中检测评估用时,空中检测评估要素支持率,
  44. 地面勘测波段覆盖率,地面勘测效率,地面检测评估用时,地面检测评估要素支持率
  45. [0.05558152, 0.01462673, 0.12860136, 0.0567758, 0.02524748, 0.05098171 ,0.31008254 ,0.12573223, 0.01327194, 0.01461917,
  46. 0.01931854, 0.05014989, 0.06026197, 0.01258931, 0.0281506, 0.00588096, 0.01585843 ,0.00331298, 0.00740806 ,0.00154762]
  47. */
  48. void showIndexWeight();
  49. void showIndexWeightPlot();
  50. void showTechScore();
  51. /// 项目演示-方案优选-层次加权法得分
  52. /// [10.136319544500001, 11.961457030999998, 17.516247966, 11.692445301]
  53. /// 及对分析发得分
  54. /// (0.889003, 0.662887, 0.951992, 0.565267)
  55. void showSchemeScore();
  56. void showEffiResult();
  57. void makePlotClear(PlotView *plotView);
  58. void loadWeightData();
  59. private slots:
  60. void slotSelectIndexPlotType(int type);
  61. void slotSelectTechPlotType(int type);
  62. void slotSelectSchemePlotType(int type);
  63. void slotIndexTabIndexChanged(int index);
  64. void slotEffiTabIndexChanged(int index);
  65. private:
  66. ProjectInfo *m_proj = nullptr; // 项目
  67. SchemePlanManager::Algorithm m_weightAlg;
  68. SchemePlanManager::Algorithm m_evalAlg;
  69. int m_indexType; // 指标类型
  70. CMind *m_mind = nullptr;
  71. QWidget *m_view = nullptr;
  72. QVBoxLayout *m_layout = nullptr;
  73. QGridLayout *m_gridLayout = nullptr;
  74. QLabel *m_indexTitle = nullptr; // 指标权重标题
  75. QTabWidget *m_indexTab = nullptr; // 指标权重表
  76. PlotView *m_indexPlot = nullptr; // 指标权重图
  77. CustomPieChart *m_indexPie = nullptr; // 指标权重饼图
  78. QComboBox *m_indexCombo = nullptr; // 切换指标权重图类型
  79. QLabel *m_techTitle = nullptr; // 指标得分标题
  80. QTableView *m_techTable = nullptr; // 指标得分表
  81. PlotView *m_techPlot = nullptr; // 指标得分图
  82. QComboBox *m_techCombo = nullptr; // 切换指标得分图类型
  83. QLabel *m_schemeTitle = nullptr; // 方案得分标题
  84. QTableView *m_schemeTable = nullptr; // 方案得分表
  85. PlotView *m_schemePlot = nullptr; // 方案得分图
  86. QComboBox *m_schemeCombo = nullptr; // 切换方案得分类型
  87. QTabWidget *m_EffiTab = nullptr; // 指标权重表
  88. };
  89. #endif // EVALREPORTWIDGET_H
  90. /*
  91. 方案一,表格+柱状图, 差中良优
  92. 0.228397, 0.174062, -0.139881, -0.192361,
  93. -0.333333, 0, -0.333333, -0.6,
  94. 0.214286, -0.26087, 0.0625, 0.214286,
  95. -0.333333, 0, 0, -0.333333,
  96. -0.1, 0.5, 1, 2,
  97. 0.00364964, -0.00362319, 0.00364964, 0.0110294,
  98. -0.125, 0.166667, -0.3, -0.5625,
  99. -0.25, 0.5, -0.25, -0.454545,
  100. -0.375, -0.285714, -0.166667, 0.25,
  101. -0.125, 0.166667, -0.3, -0.5625,
  102. 29, -0.5, -0.625, -0.684211,
  103. 0.25, -0.166667, -0.285714, -0.375,
  104. -0.25, 0.5, -0.25, -0.454545,
  105. 0.25, -0.166667, -0.5, -0.6875,
  106. -0.333333, 1, -0.333333, -0.6,
  107. 0.125, -0.0526316, 0.0588235, 0.285714,
  108. 0, 0, -0.5, -0.666667,
  109. -0.25, 0.125, -0.1, -0.4375,
  110. -0.272727, 0.333333, -0.2, -0.6,
  111. -0.111111, 0.142857, 0.6, 1,
  112. 0, 0, -0.5, -0.666667,
  113. 方案二
  114. -0.406858, -0.219394, 0.364666, -0.228834,
  115. -0.428571, -0.2, 0, -0.2,
  116. 0.428571, -0.130435, 0, 0,
  117. -0.4, -0.25, 0, 0,
  118. 0.25, 0.0526316, -0.047619, 0.111111,
  119. 0.0182482, 0.0108696, 0.00359712, -0.00357143,
  120. -0.357143, -0.1, 0.125, -0.357143,
  121. -0.75, -0.5, 1, -0.333333,
  122. -0.142857, 0.2, -0.2, -0.4,
  123. -0.357143, -0.1, 0.125, -0.357143,
  124. -0.25, 0.5, -0.25, -0.454545,
  125. -0.4, -0.2, 0.2, -0.142857,
  126. -0.75, -0.5, 1, -0.333333,
  127. -0.428571, -0.2, 0.333333, -0.333333,
  128. -0.454545, -0.333333, -0.142857, 0.2,
  129. 0.5, 0.263158, 0.0909091, -0.0769231,
  130. -0.4, -0.25, 0, 0,
  131. -0.642857, -0.5, 0.25, -0.166667,
  132. -0.444444, -0.375, -0.166667, 0.25,
  133. 0.277778, 0.0454545, -0.0416667, 0.0454545,
  134. -0.4, -0.25, 0, 0,
  135. */