Commit a23535b3 by NitefullWind

1. 实现支付结果展示界面。

parent 5e7e920b
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
#include "fmerror.h" #include "fmerror.h"
#include "QsLog.h" #include "QsLog.h"
#include "jsonfactory.h" #include "jsonfactory.h"
#include "rspfactory.h"
#include <QtConcurrent> #include <QtConcurrent>
#include <QSettings> #include <QSettings>
...@@ -181,5 +182,30 @@ void Control::RequestWithType(ReqType type, QStringList list) ...@@ -181,5 +182,30 @@ void Control::RequestWithType(ReqType type, QStringList list)
QLOG_INFO() << outdata.data(); QLOG_INFO() << outdata.data();
JsonFactory::GetResponseWithType(type, outdata, _response); QJsonParseError parseError;
QJsonDocument rspDoc = QJsonDocument::fromJson(outdata, &parseError);
QJsonObject rspObj = rspDoc.object();
if(parseError.error != QJsonParseError::NoError) {
RspFactory::GetResPonseWithError(_response, "40", "接收数据格式错误");
} else {
RspFactory::GetResPonseJson(type, _response, rspObj);
}
QString msg;
if(rspObj.contains(JSON_KEY_STATUSCODE)) {
if(rspObj[JSON_KEY_STATUSCODE].toInt()==100) {
if(type == pay) {
double Amount = rspObj[JSON_KEY_TRANSAMOUNT].toInt()/100.0;
msg = QString("需收取 ¥ %1").arg(Amount);
_widget->ShowWiteMGS(type, 1, msg);
}
} else {
msg = rspObj[JSON_KEY_MESSAGE].toString();
_widget->ShowWiteMGS(type, 0, msg);
}
} else {
msg = "接受数据格式错误";
_widget->ShowWiteMGS(type, 0, msg);
}
} }
...@@ -40,6 +40,7 @@ void HostWidget::ShowWidget(QWidget *showwidget) ...@@ -40,6 +40,7 @@ void HostWidget::ShowWidget(QWidget *showwidget)
ui->lineEdit_pay_code->clear(); ui->lineEdit_pay_code->clear();
ui->lineEdit_pay_code->setWindowOpacity(0); ui->lineEdit_pay_code->setWindowOpacity(0);
ui->lineEdit_pay_code->setFocus(); ui->lineEdit_pay_code->setFocus();
ui->label_pay_msg_time->setVisible(false);
_label_pay_timer->start(60, "%1 秒"); _label_pay_timer->start(60, "%1 秒");
} }
...@@ -148,6 +149,27 @@ void HostWidget::ShowWiteMGS(ReqType type, bool flag, QString message) ...@@ -148,6 +149,27 @@ void HostWidget::ShowWiteMGS(ReqType type, bool flag, QString message)
ShowWidget(ui->sign); ShowWidget(ui->sign);
return ; return ;
} }
if(type == pay && _curr_show_widget == ui->pay)
{
_label_pay_timer->stop();
ui->label_pay_time_load->setVisible(false);
ui->label_pay_money->setVisible(true);
ui->label_pay_money->setText(message);
ui->btn_pay_exit->setVisible(true);
ui->btn_pay_exit->setText("确认");
if(flag) {
ui->label_pay_msg_time->setVisible(true);
_label_pay_timer->setLabel(ui->label_pay_msg_time);
_label_pay_timer->start(3);
ui->label_pay_title->setText("支付成功");
ui->label_pay_time->setPixmap(QPixmap(":res/success.png"));
} else {
ui->label_pay_title->setText("支付失败");
ui->label_pay_time->setPixmap(QPixmap(":res/warning.png"));
}
}
} }
void HostWidget::on_btn_mananger_register_clicked() void HostWidget::on_btn_mananger_register_clicked()
......
...@@ -622,6 +622,36 @@ ...@@ -622,6 +622,36 @@
</layout> </layout>
</item> </item>
<item> <item>
<spacer name="verticalSpacer_25">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_pay_msg_time">
<property name="styleSheet">
<string notr="true">#label_pay_msg_time
{
font: 16px &quot;微软雅黑&quot;;
}
</string>
</property>
<property name="text">
<string>3</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_9"> <spacer name="verticalSpacer_9">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
......
...@@ -21,6 +21,11 @@ LabelsTimer::~LabelsTimer() ...@@ -21,6 +21,11 @@ LabelsTimer::~LabelsTimer()
} }
} }
void LabelsTimer::setLabel(QLabel *label)
{
_label = label;
}
void LabelsTimer::start() void LabelsTimer::start()
{ {
_label->setText(_format.arg(_time)); _label->setText(_format.arg(_time));
......
...@@ -13,6 +13,8 @@ public: ...@@ -13,6 +13,8 @@ public:
explicit LabelsTimer(QLabel *label, int time, QString format="%1"); explicit LabelsTimer(QLabel *label, int time, QString format="%1");
virtual ~LabelsTimer(); virtual ~LabelsTimer();
void setLabel(QLabel *label);
void start(); void start();
void start(int time, QString format="%1"); void start(int time, QString format="%1");
void stop(); void stop();
......
<RCC> <RCC>
<qresource prefix="/"> <qresource prefix="/">
<file>res/loading.gif</file> <file>res/loading.gif</file>
<file>res/fail.png</file>
<file>res/success.png</file>
<file>res/warning.png</file>
</qresource> </qresource>
</RCC> </RCC>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment