Commit d0c4b973 authored by zhang_z's avatar zhang_z

Merge remote-tracking branch 'origin/master'

parents 4c68ac55 e2b78a68
...@@ -142,7 +142,7 @@ public class C { ...@@ -142,7 +142,7 @@ public class C {
*/ */
public final class ORDER { public final class ORDER {
/** /**
* 订单查询 * 订单查询 已经完成
*/ */
public static final String getSaleOrder = PKG + "saleorder/queryMis"; public static final String getSaleOrder = PKG + "saleorder/queryMis";
...@@ -153,7 +153,14 @@ public class C { ...@@ -153,7 +153,14 @@ public class C {
/** /**
* 退货 * 退货
*/ */
public static final String querySaleOrder = PKG + "saleorder/query";
/**
* 订单查询
*/
public static final String returnOrder = PKG + "saleorder/returnOrderByList"; public static final String returnOrder = PKG + "saleorder/returnOrderByList";
} }
public final class SHOP { public final class SHOP {
...@@ -251,6 +258,7 @@ public class C { ...@@ -251,6 +258,7 @@ public class C {
private static final String ROOT_URL = PKG + "saleorder/"; private static final String ROOT_URL = PKG + "saleorder/";
public static final String addOrderMis = ROOT_URL + "addOrderMis"; public static final String addOrderMis = ROOT_URL + "addOrderMis";
public static final String addOrderPayMis = ROOT_URL + "addOrderPayMis"; public static final String addOrderPayMis = ROOT_URL + "addOrderPayMis";
public static final String querySaleorderByVipId = ROOT_URL + "query";
} }
public final class PAY { public final class PAY {
......
...@@ -582,6 +582,18 @@ public final class ApiFactory { ...@@ -582,6 +582,18 @@ public final class ApiFactory {
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.retryWhen(new RetryHelper(3)); .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 { public static class Ticket {
......
...@@ -240,6 +240,12 @@ interface ApiService { ...@@ -240,6 +240,12 @@ interface ApiService {
@POST(C.URL.SALEORDER.addOrderPayMis) @POST(C.URL.SALEORDER.addOrderPayMis)
Observable<HttpMessage<Saleorder>> addOrderPayMis(@Body Saleorder.Pay saleorderPay); 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) @POST(C.URL.USER.query)
Observable<HttpMessage<Pager<Vip>>> queryDetailByWD(@Query("wd") String keyword, @Query Observable<HttpMessage<Pager<Vip>>> queryDetailByWD(@Query("wd") String keyword, @Query
("pageNumber") int pageNum, @Query("pageSize") int pageSize); ("pageNumber") int pageNum, @Query("pageSize") int pageSize);
......
...@@ -55,7 +55,8 @@ public class CasherFragment extends BaseFragment<MainPresenter, FragmentCasherBi ...@@ -55,7 +55,8 @@ public class CasherFragment extends BaseFragment<MainPresenter, FragmentCasherBi
public void onItemClick(BaseQuickAdapter adapter, View view, int position) { public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
switch ((int) adapter.getData().get(position)) { switch ((int) adapter.getData().get(position)) {
case C.MENU.MENU_VIP://会员 case C.MENU.MENU_VIP://会员
ActivityUtils.startActivity(new Intent(getActivity(), VipActivity.class)); ActivityUtils.startActivity(new Intent(getActivity(),
VipActivity.class));
break; break;
case C.MENU.MENU_RECHARGE://充值 case C.MENU.MENU_RECHARGE://充值
...@@ -65,8 +66,7 @@ public class CasherFragment extends BaseFragment<MainPresenter, FragmentCasherBi ...@@ -65,8 +66,7 @@ public class CasherFragment extends BaseFragment<MainPresenter, FragmentCasherBi
MarketingMenuActivity.class)); MarketingMenuActivity.class));
break; break;
case C.MENU.MENU_TICKET://优惠券 case C.MENU.MENU_TICKET://优惠券
ActivityUtils.startActivity(getActivity(), com.xingdata.zzdpos.ui ActivityUtils.startActivity(getActivity(), com.xingdata.zzdpos.ui.sendticke.SendTicketActivity.class);
.sendticke.SendTicketActivity.class);
break; break;
case C.MENU.MENU_STATISTICS://统计 case C.MENU.MENU_STATISTICS://统计
ActivityUtils.startActivity(getActivity(), StatisticsActivity.class); ActivityUtils.startActivity(getActivity(), StatisticsActivity.class);
......
...@@ -6,6 +6,7 @@ import com.xingdata.zzdpos.base.BasePresenter; ...@@ -6,6 +6,7 @@ import com.xingdata.zzdpos.base.BasePresenter;
import com.xingdata.zzdpos.base.BaseView; import com.xingdata.zzdpos.base.BaseView;
import com.xingdata.zzdpos.model.Psb; import com.xingdata.zzdpos.model.Psb;
import com.xingdata.zzdpos.model.Sssku; import com.xingdata.zzdpos.model.Sssku;
import com.xingdata.zzdpos.ui.manage.replenishment.fragment.ReplenishmentListFragment;
import java.util.List; import java.util.List;
...@@ -59,6 +60,11 @@ public interface ReplenishmentContract { ...@@ -59,6 +60,11 @@ public interface ReplenishmentContract {
*/ */
public abstract void queryPsbList(); public abstract void queryPsbList();
/**
* 补货订货页面 - 查询门店订货订单
*/
public abstract void searchPsbList(String wd, ReplenishmentListFragment replenishmentListFragment);
/** /**
* 补货订货页面 - 查询门店订货详情 * 补货订货页面 - 查询门店订货详情
*/ */
......
...@@ -6,6 +6,7 @@ import android.util.Log; ...@@ -6,6 +6,7 @@ import android.util.Log;
import com.blankj.utilcode.util.ToastUtils; import com.blankj.utilcode.util.ToastUtils;
import com.xingdata.zzdpos.api.ApiFactory; import com.xingdata.zzdpos.api.ApiFactory;
import com.xingdata.zzdpos.model.Psb; import com.xingdata.zzdpos.model.Psb;
import com.xingdata.zzdpos.ui.manage.replenishment.fragment.ReplenishmentListFragment;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -68,6 +69,12 @@ public class ReplenishmentPresenter extends ReplenishmentContract.Presenter { ...@@ -68,6 +69,12 @@ public class ReplenishmentPresenter extends ReplenishmentContract.Presenter {
}); });
} }
@Override
public void searchPsbList(String wd, ReplenishmentListFragment replenishmentListFragment) {
replenishmentListFragment.searchSucc(wd);
}
@Override @Override
public void queryPsbDetail(Psb psb) { public void queryPsbDetail(Psb psb) {
mView.isShowLoading(true); mView.isShowLoading(true);
......
package com.xingdata.zzdpos.ui.manage.replenishment.fragment; 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.view.View;
import android.widget.TextView; import android.widget.TextView;
import com.blankj.utilcode.util.ToastUtils;
import com.xingdata.zzdpos.R; import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment; import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentReplenishementBinding; import com.xingdata.zzdpos.databinding.FragmentReplenishementBinding;
import com.xingdata.zzdpos.databinding.ItemStringBinding;
import com.xingdata.zzdpos.model.Psb; import com.xingdata.zzdpos.model.Psb;
import com.xingdata.zzdpos.ui.dialog.LoadingDialog; import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import com.xingdata.zzdpos.ui.main.adapter.FragmentViewAdapter; import com.xingdata.zzdpos.ui.main.adapter.FragmentViewAdapter;
...@@ -18,19 +23,23 @@ import com.xingdata.zzdpos.ui.manage.replenishment.adpter.ReplenishmentAdapter; ...@@ -18,19 +23,23 @@ import com.xingdata.zzdpos.ui.manage.replenishment.adpter.ReplenishmentAdapter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; 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. * Created by Administrator on 2017/11/24.
*/ */
public class ReplenishmentFragment extends BaseFragment<ReplenishmentPresenter, FragmentReplenishementBinding> { 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 FragmentViewAdapter mFragmentPagerAdapter;
private List<BaseFragment> fragments; 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 @Override
public int getLayoutId() { public int getLayoutId() {
...@@ -43,69 +52,82 @@ public class ReplenishmentFragment extends BaseFragment<ReplenishmentPresenter, ...@@ -43,69 +52,82 @@ public class ReplenishmentFragment extends BaseFragment<ReplenishmentPresenter,
initTab(); initTab();
mPresenter.queryPsbList(); 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() { private void initTab() {
mViewBinding.tab.setupWithViewPager(mViewBinding.fragmentContainer); mViewBinding.tab.setupWithViewPager(mViewBinding.fragmentContainer);
mViewBinding.tab.getTabAt(0).setText("待确认"); Observable.create(new ObservableOnSubscribe<View>() {
mViewBinding.tab.getTabAt(1).setText("待收货"); @Override
mViewBinding.tab.getTabAt(2).setText("已入库"); 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() { public void initData() {
......
...@@ -2,6 +2,7 @@ package com.xingdata.zzdpos.ui.manage.replenishment.fragment; ...@@ -2,6 +2,7 @@ package com.xingdata.zzdpos.ui.manage.replenishment.fragment;
import android.content.Intent; import android.content.Intent;
import android.os.Handler;
import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.LinearLayoutManager;
import android.view.View; import android.view.View;
import android.widget.TextView; import android.widget.TextView;
...@@ -24,11 +25,13 @@ import com.xingdata.zzdpos.ui.statistics.adapter.StatisticsOrderGroupAdapter; ...@@ -24,11 +25,13 @@ import com.xingdata.zzdpos.ui.statistics.adapter.StatisticsOrderGroupAdapter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ReplenishmentListFragment extends BaseFragment<ReplenishmentPresenter, FragmentReplenishmentListBinding> { public class ReplenishmentListFragment extends BaseFragment<ReplenishmentPresenter, FragmentReplenishmentListBinding> {
private ReplenishmentAdapter mReplenishmentAdapter; private ReplenishmentAdapter mReplenishmentAdapter;
private List<Psb> psbs = new ArrayList<>(); private List<Psb> psbArrayList = new ArrayList<>();
@Override @Override
public int getLayoutId() { public int getLayoutId() {
...@@ -38,7 +41,7 @@ public class ReplenishmentListFragment extends BaseFragment<ReplenishmentPresent ...@@ -38,7 +41,7 @@ public class ReplenishmentListFragment extends BaseFragment<ReplenishmentPresent
@Override @Override
public void initView() { public void initView() {
if (mReplenishmentAdapter == null) { if (mReplenishmentAdapter == null) {
mReplenishmentAdapter = new ReplenishmentAdapter(psbs); mReplenishmentAdapter = new ReplenishmentAdapter(psbArrayList);
mViewBinding.recycler.setLayoutManager(new LinearLayoutManager(getActivity())); mViewBinding.recycler.setLayoutManager(new LinearLayoutManager(getActivity()));
mViewBinding.recycler.setAdapter(mReplenishmentAdapter); mViewBinding.recycler.setAdapter(mReplenishmentAdapter);
...@@ -81,7 +84,7 @@ public class ReplenishmentListFragment extends BaseFragment<ReplenishmentPresent ...@@ -81,7 +84,7 @@ public class ReplenishmentListFragment extends BaseFragment<ReplenishmentPresent
*/ */
public void setData(List<Psb> psbList, boolean isRefresh) { public void setData(List<Psb> psbList, boolean isRefresh) {
if (mReplenishmentAdapter == null) { if (mReplenishmentAdapter == null) {
psbs = psbList; psbArrayList = psbList;
return; return;
} }
if (isRefresh) { if (isRefresh) {
...@@ -100,5 +103,37 @@ public class ReplenishmentListFragment extends BaseFragment<ReplenishmentPresent ...@@ -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);
}
} }
...@@ -43,7 +43,7 @@ public class VipFragment extends BaseFragment<SendTicketPresenter, FragmentSendT ...@@ -43,7 +43,7 @@ public class VipFragment extends BaseFragment<SendTicketPresenter, FragmentSendT
mVipAdapter.setOnItemClickListener((adapter, view, position) -> { mVipAdapter.setOnItemClickListener((adapter, view, position) -> {
mPresenter.selectVip(mVipAdapter.getData().get(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.setNowtype(0);
mPresenter.sendTickerFragment.setNowVip(mVipAdapter.getData().get(position)); mPresenter.sendTickerFragment.setNowVip(mVipAdapter.getData().get(position));
startWithPop(mPresenter.sendTickerFragment); startWithPop(mPresenter.sendTickerFragment);
......
package com.xingdata.zzdpos.ui.vip; package com.xingdata.zzdpos.ui.vip;
import com.blankj.utilcode.util.ToastUtils;
import com.xingdata.zzdpos.R; import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity; import com.xingdata.zzdpos.base.BaseActivity;
import com.xingdata.zzdpos.databinding.ActivityVipBinding; import com.xingdata.zzdpos.databinding.ActivityVipBinding;
import com.xingdata.zzdpos.model.Level; import com.xingdata.zzdpos.model.Level;
import com.xingdata.zzdpos.model.Pager; 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.model.Vip;
import com.xingdata.zzdpos.ui.vip.fragment.VipInfoFragment; import com.xingdata.zzdpos.ui.vip.fragment.VipInfoEditFragment;
import com.xingdata.zzdpos.ui.vip.fragment.VipLevleFragment;
import com.xingdata.zzdpos.ui.vip.fragment.VipListFragment; 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 { public class VipActivity extends BaseActivity<VipPresenter, ActivityVipBinding> implements VipContract.View {
...@@ -20,40 +20,39 @@ public class VipActivity extends BaseActivity<VipPresenter, ActivityVipBinding> ...@@ -20,40 +20,39 @@ public class VipActivity extends BaseActivity<VipPresenter, ActivityVipBinding>
return R.layout.activity_vip; return R.layout.activity_vip;
} }
@Override @Override
public void initView() { public void initView() {
loadRootFragment(R.id.vip_list_frame, mPresenter.vipListFragment, false, false); loadRootFragment(R.id.vip_frame, mPresenter.vipListFragment, true, false);
loadRootFragment(R.id.vip_level_frame, mPresenter.vipLevleFragment, false, false);
loadRootFragment(R.id.vip_title_frame, mPresenter.vipTitleFragment, false, false);
} }
@Override @Override
public void addVip() { public void addVip() {
start(mPresenter.vipListFragment);
} }
@Override @Override
public String addVipSus() { public void addVipSus(Vip vip) {
return null; mPresenter.vipInfoFragment.addVipSus(vip);
} }
@Override @Override
public void getVipLevelSus(Pager<Level> levelPager) { public void ticketQuerySus(List<Ticket> ticketPager) {
mPresenter.vipLevleFragment.getVipLevelSus(levelPager); mPresenter.vipInfoFragment.ticketQuerySus(ticketPager);
} }
@Override @Override
public void getVipListSus(Pager<Vip> vipPager,int pageNumber) { public void getVipLevelSus(Pager<Level> levelPager) {
mPresenter.vipListFragment.getVipListSus(vipPager,pageNumber); mPresenter.vipListFragment.getVipLevelSus(levelPager);
} }
@Override
public void getVipListSus(Pager<Vip> vipPager, int pageNumber) {
mPresenter.vipListFragment.getVipListSus(vipPager, pageNumber);
}
@Override @Override
public String getVipNumberSus() { public void getVipNumberSus(Sta sta) {
return null; mPresenter.vipListFragment.getVipNumberSus(sta);
} }
} }
...@@ -4,32 +4,33 @@ import com.xingdata.zzdpos.base.BasePresenter; ...@@ -4,32 +4,33 @@ import com.xingdata.zzdpos.base.BasePresenter;
import com.xingdata.zzdpos.base.BaseView; import com.xingdata.zzdpos.base.BaseView;
import com.xingdata.zzdpos.model.Level; import com.xingdata.zzdpos.model.Level;
import com.xingdata.zzdpos.model.Pager; 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.model.Vip;
import java.util.List;
public interface VipContract { public interface VipContract {
interface View extends BaseView { interface View extends BaseView {
void addVip(); void addVip();
String addVipSus();
void getVipLevelSus(Pager<Level> levelPager); void getVipLevelSus(Pager<Level> levelPager);
void getVipListSus(Pager<Vip> vipPager, int pageNumber);
void getVipListSus(Pager<Vip> vipPager,int pageNumber); void getVipNumberSus(Sta sta);
void addVipSus(Vip vip);
String getVipNumberSus(); void ticketQuerySus(List<Ticket> ticketPager);
} }
abstract class Presenter extends BasePresenter<VipContract.View> { abstract class Presenter extends BasePresenter<View> {
public abstract void getVipList( int pageNumber, String vipLevel); public abstract void getVipList(int pageNumber, String vipLevel);
public abstract void getVipLevel(int pageNum, int public abstract void getVipLevel(int pageNum, int
pageSize); pageSize);
public abstract void getVipNumber(); public abstract void getVipNumber();
public abstract void addVip(Vip vip);
public abstract void addVip(); public abstract void ticketQuery(Long vipID);
public abstract void saleorderQuery(Long vipID);
} }
} }
\ No newline at end of file
...@@ -3,17 +3,17 @@ package com.xingdata.zzdpos.ui.vip; ...@@ -3,17 +3,17 @@ package com.xingdata.zzdpos.ui.vip;
import com.blankj.utilcode.util.ToastUtils; import com.blankj.utilcode.util.ToastUtils;
import com.xingdata.zzdpos.api.ApiFactory; 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.VipExpenseListFragment;
import com.xingdata.zzdpos.ui.vip.fragment.VipInfoEditFragment;
import com.xingdata.zzdpos.ui.vip.fragment.VipInfoFragment; 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.VipListFragment;
import com.xingdata.zzdpos.ui.vip.fragment.VipTitleFragment;
public class VipPresenter extends VipContract.Presenter { public class VipPresenter extends VipContract.Presenter {
public VipListFragment vipListFragment=new VipListFragment();
public VipInfoEditFragment vipInfoEditFragment=new VipInfoEditFragment();
public VipInfoFragment vipInfoFragment = new VipInfoFragment(); public VipInfoFragment vipInfoFragment = new VipInfoFragment();
public VipListFragment vipListFragment = new VipListFragment(); public VipExpenseListFragment vipExpenseListFragment = new VipExpenseListFragment();
public VipLevleFragment vipLevleFragment = new VipLevleFragment();
public VipTitleFragment vipTitleFragment = new VipTitleFragment();
@Override @Override
public void onAttached() { public void onAttached() {
...@@ -22,8 +22,8 @@ public class VipPresenter extends VipContract.Presenter { ...@@ -22,8 +22,8 @@ public class VipPresenter extends VipContract.Presenter {
@Override @Override
public void getVipList(int pageNumber, String vipLevel) { public void getVipList(int pageNumber, String vipLevel) {
ApiFactory.User.getVipList(pageNumber,vipLevel).subscribe(vipPager -> { ApiFactory.User.getVipList(pageNumber, vipLevel).subscribe(vipPager -> {
mView.getVipListSus(vipPager,pageNumber); mView.getVipListSus(vipPager, pageNumber);
}, throwable -> { }, throwable -> {
ToastUtils.showShort(throwable.getMessage()); ToastUtils.showShort(throwable.getMessage());
}); });
...@@ -42,11 +42,50 @@ public class VipPresenter extends VipContract.Presenter { ...@@ -42,11 +42,50 @@ public class VipPresenter extends VipContract.Presenter {
@Override @Override
public void getVipNumber() { 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 @Override
public void addVip() { public void ticketQuery(Long vipID) {
mView.addVip(); 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());
});
}
} }
...@@ -7,6 +7,8 @@ import com.xingdata.zzdpos.R; ...@@ -7,6 +7,8 @@ import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseAdapter; import com.xingdata.zzdpos.base.BaseAdapter;
import com.xingdata.zzdpos.databinding.ItemVipListItemBinding; import com.xingdata.zzdpos.databinding.ItemVipListItemBinding;
import com.xingdata.zzdpos.model.Vip; import com.xingdata.zzdpos.model.Vip;
import com.xingdata.zzdpos.util.ConvertUtil;
import com.xingdata.zzdpos.util.StringUtil;
import java.util.List; import java.util.List;
...@@ -25,6 +27,6 @@ public class VipListAdapter extends BaseAdapter<Vip, ItemVipListItemBinding> { ...@@ -25,6 +27,6 @@ public class VipListAdapter extends BaseAdapter<Vip, ItemVipListItemBinding> {
protected void convert(ItemVipListItemBinding mViewBinding, Vip item) { protected void convert(ItemVipListItemBinding mViewBinding, Vip item) {
mViewBinding.vipName.setText(item.getVipName()); mViewBinding.vipName.setText(item.getVipName());
mViewBinding.vipMobile.setText(String.valueOf(item.getVipMobile())); mViewBinding.vipMobile.setText(String.valueOf(item.getVipMobile()));
mViewBinding.vipDiscount.setText(String.valueOf(item.getVipDefDiscount())); mViewBinding.vipDiscount.setText(ConvertUtil.discount(item.getVipDefDiscount()));
} }
} }
...@@ -23,8 +23,5 @@ public class VipRechargeAdapter extends BaseAdapter<VipRechargeOrder, ItemVipRec ...@@ -23,8 +23,5 @@ public class VipRechargeAdapter extends BaseAdapter<VipRechargeOrder, ItemVipRec
} }
@Override @Override
protected void convert(ItemVipRechargeItemBinding mViewBinding, VipRechargeOrder item) { 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()));
} }
} }
package com.xingdata.zzdpos.ui.vip.dialog; package com.xingdata.zzdpos.ui.vip.dialog;
import com.xingdata.zzdpos.R; import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity;
import com.xingdata.zzdpos.base.BaseSheetDialog; import com.xingdata.zzdpos.base.BaseSheetDialog;
import com.xingdata.zzdpos.databinding.DialogVipMenuBinding; 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.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. * Created by JM_DEV on 2017/12/27.
*/ */
public class VipEditMenuDialog extends BaseSheetDialog<VipPresenter, DialogVipMenuBinding> { public class VipEditMenuDialog extends BaseSheetDialog<VipPresenter, DialogVipMenuBinding> {
private Vip mVip;
private List<Level> mLevel;
@Override @Override
public int getLayoutId() { public int getLayoutId() {
return R.layout.dialog_vip_menu; return R.layout.dialog_vip_menu;
...@@ -17,6 +28,29 @@ public class VipEditMenuDialog extends BaseSheetDialog<VipPresenter, DialogVipMe ...@@ -17,6 +28,29 @@ public class VipEditMenuDialog extends BaseSheetDialog<VipPresenter, DialogVipMe
@Override @Override
public void initView() { 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 ...@@ -24,4 +58,14 @@ public class VipEditMenuDialog extends BaseSheetDialog<VipPresenter, DialogVipMe
protected boolean isTransparentBackground() { protected boolean isTransparentBackground() {
return true; return true;
} }
public void setVip(Vip mVip) {
this.mVip = mVip;
}
public void setLevel(List<Level> mLevel) {
this.mLevel = mLevel;
}
} }
...@@ -4,6 +4,7 @@ package com.xingdata.zzdpos.ui.vip.fragment; ...@@ -4,6 +4,7 @@ package com.xingdata.zzdpos.ui.vip.fragment;
* Created by JM_DEV on 2017/12/21. * Created by JM_DEV on 2017/12/21.
*/ */
import android.annotation.SuppressLint;
import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.LinearLayoutManager;
import com.blankj.utilcode.util.ToastUtils; import com.blankj.utilcode.util.ToastUtils;
...@@ -11,6 +12,7 @@ import com.xingdata.zzdpos.R; ...@@ -11,6 +12,7 @@ import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity; import com.xingdata.zzdpos.base.BaseActivity;
import com.xingdata.zzdpos.base.BaseFragment; import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentVipExpenseListBinding; import com.xingdata.zzdpos.databinding.FragmentVipExpenseListBinding;
import com.xingdata.zzdpos.model.Level;
import com.xingdata.zzdpos.model.VipRechargeOrder; import com.xingdata.zzdpos.model.VipRechargeOrder;
import com.xingdata.zzdpos.ui.vip.VipPresenter; import com.xingdata.zzdpos.ui.vip.VipPresenter;
import com.xingdata.zzdpos.ui.vip.adapter.VipRechargeAdapter; import com.xingdata.zzdpos.ui.vip.adapter.VipRechargeAdapter;
...@@ -22,9 +24,12 @@ import java.util.List; ...@@ -22,9 +24,12 @@ import java.util.List;
/** /**
* 会员消费记录 * 会员消费记录
*/ */
@SuppressLint("ValidFragment")
public class VipExpenseListFragment extends BaseFragment<VipPresenter, FragmentVipExpenseListBinding> { public class VipExpenseListFragment extends BaseFragment<VipPresenter, FragmentVipExpenseListBinding> {
private VipRechargeAdapter vipRechargeAdapter; private VipRechargeAdapter vipRechargeAdapter;
private List<VipRechargeOrder> orders = new ArrayList<>(); private List<VipRechargeOrder> orders = new ArrayList<>();
private List<Level> levels=null;
@Override @Override
public int getLayoutId() { public int getLayoutId() {
...@@ -33,7 +38,6 @@ public class VipExpenseListFragment extends BaseFragment<VipPresenter, FragmentV ...@@ -33,7 +38,6 @@ public class VipExpenseListFragment extends BaseFragment<VipPresenter, FragmentV
@Override @Override
public void initView() { public void initView() {
mViewBinding.infoTitle.tvTitle.setText("会员信息"); mViewBinding.infoTitle.tvTitle.setText("会员信息");
vipRechargeAdapter = new VipRechargeAdapter(getActivity(), orders); vipRechargeAdapter = new VipRechargeAdapter(getActivity(), orders);
mViewBinding.rechargeRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); mViewBinding.rechargeRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
......
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;
}
}
package com.xingdata.zzdpos.ui.vip.fragment; 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.R;
import com.xingdata.zzdpos.base.BaseActivity;
import com.xingdata.zzdpos.base.BaseFragment; import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentViplevelTitleBinding; import com.xingdata.zzdpos.databinding.FragmentVipInfoBinding;
import com.xingdata.zzdpos.model.Level; 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.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; import java.util.List;
/** /**
* 会员信息界面 * Created by JM_DEV on 2018/1/4.
*/ */
public class VipInfoFragment extends BaseFragment<VipPresenter, FragmentViplevelTitleBinding> {
private VipRechargeAdapter vipRechargeAdapter; public class VipInfoFragment extends BaseFragment<VipPresenter, FragmentVipInfoBinding> {
private List<VipRechargeOrder> orders = new ArrayList<>(); private Vip mVip;
private List<Level> level;
@Override @Override
public int getLayoutId() { public int getLayoutId() {
...@@ -34,32 +28,51 @@ public class VipInfoFragment extends BaseFragment<VipPresenter, FragmentViplevel ...@@ -34,32 +28,51 @@ public class VipInfoFragment extends BaseFragment<VipPresenter, FragmentViplevel
@Override @Override
public void initView() { 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;
}
/** public void setLevel(List<Level> level) {
* 弹出选择会员P this.level = level;
*/
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();
pvOptions.setPicker(list); public void addVipSus(Vip vip) {
pvOptions.show(); mVip = vip;
initView();
mPresenter.vipInfoEditFragment.pop();
}
public void ticketQuerySus(List<Ticket> ticketPager) {
mViewBinding.ticketCount.setText(String.valueOf(ticketPager.size()));
} }
} }
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());
}
}
}
...@@ -4,17 +4,20 @@ package com.xingdata.zzdpos.ui.vip.fragment; ...@@ -4,17 +4,20 @@ package com.xingdata.zzdpos.ui.vip.fragment;
* Created by JM_DEV on 2017/12/21. * Created by JM_DEV on 2017/12/21.
*/ */
import android.annotation.SuppressLint;
import android.support.v7.widget.LinearLayoutManager; 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.R;
import com.xingdata.zzdpos.base.BaseActivity; import com.xingdata.zzdpos.base.BaseActivity;
import com.xingdata.zzdpos.base.BaseFragment; import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentVipListBinding; import com.xingdata.zzdpos.databinding.FragmentVipListBinding;
import com.xingdata.zzdpos.model.Level; import com.xingdata.zzdpos.model.Level;
import com.xingdata.zzdpos.model.Pager; import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Sta;
import com.xingdata.zzdpos.model.Vip; 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.VipPresenter;
import com.xingdata.zzdpos.ui.vip.adapter.VipListAdapter; import com.xingdata.zzdpos.ui.vip.adapter.VipListAdapter;
...@@ -22,13 +25,14 @@ import java.util.ArrayList; ...@@ -22,13 +25,14 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
* 会员列表 * 会员信息界面
*/ */
public class VipListFragment extends BaseFragment<VipPresenter, FragmentVipListBinding> { public class VipListFragment extends BaseFragment<VipPresenter, FragmentVipListBinding> {
private VipListAdapter vipListAdapter; private VipListAdapter vipListAdapter;
private List<Vip> vips = new ArrayList<>(); private List<Vip> vips = new ArrayList<>();
private String vipLevel; private List<Level> levels = null;
private int pageNumber=0; private int pageNumber = 0;
private String strVipLevle;
@Override @Override
public int getLayoutId() { public int getLayoutId() {
...@@ -42,29 +46,97 @@ public class VipListFragment extends BaseFragment<VipPresenter, FragmentVipListB ...@@ -42,29 +46,97 @@ public class VipListFragment extends BaseFragment<VipPresenter, FragmentVipListB
mViewBinding.vipRecyclerView.setAdapter(vipListAdapter); mViewBinding.vipRecyclerView.setAdapter(vipListAdapter);
mViewBinding.vipRefresh.setOnRefreshListener(this::onRefresh); mViewBinding.vipRefresh.setOnRefreshListener(this::onRefresh);
vipListAdapter.setOnItemClickListener((adapter, view, position) -> { vipListAdapter.setOnItemClickListener((adapter, view, position) -> {
((BaseActivity) getActivity()).start(new VipExpenseListFragment()); toStartVipInfo(vipListAdapter.getData().get(position));
}); });
vipListAdapter.setOnLoadMoreListener(this::onLoadMore, mViewBinding.vipRecyclerView); vipListAdapter.setOnLoadMoreListener(this::onLoadMore, mViewBinding.vipRecyclerView);
vipListAdapter.setEnableLoadMore(true); 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() { private void onLoadMore() {
mPresenter.getVipList(pageNumber,this.vipLevel); mPresenter.getVipList(pageNumber, strVipLevle);
} }
private void onRefresh() { private void onRefresh() {
pageNumber = 0; 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(); vipListAdapter.loadMoreComplete();
mViewBinding.vipRefresh.setRefreshing(false); mViewBinding.vipRefresh.setRefreshing(false);
if (mPageNumber == 0) { if (mPageNumber == 0) {
...@@ -73,19 +145,40 @@ public class VipListFragment extends BaseFragment<VipPresenter, FragmentVipListB ...@@ -73,19 +145,40 @@ public class VipListFragment extends BaseFragment<VipPresenter, FragmentVipListB
if (vipPager.isLastPage()) { if (vipPager.isLastPage()) {
vipListAdapter.setEnableLoadMore(false); vipListAdapter.setEnableLoadMore(false);
vipListAdapter.notifyDataSetChanged(); vipListAdapter.notifyDataSetChanged();
pageNumber=0; pageNumber = 0;
ToastUtils.showShort("没有更多数据"); // ToastUtils.showShort("没有更多数据");
return; return;
} }
vipListAdapter.addData(vipPager.getList()); 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(){ public void addVipSus(Vip vip) {
vipListAdapter.setEnableLoadMore(true); // 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() + "");
} }
} }
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();
});
}
}
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<layout> <layout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> 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:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/all_margin_left"
android:orientation="horizontal">
<FrameLayout <FrameLayout
android:id="@+id/vip_level_frame" android:id="@+id/vip_frame"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="wrap_content" />
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>
</LinearLayout> </LinearLayout>
</layout> </layout>
\ No newline at end of file
...@@ -44,11 +44,11 @@ ...@@ -44,11 +44,11 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="@dimen/dtail_hight_5" android:layout_margin="@dimen/dtail_hight_5"
android:id="@+id/rechargeVip" android:id="@+id/rechargeList"
android:background="@color/white" android:background="@color/white"
android:foreground="?android:attr/actionBarItemBackground" android:foreground="?android:attr/actionBarItemBackground"
android:onClick="@{onClick}" android:onClick="@{onClick}"
android:text="充值会员" /> android:text="充值明细" />
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -66,6 +66,22 @@ ...@@ -66,6 +66,22 @@
android:foreground="?android:attr/actionBarItemBackground" android:foreground="?android:attr/actionBarItemBackground"
android:onClick="@{onClick}" android:onClick="@{onClick}"
android:text="消费记录" /> 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> </LinearLayout>
...@@ -82,7 +98,7 @@ ...@@ -82,7 +98,7 @@
<TextView <TextView
android:id="@+id/cancelButton" android:id="@+id/cancelButton"
style="@style/default_bluetext_popbutton" style="@style/default_blacktext_smallstyle"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="@dimen/dtail_hight_5" android:layout_margin="@dimen/dtail_hight_5"
......
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
android:orientation="horizontal"> android:orientation="horizontal">
<TextView <TextView
android:id="@+id/btn_add"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:drawablePadding="@dimen/dp_4" android:drawablePadding="@dimen/dp_4"
...@@ -51,43 +52,23 @@ ...@@ -51,43 +52,23 @@
android:id="@+id/tab" android:id="@+id/tab"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:tabIndicatorHeight="3dp"
app:tabMinWidth="150dp" app:tabMinWidth="150dp"
app:tabSelectedTextColor="@color/blue" app:tabTextColor="@color/black_baozheng">
app:tabTextColor="@color/black">
<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.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="已入库"
app:tabGravity="fill" />
</android.support.design.widget.TabLayout> </android.support.design.widget.TabLayout>
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/all_margin" android:layout_height="@dimen/all_margin"
android:background="@color/gray_zhouyu" /> android:background="@color/gray_zhouyu"
/>
<android.support.v4.view.ViewPager <android.support.v4.view.ViewPager
android:id="@+id/fragment_container" android:id="@+id/fragment_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent" />
/>
</LinearLayout> </LinearLayout>
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<variable <variable
name="onClickListener" name="onClickListener"
type="com.xingdata.zzdpos.util.OnClickListener" /> type="android.view.View.OnClickListener" />
</data> </data>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
android:background="@color/bg" android:background="@color/bg"
android:orientation="vertical"> android:orientation="vertical">
<include <include
android:id="@+id/info_title" android:id="@+id/info_title"
layout="@layout/title_pop" /> layout="@layout/title_pop" />
...@@ -25,71 +26,203 @@ ...@@ -25,71 +26,203 @@
android:background="@color/white" android:background="@color/white"
android:orientation="horizontal"> 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 <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/all_margin_left"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:layout_weight="1" android:layout_weight="1"
android:background="@color/white"
android:orientation="vertical"> android:orientation="vertical">
<LinearLayout <TextView
android:id="@+id/vipName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:textSize="@dimen/detail_textview_size" />
<TextView
android:id="@+id/vipMoble"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:textSize="@dimen/detail_textview_size" />
</LinearLayout>
<TextView
android:id="@+id/vip_discounts"
style="@style/default_blacktext_smallstyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="@string/vip_info_discount" />
</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_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/all_margin_left" android:layout_marginTop="@dimen/all_margin"
android:background="@color/white"
android:gravity="center_vertical"
android:orientation="horizontal"> android:orientation="horizontal">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_horizontal"
android:orientation="vertical">
<TextView <TextView
style="@style/default_blacktext_smallstyle" style="@style/default_blacktext_smallstyle"
android:layout_width="70dp" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="姓名" /> android:text="积分" />
<EditText <TextView
style="@style/dialog_edit" android:id="@+id/BoundCbal"
style="@style/default_blacktext_bigstyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/reddeep" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_horizontal"
android:orientation="vertical">
<TextView
style="@style/default_blacktext_smallstyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="优惠券" />
<TextView
android:id="@+id/ticket_Count"
style="@style/default_blacktext_bigstyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/reddeep" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_horizontal"
android:orientation="vertical">
<TextView
style="@style/default_blacktext_smallstyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="余额" />
<TextView
android:id="@+id/AcctCbal"
style="@style/default_blacktext_bigstyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/reddeep" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:background="@null" android:gravity="center_horizontal"
android:hint="请输入手机号" /> android:orientation="vertical">
<TextView
style="@style/default_blacktext_smallstyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="消费" />
<TextView
android:id="@+id/Totalpamt"
style="@style/default_blacktext_bigstyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/reddeep" />
</LinearLayout>
</LinearLayout> </LinearLayout>
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp"
android:layout_marginRight="@dimen/all_margin_left" android:layout_marginTop="@dimen/all_margin"
android:background="@color/line_bg" /> android:background="@color/line_bg" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/all_margin_left" android:background="@color/white"
android:gravity="center_vertical"
android:orientation="horizontal"> android:orientation="horizontal">
<TextView <TextView
style="@style/default_blacktext_smallstyle" style="@style/default_blacktext_margin_smallstyle"
android:layout_width="70dp" android:layout_width="70dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="手机号" /> android:text="级别" />
<EditText <TextView
style="@style/dialog_edit" android:id="@+id/vipLevel"
android:layout_width="match_parent" style="@style/default_blacktext_margin_smallstyle"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:background="@null" android:layout_height="wrap_content" />
android:hint="请输入姓名" />
</LinearLayout> </LinearLayout>
</LinearLayout>
<ImageView <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:text="性别" />
<TextView
android:id="@+id/vipSex"
style="@style/default_blacktext_margin_smallstyle"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" />
android:background="@mipmap/camera" />
</LinearLayout> </LinearLayout>
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp"
...@@ -98,42 +231,62 @@ ...@@ -98,42 +231,62 @@
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/all_margin_left" android:background="@color/white"
android:orientation="horizontal"> android:orientation="horizontal">
<TextView <TextView
style="@style/default_blacktext_smallstyle" style="@style/default_blacktext_margin_smallstyle"
android:layout_width="70dp" android:layout_width="70dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="手机号号" /> android:text="生日" />
<RadioGroup <TextView
android:id="@+id/vip_birthday"
style="@style/default_blacktext_margin_smallstyle"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content" />
android:layout_marginLeft="12sp" </LinearLayout>
android:orientation="horizontal">
<RadioButton <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="1dp"
android:layout_weight="1" android:background="@color/line_bg" />
android:button="@null"
android:background="@drawable/radio_select"
android:text="男" />
<RadioButton <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_gravity="center_vertical"
android:text="女" /> android:background="@color/white"
</RadioGroup> android:orientation="horizontal">
<TextView
style="@style/default_blacktext_margin_smallstyle"
android:layout_width="70dp"
android:layout_height="wrap_content"
android:text="地区" />
</LinearLayout> </LinearLayout>
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp"
android:background="@color/line_bg" /> 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="wrap_content"
android:layout_height="wrap_content"
android:text="详细地址" />
</LinearLayout>
</LinearLayout> </LinearLayout>
</layout> </layout>
\ No newline at end of file
<?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
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<layout> <layout>
<data>
<variable
name="onClickListener"
type="android.view.View.OnClickListener" />
</data>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> 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
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="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:layout_weight="1">
<android.support.v4.widget.SwipeRefreshLayout <android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/vip_refresh" android:id="@+id/vip_refresh"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView <android.support.v7.widget.RecyclerView
android:id="@+id/vipRecyclerView" android:id="@+id/vipRecyclerView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" /> android:layout_height="match_parent" />
</android.support.v4.widget.SwipeRefreshLayout> </android.support.v4.widget.SwipeRefreshLayout>
</LinearLayout> </LinearLayout>
</LinearLayout>
</LinearLayout>
</layout> </layout>
\ No newline at end of file
...@@ -6,12 +6,7 @@ ...@@ -6,12 +6,7 @@
android:background="@color/white" android:background="@color/white"
android:orientation="vertical"> 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> </LinearLayout>
</layout> </layout>
\ No newline at end of file
...@@ -20,126 +20,7 @@ ...@@ -20,126 +20,7 @@
android:background="@color/white" android:background="@color/white"
android:orientation="vertical"> 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> </LinearLayout>
</layout> </layout>
\ No newline at end of file
...@@ -14,6 +14,8 @@ ...@@ -14,6 +14,8 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize" android:layout_height="?attr/actionBarSize"
android:background="@color/white_caocao" android:background="@color/white_caocao"
android:focusable="true"
android:focusableInTouchMode="true"
> >
......
...@@ -664,6 +664,9 @@ ...@@ -664,6 +664,9 @@
<string name="ticket_detail_no">销售单号:</string> <string name="ticket_detail_no">销售单号:</string>
<!--管理POS--> <!--管理POS-->
<string name="manage_replenishment_add">一键补货</string> <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> </resources>
...@@ -39,7 +39,19 @@ ...@@ -39,7 +39,19 @@
<item name="android:layout_height">match_parent</item> <item name="android:layout_height">match_parent</item>
<item name="android:gravity">center_vertical</item> <item name="android:gravity">center_vertical</item>
<item name="android:singleLine">true</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:textColor">@color/black</item>
<item name="android:textSize">@dimen/detail_textview_size</item> <item name="android:textSize">@dimen/detail_textview_size</item>
</style> </style>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment