Browse Source

根据数据来源显示导入数据形式

chengxr 1 year ago
parent
commit
e6d699ea37

+ 4 - 2
QFD/QFD.pro

@@ -96,7 +96,8 @@ SOURCES += \
     view/UserView.cpp \
     widgets/AddSchemeWidget.cpp \
     widgets/AppInfoWidget.cpp \
-    widgets/ConfigExpertWidget.cpp \
+    widgets/ConfigExpertDataWidget.cpp \
+    widgets/ConfigMeasureDataWidget.cpp \
     widgets/CreateProjWidget.cpp \
     widgets/CustomPie.cpp \
     widgets/CustomPieChart.cpp \
@@ -160,7 +161,8 @@ HEADERS += \
     view/UserView.h \
     widgets/AddSchemeWidget.h \
     widgets/AppInfoWidget.h \
-    widgets/ConfigExpertWidget.h \
+    widgets/ConfigExpertDataWidget.h \
+    widgets/ConfigMeasureDataWidget.h \
     widgets/CreateProjWidget.h \
     widgets/CustomPie.h \
     widgets/CustomPieChart.h \

+ 1 - 1
QFD/view/ProjectView.cpp

@@ -2,7 +2,7 @@
 
 #include "ProjectListWidget.h"
 #include "RenameWidget.h"
-#include "ConfigExpertWidget.h"
+#include "ConfigExpertDataWidget.h"
 #include "IndexSystemWidget.h"
 #include "SchemePlanWidget.h"
 #include "DataCollectionWidget.h"

+ 8 - 8
QFD/widgets/ConfigExpertWidget.cpp → QFD/widgets/ConfigExpertDataWidget.cpp

@@ -1,4 +1,4 @@
-#include "ConfigExpertWidget.h"
+#include "ConfigExpertDataWidget.h"
 
 #include "common/QFDIcon.h"
 
@@ -11,7 +11,7 @@
 #include <QLabel>
 #include <QListWidget>
 
-ConfigExpertWidget::ConfigExpertWidget(QWidget *parent) : QWidget(parent)
+ConfigExpertDataWidget::ConfigExpertDataWidget(QWidget *parent) : QWidget(parent)
 {
     initialize();
     initLayout();
@@ -21,7 +21,7 @@ ConfigExpertWidget::ConfigExpertWidget(QWidget *parent) : QWidget(parent)
     refreshExpList();
 }
 
-void ConfigExpertWidget::initialize()
+void ConfigExpertDataWidget::initialize()
 {
     QPalette pal(palette());
     pal.setColor(QPalette::Background, QColor("#ffffff"));
@@ -29,7 +29,7 @@ void ConfigExpertWidget::initialize()
     setPalette(pal);
 
     m_vBoxLayout = new QVBoxLayout(this);
-    m_titleLabel = new QLabel("专家配置", this);
+    m_titleLabel = new QLabel("导入专家数据", this);
     m_titleLabel->setObjectName("titleLabel");
     m_titleLabel->setFixedHeight(50);
     m_titleLabel->setContentsMargins(10, 0, 0, 0);
@@ -79,7 +79,7 @@ void ConfigExpertWidget::initialize()
     m_expListWidget->setObjectName("expListWidget");
 }
 
-void ConfigExpertWidget::initLayout()
+void ConfigExpertDataWidget::initLayout()
 {
     m_vBoxLayout->setMargin(0);
     m_vBoxLayout->setSpacing(0);
@@ -124,9 +124,9 @@ void ConfigExpertWidget::initLayout()
                   "#expListTitleLabel {font:bold; font-size:12px;}");
 }
 
-void ConfigExpertWidget::connectSignalsAndSlots() { }
+void ConfigExpertDataWidget::connectSignalsAndSlots() { }
 
-void ConfigExpertWidget::refreshAddedList()
+void ConfigExpertDataWidget::refreshAddedList()
 {
     m_addedListWidget->clear();
 
@@ -170,7 +170,7 @@ void ConfigExpertWidget::refreshAddedList()
     }
 }
 
-void ConfigExpertWidget::refreshExpList()
+void ConfigExpertDataWidget::refreshExpList()
 {
     m_expListWidget->clear();
 

+ 5 - 5
QFD/widgets/ConfigExpertWidget.h → QFD/widgets/ConfigExpertDataWidget.h

@@ -1,5 +1,5 @@
-#ifndef CONFIGEXPERTWIDGET_H
-#define CONFIGEXPERTWIDGET_H
+#ifndef CONFIGEXPERTDATAWIDGET_H
+#define CONFIGEXPERTDATAWIDGET_H
 
 #include <QWidget>
 
@@ -23,11 +23,11 @@ class ExpertListItemWidget : public QWidget
     Q_OBJECT
 };
 
-class ConfigExpertWidget : public QWidget
+class ConfigExpertDataWidget : public QWidget
 {
     Q_OBJECT
 public:
-    explicit ConfigExpertWidget(QWidget *parent = nullptr);
+    explicit ConfigExpertDataWidget(QWidget *parent = nullptr);
 
     void initialize();
     void initLayout();
@@ -62,4 +62,4 @@ private:
     QListWidget *m_expListWidget       = nullptr;
 };
 
-#endif  // CONFIGEXPERTWIDGET_H
+#endif  // CONFIGEXPERTDATAWIDGET_H

+ 71 - 0
QFD/widgets/ConfigMeasureDataWidget.cpp

@@ -0,0 +1,71 @@
+#include "ConfigMeasureDataWidget.h"
+
+#include <Widgets/Button.h>
+#include <Common/Icon.h>
+
+#include <QLabel>
+#include <QListWidget>
+#include <QBoxLayout>
+
+#include <QDebug>
+
+ConfigMeasureDataWidget::ConfigMeasureDataWidget(QWidget *parent) : QWidget(parent)
+{
+    initWidget();
+    initLayout();
+    connectSignalsAndSlots();
+}
+
+void ConfigMeasureDataWidget::initWidget()
+{
+    m_titleLabel = new QLabel("导入实测数据", this);
+    m_titleLabel->setObjectName("titleLabel");
+    m_titleLabel->setFixedHeight(50);
+    m_titleLabel->setContentsMargins(10, 0, 0, 0);
+    m_listTitleLabel = new QLabel("数据列表", this);
+    m_listTitleLabel->setObjectName("listTitleLabel");
+    m_tipsLabel = new QLabel("已导入的数据将会显示在这里", this);
+    m_tipsLabel->setObjectName("tipsLabel");
+    m_tipsLabel->setHidden(true);
+    m_exportButton = new QPushButton(NEWFLICON(FluentIcon, DOWNLOAD)->icon(), "", this);
+    m_exportButton->setToolTip("导入数据");
+    m_listWidget = new QListWidget(this);
+
+    setStyleSheet("#titleLabel {color:#333333; font-size:16px}"
+                  "#listTitleLabel {color:#333333; font-size:12px}"
+                  "QPushButton {border: 0;background-color: qlineargradient(x1: 0, y1: 0, x2: "
+                  "0, y2: 1,stop: 0 #f8f8f8, stop: 1 #f8f8f8);}"
+                  "QPushButton::hover {border: 1px solid rgba(0, 0, 0, 0.073);}"
+                  "QPushButton::pressed {background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #dadbde, "
+                  "stop: 1 #f6f7fa);}"
+                  "QListWidget {border: 1px solid rgba(0, 0, 0, 0.073);}"
+                  "QListView::item {background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #ffffff, stop: 0.9 "
+                  "#ffffff,stop: 1 #eeeeee);height:44;}");
+}
+
+void ConfigMeasureDataWidget::initLayout()
+{
+    m_layout = new QVBoxLayout(this);
+    m_layout->setMargin(0);
+    m_layout->setSpacing(0);
+    m_layout->addWidget(m_titleLabel);
+    m_headerLayout = new QHBoxLayout();
+    m_layout->addLayout(m_headerLayout);
+    m_layout->addSpacing(10);
+    m_layout->addWidget(m_tipsLabel);
+    m_layout->addWidget(m_listWidget);
+
+    m_headerLayout->addWidget(m_listTitleLabel);
+    m_headerLayout->addStretch();
+    m_headerLayout->addWidget(m_exportButton);
+}
+
+void ConfigMeasureDataWidget::connectSignalsAndSlots()
+{
+    connect(m_exportButton, &PushButton::clicked, this, &ConfigMeasureDataWidget::slotExportClicked);
+}
+
+void ConfigMeasureDataWidget::slotExportClicked()
+{
+    qDebug() << __FUNCTION__ << __LINE__ << endl;
+}

+ 42 - 0
QFD/widgets/ConfigMeasureDataWidget.h

@@ -0,0 +1,42 @@
+#ifndef CONFIGMEASUREDATAWIDGET_H
+#define CONFIGMEASUREDATAWIDGET_H
+
+#include <QWidget>
+
+class QPushButton;
+
+class QVBoxLayout;
+class QHBoxLayout;
+class QLabel;
+class QListWidget;
+
+class ConfigMeasureDataWidget : public QWidget
+{
+    Q_OBJECT
+public:
+    explicit ConfigMeasureDataWidget(QWidget *parent = nullptr);
+
+signals:
+
+private:
+    void initWidget();
+    void initLayout();
+    void connectSignalsAndSlots();
+
+private slots:
+    void slotExportClicked();
+
+private:
+    QVBoxLayout *m_layout       = nullptr;
+    QHBoxLayout *m_headerLayout = nullptr;
+
+    QLabel *m_titleLabel = nullptr;
+
+    QLabel *m_listTitleLabel    = nullptr;
+    QLabel *m_tipsLabel         = nullptr;
+    QPushButton *m_exportButton = nullptr;
+
+    QListWidget *m_listWidget = nullptr;
+};
+
+#endif  // CONFIGMEASUREDATAWIDGET_H

+ 23 - 7
QFD/widgets/DataCollectionWidget.cpp

@@ -1,7 +1,8 @@
 #include "DataCollectionWidget.h"
 
 #include "DataTableWidget.h"
-#include "ConfigExpertWidget.h"
+#include "ConfigExpertDataWidget.h"
+#include "ConfigMeasureDataWidget.h"
 
 #include "dbService/SchemeProcessService.h"
 #include "dbService/ClassSet.h"
@@ -18,14 +19,20 @@
 DataCollectionWidget::DataCollectionWidget(ProjectInfo *proj, QWidget *parent) : EvalWidget(proj, parent)
 {
     setTitle("评估数据采集");
-    m_configExpert = new ConfigExpertWidget(this);
+    m_configExpert  = new ConfigExpertDataWidget(this);
+    m_configMeasure = new ConfigMeasureDataWidget(this);
+    m_configMeasure->setFixedWidth(256);
     m_contentLayout->addWidget(m_configExpert);
+    m_contentLayout->addWidget(m_configMeasure);
+
+    connect(m_tab, &QTabWidget::currentChanged, this, &DataCollectionWidget::slotTabCurrentChanged);
 }
 
 void DataCollectionWidget::setType(int type)
 {
     EvalWidget::setType(type);
     setupTabWidget();
+    qDebug() << __FUNCTION__ << __LINE__ << m_configExpert->size() << endl;
 }
 
 void DataCollectionWidget::setupTabWidget()
@@ -52,18 +59,27 @@ void DataCollectionWidget::setupTabWidget()
 
         for (SchemePlanManager::SchemeProcessInfo process : processList) {
             if (process.dSource >= 0) {
-                DataTableWidget *m = new DataTableWidget(process, this);
-                m->mind1()->setNodeList(nodeListMap[i]);
+                DataTableWidget *table = new DataTableWidget(process, this);
+                table->mind1()->setNodeList(nodeListMap[i]);
                 if (i == ProjectManager::TechIndex) {
-                    m->mind2()->setNodeList(nodeListMap[ProjectManager::AbilityIndex]);
+                    table->mind2()->setNodeList(nodeListMap[ProjectManager::AbilityIndex]);
                 }
-                m->setCurrentPage(1);
+                table->setCurrentPage(1);
 
                 ProjectManager::IndexType t = (ProjectManager::IndexType)i;
                 QString indexName           = ProjectManager::nameOfIndexType(t);
                 QString processName         = SchemePlanManager::processName(process);
-                m_tab->addTab(m, indexName + " - " + processName);
+                m_tab->addTab(table, indexName + " - " + processName);
             }
         }
     }
 }
+
+void DataCollectionWidget::slotTabCurrentChanged(int index)
+{
+    DataTableWidget *table = (DataTableWidget *)m_tab->widget(index);
+    if (index >= 0) {
+        m_configExpert->setHidden(table->process().dSource != SchemePlanManager::FromExpert);
+        m_configMeasure->setHidden(table->process().dSource != SchemePlanManager::FromMeasurement);
+    }
+}

+ 7 - 2
QFD/widgets/DataCollectionWidget.h

@@ -3,7 +3,8 @@
 
 #include "EvalWidget.h"
 
-class ConfigExpertWidget;
+class ConfigExpertDataWidget;
+class ConfigMeasureDataWidget;
 
 class PushButton;
 
@@ -25,10 +26,14 @@ public:
 private:
     void setupTabWidget();
 
+private slots:
+    void slotTabCurrentChanged(int index);
+
 signals:
 
 private:
-    ConfigExpertWidget *m_configExpert = nullptr;
+    ConfigExpertDataWidget *m_configExpert   = nullptr;
+    ConfigMeasureDataWidget *m_configMeasure = nullptr;
 };
 
 #endif  // DATACOLLECTIONWIDGET_H