From 21e38bfe17d3077d7ab0e05ee065f59547536692 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期二, 03 十二月 2024 10:33:19 +0800
Subject: [PATCH] 1.添加当前巡检状态的功能。 2.修复工单界面刷新已完成列表导致未完成列表数据被清除的bug
---
app/src/main/assets/js/map.js | 51 ++++++++++-------
app/src/main/java/com/dayu/pipirrapp/fragment/OrderFragment.java | 76 ++++++++++---------------
app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java | 22 +++++--
3 files changed, 76 insertions(+), 73 deletions(-)
diff --git a/app/src/main/assets/js/map.js b/app/src/main/assets/js/map.js
index 1f20526..f149f39 100644
--- a/app/src/main/assets/js/map.js
+++ b/app/src/main/assets/js/map.js
@@ -30,12 +30,12 @@
"&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=d8beed89b43160a9a185e5aff431f85d";
//鍒涘缓鑷畾涔夊浘灞傚璞�
//褰卞儚娉ㄨ锛堝湴鍥句笂鐨勫湴鍧�锛�
- var imgURL2 ="http://t0.tianditu.gov.cn/cia_w/wmts?" +"SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cia&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles" +
- "&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}" +
- "&tk=d8beed89b43160a9a185e5aff431f85d";
+ var imgURL2 = "http://t0.tianditu.gov.cn/cia_w/wmts?" + "SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cia&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles" +
+ "&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}" +
+ "&tk=d8beed89b43160a9a185e5aff431f85d";
var lay = new T.TileLayer(imageURL, { minZoom: 6, maxZoom: 18 });
var lay2 = new T.TileLayer(imgURL2, { minZoom: 6, maxZoom: 18 });
- var config = { layers: [lay,lay2] };
+ var config = { layers: [lay, lay2] };
map = new T.Map("mapDiv", config);
var scale = new T.Control.Scale();
//娣诲姞姣斾緥灏烘帶浠�
@@ -153,8 +153,8 @@
//璁剧疆鍦板浘涓績鐐�
- function setCenterAndZoom(lng, lat,thiszoom) {
- zoom=thiszoom;
+ function setCenterAndZoom(lng, lat, thiszoom) {
+ zoom = thiszoom;
console.log("function銆嬨�嬨�嬨�嬨�媠etCenterAndZoom>>>>lng:" + lng + ",lat:" + lat);
map.centerAndZoom(new T.LngLat(lng, lat), zoom);
}
@@ -166,7 +166,7 @@
window.showToast = showToast;
window.addMarker = addMarker;
window.setCenterAndZoom = setCenterAndZoom;
- window.updateLocation=updateLocation;
+ window.updateLocation = updateLocation;
}
// 璋冪敤鍘熺敓瀹夊崜鏂规硶鏄剧ず鍙栨按鍙h鎯�
@@ -260,7 +260,7 @@
position: marker.getLngLat(),
offset: new T.Point(-35, 8), // 璁剧疆鏍囨敞鏂囧瓧鐨勪綅缃�
opacity: 1, // 璁剧疆鏂囨湰鐨勬樉绀轰笉閫忔槑搴︼紙鑼冨洿0-1锛�
- });
+ });
label.setBorderLine(0); // 璁剧疆鏂囨湰鐨勮竟妗嗙嚎瀹�
label.setBackgroundColor("transparent"); // 璁剧疆鏂囨湰鐨勮儗鏅壊锛堥�忔槑鑹诧級
label.setFontColor("#0000FF");
@@ -270,23 +270,32 @@
return "addMarker鍔犺浇鎴愬姛"
}
//淇濆瓨瀹氫綅鍧愭爣鐢熸垚杞ㄨ抗
- var path=[];
+ var path = [];
var lineLayer = new T.Polyline([], { color: '#ff4500', weight: 3, opacity: 0.8 });
-
- function updateLocation(log,lat){
- var lastLat=lat;
+ let locationMarker;
+ function updateLocation(log, lat) {
+ var lastLat = lat;
// const intervalId = setInterval(() => {
- // lastLat=lastLat+0.0001;
- var newPoint = new T.LngLat(log,lastLat);
- path.push(newPoint);
- lineLayer.setLngLats(path);
- map.addOverLay(lineLayer);
- // 绉诲姩鍦板浘瑙嗚鍒版渶鍚庝竴涓綅缃�
- map.panTo(newPoint);
+ // lastLat=lastLat+0.0001;
+ var newPoint = new T.LngLat(log, lastLat);
+ path.push(newPoint);
+ lineLayer.setLngLats(path);
+ map.addOverLay(lineLayer);
+ let icon = new T.Icon({
+ iconUrl: locationIMGPath,
+ iconSize: new T.Point(27, 27),
+ iconAnchor: new T.Point(13, 20)
+ });
+ if (locationMarker) {
+ map.removeOverLay(locationMarker);
+ }
+ locationMarker = new T.Marker(new T.LngLat(log, lastLat), { icon: icon });
+ map.addOverLay(locationMarker);
+ // 绉诲姩鍦板浘瑙嗚鍒版渶鍚庝竴涓綅缃�
+ map.panTo(newPoint);
// }, 500);
-
+
}
})();
-
\ No newline at end of file
diff --git a/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java b/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java
index 0cb878e..73b3946 100644
--- a/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java
+++ b/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java
@@ -6,6 +6,7 @@
import android.content.Context;
import android.content.Intent;
+import android.content.res.Resources;
import android.location.LocationManager;
import android.os.Build;
import android.os.Bundle;
@@ -486,7 +487,7 @@
//鍏抽棴瀹氫綅
this.getActivity().stopService(location);
break;
- case 1:
+ case InspectionUtils.STAT_INSPECTION://1寮�濮�
//娣诲姞鏂扮殑宸℃璁板綍
startInspection();
//鑾峰彇瀹氫綅鏈嶅姟浼犺繃鏉ョ殑鍧愭爣鐐�
@@ -504,15 +505,21 @@
}
mInspectionBean = InspectionUtils.startInspection(this.getContext());
inspectionRequest = new InspectionRequest();
+ SharedPreferencesHelper.getInstance(this.getContext()).put(CommonKeyName.inspectionState, InspectionUtils.STAT_INSPECTION);
break;
case 2://鏆傚仠
- LiveEventBus.get(CommonKeyName.locationData).removeObserver(locationObserver);
- //鍏抽棴瀹氫綅
- this.getActivity().stopService(location);
- binding.stateText.setText("宸叉殏鍋滃贰妫�");
- binding.inspectPause.setText("缁х画");
- binding.inspectRL.setBackgroundColor(this.getContext().getResources().getColor(R.color.inspect_rl_bg_color));
+ try {
+ LiveEventBus.get(CommonKeyName.locationData).removeObserver(locationObserver);
+ //鍏抽棴瀹氫綅
+ this.getActivity().stopService(location);
+ binding.stateText.setText("宸叉殏鍋滃贰妫�");
+ binding.inspectPause.setText("缁х画");
+ binding.inspectRL.setBackgroundColor(this.getContext().getResources().getColor(R.color.inspect_rl_bg_color));
+ SharedPreferencesHelper.getInstance(this.getContext()).put(CommonKeyName.inspectionState, InspectionUtils.PAUSE_INSPECTION);
+ } catch (Resources.NotFoundException e) {
+ e.printStackTrace();
+ }
break;
case 3:
ConfirmDialog confirmDialog = new ConfirmDialog(MapFragment.this.getActivity(), "鎻愮ず", "纭鍏抽棴宸℃鍚楋紵", new ConfirmDialog.ConfirmOnClickListener() {
@@ -520,6 +527,7 @@
public void onClick(ConfirmDialog confirmDialog, View v) {
confirmDialog.dismiss();
chageInspecState(InspectionUtils.NO_INSPECTION);
+ SharedPreferencesHelper.getInstance(MapFragment.this.getContext()).put(CommonKeyName.inspectionState, InspectionUtils.NO_INSPECTION);
}
});
confirmDialog.show();
diff --git a/app/src/main/java/com/dayu/pipirrapp/fragment/OrderFragment.java b/app/src/main/java/com/dayu/pipirrapp/fragment/OrderFragment.java
index c0efb85..2405d79 100644
--- a/app/src/main/java/com/dayu/pipirrapp/fragment/OrderFragment.java
+++ b/app/src/main/java/com/dayu/pipirrapp/fragment/OrderFragment.java
@@ -49,6 +49,7 @@
FragmentOrderBinding binding;
OrderAdapter mAdapter;
+ OrderAdapter mDoneAdapter;
int page = 1;
int pageSize = 10;
int state = 1;
@@ -82,11 +83,8 @@
binding = FragmentOrderBinding.inflate(inflater, container, false);
initView();
//鑾峰彇瀹氫綅鏈嶅姟浼犺繃鏉ョ殑鍧愭爣鐐�
- LiveEventBus.get(CommonKeyName.MQTTData).observeForever(new Observer<Object>() {
- @Override
- public void onChanged(Object o) {
+ LiveEventBus.get(CommonKeyName.MQTTData).observeForever(o -> {
- }
});
@@ -96,42 +94,30 @@
void initView() {
//鏈畬鎴�
- binding.manageStateProgress.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- chooseStateView(true);
- state = STATE_UNDONE;//1 鏈紑濮� 2 宸插畬鎴�
+ binding.manageStateProgress.setOnClickListener(v -> {
+ chooseStateView(true);
+ state = STATE_UNDONE;//1 鏈紑濮� 2 宸插畬鎴�
- }
});
//宸插畬鎴�
- binding.manageStateFinish.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- chooseStateView(false);
- state = STATE_DONE;//1 鏈紑濮� 2 宸插畬鎴�
- }
+ binding.manageStateFinish.setOnClickListener(v -> {
+ chooseStateView(false);
+ state = STATE_DONE;//1 鏈紑濮� 2 宸插畬鎴�
});
//鏈畬鎴�
RefreshLayout myRefreshLayout = (RefreshLayout) binding.refreshLayout;
myRefreshLayout.setRefreshHeader(new ClassicsHeader(this.getContext()));
myRefreshLayout.setRefreshFooter(new ClassicsFooter(this.getContext()));
- myRefreshLayout.setOnRefreshListener(new OnRefreshListener() {
- @Override
- public void onRefresh(RefreshLayout refreshlayout) {
+ myRefreshLayout.setOnRefreshListener(refreshlayout -> {
// refreshlayout.finishRefresh(2000/*,false*/);//浼犲叆false琛ㄧず鍒锋柊澶辫触
- recordsList.clear();
- page = 0;
- getMarkerData(refreshlayout, true, STATE_UNDONE);
- }
+ recordsList.clear();
+ page = 0;
+ getMarkerData(refreshlayout, true, STATE_UNDONE);
});
- myRefreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
- @Override
- public void onLoadMore(RefreshLayout refreshlayout) {
- page = page + 1;
- getMarkerData(refreshlayout, false, STATE_UNDONE);
- }
+ myRefreshLayout.setOnLoadMoreListener(refreshlayout -> {
+ page = page + 1;
+ getMarkerData(refreshlayout, false, STATE_UNDONE);
});
mAdapter = new OrderAdapter(this.getContext(), recordsList, this);
@@ -143,26 +129,20 @@
RefreshLayout myRefreshLayoutDone = (RefreshLayout) binding.refreshLayoutDone;
myRefreshLayoutDone.setRefreshHeader(new ClassicsHeader(this.getContext()));
myRefreshLayoutDone.setRefreshFooter(new ClassicsFooter(this.getContext()));
- myRefreshLayoutDone.setOnRefreshListener(new OnRefreshListener() {
- @Override
- public void onRefresh(RefreshLayout refreshlayout) {
+ myRefreshLayoutDone.setOnRefreshListener(refreshlayout -> {
// refreshlayout.finishRefresh(2000/*,false*/);//浼犲叆false琛ㄧず鍒锋柊澶辫触
- recordsList.clear();
- page = 0;
- getMarkerData(refreshlayout, true, STATE_DONE);
- }
+ recordsListDone.clear();
+ page = 0;
+ getMarkerData(refreshlayout, true, STATE_DONE);
});
- myRefreshLayoutDone.setOnLoadMoreListener(new OnLoadMoreListener() {
- @Override
- public void onLoadMore(RefreshLayout refreshlayout) {
- page = page + 1;
- getMarkerData(refreshlayout, false, STATE_DONE);
- }
+ myRefreshLayoutDone.setOnLoadMoreListener(refreshlayout -> {
+ page = page + 1;
+ getMarkerData(refreshlayout, false, STATE_DONE);
});
- mAdapter = new OrderAdapter(this.getContext(), recordsListDone, this);
+ mDoneAdapter = new OrderAdapter(this.getContext(), recordsListDone, this);
LinearLayoutManager layoutManagerDone = new LinearLayoutManager(this.getContext());
binding.recyclerViewDone.setLayoutManager(layoutManagerDone);
- binding.recyclerViewDone.setAdapter(mAdapter);
+ binding.recyclerViewDone.setAdapter(mDoneAdapter);
getMarkerData(myRefreshLayoutDone, true, 2);
}
@@ -218,7 +198,13 @@
public void onCloose() {
super.onCloose();
layoutFinish(refreshlayout, isRefresh);
- mAdapter.notifyDataSetChanged();
+ if (state == STATE_UNDONE) {
+ mAdapter.notifyDataSetChanged();
+ } else {
+ mDoneAdapter.notifyDataSetChanged();
+ }
+
+
}
});
--
Gitblit v1.8.0