Commit dbc38ad5 authored by 陈前's avatar 陈前

统计

parent 90ab1f01
...@@ -139,7 +139,7 @@ public class LoginActivity extends BaseActivity<LoginPresenter, ActivityLoginBin ...@@ -139,7 +139,7 @@ public class LoginActivity extends BaseActivity<LoginPresenter, ActivityLoginBin
promptDialog.dismiss(); promptDialog.dismiss();
//如果sn已经绑定款台,则直接跳转主页 //如果sn已经绑定款台,则直接跳转主页
if (loginReturnBean.getBindSN()) { if (loginReturnBean.getBindSN()) {
startActivity(new Intent(LoginActivity.this, ReturnTicketActivity.class)); startActivity(new Intent(LoginActivity.this, MainActivity.class));
LoginActivity.this.finish(); LoginActivity.this.finish();
return; return;
} }
......
package com.xingdata.zzdpos.ui.statistics.adapter;
import android.os.Parcelable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.app.FragmentStatePagerAdapter;
import java.util.List;
/**
* Created by Administrator on 2017/12/20.
*/
public class FragmentStateAdapter extends FragmentStatePagerAdapter {
private List<Fragment> fragmentList;
public FragmentStateAdapter(List<Fragment> fragmentList, FragmentManager fm) {
super(fm);
this.fragmentList = fragmentList;
}
@Override
public Fragment getItem(int position) {
return fragmentList.get(position);
}
@Override
public int getCount() {
return fragmentList.size();
}
@Override
public Parcelable saveState() {
return null;
}
}
package com.xingdata.zzdpos.ui.statistics.fragment; package com.xingdata.zzdpos.ui.statistics.fragment;
import com.blankj.utilcode.util.TimeUtils;
import com.xingdata.zzdpos.R; import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment; import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentOrderListBinding; import com.xingdata.zzdpos.databinding.FragmentOrderListBinding;
...@@ -8,12 +9,22 @@ import com.xingdata.zzdpos.databinding.FragmentOrderMainBinding; ...@@ -8,12 +9,22 @@ import com.xingdata.zzdpos.databinding.FragmentOrderMainBinding;
import com.xingdata.zzdpos.ui.main.MainPresenter; import com.xingdata.zzdpos.ui.main.MainPresenter;
import com.xingdata.zzdpos.ui.main.adapter.MenuRecyclerAdapter; import com.xingdata.zzdpos.ui.main.adapter.MenuRecyclerAdapter;
import java.util.Calendar;
import java.util.List; import java.util.List;
public class OrderListFragment extends BaseFragment<MainPresenter, FragmentOrderListBinding> { public class OrderListFragment extends BaseFragment<MainPresenter, FragmentOrderListBinding> {
private MenuRecyclerAdapter mMenuRecyclerAdapter; private MenuRecyclerAdapter mMenuRecyclerAdapter;
private List<Integer> integers; private List<Integer> integers;
private Long monthDateStart;
private Long monthDateEnd;
public OrderListFragment setDate(Long end, Long start) {
monthDateStart = start;
monthDateEnd = end;
return this;
}
@Override @Override
public int getLayoutId() { public int getLayoutId() {
...@@ -22,6 +33,19 @@ public class OrderListFragment extends BaseFragment<MainPresenter, FragmentOrder ...@@ -22,6 +33,19 @@ public class OrderListFragment extends BaseFragment<MainPresenter, FragmentOrder
@Override @Override
public void initView() { public void initView() {
Calendar calendar = Calendar.getInstance();
//获得当前时间的月份,月份从0开始所以结果要加1
int monthNow = calendar.get(Calendar.MONTH) + 1;
calendar.setTimeInMillis(monthDateStart);
int monthStart = calendar.get(Calendar.MONTH) + 1;
if (monthStart == monthNow) {
mViewBinding.setMonth("本月");
} else {
mViewBinding.setMonth(monthStart + "月");
}
mViewBinding.setAmt("收入:¥230.00");
// mViewBinding.icTitle.setOnClickListener(new OnClickListener() { // mViewBinding.icTitle.setOnClickListener(new OnClickListener() {
// @Override // @Override
// protected void myOnClickListener(View v) { // protected void myOnClickListener(View v) {
...@@ -65,4 +89,6 @@ public class OrderListFragment extends BaseFragment<MainPresenter, FragmentOrder ...@@ -65,4 +89,6 @@ public class OrderListFragment extends BaseFragment<MainPresenter, FragmentOrder
} }
} }
package com.xingdata.zzdpos.ui.statistics.fragment; package com.xingdata.zzdpos.ui.statistics.fragment;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment; import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import com.blankj.utilcode.util.FragmentUtils; import com.blankj.utilcode.util.TimeUtils;
import com.blankj.utilcode.util.ToastUtils;
import com.xingdata.zzdpos.R; import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment; import com.xingdata.zzdpos.base.BaseFragment;
...@@ -13,19 +13,34 @@ import com.xingdata.zzdpos.databinding.FragmentOrderMainBinding; ...@@ -13,19 +13,34 @@ import com.xingdata.zzdpos.databinding.FragmentOrderMainBinding;
import com.xingdata.zzdpos.ui.main.MainPresenter; import com.xingdata.zzdpos.ui.main.MainPresenter;
import com.xingdata.zzdpos.ui.main.adapter.FragmentViewAdapter; import com.xingdata.zzdpos.ui.main.adapter.FragmentViewAdapter;
import com.xingdata.zzdpos.ui.main.adapter.MenuRecyclerAdapter;
import com.xingdata.zzdpos.ui.main.fragment.CasherFragment;
import com.xingdata.zzdpos.ui.main.fragment.MyselfFragment;
import com.xingdata.zzdpos.ui.main.fragment.ServiceFragment; import com.xingdata.zzdpos.ui.main.fragment.ServiceFragment;
import com.xingdata.zzdpos.ui.statistics.adapter.FragmentStateAdapter;
import com.xingdata.zzdpos.util.StringUtil;
import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar;
import java.util.List; import java.util.List;
import io.reactivex.Observable;
import io.reactivex.ObservableEmitter;
import io.reactivex.ObservableOnSubscribe;
import io.reactivex.Observer;
import io.reactivex.Scheduler;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.functions.Consumer;
import io.reactivex.functions.Function;
import io.reactivex.schedulers.Schedulers;
public class OrderMainFragment extends BaseFragment<MainPresenter, FragmentOrderMainBinding> { public class OrderMainFragment extends BaseFragment<MainPresenter, FragmentOrderMainBinding> {
private FragmentViewAdapter mFragmentPagerAdapter; private FragmentStateAdapter mFragmentStateAdapter;
private List<Long> dateLongs = new ArrayList<>();
private List<Fragment> fragments = new ArrayList<>();
private int month;
@Override @Override
public int getLayoutId() { public int getLayoutId() {
...@@ -35,16 +50,7 @@ public class OrderMainFragment extends BaseFragment<MainPresenter, FragmentOrder ...@@ -35,16 +50,7 @@ public class OrderMainFragment extends BaseFragment<MainPresenter, FragmentOrder
@Override @Override
public void initView() { public void initView() {
List<Fragment> fragments = new ArrayList<>(); initViewPager();
fragments.add(new OrderListFragment());
fragments.add(new OrderListFragment());
fragments.add(new OrderListFragment());
mFragmentPagerAdapter = new FragmentViewAdapter(fragments, getFragmentManager());
mViewBinding.viewPagerData.setAdapter(mFragmentPagerAdapter);
mViewBinding.tabLayout.setupWithViewPager(mViewBinding.viewPagerData);
// mViewBinding.icTitle.setOnClickListener(new OnClickListener() { // mViewBinding.icTitle.setOnClickListener(new OnClickListener() {
// @Override // @Override
// protected void myOnClickListener(View v) { // protected void myOnClickListener(View v) {
...@@ -89,6 +95,86 @@ public class OrderMainFragment extends BaseFragment<MainPresenter, FragmentOrder ...@@ -89,6 +95,86 @@ public class OrderMainFragment extends BaseFragment<MainPresenter, FragmentOrder
} }
public void initViewPager() {
if (fragments.size() == 0) {
Observable.create(new ObservableOnSubscribe<String>() {
@Override
public void subscribe(ObservableEmitter<String> e) throws Exception {
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++) {
if (m == 0) {
m = 12;
y--;
}
if (m == 13) {
m = 1;
y++;
}
String month = String.valueOf(m).length() >= 2 ? String.valueOf(m) : "0" + String.valueOf(m);
e.onNext(y + "-" + month + "-01");
m--;
}
e.onComplete();
}
}).subscribeOn(Schedulers.computation()).map(new Function<String, Long>() {
@Override
public Long apply(String s) throws Exception {
return TimeUtils.string2Millis(s, new SimpleDateFormat(StringUtil.defaultDatePattern));
}
}).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer<Long>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(Long aLong) {
dateLongs.add(aLong);
}
@Override
public void onError(Throwable e) {
ToastUtils.showShort(e.toString());
}
@Override
public void onComplete() {
for (int i = 0; i < dateLongs.size() - 1; i++) {
fragments.add(new OrderListFragment().setDate(dateLongs.get(i), dateLongs.get(i + 1)));
}
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 + "");
month--;
}
}
});
} else {
mFragmentStateAdapter = new FragmentStateAdapter(fragments, getChildFragmentManager());
mViewBinding.viewPagerData.setAdapter(mFragmentStateAdapter);
mViewBinding.tabLayout.setupWithViewPager(mViewBinding.viewPagerData);
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 @Override
public void onStop() { public void onStop() {
super.onStop(); super.onStop();
......
<layout> <layout>
<data>
<variable
name="month"
type="String" />
<variable
name="amt"
type="String" />
</data>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@color/red_guanyu" android:background="@color/gray_zhouyu"
tools:context="com.example.administrator.tangkupos.CasherFragment"> tools:context="com.example.administrator.tangkupos.CasherFragment">
<!-- TODO: Update blank fragmfragment_integral_indexyout --> <!-- TODO: Update blank fragmfragment_integral_indexyout -->
...@@ -16,11 +27,43 @@ ...@@ -16,11 +27,43 @@
android:orientation="horizontal" android:orientation="horizontal"
app:layout_constraintGuide_percent="0.38" /> app:layout_constraintGuide_percent="0.38" />
<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"
android:text="@{month}" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="right"
android:padding="@dimen/all_padding"
android:text="@{amt}" />
</LinearLayout>
<android.support.v7.widget.RecyclerView
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.constraint.ConstraintLayout> </android.support.constraint.ConstraintLayout>
</layout> </layout>
\ No newline at end of file
...@@ -20,68 +20,23 @@ ...@@ -20,68 +20,23 @@
<include <include
android:id="@+id/ic_title" android:id="@+id/ic_title"
layout="@layout/title_order" layout="@layout/title_order"
android:elevation="@dimen/view_line_L1"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<android.support.design.widget.TabLayout <android.support.design.widget.TabLayout
android:id="@+id/tab_layout" android:id="@+id/tab_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="30dp"
android:elevation="@dimen/view_line_L1"
app:layout_constraintTop_toBottomOf="@id/ic_title" app:layout_constraintTop_toBottomOf="@id/ic_title"
app:tabIndicatorHeight="0dp" app:tabIndicatorHeight="0dp"
app:tabMinWidth="100dp"
app:tabMode="scrollable" app:tabMode="scrollable"
app:tabTextColor="@color/gray_kongming" app:tabSelectedTextColor="#ff7a61"
app:tabSelectedTextColor="#ff7a61"> app:tabTextColor="@color/gray_kongming">
<android.support.design.widget.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="12月" />
<android.support.design.widget.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="12月" />
<android.support.design.widget.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="12月" />
<android.support.design.widget.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="12月" />
<android.support.design.widget.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="12月" />
<android.support.design.widget.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="12月" />
<android.support.design.widget.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="12月" />
<android.support.design.widget.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="12月" />
<android.support.design.widget.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="12月" />
<android.support.design.widget.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="12月" />
</android.support.design.widget.TabLayout> </android.support.design.widget.TabLayout>
<android.support.v4.view.ViewPager <android.support.v4.view.ViewPager
...@@ -92,8 +47,7 @@ ...@@ -92,8 +47,7 @@
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tab_layout" app:layout_constraintTop_toBottomOf="@id/tab_layout">
>
</android.support.v4.view.ViewPager> </android.support.v4.view.ViewPager>
......
...@@ -5,16 +5,15 @@ ...@@ -5,16 +5,15 @@
<variable <variable
name="onClickListener" name="onClickListener"
type="com.xingdata.zzdpos.util.OnClickListener"/> type="com.xingdata.zzdpos.util.OnClickListener" />
</data> </data>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize" android:layout_height="?attr/actionBarSize"
android:background="@drawable/singleline_white_gray" android:background="@color/white_caocao">
>
<ImageButton <ImageButton
...@@ -24,32 +23,33 @@ ...@@ -24,32 +23,33 @@
android:background="@color/transparent" android:background="@color/transparent"
android:onClick="@{onClickListener}" android:onClick="@{onClickListener}"
android:padding="@dimen/all_margin" android:padding="@dimen/all_margin"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
android:src="@mipmap/back_black" android:src="@mipmap/back_black"
/> app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText <TextView
android:id="@+id/tv_title" android:id="@+id/tv_title"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerInParent="true" android:layout_centerInParent="true"
android:gravity="center"
android:text="订单记录"
android:textColor="@color/black_baozheng" android:textColor="@color/black_baozheng"
android:textSize="@dimen/text_secondary_title" 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_constraintStart_toEndOf="@id/iv_back"
app:layout_constraintEnd_toStartOf="@id/iv_right"/> app:layout_constraintTop_toTopOf="parent" />
<ImageButton <ImageButton
android:id="@+id/iv_right" android:id="@+id/iv_right"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_width="?attr/actionBarSize" android:layout_width="?attr/actionBarSize"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@color/transparent" android:background="@color/transparent"
android:onClick="@{onClickListener}" android:src="@mipmap/scan_bg"
android:padding="@dimen/all_margin" app:layout_constraintBottom_toBottomOf="parent"
android:src="@mipmap/ic_fail"/> app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout> </android.support.constraint.ConstraintLayout>
</layout> </layout>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment