From fbfa859ff0fe312cbb49a3345b6e3d67d574a946 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期四, 28 十一月 2024 16:33:37 +0800
Subject: [PATCH] 1.工单列表界面 2.工单详情界面 3.处理工单界面选择图片相关

---
 app/src/main/java/com/dayu/pipirrapp/fragment/MyFragment.java              |    2 
 app/src/main/java/com/dayu/pipirrapp/tool/GlideEngine.java                 |  119 ++
 app/src/main/java/com/dayu/pipirrapp/net/Constants.java                    |    4 
 app/src/main/java/com/dayu/pipirrapp/fragment/OrderFragment.java           |  302 ++++-
 app/src/main/res/layout/activity_order_deal.xml                            |   80 +
 app/src/main/java/com/dayu/pipirrapp/net/MqttManager.java                  |  202 ++++
 app/src/main/res/drawable/ps_image_placeholder.xml                         |   16 
 app/src/main/res/layout/fragment_order.xml                                 |  232 ++++
 app/src/main/res/drawable/ic_choose_gray_edge.xml                          |    8 
 app/src/main/res/mipmap-xhdpi/ps_ic_video.png                              |    0 
 app/build.gradle                                                           |   11 
 app/src/main/res/values/dimens.xml                                         |   15 
 app/src/main/java/com/dayu/pipirrapp/adapter/BaseRecyclerAdapter.java      |   64 +
 app/src/main/java/com/dayu/pipirrapp/adapter/ImageAdapter.java             |   58 +
 app/src/main/java/com/dayu/pipirrapp/activity/SplashScreenActivity.java    |   20 
 app/src/main/java/com/dayu/pipirrapp/bean/net/BaseListResult.java          |   15 
 app/src/main/res/mipmap-xhdpi/ic_no_more.png                               |    0 
 app/src/main/res/layout/fragment_map.xml                                   |    8 
 app/src/main/java/com/dayu/pipirrapp/listener/OnItemLongClickListener.java |   14 
 app/src/main/res/drawable/ic_choose_bg_whit.xml                            |    8 
 app/src/main/res/layout/activity_login.xml                                 |    2 
 app/src/main/java/com/dayu/pipirrapp/activity/MainActivity.java            |   11 
 app/src/main/res/mipmap-xhdpi/icon_project.png                             |    0 
 app/proguard-rules.pro                                                     |    9 
 app/src/main/res/layout/item_no_more.xml                                   |   29 
 app/src/main/java/com/dayu/pipirrapp/adapter/OrderAdapter.java             |  110 ++
 app/src/main/assets/js/map.js                                              |   27 
 app/src/main/java/com/dayu/pipirrapp/activity/OrderDealActivity.java       |  101 ++
 app/src/main/java/com/dayu/pipirrapp/MyApplication.java                    |    1 
 app/src/main/java/com/dayu/pipirrapp/bean/db/LoginBean.java                |    9 
 app/src/main/res/values/colors.xml                                         |    6 
 app/src/main/res/drawable/edittext_backgroud.xml                           |   20 
 app/src/main/java/com/dayu/pipirrapp/bean/net/OrderListResult.java         |   82 +
 app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java     |   93 +
 app/src/main/res/mipmap-xhdpi/ic_item_delete.png                           |    0 
 app/src/main/res/mipmap-xhdpi/ps_ic_audio.png                              |    0 
 app/src/main/res/mipmap-xhdpi/ic_add_image.png                             |    0 
 app/src/main/res/drawable/ps_audio_placeholder.xml                         |   16 
 app/src/main/AndroidManifest.xml                                           |   41 
 app/src/main/res/layout/item_order.xml                                     |  282 +++++
 app/src/main/java/com/dayu/pipirrapp/fragment/BaseFragment.java            |   12 
 app/src/main/java/com/dayu/pipirrapp/utils/CommonKeyName.java              |    4 
 app/src/main/res/layout/activity_order_detail.xml                          |  363 +++++++
 app/src/main/res/drawable/top_state_bg.xml                                 |    8 
 app/src/main/java/com/dayu/pipirrapp/tool/FullyGridLayoutManager.java      |  104 ++
 app/src/main/java/com/dayu/pipirrapp/adapter/AddPictureAdapter.java        |  225 ++++
 /dev/null                                                                  |   84 -
 app/src/main/res/mipmap-xhdpi/icon_bottom.png                              |    0 
 app/src/main/java/com/dayu/pipirrapp/activity/LoginActivity.java           |    8 
 app/src/main/res/layout/item_add_filter_image.xml                          |   44 
 app/src/main/java/com/dayu/pipirrapp/bean/net/OrderDetailResult.java       |   30 
 app/src/main/res/layout/fragment_my.xml                                    |   11 
 app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java             |   20 
 app/src/main/res/layout/item_image.xml                                     |   14 
 54 files changed, 2,730 insertions(+), 214 deletions(-)

diff --git a/app/build.gradle b/app/build.gradle
index e0a9d76..d407df2 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -164,11 +164,20 @@
     implementation 'io.github.jeremyliao:live-event-bus-x:1.8.0'
 
     //闃块噷鐨凴ocketMQ
-    implementation 'org.apache.rocketmq:rocketmq-client:4.9.4'
+//    implementation 'org.apache.rocketmq:rocketmq-client:4.9.4'
+
+    implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.5'
 
     //room鏁版嵁搴�
     implementation "androidx.room:room-runtime:2.3.0"
     implementation "androidx.room:room-ktx:2.3.0"
     runtimeOnly("androidx.room:room-common:2.3.0")
     annotationProcessor "androidx.room:room-compiler:2.3.0"
+
+    //鍥剧墖
+    implementation 'com.github.bumptech.glide:glide:4.11.0'
+    // PictureSelector 鍩虹 (蹇呴』鍥剧墖閫夋嫨)
+    implementation 'io.github.lucksiege:pictureselector:v3.11.2'
+    // 鍥剧墖鍘嬬缉 (鎸夐渶寮曞叆)
+    implementation 'io.github.lucksiege:compress:v3.11.2'
 }
\ No newline at end of file
diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro
index bb1430f..2c6288f 100644
--- a/app/proguard-rules.pro
+++ b/app/proguard-rules.pro
@@ -145,4 +145,11 @@
 # Note: if you use a custom API parser for parsing, you need to add confusion to your custom API entities. Here are the custom API entity obfuscation rules configured in this demo:
 -keep class com.xuexiang.xupdatedemo.entity.** { *; }
 
--keep class com.hjq.permissions.** {*;}
\ No newline at end of file
+-keep class com.hjq.permissions.** {*;}
+
+#閫夋嫨鍥剧墖鐨勬鏋�
+-keep class com.luck.picture.lib.** { *; }
+-keep class com.luck.lib.camerax.** { *; }
+-dontwarn com.yalantis.ucrop**
+-keep class com.yalantis.ucrop** { *; }
+-keep interface com.yalantis.ucrop** { *; }
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index c02d4b9..fde78da 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -3,6 +3,9 @@
     xmlns:tools="http://schemas.android.com/tools"
     package="com.dayu.pipirrapp">
     <!--鐢ㄤ簬杩涜缃戠粶瀹氫綅-->
+    <uses-feature
+        android:name="android.hardware.camera"
+        android:required="false" />
     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
     <!--鐢ㄤ簬璁块棶GPS瀹氫綅-->
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
@@ -22,10 +25,44 @@
     <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
     <!--濡傛灉鎮ㄧ殑搴旂敤闇�瑕佸悗鍙板畾浣嶆潈闄愶紝涓旀湁鍙兘杩愯鍦ˋndroid Q璁惧涓�,骞朵笖璁剧疆浜唗arget>28锛屽繀椤诲鍔犺繖涓潈闄愬0鏄�-->
     <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
+
+
+    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
+    <uses-permission
+        android:name="android.permission.WRITE_MEDIA_STORAGE"
+        tools:ignore="ProtectedPermissions" />
+    <uses-permission
+        android:name="android.permission.WRITE_SETTINGS"
+        tools:ignore="ProtectedPermissions" />
+    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
+    <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
+    <uses-permission android:name="android.permission.RECORD_AUDIO" />
+    <uses-permission android:name="android.permission.CAMERA" />
+    <uses-permission android:name="android.permission.VIBRATE" />
+
+    <!--    Android 13鐗堟湰閫傞厤锛岀粏鍖栧瓨鍌ㄦ潈闄�-->
+    <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
+    <uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
+    <uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
+
+
     <!--     妯℃嫙浣嶇疆-->
     <uses-permission
         android:name="android.permission.ACCESS_MOCK_LOCATION"
         tools:ignore="MockLocation,ProtectedPermissions" />
+
+    <queries package="${applicationId}">
+        <intent>
+            <action android:name="android.media.action.IMAGE_CAPTURE">
+
+            </action>
+        </intent>
+        <intent>
+            <action android:name="android.media.action.ACTION_VIDEO_CAPTURE">
+
+            </action>
+        </intent>
+    </queries>
 
     <application
         android:name=".MyApplication"
@@ -66,6 +103,10 @@
             android:launchMode="singleTop">
 
         </activity>
+        <activity android:name=".activity.OrderDetailActivity" />
+        <activity android:name=".activity.OrderDealActivity" />
+
+
         <!--        <activity android:name=".activity.MainActivity" />-->
         <!-- Required since 5.2.0 -->
         <!-- 鏂扮殑 tag/alias 鎺ュ彛缁撴灉杩斿洖闇�瑕佸紑鍙戣�呴厤缃竴涓嚜瀹氫箟鐨凷ervice -->
diff --git a/app/src/main/assets/js/map.js b/app/src/main/assets/js/map.js
index 760cee6..a574c9c 100644
--- a/app/src/main/assets/js/map.js
+++ b/app/src/main/assets/js/map.js
@@ -271,19 +271,22 @@
     }
     //淇濆瓨瀹氫綅鍧愭爣鐢熸垚杞ㄨ抗
     var path=[];
-    function updateLocation(lat,log){
-        var newPoint = new T.LatLng(latitude, longitude);
-        path.push(newPoint);
-        var polyline = new T.Polyline({
-            path: path,  // 杞ㄨ抗鍧愭爣
-            strokeColor: "#FF0000",  // 杞ㄨ抗棰滆壊
-            strokeWeight: 6,  // 杞ㄨ抗绾垮
-            strokeOpacity: 0.7  // 杞ㄨ抗閫忔槑搴�
-        });
-        map.addOverlay(polyline);
-         // 绉诲姩鍦板浘瑙嗚鍒版渶鍚庝竴涓綅缃�
-         map.panTo(newPoint);
+    var lineLayer = new T.Polyline([], { color: 'red', weight: 3, opacity: 0.8 });
+ 
+    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);
+        }, 500);
+    
     }
 
 
 })();
+ 
\ No newline at end of file
diff --git a/app/src/main/java/com/dayu/pipirrapp/MyApplication.java b/app/src/main/java/com/dayu/pipirrapp/MyApplication.java
index f2625e6..d51ea9d 100644
--- a/app/src/main/java/com/dayu/pipirrapp/MyApplication.java
+++ b/app/src/main/java/com/dayu/pipirrapp/MyApplication.java
@@ -18,6 +18,7 @@
     public static MyApplication myApplication;
     public String myTag = "-1";
     public String token;
+    public String userId;
 
     @Override
     public void onCreate() {
diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/LoginActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/LoginActivity.java
index bafc2bc..4201472 100644
--- a/app/src/main/java/com/dayu/pipirrapp/activity/LoginActivity.java
+++ b/app/src/main/java/com/dayu/pipirrapp/activity/LoginActivity.java
@@ -139,7 +139,7 @@
         data.put("type", "math");//鍥剧墖绫诲瀷锛歝har-鏂囨湰锛宮ath-涓�浣嶆暟绠楀紡锛宮ath2-涓や綅鏁扮畻寮�
 
 
-        ApiManager.getInstance().requestGetHideLoading(LoginActivity.this, BASE_URL + ":8088/app/captcha/get", CodeResult.class, data, new SubscriberListener<BaseResponse<CodeResult>>() {
+        ApiManager.getInstance().requestGetHideLoading(LoginActivity.this, BASE_URL + "/app/captcha/get", CodeResult.class, data, new SubscriberListener<BaseResponse<CodeResult>>() {
             @Override
             public void onNext(BaseResponse<CodeResult> t) {
                 try {
@@ -214,22 +214,26 @@
             data.put("token", token);
             data.put("code", code);
         }
-        ApiManager.getInstance().requestPostLoading(LoginActivity.this, BASE_URL + ":8079/sso/sso/loginJson", LoginResult.class, data, new SubscriberListener<BaseResponse<LoginResult>>() {
+        ApiManager.getInstance().requestPostLoading(LoginActivity.this, BASE_URL + "/sso/sso/loginJson", LoginResult.class, data, new SubscriberListener<BaseResponse<LoginResult>>() {
             @Override
             public void onNext(BaseResponse<LoginResult> t) {
                 try {
                     if (t.isSuccess()) {
                         SharedPreferencesHelper.getInstance(LoginActivity.this).put(CommonKeyName.Token, t.getContent().getToken());
                         MyApplication.myApplication.token = t.getContent().getToken();
+                        MyApplication.myApplication.userId = t.getContent().getId();
                         LoginBean loginBean = DaoSingleton.getInstance(LoginActivity.this).loginDao().findFirst();
                         if (loginBean == null) {
                             loginBean = new LoginBean();
                         }
                         loginBean.setName(t.getContent().getName());
                         loginBean.setPhone(t.getContent().getPhone());
+                        loginBean.setUserID(t.getContent().getId());
                         DaoSingleton.getInstance(LoginActivity.this).loginDao().insert(loginBean);
                         SharedPreferencesHelper.getInstance(LoginActivity.this).put(CommonKeyName.isShowCode, false);
+                        ToastUtil.showToastLong(LoginActivity.this, "鐧诲綍鎴愬姛!");
                         startMainActivity();
+
                     } else {
                         ToastUtil.showToast(LoginActivity.this, t.getMsg());
                         loginError++;
diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/MainActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/MainActivity.java
index c768fc6..4d3180b 100644
--- a/app/src/main/java/com/dayu/pipirrapp/activity/MainActivity.java
+++ b/app/src/main/java/com/dayu/pipirrapp/activity/MainActivity.java
@@ -15,6 +15,7 @@
 import com.dayu.pipirrapp.fragment.OrderFragment;
 import com.dayu.pipirrapp.fragment.MapFragment;
 import com.dayu.pipirrapp.fragment.MyFragment;
+import com.dayu.pipirrapp.net.MqttManager;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -26,6 +27,7 @@
     private ActivityMainBinding binding;
     private List<Fragment> fragments = new ArrayList<>();
     private long mExitTime;
+    MqttManager mqttManager;
 
     private enum Tab {
         ORDER, MAP, MY
@@ -40,6 +42,8 @@
         setupFragments();
         initView();
         initTab();
+        mqttManager = new MqttManager(this);
+        mqttManager.connect();
     }
 
     private void setupFragments() {
@@ -76,6 +80,13 @@
         return super.onKeyDown(keyCode, event);
     }
 
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        //鍏抽棴MQ
+        mqttManager.disconnect();
+    }
+
     /**
      * 淇敼搴曢儴鐘舵��
      */
diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/OrderDealActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/OrderDealActivity.java
new file mode 100644
index 0000000..fb91e02
--- /dev/null
+++ b/app/src/main/java/com/dayu/pipirrapp/activity/OrderDealActivity.java
@@ -0,0 +1,101 @@
+package com.dayu.pipirrapp.activity;
+
+import android.animation.AnimatorSet;
+import android.animation.ObjectAnimator;
+import android.os.Bundle;
+import android.provider.MediaStore;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.animation.Animation;
+import android.view.animation.AnimationUtils;
+
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.recyclerview.widget.SimpleItemAnimator;
+
+import com.dayu.pipirrapp.adapter.AddPictureAdapter;
+import com.dayu.pipirrapp.databinding.ActivityOrderDealBinding;
+import com.dayu.pipirrapp.tool.FullyGridLayoutManager;
+import com.dayu.pipirrapp.tool.GlideEngine;
+import com.luck.picture.lib.basic.PictureSelectionModel;
+import com.luck.picture.lib.basic.PictureSelector;
+import com.luck.picture.lib.config.PictureConfig;
+import com.luck.picture.lib.config.SelectMimeType;
+import com.luck.picture.lib.config.SelectModeConfig;
+import com.luck.picture.lib.decoration.GridSpacingItemDecoration;
+import com.luck.picture.lib.entity.LocalMedia;
+import com.luck.picture.lib.interfaces.OnGridItemSelectAnimListener;
+import com.luck.picture.lib.interfaces.OnQueryFilterListener;
+import com.luck.picture.lib.interfaces.OnSelectAnimListener;
+import com.luck.picture.lib.utils.DensityUtil;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * OrderDealDetailActivity -
+ * 宸ュ崟澶勭悊鐣岄潰
+ *
+ * @author zuoxiao
+ * @version 1.0
+ * @since 2024-11-27
+ */
+public class OrderDealActivity extends BaseActivity {
+
+    ActivityOrderDealBinding binding;
+    RecyclerView mRecyclerView;
+    AddPictureAdapter mAdapter;
+    int maxSelectNum = 10;//鏈�澶х収鐗�
+    int maxSelectVideoNum = 0;//鏈�澶ц棰�
+    private final List<LocalMedia> mData = new ArrayList<>();
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        binding = ActivityOrderDealBinding.inflate(LayoutInflater.from(this));
+        setContentView(binding.getRoot());
+        initView();
+    }
+
+
+    void initView() {
+        mRecyclerView = binding.recycler;
+        FullyGridLayoutManager manager = new FullyGridLayoutManager(this,
+                4, GridLayoutManager.VERTICAL, false);
+        mRecyclerView.setLayoutManager(manager);
+        RecyclerView.ItemAnimator itemAnimator = mRecyclerView.getItemAnimator();
+        if (itemAnimator != null) {
+            ((SimpleItemAnimator) itemAnimator).setSupportsChangeAnimations(false);
+        }
+        mRecyclerView.addItemDecoration(new GridSpacingItemDecoration(4,
+                DensityUtil.dip2px(this, 8), false));
+        mAdapter = new AddPictureAdapter(this, mData);
+        mAdapter.setSelectMax(maxSelectNum + maxSelectVideoNum);
+        mRecyclerView.setAdapter(mAdapter);
+        mAdapter.setOnItemClickListener(new AddPictureAdapter.OnItemClickListener() {
+            @Override
+            public void onItemClick(View v, int position) {
+
+            }
+
+            @Override
+            public void openPicture() {
+                mOpenPicture();
+            }
+        });
+    }
+
+    private void mOpenPicture() {
+        // 杩涘叆鐩稿唽
+        PictureSelectionModel selectionModel = PictureSelector.create(this)
+                .openGallery(SelectMimeType.ofImage())
+                .setMaxSelectNum(maxSelectNum)
+                .setMaxVideoSelectNum(maxSelectVideoNum)
+                .setImageEngine(GlideEngine.createGlideEngine())
+                .setSelectedData(mAdapter.getData());
+
+        selectionModel.forResult(PictureConfig.CHOOSE_REQUEST);
+    }
+
+
+}
diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java
new file mode 100644
index 0000000..dc59338
--- /dev/null
+++ b/app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java
@@ -0,0 +1,93 @@
+package com.dayu.pipirrapp.activity;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+
+import androidx.annotation.Nullable;
+
+import com.dayu.pipirrapp.bean.net.OrderDetailResult;
+import com.dayu.pipirrapp.databinding.ActivityOrderDetailBinding;
+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 java.util.HashMap;
+import java.util.Map;
+
+/**
+ * OrderDetailActivity -
+ * 宸ュ崟璇︽儏鐣岄潰
+ *
+ * @author zuoxiao
+ * @version 1.0
+ * @since 2024-11-27
+ */
+public class OrderDetailActivity extends BaseActivity {
+    ActivityOrderDetailBinding binding;
+    String workOrderId;
+
+    @Override
+    protected void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        binding = ActivityOrderDetailBinding.inflate(LayoutInflater.from(this));
+        setContentView(binding.getRoot());
+
+        new TitleBar(this).setTitleText("宸ュ崟璇︽儏");
+        initView();
+    }
+
+    void initView() {
+        workOrderId = this.getIntent().getStringExtra("workOrderId");
+        if (!TextUtils.isEmpty(workOrderId)) {
+            getMarkerData(workOrderId);
+        } else {
+            this.finish();
+            ToastUtil.showToastLong(this, "褰撳墠workOrderId涓虹┖");
+        }
+        binding.setItemclidk(OrderDetailActivity.this);
+
+    }
+
+    /**
+     * 鑾峰彇宸ュ崟璇︽儏
+     */
+    private void getMarkerData(String workOrderId) {
+        Map<String, Object> params = new HashMap<>();
+        params.put("workOrderId", workOrderId);
+        ApiManager.getInstance().requestGetHideLoading(this, Constants.BASE_URL + "/app/workOrder/getOneWorkOrder", OrderDetailResult.class, params, new SubscriberListener<BaseResponse<OrderDetailResult>>() {
+            @Override
+            public void onNext(BaseResponse<OrderDetailResult> t) {
+                if (t.isSuccess()) {
+                    if (t.isSuccess()) {
+                        if (t.getContent() != null) {
+                            binding.setData(t.getContent());
+                        } else {
+                            ToastUtil.showToast(OrderDetailActivity.this, t.getMsg());
+                        }
+                    }
+                } else {
+                    ToastUtil.showToast(OrderDetailActivity.this, t.getMsg());
+                }
+            }
+
+            @Override
+            public void onCloose() {
+                super.onCloose();
+            }
+
+        });
+    }
+
+
+    public void startDealActivity() {
+        Intent intent = new Intent(this, OrderDealActivity.class);
+        intent.putExtra("workOrderId", workOrderId);
+        startActivity(intent);
+    }
+
+}
diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/SplashScreenActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/SplashScreenActivity.java
index f8bcd6b..c9602bd 100644
--- a/app/src/main/java/com/dayu/pipirrapp/activity/SplashScreenActivity.java
+++ b/app/src/main/java/com/dayu/pipirrapp/activity/SplashScreenActivity.java
@@ -12,7 +12,6 @@
 import com.dayu.pipirrapp.bean.db.LoginBean;
 import com.dayu.pipirrapp.dao.DaoSingleton;
 import com.dayu.pipirrapp.databinding.ActivitySplashScreenBinding;
-import com.dayu.pipirrapp.utils.CommonData;
 import com.dayu.pipirrapp.utils.CommonKeyName;
 import com.dayu.pipirrapp.utils.SharedPreferencesHelper;
 
@@ -31,14 +30,17 @@
         binding = ActivitySplashScreenBinding.inflate(LayoutInflater.from(this));
         setContentView(binding.getRoot());
         new Handler().postDelayed(() -> {
-            LoginBean loginBean = DaoSingleton.getInstance(SplashScreenActivity.this).loginDao().findFirst();
-            String token = SharedPreferencesHelper.getInstance(SplashScreenActivity.this).get(CommonKeyName.Token, "");
-            if (loginBean != null && !TextUtils.isEmpty(token)) {
-                startMainActivity();
-                MyApplication.myApplication.token = token;
-            } else {
-                startLoginActivity();
-            }
+//            LoginBean loginBean = DaoSingleton.getInstance(SplashScreenActivity.this).loginDao().findFirst();
+//            String token = SharedPreferencesHelper.getInstance(SplashScreenActivity.this).get(CommonKeyName.Token, "");
+//            if (loginBean != null && !TextUtils.isEmpty(token)) {
+//                startMainActivity();
+//                MyApplication.myApplication.token = token;
+//                MyApplication.myApplication.userId = loginBean.getUserID();
+//            } else {
+//                startLoginActivity();
+//            }
+            Intent intent = new Intent(this, OrderDealActivity.class);
+            startActivity(intent);
             SplashScreenActivity.this.finish();
         }, 1000);
     }
diff --git a/app/src/main/java/com/dayu/pipirrapp/adapter/AddPictureAdapter.java b/app/src/main/java/com/dayu/pipirrapp/adapter/AddPictureAdapter.java
new file mode 100644
index 0000000..b5bd809
--- /dev/null
+++ b/app/src/main/java/com/dayu/pipirrapp/adapter/AddPictureAdapter.java
@@ -0,0 +1,225 @@
+package com.dayu.pipirrapp.adapter;
+
+import android.content.Context;
+import android.net.Uri;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.bumptech.glide.Glide;
+import com.bumptech.glide.load.engine.DiskCacheStrategy;
+import com.dayu.pipirrapp.R;
+import com.dayu.pipirrapp.listener.OnItemLongClickListener;
+import com.luck.picture.lib.adapter.holder.PreviewGalleryAdapter;
+import com.luck.picture.lib.config.PictureMimeType;
+import com.luck.picture.lib.config.SelectMimeType;
+import com.luck.picture.lib.entity.LocalMedia;
+import com.luck.picture.lib.utils.DateUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * AddPictureAdapter -
+ * 娣诲姞鍥剧墖
+ *
+ * @author zuoxiao
+ * @version 1.0
+ * @since 2024-11-28
+ */
+public class AddPictureAdapter extends RecyclerView.Adapter<AddPictureAdapter.ViewHolder> {
+    public static final String TAG = "PictureSelector";
+    public static final int TYPE_CAMERA = 1;
+    public static final int TYPE_PICTURE = 2;
+    private final LayoutInflater mInflater;
+    private final ArrayList<LocalMedia> list = new ArrayList<>();
+    private int selectMax = 9;
+
+    /**
+     * 鍒犻櫎
+     */
+    public void delete(int position) {
+        try {
+
+            if (position != RecyclerView.NO_POSITION && list.size() > position) {
+                list.remove(position);
+                notifyItemRemoved(position);
+                notifyItemRangeChanged(position, list.size());
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public AddPictureAdapter(Context context, List<LocalMedia> result) {
+        this.mInflater = LayoutInflater.from(context);
+        this.list.addAll(result);
+    }
+
+    public void setSelectMax(int selectMax) {
+        this.selectMax = selectMax;
+    }
+
+    public int getSelectMax() {
+        return selectMax;
+    }
+
+    public ArrayList<LocalMedia> getData() {
+        return list;
+    }
+
+    public void remove(int position) {
+        if (position < list.size()) {
+            list.remove(position);
+        }
+    }
+
+    public static class ViewHolder extends RecyclerView.ViewHolder {
+
+        ImageView mImg;
+        ImageView mIvDel;
+        TextView tvDuration;
+
+        public ViewHolder(View view) {
+            super(view);
+            mImg = view.findViewById(R.id.fiv);
+            mIvDel = view.findViewById(R.id.iv_del);
+            tvDuration = view.findViewById(R.id.tv_duration);
+        }
+    }
+
+    @Override
+    public int getItemCount() {
+        if (list.size() < selectMax) {
+            return list.size() + 1;
+        } else {
+            return list.size();
+        }
+    }
+
+    @Override
+    public int getItemViewType(int position) {
+        if (isShowAddItem(position)) {
+            return TYPE_CAMERA;
+        } else {
+            return TYPE_PICTURE;
+        }
+    }
+
+    /**
+     * 鍒涘缓ViewHolder
+     */
+    @Override
+    public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
+        View view = mInflater.inflate(R.layout.item_add_filter_image, viewGroup, false);
+        return new ViewHolder(view);
+    }
+
+    private boolean isShowAddItem(int position) {
+        int size = list.size();
+        return position == size;
+    }
+
+    /**
+     * 璁剧疆鍊�
+     */
+    @Override
+    public void onBindViewHolder(final ViewHolder viewHolder, final int position) {
+        //灏戜簬MaxSize寮狅紝鏄剧ず缁х画娣诲姞鐨勫浘鏍�
+        if (getItemViewType(position) == TYPE_CAMERA) {
+            viewHolder.mImg.setImageResource(R.mipmap.ic_add_image);
+            viewHolder.mImg.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View view) {
+                    if (mItemClickListener != null) {
+                        mItemClickListener.openPicture();
+                    }
+                }
+            });
+            viewHolder.mIvDel.setVisibility(View.INVISIBLE);
+        } else {
+            viewHolder.mIvDel.setVisibility(View.VISIBLE);
+            viewHolder.mIvDel.setOnClickListener(view -> {
+                int index = viewHolder.getAbsoluteAdapterPosition();
+                if (index != RecyclerView.NO_POSITION && list.size() > index) {
+                    list.remove(index);
+                    notifyItemRemoved(index);
+                    notifyItemRangeChanged(index, list.size());
+                }
+            });
+            LocalMedia media = list.get(position);
+            int chooseModel = media.getChooseModel();
+            String path = media.getAvailablePath();
+            long duration = media.getDuration();
+            viewHolder.tvDuration.setVisibility(PictureMimeType.isHasVideo(media.getMimeType())
+                    ? View.VISIBLE : View.GONE);
+            if (chooseModel == SelectMimeType.ofAudio()) {
+                viewHolder.tvDuration.setVisibility(View.VISIBLE);
+                viewHolder.tvDuration.setCompoundDrawablesRelativeWithIntrinsicBounds
+                        (R.mipmap.ps_ic_audio, 0, 0, 0);
+
+            } else {
+                viewHolder.tvDuration.setCompoundDrawablesRelativeWithIntrinsicBounds
+                        (R.mipmap.ps_ic_video, 0, 0, 0);
+            }
+            viewHolder.tvDuration.setText(DateUtils.formatDurationTime(duration));
+            if (chooseModel == SelectMimeType.ofAudio()) {
+                viewHolder.mImg.setImageResource(R.drawable.ps_audio_placeholder);
+            } else {
+                Glide.with(viewHolder.itemView.getContext())
+                        .load(PictureMimeType.isContent(path) && !media.isCut() && !media.isCompressed() ? Uri.parse(path)
+                                : path)
+                        .centerCrop()
+                        .placeholder(R.color.app_color_f6)
+                        .diskCacheStrategy(DiskCacheStrategy.ALL)
+                        .into(viewHolder.mImg);
+            }
+            //itemView 鐨勭偣鍑讳簨浠�
+            if (mItemClickListener != null) {
+                viewHolder.itemView.setOnClickListener(v -> {
+                    int adapterPosition = viewHolder.getAbsoluteAdapterPosition();
+                    mItemClickListener.onItemClick(v, adapterPosition);
+                });
+            }
+
+            if (mItemLongClickListener != null) {
+                viewHolder.itemView.setOnLongClickListener(v -> {
+                    int adapterPosition = viewHolder.getAbsoluteAdapterPosition();
+                    mItemLongClickListener.onItemLongClick(viewHolder, adapterPosition, v);
+                    return true;
+                });
+            }
+        }
+    }
+
+    private OnItemClickListener mItemClickListener;
+
+    public void setOnItemClickListener(OnItemClickListener l) {
+        this.mItemClickListener = l;
+    }
+
+    public interface OnItemClickListener {
+        /**
+         * Item click event
+         *
+         * @param v
+         * @param position
+         */
+        void onItemClick(View v, int position);
+
+        /**
+         * Open PictureSelector
+         */
+        void openPicture();
+    }
+
+    private OnItemLongClickListener mItemLongClickListener;
+
+    public void setItemLongClickListener(OnItemLongClickListener l) {
+        this.mItemLongClickListener = l;
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/dayu/pipirrapp/adapter/BaseRecyclerAdapter.java b/app/src/main/java/com/dayu/pipirrapp/adapter/BaseRecyclerAdapter.java
new file mode 100644
index 0000000..3ad4c3e
--- /dev/null
+++ b/app/src/main/java/com/dayu/pipirrapp/adapter/BaseRecyclerAdapter.java
@@ -0,0 +1,64 @@
+package com.dayu.pipirrapp.adapter;
+
+import android.view.ViewGroup;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.dayu.pipirrapp.databinding.ItemNoMoreBinding;
+
+/**
+ * Copyright (C), 2023,
+ * Author: zuo
+ * Date: 2023-04-20 8:48
+ * Description:
+ */
+public class BaseRecyclerAdapter<T extends RecyclerView.ViewHolder> extends RecyclerView.Adapter<T> {
+
+    /**
+     * viewType--鍒嗗埆涓篿tem浠ュ強绌簐iew
+     */
+    public static final int VIEW_TYPE_ITEM = 1;
+    public static final int VIEW_TYPE_EMPTY = 0;
+
+    public int myiewType;
+
+
+    @NonNull
+    @Override
+    public T onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+        return null;
+    }
+
+    @Override
+    public void onBindViewHolder(@NonNull T holder, int position) {
+
+    }
+
+    @Override
+    public int getItemCount() {
+        return 0;
+    }
+
+
+    static class ViewHolderEmpty extends RecyclerView.ViewHolder {
+        ItemNoMoreBinding mBinding;
+
+
+        public ItemNoMoreBinding getBinding() {
+            return mBinding;
+        }
+
+        public void setBinding(ItemNoMoreBinding binding) {
+            this.mBinding = binding;
+        }
+
+        public ViewHolderEmpty(ItemNoMoreBinding itemView) {
+            super(itemView.getRoot());
+            this.mBinding = itemView;
+
+        }
+    }
+
+
+}
diff --git a/app/src/main/java/com/dayu/pipirrapp/adapter/ImageAdapter.java b/app/src/main/java/com/dayu/pipirrapp/adapter/ImageAdapter.java
new file mode 100644
index 0000000..d41fc68
--- /dev/null
+++ b/app/src/main/java/com/dayu/pipirrapp/adapter/ImageAdapter.java
@@ -0,0 +1,58 @@
+package com.dayu.pipirrapp.adapter;
+
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.bumptech.glide.Glide;
+import com.dayu.pipirrapp.R;
+
+/**
+ * ImageAdapter -
+ *
+ * @author zuoxiao
+ * @version 1.0
+ * @since 2024-11-27
+ */
+public class ImageAdapter extends RecyclerView.Adapter<ImageAdapter.ImageViewHolder>{
+    private String[] imageUrls;  // 鍥剧墖鐨� URL 鎴栨湰鍦拌矾寰�
+
+    // 鏋勯�犳柟娉�
+    public ImageAdapter(String[] imageUrls) {
+        this.imageUrls = imageUrls;
+    }
+
+    @Override
+    public ImageViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+        // 鑾峰彇甯冨眬鏂囦欢
+        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_image, parent, false);
+        return new ImageViewHolder(view);
+    }
+
+    @Override
+    public void onBindViewHolder(ImageViewHolder holder, int position) {
+        // 浣跨敤 Glide 鍔犺浇鍥剧墖鍒� ImageView 涓�
+        Glide.with(holder.itemView.getContext())
+                .load(imageUrls[position])  // 鍔犺浇鍥剧墖鐨� URL 鎴栬矾寰�
+                .thumbnail(0.1f)  // 璁剧疆缂╃暐鍥炬瘮渚�
+                .into(holder.imageView);
+    }
+
+    @Override
+    public int getItemCount() {
+        return imageUrls.length;
+    }
+
+    public static class ImageViewHolder extends RecyclerView.ViewHolder {
+
+        ImageView imageView;
+
+        public ImageViewHolder(View itemView) {
+            super(itemView);
+//            imageView = itemView.findViewById(R.id.thumbnailImageView);
+        }
+    }
+}
diff --git a/app/src/main/java/com/dayu/pipirrapp/adapter/OrderAdapter.java b/app/src/main/java/com/dayu/pipirrapp/adapter/OrderAdapter.java
new file mode 100644
index 0000000..a7bdd38
--- /dev/null
+++ b/app/src/main/java/com/dayu/pipirrapp/adapter/OrderAdapter.java
@@ -0,0 +1,110 @@
+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.bean.net.OrderListResult;
+import com.dayu.pipirrapp.databinding.ItemNoMoreBinding;
+import com.dayu.pipirrapp.databinding.ItemOrderBinding;
+import com.dayu.pipirrapp.fragment.OrderFragment;
+
+import java.util.List;
+
+/**
+ * OrderAdapter -
+ * 宸ュ崟鍒楄〃
+ *
+ * @author zuoxiao
+ * @version 1.0
+ * @since 2024-11-27
+ */
+public class OrderAdapter extends BaseRecyclerAdapter<RecyclerView.ViewHolder> {
+
+
+    List<OrderListResult.Data> recordsList;
+    Context context;
+    OrderFragment orderFragment;
+
+    public OrderAdapter(Context context, List<OrderListResult.Data> recordsList, OrderFragment orderFragment) {
+        this.context = context;
+        this.recordsList = recordsList;
+        this.orderFragment = orderFragment;
+    }
+
+    @NonNull
+    @Override
+    public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+
+        if (viewType == VIEW_TYPE_EMPTY) {
+            ItemNoMoreBinding emptyView = DataBindingUtil.inflate((LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE), R.layout.item_no_more, parent, false);
+            return new BaseRecyclerAdapter.ViewHolderEmpty(emptyView);
+        } else {
+            ItemOrderBinding binding = DataBindingUtil.inflate((LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE), R.layout.item_order, parent, false);
+            return new OrderAdapter.ViewHolder(binding, orderFragment);
+        }
+    }
+
+    @Override
+    public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
+        if (holder instanceof OrderAdapter.ViewHolder) {
+            if (recordsList.size() > 0) {
+                OrderListResult.Data record = recordsList.get(position);
+                ((OrderAdapter.ViewHolder) holder).getBinding().setData(record);
+            }
+        }
+    }
+
+    @Override
+    public int getItemCount() {
+        //鍚屾椂杩欓噷涔熼渶瑕佹坊鍔犲垽鏂紝濡傛灉mData.size()涓�0鐨勮瘽锛屽彧寮曞叆涓�涓竷灞�锛屽氨鏄痚mptyView
+        // 閭d箞锛岃繖涓猺ecyclerView鐨刬temCount涓�1
+        if (recordsList != null) {
+            if (recordsList.size() == 0) {
+                return 1;
+            }
+            return recordsList.size();
+        } else {
+            return 1;
+        }
+
+    }
+
+    @Override
+    public int getItemViewType(int position) {
+        if (recordsList != null) {
+            if (recordsList.size() == 0) {
+                return VIEW_TYPE_EMPTY;
+            } else {
+                return VIEW_TYPE_ITEM;
+            }
+        } else {
+            return VIEW_TYPE_EMPTY;
+        }
+    }
+
+    static class ViewHolder extends RecyclerView.ViewHolder {
+        ItemOrderBinding mBinding;
+
+        public ItemOrderBinding getBinding() {
+            return mBinding;
+        }
+
+        public void setBinding(ItemOrderBinding binding) {
+            this.mBinding = binding;
+        }
+
+        public ViewHolder(ItemOrderBinding itemView, OrderFragment orderFragment) {
+            super(itemView.getRoot());
+            this.mBinding = itemView;
+            mBinding.setItemclidk(orderFragment);
+        }
+    }
+
+
+}
diff --git a/app/src/main/java/com/dayu/pipirrapp/bean/db/LoginBean.java b/app/src/main/java/com/dayu/pipirrapp/bean/db/LoginBean.java
index 3eb21c3..fa17536 100644
--- a/app/src/main/java/com/dayu/pipirrapp/bean/db/LoginBean.java
+++ b/app/src/main/java/com/dayu/pipirrapp/bean/db/LoginBean.java
@@ -19,6 +19,15 @@
 
     public String phone;
 
+    public String userID;
+
+    public String getUserID() {
+        return userID;
+    }
+
+    public void setUserID(String userID) {
+        this.userID = userID;
+    }
 
     public String getName() {
         return name;
diff --git a/app/src/main/java/com/dayu/pipirrapp/bean/net/BaseListResult.java b/app/src/main/java/com/dayu/pipirrapp/bean/net/BaseListResult.java
new file mode 100644
index 0000000..b82e4e5
--- /dev/null
+++ b/app/src/main/java/com/dayu/pipirrapp/bean/net/BaseListResult.java
@@ -0,0 +1,15 @@
+package com.dayu.pipirrapp.bean.net;
+
+/**
+ * BaseListResult -
+ *
+ * @author zuoxiao
+ * @version 1.0
+ * @since 2024-11-26
+ */
+public class BaseListResult {
+
+
+
+
+}
diff --git a/app/src/main/java/com/dayu/pipirrapp/bean/net/OrderDetailResult.java b/app/src/main/java/com/dayu/pipirrapp/bean/net/OrderDetailResult.java
new file mode 100644
index 0000000..8dc1c15
--- /dev/null
+++ b/app/src/main/java/com/dayu/pipirrapp/bean/net/OrderDetailResult.java
@@ -0,0 +1,30 @@
+package com.dayu.pipirrapp.bean.net;
+
+/**
+ * OrderDetailResult -
+ *
+ * @author zuoxiao
+ * @version 1.0
+ * @since 2024-11-28
+ */
+public class OrderDetailResult {
+
+    public String workOrderId;//宸ュ崟ID
+    public String dispatcherId;//娲惧崟浜篒D
+    public String dispatcher;//娲惧崟浜哄鍚�
+    public String inspectorId;//宸℃鍛業D
+    public String inspector;//宸℃鍛樺鍚�
+    public String taskType;//浠诲姟绫诲瀷
+    public String taskContent;//浠诲姟鍐呭
+    public String completeCriteria;//瀹屾垚鏍囧噯
+    public String deadLine;//瑕佹眰瀹屾垚鏃堕棿
+    public String clientReportId;//鍐滄埛闂涓婃姤ID
+    public String inspectorReportId;//宸℃鍛橀棶棰樹笂鎶D
+    public String completeTime;//浠诲姟瀹屾垚鏃堕棿
+    public String dispatchTime;//娲惧崟鏃堕棿
+    public int rejectTimes;//椹冲洖娆℃暟
+    public String state;//宸ュ崟鐘舵��
+    public String processingState;//澶勭悊鐘舵��
+
+
+}
diff --git a/app/src/main/java/com/dayu/pipirrapp/bean/net/OrderListResult.java b/app/src/main/java/com/dayu/pipirrapp/bean/net/OrderListResult.java
new file mode 100644
index 0000000..8051f39
--- /dev/null
+++ b/app/src/main/java/com/dayu/pipirrapp/bean/net/OrderListResult.java
@@ -0,0 +1,82 @@
+package com.dayu.pipirrapp.bean.net;
+
+import java.util.List;
+
+/**
+ * OrderListResult -
+ * 鏈垹闄ゅ伐鍗曞垪琛�
+ *
+ * @author zuoxiao
+ * @version 1.0
+ * @since 2024-11-26
+ */
+public class OrderListResult {
+
+
+    int itemTotal;
+    int pageCurr;
+    int pageSize;
+    int pageTotal;
+    List<Data> 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<Data> getObj() {
+        return obj;
+    }
+
+    public void setObj(List<Data> obj) {
+        this.obj = obj;
+    }
+
+    public class Data {
+        public String workOrderId;//宸ュ崟ID
+        public String dispatcherId;//娲惧崟浜篒D
+        public String dispatcher;//娲惧崟浜哄鍚�
+        public String inspectorId;//宸℃鍛業D
+        public String inspector;//宸℃鍛樺鍚�
+        public String taskType;//浠诲姟绫诲瀷
+        public String taskContent;//浠诲姟鍐呭
+        public String completeCriteria;//瀹屾垚鏍囧噯
+        public String deadLine;//瑕佹眰瀹屾垚鏃堕棿
+        public String clientReportId;//鍐滄埛闂涓婃姤ID
+        public String inspectorReportId;//宸℃鍛橀棶棰樹笂鎶D
+        public String completeTime;//浠诲姟瀹屾垚鏃堕棿
+        public String dispatchTime;//娲惧崟鏃堕棿
+        public int rejectTimes;//椹冲洖娆℃暟
+        public String state;//宸ュ崟鐘舵��
+        public String processingState;//澶勭悊鐘舵��
+    }
+
+
+}
diff --git a/app/src/main/java/com/dayu/pipirrapp/fragment/BaseFragment.java b/app/src/main/java/com/dayu/pipirrapp/fragment/BaseFragment.java
index a205694..f8a19d7 100644
--- a/app/src/main/java/com/dayu/pipirrapp/fragment/BaseFragment.java
+++ b/app/src/main/java/com/dayu/pipirrapp/fragment/BaseFragment.java
@@ -2,6 +2,8 @@
 
 import androidx.fragment.app.Fragment;
 
+import com.scwang.smart.refresh.layout.api.RefreshLayout;
+
 /**
  * author: zuo
  * Date: 2023/12/20
@@ -9,4 +11,14 @@
  * 澶囨敞锛�
  */
 public class BaseFragment extends Fragment {
+    public void layoutFinish(RefreshLayout refreshLayout, boolean isRefresh) {
+        if (refreshLayout != null) {
+            if (isRefresh) {
+                refreshLayout.finishRefresh();
+            } else {
+                refreshLayout.finishLoadMore();
+            }
+        }
+    }
+
 }
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 ebc3cd1..e8e1f24 100644
--- a/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java
+++ b/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java
@@ -106,8 +106,10 @@
             LiveEventBus.get(CommonKeyName.locationData).observeForever(new Observer<Object>() {
                 @Override
                 public void onChanged(Object o) {
+
                     LatLonBean latLonBean = (LatLonBean) o;
-                    mWebView.evaluateJavascript("javascript:updateLocation(\"" +  latLonBean.getLatitude()+ "\",\"" +  latLonBean.getLongitude()+ "\")", value -> {
+                    Log.i("chageInspecState", "lat:" + latLonBean.getLatitude() + ",log:" + latLonBean.getLongitude());
+                    mWebView.evaluateJavascript("javascript:updateLocation(\"" + latLonBean.getLatitude() + "\",\"" + latLonBean.getLongitude() + "\")", value -> {
                     });
                 }
             });
@@ -200,7 +202,7 @@
      * 鑾峰彇鍙栨按鍙e垪琛�
      */
     private void getMarkerData() {
-        ApiManager.getInstance().requestGetHideLoading(this.getContext(), Constants.BASE_URL + ":8085/project/intake/all", MarkerResult.class, null, new SubscriberListener<BaseResponse<MarkerResult>>() {
+        ApiManager.getInstance().requestGetHideLoading(this.getContext(), Constants.BASE_URL + "/project/intake/all", MarkerResult.class, null, new SubscriberListener<BaseResponse<MarkerResult>>() {
             @Override
             public void onNext(BaseResponse<MarkerResult> t) {
                 if (t.isSuccess()) {
@@ -284,11 +286,7 @@
 
 
     void initView() {
-        //璺宠浆鍒版寚瀹氫綅缃�
-        binding.flyBtn.setOnClickListener(v -> {
-            mWebView.evaluateJavascript("javascript:locationOverLay(116.399565,39.89432)", value -> {
-            });
-        });
+
         mWebView.setWebViewClient(new WebViewClient() {
             @Override
             public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
@@ -346,15 +344,15 @@
         });
         //宸℃鎸夐挳
         binding.inspectButton.setOnClickListener(v -> {
-            if (isStartInspec){
-                ConfirmDialog confirmDialog=new ConfirmDialog(MapFragment.this.getActivity(), "鎻愮ず", "纭鍏抽棴宸℃鍚楋紵", new View.OnClickListener() {
+            if (isStartInspec) {
+                ConfirmDialog confirmDialog = new ConfirmDialog(MapFragment.this.getActivity(), "鎻愮ず", "纭鍏抽棴宸℃鍚楋紵", new View.OnClickListener() {
                     @Override
                     public void onClick(View v) {
                         isStartInspec = !isStartInspec;
                         chageInspecState();
                     }
                 });
-            }else {
+            } else {
                 isStartInspec = !isStartInspec;
                 chageInspecState();
             }
@@ -374,7 +372,7 @@
      */
     private void getCenterPoint() {
 
-        ApiManager.getInstance().requestGet(this.getContext(), Constants.BASE_URL + ":8080/base/dict_item/map_center", CenterPointResult.class, null, new SubscriberListener<BaseResponse<CenterPointResult>>() {
+        ApiManager.getInstance().requestGet(this.getContext(), Constants.BASE_URL + "/base/dict_item/map_center", CenterPointResult.class, null, new SubscriberListener<BaseResponse<CenterPointResult>>() {
             @Override
             public void onNext(BaseResponse<CenterPointResult> t) {
                 if (t.isSuccess()) {
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 02e248e..3eabb79 100644
--- a/app/src/main/java/com/dayu/pipirrapp/fragment/MyFragment.java
+++ b/app/src/main/java/com/dayu/pipirrapp/fragment/MyFragment.java
@@ -98,6 +98,6 @@
     @Override
     public void onStart() {
         super.onStart();
-        new TitleBar(MyFragment.this.getActivity()).setTitleText("鎴戠殑");
+
     }
 }
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 9f0d1b5..4ca4016 100644
--- a/app/src/main/java/com/dayu/pipirrapp/fragment/OrderFragment.java
+++ b/app/src/main/java/com/dayu/pipirrapp/fragment/OrderFragment.java
@@ -1,5 +1,7 @@
 package com.dayu.pipirrapp.fragment;
 
+import android.content.Intent;
+import android.graphics.Typeface;
 import android.os.Bundle;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -8,23 +10,31 @@
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.lifecycle.Observer;
+import androidx.recyclerview.widget.LinearLayoutManager;
 
-import com.dayu.pipirrapp.bean.db.LatLonBean;
+import com.dayu.pipirrapp.R;
+import com.dayu.pipirrapp.activity.OrderDetailActivity;
+import com.dayu.pipirrapp.adapter.OrderAdapter;
+import com.dayu.pipirrapp.bean.net.OrderListResult;
 import com.dayu.pipirrapp.bean.net.WeatherResponse;
-import com.dayu.pipirrapp.databinding.FragmentMainBinding;
+import com.dayu.pipirrapp.databinding.FragmentOrderBinding;
 import com.dayu.pipirrapp.net.ApiManager;
-import com.dayu.pipirrapp.utils.ImageUtils;
-import com.dayu.pipirrapp.utils.MyJsonParser;
-import com.dayu.pipirrapp.utils.SharedPreferencesHelper;
-import com.dayu.pipirrapp.view.TitleBar;
+import com.dayu.pipirrapp.net.BaseResponse;
+import com.dayu.pipirrapp.net.Constants;
+import com.dayu.pipirrapp.net.subscribers.SubscriberListener;
+import com.dayu.pipirrapp.utils.CommonKeyName;
+import com.dayu.pipirrapp.utils.ToastUtil;
 import com.jeremyliao.liveeventbus.LiveEventBus;
-import com.tencent.bugly.crashreport.CrashReport;
+import com.scwang.smart.refresh.footer.ClassicsFooter;
+import com.scwang.smart.refresh.header.ClassicsHeader;
+import com.scwang.smart.refresh.layout.api.RefreshLayout;
+import com.scwang.smart.refresh.layout.listener.OnLoadMoreListener;
+import com.scwang.smart.refresh.layout.listener.OnRefreshListener;
 
-import java.util.Calendar;
-
-import retrofit2.Call;
-import retrofit2.Callback;
-import retrofit2.Response;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * author: zuo
@@ -34,89 +44,221 @@
  */
 public class OrderFragment extends BaseFragment {
 
-    FragmentMainBinding binding;
-    WeatherResponse weatherResponse;
-    //鏀跺埌瀹氫綅骞挎挱鍚庤幏鍙栧ぉ姘斾俊鎭�
-    Observer<LatLonBean> myObserver = new Observer<LatLonBean>() {
-        @Override
-        public void onChanged(LatLonBean latLonBean) {
 
-            String jsonStr = SharedPreferencesHelper.getInstance(OrderFragment.this.getActivity()).get("WeatherResponse", "");
-            weatherResponse = MyJsonParser.getBeanFromJson(jsonStr, WeatherResponse.class);
-            if (weatherResponse == null) {
-                weatherResponse = new WeatherResponse();
-            }
-            // 鑾峰彇褰撳墠鏃堕棿
-            Calendar calendar = Calendar.getInstance();
-            // 鑾峰彇褰撳墠骞存湀鏃�
-            int year = calendar.get(Calendar.YEAR);
-            int month = calendar.get(Calendar.MONTH) + 1; // 娉ㄦ剰鏈堜唤鏄粠0寮�濮嬭鏁扮殑锛屾墍浠ヨ鍔�1
-            int day = calendar.get(Calendar.DAY_OF_MONTH);
-            String date = year + "骞�" + month + "鏈�" + day + "鏃�";
-            if (weatherResponse == null || !date.equals(weatherResponse.getDate())) {
-                weatherResponse.setDate(date);
-                ApiManager.getInstance().requestWeather(latLonBean.getLatitude() + ":" + latLonBean.getLongitude(), new Callback<WeatherResponse>() {
-                    @Override
-                    public void onResponse(Call<WeatherResponse> call, Response<WeatherResponse> response) {
+    private final int STATE_DONE = 2;
+    private final int STATE_UNDONE = 1;
 
-                        if (response.isSuccessful()) {
-                            weatherResponse.setResults(response.body().getResults());
-                            SharedPreferencesHelper.getInstance(OrderFragment.this.getActivity()).put("WeatherResponse", weatherResponse);
-                            setWeatherData(weatherResponse);
-                        }
-                    }
-
-                    @Override
-                    public void onFailure(Call<WeatherResponse> call, Throwable t) {
-
-                    }
-                });
-            } else {
-                setWeatherData(weatherResponse);
-            }
-            LiveEventBus.get("location", LatLonBean.class).removeObserver(myObserver);
-        }
-    };
-
+    FragmentOrderBinding binding;
+    OrderAdapter mAdapter;
+    int page = 1;
+    int pageSize = 10;
+    int state = 1;
+    List<OrderListResult.Data> recordsListDone = new ArrayList<>();
+    List<OrderListResult.Data> recordsList = new ArrayList<>();
 
     /**
      * 璁剧疆澶╂皵鐩稿叧淇℃伅
      *
-     * @param data
+     * @param
      */
-    private void setWeatherData(WeatherResponse data) {
-        try {
-            if (data.getResults() != null) {
-                binding.cityName.setText(data.getResults()[0].getLocation().getName());
-                binding.time.setText(data.getDate());
-                int weatherImg = ImageUtils.getWeatherDrawable(data.getResults()[0].getDaily()[0].getCode_day());
-                if (weatherImg != 0) {
-                    binding.weatherImg.setImageDrawable(getResources().getDrawable(weatherImg));
-                }
-                binding.weatherName.setText(data.getResults()[0].getDaily()[0].getText_day());
-                binding.weatherTemperature.setText(data.getResults()[0].getDaily()[0].getLow() + "掳C 锝� " + data.getResults()[0].getDaily()[0].getHigh() + "掳C");
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-            CrashReport.postCatchedException(e);
-        }
-    }
-
-
+//    private void setWeatherData(WeatherResponse data) {
+//        try {
+//            if (data.getResults() != null) {
+//                binding.cityName.setText(data.getResults()[0].getLocation().getName());
+//                binding.time.setText(data.getDate());
+//                int weatherImg = ImageUtils.getWeatherDrawable(data.getResults()[0].getDaily()[0].getCode_day());
+//                if (weatherImg != 0) {
+//                    binding.weatherImg.setImageDrawable(getResources().getDrawable(weatherImg));
+//                }
+//                binding.weatherName.setText(data.getResults()[0].getDaily()[0].getText_day());
+//                binding.weatherTemperature.setText(data.getResults()[0].getDaily()[0].getLow() + "掳C 锝� " + data.getResults()[0].getDaily()[0].getHigh() + "掳C");
+//            }
+//        } catch (Exception e) {
+//            e.printStackTrace();
+//            CrashReport.postCatchedException(e);
+//        }
+//    }
     @Override
     public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
-        binding = FragmentMainBinding.inflate(inflater, container, false);
-        //鑾峰彇鍒扮粡绾害鍚庤幏鍙栧ぉ姘斾俊鎭�
-        LiveEventBus
-                .get("location", LatLonBean.class)
-                .observeForever(myObserver);
+        binding = FragmentOrderBinding.inflate(inflater, container, false);
+        initView();
+        //鑾峰彇瀹氫綅鏈嶅姟浼犺繃鏉ョ殑鍧愭爣鐐�
+        LiveEventBus.get(CommonKeyName.MQTTData).observeForever(new Observer<Object>() {
+            @Override
+            public void onChanged(Object o) {
+
+            }
+        });
+
 
         return binding.getRoot();
     }
 
+
+    void initView() {
+        //鏈畬鎴�
+        binding.manageStateProgress.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View 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 宸插畬鎴�
+            }
+        });
+        //鏈畬鎴�
+        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) {
+//                refreshlayout.finishRefresh(2000/*,false*/);//浼犲叆false琛ㄧず鍒锋柊澶辫触
+                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);
+            }
+        });
+
+        mAdapter = new OrderAdapter(this.getContext(), recordsList, this);
+        LinearLayoutManager layoutManager = new LinearLayoutManager(this.getContext());
+        binding.recyclerView.setLayoutManager(layoutManager);
+        binding.recyclerView.setAdapter(mAdapter);
+        getMarkerData(myRefreshLayout, true, STATE_UNDONE);
+        //宸插畬鎴�
+        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) {
+//                refreshlayout.finishRefresh(2000/*,false*/);//浼犲叆false琛ㄧず鍒锋柊澶辫触
+                recordsList.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);
+            }
+        });
+        mAdapter = new OrderAdapter(this.getContext(), recordsListDone, this);
+        LinearLayoutManager layoutManagerDone = new LinearLayoutManager(this.getContext());
+        binding.recyclerViewDone.setLayoutManager(layoutManagerDone);
+        binding.recyclerViewDone.setAdapter(mAdapter);
+        getMarkerData(myRefreshLayoutDone, true, 2);
+    }
+
+
     @Override
     public void onStart() {
         super.onStart();
-        new TitleBar(OrderFragment.this.getActivity()).setTitleText("宸ュ崟");
     }
+
+    /**
+     * 鑾峰彇鏈垹闄ゅ伐鍗�
+     */
+    private void getMarkerData(RefreshLayout refreshlayout, boolean isRefresh, int state) {
+
+        Map<String, Object> params = new HashMap<>();
+        if (isRefresh) {
+            page = 1;
+            if (state == STATE_UNDONE) {
+                recordsList.clear();
+            } else {
+                recordsListDone.clear();
+            }
+        }
+        params.put("pageSize", pageSize);
+        params.put("pageCurr", page);
+        params.put("state", state);
+//        params.put("inspectorId", MyApplication.myApplication.userId);
+
+        ApiManager.getInstance().requestGetHideLoading(this.getContext(), Constants.BASE_URL + "/app/workOrder/getWorkOrders", OrderListResult.class, params, new SubscriberListener<BaseResponse<OrderListResult>>() {
+            @Override
+            public void onNext(BaseResponse<OrderListResult> t) {
+                if (t.isSuccess()) {
+                    if (t.isSuccess()) {
+                        if (t.getContent().getObj() != null && t.getContent().getObj().size() > 0) {
+                            if (state == STATE_UNDONE) {
+                                recordsList.addAll(t.getContent().getObj());
+                            } else {
+                                recordsListDone.addAll(t.getContent().getObj());
+                            }
+                            if (t.getContent().getObj().size() < pageSize) {
+                                refreshlayout.finishLoadMoreWithNoMoreData();
+                            }
+                        } else {
+                            refreshlayout.finishLoadMoreWithNoMoreData();
+                        }
+                    }
+                } else {
+                    ToastUtil.showToast(OrderFragment.this.getContext(), t.getMsg());
+                }
+            }
+
+            @Override
+            public void onCloose() {
+                super.onCloose();
+                layoutFinish(refreshlayout, isRefresh);
+                mAdapter.notifyDataSetChanged();
+            }
+
+        });
+    }
+
+    public void startDetail(String id) {
+        Intent intent = new Intent(this.getContext(), OrderDetailActivity.class);
+        intent.putExtra("workOrderId", id);
+        startActivity(intent);
+    }
+
+
+    /**
+     * 淇敼杩涘害鐘舵��
+     *
+     * @param state true涓烘湭瀹屾垚 false涓哄凡瀹屾垚
+     */
+
+    void chooseStateView(boolean state) {
+        if (state) {
+            binding.manageStateProgress.setTextColor(getResources().getColor(R.color.title_color));
+            binding.manageStateProgress.setBackground(getResources().getDrawable(R.drawable.ic_choose_bg_whit));
+            binding.manageStateProgress.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
+            binding.manageStateFinish.setTextColor(getResources().getColor(R.color.black));
+            binding.manageStateFinish.setBackground(getResources().getDrawable(R.color.title_choose_bg));
+            binding.manageStateFinish.setTypeface(Typeface.defaultFromStyle(Typeface.NORMAL));
+            binding.refreshLayout.setVisibility(View.VISIBLE);
+            binding.refreshLayoutDone.setVisibility(View.GONE);
+        } else {
+            binding.manageStateFinish.setTextColor(getResources().getColor(R.color.title_color));
+            binding.manageStateFinish.setBackground(getResources().getDrawable(R.drawable.ic_choose_bg_whit));
+            binding.manageStateFinish.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
+            binding.manageStateProgress.setTextColor(getResources().getColor(R.color.black));
+            binding.manageStateProgress.setBackground(getResources().getDrawable(R.color.title_choose_bg));
+            binding.manageStateProgress.setTypeface(Typeface.defaultFromStyle(Typeface.NORMAL));
+            binding.refreshLayout.setVisibility(View.GONE);
+            binding.refreshLayoutDone.setVisibility(View.VISIBLE);
+        }
+    }
+
+
 }
diff --git a/app/src/main/java/com/dayu/pipirrapp/listener/OnItemLongClickListener.java b/app/src/main/java/com/dayu/pipirrapp/listener/OnItemLongClickListener.java
new file mode 100644
index 0000000..fc64f86
--- /dev/null
+++ b/app/src/main/java/com/dayu/pipirrapp/listener/OnItemLongClickListener.java
@@ -0,0 +1,14 @@
+package com.dayu.pipirrapp.listener;
+
+import android.view.View;
+
+import androidx.recyclerview.widget.RecyclerView;
+
+/**
+ * @author锛歭uck
+ * @date锛�2020-01-13 17:58
+ * @describe锛氶暱鎸変簨浠�
+ */
+public interface OnItemLongClickListener {
+    void onItemLongClick(RecyclerView.ViewHolder holder, int position, View v);
+}
diff --git a/app/src/main/java/com/dayu/pipirrapp/net/Constants.java b/app/src/main/java/com/dayu/pipirrapp/net/Constants.java
index 07eeb65..2b7b794 100644
--- a/app/src/main/java/com/dayu/pipirrapp/net/Constants.java
+++ b/app/src/main/java/com/dayu/pipirrapp/net/Constants.java
@@ -6,8 +6,8 @@
  * Description:
  */
 public class Constants {
-//    public static final String BASE_URL = "http://192.168.10.52";
-public static final String BASE_URL = "http://192.168.40.166";
+//    public static final String BASE_URL = "http://192.168.10.52:8088";
+public static final String BASE_URL = "https://no253541tf71.vicp.fun";
     /**
      * 浠h〃璇锋眰鎴愬姛
      */
diff --git a/app/src/main/java/com/dayu/pipirrapp/net/MqttManager.java b/app/src/main/java/com/dayu/pipirrapp/net/MqttManager.java
new file mode 100644
index 0000000..7a85cc5
--- /dev/null
+++ b/app/src/main/java/com/dayu/pipirrapp/net/MqttManager.java
@@ -0,0 +1,202 @@
+package com.dayu.pipirrapp.net;
+
+import android.content.Context;
+import android.net.ConnectivityManager;
+import android.net.Network;
+import android.net.NetworkCapabilities;
+import android.net.NetworkRequest;
+import android.util.Log;
+
+import com.dayu.pipirrapp.utils.CommonKeyName;
+import com.jeremyliao.liveeventbus.LiveEventBus;
+
+import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
+import org.eclipse.paho.client.mqttv3.MqttCallback;
+import org.eclipse.paho.client.mqttv3.MqttClient;
+import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
+import org.eclipse.paho.client.mqttv3.MqttException;
+import org.eclipse.paho.client.mqttv3.MqttMessage;
+import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
+
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+/**
+ * MQTT鐩稿叧璁剧疆
+ *
+ * @author zuoxiao
+ * @version 1.0
+ * @since 2024-11-26
+ */
+public class MqttManager {
+
+    private static final String MQTT_BROKER_URL = "tcp://115.236.153.170:30764"; // 淇敼涓轰綘鐨� broker 鍦板潃
+    private static final String CLIENT_ID = "mqttx_54052fa0";
+    private static final String TOPIC = "workOrder"; // 璁㈤槄鐨勪富棰�
+    private ConnectivityManager connectivityManager;
+
+    private MqttClient mqttClient;
+    private MqttConnectOptions connectOptions;
+    boolean isHasNet = false;
+
+    public MqttManager(Context context) {
+        try {
+            mqttClient = new MqttClient(MQTT_BROKER_URL, CLIENT_ID, new MemoryPersistence());
+            connectOptions = new MqttConnectOptions();
+            connectOptions.setUserName("mqtt_yjy");
+            connectOptions.setPassword("yjy".toCharArray());
+            connectOptions.setCleanSession(false);
+            connectOptions.setKeepAliveInterval(60); // 璁剧疆淇濇寔杩炴帴鐨勬椂闂�
+            connectOptions.setAutomaticReconnect(true);  // 鍚敤鑷姩閲嶈繛
+            connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
+            checkNetwork();
+        } catch (MqttException e) {
+            e.printStackTrace();
+        }
+    }
+
+    // 杩炴帴鍒� MQTT broker
+    public void connect() {
+        ExecutorService executorService = Executors.newSingleThreadExecutor();
+        executorService.execute(new Runnable() {
+            @Override
+            public void run() {
+                try {
+                    if (isHasNet) {
+                        mqttClient.connect(connectOptions);
+                        if (mqttClient.isConnected()) {
+                            Log.d("MqttManager", "Connected to MQTT broker");
+                            subscribeToTopic();
+                        }
+                    } else {
+                        reconnect();
+                    }
+
+                } catch (MqttException e) {
+                    reconnect();
+                    Log.e("MqttManager", "Error connecting to MQTT broker", e);
+                }
+            }
+        });
+    }
+
+    // 璁㈤槄涓婚
+    private void subscribeToTopic() {
+        try {
+            mqttClient.subscribe(TOPIC, (topic, message) -> {
+                // 鏀跺埌娑堟伅鏃剁殑澶勭悊閫昏緫
+                Log.d("MqttManager", "Received message:" + new String(message.getPayload()));
+                //浼犻�扢Q鏀跺埌鐨勪俊鎭�
+                LiveEventBus.get(CommonKeyName.locationData).post(message.getPayload());
+            });
+            mqttClient.setCallback(new MqttCallback() {
+                @Override
+                public void connectionLost(Throwable cause) {
+                    Log.d("MqttManager", "connectionLost" + cause.getMessage());
+                    reconnect();
+                    // 澶勭悊杩炴帴涓㈠け锛屽彲浠ュ皾璇曢噸鏂拌繛鎺�
+                }
+
+                @Override
+                public void messageArrived(String topic, MqttMessage message) throws Exception {
+                    Log.d("MqttManager", "Received messageArrived:" + new String(message.getPayload()));
+                    // 澶勭悊鏀跺埌鐨勬秷鎭�
+                }
+
+                @Override
+                public void deliveryComplete(IMqttDeliveryToken token) {
+                    // 澶勭悊娑堟伅鍙戦�佸畬鎴�
+                    try {
+                        Log.d("MqttManager", "deliveryComplete锛�" + new String(token.getMessage().toString()));
+                    } catch (MqttException e) {
+                        e.printStackTrace();
+                    }
+                }
+            });
+        } catch (MqttException e) {
+            e.printStackTrace();
+        }
+    }
+
+    // 鍙戝竷娑堟伅
+    public void publishMessage(String message) {
+        try {
+            MqttMessage mqttMessage = new MqttMessage(message.getBytes());
+            mqttClient.publish(TOPIC, mqttMessage);
+        } catch (MqttException e) {
+            e.printStackTrace();
+        }
+    }
+
+    // 鏂紑杩炴帴
+    public void disconnect() {
+        try {
+            if (mqttClient != null && mqttClient.isConnected()) {
+                mqttClient.disconnect();
+                System.out.println("Disconnected from MQTT broker");
+            }
+        } catch (MqttException e) {
+            e.printStackTrace();
+        }
+    }
+
+    // 鑷姩閲嶈繛鏂规硶
+    private void reconnect() {
+        try {
+            if (isHasNet) {
+                while (!mqttClient.isConnected() && isHasNet) {
+                    Log.d("MqttManager", "Attempting to reconnect...");
+                    mqttClient.connect(connectOptions);  // 閲嶈瘯杩炴帴
+                    if (mqttClient.isConnected()) {
+                        Log.d("MqttManager", "Connected to MQTT broker");
+                        subscribeToTopic();
+                    }
+                    Thread.sleep(5000);     // 姣� 5 绉掗噸璇曚竴娆�
+                }
+                Log.d("MqttManager", "Reconnected to MQTT broker! isHasNet=true");
+            } else {
+                Log.d("MqttManager", "isHasNet is false");
+                Thread.sleep(5000);
+                reconnect();
+            }
+
+        } catch (MqttException | InterruptedException e) {
+            try {
+                Thread.sleep(5000);
+            } catch (InterruptedException ex) {
+                e.printStackTrace();
+            }// 姣� 5 绉掗噸璇曚竴娆�
+            reconnect();
+
+        }
+    }
+
+    public void checkNetwork() {
+        NetworkRequest request = new NetworkRequest.Builder().addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)  // 蹇呴』鍏峰浜掕仈缃戣兘鍔�
+                .build();
+
+        connectivityManager.registerNetworkCallback(request, new ConnectivityManager.NetworkCallback() {
+            @Override
+            public void onAvailable(Network network) {
+                super.onAvailable(network);
+                // 缃戠粶鍙敤鏃剁殑澶勭悊閫昏緫
+                Log.d("MqttManager", "Network is available.");
+                isHasNet = true;
+                reconnect();
+            }
+
+            @Override
+            public void onLost(Network network) {
+                super.onLost(network);
+                // 缃戠粶涓㈠け鏃剁殑澶勭悊閫昏緫
+                Log.d("MqttManager", "Network is lost.");
+                isHasNet = false;
+                try {
+                    mqttClient.disconnect();
+                } catch (MqttException e) {
+                    e.printStackTrace();
+                }
+            }
+        });
+    }
+}
diff --git a/app/src/main/java/com/dayu/pipirrapp/tool/FullyGridLayoutManager.java b/app/src/main/java/com/dayu/pipirrapp/tool/FullyGridLayoutManager.java
new file mode 100644
index 0000000..7ad0a08
--- /dev/null
+++ b/app/src/main/java/com/dayu/pipirrapp/tool/FullyGridLayoutManager.java
@@ -0,0 +1,104 @@
+package com.dayu.pipirrapp.tool;
+
+import android.content.Context;
+import android.view.View;
+import android.view.ViewGroup;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+/**
+ * FullyGridLayoutManager -
+ *
+ * @author zuoxiao
+ * @version 1.0
+ * @since 2024-11-28
+ */
+public class FullyGridLayoutManager extends GridLayoutManager {
+    private final int[] mMeasuredDimension = new int[2];
+
+    public FullyGridLayoutManager(Context context, int spanCount) {
+        super(context, spanCount);
+    }
+
+    public FullyGridLayoutManager(Context context, int spanCount, int orientation, boolean reverseLayout) {
+        super(context, spanCount, orientation, reverseLayout);
+    }
+
+    @Override
+    public void onMeasure(@NonNull RecyclerView.Recycler recycler, @NonNull RecyclerView.State state, int widthSpec, int heightSpec) {
+        final int widthMode = View.MeasureSpec.getMode(widthSpec);
+        final int heightMode = View.MeasureSpec.getMode(heightSpec);
+        final int widthSize = View.MeasureSpec.getSize(widthSpec);
+        final int heightSize = View.MeasureSpec.getSize(heightSpec);
+
+        int width = 0;
+        int height = 0;
+        int count = getItemCount();
+        int span = getSpanCount();
+        for (int i = 0; i < count; i++) {
+            measureScrapChild(recycler, i,
+                    View.MeasureSpec.makeMeasureSpec(i, View.MeasureSpec.UNSPECIFIED),
+                    View.MeasureSpec.makeMeasureSpec(i, View.MeasureSpec.UNSPECIFIED),
+                    mMeasuredDimension);
+
+            if (getOrientation() == HORIZONTAL) {
+                if (i % span == 0) {
+                    width = width + mMeasuredDimension[0];
+                }
+                if (i == 0) {
+                    height = mMeasuredDimension[1];
+                }
+            } else {
+                if (i % span == 0) {
+                    height = height + mMeasuredDimension[1];
+                }
+                if (i == 0) {
+                    width = mMeasuredDimension[0];
+                }
+            }
+        }
+
+        switch (widthMode) {
+            case View.MeasureSpec.EXACTLY:
+                width = widthSize;
+            case View.MeasureSpec.AT_MOST:
+            case View.MeasureSpec.UNSPECIFIED:
+        }
+
+        switch (heightMode) {
+            case View.MeasureSpec.EXACTLY:
+                height = heightSize;
+            case View.MeasureSpec.AT_MOST:
+            case View.MeasureSpec.UNSPECIFIED:
+        }
+
+        setMeasuredDimension(width, height);
+    }
+
+    final RecyclerView.State mState = new RecyclerView.State();
+
+    private void measureScrapChild(RecyclerView.Recycler recycler, int position, int widthSpec,
+                                   int heightSpec, int[] measuredDimension) {
+        int itemCount = mState.getItemCount();
+        if (position < itemCount) {
+            try {
+                View view = recycler.getViewForPosition(0);
+                if (view != null) {
+                    RecyclerView.LayoutParams p = (RecyclerView.LayoutParams) view.getLayoutParams();
+                    int childWidthSpec = ViewGroup.getChildMeasureSpec(widthSpec,
+                            getPaddingLeft() + getPaddingRight(), p.width);
+                    int childHeightSpec = ViewGroup.getChildMeasureSpec(heightSpec,
+                            getPaddingTop() + getPaddingBottom(), p.height);
+                    view.measure(childWidthSpec, childHeightSpec);
+                    measuredDimension[0] = view.getMeasuredWidth() + p.leftMargin + p.rightMargin;
+                    measuredDimension[1] = view.getMeasuredHeight() + p.bottomMargin + p.topMargin;
+                    recycler.recycleView(view);
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/dayu/pipirrapp/tool/GlideEngine.java b/app/src/main/java/com/dayu/pipirrapp/tool/GlideEngine.java
new file mode 100644
index 0000000..0d3654b
--- /dev/null
+++ b/app/src/main/java/com/dayu/pipirrapp/tool/GlideEngine.java
@@ -0,0 +1,119 @@
+package com.dayu.pipirrapp.tool;
+
+import android.content.Context;
+import android.widget.ImageView;
+
+import com.bumptech.glide.Glide;
+import com.bumptech.glide.load.resource.bitmap.CenterCrop;
+import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
+import com.dayu.pipirrapp.R;
+import com.luck.picture.lib.engine.ImageEngine;
+import com.luck.picture.lib.utils.ActivityCompatHelper;
+
+/**
+ * GlideEngine -Glide鍔犺浇寮曟搸
+ *
+ * @author zuoxiao
+ * @version 1.0
+ * @since 2024-11-28
+ */
+public class GlideEngine implements ImageEngine {
+
+    /**
+     * 鍔犺浇鍥剧墖
+     *
+     * @param context   涓婁笅鏂�
+     * @param url       璧勬簮url
+     * @param imageView 鍥剧墖鎵胯浇鎺т欢
+     */
+    @Override
+    public void loadImage(Context context, String url, ImageView imageView) {
+        if (!ActivityCompatHelper.assertValidRequest(context)) {
+            return;
+        }
+        Glide.with(context)
+                .load(url)
+                .into(imageView);
+    }
+
+    @Override
+    public void loadImage(Context context, ImageView imageView, String url, int maxWidth, int maxHeight) {
+        if (!ActivityCompatHelper.assertValidRequest(context)) {
+            return;
+        }
+        Glide.with(context)
+                .load(url)
+                .override(maxWidth, maxHeight)
+                .into(imageView);
+    }
+
+    /**
+     * 鍔犺浇鐩稿唽鐩綍灏侀潰
+     *
+     * @param context   涓婁笅鏂�
+     * @param url       鍥剧墖璺緞
+     * @param imageView 鎵胯浇鍥剧墖ImageView
+     */
+    @Override
+    public void loadAlbumCover(Context context, String url, ImageView imageView) {
+        if (!ActivityCompatHelper.assertValidRequest(context)) {
+            return;
+        }
+        Glide.with(context)
+                .asBitmap()
+                .load(url)
+                .override(180, 180)
+                .sizeMultiplier(0.5f)
+                .transform(new CenterCrop(), new RoundedCorners(8))
+                .placeholder(R.drawable.ps_image_placeholder)
+                .into(imageView);
+    }
+
+
+    /**
+     * 鍔犺浇鍥剧墖鍒楄〃鍥剧墖
+     *
+     * @param context   涓婁笅鏂�
+     * @param url       鍥剧墖璺緞
+     * @param imageView 鎵胯浇鍥剧墖ImageView
+     */
+    @Override
+    public void loadGridImage(Context context, String url, ImageView imageView) {
+        if (!ActivityCompatHelper.assertValidRequest(context)) {
+            return;
+        }
+        Glide.with(context)
+                .load(url)
+                .override(200, 200)
+                .centerCrop()
+                .placeholder(R.drawable.ps_image_placeholder)
+                .into(imageView);
+    }
+
+    @Override
+    public void pauseRequests(Context context) {
+        if (!ActivityCompatHelper.assertValidRequest(context)) {
+            return;
+        }
+        Glide.with(context).pauseRequests();
+    }
+
+    @Override
+    public void resumeRequests(Context context) {
+        if (!ActivityCompatHelper.assertValidRequest(context)) {
+            return;
+        }
+        Glide.with(context).resumeRequests();
+    }
+
+    private GlideEngine() {
+    }
+
+    private static final class InstanceHolder {
+        static final GlideEngine instance = new GlideEngine();
+    }
+
+    public static GlideEngine createGlideEngine() {
+        return InstanceHolder.instance;
+    }
+}
diff --git a/app/src/main/java/com/dayu/pipirrapp/tool/RocketMQConsumer.java b/app/src/main/java/com/dayu/pipirrapp/tool/RocketMQConsumer.java
deleted file mode 100644
index 2ab6fac..0000000
--- a/app/src/main/java/com/dayu/pipirrapp/tool/RocketMQConsumer.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package com.dayu.pipirrapp.tool;
-
-import android.util.Log;
-
-import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer;
-import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
-import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;
-import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently;
-import org.apache.rocketmq.client.exception.MQClientException;
-import org.apache.rocketmq.common.message.MessageExt;
-
-import java.util.List;
-
-/**
- * author: zuo
- * Date: 2024-09-03
- * Time: 13:51
- * 澶囨敞锛歁Q娑堟伅闃熷垪妯″潡
- */
-public class RocketMQConsumer {
-
-    private DefaultMQPushConsumer consumer;
-
-    public void start() {
-        try {
-            // 鍒涘缓涓�涓秷璐硅�呭疄渚�
-            consumer = new DefaultMQPushConsumer("YourConsumerGroup");
-
-            // 璁剧疆NameServer鍦板潃
-            consumer.setNamesrvAddr("YourNameServerAddress");
-
-            // 璁㈤槄涓�涓垨澶氫釜Topic
-            consumer.subscribe("YourTopic", "*");
-
-            // 娉ㄥ唽娑堟伅鐩戝惉鍣�
-            consumer.registerMessageListener(new MessageListenerConcurrently() {
-                @Override
-                public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs, ConsumeConcurrentlyContext context) {
-                    for (MessageExt msg : msgs) {
-                        // 澶勭悊娑堟伅
-                        Log.d("RocketMQ", "Receive message: " + new String(msg.getBody()));
-                        // 杩欓噷鍙互瑙﹀彂鏈湴閫氱煡鎴栬�呮洿鏂癠I
-                    }
-                    return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
-                }
-            });
-
-            // 鍚姩娑堣垂鑰�
-            consumer.start();
-
-        } catch (MQClientException e) {
-            e.printStackTrace();
-            Log.e("RocketMQ", "Consumer failed to start: " + e.getMessage());
-        }
-    }
-
-    public void stop() {
-        if (consumer != null) {
-            consumer.shutdown();
-        }
-    }
-}
diff --git a/app/src/main/java/com/dayu/pipirrapp/utils/CommonKeyName.java b/app/src/main/java/com/dayu/pipirrapp/utils/CommonKeyName.java
index ff1ec5b..752bc9f 100644
--- a/app/src/main/java/com/dayu/pipirrapp/utils/CommonKeyName.java
+++ b/app/src/main/java/com/dayu/pipirrapp/utils/CommonKeyName.java
@@ -17,6 +17,8 @@
     public final static String isStartInspec = "isStartInspec";
 
     //瀹氫綅鍚�
-    public final static String locationData="locationData";
+    public final static String locationData = "locationData";
+
+    public final static String MQTTData = "MQTTData";
 
 }
diff --git a/app/src/main/res/drawable/edittext_backgroud.xml b/app/src/main/res/drawable/edittext_backgroud.xml
new file mode 100644
index 0000000..7775948
--- /dev/null
+++ b/app/src/main/res/drawable/edittext_backgroud.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <!-- 鑳屾櫙棰滆壊 -->
+    <solid android:color="#FFFFFF" />
+
+    <!-- 鍦嗚 -->
+    <corners android:radius="6dp" />
+
+    <!-- 杈规 -->
+    <stroke
+        android:color="#CCCCCC"
+        android:width="2dp" />
+
+    <!-- 鍐呰竟璺� -->
+    <padding
+        android:left="16dp"
+        android:right="16dp"
+        android:top="10dp"
+        android:bottom="10dp" />
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_choose_bg_whit.xml b/app/src/main/res/drawable/ic_choose_bg_whit.xml
new file mode 100644
index 0000000..f7ddfe6
--- /dev/null
+++ b/app/src/main/res/drawable/ic_choose_bg_whit.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="#ffffff" />
+    <corners android:radius="5dp" />
+    <stroke
+        android:width="1dp"
+        android:color="#ffffff" />
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_choose_gray_edge.xml b/app/src/main/res/drawable/ic_choose_gray_edge.xml
new file mode 100644
index 0000000..71acd81
--- /dev/null
+++ b/app/src/main/res/drawable/ic_choose_gray_edge.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="#ffffff" />
+    <corners android:radius="5dp" />
+    <stroke
+        android:width="1dp"
+        android:color="#ededed" />
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ps_audio_placeholder.xml b/app/src/main/res/drawable/ps_audio_placeholder.xml
new file mode 100644
index 0000000..4f5960a
--- /dev/null
+++ b/app/src/main/res/drawable/ps_audio_placeholder.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+    <item>
+        <shape>
+            <size
+                android:width="100dp"
+                android:height="100dp" />
+            <solid android:color="@color/ps_color_light_grey" />
+        </shape>
+    </item>
+    <item>
+        <bitmap
+            android:gravity="center"
+            android:src="@drawable/ps_ic_audio_placeholder" />
+    </item>
+</layer-list>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ps_image_placeholder.xml b/app/src/main/res/drawable/ps_image_placeholder.xml
new file mode 100644
index 0000000..8c63cb1
--- /dev/null
+++ b/app/src/main/res/drawable/ps_image_placeholder.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+    <item>
+        <shape>
+            <size
+                android:width="100dp"
+                android:height="100dp" />
+            <solid android:color="@color/ps_color_light_grey" />
+        </shape>
+    </item>
+    <item>
+        <bitmap
+            android:gravity="center"
+            android:src="@drawable/ps_ic_placeholder" />
+    </item>
+</layer-list>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/top_state_bg.xml b/app/src/main/res/drawable/top_state_bg.xml
new file mode 100644
index 0000000..ac493be
--- /dev/null
+++ b/app/src/main/res/drawable/top_state_bg.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="@color/title_choose_bg" />
+    <corners android:radius="5dp" />
+    <stroke
+        android:width="1dp"
+        android:color="@color/title_choose_bg" />
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml
index 27e2b41..20ac86a 100644
--- a/app/src/main/res/layout/activity_login.xml
+++ b/app/src/main/res/layout/activity_login.xml
@@ -45,7 +45,7 @@
             android:hint="璇疯緭鍏ュ瘑鐮�"
             android:inputType="textPassword"
             android:maxLines="1"
-            android:text="admin"
+            android:text="dyyjy"
             android:paddingLeft="10dp"
             android:singleLine="true" />
 
diff --git a/app/src/main/res/layout/activity_order_deal.xml b/app/src/main/res/layout/activity_order_deal.xml
new file mode 100644
index 0000000..46c5be9
--- /dev/null
+++ b/app/src/main/res/layout/activity_order_deal.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<layout xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <data>
+
+        <variable
+            name="itemclidk"
+            type="com.dayu.pipirrapp.fragment.OrderFragment" />
+
+        <variable
+            name="data"
+            type="com.dayu.pipirrapp.bean.net.OrderListResult.Data" />
+    </data>
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical">
+
+        <include
+            android:id="@+id/title"
+            layout="@layout/top_title" />
+
+
+        <LinearLayout
+            android:id="@+id/center"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_above="@+id/deal_button"
+            android:layout_below="@+id/title"
+            android:orientation="vertical"
+            android:padding="20dp">
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="鍙嶉鍐呭锛�"
+                android:textColor="@color/black"
+                android:textSize="@dimen/order_detail_button_size" />
+
+
+            <EditText
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="10dp"
+                android:background="@drawable/edittext_backgroud"
+                android:minHeight="100dp" />
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="鎻愪氦鍥剧墖锛�"
+                android:layout_marginTop="10dp"
+                android:textColor="@color/black"
+                android:textSize="@dimen/order_detail_button_size" />
+            <androidx.recyclerview.widget.RecyclerView
+                android:id="@+id/recycler"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="10dp"
+                android:overScrollMode="never" />
+
+        </LinearLayout>
+
+        <TextView
+            android:id="@+id/deal_button"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/order_detail_button_height"
+            android:layout_alignParentBottom="true"
+            android:background="@color/title_color"
+            android:gravity="center"
+            android:text="鎻�   浜�"
+            android:textColor="@color/white"
+            android:textSize="@dimen/order_detail_button_size" />
+
+
+    </RelativeLayout>
+
+</layout>
diff --git a/app/src/main/res/layout/activity_order_detail.xml b/app/src/main/res/layout/activity_order_detail.xml
new file mode 100644
index 0000000..613ac31
--- /dev/null
+++ b/app/src/main/res/layout/activity_order_detail.xml
@@ -0,0 +1,363 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<layout xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <data>
+
+        <variable
+            name="itemclidk"
+            type="com.dayu.pipirrapp.activity.OrderDetailActivity" />
+
+        <variable
+            name="data"
+            type="com.dayu.pipirrapp.bean.net.OrderDetailResult" />
+    </data>
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical">
+
+        <include
+            android:id="@+id/title"
+            layout="@layout/top_title" />
+
+
+        <ScrollView
+            android:id="@+id/ScrollView"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_below="@+id/title">
+
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:orientation="vertical"
+                android:padding="20dp">
+
+
+                <RelativeLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:minHeight="30dp"
+                    android:orientation="horizontal">
+
+                    <ImageView
+                        android:id="@+id/ic_project"
+                        android:layout_width="20dp"
+                        android:layout_height="20dp"
+                        android:layout_marginRight="15dp"
+                        android:layout_centerVertical="true"
+                        android:src="@mipmap/icon_project" />
+
+                    <TextView
+                        android:id="@+id/projectName"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_centerVertical="true"
+
+                        android:layout_marginEnd="15dp"
+                        android:layout_toStartOf="@+id/stateText"
+                        android:layout_toEndOf="@+id/ic_project"
+                        android:ellipsize="end"
+                        android:maxLines="1"
+                        android:text="@{data.taskType}"
+                        android:textColor="@color/title_color"
+                        android:textSize="@dimen/order_detail_text_size" />
+
+
+                    <TextView
+                        android:id="@+id/stateText"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_alignParentRight="true"
+                        android:layout_centerVertical="true"
+                        android:background="@drawable/ic_edt_gray_bg"
+                        android:gravity="center"
+                        android:paddingLeft="10dp"
+                        android:paddingTop="5dp"
+                        android:paddingRight="10dp"
+                        android:paddingBottom="5dp"
+                        android:text="@{data.state}"
+                        android:textSize="@dimen/manage_item_text_state_size" />
+
+
+                </RelativeLayout>
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="5dp"
+                    android:orientation="horizontal">
+
+
+                    <TextView
+                        android:id="@+id/jinduTag"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="宸ュ崟ID锛�"
+                        android:textColor="@color/manage_item_text"
+                        android:textSize="@dimen/order_detail_text_size" />
+
+                    <TextView
+                        android:id="@+id/jindu"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:text="@{data.workOrderId}"
+                        android:textColor="@color/manage_item_text"
+                        android:textSize="@dimen/order_detail_text_size" />
+
+
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="5dp"
+                    android:orientation="horizontal">
+
+
+                    <TextView
+
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="娲惧崟浜哄鍚嶏細"
+                        android:textColor="@color/manage_item_text"
+                        android:textSize="@dimen/order_detail_text_size" />
+
+                    <TextView
+
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="@{data.dispatcher}"
+                        android:textColor="@color/manage_item_text"
+                        android:textSize="@dimen/order_detail_text_size" />
+
+
+                </LinearLayout>
+
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="5dp"
+                    android:orientation="horizontal">
+
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="娲惧崟鏃堕棿锛�"
+                        android:textColor="@color/manage_item_text"
+                        android:textSize="@dimen/order_detail_text_size" />
+
+                    <TextView
+
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:text="@{data.dispatchTime}"
+                        android:textColor="@color/manage_item_text"
+                        android:textSize="@dimen/order_detail_text_size" />
+
+
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="5dp"
+                    android:gravity="center_vertical"
+                    android:orientation="horizontal">
+
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:gravity="center_vertical"
+                        android:text="浠诲姟绫诲瀷锛�"
+                        android:textColor="@color/manage_item_text"
+                        android:textSize="@dimen/order_detail_text_size" />
+
+                    <TextView
+                        android:id="@+id/startTime"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:text="@{data.taskType}"
+                        android:textColor="@color/manage_item_text"
+                        android:textSize="@dimen/order_detail_text_size" />
+
+                </LinearLayout>
+
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="5dp"
+                    android:orientation="horizontal">
+
+
+                    <TextView
+                        android:id="@+id/daiShenPiTag"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="瑕佹眰瀹屾垚鏃堕棿锛�"
+                        android:textColor="@color/manage_item_text"
+                        android:textSize="@dimen/order_detail_text_size" />
+
+                    <TextView
+                        android:id="@+id/daiShenPi"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:text="@{data.deadLine}"
+                        android:textColor="@color/manage_item_text"
+                        android:textSize="@dimen/order_detail_text_size" />
+
+
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="5dp"
+                    android:gravity="center_vertical"
+                    android:orientation="horizontal">
+
+
+                    <TextView
+
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="瀹屾垚鏍囧噯锛�"
+                        android:textColor="@color/manage_item_text"
+                        android:textSize="@dimen/order_detail_text_size" />
+
+                    <TextView
+                        android:id="@+id/xiangMuJianCheng"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+
+                        android:text="@{data.completeCriteria}"
+                        android:textColor="@color/manage_item_text"
+                        android:textSize="@dimen/order_detail_text_size" />
+
+
+                </LinearLayout>
+
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="5dp"
+                    android:gravity="center_vertical"
+                    android:orientation="horizontal">
+
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="浠诲姟鍐呭锛�"
+                        android:textColor="@color/manage_item_text"
+                        android:textSize="@dimen/order_detail_text_size" />
+
+                    <TextView
+                        android:id="@+id/xiangMuType"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+
+                        android:text="@{data.taskContent}"
+                        android:textColor="@color/manage_item_text"
+                        android:textSize="@dimen/order_detail_text_size" />
+
+
+                </LinearLayout>
+
+
+                <LinearLayout
+                    android:id="@+id/orderDealLL"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="vertical"
+                    android:visibility="gone">
+
+                    <TextView
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="10dp"
+                        android:gravity="center"
+                        android:text="澶勭悊缁撴灉"
+                        android:textColor="@color/base_blue"
+                        android:textSize="@dimen/order_detail_text_size" />
+
+
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="5dp"
+                        android:gravity="center_vertical"
+                        android:orientation="horizontal">
+
+
+                        <TextView
+
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="鍙嶉锛�"
+                            android:textColor="@color/manage_item_text"
+                            android:textSize="@dimen/order_detail_text_size" />
+
+                        <TextView
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:text="@{data.completeCriteria}"
+                            android:textColor="@color/manage_item_text"
+                            android:textSize="@dimen/order_detail_text_size" />
+
+
+                    </LinearLayout>
+
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="match_parent"
+                        android:layout_marginTop="10dp"
+                        android:orientation="vertical">
+
+                        <TextView
+
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="鍙嶉鍥剧墖锛�"
+                            android:textColor="@color/manage_item_text"
+                            android:textSize="@dimen/order_detail_text_size" />
+
+                        <androidx.recyclerview.widget.RecyclerView
+                            android:id="@+id/recyclerView"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_centerInParent="true"
+                            android:layout_marginTop="10dp" />
+
+
+                    </LinearLayout>
+                </LinearLayout>
+            </LinearLayout>
+
+        </ScrollView>
+
+
+        <TextView
+            android:id="@+id/deal_button"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/order_detail_button_height"
+            android:layout_alignParentBottom="true"
+            android:background="@color/title_color"
+            android:gravity="center"
+            android:text="澶勭悊宸ュ崟"
+            android:onClick="@{()->itemclidk.startDealActivity()}"
+            android:textColor="@color/white"
+            android:textSize="@dimen/order_detail_button_size" />
+
+
+    </RelativeLayout>
+
+</layout>
diff --git a/app/src/main/res/layout/fragment_main.xml b/app/src/main/res/layout/fragment_main.xml
deleted file mode 100644
index 7fb8cea..0000000
--- a/app/src/main/res/layout/fragment_main.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:background="@color/bg_color">
-
-    <include
-        android:id="@+id/title"
-        layout="@layout/top_title" />
-
-    <RelativeLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_below="@+id/title"
-        android:layout_marginStart="10dp"
-        android:layout_marginTop="10dp"
-        android:layout_marginEnd="10dp"
-        android:layout_marginBottom="10dp"
-        android:background="@drawable/bg_fillet_blue"
-        android:paddingLeft="15dp"
-        android:paddingTop="10dp"
-        android:paddingRight="25dp"
-        android:paddingBottom="10dp">
-
-
-        <TextView
-            android:id="@+id/cityName"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="鍩庡競"
-            android:textColor="@color/white"
-            android:textSize="18sp" />
-
-
-        <TextView
-            android:id="@+id/time"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_below="@+id/cityName"
-            android:layout_alignParentRight="true"
-            android:text="鏃ユ湡"
-            android:textColor="@color/white"
-            android:textSize="16sp" />
-
-
-        <TextView
-            android:id="@+id/weather_name"
-            android:layout_width="wrap_content"
-            android:layout_height="30dp"
-            android:layout_below="@+id/time"
-            android:layout_alignParentRight="true"
-            android:layout_marginTop="10dp"
-            android:gravity="center"
-            android:text="澶╂皵"
-            android:textColor="@color/white"
-            android:textSize="16sp" />
-
-        <ImageView
-            android:id="@+id/weather_img"
-            android:layout_width="30dp"
-            android:layout_height="30dp"
-            android:layout_alignTop="@+id/weather_name"
-            android:layout_marginRight="10dp"
-            android:layout_toLeftOf="@+id/weather_name"
-            android:src="@mipmap/weather_99" />
-
-
-        <TextView
-            android:id="@+id/weather_temperature"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_below="@+id/weather_name"
-            android:layout_alignParentRight="true"
-            android:layout_marginTop="10dp"
-            android:text="娓╁害"
-            android:textColor="@color/white"
-            android:textSize="16sp" />
-
-
-    </RelativeLayout>
-
-
-</RelativeLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_map.xml b/app/src/main/res/layout/fragment_map.xml
index 75471b7..73c122e 100644
--- a/app/src/main/res/layout/fragment_map.xml
+++ b/app/src/main/res/layout/fragment_map.xml
@@ -12,13 +12,7 @@
         android:layout_width="match_parent"
         android:layout_height="match_parent" />
 
-    <TextView
-        android:id="@+id/flyBtn"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_alignParentBottom="true"
-        android:layout_centerHorizontal="true"
-        android:text="璺宠浆鍒版寚瀹氫綅缃�" />
+
 
     <TextView
         android:id="@+id/stateText"
diff --git a/app/src/main/res/layout/fragment_my.xml b/app/src/main/res/layout/fragment_my.xml
index 25baa94..731f974 100644
--- a/app/src/main/res/layout/fragment_my.xml
+++ b/app/src/main/res/layout/fragment_my.xml
@@ -7,9 +7,16 @@
     android:background="@color/bg_color">
 
 
-    <include
+
+    <TextView
         android:id="@+id/title"
-        layout="@layout/top_title" />
+        android:layout_width="match_parent"
+        android:background="@color/title_color"
+        android:textSize="@dimen/title_center_text_size"
+        android:gravity="center"
+        android:text="鎴戠殑"
+        android:textColor="@color/white"
+        android:layout_height="@dimen/title_height"/>
 
     <View
 
diff --git a/app/src/main/res/layout/fragment_order.xml b/app/src/main/res/layout/fragment_order.xml
new file mode 100644
index 0000000..c89655f
--- /dev/null
+++ b/app/src/main/res/layout/fragment_order.xml
@@ -0,0 +1,232 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+
+<layout xmlns:android="http://schemas.android.com/apk/res/android">
+
+
+    <data>
+
+        <variable
+            name="activity"
+            type="com.dayu.pipirrapp.fragment.OrderFragment" />
+
+    </data>
+
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+
+        <TextView
+            android:id="@+id/title"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/title_height"
+            android:background="@color/title_color"
+            android:gravity="center"
+            android:text="宸ュ崟"
+            android:textColor="@color/white"
+            android:textSize="@dimen/title_center_text_size" />
+
+        <LinearLayout
+            android:id="@+id/manage_choose_ll"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/title_choose_height"
+            android:layout_below="@+id/title"
+            android:background="@color/title_choose_bg"
+            android:orientation="horizontal"
+            android:paddingTop="10dp"
+            android:paddingBottom="10dp"
+            android:visibility="gone">
+
+            <RelativeLayout
+                android:id="@+id/choose_manage_rl"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginLeft="5dp"
+
+                android:layout_marginRight="5dp"
+
+                android:layout_weight="1"
+                android:background="@drawable/ic_choose_bg_whit"
+                android:gravity="center_vertical"
+                android:orientation="horizontal">
+
+                <TextView
+                    android:id="@+id/choose_manage_name"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:layout_toStartOf="@+id/choose_xiangmu_right"
+                    android:gravity="center"
+                    android:text="鍏ㄩ儴椤圭洰"
+                    android:textColor="@color/choose_grey"
+                    android:textSize="@dimen/top_choose_text_size" />
+
+                <ImageView
+                    android:id="@+id/choose_xiangmu_right"
+                    android:layout_width="15dp"
+                    android:layout_height="15dp"
+                    android:layout_alignParentRight="true"
+                    android:layout_centerVertical="true"
+                    android:layout_marginRight="8dp"
+                    android:src="@mipmap/icon_bottom" />
+            </RelativeLayout>
+
+            <RelativeLayout
+                android:id="@+id/choose_pianqu_rl"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginLeft="5dp"
+                android:layout_marginRight="5dp"
+
+                android:layout_weight="1"
+                android:background="@drawable/ic_choose_bg_whit"
+                android:gravity="center_vertical"
+                android:orientation="horizontal">
+
+                <TextView
+                    android:id="@+id/choose_pianqu_name"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:layout_toStartOf="@+id/choose_pianqu_right"
+                    android:gravity="center"
+                    android:text="鍏ㄩ儴鐗囧尯"
+                    android:textColor="@color/choose_grey"
+                    android:textSize="@dimen/top_choose_text_size" />
+
+                <ImageView
+                    android:id="@+id/choose_pianqu_right"
+                    android:layout_width="15dp"
+                    android:layout_height="15dp"
+                    android:layout_alignParentRight="true"
+                    android:layout_centerVertical="true"
+                    android:layout_marginRight="8dp"
+                    android:src="@mipmap/icon_bottom" />
+            </RelativeLayout>
+
+            <RelativeLayout
+                android:id="@+id/choose_project_rl"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginLeft="5dp"
+
+                android:layout_marginRight="5dp"
+
+                android:layout_weight="1"
+                android:background="@drawable/ic_choose_bg_whit"
+                android:gravity="center_vertical"
+                android:orientation="horizontal">
+
+                <TextView
+                    android:id="@+id/choose_project_name"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:layout_toStartOf="@+id/choose_project_right"
+                    android:gravity="center"
+                    android:text="鍏ㄩ儴宸ョ▼"
+                    android:textColor="@color/choose_grey"
+                    android:textSize="@dimen/top_choose_text_size" />
+
+                <ImageView
+                    android:id="@+id/choose_project_right"
+                    android:layout_width="15dp"
+                    android:layout_height="15dp"
+                    android:layout_alignParentRight="true"
+                    android:layout_centerVertical="true"
+                    android:layout_marginRight="8dp"
+                    android:src="@mipmap/icon_bottom" />
+            </RelativeLayout>
+        </LinearLayout>
+
+
+        <LinearLayout
+            android:id="@+id/manage_state_ll"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/top_state_height"
+            android:layout_below="@+id/manage_choose_ll"
+            android:layout_margin="10dp"
+            android:background="@drawable/top_state_bg"
+            android:orientation="horizontal">
+
+            <TextView
+                android:id="@+id/manage_state_progress"
+                android:layout_width="wrap_content"
+                android:layout_height="match_parent"
+                android:layout_margin="5dp"
+                android:layout_weight="1"
+                android:background="@drawable/ic_choose_bg_whit"
+                android:gravity="center"
+                android:text="鏈В鍐�"
+                android:textColor="@color/title_color"
+                android:textSize="@dimen/top_state_text_size"
+                android:textStyle="bold" />
+
+            <TextView
+                android:id="@+id/manage_state_finish"
+                android:layout_width="wrap_content"
+                android:layout_height="match_parent"
+                android:layout_margin="5dp"
+                android:layout_weight="1"
+                android:gravity="center"
+                android:text="宸茶В鍐�"
+                android:textColor="@color/black"
+                android:textSize="@dimen/top_state_text_size" />
+
+        </LinearLayout>
+
+        <ImageView
+            android:id="@+id/line"
+            android:layout_width="match_parent"
+            android:layout_height="2px"
+            android:layout_below="@+id/manage_state_ll"
+            android:src="@color/line_bg" />
+
+        <com.scwang.smart.refresh.layout.SmartRefreshLayout
+            android:id="@+id/refreshLayout"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_below="@+id/line">
+
+            <com.scwang.smart.refresh.header.ClassicsHeader
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content" />
+
+            <androidx.recyclerview.widget.RecyclerView
+                android:id="@+id/recyclerView"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:background="#fff"
+                android:overScrollMode="never"
+                android:padding="10dp" />
+
+            <com.scwang.smart.refresh.footer.ClassicsFooter
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content" />
+        </com.scwang.smart.refresh.layout.SmartRefreshLayout>
+
+        <com.scwang.smart.refresh.layout.SmartRefreshLayout
+            android:id="@+id/refreshLayoutDone"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_below="@+id/line"
+            android:visibility="gone">
+
+            <com.scwang.smart.refresh.header.ClassicsHeader
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content" />
+
+            <androidx.recyclerview.widget.RecyclerView
+                android:id="@+id/recyclerViewDone"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:background="#fff"
+                android:overScrollMode="never"
+                android:padding="10dp" />
+
+            <com.scwang.smart.refresh.footer.ClassicsFooter
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content" />
+        </com.scwang.smart.refresh.layout.SmartRefreshLayout>
+
+    </RelativeLayout>
+</layout>
diff --git a/app/src/main/res/layout/item_add_filter_image.xml b/app/src/main/res/layout/item_add_filter_image.xml
new file mode 100644
index 0000000..074b184
--- /dev/null
+++ b/app/src/main/res/layout/item_add_filter_image.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<com.luck.picture.lib.widget.SquareRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content">
+
+    <ImageView
+        android:id="@+id/fiv"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        tools:src="@color/app_color_f6" />
+
+    <ImageView
+        android:id="@+id/iv_del"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignTop="@id/fiv"
+        android:layout_alignRight="@id/fiv"
+        android:paddingLeft="10dp"
+        android:paddingBottom="10dp"
+        android:scaleType="centerInside"
+        android:src="@mipmap/ic_item_delete"
+        android:visibility="gone"
+        tools:visibility="visible" />
+
+    <TextView
+        android:id="@+id/tv_duration"
+        android:layout_width="match_parent"
+        android:layout_height="30dp"
+        android:layout_alignLeft="@id/fiv"
+        android:layout_alignRight="@id/fiv"
+        android:layout_alignBottom="@id/fiv"
+        android:background="@drawable/ps_ic_shadow_bg"
+        android:drawableLeft="@drawable/ps_ic_video"
+        android:drawablePadding="5dp"
+        android:gravity="center_vertical"
+        android:paddingLeft="5dp"
+        android:paddingTop="8dp"
+        android:text="00:00"
+        android:textColor="@color/app_color_white"
+        android:textSize="11sp"
+        android:visibility="gone"
+        tools:visibility="visible" />
+</com.luck.picture.lib.widget.SquareRelativeLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_image.xml b/app/src/main/res/layout/item_image.xml
new file mode 100644
index 0000000..2e11ae1
--- /dev/null
+++ b/app/src/main/res/layout/item_image.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_margin="8dp"
+    android:elevation="4dp">
+
+    <ImageView
+        android:id="@+id/thumbnailImageView"
+        android:layout_width="100dp"
+        android:layout_height="100dp"
+        android:scaleType="centerCrop"/>
+
+</androidx.cardview.widget.CardView>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_no_more.xml b/app/src/main/res/layout/item_no_more.xml
new file mode 100644
index 0000000..2127db5
--- /dev/null
+++ b/app/src/main/res/layout/item_no_more.xml
@@ -0,0 +1,29 @@
+<?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="match_parent"
+        android:background="@color/white"
+        android:gravity="center"
+        android:orientation="vertical">
+
+        <ImageView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="50dp"
+            android:layout_marginRight="50dp"
+            android:src="@mipmap/ic_no_more" />
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="10dp"
+            android:text="娌℃湁鏁版嵁"
+            android:textColor="@color/choose_grey" />
+
+
+    </LinearLayout>
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_order.xml b/app/src/main/res/layout/item_order.xml
new file mode 100644
index 0000000..43adade
--- /dev/null
+++ b/app/src/main/res/layout/item_order.xml
@@ -0,0 +1,282 @@
+<layout xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <data>
+
+        <variable
+            name="itemclidk"
+            type="com.dayu.pipirrapp.fragment.OrderFragment" />
+
+        <variable
+            name="data"
+            type="com.dayu.pipirrapp.bean.net.OrderListResult.Data" />
+    </data>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="10dp"
+        android:background="@drawable/ic_choose_gray_edge"
+        android:onClick="@{()->itemclidk.startDetail(data.workOrderId)}"
+        android:orientation="vertical"
+        android:padding="10dp">
+
+        <RelativeLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:minHeight="30dp"
+            android:orientation="horizontal">
+
+            <ImageView
+                android:id="@+id/ic_project"
+                android:layout_width="20dp"
+                android:layout_height="20dp"
+                android:layout_centerVertical="true"
+                android:layout_marginRight="10dp"
+                android:src="@mipmap/icon_project" />
+
+            <TextView
+                android:id="@+id/projectName"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_centerVertical="true"
+
+                android:layout_marginEnd="15dp"
+                android:layout_toStartOf="@+id/stateText"
+                android:layout_toEndOf="@+id/ic_project"
+                android:ellipsize="end"
+                android:maxLines="1"
+                android:text="@{data.taskType}"
+                android:textColor="@color/title_color"
+                android:textSize="@dimen/manage_item_text_size" />
+
+
+            <TextView
+                android:id="@+id/stateText"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_alignParentRight="true"
+                android:layout_centerVertical="true"
+                android:background="@drawable/ic_edt_gray_bg"
+                android:gravity="center"
+                android:paddingLeft="10dp"
+                android:paddingTop="5dp"
+                android:paddingRight="10dp"
+                android:paddingBottom="5dp"
+                android:text="@{data.state}"
+                android:textSize="@dimen/manage_item_text_state_size" />
+
+
+        </RelativeLayout>
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="5dp"
+            android:orientation="horizontal">
+
+            <LinearLayout
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1">
+
+                <TextView
+                    android:id="@+id/jinduTag"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="宸ュ崟ID锛�"
+                    android:textColor="@color/manage_item_text"
+                    android:textSize="@dimen/manage_item_text_size" />
+
+                <TextView
+                    android:id="@+id/jindu"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="@{data.workOrderId}"
+                    android:textColor="@color/manage_item_text"
+                    android:textSize="@dimen/manage_item_text_size" />
+            </LinearLayout>
+
+
+        </LinearLayout>
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="5dp"
+            android:orientation="horizontal">
+
+            <LinearLayout
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1">
+
+                <TextView
+                    android:id="@+id/daiShenPiTag"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="瑕佹眰瀹屾垚鏃堕棿锛�"
+                    android:textColor="@color/manage_item_text"
+                    android:textSize="@dimen/manage_item_text_size" />
+
+                <TextView
+                    android:id="@+id/daiShenPi"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="@{data.deadLine}"
+                    android:textColor="@color/manage_item_text"
+                    android:textSize="@dimen/manage_item_text_size" />
+            </LinearLayout>
+
+
+        </LinearLayout>
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="5dp"
+            android:gravity="center_vertical"
+            android:orientation="horizontal">
+
+            <LinearLayout
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:gravity="center_vertical"
+                android:orientation="horizontal"
+                android:paddingRight="5dp">
+
+                <TextView
+
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="瀹屾垚鏍囧噯锛�"
+                    android:textColor="@color/manage_item_text"
+                    android:textSize="@dimen/manage_item_text_size" />
+
+                <TextView
+                    android:id="@+id/xiangMuJianCheng"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:ellipsize="end"
+                    android:maxLines="1"
+                    android:text="@{data.completeCriteria}"
+                    android:textColor="@color/manage_item_text"
+                    android:textSize="@dimen/manage_item_text_size" />
+            </LinearLayout>
+
+
+        </LinearLayout>
+
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="5dp"
+            android:gravity="center_vertical"
+            android:orientation="horizontal">
+
+            <LinearLayout
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:gravity="center_vertical"
+                android:orientation="horizontal"
+                android:paddingRight="5dp">
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="浠诲姟鍐呭锛�"
+                    android:textColor="@color/manage_item_text"
+                    android:textSize="@dimen/manage_item_text_size" />
+
+                <TextView
+                    android:id="@+id/xiangMuType"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:ellipsize="end"
+                    android:maxLines="1"
+                    android:text="@{data.taskContent}"
+                    android:textColor="@color/manage_item_text"
+                    android:textSize="@dimen/manage_item_text_size" />
+            </LinearLayout>
+
+
+        </LinearLayout>
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:gravity="center_horizontal"
+            android:orientation="horizontal">
+
+            <LinearLayout
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="5dp"
+                android:layout_weight="2"
+                android:gravity="center_vertical"
+                android:orientation="horizontal">
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:gravity="center_vertical"
+                    android:text="娲惧崟鏃堕棿锛�"
+                    android:textColor="@color/manage_item_text"
+                    android:textSize="@dimen/manage_item_text_size" />
+
+                <TextView
+                    android:id="@+id/startTime"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="@{data.dispatchTime}"
+                    android:textColor="@color/manage_item_text"
+                    android:textSize="@dimen/manage_item_text_size" />
+
+            </LinearLayout>
+
+
+            <LinearLayout
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="10dp"
+                android:layout_marginTop="5dp"
+                android:layout_marginRight="10dp"
+                android:layout_weight="1"
+                android:orientation="horizontal"
+                android:visibility="gone">
+
+
+                <TextView
+                    android:id="@+id/lookDetail"
+                    android:layout_width="0dp"
+                    android:layout_height="@dimen/manage_item_btn_height"
+                    android:layout_weight="1"
+                    android:background="@drawable/ic_blue_background"
+                    android:gravity="center"
+
+                    android:text="鏌ョ湅"
+                    android:textColor="@color/white"
+                    android:textSize="@dimen/manage_item_btn_text_size" />
+
+
+                <TextView
+                    android:id="@+id/examineBtn"
+                    android:layout_width="0dp"
+                    android:layout_height="@dimen/manage_item_btn_height"
+                    android:layout_marginLeft="15dp"
+                    android:layout_weight="1"
+                    android:background="@drawable/ic_blue_background"
+                    android:gravity="center"
+
+                    android:text="瀹℃壒"
+                    android:textColor="@color/white"
+                    android:textSize="@dimen/manage_item_btn_text_size" />
+
+
+            </LinearLayout>
+        </LinearLayout>
+
+    </LinearLayout>
+</layout>
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-xhdpi/ic_add_image.png b/app/src/main/res/mipmap-xhdpi/ic_add_image.png
new file mode 100644
index 0000000..38e38da
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/ic_add_image.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_item_delete.png b/app/src/main/res/mipmap-xhdpi/ic_item_delete.png
new file mode 100644
index 0000000..2025f26
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/ic_item_delete.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_no_more.png b/app/src/main/res/mipmap-xhdpi/ic_no_more.png
new file mode 100644
index 0000000..4769505
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/ic_no_more.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/icon_bottom.png b/app/src/main/res/mipmap-xhdpi/icon_bottom.png
new file mode 100644
index 0000000..c71682a
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/icon_bottom.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/icon_project.png b/app/src/main/res/mipmap-xhdpi/icon_project.png
new file mode 100644
index 0000000..2323b34
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/icon_project.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/ps_ic_audio.png b/app/src/main/res/mipmap-xhdpi/ps_ic_audio.png
new file mode 100644
index 0000000..3b33f07
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/ps_ic_audio.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/ps_ic_video.png b/app/src/main/res/mipmap-xhdpi/ps_ic_video.png
new file mode 100644
index 0000000..9faaf32
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/ps_ic_video.png
Binary files differ
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 74d480f..9d0b954 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -15,4 +15,10 @@
     <color name="line_bg">#DADADA</color>
     <color name="text_on">#BEBEBE</color>
     <color name="text_color">#696969</color>
+    <color name="title_choose_bg">#D9D9D9</color>
+    <color name="choose_grey">#cdcdcd</color>
+    <color name="manage_item_text">#000000</color>
+    <color name="manage_item_time">#AAAAAA</color>
+    <color name="app_color_f6">#f6f6f6</color>
+    <color name="app_color_white">#FFFFFF</color>
 </resources>
\ No newline at end of file
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index 7e06c60..9994b8b 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -10,4 +10,19 @@
 
     <dimen name="dialog_btn_height">45dp</dimen>
     <dimen name="dialog_bg_margin">30dp</dimen>
+    <dimen name="title_choose_height">50dp</dimen>
+    <dimen name="top_choose_text_size">11sp</dimen>
+    <dimen name="top_state_height">40dp</dimen>
+    <dimen name="top_state_text_size">14sp</dimen>
+    <dimen name="manage_item_text_size">13sp</dimen>
+    <dimen name="manage_item_text_state_size">10sp</dimen>
+    <dimen name="manage_item_text_time_size">10sp</dimen>
+    <dimen name="manage_item_btn_height">30dp</dimen>
+    <dimen name="manage_item_btn_text_size">14sp</dimen>
+
+
+    <dimen name="order_detail_text_size">17sp</dimen>
+
+    <dimen name="order_detail_button_size">17sp</dimen>
+    <dimen name="order_detail_button_height">50dp</dimen>
 </resources>
\ No newline at end of file

--
Gitblit v1.8.0