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