Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
T
TangKuPos
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王海
TangKuPos
Commits
245b2aae
Commit
245b2aae
authored
Dec 26, 2017
by
姜敏
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
40accd8d
7061a8a5
Changes
62
Show whitespace changes
Inline
Side-by-side
Showing
62 changed files
with
2548 additions
and
559 deletions
+2548
-559
.idea/dictionaries/Eurus.xml
.idea/dictionaries/Eurus.xml
+2
-0
app/src/main/AndroidManifest.xml
app/src/main/AndroidManifest.xml
+1
-1
app/src/main/java/com/xingdata/zzdpos/C.java
app/src/main/java/com/xingdata/zzdpos/C.java
+9
-0
app/src/main/java/com/xingdata/zzdpos/api/ApiFactory.java
app/src/main/java/com/xingdata/zzdpos/api/ApiFactory.java
+28
-0
app/src/main/java/com/xingdata/zzdpos/api/ApiService.java
app/src/main/java/com/xingdata/zzdpos/api/ApiService.java
+7
-0
app/src/main/java/com/xingdata/zzdpos/base/BaseSelectedAdapter.java
...in/java/com/xingdata/zzdpos/base/BaseSelectedAdapter.java
+7
-0
app/src/main/java/com/xingdata/zzdpos/model/Level.java
app/src/main/java/com/xingdata/zzdpos/model/Level.java
+12
-0
app/src/main/java/com/xingdata/zzdpos/model/Saleorder.java
app/src/main/java/com/xingdata/zzdpos/model/Saleorder.java
+8
-4
app/src/main/java/com/xingdata/zzdpos/model/Sta.java
app/src/main/java/com/xingdata/zzdpos/model/Sta.java
+85
-0
app/src/main/java/com/xingdata/zzdpos/model/Ticket.java
app/src/main/java/com/xingdata/zzdpos/model/Ticket.java
+5
-5
app/src/main/java/com/xingdata/zzdpos/model/Trule.java
app/src/main/java/com/xingdata/zzdpos/model/Trule.java
+10
-0
app/src/main/java/com/xingdata/zzdpos/ui/main/adapter/MenuRecyclerAdapter.java
.../xingdata/zzdpos/ui/main/adapter/MenuRecyclerAdapter.java
+8
-0
app/src/main/java/com/xingdata/zzdpos/ui/main/fragment/CasherFragment.java
.../com/xingdata/zzdpos/ui/main/fragment/CasherFragment.java
+8
-9
app/src/main/java/com/xingdata/zzdpos/ui/payment/view/CalculatorView.java
...a/com/xingdata/zzdpos/ui/payment/view/CalculatorView.java
+2
-5
app/src/main/java/com/xingdata/zzdpos/ui/sendTicke/SendTicketPresenter.java
...com/xingdata/zzdpos/ui/sendTicke/SendTicketPresenter.java
+0
-17
app/src/main/java/com/xingdata/zzdpos/ui/sendticke/SendTickerC.java
...in/java/com/xingdata/zzdpos/ui/sendticke/SendTickerC.java
+44
-0
app/src/main/java/com/xingdata/zzdpos/ui/sendticke/SendTicketActivity.java
.../com/xingdata/zzdpos/ui/sendticke/SendTicketActivity.java
+24
-1
app/src/main/java/com/xingdata/zzdpos/ui/sendticke/SendTicketContract.java
.../com/xingdata/zzdpos/ui/sendticke/SendTicketContract.java
+56
-0
app/src/main/java/com/xingdata/zzdpos/ui/sendticke/SendTicketPresenter.java
...com/xingdata/zzdpos/ui/sendticke/SendTicketPresenter.java
+57
-0
app/src/main/java/com/xingdata/zzdpos/ui/sendticke/adapter/ReturnTicketAdapter.java
...data/zzdpos/ui/sendticke/adapter/ReturnTicketAdapter.java
+51
-0
app/src/main/java/com/xingdata/zzdpos/ui/sendticke/adapter/VipAdapter.java
.../com/xingdata/zzdpos/ui/sendticke/adapter/VipAdapter.java
+37
-0
app/src/main/java/com/xingdata/zzdpos/ui/sendticke/adapter/VipGroupAdapter.java
...xingdata/zzdpos/ui/sendticke/adapter/VipGroupAdapter.java
+32
-0
app/src/main/java/com/xingdata/zzdpos/ui/sendticke/fragment/SendTickerFragment.java
...data/zzdpos/ui/sendticke/fragment/SendTickerFragment.java
+229
-0
app/src/main/java/com/xingdata/zzdpos/ui/sendticke/fragment/SendTickerIndexFragment.java
...zzdpos/ui/sendticke/fragment/SendTickerIndexFragment.java
+26
-4
app/src/main/java/com/xingdata/zzdpos/ui/sendticke/fragment/VipFragment.java
...om/xingdata/zzdpos/ui/sendticke/fragment/VipFragment.java
+92
-0
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettleActivity.java
...in/java/com/xingdata/zzdpos/ui/settle/SettleActivity.java
+2
-6
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettleContract.java
...in/java/com/xingdata/zzdpos/ui/settle/SettleContract.java
+1
-8
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettlePresenter.java
...n/java/com/xingdata/zzdpos/ui/settle/SettlePresenter.java
+75
-21
app/src/main/java/com/xingdata/zzdpos/ui/settle/adapter/ReturnTicketAdapter.java
...ingdata/zzdpos/ui/settle/adapter/ReturnTicketAdapter.java
+62
-0
app/src/main/java/com/xingdata/zzdpos/ui/settle/adapter/TicketAdapter.java
.../com/xingdata/zzdpos/ui/settle/adapter/TicketAdapter.java
+33
-0
app/src/main/java/com/xingdata/zzdpos/ui/settle/fragment/SettleFragment.java
...om/xingdata/zzdpos/ui/settle/fragment/SettleFragment.java
+42
-3
app/src/main/java/com/xingdata/zzdpos/ui/settle/fragment/TicketFragment.java
...om/xingdata/zzdpos/ui/settle/fragment/TicketFragment.java
+95
-1
app/src/main/java/com/xingdata/zzdpos/ui/statistics/StatisticsActivity.java
...com/xingdata/zzdpos/ui/statistics/StatisticsActivity.java
+3
-0
app/src/main/java/com/xingdata/zzdpos/ui/statistics/StatisticsContract.java
...com/xingdata/zzdpos/ui/statistics/StatisticsContract.java
+23
-2
app/src/main/java/com/xingdata/zzdpos/ui/statistics/StatisticsPresenter.java
...om/xingdata/zzdpos/ui/statistics/StatisticsPresenter.java
+32
-0
app/src/main/java/com/xingdata/zzdpos/ui/statistics/adapter/StatisticsAdapter.java
...gdata/zzdpos/ui/statistics/adapter/StatisticsAdapter.java
+40
-0
app/src/main/java/com/xingdata/zzdpos/ui/statistics/fragment/OrderListFragment.java
...data/zzdpos/ui/statistics/fragment/OrderListFragment.java
+74
-48
app/src/main/java/com/xingdata/zzdpos/ui/statistics/fragment/OrderMainFragment.java
...data/zzdpos/ui/statistics/fragment/OrderMainFragment.java
+20
-50
app/src/main/java/com/xingdata/zzdpos/ui/statistics/fragment/StatisticsFragment.java
...ata/zzdpos/ui/statistics/fragment/StatisticsFragment.java
+6
-16
app/src/main/res/drawable/black_border_thr.xml
app/src/main/res/drawable/black_border_thr.xml
+1
-1
app/src/main/res/drawable/red_border_thr.xml
app/src/main/res/drawable/red_border_thr.xml
+12
-0
app/src/main/res/layout/dialog_base.xml
app/src/main/res/layout/dialog_base.xml
+5
-10
app/src/main/res/layout/dialog_handover.xml
app/src/main/res/layout/dialog_handover.xml
+204
-190
app/src/main/res/layout/fragment_order_list.xml
app/src/main/res/layout/fragment_order_list.xml
+45
-4
app/src/main/res/layout/fragment_send_ticker.xml
app/src/main/res/layout/fragment_send_ticker.xml
+219
-0
app/src/main/res/layout/fragment_send_ticker_main.xml
app/src/main/res/layout/fragment_send_ticker_main.xml
+2
-0
app/src/main/res/layout/fragment_send_ticker_vip.xml
app/src/main/res/layout/fragment_send_ticker_vip.xml
+101
-0
app/src/main/res/layout/fragment_settle.xml
app/src/main/res/layout/fragment_settle.xml
+29
-14
app/src/main/res/layout/fragment_settle_ticket.xml
app/src/main/res/layout/fragment_settle_ticket.xml
+82
-0
app/src/main/res/layout/item_return_ticket.xml
app/src/main/res/layout/item_return_ticket.xml
+126
-112
app/src/main/res/layout/item_settle_ticket.xml
app/src/main/res/layout/item_settle_ticket.xml
+186
-0
app/src/main/res/layout/item_statistics.xml
app/src/main/res/layout/item_statistics.xml
+71
-0
app/src/main/res/layout/item_vip_group.xml
app/src/main/res/layout/item_vip_group.xml
+62
-0
app/src/main/res/layout/title_order.xml
app/src/main/res/layout/title_order.xml
+26
-10
app/src/main/res/layout/view_empty.xml
app/src/main/res/layout/view_empty.xml
+18
-16
app/src/main/res/mipmap-hdpi/but_elect01_stroke.png
app/src/main/res/mipmap-hdpi/but_elect01_stroke.png
+0
-0
app/src/main/res/mipmap-hdpi/but_elect02_stroke.png
app/src/main/res/mipmap-hdpi/but_elect02_stroke.png
+0
-0
app/src/main/res/mipmap-xhdpi/icon_order.png
app/src/main/res/mipmap-xhdpi/icon_order.png
+0
-0
app/src/main/res/mipmap-xhdpi/icon_record.png
app/src/main/res/mipmap-xhdpi/icon_record.png
+0
-0
app/src/main/res/values/dimens.xml
app/src/main/res/values/dimens.xml
+3
-0
app/src/main/res/values/strings.xml
app/src/main/res/values/strings.xml
+7
-0
app/src/main/res/values/styles.xml
app/src/main/res/values/styles.xml
+1
-1
No files found.
.idea/dictionaries/Eurus.xml
View file @
245b2aae
...
@@ -16,6 +16,7 @@
...
@@ -16,6 +16,7 @@
<w>
liubei
</w>
<w>
liubei
</w>
<w>
lvzhi
</w>
<w>
lvzhi
</w>
<w>
mawu
</w>
<w>
mawu
</w>
<w>
nong
</w>
<w>
patt
</w>
<w>
patt
</w>
<w>
shixiu
</w>
<w>
shixiu
</w>
<w>
sunquan
</w>
<w>
sunquan
</w>
...
@@ -25,6 +26,7 @@
...
@@ -25,6 +26,7 @@
<w>
yuji
</w>
<w>
yuji
</w>
<w>
zhangfei
</w>
<w>
zhangfei
</w>
<w>
zhouyu
</w>
<w>
zhouyu
</w>
<w>
zzdpos
</w>
</words>
</words>
</dictionary>
</dictionary>
</component>
</component>
\ No newline at end of file
app/src/main/AndroidManifest.xml
View file @
245b2aae
...
@@ -58,7 +58,7 @@
...
@@ -58,7 +58,7 @@
android:label=
"@string/title_activity_ticket"
android:label=
"@string/title_activity_ticket"
android:theme=
"@style/AppTheme"
/>
android:theme=
"@style/AppTheme"
/>
<activity
<activity
android:name=
".ui.send
T
icke.SendTicketActivity"
android:name=
".ui.send
t
icke.SendTicketActivity"
android:configChanges=
"keyboard|orientation|screenSize|keyboardHidden"
android:configChanges=
"keyboard|orientation|screenSize|keyboardHidden"
android:label=
"@string/title_activity_ticket"
android:label=
"@string/title_activity_ticket"
android:theme=
"@style/AppTheme"
/>
android:theme=
"@style/AppTheme"
/>
...
...
app/src/main/java/com/xingdata/zzdpos/C.java
View file @
245b2aae
...
@@ -49,6 +49,11 @@ public class C {
...
@@ -49,6 +49,11 @@ public class C {
public
static
final
String
synchronousDown
=
PKG
+
"downLoad/downLoad"
;
public
static
final
String
synchronousDown
=
PKG
+
"downLoad/downLoad"
;
}
}
public
final
class
STA
{
public
static
final
String
statistics
=
PKG
+
"downLoad/getTodayCount"
;
}
public
final
class
SMS
{
public
final
class
SMS
{
/**
/**
* 注册发送短信验证码
* 注册发送短信验证码
...
@@ -123,6 +128,10 @@ public class C {
...
@@ -123,6 +128,10 @@ public class C {
* 订单查询
* 订单查询
*/
*/
public
static
final
String
getSaleOrder
=
PKG
+
"saleorder/queryMis"
;
public
static
final
String
getSaleOrder
=
PKG
+
"saleorder/queryMis"
;
/**
* 订单列表查询
*/
public
static
final
String
queryOrderList
=
PKG
+
"saleorder/query"
;
/**
/**
* 销售订单详情查询
* 销售订单详情查询
*/
*/
...
...
app/src/main/java/com/xingdata/zzdpos/api/ApiFactory.java
View file @
245b2aae
...
@@ -247,6 +247,22 @@ public final class ApiFactory {
...
@@ -247,6 +247,22 @@ public final class ApiFactory {
.
observeOn
(
AndroidSchedulers
.
mainThread
());
.
observeOn
(
AndroidSchedulers
.
mainThread
());
}
}
/**
* 销售订单查询接口
*
* @param pageNulmber
* @param pageSize
* @return
*/
public
static
Observable
<
Pager
<
com
.
xingdata
.
zzdpos
.
model
.
Saleorder
>>
getSaleOrderList
(
int
pageNulmber
,
int
pageSize
,
long
startDate
,
long
endDate
)
{
return
Api
.
getInstance
().
service
.
getSaleOrder
(
pageNulmber
,
pageSize
,
startDate
,
endDate
).
onErrorReturn
(
new
ErrorFilter
<>()).
map
(
new
ResultFilter
<>()).
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
());
}
/**
/**
* 获取订单详情
* 获取订单详情
*
*
...
@@ -707,6 +723,18 @@ public final class ApiFactory {
...
@@ -707,6 +723,18 @@ public final class ApiFactory {
}
}
}
}
public
static
class
Sat
{
/**
* 查询统计详情
*/
public
static
Observable
<
Sat
>
queryNotice
()
{
return
Api
.
getInstance
().
service
.
querySat
()
.
onErrorReturn
(
new
ErrorFilter
<>())
.
map
(
new
ResultFilter
<>())
.
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
());
}
}
public
static
class
Psb
{
public
static
class
Psb
{
...
...
app/src/main/java/com/xingdata/zzdpos/api/ApiService.java
View file @
245b2aae
...
@@ -134,6 +134,10 @@ interface ApiService {
...
@@ -134,6 +134,10 @@ interface ApiService {
@Query
@Query
(
"wd"
)
String
wd
);
(
"wd"
)
String
wd
);
@POST
(
C
.
URL
.
ORDER
.
queryOrderList
)
Observable
<
HttpMessage
<
Pager
<
Saleorder
>>>
getSaleOrder
(
@Query
(
"pageNumber"
)
int
pageNum
,
@Query
(
"pageSize"
)
int
pageSize
,
@Query
(
"startDate"
)
long
startDate
,
@Query
(
"endDate"
)
long
endDate
);
@POST
(
C
.
URL
.
ORDER
.
getOrderDetail
)
@POST
(
C
.
URL
.
ORDER
.
getOrderDetail
)
Observable
<
HttpMessage
<
Saleorder
>>
getOrderDetail
(
@Query
(
"id"
)
String
orderId
);
Observable
<
HttpMessage
<
Saleorder
>>
getOrderDetail
(
@Query
(
"id"
)
String
orderId
);
...
@@ -168,6 +172,9 @@ interface ApiService {
...
@@ -168,6 +172,9 @@ interface ApiService {
Observable
<
HttpMessage
<
Pager
<
Notice
>>>
queryNotice
(
@Query
(
"pageNumber"
)
int
pageNum
,
@Query
Observable
<
HttpMessage
<
Pager
<
Notice
>>>
queryNotice
(
@Query
(
"pageNumber"
)
int
pageNum
,
@Query
(
"pageSize"
)
int
pageSize
);
(
"pageSize"
)
int
pageSize
);
@POST
(
C
.
URL
.
STA
.
statistics
)
Observable
<
HttpMessage
<
ApiFactory
.
Sat
>>
querySat
();
@POST
(
C
.
URL
.
PSB
.
queryDetail
)
@POST
(
C
.
URL
.
PSB
.
queryDetail
)
Observable
<
HttpMessage
<
Psb
>>
queryPsbDetail
(
@Query
(
"psbNo"
)
String
psbNo
,
@Query
(
"id"
)
long
id
);
Observable
<
HttpMessage
<
Psb
>>
queryPsbDetail
(
@Query
(
"psbNo"
)
String
psbNo
,
@Query
(
"id"
)
long
id
);
...
...
app/src/main/java/com/xingdata/zzdpos/base/BaseSelectedAdapter.java
View file @
245b2aae
...
@@ -49,6 +49,13 @@ public abstract class BaseSelectedAdapter<T, B extends ViewDataBinding> extends
...
@@ -49,6 +49,13 @@ public abstract class BaseSelectedAdapter<T, B extends ViewDataBinding> extends
this
.
mOnItemClickListener
=
listener
;
this
.
mOnItemClickListener
=
listener
;
}
}
public
T
getSelectedItemObject
()
{
if
(
mSelectedPosition
>
0
)
{
return
getData
().
get
(
mSelectedPosition
);
}
else
{
return
null
;
}
}
public
int
getSelectedPosition
()
{
public
int
getSelectedPosition
()
{
return
mSelectedPosition
;
return
mSelectedPosition
;
...
...
app/src/main/java/com/xingdata/zzdpos/model/Level.java
View file @
245b2aae
package
com
.
xingdata
.
zzdpos
.
model
;
package
com
.
xingdata
.
zzdpos
.
model
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.bigkoo.pickerview.model.IPickerViewData
;
import
com.bigkoo.pickerview.model.IPickerViewData
;
import
com.xingdata.zzdpos.base.BaseBean
;
import
com.xingdata.zzdpos.base.BaseBean
;
import
com.xingdata.zzdpos.base.BaseModel
;
import
com.xingdata.zzdpos.base.BaseModel
;
import
io.realm.RealmObject
;
import
io.realm.RealmObject
;
import
io.realm.annotations.Ignore
;
import
io.realm.annotations.Index
;
import
io.realm.annotations.Index
;
import
io.realm.annotations.PrimaryKey
;
import
io.realm.annotations.PrimaryKey
;
...
@@ -13,6 +15,9 @@ import io.realm.annotations.PrimaryKey;
...
@@ -13,6 +15,9 @@ import io.realm.annotations.PrimaryKey;
*/
*/
public
class
Level
extends
RealmObject
implements
BaseModel
,
BaseBean
,
IPickerViewData
{
public
class
Level
extends
RealmObject
implements
BaseModel
,
BaseBean
,
IPickerViewData
{
@JSONField
(
serialize
=
false
)
@Ignore
private
boolean
isSelect
=
false
;
@PrimaryKey
@PrimaryKey
private
Long
id
;
private
Long
id
;
...
@@ -139,6 +144,13 @@ public class Level extends RealmObject implements BaseModel, BaseBean, IPickerVi
...
@@ -139,6 +144,13 @@ public class Level extends RealmObject implements BaseModel, BaseBean, IPickerVi
this
.
vipUpgradeAmtTc
=
vipUpgradeAmtTc
;
this
.
vipUpgradeAmtTc
=
vipUpgradeAmtTc
;
}
}
public
boolean
isSelect
()
{
return
isSelect
;
}
public
void
setSelect
(
boolean
select
)
{
isSelect
=
select
;
}
@Override
@Override
public
Long
getSyncId
()
{
public
Long
getSyncId
()
{
...
...
app/src/main/java/com/xingdata/zzdpos/model/Saleorder.java
View file @
245b2aae
...
@@ -45,7 +45,7 @@ public class Saleorder implements BaseModel, BaseBean, BaseOrderPrint {
...
@@ -45,7 +45,7 @@ public class Saleorder implements BaseModel, BaseBean, BaseOrderPrint {
if
(
param
.
offFlag
)
{
if
(
param
.
offFlag
)
{
param
.
offBal
=
vipOffAmt
;
param
.
offBal
=
vipOffAmt
;
}
}
param
.
boundFlag
=
this
.
boundNum
>
0
;
param
.
boundFlag
=
isUseBound
;
if
(
param
.
boundFlag
)
{
if
(
param
.
boundFlag
)
{
param
.
boundBal
=
this
.
boundAmt
;
param
.
boundBal
=
this
.
boundAmt
;
param
.
boundCount
=
this
.
boundNum
;
param
.
boundCount
=
this
.
boundNum
;
...
@@ -384,10 +384,10 @@ public class Saleorder implements BaseModel, BaseBean, BaseOrderPrint {
...
@@ -384,10 +384,10 @@ public class Saleorder implements BaseModel, BaseBean, BaseOrderPrint {
//积分
//积分
long
poIntegers
=
orderPayAmt
/
10
;
long
poIntegers
=
orderPayAmt
/
10
;
if
(
poIntegers
>
vipBound
)
poIntegers
=
vipBound
;
if
(
poIntegers
>
vipBound
)
poIntegers
=
vipBound
;
this
.
boundNum
=
isUseBound
?
poIntegers
:
0
;
this
.
boundNum
=
poIntegers
;
this
.
boundAmt
=
isUseBound
?
poIntegers
:
0
;
this
.
boundAmt
=
poIntegers
;
//积分优惠后金额
//积分优惠后金额
this
.
orderPayAmt
-=
this
.
boundAmt
;
this
.
orderPayAmt
-=
isUseBound
?
this
.
boundAmt
:
0
;
//抹零
//抹零
//抹零后金额
//抹零后金额
...
@@ -1077,6 +1077,10 @@ public class Saleorder implements BaseModel, BaseBean, BaseOrderPrint {
...
@@ -1077,6 +1077,10 @@ public class Saleorder implements BaseModel, BaseBean, BaseOrderPrint {
this
.
payType
=
payType
;
this
.
payType
=
payType
;
}
}
public
long
getMsDisAmt
()
{
return
msDisAmt
;
}
/**
/**
* 优惠项目实体类
* 优惠项目实体类
*/
*/
...
...
app/src/main/java/com/xingdata/zzdpos/model/Sta.java
0 → 100644
View file @
245b2aae
package
com
.
xingdata
.
zzdpos
.
model
;
/**
* Created by Administrator on 2017/12/25.
*/
public
class
Sta
{
/**
* 销售额
*/
private
Long
saleAmt
=
0L
;
/**
* 订单数
*/
private
Long
saleCount
=
0L
;
public
Long
getSaleAmt
()
{
return
saleAmt
;
}
public
void
setSaleAmt
(
Long
saleAmt
)
{
this
.
saleAmt
=
saleAmt
;
}
public
Long
getSaleCount
()
{
return
saleCount
;
}
public
void
setSaleCount
(
Long
saleCount
)
{
this
.
saleCount
=
saleCount
;
}
public
Long
getVipCount
()
{
return
vipCount
;
}
public
void
setVipCount
(
Long
vipCount
)
{
this
.
vipCount
=
vipCount
;
}
public
Long
getVipAddCount
()
{
return
vipAddCount
;
}
public
void
setVipAddCount
(
Long
vipAddCount
)
{
this
.
vipAddCount
=
vipAddCount
;
}
public
Long
getCardAmt
()
{
return
cardAmt
;
}
public
void
setCardAmt
(
Long
cardAmt
)
{
this
.
cardAmt
=
cardAmt
;
}
public
Long
getCardCount
()
{
return
cardCount
;
}
public
void
setCardCount
(
Long
cardCount
)
{
this
.
cardCount
=
cardCount
;
}
/**
* 会员总数
*/
private
Long
vipCount
=
0L
;
/**
* 新增会员数
*/
private
Long
vipAddCount
=
0L
;
/**
* 充值总金额
*/
private
Long
cardAmt
=
0L
;
/**
* 充值次数
*/
private
Long
cardCount
=
0L
;
}
app/src/main/java/com/xingdata/zzdpos/model/Ticket.java
View file @
245b2aae
...
@@ -31,8 +31,8 @@ public class Ticket {
...
@@ -31,8 +31,8 @@ public class Ticket {
@Deprecated
@Deprecated
public
Ticket
(
Long
l
)
{
public
Ticket
(
Long
l
)
{
this
.
ticketNo
=
l
;
this
.
ticketNo
=
l
;
this
.
ticketValAmt
=
300
0L
;
this
.
ticketValAmt
=
0L
;
this
.
truleOrderAmt
=
500
0L
;
this
.
truleOrderAmt
=
0L
;
this
.
mac
=
"MAC"
;
this
.
mac
=
"MAC"
;
}
}
...
@@ -54,7 +54,7 @@ public class Ticket {
...
@@ -54,7 +54,7 @@ public class Ticket {
private
Long
vipId
;
private
Long
vipId
;
private
Date
ticketExp
;
private
Long
ticketExp
;
private
Long
ticketValAmt
;
private
Long
ticketValAmt
;
...
@@ -122,11 +122,11 @@ public class Ticket {
...
@@ -122,11 +122,11 @@ public class Ticket {
this
.
vipId
=
vipId
;
this
.
vipId
=
vipId
;
}
}
public
Date
getTicketExp
()
{
public
Long
getTicketExp
()
{
return
ticketExp
;
return
ticketExp
;
}
}
public
void
setTicketExp
(
Date
ticketExp
)
{
public
void
setTicketExp
(
Long
ticketExp
)
{
this
.
ticketExp
=
ticketExp
;
this
.
ticketExp
=
ticketExp
;
}
}
...
...
app/src/main/java/com/xingdata/zzdpos/model/Trule.java
View file @
245b2aae
...
@@ -9,6 +9,16 @@ import com.xingdata.zzdpos.base.BaseModel;
...
@@ -9,6 +9,16 @@ import com.xingdata.zzdpos.base.BaseModel;
*/
*/
public
class
Trule
implements
BaseModel
,
BaseBean
{
public
class
Trule
implements
BaseModel
,
BaseBean
{
private
boolean
isSelect
=
false
;
public
boolean
isSelect
()
{
return
isSelect
;
}
public
void
setSelect
(
boolean
select
)
{
isSelect
=
select
;
}
private
Long
id
;
private
Long
id
;
private
Long
issuerMapId
;
private
Long
issuerMapId
;
...
...
app/src/main/java/com/xingdata/zzdpos/ui/main/adapter/MenuRecyclerAdapter.java
View file @
245b2aae
...
@@ -53,6 +53,14 @@ public class MenuRecyclerAdapter extends BaseAdapter<Integer, ItemMenuDetailBind
...
@@ -53,6 +53,14 @@ public class MenuRecyclerAdapter extends BaseAdapter<Integer, ItemMenuDetailBind
titleId
=
R
.
string
.
menu_manager
;
titleId
=
R
.
string
.
menu_manager
;
imgId
=
R
.
mipmap
.
icon_administer
;
imgId
=
R
.
mipmap
.
icon_administer
;
break
;
break
;
case
C
.
MENU
.
MENU_STATISTICS_ORDER
:
//订单
titleId
=
R
.
string
.
statistics_menu_order
;
imgId
=
R
.
mipmap
.
icon_order
;
break
;
case
C
.
MENU
.
MENU_STATISTICS_MS
:
//营销
titleId
=
R
.
string
.
statistics_menu_ms
;
imgId
=
R
.
mipmap
.
icon_record
;
break
;
}
}
mViewBinding
.
text
.
setText
(
titleId
);
mViewBinding
.
text
.
setText
(
titleId
);
...
...
app/src/main/java/com/xingdata/zzdpos/ui/main/fragment/CasherFragment.java
View file @
245b2aae
package
com
.
xingdata
.
zzdpos
.
ui
.
main
.
fragment
;
package
com
.
xingdata
.
zzdpos
.
ui
.
main
.
fragment
;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.support.v7.widget.GridLayoutManager
;
import
android.support.v7.widget.GridLayoutManager
;
import
android.view.View
;
import
android.view.View
;
import
com.blankj.utilcode.util.ActivityUtils
;
import
com.blankj.utilcode.util.ActivityUtils
;
import
com.blankj.utilcode.util.ActivityUtils
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.C
;
...
@@ -16,10 +12,11 @@ import com.xingdata.zzdpos.base.BaseFragment;
...
@@ -16,10 +12,11 @@ import com.xingdata.zzdpos.base.BaseFragment;
import
com.xingdata.zzdpos.databinding.FragmentCasherBinding
;
import
com.xingdata.zzdpos.databinding.FragmentCasherBinding
;
import
com.xingdata.zzdpos.ui.main.MainPresenter
;
import
com.xingdata.zzdpos.ui.main.MainPresenter
;
import
com.xingdata.zzdpos.ui.main.adapter.MenuRecyclerAdapter
;
import
com.xingdata.zzdpos.ui.main.adapter.MenuRecyclerAdapter
;
import
com.xingdata.zzdpos.ui.vip.VipActivity
;
import
com.xingdata.zzdpos.ui.payment.PaymentActivity
;
import
com.xingdata.zzdpos.ui.payment.PaymentActivity
;
import
com.xingdata.zzdpos.ui.sendticke.SendTicketActivity
;
import
com.xingdata.zzdpos.ui.splash.SplashActivity
;
import
com.xingdata.zzdpos.ui.splash.SplashActivity
;
import
com.xingdata.zzdpos.ui.statistics.StatisticsActivity
;
import
com.xingdata.zzdpos.ui.statistics.StatisticsActivity
;
import
com.xingdata.zzdpos.ui.vip.VipActivity
;
import
com.xingdata.zzdpos.util.MyMenuItemDecoration
;
import
com.xingdata.zzdpos.util.MyMenuItemDecoration
;
import
com.xingdata.zzdpos.util.OnClickListener
;
import
com.xingdata.zzdpos.util.OnClickListener
;
...
@@ -39,7 +36,8 @@ public class CasherFragment extends BaseFragment<MainPresenter, FragmentCasherBi
...
@@ -39,7 +36,8 @@ public class CasherFragment extends BaseFragment<MainPresenter, FragmentCasherBi
@Override
@Override
public
void
initView
()
{
public
void
initView
()
{
mViewBinding
.
fragmentCasherRecycler
.
setLayoutManager
(
new
GridLayoutManager
(
getActivity
(),
2
));
mViewBinding
.
fragmentCasherRecycler
.
setLayoutManager
(
new
GridLayoutManager
(
getActivity
(),
2
));
integers
=
new
ArrayList
<>();
integers
=
new
ArrayList
<>();
integers
.
add
(
101
);
integers
.
add
(
101
);
integers
.
add
(
102
);
integers
.
add
(
102
);
...
@@ -49,13 +47,14 @@ public class CasherFragment extends BaseFragment<MainPresenter, FragmentCasherBi
...
@@ -49,13 +47,14 @@ public class CasherFragment extends BaseFragment<MainPresenter, FragmentCasherBi
integers
.
add
(
106
);
integers
.
add
(
106
);
mMenuRecyclerAdapter
=
new
MenuRecyclerAdapter
(
getActivity
(),
integers
);
mMenuRecyclerAdapter
=
new
MenuRecyclerAdapter
(
getActivity
(),
integers
);
mMenuRecyclerAdapter
.
bindToRecyclerView
(
mViewBinding
.
fragmentCasherRecycler
);
mMenuRecyclerAdapter
.
bindToRecyclerView
(
mViewBinding
.
fragmentCasherRecycler
);
mViewBinding
.
fragmentCasherRecycler
.
addItemDecoration
(
new
MyMenuItemDecoration
(
getActivity
(),
5
,
getResources
().
getColor
(
R
.
color
.
golden_yuji
)));
mViewBinding
.
fragmentCasherRecycler
.
addItemDecoration
(
new
MyMenuItemDecoration
(
getActivity
(),
5
,
getResources
().
getColor
(
R
.
color
.
golden_yuji
)));
mMenuRecyclerAdapter
.
setOnItemClickListener
(
new
BaseQuickAdapter
.
OnItemClickListener
()
{
mMenuRecyclerAdapter
.
setOnItemClickListener
(
new
BaseQuickAdapter
.
OnItemClickListener
()
{
@Override
@Override
public
void
onItemClick
(
BaseQuickAdapter
adapter
,
View
view
,
int
position
)
{
public
void
onItemClick
(
BaseQuickAdapter
adapter
,
View
view
,
int
position
)
{
switch
((
int
)
adapter
.
getData
().
get
(
position
))
{
switch
((
int
)
adapter
.
getData
().
get
(
position
))
{
case
C
.
MENU
.
MENU_VIP
:
//会员
case
C
.
MENU
.
MENU_VIP
:
//会员
ActivityUtils
.
startActivity
(
new
Intent
(
getActivity
(),
VipActivity
.
class
));
ActivityUtils
.
startActivity
(
new
Intent
(
getActivity
(),
VipActivity
.
class
));
break
;
break
;
case
C
.
MENU
.
MENU_RECHARGE
:
//充值
case
C
.
MENU
.
MENU_RECHARGE
:
//充值
...
@@ -64,7 +63,7 @@ public class CasherFragment extends BaseFragment<MainPresenter, FragmentCasherBi
...
@@ -64,7 +63,7 @@ public class CasherFragment extends BaseFragment<MainPresenter, FragmentCasherBi
break
;
break
;
case
C
.
MENU
.
MENU_TICKET
:
//优惠券
case
C
.
MENU
.
MENU_TICKET
:
//优惠券
ActivityUtils
.
startActivity
(
getActivity
(),
SendTicketActivity
.
class
);
break
;
break
;
case
C
.
MENU
.
MENU_STATISTICS
:
//统计
case
C
.
MENU
.
MENU_STATISTICS
:
//统计
ActivityUtils
.
startActivity
(
getActivity
(),
StatisticsActivity
.
class
);
ActivityUtils
.
startActivity
(
getActivity
(),
StatisticsActivity
.
class
);
...
...
app/src/main/java/com/xingdata/zzdpos/ui/payment/view/CalculatorView.java
View file @
245b2aae
...
@@ -4,7 +4,6 @@ package com.xingdata.zzdpos.ui.payment.view;
...
@@ -4,7 +4,6 @@ package com.xingdata.zzdpos.ui.payment.view;
import
android.view.View
;
import
android.view.View
;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
com.blankj.utilcode.util.LogUtils
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.base.BasePresenter
;
import
com.xingdata.zzdpos.base.BasePresenter
;
...
@@ -58,7 +57,6 @@ public class CalculatorView<P extends BasePresenter> extends BaseFragment<P, Vie
...
@@ -58,7 +57,6 @@ public class CalculatorView<P extends BasePresenter> extends BaseFragment<P, Vie
settle
();
settle
();
break
;
break
;
default
:
default
:
LogUtils
.
e
(
"mExp : "
+
mExp
+
"\nmValue : "
+
mValue
+
"\nmLast"
+
mLast
);
if
(
view
instanceof
TextView
)
{
if
(
view
instanceof
TextView
)
{
String
str
=
((
TextView
)
view
).
getText
().
toString
();
String
str
=
((
TextView
)
view
).
getText
().
toString
();
...
@@ -71,13 +69,12 @@ public class CalculatorView<P extends BasePresenter> extends BaseFragment<P, Vie
...
@@ -71,13 +69,12 @@ public class CalculatorView<P extends BasePresenter> extends BaseFragment<P, Vie
if
(
str
.
matches
(
"[0-9]+"
)
&&
mValue
.
split
(
"[.]"
).
length
>
1
&&
mValue
.
split
(
"[.]"
)[
1
].
length
()
==
2
)
if
(
str
.
matches
(
"[0-9]+"
)
&&
mValue
.
split
(
"[.]"
).
length
>
1
&&
mValue
.
split
(
"[.]"
)[
1
].
length
()
==
2
)
return
;
return
;
//限制小数点
//限制小数点
if
(
(
mExp
.
length
()
==
0
||
mValue
.
contains
(
"."
)
)
&&
str
.
matches
(
"[.]"
))
if
(
mValue
.
contains
(
"."
)
&&
str
.
matches
(
"[.]"
))
return
;
return
;
//限制符号
//限制符号
if
(
mLast
.
matches
(
"[+\\-×÷.]"
)
&&
str
.
matches
(
"[+\\-×÷.]"
))
if
(
(
mExp
.
length
()
==
0
||
mLast
.
matches
(
"[+\\-×÷.]"
)
)
&&
str
.
matches
(
"[+\\-×÷.]"
))
return
;
return
;
mLast
=
str
;
mLast
=
str
;
mExp
+=
str
;
mExp
+=
str
;
}
}
...
...
app/src/main/java/com/xingdata/zzdpos/ui/sendTicke/SendTicketPresenter.java
deleted
100644 → 0
View file @
40accd8d
package
com
.
xingdata
.
zzdpos
.
ui
.
sendTicke
;
import
com.xingdata.zzdpos.ui.sendTicke.fragment.SendTickerIndexFragment
;
/**
* Created by Administrator on 2017/11/24.
*/
public
class
SendTicketPresenter
extends
SendTicketContract
.
Presenter
{
public
SendTickerIndexFragment
sendTickerIndexFragment
=
new
SendTickerIndexFragment
();
@Override
public
void
onAttached
()
{
}
}
app/src/main/java/com/xingdata/zzdpos/ui/sendticke/SendTickerC.java
0 → 100644
View file @
245b2aae
package
com
.
xingdata
.
zzdpos
.
ui
.
sendticke
;
import
com.xingdata.zzdpos.model.Level
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* Created by Administrator on 2017/12/25.
*/
public
class
SendTickerC
{
public
static
List
<
Level
>
vipTypeList
;
public
static
List
<
Level
>
getVipType
()
{
if
(
vipTypeList
==
null
)
{
vipTypeList
=
new
ArrayList
<>();
Level
vipType
=
new
Level
();
vipType
.
setId
(
10000
l
);
vipType
.
setVipLevelName
(
"全部会员"
);
Level
vipTypeNowMonth
=
new
Level
();
vipTypeNowMonth
.
setId
(
10001
l
);
vipTypeNowMonth
.
setVipLevelName
(
"本月生日"
);
Level
vipTypeNextMonth
=
new
Level
();
vipTypeNextMonth
.
setId
(
10002
l
);
vipTypeNextMonth
.
setVipLevelName
(
"下月生日"
);
Level
vipTypeLoss
=
new
Level
();
vipTypeLoss
.
setId
(
10003
l
);
vipTypeLoss
.
setVipLevelName
(
"流失会员"
);
vipTypeList
.
add
(
vipType
);
vipTypeList
.
add
(
vipTypeNowMonth
);
vipTypeList
.
add
(
vipTypeNextMonth
);
vipTypeList
.
add
(
vipTypeLoss
);
}
return
vipTypeList
;
}
}
app/src/main/java/com/xingdata/zzdpos/ui/send
T
icke/SendTicketActivity.java
→
app/src/main/java/com/xingdata/zzdpos/ui/send
t
icke/SendTicketActivity.java
View file @
245b2aae
package
com
.
xingdata
.
zzdpos
.
ui
.
send
T
icke
;
package
com
.
xingdata
.
zzdpos
.
ui
.
send
t
icke
;
import
com.blankj.utilcode.util.LogUtils
;
import
com.blankj.utilcode.util.LogUtils
;
import
com.blankj.utilcode.util.ToastUtils
;
import
com.blankj.utilcode.util.ToastUtils
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseActivity
;
import
com.xingdata.zzdpos.base.BaseActivity
;
import
com.xingdata.zzdpos.databinding.ActivitySendTicketBinding
;
import
com.xingdata.zzdpos.databinding.ActivitySendTicketBinding
;
import
com.xingdata.zzdpos.model.Pager
;
import
com.xingdata.zzdpos.model.Trule
;
import
com.xingdata.zzdpos.model.Vip
;
import
com.xingdata.zzdpos.ui.dialog.LoadingDialog
;
import
com.xingdata.zzdpos.ui.dialog.LoadingDialog
;
import
java.util.List
;
public
class
SendTicketActivity
extends
BaseActivity
<
SendTicketPresenter
,
public
class
SendTicketActivity
extends
BaseActivity
<
SendTicketPresenter
,
ActivitySendTicketBinding
>
ActivitySendTicketBinding
>
implements
SendTicketContract
.
View
{
implements
SendTicketContract
.
View
{
...
@@ -30,7 +35,25 @@ public class SendTicketActivity extends BaseActivity<SendTicketPresenter,
...
@@ -30,7 +35,25 @@ public class SendTicketActivity extends BaseActivity<SendTicketPresenter,
ToastUtils
.
showLong
(
errorMsg
);
ToastUtils
.
showLong
(
errorMsg
);
}
}
@Override
public
void
loadVips
(
List
<
Vip
>
vips
)
{
mPresenter
.
vipFragment
.
loadVips
(
vips
);
}
@Override
public
void
loadVip
(
Vip
vip
)
{
// mPresenter.vipFragment.loadVip(vip);
}
@Override
public
void
truleQuerySucc
(
Pager
<
Trule
>
trulePager
,
LoadingDialog
loadingDialog
)
{
mPresenter
.
sendTickerFragment
.
truleQuerySucc
(
trulePager
,
loadingDialog
);
}
@Override
protected
void
onResume
()
{
super
.
onResume
();
}
private
void
closeLoading
(
LoadingDialog
loadingDialog
)
{
private
void
closeLoading
(
LoadingDialog
loadingDialog
)
{
if
(
loadingDialog
!=
null
)
{
if
(
loadingDialog
!=
null
)
{
loadingDialog
.
dismiss
();
loadingDialog
.
dismiss
();
...
...
app/src/main/java/com/xingdata/zzdpos/ui/send
T
icke/SendTicketContract.java
→
app/src/main/java/com/xingdata/zzdpos/ui/send
t
icke/SendTicketContract.java
View file @
245b2aae
package
com
.
xingdata
.
zzdpos
.
ui
.
send
T
icke
;
package
com
.
xingdata
.
zzdpos
.
ui
.
send
t
icke
;
import
com.xingdata.zzdpos.base.BasePresenter
;
import
com.xingdata.zzdpos.base.BasePresenter
;
import
com.xingdata.zzdpos.base.BaseView
;
import
com.xingdata.zzdpos.base.BaseView
;
import
com.xingdata.zzdpos.model.Pager
;
import
com.xingdata.zzdpos.model.Trule
;
import
com.xingdata.zzdpos.model.Vip
;
import
com.xingdata.zzdpos.ui.dialog.LoadingDialog
;
import
com.xingdata.zzdpos.ui.dialog.LoadingDialog
;
import
java.util.List
;
/**
/**
* Created by Administrator on 2017/11/24.
* Created by Administrator on 2017/11/24.
...
@@ -13,10 +18,39 @@ public interface SendTicketContract {
...
@@ -13,10 +18,39 @@ public interface SendTicketContract {
interface
View
extends
BaseView
{
interface
View
extends
BaseView
{
void
error
(
String
errorMsg
,
LoadingDialog
loadingDialog
);
void
error
(
String
errorMsg
,
LoadingDialog
loadingDialog
);
/**
* 加载会员列表
*
* @param vips 会员列表
*/
void
loadVips
(
List
<
Vip
>
vips
);
/**
* 加载会员信息
*
* @param vip 会员信息
*/
void
loadVip
(
Vip
vip
);
void
truleQuerySucc
(
Pager
<
Trule
>
trulePager
,
LoadingDialog
loadingDialog
);
}
}
abstract
class
Presenter
extends
BasePresenter
<
View
>
{
abstract
class
Presenter
extends
BasePresenter
<
View
>
{
/**
* 会员页面 - 选择会员
*
* @param vip 会员
*/
public
abstract
void
selectVip
(
Vip
vip
);
/**
* 会员界面 - 查找会员
*
* @param keyword 搜索关键字
*/
public
abstract
void
searchVip
(
String
keyword
);
abstract
void
truleQuery
(
LoadingDialog
loadingDialog
);
}
}
}
}
app/src/main/java/com/xingdata/zzdpos/ui/sendticke/SendTicketPresenter.java
0 → 100644
View file @
245b2aae
package
com
.
xingdata
.
zzdpos
.
ui
.
sendticke
;
import
com.xingdata.zzdpos.api.ApiFactory
;
import
com.xingdata.zzdpos.model.Vip
;
import
com.xingdata.zzdpos.ui.dialog.LoadingDialog
;
import
com.xingdata.zzdpos.ui.sendticke.fragment.SendTickerFragment
;
import
com.xingdata.zzdpos.ui.sendticke.fragment.SendTickerIndexFragment
;
import
com.xingdata.zzdpos.ui.sendticke.fragment.VipFragment
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* Created by Administrator on 2017/11/24.
*/
public
class
SendTicketPresenter
extends
SendTicketContract
.
Presenter
{
public
SendTickerIndexFragment
sendTickerIndexFragment
=
new
SendTickerIndexFragment
();
public
VipFragment
vipFragment
=
new
VipFragment
();
public
SendTickerFragment
sendTickerFragment
=
new
SendTickerFragment
();
/**
* 当前会员
*/
private
Vip
mVip
;
@Override
public
void
onAttached
()
{
}
@Override
public
void
selectVip
(
Vip
vip
)
{
mVip
=
vip
;
mView
.
loadVip
(
mVip
);
}
@Override
public
void
searchVip
(
String
keyword
)
{
ApiFactory
.
User
.
queryUserDetailByKeyword
(
keyword
).
subscribe
(
vip
->
{
List
<
Vip
>
vips
=
new
ArrayList
<>();
vips
.
add
(
vip
);
mView
.
loadVips
(
vips
);
},
throwable
->
{
});
}
@Override
public
void
truleQuery
(
LoadingDialog
loadingDialog
)
{
ApiFactory
.
TRULE
.
truleQuery
().
subscribe
(
pager
->
{
mView
.
truleQuerySucc
(
pager
,
loadingDialog
);
},
throwable
->
{
mView
.
error
(
throwable
.
getMessage
(),
loadingDialog
);
});
}
}
app/src/main/java/com/xingdata/zzdpos/ui/sendticke/adapter/ReturnTicketAdapter.java
0 → 100644
View file @
245b2aae
package
com
.
xingdata
.
zzdpos
.
ui
.
sendticke
.
adapter
;
import
android.support.annotation.Nullable
;
import
android.view.View
;
import
com.blankj.utilcode.util.TimeUtils
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseAdapter
;
import
com.xingdata.zzdpos.databinding.ItemReturnTicketBinding
;
import
com.xingdata.zzdpos.model.Trule
;
import
com.xingdata.zzdpos.ui.sendticke.SendTicketActivity
;
import
com.xingdata.zzdpos.ui.sendticke.SendTicketPresenter
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
java.text.SimpleDateFormat
;
import
java.util.List
;
public
class
ReturnTicketAdapter
extends
BaseAdapter
<
Trule
,
ItemReturnTicketBinding
>
{
SendTicketPresenter
mPersenter
;
SendTicketActivity
sendTicketActivity
;
public
ReturnTicketAdapter
(
@Nullable
List
<
Trule
>
data
,
SendTicketPresenter
mPersenter
,
SendTicketActivity
sendTicketActivity
)
{
super
(
R
.
layout
.
item_return_ticket
,
data
);
this
.
mPersenter
=
mPersenter
;
this
.
sendTicketActivity
=
sendTicketActivity
;
}
@Override
protected
void
convert
(
ItemReturnTicketBinding
mViewBinding
,
Trule
item
)
{
if
(
item
.
isSelect
())
{
mViewBinding
.
ivSelect
.
setImageResource
(
R
.
mipmap
.
but_elect01_stroke
);
}
else
{
mViewBinding
.
ivSelect
.
setImageResource
(
R
.
mipmap
.
but_elect02_stroke
);
}
mViewBinding
.
ivSelect
.
setVisibility
(
View
.
VISIBLE
);
mViewBinding
.
tvTicketMoney
.
setText
(
mContext
.
getResources
().
getString
(
R
.
string
.
tv_money
,
ConvertUtil
.
fenToYuanNoPoint
(
item
.
getTruleValAmt
())));
mViewBinding
.
tvTicketMoneys
.
setText
(
mContext
.
getResources
().
getString
(
R
.
string
.
money
,
ConvertUtil
.
fenToYuanNoPoint
(
item
.
getTruleValAmt
())));
mViewBinding
.
tvRule
.
setText
(
mContext
.
getResources
().
getString
(
R
.
string
.
tv_rule
,
ConvertUtil
.
fenToYuanNoPoint
(
item
.
getTruleOrderAmt
())));
mViewBinding
.
tvDate
.
setText
(
mContext
.
getResources
().
getString
(
R
.
string
.
tv_date
,
TimeUtils
.
millis2String
(
item
.
getTruleExp
(),
new
SimpleDateFormat
(
"yyy-mm-dd"
))));
}
}
app/src/main/java/com/xingdata/zzdpos/ui/sendticke/adapter/VipAdapter.java
0 → 100644
View file @
245b2aae
package
com
.
xingdata
.
zzdpos
.
ui
.
sendticke
.
adapter
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseAdapter
;
import
com.xingdata.zzdpos.databinding.ItemSettleVipBinding
;
import
com.xingdata.zzdpos.model.Vip
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
java.util.ArrayList
;
public
class
VipAdapter
extends
BaseAdapter
<
Vip
,
ItemSettleVipBinding
>
{
public
VipAdapter
()
{
super
(
R
.
layout
.
item_settle_vip
,
new
ArrayList
<>());
}
@Override
protected
void
convert
(
ItemSettleVipBinding
mViewBinding
,
Vip
item
)
{
mViewBinding
.
setName
(
item
.
getVipName
());
mViewBinding
.
setPhone
(
ConvertUtil
.
longToString
(
item
.
getVipMobile
()));
if
(
item
.
getVipDefDiscount
()
<
100
&&
item
.
getVipDefDiscount
()
>
0
)
{
mViewBinding
.
setDisRate
(
String
.
valueOf
((
double
)
item
.
getVipDefDiscount
()
/
10
));
}
switch
(
item
.
getVipLevel
())
{
case
1
:
mViewBinding
.
ivLevel
.
setImageResource
(
R
.
mipmap
.
mk_grade01
);
break
;
case
2
:
mViewBinding
.
ivLevel
.
setImageResource
(
R
.
mipmap
.
mk_grade02
);
break
;
case
3
:
mViewBinding
.
ivLevel
.
setImageResource
(
R
.
mipmap
.
mk_grade03
);
break
;
}
}
}
app/src/main/java/com/xingdata/zzdpos/ui/sendticke/adapter/VipGroupAdapter.java
0 → 100644
View file @
245b2aae
package
com
.
xingdata
.
zzdpos
.
ui
.
sendticke
.
adapter
;
import
android.content.res.Resources
;
import
android.graphics.drawable.Drawable
;
import
android.view.View
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseAdapter
;
import
com.xingdata.zzdpos.databinding.ItemVipGroupBinding
;
import
com.xingdata.zzdpos.model.Level
;
import
java.util.ArrayList
;
public
class
VipGroupAdapter
extends
BaseAdapter
<
Level
,
ItemVipGroupBinding
>
{
public
VipGroupAdapter
()
{
super
(
R
.
layout
.
item_vip_group
,
new
ArrayList
<>());
}
@Override
protected
void
convert
(
ItemVipGroupBinding
mViewBinding
,
Level
item
)
{
mViewBinding
.
tvItem
.
setText
(
item
.
getPickerViewText
());
mViewBinding
.
tvItemSelect
.
setText
(
item
.
getPickerViewText
());
if
(
item
.
isSelect
())
{
mViewBinding
.
tvItem
.
setVisibility
(
View
.
GONE
);
mViewBinding
.
tvItemSelect
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
mViewBinding
.
tvItem
.
setVisibility
(
View
.
VISIBLE
);
mViewBinding
.
tvItemSelect
.
setVisibility
(
View
.
GONE
);
}
}
}
app/src/main/java/com/xingdata/zzdpos/ui/sendticke/fragment/SendTickerFragment.java
0 → 100644
View file @
245b2aae
package
com
.
xingdata
.
zzdpos
.
ui
.
sendticke
.
fragment
;
import
android.support.v7.widget.GridLayoutManager
;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.view.View
;
import
com.blankj.utilcode.util.LogUtils
;
import
com.blankj.utilcode.util.ToastUtils
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseActivity
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.databinding.FragmentSendTickerBinding
;
import
com.xingdata.zzdpos.db.DBFactory
;
import
com.xingdata.zzdpos.model.Level
;
import
com.xingdata.zzdpos.model.Pager
;
import
com.xingdata.zzdpos.model.Trule
;
import
com.xingdata.zzdpos.model.Vip
;
import
com.xingdata.zzdpos.ui.dialog.LoadingDialog
;
import
com.xingdata.zzdpos.ui.sendticke.SendTickerC
;
import
com.xingdata.zzdpos.ui.sendticke.SendTicketActivity
;
import
com.xingdata.zzdpos.ui.sendticke.SendTicketPresenter
;
import
com.xingdata.zzdpos.ui.sendticke.adapter.ReturnTicketAdapter
;
import
com.xingdata.zzdpos.ui.sendticke.adapter.VipGroupAdapter
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
com.xingdata.zzdpos.util.OnClickListener
;
import
com.xingdata.zzdpos.util.RecyclerViewUtil
;
import
java.util.ArrayList
;
import
java.util.List
;
import
io.realm.RealmResults
;
public
class
SendTickerFragment
extends
BaseFragment
<
SendTicketPresenter
,
FragmentSendTickerBinding
>
{
//0单个会员发券,1按会员类型发券
private
int
nowtype
=
-
1
;
//当前单个会员发券操作对象
private
Vip
nowVip
;
//当前组别发券组
private
List
<
Level
>
levelList
=
new
ArrayList
<>();
ReturnTicketAdapter
returnTicketAdapter
;
VipGroupAdapter
vipGroupAdapter
;
LoadingDialog
loadingDialog
=
new
LoadingDialog
();
//当前优惠券点击的item id
int
nowTickerItemId
=
-
1
;
List
<
Trule
>
truleList
=
new
ArrayList
<>();
//当前选中会员组别Item ID
int
nowVipGroupId
=
0
;
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
fragment_send_ticker
;
}
@Override
public
void
initView
()
{
loadingDialog
.
show
((
BaseActivity
)
getActivity
());
mPresenter
.
truleQuery
(
loadingDialog
);
mViewBinding
.
icTitle
.
tvTitle
.
setText
(
"发券"
);
mViewBinding
.
icTitle
.
setOnClickListener
(
new
OnClickListener
()
{
@Override
protected
void
myOnClickListener
(
View
v
)
{
pop
();
}
});
returnTicketAdapter
=
new
ReturnTicketAdapter
(
new
ArrayList
<>(),
mPresenter
,
(
SendTicketActivity
)
getActivity
());
vipGroupAdapter
=
new
VipGroupAdapter
();
mViewBinding
.
rlTicker
.
setAdapter
(
returnTicketAdapter
);
LinearLayoutManager
linearLayoutManager
=
new
LinearLayoutManager
(
getActivity
());
linearLayoutManager
.
setOrientation
(
LinearLayoutManager
.
VERTICAL
);
mViewBinding
.
rlTicker
.
setLayoutManager
(
linearLayoutManager
);
if
(
nowtype
==
0
)
{
initOneVipData
();
}
else
if
(
nowtype
==
1
)
{
initVipGroupData
();
}
mViewBinding
.
setOnClickListener
(
new
OnClickListener
()
{
@Override
protected
void
myOnClickListener
(
View
v
)
{
switch
(
v
.
getId
())
{
case
R
.
id
.
ll_vip_single
:
{
mPresenter
.
vipFragment
=
new
VipFragment
();
startWithPop
(
mPresenter
.
vipFragment
);
}
break
;
case
R
.
id
.
btn_send
:
{
if
(
isNull
())
{
ToastUtils
.
showLong
(
"发券"
);
}
}
break
;
default
:
{
}
break
;
}
}
});
vipGroupAdapter
.
setOnItemClickListener
(
new
BaseQuickAdapter
.
OnItemClickListener
()
{
@Override
public
void
onItemClick
(
BaseQuickAdapter
adapter
,
View
view
,
int
position
)
{
levelList
.
get
(
nowVipGroupId
).
setSelect
(
false
);
nowVipGroupId
=
position
;
levelList
.
get
(
nowVipGroupId
).
setSelect
(
true
);
vipGroupAdapter
.
notifyDataSetChanged
();
mViewBinding
.
tvSelect
.
setText
(
levelList
.
get
(
position
).
getVipLevelName
());
}
});
returnTicketAdapter
.
setOnItemClickListener
(
new
BaseQuickAdapter
.
OnItemClickListener
()
{
@Override
public
void
onItemClick
(
BaseQuickAdapter
adapter
,
View
view
,
int
position
)
{
if
(
nowTickerItemId
>=
0
)
{
truleList
.
get
(
nowTickerItemId
).
setSelect
(
false
);
}
nowTickerItemId
=
position
;
truleList
.
get
(
nowTickerItemId
).
setSelect
(
true
);
returnTicketAdapter
.
notifyDataSetChanged
();
}
});
}
private
void
initOneVipData
()
{
mViewBinding
.
tvSelect
.
setText
(
""
);
mViewBinding
.
llVipSingle
.
setVisibility
(
View
.
VISIBLE
);
mViewBinding
.
llAll
.
setVisibility
(
View
.
GONE
);
if
(
nowVip
!=
null
)
{
mViewBinding
.
tvSelect
.
setText
(
nowVip
.
getVipName
());
mViewBinding
.
setName
(
nowVip
.
getVipName
());
mViewBinding
.
setPhone
(
ConvertUtil
.
longToString
(
nowVip
.
getVipMobile
()));
if
(
nowVip
.
getVipDefDiscount
()
<
100
&&
nowVip
.
getVipDefDiscount
()
>
0
)
{
mViewBinding
.
setDisRate
(
String
.
valueOf
((
double
)
nowVip
.
getVipDefDiscount
()
/
10
));
}
switch
(
nowVip
.
getVipLevel
())
{
case
1
:
mViewBinding
.
ivLevel
.
setImageResource
(
R
.
mipmap
.
mk_grade01
);
break
;
case
2
:
mViewBinding
.
ivLevel
.
setImageResource
(
R
.
mipmap
.
mk_grade02
);
break
;
case
3
:
mViewBinding
.
ivLevel
.
setImageResource
(
R
.
mipmap
.
mk_grade03
);
break
;
}
}
else
{
LogUtils
.
e
(
"nowVip为null"
);
ToastUtils
.
showLong
(
"nowVip为null"
);
}
}
private
void
initVipGroupData
()
{
mViewBinding
.
llVipSingle
.
setVisibility
(
View
.
GONE
);
mViewBinding
.
llAll
.
setVisibility
(
View
.
VISIBLE
);
RealmResults
<
Level
>
levels
=
DBFactory
.
getRealm
().
where
(
Level
.
class
).
findAll
();
levelList
=
new
ArrayList
<>();
SendTickerC
.
getVipType
().
get
(
0
).
setSelect
(
true
);
levelList
.
add
(
SendTickerC
.
getVipType
().
get
(
0
));
for
(
int
i
=
0
;
i
<
levels
.
size
();
i
++)
{
levelList
.
add
(
levels
.
get
(
i
));
}
for
(
int
i
=
1
;
i
<
SendTickerC
.
getVipType
().
size
();
i
++)
{
levelList
.
add
(
SendTickerC
.
getVipType
().
get
(
i
));
}
mViewBinding
.
tvSelect
.
setText
(
levelList
.
get
(
nowVipGroupId
).
getVipLevelName
());
mViewBinding
.
vipType
.
setAdapter
(
vipGroupAdapter
);
mViewBinding
.
vipType
.
setLayoutManager
(
new
GridLayoutManager
(
mContext
,
3
));
final
int
SPACING
=
mContext
.
getResources
().
getDimensionPixelOffset
(
R
.
dimen
.
ticker_vip_three_item_spacing
);
mViewBinding
.
vipType
.
addItemDecoration
(
new
RecyclerViewUtil
.
GridSpacingItemDecoration
(
3
,
SPACING
,
true
));
vipGroupAdapter
.
setNewData
(
levelList
);
}
public
void
truleQuerySucc
(
Pager
<
Trule
>
trulePager
,
LoadingDialog
loadingDialog
)
{
closeLoading
(
loadingDialog
);
if
(
trulePager
==
null
||
trulePager
.
getList
()
==
null
||
trulePager
.
getList
().
size
()
<=
0
)
{
mViewBinding
.
tvEmpty
.
setVisibility
(
View
.
VISIBLE
);
mViewBinding
.
rlTicker
.
setVisibility
(
View
.
GONE
);
}
if
(
trulePager
!=
null
&&
trulePager
.
getList
()
!=
null
)
{
truleList
=
trulePager
.
getList
();
mViewBinding
.
tvEmpty
.
setVisibility
(
View
.
GONE
);
mViewBinding
.
rlTicker
.
setVisibility
(
View
.
VISIBLE
);
returnTicketAdapter
.
setNewData
(
trulePager
.
getList
());
}
}
/**
* 0单个会员发券,1按会员类型发券
*
* @param type
*/
public
void
setNowtype
(
int
type
)
{
this
.
nowtype
=
type
;
}
public
void
setNowVip
(
Vip
nowVip
)
{
this
.
nowVip
=
nowVip
;
}
private
void
closeLoading
(
LoadingDialog
loadingDialog
)
{
if
(
loadingDialog
!=
null
)
{
loadingDialog
.
dismiss
();
}
}
private
boolean
isNull
()
{
if
(
nowtype
==
0
)
{
//单个会员发券
if
(
null
==
nowVip
||
nowTickerItemId
<
0
)
{
ToastUtils
.
showLong
(
"请选择会员或优惠券"
);
return
false
;
}
}
else
if
(
nowtype
==
1
)
{
//分组发券
if
(
nowTickerItemId
<
0
)
{
ToastUtils
.
showLong
(
"请选择优惠券"
);
return
false
;
}
}
return
true
;
}
}
\ No newline at end of file
app/src/main/java/com/xingdata/zzdpos/ui/send
T
icke/fragment/SendTickerIndexFragment.java
→
app/src/main/java/com/xingdata/zzdpos/ui/send
t
icke/fragment/SendTickerIndexFragment.java
View file @
245b2aae
package
com
.
xingdata
.
zzdpos
.
ui
.
send
T
icke
.
fragment
;
package
com
.
xingdata
.
zzdpos
.
ui
.
send
t
icke
.
fragment
;
import
android.view.View
;
import
android.view.View
;
...
@@ -8,7 +8,7 @@ import com.xingdata.zzdpos.base.BaseFragment;
...
@@ -8,7 +8,7 @@ import com.xingdata.zzdpos.base.BaseFragment;
import
com.xingdata.zzdpos.databinding.FragmentSendTickerMainBinding
;
import
com.xingdata.zzdpos.databinding.FragmentSendTickerMainBinding
;
import
com.xingdata.zzdpos.ui.dialog.LoadingDialog
;
import
com.xingdata.zzdpos.ui.dialog.LoadingDialog
;
import
com.xingdata.zzdpos.ui.marketing.integral.IntegralActivity
;
import
com.xingdata.zzdpos.ui.marketing.integral.IntegralActivity
;
import
com.xingdata.zzdpos.ui.send
T
icke.SendTicketPresenter
;
import
com.xingdata.zzdpos.ui.send
t
icke.SendTicketPresenter
;
import
com.xingdata.zzdpos.util.OnClickListener
;
import
com.xingdata.zzdpos.util.OnClickListener
;
public
class
SendTickerIndexFragment
extends
BaseFragment
<
SendTicketPresenter
,
public
class
SendTickerIndexFragment
extends
BaseFragment
<
SendTicketPresenter
,
...
@@ -21,13 +21,35 @@ public class SendTickerIndexFragment extends BaseFragment<SendTicketPresenter,
...
@@ -21,13 +21,35 @@ public class SendTickerIndexFragment extends BaseFragment<SendTicketPresenter,
@Override
@Override
public
void
initView
()
{
public
void
initView
()
{
mViewBinding
.
icTitle
.
tvTitle
.
setText
(
"
积分规则
"
);
mViewBinding
.
icTitle
.
tvTitle
.
setText
(
"
发券
"
);
mViewBinding
.
icTitle
.
setOnClickListener
(
new
OnClickListener
()
{
mViewBinding
.
icTitle
.
setOnClickListener
(
new
OnClickListener
()
{
@Override
@Override
protected
void
myOnClickListener
(
View
v
)
{
protected
void
myOnClickListener
(
View
v
)
{
ActivityUtils
.
finishActivity
(
IntegralActivity
.
class
);
ActivityUtils
.
finishActivity
(
IntegralActivity
.
class
);
}
}
});
});
mViewBinding
.
setOnClickListener
(
new
OnClickListener
()
{
@Override
protected
void
myOnClickListener
(
View
v
)
{
switch
(
v
.
getId
())
{
case
R
.
id
.
ll_one
:
{
mPresenter
.
vipFragment
=
new
VipFragment
();
start
(
mPresenter
.
vipFragment
);
}
break
;
case
R
.
id
.
ll_all
:
{
mPresenter
.
sendTickerFragment
=
new
SendTickerFragment
();
mPresenter
.
sendTickerFragment
.
setNowtype
(
1
);
start
(
mPresenter
.
sendTickerFragment
);
}
break
;
default
:
{
}
break
;
}
}
});
}
}
...
...
app/src/main/java/com/xingdata/zzdpos/ui/sendticke/fragment/VipFragment.java
0 → 100644
View file @
245b2aae
package
com
.
xingdata
.
zzdpos
.
ui
.
sendticke
.
fragment
;
import
android.annotation.SuppressLint
;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.view.View
;
import
android.widget.TextView
;
import
com.blankj.utilcode.util.KeyboardUtils
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.databinding.FragmentSendTickerVipBinding
;
import
com.xingdata.zzdpos.model.Vip
;
import
com.xingdata.zzdpos.ui.sendticke.SendTicketPresenter
;
import
com.xingdata.zzdpos.ui.sendticke.adapter.VipAdapter
;
import
com.xingdata.zzdpos.ui.settle.SettleActivity
;
import
com.xingdata.zzdpos.util.OnClickListener
;
import
java.util.List
;
public
class
VipFragment
extends
BaseFragment
<
SendTicketPresenter
,
FragmentSendTickerVipBinding
>
{
private
VipAdapter
mVipAdapter
;
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
fragment_send_ticker_vip
;
}
@Override
public
void
initView
()
{
mViewBinding
.
setEmpty
(
true
);
mVipAdapter
=
new
VipAdapter
();
mViewBinding
.
rlVip
.
setAdapter
(
mVipAdapter
);
mViewBinding
.
rlVip
.
setLayoutManager
(
new
LinearLayoutManager
(
mContext
));
@SuppressLint
(
"InflateParams"
)
View
emptyView
=
getLayoutInflater
().
inflate
(
R
.
layout
.
view_empty
,
null
);
((
TextView
)
emptyView
.
findViewById
(
R
.
id
.
tv_empty
)).
setText
(
R
.
string
.
settle_vip_search_empty
);
mVipAdapter
.
setEmptyView
(
emptyView
);
mVipAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
{
mPresenter
.
selectVip
(
mVipAdapter
.
getData
().
get
(
position
));
mPresenter
.
sendTickerFragment
=
new
SendTickerFragment
();
mPresenter
.
sendTickerFragment
.
setNowtype
(
0
);
mPresenter
.
sendTickerFragment
.
setNowVip
(
mVipAdapter
.
getData
().
get
(
position
));
startWithPop
(
mPresenter
.
sendTickerFragment
);
});
mViewBinding
.
setOnClickListener
(
new
OnClickListener
()
{
@Override
protected
void
myOnClickListener
(
View
v
)
{
switch
(
v
.
getId
())
{
case
R
.
id
.
btn_back
:
{
pop
();
}
break
;
default
:
{
}
break
;
}
}
});
mViewBinding
.
etSearch
.
setOnEditorActionListener
((
textView
,
i
,
keyEvent
)
->
{
KeyboardUtils
.
hideSoftInput
(
textView
);
mPresenter
.
searchVip
(
textView
.
getText
().
toString
());
return
false
;
});
}
/**
* 加载会员信息
*
* @param vips 会员列表
*/
public
void
loadVips
(
List
<
Vip
>
vips
)
{
mViewBinding
.
setEmpty
(
vips
.
size
()
==
0
);
mVipAdapter
.
setNewData
(
vips
);
}
@Override
public
void
onDestroyView
()
{
if
(
getActivity
()
instanceof
SettleActivity
)
{
((
SettleActivity
)
getActivity
()).
showTitleBarByTitleMode
(
C
.
TITLE_MODE
.
TEXT
);
}
super
.
onDestroyView
();
}
}
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettleActivity.java
View file @
245b2aae
...
@@ -87,16 +87,12 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
...
@@ -87,16 +87,12 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
@Override
@Override
public
void
showTicketFragment
()
{
public
void
showTicketFragment
()
{
this
.
start
(
mTicketFragment
);
}
}
@Override
@Override
public
void
loadTickets
(
List
<
Ticket
>
tickets
)
{
public
void
loadTickets
(
List
<
Ticket
>
tickets
)
{
}
mTicketFragment
.
loadTickets
(
tickets
);
@Override
public
void
loadTicket
(
Ticket
ticket
)
{
}
}
@Override
@Override
...
...
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettleContract.java
View file @
245b2aae
...
@@ -56,13 +56,6 @@ interface SettleContract {
...
@@ -56,13 +56,6 @@ interface SettleContract {
*/
*/
void
loadTickets
(
List
<
Ticket
>
tickets
);
void
loadTickets
(
List
<
Ticket
>
tickets
);
/**
* 加载优惠券信息
*
* @param ticket 优惠券信息
*/
void
loadTicket
(
Ticket
ticket
);
/**
/**
* 加载可用优惠券数量
* 加载可用优惠券数量
*
*
...
@@ -164,7 +157,7 @@ interface SettleContract {
...
@@ -164,7 +157,7 @@ interface SettleContract {
/**
/**
* 结算页面 - 查询优惠券
* 结算页面 - 查询优惠券
*/
*/
public
abstract
void
searchTicket
(
Long
vipId
);
public
abstract
void
searchTicket
();
/**
/**
* 优惠券页面 - 选择优惠券
* 优惠券页面 - 选择优惠券
...
...
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettlePresenter.java
View file @
245b2aae
...
@@ -4,6 +4,7 @@ package com.xingdata.zzdpos.ui.settle;
...
@@ -4,6 +4,7 @@ package com.xingdata.zzdpos.ui.settle;
import
com.blankj.utilcode.util.StringUtils
;
import
com.blankj.utilcode.util.StringUtils
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.api.ApiFactory
;
import
com.xingdata.zzdpos.api.ApiFactory
;
import
com.xingdata.zzdpos.db.DBFactory
;
import
com.xingdata.zzdpos.model.Ms
;
import
com.xingdata.zzdpos.model.Ms
;
import
com.xingdata.zzdpos.model.Pay
;
import
com.xingdata.zzdpos.model.Pay
;
import
com.xingdata.zzdpos.model.Saledetail
;
import
com.xingdata.zzdpos.model.Saledetail
;
...
@@ -28,6 +29,11 @@ public class SettlePresenter extends SettleContract.Presenter {
...
@@ -28,6 +29,11 @@ public class SettlePresenter extends SettleContract.Presenter {
*/
*/
private
Vip
mVip
;
private
Vip
mVip
;
/**
* 当前会员的优惠券
*/
private
List
<
Ticket
>
mTickets
;
/**
/**
* 当前的营销活动列表
* 当前的营销活动列表
*/
*/
...
@@ -73,7 +79,7 @@ public class SettlePresenter extends SettleContract.Presenter {
...
@@ -73,7 +79,7 @@ public class SettlePresenter extends SettleContract.Presenter {
private
void
getPaymentIntent
()
{
private
void
getPaymentIntent
()
{
Long
payAmt
=
getIntent
().
getLongExtra
(
C
.
EXTRA_KEY
.
SETTLE_EXTRA
,
0
);
Long
payAmt
=
getIntent
().
getLongExtra
(
C
.
EXTRA_KEY
.
SETTLE_EXTRA
,
0
);
mSaledetails
.
add
(
0
,
Saledetail
.
create
(
"收款"
,
payAmt
,
mVip
));
mSaledetails
.
add
(
0
,
Saledetail
.
create
(
"收款"
,
payAmt
,
mVip
));
mSaleorder
.
setSaledetails
(
mSaledetails
)
.
settle
()
;
mSaleorder
.
setSaledetails
(
mSaledetails
);
}
}
/**
/**
...
@@ -86,13 +92,13 @@ public class SettlePresenter extends SettleContract.Presenter {
...
@@ -86,13 +92,13 @@ public class SettlePresenter extends SettleContract.Presenter {
@Override
@Override
public
void
initSettle
()
{
public
void
initSettle
()
{
ApiFactory
.
Pay
.
query
().
subscribe
(
DBFactory
.
Settle
.
queryPays
().
subscribe
(
pays
->
mView
.
loadPays
(
pays
),
pays
->
mView
.
loadPays
(
pays
),
throwable
->
{
throwable
->
{
}
}
);
);
mView
.
loadSaleorder
(
mSaleorder
);
mView
.
setSettleFragmentBySettleMode
(
mSettleMode
);
mView
.
setSettleFragmentBySettleMode
(
mSettleMode
);
this
.
reprice
();
}
}
@Override
@Override
...
@@ -100,6 +106,7 @@ public class SettlePresenter extends SettleContract.Presenter {
...
@@ -100,6 +106,7 @@ public class SettlePresenter extends SettleContract.Presenter {
mView
.
showVipFragment
();
mView
.
showVipFragment
();
}
}
@Override
@Override
public
void
searchVip
(
String
keyword
)
{
public
void
searchVip
(
String
keyword
)
{
ApiFactory
.
User
.
queryUserDetailByKeyword
(
keyword
).
subscribe
(
ApiFactory
.
User
.
queryUserDetailByKeyword
(
keyword
).
subscribe
(
...
@@ -114,8 +121,19 @@ public class SettlePresenter extends SettleContract.Presenter {
...
@@ -114,8 +121,19 @@ public class SettlePresenter extends SettleContract.Presenter {
@Override
@Override
public
void
selectVip
(
Vip
vip
)
{
public
void
selectVip
(
Vip
vip
)
{
mVip
=
vip
;
// 设置会员
mView
.
loadVip
(
mVip
);
this
.
setVip
(
vip
);
// 计算价格
this
.
reprice
();
// 获取订单
ApiFactory
.
Ticket
.
query
(
mVip
.
getVipId
()).
subscribe
(
tickets
->
{
this
.
mTickets
=
tickets
;
this
.
searchAvlTicket
();
},
throwable
->
{
});
}
}
@Override
@Override
...
@@ -124,30 +142,27 @@ public class SettlePresenter extends SettleContract.Presenter {
...
@@ -124,30 +142,27 @@ public class SettlePresenter extends SettleContract.Presenter {
}
}
@Override
@Override
public
void
searchTicket
(
Long
vipId
)
{
public
void
searchTicket
()
{
ApiFactory
.
Ticket
.
query
(
vipId
).
subscribe
(
List
<
Ticket
>
_tickets
=
new
ArrayList
<>();
tickets
->
{
for
(
int
i
=
0
;
i
<
mTickets
.
size
();
i
++)
{
mView
.
loadTickets
(
tickets
);
if
(
mSaleorder
.
getOrderVipOffAmt
()
-
mSaleorder
.
getMsDisAmt
()
>=
mTickets
.
get
(
i
).
getTruleOrderAmt
())
{
int
avlTicketNum
=
0
;
mTickets
.
get
(
i
).
setSelected
(
mSaleorder
.
getTicketId
()
==
mTickets
.
get
(
i
).
getTicketNo
());
for
(
int
i
=
0
;
i
<
tickets
.
size
();
i
++)
{
_tickets
.
add
(
mTickets
.
get
(
i
));
if
(
tickets
.
get
(
i
).
getTruleOrderAmt
()
<=
mSaleorder
.
getOrderPayAmt
())
avlTicketNum
++;
}
}
mView
.
loadAvlTicketNum
(
avlTicketNum
);
}
},
mView
.
loadTickets
(
_tickets
);
throwable
->
{
});
}
}
@Override
@Override
public
void
selectTicket
(
Ticket
ticket
)
{
public
void
selectTicket
(
Ticket
ticket
)
{
mView
.
loadTicket
(
ticket
);
mSaleorder
.
setTicket
(
ticket
);
this
.
reprice
();
}
}
@Override
@Override
public
void
changePointState
(
boolean
isUsePoint
)
{
public
void
changePointState
(
boolean
isUsePoint
)
{
mSaleorder
.
setBound
(
isUsePoint
,
mVip
.
getBoundCbal
())
.
settle
()
;
mSaleorder
.
setBound
(
isUsePoint
,
mVip
.
getBoundCbal
());
mView
.
loadSaleorder
(
mSaleorder
);
this
.
reprice
(
);
}
}
@Override
@Override
...
@@ -245,4 +260,43 @@ public class SettlePresenter extends SettleContract.Presenter {
...
@@ -245,4 +260,43 @@ public class SettlePresenter extends SettleContract.Presenter {
mView
.
showPayFailFragment
(
throwable
,
mSaleorder
);
mView
.
showPayFailFragment
(
throwable
,
mSaleorder
);
}
}
/**
* 设置会员
*
* @param vip 会员信息
*/
private
void
setVip
(
Vip
vip
)
{
this
.
mVip
=
vip
;
for
(
int
i
=
0
;
i
<
mSaledetails
.
size
();
i
++)
mSaledetails
.
get
(
i
).
setVip
(
mVip
);
if
(
vip
.
getBoundCbal
()
!=
null
)
{
//清空优惠券和积分
mSaleorder
.
setBound
(
false
,
vip
.
getBoundCbal
()).
setTicket
(
Ticket
.
defualt
());
}
//加载会员信息
mView
.
loadVip
(
mVip
);
}
/**
* 查询可用的优惠券数量
*/
private
void
searchAvlTicket
()
{
int
avlTicketNum
=
0
;
for
(
int
i
=
0
;
i
<
mTickets
.
size
();
i
++)
{
if
(
mTickets
.
get
(
i
).
getTruleOrderAmt
()
<=
mSaleorder
.
getOrderPayAmt
())
avlTicketNum
++;
}
mView
.
loadAvlTicketNum
(
avlTicketNum
);
}
/**
* 统计订单信息
*/
private
void
reprice
()
{
mSaleorder
.
settle
();
mView
.
loadSaleorder
(
mSaleorder
);
}
}
}
app/src/main/java/com/xingdata/zzdpos/ui/settle/adapter/ReturnTicketAdapter.java
0 → 100644
View file @
245b2aae
package
com
.
xingdata
.
zzdpos
.
ui
.
settle
.
adapter
;
import
android.support.annotation.Nullable
;
import
android.view.View
;
import
com.blankj.utilcode.util.TimeUtils
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseAdapter
;
import
com.xingdata.zzdpos.databinding.ItemReturnTicketBinding
;
import
com.xingdata.zzdpos.model.Trule
;
import
com.xingdata.zzdpos.ui.marketing.ticket.ReturnTicketActivity
;
import
com.xingdata.zzdpos.ui.marketing.ticket.ReturnTicketPresenter
;
import
com.xingdata.zzdpos.ui.marketing.ticket.fragment.TickerAddFragment
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
java.text.SimpleDateFormat
;
import
java.util.List
;
public
class
ReturnTicketAdapter
extends
BaseAdapter
<
Trule
,
ItemReturnTicketBinding
>
{
ReturnTicketPresenter
mPersenter
;
ReturnTicketActivity
returnTicketActivity
;
public
ReturnTicketAdapter
(
@Nullable
List
<
Trule
>
data
,
ReturnTicketPresenter
mPersenter
,
ReturnTicketActivity
returnTicketActivity
)
{
super
(
R
.
layout
.
item_return_ticket
,
data
);
this
.
mPersenter
=
mPersenter
;
this
.
returnTicketActivity
=
returnTicketActivity
;
}
@Override
protected
void
convert
(
ItemReturnTicketBinding
mViewBinding
,
Trule
item
)
{
mViewBinding
.
tvTicketMoney
.
setText
(
mContext
.
getResources
().
getString
(
R
.
string
.
tv_money
,
ConvertUtil
.
fenToYuanNoPoint
(
item
.
getTruleValAmt
())));
mViewBinding
.
tvTicketMoneys
.
setText
(
mContext
.
getResources
().
getString
(
R
.
string
.
money
,
ConvertUtil
.
fenToYuanNoPoint
(
item
.
getTruleValAmt
())));
mViewBinding
.
tvRule
.
setText
(
mContext
.
getResources
().
getString
(
R
.
string
.
tv_rule
,
ConvertUtil
.
fenToYuanNoPoint
(
item
.
getTruleOrderAmt
())));
mViewBinding
.
tvDate
.
setText
(
mContext
.
getResources
().
getString
(
R
.
string
.
tv_date
,
TimeUtils
.
millis2String
(
item
.
getTruleExp
(),
new
SimpleDateFormat
(
"yyy-mm-dd"
))));
mViewBinding
.
clSend
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
view
)
{
// ToastUtils.showLong("发券");
}
});
mViewBinding
.
clItem
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
view
)
{
mPersenter
.
tickerAddFragment
=
new
TickerAddFragment
();
mPersenter
.
tickerAddFragment
.
setNowType
(
2
);
mPersenter
.
tickerAddFragment
.
editTicketData
(
item
);
returnTicketActivity
.
start
(
mPersenter
.
tickerAddFragment
);
}
});
}
}
app/src/main/java/com/xingdata/zzdpos/ui/settle/adapter/TicketAdapter.java
0 → 100644
View file @
245b2aae
package
com
.
xingdata
.
zzdpos
.
ui
.
settle
.
adapter
;
import
com.blankj.utilcode.util.TimeUtils
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseAdapter
;
import
com.xingdata.zzdpos.databinding.ItemSettleTicketBinding
;
import
com.xingdata.zzdpos.model.Ticket
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Locale
;
public
class
TicketAdapter
extends
BaseAdapter
<
Ticket
,
ItemSettleTicketBinding
>
{
public
TicketAdapter
()
{
super
(
R
.
layout
.
item_settle_ticket
,
new
ArrayList
<>());
}
@Override
protected
void
convert
(
ItemSettleTicketBinding
mViewBinding
,
Ticket
item
)
{
mViewBinding
.
tvTicketMoney
.
setText
(
mContext
.
getResources
().
getString
(
R
.
string
.
tv_money
,
ConvertUtil
.
fenToYuanNoPoint
(
item
.
getTicketValAmt
())));
mViewBinding
.
tvTicketMoneys
.
setText
(
mContext
.
getResources
().
getString
(
R
.
string
.
money
,
ConvertUtil
.
fenToYuanNoPoint
(
item
.
getTicketValAmt
())));
mViewBinding
.
tvRule
.
setText
(
mContext
.
getResources
().
getString
(
R
.
string
.
tv_rule
,
ConvertUtil
.
fenToYuanNoPoint
(
item
.
getTruleOrderAmt
())));
mViewBinding
.
tvDate
.
setText
(
mContext
.
getResources
().
getString
(
R
.
string
.
tv_date
,
TimeUtils
.
millis2String
(
item
.
getTicketExp
(),
new
SimpleDateFormat
(
"yyy-mm-dd"
,
Locale
.
getDefault
()))));
mViewBinding
.
ivSelected
.
setImageResource
(
item
.
isSelected
()
?
R
.
mipmap
.
but_elect01
:
R
.
mipmap
.
but_elect02
);
}
}
app/src/main/java/com/xingdata/zzdpos/ui/settle/fragment/SettleFragment.java
View file @
245b2aae
...
@@ -3,6 +3,7 @@ package com.xingdata.zzdpos.ui.settle.fragment;
...
@@ -3,6 +3,7 @@ package com.xingdata.zzdpos.ui.settle.fragment;
import
android.support.design.widget.BottomSheetBehavior
;
import
android.support.design.widget.BottomSheetBehavior
;
import
android.support.v7.widget.StaggeredGridLayoutManager
;
import
android.support.v7.widget.StaggeredGridLayoutManager
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.databinding.FragmentSettleBinding
;
import
com.xingdata.zzdpos.databinding.FragmentSettleBinding
;
...
@@ -14,11 +15,13 @@ import com.xingdata.zzdpos.ui.settle.adapter.PayAdapter;
...
@@ -14,11 +15,13 @@ import com.xingdata.zzdpos.ui.settle.adapter.PayAdapter;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
com.xingdata.zzdpos.util.RecyclerViewUtil
;
import
com.xingdata.zzdpos.util.RecyclerViewUtil
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
public
class
SettleFragment
extends
BaseFragment
<
SettlePresenter
,
FragmentSettleBinding
>
{
public
class
SettleFragment
extends
BaseFragment
<
SettlePresenter
,
FragmentSettleBinding
>
{
private
PayAdapter
mPayAdapter
;
private
PayAdapter
mPayAdapter
;
private
List
<
Pay
>
mPays
;
@Override
@Override
public
int
getLayoutId
()
{
public
int
getLayoutId
()
{
...
@@ -27,6 +30,7 @@ public class SettleFragment extends BaseFragment<SettlePresenter, FragmentSettle
...
@@ -27,6 +30,7 @@ public class SettleFragment extends BaseFragment<SettlePresenter, FragmentSettle
@Override
@Override
public
void
initView
()
{
public
void
initView
()
{
mPays
=
new
ArrayList
<>();
mViewBinding
.
setDefualtVip
(
true
);
mViewBinding
.
setDefualtVip
(
true
);
// pay adapter
// pay adapter
...
@@ -50,6 +54,14 @@ public class SettleFragment extends BaseFragment<SettlePresenter, FragmentSettle
...
@@ -50,6 +54,14 @@ public class SettleFragment extends BaseFragment<SettlePresenter, FragmentSettle
mPresenter
.
initSettle
();
mPresenter
.
initSettle
();
}
}
@Override
public
boolean
onBackPressedSupport
()
{
if
(
BottomSheetBehavior
.
from
(
mViewBinding
.
llSheet
).
getState
()
==
BottomSheetBehavior
.
STATE_EXPANDED
)
{
BottomSheetBehavior
.
from
(
mViewBinding
.
llSheet
).
setState
(
BottomSheetBehavior
.
STATE_COLLAPSED
);
return
true
;
}
return
super
.
onBackPressedSupport
();
}
/**
/**
* 设置界面
* 设置界面
...
@@ -65,9 +77,24 @@ public class SettleFragment extends BaseFragment<SettlePresenter, FragmentSettle
...
@@ -65,9 +77,24 @@ public class SettleFragment extends BaseFragment<SettlePresenter, FragmentSettle
* @param vip 会员信息
* @param vip 会员信息
*/
*/
public
void
loadVip
(
Vip
vip
)
{
public
void
loadVip
(
Vip
vip
)
{
if
(
vip
.
isDefaultVip
())
{
for
(
int
i
=
0
;
i
<
mPayAdapter
.
getData
().
size
();
i
++)
{
if
(
mPayAdapter
.
getData
().
get
(
i
).
isNeedVip
())
mPayAdapter
.
remove
(
i
);
}
}
else
{
for
(
int
i
=
0
;
i
<
mPays
.
size
();
i
++)
{
if
(
mPays
.
get
(
i
).
isNeedVip
()
&&
(
mPays
.
get
(
i
).
getPayType
()
!=
C
.
PAY_CHANNEL
.
CARD
||
vip
.
getAcctCbal
()
>
mViewBinding
.
getOrderPayAmt
()))
{
mPayAdapter
.
addData
(
mPays
.
get
(
i
));
}
}
}
mViewBinding
.
setDefualtVip
(
vip
.
isDefaultVip
());
mViewBinding
.
setDefualtVip
(
vip
.
isDefaultVip
());
mViewBinding
.
setName
(
vip
.
getVipName
());
mViewBinding
.
setName
(
vip
.
getVipName
());
mViewBinding
.
setPhone
(
ConvertUtil
.
longToString
(
vip
.
getVipMobile
()));
mViewBinding
.
setPhone
(
ConvertUtil
.
longToString
(
vip
.
getVipMobile
()));
mViewBinding
.
setBalance
(
vip
.
getAcctCbal
());
mViewBinding
.
cbPoint
.
setChecked
(
false
);
if
(
vip
.
getVipDefDiscount
()
<
100
&&
vip
.
getVipDefDiscount
()
>
0
)
{
if
(
vip
.
getVipDefDiscount
()
<
100
&&
vip
.
getVipDefDiscount
()
>
0
)
{
mViewBinding
.
setDisRate
(
String
.
valueOf
((
double
)
vip
.
getVipDefDiscount
()
/
10
));
mViewBinding
.
setDisRate
(
String
.
valueOf
((
double
)
vip
.
getVipDefDiscount
()
/
10
));
}
}
...
@@ -94,21 +121,33 @@ public class SettleFragment extends BaseFragment<SettlePresenter, FragmentSettle
...
@@ -94,21 +121,33 @@ public class SettleFragment extends BaseFragment<SettlePresenter, FragmentSettle
mViewBinding
.
setAvlTicketNum
(
avlNum
);
mViewBinding
.
setAvlTicketNum
(
avlNum
);
}
}
/**
/**
* 加载订单信息
* 加载订单信息
*
*
* @param saleorder 订单信息
* @param saleorder 订单信息
*/
*/
public
void
loadSaleorder
(
Saleorder
saleorder
)
{
public
void
loadSaleorder
(
Saleorder
saleorder
)
{
mViewBinding
.
tvPayAmt
.
setText
(
ConvertUtil
.
fenToYuan
(
saleorder
.
getOrderPayAmt
()));
mViewBinding
.
setOrderAuthAmt
(
saleorder
.
getOrderAuthAmt
());
mViewBinding
.
tvAuthAmt
.
setText
(
ConvertUtil
.
fenToYuan
(
saleorder
.
getOrderAuthAmt
()));
mViewBinding
.
setOrderPayAmt
(
saleorder
.
getOrderPayAmt
());
mViewBinding
.
setTicketAmt
(
saleorder
.
getTicketAmt
());
mViewBinding
.
setAvlPoints
(
saleorder
.
getBoundNum
());
mViewBinding
.
setPointDisAmt
(
ConvertUtil
.
fenToYuan
(
saleorder
.
getBoundAmt
()));
}
}
/**
/**
* 加载支付方式
* 加载支付方式
*/
*/
public
void
loadPays
(
List
<
Pay
>
pays
)
{
public
void
loadPays
(
List
<
Pay
>
pays
)
{
mPayAdapter
.
setNewData
(
pays
);
mPays
.
addAll
(
pays
);
List
<
Pay
>
_pays
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
pays
.
size
();
i
++)
{
pays
.
get
(
i
).
init
();
if
(!
pays
.
get
(
i
).
isNeedVip
())
_pays
.
add
(
pays
.
get
(
i
));
}
mPayAdapter
.
setNewData
(
_pays
);
}
}
...
...
app/src/main/java/com/xingdata/zzdpos/ui/settle/fragment/TicketFragment.java
View file @
245b2aae
package
com
.
xingdata
.
zzdpos
.
ui
.
settle
.
fragment
;
package
com
.
xingdata
.
zzdpos
.
ui
.
settle
.
fragment
;
public
class
TicketFragment
{
import
android.annotation.SuppressLint
;
import
android.support.v7.widget.LinearLayoutManager
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.databinding.FragmentSettleTicketBinding
;
import
com.xingdata.zzdpos.model.Ticket
;
import
com.xingdata.zzdpos.ui.settle.SettlePresenter
;
import
com.xingdata.zzdpos.ui.settle.adapter.TicketAdapter
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
TicketFragment
extends
BaseFragment
<
SettlePresenter
,
FragmentSettleTicketBinding
>
{
private
Ticket
mTicket
;
private
List
<
Ticket
>
mTicketList
;
private
TicketAdapter
mTicketAdapter
;
private
int
mPosition
=
-
1
;
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
fragment_settle_ticket
;
}
@Override
public
void
initView
()
{
mTicketList
=
new
ArrayList
<>();
mTicket
=
Ticket
.
defualt
();
mTicketAdapter
=
new
TicketAdapter
();
mViewBinding
.
rlTicket
.
setAdapter
(
mTicketAdapter
);
mViewBinding
.
rlTicket
.
setLayoutManager
(
new
LinearLayoutManager
(
mContext
));
mTicketAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
changeSelectedTicket
(
position
));
mViewBinding
.
tvConfirm
.
setOnClickListener
(
view
->
{
mPresenter
.
selectTicket
(
mTicket
);
this
.
pop
();
});
mPresenter
.
searchTicket
();
}
/**
* 加载优惠券信息
*
* @param tickets 优惠券列表
*/
public
void
loadTickets
(
List
<
Ticket
>
tickets
)
{
for
(
int
i
=
0
;
i
<
tickets
.
size
();
i
++)
{
if
(
tickets
.
get
(
i
).
isSelected
())
{
mTicket
=
tickets
.
get
(
i
);
mViewBinding
.
setSelectedNum
(
1
);
mPosition
=
i
;
break
;
}
}
mTicketAdapter
.
setNewData
(
tickets
);
}
/**
* 切换选中的优惠券
*
* @param position 被选中优惠券的position
*/
@SuppressLint
(
"SetTextI18n"
)
private
void
changeSelectedTicket
(
int
position
)
{
if
(
mPosition
!=
-
1
)
{
//取消选择
if
(
mPosition
==
position
&&
mTicketAdapter
.
getData
().
get
(
mPosition
).
isSelected
())
{
mTicketAdapter
.
getData
().
get
(
mPosition
).
setSelected
(
false
);
mTicketAdapter
.
notifyDataSetChanged
();
mTicket
=
Ticket
.
defualt
();
mViewBinding
.
setSelectedNum
(
0
);
return
;
}
if
(
mTicketAdapter
.
getData
().
size
()
>
mPosition
)
{
mTicketAdapter
.
getData
().
get
(
mPosition
).
setSelected
(
false
);
}
else
{
for
(
int
i
=
0
;
i
<
mTicketList
.
size
();
i
++)
{
mTicketList
.
get
(
i
).
setSelected
(
false
);
}
}
}
mPosition
=
position
;
mTicketAdapter
.
getData
().
get
(
position
).
setSelected
(
true
);
mTicket
=
mTicketAdapter
.
getData
().
get
(
position
);
mViewBinding
.
setSelectedNum
(
1
);
mTicketAdapter
.
notifyDataSetChanged
();
}
}
}
app/src/main/java/com/xingdata/zzdpos/ui/statistics/StatisticsActivity.java
View file @
245b2aae
...
@@ -7,6 +7,8 @@ import com.blankj.utilcode.util.FragmentUtils;
...
@@ -7,6 +7,8 @@ import com.blankj.utilcode.util.FragmentUtils;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseActivity
;
import
com.xingdata.zzdpos.base.BaseActivity
;
import
com.xingdata.zzdpos.databinding.ActivityStatisticsBinding
;
import
com.xingdata.zzdpos.databinding.ActivityStatisticsBinding
;
import
com.xingdata.zzdpos.model.Pager
;
import
com.xingdata.zzdpos.model.Saleorder
;
import
com.xingdata.zzdpos.ui.statistics.fragment.OrderMainFragment
;
import
com.xingdata.zzdpos.ui.statistics.fragment.OrderMainFragment
;
import
com.xingdata.zzdpos.ui.statistics.fragment.StatisticsFragment
;
import
com.xingdata.zzdpos.ui.statistics.fragment.StatisticsFragment
;
...
@@ -33,6 +35,7 @@ public class StatisticsActivity extends BaseActivity<StatisticsPresenter, Activi
...
@@ -33,6 +35,7 @@ public class StatisticsActivity extends BaseActivity<StatisticsPresenter, Activi
}
}
@Override
@Override
public
boolean
onKeyDown
(
int
keyCode
,
KeyEvent
event
)
{
public
boolean
onKeyDown
(
int
keyCode
,
KeyEvent
event
)
{
// if (event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
// if (event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
...
...
app/src/main/java/com/xingdata/zzdpos/ui/statistics/StatisticsContract.java
View file @
245b2aae
...
@@ -2,6 +2,9 @@ package com.xingdata.zzdpos.ui.statistics;
...
@@ -2,6 +2,9 @@ package com.xingdata.zzdpos.ui.statistics;
import
com.xingdata.zzdpos.base.BasePresenter
;
import
com.xingdata.zzdpos.base.BasePresenter
;
import
com.xingdata.zzdpos.base.BaseView
;
import
com.xingdata.zzdpos.base.BaseView
;
import
com.xingdata.zzdpos.model.Pager
;
import
com.xingdata.zzdpos.model.Saleorder
;
import
com.xingdata.zzdpos.ui.statistics.fragment.OrderListFragment
;
/**
/**
* Created by Administrator on 2017/12/23.
* Created by Administrator on 2017/12/23.
...
@@ -10,12 +13,30 @@ import com.xingdata.zzdpos.base.BaseView;
...
@@ -10,12 +13,30 @@ import com.xingdata.zzdpos.base.BaseView;
public
interface
StatisticsContract
{
public
interface
StatisticsContract
{
interface
View
extends
BaseView
{
interface
View
extends
BaseView
{
/**
* 跳转订单列表页
*/
void
showOrderListFragment
();
void
showOrderListFragment
();
}
}
abstract
class
Presenter
extends
BasePresenter
<
View
>
{
abstract
class
Presenter
extends
BasePresenter
<
View
>
{
/**
* 跳转订单列表页
*/
public
abstract
void
clickOrderList
();
public
abstract
void
clickOrderList
();
/**
* 获取订单列表
*/
public
abstract
void
getOrderList
(
int
pageNumber
,
int
pageSize
,
long
startDate
,
long
endDate
,
OrderListFragment
orderListFragment
);
/**
* 获取统计详情
*/
public
abstract
void
getSat
();
}
}
}
}
app/src/main/java/com/xingdata/zzdpos/ui/statistics/StatisticsPresenter.java
View file @
245b2aae
...
@@ -4,6 +4,9 @@ package com.xingdata.zzdpos.ui.statistics;
...
@@ -4,6 +4,9 @@ package com.xingdata.zzdpos.ui.statistics;
import
android.view.KeyEvent
;
import
android.view.KeyEvent
;
import
com.blankj.utilcode.util.FragmentUtils
;
import
com.blankj.utilcode.util.FragmentUtils
;
import
com.blankj.utilcode.util.ToastUtils
;
import
com.xingdata.zzdpos.api.ApiFactory
;
import
com.xingdata.zzdpos.ui.statistics.fragment.OrderListFragment
;
/**
/**
* Created by Administrator on 2017/12/23.
* Created by Administrator on 2017/12/23.
...
@@ -11,6 +14,8 @@ import com.blankj.utilcode.util.FragmentUtils;
...
@@ -11,6 +14,8 @@ import com.blankj.utilcode.util.FragmentUtils;
public
class
StatisticsPresenter
extends
StatisticsContract
.
Presenter
{
public
class
StatisticsPresenter
extends
StatisticsContract
.
Presenter
{
private
int
pageSize
=
20
;
@Override
@Override
public
void
onAttached
()
{
public
void
onAttached
()
{
...
@@ -23,4 +28,31 @@ public class StatisticsPresenter extends StatisticsContract.Presenter {
...
@@ -23,4 +28,31 @@ public class StatisticsPresenter extends StatisticsContract.Presenter {
}
}
@Override
public
void
getOrderList
(
int
pageNumber
,
int
pageSize
,
long
startDate
,
long
endDate
,
OrderListFragment
fragment
)
{
ApiFactory
.
Test
.
getSaleOrderList
(
pageNumber
,
pageSize
,
startDate
,
endDate
).
doFinally
(()
->
{
})
.
subscribe
(
orderlist
->
{
fragment
.
setData
(
orderlist
,
orderlist
.
isFirstPage
());
},
throwable
->
{
ToastUtils
.
showShort
(
throwable
.
getMessage
());
});
}
@Override
public
void
getSat
()
{
ApiFactory
.
Sat
.
queryNotice
().
doFinally
(()
->
{
})
.
subscribe
(
sat
->
{
},
throwable
->
{
ToastUtils
.
showShort
(
throwable
.
getMessage
());
});
}
public
void
getOrderList
(
int
pageNumber
,
long
startDate
,
long
endDate
,
OrderListFragment
fragment
)
{
getOrderList
(
pageNumber
,
pageSize
,
startDate
,
endDate
,
fragment
);
}
}
}
app/src/main/java/com/xingdata/zzdpos/ui/statistics/adapter/StatisticsAdapter.java
0 → 100644
View file @
245b2aae
package
com
.
xingdata
.
zzdpos
.
ui
.
statistics
.
adapter
;
import
android.graphics.drawable.Drawable
;
import
android.support.annotation.Nullable
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
com.blankj.utilcode.util.TimeUtils
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseAdapter
;
import
com.xingdata.zzdpos.databinding.ItemStatisticsBinding
;
import
com.xingdata.zzdpos.model.Saleorder
;
import
java.util.List
;
public
class
StatisticsAdapter
extends
BaseAdapter
<
Saleorder
,
ItemStatisticsBinding
>
{
public
StatisticsAdapter
(
@Nullable
List
<
Saleorder
>
data
)
{
super
(
R
.
layout
.
item_statistics
,
data
);
}
@Override
protected
void
convert
(
ItemStatisticsBinding
mViewBinding
,
Saleorder
item
)
{
mViewBinding
.
tvLeftTop
.
setText
(
item
.
getOrderNo
());
mViewBinding
.
tvLeftBottom
.
setText
(
TimeUtils
.
millis2String
(
item
.
getCreateTime
()));
}
@Override
protected
View
getItemView
(
int
layoutResId
,
ViewGroup
parent
)
{
return
super
.
getItemView
(
layoutResId
,
parent
);
}
}
app/src/main/java/com/xingdata/zzdpos/ui/statistics/fragment/OrderListFragment.java
View file @
245b2aae
package
com
.
xingdata
.
zzdpos
.
ui
.
statistics
.
fragment
;
package
com
.
xingdata
.
zzdpos
.
ui
.
statistics
.
fragment
;
import
com.blankj.utilcode.util.TimeUtils
;
import
android.annotation.SuppressLint
;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.widget.TextView
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.databinding.FragmentOrderListBinding
;
import
com.xingdata.zzdpos.databinding.FragmentOrderListBinding
;
import
com.xingdata.zzdpos.databinding.FragmentOrderMainBinding
;
import
com.xingdata.zzdpos.model.Pager
;
import
com.xingdata.zzdpos.ui.main.MainPresenter
;
import
com.xingdata.zzdpos.model.Saleorder
;
import
com.xingdata.zzdpos.ui.main.adapter.MenuRecyclerAdapter
;
import
com.xingdata.zzdpos.ui.statistics.StatisticsPresenter
;
import
com.xingdata.zzdpos.ui.statistics.adapter.StatisticsAdapter
;
import
com.xingdata.zzdpos.util.OnClickListener
;
import
java.util.ArrayList
;
import
java.util.Calendar
;
import
java.util.Calendar
;
import
java.util.List
;
import
java.util.List
;
public
class
OrderListFragment
extends
BaseFragment
<
Main
Presenter
,
FragmentOrderListBinding
>
{
public
class
OrderListFragment
extends
BaseFragment
<
Statistics
Presenter
,
FragmentOrderListBinding
>
{
private
MenuRecyclerAdapter
mMenuRecycler
Adapter
;
private
StatisticsAdapter
mStatistics
Adapter
;
private
List
<
Integer
>
integers
;
private
List
<
Saleorder
>
saleorders
=
new
ArrayList
<>()
;
private
Long
monthDateStart
;
private
Long
monthDateStart
;
private
Long
monthDateEnd
;
private
Long
monthDateEnd
;
private
int
pagerNum
=
1
;
public
OrderListFragment
setDate
(
Long
end
,
Long
start
)
{
public
OrderListFragment
setDate
(
Long
end
,
Long
start
)
{
monthDateStart
=
start
;
monthDateStart
=
start
;
...
@@ -43,52 +56,65 @@ public class OrderListFragment extends BaseFragment<MainPresenter, FragmentOrder
...
@@ -43,52 +56,65 @@ public class OrderListFragment extends BaseFragment<MainPresenter, FragmentOrder
}
else
{
}
else
{
mViewBinding
.
setMonth
(
monthStart
+
"月"
);
mViewBinding
.
setMonth
(
monthStart
+
"月"
);
}
}
mViewBinding
.
setAmt
(
"收入:¥230.00"
);
mViewBinding
.
llTitle
.
setOnClickListener
(
new
OnClickListener
()
{
@Override
protected
void
myOnClickListener
(
View
v
)
{
pop
();
}
});
mViewBinding
.
tvEmpty
.
setText
(
R
.
string
.
statistics_search_empty
);
if
(
mStatisticsAdapter
==
null
)
{
mStatisticsAdapter
=
new
StatisticsAdapter
(
saleorders
);
mViewBinding
.
statisticsRecycler
.
setLayoutManager
(
new
LinearLayoutManager
(
getActivity
()));
mViewBinding
.
statisticsRecycler
.
setAdapter
(
mStatisticsAdapter
);
mViewBinding
.
setAmt
(
"收入:¥230.00"
);
}
else
{
// mViewBinding.icTitle.setOnClickListener(new OnClickListener() {
mViewBinding
.
statisticsRecycler
.
setLayoutManager
(
new
LinearLayoutManager
(
getActivity
()));
// @Override
mViewBinding
.
statisticsRecycler
.
setAdapter
(
mStatisticsAdapter
);
// protected void myOnClickListener(View v) {
}
// getActivity().finish();
// }
// });
// mViewBinding.icTitle.tvTitle.setText(R.string.menu_statistics);
// mViewBinding.fragmentCasherRecycler.setLayoutManager(new GridLayoutManager(getActivity(), 2));
// integers = new ArrayList<>();
// integers.add(101);
// integers.add(102);
// mMenuRecyclerAdapter = new MenuRecyclerAdapter(getActivity(), integers);
// mMenuRecyclerAdapter.bindToRecyclerView(mViewBinding.fragmentCasherRecycler);
// mViewBinding.fragmentCasherRecycler.addItemDecoration(new MyMenuItemDecoration(getActivity(), 5, getResources().getColor(R.color.golden_yuji)));
// mMenuRecyclerAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
// @Override
// public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
// switch ((int) adapter.getData().get(position)) {
// case C.MENU.MENU_VIP://会员
//
// break;
// case C.MENU.MENU_RECHARGE://充值
//
// break;
// case C.MENU.MENU_MS://营销
//
// break;
// case C.MENU.MENU_TICKET://优惠券
//
// break;
// case C.MENU.MENU_STATISTICS://统计
//
// break;
// case C.MENU.MENU_MANAGER://管理
//
// break;
//
// }
// }
// });
mViewBinding
.
srlProduct
.
setOnRefreshListener
(
this
::
onRefresh
);
mStatisticsAdapter
.
setOnLoadMoreListener
(
this
::
onLoadMore
,
mViewBinding
.
statisticsRecycler
);
mPresenter
.
getOrderList
(
pagerNum
,
monthDateStart
,
monthDateEnd
,
this
);
}
private
void
onRefresh
()
{
pagerNum
=
1
;
mPresenter
.
getOrderList
(
pagerNum
,
monthDateStart
,
monthDateEnd
,
this
);
}
private
void
onLoadMore
()
{
pagerNum
++;
mPresenter
.
getOrderList
(
pagerNum
,
monthDateStart
,
monthDateEnd
,
this
);
}
}
/**
* 设置数据
*
* @param pager 数据
* @param isRefresh 是否刷新
*/
public
void
setData
(
Pager
<
Saleorder
>
pager
,
boolean
isRefresh
)
{
if
(
isRefresh
)
{
mStatisticsAdapter
.
setEnableLoadMore
(
true
);
mViewBinding
.
srlProduct
.
setRefreshing
(
false
);
}
if
(
isRefresh
)
mStatisticsAdapter
.
setNewData
(
pager
.
getList
());
else
if
(
pager
.
getList
().
size
()
>
0
)
mStatisticsAdapter
.
addData
(
pager
.
getList
());
if
(
pager
.
isLastPage
())
mStatisticsAdapter
.
loadMoreEnd
(
isRefresh
);
else
mStatisticsAdapter
.
loadMoreComplete
();
if
(
mStatisticsAdapter
.
getData
().
size
()
==
0
)
{
mViewBinding
.
llEmpty
.
setVisibility
(
View
.
VISIBLE
);
mViewBinding
.
statisticsRecycler
.
setVisibility
(
View
.
GONE
);
}
else
{
mViewBinding
.
llEmpty
.
setVisibility
(
View
.
GONE
);
mViewBinding
.
statisticsRecycler
.
setVisibility
(
View
.
VISIBLE
);
}
}
}
}
app/src/main/java/com/xingdata/zzdpos/ui/statistics/fragment/OrderMainFragment.java
View file @
245b2aae
...
@@ -3,6 +3,7 @@ package com.xingdata.zzdpos.ui.statistics.fragment;
...
@@ -3,6 +3,7 @@ package com.xingdata.zzdpos.ui.statistics.fragment;
import
android.support.design.widget.TabLayout
;
import
android.support.design.widget.TabLayout
;
import
android.support.v4.app.Fragment
;
import
android.support.v4.app.Fragment
;
import
android.view.View
;
import
com.blankj.utilcode.util.TimeUtils
;
import
com.blankj.utilcode.util.TimeUtils
;
import
com.blankj.utilcode.util.ToastUtils
;
import
com.blankj.utilcode.util.ToastUtils
;
...
@@ -15,6 +16,7 @@ import com.xingdata.zzdpos.ui.main.MainPresenter;
...
@@ -15,6 +16,7 @@ import com.xingdata.zzdpos.ui.main.MainPresenter;
import
com.xingdata.zzdpos.ui.main.adapter.FragmentViewAdapter
;
import
com.xingdata.zzdpos.ui.main.adapter.FragmentViewAdapter
;
import
com.xingdata.zzdpos.ui.main.fragment.ServiceFragment
;
import
com.xingdata.zzdpos.ui.main.fragment.ServiceFragment
;
import
com.xingdata.zzdpos.ui.statistics.adapter.FragmentStateAdapter
;
import
com.xingdata.zzdpos.ui.statistics.adapter.FragmentStateAdapter
;
import
com.xingdata.zzdpos.util.OnClickListener
;
import
com.xingdata.zzdpos.util.StringUtil
;
import
com.xingdata.zzdpos.util.StringUtil
;
...
@@ -22,6 +24,7 @@ import java.text.SimpleDateFormat;
...
@@ -22,6 +24,7 @@ import java.text.SimpleDateFormat;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Calendar
;
import
java.util.Calendar
;
import
java.util.List
;
import
java.util.List
;
import
java.util.logging.Handler
;
import
io.reactivex.Observable
;
import
io.reactivex.Observable
;
import
io.reactivex.ObservableEmitter
;
import
io.reactivex.ObservableEmitter
;
...
@@ -49,48 +52,16 @@ public class OrderMainFragment extends BaseFragment<MainPresenter, FragmentOrder
...
@@ -49,48 +52,16 @@ public class OrderMainFragment extends BaseFragment<MainPresenter, FragmentOrder
@Override
@Override
public
void
initView
()
{
public
void
initView
()
{
Calendar
calendar
=
Calendar
.
getInstance
();
//获得当前时间的月份,月份从0开始所以结果要加1
month
=
calendar
.
get
(
Calendar
.
MONTH
)
+
1
;
mViewBinding
.
icTitle
.
setOnClickListener
(
new
OnClickListener
()
{
@Override
protected
void
myOnClickListener
(
View
v
)
{
pop
();
}
});
initViewPager
();
initViewPager
();
// mViewBinding.icTitle.setOnClickListener(new OnClickListener() {
// @Override
// protected void myOnClickListener(View v) {
// getActivity().finish();
// }
// });
// mViewBinding.icTitle.tvTitle.setText(R.string.menu_statistics);
// mViewBinding.fragmentCasherRecycler.setLayoutManager(new GridLayoutManager(getActivity(), 2));
// integers = new ArrayList<>();
// integers.add(101);
// integers.add(102);
// mMenuRecyclerAdapter = new MenuRecyclerAdapter(getActivity(), integers);
// mMenuRecyclerAdapter.bindToRecyclerView(mViewBinding.fragmentCasherRecycler);
// mViewBinding.fragmentCasherRecycler.addItemDecoration(new MyMenuItemDecoration(getActivity(), 5, getResources().getColor(R.color.golden_yuji)));
// mMenuRecyclerAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
// @Override
// public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
// switch ((int) adapter.getData().get(position)) {
// case C.MENU.MENU_VIP://会员
//
// break;
// case C.MENU.MENU_RECHARGE://充值
//
// break;
// case C.MENU.MENU_MS://营销
//
// break;
// case C.MENU.MENU_TICKET://优惠券
//
// break;
// case C.MENU.MENU_STATISTICS://统计
//
// break;
// case C.MENU.MENU_MANAGER://管理
//
// break;
//
// }
// }
// });
}
}
...
@@ -103,9 +74,8 @@ public class OrderMainFragment extends BaseFragment<MainPresenter, FragmentOrder
...
@@ -103,9 +74,8 @@ public class OrderMainFragment extends BaseFragment<MainPresenter, FragmentOrder
String
date
=
TimeUtils
.
millis2String
(
System
.
currentTimeMillis
(),
new
SimpleDateFormat
(
StringUtil
.
defaultDatePattern
));
String
date
=
TimeUtils
.
millis2String
(
System
.
currentTimeMillis
(),
new
SimpleDateFormat
(
StringUtil
.
defaultDatePattern
));
String
[]
dates
=
date
.
split
(
"-"
);
String
[]
dates
=
date
.
split
(
"-"
);
int
y
=
Integer
.
valueOf
(
dates
[
0
]);
int
y
=
Integer
.
valueOf
(
dates
[
0
]);
month
=
Integer
.
valueOf
(
dates
[
1
]);
int
m
=
month
+
1
;
int
m
=
month
+
1
;
for
(
int
i
=
0
;
i
<
13
;
i
++)
{
for
(
int
i
=
0
;
i
<
5
;
i
++)
{
if
(
m
==
0
)
{
if
(
m
==
0
)
{
m
=
12
;
m
=
12
;
y
--;
y
--;
...
@@ -149,10 +119,8 @@ public class OrderMainFragment extends BaseFragment<MainPresenter, FragmentOrder
...
@@ -149,10 +119,8 @@ public class OrderMainFragment extends BaseFragment<MainPresenter, FragmentOrder
mFragmentStateAdapter
=
new
FragmentStateAdapter
(
fragments
,
getChildFragmentManager
());
mFragmentStateAdapter
=
new
FragmentStateAdapter
(
fragments
,
getChildFragmentManager
());
mViewBinding
.
viewPagerData
.
setAdapter
(
mFragmentStateAdapter
);
mViewBinding
.
viewPagerData
.
setAdapter
(
mFragmentStateAdapter
);
mViewBinding
.
viewPagerData
.
setCurrentItem
(
0
);
mViewBinding
.
tabLayout
.
setupWithViewPager
(
mViewBinding
.
viewPagerData
);
mViewBinding
.
tabLayout
.
setupWithViewPager
(
mViewBinding
.
viewPagerData
);
for
(
int
i
=
0
;
i
<
fragments
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
fragments
.
size
();
i
++)
{
if
(
month
==
0
)
month
=
12
;
if
(
month
==
0
)
month
=
12
;
mViewBinding
.
tabLayout
.
getTabAt
(
i
).
setText
(
month
+
""
);
mViewBinding
.
tabLayout
.
getTabAt
(
i
).
setText
(
month
+
""
);
...
@@ -166,17 +134,19 @@ public class OrderMainFragment extends BaseFragment<MainPresenter, FragmentOrder
...
@@ -166,17 +134,19 @@ public class OrderMainFragment extends BaseFragment<MainPresenter, FragmentOrder
mFragmentStateAdapter
=
new
FragmentStateAdapter
(
fragments
,
getChildFragmentManager
());
mFragmentStateAdapter
=
new
FragmentStateAdapter
(
fragments
,
getChildFragmentManager
());
mViewBinding
.
viewPagerData
.
setAdapter
(
mFragmentStateAdapter
);
mViewBinding
.
viewPagerData
.
setAdapter
(
mFragmentStateAdapter
);
mViewBinding
.
tabLayout
.
setupWithViewPager
(
mViewBinding
.
viewPagerData
);
mViewBinding
.
tabLayout
.
setupWithViewPager
(
mViewBinding
.
viewPagerData
);
new
android
.
os
.
Handler
().
postDelayed
(
new
Runnable
()
{
@Override
public
void
run
()
{
mViewBinding
.
viewPagerData
.
setCurrentItem
(
0
,
false
);
}
},
1
);
for
(
int
i
=
0
;
i
<
fragments
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
fragments
.
size
();
i
++)
{
if
(
month
==
0
)
month
=
12
;
if
(
month
==
0
)
month
=
12
;
mViewBinding
.
tabLayout
.
getTabAt
(
i
).
setText
(
month
+
""
);
mViewBinding
.
tabLayout
.
getTabAt
(
i
).
setText
(
month
+
""
);
month
--;
month
--;
}
}
mViewBinding
.
viewPagerData
.
setCurrentItem
(
0
);
}
}
}
}
@Override
public
void
onStop
()
{
super
.
onStop
();
}
}
}
app/src/main/java/com/xingdata/zzdpos/ui/statistics/fragment/StatisticsFragment.java
View file @
245b2aae
...
@@ -32,6 +32,7 @@ public class StatisticsFragment extends BaseFragment<StatisticsPresenter, Fragme
...
@@ -32,6 +32,7 @@ public class StatisticsFragment extends BaseFragment<StatisticsPresenter, Fragme
@Override
@Override
public
void
initView
()
{
public
void
initView
()
{
mPresenter
.
getSat
();
mViewBinding
.
icTitle
.
setOnClickListener
(
new
OnClickListener
()
{
mViewBinding
.
icTitle
.
setOnClickListener
(
new
OnClickListener
()
{
@Override
@Override
protected
void
myOnClickListener
(
View
v
)
{
protected
void
myOnClickListener
(
View
v
)
{
...
@@ -41,8 +42,9 @@ public class StatisticsFragment extends BaseFragment<StatisticsPresenter, Fragme
...
@@ -41,8 +42,9 @@ public class StatisticsFragment extends BaseFragment<StatisticsPresenter, Fragme
mViewBinding
.
icTitle
.
tvTitle
.
setText
(
R
.
string
.
menu_statistics
);
mViewBinding
.
icTitle
.
tvTitle
.
setText
(
R
.
string
.
menu_statistics
);
mViewBinding
.
fragmentCasherRecycler
.
setLayoutManager
(
new
GridLayoutManager
(
getActivity
(),
2
));
mViewBinding
.
fragmentCasherRecycler
.
setLayoutManager
(
new
GridLayoutManager
(
getActivity
(),
2
));
integers
=
new
ArrayList
<>();
integers
=
new
ArrayList
<>();
integers
.
add
(
101
);
integers
.
add
(
C
.
MENU
.
MENU_STATISTICS_ORDER
);
integers
.
add
(
102
);
integers
.
add
(
C
.
MENU
.
MENU_STATISTICS_MS
);
mMenuRecyclerAdapter
=
new
MenuRecyclerAdapter
(
getActivity
(),
integers
);
mMenuRecyclerAdapter
=
new
MenuRecyclerAdapter
(
getActivity
(),
integers
);
mMenuRecyclerAdapter
.
bindToRecyclerView
(
mViewBinding
.
fragmentCasherRecycler
);
mMenuRecyclerAdapter
.
bindToRecyclerView
(
mViewBinding
.
fragmentCasherRecycler
);
mViewBinding
.
fragmentCasherRecycler
.
addItemDecoration
(
new
MyMenuItemDecoration
(
getActivity
(),
5
,
getResources
().
getColor
(
R
.
color
.
golden_yuji
)));
mViewBinding
.
fragmentCasherRecycler
.
addItemDecoration
(
new
MyMenuItemDecoration
(
getActivity
(),
5
,
getResources
().
getColor
(
R
.
color
.
golden_yuji
)));
...
@@ -50,22 +52,10 @@ public class StatisticsFragment extends BaseFragment<StatisticsPresenter, Fragme
...
@@ -50,22 +52,10 @@ public class StatisticsFragment extends BaseFragment<StatisticsPresenter, Fragme
@Override
@Override
public
void
onItemClick
(
BaseQuickAdapter
adapter
,
View
view
,
int
position
)
{
public
void
onItemClick
(
BaseQuickAdapter
adapter
,
View
view
,
int
position
)
{
switch
((
int
)
adapter
.
getData
().
get
(
position
))
{
switch
((
int
)
adapter
.
getData
().
get
(
position
))
{
case
C
.
MENU
.
MENU_
VIP
:
//会员
case
C
.
MENU
.
MENU_
STATISTICS_ORDER
:
//订单
mPresenter
.
clickOrderList
();
mPresenter
.
clickOrderList
();
break
;
break
;
case
C
.
MENU
.
MENU_RECHARGE
:
//充值
case
C
.
MENU
.
MENU_STATISTICS_MS
:
//营销
break
;
case
C
.
MENU
.
MENU_MS
:
//营销
break
;
case
C
.
MENU
.
MENU_TICKET
:
//优惠券
break
;
case
C
.
MENU
.
MENU_STATISTICS
:
//统计
break
;
case
C
.
MENU
.
MENU_MANAGER
:
//管理
break
;
break
;
...
...
app/src/main/res/drawable/black_border.xml
→
app/src/main/res/drawable/black_border
_thr
.xml
View file @
245b2aae
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
<stroke
<stroke
android:width=
"
0.5
dp"
android:width=
"
1
dp"
android:color=
"@color/black"
/>
android:color=
"@color/black"
/>
<solid
android:color=
"@color/all_transparent"
/>
<solid
android:color=
"@color/all_transparent"
/>
...
...
app/src/main/res/drawable/red_border_thr.xml
0 → 100644
View file @
245b2aae
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<corners
android:radius=
"@dimen/all_shape_radius"
/>
<stroke
android:width=
"1dp"
android:color=
"@color/red_guanyu"
/>
<solid
android:color=
"@color/all_transparent"
/>
</shape>
\ No newline at end of file
app/src/main/res/layout/dialog_base.xml
View file @
245b2aae
...
@@ -30,23 +30,20 @@
...
@@ -30,23 +30,20 @@
android:layout_marginTop=
"@dimen/all_padding"
android:layout_marginTop=
"@dimen/all_padding"
android:orientation=
"horizontal"
android:orientation=
"horizontal"
android:weightSum=
"2"
android:weightSum=
"2"
android:padding=
"@dimen/dp_4"
android:background=
"@color/white_caocao"
android:background=
"@color/white_caocao"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"
match_par
ent"
>
android:layout_height=
"
wrap_cont
ent"
>
<Button
<Button
android:layout_margin=
"
1dp
"
android:layout_margin=
"
@dimen/all_padding
"
android:id=
"@+id/btn_cancel"
android:id=
"@+id/btn_cancel"
style=
"@style/button_passive"
style=
"@style/button_passive"
android:layout_width=
"0dp"
android:layout_width=
"0dp"
android:layout_weight=
"1"
android:layout_weight=
"1"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginBottom=
"@dimen/all_margin"
android:layout_marginTop=
"@dimen/all_margin"
android:stateListAnimator=
"@null"
android:stateListAnimator=
"@null"
android:text=
"@string/all_cancel"
android:text=
"@string/all_cancel"
android:textSize=
"@dimen/
dialog_button
_text_size"
android:textSize=
"@dimen/
all
_text_size"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintRight_toLeftOf=
"@id/btn_confirm"
app:layout_constraintRight_toLeftOf=
"@id/btn_confirm"
...
@@ -54,17 +51,15 @@
...
@@ -54,17 +51,15 @@
tools:targetApi=
"lollipop"
/>
tools:targetApi=
"lollipop"
/>
<Button
<Button
android:layout_margin=
"
1dp
"
android:layout_margin=
"
@dimen/all_padding
"
android:id=
"@+id/btn_confirm"
android:id=
"@+id/btn_confirm"
style=
"@style/button_positive"
style=
"@style/button_positive"
android:layout_width=
"0dp"
android:layout_width=
"0dp"
android:layout_weight=
"1"
android:layout_weight=
"1"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginBottom=
"@dimen/all_margin"
android:layout_marginTop=
"@dimen/all_margin"
android:stateListAnimator=
"@null"
android:stateListAnimator=
"@null"
android:text=
"@string/all_confirm"
android:text=
"@string/all_confirm"
android:textSize=
"@dimen/
dialog_button
_text_size"
android:textSize=
"@dimen/
all
_text_size"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintLeft_toRightOf=
"@id/btn_cancel"
app:layout_constraintLeft_toRightOf=
"@id/btn_cancel"
app:layout_constraintRight_toRightOf=
"parent"
app:layout_constraintRight_toRightOf=
"parent"
...
...
app/src/main/res/layout/dialog_handover.xml
View file @
245b2aae
...
@@ -39,7 +39,6 @@
...
@@ -39,7 +39,6 @@
</data>
</data>
<android.support.constraint.ConstraintLayout
<android.support.constraint.ConstraintLayout
android:id=
"@+id/cl_default"
android:id=
"@+id/cl_default"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
...
@@ -56,7 +55,7 @@
...
@@ -56,7 +55,7 @@
android:singleLine=
"true"
android:singleLine=
"true"
android:text=
"¥9999"
android:text=
"¥9999"
android:textColor=
"@color/red900"
android:textColor=
"@color/red900"
android:textSize=
"@dimen/big_text_size
"
android:textSize=
"@dimen/all_text_size_big
"
android:textStyle=
"bold"
android:textStyle=
"bold"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
...
@@ -64,14 +63,13 @@
...
@@ -64,14 +63,13 @@
<TextView
<TextView
android:id=
"@+id/handover_tv_sumamt_hint"
android:id=
"@+id/handover_tv_sumamt_hint"
android:paddingTop=
"@dimen/all_margin"
android:paddingBottom=
"@dimen/all_padding"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:gravity=
"center"
android:gravity=
"center"
android:paddingBottom=
"@dimen/all_padding"
android:paddingTop=
"@dimen/all_margin"
android:text=
"实收金额"
android:text=
"实收金额"
android:textColor=
"@color/black_baozheng"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/small_text_size"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
app:layout_constraintTop_toTopOf=
"parent"
/>
...
@@ -90,10 +88,10 @@
...
@@ -90,10 +88,10 @@
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:orientation=
"horizontal"
android:orientation=
"horizontal"
android:paddingTop=
"@dimen/dp_4"
android:paddingStart=
"@dimen/dp_4"
android:paddingEnd=
"@dimen/dp_4"
android:paddingBottom=
"@dimen/all_padding"
android:paddingBottom=
"@dimen/all_padding"
android:paddingEnd=
"@dimen/dp_4"
android:paddingStart=
"@dimen/dp_4"
android:paddingTop=
"@dimen/dp_4"
android:weightSum=
"2"
android:weightSum=
"2"
app:layout_constraintTop_toBottomOf=
"@id/view1"
>
app:layout_constraintTop_toBottomOf=
"@id/view1"
>
...
@@ -109,56 +107,64 @@
...
@@ -109,56 +107,64 @@
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:singleLine=
"true"
android:singleLine=
"true"
android:text=
"@string/handover_date"
/>
android:text=
"@string/handover_date"
android:textSize=
"@dimen/small_text_size"
/>
<TextView
<TextView
style=
"@style/textView_body_small"
style=
"@style/textView_body_small"
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:singleLine=
"true"
android:singleLine=
"true"
android:text=
"@string/handover_oper"
/>
android:text=
"@string/handover_oper"
android:textSize=
"@dimen/small_text_size"
/>
<TextView
<TextView
style=
"@style/textView_body_small"
style=
"@style/textView_body_small"
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:singleLine=
"true"
android:singleLine=
"true"
android:text=
"@string/handover_orderNum"
/>
android:text=
"@string/handover_orderNum"
android:textSize=
"@dimen/small_text_size"
/>
<TextView
<TextView
style=
"@style/textView_body_small"
style=
"@style/textView_body_small"
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:singleLine=
"true"
android:singleLine=
"true"
android:text=
"@string/handover_cash"
/>
android:text=
"@string/handover_cash"
android:textSize=
"@dimen/small_text_size"
/>
<TextView
<TextView
style=
"@style/textView_body_small"
style=
"@style/textView_body_small"
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:singleLine=
"true"
android:singleLine=
"true"
android:text=
"@string/handover_wechat"
/>
android:text=
"@string/handover_wechat"
android:textSize=
"@dimen/small_text_size"
/>
<TextView
<TextView
style=
"@style/textView_body_small"
style=
"@style/textView_body_small"
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:singleLine=
"true"
android:singleLine=
"true"
android:text=
"@string/handover_alipay"
/>
android:text=
"@string/handover_alipay"
android:textSize=
"@dimen/small_text_size"
/>
<TextView
<TextView
style=
"@style/textView_body_small"
style=
"@style/textView_body_small"
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:singleLine=
"true"
android:singleLine=
"true"
android:text=
"@string/handover_bank"
/>
android:text=
"@string/handover_bank"
android:textSize=
"@dimen/small_text_size"
/>
<TextView
<TextView
style=
"@style/textView_body_small"
style=
"@style/textView_body_small"
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:singleLine=
"true"
android:singleLine=
"true"
android:text=
"@string/handover_vip"
/>
android:text=
"@string/handover_vip"
android:textSize=
"@dimen/small_text_size"
/>
</LinearLayout>
</LinearLayout>
<LinearLayout
<LinearLayout
...
@@ -175,7 +181,8 @@
...
@@ -175,7 +181,8 @@
android:gravity=
"right"
android:gravity=
"right"
android:singleLine=
"true"
android:singleLine=
"true"
android:text=
"@{date}"
android:text=
"@{date}"
android:textColor=
"@color/black_likui"
/>
android:textColor=
"@color/black_likui"
android:textSize=
"@dimen/small_text_size"
/>
<TextView
<TextView
style=
"@style/textView_body_small"
style=
"@style/textView_body_small"
...
@@ -184,7 +191,8 @@
...
@@ -184,7 +191,8 @@
android:gravity=
"right"
android:gravity=
"right"
android:singleLine=
"true"
android:singleLine=
"true"
android:text=
"@{operName}"
android:text=
"@{operName}"
android:textColor=
"@color/black_likui"
/>
android:textColor=
"@color/black_likui"
android:textSize=
"@dimen/small_text_size"
/>
<TextView
<TextView
style=
"@style/textView_body_small"
style=
"@style/textView_body_small"
...
@@ -193,7 +201,8 @@
...
@@ -193,7 +201,8 @@
android:gravity=
"right"
android:gravity=
"right"
android:singleLine=
"true"
android:singleLine=
"true"
android:text=
"@{orderNum}"
android:text=
"@{orderNum}"
android:textColor=
"@color/black_likui"
/>
android:textColor=
"@color/black_likui"
android:textSize=
"@dimen/small_text_size"
/>
<TextView
<TextView
style=
"@style/textView_body_small"
style=
"@style/textView_body_small"
...
@@ -202,7 +211,8 @@
...
@@ -202,7 +211,8 @@
android:gravity=
"right"
android:gravity=
"right"
android:singleLine=
"true"
android:singleLine=
"true"
android:text=
"@{cash}"
android:text=
"@{cash}"
android:textColor=
"@color/black_likui"
/>
android:textColor=
"@color/black_likui"
android:textSize=
"@dimen/small_text_size"
/>
<TextView
<TextView
style=
"@style/textView_body_small"
style=
"@style/textView_body_small"
...
@@ -211,7 +221,8 @@
...
@@ -211,7 +221,8 @@
android:gravity=
"right"
android:gravity=
"right"
android:singleLine=
"true"
android:singleLine=
"true"
android:text=
"@{wechat}"
android:text=
"@{wechat}"
android:textColor=
"@color/black_likui"
/>
android:textColor=
"@color/black_likui"
android:textSize=
"@dimen/small_text_size"
/>
<TextView
<TextView
style=
"@style/textView_body_small"
style=
"@style/textView_body_small"
...
@@ -220,7 +231,8 @@
...
@@ -220,7 +231,8 @@
android:gravity=
"right"
android:gravity=
"right"
android:singleLine=
"true"
android:singleLine=
"true"
android:text=
"@{alipay}"
android:text=
"@{alipay}"
android:textColor=
"@color/black_likui"
/>
android:textColor=
"@color/black_likui"
android:textSize=
"@dimen/small_text_size"
/>
<TextView
<TextView
style=
"@style/textView_body_small"
style=
"@style/textView_body_small"
...
@@ -229,7 +241,8 @@
...
@@ -229,7 +241,8 @@
android:gravity=
"right"
android:gravity=
"right"
android:singleLine=
"true"
android:singleLine=
"true"
android:text=
"@{bank}"
android:text=
"@{bank}"
android:textColor=
"@color/black_likui"
/>
android:textColor=
"@color/black_likui"
android:textSize=
"@dimen/small_text_size"
/>
<TextView
<TextView
style=
"@style/textView_body_small"
style=
"@style/textView_body_small"
...
@@ -238,7 +251,8 @@
...
@@ -238,7 +251,8 @@
android:gravity=
"right"
android:gravity=
"right"
android:singleLine=
"true"
android:singleLine=
"true"
android:text=
"@{vipPay}"
android:text=
"@{vipPay}"
android:textColor=
"@color/black_likui"
/>
android:textColor=
"@color/black_likui"
android:textSize=
"@dimen/small_text_size"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
...
...
app/src/main/res/layout/fragment_order_list.xml
View file @
245b2aae
...
@@ -2,6 +2,8 @@
...
@@ -2,6 +2,8 @@
<data>
<data>
<import
type=
"android.view.View"
/>
<variable
<variable
name=
"month"
name=
"month"
type=
"String"
/>
type=
"String"
/>
...
@@ -9,6 +11,8 @@
...
@@ -9,6 +11,8 @@
<variable
<variable
name=
"amt"
name=
"amt"
type=
"String"
/>
type=
"String"
/>
</data>
</data>
<android.support.constraint.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<android.support.constraint.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
...
@@ -51,19 +55,56 @@
...
@@ -51,19 +55,56 @@
android:layout_weight=
"1"
android:layout_weight=
"1"
android:gravity=
"right"
android:gravity=
"right"
android:padding=
"@dimen/all_padding"
android:padding=
"@dimen/all_padding"
android:text=
"@{amt}"
/>
android:text=
"@{amt}"
android:visibility=
"invisible"
/>
</LinearLayout>
</LinearLayout>
<android.support.v7.widget.RecyclerView
<android.support.v4.widget.SwipeRefreshLayout
android:id=
"@+id/srl_product"
android:layout_width=
"0dp"
android:layout_width=
"0dp"
android:layout_height=
"0dp"
android:layout_height=
"0dp"
android:background=
"@color/white_caocao"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/ll_title"
>
app:layout_constraintTop_toBottomOf=
"@id/ll_title"
>
<android.support.v7.widget.RecyclerView
android:id=
"@+id/statistics_recycler"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:visibility=
"gone"
>
</android.support.v7.widget.RecyclerView>
</android.support.v7.widget.RecyclerView>
</android.support.v4.widget.SwipeRefreshLayout>
<LinearLayout
android:id=
"@+id/ll_empty"
android:layout_width=
"0dp"
android:layout_height=
"0dp"
android:background=
"@color/white_caocao"
android:gravity=
"center"
android:orientation=
"vertical"
android:visibility=
"gone"
app:layout_constraintEnd_toEndOf=
"@id/srl_product"
app:layout_constraintStart_toStartOf=
"@id/srl_product"
app:layout_constraintTop_toTopOf=
"@id/srl_product"
app:layout_constraintBottom_toBottomOf=
"@id/srl_product"
>
<TextView
android:id=
"@+id/tv_empty"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:drawablePadding=
"@dimen/all_margin"
android:drawableTop=
"@mipmap/nong"
android:gravity=
"center"
android:lineSpacingExtra=
"@dimen/all_padding"
android:textColor=
"@color/gray_huanggai"
android:textSize=
"@dimen/all_text_size"
/>
</LinearLayout>
</android.support.constraint.ConstraintLayout>
</android.support.constraint.ConstraintLayout>
</layout>
</layout>
\ No newline at end of file
app/src/main/res/layout/fragment_send_ticker.xml
0 → 100644
View file @
245b2aae
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
<data>
<import
type=
"android.view.View"
/>
<variable
name=
"empty"
type=
"boolean"
/>
<variable
name=
"OnClickListener"
type=
"com.xingdata.zzdpos.util.OnClickListener"
/>
<variable
name=
"titleMode"
type=
"int"
/>
<variable
name=
"name"
type=
"String"
/>
<variable
name=
"phone"
type=
"String"
/>
<variable
name=
"disRate"
type=
"String"
/>
</data>
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/gray_zhouyu"
>
<LinearLayout
android:id=
"@+id/ll_top"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
<include
android:id=
"@+id/ic_title"
layout=
"@layout/title"
/>
<LinearLayout
android:id=
"@+id/ll_vip_single"
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
android:layout_weight=
"1.2"
android:onClick=
"@{OnClickListener}"
android:orientation=
"vertical"
>
<View
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/all_line_width"
android:layout_gravity=
"bottom"
android:background=
"@color/gray_huanggai"
/>
<android.support.constraint.ConstraintLayout
android:id=
"@+id/cl_vip"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_marginTop=
"@dimen/all_padding"
android:background=
"@color/white_caocao"
android:foreground=
"?android:attr/selectableItemBackground"
>
<com.facebook.drawee.view.SimpleDraweeView
android:id=
"@+id/iv_head"
android:layout_width=
"@dimen/settle_vip_head"
android:layout_height=
"@dimen/settle_vip_head"
android:layout_marginStart=
"@dimen/all_margin"
app:backgroundImage=
"@color/white_caocao"
app:layout_constraintBottom_toTopOf=
"parent"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintTop_toBottomOf=
"parent"
app:placeholderImage=
"@mipmap/icon_menu_service_1"
app:roundAsCircle=
"true"
app:roundingBorderColor=
"@color/gray_huanggai"
app:roundingBorderWidth=
"@dimen/all_line_width"
/>
<com.facebook.drawee.view.SimpleDraweeView
android:id=
"@+id/iv_level"
android:layout_width=
"@dimen/settle_vip_level"
android:layout_height=
"@dimen/settle_vip_level"
app:layout_constraintBottom_toBottomOf=
"@id/iv_head"
app:layout_constraintRight_toRightOf=
"@id/iv_head"
app:roundAsCircle=
"true"
/>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/all_margin"
android:orientation=
"vertical"
app:layout_constraintBottom_toTopOf=
"parent"
app:layout_constraintLeft_toRightOf=
"@id/iv_head"
app:layout_constraintTop_toBottomOf=
"parent"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"@{name}"
android:textColor=
"@color/black_zhangfei"
android:textSize=
"@dimen/all_text_size"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"@{phone}"
android:textColor=
"@color/black_likui"
android:textSize=
"@dimen/all_caption_size"
/>
</LinearLayout>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"@dimen/all_spacing"
android:text=
"@{@string/settle_vip_dis_rate_hint + disRate + @string/settle_vip_dis_rate}"
android:textColor=
"@color/black_zhangfei"
android:textSize=
"@dimen/all_caption_size"
app:layout_constraintBottom_toTopOf=
"parent"
app:layout_constraintRight_toLeftOf=
"@id/cb_point"
app:layout_constraintTop_toBottomOf=
"parent"
/>
<CheckBox
android:id=
"@+id/cb_point"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"@dimen/all_margin"
android:button=
"@mipmap/but_elect02"
android:contentDescription=
"@string/settle_balance"
app:layout_constraintBottom_toTopOf=
"parent"
app:layout_constraintRight_toRightOf=
"parent"
app:layout_constraintTop_toBottomOf=
"parent"
/>
<View
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/all_line_width"
android:background=
"@color/gray_huanggai"
app:layout_constraintBottom_toBottomOf=
"parent"
/>
</android.support.constraint.ConstraintLayout>
</LinearLayout>
<LinearLayout
android:id=
"@+id/ll_all"
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
android:layout_weight=
"2"
android:orientation=
"vertical"
android:visibility=
"gone"
>
<android.support.v7.widget.RecyclerView
android:id=
"@+id/vip_type"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/white"
/>
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:id=
"@+id/rl_ticker"
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
android:layout_weight=
"9"
android:paddingLeft=
"@dimen/all_padding"
android:paddingRight=
"@dimen/all_padding"
/>
<TextView
android:id=
"@+id/tv_empty"
android:layout_width=
"0dp"
android:layout_height=
"0dp"
android:layout_weight=
"9"
android:background=
"@color/appBack"
android:drawableTop=
"@mipmap/icon_things_null"
android:gravity=
"center"
android:padding=
"100dp"
android:text=
"@string/empty_other_select"
android:textColor=
"@color/white_half"
android:textSize=
"@dimen/all_text_size_big"
android:visibility=
"gone"
/>
</LinearLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"?attr/actionBarSize"
android:layout_alignParentBottom=
"true"
android:background=
"@color/white"
android:gravity=
"center"
android:orientation=
"horizontal"
android:padding=
"@dimen/all_padding"
>
<TextView
android:id=
"@+id/tv_select"
android:layout_width=
"0dp"
android:layout_height=
"match_parent"
android:layout_marginLeft=
"@dimen/all_padding"
android:layout_weight=
"3"
android:gravity=
"center|left"
android:text=
"白金会员"
android:textSize=
"@dimen/et_textsize"
/>
<Button
android:id=
"@+id/btn_send"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:background=
"@drawable/red_border_allradius"
android:text=
"发券"
android:onClick=
"@{OnClickListener}"
android:textColor=
"@color/white"
android:textSize=
"@dimen/et_textsize"
/>
</LinearLayout>
</RelativeLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/fragment_send_ticker_main.xml
View file @
245b2aae
...
@@ -26,6 +26,7 @@
...
@@ -26,6 +26,7 @@
android:layout_marginTop=
"@dimen/all_padding"
android:layout_marginTop=
"@dimen/all_padding"
android:background=
"@color/white"
android:background=
"@color/white"
android:gravity=
"center"
android:gravity=
"center"
android:onClick=
"@{OnClickListener}"
android:orientation=
"horizontal"
android:orientation=
"horizontal"
android:paddingLeft=
"@dimen/all_margin"
android:paddingLeft=
"@dimen/all_margin"
app:layout_constraintTop_toBottomOf=
"@+id/ic_title"
>
app:layout_constraintTop_toBottomOf=
"@+id/ic_title"
>
...
@@ -60,6 +61,7 @@
...
@@ -60,6 +61,7 @@
android:layout_marginTop=
"@dimen/all_padding"
android:layout_marginTop=
"@dimen/all_padding"
android:background=
"@color/white"
android:background=
"@color/white"
android:gravity=
"center"
android:gravity=
"center"
android:onClick=
"@{OnClickListener}"
android:orientation=
"horizontal"
android:orientation=
"horizontal"
android:paddingLeft=
"@dimen/all_margin"
android:paddingLeft=
"@dimen/all_margin"
app:layout_constraintTop_toBottomOf=
"@+id/ll_one"
>
app:layout_constraintTop_toBottomOf=
"@+id/ll_one"
>
...
...
app/src/main/res/layout/fragment_send_ticker_vip.xml
0 → 100644
View file @
245b2aae
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
<data>
<import
type=
"android.view.View"
/>
<variable
name=
"empty"
type=
"boolean"
/>
<variable
name=
"OnClickListener"
type=
"com.xingdata.zzdpos.util.OnClickListener"
/>
<variable
name=
"titleMode"
type=
"int"
/>
</data>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/gray_zhouyu"
android:orientation=
"vertical"
>
<View
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/all_line_width"
android:layout_gravity=
"bottom"
android:background=
"@color/gray_huanggai"
/>
<android.support.constraint.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_height=
"?attr/actionBarSize"
android:background=
"@color/white_caocao"
>
<ImageButton
android:id=
"@+id/btn_back"
android:layout_width=
"@dimen/title_height"
android:layout_height=
"match_parent"
android:background=
"?attr/selectableItemBackground"
android:contentDescription=
"@string/all_go_back"
android:gravity=
"center"
android:onClick=
"@{OnClickListener}"
android:padding=
"@dimen/all_margin"
android:src=
"@mipmap/back_black"
app:layout_constraintLeft_toLeftOf=
"parent"
/>
<LinearLayout
android:layout_width=
"0dp"
android:layout_height=
"match_parent"
android:layout_marginEnd=
"@dimen/all_margin"
app:layout_constraintBottom_toTopOf=
"parent"
app:layout_constraintLeft_toRightOf=
"@id/btn_back"
app:layout_constraintRight_toRightOf=
"parent"
app:layout_constraintTop_toBottomOf=
"parent"
>
<EditText
android:id=
"@+id/et_search"
style=
"@style/searchBarEditor"
android:layout_width=
"0dp"
android:layout_height=
"match_parent"
android:layout_weight=
"1"
android:inputType=
"number"
android:textColor=
"@color/black_likui"
android:textColorHint=
"@color/gray_huanggai"
android:textSize=
"@dimen/all_text_size"
/>
</LinearLayout>
<View
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/all_line_width"
android:layout_gravity=
"bottom"
android:background=
"@color/gray_huanggai"
app:layout_constraintBottom_toBottomOf=
"parent"
/>
</android.support.constraint.ConstraintLayout>
<View
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/all_line_width"
android:layout_marginBottom=
"@dimen/all_margin"
android:background=
"@color/gray_huanggai"
android:visibility=
"@{empty?View.GONE:View.VISIBLE}"
/>
<View
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/all_line_width"
android:background=
"@color/gray_huanggai"
/>
<android.support.v7.widget.RecyclerView
android:id=
"@+id/rl_vip"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
</LinearLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/fragment_settle.xml
View file @
245b2aae
...
@@ -7,6 +7,16 @@
...
@@ -7,6 +7,16 @@
<import
type=
"android.view.View"
/>
<import
type=
"android.view.View"
/>
<import
type=
"com.xingdata.zzdpos.util.ConvertUtil"
/>
<variable
name=
"orderAuthAmt"
type=
"long"
/>
<variable
name=
"orderPayAmt"
type=
"long"
/>
<variable
<variable
name=
"defualtVip"
name=
"defualtVip"
type=
"boolean"
/>
type=
"boolean"
/>
...
@@ -28,17 +38,20 @@
...
@@ -28,17 +38,20 @@
type=
"int"
/>
type=
"int"
/>
<variable
<variable
name=
"
usePoin
t"
name=
"
ticketAm
t"
type=
"
boolean
"
/>
type=
"
long
"
/>
<variable
<variable
name=
"
pointVip
"
name=
"
avlPoints
"
type=
"
int
"
/>
type=
"
long
"
/>
<variable
<variable
name=
"pointAmt"
name=
"point
Dis
Amt"
type=
"String"
/>
type=
"String"
/>
<variable
name=
"balance"
type=
"long"
/>
</data>
</data>
...
@@ -89,7 +102,7 @@
...
@@ -89,7 +102,7 @@
android:id=
"@+id/iv_level"
android:id=
"@+id/iv_level"
android:layout_width=
"@dimen/settle_vip_level"
android:layout_width=
"@dimen/settle_vip_level"
android:layout_height=
"@dimen/settle_vip_level"
android:layout_height=
"@dimen/settle_vip_level"
android:visibility=
"@{defualtVip?View.
GON
E:View.VISIBLE}"
android:visibility=
"@{defualtVip?View.
INVISIBL
E:View.VISIBLE}"
app:layout_constraintBottom_toBottomOf=
"@id/iv_head"
app:layout_constraintBottom_toBottomOf=
"@id/iv_head"
app:layout_constraintRight_toRightOf=
"@id/iv_head"
app:layout_constraintRight_toRightOf=
"@id/iv_head"
app:roundAsCircle=
"true"
/>
app:roundAsCircle=
"true"
/>
...
@@ -99,7 +112,7 @@
...
@@ -99,7 +112,7 @@
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/all_margin"
android:layout_marginStart=
"@dimen/all_margin"
android:orientation=
"vertical"
android:orientation=
"vertical"
android:visibility=
"@{defualtVip?View.
GON
E:View.VISIBLE}"
android:visibility=
"@{defualtVip?View.
INVISIBL
E:View.VISIBLE}"
app:layout_constraintBottom_toTopOf=
"parent"
app:layout_constraintBottom_toTopOf=
"parent"
app:layout_constraintLeft_toRightOf=
"@id/iv_head"
app:layout_constraintLeft_toRightOf=
"@id/iv_head"
app:layout_constraintTop_toBottomOf=
"parent"
>
app:layout_constraintTop_toBottomOf=
"parent"
>
...
@@ -126,7 +139,7 @@
...
@@ -126,7 +139,7 @@
android:text=
"@string/settle_select_vip"
android:text=
"@string/settle_select_vip"
android:textColor=
"@color/black_zhangfei"
android:textColor=
"@color/black_zhangfei"
android:textSize=
"@dimen/all_text_size"
android:textSize=
"@dimen/all_text_size"
android:visibility=
"@{defualtVip?View.VISIBLE:View.
GON
E}"
android:visibility=
"@{defualtVip?View.VISIBLE:View.
INVISIBL
E}"
app:layout_constraintBottom_toTopOf=
"parent"
app:layout_constraintBottom_toTopOf=
"parent"
app:layout_constraintLeft_toRightOf=
"@id/iv_head"
app:layout_constraintLeft_toRightOf=
"@id/iv_head"
app:layout_constraintTop_toBottomOf=
"parent"
/>
app:layout_constraintTop_toBottomOf=
"parent"
/>
...
@@ -138,7 +151,7 @@
...
@@ -138,7 +151,7 @@
android:text=
"@{@string/settle_vip_dis_rate_hint + disRate + @string/settle_vip_dis_rate}"
android:text=
"@{@string/settle_vip_dis_rate_hint + disRate + @string/settle_vip_dis_rate}"
android:textColor=
"@color/black_zhangfei"
android:textColor=
"@color/black_zhangfei"
android:textSize=
"@dimen/all_caption_size"
android:textSize=
"@dimen/all_caption_size"
android:visibility=
"@{defualtVip?View.
GON
E:View.VISIBLE}"
android:visibility=
"@{defualtVip?View.
INVISIBL
E:View.VISIBLE}"
app:layout_constraintBottom_toTopOf=
"parent"
app:layout_constraintBottom_toTopOf=
"parent"
app:layout_constraintRight_toLeftOf=
"@id/iv_arrow"
app:layout_constraintRight_toLeftOf=
"@id/iv_arrow"
app:layout_constraintTop_toBottomOf=
"parent"
/>
app:layout_constraintTop_toBottomOf=
"parent"
/>
...
@@ -195,11 +208,11 @@
...
@@ -195,11 +208,11 @@
android:textSize=
"@dimen/all_text_size"
/>
android:textSize=
"@dimen/all_text_size"
/>
<TextView
<TextView
android:id=
"@+id/tv_auth_amt"
android:layout_width=
"0dp"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:layout_weight=
"1"
android:gravity=
"end"
android:gravity=
"end"
android:text=
"@{ConvertUtil.fenToYuan(orderAuthAmt,true)}"
android:textColor=
"@color/red_guanyu"
android:textColor=
"@color/red_guanyu"
android:textSize=
"@dimen/all_sub_title_size"
android:textSize=
"@dimen/all_sub_title_size"
android:textStyle=
"bold"
/>
android:textStyle=
"bold"
/>
...
@@ -216,6 +229,7 @@
...
@@ -216,6 +229,7 @@
android:id=
"@+id/ll_ticket"
android:id=
"@+id/ll_ticket"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/title_height"
android:layout_height=
"@dimen/title_height"
android:clickable=
"@{avlTicketNum>0}"
android:foreground=
"?android:attr/selectableItemBackground"
android:foreground=
"?android:attr/selectableItemBackground"
android:gravity=
"center"
android:gravity=
"center"
android:paddingEnd=
"@dimen/all_margin"
android:paddingEnd=
"@dimen/all_margin"
...
@@ -240,7 +254,7 @@
...
@@ -240,7 +254,7 @@
android:paddingEnd=
"@dimen/all_padding"
android:paddingEnd=
"@dimen/all_padding"
android:paddingStart=
"@dimen/all_padding"
android:paddingStart=
"@dimen/all_padding"
android:paddingTop=
"@dimen/all_shape_radius"
android:paddingTop=
"@dimen/all_shape_radius"
android:text=
"@{avlTicketNum + @string/settle_ticket_text}"
android:text=
"@{
ticketAmt>0 ?ConvertUtil.fenToYuanNoPoint(ticketAmt)+@string/settle_ticket_info :
avlTicketNum + @string/settle_ticket_text}"
android:textColor=
"@color/white"
android:textColor=
"@color/white"
android:textSize=
"@dimen/all_caption_size"
/>
android:textSize=
"@dimen/all_caption_size"
/>
...
@@ -263,6 +277,7 @@
...
@@ -263,6 +277,7 @@
android:id=
"@+id/ll_point"
android:id=
"@+id/ll_point"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/title_height"
android:layout_height=
"@dimen/title_height"
android:clickable=
"@{!defualtVip}"
android:foreground=
"?android:attr/selectableItemBackground"
android:foreground=
"?android:attr/selectableItemBackground"
android:gravity=
"center"
android:gravity=
"center"
android:paddingEnd=
"@dimen/all_margin"
android:paddingEnd=
"@dimen/all_margin"
...
@@ -281,7 +296,7 @@
...
@@ -281,7 +296,7 @@
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"@dimen/all_spacing"
android:layout_marginEnd=
"@dimen/all_spacing"
android:text=
"@{@string/settle_point_vip_text +
pointVip + @string/settle_point_amt_text + point
Amt}"
android:text=
"@{@string/settle_point_vip_text +
avlPoints + @string/settle_point_amt_text + pointDis
Amt}"
android:textColor=
"@color/black_likui"
/>
android:textColor=
"@color/black_likui"
/>
<CheckBox
<CheckBox
...
@@ -315,11 +330,11 @@
...
@@ -315,11 +330,11 @@
android:textSize=
"@dimen/all_text_size"
/>
android:textSize=
"@dimen/all_text_size"
/>
<TextView
<TextView
android:id=
"@+id/tv_balance"
android:layout_width=
"0dp"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:layout_weight=
"1"
android:gravity=
"end"
android:gravity=
"end"
android:text=
"@{ConvertUtil.fenToYuan(balance,true)}"
android:textColor=
"@color/black_baozheng"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_sub_title_size"
android:textSize=
"@dimen/all_sub_title_size"
android:textStyle=
"bold"
/>
android:textStyle=
"bold"
/>
...
@@ -375,10 +390,10 @@
...
@@ -375,10 +390,10 @@
android:textSize=
"@dimen/all_text_size"
/>
android:textSize=
"@dimen/all_text_size"
/>
<TextView
<TextView
android:id=
"@+id/tv_pay_amt"
android:layout_width=
"0dp"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:layout_weight=
"1"
android:text=
"@{ConvertUtil.fenToYuan(orderPayAmt)}"
android:textColor=
"@color/red_guanyu"
android:textColor=
"@color/red_guanyu"
android:textSize=
"@dimen/all_sub_title_size"
android:textSize=
"@dimen/all_sub_title_size"
android:textStyle=
"bold"
/>
android:textStyle=
"bold"
/>
...
...
app/src/main/res/layout/fragment_settle_ticket.xml
0 → 100644
View file @
245b2aae
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
<data>
<variable
name=
"selectedNum"
type=
"int"
/>
</data>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/gray_zhouyu"
android:orientation=
"vertical"
>
<android.support.v7.widget.RecyclerView
android:id=
"@+id/rl_ticket"
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
android:layout_weight=
"1"
/>
<View
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/all_line_width"
android:background=
"@color/gray_huanggai"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"?attr/actionBarSize"
android:background=
"@color/white_caocao"
android:gravity=
"center_vertical"
android:paddingEnd=
"@dimen/all_margin"
android:paddingStart=
"@dimen/all_margin"
>
<LinearLayout
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"@string/settle_ticket_selected"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_text_size"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"@dimen/all_spacing"
android:layout_marginStart=
"@dimen/all_spacing"
android:text=
'@{selectedNum+""}'
android:textColor=
"@color/red_guanyu"
android:textSize=
"@dimen/all_sub_title_size"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"@string/settle_ticket_unit"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_text_size"
/>
</LinearLayout>
<TextView
android:id=
"@+id/tv_confirm"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"@drawable/shape_red_round_rectangle_more_round"
android:foreground=
"?android:attr/selectableItemBackgroundBorderless"
android:paddingBottom=
"@dimen/all_spacing"
android:paddingEnd=
"@dimen/all_margin_big"
android:paddingStart=
"@dimen/all_margin_big"
android:paddingTop=
"@dimen/all_spacing"
android:text=
"@string/all_confirm"
android:textColor=
"@color/white_caocao"
/>
</LinearLayout>
</LinearLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/item_return_ticket.xml
View file @
245b2aae
...
@@ -9,12 +9,17 @@
...
@@ -9,12 +9,17 @@
</data>
</data>
<
Linear
Layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<
Relative
Layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/all_margin
"
android:layout_marginTop=
"@dimen/all_padding
"
android:orientation=
"horizontal"
>
android:orientation=
"horizontal"
>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/all_padding"
android:orientation=
"horizontal"
>
<android.support.constraint.ConstraintLayout
<android.support.constraint.ConstraintLayout
android:id=
"@+id/cl_item"
android:id=
"@+id/cl_item"
...
@@ -136,6 +141,15 @@
...
@@ -136,6 +141,15 @@
app:layout_constraintRight_toRightOf=
"parent"
app:layout_constraintRight_toRightOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@+id/vw_line"
/>
app:layout_constraintTop_toBottomOf=
"@+id/vw_line"
/>
</android.support.constraint.ConstraintLayout>
</android.support.constraint.ConstraintLayout>
</LinearLayout>
</LinearLayout>
<ImageView
android:id=
"@+id/iv_select"
android:layout_width=
"30dp"
android:layout_height=
"30dp"
android:visibility=
"gone"
android:layout_alignParentRight=
"true"
android:layout_marginRight=
"@dimen/all_margin"
android:src=
"@mipmap/but_elect02_stroke"
/>
</RelativeLayout>
</layout>
</layout>
\ No newline at end of file
app/src/main/res/layout/item_settle_ticket.xml
0 → 100644
View file @
245b2aae
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
>
<data>
<variable
name=
"ticket"
type=
"com.xingdata.zzdpos.model.Ticket"
/>
</data>
<android.support.constraint.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"@dimen/all_margin"
android:layout_marginStart=
"@dimen/all_margin"
android:foreground=
"?android:attr/selectableItemBackground"
>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/all_margin"
android:baselineAligned=
"false"
android:orientation=
"horizontal"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
>
<android.support.constraint.ConstraintLayout
android:id=
"@+id/cl_item"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_weight=
"2.3"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"@mipmap/return_ticket_one"
android:contentDescription=
"@null"
/>
<LinearLayout
android:id=
"@+id/ll_top"
android:layout_width=
"0dp"
android:layout_height=
"0dp"
android:gravity=
"center"
android:orientation=
"horizontal"
android:padding=
"@dimen/all_padding"
app:layout_constraintBottom_toTopOf=
"@id/ll_bottom"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintRight_toRightOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintVertical_weight=
"4"
>
<ImageView
android:layout_width=
"0dp"
android:layout_height=
"match_parent"
android:layout_gravity=
"end"
android:layout_weight=
"1.8"
android:contentDescription=
"@null"
android:src=
"@mipmap/bg_return_ticker_logo"
/>
<TextView
android:id=
"@+id/tv_ticket_money"
android:layout_width=
"0dp"
android:layout_height=
"match_parent"
android:layout_weight=
"5"
android:gravity=
"center"
android:text=
"@string/tv_money"
android:textColor=
"@color/white"
android:textSize=
"@dimen/text_secondary_title"
android:textStyle=
"bold"
/>
</LinearLayout>
<LinearLayout
android:id=
"@+id/ll_bottom"
android:layout_width=
"0dp"
android:layout_height=
"0dp"
android:orientation=
"vertical"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintRight_toRightOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/ll_top"
app:layout_constraintVertical_weight=
"2"
>
<TextView
android:id=
"@+id/tv_date"
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
android:layout_weight=
"1"
android:gravity=
"center_vertical"
android:paddingEnd=
"@dimen/all_margin"
android:paddingStart=
"@dimen/all_margin"
android:text=
"@string/tv_date"
android:textColor=
"@color/white"
android:textSize=
"@dimen/et_textsize"
/>
</LinearLayout>
</android.support.constraint.ConstraintLayout>
<android.support.constraint.ConstraintLayout
android:id=
"@+id/cl_send"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"match_parent"
android:background=
"@mipmap/return_ticket_two"
android:contentDescription=
"@null"
/>
<TextView
android:id=
"@+id/tv_ticket_moneys"
android:layout_width=
"0dp"
android:layout_height=
"0dp"
android:gravity=
"center"
android:text=
"@string/money"
android:textColor=
"@color/white"
android:textSize=
"@dimen/text_primary_title_smile"
android:textStyle=
"bold"
app:layout_constraintBottom_toTopOf=
"@+id/vw_line"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintRight_toRightOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
<View
android:id=
"@+id/vw_line"
android:layout_width=
"0dp"
android:layout_height=
"@dimen/all_line_width"
android:layout_marginLeft=
"@dimen/all_padding"
android:layout_marginRight=
"@dimen/all_padding"
android:background=
"@color/gray1"
app:layout_constraintBottom_toTopOf=
"@id/tv_rule"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintRight_toRightOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@+id/tv_ticket_moneys"
/>
<TextView
android:id=
"@+id/tv_rule"
android:layout_width=
"0dp"
android:layout_height=
"0dp"
android:gravity=
"center"
android:text=
"@string/tv_rule"
android:textColor=
"@color/white"
android:textSize=
"@dimen/et_textsize"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintRight_toRightOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@+id/vw_line"
/>
</android.support.constraint.ConstraintLayout>
</LinearLayout>
<com.facebook.drawee.view.SimpleDraweeView
android:layout_width=
"0dp"
android:layout_height=
"0dp"
android:layout_gravity=
"center"
app:backgroundImage=
"@color/gray_zhouyu"
app:layout_constraintBottom_toBottomOf=
"@id/iv_selected"
app:layout_constraintLeft_toLeftOf=
"@id/iv_selected"
app:layout_constraintRight_toRightOf=
"@id/iv_selected"
app:layout_constraintTop_toTopOf=
"@id/iv_selected"
app:roundAsCircle=
"true"
/>
<ImageView
android:id=
"@+id/iv_selected"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:layout_marginEnd=
"@dimen/all_margin_big"
android:layout_marginTop=
"@dimen/all_spacing"
android:contentDescription=
"@null"
android:padding=
"@dimen/view_line_L1"
android:src=
"@mipmap/but_elect01"
app:layout_constraintRight_toRightOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
</android.support.constraint.ConstraintLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/item_statistics.xml
0 → 100644
View file @
245b2aae
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
<android.support.constraint.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/white_caocao"
android:foreground=
"?android:attr/selectableItemBackground"
>
<com.facebook.drawee.view.SimpleDraweeView
android:id=
"@+id/img_left"
android:layout_width=
"45dp"
android:layout_height=
"45dp"
android:layout_margin=
"@dimen/all_padding"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
app:placeholderImage=
"@mipmap/img_head"
app:roundAsCircle=
"true"
/>
<TextView
android:id=
"@+id/tv_right_top"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"@dimen/all_margin"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toTopOf=
"@id/img_left"
/>
<TextView
android:id=
"@+id/tv_right_bottom"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"@dimen/all_margin"
android:text=
"本店"
android:textSize=
"@dimen/small_text_size"
app:layout_constraintBottom_toBottomOf=
"@id/img_left"
app:layout_constraintEnd_toEndOf=
"parent"
/>
<TextView
android:id=
"@+id/tv_left_top"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/padding_small"
android:text=
"1231231244124124"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_text_size"
app:layout_constraintStart_toEndOf=
"@id/img_left"
app:layout_constraintTop_toTopOf=
"@id/img_left"
/>
<TextView
android:id=
"@+id/tv_left_bottom"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/all_padding"
android:text=
"11-15 15:23"
android:textSize=
"@dimen/small_text_size"
app:layout_constraintBottom_toBottomOf=
"@id/img_left"
app:layout_constraintStart_toEndOf=
"@id/img_left"
/>
<View
android:layout_width=
"0dp"
android:layout_height=
"@dimen/view_line_L1"
android:background=
"@color/gray_zhouyu"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toEndOf=
"@id/img_left"
/>
</android.support.constraint.ConstraintLayout>
</layout>
app/src/main/res/layout/item_vip_group.xml
0 → 100644
View file @
245b2aae
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
<data>
<variable
name=
"OnClickListener"
type=
"com.xingdata.zzdpos.util.OnClickListener"
/>
</data>
<LinearLayout
android:id=
"@+id/cl_vip"
android:layout_width=
"115dp"
android:layout_height=
"wrap_content"
android:gravity=
"center"
android:orientation=
"vertical"
>
<TextView
android:id=
"@+id/tv_item"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@drawable/black_border_thr"
android:gravity=
"center"
android:maxEms=
"4"
android:maxLength=
"4"
android:padding=
"@dimen/all_padding"
android:singleLine=
"true"
android:text=
"全部会员"
android:textColor=
"@color/black"
android:textSize=
"@dimen/et_textsize"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintRight_toRightOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
<TextView
android:id=
"@+id/tv_item_select"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@drawable/red_border_thr"
android:gravity=
"center"
android:maxEms=
"4"
android:maxLength=
"4"
android:padding=
"@dimen/all_padding"
android:singleLine=
"true"
android:text=
"全部会员"
android:textColor=
"@color/red_guanyu"
android:textSize=
"@dimen/et_textsize"
android:visibility=
"gone"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintRight_toRightOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
</LinearLayout>
</layout>
app/src/main/res/layout/title_order.xml
View file @
245b2aae
...
@@ -28,28 +28,44 @@
...
@@ -28,28 +28,44 @@
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
app:layout_constraintTop_toTopOf=
"parent"
/>
<TextView
<!--<TextView-->
<!--android:id="@+id/tv_title"-->
<!--android:layout_width="0dp"-->
<!--android:layout_height="wrap_content"-->
<!--android:layout_centerInParent="true"-->
<!--android:gravity="center"-->
<!--android:text="订单记录"-->
<!--android:textColor="@color/black_baozheng"-->
<!--android:textSize="@dimen/text_secondary_title"-->
<!--app:layout_constraintBottom_toBottomOf="parent"-->
<!--app:layout_constraintEnd_toStartOf="@id/iv_right"-->
<!--app:layout_constraintStart_toEndOf="@id/iv_back"-->
<!--app:layout_constraintTop_toTopOf="parent" />-->
<EditText
android:id=
"@+id/tv_title"
android:id=
"@+id/tv_title"
style=
"@style/searchBarEditor"
android:layout_width=
"0dp"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_height=
"match_parent"
android:layout_centerInParent=
"true"
android:inputType=
"number"
android:gravity=
"center"
android:textColor=
"@color/black_likui"
android:text=
"订单记录"
android:textColorHint=
"@color/gray_huanggai"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_text_size"
android:textSize=
"@dimen/text_secondary_title"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toStartOf=
"@id/iv_right"
app:layout_constraintEnd_toStartOf=
"@id/iv_right"
app:layout_constraintStart_toEndOf=
"@id/iv_back"
app:layout_constraintStart_toEndOf=
"@id/iv_back"
app:layout_constraintTop_toTopOf=
"parent"
/>
app:layout_constraintTop_toTopOf=
"parent"
app:layout_goneMarginRight=
"@dimen/all_padding"
/>
<ImageButton
<ImageButton
android:id=
"@+id/iv_right"
android:id=
"@+id/iv_right"
android:layout_width=
"?attr/actionBarSize"
android:layout_width=
"?attr/actionBarSize"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/transparent"
android:background=
"@color/transparent"
android:
src=
"@mipmap/scan_bg
"
android:
visibility=
"gone
"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintVertical_bias=
"0.0"
/>
</android.support.constraint.ConstraintLayout>
</android.support.constraint.ConstraintLayout>
</layout>
</layout>
\ No newline at end of file
app/src/main/res/layout/view_empty.xml
View file @
245b2aae
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<layout>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
android:gravity=
"center"
android:gravity=
"center"
...
@@ -18,4 +19,5 @@
...
@@ -18,4 +19,5 @@
android:textColor=
"@color/gray_huanggai"
android:textColor=
"@color/gray_huanggai"
android:textSize=
"@dimen/all_text_size"
/>
android:textSize=
"@dimen/all_text_size"
/>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
</layout>
\ No newline at end of file
app/src/main/res/mipmap-hdpi/but_elect01_stroke.png
0 → 100644
View file @
245b2aae
2.36 KB
app/src/main/res/mipmap-hdpi/but_elect02_stroke.png
0 → 100644
View file @
245b2aae
2.26 KB
app/src/main/res/mipmap-xhdpi/icon_order.png
0 → 100644
View file @
245b2aae
3.04 KB
app/src/main/res/mipmap-xhdpi/icon_record.png
0 → 100644
View file @
245b2aae
3.66 KB
app/src/main/res/values/dimens.xml
View file @
245b2aae
...
@@ -28,6 +28,7 @@
...
@@ -28,6 +28,7 @@
<!--PADDING-->
<!--PADDING-->
<dimen
name=
"padding_big"
>
24dp
</dimen>
<dimen
name=
"padding_big"
>
24dp
</dimen>
<dimen
name=
"padding_medium"
>
16dp
</dimen>
<dimen
name=
"padding_medium"
>
16dp
</dimen>
<dimen
name=
"padding_small"
>
8dp
</dimen>
<!--EditText 边框粗细-->
<!--EditText 边框粗细-->
<dimen
name=
"edit_border"
>
0.5dp
</dimen>
<dimen
name=
"edit_border"
>
0.5dp
</dimen>
<!--一级标题-->
<!--一级标题-->
...
@@ -166,6 +167,7 @@
...
@@ -166,6 +167,7 @@
<dimen
name=
"vip_message_view_height_big"
>
110dp
</dimen>
<dimen
name=
"vip_message_view_height_big"
>
110dp
</dimen>
<dimen
name=
"vip_message_item_spacing"
>
8dp
</dimen>
<dimen
name=
"vip_message_item_spacing"
>
8dp
</dimen>
<integer
name=
"vip_message_item_span_count"
>
4
</integer>
<integer
name=
"vip_message_item_span_count"
>
4
</integer>
<!--积分规则-->
<!--积分规则-->
<dimen
name=
"cl_padding"
>
40dp
</dimen>
<dimen
name=
"cl_padding"
>
40dp
</dimen>
...
@@ -173,6 +175,7 @@
...
@@ -173,6 +175,7 @@
<dimen
name=
"fragment_detail_padding_end"
>
50dp
</dimen>
<dimen
name=
"fragment_detail_padding_end"
>
50dp
</dimen>
<!--优惠券-->
<!--优惠券-->
<dimen
name=
"et_text_mini"
>
13sp
</dimen>
<dimen
name=
"et_text_mini"
>
13sp
</dimen>
<dimen
name=
"ticker_vip_three_item_spacing"
>
12dp
</dimen>
<!--商品组合-->
<!--商品组合-->
<dimen
name=
"image_margin"
>
30dp
</dimen>
<dimen
name=
"image_margin"
>
30dp
</dimen>
<dimen
name=
"textview_width"
>
75dp
</dimen>
<dimen
name=
"textview_width"
>
75dp
</dimen>
...
...
app/src/main/res/values/strings.xml
View file @
245b2aae
...
@@ -527,6 +527,10 @@
...
@@ -527,6 +527,10 @@
<string
name=
"settle_vip_search_empty"
>
请输入会员手机号进行搜索~
</string>
<string
name=
"settle_vip_search_empty"
>
请输入会员手机号进行搜索~
</string>
<string
name=
"settle_vip_none"
>
不需要会员
</string>
<string
name=
"settle_vip_none"
>
不需要会员
</string>
<!--支付里的优惠券-->
<string
name=
"settle_ticket_selected"
>
已选
</string>
<string
name=
"settle_ticket_unit"
>
张
</string>
<string
name=
"settle_ticket_info"
>
元优惠券
</string>
<!--帮助POS-->
<!--帮助POS-->
<string
name=
"help_hint"
>
帮助
</string>
<string
name=
"help_hint"
>
帮助
</string>
...
@@ -557,10 +561,13 @@
...
@@ -557,10 +561,13 @@
<!--<string name="handover_vip">储值卡收款</string>-->
<!--<string name="handover_vip">储值卡收款</string>-->
<!--统计POS-->
<!--统计POS-->
<string
name=
"statistics_hint"
>
统计
</string>
<string
name=
"statistics_hint"
>
统计
</string>
<string
name=
"statistics_menu_order"
>
订单
</string>
<string
name=
"statistics_menu_ms"
>
营销
</string>
<string
name=
"statistics_todayAmt_hint"
>
今日销售额
</string>
<string
name=
"statistics_todayAmt_hint"
>
今日销售额
</string>
<string
name=
"statistics_todayOrder_hint"
>
今日订单数
</string>
<string
name=
"statistics_todayOrder_hint"
>
今日订单数
</string>
<string
name=
"statistics_todayRecharge_hint"
>
今日充值
</string>
<string
name=
"statistics_todayRecharge_hint"
>
今日充值
</string>
<string
name=
"statistics_todayVipAdd_hint"
>
今日新增会员
</string>
<string
name=
"statistics_todayVipAdd_hint"
>
今日新增会员
</string>
<string
name=
"statistics_search_empty"
>
没有查询到订单~
</string>
</resources>
</resources>
app/src/main/res/values/styles.xml
View file @
245b2aae
...
@@ -125,7 +125,7 @@
...
@@ -125,7 +125,7 @@
<style
name=
"dialog_title"
>
<style
name=
"dialog_title"
>
<item
name=
"android:background"
>
@color/white
</item>
<item
name=
"android:background"
>
@color/white
</item>
<item
name=
"android:textSize"
>
@dimen/
dialog_title
_text_size
</item>
<item
name=
"android:textSize"
>
@dimen/
big
_text_size
</item>
<item
name=
"android:textColor"
>
@color/black
</item>
<item
name=
"android:textColor"
>
@color/black
</item>
<item
name=
"android:gravity"
>
center
</item>
<item
name=
"android:gravity"
>
center
</item>
<item
name=
"android:padding"
>
@dimen/dialog_padding
</item>
<item
name=
"android:padding"
>
@dimen/dialog_padding
</item>
...
...
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