diff --git a/InstructorsAndTrainees/InstructorsAndTrainees.qrc b/InstructorsAndTrainees/InstructorsAndTrainees.qrc
index 198a0c1..a81d934 100644
--- a/InstructorsAndTrainees/InstructorsAndTrainees.qrc
+++ b/InstructorsAndTrainees/InstructorsAndTrainees.qrc
@@ -55,5 +55,6 @@
resources/icons/personalCard.png
resources/icons/eye.png
resources/icons/exchange.png
+ resources/icons/link.png
diff --git a/InstructorsAndTrainees/connectorToServer/Core/recognizesystem.cpp b/InstructorsAndTrainees/connectorToServer/Core/recognizesystem.cpp
index 1e64edd..3d4dab8 100644
--- a/InstructorsAndTrainees/connectorToServer/Core/recognizesystem.cpp
+++ b/InstructorsAndTrainees/connectorToServer/Core/recognizesystem.cpp
@@ -799,6 +799,20 @@ void RecognizeSystem::xmlParserQueryToDB(PacketType packetType, QByteArray array
task.ammProcedure.dmCode = taskNode.toElement().attribute("dmCode");
task.status = taskNode.toElement().attribute("status");
+ for(int j = 0; j < taskNode.childNodes().count(); j++)
+ {
+ QDomNode subProcNode = taskNode.childNodes().at(j);
+ if(subProcNode.nodeName() == "SubProc")
+ {//Подпроцедура
+ SubProc subProc;
+ subProc.setDmCode(subProcNode.toElement().attribute("dmCode"));
+ subProc.setTitle(subProcNode.toElement().attribute("title"));
+ subProc.setModeListStr(subProcNode.toElement().attribute("canplay"));
+
+ task.listSubProc.append(subProc);
+ }
+ }
+
listTasks.append(task);
}
}
diff --git a/InstructorsAndTrainees/resources/icons/link.png b/InstructorsAndTrainees/resources/icons/link.png
new file mode 100644
index 0000000..0dee870
Binary files /dev/null and b/InstructorsAndTrainees/resources/icons/link.png differ
diff --git a/InstructorsAndTrainees/tasks/ammtaskswidget.cpp b/InstructorsAndTrainees/tasks/ammtaskswidget.cpp
index 23922f6..e8c0a28 100644
--- a/InstructorsAndTrainees/tasks/ammtaskswidget.cpp
+++ b/InstructorsAndTrainees/tasks/ammtaskswidget.cpp
@@ -182,27 +182,51 @@ void AMMtasksWidget::on_treeWidgetItemClicked(QTreeWidgetItem *item, int column)
{
ui->btnDelete->setEnabled(false);
ui->btnCheck->setEnabled(false);
+ ui->btnAssignTask->setEnabled(false);
return;
}
- else
+
+ if(this->type == TypeListTreeAMMFIM::listCommon)
{
- ui->btnCheck->setEnabled(true);
- ui->btnDelete->setEnabled(true);
+ int id = item->text(ColumnsTreeAMM::clmnAMM_ID).toInt();
+ TaskAmmFim task = taskTreePreparation->getTaskAMMbyID(id);
+
+ if(taskTreePreparation->getTypeModuleAMMbyID(id) == ModuleType::TYPE_PM)
+ ui->btnAssignTask->setEnabled(false);
+ else
+ {
+ ui->btnAssignTask->setEnabled(true);
+ }
+
+ if(task.getID())
+ lastCurrentID = id;
+
+ ui->btnDelete->setEnabled(false);
+ ui->btnCheck->setEnabled(false);
}
+ else if(this->type == TypeListTreeAMMFIM::listForTrainee)
+ {
+ QTreeWidgetItem *treeItemParent = item->parent();
+ if(treeItemParent == nullptr)
+ {//Выбрана задача
+ ui->btnCheck->setEnabled(true);
+ ui->btnDelete->setEnabled(true);
- int id = item->text(ColumnsTreeAMM::clmnAMM_ID).toInt();
+ int id = item->text(ColumnsTreeAMM::clmnAMM_ID).toInt();
+ TaskAmmFim task = taskTreePreparation->getTaskAMMbyID(id);
- TaskAmmFim task = taskTreePreparation->getTaskAMMbyID(id);
-
- if(taskTreePreparation->getTypeModuleAMMbyID(id) == ModuleType::TYPE_PM)
+ if(task.getID())
+ lastCurrentID = id;
+ }
+ else
+ {
+ ui->btnCheck->setEnabled(false);
+ ui->btnDelete->setEnabled(false);
+ }
ui->btnAssignTask->setEnabled(false);
- else
- {
- ui->btnAssignTask->setEnabled(true);
}
-
- if(task.getID())
- lastCurrentID = id;
+ else
+ lastCurrentID = 0;
}
void AMMtasksWidget::slot_NeedUpdateUI()
@@ -233,7 +257,7 @@ void AMMtasksWidget::slot_UpdateTasksAMMforTrainee(int trainee_id)
if(idTraineeSelected == trainee_id)
{
QList listTask = connectorToServer->getListTasksAMMforTrainee(trainee_id);
- signal_prepareAMMListItemsForTrainee(listTask);
+ emit signal_prepareAMMListItemsForTrainee(listTask);
emit signal_countTasksAMMforTraineeChanged(trainee_id, listTask.count());
}
diff --git a/InstructorsAndTrainees/tasks/fimtaskswidget.cpp b/InstructorsAndTrainees/tasks/fimtaskswidget.cpp
index 8495057..2afa32d 100644
--- a/InstructorsAndTrainees/tasks/fimtaskswidget.cpp
+++ b/InstructorsAndTrainees/tasks/fimtaskswidget.cpp
@@ -161,11 +161,10 @@ void FIMtasksWidget::on_treeWidgetItemClicked(QTreeWidgetItem *item, int column)
{
ui->btnDelete->setEnabled(false);
ui->btnCheck->setEnabled(false);
+ ui->btnAssignTask->setEnabled(false);
return;
}
- QString code = "";
-
QTreeWidgetItem *treeItemParent = item->parent();
if(treeItemParent == nullptr)
{//Выбрана задача
@@ -185,8 +184,6 @@ void FIMtasksWidget::on_treeWidgetItemClicked(QTreeWidgetItem *item, int column)
lastCurrentID = task.getID();
}
- code = task.title;
-
ui->btnAssignTask->setEnabled(true);
ui->btnDelete->setEnabled(true);
diff --git a/InstructorsAndTrainees/tasks/tasktreepreparation.cpp b/InstructorsAndTrainees/tasks/tasktreepreparation.cpp
index cbeeb33..0cbe523 100644
--- a/InstructorsAndTrainees/tasks/tasktreepreparation.cpp
+++ b/InstructorsAndTrainees/tasks/tasktreepreparation.cpp
@@ -515,6 +515,26 @@ void TaskAMMFIMTreePreparation::slot_prepareAMMListItemsForTrainee(QListsetToolTip(0, text);
+ if(type == TypeListTreeAMMFIM::listForTrainee)
+ {
+ for (int j = 0; j < task.listSubProc.count(); j++)
+ {/*Подпроцедуры*/
+ SubProc subProc = task.listSubProc.at(j);
+
+ QTreeWidgetItem* itemSubProc = new QTreeWidgetItem();
+
+ itemSubProc->setText(ColumnsTreeAMM::clmnAMM_PMorDM, subProc.getTitle());
+
+ itemSubProc->setIcon(ColumnsTreeAMM::clmnAMM_PMorDM, QIcon(":/resources/icons/link.png"));
+ itemSubProc->setToolTip(ColumnsTreeAMM::clmnAMM_PMorDM, subProc.getTitle());
+
+ itemSubProc->setText(ColumnsTreeAMM::clmnAMM_code, subProc.getDmCode());
+
+ item->addChild(itemSubProc);
+ }
+
+ }
+
listItemsAll.append(item);
}