73 lines
2.3 KiB
C++
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);
|
|
}
|