Commit 3df961ab authored by 陈前's avatar 陈前

查询订单~~分组

parent 7061a8a5
......@@ -19,7 +19,7 @@
android:configChanges="keyboard|orientation|screenSize|keyboardHidden"
android:label="@string/main_title"
android:launchMode="singleTask"
android:windowSoftInputMode="adjustUnspecified|stateHidden"/>
android:windowSoftInputMode="adjustUnspecified|stateHidden" />
<activity
android:name=".ui.splash.SplashActivity"
android:configChanges="keyboard|orientation|screenSize|keyboardHidden"
......
package com.xingdata.zzdpos.model;
import android.provider.MediaStore;
import android.support.annotation.Nullable;
import android.util.ArrayMap;
import com.alibaba.fastjson.annotation.JSONField;
import com.chad.library.adapter.base.entity.SectionEntity;
import com.xingdata.api.print.entity.BaseGoodPrint;
import com.xingdata.api.print.entity.BaseOrderPrint;
import com.xingdata.zzdpos.C;
......@@ -20,9 +22,21 @@ import java.util.Map;
/**
* 订单
*/
public class Saleorder implements BaseModel, BaseBean, BaseOrderPrint {
public class Saleorder extends SectionEntity<MediaStore.Video> implements BaseModel, BaseBean, BaseOrderPrint {
public Saleorder(boolean isHeader, String header) {
super(isHeader, header);
}
public Saleorder(MediaStore.Video video) {
super(video);
}
public Saleorder() {
super(false, "");
}
/**
* 获取参数对象
*
......
......@@ -4,6 +4,7 @@ package com.xingdata.zzdpos.ui.statistics;
import android.view.KeyEvent;
import com.blankj.utilcode.util.FragmentUtils;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity;
import com.xingdata.zzdpos.databinding.ActivityStatisticsBinding;
......@@ -11,13 +12,13 @@ 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;
import com.xingdata.zzdpos.ui.statistics.fragment.StatisticsTitleFragment;
public class StatisticsActivity extends BaseActivity<StatisticsPresenter, ActivityStatisticsBinding> implements StatisticsContract.View {
private StatisticsFragment mStatisticsFragment = new StatisticsFragment();
private OrderMainFragment mOrderMainFragment = new OrderMainFragment();
private StatisticsTitleFragment mStatisticsTitleFragment = new StatisticsTitleFragment();
@Override
public int getLayoutId() {
return R.layout.activity_statistics;
......@@ -31,9 +32,20 @@ public class StatisticsActivity extends BaseActivity<StatisticsPresenter, Activi
@Override
public void showOrderListFragment() {
FragmentUtils.add(getSupportFragmentManager(), mOrderMainFragment, mViewBinding.fragmentContainer.getId(), false, true);
mStatisticsTitleFragment.setTitle(C.MENU.MENU_STATISTICS_ORDER);
FragmentUtils.add(getSupportFragmentManager(), mStatisticsTitleFragment, mViewBinding.fragmentContainer.getId(), false, true);
}
@Override
public void showMStFragment() {
mStatisticsTitleFragment.setTitle(C.MENU.MENU_STATISTICS_MS);
FragmentUtils.add(getSupportFragmentManager(), mStatisticsTitleFragment, mViewBinding.fragmentContainer.getId(), false, true);
}
@Override
public void searchSuc(Pager<Saleorder> saleorderPager,String wd) {
mStatisticsTitleFragment.searchSuc(saleorderPager, wd);
}
@Override
......
......@@ -18,10 +18,23 @@ public interface StatisticsContract {
*/
void showOrderListFragment();
/**
* 跳转营销页
*/
void showMStFragment();
/**
* 搜索成功
*/
void searchSuc(Pager<Saleorder> saleorderPager,String wd);
}
abstract class Presenter extends BasePresenter<View> {
/**
* 跳转营销页
*/
public abstract void clickMs();
/**
* 跳转订单列表页
*/
......@@ -33,6 +46,10 @@ public interface StatisticsContract {
*/
public abstract void getOrderList(int pageNumber, int pageSize, long startDate, long endDate, OrderListFragment orderListFragment);
/**
* 搜索订单列表
*/
public abstract void getSaleOrderList(String orderNo, int pageNumber,String wd);
/**
* 获取统计详情
......
......@@ -22,6 +22,11 @@ public class StatisticsPresenter extends StatisticsContract.Presenter {
}
@Override
public void clickMs() {
mView.showMStFragment();
}
@Override
public void clickOrderList() {
mView.showOrderListFragment();
......@@ -55,4 +60,22 @@ public class StatisticsPresenter extends StatisticsContract.Presenter {
public void getOrderList(int pageNumber, long startDate, long endDate, OrderListFragment fragment) {
getOrderList(pageNumber, pageSize, startDate, endDate, fragment);
}
/**
* 状态,0:已完成,1:退货,7赊账,99:全部订单
*
* @param orderNo 订单号
*/
@Override
public void getSaleOrderList(String orderNo, int pageNumber, String wd) {
ApiFactory.Test.getSaleOrderList(pageNumber, pageSize, "99", orderNo, wd)
.subscribe(saleorderPager -> {
//判断是否能加载更多
mView.searchSuc(saleorderPager,wd);
}, throwable -> {
ToastUtils.showShort(throwable.getMessage());
});
}
}
package com.xingdata.zzdpos.ui.statistics.adapter;
import android.support.v7.widget.RecyclerView;
import com.chad.library.adapter.base.BaseSectionQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.xingdata.zzdpos.model.Saleorder;
import java.util.List;
/**
* Created by Administrator on 2017/12/26.
*/
public class StatisticsGroupAdapter extends BaseSectionQuickAdapter<Saleorder, BaseViewHolder> {
public StatisticsGroupAdapter(int layoutResId, int sectionHeadResId, List<Saleorder> data) {
super(layoutResId, sectionHeadResId, data);
}
@Override
protected void convertHead(com.chad.library.adapter.base.BaseViewHolder helper, Saleorder item) {
}
@Override
protected void convert(BaseViewHolder helper, Saleorder item) {
}
}
\ No newline at end of file
......@@ -54,13 +54,8 @@ public class OrderMainFragment extends BaseFragment<MainPresenter, FragmentOrder
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();
}
});
month = calendar.get(Calendar.MONTH) + 1;
initViewPager();
......@@ -148,5 +143,4 @@ public class OrderMainFragment extends BaseFragment<MainPresenter, FragmentOrder
}
}
}
package com.xingdata.zzdpos.ui.statistics.fragment;
import android.support.v7.widget.LinearLayoutManager;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentOrderSearchBinding;
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 java.util.ArrayList;
import java.util.List;
public class OrderSearchFragment extends BaseFragment<StatisticsPresenter, FragmentOrderSearchBinding> {
private StatisticsAdapter mStatisticsAdapter;
private Pager<Saleorder> saleorders;
private int pagerNum = 1;
private String wd = "";
@Override
public int getLayoutId() {
return R.layout.fragment_order_search;
}
@Override
public void initView() {
if (mStatisticsAdapter == null) {
mStatisticsAdapter = new StatisticsAdapter(new ArrayList<>());
mViewBinding.statisticsRecycler.setLayoutManager(new LinearLayoutManager(getActivity()));
mViewBinding.statisticsRecycler.setAdapter(mStatisticsAdapter);
} else {
mViewBinding.statisticsRecycler.setLayoutManager(new LinearLayoutManager(getActivity()));
mViewBinding.statisticsRecycler.setAdapter(mStatisticsAdapter);
}
mViewBinding.srlProduct.setOnRefreshListener(this::onRefresh);
mStatisticsAdapter.setOnLoadMoreListener(this::onLoadMore, mViewBinding.statisticsRecycler);
if (saleorders != null) {
setData(saleorders,saleorders.isFirstPage());
}
}
private void onRefresh() {
pagerNum = 1;
mPresenter.getSaleOrderList(null, pagerNum, wd);
}
private void onLoadMore() {
pagerNum++;
mPresenter.getSaleOrderList(null, pagerNum, wd);
}
/**
* 设置数据
*
* @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();
}
public void setCreateDate(Pager<Saleorder> list,String wd) {
this.saleorders = list;
this.wd=wd;
}
}
......@@ -56,7 +56,7 @@ public class StatisticsFragment extends BaseFragment<StatisticsPresenter, Fragme
mPresenter.clickOrderList();
break;
case C.MENU.MENU_STATISTICS_MS://营销
mPresenter.clickMs();
break;
}
......
package com.xingdata.zzdpos.ui.statistics.fragment;
import android.support.v4.app.Fragment;
import android.view.KeyEvent;
import android.view.View;
import com.blankj.utilcode.util.FragmentUtils;
import com.blankj.utilcode.util.TimeUtils;
import com.blankj.utilcode.util.ToastUtils;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentOrderMainBinding;
import com.xingdata.zzdpos.databinding.FragmentStatisticsTitleBinding;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Saleorder;
import com.xingdata.zzdpos.ui.main.MainPresenter;
import com.xingdata.zzdpos.ui.statistics.StatisticsPresenter;
import com.xingdata.zzdpos.ui.statistics.adapter.FragmentStateAdapter;
import com.xingdata.zzdpos.util.OnClickListener;
import com.xingdata.zzdpos.util.StringUtil;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import io.reactivex.Observable;
import io.reactivex.ObservableEmitter;
import io.reactivex.ObservableOnSubscribe;
import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.functions.Function;
import io.reactivex.schedulers.Schedulers;
public class StatisticsTitleFragment extends BaseFragment<StatisticsPresenter, FragmentStatisticsTitleBinding> {
private int fragmentMenu;
private OrderMainFragment mOrderMainFragment = new OrderMainFragment();
private OrderSearchFragment mOrderSearchFragment = new OrderSearchFragment();
@Override
public int getLayoutId() {
return R.layout.fragment_statistics_title;
}
@Override
public void initView() {
switch (fragmentMenu) {
case C.MENU.MENU_STATISTICS_ORDER:
FragmentUtils.add(getChildFragmentManager(), mOrderMainFragment, mViewBinding.mainFrame.getId(), false, true);
mViewBinding.icTitle.edTitle.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean b) {
if (b) {
if (mViewBinding.viewStub.isInflated()) {
mViewBinding.viewStub.getRoot().setVisibility(View.VISIBLE);
} else {
mViewBinding.viewStub.getViewStub().inflate();
}
} else {
mViewBinding.viewStub.getRoot().setVisibility(View.GONE);
}
}
});
mViewBinding.icTitle.edTitle.setOnKeyListener((v, keyCode, event) -> {
if (keyCode == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_UP) {
mPresenter.getSaleOrderList(null, 1, mViewBinding.icTitle.edTitle.getText().toString());
hideSoftInput();
}
return false;
});
break;
case C.MENU.MENU_STATISTICS_MS:
mViewBinding.icTitle.edTitle.setVisibility(View.GONE);
mViewBinding.icTitle.tvTitle.setText(R.string.menu_ms);
mViewBinding.icTitle.tvTitle.setVisibility(View.VISIBLE);
break;
}
mViewBinding.icTitle.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
pop();
}
});
}
public void setTitle(int c) {
fragmentMenu = c;
}
public void searchSuc(Pager<Saleorder> saleorderPager, String wd) {
if (!mOrderSearchFragment.isAdded()) {
mOrderSearchFragment.setCreateDate(saleorderPager, wd);
FragmentUtils.add(getChildFragmentManager(), mOrderSearchFragment, mViewBinding.mainFrame.getId(), false, true);
} else {
mOrderSearchFragment.setData(saleorderPager, saleorderPager.isFirstPage());
}
}
@Override
public boolean onBackPressedSupport() {
if (mViewBinding.icTitle.edTitle.isFocused()) {
mViewBinding.icTitle.edTitle.clearFocus();
return true;
}
return false;
}
}
......@@ -17,19 +17,12 @@
app:layout_constraintGuide_percent="0.38" />
<include
android:id="@+id/ic_title"
layout="@layout/title_order"
android:elevation="@dimen/view_line_L1"
app:layout_constraintTop_toTopOf="parent" />
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="30dp"
android:elevation="@dimen/view_line_L1"
app:layout_constraintTop_toBottomOf="@id/ic_title"
app:layout_constraintTop_toTopOf="parent"
app:tabIndicatorHeight="0dp"
app:tabMinWidth="100dp"
app:tabMode="scrollable"
......
<layout>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/gray_zhouyu"
tools:context="com.example.administrator.tangkupos.CasherFragment">
<!-- TODO: Update blank fragmfragment_integral_indexyout -->
<LinearLayout
android:id="@+id/ll_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="left"
android:padding="@dimen/all_padding"
/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="right"
android:padding="@dimen/all_padding"
android:visibility="invisible" />
</LinearLayout>
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/srl_product"
android:layout_width="0dp"
android:layout_height="0dp"
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:id="@+id/statistics_recycler"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v7.widget.RecyclerView>
</android.support.v4.widget.SwipeRefreshLayout>
</android.support.constraint.ConstraintLayout>
</layout>
\ No newline at end of file
<layout>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/gray_zhouyu"
tools:context="com.example.administrator.tangkupos.CasherFragment">
<!-- TODO: Update blank fragmfragment_integral_indexyout -->
<android.support.constraint.Guideline
android:id="@+id/guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.38" />
<include
android:id="@+id/ic_title"
layout="@layout/title_order"
app:layout_constraintTop_toTopOf="parent" />
<FrameLayout
android:id="@+id/main_frame"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/ic_title">
</FrameLayout>
<ViewStub
android:id="@+id/view_stub"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout="@layout/view_search_paytype"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/ic_title" />
</android.support.constraint.ConstraintLayout>
</layout>
\ No newline at end of file
......@@ -33,7 +33,7 @@
android:layout_centerInParent="true"
android:text="标题"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/text_secondary_title"/>
android:textSize="@dimen/big_text_size"/>
</RelativeLayout>
......
......@@ -34,7 +34,7 @@
android:layout_centerInParent="true"
android:text="标题"
android:textColor="@color/white"
android:textSize="@dimen/text_secondary_title"
android:textSize="@dimen/big_text_size"
/>
......
......@@ -43,10 +43,11 @@
<!--app:layout_constraintTop_toTopOf="parent" />-->
<EditText
android:id="@+id/tv_title"
android:id="@+id/ed_title"
style="@style/searchBarEditor"
android:layout_width="0dp"
android:layout_height="match_parent"
android:hint="@string/statistics_order_edit_hint"
android:inputType="number"
android:textColor="@color/black_likui"
android:textColorHint="@color/gray_huanggai"
......@@ -57,6 +58,21 @@
app:layout_constraintTop_toTopOf="parent"
app:layout_goneMarginRight="@dimen/all_padding" />
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/big_text_size"
android:visibility="gone"
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_goneMarginRight="?attr/actionBarSize" />
<ImageButton
android:id="@+id/iv_right"
android:layout_width="?attr/actionBarSize"
......
<?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:background="@color/gray_zhouyu"
android:orientation="vertical">
<TableLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:shrinkColumns="1,2,3">
<TextView
android:id="@+id/tv_empty"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/all_padding"
android:text="按支付方式搜索" />
<TableRow>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_4"
android:layout_marginStart="@dimen/all_padding"
android:layout_weight="1"
android:background="@color/red_diaochan"
android:padding="@dimen/all_padding"
android:src="@mipmap/pay_cash" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_4"
android:layout_marginStart="@dimen/dp_4"
android:layout_weight="1"
android:background="@color/blue_yuefei"
android:padding="@dimen/all_padding"
android:src="@mipmap/pay_alipay" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/all_padding"
android:layout_marginStart="@dimen/dp_4"
android:layout_weight="1"
android:background="@color/green_kongrun"
android:padding="@dimen/all_padding"
android:src="@mipmap/pay_wechat" />
</TableRow>
<TableRow>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_4"
android:layout_marginStart="@dimen/all_padding"
android:layout_marginTop="@dimen/all_margin"
android:layout_weight="1"
android:background="@color/cyan_liubei"
android:padding="@dimen/all_padding"
android:src="@mipmap/pay_card" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_4"
android:layout_marginStart="@dimen/dp_4"
android:layout_marginTop="@dimen/all_margin"
android:layout_weight="1"
android:background="@color/yellow_huangxin"
android:padding="@dimen/all_padding"
android:src="@mipmap/pay_membershipcard" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/all_padding"
android:layout_marginStart="@dimen/dp_4"
android:layout_marginTop="@dimen/all_margin"
android:layout_weight="1"
android:background="@color/purple_yanqing"
android:padding="@dimen/all_padding"
android:src="@mipmap/pay_credit" />
</TableRow>
</TableLayout>
</LinearLayout>
</layout>
\ No newline at end of file
......@@ -154,4 +154,5 @@
<color name="purple_yanqing">#6590e6</color>
</resources>
......@@ -568,6 +568,8 @@
<string name="statistics_todayRecharge_hint">今日充值</string>
<string name="statistics_todayVipAdd_hint">今日新增会员</string>
<string name="statistics_search_empty">没有查询到订单~</string>
<string name="statistics_order_edit_hint">请输入单号</string>
</resources>
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