Commit 18295c54 authored by 姜敏's avatar 姜敏

添加颜色

parent b77e24f0
...@@ -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(getActivity(), VipActivity.class); ActivityUtils.startActivity(new Intent(getActivity(),
VipActivity.class));
break; break;
case C.MENU.MENU_RECHARGE://充值 case C.MENU.MENU_RECHARGE://充值
......
...@@ -5,9 +5,14 @@ import com.xingdata.zzdpos.base.BaseActivity; ...@@ -5,9 +5,14 @@ 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.VipInfoEditFragment;
import com.xingdata.zzdpos.ui.vip.fragment.VipListFragment; import com.xingdata.zzdpos.ui.vip.fragment.VipListFragment;
import java.util.List;
public class VipActivity extends BaseActivity<VipPresenter, ActivityVipBinding> implements VipContract.View { public class VipActivity extends BaseActivity<VipPresenter, ActivityVipBinding> implements VipContract.View {
@Override @Override
...@@ -15,37 +20,39 @@ public class VipActivity extends BaseActivity<VipPresenter, ActivityVipBinding> ...@@ -15,37 +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_frame,mPresenter.vipFragment, false, false); loadRootFragment(R.id.vip_frame, mPresenter.vipListFragment, true, false);
} }
@Override @Override
public void addVip() { public void addVip() {
start(mPresenter.vipFragment); start(mPresenter.vipListFragment);
} }
@Override @Override
public String addVipSus(Vip vip) { 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.vipFragment.getVipLevelSus(levelPager); mPresenter.vipInfoFragment.ticketQuerySus(ticketPager);
} }
@Override
public void getVipLevelSus(Pager<Level> levelPager) {
mPresenter.vipListFragment.getVipLevelSus(levelPager);
}
@Override @Override
public void getVipListSus(Pager<Vip> vipPager, int pageNumber) { public void getVipListSus(Pager<Vip> vipPager, int pageNumber) {
mPresenter.vipFragment.getVipListSus(vipPager, pageNumber); mPresenter.vipListFragment.getVipListSus(vipPager, pageNumber);
} }
@Override @Override
public String getVipNumberSus() { public void getVipNumberSus(Sta sta) {
return null; mPresenter.vipListFragment.getVipNumberSus(sta);
} }
} }
...@@ -4,22 +4,22 @@ import com.xingdata.zzdpos.base.BasePresenter; ...@@ -4,22 +4,22 @@ 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(Vip vip);
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);
String getVipNumberSus(); void addVipSus(Vip vip);
void ticketQuerySus(List<Ticket> ticketPager);
} }
abstract class Presenter extends BasePresenter<View> { abstract class Presenter extends BasePresenter<View> {
...@@ -29,7 +29,8 @@ public interface VipContract { ...@@ -29,7 +29,8 @@ public interface VipContract {
pageSize); pageSize);
public abstract void getVipNumber(); public abstract void getVipNumber();
public abstract void addVip(Vip vip); public abstract void addVip(Vip vip);
public abstract void ticketQuery(Long vipID);
public abstract void saleorderQuery(Long vipID);
} }
} }
\ No newline at end of file
...@@ -4,12 +4,16 @@ package com.xingdata.zzdpos.ui.vip; ...@@ -4,12 +4,16 @@ 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.model.Vip;
import com.xingdata.zzdpos.ui.vip.fragment.VipListFragment; 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.VipListFragment;
public class VipPresenter extends VipContract.Presenter { public class VipPresenter extends VipContract.Presenter {
public VipListFragment vipFragment = new VipListFragment(); public VipListFragment vipListFragment=new VipListFragment();
public VipInfoEditFragment vipInfoEditFragment=new VipInfoEditFragment();
public VipInfoFragment vipInfoFragment = new VipInfoFragment(); public VipInfoFragment vipInfoFragment = new VipInfoFragment();
public VipExpenseListFragment vipExpenseListFragment = new VipExpenseListFragment();
@Override @Override
public void onAttached() { public void onAttached() {
...@@ -38,15 +42,50 @@ public class VipPresenter extends VipContract.Presenter { ...@@ -38,15 +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 @Override
public void addVip(Vip vip) { public void addVip(Vip vip) {
if (vip.getVipId() == null) {
ApiFactory.User.addVip(vip).subscribe(mVip -> { ApiFactory.User.addVip(vip).subscribe(mVip -> {
mView.addVipSus(mVip); mView.addVipSus(mVip);
}, throwable -> { }, throwable -> {
ToastUtils.showShort(throwable.getMessage()); ToastUtils.showShort(throwable.getMessage());
}); });
} else {
ApiFactory.User.updateVip(vip).subscribe(mVip -> {
mView.addVipSus(mVip);
}, throwable -> {
ToastUtils.showShort(throwable.getMessage());
});
}
}
@Override
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());
});
} }
} }
...@@ -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;
}
} }
...@@ -38,7 +38,6 @@ public class VipExpenseListFragment extends BaseFragment<VipPresenter, FragmentV ...@@ -38,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()));
...@@ -72,6 +71,4 @@ public class VipExpenseListFragment extends BaseFragment<VipPresenter, FragmentV ...@@ -72,6 +71,4 @@ public class VipExpenseListFragment extends BaseFragment<VipPresenter, FragmentV
pop(); pop();
return true; return true;
} }
} }
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.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.RadioGroup;
import android.widget.TextView;
import com.bigkoo.pickerview.OptionsPickerView;
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.FragmentVipInfoBinding; import com.xingdata.zzdpos.databinding.FragmentVipInfoBinding;
import com.xingdata.zzdpos.model.Level; import com.xingdata.zzdpos.model.Level;
import com.xingdata.zzdpos.model.Ticket;
import com.xingdata.zzdpos.model.Vip; import com.xingdata.zzdpos.model.Vip;
import com.xingdata.zzdpos.ui.vip.VipPresenter; import com.xingdata.zzdpos.ui.vip.VipPresenter;
import com.xingdata.zzdpos.util.ConvertUtil; import com.xingdata.zzdpos.ui.vip.dialog.VipEditMenuDialog;
import com.xingdata.zzdpos.util.StringUtil;
import java.util.Calendar;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
* 会员信息界面 * Created by JM_DEV on 2018/1/4.
*/ */
public class VipInfoFragment extends BaseFragment<VipPresenter, FragmentVipInfoBinding> { public class VipInfoFragment extends BaseFragment<VipPresenter, FragmentVipInfoBinding> {
private List<Level> levels;
private Vip mVip; private Vip mVip;
private List<Level> level;
@Override @Override
public int getLayoutId() { public int getLayoutId() {
...@@ -41,107 +28,51 @@ public class VipInfoFragment extends BaseFragment<VipPresenter, FragmentVipInfoB ...@@ -41,107 +28,51 @@ public class VipInfoFragment extends BaseFragment<VipPresenter, FragmentVipInfoB
@Override @Override
public void initView() { public void initView() {
if (mVip != null) { mViewBinding.infoTitle.tvTitle.setText("会员信息");
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:
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()));
}
mPresenter.addVip(mVip);
break;
}
});
mViewBinding.infoTitle.ivBack.setOnClickListener(view -> { mViewBinding.infoTitle.ivBack.setOnClickListener(view -> {
pop(); 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")) {
* 弹出选择会员P return "男";
*/ } else if (vipSex.toString().equals("0")) {
private void ShowPickerViewStoreAddress() {// 弹出选择器 return "女";
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("请选择") return "未知";
.setDividerColor(Color.BLACK)
.setTextColorCenter(Color.BLACK) //设置选中项文字颜色
.setContentTextSize(20)
.build();
pvOptions.setPicker(levels);
pvOptions.show();
} }
public void setVipLevel(List<Level> levels) { public void setVip(Vip vip) {
this.levels = levels; this.mVip = vip;
} }
public void setVip(Vip mVip) { public void setLevel(List<Level> level) {
this.mVip = mVip; this.level = level;
} }
//将两个选择时间的dialog放在该函数中 public void addVipSus(Vip vip) {
private void showDialogPick(final View btn) { mVip = vip;
//获取Calendar对象,用于获取当前时间 initView();
final Calendar calendar = Calendar.getInstance(); mPresenter.vipInfoEditFragment.pop();
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); public void ticketQuerySus(List<Ticket> ticketPager) {
//弹出选择日期对话框 mViewBinding.ticketCount.setText(String.valueOf(ticketPager.size()));
datePickerDialog.show();
}
@Override
public boolean onBackPressedSupport() {
return false;
} }
} }
...@@ -9,15 +9,14 @@ import android.support.v7.widget.LinearLayoutManager; ...@@ -9,15 +9,14 @@ import android.support.v7.widget.LinearLayoutManager;
import android.view.Gravity; import android.view.Gravity;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.RadioButton; import android.widget.RadioButton;
import android.widget.RadioGroup;
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.FragmentVipBinding; 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.VipPresenter; import com.xingdata.zzdpos.ui.vip.VipPresenter;
import com.xingdata.zzdpos.ui.vip.adapter.VipListAdapter; import com.xingdata.zzdpos.ui.vip.adapter.VipListAdapter;
...@@ -28,17 +27,16 @@ import java.util.List; ...@@ -28,17 +27,16 @@ import java.util.List;
/** /**
* 会员信息界面 * 会员信息界面
*/ */
public class VipListFragment extends BaseFragment<VipPresenter, FragmentVipBinding> { 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 List<Level> levels = null; private List<Level> levels = null;
private int pageNumber = 0; private int pageNumber = 0;
private String strVipLevle; private String strVipLevle;
private RadioGroup radioGroup = mViewBinding.vipLevelR;
@Override @Override
public int getLayoutId() { public int getLayoutId() {
return R.layout.fragment_vip; return R.layout.fragment_vip_list;
} }
@Override @Override
...@@ -54,17 +52,18 @@ public class VipListFragment extends BaseFragment<VipPresenter, FragmentVipBindi ...@@ -54,17 +52,18 @@ public class VipListFragment extends BaseFragment<VipPresenter, FragmentVipBindi
vipListAdapter.setEnableLoadMore(true); vipListAdapter.setEnableLoadMore(true);
mViewBinding.titleSearch.onBack.setOnClickListener(view -> { mViewBinding.titleSearch.onBack.setOnClickListener(view -> {
getActivity().finish(); getActivity().finish();
}); });
mViewBinding.setOnClickListener(view -> { mViewBinding.setOnClickListener(view -> {
switch (view.getId()) { switch (view.getId()) {
case R.id.addVip: case R.id.addVip:
toStartVipInfo(null); toStartVipInfo(null);
// mPresenter.getVipLevel(0, 200);
break; break;
} }
}); });
mPresenter.getVipLevel(0, 200); mPresenter.getVipLevel(0, 200);
mPresenter.getVipNumber();
} }
...@@ -82,8 +81,6 @@ public class VipListFragment extends BaseFragment<VipPresenter, FragmentVipBindi ...@@ -82,8 +81,6 @@ public class VipListFragment extends BaseFragment<VipPresenter, FragmentVipBindi
radioButton.setTextSize(17); radioButton.setTextSize(17);
vipListAdapter.setEnableLoadMore(true); vipListAdapter.setEnableLoadMore(true);
mPresenter.getVipList(0, strVipLevle); mPresenter.getVipList(0, strVipLevle);
} else { } else {
radioButton.setTextSize(15); radioButton.setTextSize(15);
} }
...@@ -135,6 +132,7 @@ public class VipListFragment extends BaseFragment<VipPresenter, FragmentVipBindi ...@@ -135,6 +132,7 @@ public class VipListFragment extends BaseFragment<VipPresenter, FragmentVipBindi
private void onRefresh() { private void onRefresh() {
pageNumber = 0; pageNumber = 0;
mPresenter.getVipList(pageNumber, strVipLevle); mPresenter.getVipList(pageNumber, strVipLevle);
mPresenter.getVipNumber();
} }
...@@ -148,7 +146,7 @@ public class VipListFragment extends BaseFragment<VipPresenter, FragmentVipBindi ...@@ -148,7 +146,7 @@ public class VipListFragment extends BaseFragment<VipPresenter, FragmentVipBindi
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());
...@@ -157,14 +155,30 @@ public class VipListFragment extends BaseFragment<VipPresenter, FragmentVipBindi ...@@ -157,14 +155,30 @@ public class VipListFragment extends BaseFragment<VipPresenter, FragmentVipBindi
public void toStartVipInfo(Vip vip) { public void toStartVipInfo(Vip vip) {
mPresenter.vipInfoFragment = new VipInfoFragment();
mPresenter.vipInfoFragment.setVip(vip); mPresenter.vipInfoFragment.setVip(vip);
mPresenter.vipInfoFragment.setVipLevel(levels); mPresenter.vipInfoFragment.setLevel(levels);
((BaseActivity) getActivity()).start(mPresenter.vipInfoFragment); ((BaseActivity) getActivity()).start(mPresenter.vipInfoFragment);
} }
public void addVipSus(Vip vip) {
// @Override // mPresenter.vipInfoFragment.pop();
// public boolean onBackPressedSupport() { // mPresenter.vipInfoFragment.setVip(vip);
// return false; // 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() + "");
}
} }
...@@ -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"
......
<?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: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> </LinearLayout>
</layout> </layout>
\ No newline at end of file
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