From a2a1bd40089d81286f8257ca4c61ce49155b6af3 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期一, 09 十二月 2024 09:14:21 +0800
Subject: [PATCH] 1.详情界面显示已上传的图片并可放大查看

---
 app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java |  113 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 110 insertions(+), 3 deletions(-)

diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java
index 9d7f7e9..8f1d943 100644
--- a/app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java
+++ b/app/src/main/java/com/dayu/pipirrapp/activity/OrderDetailActivity.java
@@ -4,20 +4,39 @@
 import android.os.Bundle;
 import android.text.TextUtils;
 import android.view.LayoutInflater;
+import android.view.View;
 
 import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.recyclerview.widget.SimpleItemAnimator;
 
+import com.dayu.pipirrapp.R;
+import com.dayu.pipirrapp.adapter.ImageAdapter;
+import com.dayu.pipirrapp.bean.net.DealDetailResult;
+import com.dayu.pipirrapp.bean.net.ImageResult;
 import com.dayu.pipirrapp.bean.net.OrderDetailResult;
 import com.dayu.pipirrapp.databinding.ActivityOrderDetailBinding;
 import com.dayu.pipirrapp.net.ApiManager;
 import com.dayu.pipirrapp.net.BaseResponse;
 import com.dayu.pipirrapp.net.Constants;
 import com.dayu.pipirrapp.net.subscribers.SubscriberListener;
+import com.dayu.pipirrapp.tool.FullyGridLayoutManager;
+import com.dayu.pipirrapp.tool.GlideEngine;
 import com.dayu.pipirrapp.utils.ToastUtil;
 import com.dayu.pipirrapp.view.TitleBar;
+import com.luck.picture.lib.basic.PictureSelector;
+import com.luck.picture.lib.decoration.GridSpacingItemDecoration;
+import com.luck.picture.lib.engine.ImageEngine;
+import com.luck.picture.lib.utils.DensityUtil;
 
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
+
+import cc.shinichi.library.ImagePreview;
+import cc.shinichi.library.bean.ImageInfo;
 
 /**
  * OrderDetailActivity -
@@ -30,6 +49,11 @@
 public class OrderDetailActivity extends BaseActivity {
     ActivityOrderDetailBinding binding;
     String workOrderId;
+    String proResultId;
+    ImageAdapter mAdapter;
+    List<ImageResult> images = new ArrayList<>();
+    RecyclerView mRecyclerView;
+    final List<String> imageInfoList = new ArrayList<>();
 
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
@@ -43,14 +67,34 @@
 
     void initView() {
         workOrderId = this.getIntent().getStringExtra("workOrderId");
+        if (this.getIntent().hasExtra("proResultId")) {
+            proResultId = this.getIntent().getStringExtra("proResultId");
+            getHandleData(proResultId);
+        }
         if (!TextUtils.isEmpty(workOrderId)) {
             getMarkerData(workOrderId);
         } else {
             this.finish();
             ToastUtil.showToastLong(this, "褰撳墠workOrderId涓虹┖");
         }
+
+
         binding.setItemclidk(OrderDetailActivity.this);
 
+        mRecyclerView = binding.recyclerView;
+        FullyGridLayoutManager manager = new FullyGridLayoutManager(this, 4, GridLayoutManager.VERTICAL, false);
+        mRecyclerView.setLayoutManager(manager);
+        RecyclerView.ItemAnimator itemAnimator = mRecyclerView.getItemAnimator();
+        if (itemAnimator != null) {
+            ((SimpleItemAnimator) itemAnimator).setSupportsChangeAnimations(false);
+        }
+        // 娣诲姞闂磋窛瑁呴グ锛岀‘淇濆浘鐗囨湁鍚堥�傜殑闂撮殧
+        mRecyclerView.addItemDecoration(new GridSpacingItemDecoration(4, DensityUtil.dip2px(this, 8), false));
+        mAdapter = new ImageAdapter(this, images, (v, position) -> {
+            ImagePreview.getInstance().setContext(OrderDetailActivity.this).setImageList(imageInfoList).start();
+
+        });
+        mRecyclerView.setAdapter(mAdapter);
     }
 
     /**
@@ -59,13 +103,76 @@
     private void getMarkerData(String workOrderId) {
         Map<String, Object> params = new HashMap<>();
         params.put("workOrderId", workOrderId);
-        ApiManager.getInstance().requestGetHideLoading(this, Constants.BASE_URL + "/app/workOrder/getOneWorkOrder", OrderDetailResult.class, params, new SubscriberListener<BaseResponse<OrderDetailResult>>() {
+        ApiManager.getInstance().requestGet(this, Constants.BASE_URL + "/app/workOrder/getOneWorkOrder", OrderDetailResult.class, params, new SubscriberListener<BaseResponse<OrderDetailResult>>() {
             @Override
             public void onNext(BaseResponse<OrderDetailResult> t) {
                 if (t.isSuccess()) {
                     if (t.isSuccess()) {
                         if (t.getContent() != null) {
-                            binding.setData(t.getContent());
+                            OrderDetailResult orderDetailResult = t.getContent();
+                            binding.setData(orderDetailResult);
+                            if (!TextUtils.isEmpty(t.getContent().getProResultId()) && TextUtils.isEmpty(proResultId)) {
+                                getHandleData(orderDetailResult.getProResultId());
+                            }
+                            switch (orderDetailResult.getProResultStateId()) {
+                                case 0://鏈笂鎶�
+                                    binding.stateText.setTextColor(OrderDetailActivity.this.getResources().getColor(R.color.black));
+                                    binding.stateText.setBackground(OrderDetailActivity.this.getResources().getDrawable(R.drawable.order_state_no_bg));
+                                    break;
+                                case 1://宸蹭笂鎶�
+                                    binding.stateText.setTextColor(OrderDetailActivity.this.getResources().getColor(R.color.white));
+                                    binding.stateText.setBackground(OrderDetailActivity.this.getResources().getDrawable(R.drawable.order_state_wait_bg));
+                                    binding.dealButton.setVisibility(View.GONE);
+                                    break;
+                                case 2://宸插畬鎴�
+                                    binding.stateText.setTextColor(OrderDetailActivity.this.getResources().getColor(R.color.white));
+                                    binding.stateText.setBackground(OrderDetailActivity.this.getResources().getDrawable(R.drawable.order_state_finish_bg));
+                                    binding.dealButton.setVisibility(View.GONE);
+                                    break;
+                                case 3://琚┏鍥�
+                                    binding.stateText.setTextColor(OrderDetailActivity.this.getResources().getColor(R.color.white));
+                                    binding.stateText.setBackground(OrderDetailActivity.this.getResources().getDrawable(R.drawable.order_state_reject_bg));
+                                    break;
+
+                            }
+                        } else {
+                            ToastUtil.showToast(OrderDetailActivity.this, t.getMsg());
+                        }
+                    }
+                } else {
+                    ToastUtil.showToast(OrderDetailActivity.this, t.getMsg());
+                }
+            }
+
+            @Override
+            public void onCloose() {
+                super.onCloose();
+            }
+
+        });
+    }
+
+
+    /**
+     * 鑾峰彇澶勭悊璇︽儏
+     */
+    private void getHandleData(String proResultId) {
+
+        Map<String, Object> params = new HashMap<>();
+        params.put("proResultId", proResultId);
+        ApiManager.getInstance().requestGet(this, Constants.BASE_URL + "/app/workOrder/getProResult", DealDetailResult.class, params, new SubscriberListener<BaseResponse<DealDetailResult>>() {
+            @Override
+            public void onNext(BaseResponse<DealDetailResult> t) {
+                if (t.isSuccess()) {
+                    if (t.isSuccess()) {
+                        if (t.getContent() != null) {
+                            binding.orderDealLL.setVisibility(View.VISIBLE);
+                            binding.setDealData(t.getContent());
+                            images.addAll(t.getContent().getImages());
+                            for (ImageResult imageResult : images) {
+                                imageInfoList.add(imageResult.getWebPath());
+                            }
+                            mAdapter.notifyDataSetChanged();
                         } else {
                             ToastUtil.showToast(OrderDetailActivity.this, t.getMsg());
                         }
@@ -87,7 +194,7 @@
     public void startDealActivity() {
         Intent intent = new Intent(this, OrderDealActivity.class);
         intent.putExtra("workOrderId", workOrderId);
-        startActivity(intent);
+        startActivityForResult(intent, 1);
     }
 
 }

--
Gitblit v1.8.0