Форма 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

@@ -80,6 +80,9 @@ add_library(InstructorsAndTrainees SHARED
tasks/fimtaskswidget.ui tasks/fimtaskswidget.ui
tasks/tasktreepreparation.cpp tasks/tasktreepreparation.cpp
tasks/tasktreepreparation.h tasks/tasktreepreparation.h
tasks/dialogchecktask.cpp
tasks/dialogchecktask.h
tasks/dialogchecktask.ui
#tasks/tasksAmmFim.cpp #tasks/tasksAmmFim.cpp
#tasks/tasksAmmFim.h #tasks/tasksAmmFim.h
widgets/newversionwidget.cpp widgets/newversionwidget.cpp

View File

@@ -44,5 +44,6 @@
<file>resources/icons/assignTask.png</file> <file>resources/icons/assignTask.png</file>
<file>resources/icons/delete.png</file> <file>resources/icons/delete.png</file>
<file>resources/icons/filter.png</file> <file>resources/icons/filter.png</file>
<file>resources/icons/check.png</file>
</qresource> </qresource>
</RCC> </RCC>

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -54,10 +54,15 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeList ty
ui->btnDelete->setObjectName("btnDelete"); ui->btnDelete->setObjectName("btnDelete");
ui->btnDelete->setEnabled(false); ui->btnDelete->setEnabled(false);
ui->btnCheck->setObjectName("btnCheck");
ui->btnCheck->setEnabled(false);
ui->btnOnlyActive->setObjectName("btnOnlyActive");
if(type == TypeList::listCommon) if(type == TypeList::listCommon)
ui->btnDelete->setVisible(false); ui->btnDelete->setVisible(false);
else else
ui->btnOnlyActive->setVisible(false); ui->btnOnlyActive->setVisible(false);
ui->btnCheck->setVisible(false);
} }
AMMtasksWidget::~AMMtasksWidget() AMMtasksWidget::~AMMtasksWidget()
@@ -89,13 +94,13 @@ void AMMtasksWidget::resizeEvent(QResizeEvent *event)
treeWidget->setColumnWidth(ColumnsTree::clmn_ID, 50); treeWidget->setColumnWidth(ColumnsTree::clmn_ID, 50);
treeWidget->setColumnWidth(ColumnsTree::clmn_code, 250); treeWidget->setColumnWidth(ColumnsTree::clmn_code, 250);
treeWidget->setColumnWidth(ColumnsTree::clmn_status, 50); treeWidget->setColumnWidth(ColumnsTree::clmn_status, 70);
int widthPMorDM; int widthPMorDM;
if(type == TypeList::listCommon) if(type == TypeList::listCommon)
widthPMorDM = width - (250 + 10); widthPMorDM = width - (250 + 10);
else else
widthPMorDM = width - (300 + 10); widthPMorDM = width - (370 + 10);
treeWidget->setColumnWidth(ColumnsTree::clmn_PMorDM, widthPMorDM); treeWidget->setColumnWidth(ColumnsTree::clmn_PMorDM, widthPMorDM);
} }
@@ -239,7 +244,10 @@ void AMMtasksWidget::preparationTreeWidget()
reSetHeadTreeWidget(); reSetHeadTreeWidget();
if(type == TypeList::listCommon) if(type == TypeList::listCommon)
{
treeWidget->setColumnHidden(ColumnsTree::clmn_ID, true); treeWidget->setColumnHidden(ColumnsTree::clmn_ID, true);
treeWidget->setColumnHidden(ColumnsTree::clmn_status, true);
}
} }
void AMMtasksWidget::reSetHeadTreeWidget() void AMMtasksWidget::reSetHeadTreeWidget()
@@ -327,3 +335,8 @@ void AMMtasksWidget::on_btnOnlyActive_clicked()
//connectorToServer->sendQueryTasksXML("amm"); //connectorToServer->sendQueryTasksXML("amm");
loadTasksAMM(false); loadTasksAMM(false);
} }
void AMMtasksWidget::on_btnCheck_clicked()
{
}

View File

@@ -52,6 +52,8 @@ private Q_SLOTS:
void on_btnOnlyActive_clicked(); void on_btnOnlyActive_clicked();
void on_btnCheck_clicked();
public Q_SLOTS: public Q_SLOTS:
void slot_AssignTaskAMMtoTrainee(); void slot_AssignTaskAMMtoTrainee();

View File

@@ -69,6 +69,32 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<widget class="QToolButton" name="btnCheck">
<property name="minimumSize">
<size>
<width>50</width>
<height>50</height>
</size>
</property>
<property name="text">
<string>Check</string>
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/resources/icons/check.png</normaloff>:/resources/icons/check.png</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="toolButtonStyle">
<enum>Qt::ToolButtonTextUnderIcon</enum>
</property>
</widget>
</item>
<item> <item>
<widget class="QToolButton" name="btnDelete"> <widget class="QToolButton" name="btnDelete">
<property name="minimumSize"> <property name="minimumSize">

View File

@@ -0,0 +1,31 @@
#include "dialogchecktask.h"
#include "ui_dialogchecktask.h"
DialogCheckTask::DialogCheckTask(QWidget *parent) :
QWidget(parent),
ui(new Ui::DialogCheckTask),
fimTasksWidget(nullptr)
{
ui->setupUi(this);
fimTasksWidget = new FIMtasksWidget(nullptr, FIMtasksWidget::TypeList::listOneTask, this);
ui->verticalLayout->addWidget(fimTasksWidget);
}
DialogCheckTask::~DialogCheckTask()
{
delete fimTasksWidget;
delete ui;
}
void DialogCheckTask::setTask(TaskAmmFim* task)
{
this->task = *task;
fimTasksWidget->setOneTaskFim(&this->task);
}
TaskAmmFim DialogCheckTask::getTask()
{
return this->task;
}

View File

@@ -0,0 +1,33 @@
#ifndef DIALOGCHECKTASK_H
#define DIALOGCHECKTASK_H
#include <QWidget>
#include "tasksAmmFim.h"
#include "fimtaskswidget.h"
namespace Ui {
class DialogCheckTask;
}
class DialogCheckTask : public QWidget
{
Q_OBJECT
public:
explicit DialogCheckTask(QWidget *parent = nullptr);
~DialogCheckTask();
public:
void setTask(TaskAmmFim* task);
TaskAmmFim getTask();
private:
TaskAmmFim task;
private:
Ui::DialogCheckTask *ui;
private:
FIMtasksWidget* fimTasksWidget;
};
#endif // DIALOGCHECKTASK_H

View File

@@ -0,0 +1,80 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>DialogCheckTask</class>
<widget class="QWidget" name="DialogCheckTask">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>ID</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>Title</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Status</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QLineEdit" name="editID"/>
</item>
<item>
<widget class="QLineEdit" name="editTitle"/>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_3"/>
</item>
</layout>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

View File

@@ -7,6 +7,7 @@
#include "fimtaskswidget.h" #include "fimtaskswidget.h"
#include "ui_fimtaskswidget.h" #include "ui_fimtaskswidget.h"
#include "tasksAmmFim.h" #include "tasksAmmFim.h"
#include "dialogchecktask.h"
FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, TypeList type, QWidget *parent) : FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, TypeList type, QWidget *parent) :
QWidget(parent), QWidget(parent),
@@ -44,8 +45,18 @@ FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, TypeList ty
ui->btnDelete->setObjectName("btnDelete"); ui->btnDelete->setObjectName("btnDelete");
ui->btnDelete->setEnabled(false); ui->btnDelete->setEnabled(false);
ui->btnCheck->setObjectName("btnCheck");
ui->btnCheck->setEnabled(false);
if(type == TypeList::listCommon) if(type == TypeList::listCommon)
{
ui->btnDelete->setVisible(false); ui->btnDelete->setVisible(false);
ui->btnCheck->setVisible(false);
}
else if(type == TypeList::listOneTask)
{
ui->btnDelete->setVisible(false);
ui->btnCheck->setVisible(false);
}
} }
FIMtasksWidget::~FIMtasksWidget() FIMtasksWidget::~FIMtasksWidget()
@@ -65,6 +76,12 @@ FIMtasksWidget::~FIMtasksWidget()
delete ui; delete ui;
} }
void FIMtasksWidget::setOneTaskFim(TaskAmmFim* task)
{
listTaskAmmFim.append(task);
fillTree();
}
void FIMtasksWidget::resizeEvent(QResizeEvent *event) void FIMtasksWidget::resizeEvent(QResizeEvent *event)
{ {
QSize size = event->size(); QSize size = event->size();
@@ -73,13 +90,13 @@ void FIMtasksWidget::resizeEvent(QResizeEvent *event)
int width = treeWidget->width(); int width = treeWidget->width();
treeWidget->setColumnWidth(ColumnsTree::clmn_ID, 50); treeWidget->setColumnWidth(ColumnsTree::clmn_ID, 50);
treeWidget->setColumnWidth(ColumnsTree::clmn_status, 50); treeWidget->setColumnWidth(ColumnsTree::clmn_status, 70);
int widthTitle; int widthTitle;
if(type == TypeList::listCommon) if(type == TypeList::listCommon)
widthTitle = width - (0 + 10); widthTitle = width - (0 + 10);
else else
widthTitle = width - (50 + 10); widthTitle = width - (120 + 10);
treeWidget->setColumnWidth(ColumnsTree::clmn_Title, widthTitle); treeWidget->setColumnWidth(ColumnsTree::clmn_Title, widthTitle);
} }
@@ -102,6 +119,7 @@ void FIMtasksWidget::on_treeWidget_currentItemChanged(QTreeWidgetItem *current,
if(current == nullptr) if(current == nullptr)
{ {
ui->btnDelete->setEnabled(false); ui->btnDelete->setEnabled(false);
ui->btnCheck->setEnabled(false);
return; return;
} }
@@ -119,12 +137,18 @@ void FIMtasksWidget::on_treeWidget_currentItemChanged(QTreeWidgetItem *current,
accessAssignTask = true; accessAssignTask = true;
ui->btnDelete->setEnabled(true); ui->btnDelete->setEnabled(true);
if(task->status != "new")
ui->btnCheck->setEnabled(true);
else
ui->btnCheck->setEnabled(false);
} }
else else
{ {
accessAssignTask = false; accessAssignTask = false;
ui->btnDelete->setEnabled(false); ui->btnDelete->setEnabled(false);
ui->btnCheck->setEnabled(false);
} }
Q_EMIT signal_currentItemChanged(); Q_EMIT signal_currentItemChanged();
@@ -268,7 +292,14 @@ void FIMtasksWidget::fillTree()
QTreeWidgetItem * item = treeWidget->topLevelItem(0); QTreeWidgetItem * item = treeWidget->topLevelItem(0);
if(item != nullptr) if(item != nullptr)
{
treeWidget->setCurrentItem(item); treeWidget->setCurrentItem(item);
if(type == TypeList::listOneTask)
{
treeWidget->expandAll();
}
}
} }
void FIMtasksWidget::prepareListTasksForTrainee(QList<TaskAmmFim> listTask) void FIMtasksWidget::prepareListTasksForTrainee(QList<TaskAmmFim> listTask)
@@ -291,7 +322,10 @@ void FIMtasksWidget::preparationTreeWidget()
reSetHeadTreeWidget(); reSetHeadTreeWidget();
if(type == TypeList::listCommon) if(type == TypeList::listCommon)
{
treeWidget->setColumnHidden(ColumnsTree::clmn_ID, true); treeWidget->setColumnHidden(ColumnsTree::clmn_ID, true);
treeWidget->setColumnHidden(ColumnsTree::clmn_status, true);
}
} }
void FIMtasksWidget::reSetHeadTreeWidget() void FIMtasksWidget::reSetHeadTreeWidget()
@@ -369,6 +403,9 @@ TaskAmmFim* FIMtasksWidget::getTaskByID(int id)
void FIMtasksWidget::deleteAllTaskAmmFim() void FIMtasksWidget::deleteAllTaskAmmFim()
{ {
if(type == TypeList::listOneTask)
return;
for(TaskAmmFim* task: listTaskAmmFim) for(TaskAmmFim* task: listTaskAmmFim)
delete task; 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();
}
}
}

View File

@@ -18,7 +18,8 @@ public:
enum TypeList enum TypeList
{ {
listCommon = 0, listCommon = 0,
listForTrainee listForTrainee,
listOneTask
}; };
private: private:
@@ -43,6 +44,8 @@ public:
} }
bool getAccessAssignTask(){return accessAssignTask;} bool getAccessAssignTask(){return accessAssignTask;}
void setOneTaskFim(TaskAmmFim* task);
public: public:
void resizeEvent(QResizeEvent *event) override; void resizeEvent(QResizeEvent *event) override;
protected: protected:
@@ -54,6 +57,8 @@ private Q_SLOTS:
void on_btnDelete_clicked(); void on_btnDelete_clicked();
void on_btnCheck_clicked();
public Q_SLOTS: public Q_SLOTS:
void slot_AssignTaskFIMtoTrainee(); void slot_AssignTaskFIMtoTrainee();

View File

@@ -34,8 +34,40 @@
</property> </property>
</spacer> </spacer>
</item> </item>
<item>
<widget class="QToolButton" name="btnCheck">
<property name="minimumSize">
<size>
<width>50</width>
<height>50</height>
</size>
</property>
<property name="text">
<string>Check</string>
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/resources/icons/check.png</normaloff>:/resources/icons/check.png</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="toolButtonStyle">
<enum>Qt::ToolButtonTextUnderIcon</enum>
</property>
</widget>
</item>
<item> <item>
<widget class="QToolButton" name="btnDelete"> <widget class="QToolButton" name="btnDelete">
<property name="minimumSize">
<size>
<width>50</width>
<height>50</height>
</size>
</property>
<property name="text"> <property name="text">
<string>Delete</string> <string>Delete</string>
</property> </property>