diff --git a/app/build.gradle b/app/build.gradle
index 4b8dfb7..085c9d4 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -69,6 +69,5 @@
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-localization-v9:0.12.0'
implementation 'com.sdsmdg.tastytoast:tastytoast:0.1.1'
- //广告Banner
- implementation 'com.youth.banner:banner:1.4.9'
+ implementation 'com.jzxiang.pickerview:TimePickerDialog:1.0.1'
}
diff --git a/app/build.gradle b/app/build.gradle
index 4b8dfb7..085c9d4 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -69,6 +69,5 @@
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-localization-v9:0.12.0'
implementation 'com.sdsmdg.tastytoast:tastytoast:0.1.1'
- //广告Banner
- implementation 'com.youth.banner:banner:1.4.9'
+ implementation 'com.jzxiang.pickerview:TimePickerDialog:1.0.1'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 54b3625..ce130a7 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -41,6 +41,7 @@
+
+
{
+
+ private Context context;
+
+ public AnalysisRecycleAdapter(Context context) {
+ this.context = context;
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(context).inflate(R.layout.item_home_recycleview, parent, false);
+ return new ItemViewHolder(view);
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
+ holder.bindView(context, position);
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ @Override
+ public int getItemCount() {
+ return Constant.ANALYSIS_ITEMS.size();
+ }
+
+ private OnGridItemClickListener clickListener;
+
+ public interface OnGridItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnGridItemClickListener(OnGridItemClickListener onGridItemClickListener) {
+ this.clickListener = onGridItemClickListener;
+ }
+
+ static class ItemViewHolder extends RecyclerView.ViewHolder {
+
+ private ImageView imageView;
+ private TextView textView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ imageView = itemView.findViewById(R.id.imageView);
+ textView = itemView.findViewById(R.id.textView);
+ }
+
+ void bindView(Context context, int position) {
+ imageView.setBackgroundResource(Constant.ANALYSIS_ICONS.get(position));
+ textView.setText(Constant.ANALYSIS_ITEMS.get(position));
+ }
+ }
+}
diff --git a/app/build.gradle b/app/build.gradle
index 4b8dfb7..085c9d4 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -69,6 +69,5 @@
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-localization-v9:0.12.0'
implementation 'com.sdsmdg.tastytoast:tastytoast:0.1.1'
- //广告Banner
- implementation 'com.youth.banner:banner:1.4.9'
+ implementation 'com.jzxiang.pickerview:TimePickerDialog:1.0.1'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 54b3625..ce130a7 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -41,6 +41,7 @@
+
{
+
+ private Context context;
+
+ public AnalysisRecycleAdapter(Context context) {
+ this.context = context;
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(context).inflate(R.layout.item_home_recycleview, parent, false);
+ return new ItemViewHolder(view);
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
+ holder.bindView(context, position);
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ @Override
+ public int getItemCount() {
+ return Constant.ANALYSIS_ITEMS.size();
+ }
+
+ private OnGridItemClickListener clickListener;
+
+ public interface OnGridItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnGridItemClickListener(OnGridItemClickListener onGridItemClickListener) {
+ this.clickListener = onGridItemClickListener;
+ }
+
+ static class ItemViewHolder extends RecyclerView.ViewHolder {
+
+ private ImageView imageView;
+ private TextView textView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ imageView = itemView.findViewById(R.id.imageView);
+ textView = itemView.findViewById(R.id.textView);
+ }
+
+ void bindView(Context context, int position) {
+ imageView.setBackgroundResource(Constant.ANALYSIS_ICONS.get(position));
+ textView.setText(Constant.ANALYSIS_ITEMS.get(position));
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
new file mode 100644
index 0000000..1f959b0
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
@@ -0,0 +1,137 @@
+package com.casic.dcms.ui;
+
+import android.content.Context;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.core.content.ContextCompat;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.casic.dcms.R;
+import com.casic.dcms.adapter.AnalysisRecycleAdapter;
+import com.casic.dcms.base.BaseActivity;
+import com.casic.dcms.utils.ColorHelper;
+import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.TimeOrDateUtil;
+import com.casic.dcms.utils.ToastHelper;
+import com.jzxiang.pickerview.TimePickerDialog;
+import com.jzxiang.pickerview.data.Type;
+import com.qmuiteam.qmui.widget.QMUITopBarLayout;
+
+import butterknife.BindView;
+import butterknife.OnClick;
+
+/**
+ * @author : Pengxh
+ * @time : 2021/4/15 16:03
+ * @email : 290677893@qq.com
+ **/
+public class DataAnalysisActivity extends BaseActivity implements View.OnClickListener {
+
+ private static final String TAG = "DataAnalysisActivity";
+ private Context context = this;
+
+ @BindView(R.id.dataTopLayout)
+ QMUITopBarLayout dataTopLayout;
+ @BindView(R.id.startDateView)
+ TextView startDateView;
+ @BindView(R.id.selectStartDateView)
+ ImageView selectStartDateView;
+ @BindView(R.id.endDateView)
+ TextView endDateView;
+ @BindView(R.id.selectEndDateView)
+ ImageView selectEndDateView;
+ @BindView(R.id.analysisRecyclerView)
+ RecyclerView analysisRecyclerView;
+
+ @Override
+ public int initLayoutView() {
+ return R.layout.activity_analysis;
+ }
+
+ @Override
+ protected void setupTopBarLayout() {
+ dataTopLayout.setTitle("统计分析").setTextColor(ContextCompat.getColor(this, R.color.white));
+ dataTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor));
+ dataTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+ }
+
+ @Override
+ public void initData() {
+ AnalysisRecycleAdapter adapter = new AnalysisRecycleAdapter(this);
+ analysisRecyclerView.setLayoutManager(new GridLayoutManager(this, 3));
+ analysisRecyclerView.setAdapter(adapter);
+ adapter.setOnGridItemClickListener(new AnalysisRecycleAdapter.OnGridItemClickListener() {
+ @Override
+ public void onClick(int position) {
+// Intent intent = new Intent();
+ switch (position) {
+ case 0:
+ ToastHelper.showToast("问题来源", ToastHelper.INFO);
+ break;
+ case 1:
+ ToastHelper.showToast("案卷状态", ToastHelper.INFO);
+ break;
+ case 2:
+ ToastHelper.showToast("高发问题", ToastHelper.INFO);
+ break;
+ case 3:
+ ToastHelper.showToast("街道统计", ToastHelper.INFO);
+ break;
+ case 4:
+ ToastHelper.showToast("处理统计", ToastHelper.INFO);
+ break;
+ case 5:
+ ToastHelper.showToast("趋势分析", ToastHelper.INFO);
+ break;
+ default:
+ break;
+ }
+// startActivity(intent);
+ }
+ });
+ }
+
+ @Override
+ public void initEvent() {
+
+ }
+
+ @OnClick({R.id.selectStartDateView, R.id.selectEndDateView})
+ @Override
+ public void onClick(View v) {
+ switch (v.getId()) {
+ case R.id.selectStartDateView:
+ new TimePickerDialog.Builder().setThemeColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor))
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis() + Constant.FIVE_YEARS)
+ .setType(Type.YEAR_MONTH_DAY)
+ .setCallBack((timePickerView, millSeconds) -> {
+ startDateView.setText(TimeOrDateUtil.rTimestampToDate(millSeconds));
+ }).build().show(getSupportFragmentManager(), "year_month_day");
+ break;
+ case R.id.selectEndDateView:
+ new TimePickerDialog.Builder().setThemeColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor))
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis() + Constant.FIVE_YEARS)
+ .setType(Type.YEAR_MONTH_DAY)
+ .setCallBack((timePickerView, millSeconds) -> {
+ endDateView.setText(TimeOrDateUtil.rTimestampToDate(millSeconds));
+ }).build().show(getSupportFragmentManager(), "year_month_day");
+ break;
+ default:
+ break;
+ }
+ }
+}
diff --git a/app/build.gradle b/app/build.gradle
index 4b8dfb7..085c9d4 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -69,6 +69,5 @@
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-localization-v9:0.12.0'
implementation 'com.sdsmdg.tastytoast:tastytoast:0.1.1'
- //广告Banner
- implementation 'com.youth.banner:banner:1.4.9'
+ implementation 'com.jzxiang.pickerview:TimePickerDialog:1.0.1'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 54b3625..ce130a7 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -41,6 +41,7 @@
+
{
+
+ private Context context;
+
+ public AnalysisRecycleAdapter(Context context) {
+ this.context = context;
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(context).inflate(R.layout.item_home_recycleview, parent, false);
+ return new ItemViewHolder(view);
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
+ holder.bindView(context, position);
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ @Override
+ public int getItemCount() {
+ return Constant.ANALYSIS_ITEMS.size();
+ }
+
+ private OnGridItemClickListener clickListener;
+
+ public interface OnGridItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnGridItemClickListener(OnGridItemClickListener onGridItemClickListener) {
+ this.clickListener = onGridItemClickListener;
+ }
+
+ static class ItemViewHolder extends RecyclerView.ViewHolder {
+
+ private ImageView imageView;
+ private TextView textView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ imageView = itemView.findViewById(R.id.imageView);
+ textView = itemView.findViewById(R.id.textView);
+ }
+
+ void bindView(Context context, int position) {
+ imageView.setBackgroundResource(Constant.ANALYSIS_ICONS.get(position));
+ textView.setText(Constant.ANALYSIS_ITEMS.get(position));
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
new file mode 100644
index 0000000..1f959b0
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
@@ -0,0 +1,137 @@
+package com.casic.dcms.ui;
+
+import android.content.Context;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.core.content.ContextCompat;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.casic.dcms.R;
+import com.casic.dcms.adapter.AnalysisRecycleAdapter;
+import com.casic.dcms.base.BaseActivity;
+import com.casic.dcms.utils.ColorHelper;
+import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.TimeOrDateUtil;
+import com.casic.dcms.utils.ToastHelper;
+import com.jzxiang.pickerview.TimePickerDialog;
+import com.jzxiang.pickerview.data.Type;
+import com.qmuiteam.qmui.widget.QMUITopBarLayout;
+
+import butterknife.BindView;
+import butterknife.OnClick;
+
+/**
+ * @author : Pengxh
+ * @time : 2021/4/15 16:03
+ * @email : 290677893@qq.com
+ **/
+public class DataAnalysisActivity extends BaseActivity implements View.OnClickListener {
+
+ private static final String TAG = "DataAnalysisActivity";
+ private Context context = this;
+
+ @BindView(R.id.dataTopLayout)
+ QMUITopBarLayout dataTopLayout;
+ @BindView(R.id.startDateView)
+ TextView startDateView;
+ @BindView(R.id.selectStartDateView)
+ ImageView selectStartDateView;
+ @BindView(R.id.endDateView)
+ TextView endDateView;
+ @BindView(R.id.selectEndDateView)
+ ImageView selectEndDateView;
+ @BindView(R.id.analysisRecyclerView)
+ RecyclerView analysisRecyclerView;
+
+ @Override
+ public int initLayoutView() {
+ return R.layout.activity_analysis;
+ }
+
+ @Override
+ protected void setupTopBarLayout() {
+ dataTopLayout.setTitle("统计分析").setTextColor(ContextCompat.getColor(this, R.color.white));
+ dataTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor));
+ dataTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+ }
+
+ @Override
+ public void initData() {
+ AnalysisRecycleAdapter adapter = new AnalysisRecycleAdapter(this);
+ analysisRecyclerView.setLayoutManager(new GridLayoutManager(this, 3));
+ analysisRecyclerView.setAdapter(adapter);
+ adapter.setOnGridItemClickListener(new AnalysisRecycleAdapter.OnGridItemClickListener() {
+ @Override
+ public void onClick(int position) {
+// Intent intent = new Intent();
+ switch (position) {
+ case 0:
+ ToastHelper.showToast("问题来源", ToastHelper.INFO);
+ break;
+ case 1:
+ ToastHelper.showToast("案卷状态", ToastHelper.INFO);
+ break;
+ case 2:
+ ToastHelper.showToast("高发问题", ToastHelper.INFO);
+ break;
+ case 3:
+ ToastHelper.showToast("街道统计", ToastHelper.INFO);
+ break;
+ case 4:
+ ToastHelper.showToast("处理统计", ToastHelper.INFO);
+ break;
+ case 5:
+ ToastHelper.showToast("趋势分析", ToastHelper.INFO);
+ break;
+ default:
+ break;
+ }
+// startActivity(intent);
+ }
+ });
+ }
+
+ @Override
+ public void initEvent() {
+
+ }
+
+ @OnClick({R.id.selectStartDateView, R.id.selectEndDateView})
+ @Override
+ public void onClick(View v) {
+ switch (v.getId()) {
+ case R.id.selectStartDateView:
+ new TimePickerDialog.Builder().setThemeColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor))
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis() + Constant.FIVE_YEARS)
+ .setType(Type.YEAR_MONTH_DAY)
+ .setCallBack((timePickerView, millSeconds) -> {
+ startDateView.setText(TimeOrDateUtil.rTimestampToDate(millSeconds));
+ }).build().show(getSupportFragmentManager(), "year_month_day");
+ break;
+ case R.id.selectEndDateView:
+ new TimePickerDialog.Builder().setThemeColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor))
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis() + Constant.FIVE_YEARS)
+ .setType(Type.YEAR_MONTH_DAY)
+ .setCallBack((timePickerView, millSeconds) -> {
+ endDateView.setText(TimeOrDateUtil.rTimestampToDate(millSeconds));
+ }).build().show(getSupportFragmentManager(), "year_month_day");
+ break;
+ default:
+ break;
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java
index cf9a45d..a21d874 100644
--- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java
+++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java
@@ -17,7 +17,9 @@
import com.casic.dcms.mvp.presenter.UserDataPresenterImpl;
import com.casic.dcms.mvp.view.IUserDataView;
import com.casic.dcms.ui.CaseUploadActivity;
+import com.casic.dcms.ui.DataAnalysisActivity;
import com.casic.dcms.utils.StringHelper;
+import com.casic.dcms.utils.ToastHelper;
import com.qmuiteam.qmui.widget.QMUIRadiusImageView;
import butterknife.BindView;
@@ -72,41 +74,43 @@
startActivity(intent);
break;
case 1:
-
+ ToastHelper.showToast("快速上报", ToastHelper.INFO);
break;
case 2:
-
+ ToastHelper.showToast("三包上报", ToastHelper.INFO);
break;
case 3:
-
+ ToastHelper.showToast("案卷核实", ToastHelper.INFO);
break;
case 4:
-
+ ToastHelper.showToast("案卷核查", ToastHelper.INFO);
break;
case 5:
-
+ ToastHelper.showToast("案卷处理", ToastHelper.INFO);
break;
case 6:
-
+ ToastHelper.showToast("紧急要件", ToastHelper.INFO);
break;
case 7:
-
+ ToastHelper.showToast("超时督办", ToastHelper.INFO);
break;
case 8:
-
+ intent.setClass(context, DataAnalysisActivity.class);
+ startActivity(intent);
break;
case 9:
-
+ ToastHelper.showToast("在岗人员", ToastHelper.INFO);
break;
case 10:
-
+ ToastHelper.showToast("案卷查询", ToastHelper.INFO);
break;
case 11:
-
+ ToastHelper.showToast("地图查看", ToastHelper.INFO);
break;
default:
break;
}
+// startActivity(intent);
}
});
}
diff --git a/app/build.gradle b/app/build.gradle
index 4b8dfb7..085c9d4 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -69,6 +69,5 @@
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-localization-v9:0.12.0'
implementation 'com.sdsmdg.tastytoast:tastytoast:0.1.1'
- //广告Banner
- implementation 'com.youth.banner:banner:1.4.9'
+ implementation 'com.jzxiang.pickerview:TimePickerDialog:1.0.1'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 54b3625..ce130a7 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -41,6 +41,7 @@
+
{
+
+ private Context context;
+
+ public AnalysisRecycleAdapter(Context context) {
+ this.context = context;
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(context).inflate(R.layout.item_home_recycleview, parent, false);
+ return new ItemViewHolder(view);
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
+ holder.bindView(context, position);
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ @Override
+ public int getItemCount() {
+ return Constant.ANALYSIS_ITEMS.size();
+ }
+
+ private OnGridItemClickListener clickListener;
+
+ public interface OnGridItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnGridItemClickListener(OnGridItemClickListener onGridItemClickListener) {
+ this.clickListener = onGridItemClickListener;
+ }
+
+ static class ItemViewHolder extends RecyclerView.ViewHolder {
+
+ private ImageView imageView;
+ private TextView textView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ imageView = itemView.findViewById(R.id.imageView);
+ textView = itemView.findViewById(R.id.textView);
+ }
+
+ void bindView(Context context, int position) {
+ imageView.setBackgroundResource(Constant.ANALYSIS_ICONS.get(position));
+ textView.setText(Constant.ANALYSIS_ITEMS.get(position));
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
new file mode 100644
index 0000000..1f959b0
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
@@ -0,0 +1,137 @@
+package com.casic.dcms.ui;
+
+import android.content.Context;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.core.content.ContextCompat;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.casic.dcms.R;
+import com.casic.dcms.adapter.AnalysisRecycleAdapter;
+import com.casic.dcms.base.BaseActivity;
+import com.casic.dcms.utils.ColorHelper;
+import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.TimeOrDateUtil;
+import com.casic.dcms.utils.ToastHelper;
+import com.jzxiang.pickerview.TimePickerDialog;
+import com.jzxiang.pickerview.data.Type;
+import com.qmuiteam.qmui.widget.QMUITopBarLayout;
+
+import butterknife.BindView;
+import butterknife.OnClick;
+
+/**
+ * @author : Pengxh
+ * @time : 2021/4/15 16:03
+ * @email : 290677893@qq.com
+ **/
+public class DataAnalysisActivity extends BaseActivity implements View.OnClickListener {
+
+ private static final String TAG = "DataAnalysisActivity";
+ private Context context = this;
+
+ @BindView(R.id.dataTopLayout)
+ QMUITopBarLayout dataTopLayout;
+ @BindView(R.id.startDateView)
+ TextView startDateView;
+ @BindView(R.id.selectStartDateView)
+ ImageView selectStartDateView;
+ @BindView(R.id.endDateView)
+ TextView endDateView;
+ @BindView(R.id.selectEndDateView)
+ ImageView selectEndDateView;
+ @BindView(R.id.analysisRecyclerView)
+ RecyclerView analysisRecyclerView;
+
+ @Override
+ public int initLayoutView() {
+ return R.layout.activity_analysis;
+ }
+
+ @Override
+ protected void setupTopBarLayout() {
+ dataTopLayout.setTitle("统计分析").setTextColor(ContextCompat.getColor(this, R.color.white));
+ dataTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor));
+ dataTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+ }
+
+ @Override
+ public void initData() {
+ AnalysisRecycleAdapter adapter = new AnalysisRecycleAdapter(this);
+ analysisRecyclerView.setLayoutManager(new GridLayoutManager(this, 3));
+ analysisRecyclerView.setAdapter(adapter);
+ adapter.setOnGridItemClickListener(new AnalysisRecycleAdapter.OnGridItemClickListener() {
+ @Override
+ public void onClick(int position) {
+// Intent intent = new Intent();
+ switch (position) {
+ case 0:
+ ToastHelper.showToast("问题来源", ToastHelper.INFO);
+ break;
+ case 1:
+ ToastHelper.showToast("案卷状态", ToastHelper.INFO);
+ break;
+ case 2:
+ ToastHelper.showToast("高发问题", ToastHelper.INFO);
+ break;
+ case 3:
+ ToastHelper.showToast("街道统计", ToastHelper.INFO);
+ break;
+ case 4:
+ ToastHelper.showToast("处理统计", ToastHelper.INFO);
+ break;
+ case 5:
+ ToastHelper.showToast("趋势分析", ToastHelper.INFO);
+ break;
+ default:
+ break;
+ }
+// startActivity(intent);
+ }
+ });
+ }
+
+ @Override
+ public void initEvent() {
+
+ }
+
+ @OnClick({R.id.selectStartDateView, R.id.selectEndDateView})
+ @Override
+ public void onClick(View v) {
+ switch (v.getId()) {
+ case R.id.selectStartDateView:
+ new TimePickerDialog.Builder().setThemeColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor))
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis() + Constant.FIVE_YEARS)
+ .setType(Type.YEAR_MONTH_DAY)
+ .setCallBack((timePickerView, millSeconds) -> {
+ startDateView.setText(TimeOrDateUtil.rTimestampToDate(millSeconds));
+ }).build().show(getSupportFragmentManager(), "year_month_day");
+ break;
+ case R.id.selectEndDateView:
+ new TimePickerDialog.Builder().setThemeColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor))
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis() + Constant.FIVE_YEARS)
+ .setType(Type.YEAR_MONTH_DAY)
+ .setCallBack((timePickerView, millSeconds) -> {
+ endDateView.setText(TimeOrDateUtil.rTimestampToDate(millSeconds));
+ }).build().show(getSupportFragmentManager(), "year_month_day");
+ break;
+ default:
+ break;
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java
index cf9a45d..a21d874 100644
--- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java
+++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java
@@ -17,7 +17,9 @@
import com.casic.dcms.mvp.presenter.UserDataPresenterImpl;
import com.casic.dcms.mvp.view.IUserDataView;
import com.casic.dcms.ui.CaseUploadActivity;
+import com.casic.dcms.ui.DataAnalysisActivity;
import com.casic.dcms.utils.StringHelper;
+import com.casic.dcms.utils.ToastHelper;
import com.qmuiteam.qmui.widget.QMUIRadiusImageView;
import butterknife.BindView;
@@ -72,41 +74,43 @@
startActivity(intent);
break;
case 1:
-
+ ToastHelper.showToast("快速上报", ToastHelper.INFO);
break;
case 2:
-
+ ToastHelper.showToast("三包上报", ToastHelper.INFO);
break;
case 3:
-
+ ToastHelper.showToast("案卷核实", ToastHelper.INFO);
break;
case 4:
-
+ ToastHelper.showToast("案卷核查", ToastHelper.INFO);
break;
case 5:
-
+ ToastHelper.showToast("案卷处理", ToastHelper.INFO);
break;
case 6:
-
+ ToastHelper.showToast("紧急要件", ToastHelper.INFO);
break;
case 7:
-
+ ToastHelper.showToast("超时督办", ToastHelper.INFO);
break;
case 8:
-
+ intent.setClass(context, DataAnalysisActivity.class);
+ startActivity(intent);
break;
case 9:
-
+ ToastHelper.showToast("在岗人员", ToastHelper.INFO);
break;
case 10:
-
+ ToastHelper.showToast("案卷查询", ToastHelper.INFO);
break;
case 11:
-
+ ToastHelper.showToast("地图查看", ToastHelper.INFO);
break;
default:
break;
}
+// startActivity(intent);
}
});
}
diff --git a/app/src/main/java/com/casic/dcms/utils/Constant.java b/app/src/main/java/com/casic/dcms/utils/Constant.java
index 899d916..4ad3a5d 100644
--- a/app/src/main/java/com/casic/dcms/utils/Constant.java
+++ b/app/src/main/java/com/casic/dcms/utils/Constant.java
@@ -20,6 +20,14 @@
"紧急要件", "超时督办", "统计分析",
"在岗人员", "案卷查询", "地图查看");
+ public static final List ANALYSIS_ICONS = Arrays.asList(
+ R.mipmap.sbsb, R.mipmap.jjyj, R.mipmap.csdb,
+ R.mipmap.ajcl, R.mipmap.tjfx, R.mipmap.ajhc);
+
+ public static final List ANALYSIS_ITEMS = Arrays.asList(
+ "问题来源", "案卷状态", "高发问题",
+ "街道统计", "处理统计", "趋势分析");
+
public static final String[] USER_PERMISSIONS = {
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_FINE_LOCATION,
@@ -36,4 +44,6 @@
public static final String IP_KEY = "BASE_IP";
public static final String LOGIN_OUT_ACTION = "loginOut";
+
+ public static final long FIVE_YEARS = 5L * 365 * 1000 * 60 * 60 * 24L;
}
diff --git a/app/build.gradle b/app/build.gradle
index 4b8dfb7..085c9d4 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -69,6 +69,5 @@
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-localization-v9:0.12.0'
implementation 'com.sdsmdg.tastytoast:tastytoast:0.1.1'
- //广告Banner
- implementation 'com.youth.banner:banner:1.4.9'
+ implementation 'com.jzxiang.pickerview:TimePickerDialog:1.0.1'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 54b3625..ce130a7 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -41,6 +41,7 @@
+
{
+
+ private Context context;
+
+ public AnalysisRecycleAdapter(Context context) {
+ this.context = context;
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(context).inflate(R.layout.item_home_recycleview, parent, false);
+ return new ItemViewHolder(view);
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
+ holder.bindView(context, position);
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ @Override
+ public int getItemCount() {
+ return Constant.ANALYSIS_ITEMS.size();
+ }
+
+ private OnGridItemClickListener clickListener;
+
+ public interface OnGridItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnGridItemClickListener(OnGridItemClickListener onGridItemClickListener) {
+ this.clickListener = onGridItemClickListener;
+ }
+
+ static class ItemViewHolder extends RecyclerView.ViewHolder {
+
+ private ImageView imageView;
+ private TextView textView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ imageView = itemView.findViewById(R.id.imageView);
+ textView = itemView.findViewById(R.id.textView);
+ }
+
+ void bindView(Context context, int position) {
+ imageView.setBackgroundResource(Constant.ANALYSIS_ICONS.get(position));
+ textView.setText(Constant.ANALYSIS_ITEMS.get(position));
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
new file mode 100644
index 0000000..1f959b0
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
@@ -0,0 +1,137 @@
+package com.casic.dcms.ui;
+
+import android.content.Context;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.core.content.ContextCompat;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.casic.dcms.R;
+import com.casic.dcms.adapter.AnalysisRecycleAdapter;
+import com.casic.dcms.base.BaseActivity;
+import com.casic.dcms.utils.ColorHelper;
+import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.TimeOrDateUtil;
+import com.casic.dcms.utils.ToastHelper;
+import com.jzxiang.pickerview.TimePickerDialog;
+import com.jzxiang.pickerview.data.Type;
+import com.qmuiteam.qmui.widget.QMUITopBarLayout;
+
+import butterknife.BindView;
+import butterknife.OnClick;
+
+/**
+ * @author : Pengxh
+ * @time : 2021/4/15 16:03
+ * @email : 290677893@qq.com
+ **/
+public class DataAnalysisActivity extends BaseActivity implements View.OnClickListener {
+
+ private static final String TAG = "DataAnalysisActivity";
+ private Context context = this;
+
+ @BindView(R.id.dataTopLayout)
+ QMUITopBarLayout dataTopLayout;
+ @BindView(R.id.startDateView)
+ TextView startDateView;
+ @BindView(R.id.selectStartDateView)
+ ImageView selectStartDateView;
+ @BindView(R.id.endDateView)
+ TextView endDateView;
+ @BindView(R.id.selectEndDateView)
+ ImageView selectEndDateView;
+ @BindView(R.id.analysisRecyclerView)
+ RecyclerView analysisRecyclerView;
+
+ @Override
+ public int initLayoutView() {
+ return R.layout.activity_analysis;
+ }
+
+ @Override
+ protected void setupTopBarLayout() {
+ dataTopLayout.setTitle("统计分析").setTextColor(ContextCompat.getColor(this, R.color.white));
+ dataTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor));
+ dataTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+ }
+
+ @Override
+ public void initData() {
+ AnalysisRecycleAdapter adapter = new AnalysisRecycleAdapter(this);
+ analysisRecyclerView.setLayoutManager(new GridLayoutManager(this, 3));
+ analysisRecyclerView.setAdapter(adapter);
+ adapter.setOnGridItemClickListener(new AnalysisRecycleAdapter.OnGridItemClickListener() {
+ @Override
+ public void onClick(int position) {
+// Intent intent = new Intent();
+ switch (position) {
+ case 0:
+ ToastHelper.showToast("问题来源", ToastHelper.INFO);
+ break;
+ case 1:
+ ToastHelper.showToast("案卷状态", ToastHelper.INFO);
+ break;
+ case 2:
+ ToastHelper.showToast("高发问题", ToastHelper.INFO);
+ break;
+ case 3:
+ ToastHelper.showToast("街道统计", ToastHelper.INFO);
+ break;
+ case 4:
+ ToastHelper.showToast("处理统计", ToastHelper.INFO);
+ break;
+ case 5:
+ ToastHelper.showToast("趋势分析", ToastHelper.INFO);
+ break;
+ default:
+ break;
+ }
+// startActivity(intent);
+ }
+ });
+ }
+
+ @Override
+ public void initEvent() {
+
+ }
+
+ @OnClick({R.id.selectStartDateView, R.id.selectEndDateView})
+ @Override
+ public void onClick(View v) {
+ switch (v.getId()) {
+ case R.id.selectStartDateView:
+ new TimePickerDialog.Builder().setThemeColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor))
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis() + Constant.FIVE_YEARS)
+ .setType(Type.YEAR_MONTH_DAY)
+ .setCallBack((timePickerView, millSeconds) -> {
+ startDateView.setText(TimeOrDateUtil.rTimestampToDate(millSeconds));
+ }).build().show(getSupportFragmentManager(), "year_month_day");
+ break;
+ case R.id.selectEndDateView:
+ new TimePickerDialog.Builder().setThemeColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor))
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis() + Constant.FIVE_YEARS)
+ .setType(Type.YEAR_MONTH_DAY)
+ .setCallBack((timePickerView, millSeconds) -> {
+ endDateView.setText(TimeOrDateUtil.rTimestampToDate(millSeconds));
+ }).build().show(getSupportFragmentManager(), "year_month_day");
+ break;
+ default:
+ break;
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java
index cf9a45d..a21d874 100644
--- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java
+++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java
@@ -17,7 +17,9 @@
import com.casic.dcms.mvp.presenter.UserDataPresenterImpl;
import com.casic.dcms.mvp.view.IUserDataView;
import com.casic.dcms.ui.CaseUploadActivity;
+import com.casic.dcms.ui.DataAnalysisActivity;
import com.casic.dcms.utils.StringHelper;
+import com.casic.dcms.utils.ToastHelper;
import com.qmuiteam.qmui.widget.QMUIRadiusImageView;
import butterknife.BindView;
@@ -72,41 +74,43 @@
startActivity(intent);
break;
case 1:
-
+ ToastHelper.showToast("快速上报", ToastHelper.INFO);
break;
case 2:
-
+ ToastHelper.showToast("三包上报", ToastHelper.INFO);
break;
case 3:
-
+ ToastHelper.showToast("案卷核实", ToastHelper.INFO);
break;
case 4:
-
+ ToastHelper.showToast("案卷核查", ToastHelper.INFO);
break;
case 5:
-
+ ToastHelper.showToast("案卷处理", ToastHelper.INFO);
break;
case 6:
-
+ ToastHelper.showToast("紧急要件", ToastHelper.INFO);
break;
case 7:
-
+ ToastHelper.showToast("超时督办", ToastHelper.INFO);
break;
case 8:
-
+ intent.setClass(context, DataAnalysisActivity.class);
+ startActivity(intent);
break;
case 9:
-
+ ToastHelper.showToast("在岗人员", ToastHelper.INFO);
break;
case 10:
-
+ ToastHelper.showToast("案卷查询", ToastHelper.INFO);
break;
case 11:
-
+ ToastHelper.showToast("地图查看", ToastHelper.INFO);
break;
default:
break;
}
+// startActivity(intent);
}
});
}
diff --git a/app/src/main/java/com/casic/dcms/utils/Constant.java b/app/src/main/java/com/casic/dcms/utils/Constant.java
index 899d916..4ad3a5d 100644
--- a/app/src/main/java/com/casic/dcms/utils/Constant.java
+++ b/app/src/main/java/com/casic/dcms/utils/Constant.java
@@ -20,6 +20,14 @@
"紧急要件", "超时督办", "统计分析",
"在岗人员", "案卷查询", "地图查看");
+ public static final List ANALYSIS_ICONS = Arrays.asList(
+ R.mipmap.sbsb, R.mipmap.jjyj, R.mipmap.csdb,
+ R.mipmap.ajcl, R.mipmap.tjfx, R.mipmap.ajhc);
+
+ public static final List ANALYSIS_ITEMS = Arrays.asList(
+ "问题来源", "案卷状态", "高发问题",
+ "街道统计", "处理统计", "趋势分析");
+
public static final String[] USER_PERMISSIONS = {
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_FINE_LOCATION,
@@ -36,4 +44,6 @@
public static final String IP_KEY = "BASE_IP";
public static final String LOGIN_OUT_ACTION = "loginOut";
+
+ public static final long FIVE_YEARS = 5L * 365 * 1000 * 60 * 60 * 24L;
}
diff --git a/app/src/main/java/com/casic/dcms/utils/TimeOrDateUtil.java b/app/src/main/java/com/casic/dcms/utils/TimeOrDateUtil.java
new file mode 100644
index 0000000..61aa9ec
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/utils/TimeOrDateUtil.java
@@ -0,0 +1,60 @@
+package com.casic.dcms.utils;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+
+/**
+ * @author : Pengxh
+ * @time : 2021/4/15 16:54
+ * @email : 290677893@qq.com
+ **/
+public class TimeOrDateUtil {
+ private static final String TAG = "TimeOrDateUtil";
+ private static final SimpleDateFormat allDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+ private static final SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");
+
+ /**
+ * 时间戳转日期
+ */
+ public static String rTimestampToDate(long millSeconds) {
+ return dateFormat.format(new Date(millSeconds));
+ }
+
+ /**
+ * 时间戳转时间
+ */
+ public static String timestampToTime(long millSeconds) {
+ return timeFormat.format(new Date(millSeconds));
+ }
+
+ /**
+ * 时间戳转详细日期时间
+ */
+ public static String timestampToDate(long millSeconds) {
+ return allDateFormat.format(new Date(millSeconds));
+ }
+
+ /**
+ * 时间转时间戳
+ */
+ public static long dateToTimestamp(String time) {
+ try {
+ return allDateFormat.parse(time).getTime();
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ return 0L;
+ }
+
+ /**
+ * 获取当前日期
+ */
+ public static String getCurrentDate() {
+ Calendar calendar = Calendar.getInstance();
+ long today = calendar.getTimeInMillis();
+ return rTimestampToDate(today);
+ }
+}
diff --git a/app/build.gradle b/app/build.gradle
index 4b8dfb7..085c9d4 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -69,6 +69,5 @@
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-localization-v9:0.12.0'
implementation 'com.sdsmdg.tastytoast:tastytoast:0.1.1'
- //广告Banner
- implementation 'com.youth.banner:banner:1.4.9'
+ implementation 'com.jzxiang.pickerview:TimePickerDialog:1.0.1'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 54b3625..ce130a7 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -41,6 +41,7 @@
+
{
+
+ private Context context;
+
+ public AnalysisRecycleAdapter(Context context) {
+ this.context = context;
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(context).inflate(R.layout.item_home_recycleview, parent, false);
+ return new ItemViewHolder(view);
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
+ holder.bindView(context, position);
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ @Override
+ public int getItemCount() {
+ return Constant.ANALYSIS_ITEMS.size();
+ }
+
+ private OnGridItemClickListener clickListener;
+
+ public interface OnGridItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnGridItemClickListener(OnGridItemClickListener onGridItemClickListener) {
+ this.clickListener = onGridItemClickListener;
+ }
+
+ static class ItemViewHolder extends RecyclerView.ViewHolder {
+
+ private ImageView imageView;
+ private TextView textView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ imageView = itemView.findViewById(R.id.imageView);
+ textView = itemView.findViewById(R.id.textView);
+ }
+
+ void bindView(Context context, int position) {
+ imageView.setBackgroundResource(Constant.ANALYSIS_ICONS.get(position));
+ textView.setText(Constant.ANALYSIS_ITEMS.get(position));
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
new file mode 100644
index 0000000..1f959b0
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
@@ -0,0 +1,137 @@
+package com.casic.dcms.ui;
+
+import android.content.Context;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.core.content.ContextCompat;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.casic.dcms.R;
+import com.casic.dcms.adapter.AnalysisRecycleAdapter;
+import com.casic.dcms.base.BaseActivity;
+import com.casic.dcms.utils.ColorHelper;
+import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.TimeOrDateUtil;
+import com.casic.dcms.utils.ToastHelper;
+import com.jzxiang.pickerview.TimePickerDialog;
+import com.jzxiang.pickerview.data.Type;
+import com.qmuiteam.qmui.widget.QMUITopBarLayout;
+
+import butterknife.BindView;
+import butterknife.OnClick;
+
+/**
+ * @author : Pengxh
+ * @time : 2021/4/15 16:03
+ * @email : 290677893@qq.com
+ **/
+public class DataAnalysisActivity extends BaseActivity implements View.OnClickListener {
+
+ private static final String TAG = "DataAnalysisActivity";
+ private Context context = this;
+
+ @BindView(R.id.dataTopLayout)
+ QMUITopBarLayout dataTopLayout;
+ @BindView(R.id.startDateView)
+ TextView startDateView;
+ @BindView(R.id.selectStartDateView)
+ ImageView selectStartDateView;
+ @BindView(R.id.endDateView)
+ TextView endDateView;
+ @BindView(R.id.selectEndDateView)
+ ImageView selectEndDateView;
+ @BindView(R.id.analysisRecyclerView)
+ RecyclerView analysisRecyclerView;
+
+ @Override
+ public int initLayoutView() {
+ return R.layout.activity_analysis;
+ }
+
+ @Override
+ protected void setupTopBarLayout() {
+ dataTopLayout.setTitle("统计分析").setTextColor(ContextCompat.getColor(this, R.color.white));
+ dataTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor));
+ dataTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+ }
+
+ @Override
+ public void initData() {
+ AnalysisRecycleAdapter adapter = new AnalysisRecycleAdapter(this);
+ analysisRecyclerView.setLayoutManager(new GridLayoutManager(this, 3));
+ analysisRecyclerView.setAdapter(adapter);
+ adapter.setOnGridItemClickListener(new AnalysisRecycleAdapter.OnGridItemClickListener() {
+ @Override
+ public void onClick(int position) {
+// Intent intent = new Intent();
+ switch (position) {
+ case 0:
+ ToastHelper.showToast("问题来源", ToastHelper.INFO);
+ break;
+ case 1:
+ ToastHelper.showToast("案卷状态", ToastHelper.INFO);
+ break;
+ case 2:
+ ToastHelper.showToast("高发问题", ToastHelper.INFO);
+ break;
+ case 3:
+ ToastHelper.showToast("街道统计", ToastHelper.INFO);
+ break;
+ case 4:
+ ToastHelper.showToast("处理统计", ToastHelper.INFO);
+ break;
+ case 5:
+ ToastHelper.showToast("趋势分析", ToastHelper.INFO);
+ break;
+ default:
+ break;
+ }
+// startActivity(intent);
+ }
+ });
+ }
+
+ @Override
+ public void initEvent() {
+
+ }
+
+ @OnClick({R.id.selectStartDateView, R.id.selectEndDateView})
+ @Override
+ public void onClick(View v) {
+ switch (v.getId()) {
+ case R.id.selectStartDateView:
+ new TimePickerDialog.Builder().setThemeColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor))
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis() + Constant.FIVE_YEARS)
+ .setType(Type.YEAR_MONTH_DAY)
+ .setCallBack((timePickerView, millSeconds) -> {
+ startDateView.setText(TimeOrDateUtil.rTimestampToDate(millSeconds));
+ }).build().show(getSupportFragmentManager(), "year_month_day");
+ break;
+ case R.id.selectEndDateView:
+ new TimePickerDialog.Builder().setThemeColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor))
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis() + Constant.FIVE_YEARS)
+ .setType(Type.YEAR_MONTH_DAY)
+ .setCallBack((timePickerView, millSeconds) -> {
+ endDateView.setText(TimeOrDateUtil.rTimestampToDate(millSeconds));
+ }).build().show(getSupportFragmentManager(), "year_month_day");
+ break;
+ default:
+ break;
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java
index cf9a45d..a21d874 100644
--- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java
+++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java
@@ -17,7 +17,9 @@
import com.casic.dcms.mvp.presenter.UserDataPresenterImpl;
import com.casic.dcms.mvp.view.IUserDataView;
import com.casic.dcms.ui.CaseUploadActivity;
+import com.casic.dcms.ui.DataAnalysisActivity;
import com.casic.dcms.utils.StringHelper;
+import com.casic.dcms.utils.ToastHelper;
import com.qmuiteam.qmui.widget.QMUIRadiusImageView;
import butterknife.BindView;
@@ -72,41 +74,43 @@
startActivity(intent);
break;
case 1:
-
+ ToastHelper.showToast("快速上报", ToastHelper.INFO);
break;
case 2:
-
+ ToastHelper.showToast("三包上报", ToastHelper.INFO);
break;
case 3:
-
+ ToastHelper.showToast("案卷核实", ToastHelper.INFO);
break;
case 4:
-
+ ToastHelper.showToast("案卷核查", ToastHelper.INFO);
break;
case 5:
-
+ ToastHelper.showToast("案卷处理", ToastHelper.INFO);
break;
case 6:
-
+ ToastHelper.showToast("紧急要件", ToastHelper.INFO);
break;
case 7:
-
+ ToastHelper.showToast("超时督办", ToastHelper.INFO);
break;
case 8:
-
+ intent.setClass(context, DataAnalysisActivity.class);
+ startActivity(intent);
break;
case 9:
-
+ ToastHelper.showToast("在岗人员", ToastHelper.INFO);
break;
case 10:
-
+ ToastHelper.showToast("案卷查询", ToastHelper.INFO);
break;
case 11:
-
+ ToastHelper.showToast("地图查看", ToastHelper.INFO);
break;
default:
break;
}
+// startActivity(intent);
}
});
}
diff --git a/app/src/main/java/com/casic/dcms/utils/Constant.java b/app/src/main/java/com/casic/dcms/utils/Constant.java
index 899d916..4ad3a5d 100644
--- a/app/src/main/java/com/casic/dcms/utils/Constant.java
+++ b/app/src/main/java/com/casic/dcms/utils/Constant.java
@@ -20,6 +20,14 @@
"紧急要件", "超时督办", "统计分析",
"在岗人员", "案卷查询", "地图查看");
+ public static final List ANALYSIS_ICONS = Arrays.asList(
+ R.mipmap.sbsb, R.mipmap.jjyj, R.mipmap.csdb,
+ R.mipmap.ajcl, R.mipmap.tjfx, R.mipmap.ajhc);
+
+ public static final List ANALYSIS_ITEMS = Arrays.asList(
+ "问题来源", "案卷状态", "高发问题",
+ "街道统计", "处理统计", "趋势分析");
+
public static final String[] USER_PERMISSIONS = {
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_FINE_LOCATION,
@@ -36,4 +44,6 @@
public static final String IP_KEY = "BASE_IP";
public static final String LOGIN_OUT_ACTION = "loginOut";
+
+ public static final long FIVE_YEARS = 5L * 365 * 1000 * 60 * 60 * 24L;
}
diff --git a/app/src/main/java/com/casic/dcms/utils/TimeOrDateUtil.java b/app/src/main/java/com/casic/dcms/utils/TimeOrDateUtil.java
new file mode 100644
index 0000000..61aa9ec
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/utils/TimeOrDateUtil.java
@@ -0,0 +1,60 @@
+package com.casic.dcms.utils;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+
+/**
+ * @author : Pengxh
+ * @time : 2021/4/15 16:54
+ * @email : 290677893@qq.com
+ **/
+public class TimeOrDateUtil {
+ private static final String TAG = "TimeOrDateUtil";
+ private static final SimpleDateFormat allDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+ private static final SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");
+
+ /**
+ * 时间戳转日期
+ */
+ public static String rTimestampToDate(long millSeconds) {
+ return dateFormat.format(new Date(millSeconds));
+ }
+
+ /**
+ * 时间戳转时间
+ */
+ public static String timestampToTime(long millSeconds) {
+ return timeFormat.format(new Date(millSeconds));
+ }
+
+ /**
+ * 时间戳转详细日期时间
+ */
+ public static String timestampToDate(long millSeconds) {
+ return allDateFormat.format(new Date(millSeconds));
+ }
+
+ /**
+ * 时间转时间戳
+ */
+ public static long dateToTimestamp(String time) {
+ try {
+ return allDateFormat.parse(time).getTime();
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ return 0L;
+ }
+
+ /**
+ * 获取当前日期
+ */
+ public static String getCurrentDate() {
+ Calendar calendar = Calendar.getInstance();
+ long today = calendar.getTimeInMillis();
+ return rTimestampToDate(today);
+ }
+}
diff --git a/app/src/main/res/drawable/bg_layout.xml b/app/src/main/res/drawable/bg_layout.xml
index ff02e0d..949d474 100644
--- a/app/src/main/res/drawable/bg_layout.xml
+++ b/app/src/main/res/drawable/bg_layout.xml
@@ -4,5 +4,7 @@
-
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 4b8dfb7..085c9d4 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -69,6 +69,5 @@
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-localization-v9:0.12.0'
implementation 'com.sdsmdg.tastytoast:tastytoast:0.1.1'
- //广告Banner
- implementation 'com.youth.banner:banner:1.4.9'
+ implementation 'com.jzxiang.pickerview:TimePickerDialog:1.0.1'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 54b3625..ce130a7 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -41,6 +41,7 @@
+
{
+
+ private Context context;
+
+ public AnalysisRecycleAdapter(Context context) {
+ this.context = context;
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(context).inflate(R.layout.item_home_recycleview, parent, false);
+ return new ItemViewHolder(view);
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
+ holder.bindView(context, position);
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ @Override
+ public int getItemCount() {
+ return Constant.ANALYSIS_ITEMS.size();
+ }
+
+ private OnGridItemClickListener clickListener;
+
+ public interface OnGridItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnGridItemClickListener(OnGridItemClickListener onGridItemClickListener) {
+ this.clickListener = onGridItemClickListener;
+ }
+
+ static class ItemViewHolder extends RecyclerView.ViewHolder {
+
+ private ImageView imageView;
+ private TextView textView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ imageView = itemView.findViewById(R.id.imageView);
+ textView = itemView.findViewById(R.id.textView);
+ }
+
+ void bindView(Context context, int position) {
+ imageView.setBackgroundResource(Constant.ANALYSIS_ICONS.get(position));
+ textView.setText(Constant.ANALYSIS_ITEMS.get(position));
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
new file mode 100644
index 0000000..1f959b0
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
@@ -0,0 +1,137 @@
+package com.casic.dcms.ui;
+
+import android.content.Context;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.core.content.ContextCompat;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.casic.dcms.R;
+import com.casic.dcms.adapter.AnalysisRecycleAdapter;
+import com.casic.dcms.base.BaseActivity;
+import com.casic.dcms.utils.ColorHelper;
+import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.TimeOrDateUtil;
+import com.casic.dcms.utils.ToastHelper;
+import com.jzxiang.pickerview.TimePickerDialog;
+import com.jzxiang.pickerview.data.Type;
+import com.qmuiteam.qmui.widget.QMUITopBarLayout;
+
+import butterknife.BindView;
+import butterknife.OnClick;
+
+/**
+ * @author : Pengxh
+ * @time : 2021/4/15 16:03
+ * @email : 290677893@qq.com
+ **/
+public class DataAnalysisActivity extends BaseActivity implements View.OnClickListener {
+
+ private static final String TAG = "DataAnalysisActivity";
+ private Context context = this;
+
+ @BindView(R.id.dataTopLayout)
+ QMUITopBarLayout dataTopLayout;
+ @BindView(R.id.startDateView)
+ TextView startDateView;
+ @BindView(R.id.selectStartDateView)
+ ImageView selectStartDateView;
+ @BindView(R.id.endDateView)
+ TextView endDateView;
+ @BindView(R.id.selectEndDateView)
+ ImageView selectEndDateView;
+ @BindView(R.id.analysisRecyclerView)
+ RecyclerView analysisRecyclerView;
+
+ @Override
+ public int initLayoutView() {
+ return R.layout.activity_analysis;
+ }
+
+ @Override
+ protected void setupTopBarLayout() {
+ dataTopLayout.setTitle("统计分析").setTextColor(ContextCompat.getColor(this, R.color.white));
+ dataTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor));
+ dataTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+ }
+
+ @Override
+ public void initData() {
+ AnalysisRecycleAdapter adapter = new AnalysisRecycleAdapter(this);
+ analysisRecyclerView.setLayoutManager(new GridLayoutManager(this, 3));
+ analysisRecyclerView.setAdapter(adapter);
+ adapter.setOnGridItemClickListener(new AnalysisRecycleAdapter.OnGridItemClickListener() {
+ @Override
+ public void onClick(int position) {
+// Intent intent = new Intent();
+ switch (position) {
+ case 0:
+ ToastHelper.showToast("问题来源", ToastHelper.INFO);
+ break;
+ case 1:
+ ToastHelper.showToast("案卷状态", ToastHelper.INFO);
+ break;
+ case 2:
+ ToastHelper.showToast("高发问题", ToastHelper.INFO);
+ break;
+ case 3:
+ ToastHelper.showToast("街道统计", ToastHelper.INFO);
+ break;
+ case 4:
+ ToastHelper.showToast("处理统计", ToastHelper.INFO);
+ break;
+ case 5:
+ ToastHelper.showToast("趋势分析", ToastHelper.INFO);
+ break;
+ default:
+ break;
+ }
+// startActivity(intent);
+ }
+ });
+ }
+
+ @Override
+ public void initEvent() {
+
+ }
+
+ @OnClick({R.id.selectStartDateView, R.id.selectEndDateView})
+ @Override
+ public void onClick(View v) {
+ switch (v.getId()) {
+ case R.id.selectStartDateView:
+ new TimePickerDialog.Builder().setThemeColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor))
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis() + Constant.FIVE_YEARS)
+ .setType(Type.YEAR_MONTH_DAY)
+ .setCallBack((timePickerView, millSeconds) -> {
+ startDateView.setText(TimeOrDateUtil.rTimestampToDate(millSeconds));
+ }).build().show(getSupportFragmentManager(), "year_month_day");
+ break;
+ case R.id.selectEndDateView:
+ new TimePickerDialog.Builder().setThemeColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor))
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis() + Constant.FIVE_YEARS)
+ .setType(Type.YEAR_MONTH_DAY)
+ .setCallBack((timePickerView, millSeconds) -> {
+ endDateView.setText(TimeOrDateUtil.rTimestampToDate(millSeconds));
+ }).build().show(getSupportFragmentManager(), "year_month_day");
+ break;
+ default:
+ break;
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java
index cf9a45d..a21d874 100644
--- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java
+++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java
@@ -17,7 +17,9 @@
import com.casic.dcms.mvp.presenter.UserDataPresenterImpl;
import com.casic.dcms.mvp.view.IUserDataView;
import com.casic.dcms.ui.CaseUploadActivity;
+import com.casic.dcms.ui.DataAnalysisActivity;
import com.casic.dcms.utils.StringHelper;
+import com.casic.dcms.utils.ToastHelper;
import com.qmuiteam.qmui.widget.QMUIRadiusImageView;
import butterknife.BindView;
@@ -72,41 +74,43 @@
startActivity(intent);
break;
case 1:
-
+ ToastHelper.showToast("快速上报", ToastHelper.INFO);
break;
case 2:
-
+ ToastHelper.showToast("三包上报", ToastHelper.INFO);
break;
case 3:
-
+ ToastHelper.showToast("案卷核实", ToastHelper.INFO);
break;
case 4:
-
+ ToastHelper.showToast("案卷核查", ToastHelper.INFO);
break;
case 5:
-
+ ToastHelper.showToast("案卷处理", ToastHelper.INFO);
break;
case 6:
-
+ ToastHelper.showToast("紧急要件", ToastHelper.INFO);
break;
case 7:
-
+ ToastHelper.showToast("超时督办", ToastHelper.INFO);
break;
case 8:
-
+ intent.setClass(context, DataAnalysisActivity.class);
+ startActivity(intent);
break;
case 9:
-
+ ToastHelper.showToast("在岗人员", ToastHelper.INFO);
break;
case 10:
-
+ ToastHelper.showToast("案卷查询", ToastHelper.INFO);
break;
case 11:
-
+ ToastHelper.showToast("地图查看", ToastHelper.INFO);
break;
default:
break;
}
+// startActivity(intent);
}
});
}
diff --git a/app/src/main/java/com/casic/dcms/utils/Constant.java b/app/src/main/java/com/casic/dcms/utils/Constant.java
index 899d916..4ad3a5d 100644
--- a/app/src/main/java/com/casic/dcms/utils/Constant.java
+++ b/app/src/main/java/com/casic/dcms/utils/Constant.java
@@ -20,6 +20,14 @@
"紧急要件", "超时督办", "统计分析",
"在岗人员", "案卷查询", "地图查看");
+ public static final List ANALYSIS_ICONS = Arrays.asList(
+ R.mipmap.sbsb, R.mipmap.jjyj, R.mipmap.csdb,
+ R.mipmap.ajcl, R.mipmap.tjfx, R.mipmap.ajhc);
+
+ public static final List ANALYSIS_ITEMS = Arrays.asList(
+ "问题来源", "案卷状态", "高发问题",
+ "街道统计", "处理统计", "趋势分析");
+
public static final String[] USER_PERMISSIONS = {
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_FINE_LOCATION,
@@ -36,4 +44,6 @@
public static final String IP_KEY = "BASE_IP";
public static final String LOGIN_OUT_ACTION = "loginOut";
+
+ public static final long FIVE_YEARS = 5L * 365 * 1000 * 60 * 60 * 24L;
}
diff --git a/app/src/main/java/com/casic/dcms/utils/TimeOrDateUtil.java b/app/src/main/java/com/casic/dcms/utils/TimeOrDateUtil.java
new file mode 100644
index 0000000..61aa9ec
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/utils/TimeOrDateUtil.java
@@ -0,0 +1,60 @@
+package com.casic.dcms.utils;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+
+/**
+ * @author : Pengxh
+ * @time : 2021/4/15 16:54
+ * @email : 290677893@qq.com
+ **/
+public class TimeOrDateUtil {
+ private static final String TAG = "TimeOrDateUtil";
+ private static final SimpleDateFormat allDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+ private static final SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");
+
+ /**
+ * 时间戳转日期
+ */
+ public static String rTimestampToDate(long millSeconds) {
+ return dateFormat.format(new Date(millSeconds));
+ }
+
+ /**
+ * 时间戳转时间
+ */
+ public static String timestampToTime(long millSeconds) {
+ return timeFormat.format(new Date(millSeconds));
+ }
+
+ /**
+ * 时间戳转详细日期时间
+ */
+ public static String timestampToDate(long millSeconds) {
+ return allDateFormat.format(new Date(millSeconds));
+ }
+
+ /**
+ * 时间转时间戳
+ */
+ public static long dateToTimestamp(String time) {
+ try {
+ return allDateFormat.parse(time).getTime();
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ return 0L;
+ }
+
+ /**
+ * 获取当前日期
+ */
+ public static String getCurrentDate() {
+ Calendar calendar = Calendar.getInstance();
+ long today = calendar.getTimeInMillis();
+ return rTimestampToDate(today);
+ }
+}
diff --git a/app/src/main/res/drawable/bg_layout.xml b/app/src/main/res/drawable/bg_layout.xml
index ff02e0d..949d474 100644
--- a/app/src/main/res/drawable/bg_layout.xml
+++ b/app/src/main/res/drawable/bg_layout.xml
@@ -4,5 +4,7 @@
-
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_down.xml b/app/src/main/res/drawable/ic_down.xml
new file mode 100644
index 0000000..d147ca2
--- /dev/null
+++ b/app/src/main/res/drawable/ic_down.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/build.gradle b/app/build.gradle
index 4b8dfb7..085c9d4 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -69,6 +69,5 @@
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v9:0.9.0'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-localization-v9:0.12.0'
implementation 'com.sdsmdg.tastytoast:tastytoast:0.1.1'
- //广告Banner
- implementation 'com.youth.banner:banner:1.4.9'
+ implementation 'com.jzxiang.pickerview:TimePickerDialog:1.0.1'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 54b3625..ce130a7 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -41,6 +41,7 @@
+
{
+
+ private Context context;
+
+ public AnalysisRecycleAdapter(Context context) {
+ this.context = context;
+ }
+
+ @NonNull
+ @Override
+ public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(context).inflate(R.layout.item_home_recycleview, parent, false);
+ return new ItemViewHolder(view);
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
+ holder.bindView(context, position);
+ if (clickListener != null) {
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ clickListener.onClick(position);
+ }
+ });
+ }
+ }
+
+ @Override
+ public int getItemCount() {
+ return Constant.ANALYSIS_ITEMS.size();
+ }
+
+ private OnGridItemClickListener clickListener;
+
+ public interface OnGridItemClickListener {
+ void onClick(int position);
+ }
+
+ public void setOnGridItemClickListener(OnGridItemClickListener onGridItemClickListener) {
+ this.clickListener = onGridItemClickListener;
+ }
+
+ static class ItemViewHolder extends RecyclerView.ViewHolder {
+
+ private ImageView imageView;
+ private TextView textView;
+
+ ItemViewHolder(@NonNull View itemView) {
+ super(itemView);
+ imageView = itemView.findViewById(R.id.imageView);
+ textView = itemView.findViewById(R.id.textView);
+ }
+
+ void bindView(Context context, int position) {
+ imageView.setBackgroundResource(Constant.ANALYSIS_ICONS.get(position));
+ textView.setText(Constant.ANALYSIS_ITEMS.get(position));
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
new file mode 100644
index 0000000..1f959b0
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
@@ -0,0 +1,137 @@
+package com.casic.dcms.ui;
+
+import android.content.Context;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.core.content.ContextCompat;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.casic.dcms.R;
+import com.casic.dcms.adapter.AnalysisRecycleAdapter;
+import com.casic.dcms.base.BaseActivity;
+import com.casic.dcms.utils.ColorHelper;
+import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.TimeOrDateUtil;
+import com.casic.dcms.utils.ToastHelper;
+import com.jzxiang.pickerview.TimePickerDialog;
+import com.jzxiang.pickerview.data.Type;
+import com.qmuiteam.qmui.widget.QMUITopBarLayout;
+
+import butterknife.BindView;
+import butterknife.OnClick;
+
+/**
+ * @author : Pengxh
+ * @time : 2021/4/15 16:03
+ * @email : 290677893@qq.com
+ **/
+public class DataAnalysisActivity extends BaseActivity implements View.OnClickListener {
+
+ private static final String TAG = "DataAnalysisActivity";
+ private Context context = this;
+
+ @BindView(R.id.dataTopLayout)
+ QMUITopBarLayout dataTopLayout;
+ @BindView(R.id.startDateView)
+ TextView startDateView;
+ @BindView(R.id.selectStartDateView)
+ ImageView selectStartDateView;
+ @BindView(R.id.endDateView)
+ TextView endDateView;
+ @BindView(R.id.selectEndDateView)
+ ImageView selectEndDateView;
+ @BindView(R.id.analysisRecyclerView)
+ RecyclerView analysisRecyclerView;
+
+ @Override
+ public int initLayoutView() {
+ return R.layout.activity_analysis;
+ }
+
+ @Override
+ protected void setupTopBarLayout() {
+ dataTopLayout.setTitle("统计分析").setTextColor(ContextCompat.getColor(this, R.color.white));
+ dataTopLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.mainThemeColor));
+ dataTopLayout.addLeftImageButton(R.drawable.ic_left_white, 1).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+ }
+
+ @Override
+ public void initData() {
+ AnalysisRecycleAdapter adapter = new AnalysisRecycleAdapter(this);
+ analysisRecyclerView.setLayoutManager(new GridLayoutManager(this, 3));
+ analysisRecyclerView.setAdapter(adapter);
+ adapter.setOnGridItemClickListener(new AnalysisRecycleAdapter.OnGridItemClickListener() {
+ @Override
+ public void onClick(int position) {
+// Intent intent = new Intent();
+ switch (position) {
+ case 0:
+ ToastHelper.showToast("问题来源", ToastHelper.INFO);
+ break;
+ case 1:
+ ToastHelper.showToast("案卷状态", ToastHelper.INFO);
+ break;
+ case 2:
+ ToastHelper.showToast("高发问题", ToastHelper.INFO);
+ break;
+ case 3:
+ ToastHelper.showToast("街道统计", ToastHelper.INFO);
+ break;
+ case 4:
+ ToastHelper.showToast("处理统计", ToastHelper.INFO);
+ break;
+ case 5:
+ ToastHelper.showToast("趋势分析", ToastHelper.INFO);
+ break;
+ default:
+ break;
+ }
+// startActivity(intent);
+ }
+ });
+ }
+
+ @Override
+ public void initEvent() {
+
+ }
+
+ @OnClick({R.id.selectStartDateView, R.id.selectEndDateView})
+ @Override
+ public void onClick(View v) {
+ switch (v.getId()) {
+ case R.id.selectStartDateView:
+ new TimePickerDialog.Builder().setThemeColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor))
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis() + Constant.FIVE_YEARS)
+ .setType(Type.YEAR_MONTH_DAY)
+ .setCallBack((timePickerView, millSeconds) -> {
+ startDateView.setText(TimeOrDateUtil.rTimestampToDate(millSeconds));
+ }).build().show(getSupportFragmentManager(), "year_month_day");
+ break;
+ case R.id.selectEndDateView:
+ new TimePickerDialog.Builder().setThemeColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor))
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis() + Constant.FIVE_YEARS)
+ .setType(Type.YEAR_MONTH_DAY)
+ .setCallBack((timePickerView, millSeconds) -> {
+ endDateView.setText(TimeOrDateUtil.rTimestampToDate(millSeconds));
+ }).build().show(getSupportFragmentManager(), "year_month_day");
+ break;
+ default:
+ break;
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java
index cf9a45d..a21d874 100644
--- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java
+++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java
@@ -17,7 +17,9 @@
import com.casic.dcms.mvp.presenter.UserDataPresenterImpl;
import com.casic.dcms.mvp.view.IUserDataView;
import com.casic.dcms.ui.CaseUploadActivity;
+import com.casic.dcms.ui.DataAnalysisActivity;
import com.casic.dcms.utils.StringHelper;
+import com.casic.dcms.utils.ToastHelper;
import com.qmuiteam.qmui.widget.QMUIRadiusImageView;
import butterknife.BindView;
@@ -72,41 +74,43 @@
startActivity(intent);
break;
case 1:
-
+ ToastHelper.showToast("快速上报", ToastHelper.INFO);
break;
case 2:
-
+ ToastHelper.showToast("三包上报", ToastHelper.INFO);
break;
case 3:
-
+ ToastHelper.showToast("案卷核实", ToastHelper.INFO);
break;
case 4:
-
+ ToastHelper.showToast("案卷核查", ToastHelper.INFO);
break;
case 5:
-
+ ToastHelper.showToast("案卷处理", ToastHelper.INFO);
break;
case 6:
-
+ ToastHelper.showToast("紧急要件", ToastHelper.INFO);
break;
case 7:
-
+ ToastHelper.showToast("超时督办", ToastHelper.INFO);
break;
case 8:
-
+ intent.setClass(context, DataAnalysisActivity.class);
+ startActivity(intent);
break;
case 9:
-
+ ToastHelper.showToast("在岗人员", ToastHelper.INFO);
break;
case 10:
-
+ ToastHelper.showToast("案卷查询", ToastHelper.INFO);
break;
case 11:
-
+ ToastHelper.showToast("地图查看", ToastHelper.INFO);
break;
default:
break;
}
+// startActivity(intent);
}
});
}
diff --git a/app/src/main/java/com/casic/dcms/utils/Constant.java b/app/src/main/java/com/casic/dcms/utils/Constant.java
index 899d916..4ad3a5d 100644
--- a/app/src/main/java/com/casic/dcms/utils/Constant.java
+++ b/app/src/main/java/com/casic/dcms/utils/Constant.java
@@ -20,6 +20,14 @@
"紧急要件", "超时督办", "统计分析",
"在岗人员", "案卷查询", "地图查看");
+ public static final List ANALYSIS_ICONS = Arrays.asList(
+ R.mipmap.sbsb, R.mipmap.jjyj, R.mipmap.csdb,
+ R.mipmap.ajcl, R.mipmap.tjfx, R.mipmap.ajhc);
+
+ public static final List ANALYSIS_ITEMS = Arrays.asList(
+ "问题来源", "案卷状态", "高发问题",
+ "街道统计", "处理统计", "趋势分析");
+
public static final String[] USER_PERMISSIONS = {
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_FINE_LOCATION,
@@ -36,4 +44,6 @@
public static final String IP_KEY = "BASE_IP";
public static final String LOGIN_OUT_ACTION = "loginOut";
+
+ public static final long FIVE_YEARS = 5L * 365 * 1000 * 60 * 60 * 24L;
}
diff --git a/app/src/main/java/com/casic/dcms/utils/TimeOrDateUtil.java b/app/src/main/java/com/casic/dcms/utils/TimeOrDateUtil.java
new file mode 100644
index 0000000..61aa9ec
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/utils/TimeOrDateUtil.java
@@ -0,0 +1,60 @@
+package com.casic.dcms.utils;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+
+/**
+ * @author : Pengxh
+ * @time : 2021/4/15 16:54
+ * @email : 290677893@qq.com
+ **/
+public class TimeOrDateUtil {
+ private static final String TAG = "TimeOrDateUtil";
+ private static final SimpleDateFormat allDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+ private static final SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");
+
+ /**
+ * 时间戳转日期
+ */
+ public static String rTimestampToDate(long millSeconds) {
+ return dateFormat.format(new Date(millSeconds));
+ }
+
+ /**
+ * 时间戳转时间
+ */
+ public static String timestampToTime(long millSeconds) {
+ return timeFormat.format(new Date(millSeconds));
+ }
+
+ /**
+ * 时间戳转详细日期时间
+ */
+ public static String timestampToDate(long millSeconds) {
+ return allDateFormat.format(new Date(millSeconds));
+ }
+
+ /**
+ * 时间转时间戳
+ */
+ public static long dateToTimestamp(String time) {
+ try {
+ return allDateFormat.parse(time).getTime();
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ return 0L;
+ }
+
+ /**
+ * 获取当前日期
+ */
+ public static String getCurrentDate() {
+ Calendar calendar = Calendar.getInstance();
+ long today = calendar.getTimeInMillis();
+ return rTimestampToDate(today);
+ }
+}
diff --git a/app/src/main/res/drawable/bg_layout.xml b/app/src/main/res/drawable/bg_layout.xml
index ff02e0d..949d474 100644
--- a/app/src/main/res/drawable/bg_layout.xml
+++ b/app/src/main/res/drawable/bg_layout.xml
@@ -4,5 +4,7 @@
-
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_down.xml b/app/src/main/res/drawable/ic_down.xml
new file mode 100644
index 0000000..d147ca2
--- /dev/null
+++ b/app/src/main/res/drawable/ic_down.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/layout/activity_analysis.xml b/app/src/main/res/layout/activity_analysis.xml
new file mode 100644
index 0000000..e5dab95
--- /dev/null
+++ b/app/src/main/res/layout/activity_analysis.xml
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file