diff --git a/.idea/misc.xml b/.idea/misc.xml
index 552f6c3..d6ee830 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -35,6 +35,10 @@
+
+
+
+
@@ -48,6 +52,7 @@
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 552f6c3..d6ee830 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -35,6 +35,10 @@
+
+
+
+
@@ -48,6 +52,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java b/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
index 6c4a6a6..1fafc8b 100644
--- a/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
+++ b/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
@@ -11,35 +11,35 @@
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
+import com.bumptech.glide.Glide;
import com.casic.dcms.R;
import com.casic.dcms.mvvm.model.DeptCaseBean;
import com.casic.dcms.utils.StringHelper;
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView;
import java.util.List;
-/**
- * {@link PackageCaseListAdapter 不适用二级派遣员部门处置列表,因为该列表不光有三包案卷,还有普通案卷}
- */
public class DeptTodoOrHandledAdapter extends RecyclerView.Adapter {
- private final List dataBeans;
+ private final Context context;
+ private final List dataBeans;
private final LayoutInflater layoutInflater;
private PunishTypeAdapter adapter;
- public DeptTodoOrHandledAdapter(Context context, List dataRows) {
+ public DeptTodoOrHandledAdapter(Context context, List dataRows) {
+ this.context = context;
this.dataBeans = dataRows;
layoutInflater = LayoutInflater.from(context);
}
@NonNull
@Override
- public DeptTodoOrHandledAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = layoutInflater.inflate(R.layout.item_case_rv, parent, false);
- return new ItemViewHolder(view);
+ 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 DeptTodoOrHandledAdapter.ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
holder.bindView(dataBeans.get(position));
if (clickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@@ -56,28 +56,30 @@
return dataBeans.size();
}
- static class ItemViewHolder extends RecyclerView.ViewHolder {
+ class ItemViewHolder extends RecyclerView.ViewHolder {
-// private final TextView leftTextView;
+ private final QMUIRadiusImageView caseImageView;
private final TextView caseTitleView;
private final TextView casePlaceView;
private final TextView caseTimeView;
ItemViewHolder(@NonNull View itemView) {
super(itemView);
-// leftTextView = itemView.findViewById(R.id.leftTextView);
+ caseImageView = itemView.findViewById(R.id.caseImageView);
caseTitleView = itemView.findViewById(R.id.caseTitleView);
casePlaceView = itemView.findViewById(R.id.casePlaceView);
caseTimeView = itemView.findViewById(R.id.caseTimeView);
}
- @SuppressLint("SetTextI18n")
- void bindView(DeptCaseBean.DataBean.RowsBean rowsBean) {
- String eorcName = rowsBean.getEorcName();
- if (TextUtils.isEmpty(eorcName)) {
- eorcName = "未知";
+ void bindView(DeptCaseBean.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);
+ }
}
-// 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 552f6c3..d6ee830 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -35,6 +35,10 @@
+
+
+
+
@@ -48,6 +52,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java b/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
index 6c4a6a6..1fafc8b 100644
--- a/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
+++ b/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
@@ -11,35 +11,35 @@
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
+import com.bumptech.glide.Glide;
import com.casic.dcms.R;
import com.casic.dcms.mvvm.model.DeptCaseBean;
import com.casic.dcms.utils.StringHelper;
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView;
import java.util.List;
-/**
- * {@link PackageCaseListAdapter 不适用二级派遣员部门处置列表,因为该列表不光有三包案卷,还有普通案卷}
- */
public class DeptTodoOrHandledAdapter extends RecyclerView.Adapter {
- private final List dataBeans;
+ private final Context context;
+ private final List dataBeans;
private final LayoutInflater layoutInflater;
private PunishTypeAdapter adapter;
- public DeptTodoOrHandledAdapter(Context context, List dataRows) {
+ public DeptTodoOrHandledAdapter(Context context, List dataRows) {
+ this.context = context;
this.dataBeans = dataRows;
layoutInflater = LayoutInflater.from(context);
}
@NonNull
@Override
- public DeptTodoOrHandledAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = layoutInflater.inflate(R.layout.item_case_rv, parent, false);
- return new ItemViewHolder(view);
+ 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 DeptTodoOrHandledAdapter.ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
holder.bindView(dataBeans.get(position));
if (clickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@@ -56,28 +56,30 @@
return dataBeans.size();
}
- static class ItemViewHolder extends RecyclerView.ViewHolder {
+ class ItemViewHolder extends RecyclerView.ViewHolder {
-// private final TextView leftTextView;
+ private final QMUIRadiusImageView caseImageView;
private final TextView caseTitleView;
private final TextView casePlaceView;
private final TextView caseTimeView;
ItemViewHolder(@NonNull View itemView) {
super(itemView);
-// leftTextView = itemView.findViewById(R.id.leftTextView);
+ caseImageView = itemView.findViewById(R.id.caseImageView);
caseTitleView = itemView.findViewById(R.id.caseTitleView);
casePlaceView = itemView.findViewById(R.id.casePlaceView);
caseTimeView = itemView.findViewById(R.id.caseTimeView);
}
- @SuppressLint("SetTextI18n")
- void bindView(DeptCaseBean.DataBean.RowsBean rowsBean) {
- String eorcName = rowsBean.getEorcName();
- if (TextUtils.isEmpty(eorcName)) {
- eorcName = "未知";
+ void bindView(DeptCaseBean.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);
+ }
}
-// 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/mvvm/model/DeptCaseBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/DeptCaseBean.java
index 1a4ac47..79163d8 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/model/DeptCaseBean.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/model/DeptCaseBean.java
@@ -8,7 +8,7 @@
public class DeptCaseBean {
private int code;
- private DataBean data;
+ private DataDTO data;
private String message;
private boolean success;
@@ -20,11 +20,11 @@
this.code = code;
}
- public DataBean getData() {
+ public DataDTO getData() {
return data;
}
- public void setData(DataBean data) {
+ public void setData(DataDTO data) {
this.data = data;
}
@@ -44,10 +44,17 @@
this.success = success;
}
- public static class DataBean {
-
+ public static class DataDTO {
+ private List rows;
private int total;
- private List rows;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
public int getTotal() {
return total;
@@ -57,26 +64,14 @@
this.total = total;
}
- public List getRows() {
- return rows;
- }
-
- public void setRows(List rows) {
- this.rows = rows;
- }
-
- public static class RowsBean {
-
+ public static class RowsDTO {
private int isPostpone;
- private int preState;
private String description;
private int source;
private String eorcName;
private String casetypeDetailName;
private String remainingTime;
private String casetypeName;
- private String currUserId;
- private String currUserName;
private String processId;
private int caseState;
private String id;
@@ -84,10 +79,10 @@
private String fieldintro;
private String lat;
private String caseStateName;
- private String preOperator;
private String lng;
private String isOvertime;
private String currRoleName;
+ private String fileIdVerify;
private String casetypeDetailCode;
private String onedeptid;
private String eorc;
@@ -95,8 +90,14 @@
private String caseid;
private String casetypeCode;
private String nodeLimittime;
+ private String taskName;
private String sourceName;
+ private String fileIdProcess;
private String reportTime;
+ private String currUserId;
+ private String currUserName;
+ private String currDeptId;
+ private String currDeptName;
private String onedeptName;
public int getIsPostpone() {
@@ -107,14 +108,6 @@
this.isPostpone = isPostpone;
}
- public int getPreState() {
- return preState;
- }
-
- public void setPreState(int preState) {
- this.preState = preState;
- }
-
public String getDescription() {
return description;
}
@@ -163,22 +156,6 @@
this.casetypeName = casetypeName;
}
- public String getCurrUserId() {
- return currUserId;
- }
-
- public void setCurrUserId(String currUserId) {
- this.currUserId = currUserId;
- }
-
- public String getCurrUserName() {
- return currUserName;
- }
-
- public void setCurrUserName(String currUserName) {
- this.currUserName = currUserName;
- }
-
public String getProcessId() {
return processId;
}
@@ -235,14 +212,6 @@
this.caseStateName = caseStateName;
}
- public String getPreOperator() {
- return preOperator;
- }
-
- public void setPreOperator(String preOperator) {
- this.preOperator = preOperator;
- }
-
public String getLng() {
return lng;
}
@@ -267,6 +236,14 @@
this.currRoleName = currRoleName;
}
+ public String getFileIdVerify() {
+ return fileIdVerify;
+ }
+
+ public void setFileIdVerify(String fileIdVerify) {
+ this.fileIdVerify = fileIdVerify;
+ }
+
public String getCasetypeDetailCode() {
return casetypeDetailCode;
}
@@ -323,6 +300,14 @@
this.nodeLimittime = nodeLimittime;
}
+ public String getTaskName() {
+ return taskName;
+ }
+
+ public void setTaskName(String taskName) {
+ this.taskName = taskName;
+ }
+
public String getSourceName() {
return sourceName;
}
@@ -331,6 +316,14 @@
this.sourceName = sourceName;
}
+ public String getFileIdProcess() {
+ return fileIdProcess;
+ }
+
+ public void setFileIdProcess(String fileIdProcess) {
+ this.fileIdProcess = fileIdProcess;
+ }
+
public String getReportTime() {
return reportTime;
}
@@ -339,6 +332,38 @@
this.reportTime = reportTime;
}
+ public String getCurrUserId() {
+ return currUserId;
+ }
+
+ public void setCurrUserId(String currUserId) {
+ this.currUserId = currUserId;
+ }
+
+ public String getCurrUserName() {
+ return currUserName;
+ }
+
+ public void setCurrUserName(String currUserName) {
+ this.currUserName = currUserName;
+ }
+
+ public String getCurrDeptId() {
+ return currDeptId;
+ }
+
+ public void setCurrDeptId(String currDeptId) {
+ this.currDeptId = currDeptId;
+ }
+
+ public String getCurrDeptName() {
+ return currDeptName;
+ }
+
+ public void setCurrDeptName(String currDeptName) {
+ this.currDeptName = currDeptName;
+ }
+
public String getOnedeptName() {
return onedeptName;
}
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 552f6c3..d6ee830 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -35,6 +35,10 @@
+
+
+
+
@@ -48,6 +52,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java b/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
index 6c4a6a6..1fafc8b 100644
--- a/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
+++ b/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
@@ -11,35 +11,35 @@
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
+import com.bumptech.glide.Glide;
import com.casic.dcms.R;
import com.casic.dcms.mvvm.model.DeptCaseBean;
import com.casic.dcms.utils.StringHelper;
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView;
import java.util.List;
-/**
- * {@link PackageCaseListAdapter 不适用二级派遣员部门处置列表,因为该列表不光有三包案卷,还有普通案卷}
- */
public class DeptTodoOrHandledAdapter extends RecyclerView.Adapter {
- private final List dataBeans;
+ private final Context context;
+ private final List dataBeans;
private final LayoutInflater layoutInflater;
private PunishTypeAdapter adapter;
- public DeptTodoOrHandledAdapter(Context context, List dataRows) {
+ public DeptTodoOrHandledAdapter(Context context, List dataRows) {
+ this.context = context;
this.dataBeans = dataRows;
layoutInflater = LayoutInflater.from(context);
}
@NonNull
@Override
- public DeptTodoOrHandledAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = layoutInflater.inflate(R.layout.item_case_rv, parent, false);
- return new ItemViewHolder(view);
+ 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 DeptTodoOrHandledAdapter.ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
holder.bindView(dataBeans.get(position));
if (clickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@@ -56,28 +56,30 @@
return dataBeans.size();
}
- static class ItemViewHolder extends RecyclerView.ViewHolder {
+ class ItemViewHolder extends RecyclerView.ViewHolder {
-// private final TextView leftTextView;
+ private final QMUIRadiusImageView caseImageView;
private final TextView caseTitleView;
private final TextView casePlaceView;
private final TextView caseTimeView;
ItemViewHolder(@NonNull View itemView) {
super(itemView);
-// leftTextView = itemView.findViewById(R.id.leftTextView);
+ caseImageView = itemView.findViewById(R.id.caseImageView);
caseTitleView = itemView.findViewById(R.id.caseTitleView);
casePlaceView = itemView.findViewById(R.id.casePlaceView);
caseTimeView = itemView.findViewById(R.id.caseTimeView);
}
- @SuppressLint("SetTextI18n")
- void bindView(DeptCaseBean.DataBean.RowsBean rowsBean) {
- String eorcName = rowsBean.getEorcName();
- if (TextUtils.isEmpty(eorcName)) {
- eorcName = "未知";
+ void bindView(DeptCaseBean.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);
+ }
}
-// 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/mvvm/model/DeptCaseBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/DeptCaseBean.java
index 1a4ac47..79163d8 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/model/DeptCaseBean.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/model/DeptCaseBean.java
@@ -8,7 +8,7 @@
public class DeptCaseBean {
private int code;
- private DataBean data;
+ private DataDTO data;
private String message;
private boolean success;
@@ -20,11 +20,11 @@
this.code = code;
}
- public DataBean getData() {
+ public DataDTO getData() {
return data;
}
- public void setData(DataBean data) {
+ public void setData(DataDTO data) {
this.data = data;
}
@@ -44,10 +44,17 @@
this.success = success;
}
- public static class DataBean {
-
+ public static class DataDTO {
+ private List rows;
private int total;
- private List rows;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
public int getTotal() {
return total;
@@ -57,26 +64,14 @@
this.total = total;
}
- public List getRows() {
- return rows;
- }
-
- public void setRows(List rows) {
- this.rows = rows;
- }
-
- public static class RowsBean {
-
+ public static class RowsDTO {
private int isPostpone;
- private int preState;
private String description;
private int source;
private String eorcName;
private String casetypeDetailName;
private String remainingTime;
private String casetypeName;
- private String currUserId;
- private String currUserName;
private String processId;
private int caseState;
private String id;
@@ -84,10 +79,10 @@
private String fieldintro;
private String lat;
private String caseStateName;
- private String preOperator;
private String lng;
private String isOvertime;
private String currRoleName;
+ private String fileIdVerify;
private String casetypeDetailCode;
private String onedeptid;
private String eorc;
@@ -95,8 +90,14 @@
private String caseid;
private String casetypeCode;
private String nodeLimittime;
+ private String taskName;
private String sourceName;
+ private String fileIdProcess;
private String reportTime;
+ private String currUserId;
+ private String currUserName;
+ private String currDeptId;
+ private String currDeptName;
private String onedeptName;
public int getIsPostpone() {
@@ -107,14 +108,6 @@
this.isPostpone = isPostpone;
}
- public int getPreState() {
- return preState;
- }
-
- public void setPreState(int preState) {
- this.preState = preState;
- }
-
public String getDescription() {
return description;
}
@@ -163,22 +156,6 @@
this.casetypeName = casetypeName;
}
- public String getCurrUserId() {
- return currUserId;
- }
-
- public void setCurrUserId(String currUserId) {
- this.currUserId = currUserId;
- }
-
- public String getCurrUserName() {
- return currUserName;
- }
-
- public void setCurrUserName(String currUserName) {
- this.currUserName = currUserName;
- }
-
public String getProcessId() {
return processId;
}
@@ -235,14 +212,6 @@
this.caseStateName = caseStateName;
}
- public String getPreOperator() {
- return preOperator;
- }
-
- public void setPreOperator(String preOperator) {
- this.preOperator = preOperator;
- }
-
public String getLng() {
return lng;
}
@@ -267,6 +236,14 @@
this.currRoleName = currRoleName;
}
+ public String getFileIdVerify() {
+ return fileIdVerify;
+ }
+
+ public void setFileIdVerify(String fileIdVerify) {
+ this.fileIdVerify = fileIdVerify;
+ }
+
public String getCasetypeDetailCode() {
return casetypeDetailCode;
}
@@ -323,6 +300,14 @@
this.nodeLimittime = nodeLimittime;
}
+ public String getTaskName() {
+ return taskName;
+ }
+
+ public void setTaskName(String taskName) {
+ this.taskName = taskName;
+ }
+
public String getSourceName() {
return sourceName;
}
@@ -331,6 +316,14 @@
this.sourceName = sourceName;
}
+ public String getFileIdProcess() {
+ return fileIdProcess;
+ }
+
+ public void setFileIdProcess(String fileIdProcess) {
+ this.fileIdProcess = fileIdProcess;
+ }
+
public String getReportTime() {
return reportTime;
}
@@ -339,6 +332,38 @@
this.reportTime = reportTime;
}
+ public String getCurrUserId() {
+ return currUserId;
+ }
+
+ public void setCurrUserId(String currUserId) {
+ this.currUserId = currUserId;
+ }
+
+ public String getCurrUserName() {
+ return currUserName;
+ }
+
+ public void setCurrUserName(String currUserName) {
+ this.currUserName = currUserName;
+ }
+
+ public String getCurrDeptId() {
+ return currDeptId;
+ }
+
+ public void setCurrDeptId(String currDeptId) {
+ this.currDeptId = currDeptId;
+ }
+
+ public String getCurrDeptName() {
+ return currDeptName;
+ }
+
+ public void setCurrDeptName(String currDeptName) {
+ this.currDeptName = currDeptName;
+ }
+
public String getOnedeptName() {
return onedeptName;
}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java
index de23222..9e72c93 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java
@@ -15,6 +15,7 @@
import com.casic.dcms.databinding.ActivityDeptAdjustBinding;
import com.casic.dcms.mvvm.model.CaseDetailBean;
import com.casic.dcms.mvvm.model.CaseNextNodeBean;
+import com.casic.dcms.mvvm.vm.CaseOperateViewModel;
import com.casic.dcms.mvvm.vm.CaseViewModel;
import com.casic.dcms.mvvm.vm.NodeViewModel;
import com.casic.dcms.utils.JzExoMedia;
@@ -40,6 +41,7 @@
private final Context context = this;
private CaseViewModel caseViewModel;
private NodeViewModel nodeViewModel;
+ private CaseOperateViewModel operateViewModel;
private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean();
private List nodeDataBeans;
private String id;
@@ -62,6 +64,7 @@
caseViewModel.obtainCaseDetail(id);
nodeViewModel = new ViewModelProvider(this).get(NodeViewModel.class);
+ operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class);
}
@Override
@@ -230,8 +233,6 @@
public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
dialog.dismiss();
viewBinding.commonTipsView.setText(tag);
-
- viewBinding.optionEditView.setText(tag);
}
}).build().show();
}
@@ -245,14 +246,28 @@
EasyToast.show(context, "还未选择操作类型");
return;
}
- String optionInput = StringHelper.filterString(viewBinding.optionEditView.getText().toString());
+ String optionInput = StringHelper.filterString(viewBinding.commonTipsView.getText().toString());
if (TextUtils.isEmpty(optionInput)) {
EasyToast.show(context, "不同意/同意的意见必须填写");
return;
}
-// caseViewModel.dispatcherHandleCase(data.getProcessId(), id,
-// String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
-// data.getProcessPersonid());
+ operateViewModel.dispatcherHandleCase(data.getProcessId(), id,
+ String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
+ data.getProcessPersonid());
+ }
+ });
+ operateViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后...");
+ } else if (loadState == LoadState.Success) {
+ OtherUtils.dismissLoadingDialog();
+ finish();
+ } else {
+ EasyToast.show(context, "处理失败,请重试");
+ OtherUtils.dismissLoadingDialog();
+ }
}
});
}
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 552f6c3..d6ee830 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -35,6 +35,10 @@
+
+
+
+
@@ -48,6 +52,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java b/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
index 6c4a6a6..1fafc8b 100644
--- a/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
+++ b/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
@@ -11,35 +11,35 @@
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
+import com.bumptech.glide.Glide;
import com.casic.dcms.R;
import com.casic.dcms.mvvm.model.DeptCaseBean;
import com.casic.dcms.utils.StringHelper;
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView;
import java.util.List;
-/**
- * {@link PackageCaseListAdapter 不适用二级派遣员部门处置列表,因为该列表不光有三包案卷,还有普通案卷}
- */
public class DeptTodoOrHandledAdapter extends RecyclerView.Adapter {
- private final List dataBeans;
+ private final Context context;
+ private final List dataBeans;
private final LayoutInflater layoutInflater;
private PunishTypeAdapter adapter;
- public DeptTodoOrHandledAdapter(Context context, List dataRows) {
+ public DeptTodoOrHandledAdapter(Context context, List dataRows) {
+ this.context = context;
this.dataBeans = dataRows;
layoutInflater = LayoutInflater.from(context);
}
@NonNull
@Override
- public DeptTodoOrHandledAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = layoutInflater.inflate(R.layout.item_case_rv, parent, false);
- return new ItemViewHolder(view);
+ 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 DeptTodoOrHandledAdapter.ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
holder.bindView(dataBeans.get(position));
if (clickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@@ -56,28 +56,30 @@
return dataBeans.size();
}
- static class ItemViewHolder extends RecyclerView.ViewHolder {
+ class ItemViewHolder extends RecyclerView.ViewHolder {
-// private final TextView leftTextView;
+ private final QMUIRadiusImageView caseImageView;
private final TextView caseTitleView;
private final TextView casePlaceView;
private final TextView caseTimeView;
ItemViewHolder(@NonNull View itemView) {
super(itemView);
-// leftTextView = itemView.findViewById(R.id.leftTextView);
+ caseImageView = itemView.findViewById(R.id.caseImageView);
caseTitleView = itemView.findViewById(R.id.caseTitleView);
casePlaceView = itemView.findViewById(R.id.casePlaceView);
caseTimeView = itemView.findViewById(R.id.caseTimeView);
}
- @SuppressLint("SetTextI18n")
- void bindView(DeptCaseBean.DataBean.RowsBean rowsBean) {
- String eorcName = rowsBean.getEorcName();
- if (TextUtils.isEmpty(eorcName)) {
- eorcName = "未知";
+ void bindView(DeptCaseBean.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);
+ }
}
-// 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/mvvm/model/DeptCaseBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/DeptCaseBean.java
index 1a4ac47..79163d8 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/model/DeptCaseBean.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/model/DeptCaseBean.java
@@ -8,7 +8,7 @@
public class DeptCaseBean {
private int code;
- private DataBean data;
+ private DataDTO data;
private String message;
private boolean success;
@@ -20,11 +20,11 @@
this.code = code;
}
- public DataBean getData() {
+ public DataDTO getData() {
return data;
}
- public void setData(DataBean data) {
+ public void setData(DataDTO data) {
this.data = data;
}
@@ -44,10 +44,17 @@
this.success = success;
}
- public static class DataBean {
-
+ public static class DataDTO {
+ private List rows;
private int total;
- private List rows;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
public int getTotal() {
return total;
@@ -57,26 +64,14 @@
this.total = total;
}
- public List getRows() {
- return rows;
- }
-
- public void setRows(List rows) {
- this.rows = rows;
- }
-
- public static class RowsBean {
-
+ public static class RowsDTO {
private int isPostpone;
- private int preState;
private String description;
private int source;
private String eorcName;
private String casetypeDetailName;
private String remainingTime;
private String casetypeName;
- private String currUserId;
- private String currUserName;
private String processId;
private int caseState;
private String id;
@@ -84,10 +79,10 @@
private String fieldintro;
private String lat;
private String caseStateName;
- private String preOperator;
private String lng;
private String isOvertime;
private String currRoleName;
+ private String fileIdVerify;
private String casetypeDetailCode;
private String onedeptid;
private String eorc;
@@ -95,8 +90,14 @@
private String caseid;
private String casetypeCode;
private String nodeLimittime;
+ private String taskName;
private String sourceName;
+ private String fileIdProcess;
private String reportTime;
+ private String currUserId;
+ private String currUserName;
+ private String currDeptId;
+ private String currDeptName;
private String onedeptName;
public int getIsPostpone() {
@@ -107,14 +108,6 @@
this.isPostpone = isPostpone;
}
- public int getPreState() {
- return preState;
- }
-
- public void setPreState(int preState) {
- this.preState = preState;
- }
-
public String getDescription() {
return description;
}
@@ -163,22 +156,6 @@
this.casetypeName = casetypeName;
}
- public String getCurrUserId() {
- return currUserId;
- }
-
- public void setCurrUserId(String currUserId) {
- this.currUserId = currUserId;
- }
-
- public String getCurrUserName() {
- return currUserName;
- }
-
- public void setCurrUserName(String currUserName) {
- this.currUserName = currUserName;
- }
-
public String getProcessId() {
return processId;
}
@@ -235,14 +212,6 @@
this.caseStateName = caseStateName;
}
- public String getPreOperator() {
- return preOperator;
- }
-
- public void setPreOperator(String preOperator) {
- this.preOperator = preOperator;
- }
-
public String getLng() {
return lng;
}
@@ -267,6 +236,14 @@
this.currRoleName = currRoleName;
}
+ public String getFileIdVerify() {
+ return fileIdVerify;
+ }
+
+ public void setFileIdVerify(String fileIdVerify) {
+ this.fileIdVerify = fileIdVerify;
+ }
+
public String getCasetypeDetailCode() {
return casetypeDetailCode;
}
@@ -323,6 +300,14 @@
this.nodeLimittime = nodeLimittime;
}
+ public String getTaskName() {
+ return taskName;
+ }
+
+ public void setTaskName(String taskName) {
+ this.taskName = taskName;
+ }
+
public String getSourceName() {
return sourceName;
}
@@ -331,6 +316,14 @@
this.sourceName = sourceName;
}
+ public String getFileIdProcess() {
+ return fileIdProcess;
+ }
+
+ public void setFileIdProcess(String fileIdProcess) {
+ this.fileIdProcess = fileIdProcess;
+ }
+
public String getReportTime() {
return reportTime;
}
@@ -339,6 +332,38 @@
this.reportTime = reportTime;
}
+ public String getCurrUserId() {
+ return currUserId;
+ }
+
+ public void setCurrUserId(String currUserId) {
+ this.currUserId = currUserId;
+ }
+
+ public String getCurrUserName() {
+ return currUserName;
+ }
+
+ public void setCurrUserName(String currUserName) {
+ this.currUserName = currUserName;
+ }
+
+ public String getCurrDeptId() {
+ return currDeptId;
+ }
+
+ public void setCurrDeptId(String currDeptId) {
+ this.currDeptId = currDeptId;
+ }
+
+ public String getCurrDeptName() {
+ return currDeptName;
+ }
+
+ public void setCurrDeptName(String currDeptName) {
+ this.currDeptName = currDeptName;
+ }
+
public String getOnedeptName() {
return onedeptName;
}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java
index de23222..9e72c93 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java
@@ -15,6 +15,7 @@
import com.casic.dcms.databinding.ActivityDeptAdjustBinding;
import com.casic.dcms.mvvm.model.CaseDetailBean;
import com.casic.dcms.mvvm.model.CaseNextNodeBean;
+import com.casic.dcms.mvvm.vm.CaseOperateViewModel;
import com.casic.dcms.mvvm.vm.CaseViewModel;
import com.casic.dcms.mvvm.vm.NodeViewModel;
import com.casic.dcms.utils.JzExoMedia;
@@ -40,6 +41,7 @@
private final Context context = this;
private CaseViewModel caseViewModel;
private NodeViewModel nodeViewModel;
+ private CaseOperateViewModel operateViewModel;
private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean();
private List nodeDataBeans;
private String id;
@@ -62,6 +64,7 @@
caseViewModel.obtainCaseDetail(id);
nodeViewModel = new ViewModelProvider(this).get(NodeViewModel.class);
+ operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class);
}
@Override
@@ -230,8 +233,6 @@
public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
dialog.dismiss();
viewBinding.commonTipsView.setText(tag);
-
- viewBinding.optionEditView.setText(tag);
}
}).build().show();
}
@@ -245,14 +246,28 @@
EasyToast.show(context, "还未选择操作类型");
return;
}
- String optionInput = StringHelper.filterString(viewBinding.optionEditView.getText().toString());
+ String optionInput = StringHelper.filterString(viewBinding.commonTipsView.getText().toString());
if (TextUtils.isEmpty(optionInput)) {
EasyToast.show(context, "不同意/同意的意见必须填写");
return;
}
-// caseViewModel.dispatcherHandleCase(data.getProcessId(), id,
-// String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
-// data.getProcessPersonid());
+ operateViewModel.dispatcherHandleCase(data.getProcessId(), id,
+ String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
+ data.getProcessPersonid());
+ }
+ });
+ operateViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后...");
+ } else if (loadState == LoadState.Success) {
+ OtherUtils.dismissLoadingDialog();
+ finish();
+ } else {
+ EasyToast.show(context, "处理失败,请重试");
+ OtherUtils.dismissLoadingDialog();
+ }
}
});
}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java
index 31fc6a0..f23fc0b 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java
@@ -16,6 +16,7 @@
import com.casic.dcms.mvvm.model.CaseDetailBean;
import com.casic.dcms.mvvm.model.CaseNextNodeBean;
import com.casic.dcms.mvvm.model.ProcessPersonBean;
+import com.casic.dcms.mvvm.vm.CaseOperateViewModel;
import com.casic.dcms.mvvm.vm.CaseViewModel;
import com.casic.dcms.mvvm.vm.NodeViewModel;
import com.casic.dcms.mvvm.vm.PersonViewModel;
@@ -26,6 +27,7 @@
import com.gyf.immersionbar.ImmersionBar;
import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter;
import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.utils.Constant;
import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
import com.pengxh.androidx.lite.vm.LoadState;
import com.pengxh.androidx.lite.widget.EasyToast;
@@ -36,13 +38,14 @@
import cn.jzvd.Jzvd;
-public class DeptAuthorizeDetailActivity extends AndroidxBaseActivity implements View.OnClickListener {
+public class DeptAuthorizeDetailActivity extends AndroidxBaseActivity {
private final Context context = this;
private CaseViewModel caseViewModel;
private NodeViewModel nodeViewModel;
- private List nodeDataBeans;
private PersonViewModel personViewModel;
+ private CaseOperateViewModel operateViewModel;
+ private List nodeDataBeans;
private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean();
private List personBeans;
private String id;
@@ -61,12 +64,13 @@
@Override
public void initData() {
- id = getIntent().getStringExtra("id");
+ id = getIntent().getStringExtra(Constant.INTENT_PARAM);
caseViewModel = new ViewModelProvider(this).get(CaseViewModel.class);
caseViewModel.obtainCaseDetail(id);
nodeViewModel = new ViewModelProvider(this).get(NodeViewModel.class);
personViewModel = new ViewModelProvider(this).get(PersonViewModel.class);
+ operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class);
}
@Override
@@ -192,39 +196,18 @@
}
});
- personViewModel.processPersonModel.observe(this, new Observer() {
+ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() {
@Override
- public void onChanged(ProcessPersonBean resultBean) {
- if (resultBean.getCode() == 200) {
- personBeans = resultBean.getData();
- if (personBeans.size() == 0) {
- viewBinding.caseHandlePersonView.setText("无处置人员");
- } else {
- ProcessPersonBean.DataBean dataBean = personBeans.get(0);
- taskUserId = dataBean.getId();
- viewBinding.caseHandlePersonView.setText(dataBean.getName());//默认选择第一个
- }
- viewBinding.caseHandlePersonView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
- }
+ public void onClick(View v) {
+ OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat());
}
});
- viewBinding.locationMapView.setOnClickListener(this);
- viewBinding.caseOptTypeLayout.setOnClickListener(this);
- viewBinding.casePersonLayout.setOnClickListener(this);
- viewBinding.commonTipsLayout.setOnClickListener(this);
- viewBinding.submitButton.setOnClickListener(this);
- }
-
- @Override
- public void onClick(View v) {
- int viewId = v.getId();
- if (viewId == R.id.locationMapView) {
- OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat());
- } else if (viewId == R.id.caseOptTypeLayout) {
- if (nodeDataBeans != null) {
+ viewBinding.caseOptTypeLayout.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
if (nodeDataBeans.size() >= 1) {
- QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this);
+ QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context);
sheetBuilder.setTitle("操作类型");
for (CaseNextNodeBean.DataBean dataBean : nodeDataBeans) {
sheetBuilder.addItem(dataBean.getNextOperation());
@@ -254,10 +237,29 @@
}).build().show();
}
}
- } else if (viewId == R.id.casePersonLayout) {
- if (personBeans != null) {
+ });
+ personViewModel.processPersonModel.observe(this, new Observer() {
+ @Override
+ public void onChanged(ProcessPersonBean resultBean) {
+ if (resultBean.getCode() == 200) {
+ personBeans = resultBean.getData();
+ if (personBeans.size() == 0) {
+ viewBinding.caseHandlePersonView.setText("无处置人员");
+ } else {
+ ProcessPersonBean.DataBean dataBean = personBeans.get(0);
+ taskUserId = dataBean.getId();
+ viewBinding.caseHandlePersonView.setText(dataBean.getName());//默认选择第一个
+ }
+ viewBinding.caseHandlePersonView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
+ }
+ }
+ });
+
+ viewBinding.casePersonLayout.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
if (personBeans.size() >= 1) {
- QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this);
+ QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context);
sheetBuilder.setTitle("处置人员");
for (ProcessPersonBean.DataBean dataBean : personBeans) {
sheetBuilder.addItem(dataBean.getName());
@@ -274,50 +276,71 @@
}).build().show();
}
}
- } else if (viewId == R.id.commonTipsLayout) {
- new QMUIBottomSheet.BottomListSheetBuilder(this)
- .setTitle("常见用语")
- .addItem("请及时处理")
- .addItem("调查后及时回复")
- .setGravityCenter(true)
- .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
- @Override
- public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
- dialog.dismiss();
- viewBinding.commonTipsView.setText(tag);
- viewBinding.commonTipsView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
+ });
- viewBinding.optionEditView.setText(tag);
- viewBinding.commonTipsView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
- }
- }).build().show();
- } else if (viewId == R.id.submitButton) {
- String optType = viewBinding.optTypeView.getText().toString();
- if (optType.equals("")) {
- EasyToast.show(this, "还未选择操作类型");
- return;
+ viewBinding.commonTipsLayout.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ new QMUIBottomSheet.BottomListSheetBuilder(context)
+ .setTitle("常见用语")
+ .addItem("请及时处理")
+ .addItem("调查后及时回复")
+ .setGravityCenter(true)
+ .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
+ @Override
+ public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
+ dialog.dismiss();
+ viewBinding.commonTipsView.setText(tag);
+ viewBinding.commonTipsView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
+ }
+ }).build().show();
}
- if (optType.equals("返回处理")) {
- //选择处理人员时,必选一个处置人员
- String handlePerson = viewBinding.caseHandlePersonView.getText().toString();
- if (handlePerson.equals("")) {
- EasyToast.show(this, "当前状态必须指定处置员");
+ });
+
+ viewBinding.submitButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ String optType = viewBinding.optTypeView.getText().toString();
+ if (optType.equals("")) {
+ EasyToast.show(context, "还未选择操作类型");
return;
}
+ if (optType.equals("返回处理")) {
+ //选择处理人员时,必选一个处置人员
+ String handlePerson = viewBinding.caseHandlePersonView.getText().toString();
+ if (handlePerson.equals("")) {
+ EasyToast.show(context, "当前状态必须指定处置员");
+ return;
+ }
+ }
+ String optionInput = StringHelper.filterString(viewBinding.commonTipsView.getText().toString());
+ if (TextUtils.isEmpty(optionInput)) {
+ EasyToast.show(context, "处理意见必须填写");
+ return;
+ }
+ //只有选择返回处理的时候taskUserId才会不为空,否则用当前流程人员的id代替
+ if (TextUtils.isEmpty(taskUserId)) {
+ taskUserId = data.getProcessPersonid();
+ }
+ operateViewModel.dispatcherHandleCase(data.getProcessId(), id,
+ String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
+ taskUserId);
}
- String optionInput = StringHelper.filterString(viewBinding.optionEditView.getText().toString());
- if (TextUtils.isEmpty(optionInput)) {
- EasyToast.show(this, "处理意见必须填写");
- return;
+ });
+ operateViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后...");
+ } else if (loadState == LoadState.Success) {
+ OtherUtils.dismissLoadingDialog();
+ finish();
+ } else {
+ EasyToast.show(context, "处理失败,请重试");
+ OtherUtils.dismissLoadingDialog();
+ }
}
- //只有选择返回处理的时候taskUserId才会不为空,否则用当前流程人员的id代替
- if (TextUtils.isEmpty(taskUserId)) {
- taskUserId = data.getProcessPersonid();
- }
-// caseViewModel.dispatcherHandleCase(data.getProcessId(), id,
-// String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
-// taskUserId);
- }
+ });
}
@Override
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 552f6c3..d6ee830 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -35,6 +35,10 @@
+
+
+
+
@@ -48,6 +52,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java b/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
index 6c4a6a6..1fafc8b 100644
--- a/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
+++ b/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
@@ -11,35 +11,35 @@
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
+import com.bumptech.glide.Glide;
import com.casic.dcms.R;
import com.casic.dcms.mvvm.model.DeptCaseBean;
import com.casic.dcms.utils.StringHelper;
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView;
import java.util.List;
-/**
- * {@link PackageCaseListAdapter 不适用二级派遣员部门处置列表,因为该列表不光有三包案卷,还有普通案卷}
- */
public class DeptTodoOrHandledAdapter extends RecyclerView.Adapter {
- private final List dataBeans;
+ private final Context context;
+ private final List dataBeans;
private final LayoutInflater layoutInflater;
private PunishTypeAdapter adapter;
- public DeptTodoOrHandledAdapter(Context context, List dataRows) {
+ public DeptTodoOrHandledAdapter(Context context, List dataRows) {
+ this.context = context;
this.dataBeans = dataRows;
layoutInflater = LayoutInflater.from(context);
}
@NonNull
@Override
- public DeptTodoOrHandledAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = layoutInflater.inflate(R.layout.item_case_rv, parent, false);
- return new ItemViewHolder(view);
+ 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 DeptTodoOrHandledAdapter.ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
holder.bindView(dataBeans.get(position));
if (clickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@@ -56,28 +56,30 @@
return dataBeans.size();
}
- static class ItemViewHolder extends RecyclerView.ViewHolder {
+ class ItemViewHolder extends RecyclerView.ViewHolder {
-// private final TextView leftTextView;
+ private final QMUIRadiusImageView caseImageView;
private final TextView caseTitleView;
private final TextView casePlaceView;
private final TextView caseTimeView;
ItemViewHolder(@NonNull View itemView) {
super(itemView);
-// leftTextView = itemView.findViewById(R.id.leftTextView);
+ caseImageView = itemView.findViewById(R.id.caseImageView);
caseTitleView = itemView.findViewById(R.id.caseTitleView);
casePlaceView = itemView.findViewById(R.id.casePlaceView);
caseTimeView = itemView.findViewById(R.id.caseTimeView);
}
- @SuppressLint("SetTextI18n")
- void bindView(DeptCaseBean.DataBean.RowsBean rowsBean) {
- String eorcName = rowsBean.getEorcName();
- if (TextUtils.isEmpty(eorcName)) {
- eorcName = "未知";
+ void bindView(DeptCaseBean.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);
+ }
}
-// 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/mvvm/model/DeptCaseBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/DeptCaseBean.java
index 1a4ac47..79163d8 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/model/DeptCaseBean.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/model/DeptCaseBean.java
@@ -8,7 +8,7 @@
public class DeptCaseBean {
private int code;
- private DataBean data;
+ private DataDTO data;
private String message;
private boolean success;
@@ -20,11 +20,11 @@
this.code = code;
}
- public DataBean getData() {
+ public DataDTO getData() {
return data;
}
- public void setData(DataBean data) {
+ public void setData(DataDTO data) {
this.data = data;
}
@@ -44,10 +44,17 @@
this.success = success;
}
- public static class DataBean {
-
+ public static class DataDTO {
+ private List rows;
private int total;
- private List rows;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
public int getTotal() {
return total;
@@ -57,26 +64,14 @@
this.total = total;
}
- public List getRows() {
- return rows;
- }
-
- public void setRows(List rows) {
- this.rows = rows;
- }
-
- public static class RowsBean {
-
+ public static class RowsDTO {
private int isPostpone;
- private int preState;
private String description;
private int source;
private String eorcName;
private String casetypeDetailName;
private String remainingTime;
private String casetypeName;
- private String currUserId;
- private String currUserName;
private String processId;
private int caseState;
private String id;
@@ -84,10 +79,10 @@
private String fieldintro;
private String lat;
private String caseStateName;
- private String preOperator;
private String lng;
private String isOvertime;
private String currRoleName;
+ private String fileIdVerify;
private String casetypeDetailCode;
private String onedeptid;
private String eorc;
@@ -95,8 +90,14 @@
private String caseid;
private String casetypeCode;
private String nodeLimittime;
+ private String taskName;
private String sourceName;
+ private String fileIdProcess;
private String reportTime;
+ private String currUserId;
+ private String currUserName;
+ private String currDeptId;
+ private String currDeptName;
private String onedeptName;
public int getIsPostpone() {
@@ -107,14 +108,6 @@
this.isPostpone = isPostpone;
}
- public int getPreState() {
- return preState;
- }
-
- public void setPreState(int preState) {
- this.preState = preState;
- }
-
public String getDescription() {
return description;
}
@@ -163,22 +156,6 @@
this.casetypeName = casetypeName;
}
- public String getCurrUserId() {
- return currUserId;
- }
-
- public void setCurrUserId(String currUserId) {
- this.currUserId = currUserId;
- }
-
- public String getCurrUserName() {
- return currUserName;
- }
-
- public void setCurrUserName(String currUserName) {
- this.currUserName = currUserName;
- }
-
public String getProcessId() {
return processId;
}
@@ -235,14 +212,6 @@
this.caseStateName = caseStateName;
}
- public String getPreOperator() {
- return preOperator;
- }
-
- public void setPreOperator(String preOperator) {
- this.preOperator = preOperator;
- }
-
public String getLng() {
return lng;
}
@@ -267,6 +236,14 @@
this.currRoleName = currRoleName;
}
+ public String getFileIdVerify() {
+ return fileIdVerify;
+ }
+
+ public void setFileIdVerify(String fileIdVerify) {
+ this.fileIdVerify = fileIdVerify;
+ }
+
public String getCasetypeDetailCode() {
return casetypeDetailCode;
}
@@ -323,6 +300,14 @@
this.nodeLimittime = nodeLimittime;
}
+ public String getTaskName() {
+ return taskName;
+ }
+
+ public void setTaskName(String taskName) {
+ this.taskName = taskName;
+ }
+
public String getSourceName() {
return sourceName;
}
@@ -331,6 +316,14 @@
this.sourceName = sourceName;
}
+ public String getFileIdProcess() {
+ return fileIdProcess;
+ }
+
+ public void setFileIdProcess(String fileIdProcess) {
+ this.fileIdProcess = fileIdProcess;
+ }
+
public String getReportTime() {
return reportTime;
}
@@ -339,6 +332,38 @@
this.reportTime = reportTime;
}
+ public String getCurrUserId() {
+ return currUserId;
+ }
+
+ public void setCurrUserId(String currUserId) {
+ this.currUserId = currUserId;
+ }
+
+ public String getCurrUserName() {
+ return currUserName;
+ }
+
+ public void setCurrUserName(String currUserName) {
+ this.currUserName = currUserName;
+ }
+
+ public String getCurrDeptId() {
+ return currDeptId;
+ }
+
+ public void setCurrDeptId(String currDeptId) {
+ this.currDeptId = currDeptId;
+ }
+
+ public String getCurrDeptName() {
+ return currDeptName;
+ }
+
+ public void setCurrDeptName(String currDeptName) {
+ this.currDeptName = currDeptName;
+ }
+
public String getOnedeptName() {
return onedeptName;
}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java
index de23222..9e72c93 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java
@@ -15,6 +15,7 @@
import com.casic.dcms.databinding.ActivityDeptAdjustBinding;
import com.casic.dcms.mvvm.model.CaseDetailBean;
import com.casic.dcms.mvvm.model.CaseNextNodeBean;
+import com.casic.dcms.mvvm.vm.CaseOperateViewModel;
import com.casic.dcms.mvvm.vm.CaseViewModel;
import com.casic.dcms.mvvm.vm.NodeViewModel;
import com.casic.dcms.utils.JzExoMedia;
@@ -40,6 +41,7 @@
private final Context context = this;
private CaseViewModel caseViewModel;
private NodeViewModel nodeViewModel;
+ private CaseOperateViewModel operateViewModel;
private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean();
private List nodeDataBeans;
private String id;
@@ -62,6 +64,7 @@
caseViewModel.obtainCaseDetail(id);
nodeViewModel = new ViewModelProvider(this).get(NodeViewModel.class);
+ operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class);
}
@Override
@@ -230,8 +233,6 @@
public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
dialog.dismiss();
viewBinding.commonTipsView.setText(tag);
-
- viewBinding.optionEditView.setText(tag);
}
}).build().show();
}
@@ -245,14 +246,28 @@
EasyToast.show(context, "还未选择操作类型");
return;
}
- String optionInput = StringHelper.filterString(viewBinding.optionEditView.getText().toString());
+ String optionInput = StringHelper.filterString(viewBinding.commonTipsView.getText().toString());
if (TextUtils.isEmpty(optionInput)) {
EasyToast.show(context, "不同意/同意的意见必须填写");
return;
}
-// caseViewModel.dispatcherHandleCase(data.getProcessId(), id,
-// String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
-// data.getProcessPersonid());
+ operateViewModel.dispatcherHandleCase(data.getProcessId(), id,
+ String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
+ data.getProcessPersonid());
+ }
+ });
+ operateViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后...");
+ } else if (loadState == LoadState.Success) {
+ OtherUtils.dismissLoadingDialog();
+ finish();
+ } else {
+ EasyToast.show(context, "处理失败,请重试");
+ OtherUtils.dismissLoadingDialog();
+ }
}
});
}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java
index 31fc6a0..f23fc0b 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java
@@ -16,6 +16,7 @@
import com.casic.dcms.mvvm.model.CaseDetailBean;
import com.casic.dcms.mvvm.model.CaseNextNodeBean;
import com.casic.dcms.mvvm.model.ProcessPersonBean;
+import com.casic.dcms.mvvm.vm.CaseOperateViewModel;
import com.casic.dcms.mvvm.vm.CaseViewModel;
import com.casic.dcms.mvvm.vm.NodeViewModel;
import com.casic.dcms.mvvm.vm.PersonViewModel;
@@ -26,6 +27,7 @@
import com.gyf.immersionbar.ImmersionBar;
import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter;
import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.utils.Constant;
import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
import com.pengxh.androidx.lite.vm.LoadState;
import com.pengxh.androidx.lite.widget.EasyToast;
@@ -36,13 +38,14 @@
import cn.jzvd.Jzvd;
-public class DeptAuthorizeDetailActivity extends AndroidxBaseActivity implements View.OnClickListener {
+public class DeptAuthorizeDetailActivity extends AndroidxBaseActivity {
private final Context context = this;
private CaseViewModel caseViewModel;
private NodeViewModel nodeViewModel;
- private List nodeDataBeans;
private PersonViewModel personViewModel;
+ private CaseOperateViewModel operateViewModel;
+ private List nodeDataBeans;
private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean();
private List personBeans;
private String id;
@@ -61,12 +64,13 @@
@Override
public void initData() {
- id = getIntent().getStringExtra("id");
+ id = getIntent().getStringExtra(Constant.INTENT_PARAM);
caseViewModel = new ViewModelProvider(this).get(CaseViewModel.class);
caseViewModel.obtainCaseDetail(id);
nodeViewModel = new ViewModelProvider(this).get(NodeViewModel.class);
personViewModel = new ViewModelProvider(this).get(PersonViewModel.class);
+ operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class);
}
@Override
@@ -192,39 +196,18 @@
}
});
- personViewModel.processPersonModel.observe(this, new Observer() {
+ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() {
@Override
- public void onChanged(ProcessPersonBean resultBean) {
- if (resultBean.getCode() == 200) {
- personBeans = resultBean.getData();
- if (personBeans.size() == 0) {
- viewBinding.caseHandlePersonView.setText("无处置人员");
- } else {
- ProcessPersonBean.DataBean dataBean = personBeans.get(0);
- taskUserId = dataBean.getId();
- viewBinding.caseHandlePersonView.setText(dataBean.getName());//默认选择第一个
- }
- viewBinding.caseHandlePersonView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
- }
+ public void onClick(View v) {
+ OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat());
}
});
- viewBinding.locationMapView.setOnClickListener(this);
- viewBinding.caseOptTypeLayout.setOnClickListener(this);
- viewBinding.casePersonLayout.setOnClickListener(this);
- viewBinding.commonTipsLayout.setOnClickListener(this);
- viewBinding.submitButton.setOnClickListener(this);
- }
-
- @Override
- public void onClick(View v) {
- int viewId = v.getId();
- if (viewId == R.id.locationMapView) {
- OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat());
- } else if (viewId == R.id.caseOptTypeLayout) {
- if (nodeDataBeans != null) {
+ viewBinding.caseOptTypeLayout.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
if (nodeDataBeans.size() >= 1) {
- QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this);
+ QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context);
sheetBuilder.setTitle("操作类型");
for (CaseNextNodeBean.DataBean dataBean : nodeDataBeans) {
sheetBuilder.addItem(dataBean.getNextOperation());
@@ -254,10 +237,29 @@
}).build().show();
}
}
- } else if (viewId == R.id.casePersonLayout) {
- if (personBeans != null) {
+ });
+ personViewModel.processPersonModel.observe(this, new Observer() {
+ @Override
+ public void onChanged(ProcessPersonBean resultBean) {
+ if (resultBean.getCode() == 200) {
+ personBeans = resultBean.getData();
+ if (personBeans.size() == 0) {
+ viewBinding.caseHandlePersonView.setText("无处置人员");
+ } else {
+ ProcessPersonBean.DataBean dataBean = personBeans.get(0);
+ taskUserId = dataBean.getId();
+ viewBinding.caseHandlePersonView.setText(dataBean.getName());//默认选择第一个
+ }
+ viewBinding.caseHandlePersonView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
+ }
+ }
+ });
+
+ viewBinding.casePersonLayout.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
if (personBeans.size() >= 1) {
- QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this);
+ QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context);
sheetBuilder.setTitle("处置人员");
for (ProcessPersonBean.DataBean dataBean : personBeans) {
sheetBuilder.addItem(dataBean.getName());
@@ -274,50 +276,71 @@
}).build().show();
}
}
- } else if (viewId == R.id.commonTipsLayout) {
- new QMUIBottomSheet.BottomListSheetBuilder(this)
- .setTitle("常见用语")
- .addItem("请及时处理")
- .addItem("调查后及时回复")
- .setGravityCenter(true)
- .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
- @Override
- public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
- dialog.dismiss();
- viewBinding.commonTipsView.setText(tag);
- viewBinding.commonTipsView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
+ });
- viewBinding.optionEditView.setText(tag);
- viewBinding.commonTipsView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
- }
- }).build().show();
- } else if (viewId == R.id.submitButton) {
- String optType = viewBinding.optTypeView.getText().toString();
- if (optType.equals("")) {
- EasyToast.show(this, "还未选择操作类型");
- return;
+ viewBinding.commonTipsLayout.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ new QMUIBottomSheet.BottomListSheetBuilder(context)
+ .setTitle("常见用语")
+ .addItem("请及时处理")
+ .addItem("调查后及时回复")
+ .setGravityCenter(true)
+ .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
+ @Override
+ public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
+ dialog.dismiss();
+ viewBinding.commonTipsView.setText(tag);
+ viewBinding.commonTipsView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
+ }
+ }).build().show();
}
- if (optType.equals("返回处理")) {
- //选择处理人员时,必选一个处置人员
- String handlePerson = viewBinding.caseHandlePersonView.getText().toString();
- if (handlePerson.equals("")) {
- EasyToast.show(this, "当前状态必须指定处置员");
+ });
+
+ viewBinding.submitButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ String optType = viewBinding.optTypeView.getText().toString();
+ if (optType.equals("")) {
+ EasyToast.show(context, "还未选择操作类型");
return;
}
+ if (optType.equals("返回处理")) {
+ //选择处理人员时,必选一个处置人员
+ String handlePerson = viewBinding.caseHandlePersonView.getText().toString();
+ if (handlePerson.equals("")) {
+ EasyToast.show(context, "当前状态必须指定处置员");
+ return;
+ }
+ }
+ String optionInput = StringHelper.filterString(viewBinding.commonTipsView.getText().toString());
+ if (TextUtils.isEmpty(optionInput)) {
+ EasyToast.show(context, "处理意见必须填写");
+ return;
+ }
+ //只有选择返回处理的时候taskUserId才会不为空,否则用当前流程人员的id代替
+ if (TextUtils.isEmpty(taskUserId)) {
+ taskUserId = data.getProcessPersonid();
+ }
+ operateViewModel.dispatcherHandleCase(data.getProcessId(), id,
+ String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
+ taskUserId);
}
- String optionInput = StringHelper.filterString(viewBinding.optionEditView.getText().toString());
- if (TextUtils.isEmpty(optionInput)) {
- EasyToast.show(this, "处理意见必须填写");
- return;
+ });
+ operateViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后...");
+ } else if (loadState == LoadState.Success) {
+ OtherUtils.dismissLoadingDialog();
+ finish();
+ } else {
+ EasyToast.show(context, "处理失败,请重试");
+ OtherUtils.dismissLoadingDialog();
+ }
}
- //只有选择返回处理的时候taskUserId才会不为空,否则用当前流程人员的id代替
- if (TextUtils.isEmpty(taskUserId)) {
- taskUserId = data.getProcessPersonid();
- }
-// caseViewModel.dispatcherHandleCase(data.getProcessId(), id,
-// String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
-// taskUserId);
- }
+ });
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptHandleActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptHandleActivity.java
index 694bbd5..ca49b3d 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptHandleActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptHandleActivity.java
@@ -18,6 +18,7 @@
import com.casic.dcms.utils.LocaleConstant;
import com.gyf.immersionbar.ImmersionBar;
import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.utils.DeviceSizeUtil;
import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
import java.util.ArrayList;
@@ -49,8 +50,9 @@
//绑定TabLayout
viewBinding.tabLayout.setupWithViewPager(viewBinding.viewPager);
LinearLayout linearLayout = (LinearLayout) viewBinding.tabLayout.getChildAt(0);
- linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical));
+ linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
+ linearLayout.setDividerPadding(DeviceSizeUtil.dp2px(this, 12.5f));
}
@Override
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 552f6c3..d6ee830 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -35,6 +35,10 @@
+
+
+
+
@@ -48,6 +52,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java b/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
index 6c4a6a6..1fafc8b 100644
--- a/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
+++ b/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
@@ -11,35 +11,35 @@
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
+import com.bumptech.glide.Glide;
import com.casic.dcms.R;
import com.casic.dcms.mvvm.model.DeptCaseBean;
import com.casic.dcms.utils.StringHelper;
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView;
import java.util.List;
-/**
- * {@link PackageCaseListAdapter 不适用二级派遣员部门处置列表,因为该列表不光有三包案卷,还有普通案卷}
- */
public class DeptTodoOrHandledAdapter extends RecyclerView.Adapter {
- private final List dataBeans;
+ private final Context context;
+ private final List dataBeans;
private final LayoutInflater layoutInflater;
private PunishTypeAdapter adapter;
- public DeptTodoOrHandledAdapter(Context context, List dataRows) {
+ public DeptTodoOrHandledAdapter(Context context, List dataRows) {
+ this.context = context;
this.dataBeans = dataRows;
layoutInflater = LayoutInflater.from(context);
}
@NonNull
@Override
- public DeptTodoOrHandledAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = layoutInflater.inflate(R.layout.item_case_rv, parent, false);
- return new ItemViewHolder(view);
+ 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 DeptTodoOrHandledAdapter.ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
holder.bindView(dataBeans.get(position));
if (clickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@@ -56,28 +56,30 @@
return dataBeans.size();
}
- static class ItemViewHolder extends RecyclerView.ViewHolder {
+ class ItemViewHolder extends RecyclerView.ViewHolder {
-// private final TextView leftTextView;
+ private final QMUIRadiusImageView caseImageView;
private final TextView caseTitleView;
private final TextView casePlaceView;
private final TextView caseTimeView;
ItemViewHolder(@NonNull View itemView) {
super(itemView);
-// leftTextView = itemView.findViewById(R.id.leftTextView);
+ caseImageView = itemView.findViewById(R.id.caseImageView);
caseTitleView = itemView.findViewById(R.id.caseTitleView);
casePlaceView = itemView.findViewById(R.id.casePlaceView);
caseTimeView = itemView.findViewById(R.id.caseTimeView);
}
- @SuppressLint("SetTextI18n")
- void bindView(DeptCaseBean.DataBean.RowsBean rowsBean) {
- String eorcName = rowsBean.getEorcName();
- if (TextUtils.isEmpty(eorcName)) {
- eorcName = "未知";
+ void bindView(DeptCaseBean.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);
+ }
}
-// 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/mvvm/model/DeptCaseBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/DeptCaseBean.java
index 1a4ac47..79163d8 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/model/DeptCaseBean.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/model/DeptCaseBean.java
@@ -8,7 +8,7 @@
public class DeptCaseBean {
private int code;
- private DataBean data;
+ private DataDTO data;
private String message;
private boolean success;
@@ -20,11 +20,11 @@
this.code = code;
}
- public DataBean getData() {
+ public DataDTO getData() {
return data;
}
- public void setData(DataBean data) {
+ public void setData(DataDTO data) {
this.data = data;
}
@@ -44,10 +44,17 @@
this.success = success;
}
- public static class DataBean {
-
+ public static class DataDTO {
+ private List rows;
private int total;
- private List rows;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
public int getTotal() {
return total;
@@ -57,26 +64,14 @@
this.total = total;
}
- public List getRows() {
- return rows;
- }
-
- public void setRows(List rows) {
- this.rows = rows;
- }
-
- public static class RowsBean {
-
+ public static class RowsDTO {
private int isPostpone;
- private int preState;
private String description;
private int source;
private String eorcName;
private String casetypeDetailName;
private String remainingTime;
private String casetypeName;
- private String currUserId;
- private String currUserName;
private String processId;
private int caseState;
private String id;
@@ -84,10 +79,10 @@
private String fieldintro;
private String lat;
private String caseStateName;
- private String preOperator;
private String lng;
private String isOvertime;
private String currRoleName;
+ private String fileIdVerify;
private String casetypeDetailCode;
private String onedeptid;
private String eorc;
@@ -95,8 +90,14 @@
private String caseid;
private String casetypeCode;
private String nodeLimittime;
+ private String taskName;
private String sourceName;
+ private String fileIdProcess;
private String reportTime;
+ private String currUserId;
+ private String currUserName;
+ private String currDeptId;
+ private String currDeptName;
private String onedeptName;
public int getIsPostpone() {
@@ -107,14 +108,6 @@
this.isPostpone = isPostpone;
}
- public int getPreState() {
- return preState;
- }
-
- public void setPreState(int preState) {
- this.preState = preState;
- }
-
public String getDescription() {
return description;
}
@@ -163,22 +156,6 @@
this.casetypeName = casetypeName;
}
- public String getCurrUserId() {
- return currUserId;
- }
-
- public void setCurrUserId(String currUserId) {
- this.currUserId = currUserId;
- }
-
- public String getCurrUserName() {
- return currUserName;
- }
-
- public void setCurrUserName(String currUserName) {
- this.currUserName = currUserName;
- }
-
public String getProcessId() {
return processId;
}
@@ -235,14 +212,6 @@
this.caseStateName = caseStateName;
}
- public String getPreOperator() {
- return preOperator;
- }
-
- public void setPreOperator(String preOperator) {
- this.preOperator = preOperator;
- }
-
public String getLng() {
return lng;
}
@@ -267,6 +236,14 @@
this.currRoleName = currRoleName;
}
+ public String getFileIdVerify() {
+ return fileIdVerify;
+ }
+
+ public void setFileIdVerify(String fileIdVerify) {
+ this.fileIdVerify = fileIdVerify;
+ }
+
public String getCasetypeDetailCode() {
return casetypeDetailCode;
}
@@ -323,6 +300,14 @@
this.nodeLimittime = nodeLimittime;
}
+ public String getTaskName() {
+ return taskName;
+ }
+
+ public void setTaskName(String taskName) {
+ this.taskName = taskName;
+ }
+
public String getSourceName() {
return sourceName;
}
@@ -331,6 +316,14 @@
this.sourceName = sourceName;
}
+ public String getFileIdProcess() {
+ return fileIdProcess;
+ }
+
+ public void setFileIdProcess(String fileIdProcess) {
+ this.fileIdProcess = fileIdProcess;
+ }
+
public String getReportTime() {
return reportTime;
}
@@ -339,6 +332,38 @@
this.reportTime = reportTime;
}
+ public String getCurrUserId() {
+ return currUserId;
+ }
+
+ public void setCurrUserId(String currUserId) {
+ this.currUserId = currUserId;
+ }
+
+ public String getCurrUserName() {
+ return currUserName;
+ }
+
+ public void setCurrUserName(String currUserName) {
+ this.currUserName = currUserName;
+ }
+
+ public String getCurrDeptId() {
+ return currDeptId;
+ }
+
+ public void setCurrDeptId(String currDeptId) {
+ this.currDeptId = currDeptId;
+ }
+
+ public String getCurrDeptName() {
+ return currDeptName;
+ }
+
+ public void setCurrDeptName(String currDeptName) {
+ this.currDeptName = currDeptName;
+ }
+
public String getOnedeptName() {
return onedeptName;
}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java
index de23222..9e72c93 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java
@@ -15,6 +15,7 @@
import com.casic.dcms.databinding.ActivityDeptAdjustBinding;
import com.casic.dcms.mvvm.model.CaseDetailBean;
import com.casic.dcms.mvvm.model.CaseNextNodeBean;
+import com.casic.dcms.mvvm.vm.CaseOperateViewModel;
import com.casic.dcms.mvvm.vm.CaseViewModel;
import com.casic.dcms.mvvm.vm.NodeViewModel;
import com.casic.dcms.utils.JzExoMedia;
@@ -40,6 +41,7 @@
private final Context context = this;
private CaseViewModel caseViewModel;
private NodeViewModel nodeViewModel;
+ private CaseOperateViewModel operateViewModel;
private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean();
private List nodeDataBeans;
private String id;
@@ -62,6 +64,7 @@
caseViewModel.obtainCaseDetail(id);
nodeViewModel = new ViewModelProvider(this).get(NodeViewModel.class);
+ operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class);
}
@Override
@@ -230,8 +233,6 @@
public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
dialog.dismiss();
viewBinding.commonTipsView.setText(tag);
-
- viewBinding.optionEditView.setText(tag);
}
}).build().show();
}
@@ -245,14 +246,28 @@
EasyToast.show(context, "还未选择操作类型");
return;
}
- String optionInput = StringHelper.filterString(viewBinding.optionEditView.getText().toString());
+ String optionInput = StringHelper.filterString(viewBinding.commonTipsView.getText().toString());
if (TextUtils.isEmpty(optionInput)) {
EasyToast.show(context, "不同意/同意的意见必须填写");
return;
}
-// caseViewModel.dispatcherHandleCase(data.getProcessId(), id,
-// String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
-// data.getProcessPersonid());
+ operateViewModel.dispatcherHandleCase(data.getProcessId(), id,
+ String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
+ data.getProcessPersonid());
+ }
+ });
+ operateViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后...");
+ } else if (loadState == LoadState.Success) {
+ OtherUtils.dismissLoadingDialog();
+ finish();
+ } else {
+ EasyToast.show(context, "处理失败,请重试");
+ OtherUtils.dismissLoadingDialog();
+ }
}
});
}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java
index 31fc6a0..f23fc0b 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java
@@ -16,6 +16,7 @@
import com.casic.dcms.mvvm.model.CaseDetailBean;
import com.casic.dcms.mvvm.model.CaseNextNodeBean;
import com.casic.dcms.mvvm.model.ProcessPersonBean;
+import com.casic.dcms.mvvm.vm.CaseOperateViewModel;
import com.casic.dcms.mvvm.vm.CaseViewModel;
import com.casic.dcms.mvvm.vm.NodeViewModel;
import com.casic.dcms.mvvm.vm.PersonViewModel;
@@ -26,6 +27,7 @@
import com.gyf.immersionbar.ImmersionBar;
import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter;
import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.utils.Constant;
import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
import com.pengxh.androidx.lite.vm.LoadState;
import com.pengxh.androidx.lite.widget.EasyToast;
@@ -36,13 +38,14 @@
import cn.jzvd.Jzvd;
-public class DeptAuthorizeDetailActivity extends AndroidxBaseActivity implements View.OnClickListener {
+public class DeptAuthorizeDetailActivity extends AndroidxBaseActivity {
private final Context context = this;
private CaseViewModel caseViewModel;
private NodeViewModel nodeViewModel;
- private List nodeDataBeans;
private PersonViewModel personViewModel;
+ private CaseOperateViewModel operateViewModel;
+ private List nodeDataBeans;
private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean();
private List personBeans;
private String id;
@@ -61,12 +64,13 @@
@Override
public void initData() {
- id = getIntent().getStringExtra("id");
+ id = getIntent().getStringExtra(Constant.INTENT_PARAM);
caseViewModel = new ViewModelProvider(this).get(CaseViewModel.class);
caseViewModel.obtainCaseDetail(id);
nodeViewModel = new ViewModelProvider(this).get(NodeViewModel.class);
personViewModel = new ViewModelProvider(this).get(PersonViewModel.class);
+ operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class);
}
@Override
@@ -192,39 +196,18 @@
}
});
- personViewModel.processPersonModel.observe(this, new Observer() {
+ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() {
@Override
- public void onChanged(ProcessPersonBean resultBean) {
- if (resultBean.getCode() == 200) {
- personBeans = resultBean.getData();
- if (personBeans.size() == 0) {
- viewBinding.caseHandlePersonView.setText("无处置人员");
- } else {
- ProcessPersonBean.DataBean dataBean = personBeans.get(0);
- taskUserId = dataBean.getId();
- viewBinding.caseHandlePersonView.setText(dataBean.getName());//默认选择第一个
- }
- viewBinding.caseHandlePersonView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
- }
+ public void onClick(View v) {
+ OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat());
}
});
- viewBinding.locationMapView.setOnClickListener(this);
- viewBinding.caseOptTypeLayout.setOnClickListener(this);
- viewBinding.casePersonLayout.setOnClickListener(this);
- viewBinding.commonTipsLayout.setOnClickListener(this);
- viewBinding.submitButton.setOnClickListener(this);
- }
-
- @Override
- public void onClick(View v) {
- int viewId = v.getId();
- if (viewId == R.id.locationMapView) {
- OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat());
- } else if (viewId == R.id.caseOptTypeLayout) {
- if (nodeDataBeans != null) {
+ viewBinding.caseOptTypeLayout.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
if (nodeDataBeans.size() >= 1) {
- QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this);
+ QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context);
sheetBuilder.setTitle("操作类型");
for (CaseNextNodeBean.DataBean dataBean : nodeDataBeans) {
sheetBuilder.addItem(dataBean.getNextOperation());
@@ -254,10 +237,29 @@
}).build().show();
}
}
- } else if (viewId == R.id.casePersonLayout) {
- if (personBeans != null) {
+ });
+ personViewModel.processPersonModel.observe(this, new Observer() {
+ @Override
+ public void onChanged(ProcessPersonBean resultBean) {
+ if (resultBean.getCode() == 200) {
+ personBeans = resultBean.getData();
+ if (personBeans.size() == 0) {
+ viewBinding.caseHandlePersonView.setText("无处置人员");
+ } else {
+ ProcessPersonBean.DataBean dataBean = personBeans.get(0);
+ taskUserId = dataBean.getId();
+ viewBinding.caseHandlePersonView.setText(dataBean.getName());//默认选择第一个
+ }
+ viewBinding.caseHandlePersonView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
+ }
+ }
+ });
+
+ viewBinding.casePersonLayout.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
if (personBeans.size() >= 1) {
- QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this);
+ QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context);
sheetBuilder.setTitle("处置人员");
for (ProcessPersonBean.DataBean dataBean : personBeans) {
sheetBuilder.addItem(dataBean.getName());
@@ -274,50 +276,71 @@
}).build().show();
}
}
- } else if (viewId == R.id.commonTipsLayout) {
- new QMUIBottomSheet.BottomListSheetBuilder(this)
- .setTitle("常见用语")
- .addItem("请及时处理")
- .addItem("调查后及时回复")
- .setGravityCenter(true)
- .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
- @Override
- public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
- dialog.dismiss();
- viewBinding.commonTipsView.setText(tag);
- viewBinding.commonTipsView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
+ });
- viewBinding.optionEditView.setText(tag);
- viewBinding.commonTipsView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
- }
- }).build().show();
- } else if (viewId == R.id.submitButton) {
- String optType = viewBinding.optTypeView.getText().toString();
- if (optType.equals("")) {
- EasyToast.show(this, "还未选择操作类型");
- return;
+ viewBinding.commonTipsLayout.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ new QMUIBottomSheet.BottomListSheetBuilder(context)
+ .setTitle("常见用语")
+ .addItem("请及时处理")
+ .addItem("调查后及时回复")
+ .setGravityCenter(true)
+ .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
+ @Override
+ public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
+ dialog.dismiss();
+ viewBinding.commonTipsView.setText(tag);
+ viewBinding.commonTipsView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
+ }
+ }).build().show();
}
- if (optType.equals("返回处理")) {
- //选择处理人员时,必选一个处置人员
- String handlePerson = viewBinding.caseHandlePersonView.getText().toString();
- if (handlePerson.equals("")) {
- EasyToast.show(this, "当前状态必须指定处置员");
+ });
+
+ viewBinding.submitButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ String optType = viewBinding.optTypeView.getText().toString();
+ if (optType.equals("")) {
+ EasyToast.show(context, "还未选择操作类型");
return;
}
+ if (optType.equals("返回处理")) {
+ //选择处理人员时,必选一个处置人员
+ String handlePerson = viewBinding.caseHandlePersonView.getText().toString();
+ if (handlePerson.equals("")) {
+ EasyToast.show(context, "当前状态必须指定处置员");
+ return;
+ }
+ }
+ String optionInput = StringHelper.filterString(viewBinding.commonTipsView.getText().toString());
+ if (TextUtils.isEmpty(optionInput)) {
+ EasyToast.show(context, "处理意见必须填写");
+ return;
+ }
+ //只有选择返回处理的时候taskUserId才会不为空,否则用当前流程人员的id代替
+ if (TextUtils.isEmpty(taskUserId)) {
+ taskUserId = data.getProcessPersonid();
+ }
+ operateViewModel.dispatcherHandleCase(data.getProcessId(), id,
+ String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
+ taskUserId);
}
- String optionInput = StringHelper.filterString(viewBinding.optionEditView.getText().toString());
- if (TextUtils.isEmpty(optionInput)) {
- EasyToast.show(this, "处理意见必须填写");
- return;
+ });
+ operateViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后...");
+ } else if (loadState == LoadState.Success) {
+ OtherUtils.dismissLoadingDialog();
+ finish();
+ } else {
+ EasyToast.show(context, "处理失败,请重试");
+ OtherUtils.dismissLoadingDialog();
+ }
}
- //只有选择返回处理的时候taskUserId才会不为空,否则用当前流程人员的id代替
- if (TextUtils.isEmpty(taskUserId)) {
- taskUserId = data.getProcessPersonid();
- }
-// caseViewModel.dispatcherHandleCase(data.getProcessId(), id,
-// String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
-// taskUserId);
- }
+ });
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptHandleActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptHandleActivity.java
index 694bbd5..ca49b3d 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptHandleActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptHandleActivity.java
@@ -18,6 +18,7 @@
import com.casic.dcms.utils.LocaleConstant;
import com.gyf.immersionbar.ImmersionBar;
import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.utils.DeviceSizeUtil;
import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
import java.util.ArrayList;
@@ -49,8 +50,9 @@
//绑定TabLayout
viewBinding.tabLayout.setupWithViewPager(viewBinding.viewPager);
LinearLayout linearLayout = (LinearLayout) viewBinding.tabLayout.getChildAt(0);
- linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical));
+ linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
+ linearLayout.setDividerPadding(DeviceSizeUtil.dp2px(this, 12.5f));
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java
index b8b9c59..9686049 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java
@@ -17,9 +17,9 @@
import com.casic.dcms.mvvm.model.CaseDetailBean;
import com.casic.dcms.mvvm.model.CaseNextNodeBean;
import com.casic.dcms.mvvm.model.ProcessPersonBean;
+import com.casic.dcms.mvvm.vm.CaseOperateViewModel;
import com.casic.dcms.mvvm.vm.CaseViewModel;
import com.casic.dcms.mvvm.vm.NodeViewModel;
-import com.casic.dcms.mvvm.vm.PersonViewModel;
import com.casic.dcms.utils.JzExoMedia;
import com.casic.dcms.utils.OtherUtils;
import com.casic.dcms.utils.StringHelper;
@@ -40,7 +40,7 @@
private final Context context = this;
private CaseViewModel caseViewModel;
private NodeViewModel nodeViewModel;
- private PersonViewModel personViewModel;
+ private CaseOperateViewModel operateViewModel;
private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean();
private List personBeans;
private String id;
@@ -66,7 +66,7 @@
caseViewModel.obtainCaseDetail(id);
nodeViewModel = new ViewModelProvider(this).get(NodeViewModel.class);
- personViewModel = new ViewModelProvider(this).get(PersonViewModel.class);
+ operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class);
}
@Override
@@ -216,60 +216,12 @@
CaseNextNodeBean.DataBean nodeBean = nodeDataBeans.get(position);
changeState = String.valueOf(nodeBean.getNextState());
operationKey = nodeBean.getOperationKey();
-
- if (tag.equals("返回处理") || tag.equals("处置人员")) {
- viewBinding.casePersonLayout.setVisibility(View.VISIBLE);
- viewBinding.personLine.setVisibility(View.VISIBLE);
-
- //获取下级处置人员名单
- personViewModel.obtainSubordinatePerson();
- } else {
- viewBinding.casePersonLayout.setVisibility(View.GONE);
- viewBinding.personLine.setVisibility(View.GONE);
- }
}
}).build().show();
}
}
});
- viewBinding.casePersonLayout.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (personBeans.size() >= 1) {
- QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context);
- sheetBuilder.setTitle("处置人员");
- for (ProcessPersonBean.DataBean dataBean : personBeans) {
- sheetBuilder.addItem(dataBean.getName());
- }
- sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
- @Override
- public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
- dialog.dismiss();
- viewBinding.caseHandlePersonView.setText(tag);
-
- taskUserId = personBeans.get(position).getId();
- }
- }).build().show();
- }
- }
- });
- personViewModel.processPersonModel.observe(this, new Observer() {
- @Override
- public void onChanged(ProcessPersonBean resultBean) {
- if (resultBean.isSuccess()) {
- personBeans = resultBean.getData();
- if (personBeans.size() == 0) {
- viewBinding.caseHandlePersonView.setText("无处置人员");
- } else {
- ProcessPersonBean.DataBean dataBean = personBeans.get(0);
- taskUserId = dataBean.getId();
- viewBinding.caseHandlePersonView.setText(dataBean.getName());//默认选择第一个
- }
- }
- }
- });
-
viewBinding.commonTipsLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -283,8 +235,6 @@
public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
dialog.dismiss();
viewBinding.commonTipsView.setText(tag);
-
- viewBinding.optionEditView.setText(tag);
}
}).build().show();
}
@@ -298,21 +248,27 @@
EasyToast.show(context, "还未选择操作类型");
return;
}
- if (optType.equals("处置人员") || optType.equals("返回处理")) {
- //选择处理人员时,必选一个处置人员
- String handlePerson = viewBinding.caseHandlePersonView.getText().toString();
- if (handlePerson.equals("")) {
- EasyToast.show(context, "当前状态必须指定处置员");
- return;
- }
- }
- String optionInput = StringHelper.filterString(viewBinding.optionEditView.getText().toString());
+ String optionInput = StringHelper.filterString(viewBinding.commonTipsView.getText().toString());
if (TextUtils.isEmpty(optionInput)) {
EasyToast.show(context, "处理意见必须填写");
return;
}
-// caseViewModel.dispatcherHandleCase(data.getProcessId(), id,
-// String.valueOf(data.getCaseState()), changeState, optionInput, operationKey, taskUserId);
+ operateViewModel.dispatcherHandleCase(data.getProcessId(), id,
+ String.valueOf(data.getCaseState()), changeState, optionInput, operationKey, taskUserId);
+ }
+ });
+ operateViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后...");
+ } else if (loadState == LoadState.Success) {
+ OtherUtils.dismissLoadingDialog();
+ finish();
+ } else {
+ EasyToast.show(context, "处理失败,请重试");
+ OtherUtils.dismissLoadingDialog();
+ }
}
});
}
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 552f6c3..d6ee830 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -35,6 +35,10 @@
+
+
+
+
@@ -48,6 +52,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java b/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
index 6c4a6a6..1fafc8b 100644
--- a/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
+++ b/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
@@ -11,35 +11,35 @@
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
+import com.bumptech.glide.Glide;
import com.casic.dcms.R;
import com.casic.dcms.mvvm.model.DeptCaseBean;
import com.casic.dcms.utils.StringHelper;
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView;
import java.util.List;
-/**
- * {@link PackageCaseListAdapter 不适用二级派遣员部门处置列表,因为该列表不光有三包案卷,还有普通案卷}
- */
public class DeptTodoOrHandledAdapter extends RecyclerView.Adapter {
- private final List dataBeans;
+ private final Context context;
+ private final List dataBeans;
private final LayoutInflater layoutInflater;
private PunishTypeAdapter adapter;
- public DeptTodoOrHandledAdapter(Context context, List dataRows) {
+ public DeptTodoOrHandledAdapter(Context context, List dataRows) {
+ this.context = context;
this.dataBeans = dataRows;
layoutInflater = LayoutInflater.from(context);
}
@NonNull
@Override
- public DeptTodoOrHandledAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = layoutInflater.inflate(R.layout.item_case_rv, parent, false);
- return new ItemViewHolder(view);
+ 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 DeptTodoOrHandledAdapter.ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
holder.bindView(dataBeans.get(position));
if (clickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@@ -56,28 +56,30 @@
return dataBeans.size();
}
- static class ItemViewHolder extends RecyclerView.ViewHolder {
+ class ItemViewHolder extends RecyclerView.ViewHolder {
-// private final TextView leftTextView;
+ private final QMUIRadiusImageView caseImageView;
private final TextView caseTitleView;
private final TextView casePlaceView;
private final TextView caseTimeView;
ItemViewHolder(@NonNull View itemView) {
super(itemView);
-// leftTextView = itemView.findViewById(R.id.leftTextView);
+ caseImageView = itemView.findViewById(R.id.caseImageView);
caseTitleView = itemView.findViewById(R.id.caseTitleView);
casePlaceView = itemView.findViewById(R.id.casePlaceView);
caseTimeView = itemView.findViewById(R.id.caseTimeView);
}
- @SuppressLint("SetTextI18n")
- void bindView(DeptCaseBean.DataBean.RowsBean rowsBean) {
- String eorcName = rowsBean.getEorcName();
- if (TextUtils.isEmpty(eorcName)) {
- eorcName = "未知";
+ void bindView(DeptCaseBean.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);
+ }
}
-// 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/mvvm/model/DeptCaseBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/DeptCaseBean.java
index 1a4ac47..79163d8 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/model/DeptCaseBean.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/model/DeptCaseBean.java
@@ -8,7 +8,7 @@
public class DeptCaseBean {
private int code;
- private DataBean data;
+ private DataDTO data;
private String message;
private boolean success;
@@ -20,11 +20,11 @@
this.code = code;
}
- public DataBean getData() {
+ public DataDTO getData() {
return data;
}
- public void setData(DataBean data) {
+ public void setData(DataDTO data) {
this.data = data;
}
@@ -44,10 +44,17 @@
this.success = success;
}
- public static class DataBean {
-
+ public static class DataDTO {
+ private List rows;
private int total;
- private List rows;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
public int getTotal() {
return total;
@@ -57,26 +64,14 @@
this.total = total;
}
- public List getRows() {
- return rows;
- }
-
- public void setRows(List rows) {
- this.rows = rows;
- }
-
- public static class RowsBean {
-
+ public static class RowsDTO {
private int isPostpone;
- private int preState;
private String description;
private int source;
private String eorcName;
private String casetypeDetailName;
private String remainingTime;
private String casetypeName;
- private String currUserId;
- private String currUserName;
private String processId;
private int caseState;
private String id;
@@ -84,10 +79,10 @@
private String fieldintro;
private String lat;
private String caseStateName;
- private String preOperator;
private String lng;
private String isOvertime;
private String currRoleName;
+ private String fileIdVerify;
private String casetypeDetailCode;
private String onedeptid;
private String eorc;
@@ -95,8 +90,14 @@
private String caseid;
private String casetypeCode;
private String nodeLimittime;
+ private String taskName;
private String sourceName;
+ private String fileIdProcess;
private String reportTime;
+ private String currUserId;
+ private String currUserName;
+ private String currDeptId;
+ private String currDeptName;
private String onedeptName;
public int getIsPostpone() {
@@ -107,14 +108,6 @@
this.isPostpone = isPostpone;
}
- public int getPreState() {
- return preState;
- }
-
- public void setPreState(int preState) {
- this.preState = preState;
- }
-
public String getDescription() {
return description;
}
@@ -163,22 +156,6 @@
this.casetypeName = casetypeName;
}
- public String getCurrUserId() {
- return currUserId;
- }
-
- public void setCurrUserId(String currUserId) {
- this.currUserId = currUserId;
- }
-
- public String getCurrUserName() {
- return currUserName;
- }
-
- public void setCurrUserName(String currUserName) {
- this.currUserName = currUserName;
- }
-
public String getProcessId() {
return processId;
}
@@ -235,14 +212,6 @@
this.caseStateName = caseStateName;
}
- public String getPreOperator() {
- return preOperator;
- }
-
- public void setPreOperator(String preOperator) {
- this.preOperator = preOperator;
- }
-
public String getLng() {
return lng;
}
@@ -267,6 +236,14 @@
this.currRoleName = currRoleName;
}
+ public String getFileIdVerify() {
+ return fileIdVerify;
+ }
+
+ public void setFileIdVerify(String fileIdVerify) {
+ this.fileIdVerify = fileIdVerify;
+ }
+
public String getCasetypeDetailCode() {
return casetypeDetailCode;
}
@@ -323,6 +300,14 @@
this.nodeLimittime = nodeLimittime;
}
+ public String getTaskName() {
+ return taskName;
+ }
+
+ public void setTaskName(String taskName) {
+ this.taskName = taskName;
+ }
+
public String getSourceName() {
return sourceName;
}
@@ -331,6 +316,14 @@
this.sourceName = sourceName;
}
+ public String getFileIdProcess() {
+ return fileIdProcess;
+ }
+
+ public void setFileIdProcess(String fileIdProcess) {
+ this.fileIdProcess = fileIdProcess;
+ }
+
public String getReportTime() {
return reportTime;
}
@@ -339,6 +332,38 @@
this.reportTime = reportTime;
}
+ public String getCurrUserId() {
+ return currUserId;
+ }
+
+ public void setCurrUserId(String currUserId) {
+ this.currUserId = currUserId;
+ }
+
+ public String getCurrUserName() {
+ return currUserName;
+ }
+
+ public void setCurrUserName(String currUserName) {
+ this.currUserName = currUserName;
+ }
+
+ public String getCurrDeptId() {
+ return currDeptId;
+ }
+
+ public void setCurrDeptId(String currDeptId) {
+ this.currDeptId = currDeptId;
+ }
+
+ public String getCurrDeptName() {
+ return currDeptName;
+ }
+
+ public void setCurrDeptName(String currDeptName) {
+ this.currDeptName = currDeptName;
+ }
+
public String getOnedeptName() {
return onedeptName;
}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java
index de23222..9e72c93 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java
@@ -15,6 +15,7 @@
import com.casic.dcms.databinding.ActivityDeptAdjustBinding;
import com.casic.dcms.mvvm.model.CaseDetailBean;
import com.casic.dcms.mvvm.model.CaseNextNodeBean;
+import com.casic.dcms.mvvm.vm.CaseOperateViewModel;
import com.casic.dcms.mvvm.vm.CaseViewModel;
import com.casic.dcms.mvvm.vm.NodeViewModel;
import com.casic.dcms.utils.JzExoMedia;
@@ -40,6 +41,7 @@
private final Context context = this;
private CaseViewModel caseViewModel;
private NodeViewModel nodeViewModel;
+ private CaseOperateViewModel operateViewModel;
private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean();
private List nodeDataBeans;
private String id;
@@ -62,6 +64,7 @@
caseViewModel.obtainCaseDetail(id);
nodeViewModel = new ViewModelProvider(this).get(NodeViewModel.class);
+ operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class);
}
@Override
@@ -230,8 +233,6 @@
public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
dialog.dismiss();
viewBinding.commonTipsView.setText(tag);
-
- viewBinding.optionEditView.setText(tag);
}
}).build().show();
}
@@ -245,14 +246,28 @@
EasyToast.show(context, "还未选择操作类型");
return;
}
- String optionInput = StringHelper.filterString(viewBinding.optionEditView.getText().toString());
+ String optionInput = StringHelper.filterString(viewBinding.commonTipsView.getText().toString());
if (TextUtils.isEmpty(optionInput)) {
EasyToast.show(context, "不同意/同意的意见必须填写");
return;
}
-// caseViewModel.dispatcherHandleCase(data.getProcessId(), id,
-// String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
-// data.getProcessPersonid());
+ operateViewModel.dispatcherHandleCase(data.getProcessId(), id,
+ String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
+ data.getProcessPersonid());
+ }
+ });
+ operateViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后...");
+ } else if (loadState == LoadState.Success) {
+ OtherUtils.dismissLoadingDialog();
+ finish();
+ } else {
+ EasyToast.show(context, "处理失败,请重试");
+ OtherUtils.dismissLoadingDialog();
+ }
}
});
}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java
index 31fc6a0..f23fc0b 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java
@@ -16,6 +16,7 @@
import com.casic.dcms.mvvm.model.CaseDetailBean;
import com.casic.dcms.mvvm.model.CaseNextNodeBean;
import com.casic.dcms.mvvm.model.ProcessPersonBean;
+import com.casic.dcms.mvvm.vm.CaseOperateViewModel;
import com.casic.dcms.mvvm.vm.CaseViewModel;
import com.casic.dcms.mvvm.vm.NodeViewModel;
import com.casic.dcms.mvvm.vm.PersonViewModel;
@@ -26,6 +27,7 @@
import com.gyf.immersionbar.ImmersionBar;
import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter;
import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.utils.Constant;
import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
import com.pengxh.androidx.lite.vm.LoadState;
import com.pengxh.androidx.lite.widget.EasyToast;
@@ -36,13 +38,14 @@
import cn.jzvd.Jzvd;
-public class DeptAuthorizeDetailActivity extends AndroidxBaseActivity implements View.OnClickListener {
+public class DeptAuthorizeDetailActivity extends AndroidxBaseActivity {
private final Context context = this;
private CaseViewModel caseViewModel;
private NodeViewModel nodeViewModel;
- private List nodeDataBeans;
private PersonViewModel personViewModel;
+ private CaseOperateViewModel operateViewModel;
+ private List nodeDataBeans;
private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean();
private List personBeans;
private String id;
@@ -61,12 +64,13 @@
@Override
public void initData() {
- id = getIntent().getStringExtra("id");
+ id = getIntent().getStringExtra(Constant.INTENT_PARAM);
caseViewModel = new ViewModelProvider(this).get(CaseViewModel.class);
caseViewModel.obtainCaseDetail(id);
nodeViewModel = new ViewModelProvider(this).get(NodeViewModel.class);
personViewModel = new ViewModelProvider(this).get(PersonViewModel.class);
+ operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class);
}
@Override
@@ -192,39 +196,18 @@
}
});
- personViewModel.processPersonModel.observe(this, new Observer() {
+ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() {
@Override
- public void onChanged(ProcessPersonBean resultBean) {
- if (resultBean.getCode() == 200) {
- personBeans = resultBean.getData();
- if (personBeans.size() == 0) {
- viewBinding.caseHandlePersonView.setText("无处置人员");
- } else {
- ProcessPersonBean.DataBean dataBean = personBeans.get(0);
- taskUserId = dataBean.getId();
- viewBinding.caseHandlePersonView.setText(dataBean.getName());//默认选择第一个
- }
- viewBinding.caseHandlePersonView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
- }
+ public void onClick(View v) {
+ OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat());
}
});
- viewBinding.locationMapView.setOnClickListener(this);
- viewBinding.caseOptTypeLayout.setOnClickListener(this);
- viewBinding.casePersonLayout.setOnClickListener(this);
- viewBinding.commonTipsLayout.setOnClickListener(this);
- viewBinding.submitButton.setOnClickListener(this);
- }
-
- @Override
- public void onClick(View v) {
- int viewId = v.getId();
- if (viewId == R.id.locationMapView) {
- OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat());
- } else if (viewId == R.id.caseOptTypeLayout) {
- if (nodeDataBeans != null) {
+ viewBinding.caseOptTypeLayout.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
if (nodeDataBeans.size() >= 1) {
- QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this);
+ QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context);
sheetBuilder.setTitle("操作类型");
for (CaseNextNodeBean.DataBean dataBean : nodeDataBeans) {
sheetBuilder.addItem(dataBean.getNextOperation());
@@ -254,10 +237,29 @@
}).build().show();
}
}
- } else if (viewId == R.id.casePersonLayout) {
- if (personBeans != null) {
+ });
+ personViewModel.processPersonModel.observe(this, new Observer() {
+ @Override
+ public void onChanged(ProcessPersonBean resultBean) {
+ if (resultBean.getCode() == 200) {
+ personBeans = resultBean.getData();
+ if (personBeans.size() == 0) {
+ viewBinding.caseHandlePersonView.setText("无处置人员");
+ } else {
+ ProcessPersonBean.DataBean dataBean = personBeans.get(0);
+ taskUserId = dataBean.getId();
+ viewBinding.caseHandlePersonView.setText(dataBean.getName());//默认选择第一个
+ }
+ viewBinding.caseHandlePersonView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
+ }
+ }
+ });
+
+ viewBinding.casePersonLayout.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
if (personBeans.size() >= 1) {
- QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this);
+ QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context);
sheetBuilder.setTitle("处置人员");
for (ProcessPersonBean.DataBean dataBean : personBeans) {
sheetBuilder.addItem(dataBean.getName());
@@ -274,50 +276,71 @@
}).build().show();
}
}
- } else if (viewId == R.id.commonTipsLayout) {
- new QMUIBottomSheet.BottomListSheetBuilder(this)
- .setTitle("常见用语")
- .addItem("请及时处理")
- .addItem("调查后及时回复")
- .setGravityCenter(true)
- .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
- @Override
- public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
- dialog.dismiss();
- viewBinding.commonTipsView.setText(tag);
- viewBinding.commonTipsView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
+ });
- viewBinding.optionEditView.setText(tag);
- viewBinding.commonTipsView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
- }
- }).build().show();
- } else if (viewId == R.id.submitButton) {
- String optType = viewBinding.optTypeView.getText().toString();
- if (optType.equals("")) {
- EasyToast.show(this, "还未选择操作类型");
- return;
+ viewBinding.commonTipsLayout.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ new QMUIBottomSheet.BottomListSheetBuilder(context)
+ .setTitle("常见用语")
+ .addItem("请及时处理")
+ .addItem("调查后及时回复")
+ .setGravityCenter(true)
+ .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
+ @Override
+ public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
+ dialog.dismiss();
+ viewBinding.commonTipsView.setText(tag);
+ viewBinding.commonTipsView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
+ }
+ }).build().show();
}
- if (optType.equals("返回处理")) {
- //选择处理人员时,必选一个处置人员
- String handlePerson = viewBinding.caseHandlePersonView.getText().toString();
- if (handlePerson.equals("")) {
- EasyToast.show(this, "当前状态必须指定处置员");
+ });
+
+ viewBinding.submitButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ String optType = viewBinding.optTypeView.getText().toString();
+ if (optType.equals("")) {
+ EasyToast.show(context, "还未选择操作类型");
return;
}
+ if (optType.equals("返回处理")) {
+ //选择处理人员时,必选一个处置人员
+ String handlePerson = viewBinding.caseHandlePersonView.getText().toString();
+ if (handlePerson.equals("")) {
+ EasyToast.show(context, "当前状态必须指定处置员");
+ return;
+ }
+ }
+ String optionInput = StringHelper.filterString(viewBinding.commonTipsView.getText().toString());
+ if (TextUtils.isEmpty(optionInput)) {
+ EasyToast.show(context, "处理意见必须填写");
+ return;
+ }
+ //只有选择返回处理的时候taskUserId才会不为空,否则用当前流程人员的id代替
+ if (TextUtils.isEmpty(taskUserId)) {
+ taskUserId = data.getProcessPersonid();
+ }
+ operateViewModel.dispatcherHandleCase(data.getProcessId(), id,
+ String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
+ taskUserId);
}
- String optionInput = StringHelper.filterString(viewBinding.optionEditView.getText().toString());
- if (TextUtils.isEmpty(optionInput)) {
- EasyToast.show(this, "处理意见必须填写");
- return;
+ });
+ operateViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后...");
+ } else if (loadState == LoadState.Success) {
+ OtherUtils.dismissLoadingDialog();
+ finish();
+ } else {
+ EasyToast.show(context, "处理失败,请重试");
+ OtherUtils.dismissLoadingDialog();
+ }
}
- //只有选择返回处理的时候taskUserId才会不为空,否则用当前流程人员的id代替
- if (TextUtils.isEmpty(taskUserId)) {
- taskUserId = data.getProcessPersonid();
- }
-// caseViewModel.dispatcherHandleCase(data.getProcessId(), id,
-// String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
-// taskUserId);
- }
+ });
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptHandleActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptHandleActivity.java
index 694bbd5..ca49b3d 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptHandleActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptHandleActivity.java
@@ -18,6 +18,7 @@
import com.casic.dcms.utils.LocaleConstant;
import com.gyf.immersionbar.ImmersionBar;
import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.utils.DeviceSizeUtil;
import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
import java.util.ArrayList;
@@ -49,8 +50,9 @@
//绑定TabLayout
viewBinding.tabLayout.setupWithViewPager(viewBinding.viewPager);
LinearLayout linearLayout = (LinearLayout) viewBinding.tabLayout.getChildAt(0);
- linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical));
+ linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
+ linearLayout.setDividerPadding(DeviceSizeUtil.dp2px(this, 12.5f));
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java
index b8b9c59..9686049 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java
@@ -17,9 +17,9 @@
import com.casic.dcms.mvvm.model.CaseDetailBean;
import com.casic.dcms.mvvm.model.CaseNextNodeBean;
import com.casic.dcms.mvvm.model.ProcessPersonBean;
+import com.casic.dcms.mvvm.vm.CaseOperateViewModel;
import com.casic.dcms.mvvm.vm.CaseViewModel;
import com.casic.dcms.mvvm.vm.NodeViewModel;
-import com.casic.dcms.mvvm.vm.PersonViewModel;
import com.casic.dcms.utils.JzExoMedia;
import com.casic.dcms.utils.OtherUtils;
import com.casic.dcms.utils.StringHelper;
@@ -40,7 +40,7 @@
private final Context context = this;
private CaseViewModel caseViewModel;
private NodeViewModel nodeViewModel;
- private PersonViewModel personViewModel;
+ private CaseOperateViewModel operateViewModel;
private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean();
private List personBeans;
private String id;
@@ -66,7 +66,7 @@
caseViewModel.obtainCaseDetail(id);
nodeViewModel = new ViewModelProvider(this).get(NodeViewModel.class);
- personViewModel = new ViewModelProvider(this).get(PersonViewModel.class);
+ operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class);
}
@Override
@@ -216,60 +216,12 @@
CaseNextNodeBean.DataBean nodeBean = nodeDataBeans.get(position);
changeState = String.valueOf(nodeBean.getNextState());
operationKey = nodeBean.getOperationKey();
-
- if (tag.equals("返回处理") || tag.equals("处置人员")) {
- viewBinding.casePersonLayout.setVisibility(View.VISIBLE);
- viewBinding.personLine.setVisibility(View.VISIBLE);
-
- //获取下级处置人员名单
- personViewModel.obtainSubordinatePerson();
- } else {
- viewBinding.casePersonLayout.setVisibility(View.GONE);
- viewBinding.personLine.setVisibility(View.GONE);
- }
}
}).build().show();
}
}
});
- viewBinding.casePersonLayout.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (personBeans.size() >= 1) {
- QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context);
- sheetBuilder.setTitle("处置人员");
- for (ProcessPersonBean.DataBean dataBean : personBeans) {
- sheetBuilder.addItem(dataBean.getName());
- }
- sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
- @Override
- public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
- dialog.dismiss();
- viewBinding.caseHandlePersonView.setText(tag);
-
- taskUserId = personBeans.get(position).getId();
- }
- }).build().show();
- }
- }
- });
- personViewModel.processPersonModel.observe(this, new Observer() {
- @Override
- public void onChanged(ProcessPersonBean resultBean) {
- if (resultBean.isSuccess()) {
- personBeans = resultBean.getData();
- if (personBeans.size() == 0) {
- viewBinding.caseHandlePersonView.setText("无处置人员");
- } else {
- ProcessPersonBean.DataBean dataBean = personBeans.get(0);
- taskUserId = dataBean.getId();
- viewBinding.caseHandlePersonView.setText(dataBean.getName());//默认选择第一个
- }
- }
- }
- });
-
viewBinding.commonTipsLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -283,8 +235,6 @@
public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
dialog.dismiss();
viewBinding.commonTipsView.setText(tag);
-
- viewBinding.optionEditView.setText(tag);
}
}).build().show();
}
@@ -298,21 +248,27 @@
EasyToast.show(context, "还未选择操作类型");
return;
}
- if (optType.equals("处置人员") || optType.equals("返回处理")) {
- //选择处理人员时,必选一个处置人员
- String handlePerson = viewBinding.caseHandlePersonView.getText().toString();
- if (handlePerson.equals("")) {
- EasyToast.show(context, "当前状态必须指定处置员");
- return;
- }
- }
- String optionInput = StringHelper.filterString(viewBinding.optionEditView.getText().toString());
+ String optionInput = StringHelper.filterString(viewBinding.commonTipsView.getText().toString());
if (TextUtils.isEmpty(optionInput)) {
EasyToast.show(context, "处理意见必须填写");
return;
}
-// caseViewModel.dispatcherHandleCase(data.getProcessId(), id,
-// String.valueOf(data.getCaseState()), changeState, optionInput, operationKey, taskUserId);
+ operateViewModel.dispatcherHandleCase(data.getProcessId(), id,
+ String.valueOf(data.getCaseState()), changeState, optionInput, operationKey, taskUserId);
+ }
+ });
+ operateViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后...");
+ } else if (loadState == LoadState.Success) {
+ OtherUtils.dismissLoadingDialog();
+ finish();
+ } else {
+ EasyToast.show(context, "处理失败,请重试");
+ OtherUtils.dismissLoadingDialog();
+ }
}
});
}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseHandledFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseHandledFragment.java
index 0a65c11..7b65a54 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseHandledFragment.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseHandledFragment.java
@@ -29,7 +29,7 @@
private WeakReferenceHandler weakReferenceHandler;
private DeptHandleViewModel handleViewModel;
private DeptTodoOrHandledAdapter adapter;
- private List dataBeans = new ArrayList<>();
+ private List dataBeans = new ArrayList<>();
private int pageIndex = 1;
private boolean isRefresh, isLoadMore = false;
@@ -78,7 +78,7 @@
@Override
public void onChanged(DeptCaseBean resultBean) {
if (resultBean.isSuccess()) {
- List dataRows = resultBean.getData().getRows();
+ List dataRows = resultBean.getData().getRows();
if (isRefresh) {
dataBeans.clear();//下拉刷新必须先清空之前的List,不然会出现数据重复的问题
dataBeans = dataRows;
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 552f6c3..d6ee830 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -35,6 +35,10 @@
+
+
+
+
@@ -48,6 +52,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java b/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
index 6c4a6a6..1fafc8b 100644
--- a/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
+++ b/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
@@ -11,35 +11,35 @@
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
+import com.bumptech.glide.Glide;
import com.casic.dcms.R;
import com.casic.dcms.mvvm.model.DeptCaseBean;
import com.casic.dcms.utils.StringHelper;
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView;
import java.util.List;
-/**
- * {@link PackageCaseListAdapter 不适用二级派遣员部门处置列表,因为该列表不光有三包案卷,还有普通案卷}
- */
public class DeptTodoOrHandledAdapter extends RecyclerView.Adapter {
- private final List dataBeans;
+ private final Context context;
+ private final List dataBeans;
private final LayoutInflater layoutInflater;
private PunishTypeAdapter adapter;
- public DeptTodoOrHandledAdapter(Context context, List dataRows) {
+ public DeptTodoOrHandledAdapter(Context context, List dataRows) {
+ this.context = context;
this.dataBeans = dataRows;
layoutInflater = LayoutInflater.from(context);
}
@NonNull
@Override
- public DeptTodoOrHandledAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = layoutInflater.inflate(R.layout.item_case_rv, parent, false);
- return new ItemViewHolder(view);
+ 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 DeptTodoOrHandledAdapter.ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
holder.bindView(dataBeans.get(position));
if (clickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@@ -56,28 +56,30 @@
return dataBeans.size();
}
- static class ItemViewHolder extends RecyclerView.ViewHolder {
+ class ItemViewHolder extends RecyclerView.ViewHolder {
-// private final TextView leftTextView;
+ private final QMUIRadiusImageView caseImageView;
private final TextView caseTitleView;
private final TextView casePlaceView;
private final TextView caseTimeView;
ItemViewHolder(@NonNull View itemView) {
super(itemView);
-// leftTextView = itemView.findViewById(R.id.leftTextView);
+ caseImageView = itemView.findViewById(R.id.caseImageView);
caseTitleView = itemView.findViewById(R.id.caseTitleView);
casePlaceView = itemView.findViewById(R.id.casePlaceView);
caseTimeView = itemView.findViewById(R.id.caseTimeView);
}
- @SuppressLint("SetTextI18n")
- void bindView(DeptCaseBean.DataBean.RowsBean rowsBean) {
- String eorcName = rowsBean.getEorcName();
- if (TextUtils.isEmpty(eorcName)) {
- eorcName = "未知";
+ void bindView(DeptCaseBean.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);
+ }
}
-// 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/mvvm/model/DeptCaseBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/DeptCaseBean.java
index 1a4ac47..79163d8 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/model/DeptCaseBean.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/model/DeptCaseBean.java
@@ -8,7 +8,7 @@
public class DeptCaseBean {
private int code;
- private DataBean data;
+ private DataDTO data;
private String message;
private boolean success;
@@ -20,11 +20,11 @@
this.code = code;
}
- public DataBean getData() {
+ public DataDTO getData() {
return data;
}
- public void setData(DataBean data) {
+ public void setData(DataDTO data) {
this.data = data;
}
@@ -44,10 +44,17 @@
this.success = success;
}
- public static class DataBean {
-
+ public static class DataDTO {
+ private List rows;
private int total;
- private List rows;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
public int getTotal() {
return total;
@@ -57,26 +64,14 @@
this.total = total;
}
- public List getRows() {
- return rows;
- }
-
- public void setRows(List rows) {
- this.rows = rows;
- }
-
- public static class RowsBean {
-
+ public static class RowsDTO {
private int isPostpone;
- private int preState;
private String description;
private int source;
private String eorcName;
private String casetypeDetailName;
private String remainingTime;
private String casetypeName;
- private String currUserId;
- private String currUserName;
private String processId;
private int caseState;
private String id;
@@ -84,10 +79,10 @@
private String fieldintro;
private String lat;
private String caseStateName;
- private String preOperator;
private String lng;
private String isOvertime;
private String currRoleName;
+ private String fileIdVerify;
private String casetypeDetailCode;
private String onedeptid;
private String eorc;
@@ -95,8 +90,14 @@
private String caseid;
private String casetypeCode;
private String nodeLimittime;
+ private String taskName;
private String sourceName;
+ private String fileIdProcess;
private String reportTime;
+ private String currUserId;
+ private String currUserName;
+ private String currDeptId;
+ private String currDeptName;
private String onedeptName;
public int getIsPostpone() {
@@ -107,14 +108,6 @@
this.isPostpone = isPostpone;
}
- public int getPreState() {
- return preState;
- }
-
- public void setPreState(int preState) {
- this.preState = preState;
- }
-
public String getDescription() {
return description;
}
@@ -163,22 +156,6 @@
this.casetypeName = casetypeName;
}
- public String getCurrUserId() {
- return currUserId;
- }
-
- public void setCurrUserId(String currUserId) {
- this.currUserId = currUserId;
- }
-
- public String getCurrUserName() {
- return currUserName;
- }
-
- public void setCurrUserName(String currUserName) {
- this.currUserName = currUserName;
- }
-
public String getProcessId() {
return processId;
}
@@ -235,14 +212,6 @@
this.caseStateName = caseStateName;
}
- public String getPreOperator() {
- return preOperator;
- }
-
- public void setPreOperator(String preOperator) {
- this.preOperator = preOperator;
- }
-
public String getLng() {
return lng;
}
@@ -267,6 +236,14 @@
this.currRoleName = currRoleName;
}
+ public String getFileIdVerify() {
+ return fileIdVerify;
+ }
+
+ public void setFileIdVerify(String fileIdVerify) {
+ this.fileIdVerify = fileIdVerify;
+ }
+
public String getCasetypeDetailCode() {
return casetypeDetailCode;
}
@@ -323,6 +300,14 @@
this.nodeLimittime = nodeLimittime;
}
+ public String getTaskName() {
+ return taskName;
+ }
+
+ public void setTaskName(String taskName) {
+ this.taskName = taskName;
+ }
+
public String getSourceName() {
return sourceName;
}
@@ -331,6 +316,14 @@
this.sourceName = sourceName;
}
+ public String getFileIdProcess() {
+ return fileIdProcess;
+ }
+
+ public void setFileIdProcess(String fileIdProcess) {
+ this.fileIdProcess = fileIdProcess;
+ }
+
public String getReportTime() {
return reportTime;
}
@@ -339,6 +332,38 @@
this.reportTime = reportTime;
}
+ public String getCurrUserId() {
+ return currUserId;
+ }
+
+ public void setCurrUserId(String currUserId) {
+ this.currUserId = currUserId;
+ }
+
+ public String getCurrUserName() {
+ return currUserName;
+ }
+
+ public void setCurrUserName(String currUserName) {
+ this.currUserName = currUserName;
+ }
+
+ public String getCurrDeptId() {
+ return currDeptId;
+ }
+
+ public void setCurrDeptId(String currDeptId) {
+ this.currDeptId = currDeptId;
+ }
+
+ public String getCurrDeptName() {
+ return currDeptName;
+ }
+
+ public void setCurrDeptName(String currDeptName) {
+ this.currDeptName = currDeptName;
+ }
+
public String getOnedeptName() {
return onedeptName;
}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java
index de23222..9e72c93 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java
@@ -15,6 +15,7 @@
import com.casic.dcms.databinding.ActivityDeptAdjustBinding;
import com.casic.dcms.mvvm.model.CaseDetailBean;
import com.casic.dcms.mvvm.model.CaseNextNodeBean;
+import com.casic.dcms.mvvm.vm.CaseOperateViewModel;
import com.casic.dcms.mvvm.vm.CaseViewModel;
import com.casic.dcms.mvvm.vm.NodeViewModel;
import com.casic.dcms.utils.JzExoMedia;
@@ -40,6 +41,7 @@
private final Context context = this;
private CaseViewModel caseViewModel;
private NodeViewModel nodeViewModel;
+ private CaseOperateViewModel operateViewModel;
private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean();
private List nodeDataBeans;
private String id;
@@ -62,6 +64,7 @@
caseViewModel.obtainCaseDetail(id);
nodeViewModel = new ViewModelProvider(this).get(NodeViewModel.class);
+ operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class);
}
@Override
@@ -230,8 +233,6 @@
public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
dialog.dismiss();
viewBinding.commonTipsView.setText(tag);
-
- viewBinding.optionEditView.setText(tag);
}
}).build().show();
}
@@ -245,14 +246,28 @@
EasyToast.show(context, "还未选择操作类型");
return;
}
- String optionInput = StringHelper.filterString(viewBinding.optionEditView.getText().toString());
+ String optionInput = StringHelper.filterString(viewBinding.commonTipsView.getText().toString());
if (TextUtils.isEmpty(optionInput)) {
EasyToast.show(context, "不同意/同意的意见必须填写");
return;
}
-// caseViewModel.dispatcherHandleCase(data.getProcessId(), id,
-// String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
-// data.getProcessPersonid());
+ operateViewModel.dispatcherHandleCase(data.getProcessId(), id,
+ String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
+ data.getProcessPersonid());
+ }
+ });
+ operateViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后...");
+ } else if (loadState == LoadState.Success) {
+ OtherUtils.dismissLoadingDialog();
+ finish();
+ } else {
+ EasyToast.show(context, "处理失败,请重试");
+ OtherUtils.dismissLoadingDialog();
+ }
}
});
}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java
index 31fc6a0..f23fc0b 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java
@@ -16,6 +16,7 @@
import com.casic.dcms.mvvm.model.CaseDetailBean;
import com.casic.dcms.mvvm.model.CaseNextNodeBean;
import com.casic.dcms.mvvm.model.ProcessPersonBean;
+import com.casic.dcms.mvvm.vm.CaseOperateViewModel;
import com.casic.dcms.mvvm.vm.CaseViewModel;
import com.casic.dcms.mvvm.vm.NodeViewModel;
import com.casic.dcms.mvvm.vm.PersonViewModel;
@@ -26,6 +27,7 @@
import com.gyf.immersionbar.ImmersionBar;
import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter;
import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.utils.Constant;
import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
import com.pengxh.androidx.lite.vm.LoadState;
import com.pengxh.androidx.lite.widget.EasyToast;
@@ -36,13 +38,14 @@
import cn.jzvd.Jzvd;
-public class DeptAuthorizeDetailActivity extends AndroidxBaseActivity implements View.OnClickListener {
+public class DeptAuthorizeDetailActivity extends AndroidxBaseActivity {
private final Context context = this;
private CaseViewModel caseViewModel;
private NodeViewModel nodeViewModel;
- private List nodeDataBeans;
private PersonViewModel personViewModel;
+ private CaseOperateViewModel operateViewModel;
+ private List nodeDataBeans;
private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean();
private List personBeans;
private String id;
@@ -61,12 +64,13 @@
@Override
public void initData() {
- id = getIntent().getStringExtra("id");
+ id = getIntent().getStringExtra(Constant.INTENT_PARAM);
caseViewModel = new ViewModelProvider(this).get(CaseViewModel.class);
caseViewModel.obtainCaseDetail(id);
nodeViewModel = new ViewModelProvider(this).get(NodeViewModel.class);
personViewModel = new ViewModelProvider(this).get(PersonViewModel.class);
+ operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class);
}
@Override
@@ -192,39 +196,18 @@
}
});
- personViewModel.processPersonModel.observe(this, new Observer() {
+ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() {
@Override
- public void onChanged(ProcessPersonBean resultBean) {
- if (resultBean.getCode() == 200) {
- personBeans = resultBean.getData();
- if (personBeans.size() == 0) {
- viewBinding.caseHandlePersonView.setText("无处置人员");
- } else {
- ProcessPersonBean.DataBean dataBean = personBeans.get(0);
- taskUserId = dataBean.getId();
- viewBinding.caseHandlePersonView.setText(dataBean.getName());//默认选择第一个
- }
- viewBinding.caseHandlePersonView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
- }
+ public void onClick(View v) {
+ OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat());
}
});
- viewBinding.locationMapView.setOnClickListener(this);
- viewBinding.caseOptTypeLayout.setOnClickListener(this);
- viewBinding.casePersonLayout.setOnClickListener(this);
- viewBinding.commonTipsLayout.setOnClickListener(this);
- viewBinding.submitButton.setOnClickListener(this);
- }
-
- @Override
- public void onClick(View v) {
- int viewId = v.getId();
- if (viewId == R.id.locationMapView) {
- OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat());
- } else if (viewId == R.id.caseOptTypeLayout) {
- if (nodeDataBeans != null) {
+ viewBinding.caseOptTypeLayout.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
if (nodeDataBeans.size() >= 1) {
- QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this);
+ QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context);
sheetBuilder.setTitle("操作类型");
for (CaseNextNodeBean.DataBean dataBean : nodeDataBeans) {
sheetBuilder.addItem(dataBean.getNextOperation());
@@ -254,10 +237,29 @@
}).build().show();
}
}
- } else if (viewId == R.id.casePersonLayout) {
- if (personBeans != null) {
+ });
+ personViewModel.processPersonModel.observe(this, new Observer() {
+ @Override
+ public void onChanged(ProcessPersonBean resultBean) {
+ if (resultBean.getCode() == 200) {
+ personBeans = resultBean.getData();
+ if (personBeans.size() == 0) {
+ viewBinding.caseHandlePersonView.setText("无处置人员");
+ } else {
+ ProcessPersonBean.DataBean dataBean = personBeans.get(0);
+ taskUserId = dataBean.getId();
+ viewBinding.caseHandlePersonView.setText(dataBean.getName());//默认选择第一个
+ }
+ viewBinding.caseHandlePersonView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
+ }
+ }
+ });
+
+ viewBinding.casePersonLayout.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
if (personBeans.size() >= 1) {
- QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this);
+ QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context);
sheetBuilder.setTitle("处置人员");
for (ProcessPersonBean.DataBean dataBean : personBeans) {
sheetBuilder.addItem(dataBean.getName());
@@ -274,50 +276,71 @@
}).build().show();
}
}
- } else if (viewId == R.id.commonTipsLayout) {
- new QMUIBottomSheet.BottomListSheetBuilder(this)
- .setTitle("常见用语")
- .addItem("请及时处理")
- .addItem("调查后及时回复")
- .setGravityCenter(true)
- .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
- @Override
- public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
- dialog.dismiss();
- viewBinding.commonTipsView.setText(tag);
- viewBinding.commonTipsView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
+ });
- viewBinding.optionEditView.setText(tag);
- viewBinding.commonTipsView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
- }
- }).build().show();
- } else if (viewId == R.id.submitButton) {
- String optType = viewBinding.optTypeView.getText().toString();
- if (optType.equals("")) {
- EasyToast.show(this, "还未选择操作类型");
- return;
+ viewBinding.commonTipsLayout.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ new QMUIBottomSheet.BottomListSheetBuilder(context)
+ .setTitle("常见用语")
+ .addItem("请及时处理")
+ .addItem("调查后及时回复")
+ .setGravityCenter(true)
+ .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
+ @Override
+ public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
+ dialog.dismiss();
+ viewBinding.commonTipsView.setText(tag);
+ viewBinding.commonTipsView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
+ }
+ }).build().show();
}
- if (optType.equals("返回处理")) {
- //选择处理人员时,必选一个处置人员
- String handlePerson = viewBinding.caseHandlePersonView.getText().toString();
- if (handlePerson.equals("")) {
- EasyToast.show(this, "当前状态必须指定处置员");
+ });
+
+ viewBinding.submitButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ String optType = viewBinding.optTypeView.getText().toString();
+ if (optType.equals("")) {
+ EasyToast.show(context, "还未选择操作类型");
return;
}
+ if (optType.equals("返回处理")) {
+ //选择处理人员时,必选一个处置人员
+ String handlePerson = viewBinding.caseHandlePersonView.getText().toString();
+ if (handlePerson.equals("")) {
+ EasyToast.show(context, "当前状态必须指定处置员");
+ return;
+ }
+ }
+ String optionInput = StringHelper.filterString(viewBinding.commonTipsView.getText().toString());
+ if (TextUtils.isEmpty(optionInput)) {
+ EasyToast.show(context, "处理意见必须填写");
+ return;
+ }
+ //只有选择返回处理的时候taskUserId才会不为空,否则用当前流程人员的id代替
+ if (TextUtils.isEmpty(taskUserId)) {
+ taskUserId = data.getProcessPersonid();
+ }
+ operateViewModel.dispatcherHandleCase(data.getProcessId(), id,
+ String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
+ taskUserId);
}
- String optionInput = StringHelper.filterString(viewBinding.optionEditView.getText().toString());
- if (TextUtils.isEmpty(optionInput)) {
- EasyToast.show(this, "处理意见必须填写");
- return;
+ });
+ operateViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后...");
+ } else if (loadState == LoadState.Success) {
+ OtherUtils.dismissLoadingDialog();
+ finish();
+ } else {
+ EasyToast.show(context, "处理失败,请重试");
+ OtherUtils.dismissLoadingDialog();
+ }
}
- //只有选择返回处理的时候taskUserId才会不为空,否则用当前流程人员的id代替
- if (TextUtils.isEmpty(taskUserId)) {
- taskUserId = data.getProcessPersonid();
- }
-// caseViewModel.dispatcherHandleCase(data.getProcessId(), id,
-// String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
-// taskUserId);
- }
+ });
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptHandleActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptHandleActivity.java
index 694bbd5..ca49b3d 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptHandleActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptHandleActivity.java
@@ -18,6 +18,7 @@
import com.casic.dcms.utils.LocaleConstant;
import com.gyf.immersionbar.ImmersionBar;
import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.utils.DeviceSizeUtil;
import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
import java.util.ArrayList;
@@ -49,8 +50,9 @@
//绑定TabLayout
viewBinding.tabLayout.setupWithViewPager(viewBinding.viewPager);
LinearLayout linearLayout = (LinearLayout) viewBinding.tabLayout.getChildAt(0);
- linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical));
+ linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
+ linearLayout.setDividerPadding(DeviceSizeUtil.dp2px(this, 12.5f));
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java
index b8b9c59..9686049 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java
@@ -17,9 +17,9 @@
import com.casic.dcms.mvvm.model.CaseDetailBean;
import com.casic.dcms.mvvm.model.CaseNextNodeBean;
import com.casic.dcms.mvvm.model.ProcessPersonBean;
+import com.casic.dcms.mvvm.vm.CaseOperateViewModel;
import com.casic.dcms.mvvm.vm.CaseViewModel;
import com.casic.dcms.mvvm.vm.NodeViewModel;
-import com.casic.dcms.mvvm.vm.PersonViewModel;
import com.casic.dcms.utils.JzExoMedia;
import com.casic.dcms.utils.OtherUtils;
import com.casic.dcms.utils.StringHelper;
@@ -40,7 +40,7 @@
private final Context context = this;
private CaseViewModel caseViewModel;
private NodeViewModel nodeViewModel;
- private PersonViewModel personViewModel;
+ private CaseOperateViewModel operateViewModel;
private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean();
private List personBeans;
private String id;
@@ -66,7 +66,7 @@
caseViewModel.obtainCaseDetail(id);
nodeViewModel = new ViewModelProvider(this).get(NodeViewModel.class);
- personViewModel = new ViewModelProvider(this).get(PersonViewModel.class);
+ operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class);
}
@Override
@@ -216,60 +216,12 @@
CaseNextNodeBean.DataBean nodeBean = nodeDataBeans.get(position);
changeState = String.valueOf(nodeBean.getNextState());
operationKey = nodeBean.getOperationKey();
-
- if (tag.equals("返回处理") || tag.equals("处置人员")) {
- viewBinding.casePersonLayout.setVisibility(View.VISIBLE);
- viewBinding.personLine.setVisibility(View.VISIBLE);
-
- //获取下级处置人员名单
- personViewModel.obtainSubordinatePerson();
- } else {
- viewBinding.casePersonLayout.setVisibility(View.GONE);
- viewBinding.personLine.setVisibility(View.GONE);
- }
}
}).build().show();
}
}
});
- viewBinding.casePersonLayout.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (personBeans.size() >= 1) {
- QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context);
- sheetBuilder.setTitle("处置人员");
- for (ProcessPersonBean.DataBean dataBean : personBeans) {
- sheetBuilder.addItem(dataBean.getName());
- }
- sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
- @Override
- public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
- dialog.dismiss();
- viewBinding.caseHandlePersonView.setText(tag);
-
- taskUserId = personBeans.get(position).getId();
- }
- }).build().show();
- }
- }
- });
- personViewModel.processPersonModel.observe(this, new Observer() {
- @Override
- public void onChanged(ProcessPersonBean resultBean) {
- if (resultBean.isSuccess()) {
- personBeans = resultBean.getData();
- if (personBeans.size() == 0) {
- viewBinding.caseHandlePersonView.setText("无处置人员");
- } else {
- ProcessPersonBean.DataBean dataBean = personBeans.get(0);
- taskUserId = dataBean.getId();
- viewBinding.caseHandlePersonView.setText(dataBean.getName());//默认选择第一个
- }
- }
- }
- });
-
viewBinding.commonTipsLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -283,8 +235,6 @@
public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
dialog.dismiss();
viewBinding.commonTipsView.setText(tag);
-
- viewBinding.optionEditView.setText(tag);
}
}).build().show();
}
@@ -298,21 +248,27 @@
EasyToast.show(context, "还未选择操作类型");
return;
}
- if (optType.equals("处置人员") || optType.equals("返回处理")) {
- //选择处理人员时,必选一个处置人员
- String handlePerson = viewBinding.caseHandlePersonView.getText().toString();
- if (handlePerson.equals("")) {
- EasyToast.show(context, "当前状态必须指定处置员");
- return;
- }
- }
- String optionInput = StringHelper.filterString(viewBinding.optionEditView.getText().toString());
+ String optionInput = StringHelper.filterString(viewBinding.commonTipsView.getText().toString());
if (TextUtils.isEmpty(optionInput)) {
EasyToast.show(context, "处理意见必须填写");
return;
}
-// caseViewModel.dispatcherHandleCase(data.getProcessId(), id,
-// String.valueOf(data.getCaseState()), changeState, optionInput, operationKey, taskUserId);
+ operateViewModel.dispatcherHandleCase(data.getProcessId(), id,
+ String.valueOf(data.getCaseState()), changeState, optionInput, operationKey, taskUserId);
+ }
+ });
+ operateViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后...");
+ } else if (loadState == LoadState.Success) {
+ OtherUtils.dismissLoadingDialog();
+ finish();
+ } else {
+ EasyToast.show(context, "处理失败,请重试");
+ OtherUtils.dismissLoadingDialog();
+ }
}
});
}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseHandledFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseHandledFragment.java
index 0a65c11..7b65a54 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseHandledFragment.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseHandledFragment.java
@@ -29,7 +29,7 @@
private WeakReferenceHandler weakReferenceHandler;
private DeptHandleViewModel handleViewModel;
private DeptTodoOrHandledAdapter adapter;
- private List dataBeans = new ArrayList<>();
+ private List dataBeans = new ArrayList<>();
private int pageIndex = 1;
private boolean isRefresh, isLoadMore = false;
@@ -78,7 +78,7 @@
@Override
public void onChanged(DeptCaseBean resultBean) {
if (resultBean.isSuccess()) {
- List dataRows = resultBean.getData().getRows();
+ List dataRows = resultBean.getData().getRows();
if (isRefresh) {
dataBeans.clear();//下拉刷新必须先清空之前的List,不然会出现数据重复的问题
dataBeans = dataRows;
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseProcessFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseProcessFragment.java
index 8d780d7..a7948e0 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseProcessFragment.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseProcessFragment.java
@@ -30,7 +30,7 @@
private WeakReferenceHandler weakReferenceHandler;
private DeptHandleViewModel handleViewModel;
private DeptTodoOrHandledAdapter adapter;
- private List dataBeans = new ArrayList<>();
+ private List dataBeans = new ArrayList<>();
private int pageIndex = 1;
private boolean isRefresh, isLoadMore = false;
@@ -79,7 +79,7 @@
@Override
public void onChanged(DeptCaseBean resultBean) {
if (resultBean.isSuccess()) {
- List dataRows = resultBean.getData().getRows();
+ List dataRows = resultBean.getData().getRows();
if (isRefresh) {
dataBeans.clear();//下拉刷新必须先清空之前的List,不然会出现数据重复的问题
dataBeans = dataRows;
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 552f6c3..d6ee830 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -35,6 +35,10 @@
+
+
+
+
@@ -48,6 +52,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java b/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
index 6c4a6a6..1fafc8b 100644
--- a/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
+++ b/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
@@ -11,35 +11,35 @@
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
+import com.bumptech.glide.Glide;
import com.casic.dcms.R;
import com.casic.dcms.mvvm.model.DeptCaseBean;
import com.casic.dcms.utils.StringHelper;
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView;
import java.util.List;
-/**
- * {@link PackageCaseListAdapter 不适用二级派遣员部门处置列表,因为该列表不光有三包案卷,还有普通案卷}
- */
public class DeptTodoOrHandledAdapter extends RecyclerView.Adapter {
- private final List dataBeans;
+ private final Context context;
+ private final List dataBeans;
private final LayoutInflater layoutInflater;
private PunishTypeAdapter adapter;
- public DeptTodoOrHandledAdapter(Context context, List dataRows) {
+ public DeptTodoOrHandledAdapter(Context context, List dataRows) {
+ this.context = context;
this.dataBeans = dataRows;
layoutInflater = LayoutInflater.from(context);
}
@NonNull
@Override
- public DeptTodoOrHandledAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = layoutInflater.inflate(R.layout.item_case_rv, parent, false);
- return new ItemViewHolder(view);
+ 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 DeptTodoOrHandledAdapter.ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
holder.bindView(dataBeans.get(position));
if (clickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@@ -56,28 +56,30 @@
return dataBeans.size();
}
- static class ItemViewHolder extends RecyclerView.ViewHolder {
+ class ItemViewHolder extends RecyclerView.ViewHolder {
-// private final TextView leftTextView;
+ private final QMUIRadiusImageView caseImageView;
private final TextView caseTitleView;
private final TextView casePlaceView;
private final TextView caseTimeView;
ItemViewHolder(@NonNull View itemView) {
super(itemView);
-// leftTextView = itemView.findViewById(R.id.leftTextView);
+ caseImageView = itemView.findViewById(R.id.caseImageView);
caseTitleView = itemView.findViewById(R.id.caseTitleView);
casePlaceView = itemView.findViewById(R.id.casePlaceView);
caseTimeView = itemView.findViewById(R.id.caseTimeView);
}
- @SuppressLint("SetTextI18n")
- void bindView(DeptCaseBean.DataBean.RowsBean rowsBean) {
- String eorcName = rowsBean.getEorcName();
- if (TextUtils.isEmpty(eorcName)) {
- eorcName = "未知";
+ void bindView(DeptCaseBean.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);
+ }
}
-// 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/mvvm/model/DeptCaseBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/DeptCaseBean.java
index 1a4ac47..79163d8 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/model/DeptCaseBean.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/model/DeptCaseBean.java
@@ -8,7 +8,7 @@
public class DeptCaseBean {
private int code;
- private DataBean data;
+ private DataDTO data;
private String message;
private boolean success;
@@ -20,11 +20,11 @@
this.code = code;
}
- public DataBean getData() {
+ public DataDTO getData() {
return data;
}
- public void setData(DataBean data) {
+ public void setData(DataDTO data) {
this.data = data;
}
@@ -44,10 +44,17 @@
this.success = success;
}
- public static class DataBean {
-
+ public static class DataDTO {
+ private List rows;
private int total;
- private List rows;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
public int getTotal() {
return total;
@@ -57,26 +64,14 @@
this.total = total;
}
- public List getRows() {
- return rows;
- }
-
- public void setRows(List rows) {
- this.rows = rows;
- }
-
- public static class RowsBean {
-
+ public static class RowsDTO {
private int isPostpone;
- private int preState;
private String description;
private int source;
private String eorcName;
private String casetypeDetailName;
private String remainingTime;
private String casetypeName;
- private String currUserId;
- private String currUserName;
private String processId;
private int caseState;
private String id;
@@ -84,10 +79,10 @@
private String fieldintro;
private String lat;
private String caseStateName;
- private String preOperator;
private String lng;
private String isOvertime;
private String currRoleName;
+ private String fileIdVerify;
private String casetypeDetailCode;
private String onedeptid;
private String eorc;
@@ -95,8 +90,14 @@
private String caseid;
private String casetypeCode;
private String nodeLimittime;
+ private String taskName;
private String sourceName;
+ private String fileIdProcess;
private String reportTime;
+ private String currUserId;
+ private String currUserName;
+ private String currDeptId;
+ private String currDeptName;
private String onedeptName;
public int getIsPostpone() {
@@ -107,14 +108,6 @@
this.isPostpone = isPostpone;
}
- public int getPreState() {
- return preState;
- }
-
- public void setPreState(int preState) {
- this.preState = preState;
- }
-
public String getDescription() {
return description;
}
@@ -163,22 +156,6 @@
this.casetypeName = casetypeName;
}
- public String getCurrUserId() {
- return currUserId;
- }
-
- public void setCurrUserId(String currUserId) {
- this.currUserId = currUserId;
- }
-
- public String getCurrUserName() {
- return currUserName;
- }
-
- public void setCurrUserName(String currUserName) {
- this.currUserName = currUserName;
- }
-
public String getProcessId() {
return processId;
}
@@ -235,14 +212,6 @@
this.caseStateName = caseStateName;
}
- public String getPreOperator() {
- return preOperator;
- }
-
- public void setPreOperator(String preOperator) {
- this.preOperator = preOperator;
- }
-
public String getLng() {
return lng;
}
@@ -267,6 +236,14 @@
this.currRoleName = currRoleName;
}
+ public String getFileIdVerify() {
+ return fileIdVerify;
+ }
+
+ public void setFileIdVerify(String fileIdVerify) {
+ this.fileIdVerify = fileIdVerify;
+ }
+
public String getCasetypeDetailCode() {
return casetypeDetailCode;
}
@@ -323,6 +300,14 @@
this.nodeLimittime = nodeLimittime;
}
+ public String getTaskName() {
+ return taskName;
+ }
+
+ public void setTaskName(String taskName) {
+ this.taskName = taskName;
+ }
+
public String getSourceName() {
return sourceName;
}
@@ -331,6 +316,14 @@
this.sourceName = sourceName;
}
+ public String getFileIdProcess() {
+ return fileIdProcess;
+ }
+
+ public void setFileIdProcess(String fileIdProcess) {
+ this.fileIdProcess = fileIdProcess;
+ }
+
public String getReportTime() {
return reportTime;
}
@@ -339,6 +332,38 @@
this.reportTime = reportTime;
}
+ public String getCurrUserId() {
+ return currUserId;
+ }
+
+ public void setCurrUserId(String currUserId) {
+ this.currUserId = currUserId;
+ }
+
+ public String getCurrUserName() {
+ return currUserName;
+ }
+
+ public void setCurrUserName(String currUserName) {
+ this.currUserName = currUserName;
+ }
+
+ public String getCurrDeptId() {
+ return currDeptId;
+ }
+
+ public void setCurrDeptId(String currDeptId) {
+ this.currDeptId = currDeptId;
+ }
+
+ public String getCurrDeptName() {
+ return currDeptName;
+ }
+
+ public void setCurrDeptName(String currDeptName) {
+ this.currDeptName = currDeptName;
+ }
+
public String getOnedeptName() {
return onedeptName;
}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java
index de23222..9e72c93 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java
@@ -15,6 +15,7 @@
import com.casic.dcms.databinding.ActivityDeptAdjustBinding;
import com.casic.dcms.mvvm.model.CaseDetailBean;
import com.casic.dcms.mvvm.model.CaseNextNodeBean;
+import com.casic.dcms.mvvm.vm.CaseOperateViewModel;
import com.casic.dcms.mvvm.vm.CaseViewModel;
import com.casic.dcms.mvvm.vm.NodeViewModel;
import com.casic.dcms.utils.JzExoMedia;
@@ -40,6 +41,7 @@
private final Context context = this;
private CaseViewModel caseViewModel;
private NodeViewModel nodeViewModel;
+ private CaseOperateViewModel operateViewModel;
private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean();
private List nodeDataBeans;
private String id;
@@ -62,6 +64,7 @@
caseViewModel.obtainCaseDetail(id);
nodeViewModel = new ViewModelProvider(this).get(NodeViewModel.class);
+ operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class);
}
@Override
@@ -230,8 +233,6 @@
public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
dialog.dismiss();
viewBinding.commonTipsView.setText(tag);
-
- viewBinding.optionEditView.setText(tag);
}
}).build().show();
}
@@ -245,14 +246,28 @@
EasyToast.show(context, "还未选择操作类型");
return;
}
- String optionInput = StringHelper.filterString(viewBinding.optionEditView.getText().toString());
+ String optionInput = StringHelper.filterString(viewBinding.commonTipsView.getText().toString());
if (TextUtils.isEmpty(optionInput)) {
EasyToast.show(context, "不同意/同意的意见必须填写");
return;
}
-// caseViewModel.dispatcherHandleCase(data.getProcessId(), id,
-// String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
-// data.getProcessPersonid());
+ operateViewModel.dispatcherHandleCase(data.getProcessId(), id,
+ String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
+ data.getProcessPersonid());
+ }
+ });
+ operateViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后...");
+ } else if (loadState == LoadState.Success) {
+ OtherUtils.dismissLoadingDialog();
+ finish();
+ } else {
+ EasyToast.show(context, "处理失败,请重试");
+ OtherUtils.dismissLoadingDialog();
+ }
}
});
}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java
index 31fc6a0..f23fc0b 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java
@@ -16,6 +16,7 @@
import com.casic.dcms.mvvm.model.CaseDetailBean;
import com.casic.dcms.mvvm.model.CaseNextNodeBean;
import com.casic.dcms.mvvm.model.ProcessPersonBean;
+import com.casic.dcms.mvvm.vm.CaseOperateViewModel;
import com.casic.dcms.mvvm.vm.CaseViewModel;
import com.casic.dcms.mvvm.vm.NodeViewModel;
import com.casic.dcms.mvvm.vm.PersonViewModel;
@@ -26,6 +27,7 @@
import com.gyf.immersionbar.ImmersionBar;
import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter;
import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.utils.Constant;
import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
import com.pengxh.androidx.lite.vm.LoadState;
import com.pengxh.androidx.lite.widget.EasyToast;
@@ -36,13 +38,14 @@
import cn.jzvd.Jzvd;
-public class DeptAuthorizeDetailActivity extends AndroidxBaseActivity implements View.OnClickListener {
+public class DeptAuthorizeDetailActivity extends AndroidxBaseActivity {
private final Context context = this;
private CaseViewModel caseViewModel;
private NodeViewModel nodeViewModel;
- private List nodeDataBeans;
private PersonViewModel personViewModel;
+ private CaseOperateViewModel operateViewModel;
+ private List nodeDataBeans;
private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean();
private List personBeans;
private String id;
@@ -61,12 +64,13 @@
@Override
public void initData() {
- id = getIntent().getStringExtra("id");
+ id = getIntent().getStringExtra(Constant.INTENT_PARAM);
caseViewModel = new ViewModelProvider(this).get(CaseViewModel.class);
caseViewModel.obtainCaseDetail(id);
nodeViewModel = new ViewModelProvider(this).get(NodeViewModel.class);
personViewModel = new ViewModelProvider(this).get(PersonViewModel.class);
+ operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class);
}
@Override
@@ -192,39 +196,18 @@
}
});
- personViewModel.processPersonModel.observe(this, new Observer() {
+ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() {
@Override
- public void onChanged(ProcessPersonBean resultBean) {
- if (resultBean.getCode() == 200) {
- personBeans = resultBean.getData();
- if (personBeans.size() == 0) {
- viewBinding.caseHandlePersonView.setText("无处置人员");
- } else {
- ProcessPersonBean.DataBean dataBean = personBeans.get(0);
- taskUserId = dataBean.getId();
- viewBinding.caseHandlePersonView.setText(dataBean.getName());//默认选择第一个
- }
- viewBinding.caseHandlePersonView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
- }
+ public void onClick(View v) {
+ OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat());
}
});
- viewBinding.locationMapView.setOnClickListener(this);
- viewBinding.caseOptTypeLayout.setOnClickListener(this);
- viewBinding.casePersonLayout.setOnClickListener(this);
- viewBinding.commonTipsLayout.setOnClickListener(this);
- viewBinding.submitButton.setOnClickListener(this);
- }
-
- @Override
- public void onClick(View v) {
- int viewId = v.getId();
- if (viewId == R.id.locationMapView) {
- OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat());
- } else if (viewId == R.id.caseOptTypeLayout) {
- if (nodeDataBeans != null) {
+ viewBinding.caseOptTypeLayout.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
if (nodeDataBeans.size() >= 1) {
- QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this);
+ QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context);
sheetBuilder.setTitle("操作类型");
for (CaseNextNodeBean.DataBean dataBean : nodeDataBeans) {
sheetBuilder.addItem(dataBean.getNextOperation());
@@ -254,10 +237,29 @@
}).build().show();
}
}
- } else if (viewId == R.id.casePersonLayout) {
- if (personBeans != null) {
+ });
+ personViewModel.processPersonModel.observe(this, new Observer() {
+ @Override
+ public void onChanged(ProcessPersonBean resultBean) {
+ if (resultBean.getCode() == 200) {
+ personBeans = resultBean.getData();
+ if (personBeans.size() == 0) {
+ viewBinding.caseHandlePersonView.setText("无处置人员");
+ } else {
+ ProcessPersonBean.DataBean dataBean = personBeans.get(0);
+ taskUserId = dataBean.getId();
+ viewBinding.caseHandlePersonView.setText(dataBean.getName());//默认选择第一个
+ }
+ viewBinding.caseHandlePersonView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
+ }
+ }
+ });
+
+ viewBinding.casePersonLayout.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
if (personBeans.size() >= 1) {
- QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this);
+ QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context);
sheetBuilder.setTitle("处置人员");
for (ProcessPersonBean.DataBean dataBean : personBeans) {
sheetBuilder.addItem(dataBean.getName());
@@ -274,50 +276,71 @@
}).build().show();
}
}
- } else if (viewId == R.id.commonTipsLayout) {
- new QMUIBottomSheet.BottomListSheetBuilder(this)
- .setTitle("常见用语")
- .addItem("请及时处理")
- .addItem("调查后及时回复")
- .setGravityCenter(true)
- .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
- @Override
- public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
- dialog.dismiss();
- viewBinding.commonTipsView.setText(tag);
- viewBinding.commonTipsView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
+ });
- viewBinding.optionEditView.setText(tag);
- viewBinding.commonTipsView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
- }
- }).build().show();
- } else if (viewId == R.id.submitButton) {
- String optType = viewBinding.optTypeView.getText().toString();
- if (optType.equals("")) {
- EasyToast.show(this, "还未选择操作类型");
- return;
+ viewBinding.commonTipsLayout.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ new QMUIBottomSheet.BottomListSheetBuilder(context)
+ .setTitle("常见用语")
+ .addItem("请及时处理")
+ .addItem("调查后及时回复")
+ .setGravityCenter(true)
+ .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
+ @Override
+ public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
+ dialog.dismiss();
+ viewBinding.commonTipsView.setText(tag);
+ viewBinding.commonTipsView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
+ }
+ }).build().show();
}
- if (optType.equals("返回处理")) {
- //选择处理人员时,必选一个处置人员
- String handlePerson = viewBinding.caseHandlePersonView.getText().toString();
- if (handlePerson.equals("")) {
- EasyToast.show(this, "当前状态必须指定处置员");
+ });
+
+ viewBinding.submitButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ String optType = viewBinding.optTypeView.getText().toString();
+ if (optType.equals("")) {
+ EasyToast.show(context, "还未选择操作类型");
return;
}
+ if (optType.equals("返回处理")) {
+ //选择处理人员时,必选一个处置人员
+ String handlePerson = viewBinding.caseHandlePersonView.getText().toString();
+ if (handlePerson.equals("")) {
+ EasyToast.show(context, "当前状态必须指定处置员");
+ return;
+ }
+ }
+ String optionInput = StringHelper.filterString(viewBinding.commonTipsView.getText().toString());
+ if (TextUtils.isEmpty(optionInput)) {
+ EasyToast.show(context, "处理意见必须填写");
+ return;
+ }
+ //只有选择返回处理的时候taskUserId才会不为空,否则用当前流程人员的id代替
+ if (TextUtils.isEmpty(taskUserId)) {
+ taskUserId = data.getProcessPersonid();
+ }
+ operateViewModel.dispatcherHandleCase(data.getProcessId(), id,
+ String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
+ taskUserId);
}
- String optionInput = StringHelper.filterString(viewBinding.optionEditView.getText().toString());
- if (TextUtils.isEmpty(optionInput)) {
- EasyToast.show(this, "处理意见必须填写");
- return;
+ });
+ operateViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后...");
+ } else if (loadState == LoadState.Success) {
+ OtherUtils.dismissLoadingDialog();
+ finish();
+ } else {
+ EasyToast.show(context, "处理失败,请重试");
+ OtherUtils.dismissLoadingDialog();
+ }
}
- //只有选择返回处理的时候taskUserId才会不为空,否则用当前流程人员的id代替
- if (TextUtils.isEmpty(taskUserId)) {
- taskUserId = data.getProcessPersonid();
- }
-// caseViewModel.dispatcherHandleCase(data.getProcessId(), id,
-// String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
-// taskUserId);
- }
+ });
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptHandleActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptHandleActivity.java
index 694bbd5..ca49b3d 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptHandleActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptHandleActivity.java
@@ -18,6 +18,7 @@
import com.casic.dcms.utils.LocaleConstant;
import com.gyf.immersionbar.ImmersionBar;
import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.utils.DeviceSizeUtil;
import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
import java.util.ArrayList;
@@ -49,8 +50,9 @@
//绑定TabLayout
viewBinding.tabLayout.setupWithViewPager(viewBinding.viewPager);
LinearLayout linearLayout = (LinearLayout) viewBinding.tabLayout.getChildAt(0);
- linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical));
+ linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
+ linearLayout.setDividerPadding(DeviceSizeUtil.dp2px(this, 12.5f));
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java
index b8b9c59..9686049 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java
@@ -17,9 +17,9 @@
import com.casic.dcms.mvvm.model.CaseDetailBean;
import com.casic.dcms.mvvm.model.CaseNextNodeBean;
import com.casic.dcms.mvvm.model.ProcessPersonBean;
+import com.casic.dcms.mvvm.vm.CaseOperateViewModel;
import com.casic.dcms.mvvm.vm.CaseViewModel;
import com.casic.dcms.mvvm.vm.NodeViewModel;
-import com.casic.dcms.mvvm.vm.PersonViewModel;
import com.casic.dcms.utils.JzExoMedia;
import com.casic.dcms.utils.OtherUtils;
import com.casic.dcms.utils.StringHelper;
@@ -40,7 +40,7 @@
private final Context context = this;
private CaseViewModel caseViewModel;
private NodeViewModel nodeViewModel;
- private PersonViewModel personViewModel;
+ private CaseOperateViewModel operateViewModel;
private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean();
private List personBeans;
private String id;
@@ -66,7 +66,7 @@
caseViewModel.obtainCaseDetail(id);
nodeViewModel = new ViewModelProvider(this).get(NodeViewModel.class);
- personViewModel = new ViewModelProvider(this).get(PersonViewModel.class);
+ operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class);
}
@Override
@@ -216,60 +216,12 @@
CaseNextNodeBean.DataBean nodeBean = nodeDataBeans.get(position);
changeState = String.valueOf(nodeBean.getNextState());
operationKey = nodeBean.getOperationKey();
-
- if (tag.equals("返回处理") || tag.equals("处置人员")) {
- viewBinding.casePersonLayout.setVisibility(View.VISIBLE);
- viewBinding.personLine.setVisibility(View.VISIBLE);
-
- //获取下级处置人员名单
- personViewModel.obtainSubordinatePerson();
- } else {
- viewBinding.casePersonLayout.setVisibility(View.GONE);
- viewBinding.personLine.setVisibility(View.GONE);
- }
}
}).build().show();
}
}
});
- viewBinding.casePersonLayout.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (personBeans.size() >= 1) {
- QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context);
- sheetBuilder.setTitle("处置人员");
- for (ProcessPersonBean.DataBean dataBean : personBeans) {
- sheetBuilder.addItem(dataBean.getName());
- }
- sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
- @Override
- public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
- dialog.dismiss();
- viewBinding.caseHandlePersonView.setText(tag);
-
- taskUserId = personBeans.get(position).getId();
- }
- }).build().show();
- }
- }
- });
- personViewModel.processPersonModel.observe(this, new Observer() {
- @Override
- public void onChanged(ProcessPersonBean resultBean) {
- if (resultBean.isSuccess()) {
- personBeans = resultBean.getData();
- if (personBeans.size() == 0) {
- viewBinding.caseHandlePersonView.setText("无处置人员");
- } else {
- ProcessPersonBean.DataBean dataBean = personBeans.get(0);
- taskUserId = dataBean.getId();
- viewBinding.caseHandlePersonView.setText(dataBean.getName());//默认选择第一个
- }
- }
- }
- });
-
viewBinding.commonTipsLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -283,8 +235,6 @@
public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
dialog.dismiss();
viewBinding.commonTipsView.setText(tag);
-
- viewBinding.optionEditView.setText(tag);
}
}).build().show();
}
@@ -298,21 +248,27 @@
EasyToast.show(context, "还未选择操作类型");
return;
}
- if (optType.equals("处置人员") || optType.equals("返回处理")) {
- //选择处理人员时,必选一个处置人员
- String handlePerson = viewBinding.caseHandlePersonView.getText().toString();
- if (handlePerson.equals("")) {
- EasyToast.show(context, "当前状态必须指定处置员");
- return;
- }
- }
- String optionInput = StringHelper.filterString(viewBinding.optionEditView.getText().toString());
+ String optionInput = StringHelper.filterString(viewBinding.commonTipsView.getText().toString());
if (TextUtils.isEmpty(optionInput)) {
EasyToast.show(context, "处理意见必须填写");
return;
}
-// caseViewModel.dispatcherHandleCase(data.getProcessId(), id,
-// String.valueOf(data.getCaseState()), changeState, optionInput, operationKey, taskUserId);
+ operateViewModel.dispatcherHandleCase(data.getProcessId(), id,
+ String.valueOf(data.getCaseState()), changeState, optionInput, operationKey, taskUserId);
+ }
+ });
+ operateViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后...");
+ } else if (loadState == LoadState.Success) {
+ OtherUtils.dismissLoadingDialog();
+ finish();
+ } else {
+ EasyToast.show(context, "处理失败,请重试");
+ OtherUtils.dismissLoadingDialog();
+ }
}
});
}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseHandledFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseHandledFragment.java
index 0a65c11..7b65a54 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseHandledFragment.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseHandledFragment.java
@@ -29,7 +29,7 @@
private WeakReferenceHandler weakReferenceHandler;
private DeptHandleViewModel handleViewModel;
private DeptTodoOrHandledAdapter adapter;
- private List dataBeans = new ArrayList<>();
+ private List dataBeans = new ArrayList<>();
private int pageIndex = 1;
private boolean isRefresh, isLoadMore = false;
@@ -78,7 +78,7 @@
@Override
public void onChanged(DeptCaseBean resultBean) {
if (resultBean.isSuccess()) {
- List dataRows = resultBean.getData().getRows();
+ List dataRows = resultBean.getData().getRows();
if (isRefresh) {
dataBeans.clear();//下拉刷新必须先清空之前的List,不然会出现数据重复的问题
dataBeans = dataRows;
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseProcessFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseProcessFragment.java
index 8d780d7..a7948e0 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseProcessFragment.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseProcessFragment.java
@@ -30,7 +30,7 @@
private WeakReferenceHandler weakReferenceHandler;
private DeptHandleViewModel handleViewModel;
private DeptTodoOrHandledAdapter adapter;
- private List dataBeans = new ArrayList<>();
+ private List dataBeans = new ArrayList<>();
private int pageIndex = 1;
private boolean isRefresh, isLoadMore = false;
@@ -79,7 +79,7 @@
@Override
public void onChanged(DeptCaseBean resultBean) {
if (resultBean.isSuccess()) {
- List dataRows = resultBean.getData().getRows();
+ List dataRows = resultBean.getData().getRows();
if (isRefresh) {
dataBeans.clear();//下拉刷新必须先清空之前的List,不然会出现数据重复的问题
dataBeans = dataRows;
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseTodoFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseTodoFragment.java
index a807209..e4c8eaf 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseTodoFragment.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseTodoFragment.java
@@ -30,7 +30,7 @@
private WeakReferenceHandler weakReferenceHandler;
private DeptHandleViewModel handleViewModel;
private DeptTodoOrHandledAdapter adapter;
- private List dataBeans = new ArrayList<>();
+ private List dataBeans = new ArrayList<>();
private int pageIndex = 1;
private boolean isRefresh, isLoadMore = false;
@@ -79,7 +79,7 @@
@Override
public void onChanged(DeptCaseBean resultBean) {
if (resultBean.getCode() == 200) {
- List dataRows = resultBean.getData().getRows();
+ List dataRows = resultBean.getData().getRows();
if (isRefresh) {
dataBeans.clear();//下拉刷新必须先清空之前的List,不然会出现数据重复的问题
dataBeans = dataRows;
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 552f6c3..d6ee830 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -35,6 +35,10 @@
+
+
+
+
@@ -48,6 +52,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java b/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
index 6c4a6a6..1fafc8b 100644
--- a/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
+++ b/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
@@ -11,35 +11,35 @@
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
+import com.bumptech.glide.Glide;
import com.casic.dcms.R;
import com.casic.dcms.mvvm.model.DeptCaseBean;
import com.casic.dcms.utils.StringHelper;
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView;
import java.util.List;
-/**
- * {@link PackageCaseListAdapter 不适用二级派遣员部门处置列表,因为该列表不光有三包案卷,还有普通案卷}
- */
public class DeptTodoOrHandledAdapter extends RecyclerView.Adapter {
- private final List dataBeans;
+ private final Context context;
+ private final List dataBeans;
private final LayoutInflater layoutInflater;
private PunishTypeAdapter adapter;
- public DeptTodoOrHandledAdapter(Context context, List dataRows) {
+ public DeptTodoOrHandledAdapter(Context context, List dataRows) {
+ this.context = context;
this.dataBeans = dataRows;
layoutInflater = LayoutInflater.from(context);
}
@NonNull
@Override
- public DeptTodoOrHandledAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = layoutInflater.inflate(R.layout.item_case_rv, parent, false);
- return new ItemViewHolder(view);
+ 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 DeptTodoOrHandledAdapter.ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
holder.bindView(dataBeans.get(position));
if (clickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@@ -56,28 +56,30 @@
return dataBeans.size();
}
- static class ItemViewHolder extends RecyclerView.ViewHolder {
+ class ItemViewHolder extends RecyclerView.ViewHolder {
-// private final TextView leftTextView;
+ private final QMUIRadiusImageView caseImageView;
private final TextView caseTitleView;
private final TextView casePlaceView;
private final TextView caseTimeView;
ItemViewHolder(@NonNull View itemView) {
super(itemView);
-// leftTextView = itemView.findViewById(R.id.leftTextView);
+ caseImageView = itemView.findViewById(R.id.caseImageView);
caseTitleView = itemView.findViewById(R.id.caseTitleView);
casePlaceView = itemView.findViewById(R.id.casePlaceView);
caseTimeView = itemView.findViewById(R.id.caseTimeView);
}
- @SuppressLint("SetTextI18n")
- void bindView(DeptCaseBean.DataBean.RowsBean rowsBean) {
- String eorcName = rowsBean.getEorcName();
- if (TextUtils.isEmpty(eorcName)) {
- eorcName = "未知";
+ void bindView(DeptCaseBean.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);
+ }
}
-// 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/mvvm/model/DeptCaseBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/DeptCaseBean.java
index 1a4ac47..79163d8 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/model/DeptCaseBean.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/model/DeptCaseBean.java
@@ -8,7 +8,7 @@
public class DeptCaseBean {
private int code;
- private DataBean data;
+ private DataDTO data;
private String message;
private boolean success;
@@ -20,11 +20,11 @@
this.code = code;
}
- public DataBean getData() {
+ public DataDTO getData() {
return data;
}
- public void setData(DataBean data) {
+ public void setData(DataDTO data) {
this.data = data;
}
@@ -44,10 +44,17 @@
this.success = success;
}
- public static class DataBean {
-
+ public static class DataDTO {
+ private List rows;
private int total;
- private List rows;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
public int getTotal() {
return total;
@@ -57,26 +64,14 @@
this.total = total;
}
- public List getRows() {
- return rows;
- }
-
- public void setRows(List rows) {
- this.rows = rows;
- }
-
- public static class RowsBean {
-
+ public static class RowsDTO {
private int isPostpone;
- private int preState;
private String description;
private int source;
private String eorcName;
private String casetypeDetailName;
private String remainingTime;
private String casetypeName;
- private String currUserId;
- private String currUserName;
private String processId;
private int caseState;
private String id;
@@ -84,10 +79,10 @@
private String fieldintro;
private String lat;
private String caseStateName;
- private String preOperator;
private String lng;
private String isOvertime;
private String currRoleName;
+ private String fileIdVerify;
private String casetypeDetailCode;
private String onedeptid;
private String eorc;
@@ -95,8 +90,14 @@
private String caseid;
private String casetypeCode;
private String nodeLimittime;
+ private String taskName;
private String sourceName;
+ private String fileIdProcess;
private String reportTime;
+ private String currUserId;
+ private String currUserName;
+ private String currDeptId;
+ private String currDeptName;
private String onedeptName;
public int getIsPostpone() {
@@ -107,14 +108,6 @@
this.isPostpone = isPostpone;
}
- public int getPreState() {
- return preState;
- }
-
- public void setPreState(int preState) {
- this.preState = preState;
- }
-
public String getDescription() {
return description;
}
@@ -163,22 +156,6 @@
this.casetypeName = casetypeName;
}
- public String getCurrUserId() {
- return currUserId;
- }
-
- public void setCurrUserId(String currUserId) {
- this.currUserId = currUserId;
- }
-
- public String getCurrUserName() {
- return currUserName;
- }
-
- public void setCurrUserName(String currUserName) {
- this.currUserName = currUserName;
- }
-
public String getProcessId() {
return processId;
}
@@ -235,14 +212,6 @@
this.caseStateName = caseStateName;
}
- public String getPreOperator() {
- return preOperator;
- }
-
- public void setPreOperator(String preOperator) {
- this.preOperator = preOperator;
- }
-
public String getLng() {
return lng;
}
@@ -267,6 +236,14 @@
this.currRoleName = currRoleName;
}
+ public String getFileIdVerify() {
+ return fileIdVerify;
+ }
+
+ public void setFileIdVerify(String fileIdVerify) {
+ this.fileIdVerify = fileIdVerify;
+ }
+
public String getCasetypeDetailCode() {
return casetypeDetailCode;
}
@@ -323,6 +300,14 @@
this.nodeLimittime = nodeLimittime;
}
+ public String getTaskName() {
+ return taskName;
+ }
+
+ public void setTaskName(String taskName) {
+ this.taskName = taskName;
+ }
+
public String getSourceName() {
return sourceName;
}
@@ -331,6 +316,14 @@
this.sourceName = sourceName;
}
+ public String getFileIdProcess() {
+ return fileIdProcess;
+ }
+
+ public void setFileIdProcess(String fileIdProcess) {
+ this.fileIdProcess = fileIdProcess;
+ }
+
public String getReportTime() {
return reportTime;
}
@@ -339,6 +332,38 @@
this.reportTime = reportTime;
}
+ public String getCurrUserId() {
+ return currUserId;
+ }
+
+ public void setCurrUserId(String currUserId) {
+ this.currUserId = currUserId;
+ }
+
+ public String getCurrUserName() {
+ return currUserName;
+ }
+
+ public void setCurrUserName(String currUserName) {
+ this.currUserName = currUserName;
+ }
+
+ public String getCurrDeptId() {
+ return currDeptId;
+ }
+
+ public void setCurrDeptId(String currDeptId) {
+ this.currDeptId = currDeptId;
+ }
+
+ public String getCurrDeptName() {
+ return currDeptName;
+ }
+
+ public void setCurrDeptName(String currDeptName) {
+ this.currDeptName = currDeptName;
+ }
+
public String getOnedeptName() {
return onedeptName;
}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java
index de23222..9e72c93 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java
@@ -15,6 +15,7 @@
import com.casic.dcms.databinding.ActivityDeptAdjustBinding;
import com.casic.dcms.mvvm.model.CaseDetailBean;
import com.casic.dcms.mvvm.model.CaseNextNodeBean;
+import com.casic.dcms.mvvm.vm.CaseOperateViewModel;
import com.casic.dcms.mvvm.vm.CaseViewModel;
import com.casic.dcms.mvvm.vm.NodeViewModel;
import com.casic.dcms.utils.JzExoMedia;
@@ -40,6 +41,7 @@
private final Context context = this;
private CaseViewModel caseViewModel;
private NodeViewModel nodeViewModel;
+ private CaseOperateViewModel operateViewModel;
private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean();
private List nodeDataBeans;
private String id;
@@ -62,6 +64,7 @@
caseViewModel.obtainCaseDetail(id);
nodeViewModel = new ViewModelProvider(this).get(NodeViewModel.class);
+ operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class);
}
@Override
@@ -230,8 +233,6 @@
public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
dialog.dismiss();
viewBinding.commonTipsView.setText(tag);
-
- viewBinding.optionEditView.setText(tag);
}
}).build().show();
}
@@ -245,14 +246,28 @@
EasyToast.show(context, "还未选择操作类型");
return;
}
- String optionInput = StringHelper.filterString(viewBinding.optionEditView.getText().toString());
+ String optionInput = StringHelper.filterString(viewBinding.commonTipsView.getText().toString());
if (TextUtils.isEmpty(optionInput)) {
EasyToast.show(context, "不同意/同意的意见必须填写");
return;
}
-// caseViewModel.dispatcherHandleCase(data.getProcessId(), id,
-// String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
-// data.getProcessPersonid());
+ operateViewModel.dispatcherHandleCase(data.getProcessId(), id,
+ String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
+ data.getProcessPersonid());
+ }
+ });
+ operateViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后...");
+ } else if (loadState == LoadState.Success) {
+ OtherUtils.dismissLoadingDialog();
+ finish();
+ } else {
+ EasyToast.show(context, "处理失败,请重试");
+ OtherUtils.dismissLoadingDialog();
+ }
}
});
}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java
index 31fc6a0..f23fc0b 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java
@@ -16,6 +16,7 @@
import com.casic.dcms.mvvm.model.CaseDetailBean;
import com.casic.dcms.mvvm.model.CaseNextNodeBean;
import com.casic.dcms.mvvm.model.ProcessPersonBean;
+import com.casic.dcms.mvvm.vm.CaseOperateViewModel;
import com.casic.dcms.mvvm.vm.CaseViewModel;
import com.casic.dcms.mvvm.vm.NodeViewModel;
import com.casic.dcms.mvvm.vm.PersonViewModel;
@@ -26,6 +27,7 @@
import com.gyf.immersionbar.ImmersionBar;
import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter;
import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.utils.Constant;
import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
import com.pengxh.androidx.lite.vm.LoadState;
import com.pengxh.androidx.lite.widget.EasyToast;
@@ -36,13 +38,14 @@
import cn.jzvd.Jzvd;
-public class DeptAuthorizeDetailActivity extends AndroidxBaseActivity implements View.OnClickListener {
+public class DeptAuthorizeDetailActivity extends AndroidxBaseActivity {
private final Context context = this;
private CaseViewModel caseViewModel;
private NodeViewModel nodeViewModel;
- private List nodeDataBeans;
private PersonViewModel personViewModel;
+ private CaseOperateViewModel operateViewModel;
+ private List nodeDataBeans;
private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean();
private List personBeans;
private String id;
@@ -61,12 +64,13 @@
@Override
public void initData() {
- id = getIntent().getStringExtra("id");
+ id = getIntent().getStringExtra(Constant.INTENT_PARAM);
caseViewModel = new ViewModelProvider(this).get(CaseViewModel.class);
caseViewModel.obtainCaseDetail(id);
nodeViewModel = new ViewModelProvider(this).get(NodeViewModel.class);
personViewModel = new ViewModelProvider(this).get(PersonViewModel.class);
+ operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class);
}
@Override
@@ -192,39 +196,18 @@
}
});
- personViewModel.processPersonModel.observe(this, new Observer() {
+ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() {
@Override
- public void onChanged(ProcessPersonBean resultBean) {
- if (resultBean.getCode() == 200) {
- personBeans = resultBean.getData();
- if (personBeans.size() == 0) {
- viewBinding.caseHandlePersonView.setText("无处置人员");
- } else {
- ProcessPersonBean.DataBean dataBean = personBeans.get(0);
- taskUserId = dataBean.getId();
- viewBinding.caseHandlePersonView.setText(dataBean.getName());//默认选择第一个
- }
- viewBinding.caseHandlePersonView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
- }
+ public void onClick(View v) {
+ OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat());
}
});
- viewBinding.locationMapView.setOnClickListener(this);
- viewBinding.caseOptTypeLayout.setOnClickListener(this);
- viewBinding.casePersonLayout.setOnClickListener(this);
- viewBinding.commonTipsLayout.setOnClickListener(this);
- viewBinding.submitButton.setOnClickListener(this);
- }
-
- @Override
- public void onClick(View v) {
- int viewId = v.getId();
- if (viewId == R.id.locationMapView) {
- OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat());
- } else if (viewId == R.id.caseOptTypeLayout) {
- if (nodeDataBeans != null) {
+ viewBinding.caseOptTypeLayout.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
if (nodeDataBeans.size() >= 1) {
- QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this);
+ QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context);
sheetBuilder.setTitle("操作类型");
for (CaseNextNodeBean.DataBean dataBean : nodeDataBeans) {
sheetBuilder.addItem(dataBean.getNextOperation());
@@ -254,10 +237,29 @@
}).build().show();
}
}
- } else if (viewId == R.id.casePersonLayout) {
- if (personBeans != null) {
+ });
+ personViewModel.processPersonModel.observe(this, new Observer() {
+ @Override
+ public void onChanged(ProcessPersonBean resultBean) {
+ if (resultBean.getCode() == 200) {
+ personBeans = resultBean.getData();
+ if (personBeans.size() == 0) {
+ viewBinding.caseHandlePersonView.setText("无处置人员");
+ } else {
+ ProcessPersonBean.DataBean dataBean = personBeans.get(0);
+ taskUserId = dataBean.getId();
+ viewBinding.caseHandlePersonView.setText(dataBean.getName());//默认选择第一个
+ }
+ viewBinding.caseHandlePersonView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
+ }
+ }
+ });
+
+ viewBinding.casePersonLayout.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
if (personBeans.size() >= 1) {
- QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this);
+ QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context);
sheetBuilder.setTitle("处置人员");
for (ProcessPersonBean.DataBean dataBean : personBeans) {
sheetBuilder.addItem(dataBean.getName());
@@ -274,50 +276,71 @@
}).build().show();
}
}
- } else if (viewId == R.id.commonTipsLayout) {
- new QMUIBottomSheet.BottomListSheetBuilder(this)
- .setTitle("常见用语")
- .addItem("请及时处理")
- .addItem("调查后及时回复")
- .setGravityCenter(true)
- .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
- @Override
- public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
- dialog.dismiss();
- viewBinding.commonTipsView.setText(tag);
- viewBinding.commonTipsView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
+ });
- viewBinding.optionEditView.setText(tag);
- viewBinding.commonTipsView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
- }
- }).build().show();
- } else if (viewId == R.id.submitButton) {
- String optType = viewBinding.optTypeView.getText().toString();
- if (optType.equals("")) {
- EasyToast.show(this, "还未选择操作类型");
- return;
+ viewBinding.commonTipsLayout.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ new QMUIBottomSheet.BottomListSheetBuilder(context)
+ .setTitle("常见用语")
+ .addItem("请及时处理")
+ .addItem("调查后及时回复")
+ .setGravityCenter(true)
+ .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
+ @Override
+ public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
+ dialog.dismiss();
+ viewBinding.commonTipsView.setText(tag);
+ viewBinding.commonTipsView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
+ }
+ }).build().show();
}
- if (optType.equals("返回处理")) {
- //选择处理人员时,必选一个处置人员
- String handlePerson = viewBinding.caseHandlePersonView.getText().toString();
- if (handlePerson.equals("")) {
- EasyToast.show(this, "当前状态必须指定处置员");
+ });
+
+ viewBinding.submitButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ String optType = viewBinding.optTypeView.getText().toString();
+ if (optType.equals("")) {
+ EasyToast.show(context, "还未选择操作类型");
return;
}
+ if (optType.equals("返回处理")) {
+ //选择处理人员时,必选一个处置人员
+ String handlePerson = viewBinding.caseHandlePersonView.getText().toString();
+ if (handlePerson.equals("")) {
+ EasyToast.show(context, "当前状态必须指定处置员");
+ return;
+ }
+ }
+ String optionInput = StringHelper.filterString(viewBinding.commonTipsView.getText().toString());
+ if (TextUtils.isEmpty(optionInput)) {
+ EasyToast.show(context, "处理意见必须填写");
+ return;
+ }
+ //只有选择返回处理的时候taskUserId才会不为空,否则用当前流程人员的id代替
+ if (TextUtils.isEmpty(taskUserId)) {
+ taskUserId = data.getProcessPersonid();
+ }
+ operateViewModel.dispatcherHandleCase(data.getProcessId(), id,
+ String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
+ taskUserId);
}
- String optionInput = StringHelper.filterString(viewBinding.optionEditView.getText().toString());
- if (TextUtils.isEmpty(optionInput)) {
- EasyToast.show(this, "处理意见必须填写");
- return;
+ });
+ operateViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后...");
+ } else if (loadState == LoadState.Success) {
+ OtherUtils.dismissLoadingDialog();
+ finish();
+ } else {
+ EasyToast.show(context, "处理失败,请重试");
+ OtherUtils.dismissLoadingDialog();
+ }
}
- //只有选择返回处理的时候taskUserId才会不为空,否则用当前流程人员的id代替
- if (TextUtils.isEmpty(taskUserId)) {
- taskUserId = data.getProcessPersonid();
- }
-// caseViewModel.dispatcherHandleCase(data.getProcessId(), id,
-// String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
-// taskUserId);
- }
+ });
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptHandleActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptHandleActivity.java
index 694bbd5..ca49b3d 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptHandleActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptHandleActivity.java
@@ -18,6 +18,7 @@
import com.casic.dcms.utils.LocaleConstant;
import com.gyf.immersionbar.ImmersionBar;
import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.utils.DeviceSizeUtil;
import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
import java.util.ArrayList;
@@ -49,8 +50,9 @@
//绑定TabLayout
viewBinding.tabLayout.setupWithViewPager(viewBinding.viewPager);
LinearLayout linearLayout = (LinearLayout) viewBinding.tabLayout.getChildAt(0);
- linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical));
+ linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
+ linearLayout.setDividerPadding(DeviceSizeUtil.dp2px(this, 12.5f));
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java
index b8b9c59..9686049 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java
@@ -17,9 +17,9 @@
import com.casic.dcms.mvvm.model.CaseDetailBean;
import com.casic.dcms.mvvm.model.CaseNextNodeBean;
import com.casic.dcms.mvvm.model.ProcessPersonBean;
+import com.casic.dcms.mvvm.vm.CaseOperateViewModel;
import com.casic.dcms.mvvm.vm.CaseViewModel;
import com.casic.dcms.mvvm.vm.NodeViewModel;
-import com.casic.dcms.mvvm.vm.PersonViewModel;
import com.casic.dcms.utils.JzExoMedia;
import com.casic.dcms.utils.OtherUtils;
import com.casic.dcms.utils.StringHelper;
@@ -40,7 +40,7 @@
private final Context context = this;
private CaseViewModel caseViewModel;
private NodeViewModel nodeViewModel;
- private PersonViewModel personViewModel;
+ private CaseOperateViewModel operateViewModel;
private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean();
private List personBeans;
private String id;
@@ -66,7 +66,7 @@
caseViewModel.obtainCaseDetail(id);
nodeViewModel = new ViewModelProvider(this).get(NodeViewModel.class);
- personViewModel = new ViewModelProvider(this).get(PersonViewModel.class);
+ operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class);
}
@Override
@@ -216,60 +216,12 @@
CaseNextNodeBean.DataBean nodeBean = nodeDataBeans.get(position);
changeState = String.valueOf(nodeBean.getNextState());
operationKey = nodeBean.getOperationKey();
-
- if (tag.equals("返回处理") || tag.equals("处置人员")) {
- viewBinding.casePersonLayout.setVisibility(View.VISIBLE);
- viewBinding.personLine.setVisibility(View.VISIBLE);
-
- //获取下级处置人员名单
- personViewModel.obtainSubordinatePerson();
- } else {
- viewBinding.casePersonLayout.setVisibility(View.GONE);
- viewBinding.personLine.setVisibility(View.GONE);
- }
}
}).build().show();
}
}
});
- viewBinding.casePersonLayout.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (personBeans.size() >= 1) {
- QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context);
- sheetBuilder.setTitle("处置人员");
- for (ProcessPersonBean.DataBean dataBean : personBeans) {
- sheetBuilder.addItem(dataBean.getName());
- }
- sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
- @Override
- public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
- dialog.dismiss();
- viewBinding.caseHandlePersonView.setText(tag);
-
- taskUserId = personBeans.get(position).getId();
- }
- }).build().show();
- }
- }
- });
- personViewModel.processPersonModel.observe(this, new Observer() {
- @Override
- public void onChanged(ProcessPersonBean resultBean) {
- if (resultBean.isSuccess()) {
- personBeans = resultBean.getData();
- if (personBeans.size() == 0) {
- viewBinding.caseHandlePersonView.setText("无处置人员");
- } else {
- ProcessPersonBean.DataBean dataBean = personBeans.get(0);
- taskUserId = dataBean.getId();
- viewBinding.caseHandlePersonView.setText(dataBean.getName());//默认选择第一个
- }
- }
- }
- });
-
viewBinding.commonTipsLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -283,8 +235,6 @@
public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
dialog.dismiss();
viewBinding.commonTipsView.setText(tag);
-
- viewBinding.optionEditView.setText(tag);
}
}).build().show();
}
@@ -298,21 +248,27 @@
EasyToast.show(context, "还未选择操作类型");
return;
}
- if (optType.equals("处置人员") || optType.equals("返回处理")) {
- //选择处理人员时,必选一个处置人员
- String handlePerson = viewBinding.caseHandlePersonView.getText().toString();
- if (handlePerson.equals("")) {
- EasyToast.show(context, "当前状态必须指定处置员");
- return;
- }
- }
- String optionInput = StringHelper.filterString(viewBinding.optionEditView.getText().toString());
+ String optionInput = StringHelper.filterString(viewBinding.commonTipsView.getText().toString());
if (TextUtils.isEmpty(optionInput)) {
EasyToast.show(context, "处理意见必须填写");
return;
}
-// caseViewModel.dispatcherHandleCase(data.getProcessId(), id,
-// String.valueOf(data.getCaseState()), changeState, optionInput, operationKey, taskUserId);
+ operateViewModel.dispatcherHandleCase(data.getProcessId(), id,
+ String.valueOf(data.getCaseState()), changeState, optionInput, operationKey, taskUserId);
+ }
+ });
+ operateViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后...");
+ } else if (loadState == LoadState.Success) {
+ OtherUtils.dismissLoadingDialog();
+ finish();
+ } else {
+ EasyToast.show(context, "处理失败,请重试");
+ OtherUtils.dismissLoadingDialog();
+ }
}
});
}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseHandledFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseHandledFragment.java
index 0a65c11..7b65a54 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseHandledFragment.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseHandledFragment.java
@@ -29,7 +29,7 @@
private WeakReferenceHandler weakReferenceHandler;
private DeptHandleViewModel handleViewModel;
private DeptTodoOrHandledAdapter adapter;
- private List dataBeans = new ArrayList<>();
+ private List dataBeans = new ArrayList<>();
private int pageIndex = 1;
private boolean isRefresh, isLoadMore = false;
@@ -78,7 +78,7 @@
@Override
public void onChanged(DeptCaseBean resultBean) {
if (resultBean.isSuccess()) {
- List dataRows = resultBean.getData().getRows();
+ List dataRows = resultBean.getData().getRows();
if (isRefresh) {
dataBeans.clear();//下拉刷新必须先清空之前的List,不然会出现数据重复的问题
dataBeans = dataRows;
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseProcessFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseProcessFragment.java
index 8d780d7..a7948e0 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseProcessFragment.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseProcessFragment.java
@@ -30,7 +30,7 @@
private WeakReferenceHandler weakReferenceHandler;
private DeptHandleViewModel handleViewModel;
private DeptTodoOrHandledAdapter adapter;
- private List dataBeans = new ArrayList<>();
+ private List dataBeans = new ArrayList<>();
private int pageIndex = 1;
private boolean isRefresh, isLoadMore = false;
@@ -79,7 +79,7 @@
@Override
public void onChanged(DeptCaseBean resultBean) {
if (resultBean.isSuccess()) {
- List dataRows = resultBean.getData().getRows();
+ List dataRows = resultBean.getData().getRows();
if (isRefresh) {
dataBeans.clear();//下拉刷新必须先清空之前的List,不然会出现数据重复的问题
dataBeans = dataRows;
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseTodoFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseTodoFragment.java
index a807209..e4c8eaf 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseTodoFragment.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseTodoFragment.java
@@ -30,7 +30,7 @@
private WeakReferenceHandler weakReferenceHandler;
private DeptHandleViewModel handleViewModel;
private DeptTodoOrHandledAdapter adapter;
- private List dataBeans = new ArrayList<>();
+ private List dataBeans = new ArrayList<>();
private int pageIndex = 1;
private boolean isRefresh, isLoadMore = false;
@@ -79,7 +79,7 @@
@Override
public void onChanged(DeptCaseBean resultBean) {
if (resultBean.getCode() == 200) {
- List dataRows = resultBean.getData().getRows();
+ List dataRows = resultBean.getData().getRows();
if (isRefresh) {
dataBeans.clear();//下拉刷新必须先清空之前的List,不然会出现数据重复的问题
dataBeans = dataRows;
diff --git a/app/src/main/java/com/casic/dcms/mvvm/vm/CaseOperateViewModel.java b/app/src/main/java/com/casic/dcms/mvvm/vm/CaseOperateViewModel.java
index 7969714..dbccfee 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/vm/CaseOperateViewModel.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/vm/CaseOperateViewModel.java
@@ -258,16 +258,17 @@
}
public void dispatcherHandleCase(String processId, String bizId, String currState, String changeState, String remarks, String operationKey, String taskUserId) {
+ loadState.setValue(LoadState.Loading);
Observable observable = RetrofitServiceManager.getDispatcherHandleCaseResult(processId, bizId, currState, changeState, remarks, operationKey, taskUserId);
ObserverSubscriber.addSubscribe(observable, new OnObserverCallback() {
@Override
public void onCompleted() {
-
+ loadState.setValue(LoadState.Success);
}
@Override
public void onError(Throwable e) {
-
+ loadState.setValue(LoadState.Fail);
}
@Override
@@ -279,6 +280,8 @@
ActionResultBean resultBean = gson.fromJson(response, new TypeToken() {
}.getType());
dispatcherHandleActionModel.setValue(resultBean);
+ } else {
+ loadState.setValue(LoadState.Fail);
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 552f6c3..d6ee830 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -35,6 +35,10 @@
+
+
+
+
@@ -48,6 +52,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java b/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
index 6c4a6a6..1fafc8b 100644
--- a/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
+++ b/app/src/main/java/com/casic/dcms/adapter/DeptTodoOrHandledAdapter.java
@@ -11,35 +11,35 @@
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
+import com.bumptech.glide.Glide;
import com.casic.dcms.R;
import com.casic.dcms.mvvm.model.DeptCaseBean;
import com.casic.dcms.utils.StringHelper;
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView;
import java.util.List;
-/**
- * {@link PackageCaseListAdapter 不适用二级派遣员部门处置列表,因为该列表不光有三包案卷,还有普通案卷}
- */
public class DeptTodoOrHandledAdapter extends RecyclerView.Adapter {
- private final List dataBeans;
+ private final Context context;
+ private final List dataBeans;
private final LayoutInflater layoutInflater;
private PunishTypeAdapter adapter;
- public DeptTodoOrHandledAdapter(Context context, List dataRows) {
+ public DeptTodoOrHandledAdapter(Context context, List dataRows) {
+ this.context = context;
this.dataBeans = dataRows;
layoutInflater = LayoutInflater.from(context);
}
@NonNull
@Override
- public DeptTodoOrHandledAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = layoutInflater.inflate(R.layout.item_case_rv, parent, false);
- return new ItemViewHolder(view);
+ 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 DeptTodoOrHandledAdapter.ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, @SuppressLint("RecyclerView") int position) {
holder.bindView(dataBeans.get(position));
if (clickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@@ -56,28 +56,30 @@
return dataBeans.size();
}
- static class ItemViewHolder extends RecyclerView.ViewHolder {
+ class ItemViewHolder extends RecyclerView.ViewHolder {
-// private final TextView leftTextView;
+ private final QMUIRadiusImageView caseImageView;
private final TextView caseTitleView;
private final TextView casePlaceView;
private final TextView caseTimeView;
ItemViewHolder(@NonNull View itemView) {
super(itemView);
-// leftTextView = itemView.findViewById(R.id.leftTextView);
+ caseImageView = itemView.findViewById(R.id.caseImageView);
caseTitleView = itemView.findViewById(R.id.caseTitleView);
casePlaceView = itemView.findViewById(R.id.casePlaceView);
caseTimeView = itemView.findViewById(R.id.caseTimeView);
}
- @SuppressLint("SetTextI18n")
- void bindView(DeptCaseBean.DataBean.RowsBean rowsBean) {
- String eorcName = rowsBean.getEorcName();
- if (TextUtils.isEmpty(eorcName)) {
- eorcName = "未知";
+ void bindView(DeptCaseBean.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);
+ }
}
-// 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/mvvm/model/DeptCaseBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/DeptCaseBean.java
index 1a4ac47..79163d8 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/model/DeptCaseBean.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/model/DeptCaseBean.java
@@ -8,7 +8,7 @@
public class DeptCaseBean {
private int code;
- private DataBean data;
+ private DataDTO data;
private String message;
private boolean success;
@@ -20,11 +20,11 @@
this.code = code;
}
- public DataBean getData() {
+ public DataDTO getData() {
return data;
}
- public void setData(DataBean data) {
+ public void setData(DataDTO data) {
this.data = data;
}
@@ -44,10 +44,17 @@
this.success = success;
}
- public static class DataBean {
-
+ public static class DataDTO {
+ private List rows;
private int total;
- private List rows;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
public int getTotal() {
return total;
@@ -57,26 +64,14 @@
this.total = total;
}
- public List getRows() {
- return rows;
- }
-
- public void setRows(List rows) {
- this.rows = rows;
- }
-
- public static class RowsBean {
-
+ public static class RowsDTO {
private int isPostpone;
- private int preState;
private String description;
private int source;
private String eorcName;
private String casetypeDetailName;
private String remainingTime;
private String casetypeName;
- private String currUserId;
- private String currUserName;
private String processId;
private int caseState;
private String id;
@@ -84,10 +79,10 @@
private String fieldintro;
private String lat;
private String caseStateName;
- private String preOperator;
private String lng;
private String isOvertime;
private String currRoleName;
+ private String fileIdVerify;
private String casetypeDetailCode;
private String onedeptid;
private String eorc;
@@ -95,8 +90,14 @@
private String caseid;
private String casetypeCode;
private String nodeLimittime;
+ private String taskName;
private String sourceName;
+ private String fileIdProcess;
private String reportTime;
+ private String currUserId;
+ private String currUserName;
+ private String currDeptId;
+ private String currDeptName;
private String onedeptName;
public int getIsPostpone() {
@@ -107,14 +108,6 @@
this.isPostpone = isPostpone;
}
- public int getPreState() {
- return preState;
- }
-
- public void setPreState(int preState) {
- this.preState = preState;
- }
-
public String getDescription() {
return description;
}
@@ -163,22 +156,6 @@
this.casetypeName = casetypeName;
}
- public String getCurrUserId() {
- return currUserId;
- }
-
- public void setCurrUserId(String currUserId) {
- this.currUserId = currUserId;
- }
-
- public String getCurrUserName() {
- return currUserName;
- }
-
- public void setCurrUserName(String currUserName) {
- this.currUserName = currUserName;
- }
-
public String getProcessId() {
return processId;
}
@@ -235,14 +212,6 @@
this.caseStateName = caseStateName;
}
- public String getPreOperator() {
- return preOperator;
- }
-
- public void setPreOperator(String preOperator) {
- this.preOperator = preOperator;
- }
-
public String getLng() {
return lng;
}
@@ -267,6 +236,14 @@
this.currRoleName = currRoleName;
}
+ public String getFileIdVerify() {
+ return fileIdVerify;
+ }
+
+ public void setFileIdVerify(String fileIdVerify) {
+ this.fileIdVerify = fileIdVerify;
+ }
+
public String getCasetypeDetailCode() {
return casetypeDetailCode;
}
@@ -323,6 +300,14 @@
this.nodeLimittime = nodeLimittime;
}
+ public String getTaskName() {
+ return taskName;
+ }
+
+ public void setTaskName(String taskName) {
+ this.taskName = taskName;
+ }
+
public String getSourceName() {
return sourceName;
}
@@ -331,6 +316,14 @@
this.sourceName = sourceName;
}
+ public String getFileIdProcess() {
+ return fileIdProcess;
+ }
+
+ public void setFileIdProcess(String fileIdProcess) {
+ this.fileIdProcess = fileIdProcess;
+ }
+
public String getReportTime() {
return reportTime;
}
@@ -339,6 +332,38 @@
this.reportTime = reportTime;
}
+ public String getCurrUserId() {
+ return currUserId;
+ }
+
+ public void setCurrUserId(String currUserId) {
+ this.currUserId = currUserId;
+ }
+
+ public String getCurrUserName() {
+ return currUserName;
+ }
+
+ public void setCurrUserName(String currUserName) {
+ this.currUserName = currUserName;
+ }
+
+ public String getCurrDeptId() {
+ return currDeptId;
+ }
+
+ public void setCurrDeptId(String currDeptId) {
+ this.currDeptId = currDeptId;
+ }
+
+ public String getCurrDeptName() {
+ return currDeptName;
+ }
+
+ public void setCurrDeptName(String currDeptName) {
+ this.currDeptName = currDeptName;
+ }
+
public String getOnedeptName() {
return onedeptName;
}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java
index de23222..9e72c93 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAdjustDetailActivity.java
@@ -15,6 +15,7 @@
import com.casic.dcms.databinding.ActivityDeptAdjustBinding;
import com.casic.dcms.mvvm.model.CaseDetailBean;
import com.casic.dcms.mvvm.model.CaseNextNodeBean;
+import com.casic.dcms.mvvm.vm.CaseOperateViewModel;
import com.casic.dcms.mvvm.vm.CaseViewModel;
import com.casic.dcms.mvvm.vm.NodeViewModel;
import com.casic.dcms.utils.JzExoMedia;
@@ -40,6 +41,7 @@
private final Context context = this;
private CaseViewModel caseViewModel;
private NodeViewModel nodeViewModel;
+ private CaseOperateViewModel operateViewModel;
private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean();
private List nodeDataBeans;
private String id;
@@ -62,6 +64,7 @@
caseViewModel.obtainCaseDetail(id);
nodeViewModel = new ViewModelProvider(this).get(NodeViewModel.class);
+ operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class);
}
@Override
@@ -230,8 +233,6 @@
public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
dialog.dismiss();
viewBinding.commonTipsView.setText(tag);
-
- viewBinding.optionEditView.setText(tag);
}
}).build().show();
}
@@ -245,14 +246,28 @@
EasyToast.show(context, "还未选择操作类型");
return;
}
- String optionInput = StringHelper.filterString(viewBinding.optionEditView.getText().toString());
+ String optionInput = StringHelper.filterString(viewBinding.commonTipsView.getText().toString());
if (TextUtils.isEmpty(optionInput)) {
EasyToast.show(context, "不同意/同意的意见必须填写");
return;
}
-// caseViewModel.dispatcherHandleCase(data.getProcessId(), id,
-// String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
-// data.getProcessPersonid());
+ operateViewModel.dispatcherHandleCase(data.getProcessId(), id,
+ String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
+ data.getProcessPersonid());
+ }
+ });
+ operateViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后...");
+ } else if (loadState == LoadState.Success) {
+ OtherUtils.dismissLoadingDialog();
+ finish();
+ } else {
+ EasyToast.show(context, "处理失败,请重试");
+ OtherUtils.dismissLoadingDialog();
+ }
}
});
}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java
index 31fc6a0..f23fc0b 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptAuthorizeDetailActivity.java
@@ -16,6 +16,7 @@
import com.casic.dcms.mvvm.model.CaseDetailBean;
import com.casic.dcms.mvvm.model.CaseNextNodeBean;
import com.casic.dcms.mvvm.model.ProcessPersonBean;
+import com.casic.dcms.mvvm.vm.CaseOperateViewModel;
import com.casic.dcms.mvvm.vm.CaseViewModel;
import com.casic.dcms.mvvm.vm.NodeViewModel;
import com.casic.dcms.mvvm.vm.PersonViewModel;
@@ -26,6 +27,7 @@
import com.gyf.immersionbar.ImmersionBar;
import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter;
import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.utils.Constant;
import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
import com.pengxh.androidx.lite.vm.LoadState;
import com.pengxh.androidx.lite.widget.EasyToast;
@@ -36,13 +38,14 @@
import cn.jzvd.Jzvd;
-public class DeptAuthorizeDetailActivity extends AndroidxBaseActivity implements View.OnClickListener {
+public class DeptAuthorizeDetailActivity extends AndroidxBaseActivity {
private final Context context = this;
private CaseViewModel caseViewModel;
private NodeViewModel nodeViewModel;
- private List nodeDataBeans;
private PersonViewModel personViewModel;
+ private CaseOperateViewModel operateViewModel;
+ private List nodeDataBeans;
private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean();
private List personBeans;
private String id;
@@ -61,12 +64,13 @@
@Override
public void initData() {
- id = getIntent().getStringExtra("id");
+ id = getIntent().getStringExtra(Constant.INTENT_PARAM);
caseViewModel = new ViewModelProvider(this).get(CaseViewModel.class);
caseViewModel.obtainCaseDetail(id);
nodeViewModel = new ViewModelProvider(this).get(NodeViewModel.class);
personViewModel = new ViewModelProvider(this).get(PersonViewModel.class);
+ operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class);
}
@Override
@@ -192,39 +196,18 @@
}
});
- personViewModel.processPersonModel.observe(this, new Observer() {
+ viewBinding.locationMapView.setOnClickListener(new View.OnClickListener() {
@Override
- public void onChanged(ProcessPersonBean resultBean) {
- if (resultBean.getCode() == 200) {
- personBeans = resultBean.getData();
- if (personBeans.size() == 0) {
- viewBinding.caseHandlePersonView.setText("无处置人员");
- } else {
- ProcessPersonBean.DataBean dataBean = personBeans.get(0);
- taskUserId = dataBean.getId();
- viewBinding.caseHandlePersonView.setText(dataBean.getName());//默认选择第一个
- }
- viewBinding.caseHandlePersonView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
- }
+ public void onClick(View v) {
+ OtherUtils.displayOnMap(context, data.getEorcName(), data.getLng(), data.getLat());
}
});
- viewBinding.locationMapView.setOnClickListener(this);
- viewBinding.caseOptTypeLayout.setOnClickListener(this);
- viewBinding.casePersonLayout.setOnClickListener(this);
- viewBinding.commonTipsLayout.setOnClickListener(this);
- viewBinding.submitButton.setOnClickListener(this);
- }
-
- @Override
- public void onClick(View v) {
- int viewId = v.getId();
- if (viewId == R.id.locationMapView) {
- OtherUtils.displayOnMap(this, data.getEorcName(), data.getLng(), data.getLat());
- } else if (viewId == R.id.caseOptTypeLayout) {
- if (nodeDataBeans != null) {
+ viewBinding.caseOptTypeLayout.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
if (nodeDataBeans.size() >= 1) {
- QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this);
+ QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context);
sheetBuilder.setTitle("操作类型");
for (CaseNextNodeBean.DataBean dataBean : nodeDataBeans) {
sheetBuilder.addItem(dataBean.getNextOperation());
@@ -254,10 +237,29 @@
}).build().show();
}
}
- } else if (viewId == R.id.casePersonLayout) {
- if (personBeans != null) {
+ });
+ personViewModel.processPersonModel.observe(this, new Observer() {
+ @Override
+ public void onChanged(ProcessPersonBean resultBean) {
+ if (resultBean.getCode() == 200) {
+ personBeans = resultBean.getData();
+ if (personBeans.size() == 0) {
+ viewBinding.caseHandlePersonView.setText("无处置人员");
+ } else {
+ ProcessPersonBean.DataBean dataBean = personBeans.get(0);
+ taskUserId = dataBean.getId();
+ viewBinding.caseHandlePersonView.setText(dataBean.getName());//默认选择第一个
+ }
+ viewBinding.caseHandlePersonView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
+ }
+ }
+ });
+
+ viewBinding.casePersonLayout.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
if (personBeans.size() >= 1) {
- QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this);
+ QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context);
sheetBuilder.setTitle("处置人员");
for (ProcessPersonBean.DataBean dataBean : personBeans) {
sheetBuilder.addItem(dataBean.getName());
@@ -274,50 +276,71 @@
}).build().show();
}
}
- } else if (viewId == R.id.commonTipsLayout) {
- new QMUIBottomSheet.BottomListSheetBuilder(this)
- .setTitle("常见用语")
- .addItem("请及时处理")
- .addItem("调查后及时回复")
- .setGravityCenter(true)
- .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
- @Override
- public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
- dialog.dismiss();
- viewBinding.commonTipsView.setText(tag);
- viewBinding.commonTipsView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
+ });
- viewBinding.optionEditView.setText(tag);
- viewBinding.commonTipsView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
- }
- }).build().show();
- } else if (viewId == R.id.submitButton) {
- String optType = viewBinding.optTypeView.getText().toString();
- if (optType.equals("")) {
- EasyToast.show(this, "还未选择操作类型");
- return;
+ viewBinding.commonTipsLayout.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ new QMUIBottomSheet.BottomListSheetBuilder(context)
+ .setTitle("常见用语")
+ .addItem("请及时处理")
+ .addItem("调查后及时回复")
+ .setGravityCenter(true)
+ .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
+ @Override
+ public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
+ dialog.dismiss();
+ viewBinding.commonTipsView.setText(tag);
+ viewBinding.commonTipsView.setTextColor(ContextCompat.getColor(context, R.color.mainTextColor));
+ }
+ }).build().show();
}
- if (optType.equals("返回处理")) {
- //选择处理人员时,必选一个处置人员
- String handlePerson = viewBinding.caseHandlePersonView.getText().toString();
- if (handlePerson.equals("")) {
- EasyToast.show(this, "当前状态必须指定处置员");
+ });
+
+ viewBinding.submitButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ String optType = viewBinding.optTypeView.getText().toString();
+ if (optType.equals("")) {
+ EasyToast.show(context, "还未选择操作类型");
return;
}
+ if (optType.equals("返回处理")) {
+ //选择处理人员时,必选一个处置人员
+ String handlePerson = viewBinding.caseHandlePersonView.getText().toString();
+ if (handlePerson.equals("")) {
+ EasyToast.show(context, "当前状态必须指定处置员");
+ return;
+ }
+ }
+ String optionInput = StringHelper.filterString(viewBinding.commonTipsView.getText().toString());
+ if (TextUtils.isEmpty(optionInput)) {
+ EasyToast.show(context, "处理意见必须填写");
+ return;
+ }
+ //只有选择返回处理的时候taskUserId才会不为空,否则用当前流程人员的id代替
+ if (TextUtils.isEmpty(taskUserId)) {
+ taskUserId = data.getProcessPersonid();
+ }
+ operateViewModel.dispatcherHandleCase(data.getProcessId(), id,
+ String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
+ taskUserId);
}
- String optionInput = StringHelper.filterString(viewBinding.optionEditView.getText().toString());
- if (TextUtils.isEmpty(optionInput)) {
- EasyToast.show(this, "处理意见必须填写");
- return;
+ });
+ operateViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后...");
+ } else if (loadState == LoadState.Success) {
+ OtherUtils.dismissLoadingDialog();
+ finish();
+ } else {
+ EasyToast.show(context, "处理失败,请重试");
+ OtherUtils.dismissLoadingDialog();
+ }
}
- //只有选择返回处理的时候taskUserId才会不为空,否则用当前流程人员的id代替
- if (TextUtils.isEmpty(taskUserId)) {
- taskUserId = data.getProcessPersonid();
- }
-// caseViewModel.dispatcherHandleCase(data.getProcessId(), id,
-// String.valueOf(data.getCaseState()), changeState, optionInput, operationKey,
-// taskUserId);
- }
+ });
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptHandleActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptHandleActivity.java
index 694bbd5..ca49b3d 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptHandleActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptHandleActivity.java
@@ -18,6 +18,7 @@
import com.casic.dcms.utils.LocaleConstant;
import com.gyf.immersionbar.ImmersionBar;
import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.utils.DeviceSizeUtil;
import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil;
import java.util.ArrayList;
@@ -49,8 +50,9 @@
//绑定TabLayout
viewBinding.tabLayout.setupWithViewPager(viewBinding.viewPager);
LinearLayout linearLayout = (LinearLayout) viewBinding.tabLayout.getChildAt(0);
- linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical));
+ linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
+ linearLayout.setDividerPadding(DeviceSizeUtil.dp2px(this, 12.5f));
}
@Override
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java
index b8b9c59..9686049 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/DeptTodoDetailActivity.java
@@ -17,9 +17,9 @@
import com.casic.dcms.mvvm.model.CaseDetailBean;
import com.casic.dcms.mvvm.model.CaseNextNodeBean;
import com.casic.dcms.mvvm.model.ProcessPersonBean;
+import com.casic.dcms.mvvm.vm.CaseOperateViewModel;
import com.casic.dcms.mvvm.vm.CaseViewModel;
import com.casic.dcms.mvvm.vm.NodeViewModel;
-import com.casic.dcms.mvvm.vm.PersonViewModel;
import com.casic.dcms.utils.JzExoMedia;
import com.casic.dcms.utils.OtherUtils;
import com.casic.dcms.utils.StringHelper;
@@ -40,7 +40,7 @@
private final Context context = this;
private CaseViewModel caseViewModel;
private NodeViewModel nodeViewModel;
- private PersonViewModel personViewModel;
+ private CaseOperateViewModel operateViewModel;
private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean();
private List personBeans;
private String id;
@@ -66,7 +66,7 @@
caseViewModel.obtainCaseDetail(id);
nodeViewModel = new ViewModelProvider(this).get(NodeViewModel.class);
- personViewModel = new ViewModelProvider(this).get(PersonViewModel.class);
+ operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class);
}
@Override
@@ -216,60 +216,12 @@
CaseNextNodeBean.DataBean nodeBean = nodeDataBeans.get(position);
changeState = String.valueOf(nodeBean.getNextState());
operationKey = nodeBean.getOperationKey();
-
- if (tag.equals("返回处理") || tag.equals("处置人员")) {
- viewBinding.casePersonLayout.setVisibility(View.VISIBLE);
- viewBinding.personLine.setVisibility(View.VISIBLE);
-
- //获取下级处置人员名单
- personViewModel.obtainSubordinatePerson();
- } else {
- viewBinding.casePersonLayout.setVisibility(View.GONE);
- viewBinding.personLine.setVisibility(View.GONE);
- }
}
}).build().show();
}
}
});
- viewBinding.casePersonLayout.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (personBeans.size() >= 1) {
- QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context);
- sheetBuilder.setTitle("处置人员");
- for (ProcessPersonBean.DataBean dataBean : personBeans) {
- sheetBuilder.addItem(dataBean.getName());
- }
- sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() {
- @Override
- public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
- dialog.dismiss();
- viewBinding.caseHandlePersonView.setText(tag);
-
- taskUserId = personBeans.get(position).getId();
- }
- }).build().show();
- }
- }
- });
- personViewModel.processPersonModel.observe(this, new Observer() {
- @Override
- public void onChanged(ProcessPersonBean resultBean) {
- if (resultBean.isSuccess()) {
- personBeans = resultBean.getData();
- if (personBeans.size() == 0) {
- viewBinding.caseHandlePersonView.setText("无处置人员");
- } else {
- ProcessPersonBean.DataBean dataBean = personBeans.get(0);
- taskUserId = dataBean.getId();
- viewBinding.caseHandlePersonView.setText(dataBean.getName());//默认选择第一个
- }
- }
- }
- });
-
viewBinding.commonTipsLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -283,8 +235,6 @@
public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) {
dialog.dismiss();
viewBinding.commonTipsView.setText(tag);
-
- viewBinding.optionEditView.setText(tag);
}
}).build().show();
}
@@ -298,21 +248,27 @@
EasyToast.show(context, "还未选择操作类型");
return;
}
- if (optType.equals("处置人员") || optType.equals("返回处理")) {
- //选择处理人员时,必选一个处置人员
- String handlePerson = viewBinding.caseHandlePersonView.getText().toString();
- if (handlePerson.equals("")) {
- EasyToast.show(context, "当前状态必须指定处置员");
- return;
- }
- }
- String optionInput = StringHelper.filterString(viewBinding.optionEditView.getText().toString());
+ String optionInput = StringHelper.filterString(viewBinding.commonTipsView.getText().toString());
if (TextUtils.isEmpty(optionInput)) {
EasyToast.show(context, "处理意见必须填写");
return;
}
-// caseViewModel.dispatcherHandleCase(data.getProcessId(), id,
-// String.valueOf(data.getCaseState()), changeState, optionInput, operationKey, taskUserId);
+ operateViewModel.dispatcherHandleCase(data.getProcessId(), id,
+ String.valueOf(data.getCaseState()), changeState, optionInput, operationKey, taskUserId);
+ }
+ });
+ operateViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ OtherUtils.showLoadingDialog(context, "案卷处理中,请稍后...");
+ } else if (loadState == LoadState.Success) {
+ OtherUtils.dismissLoadingDialog();
+ finish();
+ } else {
+ EasyToast.show(context, "处理失败,请重试");
+ OtherUtils.dismissLoadingDialog();
+ }
}
});
}
diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseHandledFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseHandledFragment.java
index 0a65c11..7b65a54 100644
--- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseHandledFragment.java
+++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/dept/DeptCaseHandledFragment.java
@@ -29,7 +29,7 @@
private WeakReferenceHandler weakReferenceHandler;
private DeptHandleViewModel handleViewModel;
private DeptTodoOrHandledAdapter adapter;
- private List dataBeans = new ArrayList<>();
+ private List