telsale-management/代码/telsale_aux_kit/source/QLoginWidget.cpp

87 lines
1.6 KiB
C++

//#include <occi.h>
#include <QTextCodec>
#include <QtWidgets/QMessageBox>
#include "QLoginWidget.h"
#include "SystemData.h"
#include "SystemDataQuery.h"
QLoginWidget::QLoginWidget(QWidget *parent)
: QDialog(parent)
{
ui.setupUi(this);
init();
}
QLoginWidget::~QLoginWidget()
{
}
void QLoginWidget::init()
{
initWidget();
initSignal();
pCodecLocal = QTextCodec::codecForLocale();
pCodecUTF8 = QTextCodec::codecForName( "UTF-8" );
m_isLoginSuccess = false;
}
void QLoginWidget::initWidget()
{
setLayout( ui.pLayoutMain );
}
void QLoginWidget::initSignal()
{
connect( ui.pButtonLogin, SIGNAL(clicked()), this, SLOT(login()) );
connect( ui.pButtonCancel, SIGNAL(clicked()), this, SLOT(cancel()) );
connect( ui.pEditUserCode, SIGNAL(editingFinished()), this, SLOT(getUserName()) );
}
void QLoginWidget::login()
{
string strPassword( (char *)ui.pEditPassword->text().toLocal8Bit().data() );
if ( strPassword == m_userPassword )
{
m_isLoginSuccess = true;
//保存用户名和密码
setUserCode( m_userCode );
setUserName( m_userName );
close();
}
else
{
QMessageBox::warning( this, QString::fromLocal8Bit("错误"), QString::fromLocal8Bit("密码错误!") );
}
}
void QLoginWidget::cancel()
{
m_isLoginSuccess = false;
close();
}
void QLoginWidget::getUserName()
{
m_userCode = ui.pEditUserCode->text().toLocal8Bit().data();
try
{
QueryUserInfo( m_userCode, m_userName, m_userPassword );
ui.pEditUserName->setText( QString::fromLocal8Bit(m_userName.c_str()));
}
catch ( runtime_error & exp )
{
QMessageBox::critical( this, "错误", QString::fromUtf8( exp.what() ));
}
}