Commit a23535b3 by NitefullWind

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

parent 5e7e920b
......@@ -4,6 +4,7 @@
#include "fmerror.h"
#include "QsLog.h"
#include "jsonfactory.h"
#include "rspfactory.h"
#include <QtConcurrent>
#include <QSettings>
......@@ -181,5 +182,30 @@ void Control::RequestWithType(ReqType type, QStringList list)
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)
ui->lineEdit_pay_code->clear();
ui->lineEdit_pay_code->setWindowOpacity(0);
ui->lineEdit_pay_code->setFocus();
ui->label_pay_msg_time->setVisible(false);
_label_pay_timer->start(60, "%1 秒");
}
......@@ -148,6 +149,27 @@ void HostWidget::ShowWiteMGS(ReqType type, bool flag, QString message)
ShowWidget(ui->sign);
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()
......
......@@ -622,6 +622,36 @@
</layout>
</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">
<property name="orientation">
<enum>Qt::Vertical</enum>
......
......@@ -21,6 +21,11 @@ LabelsTimer::~LabelsTimer()
}
}
void LabelsTimer::setLabel(QLabel *label)
{
_label = label;
}
void LabelsTimer::start()
{
_label->setText(_format.arg(_time));
......
......@@ -13,6 +13,8 @@ public:
explicit LabelsTimer(QLabel *label, int time, QString format="%1");
virtual ~LabelsTimer();
void setLabel(QLabel *label);
void start();
void start(int time, QString format="%1");
void stop();
......
<RCC>
<qresource prefix="/">
<file>res/loading.gif</file>
<file>res/fail.png</file>
<file>res/success.png</file>
<file>res/warning.png</file>
</qresource>
</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