Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
takeaway
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
shuai.liu
takeaway
Commits
b1026174
Commit
b1026174
authored
Jul 30, 2018
by
刘帅
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
展示部分退款商品详情
parent
2dea3857
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
98 additions
and
0 deletions
+98
-0
fmTakeaway/controls/flowControl.cpp
+21
-0
fmTakeaway/controls/flowControl.h
+13
-0
fmTakeaway/detailform.cpp
+46
-0
fmTakeaway/detailform.h
+10
-0
fmTakeaway/mainwindow.cpp
+3
-0
fmTakeaway/models/orderObject.h
+5
-0
No files found.
fmTakeaway/controls/flowControl.cpp
View file @
b1026174
...
...
@@ -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
;
...
...
fmTakeaway/controls/flowControl.h
View file @
b1026174
...
...
@@ -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
fmTakeaway/detailform.cpp
View file @
b1026174
...
...
@@ -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
())
;
}
}
fmTakeaway/detailform.h
View file @
b1026174
...
...
@@ -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
fmTakeaway/mainwindow.cpp
View file @
b1026174
...
...
@@ -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
()
...
...
fmTakeaway/models/orderObject.h
View file @
b1026174
...
...
@@ -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:在线支付
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment