#include "packinfo_page.h" #include "ui_packinfo_page.h" #include packinfo_page::packinfo_page(QWidget *parent, Work_Thread *wt) : custom_dialog(parent), ui(new Ui::packinfo_page) { ui->setupUi(this); workThread = wt; set_btn_beep(ui->pushButton_Exit,SIGNAL(pressed())); connect(ui->pushButton_Exit,SIGNAL(released()),this,SLOT(buttonReleasedAction())); timer_500ms = new QTimer(this); connect(timer_500ms,SIGNAL(timeout()),this,SLOT(update_slot())); } packinfo_page::~packinfo_page() { delete ui; delete timer_500ms; //qDebug("~packinfo_page"); } void packinfo_page::showPackinfoPage() { dspValue(); updateValue(); timer_500ms->start(500); this->exec(); } void packinfo_page::closePackinfoPage() { timer_500ms->stop(); this->close(); } void packinfo_page::SystemTime(void) { QDateTime time = QDateTime::currentDateTime();//获取系统现在的时间 QString str = time.toString("yyyy-MM-dd hh:mm:ss"); //设置显示格式 ui->label_Time->setText(str); } void packinfo_page::checkIcon() { /* if(workThread->iconState.usbState) ui->label_USB->setPixmap(QPixmap(":new/prefix1/usb.png")); else ui->label_USB->setPixmap(QPixmap("")); */ } void packinfo_page::dspValue() { QString title = tr("电箱信息--"); if(workThread->packParam.pack_type == PACK_TYPE_Halo){ title += tr("哈啰"); } else{ title += tr("其它"); } ui->label_Title->setText(title); char verchars[24]; memset(verchars,'\0',sizeof(verchars)); memcpy(verchars,workThread->packData.boot_version,sizeof(workThread->packData.boot_version)); QString bootverstr(verchars); ui->label_bootversion1->setText(bootverstr); memset(verchars,'\0',sizeof(verchars)); memcpy(verchars,workThread->packData.soft_version,sizeof(workThread->packData.soft_version)); QString softverstr(verchars); ui->label_softversion1->setText(softverstr); memset(verchars,'\0',sizeof(verchars)); memcpy(verchars,workThread->packData.Barcode_info,sizeof(workThread->packData.Barcode_info)); QString barcodeverstr(verchars); ui->label_barcodeinfo1->setText(barcodeverstr); memset(verchars,'\0',sizeof(verchars)); memcpy(verchars,workThread->packData.hard_version,sizeof(workThread->packData.hard_version)); QString hardverstr(verchars); ui->label_hardversion1->setText(hardverstr); } void packinfo_page::updateValue() { ui->label_cellsumvol1->setText(QString::number(((float)workThread->packData.cell_sum_vol/10),'f',1)+"V"); ui->label_maxvolsoc1->setText(QString::number(((float)workThread->packData.soc_max_vol/10),'f',1)+"%"); ui->label_minvolsoc1->setText(QString::number(((float)workThread->packData.soc_min_vol/10),'f',1)+"%"); ui->label_soh1->setText(QString::number(((float)workThread->packData.soh/10),'f',1)+"%"); ui->label_packinvol1->setText(QString::number(((float)workThread->packData.pack_vol_inside/10),'f',1)+"V"); ui->label_packoutvol1->setText(QString::number(((float)workThread->packData.pack_vol_outside/10),'f',1)+"V"); if(workThread->packData.pre_charge_mos_state == 0) ui->label_prechgmos1->setText(tr("未闭合")); else if(workThread->packData.pre_charge_mos_state == 1) ui->label_prechgmos1->setText(tr("闭合")); else ui->label_prechgmos1->setText(tr("未知")); if(workThread->packData.charge_mos_state == 0) ui->label_chgmos1->setText(tr("未闭合")); else if(workThread->packData.charge_mos_state == 1) ui->label_chgmos1->setText(tr("闭合")); else ui->label_chgmos1->setText(tr("未知")); if(workThread->packData.dischg_mos_state == 0) ui->label_dismos1->setText(tr("未闭合")); else if(workThread->packData.dischg_mos_state == 1) ui->label_dismos1->setText(tr("闭合")); else ui->label_dismos1->setText(tr("未知")); if(workThread->packData.junheng_on_state == 0) ui->label_junhengon1->setText(tr("未开启")); else if(workThread->packData.junheng_on_state == 1) ui->label_junhengon1->setText(tr("开启")); else ui->label_junhengon1->setText(tr("未知")); if(workThread->packData.load_in_state == 0) ui->label_loadin1->setText(tr("未接入")); else if(workThread->packData.load_in_state == 1) ui->label_loadin1->setText(tr("接入")); else ui->label_loadin1->setText(tr("未知")); if(workThread->packData.top_chg_in_state == 0) ui->label_topchgin1->setText(tr("未接入")); else if(workThread->packData.load_in_state == 1) ui->label_topchgin1->setText(tr("接入")); else ui->label_topchgin1->setText(tr("未知")); } void packinfo_page::update_slot() { SystemTime(); checkIcon(); updateValue(); if(1 == workThread->remoteState.to_workpage){ closePackinfoPage(); } } void packinfo_page::buttonReleasedAction() { QPushButton *pb = dynamic_cast(sender()); if(ui->pushButton_Exit == pb) { closePackinfoPage(); } }