...
|
...
|
@@ -22,6 +22,7 @@ import android.widget.LinearLayout; |
|
|
import android.widget.ListView;
|
|
|
import android.widget.PopupWindow;
|
|
|
import android.widget.TextView;
|
|
|
import android.widget.Toast;
|
|
|
|
|
|
import androidx.annotation.Nullable;
|
|
|
import androidx.fragment.app.Fragment;
|
...
|
...
|
@@ -128,8 +129,8 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
|
|
|
// 红 黄
|
|
|
private final int[] colors = new int[]{
|
|
|
Color.rgb(255, 84, 85),
|
|
|
Color.rgb(255, 171, 19),
|
|
|
Color.rgb(255,171,19),
|
|
|
Color.rgb(73,176,255),
|
|
|
};
|
|
|
//蓝 绿
|
|
|
private final int[] colorsTwo = new int[]{
|
...
|
...
|
@@ -159,8 +160,6 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
/* 项目数据实例化 */
|
|
|
private void init_sj() {
|
|
|
name.setText(Config.Student_name);
|
|
|
// M.Glide(studentInfoListBean + "", cirTx, activity);
|
|
|
|
|
|
tb_a.setText(Config.Student_name + "日常表现折线图");
|
|
|
tb_b.setText(Config.Student_name + "日常表现详细得分图");
|
|
|
|
...
|
...
|
@@ -168,10 +167,8 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
setRv(pjfx_sj_rv, 1, 0, 0);
|
|
|
adapter_sj = new pjfxAdapter_sj(R.layout.item_pjfx_sj, grdp_list);
|
|
|
pjfx_sj_rv.setAdapter(adapter_sj);
|
|
|
|
|
|
/* item */
|
|
|
adapter_sj.setOnItemChildClickListener((adapter, view, position) -> {
|
|
|
|
|
|
});
|
|
|
}
|
|
|
|
...
|
...
|
@@ -331,7 +328,7 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
|
|
|
|
|
|
// Linechar click show popwindow
|
|
|
private void charListenerPop(float x, float y, Entry entry, int type) {
|
|
|
private void charListenerPop(float x, float y,Entry entry ,int type) {
|
|
|
View view = LayoutInflater.from(getActivity()).inflate(R.layout.pop_char_listener, null);
|
|
|
TextView week = view.findViewById(R.id.pop_char_week);
|
|
|
TextView culwee = view.findViewById(R.id.pop_char_cul_week);
|
...
|
...
|
@@ -340,6 +337,7 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
TextView lastweek_val = view.findViewById(R.id.pop_char_last_week_value);
|
|
|
View weeK_view = view.findViewById(R.id.weeK_view);
|
|
|
View last_week = view.findViewById(R.id.last_week);
|
|
|
LinearLayout pop_back = view.findViewById(R.id.pop_back);
|
|
|
int iEnty = (int) entry.getX();
|
|
|
LinearLayout layoutX = view.findViewById(R.id.pop_char_lis_layoutB);
|
|
|
|
...
|
...
|
@@ -349,40 +347,86 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
week.setVisibility(View.VISIBLE);
|
|
|
break;
|
|
|
case 1: // Historgram
|
|
|
week.setVisibility(View.GONE);
|
|
|
week.setText(xaxis1.get(iEnty)+"");
|
|
|
week.setVisibility(View.VISIBLE);
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
switch (level.getKey()) {
|
|
|
case 1: // 周
|
|
|
layoutX.setVisibility(View.VISIBLE);
|
|
|
culwee.setText(type == 0 ? "本周" : "学生");
|
|
|
lastweek.setText(type == 0 ? "上周" : "班级");
|
|
|
if (type == 0) {
|
|
|
weeK_view.setBackground(getResources().getDrawable(R.drawable.shape_solid_25_ff5455));
|
|
|
last_week.setBackground(getResources().getDrawable(R.drawable.shape_solid_22_ffab13));
|
|
|
|
|
|
} else {
|
|
|
culwee.setText(type == 0 ? "本周" : "学生得分");
|
|
|
lastweek.setText(type == 0 ? "上周" : "班级平均得分");
|
|
|
if (type==0){
|
|
|
weeK_view.setBackground(getResources().getDrawable(R.drawable.shape_solid_25_ffab13));
|
|
|
last_week.setBackground(getResources().getDrawable(R.drawable.shape_solid_25_40b0ff));
|
|
|
pop_back.setBackground(getResources().getDrawable(R.drawable.shape_stroke_1_ff5455));
|
|
|
|
|
|
}else {
|
|
|
weeK_view.setBackground(getResources().getDrawable(R.drawable.shape_solid_25_49b0ff));
|
|
|
last_week.setBackground(getResources().getDrawable(R.drawable.shape_solid_25_b2ebd1));
|
|
|
pop_back.setBackground(getResources().getDrawable(R.drawable.shape_stroke_1_49b0ff));
|
|
|
}
|
|
|
culweek_val.setText(type == 0 ? current.get(iEnty) + "" : student.get(iEnty) + "");
|
|
|
lastweek_val.setText(type == 0 ? last.get(iEnty) + "" : classX.get(iEnty) + "");
|
|
|
break;
|
|
|
case 2: // 月
|
|
|
layoutX.setVisibility(View.GONE);
|
|
|
culwee.setText("本月");
|
|
|
culweek_val.setText(type == 0 ? current.get(iEnty) + "" : student.get(iEnty) + "");
|
|
|
if (type==0){
|
|
|
layoutX.setVisibility(View.GONE);
|
|
|
culwee.setText("本月");
|
|
|
culweek_val.setText(type == 0 ? current.get(iEnty) + "" : student.get(iEnty) + "");
|
|
|
weeK_view.setBackground(getResources().getDrawable(R.drawable.shape_solid_25_ffab13));
|
|
|
last_week.setBackground(getResources().getDrawable(R.drawable.shape_solid_25_40b0ff));
|
|
|
pop_back.setBackground(getResources().getDrawable(R.drawable.shape_stroke_1_ff5455));
|
|
|
}else {
|
|
|
layoutX.setVisibility(View.VISIBLE);
|
|
|
culwee.setText("学生得分");
|
|
|
lastweek.setText("班级平均得分");
|
|
|
weeK_view.setBackground(getResources().getDrawable(R.drawable.shape_solid_25_49b0ff));
|
|
|
last_week.setBackground(getResources().getDrawable(R.drawable.shape_solid_25_b2ebd1));
|
|
|
pop_back.setBackground(getResources().getDrawable(R.drawable.shape_stroke_1_49b0ff));
|
|
|
culweek_val.setText(student.get(iEnty) + "");
|
|
|
lastweek_val.setText(classX.get(iEnty) + "");
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
case 3: // 学期
|
|
|
layoutX.setVisibility(View.GONE);
|
|
|
culwee.setText("本学期");
|
|
|
culweek_val.setText(type == 0 ? current.get(iEnty) + "" : student.get(iEnty) + "");
|
|
|
if (type==0){
|
|
|
layoutX.setVisibility(View.GONE);
|
|
|
culwee.setText("本学期");
|
|
|
culweek_val.setText(type == 0 ? current.get(iEnty) + "" : student.get(iEnty) + "");
|
|
|
weeK_view.setBackground(getResources().getDrawable(R.drawable.shape_solid_25_ffab13));
|
|
|
last_week.setBackground(getResources().getDrawable(R.drawable.shape_solid_25_40b0ff));
|
|
|
pop_back.setBackground(getResources().getDrawable(R.drawable.shape_stroke_1_ff5455));
|
|
|
}else {
|
|
|
layoutX.setVisibility(View.VISIBLE);
|
|
|
culwee.setText("学生得分");
|
|
|
lastweek.setText("班级平均得分");
|
|
|
weeK_view.setBackground(getResources().getDrawable(R.drawable.shape_solid_25_49b0ff));
|
|
|
last_week.setBackground(getResources().getDrawable(R.drawable.shape_solid_25_b2ebd1));
|
|
|
pop_back.setBackground(getResources().getDrawable(R.drawable.shape_stroke_1_49b0ff));
|
|
|
culweek_val.setText(student.get(iEnty) + "");
|
|
|
lastweek_val.setText(classX.get(iEnty) + "");
|
|
|
}
|
|
|
break;
|
|
|
case 4: // 学年
|
|
|
layoutX.setVisibility(View.GONE);
|
|
|
culwee.setText("本学年");
|
|
|
culweek_val.setText(type == 0 ? current.get(iEnty) + "" : student.get(iEnty) + "");
|
|
|
if (type==0){
|
|
|
layoutX.setVisibility(View.GONE);
|
|
|
culwee.setText("本学年");
|
|
|
culweek_val.setText(type == 0 ? current.get(iEnty) + "" : student.get(iEnty) + "");
|
|
|
weeK_view.setBackground(getResources().getDrawable(R.drawable.shape_solid_25_ffab13));
|
|
|
last_week.setBackground(getResources().getDrawable(R.drawable.shape_solid_25_40b0ff));
|
|
|
pop_back.setBackground(getResources().getDrawable(R.drawable.shape_stroke_1_ff5455));
|
|
|
}else{
|
|
|
layoutX.setVisibility(View.VISIBLE);
|
|
|
culwee.setText("学生得分");
|
|
|
lastweek.setText("班级平均得分");
|
|
|
weeK_view.setBackground(getResources().getDrawable(R.drawable.shape_solid_25_49b0ff));
|
|
|
last_week.setBackground(getResources().getDrawable(R.drawable.shape_solid_25_b2ebd1));
|
|
|
pop_back.setBackground(getResources().getDrawable(R.drawable.shape_stroke_1_49b0ff));
|
|
|
culweek_val.setText(student.get(iEnty) + "");
|
|
|
lastweek_val.setText(classX.get(iEnty) + "");
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
|
...
|
...
|
@@ -393,9 +437,9 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
pop.setAnimationStyle(R.style.AnimTopMiddle);
|
|
|
|
|
|
if (type == 0) {
|
|
|
pop.showAsDropDown(tb_a, (int) x, (int) y);
|
|
|
pop.showAsDropDown(tb_a,(int)x,(int)y);
|
|
|
} else {
|
|
|
pop.showAsDropDown(tb_b, (int) x, (int) y);
|
|
|
pop.showAsDropDown(tb_b,(int)x,(int)y);
|
|
|
}
|
|
|
|
|
|
}
|
...
|
...
|
@@ -464,20 +508,32 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
// 重置
|
|
|
cz.setOnClickListener(v -> { // 重置之后将所有数据添加
|
|
|
requestId = "";
|
|
|
for (int i = 0; i < pop_eva_item.size(); i++) {
|
|
|
List<AllevaitemsEntity.DataBean.ChildBean> child = pop_eva_item.get(i).getChild();
|
|
|
for (int j = 0; j < child.size(); j++) {
|
|
|
if (child.get(i).isChecked()){
|
|
|
perQuest.add(child.get(j).getId());
|
|
|
requestId = requestId + "," + child.get(j).getId();
|
|
|
pop_eva_item.clear();
|
|
|
perQuest.clear();
|
|
|
Api().all_eva_items(Config.Token, Config.ClassId).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(data -> {
|
|
|
if (data.getCode() == M.success) {
|
|
|
List<AllevaitemsEntity.DataBean> sj = data.getData();
|
|
|
pop_eva_item.addAll(sj);
|
|
|
for (int i = 0; i < pop_eva_item.size(); i++) {
|
|
|
List<AllevaitemsEntity.DataBean.ChildBean> cd = pop_eva_item.get(i).getChild();
|
|
|
for (int j = 0; j < cd.size(); j++) {
|
|
|
if (cd.get(j).isChecked()){
|
|
|
perQuest.add(cd.get(j).getId());
|
|
|
if (requestId.equals("")) {
|
|
|
requestId = cd.get(j).getId()+ "";
|
|
|
} else {
|
|
|
requestId = requestId + "," + cd.get(j).getId();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
tb_data(requestId, Config.id, level.getKey() + "", requestValue);
|
|
|
evaitemsAdapter.setNewData(pop_eva_item);
|
|
|
} else if (data.getCode() == 401) {
|
|
|
ApiError.refreshToken();
|
|
|
}
|
|
|
}
|
|
|
requestId.substring(0, 1);
|
|
|
M.log("requestId", requestId + "");
|
|
|
tb_data(requestId, Config.id, level.getKey() + "", requestValue);
|
|
|
evaitemsAdapter.notifyDataSetChanged();
|
|
|
pop.dismiss();
|
|
|
});
|
|
|
// pop.dismiss();
|
|
|
});
|
|
|
|
|
|
// 确定
|
...
|
...
|
@@ -491,13 +547,14 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
}
|
|
|
}
|
|
|
M.log("requestIdxxx", "requestId" + requestId + " level.getKey()" + level.getKey() + " requestValue" + requestValue);
|
|
|
tb_data(requestId, Config.id, level.getKey() + "", requestValue);
|
|
|
tb_data(requestId,Config.id, level.getKey() + "", requestValue);
|
|
|
|
|
|
pop.dismiss();
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
public int getStatusBarHeight() {
|
|
|
Resources resources = getActivity().getResources();
|
|
|
int resourceId = resources.getIdentifier("status_bar_height", "dimen", "android");
|
...
|
...
|
@@ -507,37 +564,41 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
|
|
|
// 日期弹窗
|
|
|
// --------------------------------------------------- 日期下拉框 --------------------------------------------------------------------
|
|
|
View dropview;
|
|
|
PopupWindow dropPop;
|
|
|
RecyclerView dropRv;
|
|
|
private void showDrop() {
|
|
|
View view = LayoutInflater.from(getActivity()).inflate(R.layout.pop_time_choose, null);
|
|
|
dropview = LayoutInflater.from(getActivity()).inflate(R.layout.pop_time_choose, null);
|
|
|
|
|
|
// 时间选择器 - 月
|
|
|
DatePickerView picker = view.findViewById(R.id.time_choose_picker);
|
|
|
TextView timeChooseHfmr = view.findViewById(R.id.time_choose_hfmr);
|
|
|
TextView timeChooseSure = view.findViewById(R.id.time_choose_sure); // 确定
|
|
|
DatePickerView picker = dropview.findViewById(R.id.time_choose_picker);
|
|
|
TextView timeChooseHfmr = dropview.findViewById(R.id.time_choose_hfmr);
|
|
|
TextView timeChooseSure = dropview.findViewById(R.id.time_choose_sure); // 确定
|
|
|
|
|
|
// left 选 周 , 月 , 学期 , 学年
|
|
|
ListView lis = view.findViewById(R.id.grid_two);
|
|
|
ListView lis = dropview.findViewById(R.id.grid_two);
|
|
|
listAdapter listAdapter = new listAdapter(listArr);
|
|
|
lis.setAdapter(listAdapter);
|
|
|
|
|
|
// 周
|
|
|
RecyclerView rv = view.findViewById(R.id.time_choose_rv);
|
|
|
setDate(rv, 0, 3, 0); // 初始化
|
|
|
dropRv = dropview.findViewById(R.id.time_choose_rv);
|
|
|
setRv(dropRv, 0, 0, 3);
|
|
|
setDate(); // 初始化
|
|
|
// 学年
|
|
|
WheelItemView wheel3 = view.findViewById(R.id.wheelitem3);
|
|
|
WheelItemView wheel3 = dropview.findViewById(R.id.wheelitem3);
|
|
|
|
|
|
// 学期
|
|
|
LinearLayout wheel_linear = view.findViewById(R.id.poptime_choose_wheel);
|
|
|
WheelItemView wheel1 = view.findViewById(R.id.wheelitem1);
|
|
|
WheelItemView wheel2 = view.findViewById(R.id.wheelitem2);
|
|
|
|
|
|
final PopupWindow popupWindow = new PopupWindow(view, WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT - line4.getBottom());
|
|
|
popupWindow.setOutsideTouchable(true);
|
|
|
popupWindow.setTouchable(true);
|
|
|
popupWindow.setFocusable(true);
|
|
|
popupWindow.setBackgroundDrawable(getResources().getDrawable(R.color.color_tm));
|
|
|
popupWindow.setAnimationStyle(R.style.AnimTopMiddle);
|
|
|
popupWindow.showAsDropDown(line4);
|
|
|
LinearLayout wheel_linear = dropview.findViewById(R.id.poptime_choose_wheel);
|
|
|
WheelItemView wheel1 = dropview.findViewById(R.id.wheelitem1);
|
|
|
WheelItemView wheel2 = dropview.findViewById(R.id.wheelitem2);
|
|
|
|
|
|
dropPop = new PopupWindow(dropview, WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT - line4.getBottom());
|
|
|
dropPop.setOutsideTouchable(true);
|
|
|
dropPop.setTouchable(true);
|
|
|
dropPop.setFocusable(true);
|
|
|
dropPop.setBackgroundDrawable(getResources().getDrawable(R.color.color_tm));
|
|
|
dropPop.setAnimationStyle(R.style.AnimTopMiddle);
|
|
|
dropPop.showAsDropDown(line4);
|
|
|
|
|
|
// 月默认时间
|
|
|
int[] month = level.getMonth();
|
...
|
...
|
@@ -556,26 +617,27 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
switch (level.getKey()) {
|
|
|
case 1: // 周
|
|
|
level.setKey(1);
|
|
|
rv.setVisibility(View.VISIBLE);
|
|
|
dropRv.setVisibility(View.VISIBLE);
|
|
|
wheel_linear.setVisibility(View.GONE);
|
|
|
picker.setVisibility(View.GONE);
|
|
|
setDate(rv, 0, 3, 1); // level.getKey()
|
|
|
setDate(); // level.getKey()
|
|
|
break;
|
|
|
case 2: // 月
|
|
|
level.setKey(2);
|
|
|
picker.setVisibility(View.VISIBLE);
|
|
|
wheel_linear.setVisibility(View.GONE);
|
|
|
rv.setVisibility(View.GONE);
|
|
|
dropRv.setVisibility(View.GONE);
|
|
|
wheel3.setVisibility(View.GONE);
|
|
|
if (level.getMonth() != null) {
|
|
|
picker.setDate(level.getMonth()[0], level.getMonth()[1]); // 数据
|
|
|
}
|
|
|
break;
|
|
|
case 3: // 学期
|
|
|
|
|
|
level.setKey(3);
|
|
|
|
|
|
wheel_linear.setVisibility(View.VISIBLE);
|
|
|
rv.setVisibility(View.GONE);
|
|
|
dropRv.setVisibility(View.GONE);
|
|
|
picker.setVisibility(View.GONE);
|
|
|
wheel3.setVisibility(View.GONE);
|
|
|
|
...
|
...
|
@@ -586,11 +648,12 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
} else {
|
|
|
setXqData(wheel1, wheel2, 0);
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
case 4: // 学年
|
|
|
level.setKey(4);
|
|
|
wheel_linear.setVisibility(View.GONE);
|
|
|
rv.setVisibility(View.GONE);
|
|
|
dropRv.setVisibility(View.GONE);
|
|
|
picker.setVisibility(View.GONE);
|
|
|
wheel3.setVisibility(View.VISIBLE);
|
|
|
setXnData(wheel3);
|
...
|
...
|
@@ -614,17 +677,17 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
timeChooseSure.setClickable(true);
|
|
|
level.setKey(1);
|
|
|
wheel_linear.setVisibility(View.GONE);
|
|
|
rv.setVisibility(View.VISIBLE);
|
|
|
dropRv.setVisibility(View.VISIBLE);
|
|
|
picker.setVisibility(View.GONE);
|
|
|
wheel3.setVisibility(View.GONE);
|
|
|
|
|
|
setDate(rv, 0, 3, 1); // 最后一位是 判断什么标记
|
|
|
setDate(); // 最后一位是 判断什么标记
|
|
|
break;
|
|
|
case 1: // 月
|
|
|
|
|
|
level.setKey(2);
|
|
|
picker.setVisibility(View.VISIBLE);
|
|
|
rv.setVisibility(View.GONE);
|
|
|
dropRv.setVisibility(View.GONE);
|
|
|
wheel3.setVisibility(View.GONE);
|
|
|
wheel_linear.setVisibility(View.GONE);
|
|
|
|
...
|
...
|
@@ -645,11 +708,19 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
timeChooseSure.setClickable(true);
|
|
|
level.setKey(3);
|
|
|
wheel_linear.setVisibility(View.VISIBLE);
|
|
|
rv.setVisibility(View.GONE);
|
|
|
dropRv.setVisibility(View.GONE);
|
|
|
picker.setVisibility(View.GONE);
|
|
|
wheel3.setVisibility(View.GONE);
|
|
|
|
|
|
setXqData(wheel1, wheel2, 0);
|
|
|
if (level.getSchYear() != null) {
|
|
|
setXqData(wheel1, wheel2, level.getSchYear()[0]);
|
|
|
wheel1.setSelectedIndex(level.getSchYear()[0]);
|
|
|
wheel2.setSelectedIndex(level.getSchYear()[1]);
|
|
|
M.log("getSchYear", level.getSchYear()[0] + "--" + level.getSchYear()[1]);
|
|
|
} else {
|
|
|
setXqData(wheel1, wheel2, 0);
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
case 3: // 学年
|
|
|
|
...
|
...
|
@@ -657,7 +728,7 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
timeChooseSure.setClickable(true);
|
|
|
level.setKey(4);
|
|
|
wheel_linear.setVisibility(View.GONE);
|
|
|
rv.setVisibility(View.GONE);
|
|
|
dropRv.setVisibility(View.GONE);
|
|
|
picker.setVisibility(View.GONE);
|
|
|
wheel3.setVisibility(View.VISIBLE);
|
|
|
|
...
|
...
|
@@ -669,7 +740,6 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
}
|
|
|
});
|
|
|
|
|
|
|
|
|
// 月的时间选择器
|
|
|
picker.addOnSelectedChangingListener((oldValue, newValue) -> { // 0 - > 年 | 1 - > 月
|
|
|
|
...
|
...
|
@@ -687,7 +757,8 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
|
|
|
// 学期 left
|
|
|
wheel1.setOnSelectedListener(((context, selectedIndex) -> {
|
|
|
level.setSchYear(new int[]{selectedIndex, 0});
|
|
|
|
|
|
level.setSchYear(new int[]{selectedIndex, level.getSchYear()[1]});
|
|
|
setXqData(wheel1, wheel2, level.getSchYear()[selectedIndex]);
|
|
|
}));
|
|
|
|
...
|
...
|
@@ -710,68 +781,36 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
timeChooseHfmr.setOnClickListener(v -> {
|
|
|
switch (level.getKey()) {
|
|
|
case 1: // 周
|
|
|
setDate(rv, 0, 3, 0); // level.getKey()
|
|
|
|
|
|
level.setMonth(null);
|
|
|
level.setSchYear(null); // 学期标记
|
|
|
level.setXnYear(""); // 学年标记
|
|
|
|
|
|
date();
|
|
|
setDate(rv, 0, 3, 0); // level.getKey()
|
|
|
// if (level.getKey() == 0 || level.getValue() == 1000) {
|
|
|
// tb_data(requestId, Integer.valueOf(getIntent().getStringExtra(M.StuId)), "", "");
|
|
|
// } else {
|
|
|
// requestValue = items.get(level.getValue()).getValue() + "";
|
|
|
// tb_data(requestId, Integer.valueOf(getIntent().getStringExtra(M.StuId)), level.getKey() + "", requestValue);
|
|
|
// }
|
|
|
// changeUI(true, "本周", "上周", "第" + arr.get(0).get(level.getValue()).getValue() + "周", "本周得分", "上周得分");
|
|
|
date(0);
|
|
|
break;
|
|
|
case 2: // 月
|
|
|
picker.setDate(year, monthx); // 系统时间设置数据
|
|
|
|
|
|
int mothV = (year > picker.getSelectDate()[0]) || (year == picker.getSelectDate()[0] && monthx >= picker.getSelectDate()[1]) == true ? 0 : 1;
|
|
|
if (mothV == 0) {
|
|
|
// 不是月的设置空值
|
|
|
level.setValue(-1);
|
|
|
level.setSchYear(null);
|
|
|
level.setXnYear(""); // 学年标记
|
|
|
ChA = 1000; // 清理周 , 学期 , 学年标记
|
|
|
// tb_data(requestId, Integer.valueOf(getIntent().getStringExtra(M.StuId)), level.getKey() + "", picker.getSelectDate()[0] + "-" + picker.getSelectDate()[1]);
|
|
|
// changeUI(false, "本月", "某月", picker.getSelectDate()[0] + "-" + picker.getSelectDate()[1], "本月得分", "上月得分"); // 这里第二个参数无用
|
|
|
|
|
|
// popupWindow.dismiss();
|
|
|
|
|
|
} else {
|
|
|
M.toast(getActivity(), "操作无效");
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
case 3: // 学期
|
|
|
|
|
|
// 将标记变为初始
|
|
|
level.setSchYear(new int[]{0, 0});
|
|
|
setXqData(wheel1, wheel2, level.getSchYear()[0]);
|
|
|
date(1);
|
|
|
if (level.getSchYear() != null) {
|
|
|
setXqData(wheel1, wheel2, level.getSchYear()[0]);
|
|
|
} else {
|
|
|
setXqData(wheel1, wheel2, 0);
|
|
|
}
|
|
|
|
|
|
wheel1.setSelectedIndex(level.getSchYear()[0]);
|
|
|
wheel2.setSelectedIndex(level.getSchYear()[1]);
|
|
|
// 下面是默认选中位置
|
|
|
for (int i = 0; i < xnList.size(); i++) {
|
|
|
if (xnList.get(i).getChecked() == 1) {
|
|
|
wheel1.setSelectedIndex(i);
|
|
|
}
|
|
|
List<ChooseXnLevel.ItemBeans> itemBeans = xnList.get(i).getItemBeans();
|
|
|
for (int j = 0; j < itemBeans.size(); j++) {
|
|
|
if (itemBeans.get(j).getChecked() == 1) {
|
|
|
wheel2.setSelectedIndex(j);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
level.setValue(-1);
|
|
|
level.setMonth(null);
|
|
|
level.setXnYear(""); // 学年标记
|
|
|
ChA = 1000; // 清理周标记
|
|
|
// popupWindow.dismiss();
|
|
|
break;
|
|
|
case 4: // 学年
|
|
|
|
|
|
// 恢复初始值
|
|
|
level.setXnYear(0 + "");
|
|
|
wheel3.setSelectedIndex(0);
|
|
|
level.setXnVal(0); // 下次进来之后选择器得默认值
|
|
|
level.setValue(-1);
|
|
|
level.setMonth(null);
|
|
|
ChA = 1000; // 清理周
|
|
|
level.setSchYear(null); // 学期
|
|
|
// popupWindow.dismiss();
|
|
|
break;
|
|
|
}
|
|
|
|
...
|
...
|
@@ -779,15 +818,14 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
|
|
|
// 确定
|
|
|
timeChooseSure.setOnClickListener(v -> {
|
|
|
|
|
|
Toast.makeText(getActivity(), level.getKey()+"", Toast.LENGTH_SHORT).show();
|
|
|
if (level.getKey() != 0 || !(level.getValue() + "").equals("") || level.getMonth() != null) {
|
|
|
|
|
|
switch (level.getKey()) {
|
|
|
case 1: // 周
|
|
|
// 不是周或者学期的设置空值
|
|
|
level.setMonth(null);
|
|
|
level.setSchYear(null); // 学期标记
|
|
|
level.setXnYear(""); // 学年标记
|
|
|
// level.setMonth(null);
|
|
|
// level.setSchYear(null); // 学期标记
|
|
|
// level.setXnYear(""); // 学年标记
|
|
|
|
|
|
if (level.getKey() == 0 || level.getValue() == 1000) {
|
|
|
tb_data(requestId, Config.id, "", "");
|
...
|
...
|
@@ -797,34 +835,28 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
}
|
|
|
|
|
|
changeUI(true, "本周", "上周", "第" + arr.get(0).get(level.getValue()).getValue() + "周", "本周得分", "上周得分");
|
|
|
popupWindow.dismiss();
|
|
|
|
|
|
dropPop.dismiss();
|
|
|
break;
|
|
|
case 2: // 月
|
|
|
|
|
|
int mothV = (year > picker.getSelectDate()[0]) || (year == picker.getSelectDate()[0] && monthx >= picker.getSelectDate()[1]) == true ? 0 : 1;
|
|
|
if (mothV == 0) {
|
|
|
// 不是月的设置空值
|
|
|
level.setValue(-1);
|
|
|
level.setSchYear(null);
|
|
|
level.setXnYear(""); // 学年标记
|
|
|
ChA = 1000; // 清理周 , 学期 , 学年标记
|
|
|
// level.setValue(-1);
|
|
|
// level.setSchYear(null);
|
|
|
// level.setXnYear(""); // 学年标记
|
|
|
requestValue = picker.getSelectDate()[0] + "-" + picker.getSelectDate()[1];
|
|
|
tb_data(requestId, Config.id, level.getKey() + "", picker.getSelectDate()[0] + "-" + picker.getSelectDate()[1]);
|
|
|
changeUI(false, "本月", "某月", picker.getSelectDate()[0] + "-" + picker.getSelectDate()[1], "本月得分", "上月得分"); // 这里第二个参数无用
|
|
|
|
|
|
popupWindow.dismiss();
|
|
|
|
|
|
} else {
|
|
|
M.toast(getActivity(), "操作无效");
|
|
|
}
|
|
|
|
|
|
dropPop.dismiss();
|
|
|
break;
|
|
|
case 3: // 学期
|
|
|
// 不是学期的设置空值
|
|
|
level.setValue(-1);
|
|
|
level.setMonth(null);
|
|
|
level.setXnYear(""); // 学年标记
|
|
|
ChA = 1000; // 清理周标记
|
|
|
// level.setMonth(null);
|
|
|
// level.setXnYear(""); // 学年标记
|
|
|
|
|
|
int val; // 刷新列表的时候使用
|
|
|
|
...
|
...
|
@@ -838,26 +870,25 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
changeUI(false, "本学期", "某学期", xnlevel.getName() + "-" + xnlevel.getItemBeans().get(0).getNames(), "本学期得分", "上学期得分"); // 这里第二个参数无用
|
|
|
|
|
|
}
|
|
|
requestValue = val+"";
|
|
|
tb_data(requestId, Config.id, level.getKey() + "", val + "");
|
|
|
|
|
|
popupWindow.dismiss();
|
|
|
dropPop.dismiss();
|
|
|
break;
|
|
|
case 4: // 学年
|
|
|
|
|
|
// 不是学年的设置空值
|
|
|
level.setValue(-1);
|
|
|
level.setMonth(null);
|
|
|
ChA = 1000; // 清理周
|
|
|
level.setSchYear(null); // 学期
|
|
|
|
|
|
// level.setMonth(null);
|
|
|
// level.setSchYear(null); // 学期
|
|
|
level.setXnVal(wheel3.getSelectedIndex()); // 下次进来之后选择器得默认值
|
|
|
|
|
|
int xnval = arr.get(1).get(wheel3.getSelectedIndex()).getValue();
|
|
|
int xnIndex = wheel3.getSelectedIndex();
|
|
|
tb_data(requestId, Config.id, level.getKey() + "", xnval + "");
|
|
|
requestValue = xnval + "";
|
|
|
changeUI(false, "本学年", "某学年", arr.get(1).get(xnIndex).getName() + "", "本学年得分", "上学年得分"); // 这里第二个参数无用
|
|
|
popupWindow.dismiss();
|
|
|
|
|
|
dropPop.dismiss();
|
|
|
break;
|
|
|
}
|
|
|
|
...
|
...
|
@@ -871,24 +902,10 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
// 确定之后更换页面数据 -- 这里主要是 为了稍微整理一下代码 , 方便到时候统一管理
|
|
|
private void changeUI(boolean lx, String... par) { // lx 用来区分 周 , (月 , 学期 , 学年) 因为除了周有两条折线 , 别的之后一条
|
|
|
|
|
|
|
|
|
per_value.setText(par[2]);
|
|
|
|
|
|
sj_title.setText(par[3]);
|
|
|
sj_score.setText(par[4]);
|
|
|
|
|
|
// 顺序留作参考
|
|
|
// bz.setText("本周");
|
|
|
// xz.setText("上周");
|
|
|
// per_value.setText("按周查看");
|
|
|
// sj_title.setText("本周得分");
|
|
|
// sj_score.setText("上周得分");
|
|
|
|
|
|
// bz.setText("本月");
|
|
|
// per_value.setText("按月查看");
|
|
|
// sj_title.setText("本月得分");
|
|
|
// sj_score.setText("上月得分");
|
|
|
|
|
|
}
|
|
|
|
|
|
// 提供给弹窗 - > 学年 - > 控件设置数据
|
...
|
...
|
@@ -921,59 +938,42 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
}
|
|
|
|
|
|
// 提供给弹窗的adapter - > 周 - > 控件设置数据
|
|
|
private void setDate(RecyclerView rv, int page, int count, int tag) { // tag - > 周
|
|
|
// 提供给弹窗的adapter - > 周 - > 控件设置数据
|
|
|
dataAdapter adapter;
|
|
|
private void setDate() { // tag - > 周
|
|
|
|
|
|
M.log("checkValue111", arr.size() + "");
|
|
|
if (items.size() > 0) {
|
|
|
items.clear();
|
|
|
}
|
|
|
if (arr.size() > 0) {
|
|
|
items.addAll(arr.get(page));
|
|
|
|
|
|
setRv(rv, 0, 0, count);
|
|
|
dataAdapter adapter; // level.getValue , 上面如果选中月 , 学期 , 学年 , 确定之后会将 level.getValue == - 1 , 这样下次进入周的时候, 就不会出现默认值了
|
|
|
if (level.getValue() != -1) {
|
|
|
for (int i = 0; i < items.size(); i++) {
|
|
|
if (items.get(i).isChecked() == 1) {
|
|
|
if (level.getValue() == 1000) {
|
|
|
level.setValue(i);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
adapter = new dataAdapter(R.layout.item_date, items, items.get(level.getValue()).getValue()); // 最后一个参数 , 是刚点开弹窗 , 有一个默认当前周的选中
|
|
|
} else {
|
|
|
adapter = new dataAdapter(R.layout.item_date, items, -1);
|
|
|
}
|
|
|
items.addAll(arr.get(0)); // 数据源
|
|
|
|
|
|
rv.setAdapter(adapter);
|
|
|
if (level.getValue() != 1000 && items.size() > level.getValue()) {
|
|
|
if (tag == ChA) {
|
|
|
adapter.change(items.get(level.getValue()).getValue() + "");
|
|
|
adapter.notifyDataSetChanged();
|
|
|
}
|
|
|
}
|
|
|
M.log("checkValue222", level.getValue() + "");
|
|
|
adapter = new dataAdapter(R.layout.item_date, items, items.get(level.getValue()).getValue());
|
|
|
dropRv.setAdapter(adapter);
|
|
|
|
|
|
// right 时间选择 周 , 学期 , 学年
|
|
|
// right 时间选择 周
|
|
|
adapter.setOnItemChildClickListener((adapter1, view1, position) -> {
|
|
|
switch (view1.getId()) {
|
|
|
case R.id.date_linear:
|
|
|
adapter.change(items.get(position).getValue() + "", 1000);
|
|
|
adapter.notifyDataSetChanged();
|
|
|
level.setValue(position);
|
|
|
|
|
|
ChA = level.getKey(); // 选中的时候保存, 点击标记 , setDate()方法再次执行的时候, 区分选中状态
|
|
|
M.log("checkValue444", level.getValue() + "");
|
|
|
}
|
|
|
});
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// ---------------------------------------------------------- 这条线上面的是日期选择弹窗 --------------------------------------------------------------------------
|
|
|
|
|
|
// ---------------------------------------------------------- main 接口日期 --------------------------------------------------------------------
|
|
|
private void date() { // 这里的 List<DateLevel> list 是一个败笔 , 因为一开始的时候数据是全部一致 , 我为了统一管理 , 后来改数据之后 , 觉得有点蠢 , 但是没时间改
|
|
|
arr.clear();
|
|
|
Api().dateList(Config.Token).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(data -> {
|
|
|
if (data.getCode() == M.success) {
|
|
|
arr.clear();
|
|
|
xnList.clear();
|
|
|
|
|
|
List<DateLevel> list = new ArrayList<>(); // 周
|
|
|
List<DateLevel> lis1 = new ArrayList<>(); // 学年
|
|
|
|
...
|
...
|
@@ -981,13 +981,13 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
List<DateEntity.DataBean.YearBean> year = data.getData().getYear();
|
|
|
|
|
|
for (int i = 0; i < week.size(); i++) {
|
|
|
list.add(new DateLevel(week.get(i).getValue(), week.get(i).getName() + "", week.get(i).getChecked()));
|
|
|
if (week.get(i).getChecked() == 1) { // 默认选中的值
|
|
|
level.setKey(1);
|
|
|
level.setValue(i);
|
|
|
per_value.setText("第" + (i + 1) + "周"); // 默认当前周
|
|
|
requestValue = (i + 1) + ""; // 这个默认值 , 不然右边评价项弹窗 , 点击无效 , 因为无周期值
|
|
|
}
|
|
|
list.add(new DateLevel(week.get(i).getValue(), week.get(i).getName() + "", week.get(i).getChecked()));
|
|
|
if (week.get(i).getChecked() == 1) { // 默认选中的值
|
|
|
level.setKey(1);
|
|
|
level.setValue(i);
|
|
|
per_value.setText("第" + (i + 1) + "周"); // 默认当前周
|
|
|
requestValue = (i + 1) + ""; // 这个默认值 , 不然右边评价项弹窗 , 点击无效 , 因为无周期值
|
|
|
}
|
|
|
if (i == week.size() - 1) {
|
|
|
arr.add(list);
|
|
|
}
|
...
|
...
|
@@ -1002,11 +1002,10 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
}
|
|
|
|
|
|
// 这是学期的数据
|
|
|
/* 这个破地方 , 如果用数据结构写 , 就这bi样, 我觉得用双map 可能会更好一些 */
|
|
|
List<DateEntity.DataBean.YearTermBean> year_term = data.getData().getYear_term();
|
|
|
for (int i = 0; i < year_term.size(); i++) {
|
|
|
ChooseXnLevel chooseXnLevel = new ChooseXnLevel(year_term.get(i).getValue(), year_term.get(i).getName() + "", year_term.get(i).isChecked());
|
|
|
List<ChooseXnLevel.ItemBeans> level = new ArrayList<>();
|
|
|
List<ChooseXnLevel.ItemBeans> level11 = new ArrayList<>();
|
|
|
|
|
|
List<DateEntity.DataBean.YearTermBean.ItemBean> item = year_term.get(i).getItem();
|
|
|
|
...
|
...
|
@@ -1016,8 +1015,13 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
itemBeans.setNames(item.get(k).getName() + "");
|
|
|
itemBeans.setChecked(item.get(k).isChecked());
|
|
|
|
|
|
level.add(itemBeans);
|
|
|
chooseXnLevel.setItemBeans(level);
|
|
|
if(item.get(k).isChecked() == 1){
|
|
|
level.setSchYear(new int[]{0,k});
|
|
|
M.log("getSchYear", level.getSchYear()[0] + "--" + level.getSchYear()[1]);
|
|
|
}
|
|
|
|
|
|
level11.add(itemBeans);
|
|
|
chooseXnLevel.setItemBeans(level11);
|
|
|
}
|
|
|
|
|
|
xnList.add(chooseXnLevel);
|
...
|
...
|
@@ -1028,7 +1032,65 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
}
|
|
|
});
|
|
|
}
|
|
|
private void date(int hf) { // 这里的 List<DateLevel> list 是一个败笔 , 因为一开始的时候数据是全部一致 , 我为了统一管理 , 后来改数据之后 , 觉得有点蠢 , 但是没时间改
|
|
|
|
|
|
Api().dateList(Config.Token).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(data -> {
|
|
|
if (data.getCode() == M.success) {
|
|
|
if (hf == 0) {
|
|
|
arr.clear();
|
|
|
|
|
|
List<DateLevel> list = new ArrayList<>(); // 周
|
|
|
List<DateLevel> lis1 = new ArrayList<>(); // 学年
|
|
|
List<DateEntity.DataBean.WeekBean> week = data.getData().getWeek();
|
|
|
List<DateEntity.DataBean.YearBean> year = data.getData().getYear();
|
|
|
|
|
|
for (int i = 0; i < week.size(); i++) {
|
|
|
list.add(new DateLevel(week.get(i).getValue(), week.get(i).getName() + "", week.get(i).getValue() == level.getValue() ? 1 : 0));
|
|
|
|
|
|
if (i == week.size() - 1) {
|
|
|
arr.add(list);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
for (int i = 0; i < year.size(); i++) {
|
|
|
lis1.add(new DateLevel(year.get(i).getValue(), year.get(i).getName() + "", 0));
|
|
|
if (i == year.size() - 1) {
|
|
|
arr.add(lis1);
|
|
|
}
|
|
|
}
|
|
|
setDate();
|
|
|
} else {
|
|
|
xnList.clear();
|
|
|
|
|
|
// 这是学期的数据
|
|
|
List<DateEntity.DataBean.YearTermBean> year_term = data.getData().getYear_term();
|
|
|
for (int i = 0; i < year_term.size(); i++) {
|
|
|
ChooseXnLevel chooseXnLevel = new ChooseXnLevel(year_term.get(i).getValue(), year_term.get(i).getName() + "", year_term.get(i).isChecked());
|
|
|
List<ChooseXnLevel.ItemBeans> level = new ArrayList<>();
|
|
|
|
|
|
List<DateEntity.DataBean.YearTermBean.ItemBean> item = year_term.get(i).getItem();
|
|
|
|
|
|
for (int k = 0; k < year_term.get(i).getItem().size(); k++) {
|
|
|
ChooseXnLevel.ItemBeans itemBeans = new ChooseXnLevel.ItemBeans();
|
|
|
itemBeans.setValues(item.get(k).getValue());
|
|
|
itemBeans.setNames(item.get(k).getName() + "");
|
|
|
itemBeans.setChecked(item.get(k).isChecked());
|
|
|
|
|
|
level.add(itemBeans);
|
|
|
chooseXnLevel.setItemBeans(level);
|
|
|
}
|
|
|
|
|
|
xnList.add(chooseXnLevel);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
} else if (data.getCode() == 401) {
|
|
|
ApiError.refreshToken();
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
// ---------------------------------------------------------- main 接口筛选 --------------------------------------------------------------------
|
|
|
private void zt_screen() {
|
|
|
Api().all_eva_items(Config.Token, Config.ClassId).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(data -> {
|
...
|
...
|
@@ -1038,18 +1100,26 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
for (int i = 0; i < pop_eva_item.size(); i++) {
|
|
|
List<AllevaitemsEntity.DataBean.ChildBean> cd = pop_eva_item.get(i).getChild();
|
|
|
for (int j = 0; j < cd.size(); j++) {
|
|
|
perQuest.add(cd.get(j).getId());
|
|
|
if (cd.get(j).isChecked()){
|
|
|
perQuest.add(cd.get(j).getId());
|
|
|
if (requestId.equals("")) {
|
|
|
requestId = cd.get(j).getId()+ "";
|
|
|
} else {
|
|
|
requestId = requestId + "," + cd.get(j).getId();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//
|
|
|
// 一级 - > 二级 - > 三级 (这里页面跳转有两种 , 不懂可以问一下产品)
|
|
|
tb_data(requestId,Config.id, level.getKey() + "", requestValue); // 进来一个默认值先
|
|
|
} else if (data.getCode() == 401) {
|
|
|
ApiError.refreshToken();
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
|
|
|
// ------------------------------------------------------ adapter --------------------------------------------------------------------
|
|
|
/* left */
|
|
|
/* left */
|
|
|
class listAdapter extends BaseAdapter {
|
|
|
|
|
|
int pos = 0;
|
...
|
...
|
@@ -1271,14 +1341,15 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
}
|
|
|
|
|
|
// ----------------------------------------------- 图表 -------------------------------------------------------
|
|
|
List<String> xaxis;
|
|
|
|
|
|
List<String> xaxis= new ArrayList<>();
|
|
|
List<String> xaxis1= new ArrayList<>();
|
|
|
// LineChar - > 折线图
|
|
|
List<Float> current;
|
|
|
List<Float> last;
|
|
|
List<Float> current= new ArrayList<>();
|
|
|
List<Float> last= new ArrayList<>();
|
|
|
// Hisgram - > 柱状图
|
|
|
List<Float> student;
|
|
|
List<Float> classX;
|
|
|
List<Float> student= new ArrayList<>();
|
|
|
List<Float> classX = new ArrayList<>();
|
|
|
|
|
|
|
|
|
@SuppressLint("CheckResult")
|
|
|
private void tb_data(String evaluate_ids, int student_id, String cycle_type, String cycle_value) {
|
...
|
...
|
@@ -1290,6 +1361,7 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
xaxis = line.getXaxis();
|
|
|
current = line.getCurrent(); // 当前周
|
|
|
last = line.getLast(); // 上周
|
|
|
Toast.makeText(getActivity(), ""+level.getKey(), Toast.LENGTH_SHORT).show();
|
|
|
switch (level.getKey()) {
|
|
|
case 1:
|
|
|
List<List<Float>> yValues = new ArrayList<>();
|
...
|
...
|
@@ -1364,6 +1436,49 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
};
|
|
|
ZxLineChart.getXAxis().setValueFormatter(formatter);
|
|
|
// -------------------------------------------- 第三个图表 - 详情 ----------------------------------------------------
|
|
|
GrpjEntity_tb.DataBean.DetailBean detail = data.getData().getDetail();
|
|
|
xaxis1 = detail.getXaxis(); // 详细得分x轴
|
|
|
student = detail.getStudent(); // 学生
|
|
|
classX = detail.getClassX(); // 班级平均分
|
|
|
List<Float> yaxis1 = detail.getYaxis();
|
|
|
//颜色集合
|
|
|
ArrayList<Entry> lastvalues = new ArrayList<>();
|
|
|
if (classX!=null){
|
|
|
for (int i = 0; i < classX.size(); i++) {
|
|
|
float val = classX.get(i);
|
|
|
lastvalues.add(new Entry(i, val)); // x 轴 y轴
|
|
|
}
|
|
|
}
|
|
|
//颜色集合
|
|
|
List<Integer> colours = new ArrayList<>();
|
|
|
colours.add(colorsTwo[0]);
|
|
|
colours.add(colorsTwo[1]);
|
|
|
ArrayList<Float> xValues = new ArrayList<>();
|
|
|
for (int i = 0; i < detail.getXaxis().size(); i++) {
|
|
|
xValues.add((float) i);
|
|
|
}
|
|
|
//线的名字集合
|
|
|
List<String> names = new ArrayList<>();
|
|
|
names.add("学生得分");
|
|
|
names.add("班级平均分");
|
|
|
barChartManager.ShowBart(xValues,student,classX,names,colours);
|
|
|
barChartManager.setYAxis(detail.getYaxis().get(0), detail.getYaxis().get(detail.getYaxis().size() - 1), detail.getYaxis().size());
|
|
|
ValueFormatter Barformatter = new ValueFormatter() {
|
|
|
@Override
|
|
|
public String getFormattedValue(float value) {
|
|
|
//设置 xAxis.setGranularity(1);后 value是从0开始的,每次加1,
|
|
|
int v = (int) value;
|
|
|
if (v < detail.getXaxis().size() && v >= 0) {
|
|
|
String st = detail.getXaxis().get(v);
|
|
|
String tim1 = "";
|
|
|
tim1 = st;
|
|
|
return tim1;
|
|
|
} else {
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
chart.getXAxis().setValueFormatter(Barformatter);
|
|
|
} else if (data.getCode() == 401) {
|
|
|
ApiError.refreshToken();
|
|
|
}
|
...
|
...
|
@@ -1381,9 +1496,7 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
}
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
// ----------------------------------------------- 数据 --------------------------------------------------------
|
|
|
} // ----------------------------------------------- 数据 --------------------------------------------------------
|
|
|
class pjfxAdapter_sj extends BaseQuickAdapter<GrpjEntity_sj.DataBean, BaseViewHolder> {
|
|
|
|
|
|
public pjfxAdapter_sj(int layoutResId, @Nullable List<GrpjEntity_sj.DataBean> data) {
|
...
|
...
|
@@ -1415,16 +1528,4 @@ public class StuEvaFragment_per extends BaseFragment { |
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
int floatToInt(float f) {
|
|
|
int i = 0;
|
|
|
if (f > 0) //正数
|
|
|
i = (int) ((f * 10 + 9) / 10);
|
|
|
else if (f < 0) //负数
|
|
|
i = (int) ((f * 10 - 9) / 10);
|
|
|
else i = 0;
|
|
|
|
|
|
return i;
|
|
|
|
|
|
}
|
|
|
} |
...
|
...
|
|