1、任务:图表样式如上三种,其他图,年变化,月变化。
当展示类别为其他图:起始年份不可编辑;起始年月、终止年月隐藏。
当展示类别为年变化:起始年份可编辑;起始年份默认为前五年,终止年份默认为当前年;并且框里数值是起作用的,会影响图表变化;起始年月、终止年月隐藏。
当展示类别为月变化:起始年月、终止年月可编辑,起始年月默认为上一年的1月份,终止年月默认为当前年月;起始年份、终止年份隐藏。
解决方案:主要是采用jquery技术。
1)先是对于隐藏显示的问题,采用.show()、.hide() 方法。
$("table.datawindowTab:last>tbody>tr:eq(8)>td").show();//:last是最后一个;:eq(number),第几个;> 父标签到子标签
$("input#qsnf").show();//不知道为什么,input按钮type=“hidden”的时候是不能换成type=“text”的,隐藏它的父标签td也不管用,只能单独对input标签进行隐藏显示。
2)对于展示类别为其他图,起始年份不可编辑的问题
getObject("qsnf").setReadOnly(true);//正常情况下,用着一句话就OK。
if(getObject("qsnf").getReadOnly(true)){//但是因为系统框架的问题,起始年份可编辑与不可编辑是两个input标签。所以只能通过if语句来判断。
$("input#qsnf").hide();
$("input#_label").show();
}
3)默认年份、年月问题。
年份、年月都是在当前年月的基础上进行改变。
终止年月:默认当前年月,tjqb改变的时候跟着改变。
起始年月:默认当前年月上一年的01月份。
String s = DateUtil.FormatDateToYearMonth(DateUtil.getCurrentDate());//获取当前年月
String m = s.substring(5, 6);//获取月份
Integer m1 = Integer.parseInt(m);
Date mrmonth = DateUtil.addMonth(DateUtil.getCurrentDate(),-(10+m1));//中间隔了10+m1个月。
终止年份、起始年份就是在年月的基础上去子字符串,如上获取月份的方法。
4)让这些年份可编辑传入后台。
因为前台是直接把formquery传过去的,所以后台只需要把上面四个变量放在vdo里即可。然后调用的时候直接使用。