diff --git a/app/src/main/java/com/casic/dcms/view/toilet/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/view/toilet/CleaningRecordsActivity.java index d6e5ca8..cd0dd1e 100644 --- a/app/src/main/java/com/casic/dcms/view/toilet/CleaningRecordsActivity.java +++ b/app/src/main/java/com/casic/dcms/view/toilet/CleaningRecordsActivity.java @@ -4,6 +4,7 @@ import android.content.Intent; import android.os.Bundle; import android.os.Handler; +import android.os.Message; import android.text.TextUtils; import android.view.View; @@ -32,6 +33,7 @@ import com.pengxh.androidx.lite.utils.LoadState; import com.pengxh.androidx.lite.utils.LoadingDialog; import com.pengxh.androidx.lite.utils.WeakReferenceHandler; +import com.pengxh.androidx.lite.widget.TitleBarView; import com.scwang.smartrefresh.layout.api.RefreshLayout; import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener; import com.scwang.smartrefresh.layout.listener.OnRefreshListener; @@ -39,28 +41,35 @@ import java.util.ArrayList; import java.util.List; -public class CleaningRecordsActivity extends AndroidxBaseActivity { +public class CleaningRecordsActivity extends AndroidxBaseActivity implements Handler.Callback { - private final Context context = CleaningRecordsActivity.this; + private final Context context = this; + private final WeakReferenceHandler weakReferenceHandler = new WeakReferenceHandler(this); private ToiletViewModel toiletViewModel; private List dataBeans = new ArrayList<>(); private NormalRecyclerAdapter adapter; - private WeakReferenceHandler weakReferenceHandler; - private int pageIndex = 1; + private int page = 1; private boolean isRefresh = false; private boolean isLoadMore = false; @Override protected void setupTopBarLayout() { ViewGroupHub.initImmersionBar(binding.rootView, this, true, R.color.white); + binding.titleView.setOnClickListener(new TitleBarView.OnClickListener() { + @Override + public void onLeftClick() { + finish(); + } - binding.titleBarLayout.titleView.setText("保洁作业记录"); - binding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + @Override + public void onRightClick() { + + } + }); } @Override protected void initOnCreate(@Nullable Bundle savedInstanceState) { - weakReferenceHandler = new WeakReferenceHandler(callback); toiletViewModel = new ViewModelProvider(this).get(ToiletViewModel.class); toiletViewModel.cleanRecordModel.observe(this, new Observer() { @Override @@ -85,6 +94,7 @@ } } }); + getCleanRecordList("", ""); } @Override @@ -92,23 +102,18 @@ toiletViewModel.loadState.observe(this, new Observer() { @Override public void onChanged(LoadState loadState) { - if (loadState == LoadState.Loading) { - LoadingDialog.show(CleaningRecordsActivity.this, "查询记录中,请稍后"); - } else { - LoadingDialog.dismiss(); + if (!isRefresh && !isLoadMore) { + if (loadState == LoadState.Loading) { + LoadingDialog.show(CleaningRecordsActivity.this, "查询记录中,请稍后"); + } else { + LoadingDialog.dismiss(); + } } } }); } @Override - protected void onResume() { - super.onResume(); - pageIndex = 1; - getCleanRecordList("", ""); - } - - @Override protected void initEvent() { binding.calendarView.setOnClickListener(new View.OnClickListener() { @Override @@ -127,7 +132,7 @@ public void onRefresh(@NonNull RefreshLayout refreshLayout) { isRefresh = true; //刷新之后页码重置 - pageIndex = 1; + page = 1; getCleanRecordList("", ""); } }); @@ -135,26 +140,21 @@ @Override public void onLoadMore(@NonNull RefreshLayout refreshLayout) { isLoadMore = true; - pageIndex++; + page++; getCleanRecordList("", ""); } }); } private void getCleanRecordList(String start, String end) { - toiletViewModel.getCleanRecordList(this, StringHelper.getUserBean().getId(), "", start, end, pageIndex); + toiletViewModel.getCleanRecordList(this, StringHelper.getUserBean().getId(), "", start, end, page); } - private final Handler.Callback callback = msg -> { + @Override + public boolean handleMessage(@NonNull Message msg) { if (msg.what == 20210601) { if (dataBeans.size() == 0) { - binding.emptyView.show(false, "抱歉,没有查到您的保洁工作记录", null, "刷新", new View.OnClickListener() { - @Override - public void onClick(View v) { - pageIndex = 1; - getCleanRecordList("", ""); - } - }); + binding.emptyView.show(null, "抱歉,没有查到您的保洁工作记录"); } else { binding.emptyView.hide(); adapter = new NormalRecyclerAdapter(R.layout.item_record_rv_l, dataBeans) { @@ -219,5 +219,5 @@ } } return true; - }; + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/view/toilet/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/view/toilet/CleaningRecordsActivity.java index d6e5ca8..cd0dd1e 100644 --- a/app/src/main/java/com/casic/dcms/view/toilet/CleaningRecordsActivity.java +++ b/app/src/main/java/com/casic/dcms/view/toilet/CleaningRecordsActivity.java @@ -4,6 +4,7 @@ import android.content.Intent; import android.os.Bundle; import android.os.Handler; +import android.os.Message; import android.text.TextUtils; import android.view.View; @@ -32,6 +33,7 @@ import com.pengxh.androidx.lite.utils.LoadState; import com.pengxh.androidx.lite.utils.LoadingDialog; import com.pengxh.androidx.lite.utils.WeakReferenceHandler; +import com.pengxh.androidx.lite.widget.TitleBarView; import com.scwang.smartrefresh.layout.api.RefreshLayout; import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener; import com.scwang.smartrefresh.layout.listener.OnRefreshListener; @@ -39,28 +41,35 @@ import java.util.ArrayList; import java.util.List; -public class CleaningRecordsActivity extends AndroidxBaseActivity { +public class CleaningRecordsActivity extends AndroidxBaseActivity implements Handler.Callback { - private final Context context = CleaningRecordsActivity.this; + private final Context context = this; + private final WeakReferenceHandler weakReferenceHandler = new WeakReferenceHandler(this); private ToiletViewModel toiletViewModel; private List dataBeans = new ArrayList<>(); private NormalRecyclerAdapter adapter; - private WeakReferenceHandler weakReferenceHandler; - private int pageIndex = 1; + private int page = 1; private boolean isRefresh = false; private boolean isLoadMore = false; @Override protected void setupTopBarLayout() { ViewGroupHub.initImmersionBar(binding.rootView, this, true, R.color.white); + binding.titleView.setOnClickListener(new TitleBarView.OnClickListener() { + @Override + public void onLeftClick() { + finish(); + } - binding.titleBarLayout.titleView.setText("保洁作业记录"); - binding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + @Override + public void onRightClick() { + + } + }); } @Override protected void initOnCreate(@Nullable Bundle savedInstanceState) { - weakReferenceHandler = new WeakReferenceHandler(callback); toiletViewModel = new ViewModelProvider(this).get(ToiletViewModel.class); toiletViewModel.cleanRecordModel.observe(this, new Observer() { @Override @@ -85,6 +94,7 @@ } } }); + getCleanRecordList("", ""); } @Override @@ -92,23 +102,18 @@ toiletViewModel.loadState.observe(this, new Observer() { @Override public void onChanged(LoadState loadState) { - if (loadState == LoadState.Loading) { - LoadingDialog.show(CleaningRecordsActivity.this, "查询记录中,请稍后"); - } else { - LoadingDialog.dismiss(); + if (!isRefresh && !isLoadMore) { + if (loadState == LoadState.Loading) { + LoadingDialog.show(CleaningRecordsActivity.this, "查询记录中,请稍后"); + } else { + LoadingDialog.dismiss(); + } } } }); } @Override - protected void onResume() { - super.onResume(); - pageIndex = 1; - getCleanRecordList("", ""); - } - - @Override protected void initEvent() { binding.calendarView.setOnClickListener(new View.OnClickListener() { @Override @@ -127,7 +132,7 @@ public void onRefresh(@NonNull RefreshLayout refreshLayout) { isRefresh = true; //刷新之后页码重置 - pageIndex = 1; + page = 1; getCleanRecordList("", ""); } }); @@ -135,26 +140,21 @@ @Override public void onLoadMore(@NonNull RefreshLayout refreshLayout) { isLoadMore = true; - pageIndex++; + page++; getCleanRecordList("", ""); } }); } private void getCleanRecordList(String start, String end) { - toiletViewModel.getCleanRecordList(this, StringHelper.getUserBean().getId(), "", start, end, pageIndex); + toiletViewModel.getCleanRecordList(this, StringHelper.getUserBean().getId(), "", start, end, page); } - private final Handler.Callback callback = msg -> { + @Override + public boolean handleMessage(@NonNull Message msg) { if (msg.what == 20210601) { if (dataBeans.size() == 0) { - binding.emptyView.show(false, "抱歉,没有查到您的保洁工作记录", null, "刷新", new View.OnClickListener() { - @Override - public void onClick(View v) { - pageIndex = 1; - getCleanRecordList("", ""); - } - }); + binding.emptyView.show(null, "抱歉,没有查到您的保洁工作记录"); } else { binding.emptyView.hide(); adapter = new NormalRecyclerAdapter(R.layout.item_record_rv_l, dataBeans) { @@ -219,5 +219,5 @@ } } return true; - }; + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/view/toilet/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/view/toilet/PublicToiletActivity.java index abe6596..9232e98 100644 --- a/app/src/main/java/com/casic/dcms/view/toilet/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/view/toilet/PublicToiletActivity.java @@ -54,6 +54,7 @@ import com.pengxh.androidx.lite.kit.StringKit; import com.pengxh.androidx.lite.utils.LoadState; import com.pengxh.androidx.lite.utils.LoadingDialog; +import com.pengxh.androidx.lite.widget.TitleBarView; import com.pengxh.androidx.lite.widget.dialog.AlertInputDialog; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; @@ -72,21 +73,109 @@ @Override protected void setupTopBarLayout() { ViewGroupHub.initImmersionBar(binding.rootView, this, true, R.color.white); + binding.titleView.setOnClickListener(new TitleBarView.OnClickListener() { + @Override + public void onLeftClick() { + finish(); + } - binding.titleBarLayout.titleView.setText("公厕保洁"); - binding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - binding.titleBarLayout.rightImageView.setOnClickListener(v -> startActivity(new Intent(context, CleaningRecordsActivity.class))); + @Override + public void onRightClick() { + startActivity(new Intent(context, CleaningRecordsActivity.class)); + } + }); } @Override protected void observeRequestState() { + uploadViewModel.loadState.observe(this, new Observer() { + @Override + public void onChanged(LoadState loadState) { + if (loadState == LoadState.Loading) { + StringKit.show(PublicToiletActivity.this, "上传中,请稍后..."); + } else { + TextPaint textPaint = binding.showPictureView.getPaint(); + textPaint.setFlags(Paint.UNDERLINE_TEXT_FLAG); //下划线 + textPaint.setAntiAlias(true);//抗锯齿 + } + } + }); + toiletViewModel.loadState.observe(this, new Observer() { + @Override + public void onChanged(LoadState loadState) { + if (loadState == LoadState.Loading) { + LoadingDialog.show(PublicToiletActivity.this, "处理中,请稍后"); + } else { + LoadingDialog.dismiss(); + } + } + }); } @Override public void initOnCreate(@Nullable Bundle savedInstanceState) { + ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); + //创建底图、并设置底图图层 + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); + arcGISMap.setBasemap(basemap); + binding.mapView.setMap(arcGISMap); + + //公厕图层 + ServiceFeatureTable featureTable = ArcGisMapCreator.createOtherFeatureTable("公共厕所"); + featureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); + FeatureLayer toiletLayer = new FeatureLayer(featureTable); + arcGISMap.getOperationalLayers().add(toiletLayer); + binding.mapView.setMap(arcGISMap); + binding.mapView.setAttributionTextVisible(false);//去掉左下角属性标识 + binding.mapView.setViewpointScaleAsync(8000); + uploadViewModel = new ViewModelProvider(this).get(UploadViewModel.class); + uploadViewModel.imageModel.observe(this, new Observer() { + @Override + public void onChanged(ActionResultBean resultBean) { + if (resultBean.getCode() == 200) { + String url = resultBean.getData(); + imagePath = url; + String realPath = StringHelper.appendCompleteURL(url); + + ArrayList urls = new ArrayList<>(); + urls.add(realPath); + + binding.showPictureView.setVisibility(View.VISIBLE); + binding.showPictureView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (urls.get(0).isEmpty()) { + StringKit.show(context, "图片加载失败,无法查看大图"); + } else { + ContextKit.navigatePageTo(context, BigImageActivity.class, 0, urls); + } + } + }); + } + } + }); + toiletViewModel = new ViewModelProvider(this).get(ToiletViewModel.class); + toiletViewModel.cleanToiletModel.observe(this, new Observer() { + @Override + public void onChanged(ActionResultBean resultBean) { + if (resultBean.getCode() == 200) { + new SignInDialog.Builder() + .setContext(context) + .setTitle("保洁保卡成功") + .setAddress(binding.locationStreetView.getText().toString()) + .setOnDialogClickListener(new SignInDialog.OnDialogClickListener() { + @Override + public void onViewClick() { + ContextKit.navigatePageTo(context, CleaningRecordsActivity.class); + finish(); + } + }).build().show(); + } + } + }); String systemTime = LongKit.timestampToCompleteDate(System.currentTimeMillis()); //默认显示结束时间 @@ -117,21 +206,6 @@ } } }, false); - binding.mapView.setAttributionTextVisible(false);//去掉左下角属性标识 - binding.mapView.setViewpointScaleAsync(8000); - - ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); - //创建底图、并设置底图图层 - Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); - arcGISMap.setBasemap(basemap); - binding.mapView.setMap(arcGISMap); - - //公厕图层 - ServiceFeatureTable featureTable = ArcGisMapCreator.createOtherFeatureTable("公共厕所"); - featureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); - FeatureLayer toiletLayer = new FeatureLayer(featureTable); - arcGISMap.getOperationalLayers().add(toiletLayer); - binding.mapView.setMap(arcGISMap); } @Override @@ -238,43 +312,6 @@ }); } }); - uploadViewModel.imageModel.observe(this, new Observer() { - @Override - public void onChanged(ActionResultBean resultBean) { - if (resultBean.getCode() == 200) { - String url = resultBean.getData(); - imagePath = url; - String realPath = StringHelper.appendCompleteURL(url); - - ArrayList urls = new ArrayList<>(); - urls.add(realPath); - - binding.showPictureView.setVisibility(View.VISIBLE); - binding.showPictureView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (urls.get(0).isEmpty()) { - StringKit.show(context, "图片加载失败,无法查看大图"); - } else { - ContextKit.navigatePageTo(context, BigImageActivity.class, 0, urls); - } - } - }); - } - } - }); - uploadViewModel.loadState.observe(this, new Observer() { - @Override - public void onChanged(LoadState loadState) { - if (loadState == LoadState.Loading) { - StringKit.show(PublicToiletActivity.this, "上传中,请稍后..."); - } else { - TextPaint textPaint = binding.showPictureView.getPaint(); - textPaint.setFlags(Paint.UNDERLINE_TEXT_FLAG); //下划线 - textPaint.setAntiAlias(true);//抗锯齿 - } - } - }); binding.signInButton.setChangeAlphaWhenPress(true); binding.signInButton.setOnClickListener(new View.OnClickListener() { @@ -312,34 +349,6 @@ }, true); } }); - toiletViewModel.cleanToiletModel.observe(this, new Observer() { - @Override - public void onChanged(ActionResultBean resultBean) { - if (resultBean.getCode() == 200) { - new SignInDialog.Builder() - .setContext(context) - .setTitle("保洁保卡成功") - .setAddress(binding.locationStreetView.getText().toString()) - .setOnDialogClickListener(new SignInDialog.OnDialogClickListener() { - @Override - public void onViewClick() { - ContextKit.navigatePageTo(context, CleaningRecordsActivity.class); - finish(); - } - }).build().show(); - } - } - }); - toiletViewModel.loadState.observe(this, new Observer() { - @Override - public void onChanged(LoadState loadState) { - if (loadState == LoadState.Loading) { - LoadingDialog.show(PublicToiletActivity.this, "处理中,请稍后"); - } else { - LoadingDialog.dismiss(); - } - } - }); } private void addPictureMarker(Point point) { diff --git a/app/src/main/java/com/casic/dcms/view/toilet/CleaningRecordsActivity.java b/app/src/main/java/com/casic/dcms/view/toilet/CleaningRecordsActivity.java index d6e5ca8..cd0dd1e 100644 --- a/app/src/main/java/com/casic/dcms/view/toilet/CleaningRecordsActivity.java +++ b/app/src/main/java/com/casic/dcms/view/toilet/CleaningRecordsActivity.java @@ -4,6 +4,7 @@ import android.content.Intent; import android.os.Bundle; import android.os.Handler; +import android.os.Message; import android.text.TextUtils; import android.view.View; @@ -32,6 +33,7 @@ import com.pengxh.androidx.lite.utils.LoadState; import com.pengxh.androidx.lite.utils.LoadingDialog; import com.pengxh.androidx.lite.utils.WeakReferenceHandler; +import com.pengxh.androidx.lite.widget.TitleBarView; import com.scwang.smartrefresh.layout.api.RefreshLayout; import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener; import com.scwang.smartrefresh.layout.listener.OnRefreshListener; @@ -39,28 +41,35 @@ import java.util.ArrayList; import java.util.List; -public class CleaningRecordsActivity extends AndroidxBaseActivity { +public class CleaningRecordsActivity extends AndroidxBaseActivity implements Handler.Callback { - private final Context context = CleaningRecordsActivity.this; + private final Context context = this; + private final WeakReferenceHandler weakReferenceHandler = new WeakReferenceHandler(this); private ToiletViewModel toiletViewModel; private List dataBeans = new ArrayList<>(); private NormalRecyclerAdapter adapter; - private WeakReferenceHandler weakReferenceHandler; - private int pageIndex = 1; + private int page = 1; private boolean isRefresh = false; private boolean isLoadMore = false; @Override protected void setupTopBarLayout() { ViewGroupHub.initImmersionBar(binding.rootView, this, true, R.color.white); + binding.titleView.setOnClickListener(new TitleBarView.OnClickListener() { + @Override + public void onLeftClick() { + finish(); + } - binding.titleBarLayout.titleView.setText("保洁作业记录"); - binding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + @Override + public void onRightClick() { + + } + }); } @Override protected void initOnCreate(@Nullable Bundle savedInstanceState) { - weakReferenceHandler = new WeakReferenceHandler(callback); toiletViewModel = new ViewModelProvider(this).get(ToiletViewModel.class); toiletViewModel.cleanRecordModel.observe(this, new Observer() { @Override @@ -85,6 +94,7 @@ } } }); + getCleanRecordList("", ""); } @Override @@ -92,23 +102,18 @@ toiletViewModel.loadState.observe(this, new Observer() { @Override public void onChanged(LoadState loadState) { - if (loadState == LoadState.Loading) { - LoadingDialog.show(CleaningRecordsActivity.this, "查询记录中,请稍后"); - } else { - LoadingDialog.dismiss(); + if (!isRefresh && !isLoadMore) { + if (loadState == LoadState.Loading) { + LoadingDialog.show(CleaningRecordsActivity.this, "查询记录中,请稍后"); + } else { + LoadingDialog.dismiss(); + } } } }); } @Override - protected void onResume() { - super.onResume(); - pageIndex = 1; - getCleanRecordList("", ""); - } - - @Override protected void initEvent() { binding.calendarView.setOnClickListener(new View.OnClickListener() { @Override @@ -127,7 +132,7 @@ public void onRefresh(@NonNull RefreshLayout refreshLayout) { isRefresh = true; //刷新之后页码重置 - pageIndex = 1; + page = 1; getCleanRecordList("", ""); } }); @@ -135,26 +140,21 @@ @Override public void onLoadMore(@NonNull RefreshLayout refreshLayout) { isLoadMore = true; - pageIndex++; + page++; getCleanRecordList("", ""); } }); } private void getCleanRecordList(String start, String end) { - toiletViewModel.getCleanRecordList(this, StringHelper.getUserBean().getId(), "", start, end, pageIndex); + toiletViewModel.getCleanRecordList(this, StringHelper.getUserBean().getId(), "", start, end, page); } - private final Handler.Callback callback = msg -> { + @Override + public boolean handleMessage(@NonNull Message msg) { if (msg.what == 20210601) { if (dataBeans.size() == 0) { - binding.emptyView.show(false, "抱歉,没有查到您的保洁工作记录", null, "刷新", new View.OnClickListener() { - @Override - public void onClick(View v) { - pageIndex = 1; - getCleanRecordList("", ""); - } - }); + binding.emptyView.show(null, "抱歉,没有查到您的保洁工作记录"); } else { binding.emptyView.hide(); adapter = new NormalRecyclerAdapter(R.layout.item_record_rv_l, dataBeans) { @@ -219,5 +219,5 @@ } } return true; - }; + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/view/toilet/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/view/toilet/PublicToiletActivity.java index abe6596..9232e98 100644 --- a/app/src/main/java/com/casic/dcms/view/toilet/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/view/toilet/PublicToiletActivity.java @@ -54,6 +54,7 @@ import com.pengxh.androidx.lite.kit.StringKit; import com.pengxh.androidx.lite.utils.LoadState; import com.pengxh.androidx.lite.utils.LoadingDialog; +import com.pengxh.androidx.lite.widget.TitleBarView; import com.pengxh.androidx.lite.widget.dialog.AlertInputDialog; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; @@ -72,21 +73,109 @@ @Override protected void setupTopBarLayout() { ViewGroupHub.initImmersionBar(binding.rootView, this, true, R.color.white); + binding.titleView.setOnClickListener(new TitleBarView.OnClickListener() { + @Override + public void onLeftClick() { + finish(); + } - binding.titleBarLayout.titleView.setText("公厕保洁"); - binding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - binding.titleBarLayout.rightImageView.setOnClickListener(v -> startActivity(new Intent(context, CleaningRecordsActivity.class))); + @Override + public void onRightClick() { + startActivity(new Intent(context, CleaningRecordsActivity.class)); + } + }); } @Override protected void observeRequestState() { + uploadViewModel.loadState.observe(this, new Observer() { + @Override + public void onChanged(LoadState loadState) { + if (loadState == LoadState.Loading) { + StringKit.show(PublicToiletActivity.this, "上传中,请稍后..."); + } else { + TextPaint textPaint = binding.showPictureView.getPaint(); + textPaint.setFlags(Paint.UNDERLINE_TEXT_FLAG); //下划线 + textPaint.setAntiAlias(true);//抗锯齿 + } + } + }); + toiletViewModel.loadState.observe(this, new Observer() { + @Override + public void onChanged(LoadState loadState) { + if (loadState == LoadState.Loading) { + LoadingDialog.show(PublicToiletActivity.this, "处理中,请稍后"); + } else { + LoadingDialog.dismiss(); + } + } + }); } @Override public void initOnCreate(@Nullable Bundle savedInstanceState) { + ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); + //创建底图、并设置底图图层 + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); + arcGISMap.setBasemap(basemap); + binding.mapView.setMap(arcGISMap); + + //公厕图层 + ServiceFeatureTable featureTable = ArcGisMapCreator.createOtherFeatureTable("公共厕所"); + featureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); + FeatureLayer toiletLayer = new FeatureLayer(featureTable); + arcGISMap.getOperationalLayers().add(toiletLayer); + binding.mapView.setMap(arcGISMap); + binding.mapView.setAttributionTextVisible(false);//去掉左下角属性标识 + binding.mapView.setViewpointScaleAsync(8000); + uploadViewModel = new ViewModelProvider(this).get(UploadViewModel.class); + uploadViewModel.imageModel.observe(this, new Observer() { + @Override + public void onChanged(ActionResultBean resultBean) { + if (resultBean.getCode() == 200) { + String url = resultBean.getData(); + imagePath = url; + String realPath = StringHelper.appendCompleteURL(url); + + ArrayList urls = new ArrayList<>(); + urls.add(realPath); + + binding.showPictureView.setVisibility(View.VISIBLE); + binding.showPictureView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (urls.get(0).isEmpty()) { + StringKit.show(context, "图片加载失败,无法查看大图"); + } else { + ContextKit.navigatePageTo(context, BigImageActivity.class, 0, urls); + } + } + }); + } + } + }); + toiletViewModel = new ViewModelProvider(this).get(ToiletViewModel.class); + toiletViewModel.cleanToiletModel.observe(this, new Observer() { + @Override + public void onChanged(ActionResultBean resultBean) { + if (resultBean.getCode() == 200) { + new SignInDialog.Builder() + .setContext(context) + .setTitle("保洁保卡成功") + .setAddress(binding.locationStreetView.getText().toString()) + .setOnDialogClickListener(new SignInDialog.OnDialogClickListener() { + @Override + public void onViewClick() { + ContextKit.navigatePageTo(context, CleaningRecordsActivity.class); + finish(); + } + }).build().show(); + } + } + }); String systemTime = LongKit.timestampToCompleteDate(System.currentTimeMillis()); //默认显示结束时间 @@ -117,21 +206,6 @@ } } }, false); - binding.mapView.setAttributionTextVisible(false);//去掉左下角属性标识 - binding.mapView.setViewpointScaleAsync(8000); - - ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); - //创建底图、并设置底图图层 - Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); - arcGISMap.setBasemap(basemap); - binding.mapView.setMap(arcGISMap); - - //公厕图层 - ServiceFeatureTable featureTable = ArcGisMapCreator.createOtherFeatureTable("公共厕所"); - featureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); - FeatureLayer toiletLayer = new FeatureLayer(featureTable); - arcGISMap.getOperationalLayers().add(toiletLayer); - binding.mapView.setMap(arcGISMap); } @Override @@ -238,43 +312,6 @@ }); } }); - uploadViewModel.imageModel.observe(this, new Observer() { - @Override - public void onChanged(ActionResultBean resultBean) { - if (resultBean.getCode() == 200) { - String url = resultBean.getData(); - imagePath = url; - String realPath = StringHelper.appendCompleteURL(url); - - ArrayList urls = new ArrayList<>(); - urls.add(realPath); - - binding.showPictureView.setVisibility(View.VISIBLE); - binding.showPictureView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (urls.get(0).isEmpty()) { - StringKit.show(context, "图片加载失败,无法查看大图"); - } else { - ContextKit.navigatePageTo(context, BigImageActivity.class, 0, urls); - } - } - }); - } - } - }); - uploadViewModel.loadState.observe(this, new Observer() { - @Override - public void onChanged(LoadState loadState) { - if (loadState == LoadState.Loading) { - StringKit.show(PublicToiletActivity.this, "上传中,请稍后..."); - } else { - TextPaint textPaint = binding.showPictureView.getPaint(); - textPaint.setFlags(Paint.UNDERLINE_TEXT_FLAG); //下划线 - textPaint.setAntiAlias(true);//抗锯齿 - } - } - }); binding.signInButton.setChangeAlphaWhenPress(true); binding.signInButton.setOnClickListener(new View.OnClickListener() { @@ -312,34 +349,6 @@ }, true); } }); - toiletViewModel.cleanToiletModel.observe(this, new Observer() { - @Override - public void onChanged(ActionResultBean resultBean) { - if (resultBean.getCode() == 200) { - new SignInDialog.Builder() - .setContext(context) - .setTitle("保洁保卡成功") - .setAddress(binding.locationStreetView.getText().toString()) - .setOnDialogClickListener(new SignInDialog.OnDialogClickListener() { - @Override - public void onViewClick() { - ContextKit.navigatePageTo(context, CleaningRecordsActivity.class); - finish(); - } - }).build().show(); - } - } - }); - toiletViewModel.loadState.observe(this, new Observer() { - @Override - public void onChanged(LoadState loadState) { - if (loadState == LoadState.Loading) { - LoadingDialog.show(PublicToiletActivity.this, "处理中,请稍后"); - } else { - LoadingDialog.dismiss(); - } - } - }); } private void addPictureMarker(Point point) { diff --git a/app/src/main/res/layout/activity_clean_records.xml b/app/src/main/res/layout/activity_clean_records.xml index 5857e8e..566319a 100644 --- a/app/src/main/res/layout/activity_clean_records.xml +++ b/app/src/main/res/layout/activity_clean_records.xml @@ -7,19 +7,25 @@ android:background="@color/white" android:orientation="vertical"> - + { +public class CleaningRecordsActivity extends AndroidxBaseActivity implements Handler.Callback { - private final Context context = CleaningRecordsActivity.this; + private final Context context = this; + private final WeakReferenceHandler weakReferenceHandler = new WeakReferenceHandler(this); private ToiletViewModel toiletViewModel; private List dataBeans = new ArrayList<>(); private NormalRecyclerAdapter adapter; - private WeakReferenceHandler weakReferenceHandler; - private int pageIndex = 1; + private int page = 1; private boolean isRefresh = false; private boolean isLoadMore = false; @Override protected void setupTopBarLayout() { ViewGroupHub.initImmersionBar(binding.rootView, this, true, R.color.white); + binding.titleView.setOnClickListener(new TitleBarView.OnClickListener() { + @Override + public void onLeftClick() { + finish(); + } - binding.titleBarLayout.titleView.setText("保洁作业记录"); - binding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + @Override + public void onRightClick() { + + } + }); } @Override protected void initOnCreate(@Nullable Bundle savedInstanceState) { - weakReferenceHandler = new WeakReferenceHandler(callback); toiletViewModel = new ViewModelProvider(this).get(ToiletViewModel.class); toiletViewModel.cleanRecordModel.observe(this, new Observer() { @Override @@ -85,6 +94,7 @@ } } }); + getCleanRecordList("", ""); } @Override @@ -92,23 +102,18 @@ toiletViewModel.loadState.observe(this, new Observer() { @Override public void onChanged(LoadState loadState) { - if (loadState == LoadState.Loading) { - LoadingDialog.show(CleaningRecordsActivity.this, "查询记录中,请稍后"); - } else { - LoadingDialog.dismiss(); + if (!isRefresh && !isLoadMore) { + if (loadState == LoadState.Loading) { + LoadingDialog.show(CleaningRecordsActivity.this, "查询记录中,请稍后"); + } else { + LoadingDialog.dismiss(); + } } } }); } @Override - protected void onResume() { - super.onResume(); - pageIndex = 1; - getCleanRecordList("", ""); - } - - @Override protected void initEvent() { binding.calendarView.setOnClickListener(new View.OnClickListener() { @Override @@ -127,7 +132,7 @@ public void onRefresh(@NonNull RefreshLayout refreshLayout) { isRefresh = true; //刷新之后页码重置 - pageIndex = 1; + page = 1; getCleanRecordList("", ""); } }); @@ -135,26 +140,21 @@ @Override public void onLoadMore(@NonNull RefreshLayout refreshLayout) { isLoadMore = true; - pageIndex++; + page++; getCleanRecordList("", ""); } }); } private void getCleanRecordList(String start, String end) { - toiletViewModel.getCleanRecordList(this, StringHelper.getUserBean().getId(), "", start, end, pageIndex); + toiletViewModel.getCleanRecordList(this, StringHelper.getUserBean().getId(), "", start, end, page); } - private final Handler.Callback callback = msg -> { + @Override + public boolean handleMessage(@NonNull Message msg) { if (msg.what == 20210601) { if (dataBeans.size() == 0) { - binding.emptyView.show(false, "抱歉,没有查到您的保洁工作记录", null, "刷新", new View.OnClickListener() { - @Override - public void onClick(View v) { - pageIndex = 1; - getCleanRecordList("", ""); - } - }); + binding.emptyView.show(null, "抱歉,没有查到您的保洁工作记录"); } else { binding.emptyView.hide(); adapter = new NormalRecyclerAdapter(R.layout.item_record_rv_l, dataBeans) { @@ -219,5 +219,5 @@ } } return true; - }; + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/view/toilet/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/view/toilet/PublicToiletActivity.java index abe6596..9232e98 100644 --- a/app/src/main/java/com/casic/dcms/view/toilet/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/view/toilet/PublicToiletActivity.java @@ -54,6 +54,7 @@ import com.pengxh.androidx.lite.kit.StringKit; import com.pengxh.androidx.lite.utils.LoadState; import com.pengxh.androidx.lite.utils.LoadingDialog; +import com.pengxh.androidx.lite.widget.TitleBarView; import com.pengxh.androidx.lite.widget.dialog.AlertInputDialog; import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; @@ -72,21 +73,109 @@ @Override protected void setupTopBarLayout() { ViewGroupHub.initImmersionBar(binding.rootView, this, true, R.color.white); + binding.titleView.setOnClickListener(new TitleBarView.OnClickListener() { + @Override + public void onLeftClick() { + finish(); + } - binding.titleBarLayout.titleView.setText("公厕保洁"); - binding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - binding.titleBarLayout.rightImageView.setOnClickListener(v -> startActivity(new Intent(context, CleaningRecordsActivity.class))); + @Override + public void onRightClick() { + startActivity(new Intent(context, CleaningRecordsActivity.class)); + } + }); } @Override protected void observeRequestState() { + uploadViewModel.loadState.observe(this, new Observer() { + @Override + public void onChanged(LoadState loadState) { + if (loadState == LoadState.Loading) { + StringKit.show(PublicToiletActivity.this, "上传中,请稍后..."); + } else { + TextPaint textPaint = binding.showPictureView.getPaint(); + textPaint.setFlags(Paint.UNDERLINE_TEXT_FLAG); //下划线 + textPaint.setAntiAlias(true);//抗锯齿 + } + } + }); + toiletViewModel.loadState.observe(this, new Observer() { + @Override + public void onChanged(LoadState loadState) { + if (loadState == LoadState.Loading) { + LoadingDialog.show(PublicToiletActivity.this, "处理中,请稍后"); + } else { + LoadingDialog.dismiss(); + } + } + }); } @Override public void initOnCreate(@Nullable Bundle savedInstanceState) { + ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); + //创建底图、并设置底图图层 + Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); + arcGISMap.setBasemap(basemap); + binding.mapView.setMap(arcGISMap); + + //公厕图层 + ServiceFeatureTable featureTable = ArcGisMapCreator.createOtherFeatureTable("公共厕所"); + featureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); + FeatureLayer toiletLayer = new FeatureLayer(featureTable); + arcGISMap.getOperationalLayers().add(toiletLayer); + binding.mapView.setMap(arcGISMap); + binding.mapView.setAttributionTextVisible(false);//去掉左下角属性标识 + binding.mapView.setViewpointScaleAsync(8000); + uploadViewModel = new ViewModelProvider(this).get(UploadViewModel.class); + uploadViewModel.imageModel.observe(this, new Observer() { + @Override + public void onChanged(ActionResultBean resultBean) { + if (resultBean.getCode() == 200) { + String url = resultBean.getData(); + imagePath = url; + String realPath = StringHelper.appendCompleteURL(url); + + ArrayList urls = new ArrayList<>(); + urls.add(realPath); + + binding.showPictureView.setVisibility(View.VISIBLE); + binding.showPictureView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (urls.get(0).isEmpty()) { + StringKit.show(context, "图片加载失败,无法查看大图"); + } else { + ContextKit.navigatePageTo(context, BigImageActivity.class, 0, urls); + } + } + }); + } + } + }); + toiletViewModel = new ViewModelProvider(this).get(ToiletViewModel.class); + toiletViewModel.cleanToiletModel.observe(this, new Observer() { + @Override + public void onChanged(ActionResultBean resultBean) { + if (resultBean.getCode() == 200) { + new SignInDialog.Builder() + .setContext(context) + .setTitle("保洁保卡成功") + .setAddress(binding.locationStreetView.getText().toString()) + .setOnDialogClickListener(new SignInDialog.OnDialogClickListener() { + @Override + public void onViewClick() { + ContextKit.navigatePageTo(context, CleaningRecordsActivity.class); + finish(); + } + }).build().show(); + } + } + }); String systemTime = LongKit.timestampToCompleteDate(System.currentTimeMillis()); //默认显示结束时间 @@ -117,21 +206,6 @@ } } }, false); - binding.mapView.setAttributionTextVisible(false);//去掉左下角属性标识 - binding.mapView.setViewpointScaleAsync(8000); - - ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); - //创建底图、并设置底图图层 - Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); - arcGISMap.setBasemap(basemap); - binding.mapView.setMap(arcGISMap); - - //公厕图层 - ServiceFeatureTable featureTable = ArcGisMapCreator.createOtherFeatureTable("公共厕所"); - featureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); - FeatureLayer toiletLayer = new FeatureLayer(featureTable); - arcGISMap.getOperationalLayers().add(toiletLayer); - binding.mapView.setMap(arcGISMap); } @Override @@ -238,43 +312,6 @@ }); } }); - uploadViewModel.imageModel.observe(this, new Observer() { - @Override - public void onChanged(ActionResultBean resultBean) { - if (resultBean.getCode() == 200) { - String url = resultBean.getData(); - imagePath = url; - String realPath = StringHelper.appendCompleteURL(url); - - ArrayList urls = new ArrayList<>(); - urls.add(realPath); - - binding.showPictureView.setVisibility(View.VISIBLE); - binding.showPictureView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (urls.get(0).isEmpty()) { - StringKit.show(context, "图片加载失败,无法查看大图"); - } else { - ContextKit.navigatePageTo(context, BigImageActivity.class, 0, urls); - } - } - }); - } - } - }); - uploadViewModel.loadState.observe(this, new Observer() { - @Override - public void onChanged(LoadState loadState) { - if (loadState == LoadState.Loading) { - StringKit.show(PublicToiletActivity.this, "上传中,请稍后..."); - } else { - TextPaint textPaint = binding.showPictureView.getPaint(); - textPaint.setFlags(Paint.UNDERLINE_TEXT_FLAG); //下划线 - textPaint.setAntiAlias(true);//抗锯齿 - } - } - }); binding.signInButton.setChangeAlphaWhenPress(true); binding.signInButton.setOnClickListener(new View.OnClickListener() { @@ -312,34 +349,6 @@ }, true); } }); - toiletViewModel.cleanToiletModel.observe(this, new Observer() { - @Override - public void onChanged(ActionResultBean resultBean) { - if (resultBean.getCode() == 200) { - new SignInDialog.Builder() - .setContext(context) - .setTitle("保洁保卡成功") - .setAddress(binding.locationStreetView.getText().toString()) - .setOnDialogClickListener(new SignInDialog.OnDialogClickListener() { - @Override - public void onViewClick() { - ContextKit.navigatePageTo(context, CleaningRecordsActivity.class); - finish(); - } - }).build().show(); - } - } - }); - toiletViewModel.loadState.observe(this, new Observer() { - @Override - public void onChanged(LoadState loadState) { - if (loadState == LoadState.Loading) { - LoadingDialog.show(PublicToiletActivity.this, "处理中,请稍后"); - } else { - LoadingDialog.dismiss(); - } - } - }); } private void addPictureMarker(Point point) { diff --git a/app/src/main/res/layout/activity_clean_records.xml b/app/src/main/res/layout/activity_clean_records.xml index 5857e8e..566319a 100644 --- a/app/src/main/res/layout/activity_clean_records.xml +++ b/app/src/main/res/layout/activity_clean_records.xml @@ -7,19 +7,25 @@ android:background="@color/white" android:orientation="vertical"> - + - +