diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f6ac20a..2070c95 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -67,12 +67,14 @@
-
+
-
+
+
+
-
+
-
+
+
+
{
private Context context;
+ private List iconData = new ArrayList<>();
+ private List itemData = new ArrayList<>();
public HomeRecycleAdapter(Context context) {
this.context = context;
}
+ public void setItemData(@Nullable List icons, @Nullable List items) {
+ this.iconData = icons;
+ this.itemData = items;
+ }
+
@NonNull
@Override
public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
@@ -30,7 +40,7 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- holder.bindView(context, position);
+ holder.bindView(position);
if (clickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
@@ -43,7 +53,7 @@
@Override
public int getItemCount() {
- return Constant.ITEMS.size();
+ return itemData.size();
}
private OnGridItemClickListener clickListener;
@@ -56,7 +66,7 @@
this.clickListener = onGridItemClickListener;
}
- static class ItemViewHolder extends RecyclerView.ViewHolder {
+ class ItemViewHolder extends RecyclerView.ViewHolder {
private ImageView imageView;
private TextView textView;
@@ -67,9 +77,9 @@
textView = itemView.findViewById(R.id.textView);
}
- void bindView(Context context, int position) {
- imageView.setBackgroundResource(Constant.ICONS.get(position));
- textView.setText(Constant.ITEMS.get(position));
+ void bindView(int position) {
+ imageView.setBackgroundResource(iconData.get(position));
+ textView.setText(itemData.get(position));
}
}
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f6ac20a..2070c95 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -67,12 +67,14 @@
-
+
-
+
+
+
{
private Context context;
+ private List iconData = new ArrayList<>();
+ private List itemData = new ArrayList<>();
public HomeRecycleAdapter(Context context) {
this.context = context;
}
+ public void setItemData(@Nullable List icons, @Nullable List items) {
+ this.iconData = icons;
+ this.itemData = items;
+ }
+
@NonNull
@Override
public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
@@ -30,7 +40,7 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- holder.bindView(context, position);
+ holder.bindView(position);
if (clickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
@@ -43,7 +53,7 @@
@Override
public int getItemCount() {
- return Constant.ITEMS.size();
+ return itemData.size();
}
private OnGridItemClickListener clickListener;
@@ -56,7 +66,7 @@
this.clickListener = onGridItemClickListener;
}
- static class ItemViewHolder extends RecyclerView.ViewHolder {
+ class ItemViewHolder extends RecyclerView.ViewHolder {
private ImageView imageView;
private TextView textView;
@@ -67,9 +77,9 @@
textView = itemView.findViewById(R.id.textView);
}
- void bindView(Context context, int position) {
- imageView.setBackgroundResource(Constant.ICONS.get(position));
- textView.setText(Constant.ITEMS.get(position));
+ void bindView(int position) {
+ imageView.setBackgroundResource(iconData.get(position));
+ textView.setText(itemData.get(position));
}
}
}
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
index b9c4615..d9b10e0 100644
--- a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -11,6 +11,7 @@
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
import com.casic.dcms.R;
import java.util.ArrayList;
@@ -62,7 +63,10 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- Glide.with(context).load(mediaList.get(position)).into(holder.imageView);
+ Glide.with(context)
+ .load(mediaList.get(position))
+ .apply(new RequestOptions().error(R.drawable.ic_load_error))
+ .into(holder.imageView);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f6ac20a..2070c95 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -67,12 +67,14 @@
-
+
-
+
+
+
{
private Context context;
+ private List iconData = new ArrayList<>();
+ private List itemData = new ArrayList<>();
public HomeRecycleAdapter(Context context) {
this.context = context;
}
+ public void setItemData(@Nullable List icons, @Nullable List items) {
+ this.iconData = icons;
+ this.itemData = items;
+ }
+
@NonNull
@Override
public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
@@ -30,7 +40,7 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- holder.bindView(context, position);
+ holder.bindView(position);
if (clickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
@@ -43,7 +53,7 @@
@Override
public int getItemCount() {
- return Constant.ITEMS.size();
+ return itemData.size();
}
private OnGridItemClickListener clickListener;
@@ -56,7 +66,7 @@
this.clickListener = onGridItemClickListener;
}
- static class ItemViewHolder extends RecyclerView.ViewHolder {
+ class ItemViewHolder extends RecyclerView.ViewHolder {
private ImageView imageView;
private TextView textView;
@@ -67,9 +77,9 @@
textView = itemView.findViewById(R.id.textView);
}
- void bindView(Context context, int position) {
- imageView.setBackgroundResource(Constant.ICONS.get(position));
- textView.setText(Constant.ITEMS.get(position));
+ void bindView(int position) {
+ imageView.setBackgroundResource(iconData.get(position));
+ textView.setText(itemData.get(position));
}
}
}
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
index b9c4615..d9b10e0 100644
--- a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -11,6 +11,7 @@
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
import com.casic.dcms.R;
import java.util.ArrayList;
@@ -62,7 +63,10 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- Glide.with(context).load(mediaList.get(position)).into(holder.imageView);
+ Glide.with(context)
+ .load(mediaList.get(position))
+ .apply(new RequestOptions().error(R.drawable.ic_load_error))
+ .into(holder.imageView);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/app/src/main/java/com/casic/dcms/base/BaseActivity.java b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
index caf0356..2ca87fe 100644
--- a/app/src/main/java/com/casic/dcms/base/BaseActivity.java
+++ b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
@@ -17,8 +17,8 @@
setContentView(initLayoutView());
ButterKnife.bind(this);
QMUIStatusBarHelper.translucent(this);//沉浸式状态栏
- setupTopBarLayout();
initData();
+ setupTopBarLayout();
initEvent();
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f6ac20a..2070c95 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -67,12 +67,14 @@
-
+
-
+
+
+
{
private Context context;
+ private List iconData = new ArrayList<>();
+ private List itemData = new ArrayList<>();
public HomeRecycleAdapter(Context context) {
this.context = context;
}
+ public void setItemData(@Nullable List icons, @Nullable List items) {
+ this.iconData = icons;
+ this.itemData = items;
+ }
+
@NonNull
@Override
public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
@@ -30,7 +40,7 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- holder.bindView(context, position);
+ holder.bindView(position);
if (clickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
@@ -43,7 +53,7 @@
@Override
public int getItemCount() {
- return Constant.ITEMS.size();
+ return itemData.size();
}
private OnGridItemClickListener clickListener;
@@ -56,7 +66,7 @@
this.clickListener = onGridItemClickListener;
}
- static class ItemViewHolder extends RecyclerView.ViewHolder {
+ class ItemViewHolder extends RecyclerView.ViewHolder {
private ImageView imageView;
private TextView textView;
@@ -67,9 +77,9 @@
textView = itemView.findViewById(R.id.textView);
}
- void bindView(Context context, int position) {
- imageView.setBackgroundResource(Constant.ICONS.get(position));
- textView.setText(Constant.ITEMS.get(position));
+ void bindView(int position) {
+ imageView.setBackgroundResource(iconData.get(position));
+ textView.setText(itemData.get(position));
}
}
}
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
index b9c4615..d9b10e0 100644
--- a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -11,6 +11,7 @@
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
import com.casic.dcms.R;
import java.util.ArrayList;
@@ -62,7 +63,10 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- Glide.with(context).load(mediaList.get(position)).into(holder.imageView);
+ Glide.with(context)
+ .load(mediaList.get(position))
+ .apply(new RequestOptions().error(R.drawable.ic_load_error))
+ .into(holder.imageView);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/app/src/main/java/com/casic/dcms/base/BaseActivity.java b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
index caf0356..2ca87fe 100644
--- a/app/src/main/java/com/casic/dcms/base/BaseActivity.java
+++ b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
@@ -17,8 +17,8 @@
setContentView(initLayoutView());
ButterKnife.bind(this);
QMUIStatusBarHelper.translucent(this);//沉浸式状态栏
- setupTopBarLayout();
initData();
+ setupTopBarLayout();
initEvent();
}
diff --git a/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
new file mode 100644
index 0000000..8de58a4
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
@@ -0,0 +1,78 @@
+package com.casic.dcms.bean;
+
+import java.util.List;
+
+public class CommonSentenceBean {
+ private int code;
+ private String message;
+ private boolean success;
+ private List data;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+
+ public List getData() {
+ return data;
+ }
+
+ public void setData(List data) {
+ this.data = data;
+ }
+
+ public static class DataBean {
+ /**
+ * name : 请及时处理
+ * id : 156
+ * value : 请及时处理
+ */
+
+ private String name;
+ private String id;
+ private String value;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+ }
+}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f6ac20a..2070c95 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -67,12 +67,14 @@
-
+
-
+
+
+
{
private Context context;
+ private List iconData = new ArrayList<>();
+ private List itemData = new ArrayList<>();
public HomeRecycleAdapter(Context context) {
this.context = context;
}
+ public void setItemData(@Nullable List icons, @Nullable List items) {
+ this.iconData = icons;
+ this.itemData = items;
+ }
+
@NonNull
@Override
public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
@@ -30,7 +40,7 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- holder.bindView(context, position);
+ holder.bindView(position);
if (clickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
@@ -43,7 +53,7 @@
@Override
public int getItemCount() {
- return Constant.ITEMS.size();
+ return itemData.size();
}
private OnGridItemClickListener clickListener;
@@ -56,7 +66,7 @@
this.clickListener = onGridItemClickListener;
}
- static class ItemViewHolder extends RecyclerView.ViewHolder {
+ class ItemViewHolder extends RecyclerView.ViewHolder {
private ImageView imageView;
private TextView textView;
@@ -67,9 +77,9 @@
textView = itemView.findViewById(R.id.textView);
}
- void bindView(Context context, int position) {
- imageView.setBackgroundResource(Constant.ICONS.get(position));
- textView.setText(Constant.ITEMS.get(position));
+ void bindView(int position) {
+ imageView.setBackgroundResource(iconData.get(position));
+ textView.setText(itemData.get(position));
}
}
}
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
index b9c4615..d9b10e0 100644
--- a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -11,6 +11,7 @@
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
import com.casic.dcms.R;
import java.util.ArrayList;
@@ -62,7 +63,10 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- Glide.with(context).load(mediaList.get(position)).into(holder.imageView);
+ Glide.with(context)
+ .load(mediaList.get(position))
+ .apply(new RequestOptions().error(R.drawable.ic_load_error))
+ .into(holder.imageView);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/app/src/main/java/com/casic/dcms/base/BaseActivity.java b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
index caf0356..2ca87fe 100644
--- a/app/src/main/java/com/casic/dcms/base/BaseActivity.java
+++ b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
@@ -17,8 +17,8 @@
setContentView(initLayoutView());
ButterKnife.bind(this);
QMUIStatusBarHelper.translucent(this);//沉浸式状态栏
- setupTopBarLayout();
initData();
+ setupTopBarLayout();
initEvent();
}
diff --git a/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
new file mode 100644
index 0000000..8de58a4
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
@@ -0,0 +1,78 @@
+package com.casic.dcms.bean;
+
+import java.util.List;
+
+public class CommonSentenceBean {
+ private int code;
+ private String message;
+ private boolean success;
+ private List data;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+
+ public List getData() {
+ return data;
+ }
+
+ public void setData(List data) {
+ this.data = data;
+ }
+
+ public static class DataBean {
+ /**
+ * name : 请及时处理
+ * id : 156
+ * value : 请及时处理
+ */
+
+ private String name;
+ private String id;
+ private String value;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java
new file mode 100644
index 0000000..5258d89
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java
@@ -0,0 +1,50 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class CaseCommonSentenceModelImpl implements ICaseCommonSentenceModel {
+
+ private OnGetCommonSentenceListener sentenceListener;
+
+ public CaseCommonSentenceModelImpl(OnGetCommonSentenceListener commonSentenceListener) {
+ this.sentenceListener = commonSentenceListener;
+ }
+
+ public interface OnGetCommonSentenceListener {
+ void onSuccess(CommonSentenceBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest() {
+ Observable observable = RetrofitServiceManager.getCommonSentenceResult();
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (sentenceListener != null) {
+ sentenceListener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(CommonSentenceBean resultBean) {
+ if (resultBean != null) {
+ sentenceListener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f6ac20a..2070c95 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -67,12 +67,14 @@
-
+
-
+
+
+
{
private Context context;
+ private List iconData = new ArrayList<>();
+ private List itemData = new ArrayList<>();
public HomeRecycleAdapter(Context context) {
this.context = context;
}
+ public void setItemData(@Nullable List icons, @Nullable List items) {
+ this.iconData = icons;
+ this.itemData = items;
+ }
+
@NonNull
@Override
public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
@@ -30,7 +40,7 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- holder.bindView(context, position);
+ holder.bindView(position);
if (clickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
@@ -43,7 +53,7 @@
@Override
public int getItemCount() {
- return Constant.ITEMS.size();
+ return itemData.size();
}
private OnGridItemClickListener clickListener;
@@ -56,7 +66,7 @@
this.clickListener = onGridItemClickListener;
}
- static class ItemViewHolder extends RecyclerView.ViewHolder {
+ class ItemViewHolder extends RecyclerView.ViewHolder {
private ImageView imageView;
private TextView textView;
@@ -67,9 +77,9 @@
textView = itemView.findViewById(R.id.textView);
}
- void bindView(Context context, int position) {
- imageView.setBackgroundResource(Constant.ICONS.get(position));
- textView.setText(Constant.ITEMS.get(position));
+ void bindView(int position) {
+ imageView.setBackgroundResource(iconData.get(position));
+ textView.setText(itemData.get(position));
}
}
}
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
index b9c4615..d9b10e0 100644
--- a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -11,6 +11,7 @@
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
import com.casic.dcms.R;
import java.util.ArrayList;
@@ -62,7 +63,10 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- Glide.with(context).load(mediaList.get(position)).into(holder.imageView);
+ Glide.with(context)
+ .load(mediaList.get(position))
+ .apply(new RequestOptions().error(R.drawable.ic_load_error))
+ .into(holder.imageView);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/app/src/main/java/com/casic/dcms/base/BaseActivity.java b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
index caf0356..2ca87fe 100644
--- a/app/src/main/java/com/casic/dcms/base/BaseActivity.java
+++ b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
@@ -17,8 +17,8 @@
setContentView(initLayoutView());
ButterKnife.bind(this);
QMUIStatusBarHelper.translucent(this);//沉浸式状态栏
- setupTopBarLayout();
initData();
+ setupTopBarLayout();
initEvent();
}
diff --git a/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
new file mode 100644
index 0000000..8de58a4
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
@@ -0,0 +1,78 @@
+package com.casic.dcms.bean;
+
+import java.util.List;
+
+public class CommonSentenceBean {
+ private int code;
+ private String message;
+ private boolean success;
+ private List data;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+
+ public List getData() {
+ return data;
+ }
+
+ public void setData(List data) {
+ this.data = data;
+ }
+
+ public static class DataBean {
+ /**
+ * name : 请及时处理
+ * id : 156
+ * value : 请及时处理
+ */
+
+ private String name;
+ private String id;
+ private String value;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java
new file mode 100644
index 0000000..5258d89
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java
@@ -0,0 +1,50 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class CaseCommonSentenceModelImpl implements ICaseCommonSentenceModel {
+
+ private OnGetCommonSentenceListener sentenceListener;
+
+ public CaseCommonSentenceModelImpl(OnGetCommonSentenceListener commonSentenceListener) {
+ this.sentenceListener = commonSentenceListener;
+ }
+
+ public interface OnGetCommonSentenceListener {
+ void onSuccess(CommonSentenceBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest() {
+ Observable observable = RetrofitServiceManager.getCommonSentenceResult();
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (sentenceListener != null) {
+ sentenceListener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(CommonSentenceBean resultBean) {
+ if (resultBean != null) {
+ sentenceListener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java
new file mode 100644
index 0000000..a8cb3fc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java
@@ -0,0 +1,53 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class CaseUpdateSuperviseModelImpl implements ICaseUpdateSuperviseModel {
+
+ private OnUpdateSuperviseListener listener;
+
+ public CaseUpdateSuperviseModelImpl(OnUpdateSuperviseListener updateSuperviseListener) {
+ this.listener = updateSuperviseListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUpdateSuperviseListener {
+ void onSuccess(ActionResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest(String id, String superviseRemarks) {
+ Observable observable = RetrofitServiceManager.getUpdateSuperviseResult(id, superviseRemarks);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(ActionResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f6ac20a..2070c95 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -67,12 +67,14 @@
-
+
-
+
+
+
{
private Context context;
+ private List iconData = new ArrayList<>();
+ private List itemData = new ArrayList<>();
public HomeRecycleAdapter(Context context) {
this.context = context;
}
+ public void setItemData(@Nullable List icons, @Nullable List items) {
+ this.iconData = icons;
+ this.itemData = items;
+ }
+
@NonNull
@Override
public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
@@ -30,7 +40,7 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- holder.bindView(context, position);
+ holder.bindView(position);
if (clickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
@@ -43,7 +53,7 @@
@Override
public int getItemCount() {
- return Constant.ITEMS.size();
+ return itemData.size();
}
private OnGridItemClickListener clickListener;
@@ -56,7 +66,7 @@
this.clickListener = onGridItemClickListener;
}
- static class ItemViewHolder extends RecyclerView.ViewHolder {
+ class ItemViewHolder extends RecyclerView.ViewHolder {
private ImageView imageView;
private TextView textView;
@@ -67,9 +77,9 @@
textView = itemView.findViewById(R.id.textView);
}
- void bindView(Context context, int position) {
- imageView.setBackgroundResource(Constant.ICONS.get(position));
- textView.setText(Constant.ITEMS.get(position));
+ void bindView(int position) {
+ imageView.setBackgroundResource(iconData.get(position));
+ textView.setText(itemData.get(position));
}
}
}
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
index b9c4615..d9b10e0 100644
--- a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -11,6 +11,7 @@
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
import com.casic.dcms.R;
import java.util.ArrayList;
@@ -62,7 +63,10 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- Glide.with(context).load(mediaList.get(position)).into(holder.imageView);
+ Glide.with(context)
+ .load(mediaList.get(position))
+ .apply(new RequestOptions().error(R.drawable.ic_load_error))
+ .into(holder.imageView);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/app/src/main/java/com/casic/dcms/base/BaseActivity.java b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
index caf0356..2ca87fe 100644
--- a/app/src/main/java/com/casic/dcms/base/BaseActivity.java
+++ b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
@@ -17,8 +17,8 @@
setContentView(initLayoutView());
ButterKnife.bind(this);
QMUIStatusBarHelper.translucent(this);//沉浸式状态栏
- setupTopBarLayout();
initData();
+ setupTopBarLayout();
initEvent();
}
diff --git a/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
new file mode 100644
index 0000000..8de58a4
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
@@ -0,0 +1,78 @@
+package com.casic.dcms.bean;
+
+import java.util.List;
+
+public class CommonSentenceBean {
+ private int code;
+ private String message;
+ private boolean success;
+ private List data;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+
+ public List getData() {
+ return data;
+ }
+
+ public void setData(List data) {
+ this.data = data;
+ }
+
+ public static class DataBean {
+ /**
+ * name : 请及时处理
+ * id : 156
+ * value : 请及时处理
+ */
+
+ private String name;
+ private String id;
+ private String value;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java
new file mode 100644
index 0000000..5258d89
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java
@@ -0,0 +1,50 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class CaseCommonSentenceModelImpl implements ICaseCommonSentenceModel {
+
+ private OnGetCommonSentenceListener sentenceListener;
+
+ public CaseCommonSentenceModelImpl(OnGetCommonSentenceListener commonSentenceListener) {
+ this.sentenceListener = commonSentenceListener;
+ }
+
+ public interface OnGetCommonSentenceListener {
+ void onSuccess(CommonSentenceBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest() {
+ Observable observable = RetrofitServiceManager.getCommonSentenceResult();
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (sentenceListener != null) {
+ sentenceListener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(CommonSentenceBean resultBean) {
+ if (resultBean != null) {
+ sentenceListener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java
new file mode 100644
index 0000000..a8cb3fc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java
@@ -0,0 +1,53 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class CaseUpdateSuperviseModelImpl implements ICaseUpdateSuperviseModel {
+
+ private OnUpdateSuperviseListener listener;
+
+ public CaseUpdateSuperviseModelImpl(OnUpdateSuperviseListener updateSuperviseListener) {
+ this.listener = updateSuperviseListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUpdateSuperviseListener {
+ void onSuccess(ActionResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest(String id, String superviseRemarks) {
+ Observable observable = RetrofitServiceManager.getUpdateSuperviseResult(id, superviseRemarks);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(ActionResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java
new file mode 100644
index 0000000..263ef6c
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface ICaseCommonSentenceModel {
+ Subscription sendRetrofitRequest();
+}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f6ac20a..2070c95 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -67,12 +67,14 @@
-
+
-
+
+
+
{
private Context context;
+ private List iconData = new ArrayList<>();
+ private List itemData = new ArrayList<>();
public HomeRecycleAdapter(Context context) {
this.context = context;
}
+ public void setItemData(@Nullable List icons, @Nullable List items) {
+ this.iconData = icons;
+ this.itemData = items;
+ }
+
@NonNull
@Override
public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
@@ -30,7 +40,7 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- holder.bindView(context, position);
+ holder.bindView(position);
if (clickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
@@ -43,7 +53,7 @@
@Override
public int getItemCount() {
- return Constant.ITEMS.size();
+ return itemData.size();
}
private OnGridItemClickListener clickListener;
@@ -56,7 +66,7 @@
this.clickListener = onGridItemClickListener;
}
- static class ItemViewHolder extends RecyclerView.ViewHolder {
+ class ItemViewHolder extends RecyclerView.ViewHolder {
private ImageView imageView;
private TextView textView;
@@ -67,9 +77,9 @@
textView = itemView.findViewById(R.id.textView);
}
- void bindView(Context context, int position) {
- imageView.setBackgroundResource(Constant.ICONS.get(position));
- textView.setText(Constant.ITEMS.get(position));
+ void bindView(int position) {
+ imageView.setBackgroundResource(iconData.get(position));
+ textView.setText(itemData.get(position));
}
}
}
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
index b9c4615..d9b10e0 100644
--- a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -11,6 +11,7 @@
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
import com.casic.dcms.R;
import java.util.ArrayList;
@@ -62,7 +63,10 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- Glide.with(context).load(mediaList.get(position)).into(holder.imageView);
+ Glide.with(context)
+ .load(mediaList.get(position))
+ .apply(new RequestOptions().error(R.drawable.ic_load_error))
+ .into(holder.imageView);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/app/src/main/java/com/casic/dcms/base/BaseActivity.java b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
index caf0356..2ca87fe 100644
--- a/app/src/main/java/com/casic/dcms/base/BaseActivity.java
+++ b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
@@ -17,8 +17,8 @@
setContentView(initLayoutView());
ButterKnife.bind(this);
QMUIStatusBarHelper.translucent(this);//沉浸式状态栏
- setupTopBarLayout();
initData();
+ setupTopBarLayout();
initEvent();
}
diff --git a/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
new file mode 100644
index 0000000..8de58a4
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
@@ -0,0 +1,78 @@
+package com.casic.dcms.bean;
+
+import java.util.List;
+
+public class CommonSentenceBean {
+ private int code;
+ private String message;
+ private boolean success;
+ private List data;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+
+ public List getData() {
+ return data;
+ }
+
+ public void setData(List data) {
+ this.data = data;
+ }
+
+ public static class DataBean {
+ /**
+ * name : 请及时处理
+ * id : 156
+ * value : 请及时处理
+ */
+
+ private String name;
+ private String id;
+ private String value;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java
new file mode 100644
index 0000000..5258d89
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java
@@ -0,0 +1,50 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class CaseCommonSentenceModelImpl implements ICaseCommonSentenceModel {
+
+ private OnGetCommonSentenceListener sentenceListener;
+
+ public CaseCommonSentenceModelImpl(OnGetCommonSentenceListener commonSentenceListener) {
+ this.sentenceListener = commonSentenceListener;
+ }
+
+ public interface OnGetCommonSentenceListener {
+ void onSuccess(CommonSentenceBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest() {
+ Observable observable = RetrofitServiceManager.getCommonSentenceResult();
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (sentenceListener != null) {
+ sentenceListener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(CommonSentenceBean resultBean) {
+ if (resultBean != null) {
+ sentenceListener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java
new file mode 100644
index 0000000..a8cb3fc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java
@@ -0,0 +1,53 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class CaseUpdateSuperviseModelImpl implements ICaseUpdateSuperviseModel {
+
+ private OnUpdateSuperviseListener listener;
+
+ public CaseUpdateSuperviseModelImpl(OnUpdateSuperviseListener updateSuperviseListener) {
+ this.listener = updateSuperviseListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUpdateSuperviseListener {
+ void onSuccess(ActionResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest(String id, String superviseRemarks) {
+ Observable observable = RetrofitServiceManager.getUpdateSuperviseResult(id, superviseRemarks);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(ActionResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java
new file mode 100644
index 0000000..263ef6c
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface ICaseCommonSentenceModel {
+ Subscription sendRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java
new file mode 100644
index 0000000..518d602
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface ICaseUpdateSuperviseModel {
+ Subscription sendRetrofitRequest(String id, String superviseRemarks);
+}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f6ac20a..2070c95 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -67,12 +67,14 @@
-
+
-
+
+
+
{
private Context context;
+ private List iconData = new ArrayList<>();
+ private List itemData = new ArrayList<>();
public HomeRecycleAdapter(Context context) {
this.context = context;
}
+ public void setItemData(@Nullable List icons, @Nullable List items) {
+ this.iconData = icons;
+ this.itemData = items;
+ }
+
@NonNull
@Override
public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
@@ -30,7 +40,7 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- holder.bindView(context, position);
+ holder.bindView(position);
if (clickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
@@ -43,7 +53,7 @@
@Override
public int getItemCount() {
- return Constant.ITEMS.size();
+ return itemData.size();
}
private OnGridItemClickListener clickListener;
@@ -56,7 +66,7 @@
this.clickListener = onGridItemClickListener;
}
- static class ItemViewHolder extends RecyclerView.ViewHolder {
+ class ItemViewHolder extends RecyclerView.ViewHolder {
private ImageView imageView;
private TextView textView;
@@ -67,9 +77,9 @@
textView = itemView.findViewById(R.id.textView);
}
- void bindView(Context context, int position) {
- imageView.setBackgroundResource(Constant.ICONS.get(position));
- textView.setText(Constant.ITEMS.get(position));
+ void bindView(int position) {
+ imageView.setBackgroundResource(iconData.get(position));
+ textView.setText(itemData.get(position));
}
}
}
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
index b9c4615..d9b10e0 100644
--- a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -11,6 +11,7 @@
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
import com.casic.dcms.R;
import java.util.ArrayList;
@@ -62,7 +63,10 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- Glide.with(context).load(mediaList.get(position)).into(holder.imageView);
+ Glide.with(context)
+ .load(mediaList.get(position))
+ .apply(new RequestOptions().error(R.drawable.ic_load_error))
+ .into(holder.imageView);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/app/src/main/java/com/casic/dcms/base/BaseActivity.java b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
index caf0356..2ca87fe 100644
--- a/app/src/main/java/com/casic/dcms/base/BaseActivity.java
+++ b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
@@ -17,8 +17,8 @@
setContentView(initLayoutView());
ButterKnife.bind(this);
QMUIStatusBarHelper.translucent(this);//沉浸式状态栏
- setupTopBarLayout();
initData();
+ setupTopBarLayout();
initEvent();
}
diff --git a/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
new file mode 100644
index 0000000..8de58a4
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
@@ -0,0 +1,78 @@
+package com.casic.dcms.bean;
+
+import java.util.List;
+
+public class CommonSentenceBean {
+ private int code;
+ private String message;
+ private boolean success;
+ private List data;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+
+ public List getData() {
+ return data;
+ }
+
+ public void setData(List data) {
+ this.data = data;
+ }
+
+ public static class DataBean {
+ /**
+ * name : 请及时处理
+ * id : 156
+ * value : 请及时处理
+ */
+
+ private String name;
+ private String id;
+ private String value;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java
new file mode 100644
index 0000000..5258d89
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java
@@ -0,0 +1,50 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class CaseCommonSentenceModelImpl implements ICaseCommonSentenceModel {
+
+ private OnGetCommonSentenceListener sentenceListener;
+
+ public CaseCommonSentenceModelImpl(OnGetCommonSentenceListener commonSentenceListener) {
+ this.sentenceListener = commonSentenceListener;
+ }
+
+ public interface OnGetCommonSentenceListener {
+ void onSuccess(CommonSentenceBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest() {
+ Observable observable = RetrofitServiceManager.getCommonSentenceResult();
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (sentenceListener != null) {
+ sentenceListener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(CommonSentenceBean resultBean) {
+ if (resultBean != null) {
+ sentenceListener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java
new file mode 100644
index 0000000..a8cb3fc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java
@@ -0,0 +1,53 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class CaseUpdateSuperviseModelImpl implements ICaseUpdateSuperviseModel {
+
+ private OnUpdateSuperviseListener listener;
+
+ public CaseUpdateSuperviseModelImpl(OnUpdateSuperviseListener updateSuperviseListener) {
+ this.listener = updateSuperviseListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUpdateSuperviseListener {
+ void onSuccess(ActionResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest(String id, String superviseRemarks) {
+ Observable observable = RetrofitServiceManager.getUpdateSuperviseResult(id, superviseRemarks);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(ActionResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java
new file mode 100644
index 0000000..263ef6c
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface ICaseCommonSentenceModel {
+ Subscription sendRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java
new file mode 100644
index 0000000..518d602
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface ICaseUpdateSuperviseModel {
+ Subscription sendRetrofitRequest(String id, String superviseRemarks);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java
new file mode 100644
index 0000000..6b65f13
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java
@@ -0,0 +1,38 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.CaseCommonSentenceModelImpl;
+import com.casic.dcms.mvp.view.ICaseCommonSentenceView;
+
+public class CaseCommonSentencePresenterImpl extends BasePresenter implements ICaseCommonSentencePresenter,
+ CaseCommonSentenceModelImpl.OnGetCommonSentenceListener {
+
+ private ICaseCommonSentenceView view;
+ private CaseCommonSentenceModelImpl actionModel;
+
+ public CaseCommonSentencePresenterImpl(ICaseCommonSentenceView commonSentenceView) {
+ this.view = commonSentenceView;
+ actionModel = new CaseCommonSentenceModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest() {
+ addSubscription(actionModel.sendRetrofitRequest());
+ }
+
+ @Override
+ public void disposeRetrofitRequest() {
+ unSubscription();
+ }
+
+ @Override
+ public void onSuccess(CommonSentenceBean resultBean) {
+ view.obtainCommonSentenceData(resultBean);
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+
+ }
+}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f6ac20a..2070c95 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -67,12 +67,14 @@
-
+
-
+
+
+
{
private Context context;
+ private List iconData = new ArrayList<>();
+ private List itemData = new ArrayList<>();
public HomeRecycleAdapter(Context context) {
this.context = context;
}
+ public void setItemData(@Nullable List icons, @Nullable List items) {
+ this.iconData = icons;
+ this.itemData = items;
+ }
+
@NonNull
@Override
public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
@@ -30,7 +40,7 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- holder.bindView(context, position);
+ holder.bindView(position);
if (clickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
@@ -43,7 +53,7 @@
@Override
public int getItemCount() {
- return Constant.ITEMS.size();
+ return itemData.size();
}
private OnGridItemClickListener clickListener;
@@ -56,7 +66,7 @@
this.clickListener = onGridItemClickListener;
}
- static class ItemViewHolder extends RecyclerView.ViewHolder {
+ class ItemViewHolder extends RecyclerView.ViewHolder {
private ImageView imageView;
private TextView textView;
@@ -67,9 +77,9 @@
textView = itemView.findViewById(R.id.textView);
}
- void bindView(Context context, int position) {
- imageView.setBackgroundResource(Constant.ICONS.get(position));
- textView.setText(Constant.ITEMS.get(position));
+ void bindView(int position) {
+ imageView.setBackgroundResource(iconData.get(position));
+ textView.setText(itemData.get(position));
}
}
}
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
index b9c4615..d9b10e0 100644
--- a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -11,6 +11,7 @@
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
import com.casic.dcms.R;
import java.util.ArrayList;
@@ -62,7 +63,10 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- Glide.with(context).load(mediaList.get(position)).into(holder.imageView);
+ Glide.with(context)
+ .load(mediaList.get(position))
+ .apply(new RequestOptions().error(R.drawable.ic_load_error))
+ .into(holder.imageView);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/app/src/main/java/com/casic/dcms/base/BaseActivity.java b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
index caf0356..2ca87fe 100644
--- a/app/src/main/java/com/casic/dcms/base/BaseActivity.java
+++ b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
@@ -17,8 +17,8 @@
setContentView(initLayoutView());
ButterKnife.bind(this);
QMUIStatusBarHelper.translucent(this);//沉浸式状态栏
- setupTopBarLayout();
initData();
+ setupTopBarLayout();
initEvent();
}
diff --git a/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
new file mode 100644
index 0000000..8de58a4
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
@@ -0,0 +1,78 @@
+package com.casic.dcms.bean;
+
+import java.util.List;
+
+public class CommonSentenceBean {
+ private int code;
+ private String message;
+ private boolean success;
+ private List data;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+
+ public List getData() {
+ return data;
+ }
+
+ public void setData(List data) {
+ this.data = data;
+ }
+
+ public static class DataBean {
+ /**
+ * name : 请及时处理
+ * id : 156
+ * value : 请及时处理
+ */
+
+ private String name;
+ private String id;
+ private String value;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java
new file mode 100644
index 0000000..5258d89
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java
@@ -0,0 +1,50 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class CaseCommonSentenceModelImpl implements ICaseCommonSentenceModel {
+
+ private OnGetCommonSentenceListener sentenceListener;
+
+ public CaseCommonSentenceModelImpl(OnGetCommonSentenceListener commonSentenceListener) {
+ this.sentenceListener = commonSentenceListener;
+ }
+
+ public interface OnGetCommonSentenceListener {
+ void onSuccess(CommonSentenceBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest() {
+ Observable observable = RetrofitServiceManager.getCommonSentenceResult();
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (sentenceListener != null) {
+ sentenceListener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(CommonSentenceBean resultBean) {
+ if (resultBean != null) {
+ sentenceListener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java
new file mode 100644
index 0000000..a8cb3fc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java
@@ -0,0 +1,53 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class CaseUpdateSuperviseModelImpl implements ICaseUpdateSuperviseModel {
+
+ private OnUpdateSuperviseListener listener;
+
+ public CaseUpdateSuperviseModelImpl(OnUpdateSuperviseListener updateSuperviseListener) {
+ this.listener = updateSuperviseListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUpdateSuperviseListener {
+ void onSuccess(ActionResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest(String id, String superviseRemarks) {
+ Observable observable = RetrofitServiceManager.getUpdateSuperviseResult(id, superviseRemarks);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(ActionResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java
new file mode 100644
index 0000000..263ef6c
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface ICaseCommonSentenceModel {
+ Subscription sendRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java
new file mode 100644
index 0000000..518d602
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface ICaseUpdateSuperviseModel {
+ Subscription sendRetrofitRequest(String id, String superviseRemarks);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java
new file mode 100644
index 0000000..6b65f13
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java
@@ -0,0 +1,38 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.CaseCommonSentenceModelImpl;
+import com.casic.dcms.mvp.view.ICaseCommonSentenceView;
+
+public class CaseCommonSentencePresenterImpl extends BasePresenter implements ICaseCommonSentencePresenter,
+ CaseCommonSentenceModelImpl.OnGetCommonSentenceListener {
+
+ private ICaseCommonSentenceView view;
+ private CaseCommonSentenceModelImpl actionModel;
+
+ public CaseCommonSentencePresenterImpl(ICaseCommonSentenceView commonSentenceView) {
+ this.view = commonSentenceView;
+ actionModel = new CaseCommonSentenceModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest() {
+ addSubscription(actionModel.sendRetrofitRequest());
+ }
+
+ @Override
+ public void disposeRetrofitRequest() {
+ unSubscription();
+ }
+
+ @Override
+ public void onSuccess(CommonSentenceBean resultBean) {
+ view.obtainCommonSentenceData(resultBean);
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseUpdateSupervisePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseUpdateSupervisePresenterImpl.java
new file mode 100644
index 0000000..66e1f44
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseUpdateSupervisePresenterImpl.java
@@ -0,0 +1,40 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.CaseUpdateSuperviseModelImpl;
+import com.casic.dcms.mvp.view.ICaseUpdateSuperviseView;
+
+public class CaseUpdateSupervisePresenterImpl extends BasePresenter implements ICaseUpdateSupervisePresenter,
+ CaseUpdateSuperviseModelImpl.OnUpdateSuperviseListener {
+
+ private ICaseUpdateSuperviseView view;
+ private CaseUpdateSuperviseModelImpl actionModel;
+
+ public CaseUpdateSupervisePresenterImpl(ICaseUpdateSuperviseView updateSuperviseView) {
+ this.view = updateSuperviseView;
+ actionModel = new CaseUpdateSuperviseModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest(String id, String superviseRemarks) {
+ view.showProgress();
+ addSubscription(actionModel.sendRetrofitRequest(id, superviseRemarks));
+ }
+
+ @Override
+ public void onSuccess(ActionResultBean resultBean) {
+ view.hideProgress();
+ view.obtainUpdateSuperviseData(resultBean);
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+ view.hideProgress();
+ }
+
+ @Override
+ public void disposeRetrofitRequest() {
+ unSubscription();
+ }
+}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f6ac20a..2070c95 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -67,12 +67,14 @@
-
+
-
+
+
+
{
private Context context;
+ private List iconData = new ArrayList<>();
+ private List itemData = new ArrayList<>();
public HomeRecycleAdapter(Context context) {
this.context = context;
}
+ public void setItemData(@Nullable List icons, @Nullable List items) {
+ this.iconData = icons;
+ this.itemData = items;
+ }
+
@NonNull
@Override
public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
@@ -30,7 +40,7 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- holder.bindView(context, position);
+ holder.bindView(position);
if (clickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
@@ -43,7 +53,7 @@
@Override
public int getItemCount() {
- return Constant.ITEMS.size();
+ return itemData.size();
}
private OnGridItemClickListener clickListener;
@@ -56,7 +66,7 @@
this.clickListener = onGridItemClickListener;
}
- static class ItemViewHolder extends RecyclerView.ViewHolder {
+ class ItemViewHolder extends RecyclerView.ViewHolder {
private ImageView imageView;
private TextView textView;
@@ -67,9 +77,9 @@
textView = itemView.findViewById(R.id.textView);
}
- void bindView(Context context, int position) {
- imageView.setBackgroundResource(Constant.ICONS.get(position));
- textView.setText(Constant.ITEMS.get(position));
+ void bindView(int position) {
+ imageView.setBackgroundResource(iconData.get(position));
+ textView.setText(itemData.get(position));
}
}
}
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
index b9c4615..d9b10e0 100644
--- a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -11,6 +11,7 @@
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
import com.casic.dcms.R;
import java.util.ArrayList;
@@ -62,7 +63,10 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- Glide.with(context).load(mediaList.get(position)).into(holder.imageView);
+ Glide.with(context)
+ .load(mediaList.get(position))
+ .apply(new RequestOptions().error(R.drawable.ic_load_error))
+ .into(holder.imageView);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/app/src/main/java/com/casic/dcms/base/BaseActivity.java b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
index caf0356..2ca87fe 100644
--- a/app/src/main/java/com/casic/dcms/base/BaseActivity.java
+++ b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
@@ -17,8 +17,8 @@
setContentView(initLayoutView());
ButterKnife.bind(this);
QMUIStatusBarHelper.translucent(this);//沉浸式状态栏
- setupTopBarLayout();
initData();
+ setupTopBarLayout();
initEvent();
}
diff --git a/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
new file mode 100644
index 0000000..8de58a4
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
@@ -0,0 +1,78 @@
+package com.casic.dcms.bean;
+
+import java.util.List;
+
+public class CommonSentenceBean {
+ private int code;
+ private String message;
+ private boolean success;
+ private List data;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+
+ public List getData() {
+ return data;
+ }
+
+ public void setData(List data) {
+ this.data = data;
+ }
+
+ public static class DataBean {
+ /**
+ * name : 请及时处理
+ * id : 156
+ * value : 请及时处理
+ */
+
+ private String name;
+ private String id;
+ private String value;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java
new file mode 100644
index 0000000..5258d89
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java
@@ -0,0 +1,50 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class CaseCommonSentenceModelImpl implements ICaseCommonSentenceModel {
+
+ private OnGetCommonSentenceListener sentenceListener;
+
+ public CaseCommonSentenceModelImpl(OnGetCommonSentenceListener commonSentenceListener) {
+ this.sentenceListener = commonSentenceListener;
+ }
+
+ public interface OnGetCommonSentenceListener {
+ void onSuccess(CommonSentenceBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest() {
+ Observable observable = RetrofitServiceManager.getCommonSentenceResult();
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (sentenceListener != null) {
+ sentenceListener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(CommonSentenceBean resultBean) {
+ if (resultBean != null) {
+ sentenceListener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java
new file mode 100644
index 0000000..a8cb3fc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java
@@ -0,0 +1,53 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class CaseUpdateSuperviseModelImpl implements ICaseUpdateSuperviseModel {
+
+ private OnUpdateSuperviseListener listener;
+
+ public CaseUpdateSuperviseModelImpl(OnUpdateSuperviseListener updateSuperviseListener) {
+ this.listener = updateSuperviseListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUpdateSuperviseListener {
+ void onSuccess(ActionResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest(String id, String superviseRemarks) {
+ Observable observable = RetrofitServiceManager.getUpdateSuperviseResult(id, superviseRemarks);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(ActionResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java
new file mode 100644
index 0000000..263ef6c
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface ICaseCommonSentenceModel {
+ Subscription sendRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java
new file mode 100644
index 0000000..518d602
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface ICaseUpdateSuperviseModel {
+ Subscription sendRetrofitRequest(String id, String superviseRemarks);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java
new file mode 100644
index 0000000..6b65f13
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java
@@ -0,0 +1,38 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.CaseCommonSentenceModelImpl;
+import com.casic.dcms.mvp.view.ICaseCommonSentenceView;
+
+public class CaseCommonSentencePresenterImpl extends BasePresenter implements ICaseCommonSentencePresenter,
+ CaseCommonSentenceModelImpl.OnGetCommonSentenceListener {
+
+ private ICaseCommonSentenceView view;
+ private CaseCommonSentenceModelImpl actionModel;
+
+ public CaseCommonSentencePresenterImpl(ICaseCommonSentenceView commonSentenceView) {
+ this.view = commonSentenceView;
+ actionModel = new CaseCommonSentenceModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest() {
+ addSubscription(actionModel.sendRetrofitRequest());
+ }
+
+ @Override
+ public void disposeRetrofitRequest() {
+ unSubscription();
+ }
+
+ @Override
+ public void onSuccess(CommonSentenceBean resultBean) {
+ view.obtainCommonSentenceData(resultBean);
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseUpdateSupervisePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseUpdateSupervisePresenterImpl.java
new file mode 100644
index 0000000..66e1f44
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseUpdateSupervisePresenterImpl.java
@@ -0,0 +1,40 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.CaseUpdateSuperviseModelImpl;
+import com.casic.dcms.mvp.view.ICaseUpdateSuperviseView;
+
+public class CaseUpdateSupervisePresenterImpl extends BasePresenter implements ICaseUpdateSupervisePresenter,
+ CaseUpdateSuperviseModelImpl.OnUpdateSuperviseListener {
+
+ private ICaseUpdateSuperviseView view;
+ private CaseUpdateSuperviseModelImpl actionModel;
+
+ public CaseUpdateSupervisePresenterImpl(ICaseUpdateSuperviseView updateSuperviseView) {
+ this.view = updateSuperviseView;
+ actionModel = new CaseUpdateSuperviseModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest(String id, String superviseRemarks) {
+ view.showProgress();
+ addSubscription(actionModel.sendRetrofitRequest(id, superviseRemarks));
+ }
+
+ @Override
+ public void onSuccess(ActionResultBean resultBean) {
+ view.hideProgress();
+ view.obtainUpdateSuperviseData(resultBean);
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+ view.hideProgress();
+ }
+
+ @Override
+ public void disposeRetrofitRequest() {
+ unSubscription();
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseCommonSentencePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseCommonSentencePresenter.java
new file mode 100644
index 0000000..1f8bd09
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseCommonSentencePresenter.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.presenter;
+
+public interface ICaseCommonSentencePresenter {
+ void onReadyRetrofitRequest();
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f6ac20a..2070c95 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -67,12 +67,14 @@
-
+
-
+
+
+
{
private Context context;
+ private List iconData = new ArrayList<>();
+ private List itemData = new ArrayList<>();
public HomeRecycleAdapter(Context context) {
this.context = context;
}
+ public void setItemData(@Nullable List icons, @Nullable List items) {
+ this.iconData = icons;
+ this.itemData = items;
+ }
+
@NonNull
@Override
public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
@@ -30,7 +40,7 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- holder.bindView(context, position);
+ holder.bindView(position);
if (clickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
@@ -43,7 +53,7 @@
@Override
public int getItemCount() {
- return Constant.ITEMS.size();
+ return itemData.size();
}
private OnGridItemClickListener clickListener;
@@ -56,7 +66,7 @@
this.clickListener = onGridItemClickListener;
}
- static class ItemViewHolder extends RecyclerView.ViewHolder {
+ class ItemViewHolder extends RecyclerView.ViewHolder {
private ImageView imageView;
private TextView textView;
@@ -67,9 +77,9 @@
textView = itemView.findViewById(R.id.textView);
}
- void bindView(Context context, int position) {
- imageView.setBackgroundResource(Constant.ICONS.get(position));
- textView.setText(Constant.ITEMS.get(position));
+ void bindView(int position) {
+ imageView.setBackgroundResource(iconData.get(position));
+ textView.setText(itemData.get(position));
}
}
}
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
index b9c4615..d9b10e0 100644
--- a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -11,6 +11,7 @@
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
import com.casic.dcms.R;
import java.util.ArrayList;
@@ -62,7 +63,10 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- Glide.with(context).load(mediaList.get(position)).into(holder.imageView);
+ Glide.with(context)
+ .load(mediaList.get(position))
+ .apply(new RequestOptions().error(R.drawable.ic_load_error))
+ .into(holder.imageView);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/app/src/main/java/com/casic/dcms/base/BaseActivity.java b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
index caf0356..2ca87fe 100644
--- a/app/src/main/java/com/casic/dcms/base/BaseActivity.java
+++ b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
@@ -17,8 +17,8 @@
setContentView(initLayoutView());
ButterKnife.bind(this);
QMUIStatusBarHelper.translucent(this);//沉浸式状态栏
- setupTopBarLayout();
initData();
+ setupTopBarLayout();
initEvent();
}
diff --git a/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
new file mode 100644
index 0000000..8de58a4
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
@@ -0,0 +1,78 @@
+package com.casic.dcms.bean;
+
+import java.util.List;
+
+public class CommonSentenceBean {
+ private int code;
+ private String message;
+ private boolean success;
+ private List data;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+
+ public List getData() {
+ return data;
+ }
+
+ public void setData(List data) {
+ this.data = data;
+ }
+
+ public static class DataBean {
+ /**
+ * name : 请及时处理
+ * id : 156
+ * value : 请及时处理
+ */
+
+ private String name;
+ private String id;
+ private String value;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java
new file mode 100644
index 0000000..5258d89
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java
@@ -0,0 +1,50 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class CaseCommonSentenceModelImpl implements ICaseCommonSentenceModel {
+
+ private OnGetCommonSentenceListener sentenceListener;
+
+ public CaseCommonSentenceModelImpl(OnGetCommonSentenceListener commonSentenceListener) {
+ this.sentenceListener = commonSentenceListener;
+ }
+
+ public interface OnGetCommonSentenceListener {
+ void onSuccess(CommonSentenceBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest() {
+ Observable observable = RetrofitServiceManager.getCommonSentenceResult();
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (sentenceListener != null) {
+ sentenceListener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(CommonSentenceBean resultBean) {
+ if (resultBean != null) {
+ sentenceListener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java
new file mode 100644
index 0000000..a8cb3fc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java
@@ -0,0 +1,53 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class CaseUpdateSuperviseModelImpl implements ICaseUpdateSuperviseModel {
+
+ private OnUpdateSuperviseListener listener;
+
+ public CaseUpdateSuperviseModelImpl(OnUpdateSuperviseListener updateSuperviseListener) {
+ this.listener = updateSuperviseListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUpdateSuperviseListener {
+ void onSuccess(ActionResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest(String id, String superviseRemarks) {
+ Observable observable = RetrofitServiceManager.getUpdateSuperviseResult(id, superviseRemarks);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(ActionResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java
new file mode 100644
index 0000000..263ef6c
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface ICaseCommonSentenceModel {
+ Subscription sendRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java
new file mode 100644
index 0000000..518d602
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface ICaseUpdateSuperviseModel {
+ Subscription sendRetrofitRequest(String id, String superviseRemarks);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java
new file mode 100644
index 0000000..6b65f13
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java
@@ -0,0 +1,38 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.CaseCommonSentenceModelImpl;
+import com.casic.dcms.mvp.view.ICaseCommonSentenceView;
+
+public class CaseCommonSentencePresenterImpl extends BasePresenter implements ICaseCommonSentencePresenter,
+ CaseCommonSentenceModelImpl.OnGetCommonSentenceListener {
+
+ private ICaseCommonSentenceView view;
+ private CaseCommonSentenceModelImpl actionModel;
+
+ public CaseCommonSentencePresenterImpl(ICaseCommonSentenceView commonSentenceView) {
+ this.view = commonSentenceView;
+ actionModel = new CaseCommonSentenceModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest() {
+ addSubscription(actionModel.sendRetrofitRequest());
+ }
+
+ @Override
+ public void disposeRetrofitRequest() {
+ unSubscription();
+ }
+
+ @Override
+ public void onSuccess(CommonSentenceBean resultBean) {
+ view.obtainCommonSentenceData(resultBean);
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseUpdateSupervisePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseUpdateSupervisePresenterImpl.java
new file mode 100644
index 0000000..66e1f44
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseUpdateSupervisePresenterImpl.java
@@ -0,0 +1,40 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.CaseUpdateSuperviseModelImpl;
+import com.casic.dcms.mvp.view.ICaseUpdateSuperviseView;
+
+public class CaseUpdateSupervisePresenterImpl extends BasePresenter implements ICaseUpdateSupervisePresenter,
+ CaseUpdateSuperviseModelImpl.OnUpdateSuperviseListener {
+
+ private ICaseUpdateSuperviseView view;
+ private CaseUpdateSuperviseModelImpl actionModel;
+
+ public CaseUpdateSupervisePresenterImpl(ICaseUpdateSuperviseView updateSuperviseView) {
+ this.view = updateSuperviseView;
+ actionModel = new CaseUpdateSuperviseModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest(String id, String superviseRemarks) {
+ view.showProgress();
+ addSubscription(actionModel.sendRetrofitRequest(id, superviseRemarks));
+ }
+
+ @Override
+ public void onSuccess(ActionResultBean resultBean) {
+ view.hideProgress();
+ view.obtainUpdateSuperviseData(resultBean);
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+ view.hideProgress();
+ }
+
+ @Override
+ public void disposeRetrofitRequest() {
+ unSubscription();
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseCommonSentencePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseCommonSentencePresenter.java
new file mode 100644
index 0000000..1f8bd09
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseCommonSentencePresenter.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.presenter;
+
+public interface ICaseCommonSentencePresenter {
+ void onReadyRetrofitRequest();
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseUpdateSupervisePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseUpdateSupervisePresenter.java
new file mode 100644
index 0000000..f61f9b2
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseUpdateSupervisePresenter.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.presenter;
+
+public interface ICaseUpdateSupervisePresenter {
+ void onReadyRetrofitRequest(String id, String superviseRemarks);
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f6ac20a..2070c95 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -67,12 +67,14 @@
-
+
-
+
+
+
{
private Context context;
+ private List iconData = new ArrayList<>();
+ private List itemData = new ArrayList<>();
public HomeRecycleAdapter(Context context) {
this.context = context;
}
+ public void setItemData(@Nullable List icons, @Nullable List items) {
+ this.iconData = icons;
+ this.itemData = items;
+ }
+
@NonNull
@Override
public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
@@ -30,7 +40,7 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- holder.bindView(context, position);
+ holder.bindView(position);
if (clickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
@@ -43,7 +53,7 @@
@Override
public int getItemCount() {
- return Constant.ITEMS.size();
+ return itemData.size();
}
private OnGridItemClickListener clickListener;
@@ -56,7 +66,7 @@
this.clickListener = onGridItemClickListener;
}
- static class ItemViewHolder extends RecyclerView.ViewHolder {
+ class ItemViewHolder extends RecyclerView.ViewHolder {
private ImageView imageView;
private TextView textView;
@@ -67,9 +77,9 @@
textView = itemView.findViewById(R.id.textView);
}
- void bindView(Context context, int position) {
- imageView.setBackgroundResource(Constant.ICONS.get(position));
- textView.setText(Constant.ITEMS.get(position));
+ void bindView(int position) {
+ imageView.setBackgroundResource(iconData.get(position));
+ textView.setText(itemData.get(position));
}
}
}
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
index b9c4615..d9b10e0 100644
--- a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -11,6 +11,7 @@
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
import com.casic.dcms.R;
import java.util.ArrayList;
@@ -62,7 +63,10 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- Glide.with(context).load(mediaList.get(position)).into(holder.imageView);
+ Glide.with(context)
+ .load(mediaList.get(position))
+ .apply(new RequestOptions().error(R.drawable.ic_load_error))
+ .into(holder.imageView);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/app/src/main/java/com/casic/dcms/base/BaseActivity.java b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
index caf0356..2ca87fe 100644
--- a/app/src/main/java/com/casic/dcms/base/BaseActivity.java
+++ b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
@@ -17,8 +17,8 @@
setContentView(initLayoutView());
ButterKnife.bind(this);
QMUIStatusBarHelper.translucent(this);//沉浸式状态栏
- setupTopBarLayout();
initData();
+ setupTopBarLayout();
initEvent();
}
diff --git a/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
new file mode 100644
index 0000000..8de58a4
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
@@ -0,0 +1,78 @@
+package com.casic.dcms.bean;
+
+import java.util.List;
+
+public class CommonSentenceBean {
+ private int code;
+ private String message;
+ private boolean success;
+ private List data;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+
+ public List getData() {
+ return data;
+ }
+
+ public void setData(List data) {
+ this.data = data;
+ }
+
+ public static class DataBean {
+ /**
+ * name : 请及时处理
+ * id : 156
+ * value : 请及时处理
+ */
+
+ private String name;
+ private String id;
+ private String value;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java
new file mode 100644
index 0000000..5258d89
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java
@@ -0,0 +1,50 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class CaseCommonSentenceModelImpl implements ICaseCommonSentenceModel {
+
+ private OnGetCommonSentenceListener sentenceListener;
+
+ public CaseCommonSentenceModelImpl(OnGetCommonSentenceListener commonSentenceListener) {
+ this.sentenceListener = commonSentenceListener;
+ }
+
+ public interface OnGetCommonSentenceListener {
+ void onSuccess(CommonSentenceBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest() {
+ Observable observable = RetrofitServiceManager.getCommonSentenceResult();
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (sentenceListener != null) {
+ sentenceListener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(CommonSentenceBean resultBean) {
+ if (resultBean != null) {
+ sentenceListener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java
new file mode 100644
index 0000000..a8cb3fc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java
@@ -0,0 +1,53 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class CaseUpdateSuperviseModelImpl implements ICaseUpdateSuperviseModel {
+
+ private OnUpdateSuperviseListener listener;
+
+ public CaseUpdateSuperviseModelImpl(OnUpdateSuperviseListener updateSuperviseListener) {
+ this.listener = updateSuperviseListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUpdateSuperviseListener {
+ void onSuccess(ActionResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest(String id, String superviseRemarks) {
+ Observable observable = RetrofitServiceManager.getUpdateSuperviseResult(id, superviseRemarks);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(ActionResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java
new file mode 100644
index 0000000..263ef6c
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface ICaseCommonSentenceModel {
+ Subscription sendRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java
new file mode 100644
index 0000000..518d602
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface ICaseUpdateSuperviseModel {
+ Subscription sendRetrofitRequest(String id, String superviseRemarks);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java
new file mode 100644
index 0000000..6b65f13
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java
@@ -0,0 +1,38 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.CaseCommonSentenceModelImpl;
+import com.casic.dcms.mvp.view.ICaseCommonSentenceView;
+
+public class CaseCommonSentencePresenterImpl extends BasePresenter implements ICaseCommonSentencePresenter,
+ CaseCommonSentenceModelImpl.OnGetCommonSentenceListener {
+
+ private ICaseCommonSentenceView view;
+ private CaseCommonSentenceModelImpl actionModel;
+
+ public CaseCommonSentencePresenterImpl(ICaseCommonSentenceView commonSentenceView) {
+ this.view = commonSentenceView;
+ actionModel = new CaseCommonSentenceModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest() {
+ addSubscription(actionModel.sendRetrofitRequest());
+ }
+
+ @Override
+ public void disposeRetrofitRequest() {
+ unSubscription();
+ }
+
+ @Override
+ public void onSuccess(CommonSentenceBean resultBean) {
+ view.obtainCommonSentenceData(resultBean);
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseUpdateSupervisePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseUpdateSupervisePresenterImpl.java
new file mode 100644
index 0000000..66e1f44
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseUpdateSupervisePresenterImpl.java
@@ -0,0 +1,40 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.CaseUpdateSuperviseModelImpl;
+import com.casic.dcms.mvp.view.ICaseUpdateSuperviseView;
+
+public class CaseUpdateSupervisePresenterImpl extends BasePresenter implements ICaseUpdateSupervisePresenter,
+ CaseUpdateSuperviseModelImpl.OnUpdateSuperviseListener {
+
+ private ICaseUpdateSuperviseView view;
+ private CaseUpdateSuperviseModelImpl actionModel;
+
+ public CaseUpdateSupervisePresenterImpl(ICaseUpdateSuperviseView updateSuperviseView) {
+ this.view = updateSuperviseView;
+ actionModel = new CaseUpdateSuperviseModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest(String id, String superviseRemarks) {
+ view.showProgress();
+ addSubscription(actionModel.sendRetrofitRequest(id, superviseRemarks));
+ }
+
+ @Override
+ public void onSuccess(ActionResultBean resultBean) {
+ view.hideProgress();
+ view.obtainUpdateSuperviseData(resultBean);
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+ view.hideProgress();
+ }
+
+ @Override
+ public void disposeRetrofitRequest() {
+ unSubscription();
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseCommonSentencePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseCommonSentencePresenter.java
new file mode 100644
index 0000000..1f8bd09
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseCommonSentencePresenter.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.presenter;
+
+public interface ICaseCommonSentencePresenter {
+ void onReadyRetrofitRequest();
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseUpdateSupervisePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseUpdateSupervisePresenter.java
new file mode 100644
index 0000000..f61f9b2
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseUpdateSupervisePresenter.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.presenter;
+
+public interface ICaseUpdateSupervisePresenter {
+ void onReadyRetrofitRequest(String id, String superviseRemarks);
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseCommonSentenceView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseCommonSentenceView.java
new file mode 100644
index 0000000..9c7b08b
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseCommonSentenceView.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.view;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+
+public interface ICaseCommonSentenceView {
+ void obtainCommonSentenceData(CommonSentenceBean resultBean);
+}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f6ac20a..2070c95 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -67,12 +67,14 @@
-
+
-
+
+
+
{
private Context context;
+ private List iconData = new ArrayList<>();
+ private List itemData = new ArrayList<>();
public HomeRecycleAdapter(Context context) {
this.context = context;
}
+ public void setItemData(@Nullable List icons, @Nullable List items) {
+ this.iconData = icons;
+ this.itemData = items;
+ }
+
@NonNull
@Override
public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
@@ -30,7 +40,7 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- holder.bindView(context, position);
+ holder.bindView(position);
if (clickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
@@ -43,7 +53,7 @@
@Override
public int getItemCount() {
- return Constant.ITEMS.size();
+ return itemData.size();
}
private OnGridItemClickListener clickListener;
@@ -56,7 +66,7 @@
this.clickListener = onGridItemClickListener;
}
- static class ItemViewHolder extends RecyclerView.ViewHolder {
+ class ItemViewHolder extends RecyclerView.ViewHolder {
private ImageView imageView;
private TextView textView;
@@ -67,9 +77,9 @@
textView = itemView.findViewById(R.id.textView);
}
- void bindView(Context context, int position) {
- imageView.setBackgroundResource(Constant.ICONS.get(position));
- textView.setText(Constant.ITEMS.get(position));
+ void bindView(int position) {
+ imageView.setBackgroundResource(iconData.get(position));
+ textView.setText(itemData.get(position));
}
}
}
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
index b9c4615..d9b10e0 100644
--- a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -11,6 +11,7 @@
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
import com.casic.dcms.R;
import java.util.ArrayList;
@@ -62,7 +63,10 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- Glide.with(context).load(mediaList.get(position)).into(holder.imageView);
+ Glide.with(context)
+ .load(mediaList.get(position))
+ .apply(new RequestOptions().error(R.drawable.ic_load_error))
+ .into(holder.imageView);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/app/src/main/java/com/casic/dcms/base/BaseActivity.java b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
index caf0356..2ca87fe 100644
--- a/app/src/main/java/com/casic/dcms/base/BaseActivity.java
+++ b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
@@ -17,8 +17,8 @@
setContentView(initLayoutView());
ButterKnife.bind(this);
QMUIStatusBarHelper.translucent(this);//沉浸式状态栏
- setupTopBarLayout();
initData();
+ setupTopBarLayout();
initEvent();
}
diff --git a/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
new file mode 100644
index 0000000..8de58a4
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
@@ -0,0 +1,78 @@
+package com.casic.dcms.bean;
+
+import java.util.List;
+
+public class CommonSentenceBean {
+ private int code;
+ private String message;
+ private boolean success;
+ private List data;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+
+ public List getData() {
+ return data;
+ }
+
+ public void setData(List data) {
+ this.data = data;
+ }
+
+ public static class DataBean {
+ /**
+ * name : 请及时处理
+ * id : 156
+ * value : 请及时处理
+ */
+
+ private String name;
+ private String id;
+ private String value;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java
new file mode 100644
index 0000000..5258d89
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java
@@ -0,0 +1,50 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class CaseCommonSentenceModelImpl implements ICaseCommonSentenceModel {
+
+ private OnGetCommonSentenceListener sentenceListener;
+
+ public CaseCommonSentenceModelImpl(OnGetCommonSentenceListener commonSentenceListener) {
+ this.sentenceListener = commonSentenceListener;
+ }
+
+ public interface OnGetCommonSentenceListener {
+ void onSuccess(CommonSentenceBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest() {
+ Observable observable = RetrofitServiceManager.getCommonSentenceResult();
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (sentenceListener != null) {
+ sentenceListener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(CommonSentenceBean resultBean) {
+ if (resultBean != null) {
+ sentenceListener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java
new file mode 100644
index 0000000..a8cb3fc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java
@@ -0,0 +1,53 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class CaseUpdateSuperviseModelImpl implements ICaseUpdateSuperviseModel {
+
+ private OnUpdateSuperviseListener listener;
+
+ public CaseUpdateSuperviseModelImpl(OnUpdateSuperviseListener updateSuperviseListener) {
+ this.listener = updateSuperviseListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUpdateSuperviseListener {
+ void onSuccess(ActionResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest(String id, String superviseRemarks) {
+ Observable observable = RetrofitServiceManager.getUpdateSuperviseResult(id, superviseRemarks);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(ActionResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java
new file mode 100644
index 0000000..263ef6c
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface ICaseCommonSentenceModel {
+ Subscription sendRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java
new file mode 100644
index 0000000..518d602
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface ICaseUpdateSuperviseModel {
+ Subscription sendRetrofitRequest(String id, String superviseRemarks);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java
new file mode 100644
index 0000000..6b65f13
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java
@@ -0,0 +1,38 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.CaseCommonSentenceModelImpl;
+import com.casic.dcms.mvp.view.ICaseCommonSentenceView;
+
+public class CaseCommonSentencePresenterImpl extends BasePresenter implements ICaseCommonSentencePresenter,
+ CaseCommonSentenceModelImpl.OnGetCommonSentenceListener {
+
+ private ICaseCommonSentenceView view;
+ private CaseCommonSentenceModelImpl actionModel;
+
+ public CaseCommonSentencePresenterImpl(ICaseCommonSentenceView commonSentenceView) {
+ this.view = commonSentenceView;
+ actionModel = new CaseCommonSentenceModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest() {
+ addSubscription(actionModel.sendRetrofitRequest());
+ }
+
+ @Override
+ public void disposeRetrofitRequest() {
+ unSubscription();
+ }
+
+ @Override
+ public void onSuccess(CommonSentenceBean resultBean) {
+ view.obtainCommonSentenceData(resultBean);
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseUpdateSupervisePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseUpdateSupervisePresenterImpl.java
new file mode 100644
index 0000000..66e1f44
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseUpdateSupervisePresenterImpl.java
@@ -0,0 +1,40 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.CaseUpdateSuperviseModelImpl;
+import com.casic.dcms.mvp.view.ICaseUpdateSuperviseView;
+
+public class CaseUpdateSupervisePresenterImpl extends BasePresenter implements ICaseUpdateSupervisePresenter,
+ CaseUpdateSuperviseModelImpl.OnUpdateSuperviseListener {
+
+ private ICaseUpdateSuperviseView view;
+ private CaseUpdateSuperviseModelImpl actionModel;
+
+ public CaseUpdateSupervisePresenterImpl(ICaseUpdateSuperviseView updateSuperviseView) {
+ this.view = updateSuperviseView;
+ actionModel = new CaseUpdateSuperviseModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest(String id, String superviseRemarks) {
+ view.showProgress();
+ addSubscription(actionModel.sendRetrofitRequest(id, superviseRemarks));
+ }
+
+ @Override
+ public void onSuccess(ActionResultBean resultBean) {
+ view.hideProgress();
+ view.obtainUpdateSuperviseData(resultBean);
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+ view.hideProgress();
+ }
+
+ @Override
+ public void disposeRetrofitRequest() {
+ unSubscription();
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseCommonSentencePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseCommonSentencePresenter.java
new file mode 100644
index 0000000..1f8bd09
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseCommonSentencePresenter.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.presenter;
+
+public interface ICaseCommonSentencePresenter {
+ void onReadyRetrofitRequest();
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseUpdateSupervisePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseUpdateSupervisePresenter.java
new file mode 100644
index 0000000..f61f9b2
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseUpdateSupervisePresenter.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.presenter;
+
+public interface ICaseUpdateSupervisePresenter {
+ void onReadyRetrofitRequest(String id, String superviseRemarks);
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseCommonSentenceView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseCommonSentenceView.java
new file mode 100644
index 0000000..9c7b08b
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseCommonSentenceView.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.view;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+
+public interface ICaseCommonSentenceView {
+ void obtainCommonSentenceData(CommonSentenceBean resultBean);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseUpdateSuperviseView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseUpdateSuperviseView.java
new file mode 100644
index 0000000..10bcf5a
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseUpdateSuperviseView.java
@@ -0,0 +1,11 @@
+package com.casic.dcms.mvp.view;
+
+import com.casic.dcms.bean.ActionResultBean;
+
+public interface ICaseUpdateSuperviseView {
+ void showProgress();
+
+ void hideProgress();
+
+ void obtainUpdateSuperviseData(ActionResultBean resultBean);
+}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f6ac20a..2070c95 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -67,12 +67,14 @@
-
+
-
+
+
+
{
private Context context;
+ private List iconData = new ArrayList<>();
+ private List itemData = new ArrayList<>();
public HomeRecycleAdapter(Context context) {
this.context = context;
}
+ public void setItemData(@Nullable List icons, @Nullable List items) {
+ this.iconData = icons;
+ this.itemData = items;
+ }
+
@NonNull
@Override
public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
@@ -30,7 +40,7 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- holder.bindView(context, position);
+ holder.bindView(position);
if (clickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
@@ -43,7 +53,7 @@
@Override
public int getItemCount() {
- return Constant.ITEMS.size();
+ return itemData.size();
}
private OnGridItemClickListener clickListener;
@@ -56,7 +66,7 @@
this.clickListener = onGridItemClickListener;
}
- static class ItemViewHolder extends RecyclerView.ViewHolder {
+ class ItemViewHolder extends RecyclerView.ViewHolder {
private ImageView imageView;
private TextView textView;
@@ -67,9 +77,9 @@
textView = itemView.findViewById(R.id.textView);
}
- void bindView(Context context, int position) {
- imageView.setBackgroundResource(Constant.ICONS.get(position));
- textView.setText(Constant.ITEMS.get(position));
+ void bindView(int position) {
+ imageView.setBackgroundResource(iconData.get(position));
+ textView.setText(itemData.get(position));
}
}
}
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
index b9c4615..d9b10e0 100644
--- a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -11,6 +11,7 @@
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
import com.casic.dcms.R;
import java.util.ArrayList;
@@ -62,7 +63,10 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- Glide.with(context).load(mediaList.get(position)).into(holder.imageView);
+ Glide.with(context)
+ .load(mediaList.get(position))
+ .apply(new RequestOptions().error(R.drawable.ic_load_error))
+ .into(holder.imageView);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/app/src/main/java/com/casic/dcms/base/BaseActivity.java b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
index caf0356..2ca87fe 100644
--- a/app/src/main/java/com/casic/dcms/base/BaseActivity.java
+++ b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
@@ -17,8 +17,8 @@
setContentView(initLayoutView());
ButterKnife.bind(this);
QMUIStatusBarHelper.translucent(this);//沉浸式状态栏
- setupTopBarLayout();
initData();
+ setupTopBarLayout();
initEvent();
}
diff --git a/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
new file mode 100644
index 0000000..8de58a4
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
@@ -0,0 +1,78 @@
+package com.casic.dcms.bean;
+
+import java.util.List;
+
+public class CommonSentenceBean {
+ private int code;
+ private String message;
+ private boolean success;
+ private List data;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+
+ public List getData() {
+ return data;
+ }
+
+ public void setData(List data) {
+ this.data = data;
+ }
+
+ public static class DataBean {
+ /**
+ * name : 请及时处理
+ * id : 156
+ * value : 请及时处理
+ */
+
+ private String name;
+ private String id;
+ private String value;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java
new file mode 100644
index 0000000..5258d89
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java
@@ -0,0 +1,50 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class CaseCommonSentenceModelImpl implements ICaseCommonSentenceModel {
+
+ private OnGetCommonSentenceListener sentenceListener;
+
+ public CaseCommonSentenceModelImpl(OnGetCommonSentenceListener commonSentenceListener) {
+ this.sentenceListener = commonSentenceListener;
+ }
+
+ public interface OnGetCommonSentenceListener {
+ void onSuccess(CommonSentenceBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest() {
+ Observable observable = RetrofitServiceManager.getCommonSentenceResult();
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (sentenceListener != null) {
+ sentenceListener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(CommonSentenceBean resultBean) {
+ if (resultBean != null) {
+ sentenceListener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java
new file mode 100644
index 0000000..a8cb3fc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java
@@ -0,0 +1,53 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class CaseUpdateSuperviseModelImpl implements ICaseUpdateSuperviseModel {
+
+ private OnUpdateSuperviseListener listener;
+
+ public CaseUpdateSuperviseModelImpl(OnUpdateSuperviseListener updateSuperviseListener) {
+ this.listener = updateSuperviseListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUpdateSuperviseListener {
+ void onSuccess(ActionResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest(String id, String superviseRemarks) {
+ Observable observable = RetrofitServiceManager.getUpdateSuperviseResult(id, superviseRemarks);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(ActionResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java
new file mode 100644
index 0000000..263ef6c
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface ICaseCommonSentenceModel {
+ Subscription sendRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java
new file mode 100644
index 0000000..518d602
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface ICaseUpdateSuperviseModel {
+ Subscription sendRetrofitRequest(String id, String superviseRemarks);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java
new file mode 100644
index 0000000..6b65f13
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java
@@ -0,0 +1,38 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.CaseCommonSentenceModelImpl;
+import com.casic.dcms.mvp.view.ICaseCommonSentenceView;
+
+public class CaseCommonSentencePresenterImpl extends BasePresenter implements ICaseCommonSentencePresenter,
+ CaseCommonSentenceModelImpl.OnGetCommonSentenceListener {
+
+ private ICaseCommonSentenceView view;
+ private CaseCommonSentenceModelImpl actionModel;
+
+ public CaseCommonSentencePresenterImpl(ICaseCommonSentenceView commonSentenceView) {
+ this.view = commonSentenceView;
+ actionModel = new CaseCommonSentenceModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest() {
+ addSubscription(actionModel.sendRetrofitRequest());
+ }
+
+ @Override
+ public void disposeRetrofitRequest() {
+ unSubscription();
+ }
+
+ @Override
+ public void onSuccess(CommonSentenceBean resultBean) {
+ view.obtainCommonSentenceData(resultBean);
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseUpdateSupervisePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseUpdateSupervisePresenterImpl.java
new file mode 100644
index 0000000..66e1f44
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseUpdateSupervisePresenterImpl.java
@@ -0,0 +1,40 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.CaseUpdateSuperviseModelImpl;
+import com.casic.dcms.mvp.view.ICaseUpdateSuperviseView;
+
+public class CaseUpdateSupervisePresenterImpl extends BasePresenter implements ICaseUpdateSupervisePresenter,
+ CaseUpdateSuperviseModelImpl.OnUpdateSuperviseListener {
+
+ private ICaseUpdateSuperviseView view;
+ private CaseUpdateSuperviseModelImpl actionModel;
+
+ public CaseUpdateSupervisePresenterImpl(ICaseUpdateSuperviseView updateSuperviseView) {
+ this.view = updateSuperviseView;
+ actionModel = new CaseUpdateSuperviseModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest(String id, String superviseRemarks) {
+ view.showProgress();
+ addSubscription(actionModel.sendRetrofitRequest(id, superviseRemarks));
+ }
+
+ @Override
+ public void onSuccess(ActionResultBean resultBean) {
+ view.hideProgress();
+ view.obtainUpdateSuperviseData(resultBean);
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+ view.hideProgress();
+ }
+
+ @Override
+ public void disposeRetrofitRequest() {
+ unSubscription();
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseCommonSentencePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseCommonSentencePresenter.java
new file mode 100644
index 0000000..1f8bd09
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseCommonSentencePresenter.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.presenter;
+
+public interface ICaseCommonSentencePresenter {
+ void onReadyRetrofitRequest();
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseUpdateSupervisePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseUpdateSupervisePresenter.java
new file mode 100644
index 0000000..f61f9b2
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseUpdateSupervisePresenter.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.presenter;
+
+public interface ICaseUpdateSupervisePresenter {
+ void onReadyRetrofitRequest(String id, String superviseRemarks);
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseCommonSentenceView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseCommonSentenceView.java
new file mode 100644
index 0000000..9c7b08b
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseCommonSentenceView.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.view;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+
+public interface ICaseCommonSentenceView {
+ void obtainCommonSentenceData(CommonSentenceBean resultBean);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseUpdateSuperviseView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseUpdateSuperviseView.java
new file mode 100644
index 0000000..10bcf5a
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseUpdateSuperviseView.java
@@ -0,0 +1,11 @@
+package com.casic.dcms.mvp.view;
+
+import com.casic.dcms.bean.ActionResultBean;
+
+public interface ICaseUpdateSuperviseView {
+ void showProgress();
+
+ void hideProgress();
+
+ void obtainUpdateSuperviseData(ActionResultBean resultBean);
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/BigPictureActivity.java b/app/src/main/java/com/casic/dcms/ui/BigPictureActivity.java
index ad70b7a..9143db8 100644
--- a/app/src/main/java/com/casic/dcms/ui/BigPictureActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/BigPictureActivity.java
@@ -1,10 +1,14 @@
package com.casic.dcms.ui;
+import android.view.View;
+
+import androidx.core.content.ContextCompat;
+
import com.bumptech.glide.Glide;
import com.casic.dcms.R;
import com.casic.dcms.base.BaseActivity;
import com.luck.picture.lib.photoview.PhotoView;
-import com.qmuiteam.qmui.util.QMUIStatusBarHelper;
+import com.qmuiteam.qmui.widget.QMUITopBarLayout;
import butterknife.BindView;
@@ -15,6 +19,8 @@
**/
public class BigPictureActivity extends BaseActivity {
+ @BindView(R.id.imageTopLayout)
+ QMUITopBarLayout imageTopLayout;
@BindView(R.id.photoView)
PhotoView photoView;
@@ -25,37 +31,24 @@
@Override
protected void setupTopBarLayout() {
- QMUIStatusBarHelper.setStatusBarLightMode(this);
+ imageTopLayout.setTitle("查看大图").setTextColor(ContextCompat.getColor(this, R.color.white));
+ imageTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor));
+ imageTopLayout.addLeftImageButton(R.drawable.ic_left_white, 0).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
}
@Override
public void initData() {
-// String mediaJson = getIntent().getStringExtra("mediaJson");
-//
-// List mediaList = new Gson().fromJson(mediaJson, new TypeToken>() {
-// }.getType());
-//
-// list = new ArrayList<>();
-// assert mediaList != null;
-// for (LocalMedia media : mediaList) {
-// list.add(media.getRealPath());
-// }
String path = getIntent().getStringExtra("path");
Glide.with(this).load(path).into(photoView);
}
@Override
public void initEvent() {
-// //轮播图
-// bigImageBanner.setImageLoader(new ImageLoader() {
-//
-// @Override
-// public void displayImage(Context context, Object path, ImageView imageView) {
-// Glide.with(context).load(path).into(imageView);
-// }
-// });
-// bigImageBanner.isAutoPlay(false);
-// bigImageBanner.setImages(list);
-// bigImageBanner.start();
+
}
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f6ac20a..2070c95 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -67,12 +67,14 @@
-
+
-
+
+
+
{
private Context context;
+ private List iconData = new ArrayList<>();
+ private List itemData = new ArrayList<>();
public HomeRecycleAdapter(Context context) {
this.context = context;
}
+ public void setItemData(@Nullable List icons, @Nullable List items) {
+ this.iconData = icons;
+ this.itemData = items;
+ }
+
@NonNull
@Override
public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
@@ -30,7 +40,7 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- holder.bindView(context, position);
+ holder.bindView(position);
if (clickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
@@ -43,7 +53,7 @@
@Override
public int getItemCount() {
- return Constant.ITEMS.size();
+ return itemData.size();
}
private OnGridItemClickListener clickListener;
@@ -56,7 +66,7 @@
this.clickListener = onGridItemClickListener;
}
- static class ItemViewHolder extends RecyclerView.ViewHolder {
+ class ItemViewHolder extends RecyclerView.ViewHolder {
private ImageView imageView;
private TextView textView;
@@ -67,9 +77,9 @@
textView = itemView.findViewById(R.id.textView);
}
- void bindView(Context context, int position) {
- imageView.setBackgroundResource(Constant.ICONS.get(position));
- textView.setText(Constant.ITEMS.get(position));
+ void bindView(int position) {
+ imageView.setBackgroundResource(iconData.get(position));
+ textView.setText(itemData.get(position));
}
}
}
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
index b9c4615..d9b10e0 100644
--- a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -11,6 +11,7 @@
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
import com.casic.dcms.R;
import java.util.ArrayList;
@@ -62,7 +63,10 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- Glide.with(context).load(mediaList.get(position)).into(holder.imageView);
+ Glide.with(context)
+ .load(mediaList.get(position))
+ .apply(new RequestOptions().error(R.drawable.ic_load_error))
+ .into(holder.imageView);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/app/src/main/java/com/casic/dcms/base/BaseActivity.java b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
index caf0356..2ca87fe 100644
--- a/app/src/main/java/com/casic/dcms/base/BaseActivity.java
+++ b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
@@ -17,8 +17,8 @@
setContentView(initLayoutView());
ButterKnife.bind(this);
QMUIStatusBarHelper.translucent(this);//沉浸式状态栏
- setupTopBarLayout();
initData();
+ setupTopBarLayout();
initEvent();
}
diff --git a/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
new file mode 100644
index 0000000..8de58a4
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
@@ -0,0 +1,78 @@
+package com.casic.dcms.bean;
+
+import java.util.List;
+
+public class CommonSentenceBean {
+ private int code;
+ private String message;
+ private boolean success;
+ private List data;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+
+ public List getData() {
+ return data;
+ }
+
+ public void setData(List data) {
+ this.data = data;
+ }
+
+ public static class DataBean {
+ /**
+ * name : 请及时处理
+ * id : 156
+ * value : 请及时处理
+ */
+
+ private String name;
+ private String id;
+ private String value;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java
new file mode 100644
index 0000000..5258d89
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java
@@ -0,0 +1,50 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class CaseCommonSentenceModelImpl implements ICaseCommonSentenceModel {
+
+ private OnGetCommonSentenceListener sentenceListener;
+
+ public CaseCommonSentenceModelImpl(OnGetCommonSentenceListener commonSentenceListener) {
+ this.sentenceListener = commonSentenceListener;
+ }
+
+ public interface OnGetCommonSentenceListener {
+ void onSuccess(CommonSentenceBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest() {
+ Observable observable = RetrofitServiceManager.getCommonSentenceResult();
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (sentenceListener != null) {
+ sentenceListener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(CommonSentenceBean resultBean) {
+ if (resultBean != null) {
+ sentenceListener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java
new file mode 100644
index 0000000..a8cb3fc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java
@@ -0,0 +1,53 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class CaseUpdateSuperviseModelImpl implements ICaseUpdateSuperviseModel {
+
+ private OnUpdateSuperviseListener listener;
+
+ public CaseUpdateSuperviseModelImpl(OnUpdateSuperviseListener updateSuperviseListener) {
+ this.listener = updateSuperviseListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUpdateSuperviseListener {
+ void onSuccess(ActionResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest(String id, String superviseRemarks) {
+ Observable observable = RetrofitServiceManager.getUpdateSuperviseResult(id, superviseRemarks);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(ActionResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java
new file mode 100644
index 0000000..263ef6c
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface ICaseCommonSentenceModel {
+ Subscription sendRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java
new file mode 100644
index 0000000..518d602
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface ICaseUpdateSuperviseModel {
+ Subscription sendRetrofitRequest(String id, String superviseRemarks);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java
new file mode 100644
index 0000000..6b65f13
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java
@@ -0,0 +1,38 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.CaseCommonSentenceModelImpl;
+import com.casic.dcms.mvp.view.ICaseCommonSentenceView;
+
+public class CaseCommonSentencePresenterImpl extends BasePresenter implements ICaseCommonSentencePresenter,
+ CaseCommonSentenceModelImpl.OnGetCommonSentenceListener {
+
+ private ICaseCommonSentenceView view;
+ private CaseCommonSentenceModelImpl actionModel;
+
+ public CaseCommonSentencePresenterImpl(ICaseCommonSentenceView commonSentenceView) {
+ this.view = commonSentenceView;
+ actionModel = new CaseCommonSentenceModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest() {
+ addSubscription(actionModel.sendRetrofitRequest());
+ }
+
+ @Override
+ public void disposeRetrofitRequest() {
+ unSubscription();
+ }
+
+ @Override
+ public void onSuccess(CommonSentenceBean resultBean) {
+ view.obtainCommonSentenceData(resultBean);
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseUpdateSupervisePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseUpdateSupervisePresenterImpl.java
new file mode 100644
index 0000000..66e1f44
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseUpdateSupervisePresenterImpl.java
@@ -0,0 +1,40 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.CaseUpdateSuperviseModelImpl;
+import com.casic.dcms.mvp.view.ICaseUpdateSuperviseView;
+
+public class CaseUpdateSupervisePresenterImpl extends BasePresenter implements ICaseUpdateSupervisePresenter,
+ CaseUpdateSuperviseModelImpl.OnUpdateSuperviseListener {
+
+ private ICaseUpdateSuperviseView view;
+ private CaseUpdateSuperviseModelImpl actionModel;
+
+ public CaseUpdateSupervisePresenterImpl(ICaseUpdateSuperviseView updateSuperviseView) {
+ this.view = updateSuperviseView;
+ actionModel = new CaseUpdateSuperviseModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest(String id, String superviseRemarks) {
+ view.showProgress();
+ addSubscription(actionModel.sendRetrofitRequest(id, superviseRemarks));
+ }
+
+ @Override
+ public void onSuccess(ActionResultBean resultBean) {
+ view.hideProgress();
+ view.obtainUpdateSuperviseData(resultBean);
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+ view.hideProgress();
+ }
+
+ @Override
+ public void disposeRetrofitRequest() {
+ unSubscription();
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseCommonSentencePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseCommonSentencePresenter.java
new file mode 100644
index 0000000..1f8bd09
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseCommonSentencePresenter.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.presenter;
+
+public interface ICaseCommonSentencePresenter {
+ void onReadyRetrofitRequest();
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseUpdateSupervisePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseUpdateSupervisePresenter.java
new file mode 100644
index 0000000..f61f9b2
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseUpdateSupervisePresenter.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.presenter;
+
+public interface ICaseUpdateSupervisePresenter {
+ void onReadyRetrofitRequest(String id, String superviseRemarks);
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseCommonSentenceView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseCommonSentenceView.java
new file mode 100644
index 0000000..9c7b08b
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseCommonSentenceView.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.view;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+
+public interface ICaseCommonSentenceView {
+ void obtainCommonSentenceData(CommonSentenceBean resultBean);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseUpdateSuperviseView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseUpdateSuperviseView.java
new file mode 100644
index 0000000..10bcf5a
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseUpdateSuperviseView.java
@@ -0,0 +1,11 @@
+package com.casic.dcms.mvp.view;
+
+import com.casic.dcms.bean.ActionResultBean;
+
+public interface ICaseUpdateSuperviseView {
+ void showProgress();
+
+ void hideProgress();
+
+ void obtainUpdateSuperviseData(ActionResultBean resultBean);
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/BigPictureActivity.java b/app/src/main/java/com/casic/dcms/ui/BigPictureActivity.java
index ad70b7a..9143db8 100644
--- a/app/src/main/java/com/casic/dcms/ui/BigPictureActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/BigPictureActivity.java
@@ -1,10 +1,14 @@
package com.casic.dcms.ui;
+import android.view.View;
+
+import androidx.core.content.ContextCompat;
+
import com.bumptech.glide.Glide;
import com.casic.dcms.R;
import com.casic.dcms.base.BaseActivity;
import com.luck.picture.lib.photoview.PhotoView;
-import com.qmuiteam.qmui.util.QMUIStatusBarHelper;
+import com.qmuiteam.qmui.widget.QMUITopBarLayout;
import butterknife.BindView;
@@ -15,6 +19,8 @@
**/
public class BigPictureActivity extends BaseActivity {
+ @BindView(R.id.imageTopLayout)
+ QMUITopBarLayout imageTopLayout;
@BindView(R.id.photoView)
PhotoView photoView;
@@ -25,37 +31,24 @@
@Override
protected void setupTopBarLayout() {
- QMUIStatusBarHelper.setStatusBarLightMode(this);
+ imageTopLayout.setTitle("查看大图").setTextColor(ContextCompat.getColor(this, R.color.white));
+ imageTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor));
+ imageTopLayout.addLeftImageButton(R.drawable.ic_left_white, 0).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
}
@Override
public void initData() {
-// String mediaJson = getIntent().getStringExtra("mediaJson");
-//
-// List mediaList = new Gson().fromJson(mediaJson, new TypeToken>() {
-// }.getType());
-//
-// list = new ArrayList<>();
-// assert mediaList != null;
-// for (LocalMedia media : mediaList) {
-// list.add(media.getRealPath());
-// }
String path = getIntent().getStringExtra("path");
Glide.with(this).load(path).into(photoView);
}
@Override
public void initEvent() {
-// //轮播图
-// bigImageBanner.setImageLoader(new ImageLoader() {
-//
-// @Override
-// public void displayImage(Context context, Object path, ImageView imageView) {
-// Glide.with(context).load(path).into(imageView);
-// }
-// });
-// bigImageBanner.isAutoPlay(false);
-// bigImageBanner.setImages(list);
-// bigImageBanner.start();
+
}
}
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseCheckDetailActivity.java
index 01a3807..7548cfc 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseCheckDetailActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseCheckDetailActivity.java
@@ -329,7 +329,7 @@
caseCommunityView.setText(data.getCommunityName());
casePlaceView.setText(data.getFieldintro());
caseSituationView.setText(data.getDescription());
- caseHandleView.setText(data.getProcessRemarks().equals("") ? "无处理意见" : data.getProcessRemarks());
+ caseHandleView.setText(data.getCaseStateName().equals("") ? "无处理意见" : data.getCaseStateName());
caseStartTimeView.setText(data.getCreateTime());
caseEndTimeView.setText(data.getNodeLimittime());
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f6ac20a..2070c95 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -67,12 +67,14 @@
-
+
-
+
+
+
{
private Context context;
+ private List iconData = new ArrayList<>();
+ private List itemData = new ArrayList<>();
public HomeRecycleAdapter(Context context) {
this.context = context;
}
+ public void setItemData(@Nullable List icons, @Nullable List items) {
+ this.iconData = icons;
+ this.itemData = items;
+ }
+
@NonNull
@Override
public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
@@ -30,7 +40,7 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- holder.bindView(context, position);
+ holder.bindView(position);
if (clickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
@@ -43,7 +53,7 @@
@Override
public int getItemCount() {
- return Constant.ITEMS.size();
+ return itemData.size();
}
private OnGridItemClickListener clickListener;
@@ -56,7 +66,7 @@
this.clickListener = onGridItemClickListener;
}
- static class ItemViewHolder extends RecyclerView.ViewHolder {
+ class ItemViewHolder extends RecyclerView.ViewHolder {
private ImageView imageView;
private TextView textView;
@@ -67,9 +77,9 @@
textView = itemView.findViewById(R.id.textView);
}
- void bindView(Context context, int position) {
- imageView.setBackgroundResource(Constant.ICONS.get(position));
- textView.setText(Constant.ITEMS.get(position));
+ void bindView(int position) {
+ imageView.setBackgroundResource(iconData.get(position));
+ textView.setText(itemData.get(position));
}
}
}
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
index b9c4615..d9b10e0 100644
--- a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -11,6 +11,7 @@
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
import com.casic.dcms.R;
import java.util.ArrayList;
@@ -62,7 +63,10 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- Glide.with(context).load(mediaList.get(position)).into(holder.imageView);
+ Glide.with(context)
+ .load(mediaList.get(position))
+ .apply(new RequestOptions().error(R.drawable.ic_load_error))
+ .into(holder.imageView);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/app/src/main/java/com/casic/dcms/base/BaseActivity.java b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
index caf0356..2ca87fe 100644
--- a/app/src/main/java/com/casic/dcms/base/BaseActivity.java
+++ b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
@@ -17,8 +17,8 @@
setContentView(initLayoutView());
ButterKnife.bind(this);
QMUIStatusBarHelper.translucent(this);//沉浸式状态栏
- setupTopBarLayout();
initData();
+ setupTopBarLayout();
initEvent();
}
diff --git a/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
new file mode 100644
index 0000000..8de58a4
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
@@ -0,0 +1,78 @@
+package com.casic.dcms.bean;
+
+import java.util.List;
+
+public class CommonSentenceBean {
+ private int code;
+ private String message;
+ private boolean success;
+ private List data;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+
+ public List getData() {
+ return data;
+ }
+
+ public void setData(List data) {
+ this.data = data;
+ }
+
+ public static class DataBean {
+ /**
+ * name : 请及时处理
+ * id : 156
+ * value : 请及时处理
+ */
+
+ private String name;
+ private String id;
+ private String value;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java
new file mode 100644
index 0000000..5258d89
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java
@@ -0,0 +1,50 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class CaseCommonSentenceModelImpl implements ICaseCommonSentenceModel {
+
+ private OnGetCommonSentenceListener sentenceListener;
+
+ public CaseCommonSentenceModelImpl(OnGetCommonSentenceListener commonSentenceListener) {
+ this.sentenceListener = commonSentenceListener;
+ }
+
+ public interface OnGetCommonSentenceListener {
+ void onSuccess(CommonSentenceBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest() {
+ Observable observable = RetrofitServiceManager.getCommonSentenceResult();
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (sentenceListener != null) {
+ sentenceListener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(CommonSentenceBean resultBean) {
+ if (resultBean != null) {
+ sentenceListener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java
new file mode 100644
index 0000000..a8cb3fc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java
@@ -0,0 +1,53 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class CaseUpdateSuperviseModelImpl implements ICaseUpdateSuperviseModel {
+
+ private OnUpdateSuperviseListener listener;
+
+ public CaseUpdateSuperviseModelImpl(OnUpdateSuperviseListener updateSuperviseListener) {
+ this.listener = updateSuperviseListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUpdateSuperviseListener {
+ void onSuccess(ActionResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest(String id, String superviseRemarks) {
+ Observable observable = RetrofitServiceManager.getUpdateSuperviseResult(id, superviseRemarks);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(ActionResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java
new file mode 100644
index 0000000..263ef6c
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface ICaseCommonSentenceModel {
+ Subscription sendRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java
new file mode 100644
index 0000000..518d602
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface ICaseUpdateSuperviseModel {
+ Subscription sendRetrofitRequest(String id, String superviseRemarks);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java
new file mode 100644
index 0000000..6b65f13
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java
@@ -0,0 +1,38 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.CaseCommonSentenceModelImpl;
+import com.casic.dcms.mvp.view.ICaseCommonSentenceView;
+
+public class CaseCommonSentencePresenterImpl extends BasePresenter implements ICaseCommonSentencePresenter,
+ CaseCommonSentenceModelImpl.OnGetCommonSentenceListener {
+
+ private ICaseCommonSentenceView view;
+ private CaseCommonSentenceModelImpl actionModel;
+
+ public CaseCommonSentencePresenterImpl(ICaseCommonSentenceView commonSentenceView) {
+ this.view = commonSentenceView;
+ actionModel = new CaseCommonSentenceModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest() {
+ addSubscription(actionModel.sendRetrofitRequest());
+ }
+
+ @Override
+ public void disposeRetrofitRequest() {
+ unSubscription();
+ }
+
+ @Override
+ public void onSuccess(CommonSentenceBean resultBean) {
+ view.obtainCommonSentenceData(resultBean);
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseUpdateSupervisePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseUpdateSupervisePresenterImpl.java
new file mode 100644
index 0000000..66e1f44
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseUpdateSupervisePresenterImpl.java
@@ -0,0 +1,40 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.CaseUpdateSuperviseModelImpl;
+import com.casic.dcms.mvp.view.ICaseUpdateSuperviseView;
+
+public class CaseUpdateSupervisePresenterImpl extends BasePresenter implements ICaseUpdateSupervisePresenter,
+ CaseUpdateSuperviseModelImpl.OnUpdateSuperviseListener {
+
+ private ICaseUpdateSuperviseView view;
+ private CaseUpdateSuperviseModelImpl actionModel;
+
+ public CaseUpdateSupervisePresenterImpl(ICaseUpdateSuperviseView updateSuperviseView) {
+ this.view = updateSuperviseView;
+ actionModel = new CaseUpdateSuperviseModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest(String id, String superviseRemarks) {
+ view.showProgress();
+ addSubscription(actionModel.sendRetrofitRequest(id, superviseRemarks));
+ }
+
+ @Override
+ public void onSuccess(ActionResultBean resultBean) {
+ view.hideProgress();
+ view.obtainUpdateSuperviseData(resultBean);
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+ view.hideProgress();
+ }
+
+ @Override
+ public void disposeRetrofitRequest() {
+ unSubscription();
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseCommonSentencePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseCommonSentencePresenter.java
new file mode 100644
index 0000000..1f8bd09
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseCommonSentencePresenter.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.presenter;
+
+public interface ICaseCommonSentencePresenter {
+ void onReadyRetrofitRequest();
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseUpdateSupervisePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseUpdateSupervisePresenter.java
new file mode 100644
index 0000000..f61f9b2
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseUpdateSupervisePresenter.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.presenter;
+
+public interface ICaseUpdateSupervisePresenter {
+ void onReadyRetrofitRequest(String id, String superviseRemarks);
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseCommonSentenceView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseCommonSentenceView.java
new file mode 100644
index 0000000..9c7b08b
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseCommonSentenceView.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.view;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+
+public interface ICaseCommonSentenceView {
+ void obtainCommonSentenceData(CommonSentenceBean resultBean);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseUpdateSuperviseView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseUpdateSuperviseView.java
new file mode 100644
index 0000000..10bcf5a
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseUpdateSuperviseView.java
@@ -0,0 +1,11 @@
+package com.casic.dcms.mvp.view;
+
+import com.casic.dcms.bean.ActionResultBean;
+
+public interface ICaseUpdateSuperviseView {
+ void showProgress();
+
+ void hideProgress();
+
+ void obtainUpdateSuperviseData(ActionResultBean resultBean);
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/BigPictureActivity.java b/app/src/main/java/com/casic/dcms/ui/BigPictureActivity.java
index ad70b7a..9143db8 100644
--- a/app/src/main/java/com/casic/dcms/ui/BigPictureActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/BigPictureActivity.java
@@ -1,10 +1,14 @@
package com.casic.dcms.ui;
+import android.view.View;
+
+import androidx.core.content.ContextCompat;
+
import com.bumptech.glide.Glide;
import com.casic.dcms.R;
import com.casic.dcms.base.BaseActivity;
import com.luck.picture.lib.photoview.PhotoView;
-import com.qmuiteam.qmui.util.QMUIStatusBarHelper;
+import com.qmuiteam.qmui.widget.QMUITopBarLayout;
import butterknife.BindView;
@@ -15,6 +19,8 @@
**/
public class BigPictureActivity extends BaseActivity {
+ @BindView(R.id.imageTopLayout)
+ QMUITopBarLayout imageTopLayout;
@BindView(R.id.photoView)
PhotoView photoView;
@@ -25,37 +31,24 @@
@Override
protected void setupTopBarLayout() {
- QMUIStatusBarHelper.setStatusBarLightMode(this);
+ imageTopLayout.setTitle("查看大图").setTextColor(ContextCompat.getColor(this, R.color.white));
+ imageTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor));
+ imageTopLayout.addLeftImageButton(R.drawable.ic_left_white, 0).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
}
@Override
public void initData() {
-// String mediaJson = getIntent().getStringExtra("mediaJson");
-//
-// List mediaList = new Gson().fromJson(mediaJson, new TypeToken>() {
-// }.getType());
-//
-// list = new ArrayList<>();
-// assert mediaList != null;
-// for (LocalMedia media : mediaList) {
-// list.add(media.getRealPath());
-// }
String path = getIntent().getStringExtra("path");
Glide.with(this).load(path).into(photoView);
}
@Override
public void initEvent() {
-// //轮播图
-// bigImageBanner.setImageLoader(new ImageLoader() {
-//
-// @Override
-// public void displayImage(Context context, Object path, ImageView imageView) {
-// Glide.with(context).load(path).into(imageView);
-// }
-// });
-// bigImageBanner.isAutoPlay(false);
-// bigImageBanner.setImages(list);
-// bigImageBanner.start();
+
}
}
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseCheckDetailActivity.java
index 01a3807..7548cfc 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseCheckDetailActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseCheckDetailActivity.java
@@ -329,7 +329,7 @@
caseCommunityView.setText(data.getCommunityName());
casePlaceView.setText(data.getFieldintro());
caseSituationView.setText(data.getDescription());
- caseHandleView.setText(data.getProcessRemarks().equals("") ? "无处理意见" : data.getProcessRemarks());
+ caseHandleView.setText(data.getCaseStateName().equals("") ? "无处理意见" : data.getCaseStateName());
caseStartTimeView.setText(data.getCreateTime());
caseEndTimeView.setText(data.getNodeLimittime());
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseHandleDetailActivity.java
new file mode 100644
index 0000000..d4dba38
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/CaseHandleDetailActivity.java
@@ -0,0 +1,505 @@
+package com.casic.dcms.ui;
+
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.EditText;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.casic.dcms.R;
+import com.casic.dcms.adapter.ImageRecycleViewAdapter;
+import com.casic.dcms.base.BaseCaseActivity;
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.bean.CaseDetailBean;
+import com.casic.dcms.bean.CaseLargeClassBean;
+import com.casic.dcms.bean.CaseNextNodeBean;
+import com.casic.dcms.bean.CaseSmallClassBean;
+import com.casic.dcms.mvp.presenter.CaseDetailPresenterImpl;
+import com.casic.dcms.mvp.presenter.CaseHandlePresenterImpl;
+import com.casic.dcms.mvp.presenter.CaseLargeClassPresenterImpl;
+import com.casic.dcms.mvp.presenter.CaseNextNodePresenterImpl;
+import com.casic.dcms.mvp.presenter.CaseSmallClassPresenterImpl;
+import com.casic.dcms.mvp.presenter.UploadImagePresenterImpl;
+import com.casic.dcms.mvp.view.ICaseDetailView;
+import com.casic.dcms.mvp.view.ICaseHandleView;
+import com.casic.dcms.mvp.view.ICaseLargeClassView;
+import com.casic.dcms.mvp.view.ICaseNextNodeView;
+import com.casic.dcms.mvp.view.ICaseSmallClassView;
+import com.casic.dcms.mvp.view.IUploadFileView;
+import com.casic.dcms.utils.FileUtils;
+import com.casic.dcms.utils.GlideLoadEngine;
+import com.casic.dcms.utils.ItemDecorationSpace;
+import com.casic.dcms.utils.StringHelper;
+import com.casic.dcms.utils.ToastHelper;
+import com.luck.picture.lib.PictureSelector;
+import com.luck.picture.lib.config.PictureConfig;
+import com.luck.picture.lib.config.PictureMimeType;
+import com.luck.picture.lib.entity.LocalMedia;
+import com.luck.picture.lib.tools.PictureFileUtils;
+import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet;
+import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
+import com.qmuiteam.qmui.widget.dialog.QMUITipDialog;
+import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.BindView;
+import butterknife.OnClick;
+
+public class CaseHandleDetailActivity extends BaseCaseActivity implements View.OnClickListener,
+ ICaseDetailView, ICaseLargeClassView, ICaseSmallClassView, ICaseNextNodeView, IUploadFileView,
+ ICaseHandleView {
+
+ @BindView(R.id.caseNumberView)
+ TextView caseNumberView;
+ @BindView(R.id.caseTypeView)
+ TextView caseTypeView;
+ @BindView(R.id.caseLargeTypeView)
+ TextView caseLargeTypeView;
+ @BindView(R.id.caseSmallTypeView)
+ TextView caseSmallTypeView;
+ @BindView(R.id.caseCommunityView)
+ TextView caseCommunityView;
+ @BindView(R.id.casePlaceView)
+ EditText casePlaceView;
+ @BindView(R.id.caseSituationView)
+ TextView caseSituationView;
+ @BindView(R.id.caseHandleView)
+ TextView caseHandleView;
+ @BindView(R.id.casePicRecyclerView)
+ RecyclerView casePicRecyclerView;
+ @BindView(R.id.caseStartTimeView)
+ TextView caseStartTimeView;
+ @BindView(R.id.caseEndTimeView)
+ TextView caseEndTimeView;
+ @BindView(R.id.caseHandleResultView)
+ TextView caseHandleResultView;
+ @BindView(R.id.caseHandleRecyclerView)
+ RecyclerView caseHandleRecyclerView;
+ @BindView(R.id.addImageView)
+ ImageView addImageView;
+ @BindView(R.id.caseReasonView)
+ EditText caseReasonView;
+ @BindView(R.id.submitButton)
+ QMUIRoundButton submitButton;
+
+ private String title;
+ private String id;
+ private String changeState;
+ private String caseReason;
+ private String approvalResult;
+ private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean();
+ private List largeClassBeans = new ArrayList<>();
+ private List smallClassBeans = new ArrayList<>();
+ private List realPaths = new ArrayList<>();//真实图片路径
+ private List mediaList = new ArrayList<>();//上传到服务器的数据集
+
+ private CaseDetailPresenterImpl caseDetailPresenter;
+ private CaseLargeClassPresenterImpl caseLargeClassPresenter;
+ private CaseSmallClassPresenterImpl caseSmallClassPresenter;
+ private CaseNextNodePresenterImpl caseNextNodePresenter;
+ private UploadImagePresenterImpl uploadImagePresenter;
+ private CaseHandlePresenterImpl caseHandlePresenter;
+
+ private QMUITipDialog submitDialog;
+
+ @Override
+ public int initLayoutView() {
+ return R.layout.activity_case_handle_detail;
+ }
+
+ @Override
+ protected String setTitleName() {
+ return title;
+ }
+
+ @Override
+ public void initData() {
+ title = getIntent().getStringExtra("title");
+ id = getIntent().getStringExtra("id");
+ caseDetailPresenter = new CaseDetailPresenterImpl(this);
+ caseDetailPresenter.onReadyRetrofitRequest(id);
+
+ caseLargeClassPresenter = new CaseLargeClassPresenterImpl(this);
+ caseSmallClassPresenter = new CaseSmallClassPresenterImpl(this);
+ caseNextNodePresenter = new CaseNextNodePresenterImpl(this);
+ uploadImagePresenter = new UploadImagePresenterImpl(this);
+ caseHandlePresenter = new CaseHandlePresenterImpl(this);
+
+ submitDialog = new QMUITipDialog.Builder(this)
+ .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
+ .setTipWord("提交中,请稍后")
+ .create();
+ }
+
+ @Override
+ public void initEvent() {
+ submitButton.setChangeAlphaWhenPress(true);
+ }
+
+ @Override
+ public void obtainCaseDetailData(CaseDetailBean resultBean) {
+ if (resultBean.isSuccess()) {
+ this.data = resultBean.getData().get(0);
+ caseNumberView.setText(data.getCaseid());
+ caseTypeView.setText(data.getEorcName());
+ caseLargeTypeView.setText(data.getCasetypeName());
+ caseSmallTypeView.setText(data.getCasetypeDetailName());
+ caseCommunityView.setText(data.getCommunityName().equals("") ? "社区信息未知" : data.getCommunityName());
+ casePlaceView.setText(data.getFieldintro());
+ caseSituationView.setText(data.getDescription());
+ caseHandleView.setText(data.getCaseStateName().equals("") ? "无处理意见" : data.getCaseStateName());
+ caseStartTimeView.setText(data.getCreateTime());
+ caseEndTimeView.setText(data.getNodeLimittime());
+
+ String verifyImages = data.getFileIdVerify();
+ if (!TextUtils.isEmpty(verifyImages)) {
+ List urls = new ArrayList<>();
+ String[] split = verifyImages.split(",");
+ for (String s : split) {
+ urls.add(StringHelper.appendCompleteURL(s));
+ }
+ ImageRecycleViewAdapter imageAdapter = new ImageRecycleViewAdapter(this);
+ imageAdapter.setMediaList(urls);
+ casePicRecyclerView.setVisibility(View.VISIBLE);
+ casePicRecyclerView.setLayoutManager(new GridLayoutManager(this, 2));
+ casePicRecyclerView.addItemDecoration(new ItemDecorationSpace());
+ casePicRecyclerView.setAdapter(imageAdapter);
+ //九宫格点击事件
+ imageAdapter.setOnItemClickListener(new ImageRecycleViewAdapter.OnItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ //查看大图
+ showBigImage(urls.get(position));
+ }
+ });
+ imageAdapter.setDeleteView(false);
+ }
+ }
+ }
+
+ private void showBigImage(String path) {
+ Intent intent = new Intent(this, BigPictureActivity.class);
+ intent.putExtra("path", path);
+ startActivity(intent);
+ }
+
+ @Override
+ public void obtainLargeClassData(CaseLargeClassBean largeClassBean) {
+ if (largeClassBean.isSuccess()) {
+ //设置大类数据
+ this.largeClassBeans = largeClassBean.getData();
+ if (largeClassBeans.size() == 0) {
+ caseLargeTypeView.setText("无小类");
+ } else {
+ caseLargeTypeView.setText(largeClassBeans.get(0).getTypeName());//默认选择第一个
+ }
+ caseSmallTypeView.setText("请选择");
+ }
+ }
+
+ @Override
+ public void obtainSmallClassData(CaseSmallClassBean smallClassBean) {
+ if (smallClassBean.isSuccess()) {
+ //设置大类数据
+ this.smallClassBeans = smallClassBean.getData();
+ if (smallClassBeans.size() == 0) {
+ caseSmallTypeView.setText("无小类");
+ } else {
+ caseSmallTypeView.setText(smallClassBeans.get(0).getTypeDetailName());//默认选择第一个
+ }
+ }
+ }
+
+ @Override
+ public void obtainNextNodeData(CaseNextNodeBean resultBean) {
+ if (resultBean.isSuccess()) {
+ List dataBeans = resultBean.getData();
+ QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this);
+ sheetBuilder.setTitle("处理结果");
+ for (CaseNextNodeBean.DataBean dataBean : dataBeans) {
+ sheetBuilder.addItem(dataBean.getNextOperation());
+ }
+ sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
+ @Override
+ public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
+ dialog.dismiss();
+
+ CaseNextNodeBean.DataBean dataBean = dataBeans.get(position);
+ caseHandleResultView.setText(dataBean.getNextOperation());
+ changeState = String.valueOf(dataBean.getNextState());
+ approvalResult = dataBean.getApprovalResult();
+ }
+ }).build().show();
+ } else {
+ ToastHelper.showToast("该案卷无下级流转节点", ToastHelper.ERROR);
+ }
+ }
+
+ @OnClick({R.id.caseClassLayout, R.id.caseLargeClassLayout, R.id.caseSmallClassLayout, R.id.caseHandleResultLayout, R.id.addImageView, R.id.submitButton})
+ @Override
+ public void onClick(View v) {
+ switch (v.getId()) {
+ case R.id.caseClassLayout:
+ new QMUIBottomSheet.BottomListSheetBuilder(this)
+ .setTitle("案卷类型")
+ .addItem("事件")
+ .addItem("部件")
+ .setGravityCenter(true)
+ .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
+ @Override
+ public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
+ dialog.dismiss();
+
+ caseTypeView.setText(tag);
+ //获取案卷大类
+ caseLargeClassPresenter.onReadyRetrofitRequest(String.valueOf(position + 1));
+ }
+ }).build().show();
+ break;
+ case R.id.caseLargeClassLayout:
+ if (largeClassBeans != null) {
+ if (largeClassBeans.size() > 1) {
+ QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this);
+ sheetBuilder.setTitle("案卷大类");
+ for (CaseLargeClassBean.DataBean dataBean : largeClassBeans) {
+ sheetBuilder.addItem(dataBean.getTypeName());
+ }
+ sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
+ @Override
+ public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
+ dialog.dismiss();
+
+ caseLargeTypeView.setText(tag);
+ //获取案卷小类
+ CaseLargeClassBean.DataBean dataBean = largeClassBeans.get(position);
+ String typeId = dataBean.getId();
+ caseSmallClassPresenter.onReadyRetrofitRequest(dataBean.getEorc(), typeId);
+ }
+ }).build().show();
+ }
+ }
+ break;
+ case R.id.caseSmallClassLayout:
+ if (smallClassBeans != null) {
+ if (smallClassBeans.size() > 1) {
+ QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this);
+ sheetBuilder.setTitle("案卷小类");
+ for (CaseSmallClassBean.DataBean dataBean : smallClassBeans) {
+ sheetBuilder.addItem(dataBean.getTypeDetailName());
+ }
+ sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
+ @Override
+ public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
+ dialog.dismiss();
+
+ caseSmallTypeView.setText(tag);
+ }
+ }).build().show();
+ }
+ }
+ break;
+ case R.id.caseHandleResultLayout:
+ caseNextNodePresenter.onReadyRetrofitRequest(String.valueOf(data.getCaseState()));
+ break;
+ case R.id.addImageView:
+ new QMUIDialog.MenuDialogBuilder(this)
+ .addItem("相册中选取", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ //选图
+ selectPicture();
+ }
+ })
+ .addItem("相机拍照", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ //拍照
+ takePicture();
+ }
+ })
+ .create().show();
+ break;
+ case R.id.submitButton:
+ submitCase();//案卷提交
+ break;
+ default:
+ break;
+ }
+ }
+
+ private void submitCase() {
+ String handleResult = caseHandleResultView.getText().toString();
+ if (handleResult.equals("请选择")) {
+ ToastHelper.showToast("还未选择处理结果", ToastHelper.WARING);
+ return;
+ }
+ if (handleResult.equals("处理完成")) {
+ //选择处理完成时,处理图片必传。至少一张,最多两张
+ if (mediaList.size() < 1 || mediaList.size() > 2) {
+ ToastHelper.showToast("当前案卷状态必须上传至少一张图片", ToastHelper.WARING);
+ return;
+ }
+ }
+ if (handleResult.equals("申请延期") || handleResult.equals("申请调整")) {
+ caseReason = caseReasonView.getText().toString();
+ if (TextUtils.isEmpty(caseReason)) {
+ ToastHelper.showToast("延期/调整的原因必须填写", ToastHelper.WARING);
+ return;
+ }
+ }
+ caseHandlePresenter.onReadyRetrofitRequest(data.getProcessId(), id, String.valueOf(data.getCaseState()),
+ changeState, caseReason, StringHelper.reformatURL(mediaList), approvalResult);
+ }
+
+ private void selectPicture() {
+ PictureSelector.create(this)
+ .openGallery(PictureMimeType.ofImage())
+ .imageEngine(GlideLoadEngine.createGlideEngine())
+ .maxSelectNum(2)
+ .isCompress(true)
+ .compressQuality(80)
+ .compressSavePath(FileUtils.getImageCompressPath())
+ .forResult(PictureConfig.CHOOSE_REQUEST);
+ }
+
+ private void takePicture() {
+ PictureSelector.create(this)
+ .openCamera(PictureMimeType.ofImage())
+ .imageEngine(GlideLoadEngine.createGlideEngine())
+ .maxSelectNum(1)
+ .isCompress(true)
+ .compressQuality(80)
+ .compressSavePath(FileUtils.getImageCompressPath())
+ .forResult(PictureConfig.REQUEST_CAMERA);
+ }
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ if (resultCode == RESULT_OK) {
+ switch (requestCode) {
+ case PictureConfig.CHOOSE_REQUEST:
+ List selectList = PictureSelector.obtainMultipleResult(data);
+ for (LocalMedia media : selectList) {
+ String mediaCompressPath = media.getCompressPath();
+ uploadImagePresenter.onReadyRetrofitRequest(new File(mediaCompressPath));
+ }
+ break;
+ case PictureConfig.REQUEST_CAMERA:
+ LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0);
+ uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath()));
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+ @Override
+ public void showProgress() {
+ submitDialog.show();
+ }
+
+ @Override
+ public void hideProgress() {
+ submitDialog.hide();
+ }
+
+ @Override
+ public void obtainUploadAudioResult(ActionResultBean resultBean) {
+
+ }
+
+ @Override
+ public void obtainUploadImageResult(ActionResultBean resultBean) {
+ if (resultBean.isSuccess()) {
+ PictureFileUtils.deleteAllCacheDirFile(this);
+ /**
+ * 系统路径static拼接图片返回路径
+ * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg
+ */
+ //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg
+ String url = resultBean.getData();
+ mediaList.add(url);
+ realPaths.add(StringHelper.appendCompleteURL(url));
+ if (realPaths.size() == 2) {
+ addImageView.setVisibility(View.GONE);
+ }
+ ImageRecycleViewAdapter imageAdapter = new ImageRecycleViewAdapter(this);
+ imageAdapter.setMediaList(realPaths);
+ caseHandleRecyclerView.setVisibility(View.VISIBLE);
+ caseHandleRecyclerView.setLayoutManager(new GridLayoutManager(this, 2));
+ caseHandleRecyclerView.addItemDecoration(new ItemDecorationSpace());
+ caseHandleRecyclerView.setAdapter(imageAdapter);
+ //九宫格点击事件
+ imageAdapter.setOnItemClickListener(new ImageRecycleViewAdapter.OnItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ //查看大图
+ showBigImage(realPaths.get(position));
+ }
+ });
+ //删除按钮点击事件
+ imageAdapter.setDeleteView(true);
+ imageAdapter.setOnDeleteClickListener(new ImageRecycleViewAdapter.OnDeleteItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ realPaths.remove(position);
+ imageAdapter.setMediaList(realPaths);
+ if (realPaths.size() != 2) {
+ addImageView.setVisibility(View.VISIBLE);
+ }
+ }
+ });
+ }
+ }
+
+ @Override
+ public void obtainUploadVideoResult(ActionResultBean resultBean) {
+
+ }
+
+ @Override
+ public void obtainCaseHandleResult(ActionResultBean resultBean) {
+ if (resultBean.isSuccess()) {
+ ToastHelper.showToast("案卷处理成功", ToastHelper.SUCCESS);
+ finish();
+ } else {
+ ToastHelper.showToast("案卷处理失败,请检查", ToastHelper.ERROR);
+ }
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (caseDetailPresenter != null) {
+ caseDetailPresenter.disposeRetrofitRequest();
+ }
+ if (caseLargeClassPresenter != null) {
+ caseLargeClassPresenter.disposeRetrofitRequest();
+ }
+ if (caseSmallClassPresenter != null) {
+ caseSmallClassPresenter.disposeRetrofitRequest();
+ }
+ if (caseNextNodePresenter != null) {
+ caseNextNodePresenter.disposeRetrofitRequest();
+ }
+ if (uploadImagePresenter != null) {
+ uploadImagePresenter.disposeRetrofitRequest();
+ }
+ if (caseHandlePresenter != null) {
+ caseHandlePresenter.disposeRetrofitRequest();
+ }
+ }
+}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f6ac20a..2070c95 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -67,12 +67,14 @@
-
+
-
+
+
+
{
private Context context;
+ private List iconData = new ArrayList<>();
+ private List itemData = new ArrayList<>();
public HomeRecycleAdapter(Context context) {
this.context = context;
}
+ public void setItemData(@Nullable List icons, @Nullable List items) {
+ this.iconData = icons;
+ this.itemData = items;
+ }
+
@NonNull
@Override
public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
@@ -30,7 +40,7 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- holder.bindView(context, position);
+ holder.bindView(position);
if (clickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
@@ -43,7 +53,7 @@
@Override
public int getItemCount() {
- return Constant.ITEMS.size();
+ return itemData.size();
}
private OnGridItemClickListener clickListener;
@@ -56,7 +66,7 @@
this.clickListener = onGridItemClickListener;
}
- static class ItemViewHolder extends RecyclerView.ViewHolder {
+ class ItemViewHolder extends RecyclerView.ViewHolder {
private ImageView imageView;
private TextView textView;
@@ -67,9 +77,9 @@
textView = itemView.findViewById(R.id.textView);
}
- void bindView(Context context, int position) {
- imageView.setBackgroundResource(Constant.ICONS.get(position));
- textView.setText(Constant.ITEMS.get(position));
+ void bindView(int position) {
+ imageView.setBackgroundResource(iconData.get(position));
+ textView.setText(itemData.get(position));
}
}
}
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
index b9c4615..d9b10e0 100644
--- a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -11,6 +11,7 @@
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
import com.casic.dcms.R;
import java.util.ArrayList;
@@ -62,7 +63,10 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- Glide.with(context).load(mediaList.get(position)).into(holder.imageView);
+ Glide.with(context)
+ .load(mediaList.get(position))
+ .apply(new RequestOptions().error(R.drawable.ic_load_error))
+ .into(holder.imageView);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/app/src/main/java/com/casic/dcms/base/BaseActivity.java b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
index caf0356..2ca87fe 100644
--- a/app/src/main/java/com/casic/dcms/base/BaseActivity.java
+++ b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
@@ -17,8 +17,8 @@
setContentView(initLayoutView());
ButterKnife.bind(this);
QMUIStatusBarHelper.translucent(this);//沉浸式状态栏
- setupTopBarLayout();
initData();
+ setupTopBarLayout();
initEvent();
}
diff --git a/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
new file mode 100644
index 0000000..8de58a4
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
@@ -0,0 +1,78 @@
+package com.casic.dcms.bean;
+
+import java.util.List;
+
+public class CommonSentenceBean {
+ private int code;
+ private String message;
+ private boolean success;
+ private List data;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+
+ public List getData() {
+ return data;
+ }
+
+ public void setData(List data) {
+ this.data = data;
+ }
+
+ public static class DataBean {
+ /**
+ * name : 请及时处理
+ * id : 156
+ * value : 请及时处理
+ */
+
+ private String name;
+ private String id;
+ private String value;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java
new file mode 100644
index 0000000..5258d89
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java
@@ -0,0 +1,50 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class CaseCommonSentenceModelImpl implements ICaseCommonSentenceModel {
+
+ private OnGetCommonSentenceListener sentenceListener;
+
+ public CaseCommonSentenceModelImpl(OnGetCommonSentenceListener commonSentenceListener) {
+ this.sentenceListener = commonSentenceListener;
+ }
+
+ public interface OnGetCommonSentenceListener {
+ void onSuccess(CommonSentenceBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest() {
+ Observable observable = RetrofitServiceManager.getCommonSentenceResult();
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (sentenceListener != null) {
+ sentenceListener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(CommonSentenceBean resultBean) {
+ if (resultBean != null) {
+ sentenceListener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java
new file mode 100644
index 0000000..a8cb3fc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java
@@ -0,0 +1,53 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class CaseUpdateSuperviseModelImpl implements ICaseUpdateSuperviseModel {
+
+ private OnUpdateSuperviseListener listener;
+
+ public CaseUpdateSuperviseModelImpl(OnUpdateSuperviseListener updateSuperviseListener) {
+ this.listener = updateSuperviseListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUpdateSuperviseListener {
+ void onSuccess(ActionResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest(String id, String superviseRemarks) {
+ Observable observable = RetrofitServiceManager.getUpdateSuperviseResult(id, superviseRemarks);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(ActionResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java
new file mode 100644
index 0000000..263ef6c
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface ICaseCommonSentenceModel {
+ Subscription sendRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java
new file mode 100644
index 0000000..518d602
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface ICaseUpdateSuperviseModel {
+ Subscription sendRetrofitRequest(String id, String superviseRemarks);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java
new file mode 100644
index 0000000..6b65f13
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java
@@ -0,0 +1,38 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.CaseCommonSentenceModelImpl;
+import com.casic.dcms.mvp.view.ICaseCommonSentenceView;
+
+public class CaseCommonSentencePresenterImpl extends BasePresenter implements ICaseCommonSentencePresenter,
+ CaseCommonSentenceModelImpl.OnGetCommonSentenceListener {
+
+ private ICaseCommonSentenceView view;
+ private CaseCommonSentenceModelImpl actionModel;
+
+ public CaseCommonSentencePresenterImpl(ICaseCommonSentenceView commonSentenceView) {
+ this.view = commonSentenceView;
+ actionModel = new CaseCommonSentenceModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest() {
+ addSubscription(actionModel.sendRetrofitRequest());
+ }
+
+ @Override
+ public void disposeRetrofitRequest() {
+ unSubscription();
+ }
+
+ @Override
+ public void onSuccess(CommonSentenceBean resultBean) {
+ view.obtainCommonSentenceData(resultBean);
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseUpdateSupervisePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseUpdateSupervisePresenterImpl.java
new file mode 100644
index 0000000..66e1f44
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseUpdateSupervisePresenterImpl.java
@@ -0,0 +1,40 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.CaseUpdateSuperviseModelImpl;
+import com.casic.dcms.mvp.view.ICaseUpdateSuperviseView;
+
+public class CaseUpdateSupervisePresenterImpl extends BasePresenter implements ICaseUpdateSupervisePresenter,
+ CaseUpdateSuperviseModelImpl.OnUpdateSuperviseListener {
+
+ private ICaseUpdateSuperviseView view;
+ private CaseUpdateSuperviseModelImpl actionModel;
+
+ public CaseUpdateSupervisePresenterImpl(ICaseUpdateSuperviseView updateSuperviseView) {
+ this.view = updateSuperviseView;
+ actionModel = new CaseUpdateSuperviseModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest(String id, String superviseRemarks) {
+ view.showProgress();
+ addSubscription(actionModel.sendRetrofitRequest(id, superviseRemarks));
+ }
+
+ @Override
+ public void onSuccess(ActionResultBean resultBean) {
+ view.hideProgress();
+ view.obtainUpdateSuperviseData(resultBean);
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+ view.hideProgress();
+ }
+
+ @Override
+ public void disposeRetrofitRequest() {
+ unSubscription();
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseCommonSentencePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseCommonSentencePresenter.java
new file mode 100644
index 0000000..1f8bd09
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseCommonSentencePresenter.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.presenter;
+
+public interface ICaseCommonSentencePresenter {
+ void onReadyRetrofitRequest();
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseUpdateSupervisePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseUpdateSupervisePresenter.java
new file mode 100644
index 0000000..f61f9b2
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseUpdateSupervisePresenter.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.presenter;
+
+public interface ICaseUpdateSupervisePresenter {
+ void onReadyRetrofitRequest(String id, String superviseRemarks);
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseCommonSentenceView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseCommonSentenceView.java
new file mode 100644
index 0000000..9c7b08b
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseCommonSentenceView.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.view;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+
+public interface ICaseCommonSentenceView {
+ void obtainCommonSentenceData(CommonSentenceBean resultBean);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseUpdateSuperviseView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseUpdateSuperviseView.java
new file mode 100644
index 0000000..10bcf5a
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseUpdateSuperviseView.java
@@ -0,0 +1,11 @@
+package com.casic.dcms.mvp.view;
+
+import com.casic.dcms.bean.ActionResultBean;
+
+public interface ICaseUpdateSuperviseView {
+ void showProgress();
+
+ void hideProgress();
+
+ void obtainUpdateSuperviseData(ActionResultBean resultBean);
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/BigPictureActivity.java b/app/src/main/java/com/casic/dcms/ui/BigPictureActivity.java
index ad70b7a..9143db8 100644
--- a/app/src/main/java/com/casic/dcms/ui/BigPictureActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/BigPictureActivity.java
@@ -1,10 +1,14 @@
package com.casic.dcms.ui;
+import android.view.View;
+
+import androidx.core.content.ContextCompat;
+
import com.bumptech.glide.Glide;
import com.casic.dcms.R;
import com.casic.dcms.base.BaseActivity;
import com.luck.picture.lib.photoview.PhotoView;
-import com.qmuiteam.qmui.util.QMUIStatusBarHelper;
+import com.qmuiteam.qmui.widget.QMUITopBarLayout;
import butterknife.BindView;
@@ -15,6 +19,8 @@
**/
public class BigPictureActivity extends BaseActivity {
+ @BindView(R.id.imageTopLayout)
+ QMUITopBarLayout imageTopLayout;
@BindView(R.id.photoView)
PhotoView photoView;
@@ -25,37 +31,24 @@
@Override
protected void setupTopBarLayout() {
- QMUIStatusBarHelper.setStatusBarLightMode(this);
+ imageTopLayout.setTitle("查看大图").setTextColor(ContextCompat.getColor(this, R.color.white));
+ imageTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor));
+ imageTopLayout.addLeftImageButton(R.drawable.ic_left_white, 0).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
}
@Override
public void initData() {
-// String mediaJson = getIntent().getStringExtra("mediaJson");
-//
-// List mediaList = new Gson().fromJson(mediaJson, new TypeToken>() {
-// }.getType());
-//
-// list = new ArrayList<>();
-// assert mediaList != null;
-// for (LocalMedia media : mediaList) {
-// list.add(media.getRealPath());
-// }
String path = getIntent().getStringExtra("path");
Glide.with(this).load(path).into(photoView);
}
@Override
public void initEvent() {
-// //轮播图
-// bigImageBanner.setImageLoader(new ImageLoader() {
-//
-// @Override
-// public void displayImage(Context context, Object path, ImageView imageView) {
-// Glide.with(context).load(path).into(imageView);
-// }
-// });
-// bigImageBanner.isAutoPlay(false);
-// bigImageBanner.setImages(list);
-// bigImageBanner.start();
+
}
}
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseCheckDetailActivity.java
index 01a3807..7548cfc 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseCheckDetailActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseCheckDetailActivity.java
@@ -329,7 +329,7 @@
caseCommunityView.setText(data.getCommunityName());
casePlaceView.setText(data.getFieldintro());
caseSituationView.setText(data.getDescription());
- caseHandleView.setText(data.getProcessRemarks().equals("") ? "无处理意见" : data.getProcessRemarks());
+ caseHandleView.setText(data.getCaseStateName().equals("") ? "无处理意见" : data.getCaseStateName());
caseStartTimeView.setText(data.getCreateTime());
caseEndTimeView.setText(data.getNodeLimittime());
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseHandleDetailActivity.java
new file mode 100644
index 0000000..d4dba38
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/CaseHandleDetailActivity.java
@@ -0,0 +1,505 @@
+package com.casic.dcms.ui;
+
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.EditText;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.casic.dcms.R;
+import com.casic.dcms.adapter.ImageRecycleViewAdapter;
+import com.casic.dcms.base.BaseCaseActivity;
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.bean.CaseDetailBean;
+import com.casic.dcms.bean.CaseLargeClassBean;
+import com.casic.dcms.bean.CaseNextNodeBean;
+import com.casic.dcms.bean.CaseSmallClassBean;
+import com.casic.dcms.mvp.presenter.CaseDetailPresenterImpl;
+import com.casic.dcms.mvp.presenter.CaseHandlePresenterImpl;
+import com.casic.dcms.mvp.presenter.CaseLargeClassPresenterImpl;
+import com.casic.dcms.mvp.presenter.CaseNextNodePresenterImpl;
+import com.casic.dcms.mvp.presenter.CaseSmallClassPresenterImpl;
+import com.casic.dcms.mvp.presenter.UploadImagePresenterImpl;
+import com.casic.dcms.mvp.view.ICaseDetailView;
+import com.casic.dcms.mvp.view.ICaseHandleView;
+import com.casic.dcms.mvp.view.ICaseLargeClassView;
+import com.casic.dcms.mvp.view.ICaseNextNodeView;
+import com.casic.dcms.mvp.view.ICaseSmallClassView;
+import com.casic.dcms.mvp.view.IUploadFileView;
+import com.casic.dcms.utils.FileUtils;
+import com.casic.dcms.utils.GlideLoadEngine;
+import com.casic.dcms.utils.ItemDecorationSpace;
+import com.casic.dcms.utils.StringHelper;
+import com.casic.dcms.utils.ToastHelper;
+import com.luck.picture.lib.PictureSelector;
+import com.luck.picture.lib.config.PictureConfig;
+import com.luck.picture.lib.config.PictureMimeType;
+import com.luck.picture.lib.entity.LocalMedia;
+import com.luck.picture.lib.tools.PictureFileUtils;
+import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet;
+import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
+import com.qmuiteam.qmui.widget.dialog.QMUITipDialog;
+import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.BindView;
+import butterknife.OnClick;
+
+public class CaseHandleDetailActivity extends BaseCaseActivity implements View.OnClickListener,
+ ICaseDetailView, ICaseLargeClassView, ICaseSmallClassView, ICaseNextNodeView, IUploadFileView,
+ ICaseHandleView {
+
+ @BindView(R.id.caseNumberView)
+ TextView caseNumberView;
+ @BindView(R.id.caseTypeView)
+ TextView caseTypeView;
+ @BindView(R.id.caseLargeTypeView)
+ TextView caseLargeTypeView;
+ @BindView(R.id.caseSmallTypeView)
+ TextView caseSmallTypeView;
+ @BindView(R.id.caseCommunityView)
+ TextView caseCommunityView;
+ @BindView(R.id.casePlaceView)
+ EditText casePlaceView;
+ @BindView(R.id.caseSituationView)
+ TextView caseSituationView;
+ @BindView(R.id.caseHandleView)
+ TextView caseHandleView;
+ @BindView(R.id.casePicRecyclerView)
+ RecyclerView casePicRecyclerView;
+ @BindView(R.id.caseStartTimeView)
+ TextView caseStartTimeView;
+ @BindView(R.id.caseEndTimeView)
+ TextView caseEndTimeView;
+ @BindView(R.id.caseHandleResultView)
+ TextView caseHandleResultView;
+ @BindView(R.id.caseHandleRecyclerView)
+ RecyclerView caseHandleRecyclerView;
+ @BindView(R.id.addImageView)
+ ImageView addImageView;
+ @BindView(R.id.caseReasonView)
+ EditText caseReasonView;
+ @BindView(R.id.submitButton)
+ QMUIRoundButton submitButton;
+
+ private String title;
+ private String id;
+ private String changeState;
+ private String caseReason;
+ private String approvalResult;
+ private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean();
+ private List largeClassBeans = new ArrayList<>();
+ private List smallClassBeans = new ArrayList<>();
+ private List realPaths = new ArrayList<>();//真实图片路径
+ private List mediaList = new ArrayList<>();//上传到服务器的数据集
+
+ private CaseDetailPresenterImpl caseDetailPresenter;
+ private CaseLargeClassPresenterImpl caseLargeClassPresenter;
+ private CaseSmallClassPresenterImpl caseSmallClassPresenter;
+ private CaseNextNodePresenterImpl caseNextNodePresenter;
+ private UploadImagePresenterImpl uploadImagePresenter;
+ private CaseHandlePresenterImpl caseHandlePresenter;
+
+ private QMUITipDialog submitDialog;
+
+ @Override
+ public int initLayoutView() {
+ return R.layout.activity_case_handle_detail;
+ }
+
+ @Override
+ protected String setTitleName() {
+ return title;
+ }
+
+ @Override
+ public void initData() {
+ title = getIntent().getStringExtra("title");
+ id = getIntent().getStringExtra("id");
+ caseDetailPresenter = new CaseDetailPresenterImpl(this);
+ caseDetailPresenter.onReadyRetrofitRequest(id);
+
+ caseLargeClassPresenter = new CaseLargeClassPresenterImpl(this);
+ caseSmallClassPresenter = new CaseSmallClassPresenterImpl(this);
+ caseNextNodePresenter = new CaseNextNodePresenterImpl(this);
+ uploadImagePresenter = new UploadImagePresenterImpl(this);
+ caseHandlePresenter = new CaseHandlePresenterImpl(this);
+
+ submitDialog = new QMUITipDialog.Builder(this)
+ .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
+ .setTipWord("提交中,请稍后")
+ .create();
+ }
+
+ @Override
+ public void initEvent() {
+ submitButton.setChangeAlphaWhenPress(true);
+ }
+
+ @Override
+ public void obtainCaseDetailData(CaseDetailBean resultBean) {
+ if (resultBean.isSuccess()) {
+ this.data = resultBean.getData().get(0);
+ caseNumberView.setText(data.getCaseid());
+ caseTypeView.setText(data.getEorcName());
+ caseLargeTypeView.setText(data.getCasetypeName());
+ caseSmallTypeView.setText(data.getCasetypeDetailName());
+ caseCommunityView.setText(data.getCommunityName().equals("") ? "社区信息未知" : data.getCommunityName());
+ casePlaceView.setText(data.getFieldintro());
+ caseSituationView.setText(data.getDescription());
+ caseHandleView.setText(data.getCaseStateName().equals("") ? "无处理意见" : data.getCaseStateName());
+ caseStartTimeView.setText(data.getCreateTime());
+ caseEndTimeView.setText(data.getNodeLimittime());
+
+ String verifyImages = data.getFileIdVerify();
+ if (!TextUtils.isEmpty(verifyImages)) {
+ List urls = new ArrayList<>();
+ String[] split = verifyImages.split(",");
+ for (String s : split) {
+ urls.add(StringHelper.appendCompleteURL(s));
+ }
+ ImageRecycleViewAdapter imageAdapter = new ImageRecycleViewAdapter(this);
+ imageAdapter.setMediaList(urls);
+ casePicRecyclerView.setVisibility(View.VISIBLE);
+ casePicRecyclerView.setLayoutManager(new GridLayoutManager(this, 2));
+ casePicRecyclerView.addItemDecoration(new ItemDecorationSpace());
+ casePicRecyclerView.setAdapter(imageAdapter);
+ //九宫格点击事件
+ imageAdapter.setOnItemClickListener(new ImageRecycleViewAdapter.OnItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ //查看大图
+ showBigImage(urls.get(position));
+ }
+ });
+ imageAdapter.setDeleteView(false);
+ }
+ }
+ }
+
+ private void showBigImage(String path) {
+ Intent intent = new Intent(this, BigPictureActivity.class);
+ intent.putExtra("path", path);
+ startActivity(intent);
+ }
+
+ @Override
+ public void obtainLargeClassData(CaseLargeClassBean largeClassBean) {
+ if (largeClassBean.isSuccess()) {
+ //设置大类数据
+ this.largeClassBeans = largeClassBean.getData();
+ if (largeClassBeans.size() == 0) {
+ caseLargeTypeView.setText("无小类");
+ } else {
+ caseLargeTypeView.setText(largeClassBeans.get(0).getTypeName());//默认选择第一个
+ }
+ caseSmallTypeView.setText("请选择");
+ }
+ }
+
+ @Override
+ public void obtainSmallClassData(CaseSmallClassBean smallClassBean) {
+ if (smallClassBean.isSuccess()) {
+ //设置大类数据
+ this.smallClassBeans = smallClassBean.getData();
+ if (smallClassBeans.size() == 0) {
+ caseSmallTypeView.setText("无小类");
+ } else {
+ caseSmallTypeView.setText(smallClassBeans.get(0).getTypeDetailName());//默认选择第一个
+ }
+ }
+ }
+
+ @Override
+ public void obtainNextNodeData(CaseNextNodeBean resultBean) {
+ if (resultBean.isSuccess()) {
+ List dataBeans = resultBean.getData();
+ QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this);
+ sheetBuilder.setTitle("处理结果");
+ for (CaseNextNodeBean.DataBean dataBean : dataBeans) {
+ sheetBuilder.addItem(dataBean.getNextOperation());
+ }
+ sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
+ @Override
+ public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
+ dialog.dismiss();
+
+ CaseNextNodeBean.DataBean dataBean = dataBeans.get(position);
+ caseHandleResultView.setText(dataBean.getNextOperation());
+ changeState = String.valueOf(dataBean.getNextState());
+ approvalResult = dataBean.getApprovalResult();
+ }
+ }).build().show();
+ } else {
+ ToastHelper.showToast("该案卷无下级流转节点", ToastHelper.ERROR);
+ }
+ }
+
+ @OnClick({R.id.caseClassLayout, R.id.caseLargeClassLayout, R.id.caseSmallClassLayout, R.id.caseHandleResultLayout, R.id.addImageView, R.id.submitButton})
+ @Override
+ public void onClick(View v) {
+ switch (v.getId()) {
+ case R.id.caseClassLayout:
+ new QMUIBottomSheet.BottomListSheetBuilder(this)
+ .setTitle("案卷类型")
+ .addItem("事件")
+ .addItem("部件")
+ .setGravityCenter(true)
+ .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
+ @Override
+ public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
+ dialog.dismiss();
+
+ caseTypeView.setText(tag);
+ //获取案卷大类
+ caseLargeClassPresenter.onReadyRetrofitRequest(String.valueOf(position + 1));
+ }
+ }).build().show();
+ break;
+ case R.id.caseLargeClassLayout:
+ if (largeClassBeans != null) {
+ if (largeClassBeans.size() > 1) {
+ QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this);
+ sheetBuilder.setTitle("案卷大类");
+ for (CaseLargeClassBean.DataBean dataBean : largeClassBeans) {
+ sheetBuilder.addItem(dataBean.getTypeName());
+ }
+ sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
+ @Override
+ public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
+ dialog.dismiss();
+
+ caseLargeTypeView.setText(tag);
+ //获取案卷小类
+ CaseLargeClassBean.DataBean dataBean = largeClassBeans.get(position);
+ String typeId = dataBean.getId();
+ caseSmallClassPresenter.onReadyRetrofitRequest(dataBean.getEorc(), typeId);
+ }
+ }).build().show();
+ }
+ }
+ break;
+ case R.id.caseSmallClassLayout:
+ if (smallClassBeans != null) {
+ if (smallClassBeans.size() > 1) {
+ QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this);
+ sheetBuilder.setTitle("案卷小类");
+ for (CaseSmallClassBean.DataBean dataBean : smallClassBeans) {
+ sheetBuilder.addItem(dataBean.getTypeDetailName());
+ }
+ sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
+ @Override
+ public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
+ dialog.dismiss();
+
+ caseSmallTypeView.setText(tag);
+ }
+ }).build().show();
+ }
+ }
+ break;
+ case R.id.caseHandleResultLayout:
+ caseNextNodePresenter.onReadyRetrofitRequest(String.valueOf(data.getCaseState()));
+ break;
+ case R.id.addImageView:
+ new QMUIDialog.MenuDialogBuilder(this)
+ .addItem("相册中选取", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ //选图
+ selectPicture();
+ }
+ })
+ .addItem("相机拍照", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ //拍照
+ takePicture();
+ }
+ })
+ .create().show();
+ break;
+ case R.id.submitButton:
+ submitCase();//案卷提交
+ break;
+ default:
+ break;
+ }
+ }
+
+ private void submitCase() {
+ String handleResult = caseHandleResultView.getText().toString();
+ if (handleResult.equals("请选择")) {
+ ToastHelper.showToast("还未选择处理结果", ToastHelper.WARING);
+ return;
+ }
+ if (handleResult.equals("处理完成")) {
+ //选择处理完成时,处理图片必传。至少一张,最多两张
+ if (mediaList.size() < 1 || mediaList.size() > 2) {
+ ToastHelper.showToast("当前案卷状态必须上传至少一张图片", ToastHelper.WARING);
+ return;
+ }
+ }
+ if (handleResult.equals("申请延期") || handleResult.equals("申请调整")) {
+ caseReason = caseReasonView.getText().toString();
+ if (TextUtils.isEmpty(caseReason)) {
+ ToastHelper.showToast("延期/调整的原因必须填写", ToastHelper.WARING);
+ return;
+ }
+ }
+ caseHandlePresenter.onReadyRetrofitRequest(data.getProcessId(), id, String.valueOf(data.getCaseState()),
+ changeState, caseReason, StringHelper.reformatURL(mediaList), approvalResult);
+ }
+
+ private void selectPicture() {
+ PictureSelector.create(this)
+ .openGallery(PictureMimeType.ofImage())
+ .imageEngine(GlideLoadEngine.createGlideEngine())
+ .maxSelectNum(2)
+ .isCompress(true)
+ .compressQuality(80)
+ .compressSavePath(FileUtils.getImageCompressPath())
+ .forResult(PictureConfig.CHOOSE_REQUEST);
+ }
+
+ private void takePicture() {
+ PictureSelector.create(this)
+ .openCamera(PictureMimeType.ofImage())
+ .imageEngine(GlideLoadEngine.createGlideEngine())
+ .maxSelectNum(1)
+ .isCompress(true)
+ .compressQuality(80)
+ .compressSavePath(FileUtils.getImageCompressPath())
+ .forResult(PictureConfig.REQUEST_CAMERA);
+ }
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ if (resultCode == RESULT_OK) {
+ switch (requestCode) {
+ case PictureConfig.CHOOSE_REQUEST:
+ List selectList = PictureSelector.obtainMultipleResult(data);
+ for (LocalMedia media : selectList) {
+ String mediaCompressPath = media.getCompressPath();
+ uploadImagePresenter.onReadyRetrofitRequest(new File(mediaCompressPath));
+ }
+ break;
+ case PictureConfig.REQUEST_CAMERA:
+ LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0);
+ uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath()));
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+ @Override
+ public void showProgress() {
+ submitDialog.show();
+ }
+
+ @Override
+ public void hideProgress() {
+ submitDialog.hide();
+ }
+
+ @Override
+ public void obtainUploadAudioResult(ActionResultBean resultBean) {
+
+ }
+
+ @Override
+ public void obtainUploadImageResult(ActionResultBean resultBean) {
+ if (resultBean.isSuccess()) {
+ PictureFileUtils.deleteAllCacheDirFile(this);
+ /**
+ * 系统路径static拼接图片返回路径
+ * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg
+ */
+ //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg
+ String url = resultBean.getData();
+ mediaList.add(url);
+ realPaths.add(StringHelper.appendCompleteURL(url));
+ if (realPaths.size() == 2) {
+ addImageView.setVisibility(View.GONE);
+ }
+ ImageRecycleViewAdapter imageAdapter = new ImageRecycleViewAdapter(this);
+ imageAdapter.setMediaList(realPaths);
+ caseHandleRecyclerView.setVisibility(View.VISIBLE);
+ caseHandleRecyclerView.setLayoutManager(new GridLayoutManager(this, 2));
+ caseHandleRecyclerView.addItemDecoration(new ItemDecorationSpace());
+ caseHandleRecyclerView.setAdapter(imageAdapter);
+ //九宫格点击事件
+ imageAdapter.setOnItemClickListener(new ImageRecycleViewAdapter.OnItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ //查看大图
+ showBigImage(realPaths.get(position));
+ }
+ });
+ //删除按钮点击事件
+ imageAdapter.setDeleteView(true);
+ imageAdapter.setOnDeleteClickListener(new ImageRecycleViewAdapter.OnDeleteItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ realPaths.remove(position);
+ imageAdapter.setMediaList(realPaths);
+ if (realPaths.size() != 2) {
+ addImageView.setVisibility(View.VISIBLE);
+ }
+ }
+ });
+ }
+ }
+
+ @Override
+ public void obtainUploadVideoResult(ActionResultBean resultBean) {
+
+ }
+
+ @Override
+ public void obtainCaseHandleResult(ActionResultBean resultBean) {
+ if (resultBean.isSuccess()) {
+ ToastHelper.showToast("案卷处理成功", ToastHelper.SUCCESS);
+ finish();
+ } else {
+ ToastHelper.showToast("案卷处理失败,请检查", ToastHelper.ERROR);
+ }
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (caseDetailPresenter != null) {
+ caseDetailPresenter.disposeRetrofitRequest();
+ }
+ if (caseLargeClassPresenter != null) {
+ caseLargeClassPresenter.disposeRetrofitRequest();
+ }
+ if (caseSmallClassPresenter != null) {
+ caseSmallClassPresenter.disposeRetrofitRequest();
+ }
+ if (caseNextNodePresenter != null) {
+ caseNextNodePresenter.disposeRetrofitRequest();
+ }
+ if (uploadImagePresenter != null) {
+ uploadImagePresenter.disposeRetrofitRequest();
+ }
+ if (caseHandlePresenter != null) {
+ caseHandlePresenter.disposeRetrofitRequest();
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseHandleOvertimeDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseHandleOvertimeDetailActivity.java
deleted file mode 100644
index bd187c5..0000000
--- a/app/src/main/java/com/casic/dcms/ui/CaseHandleOvertimeDetailActivity.java
+++ /dev/null
@@ -1,500 +0,0 @@
-package com.casic.dcms.ui;
-
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.text.TextUtils;
-import android.view.View;
-import android.widget.EditText;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import androidx.annotation.Nullable;
-import androidx.recyclerview.widget.GridLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.casic.dcms.R;
-import com.casic.dcms.adapter.ImageRecycleViewAdapter;
-import com.casic.dcms.base.BaseCaseActivity;
-import com.casic.dcms.bean.ActionResultBean;
-import com.casic.dcms.bean.CaseDetailBean;
-import com.casic.dcms.bean.CaseLargeClassBean;
-import com.casic.dcms.bean.CaseNextNodeBean;
-import com.casic.dcms.bean.CaseSmallClassBean;
-import com.casic.dcms.mvp.presenter.CaseDetailPresenterImpl;
-import com.casic.dcms.mvp.presenter.CaseHandlePresenterImpl;
-import com.casic.dcms.mvp.presenter.CaseLargeClassPresenterImpl;
-import com.casic.dcms.mvp.presenter.CaseNextNodePresenterImpl;
-import com.casic.dcms.mvp.presenter.CaseSmallClassPresenterImpl;
-import com.casic.dcms.mvp.presenter.UploadImagePresenterImpl;
-import com.casic.dcms.mvp.view.ICaseDetailView;
-import com.casic.dcms.mvp.view.ICaseHandleView;
-import com.casic.dcms.mvp.view.ICaseLargeClassView;
-import com.casic.dcms.mvp.view.ICaseNextNodeView;
-import com.casic.dcms.mvp.view.ICaseSmallClassView;
-import com.casic.dcms.mvp.view.IUploadFileView;
-import com.casic.dcms.utils.FileUtils;
-import com.casic.dcms.utils.GlideLoadEngine;
-import com.casic.dcms.utils.ItemDecorationSpace;
-import com.casic.dcms.utils.StringHelper;
-import com.casic.dcms.utils.ToastHelper;
-import com.luck.picture.lib.PictureSelector;
-import com.luck.picture.lib.config.PictureConfig;
-import com.luck.picture.lib.config.PictureMimeType;
-import com.luck.picture.lib.entity.LocalMedia;
-import com.luck.picture.lib.tools.PictureFileUtils;
-import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet;
-import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
-import com.qmuiteam.qmui.widget.dialog.QMUITipDialog;
-import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-import butterknife.BindView;
-import butterknife.OnClick;
-
-public class CaseHandleOvertimeDetailActivity extends BaseCaseActivity implements View.OnClickListener,
- ICaseDetailView, ICaseLargeClassView, ICaseSmallClassView, ICaseNextNodeView, IUploadFileView,
- ICaseHandleView {
-
- @BindView(R.id.caseTypeView)
- TextView caseTypeView;
- @BindView(R.id.caseLargeTypeView)
- TextView caseLargeTypeView;
- @BindView(R.id.caseSmallTypeView)
- TextView caseSmallTypeView;
- @BindView(R.id.caseCommunityView)
- TextView caseCommunityView;
- @BindView(R.id.casePlaceView)
- EditText casePlaceView;
- @BindView(R.id.caseSituationView)
- TextView caseSituationView;
- @BindView(R.id.caseHandleView)
- TextView caseHandleView;
- @BindView(R.id.casePicRecyclerView)
- RecyclerView casePicRecyclerView;
- @BindView(R.id.caseStartTimeView)
- TextView caseStartTimeView;
- @BindView(R.id.caseEndTimeView)
- TextView caseEndTimeView;
- @BindView(R.id.caseHandleResultView)
- TextView caseHandleResultView;
- @BindView(R.id.caseHandleRecyclerView)
- RecyclerView caseHandleRecyclerView;
- @BindView(R.id.addImageView)
- ImageView addImageView;
- @BindView(R.id.caseReasonView)
- EditText caseReasonView;
- @BindView(R.id.submitButton)
- QMUIRoundButton submitButton;
-
- private String id;
- private String changeState;
- private String caseReason;
- private String approvalResult;
- private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean();
- private List largeClassBeans = new ArrayList<>();
- private List smallClassBeans = new ArrayList<>();
- private List realPaths = new ArrayList<>();//真实图片路径
- private List mediaList = new ArrayList<>();//上传到服务器的数据集
-
- private CaseDetailPresenterImpl caseDetailPresenter;
- private CaseLargeClassPresenterImpl caseLargeClassPresenter;
- private CaseSmallClassPresenterImpl caseSmallClassPresenter;
- private CaseNextNodePresenterImpl caseNextNodePresenter;
- private UploadImagePresenterImpl uploadImagePresenter;
- private CaseHandlePresenterImpl caseHandlePresenter;
-
- private QMUITipDialog submitDialog;
-
- @Override
- public int initLayoutView() {
- return R.layout.activity_case_handle_overtime;
- }
-
- @Override
- protected String setTitleName() {
- return "超时案卷";
- }
-
- @Override
- public void initData() {
- id = getIntent().getStringExtra("id");
- caseDetailPresenter = new CaseDetailPresenterImpl(this);
- caseDetailPresenter.onReadyRetrofitRequest(id);
-
- caseLargeClassPresenter = new CaseLargeClassPresenterImpl(this);
- caseSmallClassPresenter = new CaseSmallClassPresenterImpl(this);
- caseNextNodePresenter = new CaseNextNodePresenterImpl(this);
- uploadImagePresenter = new UploadImagePresenterImpl(this);
- caseHandlePresenter = new CaseHandlePresenterImpl(this);
-
- submitDialog = new QMUITipDialog.Builder(this)
- .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
- .setTipWord("提交中,请稍后")
- .create();
- }
-
- @Override
- public void initEvent() {
- submitButton.setChangeAlphaWhenPress(true);
- }
-
- @Override
- public void obtainCaseDetailData(CaseDetailBean resultBean) {
- if (resultBean.isSuccess()) {
- this.data = resultBean.getData().get(0);
- caseTypeView.setText(data.getEorcName());
- caseLargeTypeView.setText(data.getCasetypeName());
- caseSmallTypeView.setText(data.getCasetypeDetailName());
- caseCommunityView.setText(data.getCommunityName().equals("") ? "社区信息未知" : data.getCommunityName());
- casePlaceView.setText(data.getFieldintro());
- caseSituationView.setText(data.getDescription());
- caseHandleView.setText(data.getProcessRemarks().equals("") ? "无处理意见" : data.getProcessRemarks());
- caseStartTimeView.setText(data.getCreateTime());
- caseEndTimeView.setText(data.getNodeLimittime());
-
- String verifyImages = data.getFileIdVerify();
- if (!TextUtils.isEmpty(verifyImages)) {
- List urls = new ArrayList<>();
- String[] split = verifyImages.split(",");
- for (String s : split) {
- urls.add(StringHelper.appendCompleteURL(s));
- }
- ImageRecycleViewAdapter imageAdapter = new ImageRecycleViewAdapter(this);
- imageAdapter.setMediaList(urls);
- casePicRecyclerView.setVisibility(View.VISIBLE);
- casePicRecyclerView.setLayoutManager(new GridLayoutManager(this, 2));
- casePicRecyclerView.addItemDecoration(new ItemDecorationSpace());
- casePicRecyclerView.setAdapter(imageAdapter);
- //九宫格点击事件
- imageAdapter.setOnItemClickListener(new ImageRecycleViewAdapter.OnItemClickListener() {
- @Override
- public void onClick(int position) {
- //查看大图
- showBigImage(urls.get(position));
- }
- });
- imageAdapter.setDeleteView(false);
- }
- }
- }
-
- private void showBigImage(String path) {
- Intent intent = new Intent(this, BigPictureActivity.class);
- intent.putExtra("path", path);
- startActivity(intent);
- }
-
- @Override
- public void obtainLargeClassData(CaseLargeClassBean largeClassBean) {
- if (largeClassBean.isSuccess()) {
- //设置大类数据
- this.largeClassBeans = largeClassBean.getData();
- if (largeClassBeans.size() == 0) {
- caseLargeTypeView.setText("无小类");
- } else {
- caseLargeTypeView.setText(largeClassBeans.get(0).getTypeName());//默认选择第一个
- }
- caseSmallTypeView.setText("请选择");
- }
- }
-
- @Override
- public void obtainSmallClassData(CaseSmallClassBean smallClassBean) {
- if (smallClassBean.isSuccess()) {
- //设置大类数据
- this.smallClassBeans = smallClassBean.getData();
- if (smallClassBeans.size() == 0) {
- caseSmallTypeView.setText("无小类");
- } else {
- caseSmallTypeView.setText(smallClassBeans.get(0).getTypeDetailName());//默认选择第一个
- }
- }
- }
-
- @Override
- public void obtainNextNodeData(CaseNextNodeBean resultBean) {
- if (resultBean.isSuccess()) {
- List dataBeans = resultBean.getData();
- QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this);
- sheetBuilder.setTitle("处理结果");
- for (CaseNextNodeBean.DataBean dataBean : dataBeans) {
- sheetBuilder.addItem(dataBean.getNextOperation());
- }
- sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
- @Override
- public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
- dialog.dismiss();
-
- CaseNextNodeBean.DataBean dataBean = dataBeans.get(position);
- caseHandleResultView.setText(dataBean.getNextOperation());
- changeState = String.valueOf(dataBean.getNextState());
- approvalResult = dataBean.getApprovalResult();
- }
- }).build().show();
- } else {
- ToastHelper.showToast("该案卷无下级流转节点", ToastHelper.ERROR);
- }
- }
-
- @OnClick({R.id.caseClassLayout, R.id.caseLargeClassLayout, R.id.caseSmallClassLayout, R.id.caseHandleResultLayout, R.id.addImageView, R.id.submitButton})
- @Override
- public void onClick(View v) {
- switch (v.getId()) {
- case R.id.caseClassLayout:
- new QMUIBottomSheet.BottomListSheetBuilder(this)
- .setTitle("案卷类型")
- .addItem("事件")
- .addItem("部件")
- .setGravityCenter(true)
- .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
- @Override
- public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
- dialog.dismiss();
-
- caseTypeView.setText(tag);
- //获取案卷大类
- caseLargeClassPresenter.onReadyRetrofitRequest(String.valueOf(position + 1));
- }
- }).build().show();
- break;
- case R.id.caseLargeClassLayout:
- if (largeClassBeans != null) {
- if (largeClassBeans.size() > 1) {
- QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this);
- sheetBuilder.setTitle("案卷大类");
- for (CaseLargeClassBean.DataBean dataBean : largeClassBeans) {
- sheetBuilder.addItem(dataBean.getTypeName());
- }
- sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
- @Override
- public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
- dialog.dismiss();
-
- caseLargeTypeView.setText(tag);
- //获取案卷小类
- CaseLargeClassBean.DataBean dataBean = largeClassBeans.get(position);
- String typeId = dataBean.getId();
- caseSmallClassPresenter.onReadyRetrofitRequest(dataBean.getEorc(), typeId);
- }
- }).build().show();
- }
- }
- break;
- case R.id.caseSmallClassLayout:
- if (smallClassBeans != null) {
- if (smallClassBeans.size() > 1) {
- QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this);
- sheetBuilder.setTitle("案卷小类");
- for (CaseSmallClassBean.DataBean dataBean : smallClassBeans) {
- sheetBuilder.addItem(dataBean.getTypeDetailName());
- }
- sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
- @Override
- public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
- dialog.dismiss();
-
- caseSmallTypeView.setText(tag);
- }
- }).build().show();
- }
- }
- break;
- case R.id.caseHandleResultLayout:
- caseNextNodePresenter.onReadyRetrofitRequest(String.valueOf(data.getCaseState()));
- break;
- case R.id.addImageView:
- new QMUIDialog.MenuDialogBuilder(this)
- .addItem("相册中选取", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- dialog.dismiss();
- //选图
- selectPicture();
- }
- })
- .addItem("相机拍照", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- dialog.dismiss();
- //拍照
- takePicture();
- }
- })
- .create().show();
- break;
- case R.id.submitButton:
- submitCase();//案卷提交
- break;
- default:
- break;
- }
- }
-
- private void submitCase() {
- String handleResult = caseHandleResultView.getText().toString();
- if (handleResult.equals("请选择")) {
- ToastHelper.showToast("还未选择处理结果", ToastHelper.WARING);
- return;
- }
- if (handleResult.equals("处理完成")) {
- //选择处理完成时,处理图片必传。至少一张,最多两张
- if (mediaList.size() < 1 || mediaList.size() > 2) {
- ToastHelper.showToast("当前案卷状态必须上传至少一张图片", ToastHelper.WARING);
- return;
- }
- }
- if (handleResult.equals("申请延期") || handleResult.equals("申请调整")) {
- caseReason = caseReasonView.getText().toString();
- if (TextUtils.isEmpty(caseReason)) {
- ToastHelper.showToast("延期/调整的原因必须填写", ToastHelper.WARING);
- return;
- }
- }
- caseHandlePresenter.onReadyRetrofitRequest(data.getProcessId(), id, String.valueOf(data.getCaseState()),
- changeState, caseReason, StringHelper.reformatURL(mediaList), approvalResult);
- }
-
- private void selectPicture() {
- PictureSelector.create(this)
- .openGallery(PictureMimeType.ofImage())
- .imageEngine(GlideLoadEngine.createGlideEngine())
- .maxSelectNum(2)
- .isCompress(true)
- .compressQuality(80)
- .compressSavePath(FileUtils.getImageCompressPath())
- .forResult(PictureConfig.CHOOSE_REQUEST);
- }
-
- private void takePicture() {
- PictureSelector.create(this)
- .openCamera(PictureMimeType.ofImage())
- .imageEngine(GlideLoadEngine.createGlideEngine())
- .maxSelectNum(1)
- .isCompress(true)
- .compressQuality(80)
- .compressSavePath(FileUtils.getImageCompressPath())
- .forResult(PictureConfig.REQUEST_CAMERA);
- }
-
- @Override
- protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- if (resultCode == RESULT_OK) {
- switch (requestCode) {
- case PictureConfig.CHOOSE_REQUEST:
- List selectList = PictureSelector.obtainMultipleResult(data);
- for (LocalMedia media : selectList) {
- String mediaCompressPath = media.getCompressPath();
- uploadImagePresenter.onReadyRetrofitRequest(new File(mediaCompressPath));
- }
- break;
- case PictureConfig.REQUEST_CAMERA:
- LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0);
- uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath()));
- break;
- default:
- break;
- }
- }
- }
-
- @Override
- public void showProgress() {
- submitDialog.show();
- }
-
- @Override
- public void hideProgress() {
- submitDialog.hide();
- }
-
- @Override
- public void obtainUploadAudioResult(ActionResultBean resultBean) {
-
- }
-
- @Override
- public void obtainUploadImageResult(ActionResultBean resultBean) {
- if (resultBean.isSuccess()) {
- PictureFileUtils.deleteAllCacheDirFile(this);
- /**
- * 系统路径static拼接图片返回路径
- * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg
- */
- //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg
- String url = resultBean.getData();
- mediaList.add(url);
- realPaths.add(StringHelper.appendCompleteURL(url));
- if (realPaths.size() == 2) {
- addImageView.setVisibility(View.GONE);
- }
- ImageRecycleViewAdapter imageAdapter = new ImageRecycleViewAdapter(this);
- imageAdapter.setMediaList(realPaths);
- caseHandleRecyclerView.setVisibility(View.VISIBLE);
- caseHandleRecyclerView.setLayoutManager(new GridLayoutManager(this, 2));
- caseHandleRecyclerView.addItemDecoration(new ItemDecorationSpace());
- caseHandleRecyclerView.setAdapter(imageAdapter);
- //九宫格点击事件
- imageAdapter.setOnItemClickListener(new ImageRecycleViewAdapter.OnItemClickListener() {
- @Override
- public void onClick(int position) {
- //查看大图
- showBigImage(realPaths.get(position));
- }
- });
- //删除按钮点击事件
- imageAdapter.setDeleteView(true);
- imageAdapter.setOnDeleteClickListener(new ImageRecycleViewAdapter.OnDeleteItemClickListener() {
- @Override
- public void onClick(int position) {
- realPaths.remove(position);
- imageAdapter.setMediaList(realPaths);
- if (realPaths.size() != 2) {
- addImageView.setVisibility(View.VISIBLE);
- }
- }
- });
- }
- }
-
- @Override
- public void obtainUploadVideoResult(ActionResultBean resultBean) {
-
- }
-
- @Override
- public void obtainCaseHandleResult(ActionResultBean resultBean) {
- if (resultBean.isSuccess()) {
- ToastHelper.showToast("案卷处理成功", ToastHelper.SUCCESS);
- finish();
- } else {
- ToastHelper.showToast("案卷处理失败,请检查", ToastHelper.ERROR);
- }
- }
-
- @Override
- protected void onDestroy() {
- super.onDestroy();
- if (caseDetailPresenter != null) {
- caseDetailPresenter.disposeRetrofitRequest();
- }
- if (caseLargeClassPresenter != null) {
- caseLargeClassPresenter.disposeRetrofitRequest();
- }
- if (caseSmallClassPresenter != null) {
- caseSmallClassPresenter.disposeRetrofitRequest();
- }
- if (caseNextNodePresenter != null) {
- caseNextNodePresenter.disposeRetrofitRequest();
- }
- if (uploadImagePresenter != null) {
- uploadImagePresenter.disposeRetrofitRequest();
- }
- if (caseHandlePresenter != null) {
- caseHandlePresenter.disposeRetrofitRequest();
- }
- }
-}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f6ac20a..2070c95 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -67,12 +67,14 @@
-
+
-
+
+
+
{
private Context context;
+ private List iconData = new ArrayList<>();
+ private List itemData = new ArrayList<>();
public HomeRecycleAdapter(Context context) {
this.context = context;
}
+ public void setItemData(@Nullable List icons, @Nullable List items) {
+ this.iconData = icons;
+ this.itemData = items;
+ }
+
@NonNull
@Override
public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
@@ -30,7 +40,7 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- holder.bindView(context, position);
+ holder.bindView(position);
if (clickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
@@ -43,7 +53,7 @@
@Override
public int getItemCount() {
- return Constant.ITEMS.size();
+ return itemData.size();
}
private OnGridItemClickListener clickListener;
@@ -56,7 +66,7 @@
this.clickListener = onGridItemClickListener;
}
- static class ItemViewHolder extends RecyclerView.ViewHolder {
+ class ItemViewHolder extends RecyclerView.ViewHolder {
private ImageView imageView;
private TextView textView;
@@ -67,9 +77,9 @@
textView = itemView.findViewById(R.id.textView);
}
- void bindView(Context context, int position) {
- imageView.setBackgroundResource(Constant.ICONS.get(position));
- textView.setText(Constant.ITEMS.get(position));
+ void bindView(int position) {
+ imageView.setBackgroundResource(iconData.get(position));
+ textView.setText(itemData.get(position));
}
}
}
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
index b9c4615..d9b10e0 100644
--- a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -11,6 +11,7 @@
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
import com.casic.dcms.R;
import java.util.ArrayList;
@@ -62,7 +63,10 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- Glide.with(context).load(mediaList.get(position)).into(holder.imageView);
+ Glide.with(context)
+ .load(mediaList.get(position))
+ .apply(new RequestOptions().error(R.drawable.ic_load_error))
+ .into(holder.imageView);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/app/src/main/java/com/casic/dcms/base/BaseActivity.java b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
index caf0356..2ca87fe 100644
--- a/app/src/main/java/com/casic/dcms/base/BaseActivity.java
+++ b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
@@ -17,8 +17,8 @@
setContentView(initLayoutView());
ButterKnife.bind(this);
QMUIStatusBarHelper.translucent(this);//沉浸式状态栏
- setupTopBarLayout();
initData();
+ setupTopBarLayout();
initEvent();
}
diff --git a/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
new file mode 100644
index 0000000..8de58a4
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
@@ -0,0 +1,78 @@
+package com.casic.dcms.bean;
+
+import java.util.List;
+
+public class CommonSentenceBean {
+ private int code;
+ private String message;
+ private boolean success;
+ private List data;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+
+ public List getData() {
+ return data;
+ }
+
+ public void setData(List data) {
+ this.data = data;
+ }
+
+ public static class DataBean {
+ /**
+ * name : 请及时处理
+ * id : 156
+ * value : 请及时处理
+ */
+
+ private String name;
+ private String id;
+ private String value;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java
new file mode 100644
index 0000000..5258d89
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseCommonSentenceModelImpl.java
@@ -0,0 +1,50 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class CaseCommonSentenceModelImpl implements ICaseCommonSentenceModel {
+
+ private OnGetCommonSentenceListener sentenceListener;
+
+ public CaseCommonSentenceModelImpl(OnGetCommonSentenceListener commonSentenceListener) {
+ this.sentenceListener = commonSentenceListener;
+ }
+
+ public interface OnGetCommonSentenceListener {
+ void onSuccess(CommonSentenceBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest() {
+ Observable observable = RetrofitServiceManager.getCommonSentenceResult();
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (sentenceListener != null) {
+ sentenceListener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(CommonSentenceBean resultBean) {
+ if (resultBean != null) {
+ sentenceListener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java
new file mode 100644
index 0000000..a8cb3fc
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseUpdateSuperviseModelImpl.java
@@ -0,0 +1,53 @@
+package com.casic.dcms.mvp.model;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.utils.retrofit.RetrofitServiceManager;
+
+import rx.Observable;
+import rx.Observer;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+public class CaseUpdateSuperviseModelImpl implements ICaseUpdateSuperviseModel {
+
+ private OnUpdateSuperviseListener listener;
+
+ public CaseUpdateSuperviseModelImpl(OnUpdateSuperviseListener updateSuperviseListener) {
+ this.listener = updateSuperviseListener;
+ }
+
+ /**
+ * 数据回调接口
+ */
+ public interface OnUpdateSuperviseListener {
+ void onSuccess(ActionResultBean resultBean);
+
+ void onFailure(Throwable throwable);
+ }
+
+ @Override
+ public Subscription sendRetrofitRequest(String id, String superviseRemarks) {
+ Observable observable = RetrofitServiceManager.getUpdateSuperviseResult(id, superviseRemarks);
+ return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() {
+ @Override
+ public void onCompleted() {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ if (listener != null) {
+ listener.onFailure(e);
+ }
+ }
+
+ @Override
+ public void onNext(ActionResultBean resultBean) {
+ if (resultBean != null) {
+ listener.onSuccess(resultBean);
+ }
+ }
+ });
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java
new file mode 100644
index 0000000..263ef6c
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseCommonSentenceModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface ICaseCommonSentenceModel {
+ Subscription sendRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java
new file mode 100644
index 0000000..518d602
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseUpdateSuperviseModel.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.model;
+
+import rx.Subscription;
+
+public interface ICaseUpdateSuperviseModel {
+ Subscription sendRetrofitRequest(String id, String superviseRemarks);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java
new file mode 100644
index 0000000..6b65f13
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseCommonSentencePresenterImpl.java
@@ -0,0 +1,38 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.CaseCommonSentenceModelImpl;
+import com.casic.dcms.mvp.view.ICaseCommonSentenceView;
+
+public class CaseCommonSentencePresenterImpl extends BasePresenter implements ICaseCommonSentencePresenter,
+ CaseCommonSentenceModelImpl.OnGetCommonSentenceListener {
+
+ private ICaseCommonSentenceView view;
+ private CaseCommonSentenceModelImpl actionModel;
+
+ public CaseCommonSentencePresenterImpl(ICaseCommonSentenceView commonSentenceView) {
+ this.view = commonSentenceView;
+ actionModel = new CaseCommonSentenceModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest() {
+ addSubscription(actionModel.sendRetrofitRequest());
+ }
+
+ @Override
+ public void disposeRetrofitRequest() {
+ unSubscription();
+ }
+
+ @Override
+ public void onSuccess(CommonSentenceBean resultBean) {
+ view.obtainCommonSentenceData(resultBean);
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseUpdateSupervisePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseUpdateSupervisePresenterImpl.java
new file mode 100644
index 0000000..66e1f44
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseUpdateSupervisePresenterImpl.java
@@ -0,0 +1,40 @@
+package com.casic.dcms.mvp.presenter;
+
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.mvp.BasePresenter;
+import com.casic.dcms.mvp.model.CaseUpdateSuperviseModelImpl;
+import com.casic.dcms.mvp.view.ICaseUpdateSuperviseView;
+
+public class CaseUpdateSupervisePresenterImpl extends BasePresenter implements ICaseUpdateSupervisePresenter,
+ CaseUpdateSuperviseModelImpl.OnUpdateSuperviseListener {
+
+ private ICaseUpdateSuperviseView view;
+ private CaseUpdateSuperviseModelImpl actionModel;
+
+ public CaseUpdateSupervisePresenterImpl(ICaseUpdateSuperviseView updateSuperviseView) {
+ this.view = updateSuperviseView;
+ actionModel = new CaseUpdateSuperviseModelImpl(this);
+ }
+
+ @Override
+ public void onReadyRetrofitRequest(String id, String superviseRemarks) {
+ view.showProgress();
+ addSubscription(actionModel.sendRetrofitRequest(id, superviseRemarks));
+ }
+
+ @Override
+ public void onSuccess(ActionResultBean resultBean) {
+ view.hideProgress();
+ view.obtainUpdateSuperviseData(resultBean);
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+ view.hideProgress();
+ }
+
+ @Override
+ public void disposeRetrofitRequest() {
+ unSubscription();
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseCommonSentencePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseCommonSentencePresenter.java
new file mode 100644
index 0000000..1f8bd09
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseCommonSentencePresenter.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.presenter;
+
+public interface ICaseCommonSentencePresenter {
+ void onReadyRetrofitRequest();
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseUpdateSupervisePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseUpdateSupervisePresenter.java
new file mode 100644
index 0000000..f61f9b2
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseUpdateSupervisePresenter.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.presenter;
+
+public interface ICaseUpdateSupervisePresenter {
+ void onReadyRetrofitRequest(String id, String superviseRemarks);
+
+ void disposeRetrofitRequest();
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseCommonSentenceView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseCommonSentenceView.java
new file mode 100644
index 0000000..9c7b08b
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseCommonSentenceView.java
@@ -0,0 +1,7 @@
+package com.casic.dcms.mvp.view;
+
+import com.casic.dcms.bean.CommonSentenceBean;
+
+public interface ICaseCommonSentenceView {
+ void obtainCommonSentenceData(CommonSentenceBean resultBean);
+}
diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseUpdateSuperviseView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseUpdateSuperviseView.java
new file mode 100644
index 0000000..10bcf5a
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseUpdateSuperviseView.java
@@ -0,0 +1,11 @@
+package com.casic.dcms.mvp.view;
+
+import com.casic.dcms.bean.ActionResultBean;
+
+public interface ICaseUpdateSuperviseView {
+ void showProgress();
+
+ void hideProgress();
+
+ void obtainUpdateSuperviseData(ActionResultBean resultBean);
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/BigPictureActivity.java b/app/src/main/java/com/casic/dcms/ui/BigPictureActivity.java
index ad70b7a..9143db8 100644
--- a/app/src/main/java/com/casic/dcms/ui/BigPictureActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/BigPictureActivity.java
@@ -1,10 +1,14 @@
package com.casic.dcms.ui;
+import android.view.View;
+
+import androidx.core.content.ContextCompat;
+
import com.bumptech.glide.Glide;
import com.casic.dcms.R;
import com.casic.dcms.base.BaseActivity;
import com.luck.picture.lib.photoview.PhotoView;
-import com.qmuiteam.qmui.util.QMUIStatusBarHelper;
+import com.qmuiteam.qmui.widget.QMUITopBarLayout;
import butterknife.BindView;
@@ -15,6 +19,8 @@
**/
public class BigPictureActivity extends BaseActivity {
+ @BindView(R.id.imageTopLayout)
+ QMUITopBarLayout imageTopLayout;
@BindView(R.id.photoView)
PhotoView photoView;
@@ -25,37 +31,24 @@
@Override
protected void setupTopBarLayout() {
- QMUIStatusBarHelper.setStatusBarLightMode(this);
+ imageTopLayout.setTitle("查看大图").setTextColor(ContextCompat.getColor(this, R.color.white));
+ imageTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor));
+ imageTopLayout.addLeftImageButton(R.drawable.ic_left_white, 0).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
}
@Override
public void initData() {
-// String mediaJson = getIntent().getStringExtra("mediaJson");
-//
-// List mediaList = new Gson().fromJson(mediaJson, new TypeToken>() {
-// }.getType());
-//
-// list = new ArrayList<>();
-// assert mediaList != null;
-// for (LocalMedia media : mediaList) {
-// list.add(media.getRealPath());
-// }
String path = getIntent().getStringExtra("path");
Glide.with(this).load(path).into(photoView);
}
@Override
public void initEvent() {
-// //轮播图
-// bigImageBanner.setImageLoader(new ImageLoader() {
-//
-// @Override
-// public void displayImage(Context context, Object path, ImageView imageView) {
-// Glide.with(context).load(path).into(imageView);
-// }
-// });
-// bigImageBanner.isAutoPlay(false);
-// bigImageBanner.setImages(list);
-// bigImageBanner.start();
+
}
}
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseCheckDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseCheckDetailActivity.java
index 01a3807..7548cfc 100644
--- a/app/src/main/java/com/casic/dcms/ui/CaseCheckDetailActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/CaseCheckDetailActivity.java
@@ -329,7 +329,7 @@
caseCommunityView.setText(data.getCommunityName());
casePlaceView.setText(data.getFieldintro());
caseSituationView.setText(data.getDescription());
- caseHandleView.setText(data.getProcessRemarks().equals("") ? "无处理意见" : data.getProcessRemarks());
+ caseHandleView.setText(data.getCaseStateName().equals("") ? "无处理意见" : data.getCaseStateName());
caseStartTimeView.setText(data.getCreateTime());
caseEndTimeView.setText(data.getNodeLimittime());
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseHandleDetailActivity.java
new file mode 100644
index 0000000..d4dba38
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/CaseHandleDetailActivity.java
@@ -0,0 +1,505 @@
+package com.casic.dcms.ui;
+
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.EditText;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.casic.dcms.R;
+import com.casic.dcms.adapter.ImageRecycleViewAdapter;
+import com.casic.dcms.base.BaseCaseActivity;
+import com.casic.dcms.bean.ActionResultBean;
+import com.casic.dcms.bean.CaseDetailBean;
+import com.casic.dcms.bean.CaseLargeClassBean;
+import com.casic.dcms.bean.CaseNextNodeBean;
+import com.casic.dcms.bean.CaseSmallClassBean;
+import com.casic.dcms.mvp.presenter.CaseDetailPresenterImpl;
+import com.casic.dcms.mvp.presenter.CaseHandlePresenterImpl;
+import com.casic.dcms.mvp.presenter.CaseLargeClassPresenterImpl;
+import com.casic.dcms.mvp.presenter.CaseNextNodePresenterImpl;
+import com.casic.dcms.mvp.presenter.CaseSmallClassPresenterImpl;
+import com.casic.dcms.mvp.presenter.UploadImagePresenterImpl;
+import com.casic.dcms.mvp.view.ICaseDetailView;
+import com.casic.dcms.mvp.view.ICaseHandleView;
+import com.casic.dcms.mvp.view.ICaseLargeClassView;
+import com.casic.dcms.mvp.view.ICaseNextNodeView;
+import com.casic.dcms.mvp.view.ICaseSmallClassView;
+import com.casic.dcms.mvp.view.IUploadFileView;
+import com.casic.dcms.utils.FileUtils;
+import com.casic.dcms.utils.GlideLoadEngine;
+import com.casic.dcms.utils.ItemDecorationSpace;
+import com.casic.dcms.utils.StringHelper;
+import com.casic.dcms.utils.ToastHelper;
+import com.luck.picture.lib.PictureSelector;
+import com.luck.picture.lib.config.PictureConfig;
+import com.luck.picture.lib.config.PictureMimeType;
+import com.luck.picture.lib.entity.LocalMedia;
+import com.luck.picture.lib.tools.PictureFileUtils;
+import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet;
+import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
+import com.qmuiteam.qmui.widget.dialog.QMUITipDialog;
+import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.BindView;
+import butterknife.OnClick;
+
+public class CaseHandleDetailActivity extends BaseCaseActivity implements View.OnClickListener,
+ ICaseDetailView, ICaseLargeClassView, ICaseSmallClassView, ICaseNextNodeView, IUploadFileView,
+ ICaseHandleView {
+
+ @BindView(R.id.caseNumberView)
+ TextView caseNumberView;
+ @BindView(R.id.caseTypeView)
+ TextView caseTypeView;
+ @BindView(R.id.caseLargeTypeView)
+ TextView caseLargeTypeView;
+ @BindView(R.id.caseSmallTypeView)
+ TextView caseSmallTypeView;
+ @BindView(R.id.caseCommunityView)
+ TextView caseCommunityView;
+ @BindView(R.id.casePlaceView)
+ EditText casePlaceView;
+ @BindView(R.id.caseSituationView)
+ TextView caseSituationView;
+ @BindView(R.id.caseHandleView)
+ TextView caseHandleView;
+ @BindView(R.id.casePicRecyclerView)
+ RecyclerView casePicRecyclerView;
+ @BindView(R.id.caseStartTimeView)
+ TextView caseStartTimeView;
+ @BindView(R.id.caseEndTimeView)
+ TextView caseEndTimeView;
+ @BindView(R.id.caseHandleResultView)
+ TextView caseHandleResultView;
+ @BindView(R.id.caseHandleRecyclerView)
+ RecyclerView caseHandleRecyclerView;
+ @BindView(R.id.addImageView)
+ ImageView addImageView;
+ @BindView(R.id.caseReasonView)
+ EditText caseReasonView;
+ @BindView(R.id.submitButton)
+ QMUIRoundButton submitButton;
+
+ private String title;
+ private String id;
+ private String changeState;
+ private String caseReason;
+ private String approvalResult;
+ private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean();
+ private List largeClassBeans = new ArrayList<>();
+ private List smallClassBeans = new ArrayList<>();
+ private List realPaths = new ArrayList<>();//真实图片路径
+ private List mediaList = new ArrayList<>();//上传到服务器的数据集
+
+ private CaseDetailPresenterImpl caseDetailPresenter;
+ private CaseLargeClassPresenterImpl caseLargeClassPresenter;
+ private CaseSmallClassPresenterImpl caseSmallClassPresenter;
+ private CaseNextNodePresenterImpl caseNextNodePresenter;
+ private UploadImagePresenterImpl uploadImagePresenter;
+ private CaseHandlePresenterImpl caseHandlePresenter;
+
+ private QMUITipDialog submitDialog;
+
+ @Override
+ public int initLayoutView() {
+ return R.layout.activity_case_handle_detail;
+ }
+
+ @Override
+ protected String setTitleName() {
+ return title;
+ }
+
+ @Override
+ public void initData() {
+ title = getIntent().getStringExtra("title");
+ id = getIntent().getStringExtra("id");
+ caseDetailPresenter = new CaseDetailPresenterImpl(this);
+ caseDetailPresenter.onReadyRetrofitRequest(id);
+
+ caseLargeClassPresenter = new CaseLargeClassPresenterImpl(this);
+ caseSmallClassPresenter = new CaseSmallClassPresenterImpl(this);
+ caseNextNodePresenter = new CaseNextNodePresenterImpl(this);
+ uploadImagePresenter = new UploadImagePresenterImpl(this);
+ caseHandlePresenter = new CaseHandlePresenterImpl(this);
+
+ submitDialog = new QMUITipDialog.Builder(this)
+ .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
+ .setTipWord("提交中,请稍后")
+ .create();
+ }
+
+ @Override
+ public void initEvent() {
+ submitButton.setChangeAlphaWhenPress(true);
+ }
+
+ @Override
+ public void obtainCaseDetailData(CaseDetailBean resultBean) {
+ if (resultBean.isSuccess()) {
+ this.data = resultBean.getData().get(0);
+ caseNumberView.setText(data.getCaseid());
+ caseTypeView.setText(data.getEorcName());
+ caseLargeTypeView.setText(data.getCasetypeName());
+ caseSmallTypeView.setText(data.getCasetypeDetailName());
+ caseCommunityView.setText(data.getCommunityName().equals("") ? "社区信息未知" : data.getCommunityName());
+ casePlaceView.setText(data.getFieldintro());
+ caseSituationView.setText(data.getDescription());
+ caseHandleView.setText(data.getCaseStateName().equals("") ? "无处理意见" : data.getCaseStateName());
+ caseStartTimeView.setText(data.getCreateTime());
+ caseEndTimeView.setText(data.getNodeLimittime());
+
+ String verifyImages = data.getFileIdVerify();
+ if (!TextUtils.isEmpty(verifyImages)) {
+ List urls = new ArrayList<>();
+ String[] split = verifyImages.split(",");
+ for (String s : split) {
+ urls.add(StringHelper.appendCompleteURL(s));
+ }
+ ImageRecycleViewAdapter imageAdapter = new ImageRecycleViewAdapter(this);
+ imageAdapter.setMediaList(urls);
+ casePicRecyclerView.setVisibility(View.VISIBLE);
+ casePicRecyclerView.setLayoutManager(new GridLayoutManager(this, 2));
+ casePicRecyclerView.addItemDecoration(new ItemDecorationSpace());
+ casePicRecyclerView.setAdapter(imageAdapter);
+ //九宫格点击事件
+ imageAdapter.setOnItemClickListener(new ImageRecycleViewAdapter.OnItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ //查看大图
+ showBigImage(urls.get(position));
+ }
+ });
+ imageAdapter.setDeleteView(false);
+ }
+ }
+ }
+
+ private void showBigImage(String path) {
+ Intent intent = new Intent(this, BigPictureActivity.class);
+ intent.putExtra("path", path);
+ startActivity(intent);
+ }
+
+ @Override
+ public void obtainLargeClassData(CaseLargeClassBean largeClassBean) {
+ if (largeClassBean.isSuccess()) {
+ //设置大类数据
+ this.largeClassBeans = largeClassBean.getData();
+ if (largeClassBeans.size() == 0) {
+ caseLargeTypeView.setText("无小类");
+ } else {
+ caseLargeTypeView.setText(largeClassBeans.get(0).getTypeName());//默认选择第一个
+ }
+ caseSmallTypeView.setText("请选择");
+ }
+ }
+
+ @Override
+ public void obtainSmallClassData(CaseSmallClassBean smallClassBean) {
+ if (smallClassBean.isSuccess()) {
+ //设置大类数据
+ this.smallClassBeans = smallClassBean.getData();
+ if (smallClassBeans.size() == 0) {
+ caseSmallTypeView.setText("无小类");
+ } else {
+ caseSmallTypeView.setText(smallClassBeans.get(0).getTypeDetailName());//默认选择第一个
+ }
+ }
+ }
+
+ @Override
+ public void obtainNextNodeData(CaseNextNodeBean resultBean) {
+ if (resultBean.isSuccess()) {
+ List dataBeans = resultBean.getData();
+ QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this);
+ sheetBuilder.setTitle("处理结果");
+ for (CaseNextNodeBean.DataBean dataBean : dataBeans) {
+ sheetBuilder.addItem(dataBean.getNextOperation());
+ }
+ sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
+ @Override
+ public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
+ dialog.dismiss();
+
+ CaseNextNodeBean.DataBean dataBean = dataBeans.get(position);
+ caseHandleResultView.setText(dataBean.getNextOperation());
+ changeState = String.valueOf(dataBean.getNextState());
+ approvalResult = dataBean.getApprovalResult();
+ }
+ }).build().show();
+ } else {
+ ToastHelper.showToast("该案卷无下级流转节点", ToastHelper.ERROR);
+ }
+ }
+
+ @OnClick({R.id.caseClassLayout, R.id.caseLargeClassLayout, R.id.caseSmallClassLayout, R.id.caseHandleResultLayout, R.id.addImageView, R.id.submitButton})
+ @Override
+ public void onClick(View v) {
+ switch (v.getId()) {
+ case R.id.caseClassLayout:
+ new QMUIBottomSheet.BottomListSheetBuilder(this)
+ .setTitle("案卷类型")
+ .addItem("事件")
+ .addItem("部件")
+ .setGravityCenter(true)
+ .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
+ @Override
+ public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
+ dialog.dismiss();
+
+ caseTypeView.setText(tag);
+ //获取案卷大类
+ caseLargeClassPresenter.onReadyRetrofitRequest(String.valueOf(position + 1));
+ }
+ }).build().show();
+ break;
+ case R.id.caseLargeClassLayout:
+ if (largeClassBeans != null) {
+ if (largeClassBeans.size() > 1) {
+ QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this);
+ sheetBuilder.setTitle("案卷大类");
+ for (CaseLargeClassBean.DataBean dataBean : largeClassBeans) {
+ sheetBuilder.addItem(dataBean.getTypeName());
+ }
+ sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
+ @Override
+ public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
+ dialog.dismiss();
+
+ caseLargeTypeView.setText(tag);
+ //获取案卷小类
+ CaseLargeClassBean.DataBean dataBean = largeClassBeans.get(position);
+ String typeId = dataBean.getId();
+ caseSmallClassPresenter.onReadyRetrofitRequest(dataBean.getEorc(), typeId);
+ }
+ }).build().show();
+ }
+ }
+ break;
+ case R.id.caseSmallClassLayout:
+ if (smallClassBeans != null) {
+ if (smallClassBeans.size() > 1) {
+ QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this);
+ sheetBuilder.setTitle("案卷小类");
+ for (CaseSmallClassBean.DataBean dataBean : smallClassBeans) {
+ sheetBuilder.addItem(dataBean.getTypeDetailName());
+ }
+ sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
+ @Override
+ public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
+ dialog.dismiss();
+
+ caseSmallTypeView.setText(tag);
+ }
+ }).build().show();
+ }
+ }
+ break;
+ case R.id.caseHandleResultLayout:
+ caseNextNodePresenter.onReadyRetrofitRequest(String.valueOf(data.getCaseState()));
+ break;
+ case R.id.addImageView:
+ new QMUIDialog.MenuDialogBuilder(this)
+ .addItem("相册中选取", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ //选图
+ selectPicture();
+ }
+ })
+ .addItem("相机拍照", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ //拍照
+ takePicture();
+ }
+ })
+ .create().show();
+ break;
+ case R.id.submitButton:
+ submitCase();//案卷提交
+ break;
+ default:
+ break;
+ }
+ }
+
+ private void submitCase() {
+ String handleResult = caseHandleResultView.getText().toString();
+ if (handleResult.equals("请选择")) {
+ ToastHelper.showToast("还未选择处理结果", ToastHelper.WARING);
+ return;
+ }
+ if (handleResult.equals("处理完成")) {
+ //选择处理完成时,处理图片必传。至少一张,最多两张
+ if (mediaList.size() < 1 || mediaList.size() > 2) {
+ ToastHelper.showToast("当前案卷状态必须上传至少一张图片", ToastHelper.WARING);
+ return;
+ }
+ }
+ if (handleResult.equals("申请延期") || handleResult.equals("申请调整")) {
+ caseReason = caseReasonView.getText().toString();
+ if (TextUtils.isEmpty(caseReason)) {
+ ToastHelper.showToast("延期/调整的原因必须填写", ToastHelper.WARING);
+ return;
+ }
+ }
+ caseHandlePresenter.onReadyRetrofitRequest(data.getProcessId(), id, String.valueOf(data.getCaseState()),
+ changeState, caseReason, StringHelper.reformatURL(mediaList), approvalResult);
+ }
+
+ private void selectPicture() {
+ PictureSelector.create(this)
+ .openGallery(PictureMimeType.ofImage())
+ .imageEngine(GlideLoadEngine.createGlideEngine())
+ .maxSelectNum(2)
+ .isCompress(true)
+ .compressQuality(80)
+ .compressSavePath(FileUtils.getImageCompressPath())
+ .forResult(PictureConfig.CHOOSE_REQUEST);
+ }
+
+ private void takePicture() {
+ PictureSelector.create(this)
+ .openCamera(PictureMimeType.ofImage())
+ .imageEngine(GlideLoadEngine.createGlideEngine())
+ .maxSelectNum(1)
+ .isCompress(true)
+ .compressQuality(80)
+ .compressSavePath(FileUtils.getImageCompressPath())
+ .forResult(PictureConfig.REQUEST_CAMERA);
+ }
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ if (resultCode == RESULT_OK) {
+ switch (requestCode) {
+ case PictureConfig.CHOOSE_REQUEST:
+ List selectList = PictureSelector.obtainMultipleResult(data);
+ for (LocalMedia media : selectList) {
+ String mediaCompressPath = media.getCompressPath();
+ uploadImagePresenter.onReadyRetrofitRequest(new File(mediaCompressPath));
+ }
+ break;
+ case PictureConfig.REQUEST_CAMERA:
+ LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0);
+ uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath()));
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+ @Override
+ public void showProgress() {
+ submitDialog.show();
+ }
+
+ @Override
+ public void hideProgress() {
+ submitDialog.hide();
+ }
+
+ @Override
+ public void obtainUploadAudioResult(ActionResultBean resultBean) {
+
+ }
+
+ @Override
+ public void obtainUploadImageResult(ActionResultBean resultBean) {
+ if (resultBean.isSuccess()) {
+ PictureFileUtils.deleteAllCacheDirFile(this);
+ /**
+ * 系统路径static拼接图片返回路径
+ * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg
+ */
+ //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg
+ String url = resultBean.getData();
+ mediaList.add(url);
+ realPaths.add(StringHelper.appendCompleteURL(url));
+ if (realPaths.size() == 2) {
+ addImageView.setVisibility(View.GONE);
+ }
+ ImageRecycleViewAdapter imageAdapter = new ImageRecycleViewAdapter(this);
+ imageAdapter.setMediaList(realPaths);
+ caseHandleRecyclerView.setVisibility(View.VISIBLE);
+ caseHandleRecyclerView.setLayoutManager(new GridLayoutManager(this, 2));
+ caseHandleRecyclerView.addItemDecoration(new ItemDecorationSpace());
+ caseHandleRecyclerView.setAdapter(imageAdapter);
+ //九宫格点击事件
+ imageAdapter.setOnItemClickListener(new ImageRecycleViewAdapter.OnItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ //查看大图
+ showBigImage(realPaths.get(position));
+ }
+ });
+ //删除按钮点击事件
+ imageAdapter.setDeleteView(true);
+ imageAdapter.setOnDeleteClickListener(new ImageRecycleViewAdapter.OnDeleteItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ realPaths.remove(position);
+ imageAdapter.setMediaList(realPaths);
+ if (realPaths.size() != 2) {
+ addImageView.setVisibility(View.VISIBLE);
+ }
+ }
+ });
+ }
+ }
+
+ @Override
+ public void obtainUploadVideoResult(ActionResultBean resultBean) {
+
+ }
+
+ @Override
+ public void obtainCaseHandleResult(ActionResultBean resultBean) {
+ if (resultBean.isSuccess()) {
+ ToastHelper.showToast("案卷处理成功", ToastHelper.SUCCESS);
+ finish();
+ } else {
+ ToastHelper.showToast("案卷处理失败,请检查", ToastHelper.ERROR);
+ }
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (caseDetailPresenter != null) {
+ caseDetailPresenter.disposeRetrofitRequest();
+ }
+ if (caseLargeClassPresenter != null) {
+ caseLargeClassPresenter.disposeRetrofitRequest();
+ }
+ if (caseSmallClassPresenter != null) {
+ caseSmallClassPresenter.disposeRetrofitRequest();
+ }
+ if (caseNextNodePresenter != null) {
+ caseNextNodePresenter.disposeRetrofitRequest();
+ }
+ if (uploadImagePresenter != null) {
+ uploadImagePresenter.disposeRetrofitRequest();
+ }
+ if (caseHandlePresenter != null) {
+ caseHandlePresenter.disposeRetrofitRequest();
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseHandleOvertimeDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseHandleOvertimeDetailActivity.java
deleted file mode 100644
index bd187c5..0000000
--- a/app/src/main/java/com/casic/dcms/ui/CaseHandleOvertimeDetailActivity.java
+++ /dev/null
@@ -1,500 +0,0 @@
-package com.casic.dcms.ui;
-
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.text.TextUtils;
-import android.view.View;
-import android.widget.EditText;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import androidx.annotation.Nullable;
-import androidx.recyclerview.widget.GridLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.casic.dcms.R;
-import com.casic.dcms.adapter.ImageRecycleViewAdapter;
-import com.casic.dcms.base.BaseCaseActivity;
-import com.casic.dcms.bean.ActionResultBean;
-import com.casic.dcms.bean.CaseDetailBean;
-import com.casic.dcms.bean.CaseLargeClassBean;
-import com.casic.dcms.bean.CaseNextNodeBean;
-import com.casic.dcms.bean.CaseSmallClassBean;
-import com.casic.dcms.mvp.presenter.CaseDetailPresenterImpl;
-import com.casic.dcms.mvp.presenter.CaseHandlePresenterImpl;
-import com.casic.dcms.mvp.presenter.CaseLargeClassPresenterImpl;
-import com.casic.dcms.mvp.presenter.CaseNextNodePresenterImpl;
-import com.casic.dcms.mvp.presenter.CaseSmallClassPresenterImpl;
-import com.casic.dcms.mvp.presenter.UploadImagePresenterImpl;
-import com.casic.dcms.mvp.view.ICaseDetailView;
-import com.casic.dcms.mvp.view.ICaseHandleView;
-import com.casic.dcms.mvp.view.ICaseLargeClassView;
-import com.casic.dcms.mvp.view.ICaseNextNodeView;
-import com.casic.dcms.mvp.view.ICaseSmallClassView;
-import com.casic.dcms.mvp.view.IUploadFileView;
-import com.casic.dcms.utils.FileUtils;
-import com.casic.dcms.utils.GlideLoadEngine;
-import com.casic.dcms.utils.ItemDecorationSpace;
-import com.casic.dcms.utils.StringHelper;
-import com.casic.dcms.utils.ToastHelper;
-import com.luck.picture.lib.PictureSelector;
-import com.luck.picture.lib.config.PictureConfig;
-import com.luck.picture.lib.config.PictureMimeType;
-import com.luck.picture.lib.entity.LocalMedia;
-import com.luck.picture.lib.tools.PictureFileUtils;
-import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet;
-import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
-import com.qmuiteam.qmui.widget.dialog.QMUITipDialog;
-import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-import butterknife.BindView;
-import butterknife.OnClick;
-
-public class CaseHandleOvertimeDetailActivity extends BaseCaseActivity implements View.OnClickListener,
- ICaseDetailView, ICaseLargeClassView, ICaseSmallClassView, ICaseNextNodeView, IUploadFileView,
- ICaseHandleView {
-
- @BindView(R.id.caseTypeView)
- TextView caseTypeView;
- @BindView(R.id.caseLargeTypeView)
- TextView caseLargeTypeView;
- @BindView(R.id.caseSmallTypeView)
- TextView caseSmallTypeView;
- @BindView(R.id.caseCommunityView)
- TextView caseCommunityView;
- @BindView(R.id.casePlaceView)
- EditText casePlaceView;
- @BindView(R.id.caseSituationView)
- TextView caseSituationView;
- @BindView(R.id.caseHandleView)
- TextView caseHandleView;
- @BindView(R.id.casePicRecyclerView)
- RecyclerView casePicRecyclerView;
- @BindView(R.id.caseStartTimeView)
- TextView caseStartTimeView;
- @BindView(R.id.caseEndTimeView)
- TextView caseEndTimeView;
- @BindView(R.id.caseHandleResultView)
- TextView caseHandleResultView;
- @BindView(R.id.caseHandleRecyclerView)
- RecyclerView caseHandleRecyclerView;
- @BindView(R.id.addImageView)
- ImageView addImageView;
- @BindView(R.id.caseReasonView)
- EditText caseReasonView;
- @BindView(R.id.submitButton)
- QMUIRoundButton submitButton;
-
- private String id;
- private String changeState;
- private String caseReason;
- private String approvalResult;
- private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean();
- private List largeClassBeans = new ArrayList<>();
- private List smallClassBeans = new ArrayList<>();
- private List realPaths = new ArrayList<>();//真实图片路径
- private List mediaList = new ArrayList<>();//上传到服务器的数据集
-
- private CaseDetailPresenterImpl caseDetailPresenter;
- private CaseLargeClassPresenterImpl caseLargeClassPresenter;
- private CaseSmallClassPresenterImpl caseSmallClassPresenter;
- private CaseNextNodePresenterImpl caseNextNodePresenter;
- private UploadImagePresenterImpl uploadImagePresenter;
- private CaseHandlePresenterImpl caseHandlePresenter;
-
- private QMUITipDialog submitDialog;
-
- @Override
- public int initLayoutView() {
- return R.layout.activity_case_handle_overtime;
- }
-
- @Override
- protected String setTitleName() {
- return "超时案卷";
- }
-
- @Override
- public void initData() {
- id = getIntent().getStringExtra("id");
- caseDetailPresenter = new CaseDetailPresenterImpl(this);
- caseDetailPresenter.onReadyRetrofitRequest(id);
-
- caseLargeClassPresenter = new CaseLargeClassPresenterImpl(this);
- caseSmallClassPresenter = new CaseSmallClassPresenterImpl(this);
- caseNextNodePresenter = new CaseNextNodePresenterImpl(this);
- uploadImagePresenter = new UploadImagePresenterImpl(this);
- caseHandlePresenter = new CaseHandlePresenterImpl(this);
-
- submitDialog = new QMUITipDialog.Builder(this)
- .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
- .setTipWord("提交中,请稍后")
- .create();
- }
-
- @Override
- public void initEvent() {
- submitButton.setChangeAlphaWhenPress(true);
- }
-
- @Override
- public void obtainCaseDetailData(CaseDetailBean resultBean) {
- if (resultBean.isSuccess()) {
- this.data = resultBean.getData().get(0);
- caseTypeView.setText(data.getEorcName());
- caseLargeTypeView.setText(data.getCasetypeName());
- caseSmallTypeView.setText(data.getCasetypeDetailName());
- caseCommunityView.setText(data.getCommunityName().equals("") ? "社区信息未知" : data.getCommunityName());
- casePlaceView.setText(data.getFieldintro());
- caseSituationView.setText(data.getDescription());
- caseHandleView.setText(data.getProcessRemarks().equals("") ? "无处理意见" : data.getProcessRemarks());
- caseStartTimeView.setText(data.getCreateTime());
- caseEndTimeView.setText(data.getNodeLimittime());
-
- String verifyImages = data.getFileIdVerify();
- if (!TextUtils.isEmpty(verifyImages)) {
- List urls = new ArrayList<>();
- String[] split = verifyImages.split(",");
- for (String s : split) {
- urls.add(StringHelper.appendCompleteURL(s));
- }
- ImageRecycleViewAdapter imageAdapter = new ImageRecycleViewAdapter(this);
- imageAdapter.setMediaList(urls);
- casePicRecyclerView.setVisibility(View.VISIBLE);
- casePicRecyclerView.setLayoutManager(new GridLayoutManager(this, 2));
- casePicRecyclerView.addItemDecoration(new ItemDecorationSpace());
- casePicRecyclerView.setAdapter(imageAdapter);
- //九宫格点击事件
- imageAdapter.setOnItemClickListener(new ImageRecycleViewAdapter.OnItemClickListener() {
- @Override
- public void onClick(int position) {
- //查看大图
- showBigImage(urls.get(position));
- }
- });
- imageAdapter.setDeleteView(false);
- }
- }
- }
-
- private void showBigImage(String path) {
- Intent intent = new Intent(this, BigPictureActivity.class);
- intent.putExtra("path", path);
- startActivity(intent);
- }
-
- @Override
- public void obtainLargeClassData(CaseLargeClassBean largeClassBean) {
- if (largeClassBean.isSuccess()) {
- //设置大类数据
- this.largeClassBeans = largeClassBean.getData();
- if (largeClassBeans.size() == 0) {
- caseLargeTypeView.setText("无小类");
- } else {
- caseLargeTypeView.setText(largeClassBeans.get(0).getTypeName());//默认选择第一个
- }
- caseSmallTypeView.setText("请选择");
- }
- }
-
- @Override
- public void obtainSmallClassData(CaseSmallClassBean smallClassBean) {
- if (smallClassBean.isSuccess()) {
- //设置大类数据
- this.smallClassBeans = smallClassBean.getData();
- if (smallClassBeans.size() == 0) {
- caseSmallTypeView.setText("无小类");
- } else {
- caseSmallTypeView.setText(smallClassBeans.get(0).getTypeDetailName());//默认选择第一个
- }
- }
- }
-
- @Override
- public void obtainNextNodeData(CaseNextNodeBean resultBean) {
- if (resultBean.isSuccess()) {
- List dataBeans = resultBean.getData();
- QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this);
- sheetBuilder.setTitle("处理结果");
- for (CaseNextNodeBean.DataBean dataBean : dataBeans) {
- sheetBuilder.addItem(dataBean.getNextOperation());
- }
- sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
- @Override
- public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
- dialog.dismiss();
-
- CaseNextNodeBean.DataBean dataBean = dataBeans.get(position);
- caseHandleResultView.setText(dataBean.getNextOperation());
- changeState = String.valueOf(dataBean.getNextState());
- approvalResult = dataBean.getApprovalResult();
- }
- }).build().show();
- } else {
- ToastHelper.showToast("该案卷无下级流转节点", ToastHelper.ERROR);
- }
- }
-
- @OnClick({R.id.caseClassLayout, R.id.caseLargeClassLayout, R.id.caseSmallClassLayout, R.id.caseHandleResultLayout, R.id.addImageView, R.id.submitButton})
- @Override
- public void onClick(View v) {
- switch (v.getId()) {
- case R.id.caseClassLayout:
- new QMUIBottomSheet.BottomListSheetBuilder(this)
- .setTitle("案卷类型")
- .addItem("事件")
- .addItem("部件")
- .setGravityCenter(true)
- .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
- @Override
- public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
- dialog.dismiss();
-
- caseTypeView.setText(tag);
- //获取案卷大类
- caseLargeClassPresenter.onReadyRetrofitRequest(String.valueOf(position + 1));
- }
- }).build().show();
- break;
- case R.id.caseLargeClassLayout:
- if (largeClassBeans != null) {
- if (largeClassBeans.size() > 1) {
- QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this);
- sheetBuilder.setTitle("案卷大类");
- for (CaseLargeClassBean.DataBean dataBean : largeClassBeans) {
- sheetBuilder.addItem(dataBean.getTypeName());
- }
- sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
- @Override
- public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
- dialog.dismiss();
-
- caseLargeTypeView.setText(tag);
- //获取案卷小类
- CaseLargeClassBean.DataBean dataBean = largeClassBeans.get(position);
- String typeId = dataBean.getId();
- caseSmallClassPresenter.onReadyRetrofitRequest(dataBean.getEorc(), typeId);
- }
- }).build().show();
- }
- }
- break;
- case R.id.caseSmallClassLayout:
- if (smallClassBeans != null) {
- if (smallClassBeans.size() > 1) {
- QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this);
- sheetBuilder.setTitle("案卷小类");
- for (CaseSmallClassBean.DataBean dataBean : smallClassBeans) {
- sheetBuilder.addItem(dataBean.getTypeDetailName());
- }
- sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
- @Override
- public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
- dialog.dismiss();
-
- caseSmallTypeView.setText(tag);
- }
- }).build().show();
- }
- }
- break;
- case R.id.caseHandleResultLayout:
- caseNextNodePresenter.onReadyRetrofitRequest(String.valueOf(data.getCaseState()));
- break;
- case R.id.addImageView:
- new QMUIDialog.MenuDialogBuilder(this)
- .addItem("相册中选取", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- dialog.dismiss();
- //选图
- selectPicture();
- }
- })
- .addItem("相机拍照", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- dialog.dismiss();
- //拍照
- takePicture();
- }
- })
- .create().show();
- break;
- case R.id.submitButton:
- submitCase();//案卷提交
- break;
- default:
- break;
- }
- }
-
- private void submitCase() {
- String handleResult = caseHandleResultView.getText().toString();
- if (handleResult.equals("请选择")) {
- ToastHelper.showToast("还未选择处理结果", ToastHelper.WARING);
- return;
- }
- if (handleResult.equals("处理完成")) {
- //选择处理完成时,处理图片必传。至少一张,最多两张
- if (mediaList.size() < 1 || mediaList.size() > 2) {
- ToastHelper.showToast("当前案卷状态必须上传至少一张图片", ToastHelper.WARING);
- return;
- }
- }
- if (handleResult.equals("申请延期") || handleResult.equals("申请调整")) {
- caseReason = caseReasonView.getText().toString();
- if (TextUtils.isEmpty(caseReason)) {
- ToastHelper.showToast("延期/调整的原因必须填写", ToastHelper.WARING);
- return;
- }
- }
- caseHandlePresenter.onReadyRetrofitRequest(data.getProcessId(), id, String.valueOf(data.getCaseState()),
- changeState, caseReason, StringHelper.reformatURL(mediaList), approvalResult);
- }
-
- private void selectPicture() {
- PictureSelector.create(this)
- .openGallery(PictureMimeType.ofImage())
- .imageEngine(GlideLoadEngine.createGlideEngine())
- .maxSelectNum(2)
- .isCompress(true)
- .compressQuality(80)
- .compressSavePath(FileUtils.getImageCompressPath())
- .forResult(PictureConfig.CHOOSE_REQUEST);
- }
-
- private void takePicture() {
- PictureSelector.create(this)
- .openCamera(PictureMimeType.ofImage())
- .imageEngine(GlideLoadEngine.createGlideEngine())
- .maxSelectNum(1)
- .isCompress(true)
- .compressQuality(80)
- .compressSavePath(FileUtils.getImageCompressPath())
- .forResult(PictureConfig.REQUEST_CAMERA);
- }
-
- @Override
- protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- if (resultCode == RESULT_OK) {
- switch (requestCode) {
- case PictureConfig.CHOOSE_REQUEST:
- List selectList = PictureSelector.obtainMultipleResult(data);
- for (LocalMedia media : selectList) {
- String mediaCompressPath = media.getCompressPath();
- uploadImagePresenter.onReadyRetrofitRequest(new File(mediaCompressPath));
- }
- break;
- case PictureConfig.REQUEST_CAMERA:
- LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0);
- uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath()));
- break;
- default:
- break;
- }
- }
- }
-
- @Override
- public void showProgress() {
- submitDialog.show();
- }
-
- @Override
- public void hideProgress() {
- submitDialog.hide();
- }
-
- @Override
- public void obtainUploadAudioResult(ActionResultBean resultBean) {
-
- }
-
- @Override
- public void obtainUploadImageResult(ActionResultBean resultBean) {
- if (resultBean.isSuccess()) {
- PictureFileUtils.deleteAllCacheDirFile(this);
- /**
- * 系统路径static拼接图片返回路径
- * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg
- */
- //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg
- String url = resultBean.getData();
- mediaList.add(url);
- realPaths.add(StringHelper.appendCompleteURL(url));
- if (realPaths.size() == 2) {
- addImageView.setVisibility(View.GONE);
- }
- ImageRecycleViewAdapter imageAdapter = new ImageRecycleViewAdapter(this);
- imageAdapter.setMediaList(realPaths);
- caseHandleRecyclerView.setVisibility(View.VISIBLE);
- caseHandleRecyclerView.setLayoutManager(new GridLayoutManager(this, 2));
- caseHandleRecyclerView.addItemDecoration(new ItemDecorationSpace());
- caseHandleRecyclerView.setAdapter(imageAdapter);
- //九宫格点击事件
- imageAdapter.setOnItemClickListener(new ImageRecycleViewAdapter.OnItemClickListener() {
- @Override
- public void onClick(int position) {
- //查看大图
- showBigImage(realPaths.get(position));
- }
- });
- //删除按钮点击事件
- imageAdapter.setDeleteView(true);
- imageAdapter.setOnDeleteClickListener(new ImageRecycleViewAdapter.OnDeleteItemClickListener() {
- @Override
- public void onClick(int position) {
- realPaths.remove(position);
- imageAdapter.setMediaList(realPaths);
- if (realPaths.size() != 2) {
- addImageView.setVisibility(View.VISIBLE);
- }
- }
- });
- }
- }
-
- @Override
- public void obtainUploadVideoResult(ActionResultBean resultBean) {
-
- }
-
- @Override
- public void obtainCaseHandleResult(ActionResultBean resultBean) {
- if (resultBean.isSuccess()) {
- ToastHelper.showToast("案卷处理成功", ToastHelper.SUCCESS);
- finish();
- } else {
- ToastHelper.showToast("案卷处理失败,请检查", ToastHelper.ERROR);
- }
- }
-
- @Override
- protected void onDestroy() {
- super.onDestroy();
- if (caseDetailPresenter != null) {
- caseDetailPresenter.disposeRetrofitRequest();
- }
- if (caseLargeClassPresenter != null) {
- caseLargeClassPresenter.disposeRetrofitRequest();
- }
- if (caseSmallClassPresenter != null) {
- caseSmallClassPresenter.disposeRetrofitRequest();
- }
- if (caseNextNodePresenter != null) {
- caseNextNodePresenter.disposeRetrofitRequest();
- }
- if (uploadImagePresenter != null) {
- uploadImagePresenter.disposeRetrofitRequest();
- }
- if (caseHandlePresenter != null) {
- caseHandlePresenter.disposeRetrofitRequest();
- }
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseHandledDetailActivity.java
new file mode 100644
index 0000000..5ea5403
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/CaseHandledDetailActivity.java
@@ -0,0 +1,145 @@
+package com.casic.dcms.ui;
+
+import android.content.Intent;
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.TextView;
+
+import androidx.core.content.ContextCompat;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.casic.dcms.R;
+import com.casic.dcms.adapter.ImageRecycleViewAdapter;
+import com.casic.dcms.base.BaseActivity;
+import com.casic.dcms.bean.CaseDetailBean;
+import com.casic.dcms.mvp.presenter.CaseDetailPresenterImpl;
+import com.casic.dcms.mvp.view.ICaseDetailView;
+import com.casic.dcms.utils.ItemDecorationSpace;
+import com.casic.dcms.utils.StringHelper;
+import com.qmuiteam.qmui.widget.QMUITopBarLayout;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.BindView;
+import butterknife.OnClick;
+
+public class CaseHandledDetailActivity extends BaseActivity implements View.OnClickListener, ICaseDetailView {
+
+ @BindView(R.id.detailTopLayout)
+ QMUITopBarLayout detailTopLayout;
+ @BindView(R.id.caseNumberView)
+ TextView caseNumberView;
+ @BindView(R.id.caseHandleStatusView)
+ TextView caseHandleStatusView;
+ @BindView(R.id.caseTypeView)
+ TextView caseTypeView;
+ @BindView(R.id.caseLargeTypeView)
+ TextView caseLargeTypeView;
+ @BindView(R.id.caseSmallTypeView)
+ TextView caseSmallTypeView;
+ @BindView(R.id.caseCommunityView)
+ TextView caseCommunityView;
+ @BindView(R.id.casePlaceView)
+ TextView casePlaceView;
+ @BindView(R.id.caseSituationView)
+ TextView caseSituationView;
+ @BindView(R.id.casePicRecyclerView)
+ RecyclerView casePicRecyclerView;
+
+ private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean();
+ private CaseDetailPresenterImpl caseDetailPresenter;
+
+ @Override
+ public int initLayoutView() {
+ return R.layout.activity_case_handled_detail;
+ }
+
+ @Override
+ protected void setupTopBarLayout() {
+ detailTopLayout.setTitle("已办案卷").setTextColor(ContextCompat.getColor(this, R.color.white));
+ detailTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor));
+ detailTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+ }
+
+ @Override
+ public void initData() {
+ String id = getIntent().getStringExtra("id");
+ caseDetailPresenter = new CaseDetailPresenterImpl(this);
+ caseDetailPresenter.onReadyRetrofitRequest(id);
+ }
+
+ @Override
+ public void initEvent() {
+
+ }
+
+ @Override
+ public void obtainCaseDetailData(CaseDetailBean resultBean) {
+ if (resultBean.isSuccess()) {
+ this.data = resultBean.getData().get(0);
+ caseNumberView.setText(data.getCaseid());
+ caseHandleStatusView.setText(data.getCaseStateName());
+ caseTypeView.setText(data.getEorcName());
+ caseLargeTypeView.setText(data.getCasetypeName());
+ caseSmallTypeView.setText(data.getCasetypeDetailName());
+ caseCommunityView.setText(data.getCommunityName().equals("") ? "社区信息未知" : data.getCommunityName());
+ casePlaceView.setText(data.getFieldintro());
+ caseSituationView.setText(data.getDescription());
+
+ String verifyImages = data.getFileIdVerify();
+ if (!TextUtils.isEmpty(verifyImages)) {
+ List urls = new ArrayList<>();
+ String[] split = verifyImages.split(",");
+ for (String s : split) {
+ urls.add(StringHelper.appendCompleteURL(s));
+ }
+ ImageRecycleViewAdapter imageAdapter = new ImageRecycleViewAdapter(this);
+ imageAdapter.setMediaList(urls);
+ casePicRecyclerView.setVisibility(View.VISIBLE);
+ casePicRecyclerView.setLayoutManager(new GridLayoutManager(this, 2));
+ casePicRecyclerView.addItemDecoration(new ItemDecorationSpace());
+ casePicRecyclerView.setAdapter(imageAdapter);
+ //九宫格点击事件
+ imageAdapter.setOnItemClickListener(new ImageRecycleViewAdapter.OnItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ //查看大图
+ showBigImage(urls.get(position));
+ }
+ });
+ imageAdapter.setDeleteView(false);
+ }
+ }
+ }
+
+ private void showBigImage(String path) {
+ Intent intent = new Intent(this, BigPictureActivity.class);
+ intent.putExtra("path", path);
+ startActivity(intent);
+ }
+
+ @OnClick(R.id.handleLayout)
+ @Override
+ public void onClick(View v) {
+ if (v.getId() == R.id.handleLayout) {
+ Intent intent = new Intent(this, CaseProcessActivity.class);
+ intent.putExtra("processId", data.getProcessId());
+ startActivity(intent);
+ }
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (caseDetailPresenter != null) {
+ caseDetailPresenter.disposeRetrofitRequest();
+ }
+ }
+}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f6ac20a..2070c95 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -67,12 +67,14 @@
-
+
-
+
+
+
{
private Context context;
+ private List iconData = new ArrayList<>();
+ private List itemData = new ArrayList<>();
public HomeRecycleAdapter(Context context) {
this.context = context;
}
+ public void setItemData(@Nullable List icons, @Nullable List items) {
+ this.iconData = icons;
+ this.itemData = items;
+ }
+
@NonNull
@Override
public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
@@ -30,7 +40,7 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- holder.bindView(context, position);
+ holder.bindView(position);
if (clickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
@@ -43,7 +53,7 @@
@Override
public int getItemCount() {
- return Constant.ITEMS.size();
+ return itemData.size();
}
private OnGridItemClickListener clickListener;
@@ -56,7 +66,7 @@
this.clickListener = onGridItemClickListener;
}
- static class ItemViewHolder extends RecyclerView.ViewHolder {
+ class ItemViewHolder extends RecyclerView.ViewHolder {
private ImageView imageView;
private TextView textView;
@@ -67,9 +77,9 @@
textView = itemView.findViewById(R.id.textView);
}
- void bindView(Context context, int position) {
- imageView.setBackgroundResource(Constant.ICONS.get(position));
- textView.setText(Constant.ITEMS.get(position));
+ void bindView(int position) {
+ imageView.setBackgroundResource(iconData.get(position));
+ textView.setText(itemData.get(position));
}
}
}
diff --git a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
index b9c4615..d9b10e0 100644
--- a/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
+++ b/app/src/main/java/com/casic/dcms/adapter/ImageRecycleViewAdapter.java
@@ -11,6 +11,7 @@
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
import com.casic.dcms.R;
import java.util.ArrayList;
@@ -62,7 +63,10 @@
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
- Glide.with(context).load(mediaList.get(position)).into(holder.imageView);
+ Glide.with(context)
+ .load(mediaList.get(position))
+ .apply(new RequestOptions().error(R.drawable.ic_load_error))
+ .into(holder.imageView);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/app/src/main/java/com/casic/dcms/base/BaseActivity.java b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
index caf0356..2ca87fe 100644
--- a/app/src/main/java/com/casic/dcms/base/BaseActivity.java
+++ b/app/src/main/java/com/casic/dcms/base/BaseActivity.java
@@ -17,8 +17,8 @@
setContentView(initLayoutView());
ButterKnife.bind(this);
QMUIStatusBarHelper.translucent(this);//沉浸式状态栏
- setupTopBarLayout();
initData();
+ setupTopBarLayout();
initEvent();
}
diff --git a/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
new file mode 100644
index 0000000..8de58a4
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/bean/CommonSentenceBean.java
@@ -0,0 +1,78 @@
+package com.casic.dcms.bean;
+
+import java.util.List;
+
+public class CommonSentenceBean {
+ private int code;
+ private String message;
+ private boolean success;
+ private List data;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+
+ public List getData() {
+ return data;
+ }
+
+ public void setData(List