Форма Check с общей информацией по задаче

This commit is contained in:
2025-05-20 15:39:02 +03:00
parent 0f7d9e6531
commit 162e72e55d
12 changed files with 297 additions and 5 deletions

View File

@@ -7,6 +7,7 @@
#include "fimtaskswidget.h"
#include "ui_fimtaskswidget.h"
#include "tasksAmmFim.h"
#include "dialogchecktask.h"
FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, TypeList type, QWidget *parent) :
QWidget(parent),
@@ -44,8 +45,18 @@ FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, TypeList ty
ui->btnDelete->setObjectName("btnDelete");
ui->btnDelete->setEnabled(false);
ui->btnCheck->setObjectName("btnCheck");
ui->btnCheck->setEnabled(false);
if(type == TypeList::listCommon)
{
ui->btnDelete->setVisible(false);
ui->btnCheck->setVisible(false);
}
else if(type == TypeList::listOneTask)
{
ui->btnDelete->setVisible(false);
ui->btnCheck->setVisible(false);
}
}
FIMtasksWidget::~FIMtasksWidget()
@@ -65,6 +76,12 @@ FIMtasksWidget::~FIMtasksWidget()
delete ui;
}
void FIMtasksWidget::setOneTaskFim(TaskAmmFim* task)
{
listTaskAmmFim.append(task);
fillTree();
}
void FIMtasksWidget::resizeEvent(QResizeEvent *event)
{
QSize size = event->size();
@@ -73,13 +90,13 @@ void FIMtasksWidget::resizeEvent(QResizeEvent *event)
int width = treeWidget->width();
treeWidget->setColumnWidth(ColumnsTree::clmn_ID, 50);
treeWidget->setColumnWidth(ColumnsTree::clmn_status, 50);
treeWidget->setColumnWidth(ColumnsTree::clmn_status, 70);
int widthTitle;
if(type == TypeList::listCommon)
widthTitle = width - (0 + 10);
else
widthTitle = width - (50 + 10);
widthTitle = width - (120 + 10);
treeWidget->setColumnWidth(ColumnsTree::clmn_Title, widthTitle);
}
@@ -102,6 +119,7 @@ void FIMtasksWidget::on_treeWidget_currentItemChanged(QTreeWidgetItem *current,
if(current == nullptr)
{
ui->btnDelete->setEnabled(false);
ui->btnCheck->setEnabled(false);
return;
}
@@ -119,12 +137,18 @@ void FIMtasksWidget::on_treeWidget_currentItemChanged(QTreeWidgetItem *current,
accessAssignTask = true;
ui->btnDelete->setEnabled(true);
if(task->status != "new")
ui->btnCheck->setEnabled(true);
else
ui->btnCheck->setEnabled(false);
}
else
{
accessAssignTask = false;
ui->btnDelete->setEnabled(false);
ui->btnCheck->setEnabled(false);
}
Q_EMIT signal_currentItemChanged();
@@ -268,7 +292,14 @@ void FIMtasksWidget::fillTree()
QTreeWidgetItem * item = treeWidget->topLevelItem(0);
if(item != nullptr)
{
treeWidget->setCurrentItem(item);
if(type == TypeList::listOneTask)
{
treeWidget->expandAll();
}
}
}
void FIMtasksWidget::prepareListTasksForTrainee(QList<TaskAmmFim> listTask)
@@ -291,7 +322,10 @@ void FIMtasksWidget::preparationTreeWidget()
reSetHeadTreeWidget();
if(type == TypeList::listCommon)
{
treeWidget->setColumnHidden(ColumnsTree::clmn_ID, true);
treeWidget->setColumnHidden(ColumnsTree::clmn_status, true);
}
}
void FIMtasksWidget::reSetHeadTreeWidget()
@@ -369,6 +403,9 @@ TaskAmmFim* FIMtasksWidget::getTaskByID(int id)
void FIMtasksWidget::deleteAllTaskAmmFim()
{
if(type == TypeList::listOneTask)
return;
for(TaskAmmFim* task: listTaskAmmFim)
delete task;
@@ -446,3 +483,32 @@ void FIMtasksWidget::on_btnDelete_clicked()
}
}
}
void FIMtasksWidget::on_btnCheck_clicked()
{
QTreeWidgetItem *treeItemCurrent = treeWidget->currentItem();
if(treeItemCurrent != nullptr)
{
QTreeWidgetItem *treeItemParent = treeItemCurrent->parent();
if(treeItemParent == nullptr)
{//Выбрана задача
int id = treeItemCurrent->text(ColumnsTree::clmn_ID).toInt();
TaskAmmFim* task = getTaskByID(id);
DialogCheckTask dlg(this);
dlg.setTask(task);
QDialog* dialog = new QDialog(this);
QHBoxLayout *layout = new QHBoxLayout(dialog);
layout->addWidget(&dlg);
dialog->setWindowTitle(tr("Check Task"));
dialog->setMinimumSize(1600, 800);
dialog->setStyleSheet(this->styleSheet());
dialog->exec();
}
}
}