From 42ea59771a54d2591df0a6dd3936dda669be99ae Mon Sep 17 00:00:00 2001
From: gs <3129367635@qq.com>
Date: 星期一, 08 七月 2024 12:23:48 +0800
Subject: [PATCH] 会议统计接入增加,删除,修改接口

---
 app/src/main/java/com/application/zhangshi_app_android/ui/function/MeetingStaDetailActivity.java |  367 ++++++++++++++++++++++++++++++++-------------------
 1 files changed, 228 insertions(+), 139 deletions(-)

diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/MeetingStaDetailActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/MeetingStaDetailActivity.java
index 10425ba..4594bd7 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/MeetingStaDetailActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/MeetingStaDetailActivity.java
@@ -1,24 +1,48 @@
 package com.application.zhangshi_app_android.ui.function;
 
+import android.app.Activity;
+import android.content.ClipData;
 import android.content.Intent;
+import android.net.Uri;
+import android.view.View;
 import android.widget.PopupWindow;
 
+import androidx.activity.result.ActivityResult;
+import androidx.activity.result.ActivityResultCallback;
 import androidx.activity.result.ActivityResultLauncher;
+import androidx.activity.result.contract.ActivityResultContracts;
 import androidx.lifecycle.MutableLiveData;
 import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
 
 import com.android.app_base.base.BaseConfig;
+import com.android.app_base.base.adapter.BaseRVAdapter;
 import com.android.app_base.base.dialog.BaseDialog;
 import com.android.app_base.base.dialog.WaitDialog;
+import com.android.app_base.manager.UserManager;
+import com.android.app_base.utils.GetFilePathFromUri;
+import com.android.app_base.utils.ScreenSizeUtils;
 import com.android.app_base.utils.Utils;
 import com.application.zhangshi_app_android.BR;
 import com.application.zhangshi_app_android.R;
 import com.application.zhangshi_app_android.adapter.ElectronicFileAddAdapter;
 import com.application.zhangshi_app_android.bean.MeetingStaBean;
+import com.application.zhangshi_app_android.databinding.ActivityMeetingDetailBinding;
 import com.application.zhangshi_app_android.databinding.ActivityMeetingStaDetailBinding;
 import com.application.zhangshi_app_android.ui.DLBaseActivity;
+import com.github.gzuliyujiang.wheelpicker.DatePicker;
+import com.github.gzuliyujiang.wheelpicker.OptionPicker;
+import com.github.gzuliyujiang.wheelpicker.TimePicker;
+import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener;
+import com.github.gzuliyujiang.wheelpicker.contract.OnOptionPickedListener;
+import com.github.gzuliyujiang.wheelpicker.contract.OnTimePickedListener;
+import com.luck.picture.lib.entity.LocalMedia;
+import com.luck.picture.lib.interfaces.OnResultCallbackListener;
 
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
+import java.util.Locale;
 
 
 /**
@@ -60,112 +84,178 @@
     public void initView() {
         adapter = new ElectronicFileAddAdapter(this);
         GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
-//        binding.rvImage.setLayoutManager(gridLayoutManager);
-//        binding.rvImage.setNestedScrollingEnabled(false);
-//           adapter.setOnChildClickListener(R.id.iv_delete, new BaseRVAdapter.OnChildClickListener() {
+//        adapter.setItemAndAddClickListener(new ElectronicFileAddAdapter.OnItemAndAddClickListener() {
 //            @Override
-//            public void onChildClick(RecyclerView recyclerView, View childView, int position) {
-//                MeetingStaBean bean = viewModel.getBeanLiveData().getValue();
-//                if (bean !=null){
-//                    List<String> urlList = Utils.splitString2List(bean.getUrl(),",");
-//                    urlList.remove(adapter.getItem(position));
-//                    bean.setUrl(Utils.appendList2String(urlList,","));
-//                }
-//                adapter.removeItem(position);
-//                viewModel.getBeanLiveData().setValue(bean);
-//            }
-//        });
-//        binding.rvImage.setAdapter(adapter);
-//        if (type == 1){
-//            viewModel.getTypeLiveData().setValue(true);
-//            binding.titleBar.setTitle("鏂板瀹跺ぇ浜嬭");
-//            binding.ivOperate.setOnClickListener(v -> {
-//                viewModel.add();
-//            });
-//        }else if (type == 0){
-//            popupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_operate_delete,null));
-//            popupWindow.getContentView().findViewById(R.id.tv_modify).setOnClickListener(new View.OnClickListener() {
-//                @Override
-//                public void onClick(View v) {
-//                    viewModel.getTypeLiveData().postValue(true);
-//                    popupWindow.dismiss();
-//                }
-//            });
-//            viewModel.getTypeLiveData().postValue(false);
-//        }else if (type == 2){
-//            viewModel.getTypeLiveData().postValue(true);
+//            public void onItemClick(View v, int position) {
 //
+//            }
+//
+//            @Override
+////            public void onAddClick() {
+////                OptionPicker picker = getOptionPicker(Arrays.asList("鍥剧墖瑙嗛","鍏朵粬鏂囦欢"));
+////                picker.setTitle("閫夋嫨鏂囦欢绫诲瀷");
+////                picker.setOnOptionPickedListener(new OnOptionPickedListener() {
+////                    @Override
+////                    public void onOptionPicked(int position, Object item) {
+////                        if (item.equals("鍥剧墖瑙嗛")) {
+////                            UserManager.getInstance().selectImage(getSelfActivity(), 0,9, new OnResultCallbackListener<LocalMedia>() {
+////                                @Override
+////                                public void onResult(ArrayList<LocalMedia> result) {
+////                                    if (result.size() == 0) return;
+////                                    for (LocalMedia media : result) {
+////                                        String path = media.getRealPath();
+////                                        if (path!=null){
+////                                            viewModel.addUploadFile(path);
+////                                            MeetingStaBean bean = viewModel.getBeanLiveData().getValue();
+////                                            if (bean !=null){
+////                                                List<String> urlList = Utils.splitString2List(bean.getUrl(),",");
+////                                                urlList.add(path);
+////                                                bean.setUrl(Utils.appendList2String(urlList,","));
+////                                            }
+////                                            viewModel.getBeanLiveData().setValue(bean);
+////                                        }
+////                                    }
+////                                }
+////                                @Override
+////                                public void onCancel() {
+////
+////                                }
+////                            });
+////                        }else {
+////                            Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
+//////                            Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
+////                            intent.setType("*/*"); // 闄愬埗鏂囦欢绫诲瀷
+////                            intent.addCategory(Intent.CATEGORY_OPENABLE); // 娣诲姞 CATEGORY_OPENABLE 鍒嗙被,鍛婅瘔绯荤粺瑕侀�夋嫨鐨勫唴瀹瑰彲浠ヨ鎵撳紑锛岃繖鏍风郴缁熶細杩囨护鎺変笉鑳借搴旂敤鎵撳紑鐨勬枃浠讹紝浠ユ彁渚涙洿濂界殑鐢ㄦ埛浣撻獙銆�
+////                            intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true); // 鍏佽澶氶��
+////                            activityResultLauncher.launch(intent);
+////                        }
+////                    }
+////                });
+////                picker.show();
+////
+////            }
+//        });
+        adapter.setOnChildClickListener(R.id.iv_delete, new BaseRVAdapter.OnChildClickListener() {
+            @Override
+            public void onChildClick(RecyclerView recyclerView, View childView, int position) {
+                MeetingStaBean bean = viewModel.getBeanLiveData().getValue();
+                if (bean !=null){
+                    List<String> urlList = Utils.splitString2List(bean.getUrl(),",");
+                    urlList.remove(adapter.getItem(position));
+                    bean.setUrl(Utils.appendList2String(urlList,","));
+                }
+                adapter.removeItem(position);
+                viewModel.getBeanLiveData().setValue(bean);
+            }
+        });
+//        binding.rvImage.setAdapter(adapter);
+        if (type == 1){
+            viewModel.getTypeLiveData().setValue(true);
+            binding.titleBar.setTitle("鏂板瀹跺ぇ浜嬭");
+            binding.ivOperate.setOnClickListener(v -> {
+                viewModel.add();
+            });
+        }else if (type == 0){
+            popupWindow = initPopUpWindow(View.inflate(this,R.layout.pop_operate_delete,null));
+            popupWindow.getContentView().findViewById(R.id.tv_modify).setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    viewModel.getTypeLiveData().postValue(true);
+                    popupWindow.dismiss();
+                }
+            });
+            viewModel.getTypeLiveData().postValue(false);
+        }else if (type == 2){
+            viewModel.getTypeLiveData().postValue(true);
+
+        }
+
+
+        // 鏄剧ず鏃ユ湡閫夋嫨鍣ㄥ拰鏃堕棿閫夋嫨鍣ㄧ殑鏂规硶
+//        public void showDateTimePicker() {
+//            DatePickerDialog pickerDialog = new DatePickerDialog(this, (view, year, monthOfYear, dayOfMonth) -> {
+//                TimePickerDialog timePickerDialog = new TimePickerDialog(this, (view1, hourOfDay, minute) -> {
+//                    String date = String.format(Locale.CHINA, "%d-%02d-%02d", year, monthOfYear + 1, dayOfMonth);
+//                    String time = String.format(Locale.CHINA, "%02d:%02d", hourOfDay, minute);
+//                    String starttime = date + " " + time;
+//                    binding.etStartTime.setText(starttime);
+//                }, 0, 0, true);
+//                timePickerDialog.setTitle("閫夋嫨鏃堕棿");
+//                timePickerDialog.show();
+//            }, Calendar.getInstance().get(Calendar.YEAR), Calendar.getInstance().get(Calendar.MONTH), Calendar.getInstance().get(Calendar.DAY_OF_MONTH));
+//            pickerDialog.setTitle("閫夋嫨鏃ユ湡");
+//            pickerDialog.show();
 //        }
 
 
 
-//        binding.etDate1.setOnClickListener(new View.OnClickListener() {
+//        binding.etStartTime.setOnClickListener(new View.OnClickListener() {
+//            private String datee;
+//            private String timee;
+//
 //            @Override
 //            public void onClick(View v) {
 //                DatePicker picker = getDatePicker();
-//                picker.setTitle("閫夋嫨鏃堕棿");
+//                TimePicker picker2 = getTimePicker();
+//                picker.setTitle("閫夋嫨鏃ユ湡");
+//                picker2.setTitle("閫夋嫨鏃堕棿");
 //                picker.setOnDatePickedListener(new OnDatePickedListener() {
 //                    @Override
 //                    public void onDatePicked(int year, int month, int day) {
 //                        String date = String.format(Locale.CHINA, "%d-%02d-%02d", year, month, day);
-//                        binding.etDate1.setText(date);
+//                        datee = date;
+//
+//                        // 鍦ㄦ棩鏈熼�夋嫨鍚庢樉绀烘椂闂撮�夋嫨鍣�
+//                        picker2.show();
 //                    }
 //                });
 //                picker.show();
+//                picker2.setOnTimePickedListener(new OnTimePickedListener() {
+//                    @Override
+//                    public void onTimePicked(int hour, int minute, int second) {
+//                        String time = String.format(Locale.CHINA, "%d:%02d:%02d", hour, minute, second);
+//                        timee = time;
+//
+//                        // 鍚堝苟鏃ユ湡鍜屾椂闂村苟璁剧疆鍒扮紪杈戞
+//                        String starttime = datee + " " + timee;
+//                        binding.etStartTime.setText(starttime);
+//                    }
+//                });
 //            }
 //        });
 
-//        binding.etDate2.setOnClickListener(new View.OnClickListener() {
+//        binding.etEndTime.setOnClickListener(new View.OnClickListener() {
+//            private String datee;
+//            private String timee;
+//
 //            @Override
 //            public void onClick(View v) {
 //                DatePicker picker = getDatePicker();
-//                picker.setTitle("閫夋嫨鏃堕棿");
+//                TimePicker picker2 = getTimePicker();
+//                picker.setTitle("閫夋嫨鏃ユ湡");
+//                picker2.setTitle("閫夋嫨鏃堕棿");
 //                picker.setOnDatePickedListener(new OnDatePickedListener() {
 //                    @Override
 //                    public void onDatePicked(int year, int month, int day) {
 //                        String date = String.format(Locale.CHINA, "%d-%02d-%02d", year, month, day);
-//                        binding.etDate2.setText(date);
-//                    }
-//                });
-//                picker.show();
-//            }
-//        });
-
-//        binding.etTime1.setOnClickListener(new View.OnClickListener() {
-//            @Override
-//            public void onClick(View v) {
-//                TimePicker picker = getTimePicker();
-//                picker.setTitle("閫夋嫨鏃堕棿");
-//                picker.setOnTimePickedListener(new OnTimePickedListener() {
+//                        datee = date;
 //
+//                        // 鍦ㄦ棩鏈熼�夋嫨鍚庢樉绀烘椂闂撮�夋嫨鍣�
+//                        picker2.show();
+//                    }
+//                });
+//                picker.show();
+//                picker2.setOnTimePickedListener(new OnTimePickedListener() {
 //                    @Override
+//                    public void onTimePicked(int hour, int minute, int second) {
+//                        String time = String.format(Locale.CHINA, "%d:%02d:%02d", hour, minute, second);
+//                        timee = time;
 //
-//                    public void onTimePicked(int hour, int Minute,int second) {
-////                        second = '0';
-//                        String date = String.format(Locale.CHINA, "%d:%02d:%02d",hour,Minute,second);
-//                        binding.etTime1.setText(date);
+//                        // 鍚堝苟鏃ユ湡鍜屾椂闂村苟璁剧疆鍒扮紪杈戞
+//                        String endtime = datee + " " + timee;
+//                        binding.etEndTime.setText(endtime);
 //                    }
 //                });
-//                picker.show();
-//            }
-//        });
-
-
-
-
-//        binding.etTime2.setOnClickListener(new View.OnClickListener() {
-//            @Override
-//            public void onClick(View v) {
-//                TimePicker picker = getTimePicker();
-//                picker.setTitle("閫夋嫨鏃堕棿");
-//                picker.setOnTimePickedListener(new OnTimePickedListener() {
-//                    @Override
-//                    public void onTimePicked(int hour, int Minute, int second) {
-//                        String date = String.format(Locale.CHINA, "%d:%02d:%02d",hour,Minute,second );
-//                        binding.etTime2.setText(date);
-//                    }
-//                });
-//                picker.show();
 //            }
 //        });
 
@@ -173,51 +263,50 @@
 
 
 
-
-//        activityResultLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback<ActivityResult>() {
-//            @Override
-//            public void onActivityResult(ActivityResult result) {
-//                if (result.getResultCode() == Activity.RESULT_OK) {
-//                    if (result.getData() == null){
-//                        return;
-//                    }
-//                    // 鑾峰彇閫変腑鐨勫涓枃浠剁殑 URI
-//                    ClipData clipData = result.getData().getClipData();
-//                    if (clipData != null) {
-//                        int itemCount = clipData.getItemCount();
-//                        for (int i = 0; i < itemCount; i++) {
-//                            Uri uri = clipData.getItemAt(i).getUri();
-//                            // 浣跨敤閫変腑鐨勬枃浠� URI 杩涜鍚庣画鎿嶄綔锛屾瘮濡傝鍙栨枃浠跺唴瀹圭瓑
-//                            String path = GetFilePathFromUri.getFileAbsolutePath(getSelfActivity(),uri);
-//                            if (path!=null){
-//                                viewModel.addUploadFile(path);
-//                                MeetingStaBean bean = viewModel.getBeanLiveData().getValue();
-//                                if (bean !=null){
-//                                    List<String> urlList = Utils.splitString2List(bean.getUrl(),",");
-//                                    urlList.add(path);
-//                                    bean.setUrl(Utils.appendList2String(urlList,","));
-//                                }
-//                                viewModel.getBeanLiveData().setValue(bean);
-//                            }
-//                        }
-//                    }else {
-//                        // 鑾峰彇閫変腑鐨勫崟涓枃浠剁殑 URI
-//                        Uri selectedFileUri = result.getData().getData();
-//                        String path = GetFilePathFromUri.getFileAbsolutePath(getSelfActivity(),selectedFileUri);
-//                        if (path!=null){
-//                            viewModel.addUploadFile(path);
-//                            MeetingStaBean bean = viewModel.getBeanLiveData().getValue();
-//                            if (bean !=null){
-//                                List<String> urlList = Utils.splitString2List(bean.getUrl(),",");
-//                                urlList.add(path);
-//                                bean.setUrl(Utils.appendList2String(urlList,","));
-//                            }
-//                            viewModel.getBeanLiveData().setValue(bean);
-//                        }
-//                    }
-//                }
-//            }
-//        });
+        activityResultLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback<ActivityResult>() {
+            @Override
+            public void onActivityResult(ActivityResult result) {
+                if (result.getResultCode() == Activity.RESULT_OK) {
+                    if (result.getData() == null){
+                        return;
+                    }
+                    // 鑾峰彇閫変腑鐨勫涓枃浠剁殑 URI
+                    ClipData clipData = result.getData().getClipData();
+                    if (clipData != null) {
+                        int itemCount = clipData.getItemCount();
+                        for (int i = 0; i < itemCount; i++) {
+                            Uri uri = clipData.getItemAt(i).getUri();
+                            // 浣跨敤閫変腑鐨勬枃浠� URI 杩涜鍚庣画鎿嶄綔锛屾瘮濡傝鍙栨枃浠跺唴瀹圭瓑
+                            String path = GetFilePathFromUri.getFileAbsolutePath(getSelfActivity(),uri);
+                            if (path!=null){
+                                viewModel.addUploadFile(path);
+                                MeetingStaBean bean = viewModel.getBeanLiveData().getValue();
+                                if (bean !=null){
+                                    List<String> urlList = Utils.splitString2List(bean.getUrl(),",");
+                                    urlList.add(path);
+                                    bean.setUrl(Utils.appendList2String(urlList,","));
+                                }
+                                viewModel.getBeanLiveData().setValue(bean);
+                            }
+                        }
+                    }else {
+                        // 鑾峰彇閫変腑鐨勫崟涓枃浠剁殑 URI
+                        Uri selectedFileUri = result.getData().getData();
+                        String path = GetFilePathFromUri.getFileAbsolutePath(getSelfActivity(),selectedFileUri);
+                        if (path!=null){
+                            viewModel.addUploadFile(path);
+                            MeetingStaBean bean = viewModel.getBeanLiveData().getValue();
+                            if (bean !=null){
+                                List<String> urlList = Utils.splitString2List(bean.getUrl(),",");
+                                urlList.add(path);
+                                bean.setUrl(Utils.appendList2String(urlList,","));
+                            }
+                            viewModel.getBeanLiveData().setValue(bean);
+                        }
+                    }
+                }
+            }
+        });
 
     }
 
@@ -236,25 +325,25 @@
                 adapter.setData(urlList);
             }
         });
-//        viewModel.getTypeLiveData().observe(this,operateType -> {
-//            if (operateType){
-//                if (type == 1) {
-//                    binding.ivOperate.setOnClickListener(v -> {
-//                        viewModel.add();
-//                    });
-//                }else {
-//                    binding.ivOperate.setOnClickListener(v -> {
-//                        viewModel.update();
-//                    });
-//                }
-//                setIsEdited(true);
-//            }else {
-//                binding.ivOperate.setOnClickListener(v -> {
-//                    popupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
-//                });
-//                setIsEdited(false);
-//            }
-//        });
+        viewModel.getTypeLiveData().observe(this,operateType -> {
+            if (operateType){
+                if (type == 1) {
+                    binding.ivOperate.setOnClickListener(v -> {
+                        viewModel.add();
+                    });
+                }else {
+                    binding.ivOperate.setOnClickListener(v -> {
+                        viewModel.update();
+                    });
+                }
+                setIsEdited(true);
+            }else {
+                binding.ivOperate.setOnClickListener(v -> {
+                    popupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0);
+                });
+                setIsEdited(false);
+            }
+        });
     }
 
     public void setIsEdited(boolean isEdited){

--
Gitblit v1.9.1