Kaynağa Gözat

首页吸顶样式;工作台相关页面

lichao 4 ay önce
ebeveyn
işleme
b706dfccea
51 değiştirilmiş dosya ile 2436 ekleme ve 435 silme
  1. 1 0
      app/build.gradle
  2. 14 16
      app/src/main/AndroidManifest.xml
  3. 3 3
      app/src/main/java/com/xwkj/jcjcgz/app/view/FlikerProgressBar.java
  4. 41 0
      app/src/main/java/com/xwkj/jcjcgz/di/component/AppManageComponent.java
  5. 41 0
      app/src/main/java/com/xwkj/jcjcgz/di/component/AppTypeListComponent.java
  6. 30 0
      app/src/main/java/com/xwkj/jcjcgz/di/module/AppManageModule.java
  7. 30 0
      app/src/main/java/com/xwkj/jcjcgz/di/module/AppTypeListModule.java
  8. 29 0
      app/src/main/java/com/xwkj/jcjcgz/mvp/contract/AppManageContract.java
  9. 29 0
      app/src/main/java/com/xwkj/jcjcgz/mvp/contract/AppTypeListContract.java
  10. 1 0
      app/src/main/java/com/xwkj/jcjcgz/mvp/contract/GztContract.java
  11. 2 0
      app/src/main/java/com/xwkj/jcjcgz/mvp/contract/RwzxContract.java
  12. 46 0
      app/src/main/java/com/xwkj/jcjcgz/mvp/model/AppManageModel.java
  13. 46 0
      app/src/main/java/com/xwkj/jcjcgz/mvp/model/AppTypeListModel.java
  14. 9 0
      app/src/main/java/com/xwkj/jcjcgz/mvp/model/entity/AppInfo.java
  15. 57 0
      app/src/main/java/com/xwkj/jcjcgz/mvp/model/entity/AppListEntity.java
  16. 19 1
      app/src/main/java/com/xwkj/jcjcgz/mvp/model/entity/ChannelEntity.java
  17. 53 0
      app/src/main/java/com/xwkj/jcjcgz/mvp/presenter/AppManagePresenter.java
  18. 53 0
      app/src/main/java/com/xwkj/jcjcgz/mvp/presenter/AppTypeListPresenter.java
  19. 29 0
      app/src/main/java/com/xwkj/jcjcgz/mvp/presenter/GztPresenter.java
  20. 24 0
      app/src/main/java/com/xwkj/jcjcgz/mvp/presenter/RwzxPresenter.java
  21. 46 0
      app/src/main/java/com/xwkj/jcjcgz/mvp/ui/activity/AppDetailActivity.java
  22. 129 0
      app/src/main/java/com/xwkj/jcjcgz/mvp/ui/activity/AppManageActivity.java
  23. 31 0
      app/src/main/java/com/xwkj/jcjcgz/mvp/ui/adapter/AppDetailImgAdapter.java
  24. 31 0
      app/src/main/java/com/xwkj/jcjcgz/mvp/ui/adapter/AppTypeImgListAdapter.java
  25. 34 0
      app/src/main/java/com/xwkj/jcjcgz/mvp/ui/adapter/AppTypeListAdapter.java
  26. 38 0
      app/src/main/java/com/xwkj/jcjcgz/mvp/ui/adapter/GztAdapter.java
  27. 32 0
      app/src/main/java/com/xwkj/jcjcgz/mvp/ui/adapter/GztDetailAdapter.java
  28. 33 0
      app/src/main/java/com/xwkj/jcjcgz/mvp/ui/adapter/HomeViewPagerAdapter.java
  29. 33 2
      app/src/main/java/com/xwkj/jcjcgz/mvp/ui/adapter/RwfxTaskTypeAdapter.java
  30. 153 0
      app/src/main/java/com/xwkj/jcjcgz/mvp/ui/fragment/AppTypeListFragment.java
  31. 51 1
      app/src/main/java/com/xwkj/jcjcgz/mvp/ui/fragment/GztFragment.java
  32. 18 9
      app/src/main/java/com/xwkj/jcjcgz/mvp/ui/fragment/RwfxTaskStatusFragment.java
  33. 36 18
      app/src/main/java/com/xwkj/jcjcgz/mvp/ui/fragment/RwfxTaskTypeFragment.java
  34. 287 35
      app/src/main/java/com/xwkj/jcjcgz/mvp/ui/fragment/RwzxFragment.java
  35. 6 6
      app/src/main/java/com/xwkj/jcjcgz/mvp/ui/fragment/TaskDxzpFragment.java
  36. 7 2
      app/src/main/java/com/xwkj/jcjcgz/mvp/ui/fragment/TaskFragment.java
  37. 5 0
      app/src/main/res/drawable/bg_shape_14106dff_corner8.xml
  38. 9 0
      app/src/main/res/drawable/dash.xml
  39. 296 15
      app/src/main/res/layout/activity_app_detail.xml
  40. 31 0
      app/src/main/res/layout/activity_app_manage.xml
  41. 13 0
      app/src/main/res/layout/fragment_app_type_list.xml
  42. 13 0
      app/src/main/res/layout/fragment_gzt.xml
  43. 0 2
      app/src/main/res/layout/fragment_task_dxzp.xml
  44. 387 313
      app/src/main/res/layout/fragment_test.xml
  45. 13 0
      app/src/main/res/layout/item_app_detail_img.xml
  46. 29 0
      app/src/main/res/layout/item_app_list.xml
  47. 22 0
      app/src/main/res/layout/item_app_list_detail.xml
  48. 13 0
      app/src/main/res/layout/item_app_type_img.xml
  49. 71 0
      app/src/main/res/layout/item_app_type_list.xml
  50. 6 6
      app/src/main/res/layout/item_rwfx_task_type.xml
  51. 6 6
      app/src/main/res/layout/layout_rwfx.xml

+ 1 - 0
app/build.gradle

@@ -178,5 +178,6 @@ dependencies {
 
     implementation(name: 'imagepicker-release', ext: 'aar')
 
+    implementation 'com.github.yuruiyin:AppbarLayoutBehavior:v1.0.4'
 
 }

+ 14 - 16
app/src/main/AndroidManifest.xml

@@ -10,16 +10,14 @@
     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
     <uses-permission android:name="android.permission.READ_PHONE_STATE" />
     <uses-permission android:name="android.permission.CALL_PHONE" />
-
-
     <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
     <uses-permission android:name="android.permission.WAKE_LOCK" />
     <uses-permission android:name="android.permission.VIBRATE" />
     <uses-permission android:name="android.permission.WRITE_SETTINGS" />
     <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
     <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
-
     <uses-permission android:name="android.permission.CAMERA" />
+
     <application
         android:name="com.jess.arms.base.BaseApplication"
         android:allowBackup="true"
@@ -28,9 +26,11 @@
         android:networkSecurityConfig="@xml/network_security_config"
         android:supportsRtl="true"
         android:theme="@style/AppTheme">
+        <activity android:name=".mvp.ui.activity.AppManageActivity" />
         <activity android:name=".mvp.ui.activity.AddShrActivity" />
-        <activity android:name=".mvp.ui.activity.FzQzFkActivity"
-            android:windowSoftInputMode="stateVisible|adjustResize"/>
+        <activity
+            android:name=".mvp.ui.activity.FzQzFkActivity"
+            android:windowSoftInputMode="stateVisible|adjustResize" />
         <activity android:name=".mvp.ui.activity.DxzpDetailActivity" />
         <activity android:name=".mvp.ui.activity.Test1Activity" />
         <activity android:name=".mvp.ui.activity.LoginActivity" />
@@ -58,10 +58,7 @@
         <meta-data
             android:name="com.xwkj.jcjcgz.app.GlobalConfiguration"
             android:value="ConfigModule" />
-
-        <!--
-        推送
-        -->
+        <!--         推送 -->
         <receiver
             android:name=".app.push.MPushReceiver"
             android:enabled="true"
@@ -84,14 +81,15 @@
             android:enabled="true"
             android:exported="true">
             <intent-filter>
-                <action android:name="com.mpush.MESSAGE_RECEIVED" />      <!--收到PUSH消息-->
-                <action android:name="com.mpush.KICK_USER" />             <!--收到踢人消息-->
-                <action android:name="com.mpush.CONNECTIVITY_CHANGE" />   <!--收到链接变化-->
-                <action android:name="com.mpush.HANDSHAKE_OK" />          <!--收到握手成功消息-->
-                <action android:name="com.mpush.BIND_USER" />             <!--收到绑定用户消息-->
-                <action android:name="com.mpush.UNBIND_USER" />           <!--收到解绑用户消息-->
+                <action android:name="com.mpush.MESSAGE_RECEIVED" /> <!-- 收到PUSH消息 -->
+                <action android:name="com.mpush.KICK_USER" /> <!-- 收到踢人消息 -->
+                <action android:name="com.mpush.CONNECTIVITY_CHANGE" /> <!-- 收到链接变化 -->
+                <action android:name="com.mpush.HANDSHAKE_OK" /> <!-- 收到握手成功消息 -->
+                <action android:name="com.mpush.BIND_USER" /> <!-- 收到绑定用户消息 -->
+                <action android:name="com.mpush.UNBIND_USER" /> <!-- 收到解绑用户消息 -->
+
 
-                <!--此值要改为自己的应用的applicationId  @see MPushService-->
+                <!-- 此值要改为自己的应用的applicationId  @see MPushService -->
                 <category android:name="com.xwkj.jcjcgz" />
             </intent-filter>
         </receiver>

+ 3 - 3
app/src/main/java/com/xwkj/jcjcgz/app/view/FlikerProgressBar.java

@@ -27,7 +27,7 @@ import com.xwkj.jcjcgz.R;
 public class FlikerProgressBar extends View implements Runnable{
     private PorterDuffXfermode xfermode = new PorterDuffXfermode(PorterDuff.Mode.SRC_ATOP);
 
-    private int DEFAULT_HEIGHT_DP = 35;
+    private int DEFAULT_HEIGHT_DP = 24;
 
     private int borderWidth;
 
@@ -352,12 +352,12 @@ public class FlikerProgressBar extends View implements Runnable{
         String text= "";
         if(!isFinish){
             if(!isStop){
-                text = "下载中" + progress + "%";
+                text = progress + "%";
             } else {
                 text = "继续";
             }
         } else{
-            text = "下载完成";
+            text = "安装";
         }
 
         return text;

+ 41 - 0
app/src/main/java/com/xwkj/jcjcgz/di/component/AppManageComponent.java

@@ -0,0 +1,41 @@
+package com.xwkj.jcjcgz.di.component;
+
+import dagger.BindsInstance;
+import dagger.Component;
+
+import com.jess.arms.di.component.AppComponent;
+
+import com.xwkj.jcjcgz.di.module.AppManageModule;
+import com.xwkj.jcjcgz.mvp.contract.AppManageContract;
+
+import com.jess.arms.di.scope.ActivityScope;
+import com.xwkj.jcjcgz.mvp.ui.activity.AppManageActivity;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 09/03/2024 09:05
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+@ActivityScope
+@Component(modules = AppManageModule.class, dependencies = AppComponent.class)
+public interface AppManageComponent {
+    void inject(AppManageActivity activity);
+
+    @Component.Builder
+    interface Builder {
+        @BindsInstance
+        AppManageComponent.Builder view(AppManageContract.View view);
+
+        AppManageComponent.Builder appComponent(AppComponent appComponent);
+
+        AppManageComponent build();
+    }
+}

+ 41 - 0
app/src/main/java/com/xwkj/jcjcgz/di/component/AppTypeListComponent.java

@@ -0,0 +1,41 @@
+package com.xwkj.jcjcgz.di.component;
+
+import dagger.BindsInstance;
+import dagger.Component;
+
+import com.jess.arms.di.component.AppComponent;
+
+import com.xwkj.jcjcgz.di.module.AppTypeListModule;
+import com.xwkj.jcjcgz.mvp.contract.AppTypeListContract;
+
+import com.jess.arms.di.scope.FragmentScope;
+import com.xwkj.jcjcgz.mvp.ui.fragment.AppTypeListFragment;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 09/03/2024 09:21
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+@FragmentScope
+@Component(modules = AppTypeListModule.class, dependencies = AppComponent.class)
+public interface AppTypeListComponent {
+    void inject(AppTypeListFragment fragment);
+
+    @Component.Builder
+    interface Builder {
+        @BindsInstance
+        AppTypeListComponent.Builder view(AppTypeListContract.View view);
+
+        AppTypeListComponent.Builder appComponent(AppComponent appComponent);
+
+        AppTypeListComponent build();
+    }
+}

+ 30 - 0
app/src/main/java/com/xwkj/jcjcgz/di/module/AppManageModule.java

@@ -0,0 +1,30 @@
+package com.xwkj.jcjcgz.di.module;
+
+import com.jess.arms.di.scope.ActivityScope;
+
+import dagger.Binds;
+import dagger.Module;
+import dagger.Provides;
+
+import com.xwkj.jcjcgz.mvp.contract.AppManageContract;
+import com.xwkj.jcjcgz.mvp.model.AppManageModel;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 09/03/2024 09:05
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+@Module
+public abstract class AppManageModule {
+
+    @Binds
+    abstract AppManageContract.Model bindAppManageModel(AppManageModel model);
+}

+ 30 - 0
app/src/main/java/com/xwkj/jcjcgz/di/module/AppTypeListModule.java

@@ -0,0 +1,30 @@
+package com.xwkj.jcjcgz.di.module;
+
+import com.jess.arms.di.scope.FragmentScope;
+
+import dagger.Binds;
+import dagger.Module;
+import dagger.Provides;
+
+import com.xwkj.jcjcgz.mvp.contract.AppTypeListContract;
+import com.xwkj.jcjcgz.mvp.model.AppTypeListModel;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 09/03/2024 09:21
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+@Module
+public abstract class AppTypeListModule {
+
+    @Binds
+    abstract AppTypeListContract.Model bindAppTypeListModel(AppTypeListModel model);
+}

+ 29 - 0
app/src/main/java/com/xwkj/jcjcgz/mvp/contract/AppManageContract.java

@@ -0,0 +1,29 @@
+package com.xwkj.jcjcgz.mvp.contract;
+
+import com.jess.arms.mvp.IView;
+import com.jess.arms.mvp.IModel;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 09/03/2024 09:05
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+public interface AppManageContract {
+    //对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
+    interface View extends IView {
+
+    }
+
+    //Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
+    interface Model extends IModel {
+
+    }
+}

+ 29 - 0
app/src/main/java/com/xwkj/jcjcgz/mvp/contract/AppTypeListContract.java

@@ -0,0 +1,29 @@
+package com.xwkj.jcjcgz.mvp.contract;
+
+import com.jess.arms.mvp.IView;
+import com.jess.arms.mvp.IModel;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 09/03/2024 09:21
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+public interface AppTypeListContract {
+    //对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
+    interface View extends IView {
+
+    }
+
+    //Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
+    interface Model extends IModel {
+
+    }
+}

+ 1 - 0
app/src/main/java/com/xwkj/jcjcgz/mvp/contract/GztContract.java

@@ -20,6 +20,7 @@ public interface GztContract {
     //对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
     interface View extends IView {
 
+        void onGetAppListSuccess(String result);
     }
 
     //Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存

+ 2 - 0
app/src/main/java/com/xwkj/jcjcgz/mvp/contract/RwzxContract.java

@@ -21,6 +21,8 @@ public interface RwzxContract {
     interface View extends IView {
 
         void onSuccess(String result);
+
+        void onSecondFloorDataSuccess(String result);
     }
 
     //Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存

+ 46 - 0
app/src/main/java/com/xwkj/jcjcgz/mvp/model/AppManageModel.java

@@ -0,0 +1,46 @@
+package com.xwkj.jcjcgz.mvp.model;
+
+import android.app.Application;
+
+import com.google.gson.Gson;
+import com.jess.arms.integration.IRepositoryManager;
+import com.jess.arms.mvp.BaseModel;
+
+import com.jess.arms.di.scope.ActivityScope;
+
+import javax.inject.Inject;
+
+import com.xwkj.jcjcgz.mvp.contract.AppManageContract;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 09/03/2024 09:05
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+@ActivityScope
+public class AppManageModel extends BaseModel implements AppManageContract.Model {
+    @Inject
+    Gson mGson;
+    @Inject
+    Application mApplication;
+
+    @Inject
+    public AppManageModel(IRepositoryManager repositoryManager) {
+        super(repositoryManager);
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        this.mGson = null;
+        this.mApplication = null;
+    }
+}

+ 46 - 0
app/src/main/java/com/xwkj/jcjcgz/mvp/model/AppTypeListModel.java

@@ -0,0 +1,46 @@
+package com.xwkj.jcjcgz.mvp.model;
+
+import android.app.Application;
+
+import com.google.gson.Gson;
+import com.jess.arms.integration.IRepositoryManager;
+import com.jess.arms.mvp.BaseModel;
+
+import com.jess.arms.di.scope.FragmentScope;
+
+import javax.inject.Inject;
+
+import com.xwkj.jcjcgz.mvp.contract.AppTypeListContract;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 09/03/2024 09:21
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+@FragmentScope
+public class AppTypeListModel extends BaseModel implements AppTypeListContract.Model {
+    @Inject
+    Gson mGson;
+    @Inject
+    Application mApplication;
+
+    @Inject
+    public AppTypeListModel(IRepositoryManager repositoryManager) {
+        super(repositoryManager);
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        this.mGson = null;
+        this.mApplication = null;
+    }
+}

+ 9 - 0
app/src/main/java/com/xwkj/jcjcgz/mvp/model/entity/AppInfo.java

@@ -2,6 +2,15 @@ package com.xwkj.jcjcgz.mvp.model.entity;
 
 public class AppInfo {
     private String name;
+    private String icon;
+
+    public String getIcon() {
+        return icon;
+    }
+
+    public void setIcon(String icon) {
+        this.icon = icon;
+    }
 
     public String getName() {
         return name;

+ 57 - 0
app/src/main/java/com/xwkj/jcjcgz/mvp/model/entity/AppListEntity.java

@@ -0,0 +1,57 @@
+package com.xwkj.jcjcgz.mvp.model.entity;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+public class AppListEntity {
+    private int code;
+    private boolean success;
+    private List<AppListInfo> data;
+    private String msg;
+
+    public int getCode() {
+        return code;
+    }
+
+    public void setCode(int code) {
+        this.code = code;
+    }
+
+    public boolean isSuccess() {
+        return success;
+    }
+
+    public void setSuccess(boolean success) {
+        this.success = success;
+    }
+
+    public List<AppListInfo> getData() {
+        return data;
+    }
+
+    public void setData(List<AppListInfo> data) {
+        this.data = data;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg;
+    }
+
+    public static class AppListInfo implements Serializable {
+        private List<AppInfo> info;
+
+        public List<AppInfo> getInfo() {
+            return info;
+        }
+
+        public void setInfo(List<AppInfo> info) {
+            this.info = info;
+        }
+    }
+
+}

+ 19 - 1
app/src/main/java/com/xwkj/jcjcgz/mvp/model/entity/ChannelEntity.java

@@ -51,13 +51,31 @@ public class ChannelEntity {
         private String hasChildren;
         private String isDeleted;
         private String isSealed;
-        private int num;
+        private int num; // 总数
+        private int num1; // 已签收
+        private int num2; // 已反馈
         private String parentId;
         private String parentName;
         private String remark;
         private String sort;
         private String tenantId;
 
+        public int getNum1() {
+            return num1;
+        }
+
+        public void setNum1(int num1) {
+            this.num1 = num1;
+        }
+
+        public int getNum2() {
+            return num2;
+        }
+
+        public void setNum2(int num2) {
+            this.num2 = num2;
+        }
+
         public String getId() {
             return id;
         }

+ 53 - 0
app/src/main/java/com/xwkj/jcjcgz/mvp/presenter/AppManagePresenter.java

@@ -0,0 +1,53 @@
+package com.xwkj.jcjcgz.mvp.presenter;
+
+import android.app.Application;
+
+import com.jess.arms.integration.AppManager;
+import com.jess.arms.di.scope.ActivityScope;
+import com.jess.arms.mvp.BasePresenter;
+import com.jess.arms.http.imageloader.ImageLoader;
+
+import me.jessyan.rxerrorhandler.core.RxErrorHandler;
+
+import javax.inject.Inject;
+
+import com.xwkj.jcjcgz.mvp.contract.AppManageContract;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 09/03/2024 09:05
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+@ActivityScope
+public class AppManagePresenter extends BasePresenter<AppManageContract.Model, AppManageContract.View> {
+    @Inject
+    RxErrorHandler mErrorHandler;
+    @Inject
+    Application mApplication;
+    @Inject
+    ImageLoader mImageLoader;
+    @Inject
+    AppManager mAppManager;
+
+    @Inject
+    public AppManagePresenter(AppManageContract.Model model, AppManageContract.View rootView) {
+        super(model, rootView);
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        this.mErrorHandler = null;
+        this.mAppManager = null;
+        this.mImageLoader = null;
+        this.mApplication = null;
+    }
+}

+ 53 - 0
app/src/main/java/com/xwkj/jcjcgz/mvp/presenter/AppTypeListPresenter.java

@@ -0,0 +1,53 @@
+package com.xwkj.jcjcgz.mvp.presenter;
+
+import android.app.Application;
+
+import com.jess.arms.integration.AppManager;
+import com.jess.arms.di.scope.FragmentScope;
+import com.jess.arms.mvp.BasePresenter;
+import com.jess.arms.http.imageloader.ImageLoader;
+
+import me.jessyan.rxerrorhandler.core.RxErrorHandler;
+
+import javax.inject.Inject;
+
+import com.xwkj.jcjcgz.mvp.contract.AppTypeListContract;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 09/03/2024 09:21
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+@FragmentScope
+public class AppTypeListPresenter extends BasePresenter<AppTypeListContract.Model, AppTypeListContract.View> {
+    @Inject
+    RxErrorHandler mErrorHandler;
+    @Inject
+    Application mApplication;
+    @Inject
+    ImageLoader mImageLoader;
+    @Inject
+    AppManager mAppManager;
+
+    @Inject
+    public AppTypeListPresenter(AppTypeListContract.Model model, AppTypeListContract.View rootView) {
+        super(model, rootView);
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        this.mErrorHandler = null;
+        this.mAppManager = null;
+        this.mImageLoader = null;
+        this.mApplication = null;
+    }
+}

+ 29 - 0
app/src/main/java/com/xwkj/jcjcgz/mvp/presenter/GztPresenter.java

@@ -12,6 +12,11 @@ import me.jessyan.rxerrorhandler.core.RxErrorHandler;
 import javax.inject.Inject;
 
 import com.xwkj.jcjcgz.mvp.contract.GztContract;
+import com.xwkj.jcjcgz.mvp.model.api.CommonInterFace;
+import com.xwkj.jcjcgz.mvp.model.api.ReqToBus;
+
+import java.util.HashMap;
+import java.util.Map;
 
 
 /**
@@ -50,4 +55,28 @@ public class GztPresenter extends BasePresenter<GztContract.Model, GztContract.V
         this.mImageLoader = null;
         this.mApplication = null;
     }
+
+    public void getAppList(HashMap<String, String> map) {
+        Map<String, Object> map1 = new HashMap<>();
+        map1.put("mappingName", "/dict-biz/getTreeByCode");
+        map1.put("serviceName", "blade-system");
+        map1.put("params", map);
+        ReqToBus.getInstance().init(mApplication).getRequestV2(map1, new CommonInterFace() {
+            @Override
+            public void onSuccess(String result) {
+                if (mRootView != null) {
+                    mRootView.onGetAppListSuccess(result);
+                }
+            }
+
+            @Override
+            public void onError(Throwable throwable) {
+            }
+
+            @Override
+            public void onFinsh() {
+
+            }
+        });
+    }
 }

+ 24 - 0
app/src/main/java/com/xwkj/jcjcgz/mvp/presenter/RwzxPresenter.java

@@ -79,4 +79,28 @@ public class RwzxPresenter extends BasePresenter<RwzxContract.Model, RwzxContrac
             }
         });
     }
+
+    public void getSecondFloorData(Map<String,String> map){
+        Map<String, Object> map1 = new HashMap<>();
+        map1.put("mappingName", "/dict-biz/rwfx");
+        map1.put("serviceName", "blade-system");
+        map1.put("params", map);
+        ReqToBus.getInstance().init(mApplication).getRequestV2(map1, new CommonInterFace() {
+            @Override
+            public void onSuccess(String result) {
+                if (mRootView != null) {
+                    mRootView.onSecondFloorDataSuccess(result);
+                }
+            }
+
+            @Override
+            public void onError(Throwable throwable) {
+            }
+
+            @Override
+            public void onFinsh() {
+
+            }
+        });
+    }
 }

+ 46 - 0
app/src/main/java/com/xwkj/jcjcgz/mvp/ui/activity/AppDetailActivity.java

@@ -7,9 +7,13 @@ import android.content.IntentFilter;
 import android.os.Bundle;
 import android.util.Log;
 import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
 
 import com.jess.arms.di.component.AppComponent;
 import com.jess.arms.utils.ArmsUtils;
@@ -18,13 +22,17 @@ import com.xwkj.jcjcgz.app.view.FlikerProgressBar;
 import com.xwkj.jcjcgz.di.component.DaggerAppDetailComponent;
 import com.xwkj.jcjcgz.mvp.contract.AppDetailContract;
 import com.xwkj.jcjcgz.mvp.presenter.AppDetailPresenter;
+import com.xwkj.jcjcgz.mvp.ui.adapter.AppDetailImgAdapter;
 import com.yaoxiaowen.download.DownloadConstant;
 import com.yaoxiaowen.download.DownloadHelper;
 import com.yaoxiaowen.download.FileInfo;
 import com.zkjc.common.base.ZkjcBaseActivity;
+import com.zkjc.common.view.CommonTitleBarV3;
 
 import java.io.File;
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 import butterknife.BindView;
@@ -51,6 +59,34 @@ public class AppDetailActivity extends ZkjcBaseActivity<AppDetailPresenter> impl
     private String apkName = "测试.apk";
     @BindView(R.id.app_detail_progress)
     FlikerProgressBar progressBar;
+    @BindView(R.id.title_bar)
+    CommonTitleBarV3 titleBar;
+    @BindView(R.id.app_detail_iv_icon)
+    ImageView ivIcon;
+    @BindView(R.id.app_detail_tv_name)
+    TextView tvName;
+    @BindView(R.id.app_detail_tv_desc)
+    TextView tvDesc;
+    @BindView(R.id.app_detail_tv_download)
+    TextView tvDownload;
+    @BindView(R.id.app_detail_rv)
+    RecyclerView recyclerView;
+    @BindView(R.id.app_detail_tv_version)
+    TextView tvVersion;
+    @BindView(R.id.app_detail_tv_content)
+    TextView tvContent;
+    @BindView(R.id.app_detail_tv_history)
+    TextView tvHistory;
+    @BindView(R.id.app_detail_tv_time)
+    TextView tvTime;
+    @BindView(R.id.app_detail_tv_company)
+    TextView tvCompany;
+    @BindView(R.id.app_detail_tv_size)
+    TextView tvSize;
+    @BindView(R.id.app_detail_tv_type)
+    TextView tvType;
+    @BindView(R.id.app_detail_layout_ys)
+    View layoutYs;
     private File apkFile;
     private File dir;
     private boolean isDownload;
@@ -72,6 +108,16 @@ public class AppDetailActivity extends ZkjcBaseActivity<AppDetailPresenter> impl
 
     @Override
     public void initData(@Nullable Bundle savedInstanceState) {
+        recyclerView.setLayoutManager(new LinearLayoutManager(this, RecyclerView.HORIZONTAL, false));
+        List<String> list = new ArrayList<>();
+        list.add("");
+        list.add("");
+        list.add("");
+        list.add("");
+        AppDetailImgAdapter adapter = new AppDetailImgAdapter(list);
+        recyclerView.setAdapter(adapter);
+
+
         progressBar.setOnClickListener(this);
         IntentFilter filter = new IntentFilter();
         filter.addAction(ACTION);

+ 129 - 0
app/src/main/java/com/xwkj/jcjcgz/mvp/ui/activity/AppManageActivity.java

@@ -0,0 +1,129 @@
+package com.xwkj.jcjcgz.mvp.ui.activity;
+
+import android.content.Intent;
+import android.os.Bundle;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+import androidx.viewpager2.adapter.FragmentStateAdapter;
+import androidx.viewpager2.widget.ViewPager2;
+
+import com.google.android.material.tabs.TabLayout;
+import com.google.android.material.tabs.TabLayoutMediator;
+import com.jess.arms.base.BaseActivity;
+import com.jess.arms.di.component.AppComponent;
+import com.jess.arms.utils.ArmsUtils;
+
+import com.xwkj.jcjcgz.di.component.DaggerAppManageComponent;
+import com.xwkj.jcjcgz.mvp.contract.AppManageContract;
+import com.xwkj.jcjcgz.mvp.model.entity.ChannelEntity;
+import com.xwkj.jcjcgz.mvp.presenter.AppManagePresenter;
+
+import com.xwkj.jcjcgz.R;
+import com.xwkj.jcjcgz.mvp.ui.fragment.AppTypeListFragment;
+import com.xwkj.jcjcgz.mvp.ui.fragment.TaskDxzpFragment;
+import com.zkjc.common.base.ZkjcBaseActivity;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.BindView;
+
+import static com.jess.arms.utils.Preconditions.checkNotNull;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 09/03/2024 09:05
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+public class AppManageActivity extends ZkjcBaseActivity<AppManagePresenter> implements AppManageContract.View {
+    @BindView(R.id.app_manage_tab)
+    TabLayout tabLayout;
+    @BindView(R.id.app_manage_vp)
+    ViewPager2 viewPager;
+    @Override
+    public void setupActivityComponent(@NonNull AppComponent appComponent) {
+        DaggerAppManageComponent //如找不到该类,请编译一下项目
+                .builder()
+                .appComponent(appComponent)
+                .view(this)
+                .build()
+                .inject(this);
+    }
+
+    @Override
+    public int initView(@Nullable Bundle savedInstanceState) {
+        return R.layout.activity_app_manage; //如果你不需要框架帮你设置 setContentView(id) 需要自行设置,请返回 0
+    }
+
+    @Override
+    public void initData(@Nullable Bundle savedInstanceState) {
+        List<Fragment> fragments = new ArrayList<>();
+        fragments.add(new AppTypeListFragment());
+        fragments.add(new AppTypeListFragment());
+        fragments.add(new AppTypeListFragment());
+        fragments.add(new AppTypeListFragment());
+        List<String> titles = new ArrayList<>();
+        titles.add("11111111");
+        titles.add("22222222");
+        titles.add("33333333");
+        titles.add("44444444");
+        FragmentStateAdapter mAdapter = new FragmentStateAdapter(this) {
+            @Override
+            public int getItemCount() {
+                return fragments.size();
+            }
+
+            @NonNull
+            @Override
+            public Fragment createFragment(int position) {
+                return fragments.get(position);
+            }
+
+        };
+        viewPager.setAdapter(mAdapter);
+        new TabLayoutMediator(tabLayout, viewPager, new TabLayoutMediator.TabConfigurationStrategy() {
+            @Override
+            public void onConfigureTab(@NonNull TabLayout.Tab tab, int position) {
+                tab.setText(titles.get(position));
+            }
+        }).attach();
+    }
+
+    @Override
+    public void showLoading() {
+
+    }
+
+    @Override
+    public void hideLoading() {
+
+    }
+
+    @Override
+    public void showMessage(@NonNull String message) {
+        checkNotNull(message);
+        ArmsUtils.snackbarText(message);
+    }
+
+    @Override
+    public void launchActivity(@NonNull Intent intent) {
+        checkNotNull(intent);
+        ArmsUtils.startActivity(intent);
+    }
+
+    @Override
+    public void killMyself() {
+        finish();
+    }
+}

+ 31 - 0
app/src/main/java/com/xwkj/jcjcgz/mvp/ui/adapter/AppDetailImgAdapter.java

@@ -0,0 +1,31 @@
+package com.xwkj.jcjcgz.mvp.ui.adapter;
+
+import android.text.TextUtils;
+import android.widget.ImageView;
+
+import com.squareup.picasso.Picasso;
+import com.xwkj.jcjcgz.R;
+
+import java.util.List;
+
+public class AppDetailImgAdapter extends BaseRecycleAdapter<String> {
+    public AppDetailImgAdapter(List<String> datas) {
+        super(datas);
+    }
+
+    @Override
+    protected void bindData(BaseViewHolder holder, int position) {
+        String s = datas.get(position);
+        ImageView iv = (ImageView) holder.getView(R.id.iv_img);
+        if (!TextUtils.isEmpty(s)) {
+            Picasso.with(iv.getContext()).load(s).into(iv);
+        } else {
+            iv.setImageResource(0);
+        }
+    }
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.item_app_detail_img;
+    }
+}

+ 31 - 0
app/src/main/java/com/xwkj/jcjcgz/mvp/ui/adapter/AppTypeImgListAdapter.java

@@ -0,0 +1,31 @@
+package com.xwkj.jcjcgz.mvp.ui.adapter;
+
+import android.text.TextUtils;
+import android.widget.ImageView;
+
+import com.squareup.picasso.Picasso;
+import com.xwkj.jcjcgz.R;
+
+import java.util.List;
+
+public class AppTypeImgListAdapter extends BaseRecycleAdapter<String> {
+    public AppTypeImgListAdapter(List<String> datas) {
+        super(datas);
+    }
+
+    @Override
+    protected void bindData(BaseViewHolder holder, int position) {
+        String s = datas.get(position);
+        ImageView iv = (ImageView) holder.getView(R.id.iv_img);
+        if (!TextUtils.isEmpty(s)) {
+            Picasso.with(iv.getContext()).load(s).into(iv);
+        } else {
+            iv.setImageResource(0);
+        }
+    }
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.item_app_type_img;
+    }
+}

+ 34 - 0
app/src/main/java/com/xwkj/jcjcgz/mvp/ui/adapter/AppTypeListAdapter.java

@@ -0,0 +1,34 @@
+package com.xwkj.jcjcgz.mvp.ui.adapter;
+
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.xwkj.jcjcgz.R;
+import com.xwkj.jcjcgz.mvp.model.entity.AppInfo;
+import com.zkjc.common.mvp.FaceResponse;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class AppTypeListAdapter extends BaseRecycleAdapter<AppInfo> {
+    public AppTypeListAdapter(List<AppInfo> datas) {
+        super(datas);
+    }
+
+    @Override
+    protected void bindData(BaseViewHolder holder, int position) {
+        RecyclerView recyclerView = (RecyclerView) holder.getView(R.id.item_app_type_list_rv);
+        List<String> list = new ArrayList<>();
+        list.add("");
+        list.add("");
+        list.add("");
+        AppTypeImgListAdapter adapter = new AppTypeImgListAdapter(list);
+        recyclerView.setLayoutManager(new LinearLayoutManager(recyclerView.getContext(), RecyclerView.HORIZONTAL, false));
+        recyclerView.setAdapter(adapter);
+    }
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.item_app_type_list;
+    }
+}

+ 38 - 0
app/src/main/java/com/xwkj/jcjcgz/mvp/ui/adapter/GztAdapter.java

@@ -0,0 +1,38 @@
+package com.xwkj.jcjcgz.mvp.ui.adapter;
+
+import android.view.View;
+
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.xwkj.jcjcgz.R;
+import com.xwkj.jcjcgz.mvp.model.entity.AppInfo;
+import com.xwkj.jcjcgz.mvp.model.entity.AppListEntity;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class GztAdapter extends BaseRecycleAdapter<AppListEntity.AppListInfo> {
+    public GztAdapter(List<AppListEntity.AppListInfo> datas) {
+        super(datas);
+    }
+
+    @Override
+    protected void bindData(BaseViewHolder holder, int position) {
+        AppListEntity.AppListInfo info = datas.get(position);
+        RecyclerView rv = (RecyclerView) holder.getView(R.id.item_app_list_rv);
+        rv.setLayoutManager(new GridLayoutManager(rv.getContext(), 4));
+        info.setInfo(new ArrayList<>());
+        info.getInfo().add(new AppInfo());
+        info.getInfo().add(new AppInfo());
+        info.getInfo().add(new AppInfo());
+        info.getInfo().add(new AppInfo());
+        GztDetailAdapter adapter = new GztDetailAdapter(info.getInfo());
+        rv.setAdapter(adapter);
+    }
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.item_app_list;
+    }
+}

+ 32 - 0
app/src/main/java/com/xwkj/jcjcgz/mvp/ui/adapter/GztDetailAdapter.java

@@ -0,0 +1,32 @@
+package com.xwkj.jcjcgz.mvp.ui.adapter;
+
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.ImageView;
+
+import com.squareup.picasso.Picasso;
+import com.xwkj.jcjcgz.R;
+import com.xwkj.jcjcgz.mvp.model.entity.AppInfo;
+
+import java.util.List;
+
+public class GztDetailAdapter extends BaseRecycleAdapter<AppInfo> {
+    public GztDetailAdapter(List<AppInfo> datas) {
+        super(datas);
+    }
+
+    @Override
+    protected void bindData(BaseViewHolder holder, int position) {
+        AppInfo info = datas.get(position);
+        ImageView iv = (ImageView) holder.getView(R.id.item_app_list_detail_iv);
+        if (!TextUtils.isEmpty(info.getIcon())) {
+            Picasso.with(iv.getContext()).load(info.getIcon()).into(iv);
+        }
+        setItemText(holder.getView(R.id.item_app_list_detail_iv), info.getName());
+    }
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.item_app_list_detail;
+    }
+}

+ 33 - 0
app/src/main/java/com/xwkj/jcjcgz/mvp/ui/adapter/HomeViewPagerAdapter.java

@@ -0,0 +1,33 @@
+package com.xwkj.jcjcgz.mvp.ui.adapter;
+
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentStatePagerAdapter;
+
+import java.util.List;
+
+/**
+ * Created by weioule
+ * on 2019/6/26.
+ */
+public class HomeViewPagerAdapter extends FragmentStatePagerAdapter {
+
+    private List<Fragment> mlist;
+
+
+    public HomeViewPagerAdapter(FragmentManager fm, List<Fragment> list) {
+        super(fm);
+        this.mlist = list;
+    }
+
+    @Override
+    public Fragment getItem(int position) {
+        return mlist.get(position);
+    }
+
+    @Override
+    public int getCount() {
+        return mlist.size();
+    }
+
+}

+ 33 - 2
app/src/main/java/com/xwkj/jcjcgz/mvp/ui/adapter/RwfxTaskTypeAdapter.java

@@ -1,21 +1,52 @@
 package com.xwkj.jcjcgz.mvp.ui.adapter;
 
+import android.text.TextUtils;
+import android.util.Log;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.ProgressBar;
+
+import com.squareup.picasso.Picasso;
 import com.xwkj.jcjcgz.R;
+import com.xwkj.jcjcgz.mvp.model.entity.ChannelEntity;
 
+import java.util.ArrayList;
 import java.util.List;
 
-public class RwfxTaskTypeAdapter extends BaseRecycleAdapter<String> {
-    public RwfxTaskTypeAdapter(List<String> datas) {
+public class RwfxTaskTypeAdapter extends BaseRecycleAdapter<ChannelEntity.Task> {
+    private int mTotalNum = 0;
+    public RwfxTaskTypeAdapter(ArrayList<ChannelEntity.Task> datas) {
         super(datas);
     }
 
     @Override
     protected void bindData(BaseViewHolder holder, int position) {
+        Log.e("eee", "position ===== " + position);
+
+        Log.e("eee", "begin ===== " + position);
+        ChannelEntity.Task task = datas.get(position);
+        setItemText(holder.getView(R.id.item_rwfx_task_type_tv_name), task.getDictValue());
+        setItemText(holder.getView(R.id.item_rwfx_task_type_tv_count), task.getNum() + "");
+        ProgressBar progress = (ProgressBar) holder.getView(R.id.item_rwfx_task_type_progress);
+        if (mTotalNum != 0) {
+            progress.setProgress(task.getNum() * 100 / mTotalNum);
+        } else {
+            progress.setProgress(100);
+        }
+        if (!TextUtils.isEmpty(task.getRemark())) {
+            Picasso.with(progress.getContext()).load(task.getRemark()).into((ImageView) holder.getView(R.id.item_rwfx_task_type_iv_icon));
+        }
+        setItemText(holder.getView(R.id.item_rwfx_task_type_tv_percent), progress.getProgress() + "%");
 
+        Log.e("eee", "end ===== " + position);
     }
 
     @Override
     public int getLayoutId() {
         return R.layout.item_rwfx_task_type;
     }
+
+    public void setTotal(int num) {
+        mTotalNum = num;
+    }
 }

+ 153 - 0
app/src/main/java/com/xwkj/jcjcgz/mvp/ui/fragment/AppTypeListFragment.java

@@ -0,0 +1,153 @@
+package com.xwkj.jcjcgz.mvp.ui.fragment;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.Message;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.jess.arms.base.BaseFragment;
+import com.jess.arms.di.component.AppComponent;
+import com.jess.arms.utils.ArmsUtils;
+
+import com.xwkj.jcjcgz.di.component.DaggerAppTypeListComponent;
+import com.xwkj.jcjcgz.mvp.contract.AppTypeListContract;
+import com.xwkj.jcjcgz.mvp.model.entity.AppInfo;
+import com.xwkj.jcjcgz.mvp.presenter.AppTypeListPresenter;
+
+import com.xwkj.jcjcgz.R;
+import com.xwkj.jcjcgz.mvp.ui.adapter.AppTypeListAdapter;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.BindView;
+
+import static com.jess.arms.utils.Preconditions.checkNotNull;
+
+
+/**
+ * ================================================
+ * Description:
+ * <p>
+ * Created by MVPArmsTemplate on 09/03/2024 09:21
+ * <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
+ * <a href="https://github.com/JessYanCoding">Follow me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
+ * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
+ * ================================================
+ */
+public class AppTypeListFragment extends BaseFragment<AppTypeListPresenter> implements AppTypeListContract.View {
+
+    @BindView(R.id.rv)
+    RecyclerView recyclerView;
+
+    public static AppTypeListFragment newInstance() {
+        AppTypeListFragment fragment = new AppTypeListFragment();
+        return fragment;
+    }
+
+    @Override
+    public void setupFragmentComponent(@NonNull AppComponent appComponent) {
+        DaggerAppTypeListComponent //如找不到该类,请编译一下项目
+                .builder()
+                .appComponent(appComponent)
+                .view(this)
+                .build()
+                .inject(this);
+    }
+
+    @Override
+    public View initView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+        return inflater.inflate(R.layout.fragment_app_type_list, container, false);
+    }
+
+    @Override
+    public void initData(@Nullable Bundle savedInstanceState) {
+        recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
+        List<AppInfo> list = new ArrayList<>();
+        list.add(new AppInfo());
+        list.add(new AppInfo());
+        list.add(new AppInfo());
+        list.add(new AppInfo());
+        AppTypeListAdapter adapter = new AppTypeListAdapter(list);
+        recyclerView.setAdapter(adapter);
+    }
+
+    /**
+     * 通过此方法可以使 Fragment 能够与外界做一些交互和通信, 比如说外部的 Activity 想让自己持有的某个 Fragment 对象执行一些方法,
+     * 建议在有多个需要与外界交互的方法时, 统一传 {@link Message}, 通过 what 字段来区分不同的方法, 在 {@link #setData(Object)}
+     * 方法中就可以 {@code switch} 做不同的操作, 这样就可以用统一的入口方法做多个不同的操作, 可以起到分发的作用
+     * <p>
+     * 调用此方法时请注意调用时 Fragment 的生命周期, 如果调用 {@link #setData(Object)} 方法时 {@link Fragment#onCreate(Bundle)} 还没执行
+     * 但在 {@link #setData(Object)} 里却调用了 Presenter 的方法, 是会报空的, 因为 Dagger 注入是在 {@link Fragment#onCreate(Bundle)} 方法中执行的
+     * 然后才创建的 Presenter, 如果要做一些初始化操作,可以不必让外部调用 {@link #setData(Object)}, 在 {@link #initData(Bundle)} 中初始化就可以了
+     * <p>
+     * Example usage:
+     * <pre>
+     * public void setData(@Nullable Object data) {
+     *     if (data != null && data instanceof Message) {
+     *         switch (((Message) data).what) {
+     *             case 0:
+     *                 loadData(((Message) data).arg1);
+     *                 break;
+     *             case 1:
+     *                 refreshUI();
+     *                 break;
+     *             default:
+     *                 //do something
+     *                 break;
+     *         }
+     *     }
+     * }
+     *
+     * // call setData(Object):
+     * Message data = new Message();
+     * data.what = 0;
+     * data.arg1 = 1;
+     * fragment.setData(data);
+     * </pre>
+     *
+     * @param data 当不需要参数时 {@code data} 可以为 {@code null}
+     */
+    @Override
+    public void setData(@Nullable Object data) {
+
+    }
+
+    @Override
+    public void showLoading() {
+
+    }
+
+    @Override
+    public void hideLoading() {
+
+    }
+
+    @Override
+    public void showMessage(@NonNull String message) {
+        checkNotNull(message);
+        ArmsUtils.snackbarText(message);
+    }
+
+    @Override
+    public void launchActivity(@NonNull Intent intent) {
+        checkNotNull(intent);
+        ArmsUtils.startActivity(intent);
+    }
+
+    @Override
+    public void killMyself() {
+
+    }
+}

+ 51 - 1
app/src/main/java/com/xwkj/jcjcgz/mvp/ui/fragment/GztFragment.java

@@ -7,20 +7,36 @@ import android.os.Message;
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.fragment.app.Fragment;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
 
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 
+import com.google.gson.Gson;
+import com.hjq.toast.ToastUtils;
 import com.jess.arms.base.BaseFragment;
 import com.jess.arms.di.component.AppComponent;
 import com.jess.arms.utils.ArmsUtils;
 
 import com.xwkj.jcjcgz.di.component.DaggerGztComponent;
 import com.xwkj.jcjcgz.mvp.contract.GztContract;
+import com.xwkj.jcjcgz.mvp.model.entity.AppInfo;
+import com.xwkj.jcjcgz.mvp.model.entity.AppListEntity;
+import com.xwkj.jcjcgz.mvp.model.entity.ChannelEntity;
 import com.xwkj.jcjcgz.mvp.presenter.GztPresenter;
 
 import com.xwkj.jcjcgz.R;
+import com.xwkj.jcjcgz.mvp.ui.activity.AppManageActivity;
+import com.xwkj.jcjcgz.mvp.ui.adapter.GztAdapter;
+import com.zkjc.common.view.CommonTitleBarV3;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+import butterknife.BindView;
 
 import static com.jess.arms.utils.Preconditions.checkNotNull;
 
@@ -38,6 +54,10 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
  * ================================================
  */
 public class GztFragment extends BaseFragment<GztPresenter> implements GztContract.View {
+    @BindView(R.id.rv)
+    RecyclerView recyclerView;
+    @BindView(R.id.title_bar)
+    CommonTitleBarV3 titleBar;
 
     public static GztFragment newInstance() {
         GztFragment fragment = new GztFragment();
@@ -61,7 +81,22 @@ public class GztFragment extends BaseFragment<GztPresenter> implements GztContra
 
     @Override
     public void initData(@Nullable Bundle savedInstanceState) {
-
+        titleBar.setTitle("工作台");
+        titleBar.setRight("应用管理");
+        titleBar.setRightOnClick(v -> {
+            startActivity(new Intent(getActivity(), AppManageActivity.class));
+        });
+        titleBar.setmLeftImageView(0);
+        recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
+//        mPresenter.getAppList(new HashMap<>());
+        List<AppListEntity.AppListInfo> listInfos = new ArrayList<>();
+        listInfos.add(new AppListEntity.AppListInfo());
+        listInfos.add(new AppListEntity.AppListInfo());
+        listInfos.add(new AppListEntity.AppListInfo());
+        listInfos.add(new AppListEntity.AppListInfo());
+        listInfos.add(new AppListEntity.AppListInfo());
+        GztAdapter adapter = new GztAdapter(listInfos);
+        recyclerView.setAdapter(adapter);
     }
 
     /**
@@ -131,4 +166,19 @@ public class GztFragment extends BaseFragment<GztPresenter> implements GztContra
     public void killMyself() {
 
     }
+
+    @Override
+    public void onGetAppListSuccess(String result) {
+        try {
+            AppListEntity entity = new Gson().fromJson(result, AppListEntity.class);
+            if (entity.getCode() == 200) {
+                GztAdapter adapter = new GztAdapter(entity.getData());
+                recyclerView.setAdapter(adapter);
+            } else {
+                ToastUtils.show("获取数据出错,请重试");
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
 }

+ 18 - 9
app/src/main/java/com/xwkj/jcjcgz/mvp/ui/fragment/RwfxTaskStatusFragment.java

@@ -22,6 +22,7 @@ import com.jess.arms.utils.ArmsUtils;
 
 import com.xwkj.jcjcgz.di.component.DaggerRwfxTaskStatusComponent;
 import com.xwkj.jcjcgz.mvp.contract.RwfxTaskStatusContract;
+import com.xwkj.jcjcgz.mvp.model.entity.ChannelEntity;
 import com.xwkj.jcjcgz.mvp.presenter.RwfxTaskStatusPresenter;
 
 import com.xwkj.jcjcgz.R;
@@ -54,8 +55,18 @@ public class RwfxTaskStatusFragment extends BaseFragment<RwfxTaskStatusPresenter
     @BindView(R.id.rwzx_task_status_vp)
     ViewPager2 viewPager;
 
-    public static RwfxTaskStatusFragment newInstance() {
+    /**
+     *
+     * @param data
+     * @param type 1签收2反馈
+     * @return
+     */
+    public static RwfxTaskStatusFragment newInstance(ArrayList<ChannelEntity.Task> data, int type) {
         RwfxTaskStatusFragment fragment = new RwfxTaskStatusFragment();
+        Bundle bundle = new Bundle();
+        bundle.putSerializable("data", data);
+        bundle.putInt("type", type);
+        fragment.setArguments(bundle);
         return fragment;
     }
 
@@ -76,14 +87,12 @@ public class RwfxTaskStatusFragment extends BaseFragment<RwfxTaskStatusPresenter
 
     @Override
     public void initData(@Nullable Bundle savedInstanceState) {
+        ArrayList<ChannelEntity.Task> data = (ArrayList<ChannelEntity.Task>) getArguments().getSerializable("data");
         List<Fragment> fragments = new ArrayList<>();
-        fragments.add(RwfxTaskTypeFragment.newInstance());
-        fragments.add(RwfxTaskTypeFragment.newInstance());
-        fragments.add(RwfxTaskTypeFragment.newInstance());
-        List<String> titles = new ArrayList<>();
-        titles.add("指令任务");
-        titles.add("规定任务");
-        titles.add("推送任务");
+        for (int i = 0; i < data.size(); i++) {
+            ChannelEntity.Task task = data.get(i);
+            fragments.add(RwfxTaskTypeFragment.newInstance(task, getArguments().getInt("type")));
+        }
         FragmentStateAdapter mAdapter = new FragmentStateAdapter(this) {
             @Override
             public int getItemCount() {
@@ -101,7 +110,7 @@ public class RwfxTaskStatusFragment extends BaseFragment<RwfxTaskStatusPresenter
         new TabLayoutMediator(tabLayout, viewPager, new TabLayoutMediator.TabConfigurationStrategy() {
             @Override
             public void onConfigureTab(@NonNull TabLayout.Tab tab, int position) {
-                tab.setText(titles.get(position));
+                tab.setText(data.get(position).getDictValue());
             }
         }).attach();
     }

+ 36 - 18
app/src/main/java/com/xwkj/jcjcgz/mvp/ui/fragment/RwfxTaskTypeFragment.java

@@ -2,6 +2,7 @@ package com.xwkj.jcjcgz.mvp.ui.fragment;
 
 import android.content.Intent;
 import android.graphics.Color;
+import android.icu.util.BuddhistCalendar;
 import android.os.Bundle;
 import android.os.Message;
 
@@ -11,6 +12,7 @@ import androidx.fragment.app.Fragment;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
 
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -25,6 +27,7 @@ import com.jess.arms.utils.ArmsUtils;
 
 import com.xwkj.jcjcgz.di.component.DaggerRwfxTaskTypeComponent;
 import com.xwkj.jcjcgz.mvp.contract.RwfxTaskTypeContract;
+import com.xwkj.jcjcgz.mvp.model.entity.ChannelEntity;
 import com.xwkj.jcjcgz.mvp.presenter.RwfxTaskTypePresenter;
 
 import com.xwkj.jcjcgz.R;
@@ -57,8 +60,12 @@ public class RwfxTaskTypeFragment extends BaseFragment<RwfxTaskTypePresenter> im
     @BindView(R.id.rwfx_task_type_chart)
     PieChart chart;
 
-    public static RwfxTaskTypeFragment newInstance() {
+    public static RwfxTaskTypeFragment newInstance(ChannelEntity.Task task, int type) {
         RwfxTaskTypeFragment fragment = new RwfxTaskTypeFragment();
+        Bundle bundle = new Bundle();
+        bundle.putSerializable("task", task);
+        bundle.putInt("type", type);
+        fragment.setArguments(bundle);
         return fragment;
     }
 
@@ -79,25 +86,35 @@ public class RwfxTaskTypeFragment extends BaseFragment<RwfxTaskTypePresenter> im
 
     @Override
     public void initData(@Nullable Bundle savedInstanceState) {
-        recyclerView.setNestedScrollingEnabled(false);
-        recyclerView.setFocusable(false);
+        ChannelEntity.Task task = (ChannelEntity.Task) getArguments().getSerializable("task");
         recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
-        List<String> list = new ArrayList<>();
-        list.add("1");
-        list.add("1");
-        list.add("1");
-        RwfxTaskTypeAdapter adapter = new RwfxTaskTypeAdapter(list);
+        ArrayList<ChannelEntity.Task> data = new ArrayList<>();
+        /*for (int i = 0; i < task.getChildren().size(); i++) {
+            data.add(task.getChildren().get(i));
+            Log.e("eee", "i === " + i + " ::: " + task.getChildren().get(i));
+        }*/
+        if (/*task.getChildren().size() > 1*/"指令任务".equals(task.getDictValue())) {
+//            data.add(task.getChildren().get(1));
+            Log.e("eee", "task.getChildren().size() > 1 is run !!!!");
+        }
+        data.add(new ChannelEntity.Task());
+        data.add(new ChannelEntity.Task());
+//        data.add(task.getChildren().get(0));
+        RwfxTaskTypeAdapter adapter = new RwfxTaskTypeAdapter(data);
+        adapter.setTotal(task.getNum());
         recyclerView.setAdapter(adapter);
-        init();
+        Log.e("eee", "count ===== " + task.getChildren().size());
+//        init(task, getArguments().getInt("type"));
     }
-    private void init() {
+    private void init(ChannelEntity.Task task, int type) {
         List<PieEntry> list = new ArrayList<>();
-        list.add(new PieEntry(2f,"米饭"));
-        list.add(new PieEntry(3f,"鸡肉"));
-        list.add(new PieEntry(5f,"鱼肉"));
-        PieDataSet pieDataSet=new PieDataSet(list,"吃的饭菜");
+        ArrayList<ChannelEntity.Task> data = task.getChildren();
+        for (int i = 0; i < data.size(); i++) {
+            list.add(new PieEntry(type == 1 ? data.get(i).getNum1() : data.get(i).getNum(), data.get(i).getDictValue()));
+        }
+        PieDataSet pieDataSet=new PieDataSet(list,"");
         //为每个分组设置颜色,如果不为每个都设置颜色最后饼图只会有一个颜色,这样无法有效看出占比
-        pieDataSet.setColors(Color.GREEN,Color.BLUE,Color.RED);
+        pieDataSet.setColors(Color.GREEN,Color.BLUE,Color.RED, Color.YELLOW);
         PieData pieData=new PieData(pieDataSet);
         chart.setData(pieData);
 
@@ -105,7 +122,7 @@ public class RwfxTaskTypeFragment extends BaseFragment<RwfxTaskTypePresenter> im
         //设置图形上文字的大小
         pieDataSet.setValueTextSize(16f);
         //设置图形上数值的颜色
-        pieDataSet.setValueTextColor(Color.YELLOW);
+        pieDataSet.setValueTextColor(Color.parseColor("#111111"));
         //是否绘制饼图上的文字
         // pieDataSet.setDrawValues(true);
         //文字绘制在图形内还是图形外(这里绘制在外部。默认在内部)
@@ -113,9 +130,10 @@ public class RwfxTaskTypeFragment extends BaseFragment<RwfxTaskTypePresenter> im
         //图形上的数值绘制在图形内还是图形外(这里绘制在外部。默认在内部)
         pieDataSet.setYValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE);
         //连线的颜色
-        pieDataSet.setValueLineColor(getResources().getColor(R.color.colorAccent));
+        pieDataSet.setValueLineColor(Color.parseColor("#106DFF"));
         // 设置图形上文字的颜色
-        chart.setEntryLabelColor(getResources().getColor(R.color.colorAccent));
+        chart.setEntryLabelColor(Color.parseColor("#111111"));
+        chart.getDescription().setEnabled(false);
         //设置连线长度
         pieDataSet.setValueLinePart1Length(1f);
         //设置连线长度是否可变

+ 287 - 35
app/src/main/java/com/xwkj/jcjcgz/mvp/ui/fragment/RwzxFragment.java

@@ -9,6 +9,7 @@ import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.ImageView;
+import android.widget.ProgressBar;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
 import android.widget.Toast;
@@ -20,12 +21,11 @@ import androidx.fragment.app.FragmentTransaction;
 import androidx.viewpager2.adapter.FragmentStateAdapter;
 import androidx.viewpager2.widget.ViewPager2;
 
-import com.bumptech.glide.Glide;
+import com.google.android.material.appbar.AppBarLayout;
 import com.google.android.material.tabs.TabLayout;
 import com.google.android.material.tabs.TabLayoutMediator;
 import com.google.gson.Gson;
 import com.hjq.toast.ToastUtils;
-import com.jess.arms.base.BaseFragment;
 import com.jess.arms.di.component.AppComponent;
 import com.jess.arms.utils.ArmsUtils;
 import com.scwang.smart.refresh.header.ClassicsHeader;
@@ -40,14 +40,11 @@ import com.xwkj.jcjcgz.R;
 import com.xwkj.jcjcgz.app.Event;
 import com.xwkj.jcjcgz.di.component.DaggerRwzxComponent;
 import com.xwkj.jcjcgz.mvp.contract.RwzxContract;
-import com.xwkj.jcjcgz.mvp.model.api.CommonInterFace;
-import com.xwkj.jcjcgz.mvp.model.api.ReqToBus;
 import com.xwkj.jcjcgz.mvp.model.entity.ChannelEntity;
-import com.xwkj.jcjcgz.mvp.model.entity.TaskEntity;
 import com.xwkj.jcjcgz.mvp.presenter.RwzxPresenter;
-import com.xwkj.jcjcgz.mvp.ui.activity.MainActivity;
 import com.zkjc.common.base.ZkjcBaseFragment;
 import com.zkjc.common.event.IEvent;
+import com.zkjc.common.utils.ScreenUtils;
 
 import org.greenrobot.eventbus.Subscribe;
 import org.greenrobot.eventbus.ThreadMode;
@@ -56,7 +53,6 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.Random;
 
 import butterknife.BindView;
 import butterknife.OnClick;
@@ -110,6 +106,30 @@ public class RwzxFragment extends ZkjcBaseFragment<RwzxPresenter> implements Rwz
     ImageView ivTriangle2;
     @BindView(R.id.rwzx_iv_triangle_3)
     ImageView ivTriangle3;
+    @BindView(R.id.rwzx_holder_layout_task_1)
+    View layoutHolderTask1;
+    @BindView(R.id.rwzx_holder_layout_task_2)
+    View layoutHolderTask2;
+    @BindView(R.id.rwzx_holder_layout_task_3)
+    View layoutHolderTask3;
+    @BindView(R.id.rwzx_holder_tv_task_1)
+    TextView tvHolderTask1;
+    @BindView(R.id.rwzx_holder_tv_task_2)
+    TextView tvHolderTask2;
+    @BindView(R.id.rwzx_holder_tv_task_3)
+    TextView tvHolderTask3;
+    @BindView(R.id.rwzx_holder_tv_task_num_1)
+    TextView tvHolderTaskNum1;
+    @BindView(R.id.rwzx_holder_tv_task_num_2)
+    TextView tvHolderTaskNum2;
+    @BindView(R.id.rwzx_holder_tv_task_num_3)
+    TextView tvHolderTaskNum3;
+    @BindView(R.id.rwzx_holder_iv_task_1)
+    ImageView ivHolderTask1;
+    @BindView(R.id.rwzx_holder_iv_task_2)
+    ImageView ivHolderTask2;
+    @BindView(R.id.rwzx_holder_iv_task_3)
+    ImageView ivHolderTask3;
 
     @BindView(R.id.second_floor)
     ImageView secondFloor;
@@ -123,19 +143,53 @@ public class RwzxFragment extends ZkjcBaseFragment<RwzxPresenter> implements Rwz
     TwoLevelHeader header;
     @BindView(R.id.refreshLayout)
     SmartRefreshLayout refreshLayout;
-    @BindView(R.id.rwzx_container)
-    View container;
+/*    @BindView(R.id.rwzx_container)
+    View container;*/
     @BindView(R.id.layout_rwzx)
     View layoutRwzx;
     @BindView(R.id.rwfx_tab)
     TabLayout tabLayout;
     @BindView(R.id.rwfx_vp)
     ViewPager2 viewPager;
+    @BindView(R.id.rwzx_tab)
+    TabLayout rwzxTabLayout;
+    @BindView(R.id.rwzx_vp)
+    ViewPager2 rwzxViewPager;
+    @BindView(R.id.rwzx_appbar)
+    AppBarLayout appBarLayout;
+    @BindView(R.id.rwzx_holder_layout_type)
+    View LayoutHolderType;
+    @BindView(R.id.rwzx_holder_layout)
+    View LayoutHolder;
+    @BindView(R.id.rwzx_holder_layout_search)
+    View LayoutHolderSearch;
+    @BindView(R.id.tv_ywc)
+    TextView tvYwc;
+    @BindView(R.id.tv_zrw)
+    TextView tvZrw;
+    @BindView(R.id.progress_horizontal)
+    ProgressBar progressHorizontal;
+    @BindView(R.id.tv_rw1)
+    TextView tvRw1;
+    @BindView(R.id.tv_rw2)
+    TextView tvRw2;
+    @BindView(R.id.tv_rw3)
+    TextView tvRw3;
+    @BindView(R.id.tv_rw_num1)
+    TextView tvRwNum1;
+    @BindView(R.id.tv_rw_num2)
+    TextView tvRwNum2;
+    @BindView(R.id.tv_rw_num3)
+    TextView tvRwNum3;
+    @BindView(R.id.tv_bfb)
+    TextView tvBfb;
 
     private TaskTypeFragment taskTypeFragment1;
     private TaskTypeFragment taskTypeFragment2;
     private TaskTypeFragment taskTypeFragment3;
     private List<ChannelEntity.Task> tasks;
+    private int totalScrollRange;
+    private int oldVerticalOffset;
 
     public static RwzxFragment newInstance() {
         RwzxFragment fragment = new RwzxFragment();
@@ -154,7 +208,7 @@ public class RwzxFragment extends ZkjcBaseFragment<RwzxPresenter> implements Rwz
 
     @Override
     public View initView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
-        return inflater.inflate(R.layout.fragment_rwzx, container, false);
+        return inflater.inflate(R.layout.fragment_test, container, false);
     }
 
     @Override
@@ -199,16 +253,33 @@ public class RwzxFragment extends ZkjcBaseFragment<RwzxPresenter> implements Rwz
             getActivity().findViewById(R.id.ll_main_tab).setVisibility(View.VISIBLE);
             layoutRwzx.setVisibility(View.VISIBLE);
         });
-        layoutTask1.performClick();
+//        layoutTask1.performClick();
 
 
-        // 二楼页面
+
+        Map<String, String> map = new HashMap<>();
+        map.put("code", "app_menu");
+        mPresenter.getMenu(map);
+
+
+/*        ArrayList<ChannelEntity.Task> tasks = new ArrayList<>();
+        for (int i = 0; i < 3; i++) {
+            ChannelEntity.Task task = new ChannelEntity.Task();
+            task.setDictValue(i + " ::::: " + i);
+            task.setNum(i);
+            tasks.add(task);
+        }
+
+        initType(tasks);*/
+    }
+
+    private void initType(ArrayList<ChannelEntity.Task> tasks) {
         List<Fragment> fragments = new ArrayList<>();
-        fragments.add(RwfxTaskStatusFragment.newInstance());
-        fragments.add(RwfxTaskStatusFragment.newInstance());
         List<String> titles = new ArrayList<>();
-        titles.add("已签收");
-        titles.add("已反馈");
+        for (ChannelEntity.Task task: tasks) {
+            fragments.add(TaskDxzpFragment.newInstance(task.getId()));
+            titles.add(task.getDictValue() + "  " + task.getNum());
+        }
         FragmentStateAdapter mAdapter = new FragmentStateAdapter(this) {
             @Override
             public int getItemCount() {
@@ -222,30 +293,75 @@ public class RwzxFragment extends ZkjcBaseFragment<RwzxPresenter> implements Rwz
             }
 
         };
-        viewPager.setAdapter(mAdapter);
-        new TabLayoutMediator(tabLayout, viewPager, new TabLayoutMediator.TabConfigurationStrategy() {
+        rwzxViewPager.setAdapter(mAdapter);
+        new TabLayoutMediator(rwzxTabLayout, rwzxViewPager, new TabLayoutMediator.TabConfigurationStrategy() {
             @Override
             public void onConfigureTab(@NonNull TabLayout.Tab tab, int position) {
                 tab.setText(titles.get(position));
             }
         }).attach();
-
-        Map<String, String> map = new HashMap<>();
-        map.put("code", "app_menu");
-        mPresenter.getMenu(map);
+/*recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
+List<TaskEntity.Task> tasks1 = new ArrayList<>();
+tasks1.add(new TaskEntity.Task());
+tasks1.add(new TaskEntity.Task());
+tasks1.add(new TaskEntity.Task());
+tasks1.add(new TaskEntity.Task());
+tasks1.add(new TaskEntity.Task());
+recyclerView.setAdapter(new TaskAdapter(tasks1));*/
+        appBarLayout.addOnOffsetChangedListener(offsetChangedListener);
     }
+    // 这里的处理是当AppBarLayout处于最顶部也就是完全打开状态verticalOffse=0时才允许刷新控件可用.
+    private AppBarLayout.OnOffsetChangedListener offsetChangedListener = new AppBarLayout.OnOffsetChangedListener() {
+
+        @Override
+        public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffse) {
+            totalScrollRange = appBarLayout.getTotalScrollRange();
+
+            if (oldVerticalOffset == verticalOffse) return;
+
+            if (verticalOffse == 0) {
+                refreshLayout.setEnabled(true);
+            } else {
+                refreshLayout.setEnabled(false);
+            }
+
+            if (verticalOffse < 0) {
+                LayoutHolder.setVisibility(View.VISIBLE);
+                LayoutHolderSearch.setVisibility(View.VISIBLE);
+            } else {
+                LayoutHolder.setVisibility(View.GONE);
+                LayoutHolderSearch.setVisibility(View.GONE);
+            }
+
+            if (Math.abs(verticalOffse) > ScreenUtils.dip2px(getActivity(), 100)) {
+                rwzxTabLayout.setBackgroundColor(getResources().getColor(R.color.white));
+            } else {
+                rwzxTabLayout.setBackgroundColor(getResources().getColor(R.color.transparent));
+            }
+            LayoutHolderType.setAlpha(Math.abs(verticalOffse) * 1f / ScreenUtils.dip2px(getActivity(), 128));
+            /*if (Math.abs(verticalOffse) >= totalScrollRange && totalScrollRange != 0) {
+                mTabView.setBackgroundColor(getResources().getColor(R.color.white_color));
+            } else {
+                mTabView.setBackgroundColor(getResources().getColor(R.color.background_color));
+            }*/
 
+            oldVerticalOffset = verticalOffse;
+        }
+    };
 
-    @OnClick({R.id.rwzx_layout_task_1, R.id.rwzx_layout_task_2, R.id.rwzx_layout_task_3})
+    @OnClick({R.id.rwzx_layout_task_1, R.id.rwzx_layout_task_2, R.id.rwzx_layout_task_3, R.id.rwzx_holder_layout_task_1, R.id.rwzx_holder_layout_task_2, R.id.rwzx_holder_layout_task_3})
     public void onViewClicked(View view) {
         switch (view.getId()) {
             case R.id.rwzx_layout_task_1:
+            case R.id.rwzx_holder_layout_task_1:
                 setTabSelection(0);
                 break;
             case R.id.rwzx_layout_task_2:
+            case R.id.rwzx_holder_layout_task_2:
                 setTabSelection(1);
                 break;
             case R.id.rwzx_layout_task_3:
+            case R.id.rwzx_holder_layout_task_3:
                 setTabSelection(2);
                 break;
         }
@@ -255,52 +371,67 @@ public class RwzxFragment extends ZkjcBaseFragment<RwzxPresenter> implements Rwz
         tvTask1.setTextColor(getResources().getColor(R.color.color_666666));
         tvTask2.setTextColor(getResources().getColor(R.color.color_666666));
         tvTask3.setTextColor(getResources().getColor(R.color.color_666666));
+        tvHolderTask1.setTextColor(getResources().getColor(R.color.color_666666));
+        tvHolderTask2.setTextColor(getResources().getColor(R.color.color_666666));
+        tvHolderTask3.setTextColor(getResources().getColor(R.color.color_666666));
+        tvHolderTaskNum1.setTextColor(getResources().getColor(R.color.color_666666));
+        tvHolderTaskNum2.setTextColor(getResources().getColor(R.color.color_666666));
+        tvHolderTaskNum3.setTextColor(getResources().getColor(R.color.color_666666));
         ivTriangle1.setVisibility(View.GONE);
         ivTriangle2.setVisibility(View.GONE);
         ivTriangle3.setVisibility(View.GONE);
-        // 开启一个Fragment事务
+        if (tasks != null && !tasks.isEmpty()) {
+            initType(tasks.get(index).getChildren());
+        }
+/*        // 开启一个Fragment事务
         FragmentTransaction transaction = getActivity().getSupportFragmentManager().beginTransaction();
         // 先隐藏掉所有的Fragment,
-        hideFragments(transaction);
+        hideFragments(transaction);*/
         switch (index) {
             case 0:
-                if (taskTypeFragment1 == null) {
+/*                if (taskTypeFragment1 == null) {
                     taskTypeFragment1 = TaskTypeFragment.newInstance(new ArrayList<>());
                     transaction.add(R.id.rwzx_container, taskTypeFragment1);
                 } else {
                     transaction.show(taskTypeFragment1);
-                }
+                }*/
                 tvTask1.setTextColor(getResources().getColor(R.color.color_111111));
+                tvHolderTask1.setTextColor(getResources().getColor(R.color.color_111111));
+                tvHolderTaskNum1.setTextColor(getResources().getColor(R.color.color_111111));
                 ivTriangle1.setVisibility(View.VISIBLE);
                 break;
 
             case 1:
-                if (taskTypeFragment2 == null) {
+/*                if (taskTypeFragment2 == null) {
                     if (tasks != null && tasks.size() > 1) {
                         taskTypeFragment2 = TaskTypeFragment.newInstance(tasks.get(1).getChildren());
                         transaction.add(R.id.rwzx_container, taskTypeFragment2);
                     }
                 } else {
                     transaction.show(taskTypeFragment2);
-                }
+                }*/
                 tvTask2.setTextColor(getResources().getColor(R.color.color_111111));
+                tvHolderTask2.setTextColor(getResources().getColor(R.color.color_111111));
+                tvHolderTaskNum2.setTextColor(getResources().getColor(R.color.color_111111));
                 ivTriangle2.setVisibility(View.VISIBLE);
                 break;
             case 2:
-                if (taskTypeFragment3 == null) {
+/*                if (taskTypeFragment3 == null) {
                     if (tasks != null && tasks.size() > 2) {
                         taskTypeFragment3 = TaskTypeFragment.newInstance(tasks.get(2).getChildren());
                         transaction.add(R.id.rwzx_container, taskTypeFragment3);
                     }
                 } else {
                     transaction.show(taskTypeFragment3);
-                }
+                }*/
                 tvTask3.setTextColor(getResources().getColor(R.color.color_111111));
+                tvHolderTask3.setTextColor(getResources().getColor(R.color.color_111111));
+                tvHolderTaskNum3.setTextColor(getResources().getColor(R.color.color_111111));
                 ivTriangle3.setVisibility(View.VISIBLE);
                 break;
 
         }
-        transaction.commit();
+//        transaction.commit();
     }
 
     private void hideFragments(FragmentTransaction transaction) {
@@ -388,12 +519,18 @@ public class RwzxFragment extends ZkjcBaseFragment<RwzxPresenter> implements Rwz
 
     @Override
     public void onSuccess(String result) {
+        Map<String, String> map = new HashMap<>();
+        map.put("code", "app_menu");
+        mPresenter.getSecondFloorData(map);
         try {
             ChannelEntity entity = new Gson().fromJson(result, ChannelEntity.class);
             if (entity.getCode() == 200) {
                 tasks = entity.getData();
+               /* if (tasks != null && !tasks.isEmpty()) {
+                    initType(tasks.get(0).getChildren());
+                }*/
                 for (int i = 0; i < tasks.size(); i++) {
-                    initFragment(i, tasks.get(i));
+                    setViewContent(i, tasks.get(i));
                 }
                 /*FragmentTransaction transaction = getActivity().getSupportFragmentManager().beginTransaction();
                 if (taskTypeFragment1 != null) {
@@ -416,7 +553,83 @@ public class RwzxFragment extends ZkjcBaseFragment<RwzxPresenter> implements Rwz
         }
     }
 
-    private void initFragment(int i, ChannelEntity.Task task) {
+    @Override
+    public void onSecondFloorDataSuccess(String result) {
+        try {
+            ChannelEntity entity = new Gson().fromJson(result, ChannelEntity.class);
+            if (entity.getCode() == 200) {
+                List<ChannelEntity.Task> secondFloorData = entity.getData();
+                int finish = 0;
+                int total = 0;
+                for (int i = 0; i < secondFloorData.size(); i++) {
+                    ChannelEntity.Task task = secondFloorData.get(i);
+                    finish += task.getNum2();
+                    total += task.getNum();
+                    setSecondFloorData(i, task);
+                }
+                tvYwc.setText(finish + "");
+                tvZrw.setText( "/" + total);
+                if (total != 0) {
+                    progressHorizontal.setProgress(finish * 100 / total);
+                } else {
+                    progressHorizontal.setProgress(100);
+                }
+                tvBfb.setText(progressHorizontal.getProgress() + "%");
+                // 二楼页面
+                List<Fragment> fragments = new ArrayList<>();
+                fragments.add(RwfxTaskStatusFragment.newInstance((ArrayList<ChannelEntity.Task>) secondFloorData, 1));
+                fragments.add(RwfxTaskStatusFragment.newInstance((ArrayList<ChannelEntity.Task>) secondFloorData, 2));
+                List<String> titles = new ArrayList<>();
+                titles.add("已签收");
+                titles.add("已反馈");
+                FragmentStateAdapter mAdapter = new FragmentStateAdapter(this) {
+                    @Override
+                    public int getItemCount() {
+                        return fragments.size();
+                    }
+
+                    @NonNull
+                    @Override
+                    public Fragment createFragment(int position) {
+                        return fragments.get(position);
+                    }
+
+                };
+                viewPager.setAdapter(mAdapter);
+                new TabLayoutMediator(tabLayout, viewPager, new TabLayoutMediator.TabConfigurationStrategy() {
+                    @Override
+                    public void onConfigureTab(@NonNull TabLayout.Tab tab, int position) {
+                        tab.setText(titles.get(position));
+                    }
+                }).attach();
+            } else {
+                ToastUtils.show("获取数据出错,请重试");
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    private void setSecondFloorData(int i, ChannelEntity.Task task) {
+        switch (i) {
+            case 0:
+                tvRw1.setText(task.getDictValue());
+                tvRwNum1.setText(task.getNum() + "");
+                break;
+            case 1:
+                tvRw2.setText(task.getDictValue());
+                tvRwNum2.setText(task.getNum() + "");
+                break;
+            case 2:
+                tvRw3.setText(task.getDictValue());
+                tvRwNum3.setText(task.getNum() + "");
+                break;
+            default:
+                break;
+        }
+    }
+
+    private void setViewContent(int i, ChannelEntity.Task task) {
         switch (i) {
             case 0: {
 //                taskTypeFragment1 = TaskTypeFragment.newInstance(task.getChildren());
@@ -427,25 +640,34 @@ public class RwzxFragment extends ZkjcBaseFragment<RwzxPresenter> implements Rwz
                 if (num <= 0) {
                     tvTaskNum1.setVisibility(View.GONE);
                     tvTaskNum1.setText("0");
+                    tvHolderTaskNum1.setText("0");
                 } else {
                     tvTaskNum1.setVisibility(View.VISIBLE);
                     if (num > 99) {
                         tvTaskNum1.setText("99+");
+                        tvHolderTaskNum1.setText("99+");
                     } else {
                         tvTaskNum1.setText(num + "");
+                        tvHolderTaskNum1.setText(num + "");
                     }
                 }
                 tvTask1.setText(task.getDictValue());
+                tvHolderTask1.setText(task.getDictValue());
                 tvTaskNum1.setTag(task.getId());
+                tvHolderTaskNum1.setTag(task.getId());
                 Picasso.with(getActivity()).load(task.getRemark()).into(ivTask1);
-                taskTypeFragment1.initFragment(task.getChildren());
+                Picasso.with(getActivity()).load(task.getRemark()).into(ivHolderTask1);
+//                taskTypeFragment1.initFragment(task.getChildren());
             }
                 break;
             case 1: {
 //                taskTypeFragment2 = TaskTypeFragment.newInstance(task.getChildren());
                 tvTask2.setText(task.getDictValue());
+                tvHolderTask2.setText(task.getDictValue());
                 tvTaskNum2.setTag(task.getId());
+                tvHolderTaskNum2.setTag(task.getId());
                 Picasso.with(getActivity()).load(task.getRemark()).into(ivTask2);
+                Picasso.with(getActivity()).load(task.getRemark()).into(ivHolderTask2);
                 int num = 0;
                 for (ChannelEntity.Task task1: task.getChildren()) {
                     num = num + task1.getNum();
@@ -453,12 +675,15 @@ public class RwzxFragment extends ZkjcBaseFragment<RwzxPresenter> implements Rwz
                 if (num <= 0) {
                     tvTaskNum2.setVisibility(View.GONE);
                     tvTaskNum2.setText("0");
+                    tvHolderTaskNum2.setText("0");
                 } else {
                     tvTaskNum2.setVisibility(View.VISIBLE);
                     if (num > 99) {
                         tvTaskNum2.setText("99+");
+                        tvHolderTaskNum2.setText("99+");
                     } else {
                         tvTaskNum2.setText(num + "");
+                        tvHolderTaskNum2.setText(num + "");
                     }
                 }
             }
@@ -466,8 +691,11 @@ public class RwzxFragment extends ZkjcBaseFragment<RwzxPresenter> implements Rwz
             case 2: {
 //                taskTypeFragment3 = TaskTypeFragment.newInstance(task.getChildren());
                 tvTask3.setText(task.getDictValue());
+                tvHolderTask3.setText(task.getDictValue());
                 tvTaskNum3.setTag(task.getId());
+                tvHolderTaskNum3.setTag(task.getId());
                 Picasso.with(getActivity()).load(task.getRemark()).into(ivTask3);
+                Picasso.with(getActivity()).load(task.getRemark()).into(ivHolderTask3);
                 int num = 0;
                 for (ChannelEntity.Task task1: task.getChildren()) {
                     num = num + task1.getNum();
@@ -475,12 +703,15 @@ public class RwzxFragment extends ZkjcBaseFragment<RwzxPresenter> implements Rwz
                 if (num <= 0) {
                     tvTaskNum3.setVisibility(View.GONE);
                     tvTaskNum3.setText("0");
+                    tvHolderTaskNum3.setText("0");
                 } else {
                     tvTaskNum3.setVisibility(View.VISIBLE);
                     if (num > 99) {
                         tvTaskNum3.setText("99+");
+                        tvHolderTaskNum3.setText("99+");
                     } else {
                         tvTaskNum3.setText(num + "");
+                        tvHolderTaskNum3.setText(num + "");
                     }
                 }
             }
@@ -499,6 +730,10 @@ public class RwzxFragment extends ZkjcBaseFragment<RwzxPresenter> implements Rwz
                 setTvNum(event, tvTaskNum1);
                 setTvNum(event, tvTaskNum2);
                 setTvNum(event, tvTaskNum3);
+                setTvNum(event, tvHolderTaskNum1);
+                setTvNum(event, tvHolderTaskNum2);
+                setTvNum(event, tvHolderTaskNum3);
+                mPresenter.getSecondFloorData(new HashMap<>());
             }
         }
     }
@@ -520,4 +755,21 @@ public class RwzxFragment extends ZkjcBaseFragment<RwzxPresenter> implements Rwz
             }
         }
     }
+/*
+    private void setTvHolderNum(Event event, TextView tvHolderTaskNum) {
+        if (!TextUtils.isEmpty(tvHolderTaskNum.getTag().toString()) && tvHolderTaskNum.getTag().toString().equals(event.getId())) {
+            String num;
+            try {
+                int i = Integer.parseInt(tvHolderTaskNum.getText().toString()) + 1;
+                if (i > 99) {
+                    num = "99+";
+                } else {
+                    num = i + "";
+                }
+                tvHolderTaskNum.setText(num);
+            } catch (NumberFormatException e) {
+                tvHolderTaskNum.setText("99+");
+            }
+        }
+    }*/
 }

+ 6 - 6
app/src/main/java/com/xwkj/jcjcgz/mvp/ui/fragment/TaskDxzpFragment.java

@@ -114,8 +114,8 @@ public class TaskDxzpFragment extends ZkjcBaseFragment<TaskDxzpPresenter> implem
 
         smart_refresh.setOnRefreshListener(this);
         smart_refresh.setOnLoadMoreListener(this);
-        rv.setNestedScrollingEnabled(false);
-        rv.setFocusable(false);
+//        rv.setNestedScrollingEnabled(false);
+//        rv.setFocusable(false);
         rv.setLayoutManager(new LinearLayoutManager(getActivity()));
         list = new ArrayList<>();
         mAdapter = new TaskDxzpAdapter(list);
@@ -135,7 +135,7 @@ public class TaskDxzpFragment extends ZkjcBaseFragment<TaskDxzpPresenter> implem
             }
         });
         rv.setAdapter(mAdapter);
-//        requestData(pageNo = 1, pageSize);
+        requestData(pageNo = 1, pageSize);
     }
 
     /**
@@ -245,10 +245,10 @@ public class TaskDxzpFragment extends ZkjcBaseFragment<TaskDxzpPresenter> implem
         if (taskEntity.getCode() == 200) {
             List<TaskDxzpEntity.Task> records = taskEntity.getData().getRecords();
             if (records.size() > 0 && records != null) {
-//                list.addAll(records);
-//                list.addAll(records);
-//                list.addAll(records);
                 list.addAll(records);
+/*                list.addAll(list);
+                list.addAll(list);
+                list.addAll(list);*/
                 mAdapter.notifyDataSetChanged();
             } else {
                 ToastUtils.show("没有更多数据了");

+ 7 - 2
app/src/main/java/com/xwkj/jcjcgz/mvp/ui/fragment/TaskFragment.java

@@ -99,10 +99,15 @@ public class TaskFragment extends BaseFragment<TaskPresenter> implements TaskCon
 
         smart_refresh.setOnRefreshListener(this);
         smart_refresh.setOnLoadMoreListener(this);
-        rv.setNestedScrollingEnabled(false);
-        rv.setFocusable(false);
+//        rv.setNestedScrollingEnabled(false);
+//        rv.setFocusable(false);
         rv.setLayoutManager(new LinearLayoutManager(getActivity()));
         list = new ArrayList<>();
+        list.add(new TaskEntity.Task());
+        list.add(new TaskEntity.Task());
+        list.add(new TaskEntity.Task());
+        list.add(new TaskEntity.Task());
+        list.add(new TaskEntity.Task());
         mAdapter = new TaskAdapter(list);
         rv.setAdapter(mAdapter);
         requestData(pageNo = 1, pageSize);

+ 5 - 0
app/src/main/res/drawable/bg_shape_14106dff_corner8.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="#14106dff" />
+    <corners android:radius="8dp" />
+</shape>

+ 9 - 0
app/src/main/res/drawable/dash.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line">
+
+    <stroke
+        android:color="#e7e7e7"
+        android:dashWidth="2dp"
+        android:dashGap="1dp"/>
+
+</shape>

+ 296 - 15
app/src/main/res/layout/activity_app_detail.xml

@@ -3,23 +3,304 @@
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:paddingLeft="16dp"
+    android:paddingRight="16dp"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:orientation="vertical">
-    <TextView
+
+    <com.zkjc.common.view.CommonTitleBarV3
+        android:id="@+id/title_bar"
         android:layout_width="match_parent"
-        android:text="APP详情"
-        android:gravity="center"
-        android:onClick="getAppDetail"
-        android:textSize="30dp"
-        android:layout_height="45dp"/>
-
-    <com.xwkj.jcjcgz.app.view.FlikerProgressBar
-        android:id="@+id/app_detail_progress"
-        android:layout_width="150dp"
         android:layout_height="wrap_content"
-        app:textSize="12sp"
-        app:loadingColor="#40c4ff"
-        app:stopColor="#ff9800"
-        app:radius="8dp"
-        />
+        android:layout_marginTop="25dp" />
+
+    <ScrollView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:orientation="vertical"
+            android:layout_height="match_parent">
+            <RelativeLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content">
+
+                <ImageView
+                    android:layout_width="96dp"
+                    android:id="@+id/app_detail_iv_icon"
+                    android:layout_height="96dp"/>
+
+                <TextView
+                    android:id="@+id/app_detail_tv_name"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="12dp"
+                    android:layout_toRightOf="@id/app_detail_iv_icon"
+                    android:text="警地融合"
+                    android:textColor="#ff111111"
+                    android:textSize="18sp"
+                    />
+
+                <TextView
+                    android:layout_width="match_parent"
+                    android:layout_height="40dp"
+                    android:id="@+id/app_detail_tv_desc"
+                    android:layout_below="@id/app_detail_tv_name"
+                    android:layout_marginLeft="12dp"
+                    android:lineSpacingExtra="1dp"
+                    android:maxLines="2"
+                    android:ellipsize="end"
+                    android:layout_toRightOf="@id/app_detail_iv_icon"
+                    android:text="警地融合是吉林省公安民警外出工作的掌中宝,也是大数据智能化建设成果赋能基层…"
+                    android:textColor="#ffa0abbd"
+                    android:textSize="12sp"
+                    />
+
+                <TextView
+                    android:id="@+id/app_detail_tv_download"
+                    android:layout_width="52dp"
+                    android:layout_below="@id/app_detail_tv_desc"
+                    android:layout_marginLeft="12dp"
+                    android:gravity="center"
+                    android:text="下载"
+                    android:layout_marginTop="8dp"
+                    android:textColor="#ffffffff"
+                    android:textSize="14sp"
+                    android:background="@drawable/bg_shape_blue_corner8"
+                    android:layout_toRightOf="@id/app_detail_iv_icon"
+                    android:layout_height="24dp"/>
+
+                <com.xwkj.jcjcgz.app.view.FlikerProgressBar
+                    android:id="@+id/app_detail_progress"
+                    android:layout_width="52dp"
+                    android:layout_below="@id/app_detail_tv_desc"
+                    android:layout_marginLeft="12dp"
+                    android:layout_toRightOf="@id/app_detail_iv_icon"
+                    android:layout_height="24dp"
+                    android:layout_marginTop="8dp"
+                    android:visibility="gone"
+                    app:textSize="12sp"
+                    app:loadingColor="@color/blue"
+                    app:stopColor="@color/blue"
+                    app:radius="8dp"
+                    />
+
+            </RelativeLayout>
+
+            <androidx.recyclerview.widget.RecyclerView
+                android:layout_width="match_parent"
+                android:layout_marginTop="24dp"
+                android:id="@+id/app_detail_rv"
+                android:layout_height="wrap_content"/>
+
+            <RelativeLayout
+                android:layout_width="match_parent"
+                android:layout_marginTop="24dp"
+                android:layout_height="wrap_content">
+
+                <TextView
+                    android:id="@+id/app_detail_tv_new"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="新功能"
+                    android:textColor="#ff111111"
+                    android:textSize="16sp"
+                    />
+
+                <TextView
+                    android:id="@+id/app_detail_tv_version"
+                    android:layout_width="42dp"
+                    android:layout_height="16dp"
+                    android:layout_below="@id/app_detail_tv_new"
+                    android:layout_marginTop="4dp"
+                    android:layout_marginBottom="8dp"
+                    android:text="版本2.8"
+                    android:textColor="#ffa0abbd"
+                    android:textSize="12sp"
+                    />
+
+                <TextView
+                    android:id="@+id/app_detail_tv_content"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:lineSpacingExtra="2dp"
+                    android:layout_below="@id/app_detail_tv_version"
+                    android:text="修复缺陷并改善性能\n提升用户体验"
+                    android:textColor="#ff111111"
+                    android:textSize="12sp"
+                    />
+
+                <TextView
+                    android:id="@+id/app_detail_tv_history"
+                    android:layout_width="wrap_content"
+                    android:layout_alignParentRight="true"
+                    android:layout_height="wrap_content"
+                    android:text="版本历史记录"
+                    android:textColor="#ff106dff"
+                    android:textSize="14sp"
+                    />
+
+                <TextView
+                    android:id="@+id/app_detail_tv_time"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_alignParentRight="true"
+                    android:layout_below="@id/app_detail_tv_history"
+                    android:text="2023-11-07 10:00更新"
+                    android:layout_marginTop="5dp"
+                    android:textColor="#ffa0abbd"
+                    android:textSize="12sp"
+                    />
+
+            </RelativeLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:orientation="vertical"
+                android:layout_marginTop="24dp"
+                android:layout_height="wrap_content">
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="信息"
+                    android:textColor="#ff111111"
+                    android:textSize="16sp"
+                    />
+
+                <RelativeLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="39dp">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="提供者"
+                        android:layout_centerVertical="true"
+                        android:textColor="#ffa0abbd"
+                        android:textSize="12sp"
+                        />
+
+                    <TextView
+                        android:id="@+id/app_detail_tv_company"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_centerVertical="true"
+                        android:layout_alignParentRight="true"
+                        android:text="吉林省玄武科技有限公司"
+                        android:textColor="#ff111111"
+                        android:textSize="12sp"
+                        />
+
+                    <View
+                        android:layout_width="match_parent"
+                        android:background="#e7e7e7"
+                        android:layout_alignParentBottom="true"
+                        android:layout_height="1dp"/>
+
+                </RelativeLayout>
+
+                <RelativeLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="39dp">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="大小"
+                        android:layout_centerVertical="true"
+                        android:textColor="#ffa0abbd"
+                        android:textSize="12sp"
+                        />
+
+                    <TextView
+                        android:id="@+id/app_detail_tv_size"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_centerVertical="true"
+                        android:layout_alignParentRight="true"
+                        android:text="75.8MB"
+                        android:textColor="#ff111111"
+                        android:textSize="12sp"
+                        />
+
+                    <View
+                        android:layout_width="match_parent"
+                        android:background="#e7e7e7"
+                        android:layout_alignParentBottom="true"
+                        android:layout_height="1dp"/>
+
+                </RelativeLayout>
+
+                <RelativeLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="39dp">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="列别"
+                        android:layout_centerVertical="true"
+                        android:textColor="#ffa0abbd"
+                        android:textSize="12sp"
+                        />
+
+                    <TextView
+                        android:id="@+id/app_detail_tv_type"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_centerVertical="true"
+                        android:layout_alignParentRight="true"
+                        android:text="户籍"
+                        android:textColor="#ff111111"
+                        android:textSize="12sp"
+                        />
+
+                    <View
+                        android:layout_width="match_parent"
+                        android:background="#e7e7e7"
+                        android:layout_alignParentBottom="true"
+                        android:layout_height="1dp"/>
+
+                </RelativeLayout>
+
+                <RelativeLayout
+                    android:layout_width="match_parent"
+                    android:id="@+id/app_detail_layout_ys"
+                    android:layout_height="39dp">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="隐私政策"
+                        android:layout_centerVertical="true"
+                        android:textColor="@color/blue"
+                        android:textSize="12sp"
+                        />
+
+                    <ImageView
+                        android:layout_width="14dp"
+                        android:layout_height="14dp"
+                        android:background="@mipmap/btn_next_gray"
+                        android:layout_alignParentRight="true"
+                        android:layout_centerVertical="true"
+                        />
+
+                    <View
+                        android:layout_width="match_parent"
+                        android:background="#e7e7e7"
+                        android:layout_alignParentBottom="true"
+                        android:layout_height="1dp"/>
+
+                </RelativeLayout>
+
+            </LinearLayout>
+
+        </LinearLayout>
+
+    </ScrollView>
+
+
+
 </LinearLayout>

+ 31 - 0
app/src/main/res/layout/activity_app_manage.xml

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <com.zkjc.common.view.CommonTitleBarV3
+        android:id="@+id/title_bar"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="25dp" />
+
+    <com.google.android.material.tabs.TabLayout
+        android:id="@+id/app_manage_tab"
+        android:layout_width="match_parent"
+        android:layout_height="40dp"
+        android:paddingLeft="8dp"
+        android:layout_toLeftOf="@id/rwzx_layout_filter"
+        android:paddingRight="8dp"
+        app:tabIndicatorHeight="0dp"
+        app:tabMode="scrollable"
+        app:tabSelectedTextColor="@color/blue"
+        app:tabTextColor="#666666" />
+
+    <androidx.viewpager2.widget.ViewPager2
+        android:id="@+id/app_manage_vp"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"/>
+</LinearLayout>

+ 13 - 0
app/src/main/res/layout/fragment_app_type_list.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <androidx.recyclerview.widget.RecyclerView
+        android:layout_width="match_parent"
+        android:id="@+id/rv"
+        android:layout_height="match_parent"/>
+
+</LinearLayout>

+ 13 - 0
app/src/main/res/layout/fragment_gzt.xml

@@ -2,7 +2,20 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
+    android:background="@color/white"
     android:layout_height="match_parent"
     android:orientation="vertical">
 
+
+    <com.zkjc.common.view.CommonTitleBarV3
+        android:id="@+id/title_bar"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="25dp" />
+
+    <androidx.recyclerview.widget.RecyclerView
+        android:id="@+id/rv"
+        android:background="#f8f8f8"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"/>
 </LinearLayout>

+ 0 - 2
app/src/main/res/layout/fragment_task_dxzp.xml

@@ -13,8 +13,6 @@
 
         <androidx.recyclerview.widget.RecyclerView
             android:layout_width="match_parent"
-            android:nestedScrollingEnabled="false"
-            app:layout_behavior="@string/appbar_scrolling_view_behavior"
             android:id="@+id/task_rv"
             android:layout_height="match_parent"/>
 

+ 387 - 313
app/src/main/res/layout/fragment_test.xml

@@ -77,365 +77,439 @@
         </com.scwang.smart.refresh.header.TwoLevelHeader>
 
 
-        <androidx.coordinatorlayout.widget.CoordinatorLayout
+        <RelativeLayout
             android:layout_width="match_parent"
-            android:id="@+id/layout_rwzx"
-            android:layout_height="match_parent">
-            <com.google.android.material.appbar.AppBarLayout
-                android:id="@+id/layout_app_bar"
+            android:orientation="vertical"
+            android:layout_height="wrap_content">
+
+            <androidx.coordinatorlayout.widget.CoordinatorLayout
                 android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:background="#F5F5F7"
-                app:elevation="0dp"
-                app:layout_behavior=".app.view.AppBarLayoutBehavior"
-                >
+                android:id="@+id/layout_rwzx"
+                android:background="#f8f8f8"
+                android:layout_height="match_parent">
 
-                <com.google.android.material.appbar.CollapsingToolbarLayout
+                <com.google.android.material.appbar.AppBarLayout
+                    android:orientation="vertical"
+                    android:id="@+id/rwzx_appbar"
                     android:layout_width="match_parent"
-                    app:expandedTitleMarginEnd="60dp"
-                    app:contentScrim="#FF0000"
-                    app:layout_scrollFlags="scroll|exitUntilCollapsed"
+                    app:elevation="0dp"
+                    app:layout_behavior="com.yuruiyin.appbarlayoutbehavior.AppBarLayoutBehavior"
+                    android:background="@color/transparent"
                     android:layout_height="wrap_content">
-
-                    <View
+                    <com.google.android.material.appbar.CollapsingToolbarLayout
                         android:layout_width="match_parent"
-                        app:layout_collapseMode="parallax"
-                        app:layout_constraintStart_toStartOf="parent"
-                        app:layout_constraintTop_toTopOf="parent"
-                        android:background="@drawable/bg_rwzx"
-                        android:layout_height="480dp"/>
+                        android:layout_height="wrap_content"
+                        app:layout_scrollFlags="scroll|exitUntilCollapsed">
 
-                    <androidx.constraintlayout.widget.ConstraintLayout
-                        android:layout_width="match_parent"
-                        android:layout_marginTop="55dp"
-                        android:layout_marginBottom="19dp"
-                        app:layout_collapseParallaxMultiplier="0.5"
-                        android:layout_height="wrap_content">
+                        <View
+                            android:layout_width="match_parent"
+                            android:background="@drawable/bg_rwzx"
+                            android:layout_height="232dp"/>
 
-                        <LinearLayout
-                            android:orientation="vertical"
-                            android:id="@+id/rwzx_appbar"
+                        <RelativeLayout
                             android:layout_width="match_parent"
-                            android:background="@color/transparent"
-                            android:layout_height="match_parent">
+                            android:layout_marginTop="48dp"
+                            android:layout_marginLeft="16dp"
+                            android:focusable="true"
+                            android:focusableInTouchMode="true"
+                            android:layout_marginRight="16dp"
+                            android:background="@drawable/bg_rwzx_search"
+                            android:layout_height="36dp">
+
+                            <ImageView
+                                android:layout_width="16dp"
+                                android:layout_marginLeft="12dp"
+                                android:layout_centerVertical="true"
+                                android:background="@drawable/icon_rwzx_search"
+                                android:layout_height="16sp"/>
 
-                            <RelativeLayout
+                            <TextView
                                 android:layout_width="match_parent"
-                                android:layout_marginTop="48dp"
-                                android:layout_marginLeft="16dp"
-                                android:focusable="true"
-                                android:focusableInTouchMode="true"
-                                app:layout_scrollFlags="scroll|enterAlways"
-                                android:layout_marginRight="16dp"
-                                android:background="@drawable/bg_rwzx_search"
-                                android:layout_height="36dp">
-
-                                <ImageView
-                                    android:layout_width="16dp"
-                                    android:layout_marginLeft="12dp"
-                                    android:layout_centerVertical="true"
-                                    android:background="@drawable/icon_rwzx_search"
-                                    android:layout_height="16sp"/>
-
-                                <TextView
-                                    android:layout_width="match_parent"
-                                    android:layout_height="match_parent"
-                                    android:id="@+id/rwzx_tv_search"
-                                    android:text="请输入信息查询"
-                                    android:paddingLeft="36dp"
-                                    android:gravity="center_vertical"
-                                    android:textColor="#ff999999"
-                                    android:textSize="13sp"
-                                    />
+                                android:layout_height="match_parent"
+                                android:id="@+id/rwzx_tv_search"
+                                android:text="请输入信息查询"
+                                android:paddingLeft="36dp"
+                                android:gravity="center_vertical"
+                                android:textColor="#ff999999"
+                                android:textSize="13sp"
+                                />
+
+                        </RelativeLayout>
+
+                        <LinearLayout
+                            android:layout_width="match_parent"
+                            android:orientation="vertical"
+                            android:layout_marginTop="96dp"
+                            android:layout_height="match_parent">
 
-                            </RelativeLayout>
 
                             <LinearLayout
                                 android:layout_width="match_parent"
-                                android:overScrollMode="never"
-                                android:layout_height="match_parent">
+                                android:orientation="horizontal"
+                                android:layout_marginTop="12dp"
+                                android:layout_marginLeft="10dp"
+                                android:layout_marginRight="10dp"
+                                android:layout_height="wrap_content">
+
+                                <LinearLayout
+                                    android:layout_width="match_parent"
+                                    android:layout_weight="1"
+                                    android:layout_marginLeft="6dp"
+                                    android:layout_marginRight="6dp"
+                                    android:orientation="vertical"
+                                    android:layout_height="122dp">
 
-                                <FrameLayout
+                                    <RelativeLayout
+                                        android:layout_width="match_parent"
+                                        android:id="@+id/rwzx_layout_task_1"
+                                        android:background="@drawable/bg_shape_white_corner8"
+                                        android:layout_height="104dp">
+
+                                        <ImageView
+                                            android:layout_width="53dp"
+                                            android:id="@+id/rwzx_iv_task_1"
+                                            android:layout_centerHorizontal="true"
+                                            android:layout_marginTop="11dp"
+                                            android:layout_height="53dp"/>
+
+                                        <TextView
+                                            android:layout_width="wrap_content"
+                                            android:layout_marginLeft="60dp"
+                                            android:text="9"
+                                            android:visibility="gone"
+                                            android:textColor="#ffffffff"
+                                            android:id="@+id/rwzx_tv_task_num_1"
+                                            android:textSize="12sp"
+                                            android:layout_marginTop="16dp"
+                                            android:background="@drawable/bg_red"
+                                            android:layout_height="wrap_content"/>
+
+                                        <TextView
+                                            android:id="@+id/rwzx_tv_task_1"
+                                            android:layout_width="wrap_content"
+                                            android:layout_centerHorizontal="true"
+                                            android:layout_below="@id/rwzx_iv_task_1"
+                                            android:layout_height="wrap_content"
+                                            android:layout_marginTop="4dp"
+                                            android:text="指令任务"
+                                            android:textStyle="bold"
+                                            android:textColor="#ff111111"
+                                            android:textSize="14sp"
+                                            />
+
+
+                                    </RelativeLayout>
+
+                                    <ImageView
+                                        android:id="@+id/rwzx_iv_triangle_1"
+                                        android:layout_width="44dp"
+                                        android:layout_gravity="center_horizontal"
+                                        android:layout_marginTop="8dp"
+                                        android:background="@drawable/pic_triangle"
+                                        android:layout_height="13dp"/>
+
+                                </LinearLayout>
+
+                                <LinearLayout
                                     android:layout_width="match_parent"
-                                    android:layout_height="match_parent"
-                                    android:orientation="vertical">
+                                    android:layout_weight="1"
+                                    android:layout_marginLeft="6dp"
+                                    android:layout_marginRight="6dp"
+                                    android:orientation="vertical"
+                                    android:layout_height="122dp">
 
+                                    <RelativeLayout
+                                        android:layout_width="match_parent"
+                                        android:id="@+id/rwzx_layout_task_2"
+                                        android:background="@drawable/bg_shape_white_corner8"
+                                        android:layout_height="104dp">
+
+                                        <ImageView
+                                            android:layout_width="53dp"
+                                            android:id="@+id/rwzx_iv_task_2"
+                                            android:layout_centerHorizontal="true"
+                                            android:layout_marginTop="11dp"
+                                            android:layout_height="53dp"/>
+
+                                        <TextView
+                                            android:layout_width="wrap_content"
+                                            android:layout_marginLeft="60dp"
+                                            android:text="9"
+                                            android:visibility="gone"
+                                            android:textColor="#ffffffff"
+                                            android:id="@+id/rwzx_tv_task_num_2"
+                                            android:textSize="12sp"
+                                            android:layout_marginTop="16dp"
+                                            android:background="@drawable/bg_red"
+                                            android:layout_height="wrap_content"/>
+                                        <TextView
+                                            android:id="@+id/rwzx_tv_task_2"
+                                            android:layout_width="wrap_content"
+                                            android:layout_centerHorizontal="true"
+                                            android:layout_below="@id/rwzx_iv_task_2"
+                                            android:layout_height="wrap_content"
+                                            android:layout_marginTop="4dp"
+                                            android:textStyle="bold"
+                                            android:text="规定任务"
+                                            android:textColor="#ff666666"
+                                            android:textSize="14sp"
+                                            />
+
+
+                                    </RelativeLayout>
+
+                                    <ImageView
+                                        android:id="@+id/rwzx_iv_triangle_2"
+                                        android:layout_width="44dp"
+                                        android:visibility="gone"
+                                        android:layout_gravity="center_horizontal"
+                                        android:layout_marginTop="8dp"
+                                        android:background="@drawable/pic_triangle"
+                                        android:layout_height="13dp"/>
+
+                                </LinearLayout>
+
+                                <LinearLayout
+                                    android:layout_width="match_parent"
+                                    android:layout_weight="1"
+                                    android:layout_marginLeft="6dp"
+                                    android:layout_marginRight="6dp"
+                                    android:orientation="vertical"
+                                    android:layout_height="122dp">
 
-                                    <LinearLayout
+                                    <RelativeLayout
                                         android:layout_width="match_parent"
-                                        android:orientation="vertical"
-                                        android:layout_height="match_parent">
-
-
-                                        <LinearLayout
-                                            android:layout_width="match_parent"
-                                            android:orientation="horizontal"
-                                            android:layout_marginTop="12dp"
-                                            android:layout_marginLeft="10dp"
-                                            android:layout_marginRight="10dp"
-                                            android:layout_height="wrap_content">
-
-                                            <LinearLayout
-                                                android:layout_width="match_parent"
-                                                android:layout_weight="1"
-                                                android:layout_marginLeft="6dp"
-                                                android:layout_marginRight="6dp"
-                                                android:orientation="vertical"
-                                                android:layout_height="122dp">
-
-                                                <RelativeLayout
-                                                    android:layout_width="match_parent"
-                                                    android:id="@+id/rwzx_layout_task_1"
-                                                    android:background="@drawable/bg_shape_white_corner8"
-                                                    android:layout_height="104dp">
-
-                                                    <ImageView
-                                                        android:layout_width="53dp"
-                                                        android:id="@+id/rwzx_iv_task_1"
-                                                        android:layout_centerHorizontal="true"
-                                                        android:layout_marginTop="11dp"
-                                                        android:layout_height="53dp"/>
-
-                                                    <TextView
-                                                        android:layout_width="wrap_content"
-                                                        android:layout_marginLeft="60dp"
-                                                        android:text="9"
-                                                        android:textColor="#ffffffff"
-                                                        android:id="@+id/rwzx_tv_task_num_1"
-                                                        android:textSize="12sp"
-                                                        android:layout_marginTop="16dp"
-                                                        android:background="@drawable/bg_red"
-                                                        android:layout_height="wrap_content"/>
-
-                                                    <TextView
-                                                        android:id="@+id/rwzx_tv_task_1"
-                                                        android:layout_width="wrap_content"
-                                                        android:layout_centerHorizontal="true"
-                                                        android:layout_below="@id/rwzx_iv_task_1"
-                                                        android:layout_height="wrap_content"
-                                                        android:layout_marginTop="4dp"
-                                                        android:text="指令任务"
-                                                        android:textStyle="bold"
-                                                        android:textColor="#ff111111"
-                                                        android:textSize="14sp"
-                                                        />
-
-
-                                                </RelativeLayout>
-
-                                                <ImageView
-                                                    android:id="@+id/rwzx_iv_triangle_1"
-                                                    android:layout_width="44dp"
-                                                    android:layout_gravity="center_horizontal"
-                                                    android:layout_marginTop="8dp"
-                                                    android:background="@drawable/pic_triangle"
-                                                    android:layout_height="13dp"/>
-
-                                            </LinearLayout>
-
-                                            <LinearLayout
-                                                android:layout_width="match_parent"
-                                                android:layout_weight="1"
-                                                android:layout_marginLeft="6dp"
-                                                android:layout_marginRight="6dp"
-                                                android:orientation="vertical"
-                                                android:layout_height="122dp">
-
-                                                <RelativeLayout
-                                                    android:layout_width="match_parent"
-                                                    android:id="@+id/rwzx_layout_task_2"
-                                                    android:background="@drawable/bg_shape_white_corner8"
-                                                    android:layout_height="104dp">
-
-                                                    <ImageView
-                                                        android:layout_width="53dp"
-                                                        android:id="@+id/rwzx_iv_task_2"
-                                                        android:layout_centerHorizontal="true"
-                                                        android:layout_marginTop="11dp"
-                                                        android:layout_height="53dp"/>
-
-                                                    <TextView
-                                                        android:layout_width="wrap_content"
-                                                        android:layout_marginLeft="60dp"
-                                                        android:text="9"
-                                                        android:textColor="#ffffffff"
-                                                        android:id="@+id/rwzx_tv_task_num_2"
-                                                        android:textSize="12sp"
-                                                        android:layout_marginTop="16dp"
-                                                        android:background="@drawable/bg_red"
-                                                        android:layout_height="wrap_content"/>
-                                                    <TextView
-                                                        android:id="@+id/rwzx_tv_task_2"
-                                                        android:layout_width="wrap_content"
-                                                        android:layout_centerHorizontal="true"
-                                                        android:layout_below="@id/rwzx_iv_task_2"
-                                                        android:layout_height="wrap_content"
-                                                        android:layout_marginTop="4dp"
-                                                        android:textStyle="bold"
-                                                        android:text="规定任务"
-                                                        android:textColor="#ff666666"
-                                                        android:textSize="14sp"
-                                                        />
-
-
-                                                </RelativeLayout>
-
-                                                <ImageView
-                                                    android:id="@+id/rwzx_iv_triangle_2"
-                                                    android:layout_width="44dp"
-                                                    android:visibility="gone"
-                                                    android:layout_gravity="center_horizontal"
-                                                    android:layout_marginTop="8dp"
-                                                    android:background="@drawable/pic_triangle"
-                                                    android:layout_height="13dp"/>
-
-                                            </LinearLayout>
-
-                                            <LinearLayout
-                                                android:layout_width="match_parent"
-                                                android:layout_weight="1"
-                                                android:layout_marginLeft="6dp"
-                                                android:layout_marginRight="6dp"
-                                                android:orientation="vertical"
-                                                android:layout_height="122dp">
-
-                                                <RelativeLayout
-                                                    android:layout_width="match_parent"
-                                                    android:id="@+id/rwzx_layout_task_3"
-                                                    android:background="@drawable/bg_shape_white_corner8"
-                                                    android:layout_height="104dp">
-
-                                                    <ImageView
-                                                        android:layout_width="53dp"
-                                                        android:id="@+id/rwzx_iv_task_3"
-                                                        android:layout_centerHorizontal="true"
-                                                        android:layout_marginTop="11dp"
-                                                        android:layout_height="53dp"/>
-
-                                                    <TextView
-                                                        android:layout_width="wrap_content"
-                                                        android:layout_marginLeft="60dp"
-                                                        android:text="99+"
-                                                        android:textColor="#ffffffff"
-                                                        android:id="@+id/rwzx_tv_task_num_3"
-                                                        android:textSize="12sp"
-                                                        android:layout_marginTop="16dp"
-                                                        android:background="@drawable/bg_red"
-                                                        android:layout_height="wrap_content"/>
-                                                    <TextView
-                                                        android:id="@+id/rwzx_tv_task_3"
-                                                        android:layout_width="wrap_content"
-                                                        android:layout_centerHorizontal="true"
-                                                        android:layout_below="@id/rwzx_iv_task_3"
-                                                        android:layout_height="wrap_content"
-                                                        android:layout_marginTop="4dp"
-                                                        android:textStyle="bold"
-                                                        android:text="推送任务"
-                                                        android:textColor="#666666"
-                                                        android:textSize="14sp"
-                                                        />
-
-
-                                                </RelativeLayout>
-
-                                                <ImageView
-                                                    android:id="@+id/rwzx_iv_triangle_3"
-                                                    android:layout_width="44dp"
-                                                    android:visibility="gone"
-                                                    android:layout_gravity="center_horizontal"
-                                                    android:layout_marginTop="8dp"
-                                                    android:background="@drawable/pic_triangle"
-                                                    android:layout_height="13dp"/>
-
-                                            </LinearLayout>
-
-                                        </LinearLayout>
-
-
-                                    </LinearLayout>
-
-                                </FrameLayout>
+                                        android:id="@+id/rwzx_layout_task_3"
+                                        android:background="@drawable/bg_shape_white_corner8"
+                                        android:layout_height="104dp">
+
+                                        <ImageView
+                                            android:layout_width="53dp"
+                                            android:id="@+id/rwzx_iv_task_3"
+                                            android:layout_centerHorizontal="true"
+                                            android:layout_marginTop="11dp"
+                                            android:layout_height="53dp"/>
+
+                                        <TextView
+                                            android:layout_width="wrap_content"
+                                            android:layout_marginLeft="60dp"
+                                            android:text="99+"
+                                            android:visibility="gone"
+                                            android:textColor="#ffffffff"
+                                            android:id="@+id/rwzx_tv_task_num_3"
+                                            android:textSize="12sp"
+                                            android:layout_marginTop="16dp"
+                                            android:background="@drawable/bg_red"
+                                            android:layout_height="wrap_content"/>
+                                        <TextView
+                                            android:id="@+id/rwzx_tv_task_3"
+                                            android:layout_width="wrap_content"
+                                            android:layout_centerHorizontal="true"
+                                            android:layout_below="@id/rwzx_iv_task_3"
+                                            android:layout_height="wrap_content"
+                                            android:layout_marginTop="4dp"
+                                            android:textStyle="bold"
+                                            android:text="推送任务"
+                                            android:textColor="#666666"
+                                            android:textSize="14sp"
+                                            />
+
+
+                                    </RelativeLayout>
+
+                                    <ImageView
+                                        android:id="@+id/rwzx_iv_triangle_3"
+                                        android:layout_width="44dp"
+                                        android:visibility="gone"
+                                        android:layout_gravity="center_horizontal"
+                                        android:layout_marginTop="8dp"
+                                        android:background="@drawable/pic_triangle"
+                                        android:layout_height="13dp"/>
+
+                                </LinearLayout>
 
                             </LinearLayout>
 
                         </LinearLayout>
 
-                    </androidx.constraintlayout.widget.ConstraintLayout>
 
+                        <androidx.appcompat.widget.Toolbar
+                            android:id="@+id/toolbar"
+                            android:layout_width="match_parent"
+                            android:layout_height="128dp"/>
+
+                    </com.google.android.material.appbar.CollapsingToolbarLayout>
+                    <com.google.android.material.tabs.TabLayout
+                        android:id="@+id/rwzx_tab"
+                        android:layout_width="match_parent"
+                        android:layout_height="40dp"
+                        android:paddingLeft="8dp"
+                        android:layout_toLeftOf="@id/rwzx_layout_filter"
+                        android:paddingRight="8dp"
+                        app:tabMode="scrollable"
+                        app:tabIndicatorHeight="0dp"
+                        app:tabSelectedTextColor="@color/blue"
+                        app:tabTextColor="#666666" />
+
+                </com.google.android.material.appbar.AppBarLayout>
 
 
-                </com.google.android.material.appbar.CollapsingToolbarLayout>
 
-                <androidx.core.widget.NestedScrollView
-                    android:id="@+id/nestedScrollView"
+                <androidx.viewpager2.widget.ViewPager2
+                    android:id="@+id/rwzx_vp"
                     android:layout_width="match_parent"
-                    android:layout_height="match_parent"
-                    android:background="#FFFFFFFF"
-                    android:fillViewport="true"
-                    app:layout_behavior="@string/appbar_scrolling_view_behavior">
-                    <LinearLayout
+                    app:layout_behavior="@string/appbar_scrolling_view_behavior"
+                    android:layout_height="match_parent"/>
+            </androidx.coordinatorlayout.widget.CoordinatorLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:orientation="vertical"
+                android:visibility="gone"
+                android:id="@+id/rwzx_holder_layout"
+                android:background="@color/white"
+                android:layout_height="wrap_content">
+
+                <RelativeLayout
+                    android:layout_width="match_parent"
+                    android:layout_marginTop="48dp"
+                    android:layout_marginLeft="16dp"
+                    android:id="@+id/rwzx_holder_layout_search"
+                    android:layout_marginRight="16dp"
+                    android:background="#f8f8f8"
+                    android:layout_height="36dp">
+
+                    <ImageView
+                        android:layout_width="16dp"
+                        android:layout_marginLeft="12dp"
+                        android:layout_centerVertical="true"
+                        android:background="@drawable/icon_rwzx_search"
+                        android:layout_height="16sp"/>
+
+                    <TextView
                         android:layout_width="match_parent"
-                        android:orientation="vertical"
-                        android:id="@+id/rwzx_container"
-                        android:background="@drawable/bg_shape_f8f8f8_corner12"
-                        android:layout_height="match_parent">
+                        android:layout_height="match_parent"
+                        android:id="@+id/rwzx_holder_tv_search"
+                        android:text="请输入信息查询"
+                        android:paddingLeft="36dp"
+                        android:gravity="center_vertical"
+                        android:textColor="#ff999999"
+                        android:textSize="13sp"
+                        />
 
+                </RelativeLayout>
 
-                        <RelativeLayout
-                            android:layout_width="match_parent"
-                            android:layout_height="40dp">
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:orientation="horizontal"
+                    android:layout_marginTop="4dp"
+                    android:gravity="center"
+                    android:id="@+id/rwzx_holder_layout_type"
+                    android:layout_marginLeft="10dp"
+                    android:layout_marginRight="10dp"
+                    android:layout_height="44dp">
 
-                            <LinearLayout
-                                android:layout_width="60dp"
-                                android:id="@+id/rwzx_layout_filter"
-                                android:layout_alignParentRight="true"
-                                android:orientation="horizontal"
-                                android:layout_centerVertical="true"
-                                android:gravity="center_vertical"
-                                android:layout_height="wrap_content">
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:orientation="horizontal"
+                        android:layout_weight="1"
+                        android:gravity="center"
+                        android:id="@+id/rwzx_holder_layout_task_1"
+                        android:layout_height="match_parent">
 
-                                <TextView
-                                    android:layout_width="wrap_content"
-                                    android:layout_height="wrap_content"
-                                    android:layout_marginLeft="8dp"
-                                    android:text="筛选"
-                                    android:textColor="@color/color_666666"
-                                    android:textSize="12sp"/>
+                        <ImageView
+                            android:layout_width="18dp"
+                            android:id="@+id/rwzx_holder_iv_task_1"
+                            android:layout_height="18dp"/>
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:text="指令任务"
+                            android:id="@+id/rwzx_holder_tv_task_1"
+                            android:textColor="#ff106dff"
+                            android:textSize="16sp"
+                            android:layout_height="wrap_content"/>
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:text="0"
+                            android:layout_marginLeft="2dp"
+                            android:id="@+id/rwzx_holder_tv_task_num_1"
+                            android:textColor="#ff106dff"
+                            android:textSize="16sp"
+                            android:layout_height="wrap_content"/>
 
-                                <ImageView
-                                    android:layout_width="16dp"
-                                    android:background="@mipmap/icon_screening"
-                                    android:layout_height="16dp"/>
+                    </LinearLayout>
 
-                            </LinearLayout>
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:orientation="horizontal"
+                        android:id="@+id/rwzx_holder_layout_task_2"
+                        android:layout_weight="1"
+                        android:gravity="center"
+                        android:layout_height="match_parent">
 
-                            <com.google.android.material.tabs.TabLayout
-                                android:id="@+id/rwzx_tab"
-                                android:layout_width="match_parent"
-                                android:layout_height="40dp"
-                                android:paddingLeft="8dp"
-                                android:layout_toLeftOf="@id/rwzx_layout_filter"
-                                android:paddingRight="8dp"
-                                app:tabIndicatorHeight="0dp"
-                                app:tabMode="scrollable"
-                                app:tabSelectedTextColor="@color/blue"
-                                app:tabTextColor="#666666" />
+                        <ImageView
+                            android:layout_width="18dp"
+                            android:id="@+id/rwzx_holder_iv_task_2"
+                            android:layout_height="18dp"/>
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:text="规定任务"
+                            android:id="@+id/rwzx_holder_tv_task_2"
+                            android:textColor="#666666"
+                            android:textSize="16sp"
+                            android:layout_height="wrap_content"/>
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:text="1"
+                            android:layout_marginLeft="2dp"
+                            android:id="@+id/rwzx_holder_tv_task_num_2"
+                            android:textColor="#666666"
+                            android:textSize="16sp"
+                            android:layout_height="wrap_content"/>
 
-                        </RelativeLayout>
+                    </LinearLayout>
 
-                        <androidx.viewpager2.widget.ViewPager2
-                            android:id="@+id/rwzx_vp"
-                            android:layout_width="match_parent"
-                            android:layout_height="match_parent"/>
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:orientation="horizontal"
+                        android:id="@+id/rwzx_holder_layout_task_3"
+                        android:layout_weight="1"
+                        android:gravity="center"
+                        android:layout_height="match_parent">
 
+                        <ImageView
+                            android:layout_width="18dp"
+                            android:id="@+id/rwzx_holder_iv_task_3"
+                            android:layout_height="18dp"/>
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:text="推送任务"
+                            android:id="@+id/rwzx_holder_tv_task_3"
+                            android:textColor="#666666"
+                            android:textSize="16sp"
+                            android:layout_height="wrap_content"/>
+
+                        <TextView
+                            android:layout_width="wrap_content"
+                            android:text="2"
+                            android:layout_marginLeft="2dp"
+                            android:id="@+id/rwzx_holder_tv_task_num_3"
+                            android:textColor="#666666"
+                            android:textSize="16sp"
+                            android:layout_height="wrap_content"/>
 
                     </LinearLayout>
-                </androidx.core.widget.NestedScrollView>
 
-            </com.google.android.material.appbar.AppBarLayout>
+                </LinearLayout>
 
-        </androidx.coordinatorlayout.widget.CoordinatorLayout>
+            </LinearLayout>
 
+        </RelativeLayout>
 
         <com.scwang.smart.refresh.header.ClassicsHeader
             android:layout_width="match_parent"

+ 13 - 0
app/src/main/res/layout/item_app_detail_img.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content"
+    android:layout_height="wrap_content">
+
+    <ImageView
+        android:layout_width="164dp"
+        android:id="@+id/iv_img"
+        android:background="#ff0000"
+        android:layout_marginRight="8dp"
+        android:layout_height="354dp"/>
+
+</LinearLayout>

+ 29 - 0
app/src/main/res/layout/item_app_list.xml

@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
+    android:layout_marginTop="12dp"
+    android:layout_marginLeft="16dp"
+    android:layout_marginRight="16dp"
+    android:orientation="vertical"
+    android:background="@drawable/bg_shape_white_corner8"
+    android:layout_height="wrap_content">
+
+    <TextView
+        android:id="@+id/item_app_list_type"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="信息采集"
+        android:layout_marginLeft="12dp"
+        android:layout_marginTop="12dp"
+        android:textColor="#ff111111"
+        android:textSize="14sp"
+        />
+
+    <androidx.recyclerview.widget.RecyclerView
+        android:id="@+id/item_app_list_rv"
+        android:layout_width="match_parent"
+        android:layout_marginTop="12dp"
+        android:layout_marginBottom="12dp"
+        android:layout_height="wrap_content"/>
+
+</LinearLayout>

+ 22 - 0
app/src/main/res/layout/item_app_list_detail.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
+    android:gravity="center_horizontal"
+    android:orientation="vertical"
+    android:layout_height="wrap_content">
+
+    <ImageView
+        android:layout_width="56dp"
+        android:id="@+id/item_app_list_detail_iv"
+        android:layout_height="56dp"/>
+
+    <TextView
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="XSQB信息"
+        android:id="@+id/item_app_list_detail_tv"
+        android:textColor="#ff111111"
+        android:textSize="12sp"
+        />
+
+</LinearLayout>

+ 13 - 0
app/src/main/res/layout/item_app_type_img.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content"
+    android:layout_height="wrap_content">
+
+    <ImageView
+        android:layout_width="109dp"
+        android:id="@+id/iv_img"
+        android:background="#ff0000"
+        android:layout_marginRight="8dp"
+        android:layout_height="236dp"/>
+
+</LinearLayout>

+ 71 - 0
app/src/main/res/layout/item_app_type_list.xml

@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
+    android:orientation="vertical"
+    android:layout_marginTop="9dp"
+    android:layout_height="wrap_content">
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_marginLeft="16dp"
+        android:layout_marginRight="16dp"
+        android:layout_height="56dp">
+
+        <ImageView
+            android:layout_width="56dp"
+            android:id="@+id/item_app_type_list_iv_icon"
+            android:layout_height="56dp"/>
+
+        <TextView
+            android:layout_width="52dp"
+            android:text="下载"
+            android:layout_alignParentRight="true"
+            android:layout_marginRight="12dp"
+            android:id="@+id/item_app_type_list_tv_download"
+            android:gravity="center"
+            android:textSize="14sp"
+            android:layout_centerVertical="true"
+            android:textColor="@color/blue"
+            android:background="@drawable/bg_shape_14106dff_corner8"
+            android:layout_height="28dp"/>
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_toLeftOf="@id/item_app_type_list_tv_download"
+            android:layout_toRightOf="@id/item_app_type_list_iv_icon"
+            android:gravity="center_vertical"
+            android:layout_marginLeft="12dp"
+            android:orientation="vertical"
+            android:layout_height="match_parent">
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="警地融合"
+                android:id="@+id/item_app_type_list_tv_name"
+                android:textColor="#ff111111"
+                android:textSize="16sp"
+                />
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:id="@+id/item_app_type_list_tv_time"
+                android:text="2023-11-07 10:00更新"
+                android:layout_marginTop="4dp"
+                android:textColor="#ffa0abbd"
+                android:textSize="12sp"
+                />
+
+        </LinearLayout>
+
+    </RelativeLayout>
+    
+    <androidx.recyclerview.widget.RecyclerView
+        android:layout_width="match_parent"
+        android:id="@+id/item_app_type_list_rv"
+        android:layout_marginLeft="16dp"
+        android:layout_marginRight="16dp"
+        android:layout_height="wrap_content"/>
+
+</LinearLayout>

+ 6 - 6
app/src/main/res/layout/item_rwfx_task_type.xml

@@ -12,14 +12,14 @@
         android:layout_height="24dp"/>
 
     <TextView
-        android:layout_width="wrap_content"
-        android:text="情指"
         android:id="@+id/item_rwfx_task_type_tv_name"
-        android:layout_toRightOf="@id/item_rwfx_task_type_iv_icon"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
         android:layout_marginLeft="8dp"
+        android:layout_toRightOf="@id/item_rwfx_task_type_iv_icon"
+        android:text="情指"
         android:textColor="#ff111111"
-        android:textSize="14sp"
-        android:layout_height="wrap_content"/>
+        android:textSize="14sp" />
 
     <LinearLayout
         android:layout_width="wrap_content"
@@ -46,7 +46,7 @@
     </LinearLayout>
 
     <ProgressBar
-        android:id="@+id/progress_horizontal"
+        android:id="@+id/item_rwfx_task_type_progress"
         style="@style/Widget.AppCompat.ProgressBar.Horizontal"
         android:layout_width="match_parent"
         android:layout_marginRight="31dp"

+ 6 - 6
app/src/main/res/layout/layout_rwfx.xml

@@ -111,7 +111,7 @@
                 android:layout_weight="1">
 
                 <TextView
-                    android:id="@+id/tv_zlrrw"
+                    android:id="@+id/tv_rw_num1"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_gravity="center_horizontal"
@@ -122,7 +122,7 @@
                     android:textStyle="bold" />
 
                 <TextView
-
+                    android:id="@+id/tv_rw1"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_gravity="center_horizontal|bottom"
@@ -145,7 +145,7 @@
                 android:layout_weight="1">
 
                 <TextView
-                    android:id="@+id/tv_gdrw"
+                    android:id="@+id/tv_rw_num2"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_gravity="center_horizontal"
@@ -156,7 +156,7 @@
                     android:textStyle="bold" />
 
                 <TextView
-
+                    android:id="@+id/tv_rw2"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_gravity="center_horizontal|bottom"
@@ -179,7 +179,7 @@
                 android:layout_weight="1">
 
                 <TextView
-                    android:id="@+id/tv_tsrw"
+                    android:id="@+id/tv_rw_num3"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_gravity="center_horizontal"
@@ -190,7 +190,7 @@
                     android:textStyle="bold" />
 
                 <TextView
-
+                    android:id="@+id/tv_rw3"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_gravity="center_horizontal|bottom"