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
6ff74a0a
Commit
6ff74a0a
authored
Jan 15, 2018
by
zhang_z
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of 192.168.254.154:w525721508/TangKuPos
parents
177908a3
122d580a
Changes
61
Show whitespace changes
Inline
Side-by-side
Showing
61 changed files
with
1907 additions
and
179 deletions
+1907
-179
.idea/modules.xml
.idea/modules.xml
+1
-1
app/libs/zx_print_library-debug.aar
app/libs/zx_print_library-debug.aar
+0
-0
app/src/main/AndroidManifest.xml
app/src/main/AndroidManifest.xml
+6
-1
app/src/main/java/com/xingdata/zzdpos/api/ApiFactory.java
app/src/main/java/com/xingdata/zzdpos/api/ApiFactory.java
+31
-4
app/src/main/java/com/xingdata/zzdpos/api/ApiService.java
app/src/main/java/com/xingdata/zzdpos/api/ApiService.java
+6
-0
app/src/main/java/com/xingdata/zzdpos/db/DBFactory.java
app/src/main/java/com/xingdata/zzdpos/db/DBFactory.java
+17
-0
app/src/main/java/com/xingdata/zzdpos/model/Saleorder.java
app/src/main/java/com/xingdata/zzdpos/model/Saleorder.java
+1
-1
app/src/main/java/com/xingdata/zzdpos/model/Salepay.java
app/src/main/java/com/xingdata/zzdpos/model/Salepay.java
+5
-0
app/src/main/java/com/xingdata/zzdpos/model/VipRechangeOrder.java
...main/java/com/xingdata/zzdpos/model/VipRechangeOrder.java
+206
-0
app/src/main/java/com/xingdata/zzdpos/ui/main/MainActivity.java
...c/main/java/com/xingdata/zzdpos/ui/main/MainActivity.java
+7
-1
app/src/main/java/com/xingdata/zzdpos/ui/main/fragment/CasherFragment.java
.../com/xingdata/zzdpos/ui/main/fragment/CasherFragment.java
+15
-3
app/src/main/java/com/xingdata/zzdpos/ui/manage/manageMenu/ManageMenuActivity.java
...gdata/zzdpos/ui/manage/manageMenu/ManageMenuActivity.java
+2
-1
app/src/main/java/com/xingdata/zzdpos/ui/manage/user/UserActivity.java
...java/com/xingdata/zzdpos/ui/manage/user/UserActivity.java
+43
-0
app/src/main/java/com/xingdata/zzdpos/ui/manage/user/UserContract.java
...java/com/xingdata/zzdpos/ui/manage/user/UserContract.java
+29
-0
app/src/main/java/com/xingdata/zzdpos/ui/manage/user/UserPresenter.java
...ava/com/xingdata/zzdpos/ui/manage/user/UserPresenter.java
+23
-0
app/src/main/java/com/xingdata/zzdpos/ui/manage/user/adapter/UserListAdapter.java
...ngdata/zzdpos/ui/manage/user/adapter/UserListAdapter.java
+32
-0
app/src/main/java/com/xingdata/zzdpos/ui/manage/user/fragment/UserListFragment.java
...data/zzdpos/ui/manage/user/fragment/UserListFragment.java
+81
-0
app/src/main/java/com/xingdata/zzdpos/ui/settle/fragment/SettleFragment.java
...om/xingdata/zzdpos/ui/settle/fragment/SettleFragment.java
+4
-5
app/src/main/java/com/xingdata/zzdpos/ui/statistics/StatisticsDetailActivity.java
...ngdata/zzdpos/ui/statistics/StatisticsDetailActivity.java
+11
-2
app/src/main/java/com/xingdata/zzdpos/ui/statistics/fragment/StatisticsTitleFragment.java
...zdpos/ui/statistics/fragment/StatisticsTitleFragment.java
+10
-1
app/src/main/java/com/xingdata/zzdpos/ui/vip/VipActivity.java
...src/main/java/com/xingdata/zzdpos/ui/vip/VipActivity.java
+47
-2
app/src/main/java/com/xingdata/zzdpos/ui/vip/VipContract.java
...src/main/java/com/xingdata/zzdpos/ui/vip/VipContract.java
+15
-2
app/src/main/java/com/xingdata/zzdpos/ui/vip/VipPresenter.java
...rc/main/java/com/xingdata/zzdpos/ui/vip/VipPresenter.java
+105
-6
app/src/main/java/com/xingdata/zzdpos/ui/vip/adapter/VipTruleAdapter.java
...a/com/xingdata/zzdpos/ui/vip/adapter/VipTruleAdapter.java
+52
-0
app/src/main/java/com/xingdata/zzdpos/ui/vip/dialog/VipEditMenuDialog.java
.../com/xingdata/zzdpos/ui/vip/dialog/VipEditMenuDialog.java
+2
-5
app/src/main/java/com/xingdata/zzdpos/ui/vip/fragment/VipListFragment.java
.../com/xingdata/zzdpos/ui/vip/fragment/VipListFragment.java
+46
-17
app/src/main/java/com/xingdata/zzdpos/ui/vip/fragment/VipRechargeFragment.java
.../xingdata/zzdpos/ui/vip/fragment/VipRechargeFragment.java
+226
-0
app/src/main/java/com/xingdata/zzdpos/ui/vip/fragment/VipRechargeListFragment.java
...gdata/zzdpos/ui/vip/fragment/VipRechargeListFragment.java
+10
-1
app/src/main/java/com/xingdata/zzdpos/ui/vip/fragment/VipRecordFragment.java
...om/xingdata/zzdpos/ui/vip/fragment/VipRecordFragment.java
+0
-25
app/src/main/java/com/xingdata/zzdpos/ui/vip/fragment/VipSearchFragment.java
...om/xingdata/zzdpos/ui/vip/fragment/VipSearchFragment.java
+36
-19
app/src/main/java/com/xingdata/zzdpos/ui/vip/fragment/VipTruleListFragment.java
...xingdata/zzdpos/ui/vip/fragment/VipTruleListFragment.java
+19
-20
app/src/main/java/com/xingdata/zzdpos/util/SystemUtil.java
app/src/main/java/com/xingdata/zzdpos/util/SystemUtil.java
+2
-2
app/src/main/res/drawable/selector_paymoney_radiobutton_bg.xml
...rc/main/res/drawable/selector_paymoney_radiobutton_bg.xml
+8
-0
app/src/main/res/drawable/selector_paymoney_textcolor_bg.xml
app/src/main/res/drawable/selector_paymoney_textcolor_bg.xml
+5
-0
app/src/main/res/drawable/shape_black_layout.xml
app/src/main/res/drawable/shape_black_layout.xml
+16
-0
app/src/main/res/drawable/shape_red_layout.xml
app/src/main/res/drawable/shape_red_layout.xml
+16
-0
app/src/main/res/layout/activity_user.xml
app/src/main/res/layout/activity_user.xml
+15
-0
app/src/main/res/layout/fragment_casher.xml
app/src/main/res/layout/fragment_casher.xml
+2
-2
app/src/main/res/layout/fragment_ms_main.xml
app/src/main/res/layout/fragment_ms_main.xml
+5
-0
app/src/main/res/layout/fragment_order_list.xml
app/src/main/res/layout/fragment_order_list.xml
+0
-1
app/src/main/res/layout/fragment_order_main.xml
app/src/main/res/layout/fragment_order_main.xml
+1
-1
app/src/main/res/layout/fragment_order_search.xml
app/src/main/res/layout/fragment_order_search.xml
+0
-2
app/src/main/res/layout/fragment_statistics.xml
app/src/main/res/layout/fragment_statistics.xml
+12
-0
app/src/main/res/layout/fragment_statistics_date.xml
app/src/main/res/layout/fragment_statistics_date.xml
+1
-1
app/src/main/res/layout/fragment_statistics_title.xml
app/src/main/res/layout/fragment_statistics_title.xml
+6
-0
app/src/main/res/layout/fragment_user_list.xml
app/src/main/res/layout/fragment_user_list.xml
+153
-0
app/src/main/res/layout/fragment_vip_list.xml
app/src/main/res/layout/fragment_vip_list.xml
+6
-1
app/src/main/res/layout/fragment_vip_mscard_list.xml
app/src/main/res/layout/fragment_vip_mscard_list.xml
+1
-1
app/src/main/res/layout/fragment_vip_recharge.xml
app/src/main/res/layout/fragment_vip_recharge.xml
+232
-0
app/src/main/res/layout/fragment_vip_serch.xml
app/src/main/res/layout/fragment_vip_serch.xml
+109
-0
app/src/main/res/layout/item_string_head.xml
app/src/main/res/layout/item_string_head.xml
+12
-12
app/src/main/res/layout/item_user_list_item.xml
app/src/main/res/layout/item_user_list_item.xml
+87
-0
app/src/main/res/layout/item_vip_mscard_item.xml
app/src/main/res/layout/item_vip_mscard_item.xml
+59
-38
app/src/main/res/layout/recharge.xml
app/src/main/res/layout/recharge.xml
+49
-0
app/src/main/res/mipmap-hdpi/ic_launcher_round.png
app/src/main/res/mipmap-hdpi/ic_launcher_round.png
+0
-0
app/src/main/res/mipmap-xhdpi/bg_return_ticket03.png
app/src/main/res/mipmap-xhdpi/bg_return_ticket03.png
+0
-0
app/src/main/res/mipmap-xhdpi/bg_return_ticket04.png
app/src/main/res/mipmap-xhdpi/bg_return_ticket04.png
+0
-0
app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
+0
-0
app/src/main/res/mipmap-xhdpi/ic_logo.png
app/src/main/res/mipmap-xhdpi/ic_logo.png
+0
-0
app/src/main/res/values/strings.xml
app/src/main/res/values/strings.xml
+4
-1
app/src/main/res/values/styles.xml
app/src/main/res/values/styles.xml
+18
-0
No files found.
.idea/modules.xml
View file @
6ff74a0a
...
...
@@ -3,8 +3,8 @@
<component
name=
"ProjectModuleManager"
>
<modules>
<module
fileurl=
"file://$PROJECT_DIR$/TangKuPos.iml"
filepath=
"$PROJECT_DIR$/TangKuPos.iml"
/>
<module
fileurl=
"file://C:\Users\JM_DEV\AndroidStudioProjects\TangKuPos\TangKuPos.iml"
filepath=
"C:\Users\JM_DEV\AndroidStudioProjects\TangKuPos\TangKuPos.iml"
/>
<module
fileurl=
"file://D:\Work\Android\AndroidProject\XingData\TangKuPos\.idea\TangKuPos.iml"
filepath=
"D:\Work\Android\AndroidProject\XingData\TangKuPos\.idea\TangKuPos.iml"
/>
<module
fileurl=
"file://C:\Users\JM_DEV\AndroidStudioProjects\TangKuPos\TangKuPos.iml"
filepath=
"C:\Users\JM_DEV\AndroidStudioProjects\TangKuPos\TangKuPos.iml"
/>
<module
fileurl=
"file://$PROJECT_DIR$/app/app.iml"
filepath=
"$PROJECT_DIR$/app/app.iml"
/>
</modules>
</component>
...
...
app/libs/zx_print_library-debug.aar
View file @
6ff74a0a
No preview for this file type
app/src/main/AndroidManifest.xml
View file @
6ff74a0a
...
...
@@ -11,7 +11,7 @@
android:allowBackup=
"true"
android:icon=
"@mipmap/ic_launcher"
android:label=
"@string/app_name"
android:roundIcon=
"@mipmap/ic_l
auncher_round
"
android:roundIcon=
"@mipmap/ic_l
ogo
"
android:supportsRtl=
"true"
android:theme=
"@style/AppTheme"
>
<activity
...
...
@@ -118,6 +118,11 @@
android:name=
".ui.manage.inventory.InventoryActivity"
android:configChanges=
"keyboard|orientation|screenSize|keyboardHidden"
android:windowSoftInputMode=
"adjustUnspecified|stateHidden"
/>
<activity
android:name=
".ui.manage.user.UserActivity"
android:configChanges=
"keyboard|orientation|screenSize|keyboardHidden"
android:windowSoftInputMode=
"adjustUnspecified|stateHidden"
/>
</application>
</manifest>
\ No newline at end of file
app/src/main/java/com/xingdata/zzdpos/api/ApiFactory.java
View file @
6ff74a0a
...
...
@@ -476,6 +476,14 @@ public final class ApiFactory {
.
retryWhen
(
new
RetryHelper
(
3
));
}
public
static
Observable
<
Pager
<
Trule
>>
truleQueryByVipId
(
long
vipId
)
{
return
Api
.
getInstance
().
service
.
truleQueryByVipId
(
vipId
)
.
onErrorReturn
(
new
ErrorFilter
<>()).
map
(
new
ResultFilter
<>()).
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
retryWhen
(
new
RetryHelper
(
3
));
}
public
static
Observable
<
String
>
truleDetail
(
String
id
)
{
return
Api
.
getInstance
().
service
.
truleDetail
(
id
).
onErrorReturn
(
new
ErrorFilter
<>()).
map
(
new
ResultFilter
<>()).
subscribeOn
(
Schedulers
.
io
())
...
...
@@ -962,6 +970,15 @@ public final class ApiFactory {
.
retryWhen
(
new
RetryHelper
(
3
));
}
public
static
Observable
<
Pager
<
Vip
>>
queryUserDetailByWD
(
String
keyword
)
{
return
Api
.
getInstance
().
service
.
queryDetailByWD
(
keyword
,
0
,
200
)
.
onErrorReturn
(
new
ErrorFilter
<>())
.
map
(
new
ResultFilter
<>())
.
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
retryWhen
(
new
RetryHelper
(
3
));
}
public
static
Observable
<
Pager
<
Vip
>>
queryUserDetailByWD
(
String
keyword
,
int
pageNumber
)
{
return
Api
.
getInstance
().
service
.
queryDetailByWD
(
keyword
,
pageNumber
,
12
)
.
onErrorReturn
(
new
ErrorFilter
<>())
...
...
@@ -972,6 +989,14 @@ public final class ApiFactory {
}
public
static
Observable
<
Pager
<
Vip
>>
getVipList
(
int
pageNumber
,
String
vipLevel
)
{
if
(
vipLevel
==
null
)
{
return
Api
.
getInstance
().
service
.
getAllVipList
(
pageNumber
,
12
)
.
onErrorReturn
(
new
ErrorFilter
<>())
.
map
(
new
ResultFilter
<>())
.
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
retryWhen
(
new
RetryHelper
(
3
));
}
else
{
return
Api
.
getInstance
().
service
.
getVipList
(
vipLevel
,
pageNumber
,
12
)
.
onErrorReturn
(
new
ErrorFilter
<>())
.
map
(
new
ResultFilter
<>())
...
...
@@ -980,6 +1005,8 @@ public final class ApiFactory {
.
retryWhen
(
new
RetryHelper
(
3
));
}
}
public
static
Observable
<
Vip
>
addVip
(
Vip
user
)
{
return
Api
.
getInstance
().
service
.
addVip
(
user
)
.
onErrorReturn
(
new
ErrorFilter
<>())
...
...
app/src/main/java/com/xingdata/zzdpos/api/ApiService.java
View file @
6ff74a0a
...
...
@@ -313,6 +313,8 @@ interface ApiService {
@POST
(
C
.
URL
.
TRULE
.
truleQuery
)
Observable
<
HttpMessage
<
Pager
<
Trule
>>>
truleQuery
(
@Query
(
"startDate"
)
String
data
);
@POST
(
C
.
URL
.
TRULE
.
truleQuery
)
Observable
<
HttpMessage
<
Pager
<
Trule
>>>
truleQueryByVipId
(
@Query
(
"vipId"
)
long
vipId
);
@POST
(
C
.
URL
.
TRULE
.
truleDetail
)
Observable
<
HttpMessage
<
String
>>
truleDetail
(
@Query
(
"id"
)
String
id
);
...
...
@@ -437,5 +439,9 @@ interface ApiService {
@Query
(
"pageNumber"
)
int
pageNumber
,
@Query
(
"pageSize"
)
int
pageSize
);
@POST
(
C
.
URL
.
VIP
.
query
)
Observable
<
HttpMessage
<
Pager
<
Vip
>>>
getAllVipList
(
@Query
(
"pageNumber"
)
int
pageNumber
,
@Query
(
"pageSize"
)
int
pageSize
);
}
app/src/main/java/com/xingdata/zzdpos/db/DBFactory.java
View file @
6ff74a0a
...
...
@@ -16,6 +16,7 @@ import com.xingdata.zzdpos.model.Ussku;
import
com.xingdata.zzdpos.ui.main.MainPresenter
;
import
com.xingdata.zzdpos.ui.settle.SettlePresenter
;
import
com.xingdata.zzdpos.ui.store.StorePresenter
;
import
com.xingdata.zzdpos.ui.vip.VipPresenter
;
import
com.xingdata.zzdpos.util.StringUtil
;
import
java.text.SimpleDateFormat
;
...
...
@@ -167,7 +168,21 @@ public class DBFactory {
.
flatMap
(
ms
->
Observable
.
just
(
getList
(
ms
)));
}
}
public
static
class
Vip
{
/**
* 查询支付渠道
*
* @return 支付渠道
*/
public
static
Observable
<
List
<
Pay
>>
queryPays
()
{
RealmQuery
<
Pay
>
query
=
DB
.
getInstance
().
get
(
VipPresenter
.
class
).
where
(
Pay
.
class
);
query
.
equalTo
(
"payDispFlag"
,
1
);
return
Observable
.
just
(
query
.
findAllSorted
(
"payType"
,
Sort
.
ASCENDING
))
.
flatMap
(
pays
->
Observable
.
just
(
getList
(
pays
)));
}
}
public
static
class
Settle
{
/**
* 查询支付渠道
...
...
@@ -182,6 +197,8 @@ public class DBFactory {
.
flatMap
(
pays
->
Observable
.
just
(
getList
(
pays
)));
}
/**
* 查询营销活动
*
...
...
app/src/main/java/com/xingdata/zzdpos/model/Saleorder.java
View file @
6ff74a0a
...
...
@@ -960,7 +960,7 @@ public class Saleorder extends SectionEntity<MediaStore.Video> implements BaseMo
@Override
public
String
getPayAmt
()
{
return
ConvertUtil
.
fenToYuan
(
orderPayAmt
);
return
ConvertUtil
.
fenToYuan
(
orderPayAmt
,
true
);
}
@Override
...
...
app/src/main/java/com/xingdata/zzdpos/model/Salepay.java
View file @
6ff74a0a
...
...
@@ -33,6 +33,9 @@ public class Salepay {
public
String
getPayName
()
{
String
payName
=
""
;
if
(
payType
==
null
){
payType
=
999
;
}
switch
(
payType
)
{
case
C
.
PAY_CHANNEL
.
CASH
:
payName
=
"现金"
;
...
...
@@ -52,6 +55,8 @@ public class Salepay {
case
C
.
PAY_CHANNEL
.
TALLY
:
payName
=
"赊账"
;
break
;
default
:
payName
=
"--"
;
}
return
payName
;
}
...
...
app/src/main/java/com/xingdata/zzdpos/model/VipRechangeOrder.java
0 → 100644
View file @
6ff74a0a
package
com
.
xingdata
.
zzdpos
.
model
;
import
com.xingdata.api.print.entity.BaseGoodPrint
;
import
com.xingdata.api.print.entity.BaseOrderPrint
;
import
com.xingdata.zzdpos.ui.login.LoginPresenter
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
java.util.List
;
/**
* Created by Administrator on 2017/12/15.
*/
public
class
VipRechangeOrder
implements
BaseOrderPrint
{
private
Long
cardAmtPay
;
private
Long
cardAmtSend
;
private
Long
rechangeBefore
;
private
Long
rechangeAfter
;
private
String
vipName
;
private
String
rctraceNo
;
private
String
vipMobile
;
private
Long
createTime
;
public
Long
getCreateTime
()
{
return
createTime
;
}
public
void
setCreateTime
(
Long
createTime
)
{
this
.
createTime
=
createTime
;
}
public
Long
getCardAmtPay
()
{
return
cardAmtPay
;
}
public
void
setCardAmtPay
(
Long
cardAmtPay
)
{
this
.
cardAmtPay
=
cardAmtPay
;
}
public
Long
getCardAmtSend
()
{
return
cardAmtSend
;
}
public
void
setCardAmtSend
(
Long
cardAmtSend
)
{
this
.
cardAmtSend
=
cardAmtSend
;
}
public
String
getVipName
()
{
return
vipName
;
}
public
void
setVipName
(
String
vipName
)
{
this
.
vipName
=
vipName
;
}
public
String
getRctraceNo
()
{
return
rctraceNo
;
}
public
void
setRctraceNo
(
String
rctraceNo
)
{
this
.
rctraceNo
=
rctraceNo
;
}
public
String
getVipMobile
()
{
return
vipMobile
;
}
public
void
setVipMobile
(
String
vipMobile
)
{
this
.
vipMobile
=
vipMobile
;
}
public
Long
getRechangeBefore
()
{
return
rechangeBefore
;
}
public
void
setRechangeBefore
(
Long
rechangeBefore
)
{
this
.
rechangeBefore
=
rechangeBefore
;
}
public
Long
getRechangeAfter
()
{
return
rechangeAfter
;
}
public
void
setRechangeAfter
(
Long
rechangeAfter
)
{
this
.
rechangeAfter
=
rechangeAfter
;
}
public
String
getVipname
()
{
return
vipName
;
}
public
void
setVipname
(
String
vipname
)
{
this
.
vipName
=
vipname
;
}
@Override
public
String
getPayAmt
()
{
if
(
cardAmtSend
!=
null
&&
cardAmtSend
!=
0
){
return
ConvertUtil
.
fenToYuan
(
cardAmtPay
,
false
)+
"+"
+
ConvertUtil
.
fenToYuan
(
cardAmtSend
,
false
);
}
else
{
return
ConvertUtil
.
fenToYuan
(
cardAmtPay
,
false
);
}
}
@Override
public
String
getVip_money
()
{
return
ConvertUtil
.
fenToYuan
(
getRechangeAfter
(),
false
);
}
@Override
public
String
getBalanceOld
()
{
return
ConvertUtil
.
fenToYuan
(
getRechangeBefore
(),
false
);
}
@Override
public
String
getTitle
()
{
return
LoginPresenter
.
loginReturnBean
.
getMerNameAbcn
();
}
@Override
public
String
getStore
()
{
return
LoginPresenter
.
loginReturnBean
.
getShopNameAbcn
();
}
@Override
public
String
getOrderNo
()
{
return
rctraceNo
;
}
@Override
public
String
getOrderTime
()
{
return
com
.
blankj
.
utilcode
.
util
.
TimeUtils
.
millis2String
(
createTime
);
}
@Override
public
String
getCasherName
()
{
return
LoginPresenter
.
loginReturnBean
.
getOperName
();
}
@Override
public
String
getUserName
()
{
return
vipName
+
"("
+
vipMobile
.
substring
(
vipMobile
.
length
()-
4
)+
")"
;
}
@Override
public
String
getPayChannel
()
{
return
null
;
}
@Override
public
String
getPayChange
()
{
return
null
;
}
@Override
public
String
getGoodsCnt
()
{
return
null
;
}
@Override
public
String
getGoodsAmtSum
()
{
return
null
;
}
@Override
public
String
getGoodsReduPer
()
{
return
null
;
}
@Override
public
String
getGoodsReduAmt
()
{
return
null
;
}
@Override
public
List
<
BaseGoodPrint
>
getGoodList
()
{
return
null
;
}
@Override
public
String
getDRAW_URL
()
{
return
null
;
}
@Override
public
String
getPrint_state
()
{
return
null
;
}
@Override
public
String
getOper_mobile
()
{
return
null
;
}
@Override
public
String
getStore_tel
()
{
return
null
;
}
@Override
public
String
getSupplier
()
{
return
null
;
}
}
app/src/main/java/com/xingdata/zzdpos/ui/main/MainActivity.java
View file @
6ff74a0a
...
...
@@ -42,6 +42,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
private
List
<
ItemMenuBottomBinding
>
itemMenuBottomBindings
=
new
ArrayList
<>();
private
HandoverDialog
mHandoverDialog
=
new
HandoverDialog
();
LoadingDialog
mLoadingDialog
=
new
LoadingDialog
();
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
activity_main
;
...
...
@@ -49,7 +50,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
@Override
public
void
initView
()
{
mainActivity
=
this
;
mainActivity
=
this
;
mPresenter
.
initHandoverInfo
();
List
<
BaseFragment
>
fragments
=
new
ArrayList
<>();
fragments
.
add
(
new
CasherFragment
());
...
...
@@ -163,4 +164,9 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
public
void
showHandoverDialog
()
{
mHandoverDialog
.
show
(
this
);
}
@Override
public
void
onBackPressedSupport
()
{
}
}
app/src/main/java/com/xingdata/zzdpos/ui/main/fragment/CasherFragment.java
View file @
6ff74a0a
package
com
.
xingdata
.
zzdpos
.
ui
.
main
.
fragment
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.support.v7.widget.GridLayoutManager
;
import
android.view.View
;
...
...
@@ -28,6 +29,8 @@ import java.util.List;
public
class
CasherFragment
extends
BaseFragment
<
MainPresenter
,
FragmentCasherBinding
>
{
private
MenuRecyclerAdapter
mMenuRecyclerAdapter
;
private
List
<
Integer
>
integers
;
private
Bundle
bundle
;
private
Intent
intent
;
@Override
public
int
getLayoutId
()
{
...
...
@@ -55,11 +58,20 @@ public class CasherFragment extends BaseFragment<MainPresenter, FragmentCasherBi
public
void
onItemClick
(
BaseQuickAdapter
adapter
,
View
view
,
int
position
)
{
switch
((
int
)
adapter
.
getData
().
get
(
position
))
{
case
C
.
MENU
.
MENU_VIP
:
//会员
ActivityUtils
.
startActivity
(
new
Intent
(
getActivity
(),
VipActivity
.
class
));
bundle
=
new
Bundle
();
intent
=
new
Intent
(
getActivity
(),
VipActivity
.
class
);
bundle
.
putInt
(
"vipState"
,
0
);
intent
.
putExtras
(
bundle
);
ActivityUtils
.
startActivity
(
intent
);
break
;
case
C
.
MENU
.
MENU_RECHARGE
:
//充值
bundle
=
new
Bundle
();
intent
=
new
Intent
(
getActivity
(),
VipActivity
.
class
);
bundle
.
putInt
(
"vipState"
,
1
);
intent
.
putExtras
(
bundle
);
ActivityUtils
.
startActivity
(
intent
);
break
;
case
C
.
MENU
.
MENU_MS
:
//营销
ActivityUtils
.
startActivity
(
new
Intent
(
getActivity
(),
...
...
app/src/main/java/com/xingdata/zzdpos/ui/manage/manageMenu/ManageMenuActivity.java
View file @
6ff74a0a
...
...
@@ -15,6 +15,7 @@ import com.xingdata.zzdpos.ui.manage.inventory.InventoryActivity;
import
com.xingdata.zzdpos.ui.manage.otherselect.OtherSelectActivity
;
import
com.xingdata.zzdpos.ui.manage.replenishment.ReplenishmentActivity
;
import
com.xingdata.zzdpos.ui.manage.sssku.SsskuActivity
;
import
com.xingdata.zzdpos.ui.manage.user.UserActivity
;
import
com.xingdata.zzdpos.ui.marketing.marketingMenu.adapter.MarketingMenuAdapter
;
import
com.xingdata.zzdpos.util.OnClickListener
;
...
...
@@ -57,7 +58,7 @@ public class ManageMenuActivity extends AppCompatActivity {
public
void
onItemClick
(
BaseQuickAdapter
adapter
,
View
view
,
int
position
)
{
switch
(
marketingMenuAdapter
.
getData
().
get
(
position
))
{
case
C
.
MENU
.
MENU_MANAGER_OPER
:
{
ActivityUtils
.
startActivity
(
ManageMenuActivity
.
this
,
UserActivity
.
class
);
}
break
;
case
C
.
MENU
.
MENU_MANAGER_GOODS
:
{
...
...
app/src/main/java/com/xingdata/zzdpos/ui/manage/user/UserActivity.java
0 → 100644
View file @
6ff74a0a
package
com
.
xingdata
.
zzdpos
.
ui
.
manage
.
user
;
import
android.os.Bundle
;
import
android.view.View
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseActivity
;
import
com.xingdata.zzdpos.databinding.ActivityUserBinding
;
import
com.xingdata.zzdpos.databinding.ActivityVipBinding
;
import
com.xingdata.zzdpos.model.Level
;
import
com.xingdata.zzdpos.model.Mscard
;
import
com.xingdata.zzdpos.model.Oper
;
import
com.xingdata.zzdpos.model.Pager
;
import
com.xingdata.zzdpos.model.Pay
;
import
com.xingdata.zzdpos.model.Saleorder
;
import
com.xingdata.zzdpos.model.Sta
;
import
com.xingdata.zzdpos.model.Ticket
;
import
com.xingdata.zzdpos.model.Trule
;
import
com.xingdata.zzdpos.model.Vip
;
import
com.xingdata.zzdpos.model.VipRechargeOrder
;
import
com.xingdata.zzdpos.ui.dialog.PromptDialog
;
import
com.xingdata.zzdpos.ui.manage.user.fragment.UserListFragment
;
import
com.xingdata.zzdpos.ui.vip.VipContract
;
import
com.xingdata.zzdpos.ui.vip.VipPresenter
;
import
com.xingdata.zzdpos.view.ViewTools
;
import
java.util.List
;
public
class
UserActivity
extends
BaseActivity
<
UserPresenter
,
ActivityUserBinding
>
implements
UserContract
.
View
{
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
activity_user
;
}
@Override
public
void
initView
()
{
loadRootFragment
(
R
.
id
.
user_frame
,
mPresenter
.
userListFragment
,
true
,
false
);
}
@Override
public
void
queryOperSus
(
Pager
<
Oper
>
operPager
)
{
mPresenter
.
userListFragment
.
queryOperSus
(
operPager
);
}
}
app/src/main/java/com/xingdata/zzdpos/ui/manage/user/UserContract.java
0 → 100644
View file @
6ff74a0a
package
com
.
xingdata
.
zzdpos
.
ui
.
manage
.
user
;
import
com.xingdata.zzdpos.base.BasePresenter
;
import
com.xingdata.zzdpos.base.BaseView
;
import
com.xingdata.zzdpos.model.Level
;
import
com.xingdata.zzdpos.model.Mscard
;
import
com.xingdata.zzdpos.model.Oper
;
import
com.xingdata.zzdpos.model.Pager
;
import
com.xingdata.zzdpos.model.Pay
;
import
com.xingdata.zzdpos.model.Saleorder
;
import
com.xingdata.zzdpos.model.Sta
;
import
com.xingdata.zzdpos.model.Ticket
;
import
com.xingdata.zzdpos.model.Trule
;
import
com.xingdata.zzdpos.model.Vip
;
import
com.xingdata.zzdpos.model.VipRechargeOrder
;
import
java.util.List
;
public
interface
UserContract
{
interface
View
extends
BaseView
{
void
queryOperSus
(
Pager
<
Oper
>
operPager
);
}
abstract
class
Presenter
extends
BasePresenter
<
View
>
{
public
abstract
void
getUserList
(
String
wd
);
}
}
\ No newline at end of file
app/src/main/java/com/xingdata/zzdpos/ui/manage/user/UserPresenter.java
0 → 100644
View file @
6ff74a0a
package
com
.
xingdata
.
zzdpos
.
ui
.
manage
.
user
;
import
com.xingdata.zzdpos.api.ApiFactory
;
import
com.xingdata.zzdpos.ui.manage.user.fragment.UserListFragment
;
public
class
UserPresenter
extends
UserContract
.
Presenter
{
public
UserListFragment
userListFragment
=
new
UserListFragment
();
@Override
public
void
onAttached
()
{
}
@Override
public
void
getUserList
(
String
wd
)
{
ApiFactory
.
Oper
.
queryOper
(
wd
).
subscribe
(
operPager
->
{
},
throwable
->
{
});
}
}
app/src/main/java/com/xingdata/zzdpos/ui/manage/user/adapter/UserListAdapter.java
0 → 100644
View file @
6ff74a0a
package
com
.
xingdata
.
zzdpos
.
ui
.
manage
.
user
.
adapter
;
import
android.content.Context
;
import
android.support.annotation.Nullable
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseAdapter
;
import
com.xingdata.zzdpos.databinding.ItemUserListItemBinding
;
import
com.xingdata.zzdpos.databinding.ItemVipListItemBinding
;
import
com.xingdata.zzdpos.model.Oper
;
import
com.xingdata.zzdpos.model.Vip
;
import
com.xingdata.zzdpos.ui.marketing.ms.model.User
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
java.util.List
;
/**
* Created by JM_DEV on 2017/12/25.
*/
public
class
UserListAdapter
extends
BaseAdapter
<
Oper
,
ItemUserListItemBinding
>
{
private
Context
mContext
;
public
UserListAdapter
(
Context
mContext
,
@Nullable
List
<
Oper
>
data
)
{
super
(
R
.
layout
.
item_user_list_item
,
data
);
this
.
mContext
=
mContext
;
}
@Override
protected
void
convert
(
ItemUserListItemBinding
mViewBinding
,
Oper
item
)
{
}
}
app/src/main/java/com/xingdata/zzdpos/ui/manage/user/fragment/UserListFragment.java
0 → 100644
View file @
6ff74a0a
package
com
.
xingdata
.
zzdpos
.
ui
.
manage
.
user
.
fragment
;
/**
* Created by JM_DEV on 2017/12/21.
*/
import
android.annotation.SuppressLint
;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.view.Gravity
;
import
android.view.View
;
import
android.widget.LinearLayout
;
import
android.widget.RadioButton
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseActivity
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.databinding.FragmentUserListBinding
;
import
com.xingdata.zzdpos.databinding.FragmentVipListBinding
;
import
com.xingdata.zzdpos.model.Level
;
import
com.xingdata.zzdpos.model.Oper
;
import
com.xingdata.zzdpos.model.Pager
;
import
com.xingdata.zzdpos.model.Sta
;
import
com.xingdata.zzdpos.model.Vip
;
import
com.xingdata.zzdpos.ui.manage.user.UserPresenter
;
import
com.xingdata.zzdpos.ui.manage.user.adapter.UserListAdapter
;
import
com.xingdata.zzdpos.ui.vip.VipPresenter
;
import
com.xingdata.zzdpos.ui.vip.adapter.VipListAdapter
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* 店员管理界面
*/
public
class
UserListFragment
extends
BaseFragment
<
UserPresenter
,
FragmentUserListBinding
>
{
private
UserListAdapter
adapter
;
private
List
<
Oper
>
opers
=
new
ArrayList
<>();
private
List
<
Level
>
levels
=
null
;
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
fragment_user_list
;
}
@Override
public
void
initView
()
{
adapter
=
new
UserListAdapter
(
getActivity
(),
opers
);
mViewBinding
.
userRecyclerView
.
setLayoutManager
(
new
LinearLayoutManager
(
getActivity
()));
mViewBinding
.
userRecyclerView
.
setAdapter
(
adapter
);
adapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
{
});
adapter
.
setOnLoadMoreListener
(
this
::
onLoadMore
,
mViewBinding
.
userRecyclerView
);
adapter
.
setEnableLoadMore
(
true
);
mViewBinding
.
titleSearch
.
onBack
.
setOnClickListener
(
view
->
{
getActivity
().
finish
();
});
mViewBinding
.
setOnClickListener
(
view
->
{
switch
(
view
.
getId
())
{
case
R
.
id
.
addUser
:
break
;
}
});
onRefresh
();
}
private
void
onLoadMore
(){
}
public
void
onRefresh
()
{
mPresenter
.
getUserList
(
null
);
}
public
void
queryOperSus
(
Pager
<
Oper
>
operPager
)
{
adapter
.
setNewData
(
operPager
.
getList
());
}
}
app/src/main/java/com/xingdata/zzdpos/ui/settle/fragment/SettleFragment.java
View file @
6ff74a0a
...
...
@@ -213,11 +213,10 @@ public class SettleFragment extends BaseFragment<SettlePresenter, FragmentSettle
* 加载支付方式
*/
public
void
loadPays
(
List
<
Pay
>
pays
)
{
for
(
int
i
=
0
;
i
<
pays
.
size
();
i
++)
{
pays
.
get
(
i
).
init
();
}
mPays
.
addAll
(
pays
);
mPayAdapter
.
setNewData
(
getAvlPays
(
Vip
.
createDefault
()));
// for (int i = 0; i < pays.size(); i++) {
// pays.get(i).init();
// }
mPayAdapter
.
setNewData
(
pays
);
}
...
...
app/src/main/java/com/xingdata/zzdpos/ui/statistics/StatisticsDetailActivity.java
View file @
6ff74a0a
...
...
@@ -26,6 +26,7 @@ import com.xingdata.zzdpos.databinding.ViewVipRechargeBinding;
import
com.xingdata.zzdpos.model.Cs
;
import
com.xingdata.zzdpos.model.Saledetail
;
import
com.xingdata.zzdpos.model.Saleorder
;
import
com.xingdata.zzdpos.model.Salepay
;
import
com.xingdata.zzdpos.model.Ticket
;
import
com.xingdata.zzdpos.model.VipRechargeOrder
;
import
com.xingdata.zzdpos.ui.dialog.LoadingDialog
;
...
...
@@ -34,6 +35,9 @@ import com.xingdata.zzdpos.ui.manage.inventory.adpter.InventoryDetailAdapter;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
com.xingdata.zzdpos.util.OnClickListener
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
StatisticsDetailActivity
extends
BaseActivity
<
StatisticsDetailPresenter
,
ActivityStatisticsDetailBinding
>
implements
StatisticsDetailContract
.
View
{
...
...
@@ -121,7 +125,7 @@ public class StatisticsDetailActivity extends BaseActivity<StatisticsDetailPrese
mViewBinding
.
btnReturn
.
setOnClickListener
(
new
OnClickListener
()
{
@Override
protected
void
myOnClickListener
(
View
v
)
{
ZX_PrintPOS
.
getInstance
(
MainActivity
.
mainActivity
).
print
(
1
,
cs
);
ZX_PrintPOS
.
getInstance
(
MainActivity
.
mainActivity
).
print
Inventory
(
1
,
cs
);
mViewBinding
.
btnReturn
.
setEnabled
(
false
);
mViewBinding
.
btnReturn
.
setText
(
"已打印"
);
...
...
@@ -233,7 +237,12 @@ public class StatisticsDetailActivity extends BaseActivity<StatisticsDetailPrese
mViewBinding
.
btnPrint
.
setOnClickListener
(
new
OnClickListener
()
{
@Override
protected
void
myOnClickListener
(
View
v
)
{
ZX_PrintPOS
.
getInstance
(
MainActivity
.
mainActivity
).
print
(
1
,
mSaleorder
);
try
{
ZX_PrintPOS
.
getInstance
(
StatisticsDetailActivity
.
this
).
print
(
1
,
mSaleorder
);
}
catch
(
Exception
e
)
{
ToastUtils
.
showShort
(
"打印异常"
);
}
mViewBinding
.
btnPrint
.
setEnabled
(
false
);
mViewBinding
.
btnPrint
.
setText
(
"已打印"
);
}
...
...
app/src/main/java/com/xingdata/zzdpos/ui/statistics/fragment/StatisticsTitleFragment.java
View file @
6ff74a0a
...
...
@@ -39,9 +39,10 @@ public class StatisticsTitleFragment extends BaseFragment<StatisticsPresenter, F
@Override
public
void
initView
()
{
mViewBinding
.
viewLine
.
setVisibility
(
View
.
VISIBLE
);
switch
(
fragmentMenu
)
{
case
C
.
MENU
.
MENU_STATISTICS_ORDER
:
mViewBinding
.
viewLine
.
setVisibility
(
View
.
GONE
);
FragmentUtils
.
add
(
getChildFragmentManager
(),
mOrderMainFragment
,
mViewBinding
.
mainFrame
.
getId
(),
false
,
true
);
mViewBinding
.
icTitle
.
edTitle
.
setOnFocusChangeListener
(
new
View
.
OnFocusChangeListener
()
{
...
...
@@ -105,6 +106,7 @@ public class StatisticsTitleFragment extends BaseFragment<StatisticsPresenter, F
break
;
case
C
.
MENU
.
MENU_STATISTICS_MS
:
mViewBinding
.
viewLine
.
setVisibility
(
View
.
GONE
);
FragmentUtils
.
add
(
getChildFragmentManager
(),
mMsMainFragment
,
mViewBinding
.
mainFrame
.
getId
(),
false
,
true
);
mViewBinding
.
icTitle
.
edTitle
.
setVisibility
(
View
.
GONE
);
mViewBinding
.
icTitle
.
tvTitle
.
setText
(
R
.
string
.
menu_ms
);
...
...
@@ -123,6 +125,7 @@ public class StatisticsTitleFragment extends BaseFragment<StatisticsPresenter, F
mViewBinding
.
icTitle
.
setOnClickListener
(
new
OnClickListener
()
{
@Override
protected
void
myOnClickListener
(
View
v
)
{
mViewBinding
.
viewLine
.
setVisibility
(
View
.
GONE
);
if
(
mViewBinding
.
icTitle
.
edTitle
.
isFocused
())
{
mViewBinding
.
icTitle
.
edTitle
.
clearFocus
();
return
;
...
...
@@ -150,6 +153,7 @@ public class StatisticsTitleFragment extends BaseFragment<StatisticsPresenter, F
}
public
void
searchSuc
(
Pager
<
Saleorder
>
saleorderPager
,
int
payType
)
{
mViewBinding
.
viewLine
.
setVisibility
(
View
.
VISIBLE
);
if
(
mViewBinding
.
icTitle
.
edTitle
.
isFocused
())
{
mViewBinding
.
icTitle
.
edTitle
.
clearFocus
();
}
...
...
@@ -163,6 +167,7 @@ public class StatisticsTitleFragment extends BaseFragment<StatisticsPresenter, F
}
public
void
searchSuc
(
Pager
<
Saleorder
>
saleorderPager
,
String
wd
)
{
mViewBinding
.
viewLine
.
setVisibility
(
View
.
VISIBLE
);
if
(
mViewBinding
.
icTitle
.
edTitle
.
isFocused
())
{
mViewBinding
.
icTitle
.
edTitle
.
clearFocus
();
}
...
...
@@ -177,6 +182,7 @@ public class StatisticsTitleFragment extends BaseFragment<StatisticsPresenter, F
}
public
void
searchSuc
(
Pager
<
Saleorder
>
saleorderPager
,
long
start
,
long
end
)
{
mViewBinding
.
viewLine
.
setVisibility
(
View
.
VISIBLE
);
if
(
mViewBinding
.
icTitle
.
edTitle
.
isFocused
())
{
mViewBinding
.
icTitle
.
edTitle
.
clearFocus
();
}
...
...
@@ -191,6 +197,7 @@ public class StatisticsTitleFragment extends BaseFragment<StatisticsPresenter, F
public
void
searchRechargeSuc
(
Pager
<
VipRechargeOrder
>
vipRechargeOrderPager
,
long
start
,
long
end
)
{
mViewBinding
.
viewLine
.
setVisibility
(
View
.
VISIBLE
);
if
(!
mRechargeSearchFragment
.
isAdded
())
{
mRechargeSearchFragment
.
setCreateData
(
vipRechargeOrderPager
,
start
,
end
);
FragmentUtils
.
add
(
getChildFragmentManager
(),
mRechargeSearchFragment
,
mViewBinding
.
mainFrame
.
getId
(),
false
,
true
);
...
...
@@ -201,6 +208,7 @@ public class StatisticsTitleFragment extends BaseFragment<StatisticsPresenter, F
}
public
void
searchTicketSuc
(
Pager
<
Ticket
>
ticketPager
,
long
start
,
long
end
)
{
mViewBinding
.
viewLine
.
setVisibility
(
View
.
VISIBLE
);
if
(!
mTicketSearchFragment
.
isAdded
())
{
mTicketSearchFragment
.
setCreateData
(
ticketPager
,
start
,
end
);
FragmentUtils
.
add
(
getChildFragmentManager
(),
mTicketSearchFragment
,
mViewBinding
.
mainFrame
.
getId
(),
false
,
true
);
...
...
@@ -212,6 +220,7 @@ public class StatisticsTitleFragment extends BaseFragment<StatisticsPresenter, F
@Override
public
boolean
onBackPressedSupport
()
{
mViewBinding
.
viewLine
.
setVisibility
(
View
.
GONE
);
if
(
mViewBinding
.
icTitle
.
edTitle
.
isFocused
())
{
mViewBinding
.
icTitle
.
edTitle
.
clearFocus
();
return
true
;
...
...
app/src/main/java/com/xingdata/zzdpos/ui/vip/VipActivity.java
View file @
6ff74a0a
package
com
.
xingdata
.
zzdpos
.
ui
.
vip
;
import
android.os.Bundle
;
import
android.view.View
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseActivity
;
import
com.xingdata.zzdpos.databinding.ActivityVipBinding
;
import
com.xingdata.zzdpos.model.Level
;
import
com.xingdata.zzdpos.model.Mscard
;
import
com.xingdata.zzdpos.model.Pager
;
import
com.xingdata.zzdpos.model.Pay
;
import
com.xingdata.zzdpos.model.Saleorder
;
import
com.xingdata.zzdpos.model.Sta
;
import
com.xingdata.zzdpos.model.Ticket
;
import
com.xingdata.zzdpos.model.Trule
;
import
com.xingdata.zzdpos.model.Vip
;
import
com.xingdata.zzdpos.model.VipRechargeOrder
;
import
com.xingdata.zzdpos.ui.dialog.PromptDialog
;
import
com.xingdata.zzdpos.ui.vip.fragment.VipInfoEditFragment
;
import
com.xingdata.zzdpos.ui.vip.fragment.VipListFragment
;
import
com.xingdata.zzdpos.view.ViewTools
;
import
java.util.List
;
public
class
VipActivity
extends
BaseActivity
<
VipPresenter
,
ActivityVipBinding
>
implements
VipContract
.
View
{
private
Bundle
mBundle
;
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
activity_vip
;
}
@Override
public
void
initView
()
{
mBundle
=
getIntent
().
getExtras
();
mPresenter
.
vipListFragment
.
setVipState
(
mBundle
.
getInt
(
"vipState"
));
loadRootFragment
(
R
.
id
.
vip_frame
,
mPresenter
.
vipListFragment
,
true
,
false
);
}
...
...
@@ -53,9 +64,43 @@ public class VipActivity extends BaseActivity<VipPresenter, ActivityVipBinding>
mPresenter
.
vipRechargeListFragment
.
getRechargeOrderSus
(
rechargeOrderPager
);
}
@Override
public
void
getTruleSus
(
Pager
<
Trule
>
trulePager
)
{
mPresenter
.
vipMscardListFragment
.
getTruleSus
(
trulePager
);
}
@Override
public
void
searchVipSus
(
Pager
<
Vip
>
vips
)
{
mPresenter
.
vipSearchFragment
.
searchVipSus
(
vips
);
}
@Override
public
void
getMscardSus
(
Pager
<
Mscard
>
mscardPager
)
{
mPresenter
.
vipMscardListFragment
.
getMscardSus
(
mscardPager
);
mPresenter
.
vipRechargeFragment
.
getMscardSus
(
mscardPager
);
}
@Override
public
void
loadPays
(
List
<
Pay
>
pays
)
{
mPresenter
.
vipRechargeFragment
.
loadPays
(
pays
);
}
@Override
public
void
rechangeSus
(
Vip
v
)
{
ViewTools
.
toastSuss
(
this
,
"充值成功"
);
mPresenter
.
vipRechargeFragment
.
pop
();
mPresenter
.
vipListFragment
.
onRefresh
();
}
@Override
public
void
rechangeErr
(
Vip
vip
,
Long
amtPay
,
Long
amtSend
,
String
mes
)
{
PromptDialog
promptDialog
=
new
PromptDialog
();
promptDialog
.
setDialogType
(
PromptDialog
.
PROMPTDIALOG_ERROR
,
"支付失败"
).
setCustomButton
(
"重新支付"
,
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
view
)
{
mPresenter
.
fullVip
(
vip
,
amtPay
,
amtSend
);
promptDialog
.
dismiss
();
}
}).
show
(
this
);
}
@Override
...
...
app/src/main/java/com/xingdata/zzdpos/ui/vip/VipContract.java
View file @
6ff74a0a
...
...
@@ -5,9 +5,11 @@ import com.xingdata.zzdpos.base.BaseView;
import
com.xingdata.zzdpos.model.Level
;
import
com.xingdata.zzdpos.model.Mscard
;
import
com.xingdata.zzdpos.model.Pager
;
import
com.xingdata.zzdpos.model.Pay
;
import
com.xingdata.zzdpos.model.Saleorder
;
import
com.xingdata.zzdpos.model.Sta
;
import
com.xingdata.zzdpos.model.Ticket
;
import
com.xingdata.zzdpos.model.Trule
;
import
com.xingdata.zzdpos.model.Vip
;
import
com.xingdata.zzdpos.model.VipRechargeOrder
;
...
...
@@ -32,9 +34,14 @@ public interface VipContract {
void
getSaleorderSus
(
Pager
<
Saleorder
>
saleorderPager
);
void
getRechargeOrderSus
(
Pager
<
VipRechargeOrder
>
rechargeOrderPager
);
void
getMscardSus
(
Pager
<
Mscard
>
rechargeOrderPager
);
void
getTruleSus
(
Pager
<
Trule
>
trulePager
);
void
searchVipSus
(
Pager
<
Vip
>
vips
);
void
getMscardSus
(
Pager
<
Mscard
>
mscardPager
);
void
loadPays
(
List
<
Pay
>
pays
);
void
rechangeSus
(
Vip
v
);
void
rechangeErr
(
Vip
v
,
Long
amtPay
,
Long
amtSend
,
String
mes
);
}
...
...
@@ -54,6 +61,12 @@ public interface VipContract {
public
abstract
void
rechargeorderQuery
(
Long
vipID
,
int
number
);
public
abstract
void
mscardQuery
(
Long
vipID
);
public
abstract
void
truleQuery
(
Long
vipID
);
public
abstract
void
searchVip
(
String
keyword
);
public
abstract
void
getMscardList
(
long
vipID
);
public
abstract
void
initSettle
();
public
abstract
void
fullVip
(
Vip
vipOld
,
Long
amtPay
,
Long
amtSend
);
}
}
\ No newline at end of file
app/src/main/java/com/xingdata/zzdpos/ui/vip/VipPresenter.java
View file @
6ff74a0a
package
com
.
xingdata
.
zzdpos
.
ui
.
vip
;
import
android.annotation.SuppressLint
;
import
android.content.Context
;
import
android.view.Gravity
;
import
android.widget.LinearLayout
;
import
android.widget.RadioButton
;
import
com.blankj.utilcode.util.ToastUtils
;
import
com.xingdata.api.print.ZX_PrintPOS
;
import
com.xingdata.zzdpos.App
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.api.ApiFactory
;
import
com.xingdata.zzdpos.db.DBFactory
;
import
com.xingdata.zzdpos.model.Mscard
;
import
com.xingdata.zzdpos.model.Vip
;
import
com.xingdata.zzdpos.
ui.vip.fragment.VipMscardListFragment
;
import
com.xingdata.zzdpos.
model.VipRechargeOrder
;
import
com.xingdata.zzdpos.ui.vip.fragment.VipExpenseListFragment
;
import
com.xingdata.zzdpos.ui.vip.fragment.VipInfoEditFragment
;
import
com.xingdata.zzdpos.ui.vip.fragment.VipInfoFragment
;
import
com.xingdata.zzdpos.ui.vip.fragment.VipListFragment
;
import
com.xingdata.zzdpos.ui.vip.fragment.VipRechargeFragment
;
import
com.xingdata.zzdpos.ui.vip.fragment.VipRechargeListFragment
;
import
com.xingdata.zzdpos.ui.vip.fragment.VipSearchFragment
;
import
com.xingdata.zzdpos.ui.vip.fragment.VipTruleListFragment
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
VipPresenter
extends
VipContract
.
Presenter
{
public
VipListFragment
vipListFragment
=
new
VipListFragment
();
...
...
@@ -17,10 +34,14 @@ public class VipPresenter extends VipContract.Presenter {
public
VipInfoFragment
vipInfoFragment
=
new
VipInfoFragment
();
public
VipExpenseListFragment
vipExpenseListFragment
=
new
VipExpenseListFragment
();
public
VipRechargeListFragment
vipRechargeListFragment
=
new
VipRechargeListFragment
();
public
VipMscardListFragment
vipMscardListFragment
=
new
VipMscardListFragment
();
public
VipTruleListFragment
vipMscardListFragment
=
new
VipTruleListFragment
();
public
VipSearchFragment
vipSearchFragment
=
new
VipSearchFragment
();
public
VipRechargeFragment
vipRechargeFragment
=
new
VipRechargeFragment
();
public
int
inVipState
=
0
;
//1 充值
@Override
public
void
onAttached
()
{
this
.
initRealm
();
}
...
...
@@ -92,7 +113,7 @@ public class VipPresenter extends VipContract.Presenter {
}
@Override
public
void
rechargeorderQuery
(
Long
vipID
,
int
number
)
{
public
void
rechargeorderQuery
(
Long
vipID
,
int
number
)
{
ApiFactory
.
Rctrace
.
queryRecharge
(
vipID
,
number
,
10
).
subscribe
(
rechargeOrderPager
->
{
mView
.
getRechargeOrderSus
(
rechargeOrderPager
);
},
throwable
->
{
...
...
@@ -102,16 +123,94 @@ public class VipPresenter extends VipContract.Presenter {
}
@Override
public
void
mscard
Query
(
Long
vipID
)
{
ApiFactory
.
MsCard
.
mscardQuery
(
vipID
).
subscribe
(
mscard
Pager
->
{
mView
.
get
MscardSus
(
mscard
Pager
);
public
void
trule
Query
(
Long
vipID
)
{
ApiFactory
.
TRULE
.
truleQueryByVipId
(
vipID
).
subscribe
(
trule
Pager
->
{
mView
.
get
TruleSus
(
trule
Pager
);
},
throwable
->
{
ToastUtils
.
showShort
(
throwable
.
getMessage
());
});
}
@Override
public
void
searchVip
(
String
keyword
)
{
ApiFactory
.
User
.
queryUserDetailByWD
(
keyword
).
subscribe
(
vipPager
->
{
mView
.
searchVipSus
(
vipPager
);
},
throwable
->
{
ToastUtils
.
showShort
(
throwable
.
getMessage
());
});
}
@Override
public
void
getMscardList
(
long
vipID
)
{
ApiFactory
.
MsCard
.
mscardQuery
(
vipID
).
subscribe
(
mscardPager
->
{
mView
.
getMscardSus
(
mscardPager
);
},
throwable
->
{
ToastUtils
.
showShort
(
throwable
.
getMessage
());
});
}
@SuppressLint
(
"ResourceType"
)
public
RadioButton
addRadioButton
(
Context
mContext
,
Mscard
mscard
)
{
RadioButton
radioButton
=
new
RadioButton
(
mContext
);
// ArrayList<RadioButton> radioButtons = new ArrayList<>();
radioButton
.
setTextSize
(
18
);
radioButton
.
setTag
(
mscard
.
getCruleGradeNo
());
radioButton
.
setText
(
"充:"
+
mscard
.
getCruleChargeAmt
()
/
100
);
radioButton
.
setButtonDrawable
(
null
);
radioButton
.
setGravity
(
Gravity
.
CENTER
);
radioButton
.
getPaint
().
setFakeBoldText
(
true
);
radioButton
.
setBackgroundResource
(
R
.
drawable
.
selector_paymoney_radiobutton_bg
);
radioButton
.
setTextColor
(
mContext
.
getResources
().
getColorStateList
(
R
.
drawable
.
selector_paymoney_textcolor_bg
));
return
radioButton
;
}
public
Mscard
getMaxRechange
(
List
<
Mscard
>
realm
,
Long
rechangeMoney
)
{
Mscard
mMscard
=
null
;
ArrayList
<
String
>
strings
=
new
ArrayList
<>();
long
rechangeM
=
0
;
for
(
Mscard
mscard
:
realm
)
{
if
(
rechangeMoney
>=
mscard
.
getCruleChargeAmt
())
{
rechangeM
=
mscard
.
getCruleChargeAmt
();
mMscard
=
mscard
;
}
}
return
mMscard
;
}
@Override
public
void
initSettle
()
{
// Realm.getInstance(App.instance.mRealmConfig).
DBFactory
.
Vip
.
queryPays
().
subscribe
(
pays
->
mView
.
loadPays
(
pays
),
throwable
->
{
}
);
// mView.setSettleFragmentBySettleMode(mSettleMode);
}
@Override
public
void
fullVip
(
Vip
vipOld
,
Long
amtPay
,
Long
amtSend
)
{
ApiFactory
.
Recard
.
fullVip
(
vipOld
.
getVipId
(),
amtPay
,
amtSend
).
subscribe
(
vip
->
{
VipRechargeOrder
mVipRechangeOrdervip
=
vip
.
getRctrace
();
mVipRechangeOrdervip
.
setCreateTime
(
vip
.
getUpdateTime
());
mVipRechangeOrdervip
.
setRechangeBefore
(
vipOld
.
getAcctCbal
());
mVipRechangeOrdervip
.
setRechangeAfter
(
vip
.
getAcctCbal
());
try
{
ZX_PrintPOS
.
getInstance
(
App
.
instance
).
printSave
(
1
,
mVipRechangeOrdervip
);
}
catch
(
Exception
e
){
ToastUtils
.
showShort
(
"打印异常"
);
}
mView
.
rechangeSus
(
vip
);
},
throwable
->
{
mView
.
rechangeErr
(
vipOld
,
amtPay
,
amtSend
,
throwable
.
getMessage
());
});
}
}
app/src/main/java/com/xingdata/zzdpos/ui/vip/adapter/Vip
Mscard
Adapter.java
→
app/src/main/java/com/xingdata/zzdpos/ui/vip/adapter/Vip
Trule
Adapter.java
View file @
6ff74a0a
...
...
@@ -3,14 +3,10 @@ package com.xingdata.zzdpos.ui.vip.adapter;
import
android.content.Context
;
import
android.support.annotation.Nullable
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseAdapter
;
import
com.xingdata.zzdpos.databinding.ItemVipExpenseItemBinding
;
import
com.xingdata.zzdpos.model.Mscard
;
import
com.xingdata.zzdpos.model.Saleorder
;
import
com.xingdata.zzdpos.model.VipRechargeOrder
;
import
com.xingdata.zzdpos.ui.login.LoginPresenter
;
import
com.xingdata.zzdpos.databinding.ItemVipMscardItemBinding
;
import
com.xingdata.zzdpos.model.Trule
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
com.xingdata.zzdpos.util.StringUtil
;
...
...
@@ -21,18 +17,30 @@ import java.util.List;
* Created by JM_DEV on 2017/12/25.
*/
public
class
Vip
MscardAdapter
extends
BaseAdapter
<
Mscard
,
ItemVipExpense
ItemBinding
>
{
public
class
Vip
TruleAdapter
extends
BaseAdapter
<
Trule
,
ItemVipMscard
ItemBinding
>
{
private
Context
mContext
;
private
String
shopName
;
public
Vip
MscardAdapter
(
Context
mContext
,
@Nullable
List
<
Mscard
>
data
)
{
super
(
R
.
layout
.
item_vip_
expense
_item
,
data
);
public
Vip
TruleAdapter
(
Context
mContext
,
@Nullable
List
<
Trule
>
data
)
{
super
(
R
.
layout
.
item_vip_
mscard
_item
,
data
);
this
.
mContext
=
mContext
;
}
@Override
protected
void
convert
(
ItemVipExpenseItemBinding
mViewBinding
,
Mscard
item
)
{
protected
void
convert
(
ItemVipMscardItemBinding
mViewBinding
,
Trule
item
)
{
mViewBinding
.
truleName
.
setText
(
item
.
getTruleName
());
mViewBinding
.
truleMoney
.
setText
(
ConvertUtil
.
fenToYuanNoZero
(
item
.
getTruleValAmt
()));
mViewBinding
.
truleValidity
.
setText
(
mContext
.
getString
(
R
.
string
.
vip_mscard_period_of_validity
,
StringUtil
.
format
(
new
Date
(
item
.
getTruleExp
()),
"yyyy.MM.dd"
),
StringUtil
.
format
(
new
Date
(
item
.
getTruleExp
()),
"yyyy.MM.dd"
)));
mViewBinding
.
truleCondition
.
setText
(
ConvertUtil
.
fenToYuanNoPoint
(
item
.
getTruleOrderAmt
()));
if
(
item
.
getTruleStatus
().
toString
().
equals
(
"0"
))
{
mViewBinding
.
truleBgLeft
.
setBackgroundResource
(
R
.
mipmap
.
return_ticket_one
);
mViewBinding
.
truleBgRight
.
setBackgroundResource
(
R
.
mipmap
.
return_ticket_two
);
}
else
{
mViewBinding
.
truleBgLeft
.
setBackgroundResource
(
R
.
mipmap
.
bg_return_ticket03
);
mViewBinding
.
truleBgRight
.
setBackgroundResource
(
R
.
mipmap
.
bg_return_ticket04
);
}
// mViewBinding.expenseMoney.setText(ConvertUtil.fenToYuan2(item.getCardAmtPay()));
// mViewBinding.expenseShop.setText(LoginPresenter.loginReturnBean.getShopNameAbcn());
// //设置支付方式
...
...
app/src/main/java/com/xingdata/zzdpos/ui/vip/dialog/VipEditMenuDialog.java
View file @
6ff74a0a
...
...
@@ -4,14 +4,11 @@ import com.xingdata.zzdpos.R;
import
com.xingdata.zzdpos.base.BaseActivity
;
import
com.xingdata.zzdpos.base.BaseSheetDialog
;
import
com.xingdata.zzdpos.databinding.DialogVipMenuBinding
;
import
com.xingdata.zzdpos.databinding.FragmentVipInfoBinding
;
import
com.xingdata.zzdpos.model.Level
;
import
com.xingdata.zzdpos.model.Vip
;
import
com.xingdata.zzdpos.ui.vip.VipContract
;
import
com.xingdata.zzdpos.ui.vip.VipPresenter
;
import
com.xingdata.zzdpos.ui.vip.fragment.VipExpenseListFragment
;
import
com.xingdata.zzdpos.ui.vip.fragment.VipInfoEditFragment
;
import
com.xingdata.zzdpos.ui.vip.fragment.Vip
Mscard
ListFragment
;
import
com.xingdata.zzdpos.ui.vip.fragment.Vip
Trule
ListFragment
;
import
com.xingdata.zzdpos.ui.vip.fragment.VipRechargeListFragment
;
import
java.util.List
;
...
...
@@ -49,7 +46,7 @@ public class VipEditMenuDialog extends BaseSheetDialog<VipPresenter, DialogVipMe
break
;
//優惠券詳情
case
R
.
id
.
voucherDetails
:
mPresenter
.
vipMscardListFragment
=
new
Vip
Mscard
ListFragment
();
mPresenter
.
vipMscardListFragment
=
new
Vip
Trule
ListFragment
();
mPresenter
.
vipMscardListFragment
.
setVip
(
mVip
);
((
BaseActivity
)
getActivity
()).
start
(
mPresenter
.
vipMscardListFragment
);
break
;
...
...
app/src/main/java/com/xingdata/zzdpos/ui/vip/fragment/VipListFragment.java
View file @
6ff74a0a
...
...
@@ -24,6 +24,7 @@ import com.xingdata.zzdpos.model.Sta;
import
com.xingdata.zzdpos.model.Vip
;
import
com.xingdata.zzdpos.ui.vip.VipPresenter
;
import
com.xingdata.zzdpos.ui.vip.adapter.VipListAdapter
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
@@ -37,6 +38,7 @@ public class VipListFragment extends BaseFragment<VipPresenter, FragmentVipListB
private
List
<
Level
>
levels
=
null
;
private
int
pageNumber
=
0
;
private
String
strVipLevle
;
private
int
vipState
=
0
;
//0 会员 1 充值
@Override
public
int
getLayoutId
()
{
...
...
@@ -48,6 +50,11 @@ public class VipListFragment extends BaseFragment<VipPresenter, FragmentVipListB
vipListAdapter
=
new
VipListAdapter
(
getActivity
(),
vips
);
mViewBinding
.
vipRecyclerView
.
setLayoutManager
(
new
LinearLayoutManager
(
getActivity
()));
mViewBinding
.
vipRecyclerView
.
setAdapter
(
vipListAdapter
);
if
(
vipState
!=
0
)
{
mViewBinding
.
vipCountAddTodayTitle
.
setText
(
"充值金额"
);
mViewBinding
.
vipCountTitle
.
setText
(
"今日充值"
);
mViewBinding
.
addVipLinearLayout
.
setVisibility
(
View
.
GONE
);
}
mViewBinding
.
vipRefresh
.
setOnRefreshListener
(
this
::
onRefresh
);
vipListAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
{
toStartVipInfo
(
vipListAdapter
.
getData
().
get
(
position
));
...
...
@@ -66,12 +73,15 @@ public class VipListFragment extends BaseFragment<VipPresenter, FragmentVipListB
break
;
}
});
// mViewBinding.titleSearch.serchEditText.setOnFocusChangeListener((View view, boolean b) -> {
// if (b){
// VipSearchFragment vipSearchFragment = new VipSearchFragment();
// vipSearchFragment.setBaseFragment(new VipInfoFragment());
// }
// });
mViewBinding
.
titleSearch
.
serchEditText
.
setOnClickListener
(
view
->
{
mPresenter
.
vipSearchFragment
.
setLevel
(
levels
);
if
(
vipState
==
0
){
mPresenter
.
vipSearchFragment
.
setBaseFragment
(
mPresenter
.
vipInfoFragment
);
}
else
{
mPresenter
.
vipSearchFragment
.
setBaseFragment
(
mPresenter
.
vipRechargeFragment
);
}
start
(
mPresenter
.
vipSearchFragment
);
});
mPresenter
.
getVipLevel
(
0
,
200
);
mPresenter
.
getVipNumber
();
}
...
...
@@ -86,7 +96,7 @@ public class VipListFragment extends BaseFragment<VipPresenter, FragmentVipListB
RadioButton
radioButton
=
((
RadioButton
)
mViewBinding
.
vipLevelR
.
findViewById
(
buttonID
));
if
(
radioButton
.
isChecked
())
{
strVipLevle
=
radioButton
.
getTag
().
toString
();
strVipLevle
=
radioButton
.
getTag
()
==
null
?
null
:
radioButton
.
getTag
()
.
toString
();
radioButton
.
getPaint
().
setFakeBoldText
(
true
);
radioButton
.
setTextSize
(
17
);
vipListAdapter
.
setEnableLoadMore
(
true
);
...
...
@@ -114,8 +124,9 @@ public class VipListFragment extends BaseFragment<VipPresenter, FragmentVipListB
public
void
getVipLevelSus
(
Pager
<
Level
>
levelPager
)
{
LinearLayout
.
LayoutParams
layoutParams
=
new
LinearLayout
.
LayoutParams
(
LinearLayout
.
LayoutParams
.
MATCH_PARENT
,
LinearLayout
.
LayoutParams
.
MATCH_PARENT
);
layoutParams
.
height
=
120
;
layoutParams
.
width
=
LinearLayout
.
LayoutParams
.
MATCH_PARENT
;
Level
allLevel
=
new
Level
();
allLevel
.
setVipLevelName
(
"全部会员"
);
mViewBinding
.
vipLevelR
.
addView
(
addRadioButton
(
layoutParams
,
allLevel
));
for
(
int
i
=
0
;
i
<
levelPager
.
getPageSize
();
i
++)
{
mViewBinding
.
vipLevelR
.
addView
(
addRadioButton
(
layoutParams
,
levelPager
.
getList
().
get
(
i
)));
}
...
...
@@ -129,7 +140,8 @@ public class VipListFragment extends BaseFragment<VipPresenter, FragmentVipListB
});
if
(
levelPager
.
getList
().
size
()
!=
0
)
{
((
RadioButton
)
mViewBinding
.
vipLevelR
.
getChildAt
(
0
)).
setChecked
(
true
);
mPresenter
.
getVipList
(
0
,
mViewBinding
.
vipLevelR
.
getChildAt
(
0
).
getTag
().
toString
());
//如果是空查询全部会员
// mPresenter.getVipList(0,mViewBinding.vipLevelR.getChildAt(0).getTag()== null ? null : mViewBinding.vipLevelR.getChildAt(0).getTag().toString());
}
levels
=
levelPager
.
getList
();
...
...
@@ -139,7 +151,7 @@ public class VipListFragment extends BaseFragment<VipPresenter, FragmentVipListB
mPresenter
.
getVipList
(
pageNumber
,
strVipLevle
);
}
p
rivate
void
onRefresh
()
{
p
ublic
void
onRefresh
()
{
pageNumber
=
0
;
mPresenter
.
getVipList
(
pageNumber
,
strVipLevle
);
mPresenter
.
getVipNumber
();
...
...
@@ -165,15 +177,21 @@ public class VipListFragment extends BaseFragment<VipPresenter, FragmentVipListB
public
void
toStartVipInfo
(
Vip
vip
)
{
mPresenter
.
vipRechargeFragment
.
setVip
(
vip
);
if
(
vip
!=
null
)
{
if
(
vipState
==
0
){
mPresenter
.
vipInfoFragment
.
setVip
(
vip
);
mPresenter
.
vipInfoFragment
.
setLevel
(
levels
);
((
BaseActivity
)
getActivity
()).
start
(
mPresenter
.
vipInfoFragment
);
}
else
{
((
BaseActivity
)
getActivity
()).
start
(
mPresenter
.
vipRechargeFragment
);
}
}
else
{
mPresenter
.
vipInfoEditFragment
.
setVipLevel
(
levels
);
((
BaseActivity
)
getActivity
()).
start
(
mPresenter
.
vipInfoEditFragment
);
}
}
public
void
addVipSus
(
Vip
vip
)
{
...
...
@@ -183,7 +201,18 @@ public class VipListFragment extends BaseFragment<VipPresenter, FragmentVipListB
* @param sta
*/
public
void
getVipNumberSus
(
Sta
sta
)
{
if
(
vipState
!=
0
){
mViewBinding
.
vipCount
.
setText
(
sta
.
getCardCount
()+
""
);
mViewBinding
.
vipCountAddToday
.
setText
(
"¥"
+
ConvertUtil
.
fenToYuan2
(
sta
.
getCardAmt
()));
}
else
{
mViewBinding
.
vipCount
.
setText
(
sta
.
getVipCount
()
+
""
);
mViewBinding
.
vipCountAddToday
.
setText
(
sta
.
getVipAddCount
()
+
""
);
}
}
public
void
setVipState
(
int
vipState
)
{
this
.
vipState
=
vipState
;
}
}
app/src/main/java/com/xingdata/zzdpos/ui/vip/fragment/VipRechargeFragment.java
0 → 100644
View file @
6ff74a0a
package
com
.
xingdata
.
zzdpos
.
ui
.
vip
.
fragment
;
/**
* Created by JM_DEV on 2017/12/21.
*/
import
android.annotation.SuppressLint
;
import
android.support.v7.widget.StaggeredGridLayoutManager
;
import
android.text.Editable
;
import
android.text.SpannableString
;
import
android.text.Spanned
;
import
android.text.SpannedString
;
import
android.text.TextWatcher
;
import
android.text.style.AbsoluteSizeSpan
;
import
android.view.ViewTreeObserver
;
import
android.widget.LinearLayout
;
import
android.widget.RadioButton
;
import
com.blankj.utilcode.util.ToastUtils
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.databinding.FragmentVipRechargeBinding
;
import
com.xingdata.zzdpos.model.Level
;
import
com.xingdata.zzdpos.model.Mscard
;
import
com.xingdata.zzdpos.model.Pager
;
import
com.xingdata.zzdpos.model.Pay
;
import
com.xingdata.zzdpos.model.Vip
;
import
com.xingdata.zzdpos.ui.settle.adapter.PayAdapter
;
import
com.xingdata.zzdpos.ui.vip.VipPresenter
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
com.xingdata.zzdpos.util.RecyclerViewUtil
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
/**
* 会员充值界面
*/
@SuppressLint
(
"ValidFragment"
)
public
class
VipRechargeFragment
extends
BaseFragment
<
VipPresenter
,
FragmentVipRechargeBinding
>
{
private
List
<
Level
>
levels
;
private
List
<
Mscard
>
mscards
=
new
ArrayList
<>();
private
LinearLayout
.
LayoutParams
layoutParams
=
null
;
private
HashMap
<
String
,
Mscard
>
mscardHashMap
=
new
HashMap
<>();
private
PayAdapter
mPayAdapter
;
private
List
<
Pay
>
mPays
=
new
ArrayList
<>();
private
int
inWight
;
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
fragment_vip_recharge
;
}
private
Vip
mVip
;
@Override
public
void
initView
()
{
mViewBinding
.
vipMobile
.
setText
(
String
.
valueOf
(
mVip
.
getVipMobile
()));
mViewBinding
.
vipName
.
setText
(
String
.
valueOf
(
mVip
.
getVipName
()));
mViewBinding
.
infoTitle
.
tvTitle
.
setText
(
"充值"
);
mViewBinding
.
vipBalance
.
setText
(
getString
(
R
.
string
.
vip_balance_text
,
ConvertUtil
.
fenToYuan2
(
mVip
.
getAcctCbal
())));
mViewBinding
.
infoTitle
.
ivBack
.
setOnClickListener
(
view
->
{
pop
();
});
mPresenter
.
getMscardList
(
mVip
.
getVipId
());
mPayAdapter
=
new
PayAdapter
();
mViewBinding
.
rlPay
.
setAdapter
(
mPayAdapter
);
mViewBinding
.
rlPay
.
setLayoutManager
(
new
StaggeredGridLayoutManager
(
3
,
StaggeredGridLayoutManager
.
VERTICAL
));
mViewBinding
.
rlPay
.
addItemDecoration
(
new
RecyclerViewUtil
.
GridSpacingItemDecoration
(
3
,
24
,
true
));
mPayAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
{
if
(
mViewBinding
.
rechargAMT
.
getText
()
==
null
||
ConvertUtil
.
yuanToFen
(
mViewBinding
.
rechargAMT
.
getText
().
toString
().
trim
())
<=
0
)
{
ToastUtils
.
showShort
(
"请选择充值金额"
);
return
;
}
mPresenter
.
fullVip
(
mVip
,
ConvertUtil
.
yuanToFen
(
mViewBinding
.
rechargAMT
.
getText
().
toString
()),
ConvertUtil
.
yuanToFen
(
mViewBinding
.
sendAmt
.
getText
().
toString
()));
});
mViewBinding
.
setOnCheckedChangeListener
((
radioGroup
,
i
)
->
{
if
(
radioGroup
.
getCheckedRadioButtonId
()
!=
-
1
)
{
RadioButton
radioButton
=
radioGroup
.
findViewById
(
radioGroup
.
getCheckedRadioButtonId
());
Mscard
mscard
=
mscardHashMap
.
get
(
radioButton
.
getTag
().
toString
());
setMoney
(
ConvertUtil
.
fenToYuan2
(
mscard
.
getCruleChargeAmt
()),
ConvertUtil
.
fenToYuan2
(
mscard
.
getCruleSendAmt
()));
mViewBinding
.
stealMoney
.
setText
(
""
);
}
});
ViewTreeObserver
observer
=
mViewBinding
.
payMoneyLayout
.
getViewTreeObserver
();
observer
.
addOnGlobalLayoutListener
(
new
ViewTreeObserver
.
OnGlobalLayoutListener
()
{
@Override
public
void
onGlobalLayout
()
{
mViewBinding
.
payMoneyLayout
.
getViewTreeObserver
().
removeGlobalOnLayoutListener
(
this
);
ViewTreeObserver
observer
=
mViewBinding
.
payMoneyLayout
.
getViewTreeObserver
();
inWight
=
mViewBinding
.
payMoneyLayout
.
getWidth
();
mPresenter
.
initSettle
();
}
});
}
@Override
public
boolean
onBackPressedSupport
()
{
pop
();
return
true
;
}
public
void
setVipLevel
(
List
<
Level
>
levels
)
{
this
.
levels
=
levels
;
}
public
void
setVip
(
Vip
mVip
)
{
this
.
mVip
=
mVip
;
}
@SuppressLint
(
"ResourceAsColor"
)
public
void
getMscardSus
(
Pager
<
Mscard
>
mscardPager
)
{
mscards
.
clear
();
mscards
.
addAll
(
mscardPager
.
getList
());
layoutParams
=
new
LinearLayout
.
LayoutParams
(
inWight
/
3
,
LinearLayout
.
LayoutParams
.
MATCH_PARENT
,
1
);
layoutParams
.
setMargins
(
0
,
0
,
20
,
0
);
int
mscardLength
=
0
;
if
(
mscards
.
size
()
<=
3
)
{
mscardLength
=
mscards
.
size
();
}
else
{
mscardLength
=
3
;
}
for
(
int
i
=
0
;
i
<
mscardLength
;
i
++)
{
Mscard
mscard
=
mscards
.
get
(
i
);
mscardHashMap
.
put
(
mscard
.
getCruleGradeNo
().
toString
(),
mscard
);
RadioButton
radioButton
=
mPresenter
.
addRadioButton
(
mContext
,
mscard
);
radioButton
.
setLayoutParams
(
layoutParams
);
mViewBinding
.
payMoneyLayout
.
addView
(
radioButton
);
}
String
hintStr
=
"自定义金额"
;
SpannableString
ss
=
new
SpannableString
(
hintStr
);
AbsoluteSizeSpan
ass
=
new
AbsoluteSizeSpan
(
8
,
true
);
mViewBinding
.
stealMoney
.
setHintTextColor
(
R
.
color
.
black_likui
);
ss
.
setSpan
(
ass
,
0
,
ss
.
length
(),
Spanned
.
SPAN_EXCLUSIVE_EXCLUSIVE
);
mViewBinding
.
stealMoney
.
setHint
(
new
SpannedString
(
ss
));
mViewBinding
.
stealMoney
.
setOnFocusChangeListener
((
mView1
,
b
)
->
{
//如果点击输入框按钮都清空点击事件
if
(
b
)
{
mViewBinding
.
payMoneyLayout
.
clearCheck
();
setMoney
(
"0"
,
"0"
);
}
});
//输入监听
mViewBinding
.
stealMoney
.
addTextChangedListener
(
new
TextWatcher
()
{
@Override
public
void
beforeTextChanged
(
CharSequence
charSequence
,
int
i
,
int
i1
,
int
i2
)
{
}
@Override
public
void
onTextChanged
(
CharSequence
charSequence
,
int
i
,
int
i1
,
int
i2
)
{
}
@Override
public
void
afterTextChanged
(
Editable
editable
)
{
if
(
mViewBinding
.
stealMoney
.
getText
().
length
()
==
0
)
return
;
Mscard
mscard
=
mPresenter
.
getMaxRechange
(
mscards
,
ConvertUtil
.
yuanToFen
(
mViewBinding
.
stealMoney
.
getText
().
toString
()));
String
strSend
=
"0"
;
if
(
mscard
==
null
)
{
strSend
=
"0"
;
}
else
{
strSend
=
ConvertUtil
.
fenToYuan2
(
mscard
.
getCruleSendAmt
());
}
setMoney
(
mViewBinding
.
stealMoney
.
getText
().
toString
(),
strSend
);
}
});
}
/**
* 设置左边金额
*
* @param rechangeMoney
* @param sendMoney
*/
private
void
setMoney
(
String
rechangeMoney
,
String
sendMoney
)
{
mViewBinding
.
sendAmt
.
setText
(
sendMoney
);
mViewBinding
.
rechargAMT
.
setText
(
rechangeMoney
);
// mViewBinding.rechangeMoney.setText(rechangeMoney);
mViewBinding
.
recargeAccount
.
setText
(
ConvertUtil
.
fenToYuan2
(
ConvertUtil
.
yuanToFen
(
sendMoney
)
+
ConvertUtil
.
yuanToFen
(
rechangeMoney
)));
}
/**
* 加载支付方式
*/
public
void
loadPays
(
List
<
Pay
>
pays
)
{
for
(
int
i
=
0
;
i
<
pays
.
size
();
i
++)
{
pays
.
get
(
i
).
init
();
}
mPays
.
clear
();
mPays
.
addAll
(
pays
);
mPayAdapter
.
setNewData
(
getAvlPays
(
Vip
.
createDefault
()));
}
List
<
Pay
>
getAvlPays
(
Vip
vip
)
{
List
<
Pay
>
_pays
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
mPays
.
size
();
i
++)
{
if
(!
mPays
.
get
(
i
).
isNeedVip
()
||
(!
vip
.
isDefaultVip
()
&&
(
mPays
.
get
(
i
).
getPayType
()
!=
C
.
PAY_CHANNEL
.
CARD
)))
_pays
.
add
(
mPays
.
get
(
i
));
}
return
_pays
;
}
}
app/src/main/java/com/xingdata/zzdpos/ui/vip/fragment/VipRechargeListFragment.java
View file @
6ff74a0a
...
...
@@ -7,6 +7,8 @@ package com.xingdata.zzdpos.ui.vip.fragment;
import
android.annotation.SuppressLint
;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.view.View
;
import
android.widget.EditText
;
import
android.widget.LinearLayout
;
import
com.blankj.utilcode.util.ToastUtils
;
import
com.xingdata.zzdpos.R
;
...
...
@@ -14,6 +16,7 @@ import com.xingdata.zzdpos.base.BaseActivity;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.databinding.FragmentVipRechargeListBinding
;
import
com.xingdata.zzdpos.model.Level
;
import
com.xingdata.zzdpos.model.Mscard
;
import
com.xingdata.zzdpos.model.Pager
;
import
com.xingdata.zzdpos.model.Vip
;
import
com.xingdata.zzdpos.model.VipRechargeOrder
;
...
...
@@ -23,6 +26,7 @@ import com.xingdata.zzdpos.ui.vip.dialog.VipEditMenuDialog;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
/**
...
...
@@ -34,6 +38,11 @@ public class VipRechargeListFragment extends BaseFragment<VipPresenter, Fragment
private
List
<
VipRechargeOrder
>
orders
=
new
ArrayList
<>();
private
int
pageNumber
=
0
;
private
List
<
Level
>
levels
;
private
LinearLayout
.
LayoutParams
layoutParams
=
null
;
private
HashMap
<
String
,
Mscard
>
mscardHashMap
=
new
HashMap
<>();
private
ArrayList
<
Mscard
>
mscards
=
new
ArrayList
<>();
private
ArrayList
<
String
>
strLevels
=
new
ArrayList
<>();
private
EditText
serchEditText
;
@Override
...
...
@@ -71,7 +80,7 @@ public class VipRechargeListFragment extends BaseFragment<VipPresenter, Fragment
vipRechargeAdapter
.
setEnableLoadMore
(
false
);
}
p
rivate
void
onRefresh
()
{
p
ublic
void
onRefresh
()
{
pageNumber
=
0
;
mPresenter
.
rechargeorderQuery
(
mVip
.
getVipId
(),
pageNumber
);
}
...
...
app/src/main/java/com/xingdata/zzdpos/ui/vip/fragment/VipRecordFragment.java
deleted
100644 → 0
View file @
177908a3
package
com
.
xingdata
.
zzdpos
.
ui
.
vip
.
fragment
;
/**
* Created by JM_DEV on 2017/12/21.
*/
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.databinding.FragmentViplevelTitleBinding
;
import
com.xingdata.zzdpos.ui.vip.VipPresenter
;
/**
* 会员消费充值记录
*/
public
class
VipRecordFragment
extends
BaseFragment
<
VipPresenter
,
FragmentViplevelTitleBinding
>
{
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
fragment_viplevel_title
;
}
@Override
public
void
initView
()
{
}
}
app/src/main/java/com/xingdata/zzdpos/ui/vip/fragment/VipSearchFragment.java
View file @
6ff74a0a
...
...
@@ -3,6 +3,7 @@ package com.xingdata.zzdpos.ui.vip.fragment;
import
android.annotation.SuppressLint
;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.view.View
;
import
android.widget.EditText
;
import
android.widget.TextView
;
import
com.blankj.utilcode.util.KeyboardUtils
;
...
...
@@ -10,10 +11,14 @@ 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.databinding.FragmentVipSerchBinding
;
import
com.xingdata.zzdpos.model.Level
;
import
com.xingdata.zzdpos.model.Pager
;
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.ui.vip.VipPresenter
;
import
com.xingdata.zzdpos.util.OnClickListener
;
import
java.util.List
;
...
...
@@ -22,9 +27,10 @@ import java.util.List;
/**
* 会员搜索界面
*/
public
class
VipSearchFragment
extends
BaseFragment
<
SendTicketPresenter
,
FragmentSendTickerVip
Binding
>
{
public
class
VipSearchFragment
extends
BaseFragment
<
VipPresenter
,
FragmentVipSerch
Binding
>
{
private
VipAdapter
mVipAdapter
;
private
BaseFragment
baseFragment
;
private
List
<
Level
>
level
;
public
void
setBaseFragment
(
BaseFragment
baseFragment
)
{
this
.
baseFragment
=
baseFragment
;
...
...
@@ -32,7 +38,7 @@ public class VipSearchFragment extends BaseFragment<SendTicketPresenter, Fragmen
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
fragment_
send_ticker_vip
;
return
R
.
layout
.
fragment_
vip_serch
;
}
@Override
...
...
@@ -46,10 +52,13 @@ public class VipSearchFragment extends BaseFragment<SendTicketPresenter, Fragmen
((
TextView
)
emptyView
.
findViewById
(
R
.
id
.
tv_empty
)).
setText
(
R
.
string
.
settle_vip_search_empty
);
mVipAdapter
.
setEmptyView
(
emptyView
);
((
EditText
)
mViewBinding
.
etSearch
).
requestFocus
();
mVipAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
{
if
(
baseFragment
instanceof
VipInfoFragment
)
{
((
VipInfoFragment
)
baseFragment
).
setLevel
(
this
.
level
);
((
VipInfoFragment
)
baseFragment
).
setVip
(
mVipAdapter
.
getData
().
get
(
position
));
}
else
if
(
baseFragment
instanceof
VipRechargeFragment
){
((
VipRechargeFragment
)
baseFragment
).
setVip
(
mVipAdapter
.
getData
().
get
(
position
));
}
startWithPop
(
baseFragment
);
});
...
...
@@ -60,6 +69,10 @@ public class VipSearchFragment extends BaseFragment<SendTicketPresenter, Fragmen
case
R
.
id
.
btn_back
:
{
pop
();
}
case
R
.
id
.
search_ImageButton
:
mPresenter
.
searchVip
(
mViewBinding
.
etSearch
.
getText
().
toString
());
break
;
default
:
{
...
...
@@ -68,24 +81,14 @@ public class VipSearchFragment extends BaseFragment<SendTicketPresenter, Fragmen
}
}
});
mViewBinding
.
etSearch
.
setOnEditorActionListener
((
textView
,
i
,
keyEvent
)
->
{
KeyboardUtils
.
hideSoftInput
(
textView
);
mPresenter
.
searchVip
(
textView
.
getText
().
toString
());
return
false
;
});
//
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
()
{
...
...
@@ -94,4 +97,18 @@ public class VipSearchFragment extends BaseFragment<SendTicketPresenter, Fragmen
}
super
.
onDestroyView
();
}
public
void
searchVipSus
(
Pager
<
Vip
>
vips
)
{
mVipAdapter
.
setNewData
(
vips
.
getList
());
}
public
void
setLevel
(
List
<
Level
>
level
)
{
this
.
level
=
level
;
}
@Override
public
void
onResume
()
{
super
.
onResume
();
mViewBinding
.
etSearch
.
setText
(
""
);
}
}
app/src/main/java/com/xingdata/zzdpos/ui/vip/fragment/Vip
Mscard
ListFragment.java
→
app/src/main/java/com/xingdata/zzdpos/ui/vip/fragment/Vip
Trule
ListFragment.java
View file @
6ff74a0a
...
...
@@ -12,16 +12,13 @@ import com.blankj.utilcode.util.ToastUtils;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseActivity
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.databinding.FragmentVipExpenseListBinding
;
import
com.xingdata.zzdpos.databinding.FragmentVipMscardListBinding
;
import
com.xingdata.zzdpos.model.Level
;
import
com.xingdata.zzdpos.model.Mscard
;
import
com.xingdata.zzdpos.model.Pager
;
import
com.xingdata.zzdpos.model.
Saleorder
;
import
com.xingdata.zzdpos.model.
Trule
;
import
com.xingdata.zzdpos.model.Vip
;
import
com.xingdata.zzdpos.ui.vip.VipPresenter
;
import
com.xingdata.zzdpos.ui.vip.adapter.VipExpenseAdapter
;
import
com.xingdata.zzdpos.ui.vip.adapter.VipMscardAdapter
;
import
com.xingdata.zzdpos.ui.vip.adapter.VipTruleAdapter
;
import
com.xingdata.zzdpos.ui.vip.dialog.VipEditMenuDialog
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
...
...
@@ -32,9 +29,9 @@ import java.util.List;
* 优惠券列表
*/
@SuppressLint
(
"ValidFragment"
)
public
class
Vip
Mscard
ListFragment
extends
BaseFragment
<
VipPresenter
,
FragmentVipMscardListBinding
>
{
private
Vip
Mscard
Adapter
adapter
;
private
List
<
Mscard
>
mscard
s
=
new
ArrayList
<>();
public
class
Vip
Trule
ListFragment
extends
BaseFragment
<
VipPresenter
,
FragmentVipMscardListBinding
>
{
private
Vip
Trule
Adapter
adapter
;
private
List
<
Trule
>
trule
s
=
new
ArrayList
<>();
private
int
valid
=
0
;
private
int
inValid
=
0
;
...
...
@@ -49,7 +46,7 @@ public class VipMscardListFragment extends BaseFragment<VipPresenter, FragmentVi
@Override
public
void
initView
()
{
mViewBinding
.
infoTitle
.
tvTitle
.
setText
(
"优惠券详情"
);
adapter
=
new
Vip
MscardAdapter
(
getActivity
(),
mscard
s
);
adapter
=
new
Vip
TruleAdapter
(
getActivity
(),
trule
s
);
mViewBinding
.
rechargeRecyclerView
.
setLayoutManager
(
new
LinearLayoutManager
(
getActivity
()));
mViewBinding
.
rechargeRecyclerView
.
setAdapter
(
adapter
);
mViewBinding
.
rechargeRefresh
.
setOnRefreshListener
(
this
::
onRefresh
);
...
...
@@ -57,7 +54,6 @@ public class VipMscardListFragment extends BaseFragment<VipPresenter, FragmentVi
mViewBinding
.
vipName
.
setText
(
String
.
valueOf
(
mVip
.
getVipName
()));
mViewBinding
.
infoTitle
.
popMenu
.
setVisibility
(
View
.
GONE
);
mViewBinding
.
vipDiscount
.
setText
(
getString
(
R
.
string
.
vip_info_discount
,
ConvertUtil
.
discount
(
mVip
.
getVipDefDiscount
())));
adapter
.
setEnableLoadMore
(
true
);
adapter
.
setOnLoadMoreListener
(
this
::
onLoadMore
,
mViewBinding
.
rechargeRecyclerView
);
mViewBinding
.
infoTitle
.
popMenu
.
setOnClickListener
(
view
->
{
new
VipEditMenuDialog
().
show
((
BaseActivity
)
getActivity
());
...
...
@@ -74,7 +70,7 @@ public class VipMscardListFragment extends BaseFragment<VipPresenter, FragmentVi
}
private
void
onRefresh
()
{
mPresenter
.
mscard
Query
(
mVip
.
getVipId
());
mPresenter
.
trule
Query
(
mVip
.
getVipId
());
}
@Override
...
...
@@ -89,31 +85,34 @@ public class VipMscardListFragment extends BaseFragment<VipPresenter, FragmentVi
}
public
void
get
MscardSus
(
Pager
<
Mscard
>
mscard
Pager
)
{
public
void
get
TruleSus
(
Pager
<
Trule
>
trule
Pager
)
{
if
(
mscard
Pager
.
isFirstPage
())
{
mscard
s
.
clear
();
if
(
trule
Pager
.
isFirstPage
())
{
trule
s
.
clear
();
}
if
(
mscard
Pager
.
getList
().
size
()
!=
0
)
{
mscards
.
addAll
(
mscard
Pager
.
getList
());
if
(
trule
Pager
.
getList
().
size
()
!=
0
)
{
trules
.
addAll
(
trule
Pager
.
getList
());
adapter
.
notifyDataSetChanged
();
// pageNumber = mscardPager.getPageNumber() + 1;
}
getMscardValid
();
if
(
mscard
Pager
.
isLastPage
())
{
if
(
trule
Pager
.
isLastPage
())
{
ToastUtils
.
showShort
(
"没有更多数据"
);
}
mViewBinding
.
mscardValid
.
setText
(
valid
+
""
);
mViewBinding
.
macardInvalid
.
setText
(
inValid
+
""
);
adapter
.
setEnableLoadMore
(
!
mscardPager
.
isLastPage
()
);
adapter
.
setEnableLoadMore
(
false
);
adapter
.
loadMoreComplete
();
mViewBinding
.
rechargeRefresh
.
setRefreshing
(
false
);
}
private
void
getMscardValid
()
{
for
(
Mscard
m
:
mscards
)
{
if
(
m
.
getCruleStatus
().
toString
().
equals
(
"0"
))
{
valid
=
0
;
inValid
=
0
;
for
(
Trule
t
:
trules
)
{
if
(
t
.
getTruleStatus
().
toString
().
equals
(
"0"
))
{
valid
=
valid
+
1
;
}
else
{
inValid
=
inValid
+
1
;
...
...
app/src/main/java/com/xingdata/zzdpos/util/SystemUtil.java
View file @
6ff74a0a
...
...
@@ -25,8 +25,8 @@ public final class SystemUtil {
* @return 设备型号
*/
public
static
String
getDeviceModel
()
{
//
return DeviceUtils.getModel();
return
"AECRC10"
;
return
DeviceUtils
.
getModel
();
}
...
...
app/src/main/res/drawable/selector_paymoney_radiobutton_bg.xml
0 → 100644
View file @
6ff74a0a
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<item
android:drawable=
"@drawable/shape_black_layout"
android:state_checked=
"false"
/>
<item
android:drawable=
"@drawable/shape_red_layout"
android:state_checked=
"true"
/>
</selector>
\ No newline at end of file
app/src/main/res/drawable/selector_paymoney_textcolor_bg.xml
0 → 100644
View file @
6ff74a0a
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<item
android:color=
"@color/darkgray"
android:state_checked=
"false"
/>
<item
android:color=
"@color/deep_red"
android:state_checked=
"true"
/>
</selector>
\ No newline at end of file
app/src/main/res/drawable/shape_black_layout.xml
0 → 100644
View file @
6ff74a0a
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<stroke
android:width=
"0.1dp"
android:color=
"@color/black1"
/>
<solid
android:color=
"@color/white"
/>
<corners
android:bottomLeftRadius=
"3dp"
android:bottomRightRadius=
"3dp"
android:topLeftRadius=
"3dp"
android:topRightRadius=
"3dp"
/>
</shape>
\ No newline at end of file
app/src/main/res/drawable/shape_red_layout.xml
0 → 100644
View file @
6ff74a0a
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<stroke
android:width=
"0.1dp"
android:color=
"@color/deep_red"
/>
<solid
android:color=
"@color/white"
/>
<corners
android:bottomLeftRadius=
"3dp"
android:bottomRightRadius=
"3dp"
android:topLeftRadius=
"3dp"
android:topRightRadius=
"3dp"
/>
</shape>
\ No newline at end of file
app/src/main/res/layout/activity_user.xml
0 → 100644
View file @
6ff74a0a
<?xml version="1.0" encoding="utf-8"?>
<layout>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
<FrameLayout
android:id=
"@+id/user_frame"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
/>
</LinearLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/fragment_casher.xml
View file @
6ff74a0a
...
...
@@ -84,13 +84,13 @@
<View
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/view_line_L050"
android:background=
"@color/gray_
huanggai
"
android:background=
"@color/gray_
kongming
"
app:layout_constraintTop_toTopOf=
"@id/fragment_casher_recycler"
/>
<View
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/view_line_L050"
android:background=
"@color/gray_
huanggai
"
android:background=
"@color/gray_
kongming
"
app:layout_constraintBottom_toBottomOf=
"@id/fragment_casher_recycler"
/>
</android.support.constraint.ConstraintLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/fragment_ms_main.xml
View file @
6ff74a0a
...
...
@@ -41,5 +41,10 @@
</android.support.v4.view.ViewPager>
<View
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/view_line_L050"
android:background=
"@color/gray_huanggai"
app:layout_constraintBottom_toBottomOf=
"@id/tab_layout"
/>
</android.support.constraint.ConstraintLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/fragment_order_list.xml
View file @
6ff74a0a
...
...
@@ -80,7 +80,6 @@
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_below=
"@id/ll_title"
android:background=
"@color/white_caocao"
android:gravity=
"center"
android:orientation=
"vertical"
android:visibility=
"gone"
>
...
...
app/src/main/res/layout/fragment_order_main.xml
View file @
6ff74a0a
...
...
@@ -21,7 +21,7 @@
android:id=
"@+id/tab_layout"
android:layout_width=
"match_parent"
android:layout_height=
"30dp"
android:background=
"@
color/white_caocao
"
android:background=
"@
drawable/singleline_white_gray
"
app:layout_constraintTop_toTopOf=
"parent"
app:tabIndicatorHeight=
"0dp"
app:tabMinWidth=
"100dp"
...
...
app/src/main/res/layout/fragment_order_search.xml
View file @
6ff74a0a
...
...
@@ -11,12 +11,10 @@
<!-- TODO: Update blank fragmfragment_integral_indexyout -->
<android.support.v4.widget.SwipeRefreshLayout
android:id=
"@+id/srl_product"
android:layout_width=
"0dp"
android:layout_height=
"0dp"
android:layout_marginTop=
"@dimen/all_padding"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
...
...
app/src/main/res/layout/fragment_statistics.xml
View file @
6ff74a0a
...
...
@@ -159,5 +159,17 @@
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"@id/guideline"
/>
<View
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/view_line_L050"
android:background=
"@color/gray_kongming"
app:layout_constraintTop_toTopOf=
"@id/fragment_casher_recycler"
/>
<View
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/view_line_L050"
android:background=
"@color/gray_kongming"
app:layout_constraintBottom_toBottomOf=
"@id/fragment_casher_recycler"
/>
</android.support.constraint.ConstraintLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/fragment_statistics_date.xml
View file @
6ff74a0a
...
...
@@ -53,7 +53,7 @@
<View
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/view_line_L1"
android:background=
"@color/gray_
zhouyu
"
android:background=
"@color/gray_
huanggai
"
app:layout_constraintBottom_toBottomOf=
"parent"
/>
</android.support.constraint.ConstraintLayout>
...
...
app/src/main/res/layout/fragment_statistics_title.xml
View file @
6ff74a0a
...
...
@@ -22,6 +22,12 @@
layout=
"@layout/title_order"
app:layout_constraintTop_toTopOf=
"parent"
/>
<View
android:id=
"@+id/view_line"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/view_line_L050"
android:background=
"@color/gray_huanggai"
app:layout_constraintBottom_toBottomOf=
"@id/ic_title"
/>
<FrameLayout
android:id=
"@+id/main_frame"
...
...
app/src/main/res/layout/fragment_user_list.xml
0 → 100644
View file @
6ff74a0a
<?xml version="1.0" encoding="utf-8"?>
<layout>
<data>
<variable
name=
"onClickListener"
type=
"android.view.View.OnClickListener"
/>
</data>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"?attr/actionBarSize"
android:orientation=
"horizontal"
>
<include
android:id=
"@+id/title_search"
layout=
"@layout/title_search"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
/>
</LinearLayout>
<View
android:layout_width=
"match_parent"
android:layout_height=
"1dp"
android:layout_margin=
"@dimen/view_line_L5"
android:background=
"@color/line1"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/dp_10"
android:background=
"@color/white"
android:orientation=
"horizontal"
>
<TextView
android:id=
"@+id/user_count_title"
style=
"@style/default_blacktext_smallstyle"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:gravity=
"center"
android:text=
"店员数量"
/>
<TextView
android:id=
"@+id/vip_count_add_today_title"
style=
"@style/default_blacktext_smallstyle"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:gravity=
"center"
android:text=
"今日新增"
/>
</LinearLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/white"
android:orientation=
"horizontal"
>
<TextView
android:id=
"@+id/vip_count"
style=
"@style/default_blacktext_bigstyle"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:gravity=
"center"
android:textSize=
"22sp"
android:textStyle=
"bold"
/>
<TextView
android:id=
"@+id/vip_count_add_today"
style=
"@style/default_blacktext_bigstyle"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:gravity=
"center"
android:textSize=
"22sp"
android:textStyle=
"bold"
/>
</LinearLayout>
<LinearLayout
android:id=
"@+id/addVipLinearLayout"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"10dp"
android:background=
"@color/white"
android:gravity=
"center"
android:orientation=
"vertical"
>
<LinearLayout
android:id=
"@+id/addUser"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:onClick=
"@{onClickListener}"
android:orientation=
"horizontal"
>
<ImageButton
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_margin=
"5dp"
android:background=
"@mipmap/add_bg"
/>
<TextView
style=
"@style/default_blacktext_bigstyle"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"添加店员"
android:textColor=
"@color/deep_red"
android:textSize=
"22sp"
/>
</LinearLayout>
</LinearLayout>
<View
android:layout_width=
"match_parent"
android:layout_height=
"1dp"
android:layout_margin=
"@dimen/view_line_L5"
android:background=
"@color/line1"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_marginTop=
"@dimen/all_margin_left"
android:layout_weight=
"1"
android:orientation=
"horizontal"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_weight=
"1"
>
<android.support.v4.widget.SwipeRefreshLayout
android:id=
"@+id/user_refresh"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<android.support.v7.widget.RecyclerView
android:id=
"@+id/userRecyclerView"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
</android.support.v4.widget.SwipeRefreshLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/fragment_vip_list.xml
View file @
6ff74a0a
<?xml version="1.0" encoding="utf-8"?>
<layout>
<data>
<variable
name=
"onClickListener"
type=
"android.view.View.OnClickListener"
/>
...
...
@@ -15,6 +17,7 @@
android:layout_width=
"match_parent"
android:layout_height=
"?attr/actionBarSize"
android:orientation=
"horizontal"
>
<include
android:id=
"@+id/title_search"
layout=
"@layout/title_search"
...
...
@@ -49,6 +52,7 @@
android:orientation=
"horizontal"
>
<TextView
android:id=
"@+id/vip_count_title"
style=
"@style/default_blacktext_smallstyle"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
...
...
@@ -57,6 +61,7 @@
android:text=
"本店会员"
/>
<TextView
android:id=
"@+id/vip_count_add_today_title"
style=
"@style/default_blacktext_smallstyle"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
...
...
@@ -93,7 +98,7 @@
</LinearLayout>
<LinearLayout
android:id=
"@+id/addVipLinearLayout"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"10dp"
...
...
app/src/main/res/layout/fragment_vip_mscard_list.xml
View file @
6ff74a0a
...
...
@@ -114,7 +114,7 @@
style=
"@style/default_blacktext_smallstyle"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"可用优惠卷"
/>
android:text=
"
不
可用优惠卷"
/>
<TextView
android:id=
"@+id/macard_invalid"
...
...
app/src/main/res/layout/fragment_vip_recharge.xml
0 → 100644
View file @
6ff74a0a
<?xml version="1.0" encoding="utf-8"?>
<layout>
<data>
<variable
name=
"onClickListener"
type=
"com.xingdata.zzdpos.util.OnClickListener"
/>
<variable
name=
"onCheckedChangeListener"
type=
"android.widget.RadioGroup.OnCheckedChangeListener"
/>
</data>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/bg"
android:orientation=
"vertical"
>
<include
android:id=
"@+id/info_title"
layout=
"@layout/title_pop"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/white"
android:orientation=
"horizontal"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginLeft=
"@dimen/all_margin"
android:background=
"@mipmap/mk_grade01"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_margin=
"@dimen/all_margin"
android:layout_marginTop=
"@dimen/all_margin"
android:layout_weight=
"1"
android:background=
"@color/white"
android:orientation=
"vertical"
>
<TextView
android:id=
"@+id/vip_name"
style=
"@style/default_blacktext_bigstyle"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
/>
<TextView
android:id=
"@+id/vip_mobile"
style=
"@style/default_blacktext_nopadding_smallstyle"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"0dp"
android:textColor=
"@color/black"
/>
</LinearLayout>
<TextView
android:id=
"@+id/vip_balance"
style=
"@style/default_blacktext_smallstyle"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_margin=
"@dimen/all_margin"
android:text=
"@string/vip_balance_text"
/>
</LinearLayout>
<View
android:layout_width=
"match_parent"
android:layout_height=
"1dp"
android:background=
"@color/line_bg"
></View>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/white"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_margin=
"@dimen/all_margin_left"
android:gravity=
"center_vertical"
android:orientation=
"vertical"
>
<RadioGroup
android:id=
"@+id/pay_money_layout"
android:layout_width=
"match_parent"
android:layout_height=
"50dp"
android:layout_marginBottom=
"@dimen/all_margin"
android:gravity=
"center_vertical"
android:onCheckedChanged=
"@{onCheckedChangeListener}"
android:orientation=
"horizontal"
></RadioGroup>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"horizontal"
>
<LinearLayout
android:layout_weight=
"2"
android:id=
"@+id/stealLayout"
android:layout_width=
"match_parent"
android:layout_height=
"50dp"
android:background=
"@drawable/selector_paymoney_radiobutton_bg"
android:gravity=
"center_vertical"
android:orientation=
"horizontal"
>
<TextView
style=
"@style/default_blacktext_bigstyle"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"充:"
android:textSize=
"20sp"
/>
<EditText
android:id=
"@+id/steal_money"
android:singleLine=
"true"
style=
"@style/dialog_edit"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:background=
"@null"
android:digits=
"1234567890."
android:inputType=
"phone"
android:maxLength=
"6"
android:onClick=
"@{onClickListener}"
android:textCursorDrawable=
"@null"
/>
</LinearLayout>
<View
android:layout_weight=
"1"
android:layout_width=
"match_parent"
android:layout_height=
"1dp"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
<View
android:layout_width=
"match_parent"
android:layout_height=
"1dp"
android:layout_marginTop=
"5dp"
android:background=
"@color/line_bg"
></View>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/white"
android:orientation=
"horizontal"
>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
>
<TextView
style=
"@style/textView_body"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/all_margin_left"
android:layout_marginRight=
"@dimen/all_margin_left"
android:text=
"送:"
/>
<TextView
android:id=
"@+id/sendAmt"
style=
"@style/textView_body"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"0"
android:textColor=
"@color/deep_red"
/>
</LinearLayout>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
>
<TextView
style=
"@style/textView_body"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"20dp"
android:text=
"实际到帐:"
/>
<TextView
android:id=
"@+id/recargeAccount"
style=
"@style/textView_body"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"0"
/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/all_margin"
android:background=
"@color/white"
android:orientation=
"horizontal"
>
<TextView
style=
"@style/textView_body"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/all_margin_left"
android:layout_marginRight=
"@dimen/all_margin_left"
android:layout_weight=
"1"
android:text=
"充值金额:"
/>
<TextView
android:id=
"@+id/rechargAMT"
style=
"@style/textView_body"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/all_margin_left"
android:layout_marginRight=
"@dimen/all_margin_left"
android:textColor=
"@color/deep_red"
/>
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:id=
"@+id/rl_pay"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/gray_zhouyu"
android:textAppearance=
"@android:style/TextAppearance.Large"
/>
</LinearLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/fragment_vip_serch.xml
0 → 100644
View file @
6ff74a0a
<?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:textColor=
"@color/black_likui"
android:textColorHint=
"@color/gray_huanggai"
android:textSize=
"@dimen/all_text_size"
/>
<TextView
style=
"@style/textView_body"
android:id=
"@+id/search_ImageButton"
android:layout_width=
"60dp"
android:layout_height=
"match_parent"
android:onClick=
"@{OnClickListener}"
android:text=
"搜索"
/>
</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/item_string_head.xml
View file @
6ff74a0a
<?xml version="1.0" encoding="utf-8"?>
<layout>
<RelativeLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
<View
<layout
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
<android.support.constraint.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/view_line_L050"
android:background=
"@color/gray_huanggai"
android:layout_alignParentBottom=
"true"
/>
android:layout_height=
"wrap_content"
>
<TextView
...
...
@@ -15,15 +11,19 @@
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_centerVertical=
"true"
android:background=
"@drawable/singleline_zhouyu_huanggai"
android:gravity=
"left"
android:paddingTop=
"@dimen/all_padding"
android:paddingBottom=
"@dimen/all_padding"
android:paddingStart=
"@dimen/all_padding_left_right"
android:paddingTop=
"@dimen/all_padding"
android:singleLine=
"true"
android:text=
"北京店"
android:textColor=
"@color/black"
android:textSize=
"14sp"
/>
android:textSize=
"14sp"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
</Relative
Layout>
</android.support.constraint.Constraint
Layout>
</layout>
\ No newline at end of file
app/src/main/res/layout/item_user_list_item.xml
0 → 100644
View file @
6ff74a0a
<?xml version="1.0" encoding="utf-8"?>
<layout>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"horizontal"
>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"match_parent"
android:gravity=
"center_vertical"
android:layout_margin=
"@dimen/all_margin"
android:orientation=
"horizontal"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"@mipmap/img_boss"
/>
</LinearLayout>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:orientation=
"vertical"
>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:orientation=
"horizontal"
>
<TextView
android:id=
"@+id/user_name"
style=
"@style/default_blacktext_bigstyle"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"张小萌"
/>
<TextView
android:id=
"@+id/user_mobile"
style=
"@style/default_blacktext_smallstyle"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"13311556556"
/>
</LinearLayout>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:orientation=
"horizontal"
>
<TextView
android:id=
"@+id/today_income"
style=
"@style/default_gray_huanggaitext_smallstyle"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"@string/Today_Income"
/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginRight=
"@dimen/all_margin"
android:layout_marginTop=
"@dimen/all_margin"
android:orientation=
"vertical"
>
<TextView
android:id=
"@+id/vip_level_name"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"员工"
android:textColor=
"@color/black"
android:textSize=
"@dimen/detail_textview_size"
/>
<TextView
android:layout_width=
"match_parent"
android:layout_height=
"1dp"
android:layout_marginLeft=
"5dp"
android:layout_marginRight=
"5dp"
android:background=
"@color/deep_red"
/>
</LinearLayout>
</LinearLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/item_vip_mscard_item.xml
View file @
6ff74a0a
...
...
@@ -4,73 +4,94 @@
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:padding=
"@dimen/all_margin"
android:gravity=
"center_horizontal"
android:orientation=
"vertical"
>
<View
android:layout_width=
"match_parent"
android:layout_height=
"1dp"
android:layout_marginLeft=
"@dimen/all_margin"
android:layout_marginRight=
"@dimen/all_margin_left"
android:background=
"@color/line_bg"
/>
<LinearLayout
android:layout_width=
"
match_par
ent"
android:layout_width=
"
wrap_cont
ent"
android:layout_height=
"wrap_content"
android:gravity=
"center_vertical"
android:orientation=
"horizontal"
>
<ImageView
android:id=
"@+id/imgLeft"
android:layout_width=
"45dp"
android:layout_height=
"45dp"
android:layout_marginLeft=
"@dimen/all_margin_left"
android:layout_marginRight=
"@dimen/all_margin_left"
android:background=
"@mipmap/pay_rmb"
/>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:id=
"@+id/trule_bg_left"
android:background=
"@mipmap/return_ticket_one"
android:orientation=
"vertical"
android:gravity=
"center_horizontal"
android:padding=
"5dp"
>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"match_parent"
android:layout_weight=
"1"
android:orientation=
"vertical"
>
android:gravity=
"center_vertical"
android:orientation=
"horizontal"
>
<TextView
android:id=
"@+id/expense_type"
style=
"@style/default_blacktext_bigstyle"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"会员充值"
/>
android:layout_marginRight=
"5dp"
android:layout_width=
"35dp"
android:layout_height=
"35dp"
android:background=
"@drawable/shape_white_oval"
android:gravity=
"center"
android:text=
"券"
android:textColor=
"@color/blue_mawu"
/>
<TextView
android:id=
"@+id/expense_ti
me"
style=
"@style/default_blacktext_small
style"
android:id=
"@+id/trule_na
me"
style=
"@style/default_bartext_
style"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"08-09 10:10"
android:textColor=
"@color/black_likui"
/>
android:text=
"50元优惠券"
/>
</LinearLayout>
<TextView
android:id=
"@+id/trule_validity"
android:layout_weight=
"1"
android:gravity=
"center"
style=
"@style/textView_body_small"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:textColor=
"@color/white"
/>
</LinearLayout>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:
layout_margin=
"@dimen/all_margin
"
android:
layout_weight=
"1
"
android:gravity=
"
right
"
android:
id=
"@+id/trule_bg_right
"
android:
background=
"@mipmap/return_ticket_two
"
android:gravity=
"
center_horizontal
"
android:orientation=
"vertical"
>
<TextView
android:id=
"@+id/expense_money"
style=
"@style/default_blacktext_bigstyle"
android:id=
"@+id/trule_money"
android:layout_weight=
"1"
style=
"@style/default_bartext_style"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"0"
/>
android:text=
"¥50"
/>
<View
android:layout_width=
"wrap_content"
android:layout_height=
"1dp"
android:layout_marginLeft=
"@dimen/all_margin_left"
android:layout_marginRight=
"@dimen/all_margin_left"
android:background=
"@color/white"
/>
<TextView
android:id=
"@+id/expense_shop"
style=
"@style/default_blacktext_smallstyle"
android:layout_weight=
"1"
android:id=
"@+id/trule_condition"
style=
"@style/default_bartext_style"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"门店"
android:textColor=
"@color/black_likui"
/>
android:text=
"满500使用"
android:textSize=
"@dimen/detail_textview_size"
/>
</LinearLayout>
</LinearLayout>
...
...
app/src/main/res/layout/recharge.xml
0 → 100644
View file @
6ff74a0a
<?xml version="1.0" encoding="utf-8"?>
<layout>
<data>
<variable
name=
"onClickListener"
type=
"android.view.View.OnClickListener"
/>
</data>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:gravity=
"center_vertical"
>
<LinearLayout
android:id=
"@+id/stealLayout"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_gravity=
"center_vertical"
android:background=
"@drawable/selector_paymoney_radiobutton_bg"
android:gravity=
"center"
android:orientation=
"horizontal"
>
<TextView
style=
"@style/default_blacktext_bigstyle"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/dtail_width_20"
android:text=
"充:"
android:textSize=
"25sp"
/>
<EditText
android:id=
"@+id/steal_money"
style=
"@style/dialog_edit"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:background=
"@null"
android:digits=
"1234567890."
android:hint=
"自定义金额"
android:inputType=
"phone"
android:maxLength=
"6"
android:onClick=
"@{onClickListener}"
android:textCursorDrawable=
"@null"
/>
</LinearLayout>
</LinearLayout>
</layout>
\ No newline at end of file
app/src/main/res/mipmap-hdpi/ic_launcher_round.png
View replaced file @
177908a3
View file @
6ff74a0a
4.91 KB
|
W:
|
H:
5.97 KB
|
W:
|
H:
2-up
Swipe
Onion skin
app/src/main/res/mipmap-xhdpi/bg_return_ticket03.png
0 → 100644
View file @
6ff74a0a
6.65 KB
app/src/main/res/mipmap-xhdpi/bg_return_ticket04.png
0 → 100644
View file @
6ff74a0a
5.13 KB
app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
deleted
100644 → 0
View file @
177908a3
6.93 KB
app/src/main/res/mipmap-xhdpi/ic_logo.png
0 → 100644
View file @
6ff74a0a
7.15 KB
app/src/main/res/values/strings.xml
View file @
6ff74a0a
...
...
@@ -135,7 +135,7 @@
<string
name=
"vip_message_point_cr_hint"
>
(100积分=1元)
</string>
<string
name=
"vip_message_ticket_none"
>
不使用优惠券
</string>
<string
name=
"vip_info_discount"
>
折扣:%s折
</string>
<string
name=
"vip_balance_text"
>
余额:¥%s
</string>
<!--抹零页面-->
<string
name=
"dis_change_title"
>
抹零
</string>
...
...
@@ -448,6 +448,8 @@
<string
name=
"adv_plan"
>
晋级标准:消费金额满 %s
</string>
<string
name=
"level_Number"
>
共有 %s个会员等级
</string>
<string
name=
"vip_level_title"
>
等级设置
</string>
<string
name=
"vip_mscard_period_of_validity"
>
有效期:%s-%s
</string>
<!--会员充值-->
<string
name=
"vip_recharge_title"
>
会员充值
</string>
<!--店员管理-->
...
...
@@ -464,6 +466,7 @@
<string
name=
"casher_name"
>
姓名:%s
</string>
<string
name=
"casher_mobile"
>
手机:%s
</string>
<string
name=
"casher_hit"
>
店员名称/手机号
</string>
<string
name=
"Today_Income"
>
今日收入 ¥%s
</string>
<string
name=
"title_activity_restart_dialog"
>
RestartDialog
</string>
<!--升级dialog-->
<string
name=
"upgrade_titile"
>
系统升级
</string>
...
...
app/src/main/res/values/styles.xml
View file @
6ff74a0a
...
...
@@ -44,6 +44,16 @@
<item
name=
"android:textSize"
>
@dimen/detail_textview_size
</item>
</style>
<style
name=
"default_gray_huanggaitext_smallstyle"
>
<item
name=
"android:layout_width"
>
wrap_content
</item>
<item
name=
"android:layout_height"
>
match_parent
</item>
<item
name=
"android:gravity"
>
center_vertical
</item>
<item
name=
"android:singleLine"
>
true
</item>
<item
name=
"android:padding"
>
@dimen/sp_12
</item>
<item
name=
"android:textColor"
>
@color/gray_huanggai
</item>
<item
name=
"android:textSize"
>
@dimen/detail_textview_size
</item>
</style>
<style
name=
"default_blacktext_nopadding_smallstyle"
>
<item
name=
"android:layout_width"
>
wrap_content
</item>
<item
name=
"android:layout_height"
>
match_parent
</item>
...
...
@@ -405,5 +415,13 @@
<item
name=
"android:padding"
>
@dimen/all_spacing
</item>
<item
name=
"android:imeOptions"
>
actionSearch
</item>
</style>
<style
name=
"searchEditor"
>
<item
name=
"android:drawablePadding"
>
@dimen/all_spacing
</item>
<item
name=
"android:maxLines"
>
1
</item>
<item
name=
"android:maxLength"
>
20
</item>
<item
name=
"android:background"
>
@drawable/shape_gray_r1
</item>
<item
name=
"android:padding"
>
@dimen/all_spacing
</item>
<item
name=
"android:imeOptions"
>
actionSearch
</item>
</style>
</resources>
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