Browse Source

加载来自专家的权重分析数据;
加载技术重要度的评估数据;

chengxr 1 year ago
parent
commit
53fd75ec03
2 changed files with 42 additions and 3 deletions
  1. 2 2
      QFD/widgets/DataCollectionWidget.cpp
  2. 40 1
      QFD/widgets/DataTableWidget.cpp

+ 2 - 2
QFD/widgets/DataCollectionWidget.cpp

@@ -267,12 +267,12 @@ void DataCollectionWidget::slotImportData(UserConfig *config)
                     QXlsx::Cell *cellAbscissa = xlsxR.cellAt(r, 1);
                     if (cellAbscissa != NULL) {
                         QVariant var = cellAbscissa->readValue();
-                        abscissa     = var.toString();
+                        ordinate     = var.toString();
                     }
                     QXlsx::Cell *cellOrdinate = xlsxR.cellAt(1, c);
                     if (cellOrdinate != NULL) {
                         QVariant var = cellOrdinate->readValue();
-                        ordinate     = var.toString();
+                        abscissa     = var.toString();
                     }
                     QXlsx::Cell *value = xlsxR.cellAt(r, c);
                     if (value != NULL) {

+ 40 - 1
QFD/widgets/DataTableWidget.cpp

@@ -352,8 +352,47 @@ CMind *DataTableWidget::mind2() const
 void DataTableWidget::setData(QList<NodeMatrixInfo *> data)
 {
     m_data = data;
+    // 加载来自专家的权重分析数据
     if (m_process.type == SchemePlanManager::ImportWeightData && m_process.dSource == SchemePlanManager::FromExpert) {
-        for (NodeMatrixInfo *info : data) { }
+        for (NodeMatrixInfo *info : data) {
+            for (QList<DataTableItemModel *> modelList : m_models.values()) {
+                for (DataTableItemModel *model : modelList) {
+                    for (int r = 0; r < model->rowCount(); r++) {
+                        QStandardItem *rHeader = model->verticalHeaderItem(r);
+                        for (int c = 0; c < model->columnCount(); c++) {
+                            QStandardItem *cHeader = model->horizontalHeaderItem(c);
+                            if (cHeader->text() == info->abscissa && rHeader->text() == info->ordinate) {
+                                QStandardItem *item = new QStandardItem();
+                                item->setText(info->nodeValue);
+                                item->setEditable(false);
+                                model->setItem(r, c, item);
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+    // 加载技术重要度的评估数据
+    if (m_process.type == SchemePlanManager::ImportEvalData && m_process.indexType == ProjectManager::TechIndex) {
+        for (NodeMatrixInfo *info : data) {
+            for (QList<DataTableItemModel *> modelList : m_models.values()) {
+                for (DataTableItemModel *model : modelList) {
+                    for (int r = 0; r < model->rowCount(); r++) {
+                        QStandardItem *rHeader = model->verticalHeaderItem(r);
+                        for (int c = 0; c < model->columnCount(); c++) {
+                            QStandardItem *cHeader = model->horizontalHeaderItem(c);
+                            if (cHeader->text() == info->abscissa && rHeader->text() == info->ordinate) {
+                                QStandardItem *item = new QStandardItem();
+                                item->setText(info->nodeValue);
+                                model->setItem(r, c, item);
+                            }
+                        }
+                    }
+                }
+            }
+        }
     }
 }