排程编辑更新
This commit is contained in:
@@ -70,7 +70,7 @@ public interface Request {
|
|||||||
|
|
||||||
//查询排程列表
|
//查询排程列表
|
||||||
@GET("app/v1/schedulelist")
|
@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()) {
|
if (!configFragment.checkConfigFinish()) {
|
||||||
ToastUtil.showShort(mContext, "请完成配置");
|
ToastUtil.showShort(mContext, "请完成配置");
|
||||||
return;
|
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() {
|
"取消", "继续", new BaseFragment.OnDialogClick() {
|
||||||
@Override
|
@Override
|
||||||
@@ -132,30 +154,28 @@ public class AddWaterPlanActivity extends BaseActivity<AddWaterPlanLayoutBinding
|
|||||||
configFragment.commitConfig();
|
configFragment.commitConfig();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}else{
|
} else {
|
||||||
selectTabBind();
|
selectTabBind(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void selectTabBind() {
|
private void selectTabBind(WaterPlanWeekEntity entity) {
|
||||||
viewBinding.tvConfig.setSelected(false);
|
viewBinding.tvConfig.setSelected(false);
|
||||||
viewBinding.tvBind.setSelected(true);
|
viewBinding.tvBind.setSelected(true);
|
||||||
viewBinding.viewpage.setCurrentItem(1);
|
viewBinding.viewpage.setCurrentItem(1);
|
||||||
|
|
||||||
|
// 传递排程数据给 BindDeviceFragment
|
||||||
|
BindDeviceFragment bindDeviceFragment = (BindDeviceFragment) mFragmentList.get(1);
|
||||||
|
bindDeviceFragment.setPlanEntity(entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onConfigSaved(WaterPlanWeekEntity entity) {
|
public void onConfigSaved(WaterPlanWeekEntity entity) {
|
||||||
selectTabBind();
|
selectTabBind(entity);
|
||||||
// 传递 WaterPlanWeekEntity 给 BindDeviceFragment
|
|
||||||
BindDeviceFragment bindDeviceFragment = (BindDeviceFragment) mFragmentList.get(1);
|
|
||||||
bindDeviceFragment.setPlanEntity(entity);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -34,6 +34,13 @@ public class PlanDetailActivity extends BaseActivity<WaterPlanDetailLayoutBindin
|
|||||||
private PlanDetailTimeAdapter mAdapter;
|
private PlanDetailTimeAdapter mAdapter;
|
||||||
private List<WaterPlanWeekEntity.DetailsBean> mList = new ArrayList<>();
|
private List<WaterPlanWeekEntity.DetailsBean> mList = new ArrayList<>();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onResume() {
|
||||||
|
super.onResume();
|
||||||
|
showLoadingDialog();
|
||||||
|
mPresenter.getPlanDetailInfo(mPlanEntity);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void initData(Bundle savedInstanceState) {
|
public void initData(Bundle savedInstanceState) {
|
||||||
super.initData(savedInstanceState);
|
super.initData(savedInstanceState);
|
||||||
@@ -50,8 +57,6 @@ public class PlanDetailActivity extends BaseActivity<WaterPlanDetailLayoutBindin
|
|||||||
.init();
|
.init();
|
||||||
viewBinding.includedTitle.tvTitle.setText(R.string.plan_detail_title);
|
viewBinding.includedTitle.tvTitle.setText(R.string.plan_detail_title);
|
||||||
initListener();
|
initListener();
|
||||||
showLoadingDialog();
|
|
||||||
mPresenter.getPlanDetailInfo(mPlanEntity);
|
|
||||||
mAdapter = new PlanDetailTimeAdapter(R.layout.plan_detail_time_item,mList);
|
mAdapter = new PlanDetailTimeAdapter(R.layout.plan_detail_time_item,mList);
|
||||||
viewBinding.rvPlanTime.setAdapter(mAdapter);
|
viewBinding.rvPlanTime.setAdapter(mAdapter);
|
||||||
// PlanDetailDeviceAdapter deviceAdapter = new PlanDetailDeviceAdapter(R.layout.plan_detail_bind_device_item,entity.getDeviceList());
|
// 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.chad.library.adapter.base.BaseQuickAdapter;
|
||||||
import com.ckkj.water.R;
|
import com.ckkj.water.R;
|
||||||
import com.ckkj.water.base.BaseFragment;
|
import com.ckkj.water.base.BaseFragment;
|
||||||
|
import com.ckkj.water.custom.view.CustomRefreshHeader;
|
||||||
import com.ckkj.water.databinding.WaterPlanFragmentBinding;
|
import com.ckkj.water.databinding.WaterPlanFragmentBinding;
|
||||||
import com.ckkj.water.index.entity.WaterDeviceEntity;
|
import com.ckkj.water.index.entity.WaterDeviceEntity;
|
||||||
import com.ckkj.water.network.BaseBean;
|
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.ckkj.water.utils.show.ToastUtil;
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.gyf.immersionbar.ImmersionBar;
|
import com.gyf.immersionbar.ImmersionBar;
|
||||||
|
import com.scwang.smart.refresh.layout.api.RefreshHeader;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -29,6 +31,7 @@ public class WaterPlanFragment extends BaseFragment<WaterPlanFragmentBinding, Wa
|
|||||||
implements WaterPlanContract.WaterPlanView {
|
implements WaterPlanContract.WaterPlanView {
|
||||||
private List<WaterPlanWeekEntity> mPlanList = new ArrayList<>();
|
private List<WaterPlanWeekEntity> mPlanList = new ArrayList<>();
|
||||||
private WaterPlanListAdapter mAdapter;
|
private WaterPlanListAdapter mAdapter;
|
||||||
|
private int mCurrentPage = 1;
|
||||||
@Override
|
@Override
|
||||||
public void initData(Bundle state) {
|
public void initData(Bundle state) {
|
||||||
|
|
||||||
@@ -44,7 +47,6 @@ public class WaterPlanFragment extends BaseFragment<WaterPlanFragmentBinding, Wa
|
|||||||
viewBinding.includedTitle.imgBack.setVisibility(INVISIBLE);
|
viewBinding.includedTitle.imgBack.setVisibility(INVISIBLE);
|
||||||
viewBinding.includedTitle.tvTitle.setText(getString(R.string.plan_title));
|
viewBinding.includedTitle.tvTitle.setText(getString(R.string.plan_title));
|
||||||
initListener();
|
initListener();
|
||||||
|
|
||||||
mAdapter = new WaterPlanListAdapter(mContext,R.layout.water_plan_list_item,mPlanList);
|
mAdapter = new WaterPlanListAdapter(mContext,R.layout.water_plan_list_item,mPlanList);
|
||||||
viewBinding.rvPlans.setAdapter(mAdapter);
|
viewBinding.rvPlans.setAdapter(mAdapter);
|
||||||
mAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
|
mAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
|
||||||
@@ -55,10 +57,25 @@ public class WaterPlanFragment extends BaseFragment<WaterPlanFragmentBinding, Wa
|
|||||||
goTo(mContext, PlanDetailActivity.class,bundle);
|
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() {
|
private void initListener() {
|
||||||
setClick(viewBinding.tvAdd);
|
setClick(viewBinding.tvAdd);
|
||||||
@@ -78,9 +95,35 @@ public class WaterPlanFragment extends BaseFragment<WaterPlanFragmentBinding, Wa
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getWaterConfigListSuccess(List<WaterPlanWeekEntity> list,int total) {
|
public void getWaterConfigListSuccess(List<WaterPlanWeekEntity> list,int total) {
|
||||||
|
|
||||||
hideDialogLoading();
|
hideDialogLoading();
|
||||||
mPlanList = list;
|
viewBinding.refresh.finishRefresh(300);
|
||||||
mAdapter.setNewData(list);
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ public class WaterPlanImpl implements WaterPlanContract.DataModel{
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void getWaterConfigList(Map<String, String> map, WaterPlanContract.CallBack callBack) {
|
public void getWaterConfigList(Map<String, String> map, WaterPlanContract.CallBack callBack) {
|
||||||
NetWorkManager.getRequest().scheduleList(NetWorkManager.getToken())
|
NetWorkManager.getRequest().scheduleList(NetWorkManager.getToken(),map)
|
||||||
.subscribeOn(Schedulers.io())
|
.subscribeOn(Schedulers.io())
|
||||||
.unsubscribeOn(Schedulers.io())
|
.unsubscribeOn(Schedulers.io())
|
||||||
.observeOn(AndroidSchedulers.mainThread())
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package com.ckkj.water.plan.mvp;
|
|||||||
|
|
||||||
import com.ckkj.water.base.BasePresenter;
|
import com.ckkj.water.base.BasePresenter;
|
||||||
import com.ckkj.water.index.entity.WaterDeviceEntity;
|
import com.ckkj.water.index.entity.WaterDeviceEntity;
|
||||||
import com.ckkj.water.network.BaseBean;
|
|
||||||
import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
|
import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
|
||||||
|
|
||||||
import org.json.JSONArray;
|
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<String,String> map = new HashMap<>();
|
||||||
|
map.put("pageNum", mCurrentPage + "");
|
||||||
|
map.put("pageSize", "10");
|
||||||
impl.getWaterConfigList(map, new WaterPlanContract.CallBack<List<WaterPlanWeekEntity>>() {
|
impl.getWaterConfigList(map, new WaterPlanContract.CallBack<List<WaterPlanWeekEntity>>() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -56,12 +56,44 @@
|
|||||||
android:gravity="center"/>
|
android:gravity="center"/>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
<com.scwang.smart.refresh.layout.SmartRefreshLayout
|
||||||
android:id="@+id/rv_plans"
|
android:id="@+id/refresh"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="match_parent">
|
||||||
android:layout_marginTop="@dimen/dp_10"
|
<LinearLayout
|
||||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
android:layout_width="match_parent"
|
||||||
tools:listitem="@layout/water_plan_list_item"
|
android:layout_height="wrap_content"
|
||||||
tools:itemCount="5"/>
|
android:orientation="vertical">
|
||||||
|
<!-- 设备列表区域 -->
|
||||||
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
|
android:id="@+id/rv_plans"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="@dimen/dp_10"
|
||||||
|
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>
|
</LinearLayout>
|
||||||
Reference in New Issue
Block a user