Commit b1026174 by 刘帅

展示部分退款商品详情

parent 2dea3857
......@@ -384,6 +384,27 @@ void FlowControl::partialRefund(QString order_id)
);
}
/* 功能:请求部分退款详情
* 参数:[1]订单id
* 返回:NULL
* */
void FlowControl::requestPartialRefundDetail(QString order_id)
{
QByteArray appendData = DataManage::getRefundDetail(m_token, order_id);
m_http.Post(appendData
,[this](const QByteArray &data)
{
QLOG_INFO() << QString("退款详情: %1").arg(QString(data).simplified());
emit partialRefundDetail(data);
}
,[this](const QNetworkReply::NetworkError &error)
{
showAlertForm(AlertForm::ERROR, "获取退款详情失败[网络错误,请检查网络连接]", true);
QLOG_ERROR() << QString("获取退款详情失败: %1").arg(error);
}
);
}
void FlowControl::ProcessOrder(OrderObject *orderObj, const QString &operation)
{
QByteArray appendData;
......
......@@ -109,6 +109,13 @@ private slots:
* */
void partialRefund(QString order_id);
public slots:
/* 功能:请求部分退款详情
* 参数:[1]订单id
* 返回:NULL
* */
void requestPartialRefundDetail(QString order_id);
signals:
/* 功能:登陆成功
* 参数:[1]门店名称
......@@ -147,6 +154,12 @@ signals:
* */
void recordSale(OrderObject* orderObj);
void recordSale(QJsonObject obj);
/* 功能:退款详情返回
* 参数:[1]获取退款详情接口返回
* 返回:NULL
* */
void partialRefundDetail(QByteArray detail);
};
#endif // FLOWCONTROL_H
......@@ -94,6 +94,10 @@ void DetailForm::InitData(OrderObject *orderObj)
}
topItem->setExpanded(true);
}
if(orderObj->refund_type == 1) //部分退款
{
emit requestDetail(orderObj->order_id);
}
}
void DetailForm::on_detail_btnClose_clicked()
......@@ -202,3 +206,45 @@ void DetailForm::on_detail_btnReprint_clicked()
PrintLib::GetInstance().DoPrint(QString::fromLocal8Bit(file.readAll()), m_orderObj, error);
QLOG_INFO() << "print result: " << error;
}
/* 功能:部分退款详情
* 参数:[1]获取退款详情接口返回
* 返回:NULL
* */
void DetailForm::partialRefundDetail(QByteArray detail)
{
QJsonParseError json_error;
QJsonDocument doc = QJsonDocument::fromJson(detail, &json_error);
if(json_error.error != QJsonParseError::NoError || !doc.isObject())
{
QLOG_ERROR() << "json error: " << json_error.errorString();
return;
}
QJsonObject recvObj = doc.object();
if(recvObj["statusCode"].toInt() == 100 &&
ui->detail_tree->findItems("退款商品",Qt::MatchExactly).isEmpty())
{
QVariantMap detailMap = doc.toVariant().toMap();
QVariantMap infoMap = detailMap["refund_info"].toMap();
QTreeWidgetItem* partialProducts = new QTreeWidgetItem( QStringList()<< QString("退款商品"));
ui->detail_tree->addTopLevelItem( partialProducts );
foreach (QVariant variant, infoMap["refund_items"].toList())
{
QVariantMap product = variant.toMap();
QTreeWidgetItem *cItem = new QTreeWidgetItem( QStringList()<< product["name"].toString()
<< Util::Penny2Dollar(product["refund_price"].toInt())
<< QString::number(product["product_amount"].toInt()) );
cItem->setTextAlignment(0, Qt::AlignCenter);
cItem->setTextAlignment(1, Qt::AlignCenter);
cItem->setTextAlignment(2, Qt::AlignCenter);
partialProducts->addChild(cItem);
}
partialProducts->setExpanded(true);
}
else
{
QLOG_ERROR() << QString("退款详情返回失败[%1][%2]").arg(recvObj["statusCode"].toInt()).arg(recvObj["msg"].toString()) ;
}
}
......@@ -31,6 +31,13 @@ private slots:
void on_detail_btnReprint_clicked();
public slots:
/* 功能:部分退款详情
* 参数:[1]获取退款详情接口返回
* 返回:NULL
* */
void partialRefundDetail(QByteArray detail);
private:
Ui::DetailForm *ui;
......@@ -41,6 +48,9 @@ private:
* 返回:NULL
* */
void _GetOrderAdditional(OrderObject* orderObj, QString& operation, QString& statusDesc);
signals:
void requestDetail(QString order_id); //请求部分退款详情
};
#endif // DETAILFORM_H
......@@ -162,6 +162,9 @@ MainWindow::MainWindow(QWidget *parent) :
// 默认选中-待处理
ui->main_btnDCL->click();
connect(m_detailForm, &DetailForm::requestDetail,&FlowControl::Instance(), &FlowControl::requestPartialRefundDetail);
connect(&FlowControl::Instance(), &FlowControl::partialRefundDetail, m_detailForm, &DetailForm::partialRefundDetail);
}
MainWindow::~MainWindow()
......
......@@ -117,6 +117,7 @@ class OrderObject : public QObject
Q_PROPERTY (int delivery_time READ getdelivery_time WRITE setdelivery_time)
Q_PROPERTY (int status READ getstatus WRITE setstatus)
Q_PROPERTY (int refund_status READ getrefund_status WRITE setrefund_status)
Q_PROPERTY (int refund_type READ getrefund_type WRITE setrefund_type)
Q_PROPERTY (QString store_name READ getstore_name WRITE setstore_name)
Q_PROPERTY (QString status_desc READ getstatus_desc WRITE setstatus_desc)
Q_PROPERTY (int pay READ getpay WRITE setpay)
......@@ -207,6 +208,9 @@ private:
inline int getrefund_status(){ return refund_status; }
inline void setrefund_status(const int& v){ refund_status = v; }
inline int getrefund_type(){ return refund_type; }
inline void setrefund_type(const int& v){ refund_type = v; }
inline QString getstore_name(){ return store_name; }
inline void setstore_name(const QString& v){ store_name = v; }
......@@ -302,6 +306,7 @@ public:
int delivery_time; // 用户期望送达时间,时间戳
int status; // 订单状态,1 新生成、2 已确认、3 已取消、4 已核销(配送中)、5 拣货完成(等待配送)、6 已送达、200 已完成、-1 已锁定、20 申请退款
int refund_status; //退款状态 20 申请退款 22 申请部分退款
int refund_type; //退款类型 1 部分退款 2 全部退款
QString store_name; //门店名称,打印使用
QString status_desc; // 订单状态描述
int pay; // 支付方式,1:货到付款、2:在线支付
......
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