|
@@ -42,7 +42,8 @@ courseList::courseList(QWidget *parent) :
|
|
connect(g_httpBllPtr.get(), &CHttpBll::sgnFaceCheckEnabled, this, &courseList::onFaceCheckEnabled);
|
|
connect(g_httpBllPtr.get(), &CHttpBll::sgnFaceCheckEnabled, this, &courseList::onFaceCheckEnabled);
|
|
qRegisterMetaType<CLivenessEnabled>("CLivenessEnabled");
|
|
qRegisterMetaType<CLivenessEnabled>("CLivenessEnabled");
|
|
connect(g_httpBllPtr.get(), &CHttpBll::sgnLivenessEnabled, this, &courseList::onLivenessEnabled);
|
|
connect(g_httpBllPtr.get(), &CHttpBll::sgnLivenessEnabled, this, &courseList::onLivenessEnabled);
|
|
-
|
|
|
|
|
|
+ qRegisterMetaType<CEndExam>("CEndExam");
|
|
|
|
+ connect(g_httpBllPtr.get(), &CHttpBll::sgnEndExam, this, &courseList::onEndExam);
|
|
|
|
|
|
|
|
|
|
sqlite3_stmt *stmt;
|
|
sqlite3_stmt *stmt;
|
|
@@ -50,7 +51,7 @@ courseList::courseList(QWidget *parent) :
|
|
.arg(g_appInfoPtr->m_nStudentId);
|
|
.arg(g_appInfoPtr->m_nStudentId);
|
|
if (!g_sysDBProcPtr->QuerySql(sSql.toStdString(), &stmt))
|
|
if (!g_sysDBProcPtr->QuerySql(sSql.toStdString(), &stmt))
|
|
{
|
|
{
|
|
- ShowMsg(QString::fromLocal8Bit("加载隐私协议信息失败!"), this);
|
|
|
|
|
|
+ ShowMsg(QString::fromLocal8Bit("加载隐私协议信息失败!"), this, MSG_ICON_TYPE::mit_error);
|
|
}
|
|
}
|
|
|
|
|
|
bool bAgreement = false;
|
|
bool bAgreement = false;
|
|
@@ -99,15 +100,28 @@ courseList::courseList(QWidget *parent) :
|
|
m_pStudentInfoBtnTimer->setInterval(500);
|
|
m_pStudentInfoBtnTimer->setInterval(500);
|
|
connect(m_pStudentInfoBtnTimer.get(), &QTimer::timeout, this, &courseList::hideStudentInfoBtn);
|
|
connect(m_pStudentInfoBtnTimer.get(), &QTimer::timeout, this, &courseList::hideStudentInfoBtn);
|
|
|
|
|
|
- m_pRefreshTimer = std::make_shared<QTimer>();
|
|
|
|
- m_pRefreshTimer->setInterval(1000*60*3);
|
|
|
|
- connect(m_pRefreshTimer.get(), &QTimer::timeout, this, []() {
|
|
|
|
|
|
+ m_pServerTime = std::make_shared<QTimer>();
|
|
|
|
+ m_pServerTime->setInterval(1000);
|
|
|
|
+ connect(m_pServerTime.get(), &QTimer::timeout, this, [&]() {
|
|
|
|
+ ui->label_serverTime->adjustSize();
|
|
|
|
+ ui->label_serverTime->setText(QString::fromLocal8Bit("服务器时间:%1")
|
|
|
|
+ .arg(QDateTime::fromMSecsSinceEpoch(g_appInfoPtr->serverMTime()).toString("yyyy-MM-dd hh:mm:ss")));
|
|
|
|
+ });
|
|
|
|
+ m_pServerTime->start();
|
|
|
|
+
|
|
|
|
+ m_pRefreshMenuTimer = std::make_shared<QTimer>();
|
|
|
|
+ m_pRefreshMenuTimer->setInterval(1000 * 60 * 3);
|
|
|
|
+ connect(m_pRefreshMenuTimer.get(), &QTimer::timeout, this, []() {
|
|
CHttpRequestPackage hrp;
|
|
CHttpRequestPackage hrp;
|
|
hrp.sUri = "/api/ecs_core/rolePrivilege/getStudentClientMenu";
|
|
hrp.sUri = "/api/ecs_core/rolePrivilege/getStudentClientMenu";
|
|
hrp.nRequestType = RequestType::rtGetStudentClientMenu;
|
|
hrp.nRequestType = RequestType::rtGetStudentClientMenu;
|
|
hrp.sParamList.push_back(QString::fromLocal8Bit("rootOrgId,%1").arg(g_appInfoPtr->m_sRootOrgId));
|
|
hrp.sParamList.push_back(QString::fromLocal8Bit("rootOrgId,%1").arg(g_appInfoPtr->m_sRootOrgId));
|
|
g_httpBllPtr->get(hrp);
|
|
g_httpBllPtr->get(hrp);
|
|
|
|
+ });
|
|
|
|
|
|
|
|
+ m_pOnlineTimer = std::make_shared<QTimer>();
|
|
|
|
+ m_pOnlineTimer->setInterval(1000*60*3);
|
|
|
|
+ connect(m_pOnlineTimer.get(), &QTimer::timeout, this, []() {
|
|
CHttpRequestPackage hrp1;
|
|
CHttpRequestPackage hrp1;
|
|
hrp1.sUri = "/api/ecs_core/student/online_signal/" + QString::number(g_appInfoPtr->m_nStudentId);
|
|
hrp1.sUri = "/api/ecs_core/student/online_signal/" + QString::number(g_appInfoPtr->m_nStudentId);
|
|
hrp1.nRequestType = RequestType::rtOnlineSignal;
|
|
hrp1.nRequestType = RequestType::rtOnlineSignal;
|
|
@@ -116,10 +130,33 @@ courseList::courseList(QWidget *parent) :
|
|
|
|
|
|
ui->btn_mobileLogin->installEventFilter(this);
|
|
ui->btn_mobileLogin->installEventFilter(this);
|
|
ui->btn_studentInfo->installEventFilter(this);
|
|
ui->btn_studentInfo->installEventFilter(this);
|
|
|
|
+
|
|
|
|
+ m_pOnlineTimer->start();
|
|
|
|
+ m_pRefreshMenuTimer->start();
|
|
|
|
+
|
|
|
|
+ if (!g_appInfoPtr->m_sMenuLogoUrl.isEmpty())
|
|
|
|
+ {
|
|
|
|
+ QString sFileName = g_appInfoPtr->m_sMenuLogoUrl.right(g_appInfoPtr->m_sMenuLogoUrl.length() - g_appInfoPtr->m_sMenuLogoUrl.lastIndexOf("/") - 1);
|
|
|
|
+ sFileName = g_appInfoPtr->m_sCacheFileDir + sFileName;
|
|
|
|
+ CHttpRequestPackage hrp;
|
|
|
|
+ hrp.sUri = g_appInfoPtr->m_sMenuLogoUrl;
|
|
|
|
+ hrp.sCommonStr = sFileName;
|
|
|
|
+ hrp.sCommonStr1 = __FILE__;
|
|
|
|
+ hrp.sAdditionStr = "MenuLogoUrl";
|
|
|
|
+ hrp.nRequestType = RequestType::rtDownLoadFile;
|
|
|
|
+ hrp.nRetryCount = 3;
|
|
|
|
+ g_httpBllPtr->downLoad(hrp);
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ ui->label_cl_org_icon->setPixmap(QPixmap(":/images/qm-logo.png").scaled(ui->label_cl_org_icon->width(), ui->label_cl_org_icon->height(),
|
|
|
|
+ Qt::KeepAspectRatio, Qt::SmoothTransformation));
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
courseList::~courseList()
|
|
courseList::~courseList()
|
|
{
|
|
{
|
|
|
|
+ awMsgBox::clear(this);
|
|
delete ui;
|
|
delete ui;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -160,7 +197,7 @@ void courseList::initUI()
|
|
ui->stw_courseList->setCurrentIndex(0);
|
|
ui->stw_courseList->setCurrentIndex(0);
|
|
*/
|
|
*/
|
|
|
|
|
|
- ui->label_cl_org_icon->setGeometry(g_appInfoPtr->m_fRate*30, g_appInfoPtr->m_fRate*30, g_appInfoPtr->m_fRate*36, g_appInfoPtr->m_fRate*36);
|
|
|
|
|
|
+ ui->label_cl_org_icon->setGeometry(g_appInfoPtr->m_fRate*15, g_appInfoPtr->m_fRate*15, g_appInfoPtr->m_fRate*66, g_appInfoPtr->m_fRate*66);
|
|
ui->btn_onlineExam->setGeometry(g_appInfoPtr->m_fRate*20, g_appInfoPtr->m_fRate*103, g_appInfoPtr->m_fRate*56, g_appInfoPtr->m_fRate*66);
|
|
ui->btn_onlineExam->setGeometry(g_appInfoPtr->m_fRate*20, g_appInfoPtr->m_fRate*103, g_appInfoPtr->m_fRate*56, g_appInfoPtr->m_fRate*66);
|
|
ui->btn_onlineHomework->setGeometry(ui->btn_onlineExam->x(), ui->btn_onlineExam->y() + ui->btn_onlineExam->height() + g_appInfoPtr->m_fRate*17,
|
|
ui->btn_onlineHomework->setGeometry(ui->btn_onlineExam->x(), ui->btn_onlineExam->y() + ui->btn_onlineExam->height() + g_appInfoPtr->m_fRate*17,
|
|
ui->btn_onlineExam->width(), ui->btn_onlineExam->height());
|
|
ui->btn_onlineExam->width(), ui->btn_onlineExam->height());
|
|
@@ -185,7 +222,7 @@ void courseList::initUI()
|
|
ui->btn_minisize->setGeometry(ui->btn_cl_close->x() - g_appInfoPtr->m_fRate*6 - ui->btn_cl_close->width(), ui->btn_cl_close->y(),
|
|
ui->btn_minisize->setGeometry(ui->btn_cl_close->x() - g_appInfoPtr->m_fRate*6 - ui->btn_cl_close->width(), ui->btn_cl_close->y(),
|
|
ui->btn_cl_close->width(), ui->btn_cl_close->height());
|
|
ui->btn_cl_close->width(), ui->btn_cl_close->height());
|
|
ui->label_VLine->setGeometry(ui->btn_minisize->x() - g_appInfoPtr->m_fRate*21, ui->btn_cl_close->y(),
|
|
ui->label_VLine->setGeometry(ui->btn_minisize->x() - g_appInfoPtr->m_fRate*21, ui->btn_cl_close->y(),
|
|
- g_appInfoPtr->m_fRate*1, g_appInfoPtr->m_fRate*24);
|
|
|
|
|
|
+ g_appInfoPtr->m_fRate*1 < 1 ? 1 : g_appInfoPtr->m_fRate*1, g_appInfoPtr->m_fRate*24);
|
|
ui->btn_exit->setGeometry(ui->label_VLine->x() - g_appInfoPtr->m_fRate*(20+24), ui->btn_cl_close->y(),
|
|
ui->btn_exit->setGeometry(ui->label_VLine->x() - g_appInfoPtr->m_fRate*(20+24), ui->btn_cl_close->y(),
|
|
ui->btn_cl_close->width(), ui->btn_cl_close->height());
|
|
ui->btn_cl_close->width(), ui->btn_cl_close->height());
|
|
ui->btn_studentInfo->setGeometry(ui->btn_exit->x() - g_appInfoPtr->m_fRate*(10+90), ui->btn_cl_close->y(),
|
|
ui->btn_studentInfo->setGeometry(ui->btn_exit->x() - g_appInfoPtr->m_fRate*(10+90), ui->btn_cl_close->y(),
|
|
@@ -206,7 +243,11 @@ void courseList::initUI()
|
|
ui->label_cl_version->adjustSize();
|
|
ui->label_cl_version->adjustSize();
|
|
ui->label_cl_version->setGeometry(ui->widget_bottom->width() - g_appInfoPtr->m_fRate*30 - ui->label_cl_version->width(),
|
|
ui->label_cl_version->setGeometry(ui->widget_bottom->width() - g_appInfoPtr->m_fRate*30 - ui->label_cl_version->width(),
|
|
ui->label_cl_company->y(), ui->label_cl_version->width(), ui->label_cl_version->height());
|
|
ui->label_cl_company->y(), ui->label_cl_version->width(), ui->label_cl_version->height());
|
|
- ui->label_serverTime->adjustSize();
|
|
|
|
|
|
+
|
|
|
|
+ ui->label_serverTime->setText(QString::fromLocal8Bit("服务器时间:%1")
|
|
|
|
+ .arg(QDateTime::fromMSecsSinceEpoch(g_appInfoPtr->serverMTime()).toString("yyyy-MM-dd hh:mm:ss")));
|
|
|
|
+
|
|
|
|
+ ui->label_serverTime->adjustSize();
|
|
ui->label_serverTime->setGeometry(ui->label_cl_version->x() - g_appInfoPtr->m_fRate*20 - ui->label_serverTime->width(), ui->label_cl_company->y(),
|
|
ui->label_serverTime->setGeometry(ui->label_cl_version->x() - g_appInfoPtr->m_fRate*20 - ui->label_serverTime->width(), ui->label_cl_company->y(),
|
|
ui->label_serverTime->width(), ui->label_serverTime->height());
|
|
ui->label_serverTime->width(), ui->label_serverTime->height());
|
|
|
|
|
|
@@ -267,8 +308,9 @@ void courseList::on_btn_minisize_clicked()
|
|
|
|
|
|
void courseList::on_btn_cl_close_clicked()
|
|
void courseList::on_btn_cl_close_clicked()
|
|
{
|
|
{
|
|
- close();
|
|
|
|
- logout();
|
|
|
|
|
|
+// logout();
|
|
|
|
+// close();
|
|
|
|
+ QCoreApplication::quit();
|
|
}
|
|
}
|
|
|
|
|
|
void courseList::setCheck(COURSE_MENU_BTN_TYPE cmbt)
|
|
void courseList::setCheck(COURSE_MENU_BTN_TYPE cmbt)
|
|
@@ -310,6 +352,12 @@ void courseList::setCheck(COURSE_MENU_BTN_TYPE cmbt)
|
|
if (m_pOnlinePractice != nullptr)
|
|
if (m_pOnlinePractice != nullptr)
|
|
{
|
|
{
|
|
m_pOnlinePractice->hide();
|
|
m_pOnlinePractice->hide();
|
|
|
|
+ m_pOnlinePractice->releaseClopResult();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (m_pClopReport != nullptr)
|
|
|
|
+ {
|
|
|
|
+ m_pClopReport->hide();
|
|
}
|
|
}
|
|
|
|
|
|
if (m_pOfflineExam != nullptr)
|
|
if (m_pOfflineExam != nullptr)
|
|
@@ -407,7 +455,7 @@ void courseList::setCheck(COURSE_MENU_BTN_TYPE cmbt)
|
|
ui->label_currrentPlace->setText(sCurrentPlace);
|
|
ui->label_currrentPlace->setText(sCurrentPlace);
|
|
}
|
|
}
|
|
|
|
|
|
-void courseList::onEnterExam(CL_OPERATION_TYPE cot, __int64 nExamId, __int64 nExamStudentId)
|
|
|
|
|
|
+void courseList::onEnterExam(CL_OPERATION_TYPE cot, __int64 nExamId, __int64 nExamStudentId, QString sCourseCode, QString sCourseName)
|
|
{
|
|
{
|
|
if(cot == CL_OPERATION_TYPE::cot_online_exam)
|
|
if(cot == CL_OPERATION_TYPE::cot_online_exam)
|
|
{
|
|
{
|
|
@@ -415,7 +463,10 @@ void courseList::onEnterExam(CL_OPERATION_TYPE cot, __int64 nExamId, __int64 nEx
|
|
}
|
|
}
|
|
g_appInfoPtr->m_oExamInfo.nExamId = nExamId;
|
|
g_appInfoPtr->m_oExamInfo.nExamId = nExamId;
|
|
g_appInfoPtr->m_oExamInfo.nExamStudentId = nExamStudentId;
|
|
g_appInfoPtr->m_oExamInfo.nExamStudentId = nExamStudentId;
|
|
|
|
+ g_appInfoPtr->m_oExamInfo.sCourseCode = sCourseCode;
|
|
|
|
+ g_appInfoPtr->m_oExamInfo.sCourseName = sCourseName;
|
|
//开考限流
|
|
//开考限流
|
|
|
|
+ m_nRetryCount = 0;
|
|
CHttpRequestPackage hrp;
|
|
CHttpRequestPackage hrp;
|
|
hrp.sUri = QString("https://tcc.qmth.com.cn/rate_limit/prod/startExam/%1").arg(100);
|
|
hrp.sUri = QString("https://tcc.qmth.com.cn/rate_limit/prod/startExam/%1").arg(100);
|
|
hrp.nRequestType = RequestType::rtStartExamLimit;
|
|
hrp.nRequestType = RequestType::rtStartExamLimit;
|
|
@@ -426,6 +477,7 @@ void courseList::onStartExamLimit(CStartExamLimit startExamLimit)
|
|
{
|
|
{
|
|
if (startExamLimit.nCode == 200)
|
|
if (startExamLimit.nCode == 200)
|
|
{
|
|
{
|
|
|
|
+ ++m_nRetryCount;
|
|
if (startExamLimit.bPass)
|
|
if (startExamLimit.bPass)
|
|
{
|
|
{
|
|
CHttpRequestPackage hrp;
|
|
CHttpRequestPackage hrp;
|
|
@@ -436,11 +488,24 @@ void courseList::onStartExamLimit(CStartExamLimit startExamLimit)
|
|
else
|
|
else
|
|
{
|
|
{
|
|
//重试
|
|
//重试
|
|
|
|
+ if(m_nRetryCount >= 3)
|
|
|
|
+ {
|
|
|
|
+ ShowMsg(QString::fromLocal8Bit("系统繁忙,请稍后重试"), this, MSG_ICON_TYPE::mit_error);
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ QTimer::singleShot(3*1000, this, [](){
|
|
|
|
+ CHttpRequestPackage hrp;
|
|
|
|
+ hrp.sUri = QString("https://tcc.qmth.com.cn/rate_limit/prod/startExam/%1").arg(100);
|
|
|
|
+ hrp.nRequestType = RequestType::rtStartExamLimit;
|
|
|
|
+ g_httpBllPtr->getUrl(hrp);
|
|
|
|
+ });
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- ShowMsg(QString::fromLocal8Bit("开考失败"), this);
|
|
|
|
|
|
+ ShowMsg(QString::fromLocal8Bit("开考失败"), this, MSG_ICON_TYPE::mit_error);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -460,12 +525,12 @@ void courseList::onIpLimit(CIpLimit ipLimit)
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- ShowMsg(QString::fromLocal8Bit("当前ip限制参加考试"), this);
|
|
|
|
|
|
+ ShowMsg(QString::fromLocal8Bit("当前ip限制参加考试"), this, MSG_ICON_TYPE::mit_error);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- ShowMsg(QString::fromLocal8Bit("开考失败"), this);
|
|
|
|
|
|
+ ShowMsg(QString::fromLocal8Bit("开考失败"), this, MSG_ICON_TYPE::mit_error);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -533,7 +598,7 @@ void courseList::onGetExamProperty(CGetExamProperty getExamProperty)
|
|
{
|
|
{
|
|
if(getExamProperty.sMessage.isEmpty())
|
|
if(getExamProperty.sMessage.isEmpty())
|
|
{
|
|
{
|
|
- ShowMsg(QString::fromLocal8Bit("获取考试信息失败"), this);
|
|
|
|
|
|
+ ShowMsg(QString::fromLocal8Bit("获取考试信息失败"), this, MSG_ICON_TYPE::mit_error);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
@@ -549,7 +614,12 @@ void courseList::onFaceCheckEnabled(CFaceCheckEnabled faceCheckEnabled)
|
|
//人脸检测
|
|
//人脸检测
|
|
g_appInfoPtr->m_oExamInfo.bFaceCheck = faceCheckEnabled.bEnabled;
|
|
g_appInfoPtr->m_oExamInfo.bFaceCheck = faceCheckEnabled.bEnabled;
|
|
if (faceCheckEnabled.bEnabled && !g_appInfoPtr->m_oExamInfo.bIsExamInProgress)
|
|
if (faceCheckEnabled.bEnabled && !g_appInfoPtr->m_oExamInfo.bIsExamInProgress)
|
|
- {
|
|
|
|
|
|
+ {
|
|
|
|
+ if (g_appInfoPtr->m_sStudentPhotoPath.isEmpty())
|
|
|
|
+ {
|
|
|
|
+ ShowMsg(QString::fromLocal8Bit("本场考试需要进行人脸检测,但是您没有上传底照,请联系老师"), this, MSG_ICON_TYPE::mit_error);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
if (m_pFaceCompare == nullptr)
|
|
if (m_pFaceCompare == nullptr)
|
|
{
|
|
{
|
|
m_pFaceCompare = std::make_shared<faceCompare>(this);
|
|
m_pFaceCompare = std::make_shared<faceCompare>(this);
|
|
@@ -583,11 +653,11 @@ void courseList::onFaceCheckEnabled(CFaceCheckEnabled faceCheckEnabled)
|
|
{
|
|
{
|
|
if(faceCheckEnabled.sMessage.isEmpty())
|
|
if(faceCheckEnabled.sMessage.isEmpty())
|
|
{
|
|
{
|
|
- ShowMsg(QString::fromLocal8Bit("获取人脸识别信息失败"), this);
|
|
|
|
|
|
+ ShowMsg(QString::fromLocal8Bit("获取人脸识别信息失败"), this, MSG_ICON_TYPE::mit_error);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- ShowMsg(faceCheckEnabled.sMessage, this);
|
|
|
|
|
|
+ ShowMsg(faceCheckEnabled.sMessage, this, MSG_ICON_TYPE::mit_error);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -605,11 +675,11 @@ void courseList::onLivenessEnabled(CLivenessEnabled livenessEnabled)
|
|
{
|
|
{
|
|
if(livenessEnabled.sMessage.isEmpty())
|
|
if(livenessEnabled.sMessage.isEmpty())
|
|
{
|
|
{
|
|
- ShowMsg(QString::fromLocal8Bit("获取活体信息失败"), this);
|
|
|
|
|
|
+ ShowMsg(QString::fromLocal8Bit("获取活体信息失败"), this, MSG_ICON_TYPE::mit_error);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- ShowMsg(livenessEnabled.sMessage, this);
|
|
|
|
|
|
+ ShowMsg(livenessEnabled.sMessage, this, MSG_ICON_TYPE::mit_error);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -629,9 +699,26 @@ void courseList::enterWaitExam()
|
|
m_pBackground = std::make_shared<awBackground>(AW_WIDGET_TYPE::awwt_waitExam, this);
|
|
m_pBackground = std::make_shared<awBackground>(AW_WIDGET_TYPE::awwt_waitExam, this);
|
|
|
|
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
|
|
+ connect(m_pBackground.get(), &awBackground::minisize, this, &courseList::minisize);
|
|
connect(m_pBackground.get(), &awBackground::closeWidget, this, [&](){
|
|
connect(m_pBackground.get(), &awBackground::closeWidget, this, [&](){
|
|
m_pBackground.reset();
|
|
m_pBackground.reset();
|
|
|
|
+ m_pRefreshMenuTimer->start();
|
|
|
|
+ if(m_pOnlineExam)
|
|
|
|
+ {
|
|
|
|
+ m_pOnlineExam->refreshExam();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if(m_pOnlineHomework)
|
|
|
|
+ {
|
|
|
|
+ m_pOnlineHomework->refreshExam();
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ connect(m_pBackground.get(), &awBackground::gobackLogin, this, [&](){
|
|
|
|
+ m_pBackground.reset();
|
|
|
|
+ logout();
|
|
|
|
+ close();
|
|
});
|
|
});
|
|
connect(m_pBackground.get(), &awBackground::showPracticeInfo, this, [&](){
|
|
connect(m_pBackground.get(), &awBackground::showPracticeInfo, this, [&](){
|
|
m_pBackground.reset();
|
|
m_pBackground.reset();
|
|
@@ -644,13 +731,19 @@ void courseList::enterWaitExam()
|
|
m_pClopReport = std::make_shared<clopReport>(pr, true, ui->stw_courseList);
|
|
m_pClopReport = std::make_shared<clopReport>(pr, true, ui->stw_courseList);
|
|
connect(m_pClopReport.get(), &clopReport::goback, this, [&](){
|
|
connect(m_pClopReport.get(), &clopReport::goback, this, [&](){
|
|
m_pClopReport.reset();
|
|
m_pClopReport.reset();
|
|
|
|
+ if(m_pOnlinePractice)
|
|
|
|
+ {
|
|
|
|
+ m_pOnlinePractice->refreshExamInfo();
|
|
|
|
+ }
|
|
});
|
|
});
|
|
m_pClopReport->setUI(0, 0, ui->stw_courseList->width(), ui->stw_courseList->height());
|
|
m_pClopReport->setUI(0, 0, ui->stw_courseList->width(), ui->stw_courseList->height());
|
|
}
|
|
}
|
|
m_pClopReport->show();
|
|
m_pClopReport->show();
|
|
|
|
+ m_pRefreshMenuTimer->start();
|
|
});
|
|
});
|
|
}
|
|
}
|
|
m_pBackground->show();
|
|
m_pBackground->show();
|
|
|
|
+ m_pRefreshMenuTimer->stop();
|
|
}
|
|
}
|
|
|
|
|
|
void courseList::on_btn_onlineExam_clicked()
|
|
void courseList::on_btn_onlineExam_clicked()
|
|
@@ -690,9 +783,9 @@ void courseList::on_btn_editPassword_clicked()
|
|
}
|
|
}
|
|
|
|
|
|
void courseList::on_btn_exit_clicked()
|
|
void courseList::on_btn_exit_clicked()
|
|
-{
|
|
|
|
- close();
|
|
|
|
|
|
+{
|
|
logout();
|
|
logout();
|
|
|
|
+ close();
|
|
}
|
|
}
|
|
|
|
|
|
void courseList::logout()
|
|
void courseList::logout()
|
|
@@ -834,8 +927,10 @@ void courseList::onGetStudentInfoBySession(CGetStudentInfoBySession getStudentIn
|
|
CHttpRequestPackage hrp;
|
|
CHttpRequestPackage hrp;
|
|
hrp.sUri = g_appInfoPtr->m_sStudentPhotoPath;
|
|
hrp.sUri = g_appInfoPtr->m_sStudentPhotoPath;
|
|
hrp.sCommonStr = sFileName;
|
|
hrp.sCommonStr = sFileName;
|
|
|
|
+ hrp.sCommonStr1 = __FILE__;
|
|
|
|
+ hrp.sAdditionStr = "StudentPhotoPath";
|
|
hrp.nRequestType = RequestType::rtDownLoadFile;
|
|
hrp.nRequestType = RequestType::rtDownLoadFile;
|
|
-
|
|
|
|
|
|
+ hrp.nRetryCount = 3;
|
|
g_httpBllPtr->downLoad(hrp);
|
|
g_httpBllPtr->downLoad(hrp);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -851,11 +946,11 @@ void courseList::onGetStudentInfoBySession(CGetStudentInfoBySession getStudentIn
|
|
{
|
|
{
|
|
if(getStudentInfoBySession.sMessage.isEmpty())
|
|
if(getStudentInfoBySession.sMessage.isEmpty())
|
|
{
|
|
{
|
|
- ShowMsg(QString::fromLocal8Bit("获取考生信息失败"), this);
|
|
|
|
|
|
+ ShowMsg(QString::fromLocal8Bit("获取考生信息失败"), this, MSG_ICON_TYPE::mit_error);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- ShowMsg(getStudentInfoBySession.sMessage, this);
|
|
|
|
|
|
+ ShowMsg(getStudentInfoBySession.sMessage, this, MSG_ICON_TYPE::mit_error);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -870,37 +965,41 @@ void courseList::onAppDownLoadUrl(CAppDownLoadUrl appDownLoadUrl)
|
|
{
|
|
{
|
|
if(appDownLoadUrl.sMessage.isEmpty())
|
|
if(appDownLoadUrl.sMessage.isEmpty())
|
|
{
|
|
{
|
|
- ShowMsg(QString::fromLocal8Bit("获取APP下载地址失败"), this);
|
|
|
|
|
|
+ ShowMsg(QString::fromLocal8Bit("获取APP下载地址失败"), this, MSG_ICON_TYPE::mit_error);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- ShowMsg(appDownLoadUrl.sMessage, this);
|
|
|
|
|
|
+ ShowMsg(appDownLoadUrl.sMessage, this, MSG_ICON_TYPE::mit_error);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
void courseList::onDownLoadFile(CDownLoadFileInfo downLoadFileInfo)
|
|
void courseList::onDownLoadFile(CDownLoadFileInfo downLoadFileInfo)
|
|
{
|
|
{
|
|
- QString sFileName = g_appInfoPtr->m_sStudentPhotoPath.right(g_appInfoPtr->m_sStudentPhotoPath.length() - g_appInfoPtr->m_sStudentPhotoPath.lastIndexOf("/") - 1);
|
|
|
|
- sFileName = g_appInfoPtr->m_sCacheFileDir + sFileName;
|
|
|
|
- if (downLoadFileInfo.sFileName == sFileName)
|
|
|
|
- {
|
|
|
|
- if (downLoadFileInfo.nCode == 200)
|
|
|
|
- {
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
- else
|
|
|
|
- {
|
|
|
|
|
|
+ if(downLoadFileInfo.sModuleName == __FILE__)
|
|
|
|
+ {
|
|
|
|
+ if (downLoadFileInfo.nCode == 200)
|
|
|
|
+ {
|
|
|
|
+ QString sFileName = g_appInfoPtr->m_sStudentPhotoPath.right(g_appInfoPtr->m_sStudentPhotoPath.length() - g_appInfoPtr->m_sStudentPhotoPath.lastIndexOf("/") - 1);
|
|
|
|
+ sFileName = g_appInfoPtr->m_sCacheFileDir + sFileName;
|
|
|
|
+ if (downLoadFileInfo.sAdditionStr == "MenuLogoUrl")
|
|
|
|
+ {
|
|
|
|
+ ui->label_cl_org_icon->setPixmap(QPixmap(sFileName).scaled(ui->label_cl_org_icon->width(), ui->label_cl_org_icon->height(),
|
|
|
|
+ Qt::KeepAspectRatio, Qt::SmoothTransformation));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
if(downLoadFileInfo.sMessage.isEmpty())
|
|
if(downLoadFileInfo.sMessage.isEmpty())
|
|
{
|
|
{
|
|
- ShowMsg(QString::fromLocal8Bit("下载失败"), this);
|
|
|
|
|
|
+ ShowMsg(QString::fromLocal8Bit("下载失败"), this, MSG_ICON_TYPE::mit_error);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- ShowMsg(downLoadFileInfo.sMessage, this);
|
|
|
|
|
|
+ ShowMsg(downLoadFileInfo.sMessage, this, MSG_ICON_TYPE::mit_error);
|
|
}
|
|
}
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
void courseList::onSpecialtyNameList(CSpecialtyNameList specialtyNameList)
|
|
void courseList::onSpecialtyNameList(CSpecialtyNameList specialtyNameList)
|
|
@@ -918,11 +1017,11 @@ void courseList::onSpecialtyNameList(CSpecialtyNameList specialtyNameList)
|
|
{
|
|
{
|
|
if(specialtyNameList.sMessage.isEmpty())
|
|
if(specialtyNameList.sMessage.isEmpty())
|
|
{
|
|
{
|
|
- ShowMsg(QString::fromLocal8Bit("获取专业信息失败"), this);
|
|
|
|
|
|
+ ShowMsg(QString::fromLocal8Bit("获取专业信息失败"), this, MSG_ICON_TYPE::mit_error);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- ShowMsg(specialtyNameList.sMessage, this);
|
|
|
|
|
|
+ ShowMsg(specialtyNameList.sMessage, this, MSG_ICON_TYPE::mit_error);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -936,7 +1035,14 @@ void courseList::onCheckExamInProgress(CCheckExamInProgress checkExamInProgress)
|
|
if (checkExamInProgress.bIsExceed)
|
|
if (checkExamInProgress.bIsExceed)
|
|
{
|
|
{
|
|
//超过断点时长交卷
|
|
//超过断点时长交卷
|
|
-
|
|
|
|
|
|
+ g_appInfoPtr->m_oExamInfo.nExamRecordDataId = checkExamInProgress.nExamRecordDataId;
|
|
|
|
+ g_appInfoPtr->m_oExamInfo.nExamId = checkExamInProgress.nExamId;
|
|
|
|
+
|
|
|
|
+ CHttpRequestPackage hrp;
|
|
|
|
+ hrp.sUri = QString("/api/ecs_oe_student/client/exam/process/endExam");
|
|
|
|
+ hrp.sCommonStr = __FILE__;
|
|
|
|
+ hrp.nRequestType = RequestType::rtEndExam;
|
|
|
|
+ g_httpBllPtr->post(hrp);
|
|
|
|
|
|
}
|
|
}
|
|
else
|
|
else
|
|
@@ -965,6 +1071,7 @@ void courseList::onCheckExamInProgress(CCheckExamInProgress checkExamInProgress)
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
|
|
+ g_appInfoPtr->m_oExamInfo.bIsExamInProgress = false;
|
|
if (checkExamInProgress.sEnterType == EXAM_INPROGRESS_ENTER_TYPE::EIET_COURSE_LIST)
|
|
if (checkExamInProgress.sEnterType == EXAM_INPROGRESS_ENTER_TYPE::EIET_COURSE_LIST)
|
|
{
|
|
{
|
|
CHttpRequestPackage hrp;
|
|
CHttpRequestPackage hrp;
|
|
@@ -999,15 +1106,60 @@ void courseList::onCheckExamInProgress(CCheckExamInProgress checkExamInProgress)
|
|
{
|
|
{
|
|
if(checkExamInProgress.sMessage.isEmpty())
|
|
if(checkExamInProgress.sMessage.isEmpty())
|
|
{
|
|
{
|
|
- ShowMsg(QString::fromLocal8Bit("获取断点信息失败"), this);
|
|
|
|
|
|
+ ShowMsg(QString::fromLocal8Bit("获取断点信息失败"), this, MSG_ICON_TYPE::mit_error);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- ShowMsg(checkExamInProgress.sMessage, this);
|
|
|
|
|
|
+ ShowMsg(checkExamInProgress.sMessage, this, MSG_ICON_TYPE::mit_error);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+void courseList::onEndExam(CEndExam endExam)
|
|
|
|
+{
|
|
|
|
+ if(endExam.sModuleName == __FILE__)
|
|
|
|
+ {
|
|
|
|
+ if (endExam.nCode == 200)
|
|
|
|
+ {
|
|
|
|
+ m_pRefreshMenuTimer->stop();
|
|
|
|
+
|
|
|
|
+ if(m_pBackground != nullptr)
|
|
|
|
+ {
|
|
|
|
+ m_pBackground.reset();
|
|
|
|
+ }
|
|
|
|
+ m_pBackground = std::make_shared<awBackground>(AW_WIDGET_TYPE::awwt_examScore, this);
|
|
|
|
+
|
|
|
|
+ connect(m_pBackground.get(), &awBackground::minisize, this, &courseList::minisize);
|
|
|
|
+ connect(m_pBackground.get(), &awBackground::closeWidget, this, [&](){
|
|
|
|
+ m_pBackground.reset();
|
|
|
|
+ m_pRefreshMenuTimer->start();
|
|
|
|
+ if(m_pOnlineExam)
|
|
|
|
+ {
|
|
|
|
+ m_pOnlineExam->refreshExam();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if(m_pOnlineHomework)
|
|
|
|
+ {
|
|
|
|
+ m_pOnlineHomework->refreshExam();
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ m_pBackground->show();
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ if(endExam.sMessage.isEmpty())
|
|
|
|
+ {
|
|
|
|
+ ShowMsg(QString::fromLocal8Bit("交卷失败"), g_appInfoPtr->m_pAnsBgWidget, MSG_ICON_TYPE::mit_error);
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ ShowMsg(endExam.sMessage, g_appInfoPtr->m_pAnsBgWidget, MSG_ICON_TYPE::mit_error);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
void courseList::onGetStudentClientMenu(CGetStudentClientMenu getStudentClientMenu)
|
|
void courseList::onGetStudentClientMenu(CGetStudentClientMenu getStudentClientMenu)
|
|
{
|
|
{
|
|
if (getStudentClientMenu.nCode == 200)
|
|
if (getStudentClientMenu.nCode == 200)
|
|
@@ -1020,33 +1172,42 @@ void courseList::onGetStudentClientMenu(CGetStudentClientMenu getStudentClientMe
|
|
ui->btn_editPassword->setVisible(false);
|
|
ui->btn_editPassword->setVisible(false);
|
|
for (CStudentClientMenu scm : getStudentClientMenu.vMenus)
|
|
for (CStudentClientMenu scm : getStudentClientMenu.vMenus)
|
|
{
|
|
{
|
|
- if (scm.sCode == "stu_online_exam_0")
|
|
|
|
|
|
+ QString sMenuName = scm.sName;
|
|
|
|
+ sMenuName.insert(sMenuName.length()/2, '\n');
|
|
|
|
+ QString sMenuCode = scm.sCode.left(scm.sCode.lastIndexOf("_"));
|
|
|
|
+ if (sMenuCode == "stu_online_exam")
|
|
{
|
|
{
|
|
ui->btn_onlineExam->setVisible(true);
|
|
ui->btn_onlineExam->setVisible(true);
|
|
|
|
+ ui->btn_onlineExam->setText(sMenuName);
|
|
}
|
|
}
|
|
- else if (scm.sCode == "stu_online_homework_0")
|
|
|
|
|
|
+ else if (sMenuCode == "stu_online_homework")
|
|
{
|
|
{
|
|
ui->btn_onlineHomework->setVisible(true);
|
|
ui->btn_onlineHomework->setVisible(true);
|
|
|
|
+ ui->btn_onlineHomework->setText(sMenuName);
|
|
}
|
|
}
|
|
- else if (scm.sCode == "stu_online_practice_0")
|
|
|
|
|
|
+ else if (sMenuCode == "stu_online_practice")
|
|
{
|
|
{
|
|
ui->btn_onlinePractice->setVisible(true);
|
|
ui->btn_onlinePractice->setVisible(true);
|
|
|
|
+ ui->btn_onlinePractice->setText(sMenuName);
|
|
}
|
|
}
|
|
- else if (scm.sCode == "stu_offline_exam_0")
|
|
|
|
|
|
+ else if (sMenuCode == "stu_offline_exam")
|
|
{
|
|
{
|
|
ui->btn_offlineExam->setVisible(true);
|
|
ui->btn_offlineExam->setVisible(true);
|
|
|
|
+ ui->btn_offlineExam->setText(sMenuName);
|
|
}
|
|
}
|
|
- else if (scm.sCode == "stu_notice_0")
|
|
|
|
|
|
+ else if (sMenuCode == "stu_notice")
|
|
{
|
|
{
|
|
ui->btn_notice->setVisible(true);
|
|
ui->btn_notice->setVisible(true);
|
|
|
|
+ ui->btn_notice->setText(sMenuName);
|
|
CHttpRequestPackage hrp;
|
|
CHttpRequestPackage hrp;
|
|
hrp.sUri = "/api/ecs_exam_work/notice/getUserNoticeList";
|
|
hrp.sUri = "/api/ecs_exam_work/notice/getUserNoticeList";
|
|
hrp.nRequestType = RequestType::rtGetUserNoticeList;
|
|
hrp.nRequestType = RequestType::rtGetUserNoticeList;
|
|
g_httpBllPtr->get(hrp);
|
|
g_httpBllPtr->get(hrp);
|
|
}
|
|
}
|
|
- else if (scm.sCode == "stu_modify_pwd_0")
|
|
|
|
|
|
+ else if (sMenuCode == "stu_modify_pwd")
|
|
{
|
|
{
|
|
ui->btn_editPassword->setVisible(true);
|
|
ui->btn_editPassword->setVisible(true);
|
|
|
|
+ ui->btn_editPassword->setText(sMenuName);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
menuBtnRePosistion();
|
|
menuBtnRePosistion();
|
|
@@ -1055,11 +1216,11 @@ void courseList::onGetStudentClientMenu(CGetStudentClientMenu getStudentClientMe
|
|
{
|
|
{
|
|
if(getStudentClientMenu.sMessage.isEmpty())
|
|
if(getStudentClientMenu.sMessage.isEmpty())
|
|
{
|
|
{
|
|
- ShowMsg(QString::fromLocal8Bit("获取菜单失败"), this);
|
|
|
|
|
|
+ ShowMsg(QString::fromLocal8Bit("获取菜单失败"), this, MSG_ICON_TYPE::mit_error);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- ShowMsg(getStudentClientMenu.sMessage, this);
|
|
|
|
|
|
+ ShowMsg(getStudentClientMenu.sMessage, this, MSG_ICON_TYPE::mit_error);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1072,6 +1233,16 @@ void courseList::onGetUserNoticeList(CGetUserNoticeList getUserNoticeList)
|
|
{
|
|
{
|
|
m_pNoticeList = std::make_shared<clNoticeList>(ui->stw_courseList);
|
|
m_pNoticeList = std::make_shared<clNoticeList>(ui->stw_courseList);
|
|
m_pNoticeList->setUI(ui->stw_courseList->width(), ui->stw_courseList->height());
|
|
m_pNoticeList->setUI(ui->stw_courseList->width(), ui->stw_courseList->height());
|
|
|
|
+ connect(m_pNoticeList.get(), &clNoticeList::unReadNoticeCount, this, [&](int nCount) {
|
|
|
|
+ ui->btn_noticeNum->setText(QString::number(nCount));
|
|
|
|
+ ui->btn_noticeNum->setVisible(nCount > 0);
|
|
|
|
+
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ connect(m_pNoticeList.get(), &clNoticeList::readNotice, this, [&](__int64 nId) {
|
|
|
|
+ m_pNoticePopWidget->setNoticeRead(nId);
|
|
|
|
+
|
|
|
|
+ });
|
|
}
|
|
}
|
|
m_pNoticeList->setNotice(getUserNoticeList.vNoticeList);
|
|
m_pNoticeList->setNotice(getUserNoticeList.vNoticeList);
|
|
|
|
|
|
@@ -1079,21 +1250,27 @@ void courseList::onGetUserNoticeList(CGetUserNoticeList getUserNoticeList)
|
|
{
|
|
{
|
|
m_pNoticePopWidget = std::make_shared<clNoticePopWidget>(this);
|
|
m_pNoticePopWidget = std::make_shared<clNoticePopWidget>(this);
|
|
m_pNoticePopWidget->setUI(g_appInfoPtr->m_fRate * 960, g_appInfoPtr->m_fRate * 558, g_appInfoPtr->m_fRate * 310, g_appInfoPtr->m_fRate * 200);
|
|
m_pNoticePopWidget->setUI(g_appInfoPtr->m_fRate * 960, g_appInfoPtr->m_fRate * 558, g_appInfoPtr->m_fRate * 310, g_appInfoPtr->m_fRate * 200);
|
|
|
|
+ connect(m_pNoticePopWidget.get(), &clNoticePopWidget::showNoticeDetail, this, [&](__int64 nId){
|
|
|
|
+ setCheck(COURSE_MENU_BTN_TYPE::cmbt_notice);
|
|
|
|
+ m_pNoticeList->viewNotice(nId);
|
|
|
|
+ });
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ int nUnReadCount = 0;
|
|
for (CNoticeInfo ni : getUserNoticeList.vNoticeList)
|
|
for (CNoticeInfo ni : getUserNoticeList.vNoticeList)
|
|
{
|
|
{
|
|
if (!ni.bHasRead)
|
|
if (!ni.bHasRead)
|
|
{
|
|
{
|
|
m_pNoticePopWidget->addNotice(ni);
|
|
m_pNoticePopWidget->addNotice(ni);
|
|
|
|
+ ++nUnReadCount;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ ui->btn_noticeNum->setText(QString::number(nUnReadCount));
|
|
|
|
+ ui->btn_noticeNum->setVisible(nUnReadCount > 0);
|
|
|
|
+
|
|
if(m_pNoticePopWidget->noticeCount() > 0)
|
|
if(m_pNoticePopWidget->noticeCount() > 0)
|
|
- {
|
|
|
|
- ui->btn_noticeNum->setVisible(true);
|
|
|
|
- ui->btn_noticeNum->setText(QString::number(m_pNoticePopWidget->noticeCount()));
|
|
|
|
-
|
|
|
|
|
|
+ {
|
|
m_pNoticePopWidget->show();
|
|
m_pNoticePopWidget->show();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1101,11 +1278,11 @@ void courseList::onGetUserNoticeList(CGetUserNoticeList getUserNoticeList)
|
|
{
|
|
{
|
|
if(getUserNoticeList.sMessage.isEmpty())
|
|
if(getUserNoticeList.sMessage.isEmpty())
|
|
{
|
|
{
|
|
- ShowMsg(QString::fromLocal8Bit("获取通知信息失败"), this);
|
|
|
|
|
|
+ ShowMsg(QString::fromLocal8Bit("获取通知信息失败"), this, MSG_ICON_TYPE::mit_error);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- ShowMsg(getUserNoticeList.sMessage, this);
|
|
|
|
|
|
+ ShowMsg(getUserNoticeList.sMessage, this, MSG_ICON_TYPE::mit_error);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|