Skip to content

Commit 24b7118

Browse files
committed
修复了加载目录树时,使用currentYear和currentMonth判断是否ajax的目录树需要展开的bug,修改为最大的月份会自动加载展开天的数据
1 parent be3221b commit 24b7118

File tree

3 files changed

+7
-6
lines changed

3 files changed

+7
-6
lines changed

src/org/cronhub/managesystem/modules/record/done/action/TreeLoadAction.java

+7-6
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import java.text.SimpleDateFormat;
55
import java.util.ArrayList;
66
import java.util.Calendar;
7+
import java.util.Collections;
78
import java.util.Comparator;
89
import java.util.Date;
910
import java.util.HashMap;
@@ -111,21 +112,21 @@ public String createInitTree(){
111112
}
112113
Calendar todayCalendar = Calendar.getInstance();//先调用getInstance得到一个Calendar的对象
113114
todayCalendar.setTime(new Date());//然后将Date(这里为现场时间new Date)的对象设置入Calendar调用setTime即可,随后Calendar就可以取出月份,年份,每月几号等信息了
114-
int currentYear = todayCalendar.get(Calendar.YEAR);
115-
int currentMonth = todayCalendar.get(Calendar.MONTH)+1;//Calendar的Month居然是从0开始的,详见API:一年中的第一个月是 JANUARY,它为 0;最后一个月取决于一年中的月份数。
116-
int currentDay = todayCalendar.get(Calendar.DAY_OF_MONTH);//而Calendar的DAY_OF_MONTH是从1开始的,详见API:get 和 set 的字段数字,指示一个月中的某天。它与 DATE 是同义词。一个月中第一天的值为 1。
115+
// int currentYear = todayCalendar.get(Calendar.YEAR);
116+
// int currentMonth = todayCalendar.get(Calendar.MONTH)+1;//Calendar的Month居然是从0开始的,详见API:一年中的第一个月是 JANUARY,它为 0;最后一个月取决于一年中的月份数。
117+
// int currentDay = todayCalendar.get(Calendar.DAY_OF_MONTH);//而Calendar的DAY_OF_MONTH是从1开始的,详见API:get 和 set 的字段数字,指示一个月中的某天。它与 DATE 是同义词。一个月中第一天的值为 1。
117118
for(Map.Entry<Integer, List<Integer>> year_month : year_months.entrySet()){
118119
int year = year_month.getKey();
119120
Element yearElement = root.addElement("node");
120-
if(unfoldCurrentMonth && currentYear == year){
121+
if(unfoldCurrentMonth && Collections.max(year_months.keySet()).equals(year)){//修改为最大年份的就展开
121122
yearElement.addAttribute("open", "true");
122123
}else{
123124
yearElement.addAttribute("open", "false");
124125
}
125126
yearElement.addAttribute("id",String.valueOf(year)).addAttribute("name", String.format("%s年", year)).addAttribute("type", "year").addAttribute("isParent", "false");
126127
for(int month : year_month.getValue()){
127128
Element monthElement = yearElement.addElement("node");
128-
if(unfoldCurrentMonth && currentMonth == month){
129+
if(unfoldCurrentMonth && Collections.max(year_month.getValue()).equals(month)){//修改此处bug,发现如果几天没有数据,但新来的一天是新的月的第一天,这样就不能展开文件夹了,修改为最大的月份就会展开
129130
monthElement.addAttribute("open", "true");//王波的ajax树的属性展开,则该文件夹展开了
130131
}else{
131132
monthElement.addAttribute("open", "false");//王波的ajax树的属性关闭,则该文件夹关闭了
@@ -138,7 +139,7 @@ public String createInitTree(){
138139
ym.set(year, month-1, 01);
139140

140141
monthElement.addAttribute("id",monthFormat.format(ym.getTime())).addAttribute("name",String.format("%s月",month)).addAttribute("type", "month").addAttribute("isParent", "true");
141-
if(unfoldCurrentMonth && currentMonth == month){
142+
if(unfoldCurrentMonth && Collections.max(year_month.getValue()).equals(month)){ //修改为最大的月份会自动加载天的数据
142143
loadDayDataToMonth(monthElement,todayCalendar);
143144
}
144145
}

0 commit comments

Comments
 (0)