194 lines
6.1 KiB
Java
194 lines
6.1 KiB
Java
package com.ckkj.water.plan;
|
|
|
|
import android.os.Bundle;
|
|
import android.view.View;
|
|
|
|
import com.chad.library.adapter.base.BaseQuickAdapter;
|
|
import com.ckkj.water.R;
|
|
import com.ckkj.water.base.BaseFragment;
|
|
import com.ckkj.water.databinding.PlanBoundDeviceLayoutBinding;
|
|
import com.ckkj.water.index.entity.WaterDeviceEntity;
|
|
import com.ckkj.water.network.BaseBean;
|
|
import com.ckkj.water.plan.adapter.PlanBoundDeviceAdapter;
|
|
import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
|
|
import com.ckkj.water.plan.mvp.WaterPlanContract;
|
|
import com.ckkj.water.plan.mvp.WaterPlanImpl;
|
|
import com.ckkj.water.plan.mvp.WaterPlanPresenter;
|
|
import com.ckkj.water.utils.show.ToastUtil;
|
|
|
|
import java.util.List;
|
|
|
|
/**
|
|
* @author fengxiaoyang
|
|
* @date 2026/5/29
|
|
* @description 已绑定的设备列表
|
|
*/
|
|
public class PlanBoundDeviceFragment extends BaseFragment<PlanBoundDeviceLayoutBinding, WaterPlanPresenter>
|
|
implements WaterPlanContract.WaterPlanView{
|
|
|
|
private WaterPlanWeekEntity mEditEntity;
|
|
private PlanBoundDeviceAdapter mAdapter;
|
|
|
|
@Override
|
|
public void initData(Bundle state) {
|
|
// 初始化适配器,如果有数据则设置
|
|
if (mEditEntity != null && mEditEntity.getDeviceIds() != null) {
|
|
mAdapter = new PlanBoundDeviceAdapter(mContext, R.layout.plan_bound_device_item, mEditEntity.getDeviceIds());
|
|
viewBinding.rvDevices.setAdapter(mAdapter);
|
|
|
|
// 根据数据状态显示/隐藏视图
|
|
if (mEditEntity.getDeviceIds().isEmpty()) {
|
|
viewBinding.linearContent.setVisibility(View.GONE);
|
|
viewBinding.relNoresult.setVisibility(View.VISIBLE);
|
|
} else {
|
|
viewBinding.linearContent.setVisibility(View.VISIBLE);
|
|
viewBinding.relNoresult.setVisibility(View.GONE);
|
|
}
|
|
} else {
|
|
// 无数据时显示空状态
|
|
viewBinding.linearContent.setVisibility(View.GONE);
|
|
viewBinding.relNoresult.setVisibility(View.VISIBLE);
|
|
}
|
|
if(mAdapter != null){
|
|
mAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
|
|
@Override
|
|
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
|
|
switch (view.getId()){
|
|
case R.id.img_delete:
|
|
showDialogtext(null, false, false, "提示",
|
|
"确定解绑该设备?", "取消", "解绑",
|
|
new OnDialogClick() {
|
|
@Override
|
|
public void onCancelClick() {
|
|
}
|
|
|
|
@Override
|
|
public void onConfirmClick() {
|
|
showLoadingDialog();
|
|
mPresenter.planUnbindDevice(mEditEntity.getId(),
|
|
mEditEntity.getDeviceIds().get(position).getId(),
|
|
position);
|
|
}
|
|
});
|
|
break;
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
}
|
|
|
|
public void setEditEntity(WaterPlanWeekEntity entity) {
|
|
this.mEditEntity = entity;
|
|
// 使用 getView().post() 确保视图已初始化完成
|
|
if (getView() != null) {
|
|
getView().post(() -> {
|
|
if (viewBinding != null) {
|
|
updateUI();
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
private void updateUI() {
|
|
if (viewBinding == null) {
|
|
return;
|
|
}
|
|
if (mEditEntity == null || mEditEntity.getDeviceIds() == null) {
|
|
viewBinding.linearContent.setVisibility(View.GONE);
|
|
viewBinding.relNoresult.setVisibility(View.VISIBLE);
|
|
return;
|
|
}
|
|
|
|
if (mEditEntity.getDeviceIds().isEmpty()) {
|
|
viewBinding.linearContent.setVisibility(View.GONE);
|
|
viewBinding.relNoresult.setVisibility(View.VISIBLE);
|
|
} else {
|
|
viewBinding.linearContent.setVisibility(View.VISIBLE);
|
|
viewBinding.relNoresult.setVisibility(View.GONE);
|
|
if (mAdapter != null) {
|
|
mAdapter.setNewData(mEditEntity.getDeviceIds());
|
|
}
|
|
}
|
|
}
|
|
|
|
public WaterPlanWeekEntity getEditEntity() {
|
|
return mEditEntity;
|
|
}
|
|
|
|
@Override
|
|
public WaterPlanPresenter createPresenter() {
|
|
return new WaterPlanPresenter(new WaterPlanImpl());
|
|
}
|
|
|
|
@Override
|
|
public void getWaterConfigListSuccess(List<WaterPlanWeekEntity> list, int total) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void saveConfigSuccess(WaterPlanWeekEntity entity) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void updateConfigSuccess(WaterPlanWeekEntity entity) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void updatePlanStatusSuccess(BaseBean bean, String status) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void getPlanDetailInfo(WaterPlanWeekEntity entity) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void getPlanBindDeviceList(WaterDeviceEntity bean) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void planBindDeviceSuccess(BaseBean bean) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void deletePlanSuccess(BaseBean bean) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void planUnbindDeviceSuccess(BaseBean bean, int position) {
|
|
hideDialogLoading();
|
|
ToastUtil.showShort(mContext, "解绑成功");
|
|
mAdapter.notifyItemRemoved(position);
|
|
mEditEntity.getDeviceIds().remove(position);
|
|
if (mAdapter.getItemCount() != 0) {
|
|
viewBinding.relNoresult.setVisibility(View.GONE);
|
|
viewBinding.linearContent.setVisibility(View.VISIBLE);
|
|
} else {
|
|
viewBinding.relNoresult.setVisibility(View.VISIBLE);
|
|
viewBinding.linearContent.setVisibility(View.GONE);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void onNetChange(int netModel) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void showError(String message) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void logOut(BaseBean bean) {
|
|
|
|
}
|
|
}
|