Files
VX5_KRO_GearPump/dialogmaintenancetimesetting.cpp
T
2026-05-23 14:16:57 +08:00

73 lines
2.3 KiB
C++

#include "dialogmaintenancetimesetting.h"
#include "ui_dialogmaintenancetimesetting.h"
#include <QDate>
#include <QMessageBox>
DialogMaintenanceTimeSetting::DialogMaintenanceTimeSetting(QWidget *parent) :
QDialog(parent),
ui(new Ui::DialogMaintenanceTimeSetting)
{
ui->setupUi(this);
resetSchedule = false;
}
DialogMaintenanceTimeSetting::~DialogMaintenanceTimeSetting()
{
delete ui;
}
int DialogMaintenanceTimeSetting::getInterval(RFIDPara_t* para)
{
para->maintenanceInterval = ui->spinBox->value();
para->maintenanceHours = ui->spinBoxRuntime->value();
if (resetSchedule) {
resetSchedule = false;
QDate curDate = QDate::currentDate();
int curdate = curDate.toString("yyMMdd").toInt();
para->maintenanceDate = curdate; // 维护日期
para->runTime = 0;
}
return 0;
}
bool DialogMaintenanceTimeSetting::getResetSchedule(){
bool flag = resetSchedule;
resetSchedule = false;
return flag;
}
void DialogMaintenanceTimeSetting::on_pushButton_Reset_clicked()
{
QMessageBox::StandardButton ret;
ret = QMessageBox::warning(this, tr("警告"),
tr("确定要设置今天为新的保养日期吗?"),
QMessageBox::Ok | QMessageBox::Cancel);
if (ret == QMessageBox::Ok){
resetSchedule = true;
}
}
void DialogMaintenanceTimeSetting::disableMaintenanceTimeSet(bool flag){
ui->spinBox->setEnabled(flag);
ui->pushButton_Reset->setEnabled(flag);
ui->label_MaintenanceTime->setEnabled(flag);
ui->label_4->setEnabled(flag);
ui->label_5->setEnabled(flag);
ui->spinBoxRuntime->setEnabled(flag);
}
void DialogMaintenanceTimeSetting::updateUI(RFIDPara_t para)
{
QDate curDate = QDate::currentDate();
QString mtEndDatestr = "20" + QString::number(para.maintenanceEndDate);
QDate mtEndDate = QDate::fromString(mtEndDatestr,"yyyyMMdd");
int timeoutDay = curDate.daysTo(mtEndDate);
ui->label_MaintenanceTime->setText(QString("%1 Days").arg(timeoutDay));
ui->spinBox->setValue(para.maintenanceInterval);
double h = para.runTime / 60.0 / 60.0;
// 保留两位小数
ui->label_CurRunTime->setText(QString("%1 Hours").arg(QString::number(h, 'f', 2)));
ui->spinBoxRuntime->setValue(para.maintenanceHours);
}