|
@@ -134,116 +134,62 @@ void SchemeFlowWidget::refresh()
|
|
|
{
|
|
|
clearAllNodes();
|
|
|
|
|
|
- qreal h = 200;
|
|
|
+ int y = 0;
|
|
|
+ int space = 50;
|
|
|
+ NodeId lastId = -1;
|
|
|
+ QList<SchemePlanManager::SchemeProcessType> scheme;
|
|
|
|
|
|
switch (m_indexType) {
|
|
|
- case ProjectManager::AbilityIndex:
|
|
|
- break;
|
|
|
- case ProjectManager::TechIndex: {
|
|
|
- NodeId id11 = m_graphModel->addNode(FlowCommonData().type().id);
|
|
|
- m_graphModel->setNodeData(id11, NodeRole::Position, QPointF(0, 0));
|
|
|
- FlowGraphCommonNodeWidget *w11 = new FlowGraphCommonNodeWidget();
|
|
|
- SchemePlanManager::SchemeProcessInfo process11;
|
|
|
- process11.indexType = m_indexType;
|
|
|
- process11.type = SchemePlanManager::IndexSystem;
|
|
|
- w11->setProcess(process11);
|
|
|
- m_graphModel->setNodeData(id11, NodeRole::Widget, QVariant::fromValue(w11));
|
|
|
-
|
|
|
- QSize s11 = m_graphModel->nodeData(id11, NodeRole::Size).toSize();
|
|
|
- NodeId id12 = m_graphModel->addNode(FlowCommonData().type().id);
|
|
|
- m_graphModel->setNodeData(id12, NodeRole::Position, QPointF(0, s11.height() + 50));
|
|
|
- FlowGraphCommonNodeWidget *w12 = new FlowGraphCommonNodeWidget();
|
|
|
- SchemePlanManager::SchemeProcessInfo process12;
|
|
|
- process12.indexType = m_indexType;
|
|
|
- process12.type = SchemePlanManager::ImportEvalData;
|
|
|
- process12.dSource = SchemePlanManager::FromExpert;
|
|
|
- w12->setProcess(process12);
|
|
|
- if (w12->isTitleHidden()) {
|
|
|
- m_graphModel->setNodeData(id12, NodeRole::Caption, SchemePlanManager::processName(process12));
|
|
|
- }
|
|
|
- m_graphModel->setNodeData(id12, NodeRole::Widget, QVariant::fromValue(w12));
|
|
|
-
|
|
|
- m_graphModel->addConnection(ConnectionId { id11, 0, id12, 0 });
|
|
|
-
|
|
|
+ case ProjectManager::AbilityIndex: {
|
|
|
+ scheme = { SchemePlanManager::IndexSystem, SchemePlanManager::ImportWeightData,
|
|
|
+ SchemePlanManager::OptimizeIndex, SchemePlanManager::CalculateWeight,
|
|
|
+ SchemePlanManager::ShowEvalResult, SchemePlanManager::GenerateReport };
|
|
|
break;
|
|
|
+ }
|
|
|
|
|
|
- NodeId id1 = m_graphModel->addNode(FlowCommonData().type().id);
|
|
|
- m_graphModel->setNodeData(id1, NodeRole::Position, QPointF(0, h * 0));
|
|
|
- FlowGraphPlainNodeWidget *w1 = new FlowGraphPlainNodeWidget();
|
|
|
- w1->setText("构建权重分析指标体系");
|
|
|
- m_graphModel->setNodeData(id1, NodeRole::Widget, QVariant::fromValue(w1));
|
|
|
-
|
|
|
- NodeId id2 = m_graphModel->addNode(FlowCommonData().type().id);
|
|
|
- m_graphModel->setNodeData(id2, NodeRole::Position, QPointF(0, h * 1));
|
|
|
- m_graphModel->setNodeData(id2, NodeRole::Caption, QString("收集权重分析数据"));
|
|
|
- m_graphModel->addConnection(ConnectionId { id1, 0, id2, 0 });
|
|
|
-
|
|
|
- NodeId id3 = m_graphModel->addNode(FlowCommonData().type().id);
|
|
|
- m_graphModel->setNodeData(id3, NodeRole::Position, QPointF(0, h * 2));
|
|
|
- m_graphModel->setNodeData(id3, NodeRole::Caption, QString("指标体系优化"));
|
|
|
- m_graphModel->addConnection(ConnectionId { id2, 0, id3, 0 });
|
|
|
-
|
|
|
- NodeId id4 = m_graphModel->addNode(FlowCommonData().type().id);
|
|
|
- m_graphModel->setNodeData(id4, NodeRole::Position, QPointF(0, h * 3));
|
|
|
- m_graphModel->setNodeData(id4, NodeRole::Caption, QString("指标权重计算"));
|
|
|
- m_graphModel->addConnection(ConnectionId { id3, 0, id4, 0 });
|
|
|
-
|
|
|
- NodeId id5 = m_graphModel->addNode(FlowCommonData().type().id);
|
|
|
- m_graphModel->setNodeData(id5, NodeRole::Position, QPointF(0, h * 4));
|
|
|
- FlowGraphPlainNodeWidget *w5 = new FlowGraphPlainNodeWidget();
|
|
|
- w5->setText("分析结果展示");
|
|
|
- m_graphModel->setNodeData(id5, NodeRole::Widget, QVariant::fromValue(w5));
|
|
|
- m_graphModel->addConnection(ConnectionId { id4, 0, id5, 0 });
|
|
|
-
|
|
|
- NodeId id6 = m_graphModel->addNode(FlowCommonData().type().id);
|
|
|
- m_graphModel->setNodeData(id6, NodeRole::Position, QPointF(0, h * 5));
|
|
|
- m_graphModel->setNodeData(id6, NodeRole::Caption, QString("生成分析评估报告"));
|
|
|
- m_graphModel->addConnection(ConnectionId { id5, 0, id6, 0 });
|
|
|
+ case ProjectManager::TechIndex: {
|
|
|
+ scheme = { SchemePlanManager::IndexSystem, SchemePlanManager::ImportEvalData, SchemePlanManager::RunEvaluate,
|
|
|
+ SchemePlanManager::ShowEvalResult, SchemePlanManager::GenerateReport };
|
|
|
break;
|
|
|
}
|
|
|
case ProjectManager::OptimalIndex: {
|
|
|
- NodeId id1 = m_graphModel->addNode(FlowIndexData().type().id);
|
|
|
- m_graphModel->setNodeData(id1, NodeRole::Position, QPointF(0, h * 0));
|
|
|
-
|
|
|
- NodeId id2 = m_graphModel->addNode(FlowSampleData().type().id);
|
|
|
- m_graphModel->setNodeData(id2, NodeRole::Position, QPointF(0, h * 1));
|
|
|
- m_graphModel->addConnection(ConnectionId { id1, 0, id2, 0 });
|
|
|
-
|
|
|
- NodeId id8 = m_graphModel->addNode(FlowSchemeData().type().id);
|
|
|
- m_graphModel->setNodeData(id8, NodeRole::Position, QPointF(0, h * 2));
|
|
|
- m_graphModel->addConnection(ConnectionId { id2, 0, id8, 0 });
|
|
|
-
|
|
|
- NodeId id5 = m_graphModel->addNode(FlowResultData().type().id);
|
|
|
- m_graphModel->setNodeData(id5, NodeRole::Position, QPointF(0, h * 3));
|
|
|
- m_graphModel->addConnection(ConnectionId { id8, 0, id5, 0 });
|
|
|
-
|
|
|
- NodeId id6 = m_graphModel->addNode(FlowReportData().type().id);
|
|
|
- m_graphModel->setNodeData(id6, NodeRole::Position, QPointF(0, h * 4));
|
|
|
- m_graphModel->addConnection(ConnectionId { id5, 0, id6, 0 });
|
|
|
-
|
|
|
+ scheme = { SchemePlanManager::IndexSystem, SchemePlanManager::ImportWeightData,
|
|
|
+ SchemePlanManager::OptimizeIndex, SchemePlanManager::CalculateWeight,
|
|
|
+ SchemePlanManager::ImportEvalData, SchemePlanManager::RunEvaluate,
|
|
|
+ SchemePlanManager::ShowEvalResult, SchemePlanManager::GenerateReport };
|
|
|
break;
|
|
|
}
|
|
|
case ProjectManager::EfficiencyIndex: {
|
|
|
- NodeId id1 = m_graphModel->addNode(FlowIndexData().type().id);
|
|
|
- m_graphModel->setNodeData(id1, NodeRole::Position, QPointF(0, h * 0));
|
|
|
-
|
|
|
- NodeId id7 = m_graphModel->addNode(FlowEffiLevData().type().id);
|
|
|
- m_graphModel->setNodeData(id7, NodeRole::Position, QPointF(0, h * 1));
|
|
|
- m_graphModel->addConnection(ConnectionId { id1, 0, id7, 0 });
|
|
|
+ scheme = { SchemePlanManager::IndexSystem, SchemePlanManager::ImportWeightData,
|
|
|
+ SchemePlanManager::OptimizeIndex, SchemePlanManager::CalculateWeight,
|
|
|
+ SchemePlanManager::ImportEvalData, SchemePlanManager::RunEvaluate,
|
|
|
+ SchemePlanManager::ShowEvalResult, SchemePlanManager::GenerateReport };
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- NodeId id9 = m_graphModel->addNode(FlowEffiData().type().id);
|
|
|
- m_graphModel->setNodeData(id9, NodeRole::Position, QPointF(0, h * 2));
|
|
|
- m_graphModel->addConnection(ConnectionId { id7, 0, id9, 0 });
|
|
|
+ for (int i = 0; i < scheme.count(); i++) {
|
|
|
+ NodeId id = m_graphModel->addNode(FlowCommonData().type().id);
|
|
|
+ m_graphModel->setNodeData(id, NodeRole::Position, QPointF(0, y));
|
|
|
+ FlowGraphCommonNodeWidget *w = new FlowGraphCommonNodeWidget();
|
|
|
+ SchemePlanManager::SchemeProcessInfo process;
|
|
|
+ process.projectId = m_proj->id;
|
|
|
+ process.indexType = m_indexType;
|
|
|
+ process.type = scheme[i];
|
|
|
+ process.step = i;
|
|
|
+ w->setProcess(process);
|
|
|
+ if (w->isTitleHidden()) {
|
|
|
+ m_graphModel->setNodeData(id, NodeRole::Caption, SchemePlanManager::processName(process));
|
|
|
+ }
|
|
|
+ m_graphModel->setNodeData(id, NodeRole::Widget, QVariant::fromValue(w));
|
|
|
+ if (lastId >= 0) {
|
|
|
+ m_graphModel->addConnection(ConnectionId { lastId, 0, id, 0 });
|
|
|
+ }
|
|
|
|
|
|
- NodeId id5 = m_graphModel->addNode(FlowResultData().type().id);
|
|
|
- m_graphModel->setNodeData(id5, NodeRole::Position, QPointF(0, h * 3));
|
|
|
- m_graphModel->addConnection(ConnectionId { id9, 0, id5, 0 });
|
|
|
+ QSize s = m_graphModel->nodeData(id, NodeRole::Size).toSize();
|
|
|
+ y += (s.height() + space);
|
|
|
|
|
|
- NodeId id6 = m_graphModel->addNode(FlowReportData().type().id);
|
|
|
- m_graphModel->setNodeData(id6, NodeRole::Position, QPointF(0, h * 4));
|
|
|
- m_graphModel->addConnection(ConnectionId { id5, 0, id6, 0 });
|
|
|
- break;
|
|
|
- }
|
|
|
+ lastId = id;
|
|
|
}
|
|
|
|
|
|
// std::unordered_set<NodeId> set = m_graphModel->allNodeIds();
|