|
@@ -4,6 +4,10 @@
|
|
|
#include "ConfigExpertDataWidget.h"
|
|
|
#include "ConfigMeasureDataWidget.h"
|
|
|
|
|
|
+#include "GreyClusteringConfigWidget.h" // 灰色聚类配置
|
|
|
+#include "GreyClusteringSampleTable.h" // 灰色聚类评估
|
|
|
+#include "MatterElementConfigWidget.h" // 物元分析配置
|
|
|
+
|
|
|
#include "dbService/SchemeProcessService.h"
|
|
|
#include "dbService/ClassSet.h"
|
|
|
#include "dbService/CNodeDataService.h"
|
|
@@ -58,8 +62,38 @@ void DataCollectionWidget::setupTabWidget()
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
+ ProjectManager::IndexType t = (ProjectManager::IndexType)i;
|
|
|
+ QString indexName = ProjectManager::nameOfIndexType(t);
|
|
|
+
|
|
|
for (SchemePlanManager::SchemeProcessInfo process : processList) {
|
|
|
+ /// 效能评估 - 灰色聚类
|
|
|
+ if (process.algorithm == SchemePlanManager::GCE && process.indexType == ProjectManager::EfficiencyIndex) {
|
|
|
+ GreyClusteringConfigWidget *gc = new GreyClusteringConfigWidget(process.efficiencyGrades);
|
|
|
+ m_tab->addTab(gc, indexName + " - " + "灰色聚类评估配置");
|
|
|
+
|
|
|
+ QVector<GreyClusteringItem> items;
|
|
|
+ GreyClusteringSampleTable *gs = new GreyClusteringSampleTable(items, 2, 10);
|
|
|
+ m_tab->addTab(gs, indexName + " - " + "收集效能评估数据");
|
|
|
+ }
|
|
|
+
|
|
|
+ /// 效能评估 - 物元分析
|
|
|
+ if (process.algorithm == SchemePlanManager::MEA && process.indexType == ProjectManager::EfficiencyIndex) {
|
|
|
+ QList<MEConfigItem> items;
|
|
|
+ MatterElementConfigWidget *w = new MatterElementConfigWidget(items, process.efficiencyGrades);
|
|
|
+ m_tab->addTab(w, indexName + "-" + "物元分析评估配置");
|
|
|
+
|
|
|
+ DataTableWidget *table = new DataTableWidget(process, this);
|
|
|
+ table->mind1()->setNodeList(nodeListMap[i]);
|
|
|
+ table->setCurrentPage(1);
|
|
|
+ m_tab->addTab(table, indexName + " - " + "收集效能评估数据");
|
|
|
+ }
|
|
|
+
|
|
|
if (process.dSource >= 0) {
|
|
|
+ if (process.type == SchemePlanManager::ImportEvalData
|
|
|
+ && process.indexType == ProjectManager::EfficiencyIndex) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
DataTableWidget *table = new DataTableWidget(process, this);
|
|
|
table->mind1()->setNodeList(nodeListMap[i]);
|
|
|
if (i == ProjectManager::TechIndex) {
|
|
@@ -67,9 +101,7 @@ void DataCollectionWidget::setupTabWidget()
|
|
|
}
|
|
|
table->setCurrentPage(1);
|
|
|
|
|
|
- ProjectManager::IndexType t = (ProjectManager::IndexType)i;
|
|
|
- QString indexName = ProjectManager::nameOfIndexType(t);
|
|
|
- QString processName = SchemePlanManager::processName(process);
|
|
|
+ QString processName = SchemePlanManager::processName(process);
|
|
|
m_tab->addTab(table, indexName + " - " + processName);
|
|
|
}
|
|
|
}
|
|
@@ -78,8 +110,9 @@ void DataCollectionWidget::setupTabWidget()
|
|
|
|
|
|
void DataCollectionWidget::slotTabCurrentChanged(int index)
|
|
|
{
|
|
|
- DataTableWidget *table = (DataTableWidget *)m_tab->widget(index);
|
|
|
- if (index >= 0) {
|
|
|
+
|
|
|
+ DataTableWidget *table = dynamic_cast<DataTableWidget *>(m_tab->widget(index));
|
|
|
+ if (index >= 0 && table != nullptr) {
|
|
|
bool expert = (table->process().dSource == SchemePlanManager::FromExpert);
|
|
|
if (expert) {
|
|
|
m_configExpert->setProcess(table->process());
|