排程解绑设备,添加已关联设备tab

This commit is contained in:
fengjignqi
2026-05-29 18:02:04 +08:00
parent 436b65c5e6
commit ed9cdaf126
13 changed files with 239 additions and 3 deletions

View File

@@ -1,15 +1,20 @@
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;
@@ -20,9 +25,95 @@ import java.util.List;
*/
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
@@ -70,6 +161,14 @@ public class PlanBoundDeviceFragment extends BaseFragment<PlanBoundDeviceLayoutB
}
@Override
public void planUnbindDeviceSuccess(BaseBean bean, int position) {
hideDialogLoading();
ToastUtil.showShort(mContext, "解绑成功");
mAdapter.notifyItemRemoved(position);
mEditEntity.getDeviceIds().remove(position);
}
@Override
public void onNetChange(int netModel) {