Commit dc07d8fc authored by zhang_z's avatar zhang_z

Merge branch 'master' of 192.168.254.154:w525721508/TangKuPos

# Conflicts:
#	app/src/main/java/com/xingdata/zzdpos/ui/main/fragment/CasherFragment.java
parents 02bc82e6 7061a8a5
......@@ -58,7 +58,7 @@
android:label="@string/title_activity_ticket"
android:theme="@style/AppTheme" />
<activity
android:name=".ui.sendTicke.SendTicketActivity"
android:name=".ui.sendticke.SendTicketActivity"
android:configChanges="keyboard|orientation|screenSize|keyboardHidden"
android:label="@string/title_activity_ticket"
android:theme="@style/AppTheme" />
......
......@@ -49,6 +49,11 @@ public class C {
public static final String synchronousDown = PKG + "downLoad/downLoad";
}
public final class STA {
public static final String statistics = PKG + "downLoad/getTodayCount";
}
public final class SMS {
/**
* 注册发送短信验证码
......@@ -123,6 +128,10 @@ public class C {
* 订单查询
*/
public static final String getSaleOrder = PKG + "saleorder/queryMis";
/**
* 订单列表查询
*/
public static final String queryOrderList = PKG + "saleorder/query";
/**
* 销售订单详情查询
*/
......
......@@ -247,6 +247,22 @@ public final class ApiFactory {
.observeOn(AndroidSchedulers.mainThread());
}
/**
* 销售订单查询接口
*
* @param pageNulmber
* @param pageSize
* @return
*/
public static Observable<Pager<com.xingdata.zzdpos.model.Saleorder>> getSaleOrderList(int pageNulmber, int
pageSize, long startDate, long endDate) {
return Api.getInstance().service.getSaleOrder(pageNulmber, pageSize, startDate,
endDate).onErrorReturn(new
ErrorFilter<>()).map(new ResultFilter<>()).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
/**
* 获取订单详情
*
......@@ -707,6 +723,18 @@ public final class ApiFactory {
}
}
public static class Sat {
/**
* 查询统计详情
*/
public static Observable<Sat> queryNotice() {
return Api.getInstance().service.querySat()
.onErrorReturn(new ErrorFilter<>())
.map(new ResultFilter<>())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
}
public static class Psb {
......
......@@ -134,6 +134,10 @@ interface ApiService {
@Query
("wd") String wd);
@POST(C.URL.ORDER.queryOrderList)
Observable<HttpMessage<Pager<Saleorder>>> getSaleOrder(@Query("pageNumber") int pageNum, @Query
("pageSize") int pageSize, @Query("startDate") long startDate, @Query("endDate") long endDate);
@POST(C.URL.ORDER.getOrderDetail)
Observable<HttpMessage<Saleorder>> getOrderDetail(@Query("id") String orderId);
......@@ -168,6 +172,9 @@ interface ApiService {
Observable<HttpMessage<Pager<Notice>>> queryNotice(@Query("pageNumber") int pageNum, @Query
("pageSize") int pageSize);
@POST(C.URL.STA.statistics)
Observable<HttpMessage<ApiFactory.Sat>> querySat();
@POST(C.URL.PSB.queryDetail)
Observable<HttpMessage<Psb>> queryPsbDetail(@Query("psbNo") String psbNo, @Query("id") long id);
......
package com.xingdata.zzdpos.model;
import com.alibaba.fastjson.annotation.JSONField;
import com.bigkoo.pickerview.model.IPickerViewData;
import com.xingdata.zzdpos.base.BaseBean;
import com.xingdata.zzdpos.base.BaseModel;
import io.realm.RealmObject;
import io.realm.annotations.Ignore;
import io.realm.annotations.Index;
import io.realm.annotations.PrimaryKey;
......@@ -13,6 +15,9 @@ import io.realm.annotations.PrimaryKey;
*/
public class Level extends RealmObject implements BaseModel, BaseBean, IPickerViewData {
@JSONField(serialize = false)
@Ignore
private boolean isSelect = false;
@PrimaryKey
private Long id;
......@@ -139,6 +144,13 @@ public class Level extends RealmObject implements BaseModel, BaseBean, IPickerVi
this.vipUpgradeAmtTc = vipUpgradeAmtTc;
}
public boolean isSelect() {
return isSelect;
}
public void setSelect(boolean select) {
isSelect = select;
}
@Override
public Long getSyncId() {
......
package com.xingdata.zzdpos.model;
/**
* Created by Administrator on 2017/12/25.
*/
public class Sta {
/**
* 销售额
*/
private Long saleAmt = 0L;
/**
* 订单数
*/
private Long saleCount = 0L;
public Long getSaleAmt() {
return saleAmt;
}
public void setSaleAmt(Long saleAmt) {
this.saleAmt = saleAmt;
}
public Long getSaleCount() {
return saleCount;
}
public void setSaleCount(Long saleCount) {
this.saleCount = saleCount;
}
public Long getVipCount() {
return vipCount;
}
public void setVipCount(Long vipCount) {
this.vipCount = vipCount;
}
public Long getVipAddCount() {
return vipAddCount;
}
public void setVipAddCount(Long vipAddCount) {
this.vipAddCount = vipAddCount;
}
public Long getCardAmt() {
return cardAmt;
}
public void setCardAmt(Long cardAmt) {
this.cardAmt = cardAmt;
}
public Long getCardCount() {
return cardCount;
}
public void setCardCount(Long cardCount) {
this.cardCount = cardCount;
}
/**
* 会员总数
*/
private Long vipCount = 0L;
/**
* 新增会员数
*/
private Long vipAddCount = 0L;
/**
* 充值总金额
*/
private Long cardAmt = 0L;
/**
* 充值次数
*/
private Long cardCount = 0L;
}
......@@ -9,6 +9,16 @@ import com.xingdata.zzdpos.base.BaseModel;
*/
public class Trule implements BaseModel, BaseBean {
private boolean isSelect = false;
public boolean isSelect() {
return isSelect;
}
public void setSelect(boolean select) {
isSelect = select;
}
private Long id;
private Long issuerMapId;
......
......@@ -53,6 +53,14 @@ public class MenuRecyclerAdapter extends BaseAdapter<Integer, ItemMenuDetailBind
titleId = R.string.menu_manager;
imgId = R.mipmap.icon_administer;
break;
case C.MENU.MENU_STATISTICS_ORDER://订单
titleId = R.string.statistics_menu_order;
imgId = R.mipmap.icon_order;
break;
case C.MENU.MENU_STATISTICS_MS://营销
titleId = R.string.statistics_menu_ms;
imgId = R.mipmap.icon_record;
break;
}
mViewBinding.text.setText(titleId);
......
......@@ -35,7 +35,8 @@ public class CasherFragment extends BaseFragment<MainPresenter, FragmentCasherBi
@Override
public void initView() {
mViewBinding.fragmentCasherRecycler.setLayoutManager(new GridLayoutManager(getActivity(), 2));
mViewBinding.fragmentCasherRecycler.setLayoutManager(new GridLayoutManager(getActivity(),
2));
integers = new ArrayList<>();
integers.add(101);
integers.add(102);
......@@ -45,7 +46,8 @@ public class CasherFragment extends BaseFragment<MainPresenter, FragmentCasherBi
integers.add(106);
mMenuRecyclerAdapter = new MenuRecyclerAdapter(getActivity(), integers);
mMenuRecyclerAdapter.bindToRecyclerView(mViewBinding.fragmentCasherRecycler);
mViewBinding.fragmentCasherRecycler.addItemDecoration(new MyMenuItemDecoration(getActivity(), 5, getResources().getColor(R.color.golden_yuji)));
mViewBinding.fragmentCasherRecycler.addItemDecoration(new MyMenuItemDecoration
(getActivity(), 5, getResources().getColor(R.color.golden_yuji)));
mMenuRecyclerAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
......@@ -60,7 +62,7 @@ public class CasherFragment extends BaseFragment<MainPresenter, FragmentCasherBi
break;
case C.MENU.MENU_TICKET://优惠券
ActivityUtils.startActivity(getActivity(), com.xingdata.zzdpos.ui.sendticke.SendTicketActivity.class);
break;
case C.MENU.MENU_STATISTICS://统计
ActivityUtils.startActivity(getActivity(), StatisticsActivity.class);
......
package com.xingdata.zzdpos.ui.sendTicke;
import com.xingdata.zzdpos.ui.sendTicke.fragment.SendTickerIndexFragment;
/**
* Created by Administrator on 2017/11/24.
*/
public class SendTicketPresenter extends SendTicketContract.Presenter {
public SendTickerIndexFragment sendTickerIndexFragment = new SendTickerIndexFragment();
@Override
public void onAttached() {
}
}
package com.xingdata.zzdpos.ui.sendticke;
import com.xingdata.zzdpos.model.Level;
import java.util.ArrayList;
import java.util.List;
/**
* Created by Administrator on 2017/12/25.
*/
public class SendTickerC {
public static List<Level> vipTypeList;
public static List<Level> getVipType() {
if (vipTypeList == null) {
vipTypeList = new ArrayList<>();
Level vipType = new Level();
vipType.setId(10000l);
vipType.setVipLevelName("全部会员");
Level vipTypeNowMonth = new Level();
vipTypeNowMonth.setId(10001l);
vipTypeNowMonth.setVipLevelName("本月生日");
Level vipTypeNextMonth = new Level();
vipTypeNextMonth.setId(10002l);
vipTypeNextMonth.setVipLevelName("下月生日");
Level vipTypeLoss = new Level();
vipTypeLoss.setId(10003l);
vipTypeLoss.setVipLevelName("流失会员");
vipTypeList.add(vipType);
vipTypeList.add(vipTypeNowMonth);
vipTypeList.add(vipTypeNextMonth);
vipTypeList.add(vipTypeLoss);
}
return vipTypeList;
}
}
package com.xingdata.zzdpos.ui.sendTicke;
package com.xingdata.zzdpos.ui.sendticke;
import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.ToastUtils;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity;
import com.xingdata.zzdpos.databinding.ActivitySendTicketBinding;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Trule;
import com.xingdata.zzdpos.model.Vip;
import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import java.util.List;
public class SendTicketActivity extends BaseActivity<SendTicketPresenter,
ActivitySendTicketBinding>
implements SendTicketContract.View {
......@@ -30,7 +35,25 @@ public class SendTicketActivity extends BaseActivity<SendTicketPresenter,
ToastUtils.showLong(errorMsg);
}
@Override
public void loadVips(List<Vip> vips) {
mPresenter.vipFragment.loadVips(vips);
}
@Override
public void loadVip(Vip vip) {
// mPresenter.vipFragment.loadVip(vip);
}
@Override
public void truleQuerySucc(Pager<Trule> trulePager, LoadingDialog loadingDialog) {
mPresenter.sendTickerFragment.truleQuerySucc(trulePager, loadingDialog);
}
@Override
protected void onResume() {
super.onResume();
}
private void closeLoading(LoadingDialog loadingDialog) {
if (loadingDialog != null) {
loadingDialog.dismiss();
......
package com.xingdata.zzdpos.ui.sendTicke;
package com.xingdata.zzdpos.ui.sendticke;
import com.xingdata.zzdpos.base.BasePresenter;
import com.xingdata.zzdpos.base.BaseView;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Trule;
import com.xingdata.zzdpos.model.Vip;
import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import java.util.List;
/**
* Created by Administrator on 2017/11/24.
......@@ -13,10 +18,39 @@ public interface SendTicketContract {
interface View extends BaseView {
void error(String errorMsg, LoadingDialog loadingDialog);
/**
* 加载会员列表
*
* @param vips 会员列表
*/
void loadVips(List<Vip> vips);
/**
* 加载会员信息
*
* @param vip 会员信息
*/
void loadVip(Vip vip);
void truleQuerySucc(Pager<Trule> trulePager, LoadingDialog loadingDialog);
}
abstract class Presenter extends BasePresenter<View> {
/**
* 会员页面 - 选择会员
*
* @param vip 会员
*/
public abstract void selectVip(Vip vip);
/**
* 会员界面 - 查找会员
*
* @param keyword 搜索关键字
*/
public abstract void searchVip(String keyword);
abstract void truleQuery(LoadingDialog loadingDialog);
}
}
package com.xingdata.zzdpos.ui.sendticke;
import com.xingdata.zzdpos.api.ApiFactory;
import com.xingdata.zzdpos.model.Vip;
import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import com.xingdata.zzdpos.ui.sendticke.fragment.SendTickerFragment;
import com.xingdata.zzdpos.ui.sendticke.fragment.SendTickerIndexFragment;
import com.xingdata.zzdpos.ui.sendticke.fragment.VipFragment;
import java.util.ArrayList;
import java.util.List;
/**
* Created by Administrator on 2017/11/24.
*/
public class SendTicketPresenter extends SendTicketContract.Presenter {
public SendTickerIndexFragment sendTickerIndexFragment = new SendTickerIndexFragment();
public VipFragment vipFragment = new VipFragment();
public SendTickerFragment sendTickerFragment = new SendTickerFragment();
/**
* 当前会员
*/
private Vip mVip;
@Override
public void onAttached() {
}
@Override
public void selectVip(Vip vip) {
mVip = vip;
mView.loadVip(mVip);
}
@Override
public void searchVip(String keyword) {
ApiFactory.User.queryUserDetailByKeyword(keyword).subscribe(
vip -> {
List<Vip> vips = new ArrayList<>();
vips.add(vip);
mView.loadVips(vips);
},
throwable -> {
});
}
@Override
public void truleQuery(LoadingDialog loadingDialog) {
ApiFactory.TRULE.truleQuery().subscribe(pager -> {
mView.truleQuerySucc(pager, loadingDialog);
}, throwable -> {
mView.error(throwable.getMessage(), loadingDialog);
});
}
}
package com.xingdata.zzdpos.ui.sendticke.adapter;
import android.support.annotation.Nullable;
import android.view.View;
import com.blankj.utilcode.util.TimeUtils;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseAdapter;
import com.xingdata.zzdpos.databinding.ItemReturnTicketBinding;
import com.xingdata.zzdpos.model.Trule;
import com.xingdata.zzdpos.ui.sendticke.SendTicketActivity;
import com.xingdata.zzdpos.ui.sendticke.SendTicketPresenter;
import com.xingdata.zzdpos.util.ConvertUtil;
import java.text.SimpleDateFormat;
import java.util.List;
public class ReturnTicketAdapter extends BaseAdapter<Trule, ItemReturnTicketBinding> {
SendTicketPresenter mPersenter;
SendTicketActivity sendTicketActivity;
public ReturnTicketAdapter(@Nullable List<Trule> data, SendTicketPresenter mPersenter,
SendTicketActivity sendTicketActivity) {
super(R.layout.item_return_ticket, data);
this.mPersenter = mPersenter;
this.sendTicketActivity = sendTicketActivity;
}
@Override
protected void convert(ItemReturnTicketBinding mViewBinding, Trule item) {
if (item.isSelect()) {
mViewBinding.ivSelect.setImageResource(R.mipmap.but_elect01_stroke);
} else {
mViewBinding.ivSelect.setImageResource(R.mipmap.but_elect02_stroke);
}
mViewBinding.ivSelect.setVisibility(View.VISIBLE);
mViewBinding.tvTicketMoney.setText(mContext.getResources().getString(R.string.tv_money,
ConvertUtil.fenToYuanNoPoint(item.getTruleValAmt())));
mViewBinding.tvTicketMoneys.setText(mContext.getResources().getString(R.string.money,
ConvertUtil.fenToYuanNoPoint(item.getTruleValAmt())));
mViewBinding.tvRule.setText(mContext.getResources().getString(R.string.tv_rule,
ConvertUtil.fenToYuanNoPoint(item.getTruleOrderAmt())));
mViewBinding.tvDate.setText(mContext.getResources().getString(R.string.tv_date,
TimeUtils.millis2String(item.getTruleExp(), new SimpleDateFormat("yyy-mm-dd"))));
}
}
package com.xingdata.zzdpos.ui.sendticke.adapter;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseAdapter;
import com.xingdata.zzdpos.databinding.ItemSettleVipBinding;
import com.xingdata.zzdpos.model.Vip;
import com.xingdata.zzdpos.util.ConvertUtil;
import java.util.ArrayList;
public class VipAdapter extends BaseAdapter<Vip, ItemSettleVipBinding> {
public VipAdapter() {
super(R.layout.item_settle_vip, new ArrayList<>());
}
@Override
protected void convert(ItemSettleVipBinding mViewBinding, Vip item) {
mViewBinding.setName(item.getVipName());
mViewBinding.setPhone(ConvertUtil.longToString(item.getVipMobile()));
if (item.getVipDefDiscount() < 100 && item.getVipDefDiscount() > 0) {
mViewBinding.setDisRate(String.valueOf((double) item.getVipDefDiscount() / 10));
}
switch (item.getVipLevel()) {
case 1:
mViewBinding.ivLevel.setImageResource(R.mipmap.mk_grade01);
break;
case 2:
mViewBinding.ivLevel.setImageResource(R.mipmap.mk_grade02);
break;
case 3:
mViewBinding.ivLevel.setImageResource(R.mipmap.mk_grade03);
break;
}
}
}
package com.xingdata.zzdpos.ui.sendticke.adapter;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.view.View;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseAdapter;
import com.xingdata.zzdpos.databinding.ItemVipGroupBinding;
import com.xingdata.zzdpos.model.Level;
import java.util.ArrayList;
public class VipGroupAdapter extends BaseAdapter<Level, ItemVipGroupBinding> {
public VipGroupAdapter() {
super(R.layout.item_vip_group, new ArrayList<>());
}
@Override
protected void convert(ItemVipGroupBinding mViewBinding, Level item) {
mViewBinding.tvItem.setText(item.getPickerViewText());
mViewBinding.tvItemSelect.setText(item.getPickerViewText());
if (item.isSelect()) {
mViewBinding.tvItem.setVisibility(View.GONE);
mViewBinding.tvItemSelect.setVisibility(View.VISIBLE);
} else {
mViewBinding.tvItem.setVisibility(View.VISIBLE);
mViewBinding.tvItemSelect.setVisibility(View.GONE);
}
}
}
package com.xingdata.zzdpos.ui.sendticke.fragment;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.view.View;
import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.ToastUtils;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentSendTickerBinding;
import com.xingdata.zzdpos.db.DBFactory;
import com.xingdata.zzdpos.model.Level;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Trule;
import com.xingdata.zzdpos.model.Vip;
import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import com.xingdata.zzdpos.ui.sendticke.SendTickerC;
import com.xingdata.zzdpos.ui.sendticke.SendTicketActivity;
import com.xingdata.zzdpos.ui.sendticke.SendTicketPresenter;
import com.xingdata.zzdpos.ui.sendticke.adapter.ReturnTicketAdapter;
import com.xingdata.zzdpos.ui.sendticke.adapter.VipGroupAdapter;
import com.xingdata.zzdpos.util.ConvertUtil;
import com.xingdata.zzdpos.util.OnClickListener;
import com.xingdata.zzdpos.util.RecyclerViewUtil;
import java.util.ArrayList;
import java.util.List;
import io.realm.RealmResults;
public class SendTickerFragment extends BaseFragment<SendTicketPresenter,
FragmentSendTickerBinding> {
//0单个会员发券,1按会员类型发券
private int nowtype = -1;
//当前单个会员发券操作对象
private Vip nowVip;
//当前组别发券组
private List<Level> levelList = new ArrayList<>();
ReturnTicketAdapter returnTicketAdapter;
VipGroupAdapter vipGroupAdapter;
LoadingDialog loadingDialog = new LoadingDialog();
//当前优惠券点击的item id
int nowTickerItemId = -1;
List<Trule> truleList = new ArrayList<>();
//当前选中会员组别Item ID
int nowVipGroupId = 0;
@Override
public int getLayoutId() {
return R.layout.fragment_send_ticker;
}
@Override
public void initView() {
loadingDialog.show((BaseActivity) getActivity());
mPresenter.truleQuery(loadingDialog);
mViewBinding.icTitle.tvTitle.setText("发券");
mViewBinding.icTitle.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
pop();
}
});
returnTicketAdapter = new ReturnTicketAdapter(new ArrayList<>(), mPresenter,
(SendTicketActivity) getActivity());
vipGroupAdapter = new VipGroupAdapter();
mViewBinding.rlTicker.setAdapter(returnTicketAdapter);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity());
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
mViewBinding.rlTicker.setLayoutManager(linearLayoutManager);
if (nowtype == 0) {
initOneVipData();
} else if (nowtype == 1) {
initVipGroupData();
}
mViewBinding.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
switch (v.getId()) {
case R.id.ll_vip_single: {
mPresenter.vipFragment = new VipFragment();
startWithPop(mPresenter.vipFragment);
}
break;
case R.id.btn_send: {
if (isNull()) {
ToastUtils.showLong("发券");
}
}
break;
default: {
}
break;
}
}
});
vipGroupAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
levelList.get(nowVipGroupId).setSelect(false);
nowVipGroupId = position;
levelList.get(nowVipGroupId).setSelect(true);
vipGroupAdapter.notifyDataSetChanged();
mViewBinding.tvSelect.setText(levelList.get(position).getVipLevelName());
}
});
returnTicketAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
if (nowTickerItemId >= 0) {
truleList.get(nowTickerItemId).setSelect(false);
}
nowTickerItemId = position;
truleList.get(nowTickerItemId).setSelect(true);
returnTicketAdapter.notifyDataSetChanged();
}
});
}
private void initOneVipData() {
mViewBinding.tvSelect.setText("");
mViewBinding.llVipSingle.setVisibility(View.VISIBLE);
mViewBinding.llAll.setVisibility(View.GONE);
if (nowVip != null) {
mViewBinding.tvSelect.setText(nowVip.getVipName());
mViewBinding.setName(nowVip.getVipName());
mViewBinding.setPhone(ConvertUtil.longToString(nowVip.getVipMobile()));
if (nowVip.getVipDefDiscount() < 100 && nowVip.getVipDefDiscount() > 0) {
mViewBinding.setDisRate(String.valueOf((double) nowVip.getVipDefDiscount() /
10));
}
switch (nowVip.getVipLevel()) {
case 1:
mViewBinding.ivLevel.setImageResource(R.mipmap.mk_grade01);
break;
case 2:
mViewBinding.ivLevel.setImageResource(R.mipmap.mk_grade02);
break;
case 3:
mViewBinding.ivLevel.setImageResource(R.mipmap.mk_grade03);
break;
}
} else {
LogUtils.e("nowVip为null");
ToastUtils.showLong("nowVip为null");
}
}
private void initVipGroupData() {
mViewBinding.llVipSingle.setVisibility(View.GONE);
mViewBinding.llAll.setVisibility(View.VISIBLE);
RealmResults<Level> levels = DBFactory.getRealm().where(Level.class).findAll();
levelList = new ArrayList<>();
SendTickerC.getVipType().get(0).setSelect(true);
levelList.add(SendTickerC.getVipType().get(0));
for (int i = 0; i < levels.size(); i++) {
levelList.add(levels.get(i));
}
for (int i = 1; i < SendTickerC.getVipType().size(); i++) {
levelList.add(SendTickerC.getVipType().get(i));
}
mViewBinding.tvSelect.setText(levelList.get(nowVipGroupId).getVipLevelName());
mViewBinding.vipType.setAdapter(vipGroupAdapter);
mViewBinding.vipType.setLayoutManager(new GridLayoutManager(mContext, 3));
final int SPACING = mContext.getResources().getDimensionPixelOffset(R.dimen
.ticker_vip_three_item_spacing);
mViewBinding.vipType.addItemDecoration(new RecyclerViewUtil.GridSpacingItemDecoration
(3, SPACING, true));
vipGroupAdapter.setNewData(levelList);
}
public void truleQuerySucc(Pager<Trule> trulePager, LoadingDialog loadingDialog) {
closeLoading(loadingDialog);
if (trulePager == null || trulePager.getList() == null || trulePager.getList().size() <=
0) {
mViewBinding.tvEmpty.setVisibility(View.VISIBLE);
mViewBinding.rlTicker.setVisibility(View.GONE);
}
if (trulePager != null && trulePager.getList() != null) {
truleList = trulePager.getList();
mViewBinding.tvEmpty.setVisibility(View.GONE);
mViewBinding.rlTicker.setVisibility(View.VISIBLE);
returnTicketAdapter.setNewData(trulePager.getList());
}
}
/**
* 0单个会员发券,1按会员类型发券
*
* @param type
*/
public void setNowtype(int type) {
this.nowtype = type;
}
public void setNowVip(Vip nowVip) {
this.nowVip = nowVip;
}
private void closeLoading(LoadingDialog loadingDialog) {
if (loadingDialog != null) {
loadingDialog.dismiss();
}
}
private boolean isNull() {
if (nowtype == 0) {
//单个会员发券
if (null == nowVip || nowTickerItemId < 0) {
ToastUtils.showLong("请选择会员或优惠券");
return false;
}
} else if (nowtype == 1) {
//分组发券
if (nowTickerItemId < 0) {
ToastUtils.showLong("请选择优惠券");
return false;
}
}
return true;
}
}
\ No newline at end of file
package com.xingdata.zzdpos.ui.sendTicke.fragment;
package com.xingdata.zzdpos.ui.sendticke.fragment;
import android.view.View;
......@@ -8,7 +8,7 @@ import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentSendTickerMainBinding;
import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import com.xingdata.zzdpos.ui.marketing.integral.IntegralActivity;
import com.xingdata.zzdpos.ui.sendTicke.SendTicketPresenter;
import com.xingdata.zzdpos.ui.sendticke.SendTicketPresenter;
import com.xingdata.zzdpos.util.OnClickListener;
public class SendTickerIndexFragment extends BaseFragment<SendTicketPresenter,
......@@ -21,13 +21,35 @@ public class SendTickerIndexFragment extends BaseFragment<SendTicketPresenter,
@Override
public void initView() {
mViewBinding.icTitle.tvTitle.setText("积分规则");
mViewBinding.icTitle.tvTitle.setText("发券");
mViewBinding.icTitle.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
ActivityUtils.finishActivity(IntegralActivity.class);
}
});
mViewBinding.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
switch (v.getId()) {
case R.id.ll_one: {
mPresenter.vipFragment = new VipFragment();
start(mPresenter.vipFragment);
}
break;
case R.id.ll_all: {
mPresenter.sendTickerFragment = new SendTickerFragment();
mPresenter.sendTickerFragment.setNowtype(1);
start(mPresenter.sendTickerFragment);
}
break;
default: {
}
break;
}
}
});
}
......@@ -36,4 +58,4 @@ public class SendTickerIndexFragment extends BaseFragment<SendTicketPresenter,
loadingDialog.dismiss();
}
}
}
}
\ No newline at end of file
package com.xingdata.zzdpos.ui.sendticke.fragment;
import android.annotation.SuppressLint;
import android.support.v7.widget.LinearLayoutManager;
import android.view.View;
import android.widget.TextView;
import com.blankj.utilcode.util.KeyboardUtils;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentSendTickerVipBinding;
import com.xingdata.zzdpos.model.Vip;
import com.xingdata.zzdpos.ui.sendticke.SendTicketPresenter;
import com.xingdata.zzdpos.ui.sendticke.adapter.VipAdapter;
import com.xingdata.zzdpos.ui.settle.SettleActivity;
import com.xingdata.zzdpos.util.OnClickListener;
import java.util.List;
public class VipFragment extends BaseFragment<SendTicketPresenter, FragmentSendTickerVipBinding> {
private VipAdapter mVipAdapter;
@Override
public int getLayoutId() {
return R.layout.fragment_send_ticker_vip;
}
@Override
public void initView() {
mViewBinding.setEmpty(true);
mVipAdapter = new VipAdapter();
mViewBinding.rlVip.setAdapter(mVipAdapter);
mViewBinding.rlVip.setLayoutManager(new LinearLayoutManager(mContext));
@SuppressLint("InflateParams") View emptyView = getLayoutInflater().inflate(R.layout
.view_empty, null);
((TextView) emptyView.findViewById(R.id.tv_empty)).setText(R.string
.settle_vip_search_empty);
mVipAdapter.setEmptyView(emptyView);
mVipAdapter.setOnItemClickListener((adapter, view, position) -> {
mPresenter.selectVip(mVipAdapter.getData().get(position));
mPresenter.sendTickerFragment = new SendTickerFragment();
mPresenter.sendTickerFragment.setNowtype(0);
mPresenter.sendTickerFragment.setNowVip(mVipAdapter.getData().get(position));
startWithPop(mPresenter.sendTickerFragment);
});
mViewBinding.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
switch (v.getId()) {
case R.id.btn_back: {
pop();
}
break;
default: {
}
break;
}
}
});
mViewBinding.etSearch.setOnEditorActionListener((textView, i, keyEvent) -> {
KeyboardUtils.hideSoftInput(textView);
mPresenter.searchVip(textView.getText().toString());
return false;
});
}
/**
* 加载会员信息
*
* @param vips 会员列表
*/
public void loadVips(List<Vip> vips) {
mViewBinding.setEmpty(vips.size() == 0);
mVipAdapter.setNewData(vips);
}
@Override
public void onDestroyView() {
if (getActivity() instanceof SettleActivity) {
((SettleActivity) getActivity()).showTitleBarByTitleMode(C.TITLE_MODE.TEXT);
}
super.onDestroyView();
}
}
package com.xingdata.zzdpos.ui.settle.adapter;
import android.support.annotation.Nullable;
import android.view.View;
import com.blankj.utilcode.util.TimeUtils;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseAdapter;
import com.xingdata.zzdpos.databinding.ItemReturnTicketBinding;
import com.xingdata.zzdpos.model.Trule;
import com.xingdata.zzdpos.ui.marketing.ticket.ReturnTicketActivity;
import com.xingdata.zzdpos.ui.marketing.ticket.ReturnTicketPresenter;
import com.xingdata.zzdpos.ui.marketing.ticket.fragment.TickerAddFragment;
import com.xingdata.zzdpos.util.ConvertUtil;
import java.text.SimpleDateFormat;
import java.util.List;
public class ReturnTicketAdapter extends BaseAdapter<Trule, ItemReturnTicketBinding> {
ReturnTicketPresenter mPersenter;
ReturnTicketActivity returnTicketActivity;
public ReturnTicketAdapter(@Nullable List<Trule> data, ReturnTicketPresenter mPersenter,
ReturnTicketActivity returnTicketActivity) {
super(R.layout.item_return_ticket, data);
this.mPersenter = mPersenter;
this.returnTicketActivity = returnTicketActivity;
}
@Override
protected void convert(ItemReturnTicketBinding mViewBinding, Trule item) {
mViewBinding.tvTicketMoney.setText(mContext.getResources().getString(R.string.tv_money,
ConvertUtil.fenToYuanNoPoint(item.getTruleValAmt())));
mViewBinding.tvTicketMoneys.setText(mContext.getResources().getString(R.string.money,
ConvertUtil.fenToYuanNoPoint(item.getTruleValAmt())));
mViewBinding.tvRule.setText(mContext.getResources().getString(R.string.tv_rule,
ConvertUtil.fenToYuanNoPoint(item.getTruleOrderAmt())));
mViewBinding.tvDate.setText(mContext.getResources().getString(R.string.tv_date,
TimeUtils.millis2String(item.getTruleExp(), new SimpleDateFormat("yyy-mm-dd"))));
mViewBinding.clSend.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// ToastUtils.showLong("发券");
}
});
mViewBinding.clItem.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mPersenter.tickerAddFragment = new TickerAddFragment();
mPersenter.tickerAddFragment.setNowType(2);
mPersenter.tickerAddFragment.editTicketData(item);
returnTicketActivity.start(mPersenter.tickerAddFragment);
}
});
}
}
......@@ -7,6 +7,8 @@ import com.blankj.utilcode.util.FragmentUtils;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity;
import com.xingdata.zzdpos.databinding.ActivityStatisticsBinding;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Saleorder;
import com.xingdata.zzdpos.ui.statistics.fragment.OrderMainFragment;
import com.xingdata.zzdpos.ui.statistics.fragment.StatisticsFragment;
......@@ -33,6 +35,7 @@ public class StatisticsActivity extends BaseActivity<StatisticsPresenter, Activi
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// if (event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
......
......@@ -2,6 +2,9 @@ package com.xingdata.zzdpos.ui.statistics;
import com.xingdata.zzdpos.base.BasePresenter;
import com.xingdata.zzdpos.base.BaseView;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Saleorder;
import com.xingdata.zzdpos.ui.statistics.fragment.OrderListFragment;
/**
* Created by Administrator on 2017/12/23.
......@@ -10,12 +13,30 @@ import com.xingdata.zzdpos.base.BaseView;
public interface StatisticsContract {
interface View extends BaseView {
/**
* 跳转订单列表页
*/
void showOrderListFragment();
}
abstract class Presenter extends BasePresenter<View> {
/**
* 跳转订单列表页
*/
public abstract void clickOrderList();
/**
* 获取订单列表
*/
public abstract void getOrderList(int pageNumber, int pageSize, long startDate, long endDate, OrderListFragment orderListFragment);
public abstract void clickOrderList();
/**
* 获取统计详情
*/
public abstract void getSat();
}
}
......@@ -4,6 +4,9 @@ package com.xingdata.zzdpos.ui.statistics;
import android.view.KeyEvent;
import com.blankj.utilcode.util.FragmentUtils;
import com.blankj.utilcode.util.ToastUtils;
import com.xingdata.zzdpos.api.ApiFactory;
import com.xingdata.zzdpos.ui.statistics.fragment.OrderListFragment;
/**
* Created by Administrator on 2017/12/23.
......@@ -11,6 +14,8 @@ import com.blankj.utilcode.util.FragmentUtils;
public class StatisticsPresenter extends StatisticsContract.Presenter {
private int pageSize = 20;
@Override
public void onAttached() {
......@@ -23,4 +28,31 @@ public class StatisticsPresenter extends StatisticsContract.Presenter {
}
@Override
public void getOrderList(int pageNumber, int pageSize, long startDate, long endDate, OrderListFragment fragment) {
ApiFactory.Test.getSaleOrderList(pageNumber, pageSize, startDate, endDate).doFinally(() -> {
})
.subscribe(orderlist -> {
fragment.setData(orderlist, orderlist.isFirstPage());
}, throwable -> {
ToastUtils.showShort(throwable.getMessage());
});
}
@Override
public void getSat() {
ApiFactory.Sat.queryNotice().doFinally(() -> {
})
.subscribe(sat -> {
}, throwable -> {
ToastUtils.showShort(throwable.getMessage());
});
}
public void getOrderList(int pageNumber, long startDate, long endDate, OrderListFragment fragment) {
getOrderList(pageNumber, pageSize, startDate, endDate, fragment);
}
}
package com.xingdata.zzdpos.ui.statistics.adapter;
import android.graphics.drawable.Drawable;
import android.support.annotation.Nullable;
import android.view.View;
import android.view.ViewGroup;
import com.blankj.utilcode.util.TimeUtils;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseAdapter;
import com.xingdata.zzdpos.databinding.ItemStatisticsBinding;
import com.xingdata.zzdpos.model.Saleorder;
import java.util.List;
public class StatisticsAdapter extends BaseAdapter<Saleorder, ItemStatisticsBinding> {
public StatisticsAdapter(@Nullable List<Saleorder> data) {
super(R.layout.item_statistics, data);
}
@Override
protected void convert(ItemStatisticsBinding mViewBinding, Saleorder item) {
mViewBinding.tvLeftTop.setText(item.getOrderNo());
mViewBinding.tvLeftBottom.setText(TimeUtils.millis2String(item.getCreateTime()));
}
@Override
protected View getItemView(int layoutResId, ViewGroup parent) {
return super.getItemView(layoutResId, parent);
}
}
package com.xingdata.zzdpos.ui.statistics.fragment;
import com.blankj.utilcode.util.TimeUtils;
import android.annotation.SuppressLint;
import android.support.v7.widget.LinearLayoutManager;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentOrderListBinding;
import com.xingdata.zzdpos.databinding.FragmentOrderMainBinding;
import com.xingdata.zzdpos.ui.main.MainPresenter;
import com.xingdata.zzdpos.ui.main.adapter.MenuRecyclerAdapter;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Saleorder;
import com.xingdata.zzdpos.ui.statistics.StatisticsPresenter;
import com.xingdata.zzdpos.ui.statistics.adapter.StatisticsAdapter;
import com.xingdata.zzdpos.util.OnClickListener;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
public class OrderListFragment extends BaseFragment<MainPresenter, FragmentOrderListBinding> {
private MenuRecyclerAdapter mMenuRecyclerAdapter;
private List<Integer> integers;
public class OrderListFragment extends BaseFragment<StatisticsPresenter, FragmentOrderListBinding> {
private StatisticsAdapter mStatisticsAdapter;
private List<Saleorder> saleorders = new ArrayList<>();
private Long monthDateStart;
private Long monthDateEnd;
private int pagerNum = 1;
public OrderListFragment setDate(Long end, Long start) {
monthDateStart = start;
......@@ -43,52 +56,65 @@ public class OrderListFragment extends BaseFragment<MainPresenter, FragmentOrder
} else {
mViewBinding.setMonth(monthStart + "月");
}
mViewBinding.setAmt("收入:¥230.00");
mViewBinding.llTitle.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
pop();
}
});
mViewBinding.tvEmpty.setText(R.string.statistics_search_empty);
if (mStatisticsAdapter == null) {
mStatisticsAdapter = new StatisticsAdapter(saleorders);
mViewBinding.statisticsRecycler.setLayoutManager(new LinearLayoutManager(getActivity()));
mViewBinding.statisticsRecycler.setAdapter(mStatisticsAdapter);
} else {
mViewBinding.statisticsRecycler.setLayoutManager(new LinearLayoutManager(getActivity()));
mViewBinding.statisticsRecycler.setAdapter(mStatisticsAdapter);
}
mViewBinding.setAmt("收入:¥230.00");
// mViewBinding.icTitle.setOnClickListener(new OnClickListener() {
// @Override
// protected void myOnClickListener(View v) {
// getActivity().finish();
// }
// });
// mViewBinding.icTitle.tvTitle.setText(R.string.menu_statistics);
// mViewBinding.fragmentCasherRecycler.setLayoutManager(new GridLayoutManager(getActivity(), 2));
// integers = new ArrayList<>();
// integers.add(101);
// integers.add(102);
// mMenuRecyclerAdapter = new MenuRecyclerAdapter(getActivity(), integers);
// mMenuRecyclerAdapter.bindToRecyclerView(mViewBinding.fragmentCasherRecycler);
// mViewBinding.fragmentCasherRecycler.addItemDecoration(new MyMenuItemDecoration(getActivity(), 5, getResources().getColor(R.color.golden_yuji)));
// mMenuRecyclerAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
// @Override
// public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
// switch ((int) adapter.getData().get(position)) {
// case C.MENU.MENU_VIP://会员
//
// break;
// case C.MENU.MENU_RECHARGE://充值
//
// break;
// case C.MENU.MENU_MS://营销
//
// break;
// case C.MENU.MENU_TICKET://优惠券
//
// break;
// case C.MENU.MENU_STATISTICS://统计
//
// break;
// case C.MENU.MENU_MANAGER://管理
//
// break;
//
// }
// }
// });
mViewBinding.srlProduct.setOnRefreshListener(this::onRefresh);
mStatisticsAdapter.setOnLoadMoreListener(this::onLoadMore, mViewBinding.statisticsRecycler);
mPresenter.getOrderList(pagerNum, monthDateStart, monthDateEnd, this);
}
private void onRefresh() {
pagerNum = 1;
mPresenter.getOrderList(pagerNum, monthDateStart, monthDateEnd, this);
}
private void onLoadMore() {
pagerNum++;
mPresenter.getOrderList(pagerNum, monthDateStart, monthDateEnd, this);
}
/**
* 设置数据
*
* @param pager 数据
* @param isRefresh 是否刷新
*/
public void setData(Pager<Saleorder> pager, boolean isRefresh) {
if (isRefresh) {
mStatisticsAdapter.setEnableLoadMore(true);
mViewBinding.srlProduct.setRefreshing(false);
}
if (isRefresh) mStatisticsAdapter.setNewData(pager.getList());
else if (pager.getList().size() > 0) mStatisticsAdapter.addData(pager.getList());
if (pager.isLastPage()) mStatisticsAdapter.loadMoreEnd(isRefresh);
else mStatisticsAdapter.loadMoreComplete();
if (mStatisticsAdapter.getData().size() == 0) {
mViewBinding.llEmpty.setVisibility(View.VISIBLE);
mViewBinding.statisticsRecycler.setVisibility(View.GONE);
} else {
mViewBinding.llEmpty.setVisibility(View.GONE);
mViewBinding.statisticsRecycler.setVisibility(View.VISIBLE);
}
}
}
......@@ -3,6 +3,7 @@ package com.xingdata.zzdpos.ui.statistics.fragment;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.view.View;
import com.blankj.utilcode.util.TimeUtils;
import com.blankj.utilcode.util.ToastUtils;
......@@ -15,6 +16,7 @@ import com.xingdata.zzdpos.ui.main.MainPresenter;
import com.xingdata.zzdpos.ui.main.adapter.FragmentViewAdapter;
import com.xingdata.zzdpos.ui.main.fragment.ServiceFragment;
import com.xingdata.zzdpos.ui.statistics.adapter.FragmentStateAdapter;
import com.xingdata.zzdpos.util.OnClickListener;
import com.xingdata.zzdpos.util.StringUtil;
......@@ -22,6 +24,7 @@ import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.logging.Handler;
import io.reactivex.Observable;
import io.reactivex.ObservableEmitter;
......@@ -49,48 +52,16 @@ public class OrderMainFragment extends BaseFragment<MainPresenter, FragmentOrder
@Override
public void initView() {
Calendar calendar = Calendar.getInstance();
//获得当前时间的月份,月份从0开始所以结果要加1
month= calendar.get(Calendar.MONTH) + 1;
mViewBinding.icTitle.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
pop();
}
});
initViewPager();
// mViewBinding.icTitle.setOnClickListener(new OnClickListener() {
// @Override
// protected void myOnClickListener(View v) {
// getActivity().finish();
// }
// });
// mViewBinding.icTitle.tvTitle.setText(R.string.menu_statistics);
// mViewBinding.fragmentCasherRecycler.setLayoutManager(new GridLayoutManager(getActivity(), 2));
// integers = new ArrayList<>();
// integers.add(101);
// integers.add(102);
// mMenuRecyclerAdapter = new MenuRecyclerAdapter(getActivity(), integers);
// mMenuRecyclerAdapter.bindToRecyclerView(mViewBinding.fragmentCasherRecycler);
// mViewBinding.fragmentCasherRecycler.addItemDecoration(new MyMenuItemDecoration(getActivity(), 5, getResources().getColor(R.color.golden_yuji)));
// mMenuRecyclerAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
// @Override
// public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
// switch ((int) adapter.getData().get(position)) {
// case C.MENU.MENU_VIP://会员
//
// break;
// case C.MENU.MENU_RECHARGE://充值
//
// break;
// case C.MENU.MENU_MS://营销
//
// break;
// case C.MENU.MENU_TICKET://优惠券
//
// break;
// case C.MENU.MENU_STATISTICS://统计
//
// break;
// case C.MENU.MENU_MANAGER://管理
//
// break;
//
// }
// }
// });
}
......@@ -103,9 +74,8 @@ public class OrderMainFragment extends BaseFragment<MainPresenter, FragmentOrder
String date = TimeUtils.millis2String(System.currentTimeMillis(), new SimpleDateFormat(StringUtil.defaultDatePattern));
String[] dates = date.split("-");
int y = Integer.valueOf(dates[0]);
month = Integer.valueOf(dates[1]);
int m = month + 1;
for (int i = 0; i < 13; i++) {
for (int i = 0; i < 5; i++) {
if (m == 0) {
m = 12;
y--;
......@@ -149,10 +119,8 @@ public class OrderMainFragment extends BaseFragment<MainPresenter, FragmentOrder
mFragmentStateAdapter = new FragmentStateAdapter(fragments, getChildFragmentManager());
mViewBinding.viewPagerData.setAdapter(mFragmentStateAdapter);
mViewBinding.viewPagerData.setCurrentItem(0);
mViewBinding.tabLayout.setupWithViewPager(mViewBinding.viewPagerData);
for (int i = 0; i < fragments.size(); i++) {
if (month == 0) month = 12;
mViewBinding.tabLayout.getTabAt(i).setText(month + "");
......@@ -166,17 +134,19 @@ public class OrderMainFragment extends BaseFragment<MainPresenter, FragmentOrder
mFragmentStateAdapter = new FragmentStateAdapter(fragments, getChildFragmentManager());
mViewBinding.viewPagerData.setAdapter(mFragmentStateAdapter);
mViewBinding.tabLayout.setupWithViewPager(mViewBinding.viewPagerData);
new android.os.Handler().postDelayed(new Runnable() {
@Override
public void run() {
mViewBinding.viewPagerData.setCurrentItem(0, false);
}
}, 1);
for (int i = 0; i < fragments.size(); i++) {
if (month == 0) month = 12;
mViewBinding.tabLayout.getTabAt(i).setText(month + "");
month--;
}
mViewBinding.viewPagerData.setCurrentItem(0);
}
}
@Override
public void onStop() {
super.onStop();
}
}
......@@ -32,6 +32,7 @@ public class StatisticsFragment extends BaseFragment<StatisticsPresenter, Fragme
@Override
public void initView() {
mPresenter.getSat();
mViewBinding.icTitle.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
......@@ -41,8 +42,9 @@ public class StatisticsFragment extends BaseFragment<StatisticsPresenter, Fragme
mViewBinding.icTitle.tvTitle.setText(R.string.menu_statistics);
mViewBinding.fragmentCasherRecycler.setLayoutManager(new GridLayoutManager(getActivity(), 2));
integers = new ArrayList<>();
integers.add(101);
integers.add(102);
integers.add(C.MENU.MENU_STATISTICS_ORDER);
integers.add(C.MENU.MENU_STATISTICS_MS);
mMenuRecyclerAdapter = new MenuRecyclerAdapter(getActivity(), integers);
mMenuRecyclerAdapter.bindToRecyclerView(mViewBinding.fragmentCasherRecycler);
mViewBinding.fragmentCasherRecycler.addItemDecoration(new MyMenuItemDecoration(getActivity(), 5, getResources().getColor(R.color.golden_yuji)));
......@@ -50,22 +52,10 @@ public class StatisticsFragment extends BaseFragment<StatisticsPresenter, Fragme
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
switch ((int) adapter.getData().get(position)) {
case C.MENU.MENU_VIP://会员
case C.MENU.MENU_STATISTICS_ORDER://订单
mPresenter.clickOrderList();
break;
case C.MENU.MENU_RECHARGE://充值
break;
case C.MENU.MENU_MS://营销
break;
case C.MENU.MENU_TICKET://优惠券
break;
case C.MENU.MENU_STATISTICS://统计
break;
case C.MENU.MENU_MANAGER://管理
case C.MENU.MENU_STATISTICS_MS://营销
break;
......
......@@ -5,7 +5,7 @@
<stroke
android:width="0.5dp"
android:width="1dp"
android:color="@color/black" />
<solid android:color="@color/all_transparent" />
......
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<corners android:radius="@dimen/all_shape_radius" />
<stroke
android:width="1dp"
android:color="@color/red_guanyu" />
<solid android:color="@color/all_transparent" />
</shape>
\ No newline at end of file
......@@ -30,23 +30,20 @@
android:layout_marginTop="@dimen/all_padding"
android:orientation="horizontal"
android:weightSum="2"
android:padding="@dimen/dp_4"
android:background="@color/white_caocao"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="wrap_content">
<Button
android:layout_margin="1dp"
android:layout_margin="@dimen/all_padding"
android:id="@+id/btn_cancel"
style="@style/button_passive"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/all_margin"
android:layout_marginTop="@dimen/all_margin"
android:stateListAnimator="@null"
android:text="@string/all_cancel"
android:textSize="@dimen/dialog_button_text_size"
android:textSize="@dimen/all_text_size"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@id/btn_confirm"
......@@ -54,17 +51,15 @@
tools:targetApi="lollipop" />
<Button
android:layout_margin="1dp"
android:layout_margin="@dimen/all_padding"
android:id="@+id/btn_confirm"
style="@style/button_positive"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/all_margin"
android:layout_marginTop="@dimen/all_margin"
android:stateListAnimator="@null"
android:text="@string/all_confirm"
android:textSize="@dimen/dialog_button_text_size"
android:textSize="@dimen/all_text_size"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toRightOf="@id/btn_cancel"
app:layout_constraintRight_toRightOf="parent"
......
......@@ -39,210 +39,224 @@
</data>
<android.support.constraint.ConstraintLayout
android:id="@+id/cl_default"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white_caocao"
android:padding="0dp">
<android.support.constraint.ConstraintLayout
android:id="@+id/cl_default"
<TextView
android:id="@+id/handover_tv_sumamt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:singleLine="true"
android:text="¥9999"
android:textColor="@color/red900"
android:textSize="@dimen/all_text_size_big"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/handover_tv_sumamt_hint" />
<TextView
android:id="@+id/handover_tv_sumamt_hint"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingBottom="@dimen/all_padding"
android:paddingTop="@dimen/all_margin"
android:text="实收金额"
android:textColor="@color/black_baozheng"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<View
android:id="@+id/view1"
android:layout_width="match_parent"
android:layout_height="@dimen/view_line_L1"
android:layout_marginTop="@dimen/all_margin"
android:background="@color/gray_zhouyu"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/handover_tv_sumamt" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white_caocao"
android:padding="0dp">
android:orientation="horizontal"
android:paddingBottom="@dimen/all_padding"
android:paddingEnd="@dimen/dp_4"
android:paddingStart="@dimen/dp_4"
android:paddingTop="@dimen/dp_4"
android:weightSum="2"
app:layout_constraintTop_toBottomOf="@id/view1">
<LinearLayout
<TextView
android:id="@+id/handover_tv_sumamt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:singleLine="true"
android:text="¥9999"
android:textColor="@color/red900"
android:textSize="@dimen/big_text_size"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/handover_tv_sumamt_hint" />
<TextView
android:id="@+id/handover_tv_sumamt_hint"
android:paddingTop="@dimen/all_margin"
android:paddingBottom="@dimen/all_padding"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="实收金额"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/small_text_size"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<View
android:id="@+id/view1"
android:layout_width="match_parent"
android:layout_height="@dimen/view_line_L1"
android:layout_marginTop="@dimen/all_margin"
android:background="@color/gray_zhouyu"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/handover_tv_sumamt" />
android:layout_weight="1"
android:orientation="vertical">
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="@string/handover_date"
android:textSize="@dimen/small_text_size" />
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="@string/handover_oper"
android:textSize="@dimen/small_text_size" />
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="@string/handover_orderNum"
android:textSize="@dimen/small_text_size" />
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="@string/handover_cash"
android:textSize="@dimen/small_text_size" />
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="@string/handover_wechat"
android:textSize="@dimen/small_text_size" />
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="@string/handover_alipay"
android:textSize="@dimen/small_text_size" />
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="@string/handover_bank"
android:textSize="@dimen/small_text_size" />
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="@string/handover_vip"
android:textSize="@dimen/small_text_size" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingTop="@dimen/dp_4"
android:paddingStart="@dimen/dp_4"
android:paddingEnd="@dimen/dp_4"
android:paddingBottom="@dimen/all_padding"
android:weightSum="2"
app:layout_constraintTop_toBottomOf="@id/view1">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="@string/handover_date" />
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="@string/handover_oper" />
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="@string/handover_orderNum" />
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="@string/handover_cash" />
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="@string/handover_wechat" />
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="@string/handover_alipay" />
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="@string/handover_bank" />
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="@string/handover_vip" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_weight="1"
android:gravity="right"
android:orientation="vertical">
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:singleLine="true"
android:text="@{date}"
android:textColor="@color/black_likui"
android:textSize="@dimen/small_text_size" />
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:singleLine="true"
android:text="@{operName}"
android:textColor="@color/black_likui"
android:textSize="@dimen/small_text_size" />
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:singleLine="true"
android:text="@{orderNum}"
android:textColor="@color/black_likui"
android:textSize="@dimen/small_text_size" />
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:singleLine="true"
android:text="@{cash}"
android:textColor="@color/black_likui"
android:textSize="@dimen/small_text_size" />
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:singleLine="true"
android:text="@{wechat}"
android:textColor="@color/black_likui"
android:textSize="@dimen/small_text_size" />
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:singleLine="true"
android:text="@{alipay}"
android:textColor="@color/black_likui"
android:textSize="@dimen/small_text_size" />
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:singleLine="true"
android:text="@{bank}"
android:textColor="@color/black_likui"
android:textSize="@dimen/small_text_size" />
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:orientation="vertical">
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:singleLine="true"
android:text="@{date}"
android:textColor="@color/black_likui" />
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:singleLine="true"
android:text="@{operName}"
android:textColor="@color/black_likui" />
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:singleLine="true"
android:text="@{orderNum}"
android:textColor="@color/black_likui" />
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:singleLine="true"
android:text="@{cash}"
android:textColor="@color/black_likui" />
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:singleLine="true"
android:text="@{wechat}"
android:textColor="@color/black_likui" />
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:singleLine="true"
android:text="@{alipay}"
android:textColor="@color/black_likui" />
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:singleLine="true"
android:text="@{bank}"
android:textColor="@color/black_likui" />
<TextView
style="@style/textView_body_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:singleLine="true"
android:text="@{vipPay}"
android:textColor="@color/black_likui" />
</LinearLayout>
android:singleLine="true"
android:text="@{vipPay}"
android:textColor="@color/black_likui"
android:textSize="@dimen/small_text_size" />
</LinearLayout>
</LinearLayout>
</android.support.constraint.ConstraintLayout>
</android.support.constraint.ConstraintLayout>
</layout>
\ No newline at end of file
......@@ -2,6 +2,8 @@
<data>
<import type="android.view.View" />
<variable
name="month"
type="String" />
......@@ -9,6 +11,8 @@
<variable
name="amt"
type="String" />
</data>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
......@@ -51,19 +55,56 @@
android:layout_weight="1"
android:gravity="right"
android:padding="@dimen/all_padding"
android:text="@{amt}" />
android:text="@{amt}"
android:visibility="invisible" />
</LinearLayout>
<android.support.v7.widget.RecyclerView
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/srl_product"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@color/white_caocao"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/ll_title">
</android.support.v7.widget.RecyclerView>
<android.support.v7.widget.RecyclerView
android:id="@+id/statistics_recycler"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone">
</android.support.v7.widget.RecyclerView>
</android.support.v4.widget.SwipeRefreshLayout>
<LinearLayout
android:id="@+id/ll_empty"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@color/white_caocao"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="@id/srl_product"
app:layout_constraintStart_toStartOf="@id/srl_product"
app:layout_constraintTop_toTopOf="@id/srl_product"
app:layout_constraintBottom_toBottomOf="@id/srl_product">
<TextView
android:id="@+id/tv_empty"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawablePadding="@dimen/all_margin"
android:drawableTop="@mipmap/nong"
android:gravity="center"
android:lineSpacingExtra="@dimen/all_padding"
android:textColor="@color/gray_huanggai"
android:textSize="@dimen/all_text_size" />
</LinearLayout>
</android.support.constraint.ConstraintLayout>
</layout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<import type="android.view.View"/>
<variable
name="empty"
type="boolean"/>
<variable
name="OnClickListener"
type="com.xingdata.zzdpos.util.OnClickListener"/>
<variable
name="titleMode"
type="int"/>
<variable
name="name"
type="String"/>
<variable
name="phone"
type="String"/>
<variable
name="disRate"
type="String"/>
</data>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/gray_zhouyu">
<LinearLayout
android:id="@+id/ll_top"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include
android:id="@+id/ic_title"
layout="@layout/title"/>
<LinearLayout
android:id="@+id/ll_vip_single"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1.2"
android:onClick="@{OnClickListener}"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:layout_gravity="bottom"
android:background="@color/gray_huanggai"/>
<android.support.constraint.ConstraintLayout
android:id="@+id/cl_vip"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/all_padding"
android:background="@color/white_caocao"
android:foreground="?android:attr/selectableItemBackground">
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/iv_head"
android:layout_width="@dimen/settle_vip_head"
android:layout_height="@dimen/settle_vip_head"
android:layout_marginStart="@dimen/all_margin"
app:backgroundImage="@color/white_caocao"
app:layout_constraintBottom_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="parent"
app:placeholderImage="@mipmap/icon_menu_service_1"
app:roundAsCircle="true"
app:roundingBorderColor="@color/gray_huanggai"
app:roundingBorderWidth="@dimen/all_line_width"/>
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/iv_level"
android:layout_width="@dimen/settle_vip_level"
android:layout_height="@dimen/settle_vip_level"
app:layout_constraintBottom_toBottomOf="@id/iv_head"
app:layout_constraintRight_toRightOf="@id/iv_head"
app:roundAsCircle="true"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/all_margin"
android:orientation="vertical"
app:layout_constraintBottom_toTopOf="parent"
app:layout_constraintLeft_toRightOf="@id/iv_head"
app:layout_constraintTop_toBottomOf="parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{name}"
android:textColor="@color/black_zhangfei"
android:textSize="@dimen/all_text_size"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{phone}"
android:textColor="@color/black_likui"
android:textSize="@dimen/all_caption_size"/>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/all_spacing"
android:text="@{@string/settle_vip_dis_rate_hint + disRate + @string/settle_vip_dis_rate}"
android:textColor="@color/black_zhangfei"
android:textSize="@dimen/all_caption_size"
app:layout_constraintBottom_toTopOf="parent"
app:layout_constraintRight_toLeftOf="@id/cb_point"
app:layout_constraintTop_toBottomOf="parent"/>
<CheckBox
android:id="@+id/cb_point"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/all_margin"
android:button="@mipmap/but_elect02"
android:contentDescription="@string/settle_balance"
app:layout_constraintBottom_toTopOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="parent"/>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:background="@color/gray_huanggai"
app:layout_constraintBottom_toBottomOf="parent"/>
</android.support.constraint.ConstraintLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/ll_all"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:orientation="vertical"
android:visibility="gone">
<android.support.v7.widget.RecyclerView
android:id="@+id/vip_type"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"/>
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/rl_ticker"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="9"
android:paddingLeft="@dimen/all_padding"
android:paddingRight="@dimen/all_padding"/>
<TextView
android:id="@+id/tv_empty"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="9"
android:background="@color/appBack"
android:drawableTop="@mipmap/icon_things_null"
android:gravity="center"
android:padding="100dp"
android:text="@string/empty_other_select"
android:textColor="@color/white_half"
android:textSize="@dimen/all_text_size_big"
android:visibility="gone"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:layout_alignParentBottom="true"
android:background="@color/white"
android:gravity="center"
android:orientation="horizontal"
android:padding="@dimen/all_padding">
<TextView
android:id="@+id/tv_select"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/all_padding"
android:layout_weight="3"
android:gravity="center|left"
android:text="白金会员"
android:textSize="@dimen/et_textsize"/>
<Button
android:id="@+id/btn_send"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/red_border_allradius"
android:text="发券"
android:onClick="@{OnClickListener}"
android:textColor="@color/white"
android:textSize="@dimen/et_textsize"/>
</LinearLayout>
</RelativeLayout>
</layout>
\ No newline at end of file
......@@ -26,6 +26,7 @@
android:layout_marginTop="@dimen/all_padding"
android:background="@color/white"
android:gravity="center"
android:onClick="@{OnClickListener}"
android:orientation="horizontal"
android:paddingLeft="@dimen/all_margin"
app:layout_constraintTop_toBottomOf="@+id/ic_title">
......@@ -60,6 +61,7 @@
android:layout_marginTop="@dimen/all_padding"
android:background="@color/white"
android:gravity="center"
android:onClick="@{OnClickListener}"
android:orientation="horizontal"
android:paddingLeft="@dimen/all_margin"
app:layout_constraintTop_toBottomOf="@+id/ll_one">
......
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<import type="android.view.View"/>
<variable
name="empty"
type="boolean"/>
<variable
name="OnClickListener"
type="com.xingdata.zzdpos.util.OnClickListener"/>
<variable
name="titleMode"
type="int"/>
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/gray_zhouyu"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:layout_gravity="bottom"
android:background="@color/gray_huanggai"/>
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/white_caocao">
<ImageButton
android:id="@+id/btn_back"
android:layout_width="@dimen/title_height"
android:layout_height="match_parent"
android:background="?attr/selectableItemBackground"
android:contentDescription="@string/all_go_back"
android:gravity="center"
android:onClick="@{OnClickListener}"
android:padding="@dimen/all_margin"
android:src="@mipmap/back_black"
app:layout_constraintLeft_toLeftOf="parent"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginEnd="@dimen/all_margin"
app:layout_constraintBottom_toTopOf="parent"
app:layout_constraintLeft_toRightOf="@id/btn_back"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="parent">
<EditText
android:id="@+id/et_search"
style="@style/searchBarEditor"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:inputType="number"
android:textColor="@color/black_likui"
android:textColorHint="@color/gray_huanggai"
android:textSize="@dimen/all_text_size"/>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:layout_gravity="bottom"
android:background="@color/gray_huanggai"
app:layout_constraintBottom_toBottomOf="parent"/>
</android.support.constraint.ConstraintLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:layout_marginBottom="@dimen/all_margin"
android:background="@color/gray_huanggai"
android:visibility="@{empty?View.GONE:View.VISIBLE}"/>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:background="@color/gray_huanggai"/>
<android.support.v7.widget.RecyclerView
android:id="@+id/rl_vip"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
</layout>
\ No newline at end of file
......@@ -9,133 +9,147 @@
</data>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/all_margin"
android:orientation="horizontal">
<android.support.constraint.ConstraintLayout
android:id="@+id/cl_item"
android:layout_width="0dp"
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/all_padding"
android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2.3">
android:layout_marginTop="@dimen/all_padding"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
<android.support.constraint.ConstraintLayout
android:id="@+id/cl_item"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@mipmap/return_ticket_one"/>
android:layout_weight="2.3">
<LinearLayout
android:id="@+id/ll_top"
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@mipmap/return_ticket_one"/>
<LinearLayout
android:id="@+id/ll_top"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center"
android:orientation="horizontal"
android:padding="@dimen/all_padding"
app:layout_constraintBottom_toTopOf="@id/ll_bottom"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_weight="4">
<ImageView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_gravity="right"
android:layout_weight="1.8"
android:src="@mipmap/bg_return_ticker_logo"/>
<TextView
android:id="@+id/tv_ticket_money"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="5"
android:gravity="center"
android:text="@string/tv_money"
android:textColor="@color/white"
android:textSize="@dimen/text_secondary_title"
android:textStyle="bold"/>
</LinearLayout>
<LinearLayout
android:id="@+id/ll_bottom"
android:layout_width="0dp"
android:layout_height="0dp"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/ll_top"
app:layout_constraintVertical_weight="2">
<TextView
android:id="@+id/tv_date"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="center_vertical"
android:paddingLeft="@dimen/all_margin"
android:text="@string/tv_date"
android:textColor="@color/white"
android:textSize="@dimen/et_textsize"/>
</LinearLayout>
</android.support.constraint.ConstraintLayout>
<android.support.constraint.ConstraintLayout
android:id="@+id/cl_send"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center"
android:orientation="horizontal"
android:padding="@dimen/all_padding"
app:layout_constraintBottom_toTopOf="@id/ll_bottom"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_weight="4">
android:layout_height="wrap_content"
android:layout_weight="1">
<ImageView
android:layout_width="0dp"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="right"
android:layout_weight="1.8"
android:src="@mipmap/bg_return_ticker_logo"/>
android:background="@mipmap/return_ticket_two"
/>
<TextView
android:id="@+id/tv_ticket_money"
android:id="@+id/tv_ticket_moneys"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="5"
android:layout_height="0dp"
android:gravity="center"
android:text="@string/tv_money"
android:text="@string/money"
android:textColor="@color/white"
android:textSize="@dimen/text_secondary_title"
android:textStyle="bold"/>
</LinearLayout>
<LinearLayout
android:id="@+id/ll_bottom"
android:layout_width="0dp"
android:layout_height="0dp"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/ll_top"
app:layout_constraintVertical_weight="2">
android:textSize="@dimen/text_primary_title_smile"
android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@+id/vw_line"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<View
android:id="@+id/vw_line"
android:layout_width="0dp"
android:layout_height="@dimen/all_line_width"
android:layout_marginLeft="@dimen/all_padding"
android:layout_marginRight="@dimen/all_padding"
android:background="@color/gray1"
app:layout_constraintBottom_toTopOf="@id/tv_rule"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_ticket_moneys"></View>
<TextView
android:id="@+id/tv_date"
android:layout_width="match_parent"
android:id="@+id/tv_rule"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="center_vertical"
android:paddingLeft="@dimen/all_margin"
android:text="@string/tv_date"
android:gravity="center"
android:text="@string/tv_rule"
android:textColor="@color/white"
android:textSize="@dimen/et_textsize"/>
</LinearLayout>
</android.support.constraint.ConstraintLayout>
<android.support.constraint.ConstraintLayout
android:id="@+id/cl_send"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1">
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@mipmap/return_ticket_two"
/>
<TextView
android:id="@+id/tv_ticket_moneys"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center"
android:text="@string/money"
android:textColor="@color/white"
android:textSize="@dimen/text_primary_title_smile"
android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@+id/vw_line"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<View
android:id="@+id/vw_line"
android:layout_width="0dp"
android:layout_height="@dimen/all_line_width"
android:layout_marginLeft="@dimen/all_padding"
android:layout_marginRight="@dimen/all_padding"
android:background="@color/gray1"
app:layout_constraintBottom_toTopOf="@id/tv_rule"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_ticket_moneys"></View>
<TextView
android:id="@+id/tv_rule"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center"
android:text="@string/tv_rule"
android:textColor="@color/white"
android:textSize="@dimen/et_textsize"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/vw_line"/>
</android.support.constraint.ConstraintLayout>
</LinearLayout>
android:textSize="@dimen/et_textsize"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/vw_line"/>
</android.support.constraint.ConstraintLayout>
</LinearLayout>
<ImageView
android:id="@+id/iv_select"
android:layout_width="30dp"
android:layout_height="30dp"
android:visibility="gone"
android:layout_alignParentRight="true"
android:layout_marginRight="@dimen/all_margin"
android:src="@mipmap/but_elect02_stroke"/>
</RelativeLayout>
</layout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white_caocao"
android:foreground="?android:attr/selectableItemBackground">
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/img_left"
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_margin="@dimen/all_padding"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:placeholderImage="@mipmap/img_head"
app:roundAsCircle="true" />
<TextView
android:id="@+id/tv_right_top"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/all_margin"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/img_left" />
<TextView
android:id="@+id/tv_right_bottom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/all_margin"
android:text="本店"
android:textSize="@dimen/small_text_size"
app:layout_constraintBottom_toBottomOf="@id/img_left"
app:layout_constraintEnd_toEndOf="parent" />
<TextView
android:id="@+id/tv_left_top"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/padding_small"
android:text="1231231244124124"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size"
app:layout_constraintStart_toEndOf="@id/img_left"
app:layout_constraintTop_toTopOf="@id/img_left" />
<TextView
android:id="@+id/tv_left_bottom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/all_padding"
android:text="11-15 15:23"
android:textSize="@dimen/small_text_size"
app:layout_constraintBottom_toBottomOf="@id/img_left"
app:layout_constraintStart_toEndOf="@id/img_left" />
<View
android:layout_width="0dp"
android:layout_height="@dimen/view_line_L1"
android:background="@color/gray_zhouyu"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/img_left" />
</android.support.constraint.ConstraintLayout>
</layout>
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
>
<data>
<variable
name="OnClickListener"
type="com.xingdata.zzdpos.util.OnClickListener"/>
</data>
<LinearLayout
android:id="@+id/cl_vip"
android:layout_width="115dp"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/tv_item"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/black_border_thr"
android:gravity="center"
android:maxEms="4"
android:maxLength="4"
android:padding="@dimen/all_padding"
android:singleLine="true"
android:text="全部会员"
android:textColor="@color/black"
android:textSize="@dimen/et_textsize"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<TextView
android:id="@+id/tv_item_select"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/red_border_thr"
android:gravity="center"
android:maxEms="4"
android:maxLength="4"
android:padding="@dimen/all_padding"
android:singleLine="true"
android:text="全部会员"
android:textColor="@color/red_guanyu"
android:textSize="@dimen/et_textsize"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
</LinearLayout>
</layout>
......@@ -28,28 +28,44 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
<!--<TextView-->
<!--android:id="@+id/tv_title"-->
<!--android:layout_width="0dp"-->
<!--android:layout_height="wrap_content"-->
<!--android:layout_centerInParent="true"-->
<!--android:gravity="center"-->
<!--android:text="订单记录"-->
<!--android:textColor="@color/black_baozheng"-->
<!--android:textSize="@dimen/text_secondary_title"-->
<!--app:layout_constraintBottom_toBottomOf="parent"-->
<!--app:layout_constraintEnd_toStartOf="@id/iv_right"-->
<!--app:layout_constraintStart_toEndOf="@id/iv_back"-->
<!--app:layout_constraintTop_toTopOf="parent" />-->
<EditText
android:id="@+id/tv_title"
style="@style/searchBarEditor"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center"
android:text="订单记录"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/text_secondary_title"
android:layout_height="match_parent"
android:inputType="number"
android:textColor="@color/black_likui"
android:textColorHint="@color/gray_huanggai"
android:textSize="@dimen/all_text_size"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/iv_right"
app:layout_constraintStart_toEndOf="@id/iv_back"
app:layout_constraintTop_toTopOf="parent" />
app:layout_constraintTop_toTopOf="parent"
app:layout_goneMarginRight="@dimen/all_padding" />
<ImageButton
android:id="@+id/iv_right"
android:layout_width="?attr/actionBarSize"
android:layout_height="match_parent"
android:background="@color/transparent"
android:src="@mipmap/scan_bg"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />
</android.support.constraint.ConstraintLayout>
</layout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<layout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/tv_empty"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawablePadding="@dimen/all_margin"
android:drawableTop="@mipmap/nong"
android:layout_height="match_parent"
android:gravity="center"
android:lineSpacingExtra="@dimen/all_padding"
android:textColor="@color/gray_huanggai"
android:textSize="@dimen/all_text_size" />
android:orientation="vertical">
<TextView
android:id="@+id/tv_empty"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawablePadding="@dimen/all_margin"
android:drawableTop="@mipmap/nong"
android:gravity="center"
android:lineSpacingExtra="@dimen/all_padding"
android:textColor="@color/gray_huanggai"
android:textSize="@dimen/all_text_size" />
</LinearLayout>
\ No newline at end of file
</LinearLayout>
</layout>
\ No newline at end of file
......@@ -29,6 +29,7 @@
<!--PADDING-->
<dimen name="padding_big">24dp</dimen>
<dimen name="padding_medium">16dp</dimen>
<dimen name="padding_small">8dp</dimen>
<!--EditText 边框粗细-->
<dimen name="edit_border">0.5dp</dimen>
<!--一级标题-->
......@@ -167,6 +168,7 @@
<dimen name="vip_message_view_height_big">110dp</dimen>
<dimen name="vip_message_item_spacing">8dp</dimen>
<integer name="vip_message_item_span_count">4</integer>
<!--积分规则-->
<dimen name="cl_padding">40dp</dimen>
......@@ -174,6 +176,7 @@
<dimen name="fragment_detail_padding_end">50dp</dimen>
<!--优惠券-->
<dimen name="et_text_mini">13sp</dimen>
<dimen name="ticker_vip_three_item_spacing">12dp</dimen>
<!--商品组合-->
<dimen name="image_margin">30dp</dimen>
<dimen name="textview_width">75dp</dimen>
......
......@@ -568,10 +568,13 @@
<!--<string name="handover_vip">储值卡收款</string>-->
<!--统计POS-->
<string name="statistics_hint">统计</string>
<string name="statistics_menu_order">订单</string>
<string name="statistics_menu_ms">营销</string>
<string name="statistics_todayAmt_hint">今日销售额</string>
<string name="statistics_todayOrder_hint">今日订单数</string>
<string name="statistics_todayRecharge_hint">今日充值</string>
<string name="statistics_todayVipAdd_hint">今日新增会员</string>
<string name="statistics_search_empty">没有查询到订单~</string>
</resources>
......@@ -125,7 +125,7 @@
<style name="dialog_title">
<item name="android:background">@color/white</item>
<item name="android:textSize">@dimen/dialog_title_text_size</item>
<item name="android:textSize">@dimen/big_text_size</item>
<item name="android:textColor">@color/black</item>
<item name="android:gravity">center</item>
<item name="android:padding">@dimen/dialog_padding</item>
......
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