diff --git a/.idea/misc.xml b/.idea/misc.xml
index 4c01f54..53acf2f 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -27,6 +27,7 @@
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 4c01f54..53acf2f 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -27,6 +27,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index eb654a2..d087ae2 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -69,7 +69,7 @@
-
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 4c01f54..53acf2f 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -27,6 +27,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index eb654a2..d087ae2 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -69,7 +69,7 @@
-
+
diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseListResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseListResultAdapter.java
deleted file mode 100644
index a051fbf..0000000
--- a/app/src/main/java/com/casic/dcms/adapter/CaseListResultAdapter.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package com.casic.dcms.adapter;
-
-import android.annotation.SuppressLint;
-import android.content.Context;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.casic.dcms.R;
-import com.casic.dcms.mvvm.model.CaseListResultBean;
-import com.casic.dcms.utils.StringHelper;
-
-import java.util.List;
-
-public class CaseListResultAdapter extends RecyclerView.Adapter {
-
- private final List dataRows;
- private final LayoutInflater layoutInflater;
-
- public CaseListResultAdapter(Context context, List dataRows) {
- this.dataRows = dataRows;
- layoutInflater = LayoutInflater.from(context);
- }
-
- @NonNull
- @Override
- public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = layoutInflater.inflate(R.layout.item_case_rv, parent, false);
- return new ItemViewHolder(view);
- }
-
- @Override
- public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
- holder.bindView(dataRows.get(position));
- if (clickListener != null) {
- holder.itemView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- clickListener.onClick(position);
- }
- });
- }
- }
-
- @Override
- public int getItemCount() {
- return dataRows.size();
- }
-
- private OnItemClickListener clickListener;
-
- public interface OnItemClickListener {
- void onClick(int position);
- }
-
- public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
- this.clickListener = onItemClickListener;
- }
-
- static class ItemViewHolder extends RecyclerView.ViewHolder {
-
-// private final TextView leftTextView;
- private final TextView caseTitleView;
- private final TextView casePlaceView;
- private final TextView caseTimeView;
-
- ItemViewHolder(@NonNull View itemView) {
- super(itemView);
-// leftTextView = itemView.findViewById(R.id.leftTextView);
- caseTitleView = itemView.findViewById(R.id.caseTitleView);
- casePlaceView = itemView.findViewById(R.id.casePlaceView);
- caseTimeView = itemView.findViewById(R.id.caseTimeView);
- }
-
- @SuppressLint("SetTextI18n")
- void bindView(CaseListResultBean.DataBean.RowsBean rowsBean) {
- String eorcName = rowsBean.getEorcName();
- if (TextUtils.isEmpty(eorcName)) {
- eorcName = "未知";
- }
-// leftTextView.setText(eorcName.substring(0, 1));
- caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription()));
- casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro()));
- caseTimeView.setText("上报时间:" + rowsBean.getReportTime());
- }
- }
-}
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 4c01f54..53acf2f 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -27,6 +27,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index eb654a2..d087ae2 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -69,7 +69,7 @@
-
+
diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseListResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseListResultAdapter.java
deleted file mode 100644
index a051fbf..0000000
--- a/app/src/main/java/com/casic/dcms/adapter/CaseListResultAdapter.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package com.casic.dcms.adapter;
-
-import android.annotation.SuppressLint;
-import android.content.Context;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.casic.dcms.R;
-import com.casic.dcms.mvvm.model.CaseListResultBean;
-import com.casic.dcms.utils.StringHelper;
-
-import java.util.List;
-
-public class CaseListResultAdapter extends RecyclerView.Adapter {
-
- private final List dataRows;
- private final LayoutInflater layoutInflater;
-
- public CaseListResultAdapter(Context context, List dataRows) {
- this.dataRows = dataRows;
- layoutInflater = LayoutInflater.from(context);
- }
-
- @NonNull
- @Override
- public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = layoutInflater.inflate(R.layout.item_case_rv, parent, false);
- return new ItemViewHolder(view);
- }
-
- @Override
- public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
- holder.bindView(dataRows.get(position));
- if (clickListener != null) {
- holder.itemView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- clickListener.onClick(position);
- }
- });
- }
- }
-
- @Override
- public int getItemCount() {
- return dataRows.size();
- }
-
- private OnItemClickListener clickListener;
-
- public interface OnItemClickListener {
- void onClick(int position);
- }
-
- public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
- this.clickListener = onItemClickListener;
- }
-
- static class ItemViewHolder extends RecyclerView.ViewHolder {
-
-// private final TextView leftTextView;
- private final TextView caseTitleView;
- private final TextView casePlaceView;
- private final TextView caseTimeView;
-
- ItemViewHolder(@NonNull View itemView) {
- super(itemView);
-// leftTextView = itemView.findViewById(R.id.leftTextView);
- caseTitleView = itemView.findViewById(R.id.caseTitleView);
- casePlaceView = itemView.findViewById(R.id.casePlaceView);
- caseTimeView = itemView.findViewById(R.id.caseTimeView);
- }
-
- @SuppressLint("SetTextI18n")
- void bindView(CaseListResultBean.DataBean.RowsBean rowsBean) {
- String eorcName = rowsBean.getEorcName();
- if (TextUtils.isEmpty(eorcName)) {
- eorcName = "未知";
- }
-// leftTextView.setText(eorcName.substring(0, 1));
- caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription()));
- casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro()));
- caseTimeView.setText("上报时间:" + rowsBean.getReportTime());
- }
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseSearchResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseSearchResultAdapter.java
new file mode 100644
index 0000000..9e4a834
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/adapter/CaseSearchResultAdapter.java
@@ -0,0 +1,96 @@
+package com.casic.dcms.adapter;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.casic.dcms.R;
+import com.casic.dcms.mvvm.model.CaseSearchResultBean;
+import com.casic.dcms.utils.StringHelper;
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView;
+
+import java.util.List;
+
+public class CaseSearchResultAdapter extends RecyclerView.Adapter {
+
+ private final Context context;
+ private final List dataRows;
+ private final LayoutInflater layoutInflater;
+
+ public CaseSearchResultAdapter(Context context, List dataRows) {
+ this.context = context;
+ this.dataRows = dataRows;
+ layoutInflater = LayoutInflater.from(context);
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ return new ItemViewHolder(layoutInflater.inflate(R.layout.item_case_rv, parent, false));
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
+ holder.bindView(dataRows.get(position));
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ @Override
+ public int getItemCount() {
+ return dataRows.size();
+ }
+
+ private OnItemClickListener clickListener;
+
+ public interface OnItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
+ this.clickListener = onItemClickListener;
+ }
+
+ class ItemViewHolder extends RecyclerView.ViewHolder {
+
+ private final QMUIRadiusImageView caseImageView;
+ private final TextView caseTitleView;
+ private final TextView casePlaceView;
+ private final TextView caseTimeView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ caseImageView = itemView.findViewById(R.id.caseImageView);
+ caseTitleView = itemView.findViewById(R.id.caseTitleView);
+ casePlaceView = itemView.findViewById(R.id.casePlaceView);
+ caseTimeView = itemView.findViewById(R.id.caseTimeView);
+ }
+
+ void bindView(CaseSearchResultBean.DataDTO.RowsDTO rowsBean) {
+ //核实图片
+// String fileIdVerify = rowsBean.getFileIdVerify();
+// if (!TextUtils.isEmpty(fileIdVerify)) {
+// String[] split = fileIdVerify.split(",");
+// String firstImage = split[0];
+// if (firstImage.endsWith(".jpg") || firstImage.contains(".jpeg") || firstImage.contains(".png")) {
+// Glide.with(context).load(StringHelper.appendCompleteURL(firstImage)).into(caseImageView);
+// }
+// }
+ caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription()));
+ casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro()));
+ caseTimeView.setText("上报时间:" + rowsBean.getReportTime());
+ }
+ }
+}
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 4c01f54..53acf2f 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -27,6 +27,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index eb654a2..d087ae2 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -69,7 +69,7 @@
-
+
diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseListResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseListResultAdapter.java
deleted file mode 100644
index a051fbf..0000000
--- a/app/src/main/java/com/casic/dcms/adapter/CaseListResultAdapter.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package com.casic.dcms.adapter;
-
-import android.annotation.SuppressLint;
-import android.content.Context;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.casic.dcms.R;
-import com.casic.dcms.mvvm.model.CaseListResultBean;
-import com.casic.dcms.utils.StringHelper;
-
-import java.util.List;
-
-public class CaseListResultAdapter extends RecyclerView.Adapter {
-
- private final List dataRows;
- private final LayoutInflater layoutInflater;
-
- public CaseListResultAdapter(Context context, List dataRows) {
- this.dataRows = dataRows;
- layoutInflater = LayoutInflater.from(context);
- }
-
- @NonNull
- @Override
- public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = layoutInflater.inflate(R.layout.item_case_rv, parent, false);
- return new ItemViewHolder(view);
- }
-
- @Override
- public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
- holder.bindView(dataRows.get(position));
- if (clickListener != null) {
- holder.itemView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- clickListener.onClick(position);
- }
- });
- }
- }
-
- @Override
- public int getItemCount() {
- return dataRows.size();
- }
-
- private OnItemClickListener clickListener;
-
- public interface OnItemClickListener {
- void onClick(int position);
- }
-
- public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
- this.clickListener = onItemClickListener;
- }
-
- static class ItemViewHolder extends RecyclerView.ViewHolder {
-
-// private final TextView leftTextView;
- private final TextView caseTitleView;
- private final TextView casePlaceView;
- private final TextView caseTimeView;
-
- ItemViewHolder(@NonNull View itemView) {
- super(itemView);
-// leftTextView = itemView.findViewById(R.id.leftTextView);
- caseTitleView = itemView.findViewById(R.id.caseTitleView);
- casePlaceView = itemView.findViewById(R.id.casePlaceView);
- caseTimeView = itemView.findViewById(R.id.caseTimeView);
- }
-
- @SuppressLint("SetTextI18n")
- void bindView(CaseListResultBean.DataBean.RowsBean rowsBean) {
- String eorcName = rowsBean.getEorcName();
- if (TextUtils.isEmpty(eorcName)) {
- eorcName = "未知";
- }
-// leftTextView.setText(eorcName.substring(0, 1));
- caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription()));
- casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro()));
- caseTimeView.setText("上报时间:" + rowsBean.getReportTime());
- }
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseSearchResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseSearchResultAdapter.java
new file mode 100644
index 0000000..9e4a834
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/adapter/CaseSearchResultAdapter.java
@@ -0,0 +1,96 @@
+package com.casic.dcms.adapter;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.casic.dcms.R;
+import com.casic.dcms.mvvm.model.CaseSearchResultBean;
+import com.casic.dcms.utils.StringHelper;
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView;
+
+import java.util.List;
+
+public class CaseSearchResultAdapter extends RecyclerView.Adapter {
+
+ private final Context context;
+ private final List dataRows;
+ private final LayoutInflater layoutInflater;
+
+ public CaseSearchResultAdapter(Context context, List dataRows) {
+ this.context = context;
+ this.dataRows = dataRows;
+ layoutInflater = LayoutInflater.from(context);
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ return new ItemViewHolder(layoutInflater.inflate(R.layout.item_case_rv, parent, false));
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
+ holder.bindView(dataRows.get(position));
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ @Override
+ public int getItemCount() {
+ return dataRows.size();
+ }
+
+ private OnItemClickListener clickListener;
+
+ public interface OnItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
+ this.clickListener = onItemClickListener;
+ }
+
+ class ItemViewHolder extends RecyclerView.ViewHolder {
+
+ private final QMUIRadiusImageView caseImageView;
+ private final TextView caseTitleView;
+ private final TextView casePlaceView;
+ private final TextView caseTimeView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ caseImageView = itemView.findViewById(R.id.caseImageView);
+ caseTitleView = itemView.findViewById(R.id.caseTitleView);
+ casePlaceView = itemView.findViewById(R.id.casePlaceView);
+ caseTimeView = itemView.findViewById(R.id.caseTimeView);
+ }
+
+ void bindView(CaseSearchResultBean.DataDTO.RowsDTO rowsBean) {
+ //核实图片
+// String fileIdVerify = rowsBean.getFileIdVerify();
+// if (!TextUtils.isEmpty(fileIdVerify)) {
+// String[] split = fileIdVerify.split(",");
+// String firstImage = split[0];
+// if (firstImage.endsWith(".jpg") || firstImage.contains(".jpeg") || firstImage.contains(".png")) {
+// Glide.with(context).load(StringHelper.appendCompleteURL(firstImage)).into(caseImageView);
+// }
+// }
+ caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription()));
+ casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro()));
+ caseTimeView.setText("上报时间:" + rowsBean.getReportTime());
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/CaseListResultBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/CaseListResultBean.java
deleted file mode 100644
index 41b3016..0000000
--- a/app/src/main/java/com/casic/dcms/mvvm/model/CaseListResultBean.java
+++ /dev/null
@@ -1,303 +0,0 @@
-package com.casic.dcms.mvvm.model;
-
-import java.util.List;
-
-public class CaseListResultBean {
-
- private int code;
- private DataBean data;
- private String message;
- private boolean success;
-
- public int getCode() {
- return code;
- }
-
- public void setCode(int code) {
- this.code = code;
- }
-
- public DataBean getData() {
- return data;
- }
-
- public void setData(DataBean data) {
- this.data = data;
- }
-
- 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 static class DataBean {
-
- private int total;
- private List rows;
-
- public int getTotal() {
- return total;
- }
-
- public void setTotal(int total) {
- this.total = total;
- }
-
- public List getRows() {
- return rows;
- }
-
- public void setRows(List rows) {
- this.rows = rows;
- }
-
- public static class RowsBean {
-
- private int isPostpone;
- private String description;
- private String createUserName;
- private int source;
- private String eorcName;
- private String casetypeDetailName;
- private String remainingTime;
- private String casetypeName;
- private String processId;
- private int caseState;
- private String id;
- private String reportSupervisorId;
- private String fieldintro;
- private String lat;
- private String caseStateName;
- private String lng;
- private String isOvertime;
- private String casetypeDetailCode;
- private String onedeptid;
- private String eorc;
- private String caseid;
- private String casetypeCode;
- private String createUser;
- private String nodeLimittime;
- private String sourceName;
- private String reportTime;
-
- public int getIsPostpone() {
- return isPostpone;
- }
-
- public void setIsPostpone(int isPostpone) {
- this.isPostpone = isPostpone;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getCreateUserName() {
- return createUserName;
- }
-
- public void setCreateUserName(String createUserName) {
- this.createUserName = createUserName;
- }
-
- public int getSource() {
- return source;
- }
-
- public void setSource(int source) {
- this.source = source;
- }
-
- public String getEorcName() {
- return eorcName;
- }
-
- public void setEorcName(String eorcName) {
- this.eorcName = eorcName;
- }
-
- public String getCasetypeDetailName() {
- return casetypeDetailName;
- }
-
- public void setCasetypeDetailName(String casetypeDetailName) {
- this.casetypeDetailName = casetypeDetailName;
- }
-
- public String getRemainingTime() {
- return remainingTime;
- }
-
- public void setRemainingTime(String remainingTime) {
- this.remainingTime = remainingTime;
- }
-
- public String getCasetypeName() {
- return casetypeName;
- }
-
- public void setCasetypeName(String casetypeName) {
- this.casetypeName = casetypeName;
- }
-
- public String getProcessId() {
- return processId;
- }
-
- public void setProcessId(String processId) {
- this.processId = processId;
- }
-
- public int getCaseState() {
- return caseState;
- }
-
- public void setCaseState(int caseState) {
- this.caseState = caseState;
- }
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getReportSupervisorId() {
- return reportSupervisorId;
- }
-
- public void setReportSupervisorId(String reportSupervisorId) {
- this.reportSupervisorId = reportSupervisorId;
- }
-
- public String getFieldintro() {
- return fieldintro;
- }
-
- public void setFieldintro(String fieldintro) {
- this.fieldintro = fieldintro;
- }
-
- public String getLat() {
- return lat;
- }
-
- public void setLat(String lat) {
- this.lat = lat;
- }
-
- public String getCaseStateName() {
- return caseStateName;
- }
-
- public void setCaseStateName(String caseStateName) {
- this.caseStateName = caseStateName;
- }
-
- public String getLng() {
- return lng;
- }
-
- public void setLng(String lng) {
- this.lng = lng;
- }
-
- public String getIsOvertime() {
- return isOvertime;
- }
-
- public void setIsOvertime(String isOvertime) {
- this.isOvertime = isOvertime;
- }
-
- public String getCasetypeDetailCode() {
- return casetypeDetailCode;
- }
-
- public void setCasetypeDetailCode(String casetypeDetailCode) {
- this.casetypeDetailCode = casetypeDetailCode;
- }
-
- public String getOnedeptid() {
- return onedeptid;
- }
-
- public void setOnedeptid(String onedeptid) {
- this.onedeptid = onedeptid;
- }
-
- public String getEorc() {
- return eorc;
- }
-
- public void setEorc(String eorc) {
- this.eorc = eorc;
- }
-
- public String getCaseid() {
- return caseid;
- }
-
- public void setCaseid(String caseid) {
- this.caseid = caseid;
- }
-
- public String getCasetypeCode() {
- return casetypeCode;
- }
-
- public void setCasetypeCode(String casetypeCode) {
- this.casetypeCode = casetypeCode;
- }
-
- public String getCreateUser() {
- return createUser;
- }
-
- public void setCreateUser(String createUser) {
- this.createUser = createUser;
- }
-
- public String getNodeLimittime() {
- return nodeLimittime;
- }
-
- public void setNodeLimittime(String nodeLimittime) {
- this.nodeLimittime = nodeLimittime;
- }
-
- public String getSourceName() {
- return sourceName;
- }
-
- public void setSourceName(String sourceName) {
- this.sourceName = sourceName;
- }
-
- public String getReportTime() {
- return reportTime;
- }
-
- public void setReportTime(String reportTime) {
- this.reportTime = reportTime;
- }
- }
- }
-}
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 4c01f54..53acf2f 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -27,6 +27,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index eb654a2..d087ae2 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -69,7 +69,7 @@
-
+
diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseListResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseListResultAdapter.java
deleted file mode 100644
index a051fbf..0000000
--- a/app/src/main/java/com/casic/dcms/adapter/CaseListResultAdapter.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package com.casic.dcms.adapter;
-
-import android.annotation.SuppressLint;
-import android.content.Context;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.casic.dcms.R;
-import com.casic.dcms.mvvm.model.CaseListResultBean;
-import com.casic.dcms.utils.StringHelper;
-
-import java.util.List;
-
-public class CaseListResultAdapter extends RecyclerView.Adapter {
-
- private final List dataRows;
- private final LayoutInflater layoutInflater;
-
- public CaseListResultAdapter(Context context, List dataRows) {
- this.dataRows = dataRows;
- layoutInflater = LayoutInflater.from(context);
- }
-
- @NonNull
- @Override
- public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = layoutInflater.inflate(R.layout.item_case_rv, parent, false);
- return new ItemViewHolder(view);
- }
-
- @Override
- public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
- holder.bindView(dataRows.get(position));
- if (clickListener != null) {
- holder.itemView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- clickListener.onClick(position);
- }
- });
- }
- }
-
- @Override
- public int getItemCount() {
- return dataRows.size();
- }
-
- private OnItemClickListener clickListener;
-
- public interface OnItemClickListener {
- void onClick(int position);
- }
-
- public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
- this.clickListener = onItemClickListener;
- }
-
- static class ItemViewHolder extends RecyclerView.ViewHolder {
-
-// private final TextView leftTextView;
- private final TextView caseTitleView;
- private final TextView casePlaceView;
- private final TextView caseTimeView;
-
- ItemViewHolder(@NonNull View itemView) {
- super(itemView);
-// leftTextView = itemView.findViewById(R.id.leftTextView);
- caseTitleView = itemView.findViewById(R.id.caseTitleView);
- casePlaceView = itemView.findViewById(R.id.casePlaceView);
- caseTimeView = itemView.findViewById(R.id.caseTimeView);
- }
-
- @SuppressLint("SetTextI18n")
- void bindView(CaseListResultBean.DataBean.RowsBean rowsBean) {
- String eorcName = rowsBean.getEorcName();
- if (TextUtils.isEmpty(eorcName)) {
- eorcName = "未知";
- }
-// leftTextView.setText(eorcName.substring(0, 1));
- caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription()));
- casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro()));
- caseTimeView.setText("上报时间:" + rowsBean.getReportTime());
- }
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseSearchResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseSearchResultAdapter.java
new file mode 100644
index 0000000..9e4a834
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/adapter/CaseSearchResultAdapter.java
@@ -0,0 +1,96 @@
+package com.casic.dcms.adapter;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.casic.dcms.R;
+import com.casic.dcms.mvvm.model.CaseSearchResultBean;
+import com.casic.dcms.utils.StringHelper;
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView;
+
+import java.util.List;
+
+public class CaseSearchResultAdapter extends RecyclerView.Adapter {
+
+ private final Context context;
+ private final List dataRows;
+ private final LayoutInflater layoutInflater;
+
+ public CaseSearchResultAdapter(Context context, List dataRows) {
+ this.context = context;
+ this.dataRows = dataRows;
+ layoutInflater = LayoutInflater.from(context);
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ return new ItemViewHolder(layoutInflater.inflate(R.layout.item_case_rv, parent, false));
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
+ holder.bindView(dataRows.get(position));
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ @Override
+ public int getItemCount() {
+ return dataRows.size();
+ }
+
+ private OnItemClickListener clickListener;
+
+ public interface OnItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
+ this.clickListener = onItemClickListener;
+ }
+
+ class ItemViewHolder extends RecyclerView.ViewHolder {
+
+ private final QMUIRadiusImageView caseImageView;
+ private final TextView caseTitleView;
+ private final TextView casePlaceView;
+ private final TextView caseTimeView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ caseImageView = itemView.findViewById(R.id.caseImageView);
+ caseTitleView = itemView.findViewById(R.id.caseTitleView);
+ casePlaceView = itemView.findViewById(R.id.casePlaceView);
+ caseTimeView = itemView.findViewById(R.id.caseTimeView);
+ }
+
+ void bindView(CaseSearchResultBean.DataDTO.RowsDTO rowsBean) {
+ //核实图片
+// String fileIdVerify = rowsBean.getFileIdVerify();
+// if (!TextUtils.isEmpty(fileIdVerify)) {
+// String[] split = fileIdVerify.split(",");
+// String firstImage = split[0];
+// if (firstImage.endsWith(".jpg") || firstImage.contains(".jpeg") || firstImage.contains(".png")) {
+// Glide.with(context).load(StringHelper.appendCompleteURL(firstImage)).into(caseImageView);
+// }
+// }
+ caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription()));
+ casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro()));
+ caseTimeView.setText("上报时间:" + rowsBean.getReportTime());
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/CaseListResultBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/CaseListResultBean.java
deleted file mode 100644
index 41b3016..0000000
--- a/app/src/main/java/com/casic/dcms/mvvm/model/CaseListResultBean.java
+++ /dev/null
@@ -1,303 +0,0 @@
-package com.casic.dcms.mvvm.model;
-
-import java.util.List;
-
-public class CaseListResultBean {
-
- private int code;
- private DataBean data;
- private String message;
- private boolean success;
-
- public int getCode() {
- return code;
- }
-
- public void setCode(int code) {
- this.code = code;
- }
-
- public DataBean getData() {
- return data;
- }
-
- public void setData(DataBean data) {
- this.data = data;
- }
-
- 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 static class DataBean {
-
- private int total;
- private List rows;
-
- public int getTotal() {
- return total;
- }
-
- public void setTotal(int total) {
- this.total = total;
- }
-
- public List getRows() {
- return rows;
- }
-
- public void setRows(List rows) {
- this.rows = rows;
- }
-
- public static class RowsBean {
-
- private int isPostpone;
- private String description;
- private String createUserName;
- private int source;
- private String eorcName;
- private String casetypeDetailName;
- private String remainingTime;
- private String casetypeName;
- private String processId;
- private int caseState;
- private String id;
- private String reportSupervisorId;
- private String fieldintro;
- private String lat;
- private String caseStateName;
- private String lng;
- private String isOvertime;
- private String casetypeDetailCode;
- private String onedeptid;
- private String eorc;
- private String caseid;
- private String casetypeCode;
- private String createUser;
- private String nodeLimittime;
- private String sourceName;
- private String reportTime;
-
- public int getIsPostpone() {
- return isPostpone;
- }
-
- public void setIsPostpone(int isPostpone) {
- this.isPostpone = isPostpone;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getCreateUserName() {
- return createUserName;
- }
-
- public void setCreateUserName(String createUserName) {
- this.createUserName = createUserName;
- }
-
- public int getSource() {
- return source;
- }
-
- public void setSource(int source) {
- this.source = source;
- }
-
- public String getEorcName() {
- return eorcName;
- }
-
- public void setEorcName(String eorcName) {
- this.eorcName = eorcName;
- }
-
- public String getCasetypeDetailName() {
- return casetypeDetailName;
- }
-
- public void setCasetypeDetailName(String casetypeDetailName) {
- this.casetypeDetailName = casetypeDetailName;
- }
-
- public String getRemainingTime() {
- return remainingTime;
- }
-
- public void setRemainingTime(String remainingTime) {
- this.remainingTime = remainingTime;
- }
-
- public String getCasetypeName() {
- return casetypeName;
- }
-
- public void setCasetypeName(String casetypeName) {
- this.casetypeName = casetypeName;
- }
-
- public String getProcessId() {
- return processId;
- }
-
- public void setProcessId(String processId) {
- this.processId = processId;
- }
-
- public int getCaseState() {
- return caseState;
- }
-
- public void setCaseState(int caseState) {
- this.caseState = caseState;
- }
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getReportSupervisorId() {
- return reportSupervisorId;
- }
-
- public void setReportSupervisorId(String reportSupervisorId) {
- this.reportSupervisorId = reportSupervisorId;
- }
-
- public String getFieldintro() {
- return fieldintro;
- }
-
- public void setFieldintro(String fieldintro) {
- this.fieldintro = fieldintro;
- }
-
- public String getLat() {
- return lat;
- }
-
- public void setLat(String lat) {
- this.lat = lat;
- }
-
- public String getCaseStateName() {
- return caseStateName;
- }
-
- public void setCaseStateName(String caseStateName) {
- this.caseStateName = caseStateName;
- }
-
- public String getLng() {
- return lng;
- }
-
- public void setLng(String lng) {
- this.lng = lng;
- }
-
- public String getIsOvertime() {
- return isOvertime;
- }
-
- public void setIsOvertime(String isOvertime) {
- this.isOvertime = isOvertime;
- }
-
- public String getCasetypeDetailCode() {
- return casetypeDetailCode;
- }
-
- public void setCasetypeDetailCode(String casetypeDetailCode) {
- this.casetypeDetailCode = casetypeDetailCode;
- }
-
- public String getOnedeptid() {
- return onedeptid;
- }
-
- public void setOnedeptid(String onedeptid) {
- this.onedeptid = onedeptid;
- }
-
- public String getEorc() {
- return eorc;
- }
-
- public void setEorc(String eorc) {
- this.eorc = eorc;
- }
-
- public String getCaseid() {
- return caseid;
- }
-
- public void setCaseid(String caseid) {
- this.caseid = caseid;
- }
-
- public String getCasetypeCode() {
- return casetypeCode;
- }
-
- public void setCasetypeCode(String casetypeCode) {
- this.casetypeCode = casetypeCode;
- }
-
- public String getCreateUser() {
- return createUser;
- }
-
- public void setCreateUser(String createUser) {
- this.createUser = createUser;
- }
-
- public String getNodeLimittime() {
- return nodeLimittime;
- }
-
- public void setNodeLimittime(String nodeLimittime) {
- this.nodeLimittime = nodeLimittime;
- }
-
- public String getSourceName() {
- return sourceName;
- }
-
- public void setSourceName(String sourceName) {
- this.sourceName = sourceName;
- }
-
- public String getReportTime() {
- return reportTime;
- }
-
- public void setReportTime(String reportTime) {
- this.reportTime = reportTime;
- }
- }
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/CaseSearchResultBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/CaseSearchResultBean.java
new file mode 100644
index 0000000..4d62c22
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvvm/model/CaseSearchResultBean.java
@@ -0,0 +1,319 @@
+package com.casic.dcms.mvvm.model;
+
+import java.util.List;
+
+public class CaseSearchResultBean {
+
+ private int code;
+ private DataDTO data;
+ private String message;
+ private boolean success;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public DataDTO getData() {
+ return data;
+ }
+
+ public void setData(DataDTO data) {
+ this.data = data;
+ }
+
+ 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 static class DataDTO {
+ private List rows;
+ private int total;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
+
+ public int getTotal() {
+ return total;
+ }
+
+ public void setTotal(int total) {
+ this.total = total;
+ }
+
+ public static class RowsDTO {
+ private int isPostpone;
+ private String description;
+ private String createUserName;
+ private int source;
+ private String eorcName;
+ private String casetypeDetailName;
+ private String remainingTime;
+ private String casetypeName;
+ private String processId;
+ private int caseState;
+ private String id;
+ private String reportSupervisorId;
+ private String fieldintro;
+ private String lat;
+ private String caseStateName;
+ private String lng;
+ private String isOvertime;
+ private String currRoleName;
+ private String casetypeDetailCode;
+ private String onedeptid;
+ private String eorc;
+ private String currRoleId;
+ private String caseid;
+ private String casetypeCode;
+ private String createUser;
+ private String nodeLimittime;
+ private String sourceName;
+ private String reportTime;
+
+ public int getIsPostpone() {
+ return isPostpone;
+ }
+
+ public void setIsPostpone(int isPostpone) {
+ this.isPostpone = isPostpone;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public String getCreateUserName() {
+ return createUserName;
+ }
+
+ public void setCreateUserName(String createUserName) {
+ this.createUserName = createUserName;
+ }
+
+ public int getSource() {
+ return source;
+ }
+
+ public void setSource(int source) {
+ this.source = source;
+ }
+
+ public String getEorcName() {
+ return eorcName;
+ }
+
+ public void setEorcName(String eorcName) {
+ this.eorcName = eorcName;
+ }
+
+ public String getCasetypeDetailName() {
+ return casetypeDetailName;
+ }
+
+ public void setCasetypeDetailName(String casetypeDetailName) {
+ this.casetypeDetailName = casetypeDetailName;
+ }
+
+ public String getRemainingTime() {
+ return remainingTime;
+ }
+
+ public void setRemainingTime(String remainingTime) {
+ this.remainingTime = remainingTime;
+ }
+
+ public String getCasetypeName() {
+ return casetypeName;
+ }
+
+ public void setCasetypeName(String casetypeName) {
+ this.casetypeName = casetypeName;
+ }
+
+ public String getProcessId() {
+ return processId;
+ }
+
+ public void setProcessId(String processId) {
+ this.processId = processId;
+ }
+
+ public int getCaseState() {
+ return caseState;
+ }
+
+ public void setCaseState(int caseState) {
+ this.caseState = caseState;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getReportSupervisorId() {
+ return reportSupervisorId;
+ }
+
+ public void setReportSupervisorId(String reportSupervisorId) {
+ this.reportSupervisorId = reportSupervisorId;
+ }
+
+ public String getFieldintro() {
+ return fieldintro;
+ }
+
+ public void setFieldintro(String fieldintro) {
+ this.fieldintro = fieldintro;
+ }
+
+ public String getLat() {
+ return lat;
+ }
+
+ public void setLat(String lat) {
+ this.lat = lat;
+ }
+
+ public String getCaseStateName() {
+ return caseStateName;
+ }
+
+ public void setCaseStateName(String caseStateName) {
+ this.caseStateName = caseStateName;
+ }
+
+ public String getLng() {
+ return lng;
+ }
+
+ public void setLng(String lng) {
+ this.lng = lng;
+ }
+
+ public String getIsOvertime() {
+ return isOvertime;
+ }
+
+ public void setIsOvertime(String isOvertime) {
+ this.isOvertime = isOvertime;
+ }
+
+ public String getCurrRoleName() {
+ return currRoleName;
+ }
+
+ public void setCurrRoleName(String currRoleName) {
+ this.currRoleName = currRoleName;
+ }
+
+ public String getCasetypeDetailCode() {
+ return casetypeDetailCode;
+ }
+
+ public void setCasetypeDetailCode(String casetypeDetailCode) {
+ this.casetypeDetailCode = casetypeDetailCode;
+ }
+
+ public String getOnedeptid() {
+ return onedeptid;
+ }
+
+ public void setOnedeptid(String onedeptid) {
+ this.onedeptid = onedeptid;
+ }
+
+ public String getEorc() {
+ return eorc;
+ }
+
+ public void setEorc(String eorc) {
+ this.eorc = eorc;
+ }
+
+ public String getCurrRoleId() {
+ return currRoleId;
+ }
+
+ public void setCurrRoleId(String currRoleId) {
+ this.currRoleId = currRoleId;
+ }
+
+ public String getCaseid() {
+ return caseid;
+ }
+
+ public void setCaseid(String caseid) {
+ this.caseid = caseid;
+ }
+
+ public String getCasetypeCode() {
+ return casetypeCode;
+ }
+
+ public void setCasetypeCode(String casetypeCode) {
+ this.casetypeCode = casetypeCode;
+ }
+
+ public String getCreateUser() {
+ return createUser;
+ }
+
+ public void setCreateUser(String createUser) {
+ this.createUser = createUser;
+ }
+
+ public String getNodeLimittime() {
+ return nodeLimittime;
+ }
+
+ public void setNodeLimittime(String nodeLimittime) {
+ this.nodeLimittime = nodeLimittime;
+ }
+
+ public String getSourceName() {
+ return sourceName;
+ }
+
+ public void setSourceName(String sourceName) {
+ this.sourceName = sourceName;
+ }
+
+ public String getReportTime() {
+ return reportTime;
+ }
+
+ public void setReportTime(String reportTime) {
+ this.reportTime = reportTime;
+ }
+ }
+ }
+}
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 4c01f54..53acf2f 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -27,6 +27,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index eb654a2..d087ae2 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -69,7 +69,7 @@
-
+
diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseListResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseListResultAdapter.java
deleted file mode 100644
index a051fbf..0000000
--- a/app/src/main/java/com/casic/dcms/adapter/CaseListResultAdapter.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package com.casic.dcms.adapter;
-
-import android.annotation.SuppressLint;
-import android.content.Context;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.casic.dcms.R;
-import com.casic.dcms.mvvm.model.CaseListResultBean;
-import com.casic.dcms.utils.StringHelper;
-
-import java.util.List;
-
-public class CaseListResultAdapter extends RecyclerView.Adapter {
-
- private final List dataRows;
- private final LayoutInflater layoutInflater;
-
- public CaseListResultAdapter(Context context, List dataRows) {
- this.dataRows = dataRows;
- layoutInflater = LayoutInflater.from(context);
- }
-
- @NonNull
- @Override
- public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = layoutInflater.inflate(R.layout.item_case_rv, parent, false);
- return new ItemViewHolder(view);
- }
-
- @Override
- public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
- holder.bindView(dataRows.get(position));
- if (clickListener != null) {
- holder.itemView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- clickListener.onClick(position);
- }
- });
- }
- }
-
- @Override
- public int getItemCount() {
- return dataRows.size();
- }
-
- private OnItemClickListener clickListener;
-
- public interface OnItemClickListener {
- void onClick(int position);
- }
-
- public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
- this.clickListener = onItemClickListener;
- }
-
- static class ItemViewHolder extends RecyclerView.ViewHolder {
-
-// private final TextView leftTextView;
- private final TextView caseTitleView;
- private final TextView casePlaceView;
- private final TextView caseTimeView;
-
- ItemViewHolder(@NonNull View itemView) {
- super(itemView);
-// leftTextView = itemView.findViewById(R.id.leftTextView);
- caseTitleView = itemView.findViewById(R.id.caseTitleView);
- casePlaceView = itemView.findViewById(R.id.casePlaceView);
- caseTimeView = itemView.findViewById(R.id.caseTimeView);
- }
-
- @SuppressLint("SetTextI18n")
- void bindView(CaseListResultBean.DataBean.RowsBean rowsBean) {
- String eorcName = rowsBean.getEorcName();
- if (TextUtils.isEmpty(eorcName)) {
- eorcName = "未知";
- }
-// leftTextView.setText(eorcName.substring(0, 1));
- caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription()));
- casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro()));
- caseTimeView.setText("上报时间:" + rowsBean.getReportTime());
- }
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseSearchResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseSearchResultAdapter.java
new file mode 100644
index 0000000..9e4a834
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/adapter/CaseSearchResultAdapter.java
@@ -0,0 +1,96 @@
+package com.casic.dcms.adapter;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.casic.dcms.R;
+import com.casic.dcms.mvvm.model.CaseSearchResultBean;
+import com.casic.dcms.utils.StringHelper;
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView;
+
+import java.util.List;
+
+public class CaseSearchResultAdapter extends RecyclerView.Adapter {
+
+ private final Context context;
+ private final List dataRows;
+ private final LayoutInflater layoutInflater;
+
+ public CaseSearchResultAdapter(Context context, List dataRows) {
+ this.context = context;
+ this.dataRows = dataRows;
+ layoutInflater = LayoutInflater.from(context);
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ return new ItemViewHolder(layoutInflater.inflate(R.layout.item_case_rv, parent, false));
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
+ holder.bindView(dataRows.get(position));
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ @Override
+ public int getItemCount() {
+ return dataRows.size();
+ }
+
+ private OnItemClickListener clickListener;
+
+ public interface OnItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
+ this.clickListener = onItemClickListener;
+ }
+
+ class ItemViewHolder extends RecyclerView.ViewHolder {
+
+ private final QMUIRadiusImageView caseImageView;
+ private final TextView caseTitleView;
+ private final TextView casePlaceView;
+ private final TextView caseTimeView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ caseImageView = itemView.findViewById(R.id.caseImageView);
+ caseTitleView = itemView.findViewById(R.id.caseTitleView);
+ casePlaceView = itemView.findViewById(R.id.casePlaceView);
+ caseTimeView = itemView.findViewById(R.id.caseTimeView);
+ }
+
+ void bindView(CaseSearchResultBean.DataDTO.RowsDTO rowsBean) {
+ //核实图片
+// String fileIdVerify = rowsBean.getFileIdVerify();
+// if (!TextUtils.isEmpty(fileIdVerify)) {
+// String[] split = fileIdVerify.split(",");
+// String firstImage = split[0];
+// if (firstImage.endsWith(".jpg") || firstImage.contains(".jpeg") || firstImage.contains(".png")) {
+// Glide.with(context).load(StringHelper.appendCompleteURL(firstImage)).into(caseImageView);
+// }
+// }
+ caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription()));
+ casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro()));
+ caseTimeView.setText("上报时间:" + rowsBean.getReportTime());
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/CaseListResultBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/CaseListResultBean.java
deleted file mode 100644
index 41b3016..0000000
--- a/app/src/main/java/com/casic/dcms/mvvm/model/CaseListResultBean.java
+++ /dev/null
@@ -1,303 +0,0 @@
-package com.casic.dcms.mvvm.model;
-
-import java.util.List;
-
-public class CaseListResultBean {
-
- private int code;
- private DataBean data;
- private String message;
- private boolean success;
-
- public int getCode() {
- return code;
- }
-
- public void setCode(int code) {
- this.code = code;
- }
-
- public DataBean getData() {
- return data;
- }
-
- public void setData(DataBean data) {
- this.data = data;
- }
-
- 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 static class DataBean {
-
- private int total;
- private List rows;
-
- public int getTotal() {
- return total;
- }
-
- public void setTotal(int total) {
- this.total = total;
- }
-
- public List getRows() {
- return rows;
- }
-
- public void setRows(List rows) {
- this.rows = rows;
- }
-
- public static class RowsBean {
-
- private int isPostpone;
- private String description;
- private String createUserName;
- private int source;
- private String eorcName;
- private String casetypeDetailName;
- private String remainingTime;
- private String casetypeName;
- private String processId;
- private int caseState;
- private String id;
- private String reportSupervisorId;
- private String fieldintro;
- private String lat;
- private String caseStateName;
- private String lng;
- private String isOvertime;
- private String casetypeDetailCode;
- private String onedeptid;
- private String eorc;
- private String caseid;
- private String casetypeCode;
- private String createUser;
- private String nodeLimittime;
- private String sourceName;
- private String reportTime;
-
- public int getIsPostpone() {
- return isPostpone;
- }
-
- public void setIsPostpone(int isPostpone) {
- this.isPostpone = isPostpone;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getCreateUserName() {
- return createUserName;
- }
-
- public void setCreateUserName(String createUserName) {
- this.createUserName = createUserName;
- }
-
- public int getSource() {
- return source;
- }
-
- public void setSource(int source) {
- this.source = source;
- }
-
- public String getEorcName() {
- return eorcName;
- }
-
- public void setEorcName(String eorcName) {
- this.eorcName = eorcName;
- }
-
- public String getCasetypeDetailName() {
- return casetypeDetailName;
- }
-
- public void setCasetypeDetailName(String casetypeDetailName) {
- this.casetypeDetailName = casetypeDetailName;
- }
-
- public String getRemainingTime() {
- return remainingTime;
- }
-
- public void setRemainingTime(String remainingTime) {
- this.remainingTime = remainingTime;
- }
-
- public String getCasetypeName() {
- return casetypeName;
- }
-
- public void setCasetypeName(String casetypeName) {
- this.casetypeName = casetypeName;
- }
-
- public String getProcessId() {
- return processId;
- }
-
- public void setProcessId(String processId) {
- this.processId = processId;
- }
-
- public int getCaseState() {
- return caseState;
- }
-
- public void setCaseState(int caseState) {
- this.caseState = caseState;
- }
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getReportSupervisorId() {
- return reportSupervisorId;
- }
-
- public void setReportSupervisorId(String reportSupervisorId) {
- this.reportSupervisorId = reportSupervisorId;
- }
-
- public String getFieldintro() {
- return fieldintro;
- }
-
- public void setFieldintro(String fieldintro) {
- this.fieldintro = fieldintro;
- }
-
- public String getLat() {
- return lat;
- }
-
- public void setLat(String lat) {
- this.lat = lat;
- }
-
- public String getCaseStateName() {
- return caseStateName;
- }
-
- public void setCaseStateName(String caseStateName) {
- this.caseStateName = caseStateName;
- }
-
- public String getLng() {
- return lng;
- }
-
- public void setLng(String lng) {
- this.lng = lng;
- }
-
- public String getIsOvertime() {
- return isOvertime;
- }
-
- public void setIsOvertime(String isOvertime) {
- this.isOvertime = isOvertime;
- }
-
- public String getCasetypeDetailCode() {
- return casetypeDetailCode;
- }
-
- public void setCasetypeDetailCode(String casetypeDetailCode) {
- this.casetypeDetailCode = casetypeDetailCode;
- }
-
- public String getOnedeptid() {
- return onedeptid;
- }
-
- public void setOnedeptid(String onedeptid) {
- this.onedeptid = onedeptid;
- }
-
- public String getEorc() {
- return eorc;
- }
-
- public void setEorc(String eorc) {
- this.eorc = eorc;
- }
-
- public String getCaseid() {
- return caseid;
- }
-
- public void setCaseid(String caseid) {
- this.caseid = caseid;
- }
-
- public String getCasetypeCode() {
- return casetypeCode;
- }
-
- public void setCasetypeCode(String casetypeCode) {
- this.casetypeCode = casetypeCode;
- }
-
- public String getCreateUser() {
- return createUser;
- }
-
- public void setCreateUser(String createUser) {
- this.createUser = createUser;
- }
-
- public String getNodeLimittime() {
- return nodeLimittime;
- }
-
- public void setNodeLimittime(String nodeLimittime) {
- this.nodeLimittime = nodeLimittime;
- }
-
- public String getSourceName() {
- return sourceName;
- }
-
- public void setSourceName(String sourceName) {
- this.sourceName = sourceName;
- }
-
- public String getReportTime() {
- return reportTime;
- }
-
- public void setReportTime(String reportTime) {
- this.reportTime = reportTime;
- }
- }
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/CaseSearchResultBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/CaseSearchResultBean.java
new file mode 100644
index 0000000..4d62c22
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvvm/model/CaseSearchResultBean.java
@@ -0,0 +1,319 @@
+package com.casic.dcms.mvvm.model;
+
+import java.util.List;
+
+public class CaseSearchResultBean {
+
+ private int code;
+ private DataDTO data;
+ private String message;
+ private boolean success;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public DataDTO getData() {
+ return data;
+ }
+
+ public void setData(DataDTO data) {
+ this.data = data;
+ }
+
+ 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 static class DataDTO {
+ private List rows;
+ private int total;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
+
+ public int getTotal() {
+ return total;
+ }
+
+ public void setTotal(int total) {
+ this.total = total;
+ }
+
+ public static class RowsDTO {
+ private int isPostpone;
+ private String description;
+ private String createUserName;
+ private int source;
+ private String eorcName;
+ private String casetypeDetailName;
+ private String remainingTime;
+ private String casetypeName;
+ private String processId;
+ private int caseState;
+ private String id;
+ private String reportSupervisorId;
+ private String fieldintro;
+ private String lat;
+ private String caseStateName;
+ private String lng;
+ private String isOvertime;
+ private String currRoleName;
+ private String casetypeDetailCode;
+ private String onedeptid;
+ private String eorc;
+ private String currRoleId;
+ private String caseid;
+ private String casetypeCode;
+ private String createUser;
+ private String nodeLimittime;
+ private String sourceName;
+ private String reportTime;
+
+ public int getIsPostpone() {
+ return isPostpone;
+ }
+
+ public void setIsPostpone(int isPostpone) {
+ this.isPostpone = isPostpone;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public String getCreateUserName() {
+ return createUserName;
+ }
+
+ public void setCreateUserName(String createUserName) {
+ this.createUserName = createUserName;
+ }
+
+ public int getSource() {
+ return source;
+ }
+
+ public void setSource(int source) {
+ this.source = source;
+ }
+
+ public String getEorcName() {
+ return eorcName;
+ }
+
+ public void setEorcName(String eorcName) {
+ this.eorcName = eorcName;
+ }
+
+ public String getCasetypeDetailName() {
+ return casetypeDetailName;
+ }
+
+ public void setCasetypeDetailName(String casetypeDetailName) {
+ this.casetypeDetailName = casetypeDetailName;
+ }
+
+ public String getRemainingTime() {
+ return remainingTime;
+ }
+
+ public void setRemainingTime(String remainingTime) {
+ this.remainingTime = remainingTime;
+ }
+
+ public String getCasetypeName() {
+ return casetypeName;
+ }
+
+ public void setCasetypeName(String casetypeName) {
+ this.casetypeName = casetypeName;
+ }
+
+ public String getProcessId() {
+ return processId;
+ }
+
+ public void setProcessId(String processId) {
+ this.processId = processId;
+ }
+
+ public int getCaseState() {
+ return caseState;
+ }
+
+ public void setCaseState(int caseState) {
+ this.caseState = caseState;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getReportSupervisorId() {
+ return reportSupervisorId;
+ }
+
+ public void setReportSupervisorId(String reportSupervisorId) {
+ this.reportSupervisorId = reportSupervisorId;
+ }
+
+ public String getFieldintro() {
+ return fieldintro;
+ }
+
+ public void setFieldintro(String fieldintro) {
+ this.fieldintro = fieldintro;
+ }
+
+ public String getLat() {
+ return lat;
+ }
+
+ public void setLat(String lat) {
+ this.lat = lat;
+ }
+
+ public String getCaseStateName() {
+ return caseStateName;
+ }
+
+ public void setCaseStateName(String caseStateName) {
+ this.caseStateName = caseStateName;
+ }
+
+ public String getLng() {
+ return lng;
+ }
+
+ public void setLng(String lng) {
+ this.lng = lng;
+ }
+
+ public String getIsOvertime() {
+ return isOvertime;
+ }
+
+ public void setIsOvertime(String isOvertime) {
+ this.isOvertime = isOvertime;
+ }
+
+ public String getCurrRoleName() {
+ return currRoleName;
+ }
+
+ public void setCurrRoleName(String currRoleName) {
+ this.currRoleName = currRoleName;
+ }
+
+ public String getCasetypeDetailCode() {
+ return casetypeDetailCode;
+ }
+
+ public void setCasetypeDetailCode(String casetypeDetailCode) {
+ this.casetypeDetailCode = casetypeDetailCode;
+ }
+
+ public String getOnedeptid() {
+ return onedeptid;
+ }
+
+ public void setOnedeptid(String onedeptid) {
+ this.onedeptid = onedeptid;
+ }
+
+ public String getEorc() {
+ return eorc;
+ }
+
+ public void setEorc(String eorc) {
+ this.eorc = eorc;
+ }
+
+ public String getCurrRoleId() {
+ return currRoleId;
+ }
+
+ public void setCurrRoleId(String currRoleId) {
+ this.currRoleId = currRoleId;
+ }
+
+ public String getCaseid() {
+ return caseid;
+ }
+
+ public void setCaseid(String caseid) {
+ this.caseid = caseid;
+ }
+
+ public String getCasetypeCode() {
+ return casetypeCode;
+ }
+
+ public void setCasetypeCode(String casetypeCode) {
+ this.casetypeCode = casetypeCode;
+ }
+
+ public String getCreateUser() {
+ return createUser;
+ }
+
+ public void setCreateUser(String createUser) {
+ this.createUser = createUser;
+ }
+
+ public String getNodeLimittime() {
+ return nodeLimittime;
+ }
+
+ public void setNodeLimittime(String nodeLimittime) {
+ this.nodeLimittime = nodeLimittime;
+ }
+
+ public String getSourceName() {
+ return sourceName;
+ }
+
+ public void setSourceName(String sourceName) {
+ this.sourceName = sourceName;
+ }
+
+ public String getReportTime() {
+ return reportTime;
+ }
+
+ public void setReportTime(String reportTime) {
+ this.reportTime = reportTime;
+ }
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseListResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseListResultActivity.java
deleted file mode 100644
index 3cf287f..0000000
--- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseListResultActivity.java
+++ /dev/null
@@ -1,170 +0,0 @@
-package com.casic.dcms.mvvm.view;
-
-import android.content.Context;
-import android.os.Handler;
-import android.view.View;
-
-import androidx.annotation.NonNull;
-import androidx.core.content.ContextCompat;
-import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
-
-import com.casic.dcms.R;
-import com.casic.dcms.adapter.CaseListResultAdapter;
-import com.casic.dcms.databinding.ActivityCaseListBinding;
-import com.casic.dcms.mvvm.model.CaseListResultBean;
-import com.casic.dcms.mvvm.vm.CaseViewModel;
-import com.casic.dcms.utils.OtherUtils;
-import com.gyf.immersionbar.ImmersionBar;
-import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
-import com.pengxh.androidx.lite.utils.ContextUtil;
-import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
-import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
-import com.pengxh.androidx.lite.vm.LoadState;
-import com.pengxh.androidx.lite.widget.EasyToast;
-import com.scwang.smartrefresh.layout.api.RefreshLayout;
-import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
-import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class CaseListResultActivity extends AndroidxBaseActivity {
-
- private final Context context = this;
- private WeakReferenceHandler weakReferenceHandler;
- private CaseViewModel caseViewModel;
- private CaseListResultAdapter adapter;
- private String typeCode;
- private String typeDetailCode;
- private String caseState;
- private String startTime;
- private String endTime;
- private String eorc;
- private int pageIndex = 1;
- private List dataBeans = new ArrayList<>();
- private boolean isRefresh = false;
- private boolean isLoadMore = false;
-
- @Override
- protected void setupTopBarLayout() {
- ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor));
- ImmersionBar.with(this).statusBarDarkFont(false).init();
-
- viewBinding.titleBarLayout.titleView.setText("查询结果");
- viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
- }
-
- @Override
- protected void initData() {
- weakReferenceHandler = new WeakReferenceHandler(callback);
- caseViewModel = new ViewModelProvider(this).get(CaseViewModel.class);
-
- eorc = getIntent().getStringExtra("eorc");
- typeCode = getIntent().getStringExtra("typeCode");
- typeDetailCode = getIntent().getStringExtra("typeDetailCode");
- caseState = getIntent().getStringExtra("caseState");
- startTime = getIntent().getStringExtra("startTime");
- endTime = getIntent().getStringExtra("endTime");
- obtainSearchResult();
- }
-
- private void obtainSearchResult() {
- //加载第一页
- caseViewModel.searchCase(eorc, typeCode, typeDetailCode, caseState, startTime, endTime, "0", pageIndex);
- }
-
- @Override
- protected void initEvent() {
- viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
- @Override
- public void onRefresh(@NonNull RefreshLayout refreshLayout) {
- isRefresh = true;
- //刷新之后页码重置
- pageIndex = 1;
- obtainSearchResult();
- }
- });
- viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
- @Override
- public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
- isLoadMore = true;
- pageIndex++;
- obtainSearchResult();
- }
- });
-
- caseViewModel.searchResultModel.observe(this, new Observer() {
- @Override
- public void onChanged(CaseListResultBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataRows = resultBean.getData().getRows();
- if (isRefresh) {
- dataBeans.clear(); //下拉刷新必须先清空之前的List,不然会出现数据重复的问题
- dataBeans = dataRows;
- viewBinding.refreshLayout.finishRefresh();
- isRefresh = false;
- } else if (isLoadMore) {
- if (dataRows.size() == 0) {
- EasyToast.show(context, "到底了,别拉了");
- }
- dataBeans.addAll(dataRows);
- viewBinding.refreshLayout.finishLoadMore();
- isLoadMore = false;
- } else {
- dataBeans = dataRows;
- }
- //更新RecyclerView
- weakReferenceHandler.sendEmptyMessage(20210425);
- }
- }
- });
- caseViewModel.loadState.observe(this, new Observer() {
- @Override
- public void onChanged(LoadState loadState) {
- if (loadState == LoadState.Loading) {
- OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后");
- } else {
- OtherUtils.dismissLoadingDialog();
- }
- }
- });
- }
-
- /**
- * 弱应用Handler,防止内存泄漏
- */
- private final Handler.Callback callback = msg -> {
- if (msg.what == 20210425) {
- if (isRefresh || isLoadMore) {
- adapter.notifyDataSetChanged();
- } else {
- //首次加载数据
- if (dataBeans.size() == 0) {
- viewBinding.emptyView.show(false, "抱歉,没有查到符合您规定条件的案卷", null, "", new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- pageIndex = 1;
- obtainSearchResult();
- }
- });
- } else {
- viewBinding.emptyView.hide();
- adapter = new CaseListResultAdapter(context, dataBeans);
- viewBinding.caseRecyclerView.setAdapter(adapter);
- adapter.setOnItemClickListener(new CaseListResultAdapter.OnItemClickListener() {
- @Override
- public void onClick(int position) {
- ContextUtil.navigatePageTo(
- context,
- CaseDetailActivity.class,
- dataBeans.get(position).getId()
- );
- }
- });
- }
- }
- }
- return true;
- };
-}
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 4c01f54..53acf2f 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -27,6 +27,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index eb654a2..d087ae2 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -69,7 +69,7 @@
-
+
diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseListResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseListResultAdapter.java
deleted file mode 100644
index a051fbf..0000000
--- a/app/src/main/java/com/casic/dcms/adapter/CaseListResultAdapter.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package com.casic.dcms.adapter;
-
-import android.annotation.SuppressLint;
-import android.content.Context;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.casic.dcms.R;
-import com.casic.dcms.mvvm.model.CaseListResultBean;
-import com.casic.dcms.utils.StringHelper;
-
-import java.util.List;
-
-public class CaseListResultAdapter extends RecyclerView.Adapter {
-
- private final List dataRows;
- private final LayoutInflater layoutInflater;
-
- public CaseListResultAdapter(Context context, List dataRows) {
- this.dataRows = dataRows;
- layoutInflater = LayoutInflater.from(context);
- }
-
- @NonNull
- @Override
- public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = layoutInflater.inflate(R.layout.item_case_rv, parent, false);
- return new ItemViewHolder(view);
- }
-
- @Override
- public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
- holder.bindView(dataRows.get(position));
- if (clickListener != null) {
- holder.itemView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- clickListener.onClick(position);
- }
- });
- }
- }
-
- @Override
- public int getItemCount() {
- return dataRows.size();
- }
-
- private OnItemClickListener clickListener;
-
- public interface OnItemClickListener {
- void onClick(int position);
- }
-
- public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
- this.clickListener = onItemClickListener;
- }
-
- static class ItemViewHolder extends RecyclerView.ViewHolder {
-
-// private final TextView leftTextView;
- private final TextView caseTitleView;
- private final TextView casePlaceView;
- private final TextView caseTimeView;
-
- ItemViewHolder(@NonNull View itemView) {
- super(itemView);
-// leftTextView = itemView.findViewById(R.id.leftTextView);
- caseTitleView = itemView.findViewById(R.id.caseTitleView);
- casePlaceView = itemView.findViewById(R.id.casePlaceView);
- caseTimeView = itemView.findViewById(R.id.caseTimeView);
- }
-
- @SuppressLint("SetTextI18n")
- void bindView(CaseListResultBean.DataBean.RowsBean rowsBean) {
- String eorcName = rowsBean.getEorcName();
- if (TextUtils.isEmpty(eorcName)) {
- eorcName = "未知";
- }
-// leftTextView.setText(eorcName.substring(0, 1));
- caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription()));
- casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro()));
- caseTimeView.setText("上报时间:" + rowsBean.getReportTime());
- }
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseSearchResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseSearchResultAdapter.java
new file mode 100644
index 0000000..9e4a834
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/adapter/CaseSearchResultAdapter.java
@@ -0,0 +1,96 @@
+package com.casic.dcms.adapter;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.casic.dcms.R;
+import com.casic.dcms.mvvm.model.CaseSearchResultBean;
+import com.casic.dcms.utils.StringHelper;
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView;
+
+import java.util.List;
+
+public class CaseSearchResultAdapter extends RecyclerView.Adapter {
+
+ private final Context context;
+ private final List dataRows;
+ private final LayoutInflater layoutInflater;
+
+ public CaseSearchResultAdapter(Context context, List dataRows) {
+ this.context = context;
+ this.dataRows = dataRows;
+ layoutInflater = LayoutInflater.from(context);
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ return new ItemViewHolder(layoutInflater.inflate(R.layout.item_case_rv, parent, false));
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
+ holder.bindView(dataRows.get(position));
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ @Override
+ public int getItemCount() {
+ return dataRows.size();
+ }
+
+ private OnItemClickListener clickListener;
+
+ public interface OnItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
+ this.clickListener = onItemClickListener;
+ }
+
+ class ItemViewHolder extends RecyclerView.ViewHolder {
+
+ private final QMUIRadiusImageView caseImageView;
+ private final TextView caseTitleView;
+ private final TextView casePlaceView;
+ private final TextView caseTimeView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ caseImageView = itemView.findViewById(R.id.caseImageView);
+ caseTitleView = itemView.findViewById(R.id.caseTitleView);
+ casePlaceView = itemView.findViewById(R.id.casePlaceView);
+ caseTimeView = itemView.findViewById(R.id.caseTimeView);
+ }
+
+ void bindView(CaseSearchResultBean.DataDTO.RowsDTO rowsBean) {
+ //核实图片
+// String fileIdVerify = rowsBean.getFileIdVerify();
+// if (!TextUtils.isEmpty(fileIdVerify)) {
+// String[] split = fileIdVerify.split(",");
+// String firstImage = split[0];
+// if (firstImage.endsWith(".jpg") || firstImage.contains(".jpeg") || firstImage.contains(".png")) {
+// Glide.with(context).load(StringHelper.appendCompleteURL(firstImage)).into(caseImageView);
+// }
+// }
+ caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription()));
+ casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro()));
+ caseTimeView.setText("上报时间:" + rowsBean.getReportTime());
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/CaseListResultBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/CaseListResultBean.java
deleted file mode 100644
index 41b3016..0000000
--- a/app/src/main/java/com/casic/dcms/mvvm/model/CaseListResultBean.java
+++ /dev/null
@@ -1,303 +0,0 @@
-package com.casic.dcms.mvvm.model;
-
-import java.util.List;
-
-public class CaseListResultBean {
-
- private int code;
- private DataBean data;
- private String message;
- private boolean success;
-
- public int getCode() {
- return code;
- }
-
- public void setCode(int code) {
- this.code = code;
- }
-
- public DataBean getData() {
- return data;
- }
-
- public void setData(DataBean data) {
- this.data = data;
- }
-
- 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 static class DataBean {
-
- private int total;
- private List rows;
-
- public int getTotal() {
- return total;
- }
-
- public void setTotal(int total) {
- this.total = total;
- }
-
- public List getRows() {
- return rows;
- }
-
- public void setRows(List rows) {
- this.rows = rows;
- }
-
- public static class RowsBean {
-
- private int isPostpone;
- private String description;
- private String createUserName;
- private int source;
- private String eorcName;
- private String casetypeDetailName;
- private String remainingTime;
- private String casetypeName;
- private String processId;
- private int caseState;
- private String id;
- private String reportSupervisorId;
- private String fieldintro;
- private String lat;
- private String caseStateName;
- private String lng;
- private String isOvertime;
- private String casetypeDetailCode;
- private String onedeptid;
- private String eorc;
- private String caseid;
- private String casetypeCode;
- private String createUser;
- private String nodeLimittime;
- private String sourceName;
- private String reportTime;
-
- public int getIsPostpone() {
- return isPostpone;
- }
-
- public void setIsPostpone(int isPostpone) {
- this.isPostpone = isPostpone;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getCreateUserName() {
- return createUserName;
- }
-
- public void setCreateUserName(String createUserName) {
- this.createUserName = createUserName;
- }
-
- public int getSource() {
- return source;
- }
-
- public void setSource(int source) {
- this.source = source;
- }
-
- public String getEorcName() {
- return eorcName;
- }
-
- public void setEorcName(String eorcName) {
- this.eorcName = eorcName;
- }
-
- public String getCasetypeDetailName() {
- return casetypeDetailName;
- }
-
- public void setCasetypeDetailName(String casetypeDetailName) {
- this.casetypeDetailName = casetypeDetailName;
- }
-
- public String getRemainingTime() {
- return remainingTime;
- }
-
- public void setRemainingTime(String remainingTime) {
- this.remainingTime = remainingTime;
- }
-
- public String getCasetypeName() {
- return casetypeName;
- }
-
- public void setCasetypeName(String casetypeName) {
- this.casetypeName = casetypeName;
- }
-
- public String getProcessId() {
- return processId;
- }
-
- public void setProcessId(String processId) {
- this.processId = processId;
- }
-
- public int getCaseState() {
- return caseState;
- }
-
- public void setCaseState(int caseState) {
- this.caseState = caseState;
- }
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getReportSupervisorId() {
- return reportSupervisorId;
- }
-
- public void setReportSupervisorId(String reportSupervisorId) {
- this.reportSupervisorId = reportSupervisorId;
- }
-
- public String getFieldintro() {
- return fieldintro;
- }
-
- public void setFieldintro(String fieldintro) {
- this.fieldintro = fieldintro;
- }
-
- public String getLat() {
- return lat;
- }
-
- public void setLat(String lat) {
- this.lat = lat;
- }
-
- public String getCaseStateName() {
- return caseStateName;
- }
-
- public void setCaseStateName(String caseStateName) {
- this.caseStateName = caseStateName;
- }
-
- public String getLng() {
- return lng;
- }
-
- public void setLng(String lng) {
- this.lng = lng;
- }
-
- public String getIsOvertime() {
- return isOvertime;
- }
-
- public void setIsOvertime(String isOvertime) {
- this.isOvertime = isOvertime;
- }
-
- public String getCasetypeDetailCode() {
- return casetypeDetailCode;
- }
-
- public void setCasetypeDetailCode(String casetypeDetailCode) {
- this.casetypeDetailCode = casetypeDetailCode;
- }
-
- public String getOnedeptid() {
- return onedeptid;
- }
-
- public void setOnedeptid(String onedeptid) {
- this.onedeptid = onedeptid;
- }
-
- public String getEorc() {
- return eorc;
- }
-
- public void setEorc(String eorc) {
- this.eorc = eorc;
- }
-
- public String getCaseid() {
- return caseid;
- }
-
- public void setCaseid(String caseid) {
- this.caseid = caseid;
- }
-
- public String getCasetypeCode() {
- return casetypeCode;
- }
-
- public void setCasetypeCode(String casetypeCode) {
- this.casetypeCode = casetypeCode;
- }
-
- public String getCreateUser() {
- return createUser;
- }
-
- public void setCreateUser(String createUser) {
- this.createUser = createUser;
- }
-
- public String getNodeLimittime() {
- return nodeLimittime;
- }
-
- public void setNodeLimittime(String nodeLimittime) {
- this.nodeLimittime = nodeLimittime;
- }
-
- public String getSourceName() {
- return sourceName;
- }
-
- public void setSourceName(String sourceName) {
- this.sourceName = sourceName;
- }
-
- public String getReportTime() {
- return reportTime;
- }
-
- public void setReportTime(String reportTime) {
- this.reportTime = reportTime;
- }
- }
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/CaseSearchResultBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/CaseSearchResultBean.java
new file mode 100644
index 0000000..4d62c22
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvvm/model/CaseSearchResultBean.java
@@ -0,0 +1,319 @@
+package com.casic.dcms.mvvm.model;
+
+import java.util.List;
+
+public class CaseSearchResultBean {
+
+ private int code;
+ private DataDTO data;
+ private String message;
+ private boolean success;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public DataDTO getData() {
+ return data;
+ }
+
+ public void setData(DataDTO data) {
+ this.data = data;
+ }
+
+ 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 static class DataDTO {
+ private List rows;
+ private int total;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
+
+ public int getTotal() {
+ return total;
+ }
+
+ public void setTotal(int total) {
+ this.total = total;
+ }
+
+ public static class RowsDTO {
+ private int isPostpone;
+ private String description;
+ private String createUserName;
+ private int source;
+ private String eorcName;
+ private String casetypeDetailName;
+ private String remainingTime;
+ private String casetypeName;
+ private String processId;
+ private int caseState;
+ private String id;
+ private String reportSupervisorId;
+ private String fieldintro;
+ private String lat;
+ private String caseStateName;
+ private String lng;
+ private String isOvertime;
+ private String currRoleName;
+ private String casetypeDetailCode;
+ private String onedeptid;
+ private String eorc;
+ private String currRoleId;
+ private String caseid;
+ private String casetypeCode;
+ private String createUser;
+ private String nodeLimittime;
+ private String sourceName;
+ private String reportTime;
+
+ public int getIsPostpone() {
+ return isPostpone;
+ }
+
+ public void setIsPostpone(int isPostpone) {
+ this.isPostpone = isPostpone;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public String getCreateUserName() {
+ return createUserName;
+ }
+
+ public void setCreateUserName(String createUserName) {
+ this.createUserName = createUserName;
+ }
+
+ public int getSource() {
+ return source;
+ }
+
+ public void setSource(int source) {
+ this.source = source;
+ }
+
+ public String getEorcName() {
+ return eorcName;
+ }
+
+ public void setEorcName(String eorcName) {
+ this.eorcName = eorcName;
+ }
+
+ public String getCasetypeDetailName() {
+ return casetypeDetailName;
+ }
+
+ public void setCasetypeDetailName(String casetypeDetailName) {
+ this.casetypeDetailName = casetypeDetailName;
+ }
+
+ public String getRemainingTime() {
+ return remainingTime;
+ }
+
+ public void setRemainingTime(String remainingTime) {
+ this.remainingTime = remainingTime;
+ }
+
+ public String getCasetypeName() {
+ return casetypeName;
+ }
+
+ public void setCasetypeName(String casetypeName) {
+ this.casetypeName = casetypeName;
+ }
+
+ public String getProcessId() {
+ return processId;
+ }
+
+ public void setProcessId(String processId) {
+ this.processId = processId;
+ }
+
+ public int getCaseState() {
+ return caseState;
+ }
+
+ public void setCaseState(int caseState) {
+ this.caseState = caseState;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getReportSupervisorId() {
+ return reportSupervisorId;
+ }
+
+ public void setReportSupervisorId(String reportSupervisorId) {
+ this.reportSupervisorId = reportSupervisorId;
+ }
+
+ public String getFieldintro() {
+ return fieldintro;
+ }
+
+ public void setFieldintro(String fieldintro) {
+ this.fieldintro = fieldintro;
+ }
+
+ public String getLat() {
+ return lat;
+ }
+
+ public void setLat(String lat) {
+ this.lat = lat;
+ }
+
+ public String getCaseStateName() {
+ return caseStateName;
+ }
+
+ public void setCaseStateName(String caseStateName) {
+ this.caseStateName = caseStateName;
+ }
+
+ public String getLng() {
+ return lng;
+ }
+
+ public void setLng(String lng) {
+ this.lng = lng;
+ }
+
+ public String getIsOvertime() {
+ return isOvertime;
+ }
+
+ public void setIsOvertime(String isOvertime) {
+ this.isOvertime = isOvertime;
+ }
+
+ public String getCurrRoleName() {
+ return currRoleName;
+ }
+
+ public void setCurrRoleName(String currRoleName) {
+ this.currRoleName = currRoleName;
+ }
+
+ public String getCasetypeDetailCode() {
+ return casetypeDetailCode;
+ }
+
+ public void setCasetypeDetailCode(String casetypeDetailCode) {
+ this.casetypeDetailCode = casetypeDetailCode;
+ }
+
+ public String getOnedeptid() {
+ return onedeptid;
+ }
+
+ public void setOnedeptid(String onedeptid) {
+ this.onedeptid = onedeptid;
+ }
+
+ public String getEorc() {
+ return eorc;
+ }
+
+ public void setEorc(String eorc) {
+ this.eorc = eorc;
+ }
+
+ public String getCurrRoleId() {
+ return currRoleId;
+ }
+
+ public void setCurrRoleId(String currRoleId) {
+ this.currRoleId = currRoleId;
+ }
+
+ public String getCaseid() {
+ return caseid;
+ }
+
+ public void setCaseid(String caseid) {
+ this.caseid = caseid;
+ }
+
+ public String getCasetypeCode() {
+ return casetypeCode;
+ }
+
+ public void setCasetypeCode(String casetypeCode) {
+ this.casetypeCode = casetypeCode;
+ }
+
+ public String getCreateUser() {
+ return createUser;
+ }
+
+ public void setCreateUser(String createUser) {
+ this.createUser = createUser;
+ }
+
+ public String getNodeLimittime() {
+ return nodeLimittime;
+ }
+
+ public void setNodeLimittime(String nodeLimittime) {
+ this.nodeLimittime = nodeLimittime;
+ }
+
+ public String getSourceName() {
+ return sourceName;
+ }
+
+ public void setSourceName(String sourceName) {
+ this.sourceName = sourceName;
+ }
+
+ public String getReportTime() {
+ return reportTime;
+ }
+
+ public void setReportTime(String reportTime) {
+ this.reportTime = reportTime;
+ }
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseListResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseListResultActivity.java
deleted file mode 100644
index 3cf287f..0000000
--- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseListResultActivity.java
+++ /dev/null
@@ -1,170 +0,0 @@
-package com.casic.dcms.mvvm.view;
-
-import android.content.Context;
-import android.os.Handler;
-import android.view.View;
-
-import androidx.annotation.NonNull;
-import androidx.core.content.ContextCompat;
-import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
-
-import com.casic.dcms.R;
-import com.casic.dcms.adapter.CaseListResultAdapter;
-import com.casic.dcms.databinding.ActivityCaseListBinding;
-import com.casic.dcms.mvvm.model.CaseListResultBean;
-import com.casic.dcms.mvvm.vm.CaseViewModel;
-import com.casic.dcms.utils.OtherUtils;
-import com.gyf.immersionbar.ImmersionBar;
-import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
-import com.pengxh.androidx.lite.utils.ContextUtil;
-import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
-import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
-import com.pengxh.androidx.lite.vm.LoadState;
-import com.pengxh.androidx.lite.widget.EasyToast;
-import com.scwang.smartrefresh.layout.api.RefreshLayout;
-import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
-import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class CaseListResultActivity extends AndroidxBaseActivity {
-
- private final Context context = this;
- private WeakReferenceHandler weakReferenceHandler;
- private CaseViewModel caseViewModel;
- private CaseListResultAdapter adapter;
- private String typeCode;
- private String typeDetailCode;
- private String caseState;
- private String startTime;
- private String endTime;
- private String eorc;
- private int pageIndex = 1;
- private List dataBeans = new ArrayList<>();
- private boolean isRefresh = false;
- private boolean isLoadMore = false;
-
- @Override
- protected void setupTopBarLayout() {
- ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor));
- ImmersionBar.with(this).statusBarDarkFont(false).init();
-
- viewBinding.titleBarLayout.titleView.setText("查询结果");
- viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
- }
-
- @Override
- protected void initData() {
- weakReferenceHandler = new WeakReferenceHandler(callback);
- caseViewModel = new ViewModelProvider(this).get(CaseViewModel.class);
-
- eorc = getIntent().getStringExtra("eorc");
- typeCode = getIntent().getStringExtra("typeCode");
- typeDetailCode = getIntent().getStringExtra("typeDetailCode");
- caseState = getIntent().getStringExtra("caseState");
- startTime = getIntent().getStringExtra("startTime");
- endTime = getIntent().getStringExtra("endTime");
- obtainSearchResult();
- }
-
- private void obtainSearchResult() {
- //加载第一页
- caseViewModel.searchCase(eorc, typeCode, typeDetailCode, caseState, startTime, endTime, "0", pageIndex);
- }
-
- @Override
- protected void initEvent() {
- viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
- @Override
- public void onRefresh(@NonNull RefreshLayout refreshLayout) {
- isRefresh = true;
- //刷新之后页码重置
- pageIndex = 1;
- obtainSearchResult();
- }
- });
- viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
- @Override
- public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
- isLoadMore = true;
- pageIndex++;
- obtainSearchResult();
- }
- });
-
- caseViewModel.searchResultModel.observe(this, new Observer() {
- @Override
- public void onChanged(CaseListResultBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataRows = resultBean.getData().getRows();
- if (isRefresh) {
- dataBeans.clear(); //下拉刷新必须先清空之前的List,不然会出现数据重复的问题
- dataBeans = dataRows;
- viewBinding.refreshLayout.finishRefresh();
- isRefresh = false;
- } else if (isLoadMore) {
- if (dataRows.size() == 0) {
- EasyToast.show(context, "到底了,别拉了");
- }
- dataBeans.addAll(dataRows);
- viewBinding.refreshLayout.finishLoadMore();
- isLoadMore = false;
- } else {
- dataBeans = dataRows;
- }
- //更新RecyclerView
- weakReferenceHandler.sendEmptyMessage(20210425);
- }
- }
- });
- caseViewModel.loadState.observe(this, new Observer() {
- @Override
- public void onChanged(LoadState loadState) {
- if (loadState == LoadState.Loading) {
- OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后");
- } else {
- OtherUtils.dismissLoadingDialog();
- }
- }
- });
- }
-
- /**
- * 弱应用Handler,防止内存泄漏
- */
- private final Handler.Callback callback = msg -> {
- if (msg.what == 20210425) {
- if (isRefresh || isLoadMore) {
- adapter.notifyDataSetChanged();
- } else {
- //首次加载数据
- if (dataBeans.size() == 0) {
- viewBinding.emptyView.show(false, "抱歉,没有查到符合您规定条件的案卷", null, "", new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- pageIndex = 1;
- obtainSearchResult();
- }
- });
- } else {
- viewBinding.emptyView.hide();
- adapter = new CaseListResultAdapter(context, dataBeans);
- viewBinding.caseRecyclerView.setAdapter(adapter);
- adapter.setOnItemClickListener(new CaseListResultAdapter.OnItemClickListener() {
- @Override
- public void onClick(int position) {
- ContextUtil.navigatePageTo(
- context,
- CaseDetailActivity.class,
- dataBeans.get(position).getId()
- );
- }
- });
- }
- }
- }
- return true;
- };
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java
new file mode 100644
index 0000000..12ed207
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java
@@ -0,0 +1,172 @@
+package com.casic.dcms.mvvm.view;
+
+import android.content.Context;
+import android.os.Handler;
+import android.view.View;
+
+import androidx.annotation.NonNull;
+import androidx.core.content.ContextCompat;
+import androidx.lifecycle.Observer;
+import androidx.lifecycle.ViewModelProvider;
+
+import com.casic.dcms.R;
+import com.casic.dcms.adapter.CaseSearchResultAdapter;
+import com.casic.dcms.databinding.ActivityCaseListBinding;
+import com.casic.dcms.mvvm.model.CaseSearchResultBean;
+import com.casic.dcms.mvvm.vm.CaseViewModel;
+import com.casic.dcms.utils.OtherUtils;
+import com.gyf.immersionbar.ImmersionBar;
+import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.utils.ContextUtil;
+import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
+import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
+import com.pengxh.androidx.lite.vm.LoadState;
+import com.pengxh.androidx.lite.widget.EasyToast;
+import com.scwang.smartrefresh.layout.api.RefreshLayout;
+import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
+import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class CaseSearchResultActivity extends AndroidxBaseActivity {
+
+ private final Context context = this;
+ private WeakReferenceHandler weakReferenceHandler;
+ private CaseViewModel caseViewModel;
+ private CaseSearchResultAdapter adapter;
+ private String typeCode;
+ private String typeDetailCode;
+ private String caseState;
+ private String startTime;
+ private String endTime;
+ private String eorc;
+ private int pageIndex = 1;
+ private List dataBeans = new ArrayList<>();
+ private boolean isRefresh = false;
+ private boolean isLoadMore = false;
+
+ @Override
+ protected void setupTopBarLayout() {
+ ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor));
+ ImmersionBar.with(this).statusBarDarkFont(false).init();
+
+ viewBinding.titleBarLayout.titleView.setText("查询结果");
+ viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ }
+
+ @Override
+ protected void initData() {
+ weakReferenceHandler = new WeakReferenceHandler(callback);
+ caseViewModel = new ViewModelProvider(this).get(CaseViewModel.class);
+
+ eorc = getIntent().getStringExtra("eorc");
+ typeCode = getIntent().getStringExtra("typeCode");
+ typeDetailCode = getIntent().getStringExtra("typeDetailCode");
+ caseState = getIntent().getStringExtra("caseState");
+ startTime = getIntent().getStringExtra("startTime");
+ endTime = getIntent().getStringExtra("endTime");
+ obtainSearchResult();
+ }
+
+ private void obtainSearchResult() {
+ //加载第一页
+ caseViewModel.searchCase(eorc, typeCode, typeDetailCode, caseState, startTime, endTime, "0", pageIndex);
+ }
+
+ @Override
+ protected void initEvent() {
+ viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
+ @Override
+ public void onRefresh(@NonNull RefreshLayout refreshLayout) {
+ isRefresh = true;
+ //刷新之后页码重置
+ pageIndex = 1;
+ obtainSearchResult();
+ }
+ });
+ viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
+ @Override
+ public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
+ isLoadMore = true;
+ pageIndex++;
+ obtainSearchResult();
+ }
+ });
+
+ caseViewModel.searchResultModel.observe(this, new Observer() {
+ @Override
+ public void onChanged(CaseSearchResultBean resultBean) {
+ if (resultBean.getCode() == 200) {
+ List dataRows = resultBean.getData().getRows();
+ if (isRefresh) {
+ dataBeans.clear(); //下拉刷新必须先清空之前的List,不然会出现数据重复的问题
+ dataBeans = dataRows;
+ viewBinding.refreshLayout.finishRefresh();
+ isRefresh = false;
+ } else if (isLoadMore) {
+ if (dataRows.size() == 0) {
+ EasyToast.show(context, "到底了,别拉了");
+ }
+ dataBeans.addAll(dataRows);
+ viewBinding.refreshLayout.finishLoadMore();
+ isLoadMore = false;
+ } else {
+ dataBeans = dataRows;
+ }
+ //更新RecyclerView
+ weakReferenceHandler.sendEmptyMessage(20210425);
+ }
+ }
+ });
+ caseViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (!isRefresh && !isLoadMore) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后");
+ } else {
+ OtherUtils.dismissLoadingDialog();
+ }
+ }
+ }
+ });
+ }
+
+ /**
+ * 弱应用Handler,防止内存泄漏
+ */
+ private final Handler.Callback callback = msg -> {
+ if (msg.what == 20210425) {
+ if (isRefresh || isLoadMore) {
+ adapter.notifyDataSetChanged();
+ } else {
+ //首次加载数据
+ if (dataBeans.size() == 0) {
+ viewBinding.emptyView.show(false, "抱歉,没有查到符合您规定条件的案卷", null, "", new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ pageIndex = 1;
+ obtainSearchResult();
+ }
+ });
+ } else {
+ viewBinding.emptyView.hide();
+ adapter = new CaseSearchResultAdapter(context, dataBeans);
+ viewBinding.caseRecyclerView.setAdapter(adapter);
+ adapter.setOnItemClickListener(new CaseSearchResultAdapter.OnItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ ContextUtil.navigatePageTo(
+ context,
+ CaseDetailActivity.class,
+ dataBeans.get(position).getId()
+ );
+ }
+ });
+ }
+ }
+ }
+ return true;
+ };
+}
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 4c01f54..53acf2f 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -27,6 +27,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index eb654a2..d087ae2 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -69,7 +69,7 @@
-
+
diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseListResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseListResultAdapter.java
deleted file mode 100644
index a051fbf..0000000
--- a/app/src/main/java/com/casic/dcms/adapter/CaseListResultAdapter.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package com.casic.dcms.adapter;
-
-import android.annotation.SuppressLint;
-import android.content.Context;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.casic.dcms.R;
-import com.casic.dcms.mvvm.model.CaseListResultBean;
-import com.casic.dcms.utils.StringHelper;
-
-import java.util.List;
-
-public class CaseListResultAdapter extends RecyclerView.Adapter {
-
- private final List dataRows;
- private final LayoutInflater layoutInflater;
-
- public CaseListResultAdapter(Context context, List dataRows) {
- this.dataRows = dataRows;
- layoutInflater = LayoutInflater.from(context);
- }
-
- @NonNull
- @Override
- public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = layoutInflater.inflate(R.layout.item_case_rv, parent, false);
- return new ItemViewHolder(view);
- }
-
- @Override
- public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
- holder.bindView(dataRows.get(position));
- if (clickListener != null) {
- holder.itemView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- clickListener.onClick(position);
- }
- });
- }
- }
-
- @Override
- public int getItemCount() {
- return dataRows.size();
- }
-
- private OnItemClickListener clickListener;
-
- public interface OnItemClickListener {
- void onClick(int position);
- }
-
- public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
- this.clickListener = onItemClickListener;
- }
-
- static class ItemViewHolder extends RecyclerView.ViewHolder {
-
-// private final TextView leftTextView;
- private final TextView caseTitleView;
- private final TextView casePlaceView;
- private final TextView caseTimeView;
-
- ItemViewHolder(@NonNull View itemView) {
- super(itemView);
-// leftTextView = itemView.findViewById(R.id.leftTextView);
- caseTitleView = itemView.findViewById(R.id.caseTitleView);
- casePlaceView = itemView.findViewById(R.id.casePlaceView);
- caseTimeView = itemView.findViewById(R.id.caseTimeView);
- }
-
- @SuppressLint("SetTextI18n")
- void bindView(CaseListResultBean.DataBean.RowsBean rowsBean) {
- String eorcName = rowsBean.getEorcName();
- if (TextUtils.isEmpty(eorcName)) {
- eorcName = "未知";
- }
-// leftTextView.setText(eorcName.substring(0, 1));
- caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription()));
- casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro()));
- caseTimeView.setText("上报时间:" + rowsBean.getReportTime());
- }
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseSearchResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseSearchResultAdapter.java
new file mode 100644
index 0000000..9e4a834
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/adapter/CaseSearchResultAdapter.java
@@ -0,0 +1,96 @@
+package com.casic.dcms.adapter;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.casic.dcms.R;
+import com.casic.dcms.mvvm.model.CaseSearchResultBean;
+import com.casic.dcms.utils.StringHelper;
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView;
+
+import java.util.List;
+
+public class CaseSearchResultAdapter extends RecyclerView.Adapter {
+
+ private final Context context;
+ private final List dataRows;
+ private final LayoutInflater layoutInflater;
+
+ public CaseSearchResultAdapter(Context context, List dataRows) {
+ this.context = context;
+ this.dataRows = dataRows;
+ layoutInflater = LayoutInflater.from(context);
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ return new ItemViewHolder(layoutInflater.inflate(R.layout.item_case_rv, parent, false));
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
+ holder.bindView(dataRows.get(position));
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ @Override
+ public int getItemCount() {
+ return dataRows.size();
+ }
+
+ private OnItemClickListener clickListener;
+
+ public interface OnItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
+ this.clickListener = onItemClickListener;
+ }
+
+ class ItemViewHolder extends RecyclerView.ViewHolder {
+
+ private final QMUIRadiusImageView caseImageView;
+ private final TextView caseTitleView;
+ private final TextView casePlaceView;
+ private final TextView caseTimeView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ caseImageView = itemView.findViewById(R.id.caseImageView);
+ caseTitleView = itemView.findViewById(R.id.caseTitleView);
+ casePlaceView = itemView.findViewById(R.id.casePlaceView);
+ caseTimeView = itemView.findViewById(R.id.caseTimeView);
+ }
+
+ void bindView(CaseSearchResultBean.DataDTO.RowsDTO rowsBean) {
+ //核实图片
+// String fileIdVerify = rowsBean.getFileIdVerify();
+// if (!TextUtils.isEmpty(fileIdVerify)) {
+// String[] split = fileIdVerify.split(",");
+// String firstImage = split[0];
+// if (firstImage.endsWith(".jpg") || firstImage.contains(".jpeg") || firstImage.contains(".png")) {
+// Glide.with(context).load(StringHelper.appendCompleteURL(firstImage)).into(caseImageView);
+// }
+// }
+ caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription()));
+ casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro()));
+ caseTimeView.setText("上报时间:" + rowsBean.getReportTime());
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/CaseListResultBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/CaseListResultBean.java
deleted file mode 100644
index 41b3016..0000000
--- a/app/src/main/java/com/casic/dcms/mvvm/model/CaseListResultBean.java
+++ /dev/null
@@ -1,303 +0,0 @@
-package com.casic.dcms.mvvm.model;
-
-import java.util.List;
-
-public class CaseListResultBean {
-
- private int code;
- private DataBean data;
- private String message;
- private boolean success;
-
- public int getCode() {
- return code;
- }
-
- public void setCode(int code) {
- this.code = code;
- }
-
- public DataBean getData() {
- return data;
- }
-
- public void setData(DataBean data) {
- this.data = data;
- }
-
- 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 static class DataBean {
-
- private int total;
- private List rows;
-
- public int getTotal() {
- return total;
- }
-
- public void setTotal(int total) {
- this.total = total;
- }
-
- public List getRows() {
- return rows;
- }
-
- public void setRows(List rows) {
- this.rows = rows;
- }
-
- public static class RowsBean {
-
- private int isPostpone;
- private String description;
- private String createUserName;
- private int source;
- private String eorcName;
- private String casetypeDetailName;
- private String remainingTime;
- private String casetypeName;
- private String processId;
- private int caseState;
- private String id;
- private String reportSupervisorId;
- private String fieldintro;
- private String lat;
- private String caseStateName;
- private String lng;
- private String isOvertime;
- private String casetypeDetailCode;
- private String onedeptid;
- private String eorc;
- private String caseid;
- private String casetypeCode;
- private String createUser;
- private String nodeLimittime;
- private String sourceName;
- private String reportTime;
-
- public int getIsPostpone() {
- return isPostpone;
- }
-
- public void setIsPostpone(int isPostpone) {
- this.isPostpone = isPostpone;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getCreateUserName() {
- return createUserName;
- }
-
- public void setCreateUserName(String createUserName) {
- this.createUserName = createUserName;
- }
-
- public int getSource() {
- return source;
- }
-
- public void setSource(int source) {
- this.source = source;
- }
-
- public String getEorcName() {
- return eorcName;
- }
-
- public void setEorcName(String eorcName) {
- this.eorcName = eorcName;
- }
-
- public String getCasetypeDetailName() {
- return casetypeDetailName;
- }
-
- public void setCasetypeDetailName(String casetypeDetailName) {
- this.casetypeDetailName = casetypeDetailName;
- }
-
- public String getRemainingTime() {
- return remainingTime;
- }
-
- public void setRemainingTime(String remainingTime) {
- this.remainingTime = remainingTime;
- }
-
- public String getCasetypeName() {
- return casetypeName;
- }
-
- public void setCasetypeName(String casetypeName) {
- this.casetypeName = casetypeName;
- }
-
- public String getProcessId() {
- return processId;
- }
-
- public void setProcessId(String processId) {
- this.processId = processId;
- }
-
- public int getCaseState() {
- return caseState;
- }
-
- public void setCaseState(int caseState) {
- this.caseState = caseState;
- }
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getReportSupervisorId() {
- return reportSupervisorId;
- }
-
- public void setReportSupervisorId(String reportSupervisorId) {
- this.reportSupervisorId = reportSupervisorId;
- }
-
- public String getFieldintro() {
- return fieldintro;
- }
-
- public void setFieldintro(String fieldintro) {
- this.fieldintro = fieldintro;
- }
-
- public String getLat() {
- return lat;
- }
-
- public void setLat(String lat) {
- this.lat = lat;
- }
-
- public String getCaseStateName() {
- return caseStateName;
- }
-
- public void setCaseStateName(String caseStateName) {
- this.caseStateName = caseStateName;
- }
-
- public String getLng() {
- return lng;
- }
-
- public void setLng(String lng) {
- this.lng = lng;
- }
-
- public String getIsOvertime() {
- return isOvertime;
- }
-
- public void setIsOvertime(String isOvertime) {
- this.isOvertime = isOvertime;
- }
-
- public String getCasetypeDetailCode() {
- return casetypeDetailCode;
- }
-
- public void setCasetypeDetailCode(String casetypeDetailCode) {
- this.casetypeDetailCode = casetypeDetailCode;
- }
-
- public String getOnedeptid() {
- return onedeptid;
- }
-
- public void setOnedeptid(String onedeptid) {
- this.onedeptid = onedeptid;
- }
-
- public String getEorc() {
- return eorc;
- }
-
- public void setEorc(String eorc) {
- this.eorc = eorc;
- }
-
- public String getCaseid() {
- return caseid;
- }
-
- public void setCaseid(String caseid) {
- this.caseid = caseid;
- }
-
- public String getCasetypeCode() {
- return casetypeCode;
- }
-
- public void setCasetypeCode(String casetypeCode) {
- this.casetypeCode = casetypeCode;
- }
-
- public String getCreateUser() {
- return createUser;
- }
-
- public void setCreateUser(String createUser) {
- this.createUser = createUser;
- }
-
- public String getNodeLimittime() {
- return nodeLimittime;
- }
-
- public void setNodeLimittime(String nodeLimittime) {
- this.nodeLimittime = nodeLimittime;
- }
-
- public String getSourceName() {
- return sourceName;
- }
-
- public void setSourceName(String sourceName) {
- this.sourceName = sourceName;
- }
-
- public String getReportTime() {
- return reportTime;
- }
-
- public void setReportTime(String reportTime) {
- this.reportTime = reportTime;
- }
- }
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/CaseSearchResultBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/CaseSearchResultBean.java
new file mode 100644
index 0000000..4d62c22
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvvm/model/CaseSearchResultBean.java
@@ -0,0 +1,319 @@
+package com.casic.dcms.mvvm.model;
+
+import java.util.List;
+
+public class CaseSearchResultBean {
+
+ private int code;
+ private DataDTO data;
+ private String message;
+ private boolean success;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public DataDTO getData() {
+ return data;
+ }
+
+ public void setData(DataDTO data) {
+ this.data = data;
+ }
+
+ 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 static class DataDTO {
+ private List rows;
+ private int total;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
+
+ public int getTotal() {
+ return total;
+ }
+
+ public void setTotal(int total) {
+ this.total = total;
+ }
+
+ public static class RowsDTO {
+ private int isPostpone;
+ private String description;
+ private String createUserName;
+ private int source;
+ private String eorcName;
+ private String casetypeDetailName;
+ private String remainingTime;
+ private String casetypeName;
+ private String processId;
+ private int caseState;
+ private String id;
+ private String reportSupervisorId;
+ private String fieldintro;
+ private String lat;
+ private String caseStateName;
+ private String lng;
+ private String isOvertime;
+ private String currRoleName;
+ private String casetypeDetailCode;
+ private String onedeptid;
+ private String eorc;
+ private String currRoleId;
+ private String caseid;
+ private String casetypeCode;
+ private String createUser;
+ private String nodeLimittime;
+ private String sourceName;
+ private String reportTime;
+
+ public int getIsPostpone() {
+ return isPostpone;
+ }
+
+ public void setIsPostpone(int isPostpone) {
+ this.isPostpone = isPostpone;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public String getCreateUserName() {
+ return createUserName;
+ }
+
+ public void setCreateUserName(String createUserName) {
+ this.createUserName = createUserName;
+ }
+
+ public int getSource() {
+ return source;
+ }
+
+ public void setSource(int source) {
+ this.source = source;
+ }
+
+ public String getEorcName() {
+ return eorcName;
+ }
+
+ public void setEorcName(String eorcName) {
+ this.eorcName = eorcName;
+ }
+
+ public String getCasetypeDetailName() {
+ return casetypeDetailName;
+ }
+
+ public void setCasetypeDetailName(String casetypeDetailName) {
+ this.casetypeDetailName = casetypeDetailName;
+ }
+
+ public String getRemainingTime() {
+ return remainingTime;
+ }
+
+ public void setRemainingTime(String remainingTime) {
+ this.remainingTime = remainingTime;
+ }
+
+ public String getCasetypeName() {
+ return casetypeName;
+ }
+
+ public void setCasetypeName(String casetypeName) {
+ this.casetypeName = casetypeName;
+ }
+
+ public String getProcessId() {
+ return processId;
+ }
+
+ public void setProcessId(String processId) {
+ this.processId = processId;
+ }
+
+ public int getCaseState() {
+ return caseState;
+ }
+
+ public void setCaseState(int caseState) {
+ this.caseState = caseState;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getReportSupervisorId() {
+ return reportSupervisorId;
+ }
+
+ public void setReportSupervisorId(String reportSupervisorId) {
+ this.reportSupervisorId = reportSupervisorId;
+ }
+
+ public String getFieldintro() {
+ return fieldintro;
+ }
+
+ public void setFieldintro(String fieldintro) {
+ this.fieldintro = fieldintro;
+ }
+
+ public String getLat() {
+ return lat;
+ }
+
+ public void setLat(String lat) {
+ this.lat = lat;
+ }
+
+ public String getCaseStateName() {
+ return caseStateName;
+ }
+
+ public void setCaseStateName(String caseStateName) {
+ this.caseStateName = caseStateName;
+ }
+
+ public String getLng() {
+ return lng;
+ }
+
+ public void setLng(String lng) {
+ this.lng = lng;
+ }
+
+ public String getIsOvertime() {
+ return isOvertime;
+ }
+
+ public void setIsOvertime(String isOvertime) {
+ this.isOvertime = isOvertime;
+ }
+
+ public String getCurrRoleName() {
+ return currRoleName;
+ }
+
+ public void setCurrRoleName(String currRoleName) {
+ this.currRoleName = currRoleName;
+ }
+
+ public String getCasetypeDetailCode() {
+ return casetypeDetailCode;
+ }
+
+ public void setCasetypeDetailCode(String casetypeDetailCode) {
+ this.casetypeDetailCode = casetypeDetailCode;
+ }
+
+ public String getOnedeptid() {
+ return onedeptid;
+ }
+
+ public void setOnedeptid(String onedeptid) {
+ this.onedeptid = onedeptid;
+ }
+
+ public String getEorc() {
+ return eorc;
+ }
+
+ public void setEorc(String eorc) {
+ this.eorc = eorc;
+ }
+
+ public String getCurrRoleId() {
+ return currRoleId;
+ }
+
+ public void setCurrRoleId(String currRoleId) {
+ this.currRoleId = currRoleId;
+ }
+
+ public String getCaseid() {
+ return caseid;
+ }
+
+ public void setCaseid(String caseid) {
+ this.caseid = caseid;
+ }
+
+ public String getCasetypeCode() {
+ return casetypeCode;
+ }
+
+ public void setCasetypeCode(String casetypeCode) {
+ this.casetypeCode = casetypeCode;
+ }
+
+ public String getCreateUser() {
+ return createUser;
+ }
+
+ public void setCreateUser(String createUser) {
+ this.createUser = createUser;
+ }
+
+ public String getNodeLimittime() {
+ return nodeLimittime;
+ }
+
+ public void setNodeLimittime(String nodeLimittime) {
+ this.nodeLimittime = nodeLimittime;
+ }
+
+ public String getSourceName() {
+ return sourceName;
+ }
+
+ public void setSourceName(String sourceName) {
+ this.sourceName = sourceName;
+ }
+
+ public String getReportTime() {
+ return reportTime;
+ }
+
+ public void setReportTime(String reportTime) {
+ this.reportTime = reportTime;
+ }
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseListResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseListResultActivity.java
deleted file mode 100644
index 3cf287f..0000000
--- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseListResultActivity.java
+++ /dev/null
@@ -1,170 +0,0 @@
-package com.casic.dcms.mvvm.view;
-
-import android.content.Context;
-import android.os.Handler;
-import android.view.View;
-
-import androidx.annotation.NonNull;
-import androidx.core.content.ContextCompat;
-import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
-
-import com.casic.dcms.R;
-import com.casic.dcms.adapter.CaseListResultAdapter;
-import com.casic.dcms.databinding.ActivityCaseListBinding;
-import com.casic.dcms.mvvm.model.CaseListResultBean;
-import com.casic.dcms.mvvm.vm.CaseViewModel;
-import com.casic.dcms.utils.OtherUtils;
-import com.gyf.immersionbar.ImmersionBar;
-import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
-import com.pengxh.androidx.lite.utils.ContextUtil;
-import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
-import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
-import com.pengxh.androidx.lite.vm.LoadState;
-import com.pengxh.androidx.lite.widget.EasyToast;
-import com.scwang.smartrefresh.layout.api.RefreshLayout;
-import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
-import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class CaseListResultActivity extends AndroidxBaseActivity {
-
- private final Context context = this;
- private WeakReferenceHandler weakReferenceHandler;
- private CaseViewModel caseViewModel;
- private CaseListResultAdapter adapter;
- private String typeCode;
- private String typeDetailCode;
- private String caseState;
- private String startTime;
- private String endTime;
- private String eorc;
- private int pageIndex = 1;
- private List dataBeans = new ArrayList<>();
- private boolean isRefresh = false;
- private boolean isLoadMore = false;
-
- @Override
- protected void setupTopBarLayout() {
- ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor));
- ImmersionBar.with(this).statusBarDarkFont(false).init();
-
- viewBinding.titleBarLayout.titleView.setText("查询结果");
- viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
- }
-
- @Override
- protected void initData() {
- weakReferenceHandler = new WeakReferenceHandler(callback);
- caseViewModel = new ViewModelProvider(this).get(CaseViewModel.class);
-
- eorc = getIntent().getStringExtra("eorc");
- typeCode = getIntent().getStringExtra("typeCode");
- typeDetailCode = getIntent().getStringExtra("typeDetailCode");
- caseState = getIntent().getStringExtra("caseState");
- startTime = getIntent().getStringExtra("startTime");
- endTime = getIntent().getStringExtra("endTime");
- obtainSearchResult();
- }
-
- private void obtainSearchResult() {
- //加载第一页
- caseViewModel.searchCase(eorc, typeCode, typeDetailCode, caseState, startTime, endTime, "0", pageIndex);
- }
-
- @Override
- protected void initEvent() {
- viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
- @Override
- public void onRefresh(@NonNull RefreshLayout refreshLayout) {
- isRefresh = true;
- //刷新之后页码重置
- pageIndex = 1;
- obtainSearchResult();
- }
- });
- viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
- @Override
- public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
- isLoadMore = true;
- pageIndex++;
- obtainSearchResult();
- }
- });
-
- caseViewModel.searchResultModel.observe(this, new Observer() {
- @Override
- public void onChanged(CaseListResultBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataRows = resultBean.getData().getRows();
- if (isRefresh) {
- dataBeans.clear(); //下拉刷新必须先清空之前的List,不然会出现数据重复的问题
- dataBeans = dataRows;
- viewBinding.refreshLayout.finishRefresh();
- isRefresh = false;
- } else if (isLoadMore) {
- if (dataRows.size() == 0) {
- EasyToast.show(context, "到底了,别拉了");
- }
- dataBeans.addAll(dataRows);
- viewBinding.refreshLayout.finishLoadMore();
- isLoadMore = false;
- } else {
- dataBeans = dataRows;
- }
- //更新RecyclerView
- weakReferenceHandler.sendEmptyMessage(20210425);
- }
- }
- });
- caseViewModel.loadState.observe(this, new Observer() {
- @Override
- public void onChanged(LoadState loadState) {
- if (loadState == LoadState.Loading) {
- OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后");
- } else {
- OtherUtils.dismissLoadingDialog();
- }
- }
- });
- }
-
- /**
- * 弱应用Handler,防止内存泄漏
- */
- private final Handler.Callback callback = msg -> {
- if (msg.what == 20210425) {
- if (isRefresh || isLoadMore) {
- adapter.notifyDataSetChanged();
- } else {
- //首次加载数据
- if (dataBeans.size() == 0) {
- viewBinding.emptyView.show(false, "抱歉,没有查到符合您规定条件的案卷", null, "", new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- pageIndex = 1;
- obtainSearchResult();
- }
- });
- } else {
- viewBinding.emptyView.hide();
- adapter = new CaseListResultAdapter(context, dataBeans);
- viewBinding.caseRecyclerView.setAdapter(adapter);
- adapter.setOnItemClickListener(new CaseListResultAdapter.OnItemClickListener() {
- @Override
- public void onClick(int position) {
- ContextUtil.navigatePageTo(
- context,
- CaseDetailActivity.class,
- dataBeans.get(position).getId()
- );
- }
- });
- }
- }
- }
- return true;
- };
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java
new file mode 100644
index 0000000..12ed207
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java
@@ -0,0 +1,172 @@
+package com.casic.dcms.mvvm.view;
+
+import android.content.Context;
+import android.os.Handler;
+import android.view.View;
+
+import androidx.annotation.NonNull;
+import androidx.core.content.ContextCompat;
+import androidx.lifecycle.Observer;
+import androidx.lifecycle.ViewModelProvider;
+
+import com.casic.dcms.R;
+import com.casic.dcms.adapter.CaseSearchResultAdapter;
+import com.casic.dcms.databinding.ActivityCaseListBinding;
+import com.casic.dcms.mvvm.model.CaseSearchResultBean;
+import com.casic.dcms.mvvm.vm.CaseViewModel;
+import com.casic.dcms.utils.OtherUtils;
+import com.gyf.immersionbar.ImmersionBar;
+import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.utils.ContextUtil;
+import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
+import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
+import com.pengxh.androidx.lite.vm.LoadState;
+import com.pengxh.androidx.lite.widget.EasyToast;
+import com.scwang.smartrefresh.layout.api.RefreshLayout;
+import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
+import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class CaseSearchResultActivity extends AndroidxBaseActivity {
+
+ private final Context context = this;
+ private WeakReferenceHandler weakReferenceHandler;
+ private CaseViewModel caseViewModel;
+ private CaseSearchResultAdapter adapter;
+ private String typeCode;
+ private String typeDetailCode;
+ private String caseState;
+ private String startTime;
+ private String endTime;
+ private String eorc;
+ private int pageIndex = 1;
+ private List dataBeans = new ArrayList<>();
+ private boolean isRefresh = false;
+ private boolean isLoadMore = false;
+
+ @Override
+ protected void setupTopBarLayout() {
+ ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor));
+ ImmersionBar.with(this).statusBarDarkFont(false).init();
+
+ viewBinding.titleBarLayout.titleView.setText("查询结果");
+ viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ }
+
+ @Override
+ protected void initData() {
+ weakReferenceHandler = new WeakReferenceHandler(callback);
+ caseViewModel = new ViewModelProvider(this).get(CaseViewModel.class);
+
+ eorc = getIntent().getStringExtra("eorc");
+ typeCode = getIntent().getStringExtra("typeCode");
+ typeDetailCode = getIntent().getStringExtra("typeDetailCode");
+ caseState = getIntent().getStringExtra("caseState");
+ startTime = getIntent().getStringExtra("startTime");
+ endTime = getIntent().getStringExtra("endTime");
+ obtainSearchResult();
+ }
+
+ private void obtainSearchResult() {
+ //加载第一页
+ caseViewModel.searchCase(eorc, typeCode, typeDetailCode, caseState, startTime, endTime, "0", pageIndex);
+ }
+
+ @Override
+ protected void initEvent() {
+ viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
+ @Override
+ public void onRefresh(@NonNull RefreshLayout refreshLayout) {
+ isRefresh = true;
+ //刷新之后页码重置
+ pageIndex = 1;
+ obtainSearchResult();
+ }
+ });
+ viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
+ @Override
+ public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
+ isLoadMore = true;
+ pageIndex++;
+ obtainSearchResult();
+ }
+ });
+
+ caseViewModel.searchResultModel.observe(this, new Observer() {
+ @Override
+ public void onChanged(CaseSearchResultBean resultBean) {
+ if (resultBean.getCode() == 200) {
+ List dataRows = resultBean.getData().getRows();
+ if (isRefresh) {
+ dataBeans.clear(); //下拉刷新必须先清空之前的List,不然会出现数据重复的问题
+ dataBeans = dataRows;
+ viewBinding.refreshLayout.finishRefresh();
+ isRefresh = false;
+ } else if (isLoadMore) {
+ if (dataRows.size() == 0) {
+ EasyToast.show(context, "到底了,别拉了");
+ }
+ dataBeans.addAll(dataRows);
+ viewBinding.refreshLayout.finishLoadMore();
+ isLoadMore = false;
+ } else {
+ dataBeans = dataRows;
+ }
+ //更新RecyclerView
+ weakReferenceHandler.sendEmptyMessage(20210425);
+ }
+ }
+ });
+ caseViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (!isRefresh && !isLoadMore) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后");
+ } else {
+ OtherUtils.dismissLoadingDialog();
+ }
+ }
+ }
+ });
+ }
+
+ /**
+ * 弱应用Handler,防止内存泄漏
+ */
+ private final Handler.Callback callback = msg -> {
+ if (msg.what == 20210425) {
+ if (isRefresh || isLoadMore) {
+ adapter.notifyDataSetChanged();
+ } else {
+ //首次加载数据
+ if (dataBeans.size() == 0) {
+ viewBinding.emptyView.show(false, "抱歉,没有查到符合您规定条件的案卷", null, "", new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ pageIndex = 1;
+ obtainSearchResult();
+ }
+ });
+ } else {
+ viewBinding.emptyView.hide();
+ adapter = new CaseSearchResultAdapter(context, dataBeans);
+ viewBinding.caseRecyclerView.setAdapter(adapter);
+ adapter.setOnItemClickListener(new CaseSearchResultAdapter.OnItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ ContextUtil.navigatePageTo(
+ context,
+ CaseDetailActivity.class,
+ dataBeans.get(position).getId()
+ );
+ }
+ });
+ }
+ }
+ }
+ return true;
+ };
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/SearchCaseActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/SearchCaseActivity.java
index 0bfe6b3..dfd357e 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/SearchCaseActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/SearchCaseActivity.java
@@ -263,7 +263,7 @@
viewBinding.searchButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- Intent intent = new Intent(context, CaseListResultActivity.class);
+ Intent intent = new Intent(context, CaseSearchResultActivity.class);
intent.putExtra("eorc", eorc);
intent.putExtra("typeCode", typeCode);
intent.putExtra("typeDetailCode", typeDetailCode);
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 4c01f54..53acf2f 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -27,6 +27,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index eb654a2..d087ae2 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -69,7 +69,7 @@
-
+
diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseListResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseListResultAdapter.java
deleted file mode 100644
index a051fbf..0000000
--- a/app/src/main/java/com/casic/dcms/adapter/CaseListResultAdapter.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package com.casic.dcms.adapter;
-
-import android.annotation.SuppressLint;
-import android.content.Context;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.casic.dcms.R;
-import com.casic.dcms.mvvm.model.CaseListResultBean;
-import com.casic.dcms.utils.StringHelper;
-
-import java.util.List;
-
-public class CaseListResultAdapter extends RecyclerView.Adapter {
-
- private final List dataRows;
- private final LayoutInflater layoutInflater;
-
- public CaseListResultAdapter(Context context, List dataRows) {
- this.dataRows = dataRows;
- layoutInflater = LayoutInflater.from(context);
- }
-
- @NonNull
- @Override
- public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = layoutInflater.inflate(R.layout.item_case_rv, parent, false);
- return new ItemViewHolder(view);
- }
-
- @Override
- public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
- holder.bindView(dataRows.get(position));
- if (clickListener != null) {
- holder.itemView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- clickListener.onClick(position);
- }
- });
- }
- }
-
- @Override
- public int getItemCount() {
- return dataRows.size();
- }
-
- private OnItemClickListener clickListener;
-
- public interface OnItemClickListener {
- void onClick(int position);
- }
-
- public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
- this.clickListener = onItemClickListener;
- }
-
- static class ItemViewHolder extends RecyclerView.ViewHolder {
-
-// private final TextView leftTextView;
- private final TextView caseTitleView;
- private final TextView casePlaceView;
- private final TextView caseTimeView;
-
- ItemViewHolder(@NonNull View itemView) {
- super(itemView);
-// leftTextView = itemView.findViewById(R.id.leftTextView);
- caseTitleView = itemView.findViewById(R.id.caseTitleView);
- casePlaceView = itemView.findViewById(R.id.casePlaceView);
- caseTimeView = itemView.findViewById(R.id.caseTimeView);
- }
-
- @SuppressLint("SetTextI18n")
- void bindView(CaseListResultBean.DataBean.RowsBean rowsBean) {
- String eorcName = rowsBean.getEorcName();
- if (TextUtils.isEmpty(eorcName)) {
- eorcName = "未知";
- }
-// leftTextView.setText(eorcName.substring(0, 1));
- caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription()));
- casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro()));
- caseTimeView.setText("上报时间:" + rowsBean.getReportTime());
- }
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseSearchResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseSearchResultAdapter.java
new file mode 100644
index 0000000..9e4a834
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/adapter/CaseSearchResultAdapter.java
@@ -0,0 +1,96 @@
+package com.casic.dcms.adapter;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.casic.dcms.R;
+import com.casic.dcms.mvvm.model.CaseSearchResultBean;
+import com.casic.dcms.utils.StringHelper;
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView;
+
+import java.util.List;
+
+public class CaseSearchResultAdapter extends RecyclerView.Adapter {
+
+ private final Context context;
+ private final List dataRows;
+ private final LayoutInflater layoutInflater;
+
+ public CaseSearchResultAdapter(Context context, List dataRows) {
+ this.context = context;
+ this.dataRows = dataRows;
+ layoutInflater = LayoutInflater.from(context);
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ return new ItemViewHolder(layoutInflater.inflate(R.layout.item_case_rv, parent, false));
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
+ holder.bindView(dataRows.get(position));
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ @Override
+ public int getItemCount() {
+ return dataRows.size();
+ }
+
+ private OnItemClickListener clickListener;
+
+ public interface OnItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
+ this.clickListener = onItemClickListener;
+ }
+
+ class ItemViewHolder extends RecyclerView.ViewHolder {
+
+ private final QMUIRadiusImageView caseImageView;
+ private final TextView caseTitleView;
+ private final TextView casePlaceView;
+ private final TextView caseTimeView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ caseImageView = itemView.findViewById(R.id.caseImageView);
+ caseTitleView = itemView.findViewById(R.id.caseTitleView);
+ casePlaceView = itemView.findViewById(R.id.casePlaceView);
+ caseTimeView = itemView.findViewById(R.id.caseTimeView);
+ }
+
+ void bindView(CaseSearchResultBean.DataDTO.RowsDTO rowsBean) {
+ //核实图片
+// String fileIdVerify = rowsBean.getFileIdVerify();
+// if (!TextUtils.isEmpty(fileIdVerify)) {
+// String[] split = fileIdVerify.split(",");
+// String firstImage = split[0];
+// if (firstImage.endsWith(".jpg") || firstImage.contains(".jpeg") || firstImage.contains(".png")) {
+// Glide.with(context).load(StringHelper.appendCompleteURL(firstImage)).into(caseImageView);
+// }
+// }
+ caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription()));
+ casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro()));
+ caseTimeView.setText("上报时间:" + rowsBean.getReportTime());
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/CaseListResultBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/CaseListResultBean.java
deleted file mode 100644
index 41b3016..0000000
--- a/app/src/main/java/com/casic/dcms/mvvm/model/CaseListResultBean.java
+++ /dev/null
@@ -1,303 +0,0 @@
-package com.casic.dcms.mvvm.model;
-
-import java.util.List;
-
-public class CaseListResultBean {
-
- private int code;
- private DataBean data;
- private String message;
- private boolean success;
-
- public int getCode() {
- return code;
- }
-
- public void setCode(int code) {
- this.code = code;
- }
-
- public DataBean getData() {
- return data;
- }
-
- public void setData(DataBean data) {
- this.data = data;
- }
-
- 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 static class DataBean {
-
- private int total;
- private List rows;
-
- public int getTotal() {
- return total;
- }
-
- public void setTotal(int total) {
- this.total = total;
- }
-
- public List getRows() {
- return rows;
- }
-
- public void setRows(List rows) {
- this.rows = rows;
- }
-
- public static class RowsBean {
-
- private int isPostpone;
- private String description;
- private String createUserName;
- private int source;
- private String eorcName;
- private String casetypeDetailName;
- private String remainingTime;
- private String casetypeName;
- private String processId;
- private int caseState;
- private String id;
- private String reportSupervisorId;
- private String fieldintro;
- private String lat;
- private String caseStateName;
- private String lng;
- private String isOvertime;
- private String casetypeDetailCode;
- private String onedeptid;
- private String eorc;
- private String caseid;
- private String casetypeCode;
- private String createUser;
- private String nodeLimittime;
- private String sourceName;
- private String reportTime;
-
- public int getIsPostpone() {
- return isPostpone;
- }
-
- public void setIsPostpone(int isPostpone) {
- this.isPostpone = isPostpone;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getCreateUserName() {
- return createUserName;
- }
-
- public void setCreateUserName(String createUserName) {
- this.createUserName = createUserName;
- }
-
- public int getSource() {
- return source;
- }
-
- public void setSource(int source) {
- this.source = source;
- }
-
- public String getEorcName() {
- return eorcName;
- }
-
- public void setEorcName(String eorcName) {
- this.eorcName = eorcName;
- }
-
- public String getCasetypeDetailName() {
- return casetypeDetailName;
- }
-
- public void setCasetypeDetailName(String casetypeDetailName) {
- this.casetypeDetailName = casetypeDetailName;
- }
-
- public String getRemainingTime() {
- return remainingTime;
- }
-
- public void setRemainingTime(String remainingTime) {
- this.remainingTime = remainingTime;
- }
-
- public String getCasetypeName() {
- return casetypeName;
- }
-
- public void setCasetypeName(String casetypeName) {
- this.casetypeName = casetypeName;
- }
-
- public String getProcessId() {
- return processId;
- }
-
- public void setProcessId(String processId) {
- this.processId = processId;
- }
-
- public int getCaseState() {
- return caseState;
- }
-
- public void setCaseState(int caseState) {
- this.caseState = caseState;
- }
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getReportSupervisorId() {
- return reportSupervisorId;
- }
-
- public void setReportSupervisorId(String reportSupervisorId) {
- this.reportSupervisorId = reportSupervisorId;
- }
-
- public String getFieldintro() {
- return fieldintro;
- }
-
- public void setFieldintro(String fieldintro) {
- this.fieldintro = fieldintro;
- }
-
- public String getLat() {
- return lat;
- }
-
- public void setLat(String lat) {
- this.lat = lat;
- }
-
- public String getCaseStateName() {
- return caseStateName;
- }
-
- public void setCaseStateName(String caseStateName) {
- this.caseStateName = caseStateName;
- }
-
- public String getLng() {
- return lng;
- }
-
- public void setLng(String lng) {
- this.lng = lng;
- }
-
- public String getIsOvertime() {
- return isOvertime;
- }
-
- public void setIsOvertime(String isOvertime) {
- this.isOvertime = isOvertime;
- }
-
- public String getCasetypeDetailCode() {
- return casetypeDetailCode;
- }
-
- public void setCasetypeDetailCode(String casetypeDetailCode) {
- this.casetypeDetailCode = casetypeDetailCode;
- }
-
- public String getOnedeptid() {
- return onedeptid;
- }
-
- public void setOnedeptid(String onedeptid) {
- this.onedeptid = onedeptid;
- }
-
- public String getEorc() {
- return eorc;
- }
-
- public void setEorc(String eorc) {
- this.eorc = eorc;
- }
-
- public String getCaseid() {
- return caseid;
- }
-
- public void setCaseid(String caseid) {
- this.caseid = caseid;
- }
-
- public String getCasetypeCode() {
- return casetypeCode;
- }
-
- public void setCasetypeCode(String casetypeCode) {
- this.casetypeCode = casetypeCode;
- }
-
- public String getCreateUser() {
- return createUser;
- }
-
- public void setCreateUser(String createUser) {
- this.createUser = createUser;
- }
-
- public String getNodeLimittime() {
- return nodeLimittime;
- }
-
- public void setNodeLimittime(String nodeLimittime) {
- this.nodeLimittime = nodeLimittime;
- }
-
- public String getSourceName() {
- return sourceName;
- }
-
- public void setSourceName(String sourceName) {
- this.sourceName = sourceName;
- }
-
- public String getReportTime() {
- return reportTime;
- }
-
- public void setReportTime(String reportTime) {
- this.reportTime = reportTime;
- }
- }
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/CaseSearchResultBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/CaseSearchResultBean.java
new file mode 100644
index 0000000..4d62c22
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvvm/model/CaseSearchResultBean.java
@@ -0,0 +1,319 @@
+package com.casic.dcms.mvvm.model;
+
+import java.util.List;
+
+public class CaseSearchResultBean {
+
+ private int code;
+ private DataDTO data;
+ private String message;
+ private boolean success;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public DataDTO getData() {
+ return data;
+ }
+
+ public void setData(DataDTO data) {
+ this.data = data;
+ }
+
+ 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 static class DataDTO {
+ private List rows;
+ private int total;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
+
+ public int getTotal() {
+ return total;
+ }
+
+ public void setTotal(int total) {
+ this.total = total;
+ }
+
+ public static class RowsDTO {
+ private int isPostpone;
+ private String description;
+ private String createUserName;
+ private int source;
+ private String eorcName;
+ private String casetypeDetailName;
+ private String remainingTime;
+ private String casetypeName;
+ private String processId;
+ private int caseState;
+ private String id;
+ private String reportSupervisorId;
+ private String fieldintro;
+ private String lat;
+ private String caseStateName;
+ private String lng;
+ private String isOvertime;
+ private String currRoleName;
+ private String casetypeDetailCode;
+ private String onedeptid;
+ private String eorc;
+ private String currRoleId;
+ private String caseid;
+ private String casetypeCode;
+ private String createUser;
+ private String nodeLimittime;
+ private String sourceName;
+ private String reportTime;
+
+ public int getIsPostpone() {
+ return isPostpone;
+ }
+
+ public void setIsPostpone(int isPostpone) {
+ this.isPostpone = isPostpone;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public String getCreateUserName() {
+ return createUserName;
+ }
+
+ public void setCreateUserName(String createUserName) {
+ this.createUserName = createUserName;
+ }
+
+ public int getSource() {
+ return source;
+ }
+
+ public void setSource(int source) {
+ this.source = source;
+ }
+
+ public String getEorcName() {
+ return eorcName;
+ }
+
+ public void setEorcName(String eorcName) {
+ this.eorcName = eorcName;
+ }
+
+ public String getCasetypeDetailName() {
+ return casetypeDetailName;
+ }
+
+ public void setCasetypeDetailName(String casetypeDetailName) {
+ this.casetypeDetailName = casetypeDetailName;
+ }
+
+ public String getRemainingTime() {
+ return remainingTime;
+ }
+
+ public void setRemainingTime(String remainingTime) {
+ this.remainingTime = remainingTime;
+ }
+
+ public String getCasetypeName() {
+ return casetypeName;
+ }
+
+ public void setCasetypeName(String casetypeName) {
+ this.casetypeName = casetypeName;
+ }
+
+ public String getProcessId() {
+ return processId;
+ }
+
+ public void setProcessId(String processId) {
+ this.processId = processId;
+ }
+
+ public int getCaseState() {
+ return caseState;
+ }
+
+ public void setCaseState(int caseState) {
+ this.caseState = caseState;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getReportSupervisorId() {
+ return reportSupervisorId;
+ }
+
+ public void setReportSupervisorId(String reportSupervisorId) {
+ this.reportSupervisorId = reportSupervisorId;
+ }
+
+ public String getFieldintro() {
+ return fieldintro;
+ }
+
+ public void setFieldintro(String fieldintro) {
+ this.fieldintro = fieldintro;
+ }
+
+ public String getLat() {
+ return lat;
+ }
+
+ public void setLat(String lat) {
+ this.lat = lat;
+ }
+
+ public String getCaseStateName() {
+ return caseStateName;
+ }
+
+ public void setCaseStateName(String caseStateName) {
+ this.caseStateName = caseStateName;
+ }
+
+ public String getLng() {
+ return lng;
+ }
+
+ public void setLng(String lng) {
+ this.lng = lng;
+ }
+
+ public String getIsOvertime() {
+ return isOvertime;
+ }
+
+ public void setIsOvertime(String isOvertime) {
+ this.isOvertime = isOvertime;
+ }
+
+ public String getCurrRoleName() {
+ return currRoleName;
+ }
+
+ public void setCurrRoleName(String currRoleName) {
+ this.currRoleName = currRoleName;
+ }
+
+ public String getCasetypeDetailCode() {
+ return casetypeDetailCode;
+ }
+
+ public void setCasetypeDetailCode(String casetypeDetailCode) {
+ this.casetypeDetailCode = casetypeDetailCode;
+ }
+
+ public String getOnedeptid() {
+ return onedeptid;
+ }
+
+ public void setOnedeptid(String onedeptid) {
+ this.onedeptid = onedeptid;
+ }
+
+ public String getEorc() {
+ return eorc;
+ }
+
+ public void setEorc(String eorc) {
+ this.eorc = eorc;
+ }
+
+ public String getCurrRoleId() {
+ return currRoleId;
+ }
+
+ public void setCurrRoleId(String currRoleId) {
+ this.currRoleId = currRoleId;
+ }
+
+ public String getCaseid() {
+ return caseid;
+ }
+
+ public void setCaseid(String caseid) {
+ this.caseid = caseid;
+ }
+
+ public String getCasetypeCode() {
+ return casetypeCode;
+ }
+
+ public void setCasetypeCode(String casetypeCode) {
+ this.casetypeCode = casetypeCode;
+ }
+
+ public String getCreateUser() {
+ return createUser;
+ }
+
+ public void setCreateUser(String createUser) {
+ this.createUser = createUser;
+ }
+
+ public String getNodeLimittime() {
+ return nodeLimittime;
+ }
+
+ public void setNodeLimittime(String nodeLimittime) {
+ this.nodeLimittime = nodeLimittime;
+ }
+
+ public String getSourceName() {
+ return sourceName;
+ }
+
+ public void setSourceName(String sourceName) {
+ this.sourceName = sourceName;
+ }
+
+ public String getReportTime() {
+ return reportTime;
+ }
+
+ public void setReportTime(String reportTime) {
+ this.reportTime = reportTime;
+ }
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseListResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseListResultActivity.java
deleted file mode 100644
index 3cf287f..0000000
--- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseListResultActivity.java
+++ /dev/null
@@ -1,170 +0,0 @@
-package com.casic.dcms.mvvm.view;
-
-import android.content.Context;
-import android.os.Handler;
-import android.view.View;
-
-import androidx.annotation.NonNull;
-import androidx.core.content.ContextCompat;
-import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
-
-import com.casic.dcms.R;
-import com.casic.dcms.adapter.CaseListResultAdapter;
-import com.casic.dcms.databinding.ActivityCaseListBinding;
-import com.casic.dcms.mvvm.model.CaseListResultBean;
-import com.casic.dcms.mvvm.vm.CaseViewModel;
-import com.casic.dcms.utils.OtherUtils;
-import com.gyf.immersionbar.ImmersionBar;
-import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
-import com.pengxh.androidx.lite.utils.ContextUtil;
-import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
-import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
-import com.pengxh.androidx.lite.vm.LoadState;
-import com.pengxh.androidx.lite.widget.EasyToast;
-import com.scwang.smartrefresh.layout.api.RefreshLayout;
-import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
-import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class CaseListResultActivity extends AndroidxBaseActivity {
-
- private final Context context = this;
- private WeakReferenceHandler weakReferenceHandler;
- private CaseViewModel caseViewModel;
- private CaseListResultAdapter adapter;
- private String typeCode;
- private String typeDetailCode;
- private String caseState;
- private String startTime;
- private String endTime;
- private String eorc;
- private int pageIndex = 1;
- private List dataBeans = new ArrayList<>();
- private boolean isRefresh = false;
- private boolean isLoadMore = false;
-
- @Override
- protected void setupTopBarLayout() {
- ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor));
- ImmersionBar.with(this).statusBarDarkFont(false).init();
-
- viewBinding.titleBarLayout.titleView.setText("查询结果");
- viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
- }
-
- @Override
- protected void initData() {
- weakReferenceHandler = new WeakReferenceHandler(callback);
- caseViewModel = new ViewModelProvider(this).get(CaseViewModel.class);
-
- eorc = getIntent().getStringExtra("eorc");
- typeCode = getIntent().getStringExtra("typeCode");
- typeDetailCode = getIntent().getStringExtra("typeDetailCode");
- caseState = getIntent().getStringExtra("caseState");
- startTime = getIntent().getStringExtra("startTime");
- endTime = getIntent().getStringExtra("endTime");
- obtainSearchResult();
- }
-
- private void obtainSearchResult() {
- //加载第一页
- caseViewModel.searchCase(eorc, typeCode, typeDetailCode, caseState, startTime, endTime, "0", pageIndex);
- }
-
- @Override
- protected void initEvent() {
- viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
- @Override
- public void onRefresh(@NonNull RefreshLayout refreshLayout) {
- isRefresh = true;
- //刷新之后页码重置
- pageIndex = 1;
- obtainSearchResult();
- }
- });
- viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
- @Override
- public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
- isLoadMore = true;
- pageIndex++;
- obtainSearchResult();
- }
- });
-
- caseViewModel.searchResultModel.observe(this, new Observer() {
- @Override
- public void onChanged(CaseListResultBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataRows = resultBean.getData().getRows();
- if (isRefresh) {
- dataBeans.clear(); //下拉刷新必须先清空之前的List,不然会出现数据重复的问题
- dataBeans = dataRows;
- viewBinding.refreshLayout.finishRefresh();
- isRefresh = false;
- } else if (isLoadMore) {
- if (dataRows.size() == 0) {
- EasyToast.show(context, "到底了,别拉了");
- }
- dataBeans.addAll(dataRows);
- viewBinding.refreshLayout.finishLoadMore();
- isLoadMore = false;
- } else {
- dataBeans = dataRows;
- }
- //更新RecyclerView
- weakReferenceHandler.sendEmptyMessage(20210425);
- }
- }
- });
- caseViewModel.loadState.observe(this, new Observer() {
- @Override
- public void onChanged(LoadState loadState) {
- if (loadState == LoadState.Loading) {
- OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后");
- } else {
- OtherUtils.dismissLoadingDialog();
- }
- }
- });
- }
-
- /**
- * 弱应用Handler,防止内存泄漏
- */
- private final Handler.Callback callback = msg -> {
- if (msg.what == 20210425) {
- if (isRefresh || isLoadMore) {
- adapter.notifyDataSetChanged();
- } else {
- //首次加载数据
- if (dataBeans.size() == 0) {
- viewBinding.emptyView.show(false, "抱歉,没有查到符合您规定条件的案卷", null, "", new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- pageIndex = 1;
- obtainSearchResult();
- }
- });
- } else {
- viewBinding.emptyView.hide();
- adapter = new CaseListResultAdapter(context, dataBeans);
- viewBinding.caseRecyclerView.setAdapter(adapter);
- adapter.setOnItemClickListener(new CaseListResultAdapter.OnItemClickListener() {
- @Override
- public void onClick(int position) {
- ContextUtil.navigatePageTo(
- context,
- CaseDetailActivity.class,
- dataBeans.get(position).getId()
- );
- }
- });
- }
- }
- }
- return true;
- };
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java
new file mode 100644
index 0000000..12ed207
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java
@@ -0,0 +1,172 @@
+package com.casic.dcms.mvvm.view;
+
+import android.content.Context;
+import android.os.Handler;
+import android.view.View;
+
+import androidx.annotation.NonNull;
+import androidx.core.content.ContextCompat;
+import androidx.lifecycle.Observer;
+import androidx.lifecycle.ViewModelProvider;
+
+import com.casic.dcms.R;
+import com.casic.dcms.adapter.CaseSearchResultAdapter;
+import com.casic.dcms.databinding.ActivityCaseListBinding;
+import com.casic.dcms.mvvm.model.CaseSearchResultBean;
+import com.casic.dcms.mvvm.vm.CaseViewModel;
+import com.casic.dcms.utils.OtherUtils;
+import com.gyf.immersionbar.ImmersionBar;
+import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.utils.ContextUtil;
+import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
+import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
+import com.pengxh.androidx.lite.vm.LoadState;
+import com.pengxh.androidx.lite.widget.EasyToast;
+import com.scwang.smartrefresh.layout.api.RefreshLayout;
+import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
+import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class CaseSearchResultActivity extends AndroidxBaseActivity {
+
+ private final Context context = this;
+ private WeakReferenceHandler weakReferenceHandler;
+ private CaseViewModel caseViewModel;
+ private CaseSearchResultAdapter adapter;
+ private String typeCode;
+ private String typeDetailCode;
+ private String caseState;
+ private String startTime;
+ private String endTime;
+ private String eorc;
+ private int pageIndex = 1;
+ private List dataBeans = new ArrayList<>();
+ private boolean isRefresh = false;
+ private boolean isLoadMore = false;
+
+ @Override
+ protected void setupTopBarLayout() {
+ ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor));
+ ImmersionBar.with(this).statusBarDarkFont(false).init();
+
+ viewBinding.titleBarLayout.titleView.setText("查询结果");
+ viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ }
+
+ @Override
+ protected void initData() {
+ weakReferenceHandler = new WeakReferenceHandler(callback);
+ caseViewModel = new ViewModelProvider(this).get(CaseViewModel.class);
+
+ eorc = getIntent().getStringExtra("eorc");
+ typeCode = getIntent().getStringExtra("typeCode");
+ typeDetailCode = getIntent().getStringExtra("typeDetailCode");
+ caseState = getIntent().getStringExtra("caseState");
+ startTime = getIntent().getStringExtra("startTime");
+ endTime = getIntent().getStringExtra("endTime");
+ obtainSearchResult();
+ }
+
+ private void obtainSearchResult() {
+ //加载第一页
+ caseViewModel.searchCase(eorc, typeCode, typeDetailCode, caseState, startTime, endTime, "0", pageIndex);
+ }
+
+ @Override
+ protected void initEvent() {
+ viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
+ @Override
+ public void onRefresh(@NonNull RefreshLayout refreshLayout) {
+ isRefresh = true;
+ //刷新之后页码重置
+ pageIndex = 1;
+ obtainSearchResult();
+ }
+ });
+ viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
+ @Override
+ public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
+ isLoadMore = true;
+ pageIndex++;
+ obtainSearchResult();
+ }
+ });
+
+ caseViewModel.searchResultModel.observe(this, new Observer() {
+ @Override
+ public void onChanged(CaseSearchResultBean resultBean) {
+ if (resultBean.getCode() == 200) {
+ List dataRows = resultBean.getData().getRows();
+ if (isRefresh) {
+ dataBeans.clear(); //下拉刷新必须先清空之前的List,不然会出现数据重复的问题
+ dataBeans = dataRows;
+ viewBinding.refreshLayout.finishRefresh();
+ isRefresh = false;
+ } else if (isLoadMore) {
+ if (dataRows.size() == 0) {
+ EasyToast.show(context, "到底了,别拉了");
+ }
+ dataBeans.addAll(dataRows);
+ viewBinding.refreshLayout.finishLoadMore();
+ isLoadMore = false;
+ } else {
+ dataBeans = dataRows;
+ }
+ //更新RecyclerView
+ weakReferenceHandler.sendEmptyMessage(20210425);
+ }
+ }
+ });
+ caseViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (!isRefresh && !isLoadMore) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后");
+ } else {
+ OtherUtils.dismissLoadingDialog();
+ }
+ }
+ }
+ });
+ }
+
+ /**
+ * 弱应用Handler,防止内存泄漏
+ */
+ private final Handler.Callback callback = msg -> {
+ if (msg.what == 20210425) {
+ if (isRefresh || isLoadMore) {
+ adapter.notifyDataSetChanged();
+ } else {
+ //首次加载数据
+ if (dataBeans.size() == 0) {
+ viewBinding.emptyView.show(false, "抱歉,没有查到符合您规定条件的案卷", null, "", new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ pageIndex = 1;
+ obtainSearchResult();
+ }
+ });
+ } else {
+ viewBinding.emptyView.hide();
+ adapter = new CaseSearchResultAdapter(context, dataBeans);
+ viewBinding.caseRecyclerView.setAdapter(adapter);
+ adapter.setOnItemClickListener(new CaseSearchResultAdapter.OnItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ ContextUtil.navigatePageTo(
+ context,
+ CaseDetailActivity.class,
+ dataBeans.get(position).getId()
+ );
+ }
+ });
+ }
+ }
+ }
+ return true;
+ };
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/SearchCaseActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/SearchCaseActivity.java
index 0bfe6b3..dfd357e 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/SearchCaseActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/SearchCaseActivity.java
@@ -263,7 +263,7 @@
viewBinding.searchButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- Intent intent = new Intent(context, CaseListResultActivity.class);
+ Intent intent = new Intent(context, CaseSearchResultActivity.class);
intent.putExtra("eorc", eorc);
intent.putExtra("typeCode", typeCode);
intent.putExtra("typeDetailCode", typeDetailCode);
diff --git a/app/src/main/java/com/casic/dcms/mvvm/vm/CaseViewModel.java b/app/src/main/java/com/casic/dcms/mvvm/vm/CaseViewModel.java
index 8b8a61d..64a368b 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/vm/CaseViewModel.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/vm/CaseViewModel.java
@@ -6,7 +6,7 @@
import com.casic.dcms.mvvm.model.CaseDetailBean;
import com.casic.dcms.mvvm.model.CaseHandleBean;
import com.casic.dcms.mvvm.model.CaseHandledBean;
-import com.casic.dcms.mvvm.model.CaseListResultBean;
+import com.casic.dcms.mvvm.model.CaseSearchResultBean;
import com.casic.dcms.mvvm.model.CaseVerifyBean;
import com.casic.dcms.mvvm.model.OvertimeCaseBean;
import com.casic.dcms.mvvm.model.PackageCaseBean;
@@ -35,7 +35,7 @@
public MutableLiveData caseUrgentModel = new MutableLiveData<>();
public MutableLiveData caseOvertimeModel = new MutableLiveData<>();
public MutableLiveData shopCaseModel = new MutableLiveData<>();
- public MutableLiveData searchResultModel = new MutableLiveData<>();
+ public MutableLiveData searchResultModel = new MutableLiveData<>();
public MutableLiveData caseDetailModel = new MutableLiveData<>();
/**
@@ -292,7 +292,7 @@
String response = responseBody.string();
int responseCode = StringHelper.separateResponseCode(response);
if (responseCode == 200) {
- CaseListResultBean resultBean = gson.fromJson(response, new TypeToken() {
+ CaseSearchResultBean resultBean = gson.fromJson(response, new TypeToken() {
}.getType());
searchResultModel.setValue(resultBean);
} else {
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 4c01f54..53acf2f 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -27,6 +27,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index eb654a2..d087ae2 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -69,7 +69,7 @@
-
+
diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseListResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseListResultAdapter.java
deleted file mode 100644
index a051fbf..0000000
--- a/app/src/main/java/com/casic/dcms/adapter/CaseListResultAdapter.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package com.casic.dcms.adapter;
-
-import android.annotation.SuppressLint;
-import android.content.Context;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.casic.dcms.R;
-import com.casic.dcms.mvvm.model.CaseListResultBean;
-import com.casic.dcms.utils.StringHelper;
-
-import java.util.List;
-
-public class CaseListResultAdapter extends RecyclerView.Adapter {
-
- private final List dataRows;
- private final LayoutInflater layoutInflater;
-
- public CaseListResultAdapter(Context context, List dataRows) {
- this.dataRows = dataRows;
- layoutInflater = LayoutInflater.from(context);
- }
-
- @NonNull
- @Override
- public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = layoutInflater.inflate(R.layout.item_case_rv, parent, false);
- return new ItemViewHolder(view);
- }
-
- @Override
- public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
- holder.bindView(dataRows.get(position));
- if (clickListener != null) {
- holder.itemView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- clickListener.onClick(position);
- }
- });
- }
- }
-
- @Override
- public int getItemCount() {
- return dataRows.size();
- }
-
- private OnItemClickListener clickListener;
-
- public interface OnItemClickListener {
- void onClick(int position);
- }
-
- public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
- this.clickListener = onItemClickListener;
- }
-
- static class ItemViewHolder extends RecyclerView.ViewHolder {
-
-// private final TextView leftTextView;
- private final TextView caseTitleView;
- private final TextView casePlaceView;
- private final TextView caseTimeView;
-
- ItemViewHolder(@NonNull View itemView) {
- super(itemView);
-// leftTextView = itemView.findViewById(R.id.leftTextView);
- caseTitleView = itemView.findViewById(R.id.caseTitleView);
- casePlaceView = itemView.findViewById(R.id.casePlaceView);
- caseTimeView = itemView.findViewById(R.id.caseTimeView);
- }
-
- @SuppressLint("SetTextI18n")
- void bindView(CaseListResultBean.DataBean.RowsBean rowsBean) {
- String eorcName = rowsBean.getEorcName();
- if (TextUtils.isEmpty(eorcName)) {
- eorcName = "未知";
- }
-// leftTextView.setText(eorcName.substring(0, 1));
- caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription()));
- casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro()));
- caseTimeView.setText("上报时间:" + rowsBean.getReportTime());
- }
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/adapter/CaseSearchResultAdapter.java b/app/src/main/java/com/casic/dcms/adapter/CaseSearchResultAdapter.java
new file mode 100644
index 0000000..9e4a834
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/adapter/CaseSearchResultAdapter.java
@@ -0,0 +1,96 @@
+package com.casic.dcms.adapter;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.casic.dcms.R;
+import com.casic.dcms.mvvm.model.CaseSearchResultBean;
+import com.casic.dcms.utils.StringHelper;
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView;
+
+import java.util.List;
+
+public class CaseSearchResultAdapter extends RecyclerView.Adapter {
+
+ private final Context context;
+ private final List dataRows;
+ private final LayoutInflater layoutInflater;
+
+ public CaseSearchResultAdapter(Context context, List dataRows) {
+ this.context = context;
+ this.dataRows = dataRows;
+ layoutInflater = LayoutInflater.from(context);
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ return new ItemViewHolder(layoutInflater.inflate(R.layout.item_case_rv, parent, false));
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
+ holder.bindView(dataRows.get(position));
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ @Override
+ public int getItemCount() {
+ return dataRows.size();
+ }
+
+ private OnItemClickListener clickListener;
+
+ public interface OnItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
+ this.clickListener = onItemClickListener;
+ }
+
+ class ItemViewHolder extends RecyclerView.ViewHolder {
+
+ private final QMUIRadiusImageView caseImageView;
+ private final TextView caseTitleView;
+ private final TextView casePlaceView;
+ private final TextView caseTimeView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ caseImageView = itemView.findViewById(R.id.caseImageView);
+ caseTitleView = itemView.findViewById(R.id.caseTitleView);
+ casePlaceView = itemView.findViewById(R.id.casePlaceView);
+ caseTimeView = itemView.findViewById(R.id.caseTimeView);
+ }
+
+ void bindView(CaseSearchResultBean.DataDTO.RowsDTO rowsBean) {
+ //核实图片
+// String fileIdVerify = rowsBean.getFileIdVerify();
+// if (!TextUtils.isEmpty(fileIdVerify)) {
+// String[] split = fileIdVerify.split(",");
+// String firstImage = split[0];
+// if (firstImage.endsWith(".jpg") || firstImage.contains(".jpeg") || firstImage.contains(".png")) {
+// Glide.with(context).load(StringHelper.appendCompleteURL(firstImage)).into(caseImageView);
+// }
+// }
+ caseTitleView.setText(StringHelper.filterString(rowsBean.getDescription()));
+ casePlaceView.setText("发生地点:" + StringHelper.filterString(rowsBean.getFieldintro()));
+ caseTimeView.setText("上报时间:" + rowsBean.getReportTime());
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/CaseListResultBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/CaseListResultBean.java
deleted file mode 100644
index 41b3016..0000000
--- a/app/src/main/java/com/casic/dcms/mvvm/model/CaseListResultBean.java
+++ /dev/null
@@ -1,303 +0,0 @@
-package com.casic.dcms.mvvm.model;
-
-import java.util.List;
-
-public class CaseListResultBean {
-
- private int code;
- private DataBean data;
- private String message;
- private boolean success;
-
- public int getCode() {
- return code;
- }
-
- public void setCode(int code) {
- this.code = code;
- }
-
- public DataBean getData() {
- return data;
- }
-
- public void setData(DataBean data) {
- this.data = data;
- }
-
- 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 static class DataBean {
-
- private int total;
- private List rows;
-
- public int getTotal() {
- return total;
- }
-
- public void setTotal(int total) {
- this.total = total;
- }
-
- public List getRows() {
- return rows;
- }
-
- public void setRows(List rows) {
- this.rows = rows;
- }
-
- public static class RowsBean {
-
- private int isPostpone;
- private String description;
- private String createUserName;
- private int source;
- private String eorcName;
- private String casetypeDetailName;
- private String remainingTime;
- private String casetypeName;
- private String processId;
- private int caseState;
- private String id;
- private String reportSupervisorId;
- private String fieldintro;
- private String lat;
- private String caseStateName;
- private String lng;
- private String isOvertime;
- private String casetypeDetailCode;
- private String onedeptid;
- private String eorc;
- private String caseid;
- private String casetypeCode;
- private String createUser;
- private String nodeLimittime;
- private String sourceName;
- private String reportTime;
-
- public int getIsPostpone() {
- return isPostpone;
- }
-
- public void setIsPostpone(int isPostpone) {
- this.isPostpone = isPostpone;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getCreateUserName() {
- return createUserName;
- }
-
- public void setCreateUserName(String createUserName) {
- this.createUserName = createUserName;
- }
-
- public int getSource() {
- return source;
- }
-
- public void setSource(int source) {
- this.source = source;
- }
-
- public String getEorcName() {
- return eorcName;
- }
-
- public void setEorcName(String eorcName) {
- this.eorcName = eorcName;
- }
-
- public String getCasetypeDetailName() {
- return casetypeDetailName;
- }
-
- public void setCasetypeDetailName(String casetypeDetailName) {
- this.casetypeDetailName = casetypeDetailName;
- }
-
- public String getRemainingTime() {
- return remainingTime;
- }
-
- public void setRemainingTime(String remainingTime) {
- this.remainingTime = remainingTime;
- }
-
- public String getCasetypeName() {
- return casetypeName;
- }
-
- public void setCasetypeName(String casetypeName) {
- this.casetypeName = casetypeName;
- }
-
- public String getProcessId() {
- return processId;
- }
-
- public void setProcessId(String processId) {
- this.processId = processId;
- }
-
- public int getCaseState() {
- return caseState;
- }
-
- public void setCaseState(int caseState) {
- this.caseState = caseState;
- }
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getReportSupervisorId() {
- return reportSupervisorId;
- }
-
- public void setReportSupervisorId(String reportSupervisorId) {
- this.reportSupervisorId = reportSupervisorId;
- }
-
- public String getFieldintro() {
- return fieldintro;
- }
-
- public void setFieldintro(String fieldintro) {
- this.fieldintro = fieldintro;
- }
-
- public String getLat() {
- return lat;
- }
-
- public void setLat(String lat) {
- this.lat = lat;
- }
-
- public String getCaseStateName() {
- return caseStateName;
- }
-
- public void setCaseStateName(String caseStateName) {
- this.caseStateName = caseStateName;
- }
-
- public String getLng() {
- return lng;
- }
-
- public void setLng(String lng) {
- this.lng = lng;
- }
-
- public String getIsOvertime() {
- return isOvertime;
- }
-
- public void setIsOvertime(String isOvertime) {
- this.isOvertime = isOvertime;
- }
-
- public String getCasetypeDetailCode() {
- return casetypeDetailCode;
- }
-
- public void setCasetypeDetailCode(String casetypeDetailCode) {
- this.casetypeDetailCode = casetypeDetailCode;
- }
-
- public String getOnedeptid() {
- return onedeptid;
- }
-
- public void setOnedeptid(String onedeptid) {
- this.onedeptid = onedeptid;
- }
-
- public String getEorc() {
- return eorc;
- }
-
- public void setEorc(String eorc) {
- this.eorc = eorc;
- }
-
- public String getCaseid() {
- return caseid;
- }
-
- public void setCaseid(String caseid) {
- this.caseid = caseid;
- }
-
- public String getCasetypeCode() {
- return casetypeCode;
- }
-
- public void setCasetypeCode(String casetypeCode) {
- this.casetypeCode = casetypeCode;
- }
-
- public String getCreateUser() {
- return createUser;
- }
-
- public void setCreateUser(String createUser) {
- this.createUser = createUser;
- }
-
- public String getNodeLimittime() {
- return nodeLimittime;
- }
-
- public void setNodeLimittime(String nodeLimittime) {
- this.nodeLimittime = nodeLimittime;
- }
-
- public String getSourceName() {
- return sourceName;
- }
-
- public void setSourceName(String sourceName) {
- this.sourceName = sourceName;
- }
-
- public String getReportTime() {
- return reportTime;
- }
-
- public void setReportTime(String reportTime) {
- this.reportTime = reportTime;
- }
- }
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/CaseSearchResultBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/CaseSearchResultBean.java
new file mode 100644
index 0000000..4d62c22
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvvm/model/CaseSearchResultBean.java
@@ -0,0 +1,319 @@
+package com.casic.dcms.mvvm.model;
+
+import java.util.List;
+
+public class CaseSearchResultBean {
+
+ private int code;
+ private DataDTO data;
+ private String message;
+ private boolean success;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public DataDTO getData() {
+ return data;
+ }
+
+ public void setData(DataDTO data) {
+ this.data = data;
+ }
+
+ 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 static class DataDTO {
+ private List rows;
+ private int total;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
+
+ public int getTotal() {
+ return total;
+ }
+
+ public void setTotal(int total) {
+ this.total = total;
+ }
+
+ public static class RowsDTO {
+ private int isPostpone;
+ private String description;
+ private String createUserName;
+ private int source;
+ private String eorcName;
+ private String casetypeDetailName;
+ private String remainingTime;
+ private String casetypeName;
+ private String processId;
+ private int caseState;
+ private String id;
+ private String reportSupervisorId;
+ private String fieldintro;
+ private String lat;
+ private String caseStateName;
+ private String lng;
+ private String isOvertime;
+ private String currRoleName;
+ private String casetypeDetailCode;
+ private String onedeptid;
+ private String eorc;
+ private String currRoleId;
+ private String caseid;
+ private String casetypeCode;
+ private String createUser;
+ private String nodeLimittime;
+ private String sourceName;
+ private String reportTime;
+
+ public int getIsPostpone() {
+ return isPostpone;
+ }
+
+ public void setIsPostpone(int isPostpone) {
+ this.isPostpone = isPostpone;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public String getCreateUserName() {
+ return createUserName;
+ }
+
+ public void setCreateUserName(String createUserName) {
+ this.createUserName = createUserName;
+ }
+
+ public int getSource() {
+ return source;
+ }
+
+ public void setSource(int source) {
+ this.source = source;
+ }
+
+ public String getEorcName() {
+ return eorcName;
+ }
+
+ public void setEorcName(String eorcName) {
+ this.eorcName = eorcName;
+ }
+
+ public String getCasetypeDetailName() {
+ return casetypeDetailName;
+ }
+
+ public void setCasetypeDetailName(String casetypeDetailName) {
+ this.casetypeDetailName = casetypeDetailName;
+ }
+
+ public String getRemainingTime() {
+ return remainingTime;
+ }
+
+ public void setRemainingTime(String remainingTime) {
+ this.remainingTime = remainingTime;
+ }
+
+ public String getCasetypeName() {
+ return casetypeName;
+ }
+
+ public void setCasetypeName(String casetypeName) {
+ this.casetypeName = casetypeName;
+ }
+
+ public String getProcessId() {
+ return processId;
+ }
+
+ public void setProcessId(String processId) {
+ this.processId = processId;
+ }
+
+ public int getCaseState() {
+ return caseState;
+ }
+
+ public void setCaseState(int caseState) {
+ this.caseState = caseState;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getReportSupervisorId() {
+ return reportSupervisorId;
+ }
+
+ public void setReportSupervisorId(String reportSupervisorId) {
+ this.reportSupervisorId = reportSupervisorId;
+ }
+
+ public String getFieldintro() {
+ return fieldintro;
+ }
+
+ public void setFieldintro(String fieldintro) {
+ this.fieldintro = fieldintro;
+ }
+
+ public String getLat() {
+ return lat;
+ }
+
+ public void setLat(String lat) {
+ this.lat = lat;
+ }
+
+ public String getCaseStateName() {
+ return caseStateName;
+ }
+
+ public void setCaseStateName(String caseStateName) {
+ this.caseStateName = caseStateName;
+ }
+
+ public String getLng() {
+ return lng;
+ }
+
+ public void setLng(String lng) {
+ this.lng = lng;
+ }
+
+ public String getIsOvertime() {
+ return isOvertime;
+ }
+
+ public void setIsOvertime(String isOvertime) {
+ this.isOvertime = isOvertime;
+ }
+
+ public String getCurrRoleName() {
+ return currRoleName;
+ }
+
+ public void setCurrRoleName(String currRoleName) {
+ this.currRoleName = currRoleName;
+ }
+
+ public String getCasetypeDetailCode() {
+ return casetypeDetailCode;
+ }
+
+ public void setCasetypeDetailCode(String casetypeDetailCode) {
+ this.casetypeDetailCode = casetypeDetailCode;
+ }
+
+ public String getOnedeptid() {
+ return onedeptid;
+ }
+
+ public void setOnedeptid(String onedeptid) {
+ this.onedeptid = onedeptid;
+ }
+
+ public String getEorc() {
+ return eorc;
+ }
+
+ public void setEorc(String eorc) {
+ this.eorc = eorc;
+ }
+
+ public String getCurrRoleId() {
+ return currRoleId;
+ }
+
+ public void setCurrRoleId(String currRoleId) {
+ this.currRoleId = currRoleId;
+ }
+
+ public String getCaseid() {
+ return caseid;
+ }
+
+ public void setCaseid(String caseid) {
+ this.caseid = caseid;
+ }
+
+ public String getCasetypeCode() {
+ return casetypeCode;
+ }
+
+ public void setCasetypeCode(String casetypeCode) {
+ this.casetypeCode = casetypeCode;
+ }
+
+ public String getCreateUser() {
+ return createUser;
+ }
+
+ public void setCreateUser(String createUser) {
+ this.createUser = createUser;
+ }
+
+ public String getNodeLimittime() {
+ return nodeLimittime;
+ }
+
+ public void setNodeLimittime(String nodeLimittime) {
+ this.nodeLimittime = nodeLimittime;
+ }
+
+ public String getSourceName() {
+ return sourceName;
+ }
+
+ public void setSourceName(String sourceName) {
+ this.sourceName = sourceName;
+ }
+
+ public String getReportTime() {
+ return reportTime;
+ }
+
+ public void setReportTime(String reportTime) {
+ this.reportTime = reportTime;
+ }
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseListResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseListResultActivity.java
deleted file mode 100644
index 3cf287f..0000000
--- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseListResultActivity.java
+++ /dev/null
@@ -1,170 +0,0 @@
-package com.casic.dcms.mvvm.view;
-
-import android.content.Context;
-import android.os.Handler;
-import android.view.View;
-
-import androidx.annotation.NonNull;
-import androidx.core.content.ContextCompat;
-import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
-
-import com.casic.dcms.R;
-import com.casic.dcms.adapter.CaseListResultAdapter;
-import com.casic.dcms.databinding.ActivityCaseListBinding;
-import com.casic.dcms.mvvm.model.CaseListResultBean;
-import com.casic.dcms.mvvm.vm.CaseViewModel;
-import com.casic.dcms.utils.OtherUtils;
-import com.gyf.immersionbar.ImmersionBar;
-import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
-import com.pengxh.androidx.lite.utils.ContextUtil;
-import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
-import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
-import com.pengxh.androidx.lite.vm.LoadState;
-import com.pengxh.androidx.lite.widget.EasyToast;
-import com.scwang.smartrefresh.layout.api.RefreshLayout;
-import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
-import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class CaseListResultActivity extends AndroidxBaseActivity {
-
- private final Context context = this;
- private WeakReferenceHandler weakReferenceHandler;
- private CaseViewModel caseViewModel;
- private CaseListResultAdapter adapter;
- private String typeCode;
- private String typeDetailCode;
- private String caseState;
- private String startTime;
- private String endTime;
- private String eorc;
- private int pageIndex = 1;
- private List dataBeans = new ArrayList<>();
- private boolean isRefresh = false;
- private boolean isLoadMore = false;
-
- @Override
- protected void setupTopBarLayout() {
- ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor));
- ImmersionBar.with(this).statusBarDarkFont(false).init();
-
- viewBinding.titleBarLayout.titleView.setText("查询结果");
- viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
- }
-
- @Override
- protected void initData() {
- weakReferenceHandler = new WeakReferenceHandler(callback);
- caseViewModel = new ViewModelProvider(this).get(CaseViewModel.class);
-
- eorc = getIntent().getStringExtra("eorc");
- typeCode = getIntent().getStringExtra("typeCode");
- typeDetailCode = getIntent().getStringExtra("typeDetailCode");
- caseState = getIntent().getStringExtra("caseState");
- startTime = getIntent().getStringExtra("startTime");
- endTime = getIntent().getStringExtra("endTime");
- obtainSearchResult();
- }
-
- private void obtainSearchResult() {
- //加载第一页
- caseViewModel.searchCase(eorc, typeCode, typeDetailCode, caseState, startTime, endTime, "0", pageIndex);
- }
-
- @Override
- protected void initEvent() {
- viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
- @Override
- public void onRefresh(@NonNull RefreshLayout refreshLayout) {
- isRefresh = true;
- //刷新之后页码重置
- pageIndex = 1;
- obtainSearchResult();
- }
- });
- viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
- @Override
- public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
- isLoadMore = true;
- pageIndex++;
- obtainSearchResult();
- }
- });
-
- caseViewModel.searchResultModel.observe(this, new Observer() {
- @Override
- public void onChanged(CaseListResultBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataRows = resultBean.getData().getRows();
- if (isRefresh) {
- dataBeans.clear(); //下拉刷新必须先清空之前的List,不然会出现数据重复的问题
- dataBeans = dataRows;
- viewBinding.refreshLayout.finishRefresh();
- isRefresh = false;
- } else if (isLoadMore) {
- if (dataRows.size() == 0) {
- EasyToast.show(context, "到底了,别拉了");
- }
- dataBeans.addAll(dataRows);
- viewBinding.refreshLayout.finishLoadMore();
- isLoadMore = false;
- } else {
- dataBeans = dataRows;
- }
- //更新RecyclerView
- weakReferenceHandler.sendEmptyMessage(20210425);
- }
- }
- });
- caseViewModel.loadState.observe(this, new Observer() {
- @Override
- public void onChanged(LoadState loadState) {
- if (loadState == LoadState.Loading) {
- OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后");
- } else {
- OtherUtils.dismissLoadingDialog();
- }
- }
- });
- }
-
- /**
- * 弱应用Handler,防止内存泄漏
- */
- private final Handler.Callback callback = msg -> {
- if (msg.what == 20210425) {
- if (isRefresh || isLoadMore) {
- adapter.notifyDataSetChanged();
- } else {
- //首次加载数据
- if (dataBeans.size() == 0) {
- viewBinding.emptyView.show(false, "抱歉,没有查到符合您规定条件的案卷", null, "", new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- pageIndex = 1;
- obtainSearchResult();
- }
- });
- } else {
- viewBinding.emptyView.hide();
- adapter = new CaseListResultAdapter(context, dataBeans);
- viewBinding.caseRecyclerView.setAdapter(adapter);
- adapter.setOnItemClickListener(new CaseListResultAdapter.OnItemClickListener() {
- @Override
- public void onClick(int position) {
- ContextUtil.navigatePageTo(
- context,
- CaseDetailActivity.class,
- dataBeans.get(position).getId()
- );
- }
- });
- }
- }
- }
- return true;
- };
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java
new file mode 100644
index 0000000..12ed207
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseSearchResultActivity.java
@@ -0,0 +1,172 @@
+package com.casic.dcms.mvvm.view;
+
+import android.content.Context;
+import android.os.Handler;
+import android.view.View;
+
+import androidx.annotation.NonNull;
+import androidx.core.content.ContextCompat;
+import androidx.lifecycle.Observer;
+import androidx.lifecycle.ViewModelProvider;
+
+import com.casic.dcms.R;
+import com.casic.dcms.adapter.CaseSearchResultAdapter;
+import com.casic.dcms.databinding.ActivityCaseListBinding;
+import com.casic.dcms.mvvm.model.CaseSearchResultBean;
+import com.casic.dcms.mvvm.vm.CaseViewModel;
+import com.casic.dcms.utils.OtherUtils;
+import com.gyf.immersionbar.ImmersionBar;
+import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.utils.ContextUtil;
+import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
+import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
+import com.pengxh.androidx.lite.vm.LoadState;
+import com.pengxh.androidx.lite.widget.EasyToast;
+import com.scwang.smartrefresh.layout.api.RefreshLayout;
+import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
+import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class CaseSearchResultActivity extends AndroidxBaseActivity {
+
+ private final Context context = this;
+ private WeakReferenceHandler weakReferenceHandler;
+ private CaseViewModel caseViewModel;
+ private CaseSearchResultAdapter adapter;
+ private String typeCode;
+ private String typeDetailCode;
+ private String caseState;
+ private String startTime;
+ private String endTime;
+ private String eorc;
+ private int pageIndex = 1;
+ private List dataBeans = new ArrayList<>();
+ private boolean isRefresh = false;
+ private boolean isLoadMore = false;
+
+ @Override
+ protected void setupTopBarLayout() {
+ ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor));
+ ImmersionBar.with(this).statusBarDarkFont(false).init();
+
+ viewBinding.titleBarLayout.titleView.setText("查询结果");
+ viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ }
+
+ @Override
+ protected void initData() {
+ weakReferenceHandler = new WeakReferenceHandler(callback);
+ caseViewModel = new ViewModelProvider(this).get(CaseViewModel.class);
+
+ eorc = getIntent().getStringExtra("eorc");
+ typeCode = getIntent().getStringExtra("typeCode");
+ typeDetailCode = getIntent().getStringExtra("typeDetailCode");
+ caseState = getIntent().getStringExtra("caseState");
+ startTime = getIntent().getStringExtra("startTime");
+ endTime = getIntent().getStringExtra("endTime");
+ obtainSearchResult();
+ }
+
+ private void obtainSearchResult() {
+ //加载第一页
+ caseViewModel.searchCase(eorc, typeCode, typeDetailCode, caseState, startTime, endTime, "0", pageIndex);
+ }
+
+ @Override
+ protected void initEvent() {
+ viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
+ @Override
+ public void onRefresh(@NonNull RefreshLayout refreshLayout) {
+ isRefresh = true;
+ //刷新之后页码重置
+ pageIndex = 1;
+ obtainSearchResult();
+ }
+ });
+ viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
+ @Override
+ public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
+ isLoadMore = true;
+ pageIndex++;
+ obtainSearchResult();
+ }
+ });
+
+ caseViewModel.searchResultModel.observe(this, new Observer() {
+ @Override
+ public void onChanged(CaseSearchResultBean resultBean) {
+ if (resultBean.getCode() == 200) {
+ List dataRows = resultBean.getData().getRows();
+ if (isRefresh) {
+ dataBeans.clear(); //下拉刷新必须先清空之前的List,不然会出现数据重复的问题
+ dataBeans = dataRows;
+ viewBinding.refreshLayout.finishRefresh();
+ isRefresh = false;
+ } else if (isLoadMore) {
+ if (dataRows.size() == 0) {
+ EasyToast.show(context, "到底了,别拉了");
+ }
+ dataBeans.addAll(dataRows);
+ viewBinding.refreshLayout.finishLoadMore();
+ isLoadMore = false;
+ } else {
+ dataBeans = dataRows;
+ }
+ //更新RecyclerView
+ weakReferenceHandler.sendEmptyMessage(20210425);
+ }
+ }
+ });
+ caseViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (!isRefresh && !isLoadMore) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "案卷查询中,请稍后");
+ } else {
+ OtherUtils.dismissLoadingDialog();
+ }
+ }
+ }
+ });
+ }
+
+ /**
+ * 弱应用Handler,防止内存泄漏
+ */
+ private final Handler.Callback callback = msg -> {
+ if (msg.what == 20210425) {
+ if (isRefresh || isLoadMore) {
+ adapter.notifyDataSetChanged();
+ } else {
+ //首次加载数据
+ if (dataBeans.size() == 0) {
+ viewBinding.emptyView.show(false, "抱歉,没有查到符合您规定条件的案卷", null, "", new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ pageIndex = 1;
+ obtainSearchResult();
+ }
+ });
+ } else {
+ viewBinding.emptyView.hide();
+ adapter = new CaseSearchResultAdapter(context, dataBeans);
+ viewBinding.caseRecyclerView.setAdapter(adapter);
+ adapter.setOnItemClickListener(new CaseSearchResultAdapter.OnItemClickListener() {
+ @Override
+ public void onClick(int position) {
+ ContextUtil.navigatePageTo(
+ context,
+ CaseDetailActivity.class,
+ dataBeans.get(position).getId()
+ );
+ }
+ });
+ }
+ }
+ }
+ return true;
+ };
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/SearchCaseActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/SearchCaseActivity.java
index 0bfe6b3..dfd357e 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/SearchCaseActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/SearchCaseActivity.java
@@ -263,7 +263,7 @@
viewBinding.searchButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- Intent intent = new Intent(context, CaseListResultActivity.class);
+ Intent intent = new Intent(context, CaseSearchResultActivity.class);
intent.putExtra("eorc", eorc);
intent.putExtra("typeCode", typeCode);
intent.putExtra("typeDetailCode", typeDetailCode);
diff --git a/app/src/main/java/com/casic/dcms/mvvm/vm/CaseViewModel.java b/app/src/main/java/com/casic/dcms/mvvm/vm/CaseViewModel.java
index 8b8a61d..64a368b 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/vm/CaseViewModel.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/vm/CaseViewModel.java
@@ -6,7 +6,7 @@
import com.casic.dcms.mvvm.model.CaseDetailBean;
import com.casic.dcms.mvvm.model.CaseHandleBean;
import com.casic.dcms.mvvm.model.CaseHandledBean;
-import com.casic.dcms.mvvm.model.CaseListResultBean;
+import com.casic.dcms.mvvm.model.CaseSearchResultBean;
import com.casic.dcms.mvvm.model.CaseVerifyBean;
import com.casic.dcms.mvvm.model.OvertimeCaseBean;
import com.casic.dcms.mvvm.model.PackageCaseBean;
@@ -35,7 +35,7 @@
public MutableLiveData caseUrgentModel = new MutableLiveData<>();
public MutableLiveData caseOvertimeModel = new MutableLiveData<>();
public MutableLiveData shopCaseModel = new MutableLiveData<>();
- public MutableLiveData searchResultModel = new MutableLiveData<>();
+ public MutableLiveData searchResultModel = new MutableLiveData<>();
public MutableLiveData caseDetailModel = new MutableLiveData<>();
/**
@@ -292,7 +292,7 @@
String response = responseBody.string();
int responseCode = StringHelper.separateResponseCode(response);
if (responseCode == 200) {
- CaseListResultBean resultBean = gson.fromJson(response, new TypeToken() {
+ CaseSearchResultBean resultBean = gson.fromJson(response, new TypeToken() {
}.getType());
searchResultModel.setValue(resultBean);
} else {
diff --git a/app/src/main/res/layout/activity_case_list.xml b/app/src/main/res/layout/activity_case_list.xml
index 3070d85..dd90668 100644
--- a/app/src/main/res/layout/activity_case_list.xml
+++ b/app/src/main/res/layout/activity_case_list.xml
@@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:background="@color/white"
+ android:background="@color/mainBackColor"
android:orientation="vertical">
+ android:layout_height="match_parent"
+ android:layout_marginTop="@dimen/dp_5">