作者 liming

提交图表样式修改 , 以及全班详情进入评价分析详情的错误

<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<codeStyleSettings language="XML">
<indentOptions>
<option name="CONTINUATION_INDENT_SIZE" value="4" />
</indentOptions>
<arrangement>
<rules>
<section>
<rule>
<match>
<AND>
<NAME>xmlns:android</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>xmlns:.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:id</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:name</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>name</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>style</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
<order>ANDROID_ATTRIBUTE_ORDER</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>.*</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
</rules>
</arrangement>
</codeStyleSettings>
</code_scheme>
</component>
\ No newline at end of file
不能预览此文件类型
... ... @@ -4,10 +4,12 @@ public class DateLevel {
int value;
String name;
int checked;
public DateLevel(int value, String name) {
public DateLevel(int value, String name, int checked) {
this.value = value;
this.name = name;
this.checked = checked;
}
public int getValue() {
... ... @@ -26,11 +28,20 @@ public class DateLevel {
this.name = name;
}
public int isChecked() {
return checked;
}
public void setChecked(int checked) {
this.checked = checked;
}
@Override
public String toString() {
return "DateLevel{" +
"value=" + value +
", name='" + name + '\'' +
", checked=" + checked +
'}';
}
}
... ...
... ... @@ -7,8 +7,8 @@ public class DateEntity {
/**
* code : 1
* msg : 时间周期
* time : 1578273588
* data : {"week":[{"value":1,"name":"第1周"},{"value":2,"name":"第2周"},{"value":3,"name":"第3周"},{"value":4,"name":"第4周"},{"value":5,"name":"第5周"},{"value":6,"name":"第6周"},{"value":7,"name":"第7周"},{"value":8,"name":"第8周"},{"value":9,"name":"第9周"},{"value":10,"name":"第10周"},{"value":11,"name":"第11周"},{"value":12,"name":"第12周"},{"value":13,"name":"第13周"},{"value":14,"name":"第14周"},{"value":15,"name":"第15周"},{"value":16,"name":"第16周"},{"value":17,"name":"第17周"},{"value":18,"name":"第18周"},{"value":19,"name":"第19周"},{"value":20,"name":"第20周"},{"value":21,"name":"第21周"}],"term":[{"value":1,"name":"上学期"},{"value":2,"name":"下学期"}],"year":[{"value":1,"name":"2019-2020学年"}],"year_term":[{"value":1,"name":"2019-2020学年","item":[{"value":1,"name":"上学期"},{"value":2,"name":"下学期"}]}]}
* time : 1578365320
* data : {"week":[{"value":1,"name":"第1周","checked":0},{"value":2,"name":"第2周","checked":0},{"value":3,"name":"第3周","checked":0},{"value":4,"name":"第4周","checked":0},{"value":5,"name":"第5周","checked":0},{"value":6,"name":"第6周","checked":0},{"value":7,"name":"第7周","checked":0},{"value":8,"name":"第8周","checked":0},{"value":9,"name":"第9周","checked":0},{"value":10,"name":"第10周","checked":0},{"value":11,"name":"第11周","checked":0},{"value":12,"name":"第12周","checked":0},{"value":13,"name":"第13周","checked":0},{"value":14,"name":"第14周","checked":0},{"value":15,"name":"第15周","checked":0},{"value":16,"name":"第16周","checked":1},{"value":17,"name":"第17周","checked":0},{"value":18,"name":"第18周","checked":0},{"value":19,"name":"第19周","checked":0},{"value":20,"name":"第20周","checked":0},{"value":21,"name":"第21周","checked":0}],"term":[{"value":1,"name":"上学期"},{"value":2,"name":"下学期"}],"year":[{"value":1,"name":"2019-2020学年"}],"year_term":[{"value":1,"name":"2019-2020学年","item":[{"value":1,"name":"上学期"},{"value":2,"name":"下学期"}]}]}
*/
private int code;
... ... @@ -90,10 +90,12 @@ public class DateEntity {
/**
* value : 1
* name : 第1周
* checked : 0
*/
private int value;
private String name;
private int checked;
public int getValue() {
return value;
... ... @@ -110,6 +112,14 @@ public class DateEntity {
public void setName(String name) {
this.name = name;
}
public int getChecked() {
return checked;
}
public void setChecked(int checked) {
this.checked = checked;
}
}
public static class TermBean {
... ... @@ -226,5 +236,4 @@ public class DateEntity {
}
}
}
}
... ...
... ... @@ -235,9 +235,6 @@ public interface ApiService {
Observable<EdithonorEntity> edithonor(@Header("token") String token, int stuid, @Query("name") String name,
@Query("opus_level") String opus_level, @Query("prize_level") String prize_level, @Query("push_time") String push_time,
@Query("content") String content, @Query("video") String video, String queImage, String image);
/*获取语义化日期*/
@POST("/api/home_school/getHumanDateList")
Observable<DateBean> getHumanDateList(@Header("token") String token , @Query("days")int days);
/*荣誉详情*/
@POST("/api/honor/detail")
Observable<DetailsEntity> details(@Header("token") String token, @Query("id") int id);
... ...
... ... @@ -253,6 +253,7 @@ public class StuEvaFragment extends BaseFragment {
Config.ClassId = bjList.get(position).getClass_id();
xiala.setText(bjList.get(position).getClass_name() + ""); // 班级
listpage();
pjx(); // 评价项数据
pop.dismiss();
break;
}
... ... @@ -285,6 +286,17 @@ public class StuEvaFragment extends BaseFragment {
Intent intent = new Intent(getActivity(), TjxzActivity.class); // 班级id
startActivity(intent);
popupWindow.dismiss();
stuEvalStu.setTextColor(no_select);
stuEvalGroup.setTextColor(select);
line1.setVisibility(View.INVISIBLE);
linex.setVisibility(View.VISIBLE);
stu.setVisibility(View.GONE);
recycler.setVisibility(View.GONE);
gro.setVisibility(View.VISIBLE);
rv_gro.setVisibility(View.VISIBLE);
});
B.setOnClickListener(v -> { // 点评多人
... ... @@ -331,6 +343,7 @@ public class StuEvaFragment extends BaseFragment {
RecyclerView ct_rv = inflate.findViewById(R.id.pop_dianpin_ct_rv); // goup rv
TextView xq = inflate.findViewById(R.id.pop_xq);
PopupWindow pop = new PopupWindow(inflate, ViewGroup.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT);
pop.setOutsideTouchable(true);
pop.setTouchable(true);
... ... @@ -461,6 +474,7 @@ public class StuEvaFragment extends BaseFragment {
if (Config.ClassId == bjList.get(i).getClass_id()) {
xiala.setText(bjList.get(i).getClass_name() + "");
Config.ClassId = bjList.get(i).getClass_id();
bancun = i;
}
}
... ...
... ... @@ -98,7 +98,7 @@ public class Tjxq_Activity extends BaseActivity {
for (int i = 0; i <un_view.size() ; i++) {
unstudentCkEntities.add(new StudentCkEntity( un_view.get(i).getId(), un_view.get(i).getParent_name(), un_view.get(i).getStudent_name(), un_view.get(i).getPhoto(),false));
}
fragmentList.add(new Zy_Rv_Wck_Fragment(unstudentCkEntities));
fragmentList.add(new Zy_Rv_Wck_Fragment(unstudentCkEntities,2));
fragmentList.add(new Zy_Rv_ck_Fragment(studentCkEntities));
ytjNum.setText("已提交:"+getTaskStatusEntity.getData().getRe_view_num());
wtjTv.setText("未提交:"+getTaskStatusEntity.getData().getUn_view_num());
... ...
... ... @@ -146,7 +146,7 @@ public class Zyxq_Activity extends BaseActivity {
for (int i = 0; i <uncomment_list.size() ; i++) {
unstudentCkEntities.add(new StudentCkEntity( uncomment_list.get(i).getId(), uncomment_list.get(i).getParent_name(), uncomment_list.get(i).getStudent_name(), uncomment_list.get(i).getPhoto(),false));
}
fragmentList.add(new Zy_Rv_Wck_Fragment(unstudentCkEntities));
fragmentList.add(new Zy_Rv_Wck_Fragment(unstudentCkEntities,1));
fragmentList.add(new Zy_Rv_ck_Fragment(studentCkEntities));
fragmentAdater = new MyAdapter(getSupportFragmentManager());
vp.setAdapter(fragmentAdater);
... ...
... ... @@ -182,18 +182,18 @@ public class PjfxActivity extends BaseActivity {
int rv_2_w; // y 轴 宽度
int ChA; // 这个标记, 用来区分点击右边日期的时候 , 选中状态
int year, monthx; // 系统时间 月选择的时候 , 用来确定所选时间小于等于当前时间
List<PjfxIntentEntity> intArr = new ArrayList<>();
// // 数据传递
// callbackValue value;
//
// public interface callbackValue {
// void msg(int key, String value); // type , 周期值
// }
int xnIndex; // 学年的选中值
@Override
protected void initData() {
// value = new PjfxFragment_tb(); // 实例化
Calendar calendar = Calendar.getInstance();
year = calendar.get(Calendar.YEAR);
monthx = calendar.get(Calendar.MONTH) + 1;
layout1 = this.findViewById(R.id.stu_pjfx_layout1);
layout2 = this.findViewById(R.id.stu_pjfx_layout2);
... ... @@ -228,7 +228,6 @@ public class PjfxActivity extends BaseActivity {
}
});
}
@Override
... ... @@ -275,15 +274,12 @@ public class PjfxActivity extends BaseActivity {
popupWindow.setAnimationStyle(R.style.AnimTopMiddle);
popupWindow.showAsDropDown(line4);
// 月默认时间
int[] month = level.getMonth();
if (month != null && month.length > 1) {
picker.setDate(month[0], month[1]);
} else {
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int monthx = calendar.get(Calendar.MONTH);
picker.setDate(year, monthx);
picker.setDate(year, monthx); // 获取系统时间
}
// - > 进入之后默认选中
... ... @@ -352,28 +348,22 @@ public class PjfxActivity extends BaseActivity {
// 1 - > 月 0 , 2 , 3 - > 周 , 学期 , 学年
switch (position) {
case 0: // 周
level.setKey(1);
wheel_linear.setVisibility(View.GONE);
rv.setVisibility(View.VISIBLE);
picker.setVisibility(View.GONE);
wheel3.setVisibility(View.GONE);
setDate(rv, 0, 3, 1); // 最后一位是 判断什么标记
break;
case 1: // 月
level.setKey(2);
picker.setVisibility(View.VISIBLE);
rv.setVisibility(View.GONE);
wheel3.setVisibility(View.GONE);
wheel_linear.setVisibility(View.GONE);
break;
case 2: // 学期
level.setKey(3);
wheel_linear.setVisibility(View.VISIBLE);
rv.setVisibility(View.GONE);
picker.setVisibility(View.GONE);
... ... @@ -383,7 +373,6 @@ public class PjfxActivity extends BaseActivity {
break;
case 3: // 学年
level.setKey(4);
wheel_linear.setVisibility(View.GONE);
rv.setVisibility(View.GONE);
picker.setVisibility(View.GONE);
... ... @@ -412,10 +401,8 @@ public class PjfxActivity extends BaseActivity {
wheel2.setOnSelectedListener((context, selectedIndex) -> {
if (level.getSchYear() != null) {
level.setSchYear(new int[]{level.getSchYear()[0], selectedIndex});
M.log("getSchYear44", level.getSchYear()[0] + "--" + level.getSchYear()[1]);
} else {
level.setSchYear(new int[]{0, selectedIndex});
M.log("getSchYear33", level.getSchYear()[0] + "--" + level.getSchYear()[1]);
}
});
... ... @@ -426,7 +413,7 @@ public class PjfxActivity extends BaseActivity {
// 恢复默认
timeChooseHfmr.setOnClickListener(v -> {
level.setValue(0);
level.setValue(-1);
level.setMonth(null);
level.setSchYear(null);
level.setXnYear("");
... ... @@ -449,6 +436,7 @@ public class PjfxActivity extends BaseActivity {
level.setMonth(null);
level.setSchYear(null); // 学期标记
level.setXnYear(""); // 学年标记
level.setKey(1);
if (level.getKey() == 0 || level.getValue() == 1000) {
data("", "");
... ... @@ -456,84 +444,64 @@ public class PjfxActivity extends BaseActivity {
data(level.getKey() + "", items.get(level.getValue()).getValue() + "");
}
bz.setText("本周");
bz_X.setVisibility(View.VISIBLE);
xz.setText("上周");
xz_X.setVisibility(View.VISIBLE);
pjfx_value.setText("按周查看");
changeUI(true, "本周", "上周", "第" + arr.get(0).get(level.getValue()).getValue() + "周", "本周得分", "上周得分");
sj_title.setText("本周得分");
sj_score.setText("上周得分");
break;
case 2: // 月
// 不是月的设置空值
level.setValue(0);
level.setSchYear(null);
level.setXnYear(""); // 学年标记
ChA = 1000; // 清理周 , 学期 , 学年标记
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.setKey(2);
data(level.getKey() + "", picker.getSelectDate()[0] + "-" + picker.getSelectDate()[1]);
M.log("getSelectDate", picker.getSelectDate()[0] + "-" + picker.getSelectDate()[1]);
data(level.getKey() + "", picker.getSelectDate()[0] + "-" + picker.getSelectDate()[1]);
changeUI(false, "本月", "某月", picker.getSelectDate()[0] + "-" + picker.getSelectDate()[1], "本月得分", "上月得分"); // 这里第二个参数无用
bz.setText("本月");
bz_X.setVisibility(View.VISIBLE);
xz.setVisibility(View.GONE);
xz_X.setVisibility(View.GONE);
pjfx_value.setText("按月查看");
} else {
M.toast(activity, "操作无效");
}
sj_title.setText("本月得分");
sj_score.setText("上月得分");
break;
case 3: // 学期
// 不是学期的设置空值
level.setValue(0);
level.setValue(-1);
level.setMonth(null);
level.setXnYear(""); // 学年标记
ChA = 1000; // 清理周标记
bz.setText("本学期");
bz_X.setVisibility(View.VISIBLE);
xz.setVisibility(View.GONE);
xz_X.setVisibility(View.GONE);
pjfx_value.setText("按学期查看");
sj_title.setText("本学期得分");
sj_score.setText("上学期得分");
level.setKey(3);
int val; // 刷新列表的时候使用
if (level.getSchYear() != null) {
val = xnList.get(level.getSchYear()[0]).getItemBeans().get(level.getSchYear()[1]).getValues();
data(level.getKey() + "", val + "");
M.log("getSchYear11", level.getSchYear()[0] + "--" + level.getSchYear()[1]);
ChooseXnLevel xnlevel = xnList.get(level.getSchYear()[0]);
changeUI(false, "本学期", "某学期", xnlevel.getName() + "-" + xnlevel.getItemBeans().get(level.getSchYear()[1]).getNames(), "本学期得分", "上学期得分"); // 这里第二个参数无用
} else {
val = xnList.get(0).getItemBeans().get(0).getValues();
data(level.getKey() + "", val + "");
ChooseXnLevel xnlevel = xnList.get(0);
changeUI(false, "本学期", "某学期", xnlevel.getName() + "-" + xnlevel.getItemBeans().get(0).getNames(), "本学期得分", "上学期得分"); // 这里第二个参数无用
}
break;
case 4: // 学年
// 不是学年的设置空值
level.setValue(0);
level.setValue(-1);
level.setMonth(null);
ChA = 1000; // 清理周
level.setSchYear(null); // 学期
level.setKey(4);
bz.setText("本学年");
bz_X.setVisibility(View.VISIBLE);
xz.setVisibility(View.GONE);
xz_X.setVisibility(View.GONE);
pjfx_value.setText("按学年查看");
sj_title.setText("本学年得分");
sj_score.setText("上学年得分");
int xnval = arr.get(1).get(wheel3.getSelectedIndex()).getValue();
xnIndex = wheel3.getSelectedIndex();
int xnval = arr.get(1).get(xnIndex).getValue();
data(level.getKey() + "", xnval + "");
changeUI(false, "本学年", "某学年", arr.get(1).get(xnIndex).getName() + "", "本学年得分", "上学年得分"); // 这里第二个参数无用
break;
}
popupWindow.dismiss();
... ... @@ -545,7 +513,40 @@ public class PjfxActivity extends BaseActivity {
}
// 提供给弹窗 - > 学年
// 确定之后更换页面数据 -- 这里主要是 为了稍微整理一下代码 , 方便到时候统一管理
private void changeUI(boolean lx, String... par) { // lx 用来区分 周 , (月 , 学期 , 学年) 因为除了周有两条折线 , 别的之后一条
bz.setText(par[0]);
bz_X.setVisibility(View.VISIBLE);
if (lx == true) {
xz.setVisibility(View.VISIBLE);
xz_X.setVisibility(View.VISIBLE);
xz.setText(par[1]);
} else {
xz.setVisibility(View.GONE);
xz_X.setVisibility(View.GONE);
}
pjfx_value.setText(par[2]);
sj_title.setText(par[3]);
sj_score.setText(par[4]);
// 顺序留作参考
// bz.setText("本周");
// xz.setText("上周");
// pjfx_value.setText("按周查看");
// sj_title.setText("本周得分");
// sj_score.setText("上周得分");
// bz.setText("本月");
// pjfx_value.setText("按月查看");
// sj_title.setText("本月得分");
// sj_score.setText("上月得分");
}
// 提供给弹窗 - > 学年 - > 控件设置数据
private void setXnData(WheelItemView wheel) {
List<DateLevel> dateLevels = arr.get(1);
WheelItem[] items = new WheelItem[dateLevels.size()];
... ... @@ -557,7 +558,7 @@ public class PjfxActivity extends BaseActivity {
wheel.setItems(items);
}
// 提供给弹窗 - > 学期
// 提供给弹窗 - > 学期 - > 控件设置数据
private void setXqData(WheelItemView wheelA, WheelItemView wheelB, int page) {
WheelItem[] items = new WheelItem[xnList.size()];
WheelItem[] child = new WheelItem[xnList.get(page).getItemBeans().size()];
... ... @@ -574,7 +575,7 @@ public class PjfxActivity extends BaseActivity {
wheelB.setItems(child);
}
// 提供给弹窗的adapter - > 周
// 提供给弹窗的adapter - > 周 - > 控件设置数据
private void setDate(RecyclerView rv, int page, int count, int tag) { // tag - > 周
if (items.size() > 0) {
... ... @@ -584,7 +585,12 @@ public class PjfxActivity extends BaseActivity {
items.addAll(arr.get(page)); // 数据源
setRv(rv, 0, 0, count);
dataAdapter adapter = new dataAdapter(R.layout.item_date, items);
dataAdapter adapter; // level.getValue , 上面如果选中月 , 学期 , 学年 , 确定之后会将 level.getValue == - 1 , 这样下次进入周的时候, 就不会出现默认值了
if (level.getValue() != -1) {
adapter = new dataAdapter(R.layout.item_date, items, items.get(level.getValue()).getValue()); // 最后一个参数 , 是刚点开弹窗 , 有一个默认当前周的选中
} else {
adapter = new dataAdapter(R.layout.item_date, items, -1);
}
rv.setAdapter(adapter);
if (level.getValue() != 1000 && items.size() > level.getValue()) {
... ... @@ -598,7 +604,7 @@ public class PjfxActivity extends BaseActivity {
adapter.setOnItemChildClickListener((adapter1, view1, position) -> {
switch (view1.getId()) {
case R.id.date_linear:
adapter.change(items.get(position).getValue() + "");
adapter.change(items.get(position).getValue() + "", 1000);
adapter.notifyDataSetChanged();
level.setValue(position);
ChA = level.getKey(); // 选中的时候保存, 点击标记 , setDate()方法再次执行的时候, 区分选中状态
... ... @@ -607,6 +613,8 @@ public class PjfxActivity extends BaseActivity {
}
}
// ---------------------------------------------------------- 这条线上面的是日期选择弹窗 --------------------------------------------------------------------------
// ------------------------------------------------------ adapter --------------------------------------------------------------------
/* left */
class listAdapter extends BaseAdapter {
... ... @@ -674,9 +682,11 @@ public class PjfxActivity extends BaseActivity {
class dataAdapter extends BaseQuickAdapter<DateLevel, BaseViewHolder> {
private String id = "";
int value;
public dataAdapter(int layoutResId, @Nullable List<DateLevel> data) {
public dataAdapter(int layoutResId, @Nullable List<DateLevel> data, int value) {
super(layoutResId, data);
this.value = value;
}
@Override
... ... @@ -690,6 +700,16 @@ public class PjfxActivity extends BaseActivity {
view.setBackground(nochoose);
}
// 初始值, 当二次选中之后
if (value == item.getValue()) {
view.setBackground(choose);
}
}
public void change(String id, int value) {
this.id = id;
this.value = value;
}
public void change(String id) {
... ... @@ -746,73 +766,49 @@ public class PjfxActivity extends BaseActivity {
}
break;
case R.id.more_a: // a
if (level.getKey() == 1) {
if (level.getMonth() != null && level.getKey() != 0) {
jump(level.getKey() + "", level.getMonth() + "", 1);
} else {
jump("", "", 4);
}
} else {
if (level.getMonth() != null && items.get(level.getValue()).getValue() != 0) {
jump(level.getKey() + "", items.get(level.getValue()).getValue() + "", 1);
} else {
jump("", "", 1);
}
}
choose(1);
break;
case R.id.more_b: // b
if (level.getKey() == 2) {
if (level.getMonth() != null && level.getKey() != 0) {
jump(level.getKey() + "", level.getMonth() + "", 2);
} else {
jump("", "", 2);
}
} else {
if (level.getMonth() != null && items.get(level.getValue()).getValue() != 0) {
jump(level.getKey() + "", items.get(level.getValue()).getValue() + "", 2);
} else {
jump("", "", 2);
}
}
choose(2);
break;
case R.id.more_c: // c
if (level.getKey() == 2) {
if (level.getMonth() != null && level.getKey() != 0) {
jump(level.getKey() + "", level.getMonth() + "", 3);
} else {
jump("", "", 3);
}
} else {
if (level.getMonth() != null && items.get(level.getValue()).getValue() != 0) {
jump(level.getKey() + "", items.get(level.getValue()).getValue() + "", 3);
} else {
jump("", "", 3);
}
choose(3);
break;
case R.id.more_d: // d
choose(4);
break;
}
}
// 选择状态 - 跳转到表现的时候评价分析
private void choose(int type) { // type == 1 | 2 | 3 |4 ? 表现突出 | 表现一般 | 需要关注 | 特别关注
switch (level.getKey()) {
case 1:
jump(level.getKey() + "", arr.get(0).get(level.getValue()).getValue() + "", type); // 周
break;
case 2:
if (level.getMonth() != null && level.getMonth().length > 0) {
jump(level.getKey() + "", level.getMonth()[0] + "-" + level.getMonth()[1], type); // 月
} else {
jump(level.getKey() + "", year + "-" + monthx, type); // 月
}
break;
case R.id.more_d: // d
if (level.getKey() == 2) {
if (level.getMonth() != null && level.getKey() != 0) {
jump(level.getKey() + "", level.getMonth() + "", 4);
} else {
jump("", "", 4);
}
case 3:
int val;
if (level.getSchYear() != null && level.getSchYear().length > 0) {
val = xnList.get(level.getSchYear()[0]).getItemBeans().get(level.getSchYear()[1]).getValues(); // 学期
} else {
if (level.getMonth() != null && items.get(level.getValue()).getValue() != 0) {
jump(level.getKey() + "", items.get(level.getValue()).getValue() + "", 4);
} else {
jump("", "", 4);
}
val = xnList.get(0).getItemBeans().get(0).getValues();
}
jump(level.getKey() + "", val + "", type);
break;
case 4:
jump(level.getKey() + "", arr.get(1).get(xnIndex).getValue() + "", type);
break;
}
}
// 跳
// 跳转到
private void jump(String key, String value, int type) {
Intent intent = new Intent(activity, XspjActivity.class);
intent.putExtra(M.XspjKey, key);
... ... @@ -821,7 +817,7 @@ public class PjfxActivity extends BaseActivity {
startActivity(intent);
}
// 跳转
// 跳转到表现的时候评价分析
private void jumpTo(int pos) {
Intent intent = new Intent(activity, PjfxActivity_per.class);
intent.putExtra(M.StuId, intArr.get(pos).getId() + "");
... ... @@ -831,7 +827,7 @@ public class PjfxActivity extends BaseActivity {
}
// ---------------------------------------------------------- 日期 --------------------------------------------------------------------
private void date() {
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) {
... ... @@ -842,19 +838,25 @@ public class PjfxActivity extends BaseActivity {
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() + ""));
list.add(new DateLevel(week.get(i).getValue(), week.get(i).getName() + "", week.get(i).getChecked()));
if (i == week.size() - 1) {
arr.add(list);
}
if (week.get(i).getChecked() == 1) { // 默认选中的值
level.setKey(1);
level.setValue(i);
}
}
for (int i = 0; i < year.size(); i++) {
lis1.add(new DateLevel(year.get(i).getValue(), year.get(i).getName() + ""));
lis1.add(new DateLevel(year.get(i).getValue(), year.get(i).getName() + "", 0));
if (i == year.size() - 1) {
arr.add(lis1);
}
}
pjfx_value.setText("第" + arr.get(0).get(level.getValue()).getValue() + "周"); // 默认当前周
// 这是学期的数据
/* 这个破地方 , 如果用数据结构写 , 就这bi样, 我觉得用双map 可能会更好一些 */
List<DateEntity.DataBean.YearTermBean> year_term = data.getData().getYear_term();
... ...
... ... @@ -189,10 +189,15 @@ public class PjfxActivity_per extends BaseActivity {
private List<Integer> perQuest = new ArrayList<>(); // 数据请求 , 确定的时候使用
int ChA; // 这个标记, 用来区分点击右边日期的时候 , 选中状态
int year, monthx; // 月选择的时候 , 用来确定所选时间小于等于当前时间
@Override
protected void initData() {
Calendar calendar = Calendar.getInstance();
year = calendar.get(Calendar.YEAR);
monthx = calendar.get(Calendar.MONTH) + 1;
// ----------------------------------------------- main -----------------------------------------------------
yes = getResources().getColor(R.color.color_fff);
no = getResources().getColor(R.color.color_f9f9f9);
... ... @@ -217,6 +222,14 @@ public class PjfxActivity_per extends BaseActivity {
// ----------------------------------------------- 数据 --------------------------------------------------------
init_sj();
// 懒得去调布局 , 直接将事件里面的粘过来了
// sj.setTextColor(select);
// line2.setVisibility(View.VISIBLE);
// tb.setTextColor(select_no);
// line1.setVisibility(View.INVISIBLE);
// layoutA.setVisibility(View.GONE);
// layoutB.setVisibility(View.VISIBLE);
}
/* 项目数据实例化 */
... ... @@ -388,14 +401,13 @@ public class PjfxActivity_per extends BaseActivity {
}
tb_data(requestId, Integer.valueOf(getIntent().getStringExtra(M.StuId)), level.getKey() + "", requestValue);
Log.e("childBeansCC", "perQuest" + perQuest + " -- " + requestId);
pop.dismiss();
});
}
// 日期弹窗
// --------------------------------------------------- 下拉框 --------------------------------------------------------------------
// --------------------------------------------------- 日期下拉框 --------------------------------------------------------------------
private void showDrop() {
View view = LayoutInflater.from(PjfxActivity_per.this).inflate(R.layout.pop_time_choose, null);
... ... @@ -429,15 +441,12 @@ public class PjfxActivity_per extends BaseActivity {
popupWindow.setAnimationStyle(R.style.AnimTopMiddle);
popupWindow.showAsDropDown(line4);
// 月默认时间
int[] month = level.getMonth();
if (month != null && month.length > 1) {
picker.setDate(month[0], month[1]);
} else {
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int monthx = calendar.get(Calendar.MONTH);
picker.setDate(year, monthx);
picker.setDate(year, monthx); // 系统时间
}
// - > 进入之后默认选中
... ... @@ -476,7 +485,6 @@ public class PjfxActivity_per extends BaseActivity {
if (level.getSchYear() != null) {
setXqData(wheel1, wheel2, level.getSchYear()[0]);
M.log("getSchYear55", level.getSchYear()[0] + "--" + level.getSchYear()[1]);
wheel1.setSelectedIndex(level.getSchYear()[0]);
wheel2.setSelectedIndex(level.getSchYear()[1]);
} else {
... ... @@ -566,10 +574,8 @@ public class PjfxActivity_per extends BaseActivity {
wheel2.setOnSelectedListener((context, selectedIndex) -> {
if (level.getSchYear() != null) {
level.setSchYear(new int[]{level.getSchYear()[0], selectedIndex});
M.log("getSchYear44", level.getSchYear()[0] + "--" + level.getSchYear()[1]);
} else {
level.setSchYear(new int[]{0, selectedIndex});
M.log("getSchYear33", level.getSchYear()[0] + "--" + level.getSchYear()[1]);
}
});
... ... @@ -580,7 +586,7 @@ public class PjfxActivity_per extends BaseActivity {
// 恢复默认
timeChooseHfmr.setOnClickListener(v -> {
level.setValue(0);
level.setValue(-1);
level.setMonth(null);
level.setSchYear(null);
level.setXnYear("");
... ... @@ -611,84 +617,66 @@ public class PjfxActivity_per extends BaseActivity {
tb_data(requestId, Integer.valueOf(getIntent().getStringExtra(M.StuId)), level.getKey() + "", requestValue);
}
bz.setText("本周");
bz_X.setVisibility(View.VISIBLE);
xz.setText("上周");
xz_X.setVisibility(View.VISIBLE);
changeUI(true, "本周", "上周", "第" + arr.get(0).get(level.getValue()).getValue() + "周", "本周得分", "上周得分");
popupWindow.dismiss();
per_value.setText("按周查看");
sj_title.setText("本周得分");
sj_score.setText("上周得分");
break;
case 2: // 月
// 不是月的设置空值
level.setValue(0);
level.setSchYear(null);
level.setXnYear(""); // 学年标记
ChA = 1000; // 清理周 , 学期 , 学年标记
tb_data(requestId, Integer.valueOf(getIntent().getStringExtra(M.StuId)), level.getKey() + "", picker.getSelectDate()[0] + "-" + picker.getSelectDate()[1]);
M.log("getSelectDate", picker.getSelectDate()[0] + "-" + picker.getSelectDate()[1]);
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], "本月得分", "上月得分"); // 这里第二个参数无用
bz.setText("本月");
bz_X.setVisibility(View.VISIBLE);
xz.setVisibility(View.GONE);
xz_X.setVisibility(View.GONE);
popupWindow.dismiss();
per_value.setText("按月查看");
} else {
M.toast(activity, "操作无效");
}
sj_title.setText("本月得分");
sj_score.setText("上月得分");
break;
case 3: // 学期
// 不是学期的设置空值
level.setValue(0);
level.setValue(-1);
level.setMonth(null);
level.setXnYear(""); // 学年标记
ChA = 1000; // 清理周标记
bz.setText("本学期");
bz_X.setVisibility(View.VISIBLE);
xz.setVisibility(View.GONE);
xz_X.setVisibility(View.GONE);
per_value.setText("按学期查看");
sj_title.setText("本学期得分");
sj_score.setText("上学期得分");
int val; // 刷新列表的时候使用
if (level.getSchYear() != null) {
val = xnList.get(level.getSchYear()[0]).getItemBeans().get(level.getSchYear()[1]).getValues();
ChooseXnLevel xnlevel = xnList.get(level.getSchYear()[0]);
changeUI(false, "本学期", "某学期", xnlevel.getName() + "-" + xnlevel.getItemBeans().get(level.getSchYear()[1]).getNames(), "本学期得分", "上学期得分"); // 这里第二个参数无用
} else {
val = xnList.get(0).getItemBeans().get(0).getValues();
ChooseXnLevel xnlevel = xnList.get(0);
changeUI(false, "本学期", "某学期", xnlevel.getName() + "-" + xnlevel.getItemBeans().get(0).getNames(), "本学期得分", "上学期得分"); // 这里第二个参数无用
}
tb_data(requestId, Integer.valueOf(getIntent().getStringExtra(M.StuId)), level.getKey() + "", val + "");
popupWindow.dismiss();
break;
case 4: // 学年
// 不是学年的设置空值
level.setValue(0);
level.setValue(-1);
level.setMonth(null);
ChA = 1000; // 清理周
level.setSchYear(null); // 学期
bz.setText("本学年");
bz_X.setVisibility(View.VISIBLE);
xz.setVisibility(View.GONE);
xz_X.setVisibility(View.GONE);
per_value.setText("按学年查看");
sj_title.setText("本学年得分");
sj_score.setText("上学年得分");
int xnval = arr.get(1).get(wheel3.getSelectedIndex()).getValue();
int xnIndex = wheel3.getSelectedIndex();
tb_data(requestId, Integer.valueOf(getIntent().getStringExtra(M.StuId)), level.getKey() + "", xnval + "");
changeUI(false, "本学年", "某学年", arr.get(1).get(xnIndex).getName() + "", "本学年得分", "上学年得分"); // 这里第二个参数无用
popupWindow.dismiss();
break;
}
popupWindow.dismiss();
} else {
M.toast(activity, "请选择筛选条件");
}
... ... @@ -697,7 +685,41 @@ public class PjfxActivity_per extends BaseActivity {
}
// 提供给弹窗 - > 学年
// 确定之后更换页面数据 -- 这里主要是 为了稍微整理一下代码 , 方便到时候统一管理
private void changeUI(boolean lx, String... par) { // lx 用来区分 周 , (月 , 学期 , 学年) 因为除了周有两条折线 , 别的之后一条
bz.setText(par[0]);
bz_X.setVisibility(View.VISIBLE);
if (lx == true) {
xz.setVisibility(View.VISIBLE);
xz_X.setVisibility(View.VISIBLE);
xz.setText(par[1]);
} else {
xz.setVisibility(View.GONE);
xz_X.setVisibility(View.GONE);
}
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("上月得分");
}
// 提供给弹窗 - > 学年 - > 控件设置数据
private void setXnData(WheelItemView wheel) {
List<DateLevel> dateLevels = arr.get(1);
WheelItem[] items = new WheelItem[dateLevels.size()];
... ... @@ -709,7 +731,7 @@ public class PjfxActivity_per extends BaseActivity {
wheel.setItems(items);
}
// 提供给弹窗 - > 学期
// 提供给弹窗 - > 学期 - > 控件设置数据
private void setXqData(WheelItemView wheelA, WheelItemView wheelB, int page) {
WheelItem[] items = new WheelItem[xnList.size()];
WheelItem[] child = new WheelItem[xnList.get(page).getItemBeans().size()];
... ... @@ -726,8 +748,8 @@ public class PjfxActivity_per extends BaseActivity {
wheelB.setItems(child);
}
// 提供给弹窗的adapter
private void setDate(RecyclerView rv, int page, int count, int tag) { // tag - > 周 , 学期 , 学年 1 | 3 | 4
// 提供给弹窗的adapter - > 周 - > 控件设置数据
private void setDate(RecyclerView rv, int page, int count, int tag) { // tag - > 周
if (items.size() > 0) {
items.clear();
... ... @@ -736,9 +758,14 @@ public class PjfxActivity_per extends BaseActivity {
items.addAll(arr.get(page));
setRv(rv, 0, 0, count);
dataAdapter adapter = new dataAdapter(R.layout.item_date, items);
rv.setAdapter(adapter);
dataAdapter adapter; // level.getValue , 上面如果选中月 , 学期 , 学年 , 确定之后会将 level.getValue == - 1 , 这样下次进入周的时候, 就不会出现默认值了
if (level.getValue() != -1) {
adapter = new dataAdapter(R.layout.item_date, items, items.get(level.getValue()).getValue()); // 最后一个参数 , 是刚点开弹窗 , 有一个默认当前周的选中
} else {
adapter = new dataAdapter(R.layout.item_date, items, -1);
}
rv.setAdapter(adapter);
if (level.getValue() != 1000 && items.size() > level.getValue()) {
if (tag == ChA) {
adapter.change(items.get(level.getValue()).getValue() + "");
... ... @@ -750,18 +777,21 @@ public class PjfxActivity_per extends BaseActivity {
adapter.setOnItemChildClickListener((adapter1, view1, position) -> {
switch (view1.getId()) {
case R.id.date_linear:
adapter.change(items.get(position).getValue() + "");
adapter.change(items.get(position).getValue() + "", 1000);
adapter.notifyDataSetChanged();
level.setValue(position);
ChA = level.getKey(); // 选中的时候保存, 点击标记 , setDate()方法再次执行的时候, 区分选中状态
}
});
}
}
// ---------------------------------------------------------- 这条线上面的是日期选择弹窗 --------------------------------------------------------------------------
// ---------------------------------------------------------- main 接口日期 --------------------------------------------------------------------
private void date() {
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) {
... ... @@ -772,19 +802,25 @@ public class PjfxActivity_per extends BaseActivity {
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() + ""));
list.add(new DateLevel(week.get(i).getValue(), week.get(i).getName() + "", week.get(i).getChecked()));
if (i == week.size() - 1) {
arr.add(list);
}
if (week.get(i).getChecked() == 1) { // 默认选中的值
level.setKey(1);
level.setValue(i);
}
}
for (int i = 0; i < year.size(); i++) {
lis1.add(new DateLevel(year.get(i).getValue(), year.get(i).getName() + ""));
lis1.add(new DateLevel(year.get(i).getValue(), year.get(i).getName() + "", 0));
if (i == year.size() - 1) {
arr.add(lis1);
}
}
per_value.setText("第" + arr.get(0).get(level.getValue()).getValue() + "周"); // 默认当前周
// 这是学期的数据
/* 这个破地方 , 如果用数据结构写 , 就这bi样, 我觉得用双map 可能会更好一些 */
List<DateEntity.DataBean.YearTermBean> year_term = data.getData().getYear_term();
... ... @@ -898,9 +934,11 @@ public class PjfxActivity_per extends BaseActivity {
class dataAdapter extends BaseQuickAdapter<DateLevel, BaseViewHolder> {
private String id = "";
int value;
public dataAdapter(int layoutResId, @Nullable List<DateLevel> data) {
public dataAdapter(int layoutResId, @Nullable List<DateLevel> data, int value) {
super(layoutResId, data);
this.value = value;
}
@Override
... ... @@ -914,6 +952,16 @@ public class PjfxActivity_per extends BaseActivity {
view.setBackground(nochoose);
}
// 初始值, 当二次选中之后
if (value == item.getValue()) {
view.setBackground(choose);
}
}
public void change(String id, int value) {
this.id = id;
this.value = value;
}
public void change(String id) {
... ... @@ -1045,7 +1093,6 @@ public class PjfxActivity_per extends BaseActivity {
/* 图表 */
Api().grpj_tb(Config.Token, evaluate_ids, student_id, cycle_type, cycle_value).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(data -> {
if (data.getCode() == M.success) {
// ----------------------------------------- 第二个图表 - 开始的时候有四个图表 , 删掉了第一个还有第四个 ---------------------------------------------
GrpjEntity_tb.DataBean.LineBean line = data.getData().getLine();
List<Integer> current = line.getCurrent(); // 当前周
... ...
... ... @@ -62,7 +62,7 @@
android:orientation="horizontal">
<LinearLayout
android:layout_width="@dimen/dp_88"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_31"
android:layout_marginLeft="@dimen/dp_15"
android:background="@drawable/shape_solid_16_f9"
... ... @@ -78,6 +78,15 @@
android:textColor="@color/color_06121e"
android:textSize="@dimen/sp_13"
android:id="@+id/pjfx_per_value"
android:layout_marginLeft="@dimen/dp_8"
/>
<ImageView
android:layout_width="@dimen/dp_8"
android:layout_height="@dimen/dp_5"
android:layout_marginLeft="@dimen/dp_4"
android:src="@mipmap/pingjia_triangle_icon"
android:layout_marginRight="@dimen/dp_8"
/>
</LinearLayout>
... ...
... ... @@ -14,7 +14,7 @@
<LinearLayout
android:id="@+id/stu_pjfx_drop"
android:layout_width="@dimen/dp_92"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_32"
android:layout_marginLeft="@dimen/dp_20"
android:background="@drawable/shape_solid_16_f9"
... ... @@ -26,13 +26,17 @@
android:layout_height="wrap_content"
android:text="按周查看"
android:textColor="@color/color_06121e"
android:textSize="@dimen/sp_14" />
android:textSize="@dimen/sp_14"
android:layout_marginLeft="@dimen/dp_8"
/>
<ImageView
android:layout_width="@dimen/dp_8"
android:layout_height="@dimen/dp_5"
android:layout_marginLeft="@dimen/dp_4"
android:src="@mipmap/pingjia_triangle_icon" />
android:src="@mipmap/pingjia_triangle_icon"
android:layout_marginRight="@dimen/dp_8"
/>
</LinearLayout>
... ...
... ... @@ -49,21 +49,24 @@
android:layout_weight="1"/>
<TextView
android:id="@+id/pjfx_sj_title"
android:id="@+id/pjfx_sj_score"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/dp_26"
android:text="本周得分"
android:layout_marginRight="@dimen/dp_25"
android:text="上周得分"
android:textColor="@color/color_8c9198"
android:textSize="@dimen/sp_12" />
android:textSize="@dimen/sp_12"
/>
<TextView
android:id="@+id/pjfx_sj_score"
android:id="@+id/pjfx_sj_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="周得分"
android:text="周得分"
android:textColor="@color/color_8c9198"
android:textSize="@dimen/sp_12" />
android:textSize="@dimen/sp_12"
android:layout_marginRight="@dimen/dp_26"
/>
</LinearLayout>
... ...
... ... @@ -14,30 +14,6 @@
android:textColor="@color/color_5b5e63"
android:textSize="@dimen/sp_13" />
<FrameLayout
android:layout_width="@dimen/dp_13"
android:layout_height="@dimen/dp_13"
android:layout_marginLeft="@dimen/dp_8">
<ImageView
android:id="@+id/sj_up"
android:layout_width="@dimen/dp_12"
android:layout_height="@dimen/dp_13"
android:src="@mipmap/fenxi_up_icon" />
<ImageView
android:id="@+id/sj_right"
android:layout_width="@dimen/dp_13"
android:layout_height="@dimen/dp_12"
android:src="@mipmap/fenxi_heng_icon" />
<ImageView
android:id="@+id/sj_down"
android:layout_width="@dimen/dp_12"
android:layout_height="@dimen/dp_13"
android:src="@mipmap/fenxiang_down_icon" />
</FrameLayout>
<View
android:layout_width="@dimen/dp_0"
... ... @@ -52,7 +28,7 @@
>
<TextView
android:id="@+id/item_pjfx_sj_cul"
android:id="@+id/item_pjfx_sj_last"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
... ... @@ -65,10 +41,12 @@
<LinearLayout
android:layout_width="@dimen/dp_60"
android:layout_height="wrap_content"
android:gravity="center">
android:gravity="center"
android:layout_marginRight="@dimen/dp_5"
>
<TextView
android:id="@+id/item_pjfx_sj_last"
android:id="@+id/item_pjfx_sj_cul"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
... ... @@ -78,4 +56,30 @@
</LinearLayout>
<FrameLayout
android:layout_width="@dimen/dp_13"
android:layout_height="@dimen/dp_13"
android:layout_marginRight="@dimen/dp_8">
<ImageView
android:id="@+id/sj_up"
android:layout_width="@dimen/dp_12"
android:layout_height="@dimen/dp_13"
android:src="@mipmap/fenxi_up_icon" />
<ImageView
android:id="@+id/sj_right"
android:layout_width="@dimen/dp_13"
android:layout_height="@dimen/dp_12"
android:src="@mipmap/fenxi_heng_icon" />
<ImageView
android:id="@+id/sj_down"
android:layout_width="@dimen/dp_12"
android:layout_height="@dimen/dp_13"
android:src="@mipmap/fenxiang_down_icon" />
</FrameLayout>
</LinearLayout>
\ No newline at end of file
... ...