diff --git a/.idea/misc.xml b/.idea/misc.xml
index 687c4c4..9c582b0 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -33,6 +33,7 @@
+
@@ -40,6 +41,7 @@
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 687c4c4..9c582b0 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -33,6 +33,7 @@
+
@@ -40,6 +41,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index ed1a0d3..41f20d8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -83,7 +83,7 @@
-
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 687c4c4..9c582b0 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -33,6 +33,7 @@
+
@@ -40,6 +41,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index ed1a0d3..41f20d8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -83,7 +83,7 @@
-
+
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleanResultListActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleanResultListActivity.java
deleted file mode 100644
index 969426e..0000000
--- a/app/src/main/java/com/casic/dcms/mvvm/view/CleanResultListActivity.java
+++ /dev/null
@@ -1,199 +0,0 @@
-package com.casic.dcms.mvvm.view;
-
-import android.content.Context;
-import android.content.Intent;
-import android.os.Handler;
-import android.text.TextUtils;
-import android.view.View;
-
-import androidx.annotation.NonNull;
-import androidx.core.content.ContextCompat;
-import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
-
-import com.casic.dcms.R;
-import com.casic.dcms.adapter.RecordListAdapter;
-import com.casic.dcms.databinding.ActivityCleanListBinding;
-import com.casic.dcms.mvvm.model.CleanRecordBean;
-import com.casic.dcms.mvvm.vm.ToiletViewModel;
-import com.casic.dcms.utils.CalendarUtil;
-import com.casic.dcms.utils.OtherUtils;
-import com.casic.dcms.utils.StringHelper;
-import com.casic.dcms.widgets.datepicker.DatePopupWindow;
-import com.gyf.immersionbar.ImmersionBar;
-import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
-import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
-import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
-import com.pengxh.androidx.lite.vm.LoadState;
-import com.pengxh.androidx.lite.widget.EasyToast;
-import com.scwang.smartrefresh.layout.api.RefreshLayout;
-import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
-import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class CleanResultListActivity extends AndroidxBaseActivity {
-
- private final Context context = CleanResultListActivity.this;
- private ToiletViewModel toiletViewModel;
- private List dataBeans = new ArrayList<>();
- private RecordListAdapter adapter;
- private WeakReferenceHandler weakReferenceHandler;
- private int pageIndex = 1;
- private String start;
- private String end;
- private boolean isRefresh = false;
- private boolean isLoadMore = false;
- private int startGroup = -1;
- private int endGroup = -1;
- private int startChild = -1;
- private int endChild = -1;
-
- @Override
- protected void setupTopBarLayout() {
- ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor));
- ImmersionBar.with(this).statusBarDarkFont(false).init();
-
- viewBinding.titleBarLayout.titleView.setText("保洁作业记录");
- viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
- }
-
- @Override
- protected void initData() {
- weakReferenceHandler = new WeakReferenceHandler(callback);
- toiletViewModel = new ViewModelProvider(this).get(ToiletViewModel.class);
- toiletViewModel.obtainCleanRecordList(StringHelper.getUserBean().getId(), "", "", "", pageIndex);
- }
-
- @Override
- protected void initEvent() {
- viewBinding.calendarView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- new DatePopupWindow.Builder(CleanResultListActivity.this, CalendarUtil.obtainLastTwoMonth(), view)
- .setInitSelect(startGroup, startChild, endGroup, endChild) //设置上一次选中的区间状态
- .setInitDay(true) //默认为true,UI内容为共几天、开始、结束;当为false时,UI内容为共几晚、入住、离开
- .setDateOnClickListener(new DatePopupWindow.DateOnClickListener() {
- @Override
- public void getDate(String startDate, String endDate, int startGroupPosition, int startChildPosition, int endGroupPosition, int endChildPosition) {
- start = startDate;
- end = endDate;
-
- startGroup = startGroupPosition; //开始月份位置
- startChild = startChildPosition; //开始对应月份中日的位置
- endGroup = endGroupPosition; //结束月份位置
- endChild = endChildPosition; //结束对应月份中日的位置
- viewBinding.dateView.setText(startDate + "~" + endDate);
- obtainCleanRecordList();
- }
- }).builder();
- }
- });
- viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
- @Override
- public void onRefresh(@NonNull RefreshLayout refreshLayout) {
- isRefresh = true;
- //刷新之后页码重置
- pageIndex = 1;
- obtainCleanRecordList();
- }
- });
- viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
- @Override
- public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
- isLoadMore = true;
- pageIndex++;
- obtainCleanRecordList();
- }
- });
-
- toiletViewModel.cleanRecordModel.observe(this, new Observer() {
- @Override
- public void onChanged(CleanRecordBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataRows = resultBean.getData().getRows();
- if (isRefresh) {
- dataBeans.clear(); //下拉刷新必须先清空之前的List,不然会出现数据重复的问题
- dataBeans = dataRows;
- viewBinding.refreshLayout.finishRefresh();
- isRefresh = false;
- } else if (isLoadMore) {
- if (dataRows.size() == 0) {
- EasyToast.show(context, "到底了,别拉了");
- }
- dataBeans.addAll(dataRows);
- viewBinding.refreshLayout.finishLoadMore();
- isLoadMore = false;
- } else {
- dataBeans = dataRows;
- }
- //更新RecyclerView
- weakReferenceHandler.sendEmptyMessage(20210601);
- }
- }
- });
-
- toiletViewModel.loadState.observe(this, new Observer() {
- @Override
- public void onChanged(LoadState loadState) {
- if (loadState == LoadState.Loading) {
- OtherUtils.showLoadingDialog(context, "查询记录中,请稍后");
- } else {
- OtherUtils.dismissLoadingDialog();
- }
- }
- });
- }
-
- private void obtainCleanRecordList() {
- toiletViewModel.obtainCleanRecordList(StringHelper.getUserBean().getId(), "", start, end, pageIndex);
- }
-
- private final Handler.Callback callback = msg -> {
- if (msg.what == 20210601) {
- if (isRefresh || isLoadMore) {
- adapter.notifyDataSetChanged();
- } else {
- //首次加载数据
- if (dataBeans.size() == 0) {
- viewBinding.emptyView.show(false, "抱歉,没有查到您的保洁工作记录", null, "刷新", new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- pageIndex = 1;
- obtainCleanRecordList();
- }
- });
- } else {
- viewBinding.emptyView.hide();
- adapter = new RecordListAdapter(context, dataBeans);
- viewBinding.recordRecyclerView.setAdapter(adapter);
- adapter.setOnItemClickListener(new RecordListAdapter.OnItemClickListener() {
- @Override
- public void onClick(int position) {
- CleanRecordBean.DataBean.RowsBean rowsBean = dataBeans.get(position);
- Intent intent = new Intent(context, WorkerOnMapActivity.class);
- intent.putExtra("userName", rowsBean.getUserName());
- intent.putExtra("createTime", rowsBean.getCreateTime());
- intent.putExtra("toiletName", rowsBean.getToiletName());
- String dataLng = rowsBean.getLng();
- if (TextUtils.isEmpty(dataLng)) {
- EasyToast.show(context, "经度异常");
- return;
- }
- intent.putExtra("lng", Double.parseDouble(dataLng));
- String dataLat = rowsBean.getLat();
- if (TextUtils.isEmpty(dataLat)) {
- EasyToast.show(context, "经度异常");
- return;
- }
- intent.putExtra("lat", Double.parseDouble(dataLat));
- startActivity(intent);
- }
- });
- }
- }
- }
- return true;
- };
-}
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 687c4c4..9c582b0 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -33,6 +33,7 @@
+
@@ -40,6 +41,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index ed1a0d3..41f20d8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -83,7 +83,7 @@
-
+
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleanResultListActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleanResultListActivity.java
deleted file mode 100644
index 969426e..0000000
--- a/app/src/main/java/com/casic/dcms/mvvm/view/CleanResultListActivity.java
+++ /dev/null
@@ -1,199 +0,0 @@
-package com.casic.dcms.mvvm.view;
-
-import android.content.Context;
-import android.content.Intent;
-import android.os.Handler;
-import android.text.TextUtils;
-import android.view.View;
-
-import androidx.annotation.NonNull;
-import androidx.core.content.ContextCompat;
-import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
-
-import com.casic.dcms.R;
-import com.casic.dcms.adapter.RecordListAdapter;
-import com.casic.dcms.databinding.ActivityCleanListBinding;
-import com.casic.dcms.mvvm.model.CleanRecordBean;
-import com.casic.dcms.mvvm.vm.ToiletViewModel;
-import com.casic.dcms.utils.CalendarUtil;
-import com.casic.dcms.utils.OtherUtils;
-import com.casic.dcms.utils.StringHelper;
-import com.casic.dcms.widgets.datepicker.DatePopupWindow;
-import com.gyf.immersionbar.ImmersionBar;
-import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
-import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
-import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
-import com.pengxh.androidx.lite.vm.LoadState;
-import com.pengxh.androidx.lite.widget.EasyToast;
-import com.scwang.smartrefresh.layout.api.RefreshLayout;
-import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
-import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class CleanResultListActivity extends AndroidxBaseActivity {
-
- private final Context context = CleanResultListActivity.this;
- private ToiletViewModel toiletViewModel;
- private List dataBeans = new ArrayList<>();
- private RecordListAdapter adapter;
- private WeakReferenceHandler weakReferenceHandler;
- private int pageIndex = 1;
- private String start;
- private String end;
- private boolean isRefresh = false;
- private boolean isLoadMore = false;
- private int startGroup = -1;
- private int endGroup = -1;
- private int startChild = -1;
- private int endChild = -1;
-
- @Override
- protected void setupTopBarLayout() {
- ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor));
- ImmersionBar.with(this).statusBarDarkFont(false).init();
-
- viewBinding.titleBarLayout.titleView.setText("保洁作业记录");
- viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
- }
-
- @Override
- protected void initData() {
- weakReferenceHandler = new WeakReferenceHandler(callback);
- toiletViewModel = new ViewModelProvider(this).get(ToiletViewModel.class);
- toiletViewModel.obtainCleanRecordList(StringHelper.getUserBean().getId(), "", "", "", pageIndex);
- }
-
- @Override
- protected void initEvent() {
- viewBinding.calendarView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- new DatePopupWindow.Builder(CleanResultListActivity.this, CalendarUtil.obtainLastTwoMonth(), view)
- .setInitSelect(startGroup, startChild, endGroup, endChild) //设置上一次选中的区间状态
- .setInitDay(true) //默认为true,UI内容为共几天、开始、结束;当为false时,UI内容为共几晚、入住、离开
- .setDateOnClickListener(new DatePopupWindow.DateOnClickListener() {
- @Override
- public void getDate(String startDate, String endDate, int startGroupPosition, int startChildPosition, int endGroupPosition, int endChildPosition) {
- start = startDate;
- end = endDate;
-
- startGroup = startGroupPosition; //开始月份位置
- startChild = startChildPosition; //开始对应月份中日的位置
- endGroup = endGroupPosition; //结束月份位置
- endChild = endChildPosition; //结束对应月份中日的位置
- viewBinding.dateView.setText(startDate + "~" + endDate);
- obtainCleanRecordList();
- }
- }).builder();
- }
- });
- viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
- @Override
- public void onRefresh(@NonNull RefreshLayout refreshLayout) {
- isRefresh = true;
- //刷新之后页码重置
- pageIndex = 1;
- obtainCleanRecordList();
- }
- });
- viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
- @Override
- public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
- isLoadMore = true;
- pageIndex++;
- obtainCleanRecordList();
- }
- });
-
- toiletViewModel.cleanRecordModel.observe(this, new Observer() {
- @Override
- public void onChanged(CleanRecordBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataRows = resultBean.getData().getRows();
- if (isRefresh) {
- dataBeans.clear(); //下拉刷新必须先清空之前的List,不然会出现数据重复的问题
- dataBeans = dataRows;
- viewBinding.refreshLayout.finishRefresh();
- isRefresh = false;
- } else if (isLoadMore) {
- if (dataRows.size() == 0) {
- EasyToast.show(context, "到底了,别拉了");
- }
- dataBeans.addAll(dataRows);
- viewBinding.refreshLayout.finishLoadMore();
- isLoadMore = false;
- } else {
- dataBeans = dataRows;
- }
- //更新RecyclerView
- weakReferenceHandler.sendEmptyMessage(20210601);
- }
- }
- });
-
- toiletViewModel.loadState.observe(this, new Observer() {
- @Override
- public void onChanged(LoadState loadState) {
- if (loadState == LoadState.Loading) {
- OtherUtils.showLoadingDialog(context, "查询记录中,请稍后");
- } else {
- OtherUtils.dismissLoadingDialog();
- }
- }
- });
- }
-
- private void obtainCleanRecordList() {
- toiletViewModel.obtainCleanRecordList(StringHelper.getUserBean().getId(), "", start, end, pageIndex);
- }
-
- private final Handler.Callback callback = msg -> {
- if (msg.what == 20210601) {
- if (isRefresh || isLoadMore) {
- adapter.notifyDataSetChanged();
- } else {
- //首次加载数据
- if (dataBeans.size() == 0) {
- viewBinding.emptyView.show(false, "抱歉,没有查到您的保洁工作记录", null, "刷新", new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- pageIndex = 1;
- obtainCleanRecordList();
- }
- });
- } else {
- viewBinding.emptyView.hide();
- adapter = new RecordListAdapter(context, dataBeans);
- viewBinding.recordRecyclerView.setAdapter(adapter);
- adapter.setOnItemClickListener(new RecordListAdapter.OnItemClickListener() {
- @Override
- public void onClick(int position) {
- CleanRecordBean.DataBean.RowsBean rowsBean = dataBeans.get(position);
- Intent intent = new Intent(context, WorkerOnMapActivity.class);
- intent.putExtra("userName", rowsBean.getUserName());
- intent.putExtra("createTime", rowsBean.getCreateTime());
- intent.putExtra("toiletName", rowsBean.getToiletName());
- String dataLng = rowsBean.getLng();
- if (TextUtils.isEmpty(dataLng)) {
- EasyToast.show(context, "经度异常");
- return;
- }
- intent.putExtra("lng", Double.parseDouble(dataLng));
- String dataLat = rowsBean.getLat();
- if (TextUtils.isEmpty(dataLat)) {
- EasyToast.show(context, "经度异常");
- return;
- }
- intent.putExtra("lat", Double.parseDouble(dataLat));
- startActivity(intent);
- }
- });
- }
- }
- }
- return true;
- };
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java
new file mode 100644
index 0000000..0a0eec0
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java
@@ -0,0 +1,199 @@
+package com.casic.dcms.mvvm.view;
+
+import android.content.Context;
+import android.content.Intent;
+import android.os.Handler;
+import android.text.TextUtils;
+import android.view.View;
+
+import androidx.annotation.NonNull;
+import androidx.core.content.ContextCompat;
+import androidx.lifecycle.Observer;
+import androidx.lifecycle.ViewModelProvider;
+
+import com.casic.dcms.R;
+import com.casic.dcms.adapter.RecordListAdapter;
+import com.casic.dcms.databinding.ActivityCleanRecordsBinding;
+import com.casic.dcms.mvvm.model.CleanRecordBean;
+import com.casic.dcms.mvvm.vm.ToiletViewModel;
+import com.casic.dcms.utils.CalendarUtil;
+import com.casic.dcms.utils.OtherUtils;
+import com.casic.dcms.utils.StringHelper;
+import com.casic.dcms.widgets.datepicker.DatePopupWindow;
+import com.gyf.immersionbar.ImmersionBar;
+import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
+import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
+import com.pengxh.androidx.lite.vm.LoadState;
+import com.pengxh.androidx.lite.widget.EasyToast;
+import com.scwang.smartrefresh.layout.api.RefreshLayout;
+import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
+import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class CleaningRecordsActivity extends AndroidxBaseActivity {
+
+ private final Context context = CleaningRecordsActivity.this;
+ private ToiletViewModel toiletViewModel;
+ private List dataBeans = new ArrayList<>();
+ private RecordListAdapter adapter;
+ private WeakReferenceHandler weakReferenceHandler;
+ private int pageIndex = 1;
+ private String start;
+ private String end;
+ private boolean isRefresh = false;
+ private boolean isLoadMore = false;
+ private int startGroup = -1;
+ private int endGroup = -1;
+ private int startChild = -1;
+ private int endChild = -1;
+
+ @Override
+ protected void setupTopBarLayout() {
+ ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor));
+ ImmersionBar.with(this).statusBarDarkFont(false).init();
+
+ viewBinding.titleBarLayout.titleView.setText("保洁作业记录");
+ viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ }
+
+ @Override
+ protected void initData() {
+ weakReferenceHandler = new WeakReferenceHandler(callback);
+ toiletViewModel = new ViewModelProvider(this).get(ToiletViewModel.class);
+ toiletViewModel.obtainCleanRecordList(StringHelper.getUserBean().getId(), "", "", "", pageIndex);
+ }
+
+ @Override
+ protected void initEvent() {
+ viewBinding.calendarView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ new DatePopupWindow.Builder(CleaningRecordsActivity.this, CalendarUtil.obtainLastTwoMonth(), view)
+ .setInitSelect(startGroup, startChild, endGroup, endChild) //设置上一次选中的区间状态
+ .setInitDay(true) //默认为true,UI内容为共几天、开始、结束;当为false时,UI内容为共几晚、入住、离开
+ .setDateOnClickListener(new DatePopupWindow.DateOnClickListener() {
+ @Override
+ public void getDate(String startDate, String endDate, int startGroupPosition, int startChildPosition, int endGroupPosition, int endChildPosition) {
+ start = startDate;
+ end = endDate;
+
+ startGroup = startGroupPosition; //开始月份位置
+ startChild = startChildPosition; //开始对应月份中日的位置
+ endGroup = endGroupPosition; //结束月份位置
+ endChild = endChildPosition; //结束对应月份中日的位置
+ viewBinding.dateView.setText(startDate + "~" + endDate);
+ obtainCleanRecordList();
+ }
+ }).builder();
+ }
+ });
+ viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
+ @Override
+ public void onRefresh(@NonNull RefreshLayout refreshLayout) {
+ isRefresh = true;
+ //刷新之后页码重置
+ pageIndex = 1;
+ obtainCleanRecordList();
+ }
+ });
+ viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
+ @Override
+ public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
+ isLoadMore = true;
+ pageIndex++;
+ obtainCleanRecordList();
+ }
+ });
+
+ toiletViewModel.cleanRecordModel.observe(this, new Observer() {
+ @Override
+ public void onChanged(CleanRecordBean resultBean) {
+ if (resultBean.getCode() == 200) {
+ List dataRows = resultBean.getData().getRows();
+ if (isRefresh) {
+ dataBeans.clear(); //下拉刷新必须先清空之前的List,不然会出现数据重复的问题
+ dataBeans = dataRows;
+ viewBinding.refreshLayout.finishRefresh();
+ isRefresh = false;
+ } else if (isLoadMore) {
+ if (dataRows.size() == 0) {
+ EasyToast.show(context, "到底了,别拉了");
+ }
+ dataBeans.addAll(dataRows);
+ viewBinding.refreshLayout.finishLoadMore();
+ isLoadMore = false;
+ } else {
+ dataBeans = dataRows;
+ }
+ //更新RecyclerView
+ weakReferenceHandler.sendEmptyMessage(20210601);
+ }
+ }
+ });
+
+ toiletViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "查询记录中,请稍后");
+ } else {
+ OtherUtils.dismissLoadingDialog();
+ }
+ }
+ });
+ }
+
+ private void obtainCleanRecordList() {
+ toiletViewModel.obtainCleanRecordList(StringHelper.getUserBean().getId(), "", start, end, pageIndex);
+ }
+
+ private final Handler.Callback callback = msg -> {
+ if (msg.what == 20210601) {
+ if (isRefresh || isLoadMore) {
+ adapter.notifyDataSetChanged();
+ } else {
+ //首次加载数据
+ if (dataBeans.size() == 0) {
+ viewBinding.emptyView.show(false, "抱歉,没有查到您的保洁工作记录", null, "刷新", new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ pageIndex = 1;
+ obtainCleanRecordList();
+ }
+ });
+ } else {
+ viewBinding.emptyView.hide();
+ adapter = new RecordListAdapter(context, dataBeans);
+ viewBinding.recordRecyclerView.setAdapter(adapter);
+ adapter.setOnItemClickListener(new RecordListAdapter.OnItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ CleanRecordBean.DataBean.RowsBean rowsBean = dataBeans.get(position);
+ Intent intent = new Intent(context, WorkerOnMapActivity.class);
+ intent.putExtra("userName", rowsBean.getUserName());
+ intent.putExtra("createTime", rowsBean.getCreateTime());
+ intent.putExtra("toiletName", rowsBean.getToiletName());
+ String dataLng = rowsBean.getLng();
+ if (TextUtils.isEmpty(dataLng)) {
+ EasyToast.show(context, "经度异常");
+ return;
+ }
+ intent.putExtra("lng", Double.parseDouble(dataLng));
+ String dataLat = rowsBean.getLat();
+ if (TextUtils.isEmpty(dataLat)) {
+ EasyToast.show(context, "经度异常");
+ return;
+ }
+ intent.putExtra("lat", Double.parseDouble(dataLat));
+ startActivity(intent);
+ }
+ });
+ }
+ }
+ }
+ return true;
+ };
+}
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 687c4c4..9c582b0 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -33,6 +33,7 @@
+
@@ -40,6 +41,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index ed1a0d3..41f20d8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -83,7 +83,7 @@
-
+
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleanResultListActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleanResultListActivity.java
deleted file mode 100644
index 969426e..0000000
--- a/app/src/main/java/com/casic/dcms/mvvm/view/CleanResultListActivity.java
+++ /dev/null
@@ -1,199 +0,0 @@
-package com.casic.dcms.mvvm.view;
-
-import android.content.Context;
-import android.content.Intent;
-import android.os.Handler;
-import android.text.TextUtils;
-import android.view.View;
-
-import androidx.annotation.NonNull;
-import androidx.core.content.ContextCompat;
-import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
-
-import com.casic.dcms.R;
-import com.casic.dcms.adapter.RecordListAdapter;
-import com.casic.dcms.databinding.ActivityCleanListBinding;
-import com.casic.dcms.mvvm.model.CleanRecordBean;
-import com.casic.dcms.mvvm.vm.ToiletViewModel;
-import com.casic.dcms.utils.CalendarUtil;
-import com.casic.dcms.utils.OtherUtils;
-import com.casic.dcms.utils.StringHelper;
-import com.casic.dcms.widgets.datepicker.DatePopupWindow;
-import com.gyf.immersionbar.ImmersionBar;
-import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
-import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
-import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
-import com.pengxh.androidx.lite.vm.LoadState;
-import com.pengxh.androidx.lite.widget.EasyToast;
-import com.scwang.smartrefresh.layout.api.RefreshLayout;
-import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
-import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class CleanResultListActivity extends AndroidxBaseActivity {
-
- private final Context context = CleanResultListActivity.this;
- private ToiletViewModel toiletViewModel;
- private List dataBeans = new ArrayList<>();
- private RecordListAdapter adapter;
- private WeakReferenceHandler weakReferenceHandler;
- private int pageIndex = 1;
- private String start;
- private String end;
- private boolean isRefresh = false;
- private boolean isLoadMore = false;
- private int startGroup = -1;
- private int endGroup = -1;
- private int startChild = -1;
- private int endChild = -1;
-
- @Override
- protected void setupTopBarLayout() {
- ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor));
- ImmersionBar.with(this).statusBarDarkFont(false).init();
-
- viewBinding.titleBarLayout.titleView.setText("保洁作业记录");
- viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
- }
-
- @Override
- protected void initData() {
- weakReferenceHandler = new WeakReferenceHandler(callback);
- toiletViewModel = new ViewModelProvider(this).get(ToiletViewModel.class);
- toiletViewModel.obtainCleanRecordList(StringHelper.getUserBean().getId(), "", "", "", pageIndex);
- }
-
- @Override
- protected void initEvent() {
- viewBinding.calendarView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- new DatePopupWindow.Builder(CleanResultListActivity.this, CalendarUtil.obtainLastTwoMonth(), view)
- .setInitSelect(startGroup, startChild, endGroup, endChild) //设置上一次选中的区间状态
- .setInitDay(true) //默认为true,UI内容为共几天、开始、结束;当为false时,UI内容为共几晚、入住、离开
- .setDateOnClickListener(new DatePopupWindow.DateOnClickListener() {
- @Override
- public void getDate(String startDate, String endDate, int startGroupPosition, int startChildPosition, int endGroupPosition, int endChildPosition) {
- start = startDate;
- end = endDate;
-
- startGroup = startGroupPosition; //开始月份位置
- startChild = startChildPosition; //开始对应月份中日的位置
- endGroup = endGroupPosition; //结束月份位置
- endChild = endChildPosition; //结束对应月份中日的位置
- viewBinding.dateView.setText(startDate + "~" + endDate);
- obtainCleanRecordList();
- }
- }).builder();
- }
- });
- viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
- @Override
- public void onRefresh(@NonNull RefreshLayout refreshLayout) {
- isRefresh = true;
- //刷新之后页码重置
- pageIndex = 1;
- obtainCleanRecordList();
- }
- });
- viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
- @Override
- public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
- isLoadMore = true;
- pageIndex++;
- obtainCleanRecordList();
- }
- });
-
- toiletViewModel.cleanRecordModel.observe(this, new Observer() {
- @Override
- public void onChanged(CleanRecordBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataRows = resultBean.getData().getRows();
- if (isRefresh) {
- dataBeans.clear(); //下拉刷新必须先清空之前的List,不然会出现数据重复的问题
- dataBeans = dataRows;
- viewBinding.refreshLayout.finishRefresh();
- isRefresh = false;
- } else if (isLoadMore) {
- if (dataRows.size() == 0) {
- EasyToast.show(context, "到底了,别拉了");
- }
- dataBeans.addAll(dataRows);
- viewBinding.refreshLayout.finishLoadMore();
- isLoadMore = false;
- } else {
- dataBeans = dataRows;
- }
- //更新RecyclerView
- weakReferenceHandler.sendEmptyMessage(20210601);
- }
- }
- });
-
- toiletViewModel.loadState.observe(this, new Observer() {
- @Override
- public void onChanged(LoadState loadState) {
- if (loadState == LoadState.Loading) {
- OtherUtils.showLoadingDialog(context, "查询记录中,请稍后");
- } else {
- OtherUtils.dismissLoadingDialog();
- }
- }
- });
- }
-
- private void obtainCleanRecordList() {
- toiletViewModel.obtainCleanRecordList(StringHelper.getUserBean().getId(), "", start, end, pageIndex);
- }
-
- private final Handler.Callback callback = msg -> {
- if (msg.what == 20210601) {
- if (isRefresh || isLoadMore) {
- adapter.notifyDataSetChanged();
- } else {
- //首次加载数据
- if (dataBeans.size() == 0) {
- viewBinding.emptyView.show(false, "抱歉,没有查到您的保洁工作记录", null, "刷新", new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- pageIndex = 1;
- obtainCleanRecordList();
- }
- });
- } else {
- viewBinding.emptyView.hide();
- adapter = new RecordListAdapter(context, dataBeans);
- viewBinding.recordRecyclerView.setAdapter(adapter);
- adapter.setOnItemClickListener(new RecordListAdapter.OnItemClickListener() {
- @Override
- public void onClick(int position) {
- CleanRecordBean.DataBean.RowsBean rowsBean = dataBeans.get(position);
- Intent intent = new Intent(context, WorkerOnMapActivity.class);
- intent.putExtra("userName", rowsBean.getUserName());
- intent.putExtra("createTime", rowsBean.getCreateTime());
- intent.putExtra("toiletName", rowsBean.getToiletName());
- String dataLng = rowsBean.getLng();
- if (TextUtils.isEmpty(dataLng)) {
- EasyToast.show(context, "经度异常");
- return;
- }
- intent.putExtra("lng", Double.parseDouble(dataLng));
- String dataLat = rowsBean.getLat();
- if (TextUtils.isEmpty(dataLat)) {
- EasyToast.show(context, "经度异常");
- return;
- }
- intent.putExtra("lat", Double.parseDouble(dataLat));
- startActivity(intent);
- }
- });
- }
- }
- }
- return true;
- };
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java
new file mode 100644
index 0000000..0a0eec0
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java
@@ -0,0 +1,199 @@
+package com.casic.dcms.mvvm.view;
+
+import android.content.Context;
+import android.content.Intent;
+import android.os.Handler;
+import android.text.TextUtils;
+import android.view.View;
+
+import androidx.annotation.NonNull;
+import androidx.core.content.ContextCompat;
+import androidx.lifecycle.Observer;
+import androidx.lifecycle.ViewModelProvider;
+
+import com.casic.dcms.R;
+import com.casic.dcms.adapter.RecordListAdapter;
+import com.casic.dcms.databinding.ActivityCleanRecordsBinding;
+import com.casic.dcms.mvvm.model.CleanRecordBean;
+import com.casic.dcms.mvvm.vm.ToiletViewModel;
+import com.casic.dcms.utils.CalendarUtil;
+import com.casic.dcms.utils.OtherUtils;
+import com.casic.dcms.utils.StringHelper;
+import com.casic.dcms.widgets.datepicker.DatePopupWindow;
+import com.gyf.immersionbar.ImmersionBar;
+import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
+import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
+import com.pengxh.androidx.lite.vm.LoadState;
+import com.pengxh.androidx.lite.widget.EasyToast;
+import com.scwang.smartrefresh.layout.api.RefreshLayout;
+import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
+import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class CleaningRecordsActivity extends AndroidxBaseActivity {
+
+ private final Context context = CleaningRecordsActivity.this;
+ private ToiletViewModel toiletViewModel;
+ private List dataBeans = new ArrayList<>();
+ private RecordListAdapter adapter;
+ private WeakReferenceHandler weakReferenceHandler;
+ private int pageIndex = 1;
+ private String start;
+ private String end;
+ private boolean isRefresh = false;
+ private boolean isLoadMore = false;
+ private int startGroup = -1;
+ private int endGroup = -1;
+ private int startChild = -1;
+ private int endChild = -1;
+
+ @Override
+ protected void setupTopBarLayout() {
+ ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor));
+ ImmersionBar.with(this).statusBarDarkFont(false).init();
+
+ viewBinding.titleBarLayout.titleView.setText("保洁作业记录");
+ viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ }
+
+ @Override
+ protected void initData() {
+ weakReferenceHandler = new WeakReferenceHandler(callback);
+ toiletViewModel = new ViewModelProvider(this).get(ToiletViewModel.class);
+ toiletViewModel.obtainCleanRecordList(StringHelper.getUserBean().getId(), "", "", "", pageIndex);
+ }
+
+ @Override
+ protected void initEvent() {
+ viewBinding.calendarView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ new DatePopupWindow.Builder(CleaningRecordsActivity.this, CalendarUtil.obtainLastTwoMonth(), view)
+ .setInitSelect(startGroup, startChild, endGroup, endChild) //设置上一次选中的区间状态
+ .setInitDay(true) //默认为true,UI内容为共几天、开始、结束;当为false时,UI内容为共几晚、入住、离开
+ .setDateOnClickListener(new DatePopupWindow.DateOnClickListener() {
+ @Override
+ public void getDate(String startDate, String endDate, int startGroupPosition, int startChildPosition, int endGroupPosition, int endChildPosition) {
+ start = startDate;
+ end = endDate;
+
+ startGroup = startGroupPosition; //开始月份位置
+ startChild = startChildPosition; //开始对应月份中日的位置
+ endGroup = endGroupPosition; //结束月份位置
+ endChild = endChildPosition; //结束对应月份中日的位置
+ viewBinding.dateView.setText(startDate + "~" + endDate);
+ obtainCleanRecordList();
+ }
+ }).builder();
+ }
+ });
+ viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
+ @Override
+ public void onRefresh(@NonNull RefreshLayout refreshLayout) {
+ isRefresh = true;
+ //刷新之后页码重置
+ pageIndex = 1;
+ obtainCleanRecordList();
+ }
+ });
+ viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
+ @Override
+ public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
+ isLoadMore = true;
+ pageIndex++;
+ obtainCleanRecordList();
+ }
+ });
+
+ toiletViewModel.cleanRecordModel.observe(this, new Observer() {
+ @Override
+ public void onChanged(CleanRecordBean resultBean) {
+ if (resultBean.getCode() == 200) {
+ List dataRows = resultBean.getData().getRows();
+ if (isRefresh) {
+ dataBeans.clear(); //下拉刷新必须先清空之前的List,不然会出现数据重复的问题
+ dataBeans = dataRows;
+ viewBinding.refreshLayout.finishRefresh();
+ isRefresh = false;
+ } else if (isLoadMore) {
+ if (dataRows.size() == 0) {
+ EasyToast.show(context, "到底了,别拉了");
+ }
+ dataBeans.addAll(dataRows);
+ viewBinding.refreshLayout.finishLoadMore();
+ isLoadMore = false;
+ } else {
+ dataBeans = dataRows;
+ }
+ //更新RecyclerView
+ weakReferenceHandler.sendEmptyMessage(20210601);
+ }
+ }
+ });
+
+ toiletViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "查询记录中,请稍后");
+ } else {
+ OtherUtils.dismissLoadingDialog();
+ }
+ }
+ });
+ }
+
+ private void obtainCleanRecordList() {
+ toiletViewModel.obtainCleanRecordList(StringHelper.getUserBean().getId(), "", start, end, pageIndex);
+ }
+
+ private final Handler.Callback callback = msg -> {
+ if (msg.what == 20210601) {
+ if (isRefresh || isLoadMore) {
+ adapter.notifyDataSetChanged();
+ } else {
+ //首次加载数据
+ if (dataBeans.size() == 0) {
+ viewBinding.emptyView.show(false, "抱歉,没有查到您的保洁工作记录", null, "刷新", new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ pageIndex = 1;
+ obtainCleanRecordList();
+ }
+ });
+ } else {
+ viewBinding.emptyView.hide();
+ adapter = new RecordListAdapter(context, dataBeans);
+ viewBinding.recordRecyclerView.setAdapter(adapter);
+ adapter.setOnItemClickListener(new RecordListAdapter.OnItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ CleanRecordBean.DataBean.RowsBean rowsBean = dataBeans.get(position);
+ Intent intent = new Intent(context, WorkerOnMapActivity.class);
+ intent.putExtra("userName", rowsBean.getUserName());
+ intent.putExtra("createTime", rowsBean.getCreateTime());
+ intent.putExtra("toiletName", rowsBean.getToiletName());
+ String dataLng = rowsBean.getLng();
+ if (TextUtils.isEmpty(dataLng)) {
+ EasyToast.show(context, "经度异常");
+ return;
+ }
+ intent.putExtra("lng", Double.parseDouble(dataLng));
+ String dataLat = rowsBean.getLat();
+ if (TextUtils.isEmpty(dataLat)) {
+ EasyToast.show(context, "经度异常");
+ return;
+ }
+ intent.putExtra("lat", Double.parseDouble(dataLat));
+ startActivity(intent);
+ }
+ });
+ }
+ }
+ }
+ return true;
+ };
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java
index ba4be05..56cf464 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java
@@ -3,8 +3,6 @@
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.drawable.BitmapDrawable;
@@ -51,6 +49,7 @@
import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.entity.LocalMedia;
import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.utils.ContextUtil;
import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
import com.pengxh.androidx.lite.vm.LoadState;
import com.pengxh.androidx.lite.widget.EasyToast;
@@ -76,7 +75,7 @@
viewBinding.titleBarLayout.titleView.setText("公厕保洁");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
- viewBinding.titleBarLayout.rightImageView.setOnClickListener(v -> startActivity(new Intent(context, CleanResultListActivity.class)));
+ viewBinding.titleBarLayout.rightImageView.setOnClickListener(v -> startActivity(new Intent(context, CleaningRecordsActivity.class)));
}
@Override
@@ -307,7 +306,7 @@
toiletViewModel.cleanToiletModel.observe(this, new Observer() {
@Override
public void onChanged(ActionResultBean resultBean) {
- if (resultBean.isSuccess()) {
+ if (resultBean.getCode() == 200) {
new SignInDialog.Builder()
.setContext(context)
.setTitle("保洁保卡成功")
@@ -315,14 +314,13 @@
.setOnDialogClickListener(new SignInDialog.OnDialogClickListener() {
@Override
public void onViewClick() {
- startActivity(new Intent(context, CleanResultListActivity.class));
- PublicToiletActivity.this.finish();
+ ContextUtil.navigatePageTo(context, CleaningRecordsActivity.class);
+ finish();
}
}).build().show();
}
}
});
-
toiletViewModel.loadState.observe(this, new Observer() {
@Override
public void onChanged(LoadState loadState) {
@@ -336,19 +334,20 @@
}
private void addPictureMarker(Point point) {
- Bitmap caseBitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.on_line);
- BitmapDrawable caseDrawable = new BitmapDrawable(getResources(), caseBitmap);
- PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable);
- pictureMarker.setWidth(64);
- pictureMarker.setHeight(42);
- pictureMarker.loadAsync();
+ BitmapDrawable symbolDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.on_line);
+ if (symbolDrawable != null) {
+ PictureMarkerSymbol symbolMarker = new PictureMarkerSymbol(symbolDrawable);
+ symbolMarker.setWidth(64);
+ symbolMarker.setHeight(42);
+ symbolMarker.loadAsync();
- Graphic graphic = new Graphic(point, pictureMarker);
- GraphicsOverlay mGraphicsOverlay = new GraphicsOverlay();
- ListenableList overlayGraphics = mGraphicsOverlay.getGraphics();
- ListenableList graphicsOverlays = viewBinding.mapView.getGraphicsOverlays();
- overlayGraphics.add(graphic);
- graphicsOverlays.add(mGraphicsOverlay);
+ Graphic graphic = new Graphic(point, symbolMarker);
+ GraphicsOverlay mGraphicsOverlay = new GraphicsOverlay();
+ ListenableList overlayGraphics = mGraphicsOverlay.getGraphics();
+ ListenableList graphicsOverlays = viewBinding.mapView.getGraphicsOverlays();
+ overlayGraphics.add(graphic);
+ graphicsOverlays.add(mGraphicsOverlay);
+ }
}
private void showEditDialog(String tag) {
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 687c4c4..9c582b0 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -33,6 +33,7 @@
+
@@ -40,6 +41,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index ed1a0d3..41f20d8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -83,7 +83,7 @@
-
+
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleanResultListActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleanResultListActivity.java
deleted file mode 100644
index 969426e..0000000
--- a/app/src/main/java/com/casic/dcms/mvvm/view/CleanResultListActivity.java
+++ /dev/null
@@ -1,199 +0,0 @@
-package com.casic.dcms.mvvm.view;
-
-import android.content.Context;
-import android.content.Intent;
-import android.os.Handler;
-import android.text.TextUtils;
-import android.view.View;
-
-import androidx.annotation.NonNull;
-import androidx.core.content.ContextCompat;
-import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
-
-import com.casic.dcms.R;
-import com.casic.dcms.adapter.RecordListAdapter;
-import com.casic.dcms.databinding.ActivityCleanListBinding;
-import com.casic.dcms.mvvm.model.CleanRecordBean;
-import com.casic.dcms.mvvm.vm.ToiletViewModel;
-import com.casic.dcms.utils.CalendarUtil;
-import com.casic.dcms.utils.OtherUtils;
-import com.casic.dcms.utils.StringHelper;
-import com.casic.dcms.widgets.datepicker.DatePopupWindow;
-import com.gyf.immersionbar.ImmersionBar;
-import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
-import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
-import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
-import com.pengxh.androidx.lite.vm.LoadState;
-import com.pengxh.androidx.lite.widget.EasyToast;
-import com.scwang.smartrefresh.layout.api.RefreshLayout;
-import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
-import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class CleanResultListActivity extends AndroidxBaseActivity {
-
- private final Context context = CleanResultListActivity.this;
- private ToiletViewModel toiletViewModel;
- private List dataBeans = new ArrayList<>();
- private RecordListAdapter adapter;
- private WeakReferenceHandler weakReferenceHandler;
- private int pageIndex = 1;
- private String start;
- private String end;
- private boolean isRefresh = false;
- private boolean isLoadMore = false;
- private int startGroup = -1;
- private int endGroup = -1;
- private int startChild = -1;
- private int endChild = -1;
-
- @Override
- protected void setupTopBarLayout() {
- ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor));
- ImmersionBar.with(this).statusBarDarkFont(false).init();
-
- viewBinding.titleBarLayout.titleView.setText("保洁作业记录");
- viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
- }
-
- @Override
- protected void initData() {
- weakReferenceHandler = new WeakReferenceHandler(callback);
- toiletViewModel = new ViewModelProvider(this).get(ToiletViewModel.class);
- toiletViewModel.obtainCleanRecordList(StringHelper.getUserBean().getId(), "", "", "", pageIndex);
- }
-
- @Override
- protected void initEvent() {
- viewBinding.calendarView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- new DatePopupWindow.Builder(CleanResultListActivity.this, CalendarUtil.obtainLastTwoMonth(), view)
- .setInitSelect(startGroup, startChild, endGroup, endChild) //设置上一次选中的区间状态
- .setInitDay(true) //默认为true,UI内容为共几天、开始、结束;当为false时,UI内容为共几晚、入住、离开
- .setDateOnClickListener(new DatePopupWindow.DateOnClickListener() {
- @Override
- public void getDate(String startDate, String endDate, int startGroupPosition, int startChildPosition, int endGroupPosition, int endChildPosition) {
- start = startDate;
- end = endDate;
-
- startGroup = startGroupPosition; //开始月份位置
- startChild = startChildPosition; //开始对应月份中日的位置
- endGroup = endGroupPosition; //结束月份位置
- endChild = endChildPosition; //结束对应月份中日的位置
- viewBinding.dateView.setText(startDate + "~" + endDate);
- obtainCleanRecordList();
- }
- }).builder();
- }
- });
- viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
- @Override
- public void onRefresh(@NonNull RefreshLayout refreshLayout) {
- isRefresh = true;
- //刷新之后页码重置
- pageIndex = 1;
- obtainCleanRecordList();
- }
- });
- viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
- @Override
- public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
- isLoadMore = true;
- pageIndex++;
- obtainCleanRecordList();
- }
- });
-
- toiletViewModel.cleanRecordModel.observe(this, new Observer() {
- @Override
- public void onChanged(CleanRecordBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataRows = resultBean.getData().getRows();
- if (isRefresh) {
- dataBeans.clear(); //下拉刷新必须先清空之前的List,不然会出现数据重复的问题
- dataBeans = dataRows;
- viewBinding.refreshLayout.finishRefresh();
- isRefresh = false;
- } else if (isLoadMore) {
- if (dataRows.size() == 0) {
- EasyToast.show(context, "到底了,别拉了");
- }
- dataBeans.addAll(dataRows);
- viewBinding.refreshLayout.finishLoadMore();
- isLoadMore = false;
- } else {
- dataBeans = dataRows;
- }
- //更新RecyclerView
- weakReferenceHandler.sendEmptyMessage(20210601);
- }
- }
- });
-
- toiletViewModel.loadState.observe(this, new Observer() {
- @Override
- public void onChanged(LoadState loadState) {
- if (loadState == LoadState.Loading) {
- OtherUtils.showLoadingDialog(context, "查询记录中,请稍后");
- } else {
- OtherUtils.dismissLoadingDialog();
- }
- }
- });
- }
-
- private void obtainCleanRecordList() {
- toiletViewModel.obtainCleanRecordList(StringHelper.getUserBean().getId(), "", start, end, pageIndex);
- }
-
- private final Handler.Callback callback = msg -> {
- if (msg.what == 20210601) {
- if (isRefresh || isLoadMore) {
- adapter.notifyDataSetChanged();
- } else {
- //首次加载数据
- if (dataBeans.size() == 0) {
- viewBinding.emptyView.show(false, "抱歉,没有查到您的保洁工作记录", null, "刷新", new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- pageIndex = 1;
- obtainCleanRecordList();
- }
- });
- } else {
- viewBinding.emptyView.hide();
- adapter = new RecordListAdapter(context, dataBeans);
- viewBinding.recordRecyclerView.setAdapter(adapter);
- adapter.setOnItemClickListener(new RecordListAdapter.OnItemClickListener() {
- @Override
- public void onClick(int position) {
- CleanRecordBean.DataBean.RowsBean rowsBean = dataBeans.get(position);
- Intent intent = new Intent(context, WorkerOnMapActivity.class);
- intent.putExtra("userName", rowsBean.getUserName());
- intent.putExtra("createTime", rowsBean.getCreateTime());
- intent.putExtra("toiletName", rowsBean.getToiletName());
- String dataLng = rowsBean.getLng();
- if (TextUtils.isEmpty(dataLng)) {
- EasyToast.show(context, "经度异常");
- return;
- }
- intent.putExtra("lng", Double.parseDouble(dataLng));
- String dataLat = rowsBean.getLat();
- if (TextUtils.isEmpty(dataLat)) {
- EasyToast.show(context, "经度异常");
- return;
- }
- intent.putExtra("lat", Double.parseDouble(dataLat));
- startActivity(intent);
- }
- });
- }
- }
- }
- return true;
- };
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java
new file mode 100644
index 0000000..0a0eec0
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java
@@ -0,0 +1,199 @@
+package com.casic.dcms.mvvm.view;
+
+import android.content.Context;
+import android.content.Intent;
+import android.os.Handler;
+import android.text.TextUtils;
+import android.view.View;
+
+import androidx.annotation.NonNull;
+import androidx.core.content.ContextCompat;
+import androidx.lifecycle.Observer;
+import androidx.lifecycle.ViewModelProvider;
+
+import com.casic.dcms.R;
+import com.casic.dcms.adapter.RecordListAdapter;
+import com.casic.dcms.databinding.ActivityCleanRecordsBinding;
+import com.casic.dcms.mvvm.model.CleanRecordBean;
+import com.casic.dcms.mvvm.vm.ToiletViewModel;
+import com.casic.dcms.utils.CalendarUtil;
+import com.casic.dcms.utils.OtherUtils;
+import com.casic.dcms.utils.StringHelper;
+import com.casic.dcms.widgets.datepicker.DatePopupWindow;
+import com.gyf.immersionbar.ImmersionBar;
+import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
+import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
+import com.pengxh.androidx.lite.vm.LoadState;
+import com.pengxh.androidx.lite.widget.EasyToast;
+import com.scwang.smartrefresh.layout.api.RefreshLayout;
+import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
+import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class CleaningRecordsActivity extends AndroidxBaseActivity {
+
+ private final Context context = CleaningRecordsActivity.this;
+ private ToiletViewModel toiletViewModel;
+ private List dataBeans = new ArrayList<>();
+ private RecordListAdapter adapter;
+ private WeakReferenceHandler weakReferenceHandler;
+ private int pageIndex = 1;
+ private String start;
+ private String end;
+ private boolean isRefresh = false;
+ private boolean isLoadMore = false;
+ private int startGroup = -1;
+ private int endGroup = -1;
+ private int startChild = -1;
+ private int endChild = -1;
+
+ @Override
+ protected void setupTopBarLayout() {
+ ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor));
+ ImmersionBar.with(this).statusBarDarkFont(false).init();
+
+ viewBinding.titleBarLayout.titleView.setText("保洁作业记录");
+ viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ }
+
+ @Override
+ protected void initData() {
+ weakReferenceHandler = new WeakReferenceHandler(callback);
+ toiletViewModel = new ViewModelProvider(this).get(ToiletViewModel.class);
+ toiletViewModel.obtainCleanRecordList(StringHelper.getUserBean().getId(), "", "", "", pageIndex);
+ }
+
+ @Override
+ protected void initEvent() {
+ viewBinding.calendarView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ new DatePopupWindow.Builder(CleaningRecordsActivity.this, CalendarUtil.obtainLastTwoMonth(), view)
+ .setInitSelect(startGroup, startChild, endGroup, endChild) //设置上一次选中的区间状态
+ .setInitDay(true) //默认为true,UI内容为共几天、开始、结束;当为false时,UI内容为共几晚、入住、离开
+ .setDateOnClickListener(new DatePopupWindow.DateOnClickListener() {
+ @Override
+ public void getDate(String startDate, String endDate, int startGroupPosition, int startChildPosition, int endGroupPosition, int endChildPosition) {
+ start = startDate;
+ end = endDate;
+
+ startGroup = startGroupPosition; //开始月份位置
+ startChild = startChildPosition; //开始对应月份中日的位置
+ endGroup = endGroupPosition; //结束月份位置
+ endChild = endChildPosition; //结束对应月份中日的位置
+ viewBinding.dateView.setText(startDate + "~" + endDate);
+ obtainCleanRecordList();
+ }
+ }).builder();
+ }
+ });
+ viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
+ @Override
+ public void onRefresh(@NonNull RefreshLayout refreshLayout) {
+ isRefresh = true;
+ //刷新之后页码重置
+ pageIndex = 1;
+ obtainCleanRecordList();
+ }
+ });
+ viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
+ @Override
+ public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
+ isLoadMore = true;
+ pageIndex++;
+ obtainCleanRecordList();
+ }
+ });
+
+ toiletViewModel.cleanRecordModel.observe(this, new Observer() {
+ @Override
+ public void onChanged(CleanRecordBean resultBean) {
+ if (resultBean.getCode() == 200) {
+ List dataRows = resultBean.getData().getRows();
+ if (isRefresh) {
+ dataBeans.clear(); //下拉刷新必须先清空之前的List,不然会出现数据重复的问题
+ dataBeans = dataRows;
+ viewBinding.refreshLayout.finishRefresh();
+ isRefresh = false;
+ } else if (isLoadMore) {
+ if (dataRows.size() == 0) {
+ EasyToast.show(context, "到底了,别拉了");
+ }
+ dataBeans.addAll(dataRows);
+ viewBinding.refreshLayout.finishLoadMore();
+ isLoadMore = false;
+ } else {
+ dataBeans = dataRows;
+ }
+ //更新RecyclerView
+ weakReferenceHandler.sendEmptyMessage(20210601);
+ }
+ }
+ });
+
+ toiletViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "查询记录中,请稍后");
+ } else {
+ OtherUtils.dismissLoadingDialog();
+ }
+ }
+ });
+ }
+
+ private void obtainCleanRecordList() {
+ toiletViewModel.obtainCleanRecordList(StringHelper.getUserBean().getId(), "", start, end, pageIndex);
+ }
+
+ private final Handler.Callback callback = msg -> {
+ if (msg.what == 20210601) {
+ if (isRefresh || isLoadMore) {
+ adapter.notifyDataSetChanged();
+ } else {
+ //首次加载数据
+ if (dataBeans.size() == 0) {
+ viewBinding.emptyView.show(false, "抱歉,没有查到您的保洁工作记录", null, "刷新", new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ pageIndex = 1;
+ obtainCleanRecordList();
+ }
+ });
+ } else {
+ viewBinding.emptyView.hide();
+ adapter = new RecordListAdapter(context, dataBeans);
+ viewBinding.recordRecyclerView.setAdapter(adapter);
+ adapter.setOnItemClickListener(new RecordListAdapter.OnItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ CleanRecordBean.DataBean.RowsBean rowsBean = dataBeans.get(position);
+ Intent intent = new Intent(context, WorkerOnMapActivity.class);
+ intent.putExtra("userName", rowsBean.getUserName());
+ intent.putExtra("createTime", rowsBean.getCreateTime());
+ intent.putExtra("toiletName", rowsBean.getToiletName());
+ String dataLng = rowsBean.getLng();
+ if (TextUtils.isEmpty(dataLng)) {
+ EasyToast.show(context, "经度异常");
+ return;
+ }
+ intent.putExtra("lng", Double.parseDouble(dataLng));
+ String dataLat = rowsBean.getLat();
+ if (TextUtils.isEmpty(dataLat)) {
+ EasyToast.show(context, "经度异常");
+ return;
+ }
+ intent.putExtra("lat", Double.parseDouble(dataLat));
+ startActivity(intent);
+ }
+ });
+ }
+ }
+ }
+ return true;
+ };
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java
index ba4be05..56cf464 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java
@@ -3,8 +3,6 @@
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.drawable.BitmapDrawable;
@@ -51,6 +49,7 @@
import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.entity.LocalMedia;
import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.utils.ContextUtil;
import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
import com.pengxh.androidx.lite.vm.LoadState;
import com.pengxh.androidx.lite.widget.EasyToast;
@@ -76,7 +75,7 @@
viewBinding.titleBarLayout.titleView.setText("公厕保洁");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
- viewBinding.titleBarLayout.rightImageView.setOnClickListener(v -> startActivity(new Intent(context, CleanResultListActivity.class)));
+ viewBinding.titleBarLayout.rightImageView.setOnClickListener(v -> startActivity(new Intent(context, CleaningRecordsActivity.class)));
}
@Override
@@ -307,7 +306,7 @@
toiletViewModel.cleanToiletModel.observe(this, new Observer() {
@Override
public void onChanged(ActionResultBean resultBean) {
- if (resultBean.isSuccess()) {
+ if (resultBean.getCode() == 200) {
new SignInDialog.Builder()
.setContext(context)
.setTitle("保洁保卡成功")
@@ -315,14 +314,13 @@
.setOnDialogClickListener(new SignInDialog.OnDialogClickListener() {
@Override
public void onViewClick() {
- startActivity(new Intent(context, CleanResultListActivity.class));
- PublicToiletActivity.this.finish();
+ ContextUtil.navigatePageTo(context, CleaningRecordsActivity.class);
+ finish();
}
}).build().show();
}
}
});
-
toiletViewModel.loadState.observe(this, new Observer() {
@Override
public void onChanged(LoadState loadState) {
@@ -336,19 +334,20 @@
}
private void addPictureMarker(Point point) {
- Bitmap caseBitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.on_line);
- BitmapDrawable caseDrawable = new BitmapDrawable(getResources(), caseBitmap);
- PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable);
- pictureMarker.setWidth(64);
- pictureMarker.setHeight(42);
- pictureMarker.loadAsync();
+ BitmapDrawable symbolDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.on_line);
+ if (symbolDrawable != null) {
+ PictureMarkerSymbol symbolMarker = new PictureMarkerSymbol(symbolDrawable);
+ symbolMarker.setWidth(64);
+ symbolMarker.setHeight(42);
+ symbolMarker.loadAsync();
- Graphic graphic = new Graphic(point, pictureMarker);
- GraphicsOverlay mGraphicsOverlay = new GraphicsOverlay();
- ListenableList overlayGraphics = mGraphicsOverlay.getGraphics();
- ListenableList graphicsOverlays = viewBinding.mapView.getGraphicsOverlays();
- overlayGraphics.add(graphic);
- graphicsOverlays.add(mGraphicsOverlay);
+ Graphic graphic = new Graphic(point, symbolMarker);
+ GraphicsOverlay mGraphicsOverlay = new GraphicsOverlay();
+ ListenableList overlayGraphics = mGraphicsOverlay.getGraphics();
+ ListenableList graphicsOverlays = viewBinding.mapView.getGraphicsOverlays();
+ overlayGraphics.add(graphic);
+ graphicsOverlays.add(mGraphicsOverlay);
+ }
}
private void showEditDialog(String tag) {
diff --git a/app/src/main/res/layout/activity_clean_list.xml b/app/src/main/res/layout/activity_clean_list.xml
deleted file mode 100644
index cc0e13e..0000000
--- a/app/src/main/res/layout/activity_clean_list.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 687c4c4..9c582b0 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -33,6 +33,7 @@
+
@@ -40,6 +41,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index ed1a0d3..41f20d8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -83,7 +83,7 @@
-
+
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleanResultListActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleanResultListActivity.java
deleted file mode 100644
index 969426e..0000000
--- a/app/src/main/java/com/casic/dcms/mvvm/view/CleanResultListActivity.java
+++ /dev/null
@@ -1,199 +0,0 @@
-package com.casic.dcms.mvvm.view;
-
-import android.content.Context;
-import android.content.Intent;
-import android.os.Handler;
-import android.text.TextUtils;
-import android.view.View;
-
-import androidx.annotation.NonNull;
-import androidx.core.content.ContextCompat;
-import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
-
-import com.casic.dcms.R;
-import com.casic.dcms.adapter.RecordListAdapter;
-import com.casic.dcms.databinding.ActivityCleanListBinding;
-import com.casic.dcms.mvvm.model.CleanRecordBean;
-import com.casic.dcms.mvvm.vm.ToiletViewModel;
-import com.casic.dcms.utils.CalendarUtil;
-import com.casic.dcms.utils.OtherUtils;
-import com.casic.dcms.utils.StringHelper;
-import com.casic.dcms.widgets.datepicker.DatePopupWindow;
-import com.gyf.immersionbar.ImmersionBar;
-import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
-import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
-import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
-import com.pengxh.androidx.lite.vm.LoadState;
-import com.pengxh.androidx.lite.widget.EasyToast;
-import com.scwang.smartrefresh.layout.api.RefreshLayout;
-import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
-import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class CleanResultListActivity extends AndroidxBaseActivity {
-
- private final Context context = CleanResultListActivity.this;
- private ToiletViewModel toiletViewModel;
- private List dataBeans = new ArrayList<>();
- private RecordListAdapter adapter;
- private WeakReferenceHandler weakReferenceHandler;
- private int pageIndex = 1;
- private String start;
- private String end;
- private boolean isRefresh = false;
- private boolean isLoadMore = false;
- private int startGroup = -1;
- private int endGroup = -1;
- private int startChild = -1;
- private int endChild = -1;
-
- @Override
- protected void setupTopBarLayout() {
- ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor));
- ImmersionBar.with(this).statusBarDarkFont(false).init();
-
- viewBinding.titleBarLayout.titleView.setText("保洁作业记录");
- viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
- }
-
- @Override
- protected void initData() {
- weakReferenceHandler = new WeakReferenceHandler(callback);
- toiletViewModel = new ViewModelProvider(this).get(ToiletViewModel.class);
- toiletViewModel.obtainCleanRecordList(StringHelper.getUserBean().getId(), "", "", "", pageIndex);
- }
-
- @Override
- protected void initEvent() {
- viewBinding.calendarView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- new DatePopupWindow.Builder(CleanResultListActivity.this, CalendarUtil.obtainLastTwoMonth(), view)
- .setInitSelect(startGroup, startChild, endGroup, endChild) //设置上一次选中的区间状态
- .setInitDay(true) //默认为true,UI内容为共几天、开始、结束;当为false时,UI内容为共几晚、入住、离开
- .setDateOnClickListener(new DatePopupWindow.DateOnClickListener() {
- @Override
- public void getDate(String startDate, String endDate, int startGroupPosition, int startChildPosition, int endGroupPosition, int endChildPosition) {
- start = startDate;
- end = endDate;
-
- startGroup = startGroupPosition; //开始月份位置
- startChild = startChildPosition; //开始对应月份中日的位置
- endGroup = endGroupPosition; //结束月份位置
- endChild = endChildPosition; //结束对应月份中日的位置
- viewBinding.dateView.setText(startDate + "~" + endDate);
- obtainCleanRecordList();
- }
- }).builder();
- }
- });
- viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
- @Override
- public void onRefresh(@NonNull RefreshLayout refreshLayout) {
- isRefresh = true;
- //刷新之后页码重置
- pageIndex = 1;
- obtainCleanRecordList();
- }
- });
- viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
- @Override
- public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
- isLoadMore = true;
- pageIndex++;
- obtainCleanRecordList();
- }
- });
-
- toiletViewModel.cleanRecordModel.observe(this, new Observer() {
- @Override
- public void onChanged(CleanRecordBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataRows = resultBean.getData().getRows();
- if (isRefresh) {
- dataBeans.clear(); //下拉刷新必须先清空之前的List,不然会出现数据重复的问题
- dataBeans = dataRows;
- viewBinding.refreshLayout.finishRefresh();
- isRefresh = false;
- } else if (isLoadMore) {
- if (dataRows.size() == 0) {
- EasyToast.show(context, "到底了,别拉了");
- }
- dataBeans.addAll(dataRows);
- viewBinding.refreshLayout.finishLoadMore();
- isLoadMore = false;
- } else {
- dataBeans = dataRows;
- }
- //更新RecyclerView
- weakReferenceHandler.sendEmptyMessage(20210601);
- }
- }
- });
-
- toiletViewModel.loadState.observe(this, new Observer() {
- @Override
- public void onChanged(LoadState loadState) {
- if (loadState == LoadState.Loading) {
- OtherUtils.showLoadingDialog(context, "查询记录中,请稍后");
- } else {
- OtherUtils.dismissLoadingDialog();
- }
- }
- });
- }
-
- private void obtainCleanRecordList() {
- toiletViewModel.obtainCleanRecordList(StringHelper.getUserBean().getId(), "", start, end, pageIndex);
- }
-
- private final Handler.Callback callback = msg -> {
- if (msg.what == 20210601) {
- if (isRefresh || isLoadMore) {
- adapter.notifyDataSetChanged();
- } else {
- //首次加载数据
- if (dataBeans.size() == 0) {
- viewBinding.emptyView.show(false, "抱歉,没有查到您的保洁工作记录", null, "刷新", new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- pageIndex = 1;
- obtainCleanRecordList();
- }
- });
- } else {
- viewBinding.emptyView.hide();
- adapter = new RecordListAdapter(context, dataBeans);
- viewBinding.recordRecyclerView.setAdapter(adapter);
- adapter.setOnItemClickListener(new RecordListAdapter.OnItemClickListener() {
- @Override
- public void onClick(int position) {
- CleanRecordBean.DataBean.RowsBean rowsBean = dataBeans.get(position);
- Intent intent = new Intent(context, WorkerOnMapActivity.class);
- intent.putExtra("userName", rowsBean.getUserName());
- intent.putExtra("createTime", rowsBean.getCreateTime());
- intent.putExtra("toiletName", rowsBean.getToiletName());
- String dataLng = rowsBean.getLng();
- if (TextUtils.isEmpty(dataLng)) {
- EasyToast.show(context, "经度异常");
- return;
- }
- intent.putExtra("lng", Double.parseDouble(dataLng));
- String dataLat = rowsBean.getLat();
- if (TextUtils.isEmpty(dataLat)) {
- EasyToast.show(context, "经度异常");
- return;
- }
- intent.putExtra("lat", Double.parseDouble(dataLat));
- startActivity(intent);
- }
- });
- }
- }
- }
- return true;
- };
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java
new file mode 100644
index 0000000..0a0eec0
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java
@@ -0,0 +1,199 @@
+package com.casic.dcms.mvvm.view;
+
+import android.content.Context;
+import android.content.Intent;
+import android.os.Handler;
+import android.text.TextUtils;
+import android.view.View;
+
+import androidx.annotation.NonNull;
+import androidx.core.content.ContextCompat;
+import androidx.lifecycle.Observer;
+import androidx.lifecycle.ViewModelProvider;
+
+import com.casic.dcms.R;
+import com.casic.dcms.adapter.RecordListAdapter;
+import com.casic.dcms.databinding.ActivityCleanRecordsBinding;
+import com.casic.dcms.mvvm.model.CleanRecordBean;
+import com.casic.dcms.mvvm.vm.ToiletViewModel;
+import com.casic.dcms.utils.CalendarUtil;
+import com.casic.dcms.utils.OtherUtils;
+import com.casic.dcms.utils.StringHelper;
+import com.casic.dcms.widgets.datepicker.DatePopupWindow;
+import com.gyf.immersionbar.ImmersionBar;
+import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
+import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
+import com.pengxh.androidx.lite.vm.LoadState;
+import com.pengxh.androidx.lite.widget.EasyToast;
+import com.scwang.smartrefresh.layout.api.RefreshLayout;
+import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
+import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class CleaningRecordsActivity extends AndroidxBaseActivity {
+
+ private final Context context = CleaningRecordsActivity.this;
+ private ToiletViewModel toiletViewModel;
+ private List dataBeans = new ArrayList<>();
+ private RecordListAdapter adapter;
+ private WeakReferenceHandler weakReferenceHandler;
+ private int pageIndex = 1;
+ private String start;
+ private String end;
+ private boolean isRefresh = false;
+ private boolean isLoadMore = false;
+ private int startGroup = -1;
+ private int endGroup = -1;
+ private int startChild = -1;
+ private int endChild = -1;
+
+ @Override
+ protected void setupTopBarLayout() {
+ ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor));
+ ImmersionBar.with(this).statusBarDarkFont(false).init();
+
+ viewBinding.titleBarLayout.titleView.setText("保洁作业记录");
+ viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ }
+
+ @Override
+ protected void initData() {
+ weakReferenceHandler = new WeakReferenceHandler(callback);
+ toiletViewModel = new ViewModelProvider(this).get(ToiletViewModel.class);
+ toiletViewModel.obtainCleanRecordList(StringHelper.getUserBean().getId(), "", "", "", pageIndex);
+ }
+
+ @Override
+ protected void initEvent() {
+ viewBinding.calendarView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ new DatePopupWindow.Builder(CleaningRecordsActivity.this, CalendarUtil.obtainLastTwoMonth(), view)
+ .setInitSelect(startGroup, startChild, endGroup, endChild) //设置上一次选中的区间状态
+ .setInitDay(true) //默认为true,UI内容为共几天、开始、结束;当为false时,UI内容为共几晚、入住、离开
+ .setDateOnClickListener(new DatePopupWindow.DateOnClickListener() {
+ @Override
+ public void getDate(String startDate, String endDate, int startGroupPosition, int startChildPosition, int endGroupPosition, int endChildPosition) {
+ start = startDate;
+ end = endDate;
+
+ startGroup = startGroupPosition; //开始月份位置
+ startChild = startChildPosition; //开始对应月份中日的位置
+ endGroup = endGroupPosition; //结束月份位置
+ endChild = endChildPosition; //结束对应月份中日的位置
+ viewBinding.dateView.setText(startDate + "~" + endDate);
+ obtainCleanRecordList();
+ }
+ }).builder();
+ }
+ });
+ viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
+ @Override
+ public void onRefresh(@NonNull RefreshLayout refreshLayout) {
+ isRefresh = true;
+ //刷新之后页码重置
+ pageIndex = 1;
+ obtainCleanRecordList();
+ }
+ });
+ viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
+ @Override
+ public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
+ isLoadMore = true;
+ pageIndex++;
+ obtainCleanRecordList();
+ }
+ });
+
+ toiletViewModel.cleanRecordModel.observe(this, new Observer() {
+ @Override
+ public void onChanged(CleanRecordBean resultBean) {
+ if (resultBean.getCode() == 200) {
+ List dataRows = resultBean.getData().getRows();
+ if (isRefresh) {
+ dataBeans.clear(); //下拉刷新必须先清空之前的List,不然会出现数据重复的问题
+ dataBeans = dataRows;
+ viewBinding.refreshLayout.finishRefresh();
+ isRefresh = false;
+ } else if (isLoadMore) {
+ if (dataRows.size() == 0) {
+ EasyToast.show(context, "到底了,别拉了");
+ }
+ dataBeans.addAll(dataRows);
+ viewBinding.refreshLayout.finishLoadMore();
+ isLoadMore = false;
+ } else {
+ dataBeans = dataRows;
+ }
+ //更新RecyclerView
+ weakReferenceHandler.sendEmptyMessage(20210601);
+ }
+ }
+ });
+
+ toiletViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "查询记录中,请稍后");
+ } else {
+ OtherUtils.dismissLoadingDialog();
+ }
+ }
+ });
+ }
+
+ private void obtainCleanRecordList() {
+ toiletViewModel.obtainCleanRecordList(StringHelper.getUserBean().getId(), "", start, end, pageIndex);
+ }
+
+ private final Handler.Callback callback = msg -> {
+ if (msg.what == 20210601) {
+ if (isRefresh || isLoadMore) {
+ adapter.notifyDataSetChanged();
+ } else {
+ //首次加载数据
+ if (dataBeans.size() == 0) {
+ viewBinding.emptyView.show(false, "抱歉,没有查到您的保洁工作记录", null, "刷新", new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ pageIndex = 1;
+ obtainCleanRecordList();
+ }
+ });
+ } else {
+ viewBinding.emptyView.hide();
+ adapter = new RecordListAdapter(context, dataBeans);
+ viewBinding.recordRecyclerView.setAdapter(adapter);
+ adapter.setOnItemClickListener(new RecordListAdapter.OnItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ CleanRecordBean.DataBean.RowsBean rowsBean = dataBeans.get(position);
+ Intent intent = new Intent(context, WorkerOnMapActivity.class);
+ intent.putExtra("userName", rowsBean.getUserName());
+ intent.putExtra("createTime", rowsBean.getCreateTime());
+ intent.putExtra("toiletName", rowsBean.getToiletName());
+ String dataLng = rowsBean.getLng();
+ if (TextUtils.isEmpty(dataLng)) {
+ EasyToast.show(context, "经度异常");
+ return;
+ }
+ intent.putExtra("lng", Double.parseDouble(dataLng));
+ String dataLat = rowsBean.getLat();
+ if (TextUtils.isEmpty(dataLat)) {
+ EasyToast.show(context, "经度异常");
+ return;
+ }
+ intent.putExtra("lat", Double.parseDouble(dataLat));
+ startActivity(intent);
+ }
+ });
+ }
+ }
+ }
+ return true;
+ };
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java
index ba4be05..56cf464 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java
@@ -3,8 +3,6 @@
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.drawable.BitmapDrawable;
@@ -51,6 +49,7 @@
import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.entity.LocalMedia;
import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.utils.ContextUtil;
import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
import com.pengxh.androidx.lite.vm.LoadState;
import com.pengxh.androidx.lite.widget.EasyToast;
@@ -76,7 +75,7 @@
viewBinding.titleBarLayout.titleView.setText("公厕保洁");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
- viewBinding.titleBarLayout.rightImageView.setOnClickListener(v -> startActivity(new Intent(context, CleanResultListActivity.class)));
+ viewBinding.titleBarLayout.rightImageView.setOnClickListener(v -> startActivity(new Intent(context, CleaningRecordsActivity.class)));
}
@Override
@@ -307,7 +306,7 @@
toiletViewModel.cleanToiletModel.observe(this, new Observer() {
@Override
public void onChanged(ActionResultBean resultBean) {
- if (resultBean.isSuccess()) {
+ if (resultBean.getCode() == 200) {
new SignInDialog.Builder()
.setContext(context)
.setTitle("保洁保卡成功")
@@ -315,14 +314,13 @@
.setOnDialogClickListener(new SignInDialog.OnDialogClickListener() {
@Override
public void onViewClick() {
- startActivity(new Intent(context, CleanResultListActivity.class));
- PublicToiletActivity.this.finish();
+ ContextUtil.navigatePageTo(context, CleaningRecordsActivity.class);
+ finish();
}
}).build().show();
}
}
});
-
toiletViewModel.loadState.observe(this, new Observer() {
@Override
public void onChanged(LoadState loadState) {
@@ -336,19 +334,20 @@
}
private void addPictureMarker(Point point) {
- Bitmap caseBitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.on_line);
- BitmapDrawable caseDrawable = new BitmapDrawable(getResources(), caseBitmap);
- PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable);
- pictureMarker.setWidth(64);
- pictureMarker.setHeight(42);
- pictureMarker.loadAsync();
+ BitmapDrawable symbolDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.on_line);
+ if (symbolDrawable != null) {
+ PictureMarkerSymbol symbolMarker = new PictureMarkerSymbol(symbolDrawable);
+ symbolMarker.setWidth(64);
+ symbolMarker.setHeight(42);
+ symbolMarker.loadAsync();
- Graphic graphic = new Graphic(point, pictureMarker);
- GraphicsOverlay mGraphicsOverlay = new GraphicsOverlay();
- ListenableList overlayGraphics = mGraphicsOverlay.getGraphics();
- ListenableList graphicsOverlays = viewBinding.mapView.getGraphicsOverlays();
- overlayGraphics.add(graphic);
- graphicsOverlays.add(mGraphicsOverlay);
+ Graphic graphic = new Graphic(point, symbolMarker);
+ GraphicsOverlay mGraphicsOverlay = new GraphicsOverlay();
+ ListenableList overlayGraphics = mGraphicsOverlay.getGraphics();
+ ListenableList graphicsOverlays = viewBinding.mapView.getGraphicsOverlays();
+ overlayGraphics.add(graphic);
+ graphicsOverlays.add(mGraphicsOverlay);
+ }
}
private void showEditDialog(String tag) {
diff --git a/app/src/main/res/layout/activity_clean_list.xml b/app/src/main/res/layout/activity_clean_list.xml
deleted file mode 100644
index cc0e13e..0000000
--- a/app/src/main/res/layout/activity_clean_list.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_clean_records.xml b/app/src/main/res/layout/activity_clean_records.xml
new file mode 100644
index 0000000..cc0e13e
--- /dev/null
+++ b/app/src/main/res/layout/activity_clean_records.xml
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 687c4c4..9c582b0 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -33,6 +33,7 @@
+
@@ -40,6 +41,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index ed1a0d3..41f20d8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -83,7 +83,7 @@
-
+
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleanResultListActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleanResultListActivity.java
deleted file mode 100644
index 969426e..0000000
--- a/app/src/main/java/com/casic/dcms/mvvm/view/CleanResultListActivity.java
+++ /dev/null
@@ -1,199 +0,0 @@
-package com.casic.dcms.mvvm.view;
-
-import android.content.Context;
-import android.content.Intent;
-import android.os.Handler;
-import android.text.TextUtils;
-import android.view.View;
-
-import androidx.annotation.NonNull;
-import androidx.core.content.ContextCompat;
-import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
-
-import com.casic.dcms.R;
-import com.casic.dcms.adapter.RecordListAdapter;
-import com.casic.dcms.databinding.ActivityCleanListBinding;
-import com.casic.dcms.mvvm.model.CleanRecordBean;
-import com.casic.dcms.mvvm.vm.ToiletViewModel;
-import com.casic.dcms.utils.CalendarUtil;
-import com.casic.dcms.utils.OtherUtils;
-import com.casic.dcms.utils.StringHelper;
-import com.casic.dcms.widgets.datepicker.DatePopupWindow;
-import com.gyf.immersionbar.ImmersionBar;
-import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
-import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
-import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
-import com.pengxh.androidx.lite.vm.LoadState;
-import com.pengxh.androidx.lite.widget.EasyToast;
-import com.scwang.smartrefresh.layout.api.RefreshLayout;
-import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
-import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class CleanResultListActivity extends AndroidxBaseActivity {
-
- private final Context context = CleanResultListActivity.this;
- private ToiletViewModel toiletViewModel;
- private List dataBeans = new ArrayList<>();
- private RecordListAdapter adapter;
- private WeakReferenceHandler weakReferenceHandler;
- private int pageIndex = 1;
- private String start;
- private String end;
- private boolean isRefresh = false;
- private boolean isLoadMore = false;
- private int startGroup = -1;
- private int endGroup = -1;
- private int startChild = -1;
- private int endChild = -1;
-
- @Override
- protected void setupTopBarLayout() {
- ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor));
- ImmersionBar.with(this).statusBarDarkFont(false).init();
-
- viewBinding.titleBarLayout.titleView.setText("保洁作业记录");
- viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
- }
-
- @Override
- protected void initData() {
- weakReferenceHandler = new WeakReferenceHandler(callback);
- toiletViewModel = new ViewModelProvider(this).get(ToiletViewModel.class);
- toiletViewModel.obtainCleanRecordList(StringHelper.getUserBean().getId(), "", "", "", pageIndex);
- }
-
- @Override
- protected void initEvent() {
- viewBinding.calendarView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- new DatePopupWindow.Builder(CleanResultListActivity.this, CalendarUtil.obtainLastTwoMonth(), view)
- .setInitSelect(startGroup, startChild, endGroup, endChild) //设置上一次选中的区间状态
- .setInitDay(true) //默认为true,UI内容为共几天、开始、结束;当为false时,UI内容为共几晚、入住、离开
- .setDateOnClickListener(new DatePopupWindow.DateOnClickListener() {
- @Override
- public void getDate(String startDate, String endDate, int startGroupPosition, int startChildPosition, int endGroupPosition, int endChildPosition) {
- start = startDate;
- end = endDate;
-
- startGroup = startGroupPosition; //开始月份位置
- startChild = startChildPosition; //开始对应月份中日的位置
- endGroup = endGroupPosition; //结束月份位置
- endChild = endChildPosition; //结束对应月份中日的位置
- viewBinding.dateView.setText(startDate + "~" + endDate);
- obtainCleanRecordList();
- }
- }).builder();
- }
- });
- viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
- @Override
- public void onRefresh(@NonNull RefreshLayout refreshLayout) {
- isRefresh = true;
- //刷新之后页码重置
- pageIndex = 1;
- obtainCleanRecordList();
- }
- });
- viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
- @Override
- public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
- isLoadMore = true;
- pageIndex++;
- obtainCleanRecordList();
- }
- });
-
- toiletViewModel.cleanRecordModel.observe(this, new Observer() {
- @Override
- public void onChanged(CleanRecordBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataRows = resultBean.getData().getRows();
- if (isRefresh) {
- dataBeans.clear(); //下拉刷新必须先清空之前的List,不然会出现数据重复的问题
- dataBeans = dataRows;
- viewBinding.refreshLayout.finishRefresh();
- isRefresh = false;
- } else if (isLoadMore) {
- if (dataRows.size() == 0) {
- EasyToast.show(context, "到底了,别拉了");
- }
- dataBeans.addAll(dataRows);
- viewBinding.refreshLayout.finishLoadMore();
- isLoadMore = false;
- } else {
- dataBeans = dataRows;
- }
- //更新RecyclerView
- weakReferenceHandler.sendEmptyMessage(20210601);
- }
- }
- });
-
- toiletViewModel.loadState.observe(this, new Observer() {
- @Override
- public void onChanged(LoadState loadState) {
- if (loadState == LoadState.Loading) {
- OtherUtils.showLoadingDialog(context, "查询记录中,请稍后");
- } else {
- OtherUtils.dismissLoadingDialog();
- }
- }
- });
- }
-
- private void obtainCleanRecordList() {
- toiletViewModel.obtainCleanRecordList(StringHelper.getUserBean().getId(), "", start, end, pageIndex);
- }
-
- private final Handler.Callback callback = msg -> {
- if (msg.what == 20210601) {
- if (isRefresh || isLoadMore) {
- adapter.notifyDataSetChanged();
- } else {
- //首次加载数据
- if (dataBeans.size() == 0) {
- viewBinding.emptyView.show(false, "抱歉,没有查到您的保洁工作记录", null, "刷新", new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- pageIndex = 1;
- obtainCleanRecordList();
- }
- });
- } else {
- viewBinding.emptyView.hide();
- adapter = new RecordListAdapter(context, dataBeans);
- viewBinding.recordRecyclerView.setAdapter(adapter);
- adapter.setOnItemClickListener(new RecordListAdapter.OnItemClickListener() {
- @Override
- public void onClick(int position) {
- CleanRecordBean.DataBean.RowsBean rowsBean = dataBeans.get(position);
- Intent intent = new Intent(context, WorkerOnMapActivity.class);
- intent.putExtra("userName", rowsBean.getUserName());
- intent.putExtra("createTime", rowsBean.getCreateTime());
- intent.putExtra("toiletName", rowsBean.getToiletName());
- String dataLng = rowsBean.getLng();
- if (TextUtils.isEmpty(dataLng)) {
- EasyToast.show(context, "经度异常");
- return;
- }
- intent.putExtra("lng", Double.parseDouble(dataLng));
- String dataLat = rowsBean.getLat();
- if (TextUtils.isEmpty(dataLat)) {
- EasyToast.show(context, "经度异常");
- return;
- }
- intent.putExtra("lat", Double.parseDouble(dataLat));
- startActivity(intent);
- }
- });
- }
- }
- }
- return true;
- };
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java
new file mode 100644
index 0000000..0a0eec0
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/CleaningRecordsActivity.java
@@ -0,0 +1,199 @@
+package com.casic.dcms.mvvm.view;
+
+import android.content.Context;
+import android.content.Intent;
+import android.os.Handler;
+import android.text.TextUtils;
+import android.view.View;
+
+import androidx.annotation.NonNull;
+import androidx.core.content.ContextCompat;
+import androidx.lifecycle.Observer;
+import androidx.lifecycle.ViewModelProvider;
+
+import com.casic.dcms.R;
+import com.casic.dcms.adapter.RecordListAdapter;
+import com.casic.dcms.databinding.ActivityCleanRecordsBinding;
+import com.casic.dcms.mvvm.model.CleanRecordBean;
+import com.casic.dcms.mvvm.vm.ToiletViewModel;
+import com.casic.dcms.utils.CalendarUtil;
+import com.casic.dcms.utils.OtherUtils;
+import com.casic.dcms.utils.StringHelper;
+import com.casic.dcms.widgets.datepicker.DatePopupWindow;
+import com.gyf.immersionbar.ImmersionBar;
+import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
+import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
+import com.pengxh.androidx.lite.vm.LoadState;
+import com.pengxh.androidx.lite.widget.EasyToast;
+import com.scwang.smartrefresh.layout.api.RefreshLayout;
+import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
+import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class CleaningRecordsActivity extends AndroidxBaseActivity {
+
+ private final Context context = CleaningRecordsActivity.this;
+ private ToiletViewModel toiletViewModel;
+ private List dataBeans = new ArrayList<>();
+ private RecordListAdapter adapter;
+ private WeakReferenceHandler weakReferenceHandler;
+ private int pageIndex = 1;
+ private String start;
+ private String end;
+ private boolean isRefresh = false;
+ private boolean isLoadMore = false;
+ private int startGroup = -1;
+ private int endGroup = -1;
+ private int startChild = -1;
+ private int endChild = -1;
+
+ @Override
+ protected void setupTopBarLayout() {
+ ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor));
+ ImmersionBar.with(this).statusBarDarkFont(false).init();
+
+ viewBinding.titleBarLayout.titleView.setText("保洁作业记录");
+ viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ }
+
+ @Override
+ protected void initData() {
+ weakReferenceHandler = new WeakReferenceHandler(callback);
+ toiletViewModel = new ViewModelProvider(this).get(ToiletViewModel.class);
+ toiletViewModel.obtainCleanRecordList(StringHelper.getUserBean().getId(), "", "", "", pageIndex);
+ }
+
+ @Override
+ protected void initEvent() {
+ viewBinding.calendarView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ new DatePopupWindow.Builder(CleaningRecordsActivity.this, CalendarUtil.obtainLastTwoMonth(), view)
+ .setInitSelect(startGroup, startChild, endGroup, endChild) //设置上一次选中的区间状态
+ .setInitDay(true) //默认为true,UI内容为共几天、开始、结束;当为false时,UI内容为共几晚、入住、离开
+ .setDateOnClickListener(new DatePopupWindow.DateOnClickListener() {
+ @Override
+ public void getDate(String startDate, String endDate, int startGroupPosition, int startChildPosition, int endGroupPosition, int endChildPosition) {
+ start = startDate;
+ end = endDate;
+
+ startGroup = startGroupPosition; //开始月份位置
+ startChild = startChildPosition; //开始对应月份中日的位置
+ endGroup = endGroupPosition; //结束月份位置
+ endChild = endChildPosition; //结束对应月份中日的位置
+ viewBinding.dateView.setText(startDate + "~" + endDate);
+ obtainCleanRecordList();
+ }
+ }).builder();
+ }
+ });
+ viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
+ @Override
+ public void onRefresh(@NonNull RefreshLayout refreshLayout) {
+ isRefresh = true;
+ //刷新之后页码重置
+ pageIndex = 1;
+ obtainCleanRecordList();
+ }
+ });
+ viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
+ @Override
+ public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
+ isLoadMore = true;
+ pageIndex++;
+ obtainCleanRecordList();
+ }
+ });
+
+ toiletViewModel.cleanRecordModel.observe(this, new Observer() {
+ @Override
+ public void onChanged(CleanRecordBean resultBean) {
+ if (resultBean.getCode() == 200) {
+ List dataRows = resultBean.getData().getRows();
+ if (isRefresh) {
+ dataBeans.clear(); //下拉刷新必须先清空之前的List,不然会出现数据重复的问题
+ dataBeans = dataRows;
+ viewBinding.refreshLayout.finishRefresh();
+ isRefresh = false;
+ } else if (isLoadMore) {
+ if (dataRows.size() == 0) {
+ EasyToast.show(context, "到底了,别拉了");
+ }
+ dataBeans.addAll(dataRows);
+ viewBinding.refreshLayout.finishLoadMore();
+ isLoadMore = false;
+ } else {
+ dataBeans = dataRows;
+ }
+ //更新RecyclerView
+ weakReferenceHandler.sendEmptyMessage(20210601);
+ }
+ }
+ });
+
+ toiletViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "查询记录中,请稍后");
+ } else {
+ OtherUtils.dismissLoadingDialog();
+ }
+ }
+ });
+ }
+
+ private void obtainCleanRecordList() {
+ toiletViewModel.obtainCleanRecordList(StringHelper.getUserBean().getId(), "", start, end, pageIndex);
+ }
+
+ private final Handler.Callback callback = msg -> {
+ if (msg.what == 20210601) {
+ if (isRefresh || isLoadMore) {
+ adapter.notifyDataSetChanged();
+ } else {
+ //首次加载数据
+ if (dataBeans.size() == 0) {
+ viewBinding.emptyView.show(false, "抱歉,没有查到您的保洁工作记录", null, "刷新", new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ pageIndex = 1;
+ obtainCleanRecordList();
+ }
+ });
+ } else {
+ viewBinding.emptyView.hide();
+ adapter = new RecordListAdapter(context, dataBeans);
+ viewBinding.recordRecyclerView.setAdapter(adapter);
+ adapter.setOnItemClickListener(new RecordListAdapter.OnItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ CleanRecordBean.DataBean.RowsBean rowsBean = dataBeans.get(position);
+ Intent intent = new Intent(context, WorkerOnMapActivity.class);
+ intent.putExtra("userName", rowsBean.getUserName());
+ intent.putExtra("createTime", rowsBean.getCreateTime());
+ intent.putExtra("toiletName", rowsBean.getToiletName());
+ String dataLng = rowsBean.getLng();
+ if (TextUtils.isEmpty(dataLng)) {
+ EasyToast.show(context, "经度异常");
+ return;
+ }
+ intent.putExtra("lng", Double.parseDouble(dataLng));
+ String dataLat = rowsBean.getLat();
+ if (TextUtils.isEmpty(dataLat)) {
+ EasyToast.show(context, "经度异常");
+ return;
+ }
+ intent.putExtra("lat", Double.parseDouble(dataLat));
+ startActivity(intent);
+ }
+ });
+ }
+ }
+ }
+ return true;
+ };
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java
index ba4be05..56cf464 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java
@@ -3,8 +3,6 @@
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.drawable.BitmapDrawable;
@@ -51,6 +49,7 @@
import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.entity.LocalMedia;
import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.utils.ContextUtil;
import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
import com.pengxh.androidx.lite.vm.LoadState;
import com.pengxh.androidx.lite.widget.EasyToast;
@@ -76,7 +75,7 @@
viewBinding.titleBarLayout.titleView.setText("公厕保洁");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
- viewBinding.titleBarLayout.rightImageView.setOnClickListener(v -> startActivity(new Intent(context, CleanResultListActivity.class)));
+ viewBinding.titleBarLayout.rightImageView.setOnClickListener(v -> startActivity(new Intent(context, CleaningRecordsActivity.class)));
}
@Override
@@ -307,7 +306,7 @@
toiletViewModel.cleanToiletModel.observe(this, new Observer() {
@Override
public void onChanged(ActionResultBean resultBean) {
- if (resultBean.isSuccess()) {
+ if (resultBean.getCode() == 200) {
new SignInDialog.Builder()
.setContext(context)
.setTitle("保洁保卡成功")
@@ -315,14 +314,13 @@
.setOnDialogClickListener(new SignInDialog.OnDialogClickListener() {
@Override
public void onViewClick() {
- startActivity(new Intent(context, CleanResultListActivity.class));
- PublicToiletActivity.this.finish();
+ ContextUtil.navigatePageTo(context, CleaningRecordsActivity.class);
+ finish();
}
}).build().show();
}
}
});
-
toiletViewModel.loadState.observe(this, new Observer() {
@Override
public void onChanged(LoadState loadState) {
@@ -336,19 +334,20 @@
}
private void addPictureMarker(Point point) {
- Bitmap caseBitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.on_line);
- BitmapDrawable caseDrawable = new BitmapDrawable(getResources(), caseBitmap);
- PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable);
- pictureMarker.setWidth(64);
- pictureMarker.setHeight(42);
- pictureMarker.loadAsync();
+ BitmapDrawable symbolDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.on_line);
+ if (symbolDrawable != null) {
+ PictureMarkerSymbol symbolMarker = new PictureMarkerSymbol(symbolDrawable);
+ symbolMarker.setWidth(64);
+ symbolMarker.setHeight(42);
+ symbolMarker.loadAsync();
- Graphic graphic = new Graphic(point, pictureMarker);
- GraphicsOverlay mGraphicsOverlay = new GraphicsOverlay();
- ListenableList overlayGraphics = mGraphicsOverlay.getGraphics();
- ListenableList graphicsOverlays = viewBinding.mapView.getGraphicsOverlays();
- overlayGraphics.add(graphic);
- graphicsOverlays.add(mGraphicsOverlay);
+ Graphic graphic = new Graphic(point, symbolMarker);
+ GraphicsOverlay mGraphicsOverlay = new GraphicsOverlay();
+ ListenableList overlayGraphics = mGraphicsOverlay.getGraphics();
+ ListenableList graphicsOverlays = viewBinding.mapView.getGraphicsOverlays();
+ overlayGraphics.add(graphic);
+ graphicsOverlays.add(mGraphicsOverlay);
+ }
}
private void showEditDialog(String tag) {
diff --git a/app/src/main/res/layout/activity_clean_list.xml b/app/src/main/res/layout/activity_clean_list.xml
deleted file mode 100644
index cc0e13e..0000000
--- a/app/src/main/res/layout/activity_clean_list.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_clean_records.xml b/app/src/main/res/layout/activity_clean_records.xml
new file mode 100644
index 0000000..cc0e13e
--- /dev/null
+++ b/app/src/main/res/layout/activity_clean_records.xml
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_toilet.xml b/app/src/main/res/layout/activity_toilet.xml
index abe1af5..0ec268d 100644
--- a/app/src/main/res/layout/activity_toilet.xml
+++ b/app/src/main/res/layout/activity_toilet.xml
@@ -197,10 +197,12 @@
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_centerInParent="true"
+ android:elevation="@dimen/dp_10"
android:text="保洁打卡"
android:textColor="@color/white"
android:textSize="@dimen/sp_16"
app:qmui_backgroundColor="@color/mainThemeColor"
+ app:qmui_borderWidth="0dp"
app:qmui_radius="50dp" />