Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
FMVip_Today
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
zhenfei.zhang
FMVip_Today
Commits
90269f09
Commit
90269f09
authored
Sep 22, 2016
by
NitefllWind
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增代金券界面“向上”“向下”功能。
parent
a605691c
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
151 additions
and
32 deletions
+151
-32
FMVip/fmviporder.cpp
+35
-21
FMVip/fmviporder.h
+54
-3
FMVip/forms/fmviporder.ui
+62
-5
FMVip/main.cpp
+0
-3
No files found.
FMVip/fmviporder.cpp
View file @
90269f09
...
...
@@ -3,6 +3,7 @@
#include "fmcouponwidget.h"
#include "ui_fmviporder.h"
#include <QDebug>
#include <QScrollBar>
FMVipOrder
::
FMVipOrder
(
QDialog
*
parent
)
:
FMVipWnd
(
parent
),
...
...
@@ -20,6 +21,7 @@ FMVipOrder::FMVipOrder(QDialog *parent) :
double
standard_amount
=
FMVipForward
::
instance
()
->
sessionDataInt
(
"standard_amount"
)
/
100.0
;
orderInfo
=
new
FMVipOrder
::
OrderInfo
(
amount_str
,
score_str
,
needPay_str
);
orderInfo
->
setCouponMap
(
FMVipForward
::
instance
()
->
sessionCouponMap
());
ui
->
operator_label
->
setText
(
operator_id
);
ui
->
bd_label
->
setText
(
business_date
);
...
...
@@ -29,20 +31,7 @@ FMVipOrder::FMVipOrder(QDialog *parent) :
ui
->
price_label
->
setText
(
orderInfo
->
getNeedPayStr
());
ui
->
name_label
->
setText
(
name
);
orderInfo
->
couponMap
=
FMVipForward
::
instance
()
->
sessionCouponMap
();
for
(
Coupon
coupon
:
orderInfo
->
couponMap
.
values
())
{
auto
item
=
new
QListWidgetItem
();
item
->
setData
(
Qt
::
UserRole
,
coupon
.
code
);
ui
->
coupon_page
->
addItem
(
item
);
ui
->
coupon_page
->
update
();
FMCouponWidget
*
itemWidget
=
new
FMCouponWidget
(
coupon
);
ui
->
coupon_page
->
setItemWidget
(
item
,
itemWidget
);
qDebug
()
<<
ui
->
coupon_page
->
itemWidget
(
item
)
<<
"======="
;
//item大小
item
->
setSizeHint
(
itemWidget
->
size
());
}
initCouponItems
();
connect
(
ui
->
coupon_page
,
SIGNAL
(
itemClicked
(
QListWidgetItem
*
)),
this
,
SLOT
(
onItemClicked
(
QListWidgetItem
*
)));
ui
->
pay_chk
->
setText
(
QString
(
"使用积分最多抵扣 %1 元"
).
arg
(
orderInfo
->
getScoreAmount
()));
...
...
@@ -89,18 +78,43 @@ void FMVipOrder::onItemClicked(QListWidgetItem *item)
{
QString
code
=
item
->
data
(
Qt
::
UserRole
).
toString
();
// 选中代金券
if
(
item
->
isSelected
())
{
// 如果代金券已被选中则取消,否则选中
if
(
orderInfo
->
selectCouponMap
.
contains
(
code
))
{
ui
->
coupon_page
->
itemWidget
(
item
)
->
setStyleSheet
(
"#FMCouponWidget{background-color: rgb(255, 255, 255); border: none; border-left: 5 solid rgb(255, 170, 37);}"
);
orderInfo
->
selectCouponMap
.
remove
(
code
);
}
else
{
ui
->
coupon_page
->
itemWidget
(
item
)
->
setStyleSheet
(
"#FMCouponWidget{background-color: rgb(255, 255, 255); border: none; border-image: url(:/coupon_select.png);}"
);
orderInfo
->
selectCouponMap
[
code
]
=
orderInfo
->
couponMap
[
code
];
orderInfo
->
selectCouponMap
[
code
]
=
orderInfo
->
couponMap
()
[
code
];
if
(
orderInfo
->
enoughCoupon
())
{
FMMsgWnd
::
WarningWnd
(
"请注意代金券总额已超过待付金额!"
);
}
}
// 取消代金券
else
{
ui
->
coupon_page
->
itemWidget
(
item
)
->
setStyleSheet
(
"#FMCouponWidget{background-color: rgb(255, 255, 255); border: none; border-left: 5 solid rgb(255, 170, 37);}"
);
orderInfo
->
selectCouponMap
.
remove
(
code
);
}
void
FMVipOrder
::
initCouponItems
()
{
for
(
Coupon
coupon
:
orderInfo
->
couponMap
().
values
())
{
auto
item
=
new
QListWidgetItem
();
item
->
setData
(
Qt
::
UserRole
,
coupon
.
code
);
ui
->
coupon_page
->
addItem
(
item
);
ui
->
coupon_page
->
update
();
auto
itemWidget
=
new
FMCouponWidget
(
coupon
);
ui
->
coupon_page
->
setItemWidget
(
item
,
itemWidget
);
//item大小
item
->
setSizeHint
(
itemWidget
->
size
());
}
}
void
FMVipOrder
::
on_coupon_prev_btn_clicked
()
{
int
pos
=
ui
->
coupon_page
->
verticalScrollBar
()
->
value
();
ui
->
coupon_page
->
verticalScrollBar
()
->
setValue
(
pos
-
125
);
}
void
FMVipOrder
::
on_coupon_next_btn_clicked
()
{
int
pos
=
ui
->
coupon_page
->
verticalScrollBar
()
->
value
();
ui
->
coupon_page
->
verticalScrollBar
()
->
setValue
(
pos
+
125
);
}
FMVip/fmviporder.h
View file @
90269f09
...
...
@@ -25,6 +25,11 @@ public slots:
void
onItemClicked
(
QListWidgetItem
*
);
private
slots
:
void
on_coupon_prev_btn_clicked
();
void
on_coupon_next_btn_clicked
();
private
:
enum
DataIndex
{
...
...
@@ -84,19 +89,65 @@ private:
bool
isEnough
=
(
coupon_amount
>
_needPay
);
return
isEnough
;
}
public
:
QMap
<
QString
,
Coupon
>
couponMap
;
QMap
<
QString
,
Coupon
>
selectCouponMap
;
/// 代金券列表
void
setCouponMap
(
QMap
<
QString
,
Coupon
>
couponMap
)
{
this
->
_couponMap
=
couponMap
;
_maxPage
=
(
couponMap
.
count
()
-
1
)
/
6
+
1
;
_nowPage
=
-
1
;
}
QMap
<
QString
,
Coupon
>
couponMap
()
{
return
_couponMap
;
}
#if 0
// 取得一个coupon map。默认为下一页
QMap<QString, Coupon> getShowCouponMap(bool isNextPage = true)
{
if(isNextPage && _nowPage < _maxPage) {
_nowPage ++;
} else if(!isNextPage && _nowPage > 0) {
_nowPage --;
}
int begin = _nowPage * 6;
auto keys = _couponMap.keys();
keys = keys.mid(begin, 6);
QMap<QString, Coupon> showCouponMap;
for(auto key : keys)
{
showCouponMap[key] = _couponMap[key];
}
return showCouponMap;
}
int maxPage()
{
return _maxPage + 1;
}
int nowPage()
{
return _nowPage + 1;
}
#endif
QMap
<
QString
,
Coupon
>
selectCouponMap
;
private
:
QString
_amountStr
,
_scoreStr
,
_needPayStr
;
double
_amount
,
_score
,
_needPay
;
QMap
<
QString
,
Coupon
>
_couponMap
;
int
_maxPage
,
_nowPage
;
};
private
:
Ui
::
FMVipOrder
*
ui
;
FMVipOrder
::
OrderInfo
*
orderInfo
;
void
initCouponItems
();
};
#endif // FMVIPORDER_H
FMVip/forms/fmviporder.ui
View file @
90269f09
...
...
@@ -102,7 +102,7 @@
max-height: 250px;
border: 1 solid silver;
border-top: 0 solid silver;
background: rgb(2
48,239,222
);
background: rgb(2
23, 224, 223
);
}
#coupon_desc_label {
background: white;
...
...
@@ -113,7 +113,7 @@
}
#coupon_page{
background: rgb(2
46,246,246
);
background: rgb(2
23, 224, 223
);
border: 1 solid white;
border-right: 1 solid silver;
border-bottom: 1 solid silver;
...
...
@@ -127,7 +127,7 @@
}
#position_label {
font: 400 16px
"
Microsoft YaHei
"
;
min-height:
8
0px;
min-height:
5
0px;
}
#coupon_prev_btn, #coupon_next_btn {
font: 400 16px
"
Microsoft YaHei
"
;
...
...
@@ -141,6 +141,14 @@
background: rgb(154,200,50);
color: white;
}
#coupon_prev_btn
{
margin-top: 50px;
}
#coupon_next_btn
{
margin-bottom: 50px;
}
/*
* 支付
...
...
@@ -533,14 +541,23 @@
<property
name=
"lineWidth"
>
<number>
0
</number>
</property>
<property
name=
"verticalScrollBarPolicy"
>
<enum>
Qt::ScrollBarAlwaysOff
</enum>
</property>
<property
name=
"horizontalScrollBarPolicy"
>
<enum>
Qt::ScrollBarAlwaysOff
</enum>
</property>
<property
name=
"autoScroll"
>
<bool>
true
</bool>
</property>
<property
name=
"selectionMode"
>
<enum>
QAbstractItemView::MultiSelection
</enum>
</property>
<property
name=
"verticalScrollMode"
>
<enum>
QAbstractItemView::ScrollPer
Pixel
</enum>
<enum>
QAbstractItemView::ScrollPer
Item
</enum>
</property>
<property
name=
"horizontalScrollMode"
>
<enum>
QAbstractItemView::ScrollPer
Pixel
</enum>
<enum>
QAbstractItemView::ScrollPer
Item
</enum>
</property>
<property
name=
"movement"
>
<enum>
QListView::Static
</enum>
...
...
@@ -563,6 +580,9 @@
<property
name=
"uniformItemSizes"
>
<bool>
true
</bool>
</property>
<property
name=
"currentRow"
>
<number>
-1
</number>
</property>
<property
name=
"widgetResizable"
stdset=
"0"
>
<bool>
true
</bool>
</property>
...
...
@@ -570,6 +590,43 @@
</item>
</layout>
</item>
<item>
<layout
class=
"QVBoxLayout"
name=
"pageCtrlLayLayout"
>
<item>
<widget
class=
"QPushButton"
name=
"coupon_prev_btn"
>
<property
name=
"cursor"
>
<cursorShape>
PointingHandCursor
</cursorShape>
</property>
<property
name=
"text"
>
<string>
向上
</string>
</property>
</widget>
</item>
<item>
<widget
class=
"QLabel"
name=
"position_label"
>
<property
name=
"text"
>
<string/>
</property>
<property
name=
"alignment"
>
<set>
Qt::AlignCenter
</set>
</property>
</widget>
</item>
<item>
<widget
class=
"QPushButton"
name=
"coupon_next_btn"
>
<property
name=
"cursor"
>
<cursorShape>
PointingHandCursor
</cursorShape>
</property>
<property
name=
"mouseTracking"
>
<bool>
false
</bool>
</property>
<property
name=
"text"
>
<string>
向下
</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
...
...
FMVip/main.cpp
View file @
90269f09
#include "fmviporder.h"
#include "fmvipfund.h"
#include "fmsockserver.h"
#include "fmvipdispatcher.h"
#include <QApplication>
#include <QFile>
#include <QTextStream>
#include <QtDebug>
#include <QDateTime>
bool
checkOnly
()
...
...
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