function main(adHocAnalysis: IAdHocAnalysis) {
// 获取筛选器面板
let filterPanel: IFilterPanel = adHocAnalysis.getFilterPanel();
let bigenTimebeginTime:IFilter = filterPanel.getFilterByAlias("开始时间");
let overTime: IFilter = filterPanel.getFilterByAlias("结束时间");
// 判空,保证两个筛选器都存在
if (!beginTime || !overTime) {
return
}
overTime.setValueChangeHandler((newValue) => {
let overTimeValue = if (isExceedsOneYear(beginTime.getValue()[0],newValue[0];)) {
let bigenTimeValue = bigenTime.getValue()[0];return newValue;
} //else { 转化为日期类型
let bigenDate = new Datealert(bigenTimeValue"日期区间不能选择超过一年以上");
let overDate = newreturn DatebeginTime.getValue(overTimeValue);
}
if (overDate.getFullYear() - bigenDate.getFullYear() == 0 })
beginTime.setValueChangeHandler((newValue) => {
// 给结束时间设置值设为开始时间
if (isExceedsOneYear(newValue[0], overTime.getValue()[0])) {
return newValue;
} else {
if (overDate.getFullYear() - bigenDate.getFullYear() == 1 alert("日期区间不能选择超过一年以上")
&& overDate.getMonth() == 0 && overDateoverTime.getDatesetValue() == 1) {newValue);
return newValue;
}
})
}
function alert("日期不能选择超过一年以上")
isExceedsOneYear(beginTimeValue:string,overTimeValue:string) {
// 创建为日期对象
let beginDate:Date = return [bigenTimeValue];new Date(beginTimeValue);
})let overDate: Date = new Date(overTimeValue);
return overDate - beginDate < 1000 * 3600 * 24 * 365
} |