Изменение статуса ФИМ. Закончил

This commit is contained in:
2025-12-18 17:34:05 +03:00
parent 4b3453fe72
commit 33499ed0ea
20 changed files with 85 additions and 11 deletions

View File

@@ -3,6 +3,7 @@
#include <QAbstractScrollArea> #include <QAbstractScrollArea>
#include <QMessageBox> #include <QMessageBox>
#include <QLabel> #include <QLabel>
#include <QScrollBar>
#include "instructor.h" #include "instructor.h"
#include "messangerwidget.h" #include "messangerwidget.h"
#include "ui_messangerwidget.h" #include "ui_messangerwidget.h"
@@ -85,6 +86,8 @@ void MessangerWidget::addTabDialogMessenger(User user)
oneDialogMessenger = new OneDialogMessenger(userLocalGUI, userRemote, this); oneDialogMessenger = new OneDialogMessenger(userLocalGUI, userRemote, this);
oneDialogMessenger->setVerticalScrollMode(QAbstractItemView::ScrollMode::ScrollPerPixel);
ui->verticalLayout_ListMsg->addWidget(oneDialogMessenger); ui->verticalLayout_ListMsg->addWidget(oneDialogMessenger);
//Обновляем заголовок //Обновляем заголовок

View File

@@ -85,7 +85,7 @@
<string/> <string/>
</property> </property>
<property name="pixmap"> <property name="pixmap">
<pixmap resource="../../ServerLMS/ServerLMS.qrc">:/resources/icons/circleGray.png</pixmap> <pixmap resource="../InstructorsAndTrainees.qrc">:/resources/icons/circleGray.png</pixmap>
</property> </property>
</widget> </widget>
</item> </item>
@@ -128,7 +128,7 @@
<string>Send</string> <string>Send</string>
</property> </property>
<property name="icon"> <property name="icon">
<iconset> <iconset resource="../InstructorsAndTrainees.qrc">
<normaloff>:/resources/icons/sendMsg.png</normaloff>:/resources/icons/sendMsg.png</iconset> <normaloff>:/resources/icons/sendMsg.png</normaloff>:/resources/icons/sendMsg.png</iconset>
</property> </property>
<property name="iconSize"> <property name="iconSize">
@@ -149,7 +149,7 @@
</layout> </layout>
</widget> </widget>
<resources> <resources>
<include location="../../ServerLMS/ServerLMS.qrc"/> <include location="../InstructorsAndTrainees.qrc"/>
</resources> </resources>
<connections/> <connections/>
</ui> </ui>

View File

@@ -15,6 +15,10 @@ OneDialogMessenger::OneDialogMessenger(User userLocalGUI, User userRemote, QWidg
setWordWrap(true); setWordWrap(true);
setVerticalScrollBarPolicy(Qt::ScrollBarPolicy::ScrollBarAlwaysOn); setVerticalScrollBarPolicy(Qt::ScrollBarPolicy::ScrollBarAlwaysOn);
setVerticalScrollMode(ScrollMode::ScrollPerPixel);
verticalScrollBar()->setSingleStep(10);
} }
OneDialogMessenger::~OneDialogMessenger() OneDialogMessenger::~OneDialogMessenger()

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -35,6 +35,8 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre
treeWidget->setObjectName("treeWidget_AMMforTrainee"); treeWidget->setObjectName("treeWidget_AMMforTrainee");
ui->horizontalLayout_Tree->addWidget(treeWidget); ui->horizontalLayout_Tree->addWidget(treeWidget);
treeWidget->setFocusPolicy(Qt::FocusPolicy::NoFocus);
connect(treeWidget, &QTreeWidget::itemClicked, this, &AMMtasksWidget::on_treeWidgetItemClicked); connect(treeWidget, &QTreeWidget::itemClicked, this, &AMMtasksWidget::on_treeWidgetItemClicked);
connect(treeWidget, &QTreeWidget::itemDoubleClicked, this, &AMMtasksWidget::on_treeWidgetDoubleClicked); connect(treeWidget, &QTreeWidget::itemDoubleClicked, this, &AMMtasksWidget::on_treeWidgetDoubleClicked);
@@ -77,6 +79,18 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre
ui->btnDelete->setVisible(false); ui->btnDelete->setVisible(false);
ui->btnStatus->setVisible(false); ui->btnStatus->setVisible(false);
} }
else if(type == TypeListTreeAMMFIM::listOneTask)
{
ui->btnDelete->setVisible(false);
ui->btnStatus->setVisible(false);
ui->btnAssignTask->setVisible(false);
ui->btnOnlyActive->setVisible(false);
ui->btnDocsUpdating->setVisible(false);
ui->label_DocsActualed->setVisible(false);
ui->label_Actual->setVisible(false);
this->treeWidget->headerItem()->setHidden(true);
this->treeWidget->setSelectionMode(QAbstractItemView::SelectionMode::NoSelection);
}
else else
{ {
ui->btnOnlyActive->setVisible(false); ui->btnOnlyActive->setVisible(false);
@@ -117,6 +131,13 @@ void AMMtasksWidget::deactivate()
idTraineeSelected = 0; idTraineeSelected = 0;
} }
void AMMtasksWidget::setOneTaskAmm(TaskAmmFim *task)
{
QList<TaskAmmFim> listTask;
listTask.append(*task);
emit signal_prepareAMMListItemsForTrainee(listTask);
}
void AMMtasksWidget::waitAnimationWidgetShowWithPlay() void AMMtasksWidget::waitAnimationWidgetShowWithPlay()
{ {
waitAnimationWidget->showWithPlay(); waitAnimationWidget->showWithPlay();
@@ -282,7 +303,7 @@ void AMMtasksWidget::loadTasksAMM(bool flRequestFirst)
void AMMtasksWidget::slot_AMMlistItemsReady(QList<QTreeWidgetItem *> listItems) void AMMtasksWidget::slot_AMMlistItemsReady(QList<QTreeWidgetItem *> listItems)
{ {
if(type != TypeListTreeAMMFIM::listForTrainee) if(type != TypeListTreeAMMFIM::listForTrainee && type != TypeListTreeAMMFIM::listOneTask)
{ {
//Обновление дерева //Обновление дерева
treeWidget->clear(); treeWidget->clear();
@@ -296,6 +317,13 @@ void AMMtasksWidget::slot_AMMlistItemsReady(QList<QTreeWidgetItem *> listItems)
if(item != nullptr) if(item != nullptr)
treeWidget->setCurrentItem(item); treeWidget->setCurrentItem(item);
*/ */
QTreeWidgetItem * item = treeWidget->topLevelItem(0);
if(item != nullptr)
{
//treeWidget->setCurrentItem(item);
if(type == TypeListTreeAMMFIM::listOneTask)
treeWidget->expandAll();
}
if(type == TypeListTreeAMMFIM::listForTrainee) if(type == TypeListTreeAMMFIM::listForTrainee)
setCurrentTask(lastCurrentID); setCurrentTask(lastCurrentID);
@@ -363,7 +391,7 @@ void AMMtasksWidget::preparationTreeWidget()
reSetHeadTreeWidget(); reSetHeadTreeWidget();
if(type == TypeListTreeAMMFIM::listCommon) if(type == TypeListTreeAMMFIM::listCommon || type == TypeListTreeAMMFIM::listOneTask)
{ {
treeWidget->setColumnHidden(ColumnsTreeAMM::clmnAMM_ID, true); treeWidget->setColumnHidden(ColumnsTreeAMM::clmnAMM_ID, true);
treeWidget->setColumnHidden(ColumnsTreeAMM::clmnAMM_status, true); treeWidget->setColumnHidden(ColumnsTreeAMM::clmnAMM_status, true);

View File

@@ -26,6 +26,7 @@ public:
public: public:
void deactivate(); void deactivate();
void setOneTaskAmm(TaskAmmFim* task);
void waitAnimationWidgetShowWithPlay(); void waitAnimationWidgetShowWithPlay();
void setDocsActualed(bool flActualed); void setDocsActualed(bool flActualed);

View File

@@ -2,12 +2,14 @@
#include "specialmessagebox.h" #include "specialmessagebox.h"
#include "ui_checkertask.h" #include "ui_checkertask.h"
#include "fimtaskswidget.h" #include "fimtaskswidget.h"
#include "ammtaskswidget.h"
CheckerTask::CheckerTask(ConnectorToServer* connectorToServer, TypeChecker type, QWidget *parent) : CheckerTask::CheckerTask(ConnectorToServer* connectorToServer, TypeChecker type, QWidget *parent) :
QWidget(parent), QWidget(parent),
ui(new Ui::CheckerTask), ui(new Ui::CheckerTask),
connectorToServer(connectorToServer), connectorToServer(connectorToServer),
fimTasksWidget(nullptr), fimTasksWidget(nullptr),
ammTasksWidget(nullptr),
flChanged(false), flChanged(false),
id_task(0), id_task(0),
type(TypeChecker::fim_check) type(TypeChecker::fim_check)
@@ -34,11 +36,19 @@ CheckerTask::CheckerTask(ConnectorToServer* connectorToServer, TypeChecker type,
} }
else if(type == TypeChecker::amm_check) else if(type == TypeChecker::amm_check)
{ {
ammTasksWidget = new AMMtasksWidget(nullptr, TypeListTreeAMMFIM::listOneTask, this);
ui->verticalLayout_3->addWidget(ammTasksWidget);
ui->lblName->setVisible(false);
ui->lblDMcode->setVisible(false);
ui->plainText->setVisible(false); ui->plainText->setVisible(false);
ui->label->setVisible(false); ui->label->setVisible(false);
ui->btnWrong->setEnabled(false); ui->btnWrong->setEnabled(false);
ui->btnCheckup->setEnabled(false); ui->btnCheckup->setEnabled(false);
ui->btnWrong->setVisible(false);
ui->btnCheckup->setVisible(false);
} }
} }
@@ -50,6 +60,12 @@ CheckerTask::~CheckerTask()
fimTasksWidget = nullptr; fimTasksWidget = nullptr;
} }
if(ammTasksWidget)
{
delete ammTasksWidget;
ammTasksWidget = nullptr;
}
delete ui; delete ui;
} }
@@ -77,6 +93,9 @@ void CheckerTask::setTask(TaskAmmFim* task)
ui->btnCheckup->setEnabled(false); ui->btnCheckup->setEnabled(false);
ui->btnWrong->setEnabled(false); ui->btnWrong->setEnabled(false);
ui->btnCompleted->setEnabled(false); ui->btnCompleted->setEnabled(false);
ui->plainText->setVisible(false);
ui->label->setVisible(false);
} }
else if(this->task.status == "checkup") else if(this->task.status == "checkup")
{ {
@@ -109,6 +128,9 @@ void CheckerTask::setTask(TaskAmmFim* task)
} }
else if(type == TypeChecker::amm_check) else if(type == TypeChecker::amm_check)
{ {
//Задача
ammTasksWidget->setOneTaskAmm(&this->task);
if(this->task.status == "new") if(this->task.status == "new")
{ {
ui->btnNew->setEnabled(false); ui->btnNew->setEnabled(false);

View File

@@ -13,6 +13,7 @@ class CheckerTask;
} }
class FIMtasksWidget; class FIMtasksWidget;
class AMMtasksWidget;
class CheckerTask : public QWidget class CheckerTask : public QWidget
{ {
@@ -56,6 +57,7 @@ private:
private: private:
ConnectorToServer* connectorToServer; ConnectorToServer* connectorToServer;
FIMtasksWidget* fimTasksWidget; FIMtasksWidget* fimTasksWidget;
AMMtasksWidget* ammTasksWidget;
bool flChanged; bool flChanged;
int id_task; int id_task;

View File

@@ -23,7 +23,7 @@ DialogChekerTask::DialogChekerTask(ConnectorToServer* connectorToServer, Checker
break; break;
case CheckerTask::TypeChecker::amm_check: case CheckerTask::TypeChecker::amm_check:
this->setWindowTitle(tr("Status Task")); this->setWindowTitle(tr("Status Task"));
this->setMinimumSize(400, 200); this->setMinimumSize(1400, 500);
break; break;
default: default:
break; break;

View File

@@ -32,6 +32,8 @@ FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre
treeWidget = new QTreeWidget(); treeWidget = new QTreeWidget();
ui->horizontalLayout_Tree->addWidget(treeWidget); ui->horizontalLayout_Tree->addWidget(treeWidget);
treeWidget->setFocusPolicy(Qt::FocusPolicy::NoFocus);
//connect(treeWidget, &QTreeWidget::currentItemChanged, this, &FIMtasksWidget::on_treeWidgetCurrentItemChanged); //connect(treeWidget, &QTreeWidget::currentItemChanged, this, &FIMtasksWidget::on_treeWidgetCurrentItemChanged);
connect(treeWidget, &QTreeWidget::itemClicked, this, &FIMtasksWidget::on_treeWidgetItemClicked); connect(treeWidget, &QTreeWidget::itemClicked, this, &FIMtasksWidget::on_treeWidgetItemClicked);
@@ -465,6 +467,7 @@ void FIMtasksWidget::setCurrentTask(int id)
if(item->text(ColumnsTreeFIM::clmnFIM_ID).toInt() == id) if(item->text(ColumnsTreeFIM::clmnFIM_ID).toInt() == id)
{ {
treeWidget->setCurrentItem(item); treeWidget->setCurrentItem(item);
treeWidget->itemClicked(item, 0);
return; return;
} }
} }

View File

@@ -27,7 +27,7 @@ public:
public: public:
void deactivate(); void deactivate();
void setOneTaskFim(TaskAmmFim* task); //FIM void setOneTaskFim(TaskAmmFim* task);
void waitAnimationWidgetShowWithPlay(); void waitAnimationWidgetShowWithPlay();
public: public:

View File

@@ -14,6 +14,8 @@ ListSubProc::ListSubProc(QWidget *parent) :
treeWidget = new QTreeWidget(); treeWidget = new QTreeWidget();
ui->horizontalLayout_Tree->addWidget(treeWidget); ui->horizontalLayout_Tree->addWidget(treeWidget);
treeWidget->setFocusPolicy(Qt::FocusPolicy::NoFocus);
preparationTreeWidget(); preparationTreeWidget();
} }

View File

@@ -72,7 +72,7 @@
<string>Assign</string> <string>Assign</string>
</property> </property>
<property name="icon"> <property name="icon">
<iconset resource="../../ServerLMS/ServerLMS.qrc"> <iconset resource="../InstructorsAndTrainees.qrc">
<normaloff>:/resources/icons/circleGreen.png</normaloff>:/resources/icons/circleGreen.png</iconset> <normaloff>:/resources/icons/circleGreen.png</normaloff>:/resources/icons/circleGreen.png</iconset>
</property> </property>
<property name="iconSize"> <property name="iconSize">
@@ -93,7 +93,7 @@
</layout> </layout>
</widget> </widget>
<resources> <resources>
<include location="../../ServerLMS/ServerLMS.qrc"/> <include location="../InstructorsAndTrainees.qrc"/>
</resources> </resources>
<connections/> <connections/>
</ui> </ui>

View File

@@ -43,6 +43,15 @@
<property name="frameShadow"> <property name="frameShadow">
<enum>QFrame::Sunken</enum> <enum>QFrame::Sunken</enum>
</property> </property>
<property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="autoScroll">
<bool>true</bool>
</property>
</widget> </widget>
</item> </item>
</layout> </layout>

View File

@@ -531,7 +531,7 @@ void TaskAMMFIMTreePreparation::slot_prepareAMMListItemsForTrainee(QList<TaskAmm
item->setToolTip(0, text); item->setToolTip(0, text);
if(type == TypeListTreeAMMFIM::listForTrainee) if(type == TypeListTreeAMMFIM::listForTrainee || type == TypeListTreeAMMFIM::listOneTask)
{ {
//Подпроцедуры //Подпроцедуры
if(task.listSubProc.count()) if(task.listSubProc.count())
@@ -635,7 +635,7 @@ void TaskAMMFIMTreePreparation::slot_prepareFIMListItems(QByteArray array)
itemSign->setText(ColumnsTreeFIM::clmnFIM_Title, sign.description); itemSign->setText(ColumnsTreeFIM::clmnFIM_Title, sign.description);
//itemSign->setFlags(itemSign->flags() | Qt::ItemIsUserCheckable); //itemSign->setFlags(itemSign->flags() | Qt::ItemIsUserCheckable);
//itemSign->setCheckState(ColumnsTreeFIM::clmnFIM_Title, Qt::Checked); //itemSign->setCheckState(ColumnsTreeFIM::clmnFIM_Title, Qt::Checked);
itemSign->setIcon(ColumnsTreeFIM::clmnFIM_Title, QIcon(":/resources/icons/sign.png")); itemSign->setIcon(ColumnsTreeFIM::clmnFIM_Title, QIcon(":/resources/icons/sign.png").pixmap(24, 24));
itemSign->setToolTip(ColumnsTreeFIM::clmnFIM_Title, sign.description); itemSign->setToolTip(ColumnsTreeFIM::clmnFIM_Title, sign.description);
itemMalfunction->addChild(itemSign); itemMalfunction->addChild(itemSign);