作者 朱振飞

add

... ... @@ -42,7 +42,7 @@ public class Jxt_ListAdapter extends BaseMultiItemQuickAdapter<JxtAllListEntity.
//请假
addItemType(JxtZyListEntity.DataBeanX.DataBean.QINGJIA, R.layout.item_jxt_qj_item);
//线下作业
addItemType(JxtZyListEntity.DataBeanX.DataBean.XIANXIAZUOYE, R.layout.item_jxt_xxzuoye_item);
addItemType(JxtZyListEntity.DataBeanX.DataBean.XIANXIAZUOYE, R.layout.item_jxt_zuoye_item);
}
@Override
... ... @@ -67,9 +67,9 @@ public class Jxt_ListAdapter extends BaseMultiItemQuickAdapter<JxtAllListEntity.
case JxtZyListEntity.DataBeanX.DataBean.QINGJIA:
initQingJia(helper, item);
break;
case JxtZyListEntity.DataBeanX.DataBean.XIANXIAZUOYE:
initXXZuoYe(helper, item);
break;
// case JxtZyListEntity.DataBeanX.DataBean.XIANXIAZUOYE:
// initXXZuoYe(helper, item);
// break;
}
}
... ...
... ... @@ -2,38 +2,54 @@ package com.yinhebairong.clasmanage.ui.jxt.fragment;
import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.v4.app.Fragment;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
import com.yinhebairong.clasmanage.Config;
import com.yinhebairong.clasmanage.R;
import com.yinhebairong.clasmanage.adapter.jxtadapter.Jxt_ListAdapter;
import com.yinhebairong.clasmanage.base.BaseFragment;
import com.yinhebairong.clasmanage.base.instant.Layout;
import com.yinhebairong.clasmanage.bean.QjLBBean;
import com.yinhebairong.clasmanage.entity.JxtAllListEntity;
import com.yinhebairong.clasmanage.entity.JxtZyListEntity;
import com.yinhebairong.clasmanage.entity.LoginEntity;
import com.yinhebairong.clasmanage.m.M;
import com.yinhebairong.clasmanage.network.ApiService;
import com.yinhebairong.clasmanage.network.LoginStore;
import com.yinhebairong.clasmanage.ui.jxt.activity.CkhdRead_Activity;
import com.yinhebairong.clasmanage.ui.jxt.activity.HD.Hdxq_Activity;
import com.yinhebairong.clasmanage.ui.jxt.activity.JlxqActivity;
import com.yinhebairong.clasmanage.ui.jxt.activity.QJ.QJxq_Activity;
import com.yinhebairong.clasmanage.ui.jxt.activity.TZ.Tjtz_Activity;
import com.yinhebairong.clasmanage.ui.jxt.activity.TZ.TzxbActivity;
import com.yinhebairong.clasmanage.ui.jxt.activity.TZ.TzxqActivity;
import com.yinhebairong.clasmanage.ui.jxt.activity.Zy.Tjxq_Activity;
import com.yinhebairong.clasmanage.ui.jxt.activity.Zy.ZyxqPerActivity;
import com.yinhebairong.clasmanage.ui.jxt.activity.Zy.Zyxq_Activity;
import com.yinhebairong.clasmanage.utils.CalendarStringtUtil;
import com.yinhebairong.clasmanage.utils.SharedPreferenceUtil;
import com.yinhebairong.clasmanage.view.DebugLog;
import com.yinhebairong.clasmanage.view.pickerwheelview.builder.TimePickerBuilder;
import com.yinhebairong.clasmanage.view.pickerwheelview.listener.OnTimeSelectListener;
import com.yinhebairong.clasmanage.view.pickerwheelview.utils.MyDataFormatUtil;
import com.yinhebairong.clasmanage.view.pickerwheelview.view.TimePickerView;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.Locale;
... ... @@ -44,6 +60,8 @@ import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
import okhttp3.MediaType;
import okhttp3.RequestBody;
/**
* A simple {@link Fragment} subclass.
... ... @@ -58,13 +76,21 @@ public class All_Fragment2 extends BaseFragment {
Jxt_ListAdapter jxt_listAdapter;
@BindView(R.id.tv_time)
TextView tv_time;
@BindView(R.id.my_sw)
SwipeRefreshLayout my_sw;
@BindView(R.id.refresh_layout)
SmartRefreshLayout refresh_layout;
@BindView(R.id.tv_week)
TextView tv_week;
private TimePickerView mTimePicker3;//三级时间 年月日
private int PageNum;
private boolean isLoneMore = false;
private int locationPosition = -1;//定位替换位置
private int locationPage = -1;//定位刷新页
private int QuantityPerPage = 10;//每页数量
List<JxtAllListEntity.DataBeanX.DataBean> mlist = new ArrayList<>();
@Override
protected void initView(View root) {
Calendar calendar = Calendar.getInstance();
... ... @@ -73,6 +99,11 @@ public class All_Fragment2 extends BaseFragment {
String dateString = simpleDateFormat.format(calendar.getTime());
tv_time.setText(dateString);
tv_week.setText(MyDataFormatUtil.dateToWeek(dateString));
jxt_listAdapter = new Jxt_ListAdapter(mlist);
dataRv.setLayoutManager(new LinearLayoutManager(getActivity()));
dataRv.setAdapter(jxt_listAdapter);
mTimePicker3 = new TimePickerBuilder(getActivity(), new OnTimeSelectListener() {
@Override
public void onTimeSelect(String date, View v) {
... ... @@ -83,15 +114,9 @@ public class All_Fragment2 extends BaseFragment {
}).setType(new boolean[]{true, true, true, false, false, false}).isDialog(false).setFormat("yyyy-MM-dd").setSelectChangeListener().
setTextXOffset(40, 0, -40, 0, 0, 0).build();
mTimePicker3.isBefore(false);
my_sw.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
Toast.makeText(getActivity(),"下拉刷新成功",Toast.LENGTH_SHORT).show();
my_sw.setRefreshing(false);
setParam(1);
}
});
}
@OnClick({R.id.jxt_matter_li})
public void onViewClicked(View view) {
switch (view.getId()) {
... ... @@ -103,73 +128,46 @@ public class All_Fragment2 extends BaseFragment {
break;
}
}
@Override
protected void initListener() {
}
@Override
protected void lazyLoad() {
}
@Override
protected void refreshLoad() {
if (Config.IDENTITY==0){//老师
getDate(0,"",PageNum);
}else {
getParentDate(0,"",PageNum);
}
super.refreshLoad();
}
@Override
public void onResume() {
super.onResume();
setParam(1);
}
public void getDate(int type,String date,int page) {
Api().getAllList(Config.Token,type,date,page)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<JxtAllListEntity>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(JxtAllListEntity jxtAllListEntity) {
PageNum = jxtAllListEntity.getData().getCurrent_page();
if (jxtAllListEntity.getCode()== M.success) {
if (isLoneMore) {
if (jxtAllListEntity.getData().getData().size()==0){
jxt_listAdapter.loadMoreEnd();
}else {
jxt_listAdapter.addData(getMultipleItemData(jxtAllListEntity.getData().getData()));
jxt_listAdapter.notifyDataSetChanged();
jxt_listAdapter.loadMoreComplete();
}
} else {
List<JxtAllListEntity.DataBeanX.DataBean> data = jxtAllListEntity.getData().getData();
jxt_listAdapter = new Jxt_ListAdapter(getMultipleItemData(data));
dataRv.setLayoutManager(new LinearLayoutManager(getActivity()));
dataRv.setAdapter(jxt_listAdapter);
protected void initListener() {
jxt_listAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
locationPosition = position;
switch (jxt_listAdapter.getData().get(position).getItemType()) {
case 1:
if (data.get(position).getIs_author() == 1) {
if (Config.IDENTITY == 1) {
Intent intent = new Intent();
intent.setClass(getActivity(), ZyxqPerActivity.class);
List<JxtAllListEntity.DataBeanX.DataBean> data = adapter.getData();
DebugLog.e("is_read==="+data.get(position).getIs_read());
intent.putExtra("is_read", data.get(position).getIs_read());
intent.putExtra("ZyId", data.get(position).getDetail_id() + "");
startActivity(intent);
} else {
if (mlist.get(position).getIs_author() == 1) {
List<JxtAllListEntity.DataBeanX.DataBean> data = adapter.getData();
Intent intent = new Intent(getActivity(), Zyxq_Activity.class);
intent.putExtra("is_read", data.get(position).getIs_read());
intent.putExtra("ZyId", data.get(position).getId() + "");
startActivity(intent);
}
}
break;
case 2:
List<JxtAllListEntity.DataBeanX.DataBean> dataBeans = adapter.getData();
Intent tzintent = new Intent(getContext(), TzxqActivity.class);
Intent tzintent = new Intent();
tzintent.putExtra("TzId", dataBeans.get(position).getId() + "");
tzintent.putExtra("isMy", dataBeans.get(position).getIs_author());
tzintent.putExtra("title", dataBeans.get(position).getTitle());
tzintent.putExtra("label", dataBeans.get(position).getLabel());
if (dataBeans.get(position).getLabel().equals("喜报") ||
dataBeans.get(position).getLabel().equals("警示")) {
tzintent.setClass(getContext(), TzxbActivity.class);
} else {
tzintent.setClass(getContext(), TzxqActivity.class);
}
startActivity(tzintent);
jxt_listAdapter.notifyDataSetChanged();
break;
... ... @@ -178,6 +176,7 @@ public class All_Fragment2 extends BaseFragment {
Intent intent = new Intent(getActivity(), Hdxq_Activity.class);
intent.putExtra("ZyId", dataBeans21.get(position).getId() + "");
intent.putExtra("is_author", dataBeans21.get(position).getIs_author());
intent.putExtra("is_read", dataBeans21.get(position).getIs_read());
startActivity(intent);
break;
case 4:
... ... @@ -192,6 +191,11 @@ public class All_Fragment2 extends BaseFragment {
startActivity(jlintent);
break;
case 7:
Intent intentqj = new Intent();
intentqj.setClass(getActivity(), QJxq_Activity.class);
List<JxtAllListEntity.DataBeanX.DataBean> data = adapter.getData();
intentqj.putExtra("id", data.get(position).getId() + "");
startActivity(intentqj);
break;
}
}
... ... @@ -239,27 +243,103 @@ public class All_Fragment2 extends BaseFragment {
}
}
});
jxt_listAdapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() {
setRefresh();
}
private void setRefresh() {
refresh_layout.setOnRefreshListener(new OnRefreshListener() {
@Override
public void onLoadMoreRequested() {
dataRv.postDelayed(new Runnable() {
public void onRefresh(@NonNull RefreshLayout refreshLayout) {
//刷新数据
setParam(1);
refreshLayout.finishRefresh(1000);
}
});
refresh_layout.setOnLoadMoreListener(new OnLoadMoreListener() {
@Override
public void run() {
if (jxtAllListEntity.getData().getCurrent_page() >= jxtAllListEntity.getData().getLast_page()) {
//数据全部加载完毕
jxt_listAdapter.loadMoreEnd();
} else {
PageNum++;
isLoneMore = true;
public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
//加载数据
setParam(PageNum);
refreshLayout.finishLoadMore(1000);
}
});
}
@Override
protected void lazyLoad() {
}
@Override
protected void refreshLoad() {
if (Config.IDENTITY == 0) {//老师
getDate(0, "", PageNum);
} else {
getParentDate(0, "", PageNum);
}
super.refreshLoad();
}
public static boolean DO_REFRESH = false;
@Override
public void onResume() {
super.onResume();
if (DO_REFRESH) {
setParam(1);
DO_REFRESH = false;
} else {
if (locationPosition > 0) {
locationRefresh();
setParam(locationPage);
}
}
}
/**
* 定位刷新
*/
private void locationRefresh() {
float f =locationPosition+1;
float c = (float)f / (float)QuantityPerPage;
locationPage = new Double(Math.ceil(c)).intValue();
}
public void getDate(int type, String date, int page) {
Api().getAllList(Config.Token, type, date, page)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<JxtAllListEntity>() {
@Override
public void onSubscribe(Disposable d) {
}, 1000);
}
}, dataRv);
@Override
public void onNext(JxtAllListEntity jxtAllListEntity) {
PageNum = jxtAllListEntity.getData().getCurrent_page();
if (jxtAllListEntity.getCode() == M.success) {
if (page == 1 || page == 0) {
dataRv.scrollToPosition(0);
mlist.clear();
}else {
if (locationPage != -1) {
int yushu = locationPosition % QuantityPerPage;
jxtAllListEntity.getData().getData().get(yushu).setItemType(jxtAllListEntity.getData().getData().get(yushu).getType());
mlist.set(locationPosition, jxtAllListEntity.getData().getData().get(yushu));
locationPage = -1;
locationPosition = -1;
}
}
mlist.addAll(getMultipleItemData(jxtAllListEntity.getData().getData()));
PageNum = jxtAllListEntity.getData().getCurrent_page() + 1;
if (jxtAllListEntity.getData().getPer_page() > jxtAllListEntity.getData().getData().size()) {
refresh_layout.setEnableLoadMore(false);
} else {
refresh_layout.setEnableLoadMore(true);
}
jxt_listAdapter.notifyDataSetChanged();
}
}
... ... @@ -274,8 +354,10 @@ public class All_Fragment2 extends BaseFragment {
}
});
}
public void getParentDate(int type,String date,int page) {
Api().getParentAllList(Config.Token, type,date,page)
public void getParentDate(int type, String date, int page) {
DebugLog.e("wz1112222===" + page);
Api().getParentAllList(Config.Token, type, date, page)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<JxtAllListEntity>() {
... ... @@ -286,53 +368,32 @@ public class All_Fragment2 extends BaseFragment {
@Override
public void onNext(JxtAllListEntity jxtAllListEntity) {
if (jxtAllListEntity.getCode()== M.success){
final List<JxtAllListEntity.DataBeanX.DataBean> data = jxtAllListEntity.getData().getData();
jxt_listAdapter = new Jxt_ListAdapter(getMultipleItemData(data));
dataRv.setLayoutManager(new LinearLayoutManager(getActivity()));
dataRv.setAdapter(jxt_listAdapter);
jxt_listAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
Intent intent = new Intent();
switch (jxt_listAdapter.getData().get(position).getItemType()) {
case 1:
intent.setClass(getActivity(), ZyxqPerActivity.class);
List<JxtAllListEntity.DataBeanX.DataBean> data = adapter.getData();
intent.putExtra("ZyId", data.get(position).getDetail_id() + "");
startActivity(intent);
break;
case 2:
List<JxtAllListEntity.DataBeanX.DataBean> dataBeans = adapter.getData();
Intent tzintent = new Intent(getContext(), TzxqActivity.class);
tzintent.putExtra("TzId", dataBeans.get(position).getId() + "");
tzintent.putExtra("isMy", dataBeans.get(position).getIs_author());
startActivity(tzintent);
jxt_listAdapter.notifyDataSetChanged();
break;
case 3:
List<JxtAllListEntity.DataBeanX.DataBean> dataBeans21 = adapter.getData();
intent.setClass(getActivity(), Hdxq_Activity.class);
intent.putExtra("ZyId", dataBeans21.get(position).getId() + "");
intent.putExtra("is_author", dataBeans21.get(position).getIs_author());
startActivity(intent);
break;
case 4:
break;
case 5:
break;
case 6://接龙
List<JxtAllListEntity.DataBeanX.DataBean> dataBeans6 = adapter.getData();
Intent jlintent = new Intent(getActivity(), JlxqActivity.class);
jlintent.putExtra("JlId", dataBeans6.get(position).getId() + "");
jlintent.putExtra("is_author", dataBeans6.get(position).getIs_author());
startActivity(jlintent);
break;
case 7:
break;
}
if (jxtAllListEntity.getCode() == M.success) {
if (null == jxtAllListEntity.getData().getData()) {
return;
}
DebugLog.e("wx1112222===" + page);
if (page == 1 || page == 0) {
dataRv.scrollToPosition(0);
DebugLog.e("wq1112222===" + mlist.size());
mlist.clear();
}else {
if (locationPage != -1) {
int yushu = locationPosition % QuantityPerPage;
jxtAllListEntity.getData().getData().get(yushu).setItemType(jxtAllListEntity.getData().getData().get(yushu).getType());
mlist.set(locationPosition, jxtAllListEntity.getData().getData().get(yushu));
locationPage = -1;
locationPosition = -1;
}
}
PageNum = jxtAllListEntity.getData().getCurrent_page() + 1;
mlist.addAll(getMultipleItemData(jxtAllListEntity.getData().getData()));
if (jxtAllListEntity.getData().getPer_page() > jxtAllListEntity.getData().getData().size()) {
refresh_layout.setEnableLoadMore(false);
} else {
refresh_layout.setEnableLoadMore(true);
}
});
jxt_listAdapter.notifyDataSetChanged();
}
}
... ... @@ -346,16 +407,19 @@ public class All_Fragment2 extends BaseFragment {
}
});
}
/**
* 添加布局Itemtype
*
* @param itemList
* @return
*/
private List<JxtAllListEntity.DataBeanX.DataBean> getMultipleItemData(List<JxtAllListEntity.DataBeanX.DataBean> itemList) {
if (null==itemList||itemList.size()<=0){
return null;
if (null == itemList || itemList.size() <= 0) {
List<JxtAllListEntity.DataBeanX.DataBean> list = new ArrayList<>();
return list;
}
for (int i=0;i<itemList.size();i++) {
for (int i = 0; i < itemList.size(); i++) {
//type标识
itemList.get(i).setItemType(itemList.get(i).getType());
}
... ... @@ -374,18 +438,18 @@ public class All_Fragment2 extends BaseFragment {
if (Config.IDENTITY == 0) {//老师
if (dateString.equals(tv_time.getText().toString())) {//今天
this.PageNum = page;
getDate(0, "",page);
getDate(0, "", page);
} else {
this.PageNum = page;
getDate(0, tv_time.getText().toString(),page);
getDate(0, tv_time.getText().toString(), page);
}
} else {
if (dateString.equals(tv_time.getText().toString())) {//今天
this.PageNum = page;
getParentDate(0, "",page);
getParentDate(0, "", page);
} else {
this.PageNum = page;
getParentDate(0, tv_time.getText().toString(),page);
getParentDate(0, tv_time.getText().toString(), page);
}
}
}
... ...