排程编辑更新

This commit is contained in:
fengjignqi
2026-05-27 08:52:18 +08:00
parent f2b8062398
commit 0ca0a395cd
7 changed files with 132 additions and 31 deletions

View File

@@ -70,7 +70,7 @@ public interface Request {
//查询排程列表
@GET("app/v1/schedulelist")
Observable<BaseBean<List<WaterPlanWeekEntity>>> scheduleList(@HeaderMap Map<String, String> headMap);
Observable<BaseBean<List<WaterPlanWeekEntity>>> scheduleList(@HeaderMap Map<String, String> headMap,@QueryMap Map<String, String> map);
//添加排程信息

View File

@@ -118,9 +118,31 @@ public class AddWaterPlanActivity extends BaseActivity<AddWaterPlanLayoutBinding
if (!configFragment.checkConfigFinish()) {
ToastUtil.showShort(mContext, "请完成配置");
return;
}else{
if(!configFragment.isConfigSave || configFragment.isConfigChanged()){
showDialogtext(mContext.getResources().getDrawable(R.mipmap.img_location), false, false,true,
}
// 编辑模式下,检查配置是否有变化
if (mIsEditMode) {
if (configFragment.isConfigChanged()) {
showDialogtext(mContext.getResources().getDrawable(R.mipmap.img_location), false, false, true,
"提示", "配置已修改,是否保存?",
"取消", "保存", new BaseFragment.OnDialogClick() {
@Override
public void onCancelClick() {
selectTabBind(mEditEntity);
}
@Override
public void onConfirmClick() {
configFragment.commitConfig();
}
});
} else {
selectTabBind(mEditEntity);
}
} else {
// 新增模式,检查配置是否已保存
if (!configFragment.isConfigSave || configFragment.isConfigChanged()) {
showDialogtext(mContext.getResources().getDrawable(R.mipmap.img_location), false, false, true,
"提示", "关联设备需要保存排程配置,是否继续?",
"取消", "继续", new BaseFragment.OnDialogClick() {
@Override
@@ -132,30 +154,28 @@ public class AddWaterPlanActivity extends BaseActivity<AddWaterPlanLayoutBinding
configFragment.commitConfig();
}
});
}else{
selectTabBind();
} else {
selectTabBind(null);
}
}
break;
}
}
private void selectTabBind() {
private void selectTabBind(WaterPlanWeekEntity entity) {
viewBinding.tvConfig.setSelected(false);
viewBinding.tvBind.setSelected(true);
viewBinding.viewpage.setCurrentItem(1);
// 传递排程数据给 BindDeviceFragment
BindDeviceFragment bindDeviceFragment = (BindDeviceFragment) mFragmentList.get(1);
bindDeviceFragment.setPlanEntity(entity);
}
public void onConfigSaved(WaterPlanWeekEntity entity) {
selectTabBind();
// 传递 WaterPlanWeekEntity 给 BindDeviceFragment
BindDeviceFragment bindDeviceFragment = (BindDeviceFragment) mFragmentList.get(1);
bindDeviceFragment.setPlanEntity(entity);
selectTabBind(entity);
}
@Override

View File

@@ -34,6 +34,13 @@ public class PlanDetailActivity extends BaseActivity<WaterPlanDetailLayoutBindin
private PlanDetailTimeAdapter mAdapter;
private List<WaterPlanWeekEntity.DetailsBean> mList = new ArrayList<>();
@Override
protected void onResume() {
super.onResume();
showLoadingDialog();
mPresenter.getPlanDetailInfo(mPlanEntity);
}
@Override
public void initData(Bundle savedInstanceState) {
super.initData(savedInstanceState);
@@ -50,8 +57,6 @@ public class PlanDetailActivity extends BaseActivity<WaterPlanDetailLayoutBindin
.init();
viewBinding.includedTitle.tvTitle.setText(R.string.plan_detail_title);
initListener();
showLoadingDialog();
mPresenter.getPlanDetailInfo(mPlanEntity);
mAdapter = new PlanDetailTimeAdapter(R.layout.plan_detail_time_item,mList);
viewBinding.rvPlanTime.setAdapter(mAdapter);
// PlanDetailDeviceAdapter deviceAdapter = new PlanDetailDeviceAdapter(R.layout.plan_detail_bind_device_item,entity.getDeviceList());

View File

@@ -8,6 +8,7 @@ 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.custom.view.CustomRefreshHeader;
import com.ckkj.water.databinding.WaterPlanFragmentBinding;
import com.ckkj.water.index.entity.WaterDeviceEntity;
import com.ckkj.water.network.BaseBean;
@@ -21,6 +22,7 @@ import com.ckkj.water.utils.manager.ThemeManager;
import com.ckkj.water.utils.show.ToastUtil;
import com.google.gson.Gson;
import com.gyf.immersionbar.ImmersionBar;
import com.scwang.smart.refresh.layout.api.RefreshHeader;
import java.util.ArrayList;
import java.util.List;
@@ -29,6 +31,7 @@ public class WaterPlanFragment extends BaseFragment<WaterPlanFragmentBinding, Wa
implements WaterPlanContract.WaterPlanView {
private List<WaterPlanWeekEntity> mPlanList = new ArrayList<>();
private WaterPlanListAdapter mAdapter;
private int mCurrentPage = 1;
@Override
public void initData(Bundle state) {
@@ -44,7 +47,6 @@ public class WaterPlanFragment extends BaseFragment<WaterPlanFragmentBinding, Wa
viewBinding.includedTitle.imgBack.setVisibility(INVISIBLE);
viewBinding.includedTitle.tvTitle.setText(getString(R.string.plan_title));
initListener();
mAdapter = new WaterPlanListAdapter(mContext,R.layout.water_plan_list_item,mPlanList);
viewBinding.rvPlans.setAdapter(mAdapter);
mAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@@ -55,10 +57,25 @@ public class WaterPlanFragment extends BaseFragment<WaterPlanFragmentBinding, Wa
goTo(mContext, PlanDetailActivity.class,bundle);
}
});
showLoadingDialog();
mPresenter.getWaterPlanList();
RefreshHeader header = new CustomRefreshHeader(mContext);
viewBinding.refresh.setRefreshHeader(header);
viewBinding.refresh.setOnRefreshListener(layout -> {
mCurrentPage = 1;
mPresenter.getWaterPlanList(mCurrentPage);
});
viewBinding.refresh.setOnLoadMoreListener(layout -> {
mCurrentPage++;
mPresenter.getWaterPlanList(mCurrentPage);
});
}
@Override
protected void onResumeInitData() {
super.onResumeInitData();
showLoadingDialog();
mPresenter.getWaterPlanList(mCurrentPage);
}
private void initListener() {
setClick(viewBinding.tvAdd);
@@ -78,9 +95,35 @@ public class WaterPlanFragment extends BaseFragment<WaterPlanFragmentBinding, Wa
@Override
public void getWaterConfigListSuccess(List<WaterPlanWeekEntity> list,int total) {
hideDialogLoading();
mPlanList = list;
mAdapter.setNewData(list);
viewBinding.refresh.finishRefresh(300);
viewBinding.refresh.finishLoadMore(300);
if (mCurrentPage == 1) {
mPlanList.clear(); // 只在刷新时清除
mPlanList = list;
} else {
mPlanList.addAll(list);
}
mAdapter.setNewData(mPlanList);
// 4. 判断是否还有更多数据
if (total == mAdapter.getItemCount() || list == null || list.size() == 0) {
// ✅ 告诉 SmartRefreshLayout 没有更多数据了
viewBinding.refresh.setNoMoreData(true);
viewBinding.relNoMore.setVisibility(View.VISIBLE); // 自定义底部提示“暂无更多数据”
} else {
viewBinding.refresh.setNoMoreData(false); // 重置状态
viewBinding.relNoMore.setVisibility(View.GONE);
}
// 5. 控制空布局和内容显示
if (mAdapter.getItemCount() != 0) {
viewBinding.refresh.setVisibility(View.VISIBLE);
viewBinding.relNoresult.setVisibility(View.GONE);
} else {
viewBinding.refresh.setVisibility(View.GONE);
viewBinding.relNoresult.setVisibility(View.VISIBLE);
}
}

View File

@@ -25,7 +25,7 @@ public class WaterPlanImpl implements WaterPlanContract.DataModel{
*/
@Override
public void getWaterConfigList(Map<String, String> map, WaterPlanContract.CallBack callBack) {
NetWorkManager.getRequest().scheduleList(NetWorkManager.getToken())
NetWorkManager.getRequest().scheduleList(NetWorkManager.getToken(),map)
.subscribeOn(Schedulers.io())
.unsubscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())

View File

@@ -2,7 +2,6 @@ package com.ckkj.water.plan.mvp;
import com.ckkj.water.base.BasePresenter;
import com.ckkj.water.index.entity.WaterDeviceEntity;
import com.ckkj.water.network.BaseBean;
import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
import org.json.JSONArray;
@@ -24,8 +23,10 @@ public class WaterPlanPresenter extends BasePresenter<WaterPlanContract.WaterPla
/**
* 获取排程信息
*/
public void getWaterPlanList() {
public void getWaterPlanList(int mCurrentPage) {
Map<String,String> map = new HashMap<>();
map.put("pageNum", mCurrentPage + "");
map.put("pageSize", "10");
impl.getWaterConfigList(map, new WaterPlanContract.CallBack<List<WaterPlanWeekEntity>>() {
@Override