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
d0c4b973
Commit
d0c4b973
authored
Jan 08, 2018
by
zhang_z
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
4c68ac55
e2b78a68
Changes
35
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
35 changed files
with
1291 additions
and
568 deletions
+1291
-568
app/src/main/java/com/xingdata/zzdpos/C.java
app/src/main/java/com/xingdata/zzdpos/C.java
+9
-1
app/src/main/java/com/xingdata/zzdpos/api/ApiFactory.java
app/src/main/java/com/xingdata/zzdpos/api/ApiFactory.java
+12
-0
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/ui/main/fragment/CasherFragment.java
.../com/xingdata/zzdpos/ui/main/fragment/CasherFragment.java
+3
-3
app/src/main/java/com/xingdata/zzdpos/ui/manage/replenishment/ReplenishmentContract.java
...zzdpos/ui/manage/replenishment/ReplenishmentContract.java
+6
-0
app/src/main/java/com/xingdata/zzdpos/ui/manage/replenishment/ReplenishmentPresenter.java
...zdpos/ui/manage/replenishment/ReplenishmentPresenter.java
+7
-0
app/src/main/java/com/xingdata/zzdpos/ui/manage/replenishment/fragment/ReplenishmentFragment.java
.../manage/replenishment/fragment/ReplenishmentFragment.java
+82
-60
app/src/main/java/com/xingdata/zzdpos/ui/manage/replenishment/fragment/ReplenishmentListFragment.java
...age/replenishment/fragment/ReplenishmentListFragment.java
+39
-4
app/src/main/java/com/xingdata/zzdpos/ui/sendticke/fragment/VipFragment.java
...om/xingdata/zzdpos/ui/sendticke/fragment/VipFragment.java
+1
-1
app/src/main/java/com/xingdata/zzdpos/ui/vip/VipActivity.java
...src/main/java/com/xingdata/zzdpos/ui/vip/VipActivity.java
+20
-21
app/src/main/java/com/xingdata/zzdpos/ui/vip/VipContract.java
...src/main/java/com/xingdata/zzdpos/ui/vip/VipContract.java
+13
-12
app/src/main/java/com/xingdata/zzdpos/ui/vip/VipPresenter.java
...rc/main/java/com/xingdata/zzdpos/ui/vip/VipPresenter.java
+48
-9
app/src/main/java/com/xingdata/zzdpos/ui/vip/adapter/VipListAdapter.java
...va/com/xingdata/zzdpos/ui/vip/adapter/VipListAdapter.java
+3
-1
app/src/main/java/com/xingdata/zzdpos/ui/vip/adapter/VipRechargeAdapter.java
...om/xingdata/zzdpos/ui/vip/adapter/VipRechargeAdapter.java
+0
-3
app/src/main/java/com/xingdata/zzdpos/ui/vip/dialog/VipEditMenuDialog.java
.../com/xingdata/zzdpos/ui/vip/dialog/VipEditMenuDialog.java
+44
-0
app/src/main/java/com/xingdata/zzdpos/ui/vip/fragment/VipExpenseListFragment.java
...ngdata/zzdpos/ui/vip/fragment/VipExpenseListFragment.java
+5
-1
app/src/main/java/com/xingdata/zzdpos/ui/vip/fragment/VipInfoEditFragment.java
.../xingdata/zzdpos/ui/vip/fragment/VipInfoEditFragment.java
+165
-0
app/src/main/java/com/xingdata/zzdpos/ui/vip/fragment/VipInfoFragment.java
.../com/xingdata/zzdpos/ui/vip/fragment/VipInfoFragment.java
+52
-39
app/src/main/java/com/xingdata/zzdpos/ui/vip/fragment/VipLevleFragment.java
...com/xingdata/zzdpos/ui/vip/fragment/VipLevleFragment.java
+0
-103
app/src/main/java/com/xingdata/zzdpos/ui/vip/fragment/VipListFragment.java
.../com/xingdata/zzdpos/ui/vip/fragment/VipListFragment.java
+113
-20
app/src/main/java/com/xingdata/zzdpos/ui/vip/fragment/VipTitleFragment.java
...com/xingdata/zzdpos/ui/vip/fragment/VipTitleFragment.java
+0
-39
app/src/main/res/layout/activity_vip.xml
app/src/main/res/layout/activity_vip.xml
+4
-21
app/src/main/res/layout/dialog_vip_menu.xml
app/src/main/res/layout/dialog_vip_menu.xml
+19
-3
app/src/main/res/layout/fragment_replenishement.xml
app/src/main/res/layout/fragment_replenishement.xml
+5
-24
app/src/main/res/layout/fragment_vip_info.xml
app/src/main/res/layout/fragment_vip_info.xml
+223
-70
app/src/main/res/layout/fragment_vip_info_edit.xml
app/src/main/res/layout/fragment_vip_info_edit.xml
+231
-0
app/src/main/res/layout/fragment_vip_list.xml
app/src/main/res/layout/fragment_vip_list.xml
+162
-7
app/src/main/res/layout/fragment_viplevel_title.xml
app/src/main/res/layout/fragment_viplevel_title.xml
+1
-6
app/src/main/res/layout/fragment_viptitle.xml
app/src/main/res/layout/fragment_viptitle.xml
+0
-119
app/src/main/res/layout/title_order.xml
app/src/main/res/layout/title_order.xml
+2
-0
app/src/main/res/mipmap-xhdpi/ic_expand.9.png
app/src/main/res/mipmap-xhdpi/ic_expand.9.png
+0
-0
app/src/main/res/mipmap-xhdpi/radiobutton_checked.9.png
app/src/main/res/mipmap-xhdpi/radiobutton_checked.9.png
+0
-0
app/src/main/res/mipmap-xhdpi/radiobutton_normal.9.png
app/src/main/res/mipmap-xhdpi/radiobutton_normal.9.png
+0
-0
app/src/main/res/values/strings.xml
app/src/main/res/values/strings.xml
+3
-0
app/src/main/res/values/styles.xml
app/src/main/res/values/styles.xml
+13
-1
No files found.
app/src/main/java/com/xingdata/zzdpos/C.java
View file @
d0c4b973
...
...
@@ -142,7 +142,7 @@ public class C {
*/
public
final
class
ORDER
{
/**
* 订单查询
* 订单查询
已经完成
*/
public
static
final
String
getSaleOrder
=
PKG
+
"saleorder/queryMis"
;
...
...
@@ -153,7 +153,14 @@ public class C {
/**
* 退货
*/
public
static
final
String
querySaleOrder
=
PKG
+
"saleorder/query"
;
/**
* 订单查询
*/
public
static
final
String
returnOrder
=
PKG
+
"saleorder/returnOrderByList"
;
}
public
final
class
SHOP
{
...
...
@@ -251,6 +258,7 @@ public class C {
private
static
final
String
ROOT_URL
=
PKG
+
"saleorder/"
;
public
static
final
String
addOrderMis
=
ROOT_URL
+
"addOrderMis"
;
public
static
final
String
addOrderPayMis
=
ROOT_URL
+
"addOrderPayMis"
;
public
static
final
String
querySaleorderByVipId
=
ROOT_URL
+
"query"
;
}
public
final
class
PAY
{
...
...
app/src/main/java/com/xingdata/zzdpos/api/ApiFactory.java
View file @
d0c4b973
...
...
@@ -582,6 +582,18 @@ public final class ApiFactory {
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
retryWhen
(
new
RetryHelper
(
3
));
}
public
static
Observable
<
com
.
xingdata
.
zzdpos
.
model
.
Saleorder
>
querySaleorderByVipId
(
Long
vipId
,
int
pageNumber
,
int
pageSize
)
{
return
Api
.
getInstance
().
service
.
querySaleorderByVipId
(
vipId
,
pageNumber
,
pageSize
)
.
onErrorReturn
(
new
ErrorFilter
<>())
.
map
(
new
ResultFilter
<>())
.
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
retryWhen
(
new
RetryHelper
(
3
));
}
}
public
static
class
Ticket
{
...
...
app/src/main/java/com/xingdata/zzdpos/api/ApiService.java
View file @
d0c4b973
...
...
@@ -240,6 +240,12 @@ interface ApiService {
@POST
(
C
.
URL
.
SALEORDER
.
addOrderPayMis
)
Observable
<
HttpMessage
<
Saleorder
>>
addOrderPayMis
(
@Body
Saleorder
.
Pay
saleorderPay
);
@POST
(
C
.
URL
.
SALEORDER
.
querySaleorderByVipId
)
Observable
<
HttpMessage
<
Saleorder
>>
querySaleorderByVipId
(
@Query
(
"vipId"
)
Long
vipId
,
@Query
(
"pageNumber"
)
int
pageNum
,
@Query
(
"pageSize"
)
int
pageSize
);
@POST
(
C
.
URL
.
USER
.
query
)
Observable
<
HttpMessage
<
Pager
<
Vip
>>>
queryDetailByWD
(
@Query
(
"wd"
)
String
keyword
,
@Query
(
"pageNumber"
)
int
pageNum
,
@Query
(
"pageSize"
)
int
pageSize
);
...
...
app/src/main/java/com/xingdata/zzdpos/ui/main/fragment/CasherFragment.java
View file @
d0c4b973
...
...
@@ -55,7 +55,8 @@ 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
));
ActivityUtils
.
startActivity
(
new
Intent
(
getActivity
(),
VipActivity
.
class
));
break
;
case
C
.
MENU
.
MENU_RECHARGE
:
//充值
...
...
@@ -65,8 +66,7 @@ public class CasherFragment extends BaseFragment<MainPresenter, FragmentCasherBi
MarketingMenuActivity
.
class
));
break
;
case
C
.
MENU
.
MENU_TICKET
:
//优惠券
ActivityUtils
.
startActivity
(
getActivity
(),
com
.
xingdata
.
zzdpos
.
ui
.
sendticke
.
SendTicketActivity
.
class
);
ActivityUtils
.
startActivity
(
getActivity
(),
com
.
xingdata
.
zzdpos
.
ui
.
sendticke
.
SendTicketActivity
.
class
);
break
;
case
C
.
MENU
.
MENU_STATISTICS
:
//统计
ActivityUtils
.
startActivity
(
getActivity
(),
StatisticsActivity
.
class
);
...
...
app/src/main/java/com/xingdata/zzdpos/ui/manage/replenishment/ReplenishmentContract.java
View file @
d0c4b973
...
...
@@ -6,6 +6,7 @@ import com.xingdata.zzdpos.base.BasePresenter;
import
com.xingdata.zzdpos.base.BaseView
;
import
com.xingdata.zzdpos.model.Psb
;
import
com.xingdata.zzdpos.model.Sssku
;
import
com.xingdata.zzdpos.ui.manage.replenishment.fragment.ReplenishmentListFragment
;
import
java.util.List
;
...
...
@@ -59,6 +60,11 @@ public interface ReplenishmentContract {
*/
public
abstract
void
queryPsbList
();
/**
* 补货订货页面 - 查询门店订货订单
*/
public
abstract
void
searchPsbList
(
String
wd
,
ReplenishmentListFragment
replenishmentListFragment
);
/**
* 补货订货页面 - 查询门店订货详情
*/
...
...
app/src/main/java/com/xingdata/zzdpos/ui/manage/replenishment/ReplenishmentPresenter.java
View file @
d0c4b973
...
...
@@ -6,6 +6,7 @@ import android.util.Log;
import
com.blankj.utilcode.util.ToastUtils
;
import
com.xingdata.zzdpos.api.ApiFactory
;
import
com.xingdata.zzdpos.model.Psb
;
import
com.xingdata.zzdpos.ui.manage.replenishment.fragment.ReplenishmentListFragment
;
import
java.util.ArrayList
;
...
...
@@ -68,6 +69,12 @@ public class ReplenishmentPresenter extends ReplenishmentContract.Presenter {
});
}
@Override
public
void
searchPsbList
(
String
wd
,
ReplenishmentListFragment
replenishmentListFragment
)
{
replenishmentListFragment
.
searchSucc
(
wd
);
}
@Override
public
void
queryPsbDetail
(
Psb
psb
)
{
mView
.
isShowLoading
(
true
);
...
...
app/src/main/java/com/xingdata/zzdpos/ui/manage/replenishment/fragment/ReplenishmentFragment.java
View file @
d0c4b973
package
com
.
xingdata
.
zzdpos
.
ui
.
manage
.
replenishment
.
fragment
;
import
android.databinding.DataBindingUtil
;
import
android.graphics.Typeface
;
import
android.support.design.widget.TabLayout
;
import
android.view.View
;
import
android.widget.TextView
;
import
com.blankj.utilcode.util.ToastUtils
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.databinding.FragmentReplenishementBinding
;
import
com.xingdata.zzdpos.databinding.ItemStringBinding
;
import
com.xingdata.zzdpos.model.Psb
;
import
com.xingdata.zzdpos.ui.dialog.LoadingDialog
;
import
com.xingdata.zzdpos.ui.main.adapter.FragmentViewAdapter
;
...
...
@@ -18,19 +23,23 @@ import com.xingdata.zzdpos.ui.manage.replenishment.adpter.ReplenishmentAdapter;
import
java.util.ArrayList
;
import
java.util.List
;
import
io.reactivex.Observable
;
import
io.reactivex.ObservableEmitter
;
import
io.reactivex.ObservableOnSubscribe
;
import
io.reactivex.android.schedulers.AndroidSchedulers
;
import
io.reactivex.functions.Consumer
;
import
io.reactivex.schedulers.Schedulers
;
/**
* Created by Administrator on 2017/11/24.
*/
public
class
ReplenishmentFragment
extends
BaseFragment
<
ReplenishmentPresenter
,
FragmentReplenishementBinding
>
{
private
int
[]
titleInts
=
{
R
.
string
.
manage_replenishment_unConfirmed
,
R
.
string
.
manage_replenishment_unReceive
,
R
.
string
.
manage_replenishment_finished
};
private
FragmentViewAdapter
mFragmentPagerAdapter
;
private
List
<
BaseFragment
>
fragments
;
private
long
mExitTime
=
0
;
private
final
int
UNCONFIRMED
=
3
;
private
final
int
UNRECEIVE
=
1
;
private
final
int
FINISH
=
0
;
private
int
status
=
UNCONFIRMED
;
@Override
public
int
getLayoutId
()
{
...
...
@@ -43,69 +52,82 @@ public class ReplenishmentFragment extends BaseFragment<ReplenishmentPresenter,
initTab
();
mPresenter
.
queryPsbList
();
//
// mViewBinding.btnAdd.setOnClickListener(view -> {
// mPresenter.clickAdd();
// });
//
// mViewBinding.btnSearch.setOnClickListener(view -> {
// if (mViewBinding.etKeyword.getText().toString().trim().length() == 0) {
// ToastUtils.showShort("请输入供货商名称");
// return;
// }
// List<Psb> psbs = new ArrayList<>();
// if (psbArrayList == null) {
// return;
// }
// for (Psb psb : psbArrayList) {
// if (mViewBinding.etKeyword.getText().toString().trim().length() == 0) {
// return;
// }
// Pattern pattern = Pattern.compile(mViewBinding.etKeyword.getText().toString(), Pattern.CASE_INSENSITIVE);
//
// Matcher matcher = pattern.matcher((psb.getOutChannelNameabcn() + ""));
// if (matcher.find()) {
// psbs.add(psb);
//
// }
// }
//
// mReplenishmentAdapter.setNewData(psbs);
// mReplenishmentAdapter.loadMoreEnd();
// });
}
mViewBinding
.
btnAdd
.
setOnClickListener
(
view
->
{
mPresenter
.
clickAdd
();
});
mViewBinding
.
icTitle
.
ivRight
.
setImageResource
(
R
.
mipmap
.
but_sweep_yard
);
mViewBinding
.
icTitle
.
edTitle
.
setHint
(
"请输入供货商名称"
);
mViewBinding
.
icTitle
.
edTitle
.
setOnClickListener
(
view
->
{
if
(
mViewBinding
.
icTitle
.
edTitle
.
getText
().
toString
().
trim
().
length
()
==
0
)
{
ToastUtils
.
showShort
(
"请输入供货商名称"
);
return
;
}
switch
(
mViewBinding
.
tab
.
getSelectedTabPosition
())
{
case
0
:
mPresenter
.
searchPsbList
(
mViewBinding
.
icTitle
.
edTitle
.
getText
().
toString
(),
(
ReplenishmentListFragment
)
fragments
.
get
(
0
));
break
;
case
1
:
mPresenter
.
searchPsbList
(
mViewBinding
.
icTitle
.
edTitle
.
getText
().
toString
(),
(
ReplenishmentListFragment
)
fragments
.
get
(
1
));
break
;
case
2
:
mPresenter
.
searchPsbList
(
mViewBinding
.
icTitle
.
edTitle
.
getText
().
toString
(),
(
ReplenishmentListFragment
)
fragments
.
get
(
2
));
break
;
}
});
// private void initRecycler() {
// mViewBinding.rlProduct.setLayoutManager(new GridLayoutManager(getActivity(), 3));
//
// mReplenishmentAdapter = new ReplenishmentAdapter(new ArrayList<>());
// mReplenishmentAdapter.setEmptyView(getEmptyView());
// mReplenishmentAdapter.bindToRecyclerView(mViewBinding.rlProduct);
// mViewBinding.srlProduct.setOnRefreshListener(this::onRefresh);
// mReplenishmentAdapter.setOnLoadMoreListener(this::onLoadMore, mViewBinding.rlProduct);
// mReplenishmentAdapter.setOnItemClickListener((adapter, view, position) -> {
// if ((System.currentTimeMillis() - mExitTime) > 500) {
// mPresenter.queryPsbDetail(mReplenishmentAdapter.getData().get(position));
// } else {
// ToastUtils.showLong("您操作太快了");
// }
//
// });
// }
private
void
onRefresh
()
{
mPresenter
.
refreshPsb
();
}
private
void
initTab
()
{
mViewBinding
.
tab
.
setupWithViewPager
(
mViewBinding
.
fragmentContainer
);
mViewBinding
.
tab
.
getTabAt
(
0
).
setText
(
"待确认"
);
mViewBinding
.
tab
.
getTabAt
(
1
).
setText
(
"待收货"
);
mViewBinding
.
tab
.
getTabAt
(
2
).
setText
(
"已入库"
);
Observable
.
create
(
new
ObservableOnSubscribe
<
View
>()
{
@Override
public
void
subscribe
(
ObservableEmitter
<
View
>
e
)
throws
Exception
{
e
.
onNext
(
getLayoutInflater
().
inflate
(
R
.
layout
.
item_string
,
null
));
e
.
onNext
(
getLayoutInflater
().
inflate
(
R
.
layout
.
item_string
,
null
));
e
.
onNext
(
getLayoutInflater
().
inflate
(
R
.
layout
.
item_string
,
null
));
}
}).
subscribeOn
(
Schedulers
.
newThread
()).
observeOn
(
AndroidSchedulers
.
mainThread
()).
subscribe
(
new
Consumer
<
View
>()
{
int
i
=
0
;
@Override
public
void
accept
(
View
view
)
throws
Exception
{
ItemStringBinding
itemMenuBottomBinding
=
DataBindingUtil
.
bind
(
view
);
if
(
i
==
0
)
{
itemMenuBottomBinding
.
itemTv
.
setTypeface
(
Typeface
.
defaultFromStyle
(
Typeface
.
BOLD
));
}
itemMenuBottomBinding
.
itemTv
.
setText
(
titleInts
[
i
]);
itemMenuBottomBinding
.
itemTv
.
setPadding
(
0
,
0
,
0
,
0
);
mViewBinding
.
tab
.
getTabAt
(
i
).
setCustomView
(
view
);
i
++;
}
});
mViewBinding
.
tab
.
addOnTabSelectedListener
(
new
TabLayout
.
OnTabSelectedListener
()
{
@Override
public
void
onTabSelected
(
TabLayout
.
Tab
tab
)
{
TextView
textView
=
(
TextView
)
tab
.
getCustomView
().
findViewById
(
R
.
id
.
item_tv
);
textView
.
setTypeface
(
Typeface
.
defaultFromStyle
(
Typeface
.
BOLD
));
}
@Override
public
void
onTabUnselected
(
TabLayout
.
Tab
tab
)
{
TextView
textView
=
(
TextView
)
tab
.
getCustomView
().
findViewById
(
R
.
id
.
item_tv
);
textView
.
setTypeface
(
Typeface
.
defaultFromStyle
(
Typeface
.
NORMAL
));
}
@Override
public
void
onTabReselected
(
TabLayout
.
Tab
tab
)
{
}
});
}
public
void
initData
()
{
...
...
app/src/main/java/com/xingdata/zzdpos/ui/manage/replenishment/fragment/ReplenishmentListFragment.java
View file @
d0c4b973
...
...
@@ -2,6 +2,7 @@ package com.xingdata.zzdpos.ui.manage.replenishment.fragment;
import
android.content.Intent
;
import
android.os.Handler
;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.view.View
;
import
android.widget.TextView
;
...
...
@@ -24,11 +25,13 @@ import com.xingdata.zzdpos.ui.statistics.adapter.StatisticsOrderGroupAdapter;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
public
class
ReplenishmentListFragment
extends
BaseFragment
<
ReplenishmentPresenter
,
FragmentReplenishmentListBinding
>
{
private
ReplenishmentAdapter
mReplenishmentAdapter
;
private
List
<
Psb
>
psb
s
=
new
ArrayList
<>();
private
List
<
Psb
>
psb
ArrayList
=
new
ArrayList
<>();
@Override
public
int
getLayoutId
()
{
...
...
@@ -38,12 +41,12 @@ public class ReplenishmentListFragment extends BaseFragment<ReplenishmentPresent
@Override
public
void
initView
()
{
if
(
mReplenishmentAdapter
==
null
)
{
mReplenishmentAdapter
=
new
ReplenishmentAdapter
(
psb
s
);
mReplenishmentAdapter
=
new
ReplenishmentAdapter
(
psb
ArrayList
);
mViewBinding
.
recycler
.
setLayoutManager
(
new
LinearLayoutManager
(
getActivity
()));
mViewBinding
.
recycler
.
setAdapter
(
mReplenishmentAdapter
);
}
else
{
mViewBinding
.
recycler
.
setLayoutManager
(
new
LinearLayoutManager
(
getActivity
()));
mViewBinding
.
recycler
.
setAdapter
(
mReplenishmentAdapter
);
}
...
...
@@ -81,7 +84,7 @@ public class ReplenishmentListFragment extends BaseFragment<ReplenishmentPresent
*/
public
void
setData
(
List
<
Psb
>
psbList
,
boolean
isRefresh
)
{
if
(
mReplenishmentAdapter
==
null
)
{
psb
s
=
psbList
;
psb
ArrayList
=
psbList
;
return
;
}
if
(
isRefresh
)
{
...
...
@@ -100,5 +103,37 @@ public class ReplenishmentListFragment extends BaseFragment<ReplenishmentPresent
}
public
void
searchSucc
(
String
wd
)
{
List
<
Psb
>
psbs
=
new
ArrayList
<>();
if
(
psbArrayList
==
null
)
{
return
;
}
for
(
Psb
psb
:
psbArrayList
)
{
if
(
wd
.
trim
().
length
()
==
0
)
{
return
;
}
Pattern
pattern
=
Pattern
.
compile
(
wd
,
Pattern
.
CASE_INSENSITIVE
);
Matcher
matcher
=
pattern
.
matcher
((
psb
.
getOutChannelNameabcn
()
+
""
));
if
(
matcher
.
find
())
{
psbs
.
add
(
psb
);
}
}
mViewBinding
.
recycler
.
setVisibility
(
View
.
GONE
);
new
Handler
().
postDelayed
(
new
Runnable
()
{
@Override
public
void
run
()
{
if
(
psbs
.
size
()
==
0
)
{
mViewBinding
.
llEmpty
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
mReplenishmentAdapter
.
setNewData
(
psbs
);
mReplenishmentAdapter
.
loadMoreEnd
();
mViewBinding
.
recycler
.
setVisibility
(
View
.
VISIBLE
);
}
}
},
500
);
}
}
app/src/main/java/com/xingdata/zzdpos/ui/sendticke/fragment/VipFragment.java
View file @
d0c4b973
...
...
@@ -43,7 +43,7 @@ public class VipFragment extends BaseFragment<SendTicketPresenter, FragmentSendT
mVipAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
{
mPresenter
.
selectVip
(
mVipAdapter
.
getData
().
get
(
position
));
mPresenter
.
sendTickerFragment
=
new
SendTickerFragment
();
mPresenter
.
sendTickerFragment
=
new
com
.
xingdata
.
zzdpos
.
ui
.
sendticke
.
fragment
.
SendTickerFragment
();
mPresenter
.
sendTickerFragment
.
setNowtype
(
0
);
mPresenter
.
sendTickerFragment
.
setNowVip
(
mVipAdapter
.
getData
().
get
(
position
));
startWithPop
(
mPresenter
.
sendTickerFragment
);
...
...
app/src/main/java/com/xingdata/zzdpos/ui/vip/VipActivity.java
View file @
d0c4b973
package
com
.
xingdata
.
zzdpos
.
ui
.
vip
;
import
com.blankj.utilcode.util.ToastUtils
;
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.Pager
;
import
com.xingdata.zzdpos.model.Sta
;
import
com.xingdata.zzdpos.model.Ticket
;
import
com.xingdata.zzdpos.model.Vip
;
import
com.xingdata.zzdpos.ui.vip.fragment.VipInfoFragment
;
import
com.xingdata.zzdpos.ui.vip.fragment.VipLevleFragment
;
import
com.xingdata.zzdpos.ui.vip.fragment.VipInfoEditFragment
;
import
com.xingdata.zzdpos.ui.vip.fragment.VipListFragment
;
import
com.xingdata.zzdpos.ui.vip.fragment.VipTitleFragment
;
import
com.xingdata.zzdpos.util.OnClickListener
;
import
java.util.List
;
public
class
VipActivity
extends
BaseActivity
<
VipPresenter
,
ActivityVipBinding
>
implements
VipContract
.
View
{
...
...
@@ -20,40 +20,39 @@ public class VipActivity extends BaseActivity<VipPresenter, ActivityVipBinding>
return
R
.
layout
.
activity_vip
;
}
@Override
public
void
initView
()
{
loadRootFragment
(
R
.
id
.
vip_list_frame
,
mPresenter
.
vipListFragment
,
false
,
false
);
loadRootFragment
(
R
.
id
.
vip_level_frame
,
mPresenter
.
vipLevleFragment
,
false
,
false
);
loadRootFragment
(
R
.
id
.
vip_title_frame
,
mPresenter
.
vipTitleFragment
,
false
,
false
);
loadRootFragment
(
R
.
id
.
vip_frame
,
mPresenter
.
vipListFragment
,
true
,
false
);
}
@Override
public
void
addVip
()
{
start
(
mPresenter
.
vipListFragment
);
}
@Override
public
String
addVipSus
(
)
{
return
null
;
public
void
addVipSus
(
Vip
vip
)
{
mPresenter
.
vipInfoFragment
.
addVipSus
(
vip
)
;
}
@Override
public
void
getVipLevelSus
(
Pager
<
Level
>
level
Pager
)
{
mPresenter
.
vip
LevleFragment
.
getVipLevelSus
(
level
Pager
);
public
void
ticketQuerySus
(
List
<
Ticket
>
ticket
Pager
)
{
mPresenter
.
vip
InfoFragment
.
ticketQuerySus
(
ticket
Pager
);
}
@Override
public
void
getVipListSus
(
Pager
<
Vip
>
vipPager
,
int
pageNumber
)
{
mPresenter
.
vipListFragment
.
getVipListSus
(
vipPager
,
pageNumber
);
public
void
getVipLevelSus
(
Pager
<
Level
>
levelPager
)
{
mPresenter
.
vipListFragment
.
getVipLevelSus
(
levelPager
);
}
@Override
public
void
getVipListSus
(
Pager
<
Vip
>
vipPager
,
int
pageNumber
)
{
mPresenter
.
vipListFragment
.
getVipListSus
(
vipPager
,
pageNumber
);
}
@Override
public
String
getVipNumberSus
(
)
{
return
null
;
public
void
getVipNumberSus
(
Sta
sta
)
{
mPresenter
.
vipListFragment
.
getVipNumberSus
(
sta
)
;
}
}
app/src/main/java/com/xingdata/zzdpos/ui/vip/VipContract.java
View file @
d0c4b973
...
...
@@ -4,32 +4,33 @@ import com.xingdata.zzdpos.base.BasePresenter;
import
com.xingdata.zzdpos.base.BaseView
;
import
com.xingdata.zzdpos.model.Level
;
import
com.xingdata.zzdpos.model.Pager
;
import
com.xingdata.zzdpos.model.Sta
;
import
com.xingdata.zzdpos.model.Ticket
;
import
com.xingdata.zzdpos.model.Vip
;
import
java.util.List
;
public
interface
VipContract
{
interface
View
extends
BaseView
{
void
addVip
();
String
addVipSus
();
void
getVipLevelSus
(
Pager
<
Level
>
levelPager
);
void
getVipListSus
(
Pager
<
Vip
>
vipPager
,
int
pageNumber
);
String
getVipNumberSus
();
void
getVipListSus
(
Pager
<
Vip
>
vipPager
,
int
pageNumber
);
void
getVipNumberSus
(
Sta
sta
);
void
addVipSus
(
Vip
vip
);
void
ticketQuerySus
(
List
<
Ticket
>
ticketPager
);
}
abstract
class
Presenter
extends
BasePresenter
<
Vi
pContract
.
Vi
ew
>
{
public
abstract
void
getVipList
(
int
pageNumber
,
String
vipLevel
);
abstract
class
Presenter
extends
BasePresenter
<
View
>
{
public
abstract
void
getVipList
(
int
pageNumber
,
String
vipLevel
);
public
abstract
void
getVipLevel
(
int
pageNum
,
int
pageSize
);
public
abstract
void
getVipNumber
();
public
abstract
void
addVip
();
public
abstract
void
addVip
(
Vip
vip
);
public
abstract
void
ticketQuery
(
Long
vipID
);
public
abstract
void
saleorderQuery
(
Long
vipID
);
}
}
\ No newline at end of file
app/src/main/java/com/xingdata/zzdpos/ui/vip/VipPresenter.java
View file @
d0c4b973
...
...
@@ -3,17 +3,17 @@ package com.xingdata.zzdpos.ui.vip;
import
com.blankj.utilcode.util.ToastUtils
;
import
com.xingdata.zzdpos.api.ApiFactory
;
import
com.xingdata.zzdpos.model.Vip
;
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.VipLevleFragment
;
import
com.xingdata.zzdpos.ui.vip.fragment.VipListFragment
;
import
com.xingdata.zzdpos.ui.vip.fragment.VipTitleFragment
;
public
class
VipPresenter
extends
VipContract
.
Presenter
{
public
VipListFragment
vipListFragment
=
new
VipListFragment
();
public
VipInfoEditFragment
vipInfoEditFragment
=
new
VipInfoEditFragment
();
public
VipInfoFragment
vipInfoFragment
=
new
VipInfoFragment
();
public
VipListFragment
vipListFragment
=
new
VipListFragment
();
public
VipLevleFragment
vipLevleFragment
=
new
VipLevleFragment
();
public
VipTitleFragment
vipTitleFragment
=
new
VipTitleFragment
();
public
VipExpenseListFragment
vipExpenseListFragment
=
new
VipExpenseListFragment
();
@Override
public
void
onAttached
()
{
...
...
@@ -22,8 +22,8 @@ public class VipPresenter extends VipContract.Presenter {
@Override
public
void
getVipList
(
int
pageNumber
,
String
vipLevel
)
{
ApiFactory
.
User
.
getVipList
(
pageNumber
,
vipLevel
).
subscribe
(
vipPager
->
{
mView
.
getVipListSus
(
vipPager
,
pageNumber
);
ApiFactory
.
User
.
getVipList
(
pageNumber
,
vipLevel
).
subscribe
(
vipPager
->
{
mView
.
getVipListSus
(
vipPager
,
pageNumber
);
},
throwable
->
{
ToastUtils
.
showShort
(
throwable
.
getMessage
());
});
...
...
@@ -42,11 +42,50 @@ public class VipPresenter extends VipContract.Presenter {
@Override
public
void
getVipNumber
()
{
ApiFactory
.
Sta
.
querySta
().
subscribe
(
sta
->
{
mView
.
getVipNumberSus
(
sta
);
},
throwable
->
{
ToastUtils
.
showShort
(
throwable
.
getMessage
());
});
}
@Override
public
void
addVip
(
Vip
vip
)
{
if
(
vip
.
getVipId
()
==
null
)
{
ApiFactory
.
User
.
addVip
(
vip
).
subscribe
(
mVip
->
{
mView
.
addVipSus
(
mVip
);
},
throwable
->
{
ToastUtils
.
showShort
(
throwable
.
getMessage
());
});
}
else
{
ApiFactory
.
User
.
updateVip
(
vip
).
subscribe
(
mVip
->
{
mView
.
addVipSus
(
mVip
);
},
throwable
->
{
ToastUtils
.
showShort
(
throwable
.
getMessage
());
});
}
}
@Override
public
void
addVip
()
{
mView
.
addVip
();
public
void
ticketQuery
(
Long
vipID
)
{
ApiFactory
.
Ticket
.
query
(
vipID
).
subscribe
(
ticketList
->
{
mView
.
ticketQuerySus
(
ticketList
);
},
throwable
->
{
ToastUtils
.
showShort
(
throwable
.
getMessage
());
});
}
@Override
public
void
saleorderQuery
(
Long
vipID
)
{
ApiFactory
.
Saleorder
.
querySaleorderByVipId
(
vipID
,
0
,
100
).
subscribe
(
ticketList
->
{
mView
.
ticketQuerySus
(
ticketList
);
},
throwable
->
{
ToastUtils
.
showShort
(
throwable
.
getMessage
());
});
}
}
app/src/main/java/com/xingdata/zzdpos/ui/vip/adapter/VipListAdapter.java
View file @
d0c4b973
...
...
@@ -7,6 +7,8 @@ import com.xingdata.zzdpos.R;
import
com.xingdata.zzdpos.base.BaseAdapter
;
import
com.xingdata.zzdpos.databinding.ItemVipListItemBinding
;
import
com.xingdata.zzdpos.model.Vip
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
com.xingdata.zzdpos.util.StringUtil
;
import
java.util.List
;
...
...
@@ -25,6 +27,6 @@ public class VipListAdapter extends BaseAdapter<Vip, ItemVipListItemBinding> {
protected
void
convert
(
ItemVipListItemBinding
mViewBinding
,
Vip
item
)
{
mViewBinding
.
vipName
.
setText
(
item
.
getVipName
());
mViewBinding
.
vipMobile
.
setText
(
String
.
valueOf
(
item
.
getVipMobile
()));
mViewBinding
.
vipDiscount
.
setText
(
String
.
valueOf
(
item
.
getVipDefDiscount
()));
mViewBinding
.
vipDiscount
.
setText
(
ConvertUtil
.
discount
(
item
.
getVipDefDiscount
()));
}
}
app/src/main/java/com/xingdata/zzdpos/ui/vip/adapter/VipRechargeAdapter.java
View file @
d0c4b973
...
...
@@ -23,8 +23,5 @@ public class VipRechargeAdapter extends BaseAdapter<VipRechargeOrder, ItemVipRec
}
@Override
protected
void
convert
(
ItemVipRechargeItemBinding
mViewBinding
,
VipRechargeOrder
item
)
{
// mViewBinding.vipName.setText(item.getVipName());
// mViewBinding.vipMobile.setText(String.valueOf(item.getVipMobile()));
// mViewBinding.vipDiscount.setText(String.valueOf(item.getVipDefDiscount()));
}
}
app/src/main/java/com/xingdata/zzdpos/ui/vip/dialog/VipEditMenuDialog.java
View file @
d0c4b973
package
com
.
xingdata
.
zzdpos
.
ui
.
vip
.
dialog
;
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
java.util.List
;
/**
* Created by JM_DEV on 2017/12/27.
*/
public
class
VipEditMenuDialog
extends
BaseSheetDialog
<
VipPresenter
,
DialogVipMenuBinding
>
{
private
Vip
mVip
;
private
List
<
Level
>
mLevel
;
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
dialog_vip_menu
;
...
...
@@ -17,6 +28,29 @@ public class VipEditMenuDialog extends BaseSheetDialog<VipPresenter, DialogVipMe
@Override
public
void
initView
()
{
mViewBinding
.
setOnClick
(
view
->
{
switch
(
view
.
getId
())
{
//編輯會員
case
R
.
id
.
editVip
:
mPresenter
.
vipInfoEditFragment
=
new
VipInfoEditFragment
();
mPresenter
.
vipInfoEditFragment
.
setVip
(
mVip
);
mPresenter
.
vipInfoEditFragment
.
setVipLevel
(
mLevel
);
((
BaseActivity
)
getActivity
()).
start
(
mPresenter
.
vipInfoEditFragment
);
break
;
//充值記錄
case
R
.
id
.
rechargeList
:
break
;
//優惠券詳情
case
R
.
id
.
voucherDetails
:
break
;
//消費記錄
case
R
.
id
.
consumeList
:
((
BaseActivity
)
getActivity
()).
start
(
new
VipExpenseListFragment
());
break
;
}
dismiss
();
});
}
...
...
@@ -24,4 +58,14 @@ public class VipEditMenuDialog extends BaseSheetDialog<VipPresenter, DialogVipMe
protected
boolean
isTransparentBackground
()
{
return
true
;
}
public
void
setVip
(
Vip
mVip
)
{
this
.
mVip
=
mVip
;
}
public
void
setLevel
(
List
<
Level
>
mLevel
)
{
this
.
mLevel
=
mLevel
;
}
}
app/src/main/java/com/xingdata/zzdpos/ui/vip/fragment/VipExpenseListFragment.java
View file @
d0c4b973
...
...
@@ -4,6 +4,7 @@ package com.xingdata.zzdpos.ui.vip.fragment;
* Created by JM_DEV on 2017/12/21.
*/
import
android.annotation.SuppressLint
;
import
android.support.v7.widget.LinearLayoutManager
;
import
com.blankj.utilcode.util.ToastUtils
;
...
...
@@ -11,6 +12,7 @@ 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.model.Level
;
import
com.xingdata.zzdpos.model.VipRechargeOrder
;
import
com.xingdata.zzdpos.ui.vip.VipPresenter
;
import
com.xingdata.zzdpos.ui.vip.adapter.VipRechargeAdapter
;
...
...
@@ -22,9 +24,12 @@ import java.util.List;
/**
* 会员消费记录
*/
@SuppressLint
(
"ValidFragment"
)
public
class
VipExpenseListFragment
extends
BaseFragment
<
VipPresenter
,
FragmentVipExpenseListBinding
>
{
private
VipRechargeAdapter
vipRechargeAdapter
;
private
List
<
VipRechargeOrder
>
orders
=
new
ArrayList
<>();
private
List
<
Level
>
levels
=
null
;
@Override
public
int
getLayoutId
()
{
...
...
@@ -33,7 +38,6 @@ public class VipExpenseListFragment extends BaseFragment<VipPresenter, FragmentV
@Override
public
void
initView
()
{
mViewBinding
.
infoTitle
.
tvTitle
.
setText
(
"会员信息"
);
vipRechargeAdapter
=
new
VipRechargeAdapter
(
getActivity
(),
orders
);
mViewBinding
.
rechargeRecyclerView
.
setLayoutManager
(
new
LinearLayoutManager
(
getActivity
()));
...
...
app/src/main/java/com/xingdata/zzdpos/ui/vip/fragment/VipInfoEditFragment.java
0 → 100644
View file @
d0c4b973
package
com
.
xingdata
.
zzdpos
.
ui
.
vip
.
fragment
;
/**
* Created by JM_DEV on 2017/12/21.
*/
import
android.app.DatePickerDialog
;
import
android.graphics.Color
;
import
android.view.View
;
import
android.widget.CheckBox
;
import
android.widget.DatePicker
;
import
android.widget.RadioButton
;
import
android.widget.TextView
;
import
com.bigkoo.pickerview.OptionsPickerView
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseActivity
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.databinding.FragmentVipInfoEditBinding
;
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.dialog.VipEditMenuDialog
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
com.xingdata.zzdpos.util.StringUtil
;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.util.List
;
/**
* 会员信息界面
*/
public
class
VipInfoEditFragment
extends
BaseFragment
<
VipPresenter
,
FragmentVipInfoEditBinding
>
{
private
List
<
Level
>
levels
;
private
Vip
mVip
;
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
fragment_vip_info_edit
;
}
@Override
public
void
initView
()
{
if
(
mVip
!=
null
)
{
mViewBinding
.
infoTitle
.
tvTitle
.
setText
(
"修改会员"
);
mViewBinding
.
vipDiscounts
.
setText
(
mVip
.
getVipLevelName
()
+
mVip
.
getVipDefDiscount
()
+
"折"
);
mViewBinding
.
vipBirthday
.
setText
(
StringUtil
.
format
(
new
Date
(
mVip
.
getVipBirthday
())));
mViewBinding
.
vipName
.
setText
(
mVip
.
getVipName
());
mViewBinding
.
vipPhone
.
setText
(
mVip
.
getVipMobile
()
+
""
);
((
CheckBox
)
mViewBinding
.
vipSuper
).
setChecked
(
mVip
.
getVipTag
()
==
1
);
RadioButton
radioButton
=
mViewBinding
.
vipSex
.
findViewWithTag
(
mVip
.
getVipSex
().
toString
());
if
(
radioButton
!=
null
)
{
radioButton
.
setChecked
(
true
);
}
}
else
{
mViewBinding
.
infoTitle
.
tvTitle
.
setText
(
"添加会员"
);
}
if
(
levels
.
size
()
!=
0
)
{
mViewBinding
.
vipDiscounts
.
setText
(
levels
.
get
(
0
).
getVipLevelName
()
+
" "
+
ConvertUtil
.
discount
(
levels
.
get
(
0
).
getVipDefDiscount
())
+
"折"
);
}
mViewBinding
.
setOnClickListener
(
view
->
{
switch
(
view
.
getId
())
{
case
R
.
id
.
vip_discounts
:
ShowPickerViewStoreAddress
();
break
;
case
R
.
id
.
vip_birthday
:
showDialogPick
(
mViewBinding
.
vipBirthday
);
break
;
case
R
.
id
.
onSure
:
if
(
mVip
==
null
)
{
mVip
=
new
Vip
();
}
mVip
.
setVipName
(
mViewBinding
.
vipName
.
getText
().
toString
().
trim
());
mVip
.
setVipMobile
(
Long
.
parseLong
(
mViewBinding
.
vipPhone
.
getText
().
toString
().
trim
()));
int
sexId
=
mViewBinding
.
vipSex
.
getCheckedRadioButtonId
();
if
(
sexId
!=
-
1
)
{
mVip
.
setVipSex
(
Byte
.
parseByte
(
mViewBinding
.
vipSex
.
findViewById
(
sexId
).
getTag
().
toString
()));
}
if
(
mVip
.
getVipId
()
!=
null
)
{
mPresenter
.
addVip
(
mVip
);
}
else
{
mPresenter
.
addVip
(
mVip
);
}
break
;
}
});
mViewBinding
.
infoTitle
.
ivBack
.
setOnClickListener
(
view
->
{
pop
();
});
mViewBinding
.
infoTitle
.
popMenu
.
setOnClickListener
(
view
->
{
new
VipEditMenuDialog
().
show
((
BaseActivity
)
getActivity
());
});
}
/**
* 弹出选择会员P
*/
private
void
ShowPickerViewStoreAddress
()
{
// 弹出选择器
OptionsPickerView
pvOptions
=
new
OptionsPickerView
.
Builder
(
getActivity
(),
new
OptionsPickerView
.
OnOptionsSelectListener
()
{
@Override
public
void
onOptionsSelect
(
int
options1
,
int
options2
,
int
options3
,
View
v
)
{
String
tx
=
levels
.
get
(
options1
).
getPickerViewText
();
mViewBinding
.
vipDiscounts
.
setText
(
tx
+
" "
+
ConvertUtil
.
discount
(
levels
.
get
(
options1
).
getVipDefDiscount
())
+
"折"
);
// mViewBinding.tvSelectStore.setText(tx);
// shops = list.get(options1);
}
}).
setTitleText
(
"请选择"
)
.
setDividerColor
(
Color
.
BLACK
)
.
setTextColorCenter
(
Color
.
BLACK
)
//设置选中项文字颜色
.
setContentTextSize
(
20
)
.
build
();
pvOptions
.
setPicker
(
levels
);
pvOptions
.
show
();
}
public
void
setVipLevel
(
List
<
Level
>
levels
)
{
this
.
levels
=
levels
;
}
public
void
setVip
(
Vip
mVip
)
{
this
.
mVip
=
mVip
;
}
public
Vip
getmVip
()
{
return
mVip
;
}
//将两个选择时间的dialog放在该函数中
private
void
showDialogPick
(
final
View
btn
)
{
//获取Calendar对象,用于获取当前时间
final
Calendar
calendar
=
Calendar
.
getInstance
();
int
year
=
calendar
.
get
(
Calendar
.
YEAR
);
int
month
=
calendar
.
get
(
Calendar
.
MONTH
);
int
day
=
calendar
.
get
(
Calendar
.
DAY_OF_MONTH
);
//实例化DatePickerDialog对象
DatePickerDialog
datePickerDialog
=
new
DatePickerDialog
(
mContext
,
new
DatePickerDialog
.
OnDateSetListener
()
{
//选择完日期后会调用该回调函数
@Override
public
void
onDateSet
(
DatePicker
view
,
int
year
,
int
monthOfYear
,
int
dayOfMonth
)
{
//因为monthOfYear会比实际月份少一月所以这边要加1
((
TextView
)
btn
).
setText
(
year
+
"-"
+
(
monthOfYear
+
1
)
+
"-"
+
dayOfMonth
);
}
},
year
,
month
,
day
);
//弹出选择日期对话框
datePickerDialog
.
show
();
}
@Override
public
boolean
onBackPressedSupport
()
{
return
false
;
}
}
app/src/main/java/com/xingdata/zzdpos/ui/vip/fragment/VipInfoFragment.java
View file @
d0c4b973
package
com
.
xingdata
.
zzdpos
.
ui
.
vip
.
fragment
;
/**
* Created by JM_DEV on 2017/12/21.
*/
import
android.graphics.Color
;
import
android.view.View
;
import
com.bigkoo.pickerview.OptionsPickerView
;
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.FragmentVip
levelTitle
Binding
;
import
com.xingdata.zzdpos.databinding.FragmentVip
Info
Binding
;
import
com.xingdata.zzdpos.model.Level
;
import
com.xingdata.zzdpos.model.VipRechargeOrder
;
import
com.xingdata.zzdpos.model.Ticket
;
import
com.xingdata.zzdpos.model.Vip
;
import
com.xingdata.zzdpos.ui.vip.VipPresenter
;
import
com.xingdata.zzdpos.ui.vip.
adapter.VipRechargeAdapter
;
import
com.xingdata.zzdpos.ui.vip.
dialog.VipEditMenuDialog
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
*
会员信息界面
*
Created by JM_DEV on 2018/1/4.
*/
public
class
VipInfoFragment
extends
BaseFragment
<
VipPresenter
,
FragmentViplevelTitleBinding
>
{
private
VipRechargeAdapter
vipRechargeAdapter
;
private
List
<
VipRechargeOrder
>
orders
=
new
ArrayList
<>();
public
class
VipInfoFragment
extends
BaseFragment
<
VipPresenter
,
FragmentVipInfoBinding
>
{
private
Vip
mVip
;
private
List
<
Level
>
level
;
@Override
public
int
getLayoutId
()
{
...
...
@@ -34,32 +28,51 @@ public class VipInfoFragment extends BaseFragment<VipPresenter, FragmentViplevel
@Override
public
void
initView
()
{
mViewBinding
.
infoTitle
.
tvTitle
.
setText
(
"会员信息"
);
mViewBinding
.
infoTitle
.
ivBack
.
setOnClickListener
(
view
->
{
pop
();
});
mViewBinding
.
infoTitle
.
popMenu
.
setOnClickListener
(
view
->
{
VipEditMenuDialog
dialog
=
new
VipEditMenuDialog
();
dialog
.
setLevel
(
level
);
dialog
.
setVip
(
mVip
);
dialog
.
show
((
BaseActivity
)
getActivity
());
});
mViewBinding
.
Totalpamt
.
setText
(
String
.
valueOf
(
mVip
.
getVipTotalpamt
()));
mViewBinding
.
BoundCbal
.
setText
(
String
.
valueOf
(
mVip
.
getBoundCbal
()));
mViewBinding
.
AcctCbal
.
setText
(
String
.
valueOf
(
mVip
.
getAcctCbal
()));
mViewBinding
.
vipLevel
.
setText
(
mVip
.
getVipLevelName
());
mViewBinding
.
vipBirthday
.
setText
(
mVip
.
getVipBirthday
()
+
""
);
mViewBinding
.
vipName
.
setText
(
mVip
.
getVipName
());
mViewBinding
.
vipMoble
.
setText
(
mVip
.
getVipMobile
()
+
""
);
mViewBinding
.
vipSex
.
setText
(
getVipSex
(
mVip
.
getVipSex
()));
mViewBinding
.
vipDiscounts
.
setText
(
getString
(
R
.
string
.
vip_discount
,
mVip
.
getVipDefDiscount
()
+
""
));
mPresenter
.
ticketQuery
(
mVip
.
getVipId
());
}
private
String
getVipSex
(
Byte
vipSex
)
{
if
(
vipSex
.
toString
().
equals
(
"1"
))
{
return
"男"
;
}
else
if
(
vipSex
.
toString
().
equals
(
"0"
))
{
return
"女"
;
}
return
"未知"
;
}
public
void
setVip
(
Vip
vip
)
{
this
.
mVip
=
vip
;
}
/**
* 弹出选择会员P
*/
private
void
ShowPickerViewStoreAddress
()
{
// 弹出选择器
ArrayList
<
Level
>
list
=
new
ArrayList
<>();
OptionsPickerView
pvOptions
=
new
OptionsPickerView
.
Builder
(
getActivity
(),
new
OptionsPickerView
.
OnOptionsSelectListener
()
{
@Override
public
void
onOptionsSelect
(
int
options1
,
int
options2
,
int
options3
,
View
v
)
{
String
tx
=
list
.
get
(
options1
).
getPickerViewText
();
ToastUtils
.
showShort
(
tx
);
// mViewBinding.tvSelectStore.setText(tx);
// shops = list.get(options1);
}
}).
setTitleText
(
"请选择"
)
.
setDividerColor
(
Color
.
BLACK
)
.
setTextColorCenter
(
Color
.
BLACK
)
//设置选中项文字颜色
.
setContentTextSize
(
20
)
.
build
();
public
void
setLevel
(
List
<
Level
>
level
)
{
this
.
level
=
level
;
}
pvOptions
.
setPicker
(
list
);
pvOptions
.
show
();
public
void
addVipSus
(
Vip
vip
)
{
mVip
=
vip
;
initView
();
mPresenter
.
vipInfoEditFragment
.
pop
();
}
public
void
ticketQuerySus
(
List
<
Ticket
>
ticketPager
)
{
mViewBinding
.
ticketCount
.
setText
(
String
.
valueOf
(
ticketPager
.
size
()));
}
}
app/src/main/java/com/xingdata/zzdpos/ui/vip/fragment/VipLevleFragment.java
deleted
100644 → 0
View file @
4c68ac55
package
com
.
xingdata
.
zzdpos
.
ui
.
vip
.
fragment
;
/**
* Created by JM_DEV on 2017/12/21.
*/
import
android.annotation.SuppressLint
;
import
android.graphics.Color
;
import
android.graphics.drawable.ColorDrawable
;
import
android.view.Gravity
;
import
android.widget.GridView
;
import
android.widget.LinearLayout
;
import
android.widget.RadioButton
;
import
android.widget.RadioGroup
;
import
com.blankj.utilcode.util.ToastUtils
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.databinding.FragmentViplevelTitleBinding
;
import
com.xingdata.zzdpos.model.Level
;
import
com.xingdata.zzdpos.model.Pager
;
import
com.xingdata.zzdpos.model.Vip
;
import
com.xingdata.zzdpos.ui.vip.VipActivity
;
import
com.xingdata.zzdpos.ui.vip.VipContract
;
import
com.xingdata.zzdpos.ui.vip.VipPresenter
;
/**
* 会员等级列表
*/
public
class
VipLevleFragment
extends
BaseFragment
<
VipPresenter
,
FragmentViplevelTitleBinding
>
{
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
fragment_viplevel_title
;
}
@Override
public
void
initView
()
{
mPresenter
.
getVipLevel
(
0
,
200
);
}
/**
* 设置按钮选中
*
* @param buttonID
*/
private
void
setRadioButtonChecked
(
int
buttonID
)
{
RadioButton
radioButton
=
mViewBinding
.
vipLevelRadioGroup
.
findViewById
(
buttonID
);
if
(
radioButton
.
isChecked
()){
radioButton
.
getPaint
().
setFakeBoldText
(
true
);
radioButton
.
setTextSize
(
17
);
mPresenter
.
vipListFragment
.
setEnableLoadMore
();
mPresenter
.
getVipList
(
0
,
radioButton
.
getTag
().
toString
());
}
else
{
radioButton
.
setTextSize
(
15
);
}
}
@SuppressLint
(
"ResourceAsColor"
)
private
RadioButton
addRadioButton
(
LinearLayout
.
LayoutParams
layoutParams
,
Level
level
)
{
RadioButton
radioButton
=
new
RadioButton
(
getActivity
());
radioButton
.
setTextSize
(
15
);
radioButton
.
setText
(
level
.
getVipLevelName
());
radioButton
.
setTag
(
level
.
getVipLevel
());
radioButton
.
setGravity
(
Gravity
.
CENTER
);
radioButton
.
setButtonDrawable
(
null
);
radioButton
.
getPaint
().
setFakeBoldText
(
true
);
radioButton
.
setBackgroundResource
(
R
.
drawable
.
checkbox_viplevel_bg
);
radioButton
.
setTextColor
(
R
.
color
.
black_baozheng
);
radioButton
.
setLayoutParams
(
layoutParams
);
return
radioButton
;
}
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
;
for
(
int
i
=
0
;
i
<
levelPager
.
getPageSize
();
i
++)
{
mViewBinding
.
vipLevelRadioGroup
.
addView
(
addRadioButton
(
layoutParams
,
levelPager
.
getList
().
get
(
i
)));
}
mViewBinding
.
vipLevelRadioGroup
.
setOnCheckedChangeListener
((
radioGroup
,
id
)
->
{
mPresenter
.
vipListFragment
.
setVipLevel
(
mViewBinding
.
vipLevelRadioGroup
.
findViewById
(
id
).
getTag
().
toString
());
for
(
int
i
=
0
;
i
<
mViewBinding
.
vipLevelRadioGroup
.
getChildCount
();
i
++)
{
//动态设置按钮颜色
setRadioButtonChecked
(
id
);
}
});
if
(
levelPager
.
getList
().
size
()!=
0
){
((
RadioButton
)
mViewBinding
.
vipLevelRadioGroup
.
getChildAt
(
0
)).
setChecked
(
true
);
mPresenter
.
getVipList
(
0
,
mViewBinding
.
vipLevelRadioGroup
.
getChildAt
(
0
).
getTag
().
toString
());
}
}
}
app/src/main/java/com/xingdata/zzdpos/ui/vip/fragment/VipListFragment.java
View file @
d0c4b973
...
...
@@ -4,17 +4,20 @@ package com.xingdata.zzdpos.ui.vip.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.widget.LinearLayout
;
import
android.widget.RadioButton
;
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.FragmentVipListBinding
;
import
com.xingdata.zzdpos.model.Level
;
import
com.xingdata.zzdpos.model.Pager
;
import
com.xingdata.zzdpos.model.Sta
;
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.adapter.VipListAdapter
;
...
...
@@ -22,13 +25,14 @@ import java.util.ArrayList;
import
java.util.List
;
/**
* 会员
列表
* 会员
信息界面
*/
public
class
VipListFragment
extends
BaseFragment
<
VipPresenter
,
FragmentVipListBinding
>
{
private
VipListAdapter
vipListAdapter
;
private
List
<
Vip
>
vips
=
new
ArrayList
<>();
private
String
vipLevel
;
private
int
pageNumber
=
0
;
private
List
<
Level
>
levels
=
null
;
private
int
pageNumber
=
0
;
private
String
strVipLevle
;
@Override
public
int
getLayoutId
()
{
...
...
@@ -42,29 +46,97 @@ public class VipListFragment extends BaseFragment<VipPresenter, FragmentVipListB
mViewBinding
.
vipRecyclerView
.
setAdapter
(
vipListAdapter
);
mViewBinding
.
vipRefresh
.
setOnRefreshListener
(
this
::
onRefresh
);
vipListAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
{
((
BaseActivity
)
getActivity
()).
start
(
new
VipExpenseListFragment
(
));
toStartVipInfo
(
vipListAdapter
.
getData
().
get
(
position
));
});
vipListAdapter
.
setOnLoadMoreListener
(
this
::
onLoadMore
,
mViewBinding
.
vipRecyclerView
);
vipListAdapter
.
setEnableLoadMore
(
true
);
mViewBinding
.
titleSearch
.
onBack
.
setOnClickListener
(
view
->
{
getActivity
().
finish
();
});
mViewBinding
.
setOnClickListener
(
view
->
{
switch
(
view
.
getId
())
{
case
R
.
id
.
addVip
:
toStartVipInfo
(
null
);
// mPresenter.getVipLevel(0, 200);
break
;
}
});
mPresenter
.
getVipLevel
(
0
,
200
);
mPresenter
.
getVipNumber
();
}
/**
* 设置按钮选中
*
* @param buttonID
*/
private
void
setRadioButtonChecked
(
int
buttonID
)
{
RadioButton
radioButton
=
((
RadioButton
)
mViewBinding
.
vipLevelR
.
findViewById
(
buttonID
));
if
(
radioButton
.
isChecked
())
{
strVipLevle
=
radioButton
.
getTag
().
toString
();
radioButton
.
getPaint
().
setFakeBoldText
(
true
);
radioButton
.
setTextSize
(
17
);
vipListAdapter
.
setEnableLoadMore
(
true
);
mPresenter
.
getVipList
(
0
,
strVipLevle
);
}
else
{
radioButton
.
setTextSize
(
15
);
}
}
@SuppressLint
(
"ResourceAsColor"
)
private
RadioButton
addRadioButton
(
LinearLayout
.
LayoutParams
layoutParams
,
Level
level
)
{
RadioButton
radioButton
=
new
RadioButton
(
getActivity
());
radioButton
.
setTextSize
(
15
);
radioButton
.
setText
(
level
.
getVipLevelName
());
radioButton
.
setTag
(
level
.
getVipLevel
());
radioButton
.
setGravity
(
Gravity
.
CENTER
);
radioButton
.
setButtonDrawable
(
null
);
radioButton
.
getPaint
().
setFakeBoldText
(
true
);
radioButton
.
setBackgroundResource
(
R
.
drawable
.
checkbox_viplevel_bg
);
radioButton
.
setTextColor
(
R
.
color
.
black_baozheng
);
radioButton
.
setLayoutParams
(
layoutParams
);
return
radioButton
;
}
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
;
for
(
int
i
=
0
;
i
<
levelPager
.
getPageSize
();
i
++)
{
mViewBinding
.
vipLevelR
.
addView
(
addRadioButton
(
layoutParams
,
levelPager
.
getList
().
get
(
i
)));
}
mViewBinding
.
vipLevelR
.
setOnCheckedChangeListener
((
radioGroup
,
id
)
->
{
// setVipLevel(levelPager.getList(), mViewBinding.vipLevelRadioGroup.findViewById(id).getTag().toString());
for
(
int
i
=
0
;
i
<
mViewBinding
.
vipLevelR
.
getChildCount
();
i
++)
{
//动态设置按钮颜色
setRadioButtonChecked
(
id
);
}
});
if
(
levelPager
.
getList
().
size
()
!=
0
)
{
((
RadioButton
)
mViewBinding
.
vipLevelR
.
getChildAt
(
0
)).
setChecked
(
true
);
mPresenter
.
getVipList
(
0
,
mViewBinding
.
vipLevelR
.
getChildAt
(
0
).
getTag
().
toString
());
}
levels
=
levelPager
.
getList
();
}
//
// public void getVipList(String strViplevel){
// mPresenter.getVipList(0, strViplevel);
// }
private
void
onLoadMore
()
{
mPresenter
.
getVipList
(
pageNumber
,
this
.
vipLevel
);
mPresenter
.
getVipList
(
pageNumber
,
strVipLevle
);
}
private
void
onRefresh
()
{
pageNumber
=
0
;
mPresenter
.
getVipList
(
pageNumber
,
vipLevel
);
mPresenter
.
getVipList
(
pageNumber
,
strVipLevle
);
mPresenter
.
getVipNumber
();
}
public
void
getVipListSus
(
Pager
<
Vip
>
vipPager
,
int
mPageNumber
)
{
public
void
getVipListSus
(
Pager
<
Vip
>
vipPager
,
int
mPageNumber
)
{
vipListAdapter
.
loadMoreComplete
();
mViewBinding
.
vipRefresh
.
setRefreshing
(
false
);
if
(
mPageNumber
==
0
)
{
...
...
@@ -73,19 +145,40 @@ public class VipListFragment extends BaseFragment<VipPresenter, FragmentVipListB
if
(
vipPager
.
isLastPage
())
{
vipListAdapter
.
setEnableLoadMore
(
false
);
vipListAdapter
.
notifyDataSetChanged
();
pageNumber
=
0
;
ToastUtils
.
showShort
(
"没有更多数据"
);
pageNumber
=
0
;
//
ToastUtils.showShort("没有更多数据");
return
;
}
vipListAdapter
.
addData
(
vipPager
.
getList
());
pageNumber
=
vipPager
.
getPageNumber
()+
1
;
pageNumber
=
vipPager
.
getPageNumber
()
+
1
;
}
public
void
setVipLevel
(
String
vipLevel
)
{
this
.
vipLevel
=
vipLevel
;
public
void
toStartVipInfo
(
Vip
vip
)
{
mPresenter
.
vipInfoFragment
=
new
VipInfoFragment
();
mPresenter
.
vipInfoFragment
.
setVip
(
vip
);
mPresenter
.
vipInfoFragment
.
setLevel
(
levels
);
((
BaseActivity
)
getActivity
()).
start
(
mPresenter
.
vipInfoFragment
);
}
public
void
setEnableLoadMore
(){
vipListAdapter
.
setEnableLoadMore
(
true
);
public
void
addVipSus
(
Vip
vip
)
{
// mPresenter.vipInfoFragment.pop();
// mPresenter.vipInfoFragment.setVip(vip);
// mPresenter.vipInfoFragment.setLevel(levels);
// ((BaseActivity) getActivity()).start( mPresenter.vipInfoFragment);
// if (vipInfoFragment != null) {
// if (vipInfoFragment.getmVip().getVipId() == null) {
// onRefresh();
// }
// vipInfoFragment.pop();
// }
}
/**
* @param sta
*/
public
void
getVipNumberSus
(
Sta
sta
)
{
mViewBinding
.
vipCount
.
setText
(
sta
.
getVipCount
()
+
""
);
mViewBinding
.
vipCountAddToday
.
setText
(
sta
.
getVipAddCount
()
+
""
);
}
}
app/src/main/java/com/xingdata/zzdpos/ui/vip/fragment/VipTitleFragment.java
deleted
100644 → 0
View file @
4c68ac55
package
com
.
xingdata
.
zzdpos
.
ui
.
vip
.
fragment
;
/**
* Created by JM_DEV on 2017/12/21.
*/
import
android.annotation.SuppressLint
;
import
android.view.Gravity
;
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.FragmentViplevelTitleBinding
;
import
com.xingdata.zzdpos.databinding.FragmentViptitleBinding
;
import
com.xingdata.zzdpos.ui.vip.VipPresenter
;
public
class
VipTitleFragment
extends
BaseFragment
<
VipPresenter
,
FragmentViptitleBinding
>
{
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
fragment_viptitle
;
}
@Override
public
void
initView
()
{
mViewBinding
.
setOnClickListener
(
view
->
{
switch
(
view
.
getId
()){
case
R
.
id
.
addVip
:
((
BaseActivity
)
getActivity
()).
start
(
mPresenter
.
vipInfoFragment
);
break
;
}
});
mViewBinding
.
titleSearch
.
onBack
.
setOnClickListener
(
view
->
{
getActivity
().
finish
();
});
}
}
app/src/main/res/layout/activity_vip.xml
View file @
d0c4b973
<?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/vip_title_frame"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
/>
<LinearLayout
android:layout_weight=
"1"
android:id=
"@+id/vip_frame"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_marginTop=
"@dimen/all_margin_left"
android:orientation=
"horizontal"
>
<FrameLayout
android:id=
"@+id/vip_level_frame"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_weight=
"3"
></FrameLayout>
<FrameLayout
android:id=
"@+id/vip_list_frame"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_weight=
"1"
></FrameLayout>
</LinearLayout>
android:layout_height=
"wrap_content"
/>
</LinearLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/dialog_vip_menu.xml
View file @
d0c4b973
...
...
@@ -44,11 +44,11 @@
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_margin=
"@dimen/dtail_hight_5"
android:id=
"@+id/recharge
Vip
"
android:id=
"@+id/recharge
List
"
android:background=
"@color/white"
android:foreground=
"?android:attr/actionBarItemBackground"
android:onClick=
"@{onClick}"
android:text=
"充值
会员
"
/>
android:text=
"充值
明细
"
/>
<View
android:layout_width=
"match_parent"
...
...
@@ -66,6 +66,22 @@
android:foreground=
"?android:attr/actionBarItemBackground"
android:onClick=
"@{onClick}"
android:text=
"消费记录"
/>
<View
android:layout_width=
"match_parent"
android:layout_height=
"1dp"
android:background=
"@color/line_bg"
/>
<TextView
style=
"@style/default_bluetext_popbutton"
android:id=
"@+id/voucherDetails"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_margin=
"@dimen/dtail_hight_5"
android:background=
"@color/white"
android:gravity=
"center"
android:foreground=
"?android:attr/actionBarItemBackground"
android:onClick=
"@{onClick}"
android:text=
"优惠券详情"
/>
</LinearLayout>
...
...
@@ -82,7 +98,7 @@
<TextView
android:id=
"@+id/cancelButton"
style=
"@style/default_bl
uetext_popbutton
"
style=
"@style/default_bl
acktext_smallstyle
"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_margin=
"@dimen/dtail_hight_5"
...
...
app/src/main/res/layout/fragment_replenishement.xml
View file @
d0c4b973
...
...
@@ -31,6 +31,7 @@
android:orientation=
"horizontal"
>
<TextView
android:id=
"@+id/btn_add"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:drawablePadding=
"@dimen/dp_4"
...
...
@@ -51,43 +52,23 @@
android:id=
"@+id/tab"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
app:tabIndicatorHeight=
"3dp"
app:tabMinWidth=
"150dp"
app:tabSelectedTextColor=
"@color/blue"
app:tabTextColor=
"@color/black"
>
<android.support.design.widget.TabItem
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"待确认"
app:tabGravity=
"fill"
/>
app:tabTextColor=
"@color/black_baozheng"
>
<android.support.design.widget.TabItem
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"待收货"
app:tabGravity=
"fill"
/>
<android.support.design.widget.TabItem
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"已入库"
app:tabGravity=
"fill"
/>
</android.support.design.widget.TabLayout>
<View
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/all_margin"
android:background=
"@color/gray_zhouyu"
/>
android:background=
"@color/gray_zhouyu"
/>
<android.support.v4.view.ViewPager
android:id=
"@+id/fragment_container"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
android:layout_height=
"match_parent"
/>
</LinearLayout>
...
...
app/src/main/res/layout/fragment_vip_info.xml
View file @
d0c4b973
This diff is collapsed.
Click to expand it.
app/src/main/res/layout/fragment_vip_info_edit.xml
0 → 100644
View file @
d0c4b973
<?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: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:layout_marginTop=
"@dimen/all_margin"
android:background=
"@color/white"
android:orientation=
"horizontal"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:orientation=
"vertical"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/white"
android:orientation=
"horizontal"
>
<TextView
style=
"@style/default_blacktext_margin_smallstyle"
android:layout_width=
"70dp"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/all_margin_left"
android:text=
"姓名"
/>
<EditText
android:id=
"@+id/vip_name"
style=
"@style/dialog_edit"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:background=
"@null"
android:hint=
"请输入姓名"
/>
</LinearLayout>
<View
android:layout_width=
"match_parent"
android:layout_height=
"1dp"
android:layout_marginRight=
"@dimen/all_margin_left"
android:background=
"@color/line_bg"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/white"
android:orientation=
"horizontal"
>
<TextView
style=
"@style/default_blacktext_margin_smallstyle"
android:layout_width=
"70dp"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/all_margin_left"
android:maxLength=
"11"
android:text=
"手机号"
/>
<EditText
android:id=
"@+id/vip_phone"
android:digits=
"0123456789"
android:inputType=
"phone"
style=
"@style/dialog_edit"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@null"
android:hint=
"请输入手机号"
/>
</LinearLayout>
</LinearLayout>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:background=
"@mipmap/camera"
/>
</LinearLayout>
<View
android:layout_width=
"match_parent"
android:layout_height=
"1dp"
android:background=
"@color/line_bg"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/white"
android:gravity=
"center_vertical"
android:orientation=
"horizontal"
>
<TextView
style=
"@style/default_blacktext_margin_smallstyle"
android:layout_width=
"70dp"
android:layout_height=
"wrap_content"
android:text=
"性别"
/>
<RadioGroup
android:id=
"@+id/vip_sex"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"12sp"
android:orientation=
"horizontal"
>
<RadioButton
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginRight=
"50dp"
android:layout_weight=
"1"
android:background=
"@drawable/selector_checkbox_bg"
android:button=
"@null"
android:tag=
"1"
android:text=
"男"
/>
<RadioButton
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginRight=
"50dp"
android:layout_weight=
"1"
android:background=
"@drawable/selector_checkbox_bg"
android:button=
"@null"
android:tag=
"0"
android:text=
"女"
/>
</RadioGroup>
</LinearLayout>
<View
android:layout_width=
"match_parent"
android:layout_height=
"1dp"
android:background=
"@color/line_bg"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:background=
"@color/white"
android:orientation=
"horizontal"
>
<TextView
style=
"@style/default_blacktext_margin_smallstyle"
android:layout_width=
"70dp"
android:layout_height=
"wrap_content"
android:text=
"级别"
/>
<TextView
android:id=
"@+id/vip_discounts"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/sp_12"
android:drawableRight=
"@mipmap/ic_expand"
android:onClick=
"@{onClickListener}"
/>
<CheckBox
android:id=
"@+id/vip_super"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"50dp"
android:layout_marginRight=
"50dp"
android:layout_weight=
"1"
android:background=
"@drawable/selector_checkbox_bg"
android:button=
"@null"
android:text=
"超级VIP"
/>
</LinearLayout>
<View
android:layout_width=
"match_parent"
android:layout_height=
"1dp"
android:background=
"@color/line_bg"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"12dp"
android:background=
"@color/white"
android:orientation=
"horizontal"
>
<TextView
style=
"@style/default_blacktext_margin_smallstyle"
android:layout_width=
"70dp"
android:layout_height=
"wrap_content"
android:text=
"生日"
/>
<TextView
android:id=
"@+id/vip_birthday"
style=
"@style/default_blacktext_smallstyle"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:hint=
"请选择"
android:onClick=
"@{onClickListener}"
/>
</LinearLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_weight=
"1"
android:gravity=
"bottom"
android:orientation=
"horizontal"
>
<Button
android:id=
"@+id/onSure"
style=
"@style/button_positive_noradius"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginBottom=
"15dp"
android:onClick=
"@{onClickListener}"
android:text=
"确认"
/>
</LinearLayout>
</LinearLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/fragment_vip_list.xml
View file @
d0c4b973
<?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"
>
<android.support.v4.widget.SwipeRefreshLayout
android:id=
"@+id/vip_refresh"
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
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"
/>
<ImageView
android:layout_width=
"50dp"
android:layout_height=
"match_parent"
android:background=
"@mipmap/swipe_card_bg"
/>
<ImageView
android:id=
"@+id/onScan"
android:layout_width=
"50dp"
android:layout_height=
"match_parent"
android:background=
"@mipmap/scan_bg"
android:onClick=
"@{onClickListener}"
/>
</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
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
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: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/addVip"
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=
"match_parent"
>
<android.support.v7.widget.RecyclerView
android:id=
"@+id/vipRecyclerView"
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=
"3"
>
<RadioGroup
android:id=
"@+id/vip_level_R"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:gravity=
"center"
android:orientation=
"vertical"
></RadioGroup>
</LinearLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
</android.support.v4.widget.SwipeRefreshLayout>
android:layout_height=
"match_parent"
android:layout_weight=
"1"
>
<android.support.v4.widget.SwipeRefreshLayout
android:id=
"@+id/vip_refresh"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<android.support.v7.widget.RecyclerView
android:id=
"@+id/vipRecyclerView"
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_viplevel_title.xml
View file @
d0c4b973
...
...
@@ -6,12 +6,7 @@
android:background=
"@color/white"
android:orientation=
"vertical"
>
<RadioGroup
android:id=
"@+id/vip_level_RadioGroup"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:gravity=
"center"
android:orientation=
"vertical"
></RadioGroup>
</LinearLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/fragment_viptitle.xml
View file @
d0c4b973
...
...
@@ -20,126 +20,7 @@
android:background=
"@color/white"
android:orientation=
"vertical"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
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"
/>
<ImageView
android:layout_width=
"50dp"
android:layout_height=
"match_parent"
android:background=
"@mipmap/swipe_card_bg"
/>
<ImageView
android:id=
"@+id/onScan"
android:layout_width=
"50dp"
android:layout_height=
"match_parent"
android:background=
"@mipmap/scan_bg"
android:onClick=
"@{onClickListener}"
/>
</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
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
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
style=
"@style/default_blacktext_bigstyle"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:gravity=
"center"
android:text=
"150"
android:textSize=
"22sp"
android:textStyle=
"bold"
/>
<TextView
style=
"@style/default_blacktext_bigstyle"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:gravity=
"center"
android:text=
"10"
android:textSize=
"22sp"
android:textStyle=
"bold"
/>
</LinearLayout>
<LinearLayout
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/addVip"
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>
</layout>
\ No newline at end of file
app/src/main/res/layout/title_order.xml
View file @
d0c4b973
...
...
@@ -14,6 +14,8 @@
android:layout_width=
"match_parent"
android:layout_height=
"?attr/actionBarSize"
android:background=
"@color/white_caocao"
android:focusable=
"true"
android:focusableInTouchMode=
"true"
>
...
...
app/src/main/res/mipmap-xhdpi/ic_expand.9.png
0 → 100644
View file @
d0c4b973
268 Bytes
app/src/main/res/mipmap-xhdpi/radiobutton_checked.9.png
0 → 100644
View file @
d0c4b973
645 Bytes
app/src/main/res/mipmap-xhdpi/radiobutton_normal.9.png
0 → 100644
View file @
d0c4b973
641 Bytes
app/src/main/res/values/strings.xml
View file @
d0c4b973
...
...
@@ -664,6 +664,9 @@
<string
name=
"ticket_detail_no"
>
销售单号:
</string>
<!--管理POS-->
<string
name=
"manage_replenishment_add"
>
一键补货
</string>
<string
name=
"manage_replenishment_unConfirmed"
>
待确认
</string>
<string
name=
"manage_replenishment_unReceive"
>
待收货
</string>
<string
name=
"manage_replenishment_finished"
>
已入库
</string>
</resources>
app/src/main/res/values/styles.xml
View file @
d0c4b973
...
...
@@ -39,7 +39,19 @@
<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/dp_4
</item>
<item
name=
"android:padding"
>
@dimen/sp_12
</item>
<item
name=
"android:textColor"
>
@color/black
</item>
<item
name=
"android:textSize"
>
@dimen/detail_textview_size
</item>
</style>
<style
name=
"default_blacktext_margin_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:layout_marginLeft"
>
17dp
</item>
<item
name=
"android:padding"
>
@dimen/sp_12
</item>
<item
name=
"android:paddingBottom"
>
@dimen/sp_12
</item>
<item
name=
"android:paddingTop"
>
@dimen/sp_12
</item>
<item
name=
"android:textColor"
>
@color/black
</item>
<item
name=
"android:textSize"
>
@dimen/detail_textview_size
</item>
</style>
...
...
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