From ec6193939600ca7930193b1d5942b1700baf9e06 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期五, 21 二月 2025 09:20:15 +0800
Subject: [PATCH] 1.巡检记录列表页的实现 2.巡检记录地图展示路径的详情页。 3.处理巡检记录详情页因打开同一个网址导致的webView不显示问题。 4.实现地图页搜索后的地图跳转功能。 5.巡检记录详情页数据加载的优化,默认加载本地数据,当本地没有数据时从服务端获取数据。

---
 app/src/main/java/com/dayu/pipirrapp/dao/InspectionLocationDao.java      |    9 
 app/src/main/res/layout/activity_inspect_list.xml                        |   25 +
 app/src/main/java/com/dayu/pipirrapp/activity/InspectDetailActivity.java |  251 +++++++++++++++
 app/src/main/java/com/dayu/pipirrapp/adapter/InspectAdapter.java         |   92 +++++
 app/src/main/java/com/dayu/pipirrapp/fragment/MyFragment.java            |    7 
 app/src/main/assets/js/map.js                                            |   43 ++
 app/src/main/java/com/dayu/pipirrapp/bean/db/SearchResultBean.java       |   70 ++++
 app/src/main/java/com/dayu/pipirrapp/activity/OrderDealActivity.java     |   11 
 app/src/main/res/layout/activity_inspect_detail.xml                      |   15 
 app/src/main/res/layout/item_inspect.xml                                 |   45 ++
 app/src/main/AndroidManifest.xml                                         |    2 
 app/src/main/assets/img/marker_blue_start.svg                            |    9 
 app/src/main/java/com/dayu/pipirrapp/tool/InspectionUtils.java           |    2 
 app/src/main/res/layout/dialog_search_result.xml                         |    1 
 app/src/main/assets/img/marker_blue_end.svg                              |    9 
 app/src/main/java/com/dayu/pipirrapp/utils/CommonData.java               |   14 
 app/src/main/res/drawable/ic_pipenetwork_line.xml                        |    8 
 app/src/main/java/com/dayu/pipirrapp/bean/net/InspectListResult.java     |   59 +++
 app/src/main/java/com/dayu/pipirrapp/dao/InspectionDao.java              |   10 
 app/src/main/res/layout/fragment_my.xml                                  |   26 +
 app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java           |    3 
 app/src/main/java/com/dayu/pipirrapp/bean/net/InspectResult.java         |   89 +++++
 app/src/main/java/com/dayu/pipirrapp/activity/InspectListActivity.java   |  141 ++++++++
 23 files changed, 915 insertions(+), 26 deletions(-)

diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7f4bbfe..090e664 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -109,6 +109,8 @@
         <activity android:name=".activity.AddIssueActivity" />
         <activity android:name=".activity.IssueListActivity" />
         <activity android:name=".activity.IssueDetailActivity" />
+        <activity android:name=".activity.InspectListActivity"/>
+        <activity android:name=".activity.InspectDetailActivity"/>
 
 
         <!--        <activity android:name=".activity.MainActivity" />-->
diff --git a/app/src/main/assets/img/marker_blue_end.svg b/app/src/main/assets/img/marker_blue_end.svg
new file mode 100644
index 0000000..ad4cc14
--- /dev/null
+++ b/app/src/main/assets/img/marker_blue_end.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px"
+    viewBox="0 0 24 24" width="24px" fill="#D81E06">
+    <rect fill="none" height="24" width="24" />
+    <path
+        d="M12,2L12,2C8.13,2,5,5.13,5,9c0,1.74,0.5,3.37,1.41,4.84c0.95,1.54,2.2,2.86,3.16,4.4c0.47,0.75,0.81,1.45,1.17,2.26 C11,21.05,11.21,22,12,22h0c0.79,0,1-0.95,1.25-1.5c0.37-0.81,0.7-1.51,1.17-2.26c0.96-1.53,2.21-2.85,3.16-4.4 C18.5,12.37,19,10.74,19,9C19,5.13,15.87,2,12,2z" />
+    <text x="12" y="12" text-anchor="middle" fill="white" font-size="8"
+        font-family="Arial, sans-serif">缁�
+    </text>
+</svg>
\ No newline at end of file
diff --git a/app/src/main/assets/img/marker_blue_start.svg b/app/src/main/assets/img/marker_blue_start.svg
new file mode 100644
index 0000000..d1c101b
--- /dev/null
+++ b/app/src/main/assets/img/marker_blue_start.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px"
+    viewBox="0 0 24 24" width="24px" fill="#1890FF">
+    <rect fill="none" height="24" width="24" />
+    <path
+        d="M12,2L12,2C8.13,2,5,5.13,5,9c0,1.74,0.5,3.37,1.41,4.84c0.95,1.54,2.2,2.86,3.16,4.4c0.47,0.75,0.81,1.45,1.17,2.26 C11,21.05,11.21,22,12,22h0c0.79,0,1-0.95,1.25-1.5c0.37-0.81,0.7-1.51,1.17-2.26c0.96-1.53,2.21-2.85,3.16-4.4 C18.5,12.37,19,10.74,19,9C19,5.13,15.87,2,12,2z" />
+    <text x="12" y="12" text-anchor="middle" fill="white" font-size="8"
+        font-family="Arial, sans-serif">璧�
+    </text>
+</svg>
\ No newline at end of file
diff --git a/app/src/main/assets/js/map.js b/app/src/main/assets/js/map.js
index af17e60..aed2047 100644
--- a/app/src/main/assets/js/map.js
+++ b/app/src/main/assets/js/map.js
@@ -8,7 +8,9 @@
             MARKER_BLUE: 'img/marker_blue.svg',
             CENTER_PIN: 'img/push_pin.svg',
             DIVIDE_BLUE: 'img/divide_home_blue.svg',
-            DIVIDE_RED: 'img/divide_home_red.svg'
+            DIVIDE_RED: 'img/divide_home_red.svg',
+            MARKER_START: 'img/marker_blue_start.svg',
+            MARKER_END: 'img/marker_blue_end.svg'
         },
         MAP: {
             DEFAULT_ZOOM: 12,
@@ -56,6 +58,7 @@
         window.showAllWaterIntakes = showAllWaterIntakes;
         window.hideAllDivides = hideAllDivides;
         window.showAllDivides = showAllDivides;
+        window.showHistoryLocation = showHistoryLocation;
     }
 
 
@@ -143,7 +146,7 @@
 
     // 鎵嬫満鑾峰彇鍒板畾浣嶅悗鏄剧ず瀹氫綅
     function locationOverLay(lng, lag) {
-//        console.log("function銆嬨�嬨�嬨�嬨�媗ocationOverLay");
+        //        console.log("function銆嬨�嬨�嬨�嬨�媗ocationOverLay");
         map.centerAndZoom(new T.LngLat(lng, lag), map.getZoom());
         let icon = new T.Icon({
             iconUrl: CONFIG.IMAGES.LOCATION,
@@ -161,7 +164,7 @@
     //璁剧疆鍦板浘涓績鐐�
     function setCenterAndZoom(lng, lat, thiszoom) {
         zoom = thiszoom;
-//        console.log("function銆嬨�嬨�嬨�嬨�媠etCenterAndZoom>>>>lng:" + lng + ",lat:" + lat);
+        //        console.log("function銆嬨�嬨�嬨�嬨�媠etCenterAndZoom>>>>lng:" + lng + ",lat:" + lat);
         map.centerAndZoom(new T.LngLat(lng, lat), zoom);
     }
 
@@ -322,7 +325,7 @@
         },
 
         addPoint(lng, lat, isNewLine, isShow) {
-//            console.log(`Adding point: ${lng}, ${lat}, isNewLine: ${isNewLine}`); // 娣诲姞鏃ュ織
+            //            console.log(`Adding point: ${lng}, ${lat}, isNewLine: ${isNewLine}`); // 娣诲姞鏃ュ織
 
             const point = new T.LngLat(lng, lat);
 
@@ -352,7 +355,7 @@
         },
 
         showAll() {
-//            console.log("showAllpipe" + this.lines.length);
+            //            console.log("showAllpipe" + this.lines.length);
             this.lines.forEach(line => {
                 if (line.overlay) {
                     map.addOverLay(line.overlay);
@@ -362,7 +365,7 @@
         },
 
         hideAll() {
-//            console.log("hideAllpipe" + this.lines.length);
+            //            console.log("hideAllpipe" + this.lines.length);
             this.lines.forEach(line => {
                 if (line.overlay) {
                     map.removeOverLay(line.overlay);
@@ -610,5 +613,31 @@
             map.addOverLay(item.label);
         });
     }
+    var historyPoint = [];
+    //鏄剧ず鍘嗗彶宸℃璁板綍
+    function showHistoryLocation(lng, lat, start, end) {
+        // 璋冪敤 Android 鎻愪緵鐨勬帴鍙o紝鑾峰彇鏁版嵁
+        console.log("aginShowLocation>>lng:" + lng + ">>>lat:" + lat+">>>start:"+start+">>>end:"+end);
+        var newPoint = new T.LngLat(lng, lat);
+        historyPoint.push(newPoint);
+        if (start === "true" || start === true) {
+            map.panTo(newPoint);
+            let marker = new T.Marker(
+                newPoint,
+                { icon: createIcon(CONFIG.IMAGES.MARKER_START, 35) }
+            );
+            map.addOverLay(marker);
+        } else if (end === "true" || end === true) {
+            let marker = new T.Marker(
+                newPoint,
+                { icon: createIcon(CONFIG.IMAGES.MARKER_END, 35) }
+            );
+            map.addOverLay(marker);
+        }
+        oldLineLayer.setLngLats(historyPoint);
+        map.addOverLay(oldLineLayer);
+    }
 
-})();
+}
+
+)();
diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/InspectDetailActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/InspectDetailActivity.java
new file mode 100644
index 0000000..3c33518
--- /dev/null
+++ b/app/src/main/java/com/dayu/pipirrapp/activity/InspectDetailActivity.java
@@ -0,0 +1,251 @@
+package com.dayu.pipirrapp.activity;
+
+
+import android.os.Build;
+import android.os.Bundle;
+import android.util.Log;
+import android.webkit.ConsoleMessage;
+import android.webkit.WebChromeClient;
+import android.webkit.WebResourceError;
+import android.webkit.WebResourceRequest;
+import android.webkit.WebResourceResponse;
+import android.webkit.WebSettings;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
+
+import androidx.annotation.Nullable;
+
+import com.dayu.pipirrapp.R;
+import com.dayu.pipirrapp.bean.db.InspectionLocationBean;
+import com.dayu.pipirrapp.dao.DaoSingleton;
+import com.dayu.pipirrapp.net.ApiManager;
+import com.dayu.pipirrapp.utils.CommonData;
+import com.dayu.pipirrapp.utils.MapJpgUtils;
+import com.dayu.pipirrapp.view.TitleBar;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.util.List;
+
+import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
+import io.reactivex.rxjava3.schedulers.Schedulers;
+
+/**
+ * InspectDetailActivity - 宸℃璇︽儏椤�
+ *
+ * @author zuoxiao
+ * @version 1.0
+ * @since 2025-02-20
+ */
+public class InspectDetailActivity extends BaseActivity {
+
+    WebView mWebView;
+    String inspectId;
+    List<InspectionLocationBean> aginShowlocationBeans;
+    boolean webViewIsFinished;
+
+    @Override
+    protected void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        inspectId = getIntent().getStringExtra("inspectId");
+        setContentView(R.layout.activity_inspect_detail);
+        new TitleBar(this).setTitleText("宸℃璇︽儏").setLeftIco().setLeftIcoListening(v -> InspectDetailActivity.this.finish());
+        mWebView = findViewById(R.id.InspectWebView);
+
+        Log.d("InspectDetail", "寮�濮嬪垵濮嬪寲WebView");
+
+        // 鍒濆鍖朩ebView璁剧疆
+        WebSettings webSettings = mWebView.getSettings();
+        mWebView.clearCache(true);
+        webSettings.setJavaScriptEnabled(true);
+        webSettings.setAllowFileAccess(true);
+        webSettings.setAllowFileAccessFromFileURLs(true);
+        webSettings.setAllowUniversalAccessFromFileURLs(true);
+        webSettings.setDomStorageEnabled(true);
+        webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);
+        webSettings.setDefaultTextEncodingName("utf-8");
+        webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
+        webSettings.setBlockNetworkImage(false);
+        webSettings.setBlockNetworkLoads(false);
+        webSettings.setDatabaseEnabled(true);
+        webSettings.setGeolocationEnabled(true);
+
+        // 璁剧疆鐙珛鐨勬暟鎹洰褰�
+        File cacheDir = new File(getDir("webview", MODE_PRIVATE), "cache");
+        if (!cacheDir.exists()) {
+            cacheDir.mkdirs();
+        }
+        webSettings.setDatabasePath(cacheDir.getAbsolutePath());
+        webSettings.setGeolocationDatabasePath(cacheDir.getAbsolutePath());
+
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
+            WebView.setWebContentsDebuggingEnabled(true);
+        }
+
+        initWeb();
+        Log.d("InspectDetail", "寮�濮嬪姞杞紿TML椤甸潰");
+        mWebView.loadUrl("file:///android_asset/index.html");
+        showLocation();
+    }
+
+    @Override
+    protected void onDestroy() {
+        if (mWebView != null) {
+            mWebView.loadUrl("about:blank");
+            mWebView.clearHistory();
+            mWebView.clearCache(true);
+            mWebView.removeAllViews();
+            mWebView.destroy();
+            mWebView = null;
+        }
+        super.onDestroy();
+    }
+
+    @Override
+    protected void onPause() {
+        super.onPause();
+        if (mWebView != null) {
+            mWebView.onPause();
+            mWebView.pauseTimers();
+        }
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        if (mWebView != null) {
+            mWebView.onResume();
+            mWebView.resumeTimers();
+        }
+    }
+
+    private void initWeb() {
+        mWebView.setWebViewClient(new WebViewClient() {
+            @Override
+            public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
+                String url = request.getUrl().toString();
+                //鍒ゆ柇褰撳墠鏄惁涓哄姞杞界摝鐗�
+                if (MapJpgUtils.getInsatance().isTianDiTuTileRequest(url)) {
+                    String androidUrl = url.replace(CommonData.webKey, CommonData.androidKey);
+                    // 妫�鏌ユ湰鍦扮紦瀛�
+                    File cachedTile = MapJpgUtils.getInsatance().getCachedTile(androidUrl);
+                    if (cachedTile != null && cachedTile.exists()) {
+//                        Log.d(TAG, "鏈湴缂撳瓨>>>" + androidUrl);
+//                        if (MapJpgUtils.getInsatance().validateImageFile(androidUrl,request.))
+                        // 鍒ゆ柇缂撳瓨鏄惁杩囨湡
+//                    if (!MapJpgUtils.getInsatance(MapFragment.this.getContext()).isCacheExpired(cachedTile)) {
+                        try {
+                            // 浠庣紦瀛樺姞杞界摝鐗�
+                            return new WebResourceResponse("image/jpg", "utf-8", new FileInputStream(cachedTile));
+                        } catch (FileNotFoundException e) {
+                            e.printStackTrace();
+                        }
+//                    }
+                    } else {
+                        //涓嬭浇鐡︾墖
+                        ApiManager.getInstance().donwLoadTile(InspectDetailActivity.this, androidUrl);
+                    }
+                }
+                return super.shouldInterceptRequest(view, request);
+            }
+
+            @Override
+            public void onReceivedError(WebView view, WebResourceRequest
+                    request, WebResourceError error) {
+                super.onReceivedError(view, request, error);
+                String url = request.getUrl().toString();
+                int errorCode = error.getErrorCode();
+                String description = error.getDescription().toString();
+
+                Log.e("InspectDetail", String.format("鍔犺浇閿欒 - URL: %s\n閿欒鐮�: %d\n鎻忚堪: %s",
+                        url, errorCode, description));
+            }
+
+            @Override
+            public void onReceivedHttpError(WebView view, WebResourceRequest
+                    request, WebResourceResponse errorResponse) {
+                super.onReceivedHttpError(view, request, errorResponse);
+                String url = request.getUrl().toString();
+                int statusCode = errorResponse.getStatusCode();
+                String description = errorResponse.getReasonPhrase();
+
+                Log.e("InspectDetail", String.format("HTTP閿欒 - URL: %s\n鐘舵�佺爜: %d\n鎻忚堪: %s",
+                        url, statusCode, description));
+            }
+
+            @Override
+            public void onPageFinished(WebView view, String url) {
+                super.onPageFinished(view, url);
+                Log.d("InspectDetail", "椤甸潰鍔犺浇瀹屾垚: " + url);
+                webViewIsFinished = true;
+                // 娉ㄥ叆涓�涓爣璇嗭紝閬垮厤涓嶮apFragment鍐茬獊
+                mWebView.evaluateJavascript(
+                        "window.WEBVIEW_TYPE = 'INSPECT_DETAIL';",
+                        null
+                );
+                aginShowLocation(null);
+            }
+        });
+
+        mWebView.setWebChromeClient(new WebChromeClient() {
+            @Override
+            public boolean onConsoleMessage(ConsoleMessage consoleMessage) {
+                Log.d("InspectDetail", "Console: " + consoleMessage.message() +
+                        " at " + consoleMessage.sourceId() + ":" + consoleMessage.lineNumber());
+                return true;
+            }
+        });
+    }
+
+    /**
+     * 鍔犺浇宸℃璁板綍
+     */
+    private void showLocation() {
+        // 鏌ヨ褰撳墠鏈叧闂殑宸℃璁板綍涓嬫墍鏈夌殑鍧愭爣
+        DaoSingleton.getAsynchInstance(this).inspectionLocationDao().findByInspectId(inspectId).subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread()).subscribe(inspectionLocationBeans -> {
+                    aginShowLocation(inspectionLocationBeans);
+                });
+    }
+
+    /**
+     * 鎰忓閫�鍑哄悗缁х画鏄剧ず涔嬪墠鐨勫潗鏍�
+     */
+    public void aginShowLocation(List<InspectionLocationBean> locationBeans) {
+        if (locationBeans != null) {
+            aginShowlocationBeans = locationBeans;
+        }
+        if (webViewIsFinished) {
+            if (aginShowlocationBeans != null) {
+                int index = 0;
+                int size = aginShowlocationBeans.size();
+                boolean isStart, isEnd;
+                for (InspectionLocationBean inspectionLocationBean : aginShowlocationBeans) {
+
+                    if (index == 0) {
+                        isStart = true;
+                    } else {
+                        isStart = false;
+                    }
+                    if (index == size - 1) {
+                        isEnd = true;
+                    } else {
+                        isEnd = false;
+                    }
+                    Log.i("mWebView", "showHistoryLocation" + inspectionLocationBean.getLng() + "\",\"" + inspectionLocationBean.getLat());
+                    mWebView.evaluateJavascript("javascript:showHistoryLocation(\"" + inspectionLocationBean.getLng() + "\",\"" + inspectionLocationBean.getLat() + "\",\"" + isStart + "\",\"" + isEnd + "\")", value -> {
+                    });
+                    index++;
+                }
+                // 鍚� WebView 娉ㄥ叆鏁版嵁
+                aginShowlocationBeans.clear();
+            }
+        }
+    }
+
+
+    public void getHttpLocation() {
+
+    }
+}
diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/InspectListActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/InspectListActivity.java
new file mode 100644
index 0000000..bb2de3b
--- /dev/null
+++ b/app/src/main/java/com/dayu/pipirrapp/activity/InspectListActivity.java
@@ -0,0 +1,141 @@
+package com.dayu.pipirrapp.activity;
+
+import android.os.Bundle;
+import android.view.LayoutInflater;
+
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.LinearLayoutManager;
+
+import com.dayu.pipirrapp.MyApplication;
+import com.dayu.pipirrapp.adapter.InspectAdapter;
+import com.dayu.pipirrapp.bean.net.InspectListResult;
+import com.dayu.pipirrapp.bean.net.InspectResult;
+import com.dayu.pipirrapp.databinding.ActivityInspectListBinding;
+import com.dayu.pipirrapp.net.ApiManager;
+import com.dayu.pipirrapp.net.BaseResponse;
+import com.dayu.pipirrapp.net.Constants;
+import com.dayu.pipirrapp.net.subscribers.SubscriberListener;
+import com.dayu.pipirrapp.utils.ToastUtil;
+import com.dayu.pipirrapp.view.TitleBar;
+import com.scwang.smart.refresh.footer.ClassicsFooter;
+import com.scwang.smart.refresh.header.ClassicsHeader;
+import com.scwang.smart.refresh.layout.api.RefreshLayout;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import io.reactivex.rxjava3.disposables.CompositeDisposable;
+
+/**
+ * InspectActivity - 宸℃璁板綍鍒楄〃
+ *
+ * @author zuoxiao
+ * @version 1.0
+ * @since 2025-02-17
+ */
+public class InspectListActivity extends BaseActivity {
+    private ActivityInspectListBinding binding;
+    private RefreshLayout myRefreshLayout;
+    private List<InspectResult> recordsList = new ArrayList<>();
+    private InspectAdapter mAdapter;
+    private CompositeDisposable compositeDisposable = new CompositeDisposable();
+
+    @Override
+    protected void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        binding = ActivityInspectListBinding.inflate(LayoutInflater.from(this));
+        setContentView(binding.getRoot());
+        initView();
+        getData(true);
+    }
+
+    private void initView() {
+        new TitleBar(this).setTitleText("宸℃璁板綍").setLeftIco().setLeftIcoListening(v -> InspectListActivity.this.finish());
+        myRefreshLayout = binding.refreshLayout;
+        myRefreshLayout.setRefreshHeader(new ClassicsHeader(this));
+        myRefreshLayout.setRefreshFooter(new ClassicsFooter(this));
+
+        myRefreshLayout.setOnRefreshListener(refreshlayout -> {
+            recordsList.clear();
+            getData(true);
+        });
+        myRefreshLayout.setOnLoadMoreListener(refreshlayout -> {
+            getData(false);
+        });
+
+        mAdapter = new InspectAdapter(this, recordsList);
+        LinearLayoutManager layoutManager = new LinearLayoutManager(this);
+        binding.recyclerView.setLayoutManager(layoutManager);
+        binding.recyclerView.setAdapter(mAdapter);
+    }
+
+//    private void getData(boolean isRefresh) {
+//        if (isRefresh) {
+//            recordsList.clear();
+//        }
+//
+//        compositeDisposable.add(
+//                DaoSingleton.getAsynchInstance(this).inspectionDao().findAll()
+//                .subscribeOn(Schedulers.io())
+//                .observeOn(AndroidSchedulers.mainThread())
+//                .subscribe(inspectionList -> {
+//                    if (inspectionList != null && !inspectionList.isEmpty()) {
+//                        recordsList.addAll(inspectionList);
+//                    }
+//                    mAdapter.notifyDataSetChanged();
+//                    layoutFinish(myRefreshLayout, isRefresh);
+//                }, throwable -> {
+//                    // 澶勭悊閿欒
+//                    layoutFinish(myRefreshLayout, isRefresh);
+//                })
+//        );
+//    }
+
+    private void getData(boolean isRefresh) {
+        Map<String, Object> params = new HashMap<>();
+        if (isRefresh) {
+            page = 1;
+            recordsList.clear();
+        }
+        params.put("pageSize", pageSize);
+        params.put("pageCurr", page);
+        params.put("inspectorId", MyApplication.myApplication.userId);
+
+        ApiManager.getInstance().requestGetHideLoading(this, Constants.BASE_URL + "/app/inspect/getInspectRecords", InspectListResult.class, params, new SubscriberListener<BaseResponse<InspectListResult>>() {
+            @Override
+            public void onNext(BaseResponse<InspectListResult> t) {
+                if (t.isSuccess()) {
+                    if (t.isSuccess()) {
+                        if (t.getContent().getObj() != null && t.getContent().getObj().size() > 0) {
+                            recordsList.addAll(t.getContent().getObj());
+                            if (t.getContent().getPageTotal() == page) {
+                                myRefreshLayout.finishLoadMoreWithNoMoreData();
+                            }
+                        } else {
+                            myRefreshLayout.finishLoadMoreWithNoMoreData();
+                        }
+                    }
+                } else {
+                    ToastUtil.showToast(InspectListActivity.this, t.getMsg());
+                }
+            }
+
+            @Override
+            public void onCloose() {
+                super.onCloose();
+                layoutFinish(myRefreshLayout, isRefresh);
+                mAdapter.notifyDataSetChanged();
+
+            }
+
+        });
+    }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        compositeDisposable.clear();
+    }
+}
diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/OrderDealActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/OrderDealActivity.java
index 411a8e2..3ff4f31 100644
--- a/app/src/main/java/com/dayu/pipirrapp/activity/OrderDealActivity.java
+++ b/app/src/main/java/com/dayu/pipirrapp/activity/OrderDealActivity.java
@@ -76,6 +76,7 @@
     AddPictureAdapter mAdapter;
     int maxSelectNum = 10;//鏈�澶х収鐗�
     int maxSelectVideoNum = 0;//鏈�澶ц棰�
+    int videoMaxSecond = 60;
     private final List<LocalMedia> mData = new ArrayList<>();
     private ActivityResultLauncher<Intent> launcherResult;
     private ImageEngine imageEngine;
@@ -204,12 +205,20 @@
     private void mOpenPicture() {
         // 杩涘叆鐩稿唽
         PictureSelectionModel selectionModel = PictureSelector.create(this)
-                .openGallery(SelectMimeType.ofImage())
+                .openGallery(SelectMimeType.ofAll())
                 .setMaxSelectNum(maxSelectNum)
                 .setMaxVideoSelectNum(maxSelectVideoNum)
                 .setImageEngine(imageEngine)
                 //璁剧疆鍥剧墖鍘嬬缉
                 .setCompressEngine(new ImageFileCompressEngine())
+                //璁剧疆瑙嗛鍥剧墖涓�璧峰湪鐩稿唽閫夋嫨
+                .isWithSelectVideoImage(true)
+                //璁剧疆鏈�澶ц棰戞椂闀�
+                .setRecordVideoMaxSecond(videoMaxSecond)
+                // 杩囨护瑙嗛鏈�澶ф椂闀�
+                .setFilterVideoMaxSecond(videoMaxSecond)
+                // 鎷嶇収鏄惁绾犳鏃嬭浆鍥剧墖
+                .isCameraRotateImage(true)
                 .setSelectedData(mAdapter.getData());
 
         selectionModel.forResult(launcherResult);
diff --git a/app/src/main/java/com/dayu/pipirrapp/adapter/InspectAdapter.java b/app/src/main/java/com/dayu/pipirrapp/adapter/InspectAdapter.java
new file mode 100644
index 0000000..a8c74b3
--- /dev/null
+++ b/app/src/main/java/com/dayu/pipirrapp/adapter/InspectAdapter.java
@@ -0,0 +1,92 @@
+package com.dayu.pipirrapp.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.ViewGroup;
+
+import androidx.annotation.NonNull;
+import androidx.databinding.DataBindingUtil;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.dayu.pipirrapp.R;
+import com.dayu.pipirrapp.activity.InspectDetailActivity;
+import com.dayu.pipirrapp.activity.InspectListActivity;
+import com.dayu.pipirrapp.bean.net.InspectResult;
+import com.dayu.pipirrapp.databinding.ItemInspectBinding;
+import com.dayu.pipirrapp.databinding.ItemNoMoreBinding;
+
+import java.util.List;
+
+public class InspectAdapter extends BaseRecyclerAdapter<RecyclerView.ViewHolder> {
+    private InspectListActivity activity;
+    private List<InspectResult> list;
+
+    public InspectAdapter(InspectListActivity activity, List<InspectResult> list) {
+        this.activity = activity;
+        this.list = list;
+    }
+
+    @NonNull
+    @Override
+    public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+        if (viewType == VIEW_TYPE_EMPTY) {
+            ItemNoMoreBinding emptyView = DataBindingUtil.inflate((LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE),
+                    R.layout.item_no_more, parent, false);
+            return new BaseRecyclerAdapter.ViewHolderEmpty(emptyView);
+        } else {
+            ItemInspectBinding binding = DataBindingUtil.inflate((LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE),
+                    R.layout.item_inspect, parent, false);
+            return new ViewHolder(binding);
+        }
+    }
+
+    @Override
+    public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
+        if (holder instanceof ViewHolder && list != null && list.size() > 0) {
+            InspectResult item = list.get(position);
+            ViewHolder viewHolder = (ViewHolder) holder;
+            viewHolder.binding.tvInspectId.setText("宸℃ID: " + item.getInspectId());
+            viewHolder.binding.tvStartTime.setText("寮�濮嬫椂闂�: " + item.getStartTime());
+            viewHolder.binding.tvStopTime.setText("缁撴潫鏃堕棿: " + item.getStopTime());
+            viewHolder.binding.tvInspectDistance.setText("宸℃璺濈: " + item.getInspectDistance()+" KM");
+            
+            // 娣诲姞鐐瑰嚮浜嬩欢
+            viewHolder.itemView.setOnClickListener(v -> {
+                android.content.Intent intent = new android.content.Intent(activity, InspectDetailActivity.class);
+                intent.putExtra("inspectId", item.getInspectId());
+                activity.startActivity(intent);
+            });
+        }
+    }
+
+    @Override
+    public int getItemCount() {
+        if (list != null) {
+            if (list.size() == 0) {
+                return 1;
+            }
+            return list.size();
+        }
+        return 1;
+    }
+
+    @Override
+    public int getItemViewType(int position) {
+        if (list != null) {
+            if (list.size() == 0) {
+                return VIEW_TYPE_EMPTY;
+            }
+            return VIEW_TYPE_ITEM;
+        }
+        return VIEW_TYPE_EMPTY;
+    }
+
+    static class ViewHolder extends RecyclerView.ViewHolder {
+        ItemInspectBinding binding;
+
+        public ViewHolder(ItemInspectBinding binding) {
+            super(binding.getRoot());
+            this.binding = binding;
+        }
+    }
+} 
\ No newline at end of file
diff --git a/app/src/main/java/com/dayu/pipirrapp/bean/db/SearchResultBean.java b/app/src/main/java/com/dayu/pipirrapp/bean/db/SearchResultBean.java
new file mode 100644
index 0000000..d9cefc2
--- /dev/null
+++ b/app/src/main/java/com/dayu/pipirrapp/bean/db/SearchResultBean.java
@@ -0,0 +1,70 @@
+package com.dayu.pipirrapp.bean.db;
+
+/**
+ * 鎼滅储缁撴灉Bean
+ */
+public class SearchResultBean {
+    private String name;        // 鍚嶇О
+    private String type;        // 绫诲瀷锛歞ivide-鍒嗘按鎴匡紝marker-鍙栨按鍙�
+    private String lat;         // 绾害
+    private String lng;         // 缁忓害
+    private String address;     // 鍦板潃
+    private String id;          // ID
+
+    public SearchResultBean(String name, String type, String lat, String lng, String address, String id) {
+        this.name = name;
+        this.type = type;
+        this.lat = lat;
+        this.lng = lng;
+        this.address = address;
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getLat() {
+        return lat;
+    }
+
+    public void setLat(String lat) {
+        this.lat = lat;
+    }
+
+    public String getLng() {
+        return lng;
+    }
+
+    public void setLng(String lng) {
+        this.lng = lng;
+    }
+
+    public String getAddress() {
+        return address;
+    }
+
+    public void setAddress(String address) {
+        this.address = address;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+} 
\ No newline at end of file
diff --git a/app/src/main/java/com/dayu/pipirrapp/bean/net/InspectListResult.java b/app/src/main/java/com/dayu/pipirrapp/bean/net/InspectListResult.java
new file mode 100644
index 0000000..9495fb1
--- /dev/null
+++ b/app/src/main/java/com/dayu/pipirrapp/bean/net/InspectListResult.java
@@ -0,0 +1,59 @@
+package com.dayu.pipirrapp.bean.net;
+
+import java.util.List;
+
+/**
+ * InspectListResult -
+ *
+ * @author zuoxiao
+ * @version 1.0
+ * @since 2025-02-18
+ */
+public class InspectListResult {
+
+    int itemTotal;
+    int pageCurr;
+    int pageSize;
+    int pageTotal;
+    List<InspectResult> obj;
+
+    public int getItemTotal() {
+        return itemTotal;
+    }
+
+    public void setItemTotal(int itemTotal) {
+        this.itemTotal = itemTotal;
+    }
+
+    public int getPageCurr() {
+        return pageCurr;
+    }
+
+    public void setPageCurr(int pageCurr) {
+        this.pageCurr = pageCurr;
+    }
+
+    public int getPageSize() {
+        return pageSize;
+    }
+
+    public void setPageSize(int pageSize) {
+        this.pageSize = pageSize;
+    }
+
+    public int getPageTotal() {
+        return pageTotal;
+    }
+
+    public void setPageTotal(int pageTotal) {
+        this.pageTotal = pageTotal;
+    }
+
+    public List<InspectResult> getObj() {
+        return obj;
+    }
+
+    public void setObj(List<InspectResult> obj) {
+        this.obj = obj;
+    }
+}
diff --git a/app/src/main/java/com/dayu/pipirrapp/bean/net/InspectResult.java b/app/src/main/java/com/dayu/pipirrapp/bean/net/InspectResult.java
new file mode 100644
index 0000000..ba14340
--- /dev/null
+++ b/app/src/main/java/com/dayu/pipirrapp/bean/net/InspectResult.java
@@ -0,0 +1,89 @@
+package com.dayu.pipirrapp.bean.net;
+
+import java.util.List;
+
+/**
+ * InspectResult -
+ *
+ * @author zuoxiao
+ * @version 1.0
+ * @since 2025-02-19
+ */
+public class InspectResult {
+
+    private String inspectorId; // 宸℃鍛業D
+    private String inspectorName; // 宸℃鍛樺鍚�
+    private String inspectId; // 宸℃ID
+    private String startTime; // 寮�濮嬫椂闂�
+    private String stopTime; // 缁撴潫鏃堕棿
+    private Double inspectDistance; // 宸℃璺濈
+    private List<String> tracks; // 宸℃鑺傜偣鍒楄〃
+
+    // 鏋勯�犲嚱鏁�
+    public InspectResult(String inspectorId, String inspectorName, String inspectId, String startTime, String stopTime, Double inspectDistance, List<String> tracks) {
+        this.inspectorId = inspectorId;
+        this.inspectorName = inspectorName;
+        this.inspectId = inspectId;
+        this.startTime = startTime;
+        this.stopTime = stopTime;
+        this.inspectDistance = inspectDistance;
+        this.tracks = tracks;
+    }
+
+    // Getter 鍜� Setter 鏂规硶
+    public String getInspectorId() {
+        return inspectorId;
+    }
+
+    public void setInspectorId(String inspectorId) {
+        this.inspectorId = inspectorId;
+    }
+
+    public String getInspectorName() {
+        return inspectorName;
+    }
+
+    public void setInspectorName(String inspectorName) {
+        this.inspectorName = inspectorName;
+    }
+
+    public String getInspectId() {
+        return inspectId;
+    }
+
+    public void setInspectId(String inspectId) {
+        this.inspectId = inspectId;
+    }
+
+    public String getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(String startTime) {
+        this.startTime = startTime;
+    }
+
+    public String getStopTime() {
+        return stopTime;
+    }
+
+    public void setStopTime(String stopTime) {
+        this.stopTime = stopTime;
+    }
+
+    public Double getInspectDistance() {
+        return inspectDistance;
+    }
+
+    public void setInspectDistance(Double inspectDistance) {
+        this.inspectDistance = inspectDistance;
+    }
+
+    public List<String> getTracks() {
+        return tracks;
+    }
+
+    public void setTracks(List<String> tracks) {
+        this.tracks = tracks;
+    }
+}
diff --git a/app/src/main/java/com/dayu/pipirrapp/dao/InspectionDao.java b/app/src/main/java/com/dayu/pipirrapp/dao/InspectionDao.java
index 8903dff..be79f76 100644
--- a/app/src/main/java/com/dayu/pipirrapp/dao/InspectionDao.java
+++ b/app/src/main/java/com/dayu/pipirrapp/dao/InspectionDao.java
@@ -9,7 +9,10 @@
 
 import com.dayu.pipirrapp.bean.db.InspectionBean;
 
+import java.util.List;
+
 import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Maybe;
 import io.reactivex.rxjava3.core.Single;
 
 
@@ -41,4 +44,11 @@
     @Query("SELECT * FROM InspectionBean WHERE mInspectId  =:mInspectId  ORDER BY startTime DESC LIMIT 1")
     Single<InspectionBean> findBymInspectId(String mInspectId);
 
+
+    /**
+     * 鑾峰彇鎵�鏈夊贰妫�璁板綍
+     * @return
+     */
+    @Query("SELECT * FROM InspectionBean  ORDER BY startTime DESC LIMIT 1")
+    Maybe<List<InspectionBean>>  findAll();
 }
diff --git a/app/src/main/java/com/dayu/pipirrapp/dao/InspectionLocationDao.java b/app/src/main/java/com/dayu/pipirrapp/dao/InspectionLocationDao.java
index efb9a3a..1f87eb9 100644
--- a/app/src/main/java/com/dayu/pipirrapp/dao/InspectionLocationDao.java
+++ b/app/src/main/java/com/dayu/pipirrapp/dao/InspectionLocationDao.java
@@ -38,7 +38,14 @@
 
     //鏌ヨ鎵�鏈夎宸℃id鐨勫潗鏍�
     @Query("select  * from InspectionLocationBean where mInspectId=:mInspectId ORDER BY locateTime ASC")
-    Single<List<InspectionLocationBean>> findByInspectId(String mInspectId);
+    Single<List<InspectionLocationBean>> findBymInspectId(String mInspectId);
+
+
+    //鏌ヨ鎵�鏈夎宸℃id鐨勫潗鏍�
+    @Query("select  * from InspectionLocationBean where InspectId=:inspectId ORDER BY locateTime ASC")
+    Single<List<InspectionLocationBean>> findByInspectId(String inspectId);
+
+
 
     //鏌ヨ鎵�鏈夋湭涓婁紶鐨刴InspectId
     @Query("SELECT DISTINCT mInspectId FROM InspectionLocationBean WHERE isPost = false")
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 e01d39b..82ab38e 100644
--- a/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java
+++ b/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java
@@ -84,9 +84,6 @@
 import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
 import io.reactivex.rxjava3.disposables.CompositeDisposable;
 import io.reactivex.rxjava3.schedulers.Schedulers;
-import kotlin.Triple;
-import kotlin.Unit;
-import kotlin.jvm.functions.Function1;
 
 /**
  * author: zuo
diff --git a/app/src/main/java/com/dayu/pipirrapp/fragment/MyFragment.java b/app/src/main/java/com/dayu/pipirrapp/fragment/MyFragment.java
index 4f63ea2..7218451 100644
--- a/app/src/main/java/com/dayu/pipirrapp/fragment/MyFragment.java
+++ b/app/src/main/java/com/dayu/pipirrapp/fragment/MyFragment.java
@@ -12,6 +12,7 @@
 import androidx.annotation.Nullable;
 
 import com.dayu.pipirrapp.activity.ChangePSActivity;
+import com.dayu.pipirrapp.activity.InspectListActivity;
 import com.dayu.pipirrapp.activity.IssueListActivity;
 import com.dayu.pipirrapp.activity.LoginActivity;
 import com.dayu.pipirrapp.bean.db.LoginBean;
@@ -95,10 +96,14 @@
             Intent intent = new Intent(MyFragment.this.getContext(), IssueListActivity.class);
             MyFragment.this.getActivity().startActivity(intent);
         });
-        binding.refreshDataTV.setOnClickListener(v->{
+        binding.refreshDataTV.setOnClickListener(v -> {
             // 鍙戦�佸埛鏂颁簨浠堕�氱煡MapFragment鍒锋柊鏁版嵁
             LiveEventBus.get(CommonKeyName.refreshData).post(true);
         });
+        binding.inspectListRL.setOnClickListener(v -> {
+            Intent intent = new Intent(MyFragment.this.getContext(), InspectListActivity.class);
+            MyFragment.this.getActivity().startActivity(intent);
+        });
     }
 
     private void initData() {
diff --git a/app/src/main/java/com/dayu/pipirrapp/tool/InspectionUtils.java b/app/src/main/java/com/dayu/pipirrapp/tool/InspectionUtils.java
index 645aff0..0da7abd 100644
--- a/app/src/main/java/com/dayu/pipirrapp/tool/InspectionUtils.java
+++ b/app/src/main/java/com/dayu/pipirrapp/tool/InspectionUtils.java
@@ -76,7 +76,7 @@
                 .observeOn(Schedulers.io()).subscribe(inspectionBean -> {
                     fragment.mInspectionBean = inspectionBean;
                     // 鏌ヨ褰撳墠鏈叧闂殑宸℃璁板綍涓嬫墍鏈夌殑鍧愭爣
-                    DaoSingleton.getAsynchInstance(fragment.getContext()).inspectionLocationDao().findByInspectId(inspectionBean.getmInspectId()).subscribeOn(Schedulers.io())
+                    DaoSingleton.getAsynchInstance(fragment.getContext()).inspectionLocationDao().findBymInspectId(inspectionBean.getmInspectId()).subscribeOn(Schedulers.io())
                             .observeOn(AndroidSchedulers.mainThread()).subscribe(inspectionLocationBeans -> {
                                 fragment.aginShowLocation(inspectionLocationBeans);
                             });
diff --git a/app/src/main/java/com/dayu/pipirrapp/utils/CommonData.java b/app/src/main/java/com/dayu/pipirrapp/utils/CommonData.java
index e5e2620..04f7cf8 100644
--- a/app/src/main/java/com/dayu/pipirrapp/utils/CommonData.java
+++ b/app/src/main/java/com/dayu/pipirrapp/utils/CommonData.java
@@ -7,14 +7,16 @@
  * 澶囨敞锛氬叕鍏卞弬鏁�
  */
 public class CommonData {
-    //澶╁湴鍥�
-    public static String webKey = "d8beed89b43160a9a185e5aff431f85d";
-    public static String androidKey = "4dace6fd6dad43a9bc08d1ed94ec28d8";
-
+    //澶╁湴鍥続PI瀵嗛挜
+    public static String webKey = "d8beed89b43160a9a185e5aff431f85d";  // Web绔娇鐢ㄧ殑瀵嗛挜
+    public static String androidKey = "4dace6fd6dad43a9bc08d1ed94ec28d8";  // Android绔娇鐢ㄧ殑瀵嗛挜
+    
+    // 鑾峰彇褰撳墠浣跨敤鐨勫瘑閽�
+    public static String getCurrentMapKey() {
+        return androidKey;  // 鍦ˋndroid搴旂敤涓紭鍏堜娇鐢╝ndroidKey
+    }
 
     public final static String NoTag = "-1";
     public final static int TestTag = 0;
     public final static int YuanMouTag = 1;
-
-
 }
diff --git a/app/src/main/res/drawable/ic_pipenetwork_line.xml b/app/src/main/res/drawable/ic_pipenetwork_line.xml
index a60a4c1..0bc1ca2 100644
--- a/app/src/main/res/drawable/ic_pipenetwork_line.xml
+++ b/app/src/main/res/drawable/ic_pipenetwork_line.xml
@@ -1,12 +1,12 @@
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
     android:width="24dp"
-    android:height="2dp"
+    android:height="1dp"
     android:viewportWidth="24"
-    android:viewportHeight="2">
+    android:viewportHeight="1">
     
     <path
-        android:pathData="M0,1L24,1"
-        android:strokeWidth="2"
+        android:pathData="M0,0.5L24,0.5"
+        android:strokeWidth="1"
         android:strokeColor="#1890FF"
         android:strokeLineCap="round"/>
 </vector> 
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_inspect_detail.xml b/app/src/main/res/layout/activity_inspect_detail.xml
new file mode 100644
index 0000000..b19595d
--- /dev/null
+++ b/app/src/main/res/layout/activity_inspect_detail.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+    <include
+        android:id="@+id/title"
+        layout="@layout/top_title" />
+
+    <WebView
+        android:id="@+id/InspectWebView"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_below="@+id/title" />
+</RelativeLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_inspect_list.xml b/app/src/main/res/layout/activity_inspect_list.xml
new file mode 100644
index 0000000..f16090c
--- /dev/null
+++ b/app/src/main/res/layout/activity_inspect_list.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <include
+        android:id="@+id/title"
+        layout="@layout/top_title" />
+
+    <com.scwang.smart.refresh.layout.SmartRefreshLayout
+        android:id="@+id/refresh_layout"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+        <androidx.recyclerview.widget.RecyclerView
+            android:id="@+id/recycler_view"
+            android:layout_width="match_parent"
+
+            android:layout_height="match_parent"
+            android:padding="10dp" />
+
+    </com.scwang.smart.refresh.layout.SmartRefreshLayout>
+
+</LinearLayout> 
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_search_result.xml b/app/src/main/res/layout/dialog_search_result.xml
index 3711c14..82e4a40 100644
--- a/app/src/main/res/layout/dialog_search_result.xml
+++ b/app/src/main/res/layout/dialog_search_result.xml
@@ -13,7 +13,6 @@
         android:id="@+id/listView"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-
         android:divider="@android:color/darker_gray"
         android:dividerHeight="0.5dp"
         android:maxHeight="300dp" />
diff --git a/app/src/main/res/layout/fragment_my.xml b/app/src/main/res/layout/fragment_my.xml
index 6478c63..de9e5b5 100644
--- a/app/src/main/res/layout/fragment_my.xml
+++ b/app/src/main/res/layout/fragment_my.xml
@@ -102,13 +102,37 @@
             android:layout_marginRight="15dp"
             android:src="@drawable/ic_right" />
     </RelativeLayout>
+    <RelativeLayout
+        android:id="@+id/inspectListRL"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/item_height"
+        android:layout_below="@+id/issueListRL">
 
+        <TextView
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/item_height"
+            android:background="@color/white"
+            android:gravity="center_vertical"
+            android:paddingLeft="30dp"
+            android:text="宸℃璁板綍"
+            android:layout_marginTop="1dp"
+            android:textColor="@color/black"
+            android:textSize="@dimen/my_item_text_size" />
+
+        <ImageView
+            android:layout_width="25dp"
+            android:layout_height="25dp"
+            android:layout_alignParentRight="true"
+            android:layout_centerVertical="true"
+            android:layout_marginRight="15dp"
+            android:src="@drawable/ic_right" />
+    </RelativeLayout>
 
     <RelativeLayout
         android:id="@+id/passwordRL"
         android:layout_width="match_parent"
         android:layout_height="@dimen/item_height"
-        android:layout_below="@+id/issueListRL"
+        android:layout_below="@+id/inspectListRL"
         android:layout_marginTop="1dp">
 
         <TextView
diff --git a/app/src/main/res/layout/item_inspect.xml b/app/src/main/res/layout/item_inspect.xml
new file mode 100644
index 0000000..bdbaecf
--- /dev/null
+++ b/app/src/main/res/layout/item_inspect.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android">
+
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="5dp"
+        android:background="@drawable/ic_choose_gray_edge"
+        android:orientation="vertical"
+        android:padding="16dp">
+
+        <TextView
+            android:id="@+id/tv_inspect_id"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:textColor="#333333"
+            android:textSize="16sp" />
+
+        <TextView
+            android:id="@+id/tv_start_time"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="8dp"
+            android:textColor="#666666"
+            android:textSize="14sp" />
+
+        <TextView
+            android:id="@+id/tv_stop_time"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="8dp"
+            android:textColor="#666666"
+            android:textSize="14sp" />
+
+        <TextView
+            android:id="@+id/tv_inspectDistance"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="8dp"
+            android:textColor="#666666"
+            android:textSize="14sp" />
+
+    </LinearLayout>
+</layout> 
\ No newline at end of file

--
Gitblit v1.8.0