|
@@ -94,9 +94,10 @@ void DataTableWidget::setupModels()
|
|
|
for (int i = 1; i < m_mind1->levels(); i++) {
|
|
|
QList<DataTableItemModel *> modelList;
|
|
|
|
|
|
- // 方案优选和综合效能的评估数据采集页面只有一级, 不用切换页面
|
|
|
- // 方案优选显示指标量纲和指标类型
|
|
|
- // 综合效能显示指标类型
|
|
|
+ /// 方案优选和综合效能的评估数据采集
|
|
|
+ /// 页面只有一级, 不用切换页面
|
|
|
+ /// 方案优选显示指标量纲和指标类型
|
|
|
+ /// 综合效能显示指标类型
|
|
|
if (m_process.type == SchemePlanManager::ImportEvalData
|
|
|
&& (m_process.indexType == ProjectManager::OptimalIndex
|
|
|
|| m_process.indexType == ProjectManager::EfficiencyIndex)) {
|
|
@@ -165,6 +166,8 @@ void DataTableWidget::setupModels()
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
+ /// 权重分析数据: 能力重要度评估,方案优选评估,综合效能评估
|
|
|
+ /// 评估数据: 技术措施重要度评估
|
|
|
QList<CNodeData> nodes = m_mind1->nodesInLevel(i);
|
|
|
for (int j = 0; j < nodes.count(); j++) {
|
|
|
CNodeData node = nodes[j];
|
|
@@ -439,9 +442,9 @@ void DataTableWidget::setNodeMatrixData(QList<NodeMatrixInfo *> data, bool isExp
|
|
|
m_data = data;
|
|
|
m_uuidStr = data.first()->strUuid;
|
|
|
|
|
|
- // 加载来自专家的权重分析数据
|
|
|
+ // 加载权重分析数据
|
|
|
if (m_process.type == SchemePlanManager::ImportWeightData) {
|
|
|
- if (m_process.dSource == SchemePlanManager::FromExpert) {
|
|
|
+ if (m_process.dSource == SchemePlanManager::FromExpert) { // 专家数据
|
|
|
for (NodeMatrixInfo *info : data) {
|
|
|
for (QList<DataTableItemModel *> modelList : m_models.values()) {
|
|
|
for (DataTableItemModel *model : modelList) {
|
|
@@ -460,7 +463,7 @@ void DataTableWidget::setNodeMatrixData(QList<NodeMatrixInfo *> data, bool isExp
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- } else {
|
|
|
+ } else { // 实测数据
|
|
|
for (NodeMatrixInfo *info : data) {
|
|
|
for (QList<DataTableItemModel *> modelList : m_models.values()) {
|
|
|
for (DataTableItemModel *model : modelList) {
|
|
@@ -479,6 +482,7 @@ void DataTableWidget::setNodeMatrixData(QList<NodeMatrixInfo *> data, bool isExp
|
|
|
}
|
|
|
|
|
|
// 加载技术重要度的评估数据
|
|
|
+ // 由于表的结构相似, 所以不用不区分专家数据和实测数据
|
|
|
if (m_process.type == SchemePlanManager::ImportEvalData && m_process.indexType == ProjectManager::TechIndex) {
|
|
|
for (NodeMatrixInfo *info : data) {
|
|
|
for (QList<DataTableItemModel *> modelList : m_models.values()) {
|
|
@@ -545,6 +549,16 @@ void DataTableWidget::updateModel(DataTableItemModel *model, QList<CNodeData> &h
|
|
|
item->setToolTip(node.remark);
|
|
|
model->setVerticalHeaderItem(i + vStart, item);
|
|
|
}
|
|
|
+
|
|
|
+ if (m_process.dSource == SchemePlanManager::FromExpert) {
|
|
|
+ for (int i = 0; i < hHeaders.size(); i++) {
|
|
|
+ for (int j = 0; j < vHeaders.size(); j++) {
|
|
|
+ QStandardItem *item = new QStandardItem();
|
|
|
+ item->setEditable(false);
|
|
|
+ model->setItem(j, i, item);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
void DataTableWidget::slotPrevious()
|
|
@@ -563,12 +577,15 @@ void DataTableWidget::slotTabCurrentChanged(int c)
|
|
|
updateCurrentTable();
|
|
|
}
|
|
|
|
|
|
+/// 用户编辑了表格数据后, 将数据存到数据库, 并更新本地数据源
|
|
|
void DataTableWidget::itemChanged(QStandardItem *item)
|
|
|
{
|
|
|
+ // 排除程序的填充数据操作, 只关心用户操作
|
|
|
if (isFillingData == true) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
+ // 只关心用户编辑实测数据
|
|
|
bool weightData = m_process.type == SchemePlanManager::ImportWeightData
|
|
|
&& m_process.dSource == SchemePlanManager::FromMeasurement;
|
|
|
bool evalData = m_process.type == SchemePlanManager::ImportEvalData
|