排程编辑更新
This commit is contained in:
@@ -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);
|
||||
|
||||
|
||||
//添加排程信息
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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();
|
||||
viewBinding.refresh.finishRefresh(300);
|
||||
viewBinding.refresh.finishLoadMore(300);
|
||||
if (mCurrentPage == 1) {
|
||||
mPlanList.clear(); // 只在刷新时清除
|
||||
mPlanList = list;
|
||||
mAdapter.setNewData(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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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())
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -56,6 +56,15 @@
|
||||
android:gravity="center"/>
|
||||
</LinearLayout>
|
||||
|
||||
<com.scwang.smart.refresh.layout.SmartRefreshLayout
|
||||
android:id="@+id/refresh"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
<!-- 设备列表区域 -->
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rv_plans"
|
||||
android:layout_width="match_parent"
|
||||
@@ -64,4 +73,27 @@
|
||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
||||
tools:listitem="@layout/water_plan_list_item"
|
||||
tools:itemCount="5"/>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/rel_no_more"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone" >
|
||||
<include
|
||||
android:id="@+id/lay_no_more"
|
||||
layout="@layout/layout_no_more"/>
|
||||
</RelativeLayout>
|
||||
</LinearLayout>
|
||||
</com.scwang.smart.refresh.layout.SmartRefreshLayout>
|
||||
<RelativeLayout
|
||||
android:id="@+id/rel_noresult"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:visibility="gone">
|
||||
<include
|
||||
android:id="@+id/included_noresult"
|
||||
layout="@layout/include_no_result_layout"/>
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
Reference in New Issue
Block a user