| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351 |
- package eVVM.apk.ui.report;
- import android.app.Dialog;
- import android.content.Intent;
- import android.graphics.Rect;
- import android.graphics.drawable.ColorDrawable;
- import android.os.Build;
- import android.support.annotation.RequiresApi;
- import android.support.v7.widget.GridLayoutManager;
- import android.support.v7.widget.LinearLayoutManager;
- import android.support.v7.widget.RecyclerView;
- import android.text.TextUtils;
- import android.view.Gravity;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.widget.EditText;
- import android.widget.LinearLayout;
- import android.widget.PopupWindow;
- import android.widget.TextView;
- import com.chad.library.adapter.base.BaseQuickAdapter;
- import com.hjq.bar.TitleBar;
- import com.hjq.dialog.DateDialog;
- import java.util.ArrayList;
- import java.util.List;
- import butterknife.BindView;
- import butterknife.OnClick;
- import eVVM.apk.R;
- import eVVM.apk.common.MyLazyFragment;
- import eVVM.apk.helper.basepicker.DataPickerDialog;
- import eVVM.apk.mvp.MvpLazyFragment;
- import eVVM.apk.ui.adapter.ReportVnAdapter;
- import eVVM.apk.ui.adapter.VnListAdapter;
- import eVVM.apk.ui.bean.VnListBean;
- import eVVM.apk.ui.bean.VnNameBean;
- import eVVM.apk.ui.home.HomeActivity;
- import eVVM.apk.ui.report.vndetail.VnReportDetailActivity;
- import me.jessyan.autosize.utils.AutoSizeUtils;
- /**
- * Created by Android Studio.
- * User: zbb
- * Date: 2019/6/5
- * Describe: ReportvnFragment
- */
- public class ReportvnFragment extends MvpLazyFragment<ReportVnPresenter> implements ReportVnContract.View {
- @BindView(R.id.tv_report_search)
- EditText tvReportSearch;
- @BindView(R.id.tv_report_gosearch)
- TextView tvReportGosearch;
- @BindView(R.id.tb_test_a_bar)
- TitleBar tbTestABar;
- @BindView(R.id.tv_vn_name)
- TextView tvVnName;
- @BindView(R.id.tv_vn_status)
- TextView tvVnStatus;
- @BindView(R.id.tv_vn_begintime)
- TextView tvVnBegintime;
- @BindView(R.id.tv_vn_endtime)
- TextView tvVnEndtime;
- @BindView(R.id.rl_reportvn)
- RecyclerView rlReportvn;
- public static ReportvnFragment newInstance() {
- return new ReportvnFragment();
- }
- @Override
- protected int getLayoutId() {
- return R.layout.report_fragment;
- }
- @Override
- protected int getTitleId() {
- return 0;
- }
- @Override
- protected void initView() {
- }
- @Override
- protected void initData() {
- }
- @OnClick({R.id.tv_report_gosearch, R.id.tv_vn_name, R.id.tv_vn_status, R.id.tv_vn_begintime, R.id.tv_vn_endtime})
- public void onViewClicked(View view) {
- switch (view.getId()) {
- case R.id.tv_report_gosearch:
- //搜索
- if (TextUtils.isEmpty(tvReportSearch.getText().toString())||TextUtils.isEmpty(tvVnName.getText().toString())||TextUtils.isEmpty(tvVnStatus.getText().toString())
- ||TextUtils.isEmpty(tvVnBegintime.getText().toString())||TextUtils.isEmpty(tvVnEndtime.getText().toString())){
- toast("请选择搜索内容");
- }else {
- int nameIdByName = getNameIdByName(tvVnName.getText().toString());
- int statusByString = getStatusByString(tvVnStatus.getText().toString());
- getPresenter().searchVnList(tvReportSearch.getText().toString()+"",nameIdByName,statusByString,
- tvVnBegintime.getText().toString(),tvVnEndtime.getText().toString());
- }
- break;
- case R.id.tv_vn_name:
- getPresenter().getName();
- break;
- case R.id.tv_vn_status:
- DataPickerDialog.Builder builder = new DataPickerDialog.Builder(getBindingActivity());
- List<String> statusStringList = new ArrayList<>();
- statusStringList.add("禁用");
- statusStringList.add("正常");
- statusStringList.add("删除");
- /*List<RoleTypeBean.RoleParen> parentlist = new ArrayList<>();
- parentlist.add(new RoleTypeBean.RoleParen(6,"","医药企业"));
- parentlist.add(new RoleTypeBean.RoleParen(7,"","预防接种机构"));
- parentlist.add(new RoleTypeBean.RoleParen(8,"","预防接受种者"));
- parentlist.add(new RoleTypeBean.RoleParen(9,"","物流公司"));*/
- DataPickerDialog dialog = builder.setData(statusStringList).setSelection(0).setTitle("状态")
- .setOnDataSelectedListener(new DataPickerDialog.OnDataSelectedListener() {
- @Override
- public void onDataSelected(String itemValue) {
- tvVnStatus.setText(itemValue + "");
- }
- }).create();
- dialog.show();
- break;
- case R.id.tv_vn_begintime:
- new DateDialog.Builder(getBindingActivity())
- .setTitle("请选择日期")
- .setListener(new DateDialog.OnListener() {
- @Override
- public void onSelected(Dialog dialog, int year, int month, int day) {
- //toast(year + "年" + month + "月" + day + "日");
- tvVnBegintime.setText(year + "-" + month + "-" + day );
- }
- @Override
- public void onCancel(Dialog dialog) {
- //toast("取消了");
- }
- })
- .show();
- break;
- case R.id.tv_vn_endtime:
- new DateDialog.Builder(getBindingActivity())
- .setTitle("请选择日期")
- .setListener(new DateDialog.OnListener() {
- @Override
- public void onSelected(Dialog dialog, int year, int month, int day) {
- tvVnEndtime.setText(year + "-" + month + "-" + day );
- }
- @Override
- public void onCancel(Dialog dialog) {
- //toast("取消了");
- }
- })
- .show();
- break;
- }
- }
- private int getStatusByString(String statusString){
- if ("禁用".equals(statusString)){
- return 0;
- }
- if ("正常".equals(statusString)){
- return 1;
- }
- if ("删除".equals(statusString)){
- return 2;
- }
- return -1;
- }
- private int getNameIdByName(String name) {
- for (VnNameBean.DataBean list : nameIdList) {
- if (list.getName().contains(name)){
- return list.getId();
- }
- }
- return 0;
- }
- @Override
- protected ReportVnPresenter createPresenter() {
- return new ReportVnPresenter();
- }
- @Override
- public void getnameError(String msg) {
- toast(msg+"");
- }
- List<VnNameBean.DataBean> nameIdList = new ArrayList<>();
- //@RequiresApi(api = Build.VERSION_CODES.KITKAT)
- @Override
- public void getnameSuccess(VnNameBean data) {
- List<VnNameBean.DataBean> nameLsit = data.getData();
- if (nameLsit.size() == 0){
- return;
- }else {
- // toast("成功"+nameLsit.toString());
- //showPopupWindow(nameLsit);
- nameIdList.clear();
- nameIdList.addAll(nameLsit);
- showDownPicker(nameLsit);
- }
- }
- @Override
- public void searchError(String msg) {
- toast(msg);
- }
- @Override
- public void searchSuccess(VnListBean data) {
- final List<VnListBean.DataBean> vnListDatas = data.getData();
- if (vnListDatas.size() == 0){
- toast("该类疫苗暂无报告");
- }
- final VnListAdapter vnListAdapter = new VnListAdapter(R.layout.vnlistitem,vnListDatas);
- rlReportvn.setAdapter(vnListAdapter);
- rlReportvn.setLayoutManager(new LinearLayoutManager(getBindingActivity()));
- vnListAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
- @Override
- public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
- Intent in = new Intent(getBindingActivity(), VnReportDetailActivity.class);
- in.putExtra("VnchipNumber",""+vnListDatas.get(position).getChipNumber());
- startActivity(in);
- }
- });
- //toast("成功");
- }
- private void showDownPicker(List<VnNameBean.DataBean> nameLsit) {
- DataPickerDialog.Builder builder = new DataPickerDialog.Builder(getBindingActivity());
- List<String> nameStringList = new ArrayList<>();
- for (int i = 0; i < nameLsit.size(); i++) {
- nameStringList.add(nameLsit.get(i).getName());
- }
- /*List<RoleTypeBean.RoleParen> parentlist = new ArrayList<>();
- parentlist.add(new RoleTypeBean.RoleParen(6,"","医药企业"));
- parentlist.add(new RoleTypeBean.RoleParen(7,"","预防接种机构"));
- parentlist.add(new RoleTypeBean.RoleParen(8,"","预防接受种者"));
- parentlist.add(new RoleTypeBean.RoleParen(9,"","物流公司"));*/
- DataPickerDialog dialog = builder.setData(nameStringList).setSelection(0).setTitle("疫苗名称")
- .setOnDataSelectedListener(new DataPickerDialog.OnDataSelectedListener() {
- @Override
- public void onDataSelected(String itemValue) {
- tvVnName.setText(itemValue + "");
- }
- }).create();
- dialog.show();
- }
- /*@RequiresApi(api = Build.VERSION_CODES.KITKAT)
- private void showPopupWindow(final List<VnNameBean.DataBean> nameLsit){
- View view = LayoutInflater.from(getBindingActivity()).inflate(R.layout.vnnamepop,null);
- //初始化List数据
- //初始化RecyclerView
- RecyclerView recyslerview = (RecyclerView) view.findViewById(R.id.rv_vnname);
- //创建LinearLayoutManager 对象 这里使用 LinearLayoutManager 是线性布局的意思
- ReportVnAdapter reportVnAdapter = new ReportVnAdapter(R.layout.rvvnname,nameLsit);
- recyslerview.setAdapter(reportVnAdapter);
- GridLayoutManager layoutmanager = new GridLayoutManager(getBindingActivity(),4);
- //设置RecyclerView 布局
- recyslerview.setLayoutManager(layoutmanager);
- //解决android7.0以上手机的适配问题
- final PopupWindow popupWindow = new PopupWindow(view, LinearLayout.LayoutParams.MATCH_PARENT, AutoSizeUtils.dp2px(getBindingActivity(),90)){
- @Override
- public void showAsDropDown(View anchor) {
- if(Build.VERSION.SDK_INT >= 24){
- Rect visibleFrame = new Rect();
- anchor.getGlobalVisibleRect(visibleFrame);
- int height = anchor.getResources().getDisplayMetrics().heightPixels - visibleFrame.bottom;
- setHeight(height);
- }
- super.showAsDropDown(anchor);
- }
- @Override
- public void showAsDropDown(View anchor, int xoff, int yoff) {
- if(Build.VERSION.SDK_INT >= 24) {
- Rect rect = new Rect();
- anchor.getGlobalVisibleRect(rect);
- int h = anchor.getResources().getDisplayMetrics().heightPixels - rect.bottom;
- setHeight(h);
- }
- super.showAsDropDown(anchor, xoff, yoff);
- }
- };
- ColorDrawable dw = new ColorDrawable(0xFFF0F5FF);
- popupWindow.setBackgroundDrawable(dw);
- popupWindow.setOutsideTouchable(true);
- popupWindow.setFocusable(true);
- popupWindow.showAsDropDown(tvVnName, view.getHeight(), 0, Gravity.NO_GRAVITY);
- reportVnAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
- @Override
- public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
- tvVnName.setText(""+nameLsit.get(position).getName());
- popupWindow.dismiss();
- }
- });
- }*/
- @Override
- public void onLoading() {
- }
- @Override
- public void onComplete() {
- }
- @Override
- public void onEmpty() {
- }
- @Override
- public void onError() {
- }
- }
|