| | |
| | | import android.view.LayoutInflater; |
| | | import android.view.View; |
| | | |
| | | import androidx.activity.result.ActivityResultLauncher; |
| | | import androidx.activity.result.contract.ActivityResultContracts; |
| | | import androidx.annotation.Nullable; |
| | | import androidx.recyclerview.widget.GridLayoutManager; |
| | | import androidx.recyclerview.widget.RecyclerView; |
| | | import androidx.recyclerview.widget.SimpleItemAnimator; |
| | | |
| | | import com.dayu.pipirrapp.MyApplication; |
| | | 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.fragment.OrderFragment; |
| | | 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.ConfirmDialog; |
| | | 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.Map; |
| | | |
| | | import cc.shinichi.library.ImagePreview; |
| | | import cc.shinichi.library.bean.ImageInfo; |
| | | |
| | | /** |
| | | * OrderDetailActivity - |
| | |
| | | List<ImageResult> images = new ArrayList<>(); |
| | | RecyclerView mRecyclerView; |
| | | final List<String> imageInfoList = new ArrayList<>(); |
| | | int ProResultStateId; |
| | | private ActivityResultLauncher<Intent> activityResultLauncher = |
| | | registerForActivityResult( |
| | | new ActivityResultContracts.StartActivityForResult(), |
| | | result -> { |
| | | if (result.getResultCode() == OrderFragment.RESULT_REFRESH) { |
| | | setResult(OrderFragment.RESULT_REFRESH); |
| | | finish(); |
| | | } |
| | | }); |
| | | |
| | | @Override |
| | | protected void onCreate(@Nullable Bundle savedInstanceState) { |
| | |
| | | void initView() { |
| | | workOrderId = this.getIntent().getStringExtra("workOrderId"); |
| | | if (this.getIntent().hasExtra("proResultId")) { |
| | | binding.orderDealLL.setVisibility(View.VISIBLE); |
| | | proResultId = this.getIntent().getStringExtra("proResultId"); |
| | | getHandleData(proResultId); |
| | | } else { |
| | | binding.orderDealLL.setVisibility(View.GONE); |
| | | } |
| | | if (!TextUtils.isEmpty(workOrderId)) { |
| | | getMarkerData(workOrderId); |
| | |
| | | if (!TextUtils.isEmpty(t.getContent().getProResultId()) && TextUtils.isEmpty(proResultId)) { |
| | | getHandleData(orderDetailResult.getProResultId()); |
| | | } |
| | | switch (orderDetailResult.getProResultStateId()) { |
| | | ProResultStateId = orderDetailResult.getProResultStateId(); |
| | | switch (ProResultStateId) { |
| | | 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)); |
| | | binding.dealButton.setBackgroundColor(getResources().getColor(R.color.title_color)); |
| | | binding.dealButton.setVisibility(View.VISIBLE); |
| | | 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); |
| | | binding.dealButton.setBackgroundColor(getResources().getColor(R.color.delete_color)); |
| | | binding.dealButton.setVisibility(View.VISIBLE); |
| | | binding.dealButton.setText("删除处理结果"); |
| | | break; |
| | | case 2://已完成 |
| | | binding.stateText.setTextColor(OrderDetailActivity.this.getResources().getColor(R.color.white)); |
| | |
| | | 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)); |
| | | binding.dealButton.setBackgroundColor(getResources().getColor(R.color.title_color)); |
| | | binding.dealButton.setVisibility(View.VISIBLE); |
| | | break; |
| | | |
| | | } |
| | |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * 删除处理详情 |
| | | */ |
| | | private void deleteDealData() { |
| | | |
| | | Map<String, Object> params = new HashMap<>(); |
| | | params.put("proResultId", proResultId); |
| | | params.put("inspectorId", MyApplication.myApplication.userId); |
| | | ApiManager.getInstance().requestPost(this, Constants.BASE_URL + "/app/workOrder/deleteProResult", DealDetailResult.class, params, new SubscriberListener<BaseResponse<DealDetailResult>>() { |
| | | @Override |
| | | public void onNext(BaseResponse<DealDetailResult> t) { |
| | | if (t.isSuccess()) { |
| | | if (t.isSuccess()) { |
| | | ToastUtil.showToastLong(OrderDetailActivity.this, "删除成功!"); |
| | | setResult(OrderFragment.RESULT_REFRESH); |
| | | OrderDetailActivity.this.finish(); |
| | | } |
| | | } else { |
| | | ToastUtil.showToast(OrderDetailActivity.this, t.getMsg()); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onCloose() { |
| | | super.onCloose(); |
| | | } |
| | | |
| | | }); |
| | | } |
| | | |
| | | public void startDealActivity() { |
| | | Intent intent = new Intent(this, OrderDealActivity.class); |
| | | intent.putExtra("workOrderId", workOrderId); |
| | | startActivityForResult(intent, 1); |
| | | |
| | | switch (ProResultStateId) { |
| | | case 0: |
| | | case 3: |
| | | Intent intent = new Intent(this, OrderDealActivity.class); |
| | | intent.putExtra("workOrderId", workOrderId); |
| | | activityResultLauncher.launch(intent); |
| | | break; |
| | | case 1: |
| | | ConfirmDialog confirmDialog = new ConfirmDialog(this, "确认删除该处理结果吗?", (confirmDialog1, v) -> { |
| | | confirmDialog1.dismiss(); |
| | | deleteDealData(); |
| | | }); |
| | | confirmDialog.show(); |
| | | break; |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | } |