永洪社区

标题: 日期过滤脚本问题 [打印本页]

作者: 929300746    时间: 2022-4-22 10:49
标题: 日期过滤脚本问题
之前日期过滤组件是年月过滤,现在日期过滤组件换成年月日过滤了,脚本就不起作用了,希望有大神可以指点下脚本怎么修改,之前脚本如下:// 取日期过滤组件开始时间
var startYear = substring(日期过滤2.firstDates[0,1,5)
var startMonth = substring(日期过滤2.firstDates[0,6,len(日期过滤2.firstDates[0))
// 每月第一天
var startDay = 1
param["首次下单-开始-a" = new Date(startYear,startMonth,startDay)

// 取日期过滤组件结束时间
var endYear = substring(日期过滤2.secondDates[0,1,5)
var endMonth = substring(日期过滤2.secondDates[0,6,len(日期过滤2.secondDates[0))
endMonth = parseInt(parseInt(endMonth)+1)
param["首次下单-结束-a" = new Date(getCurrentMonthLastDay(new Date(endYear+"/"+endMonth+"/"+1)))

// 获取当前月份的最后一天,参数为日期
function getCurrentMonthLastDay(date) {
        var currentMonth = date.getMonth();
        var nextMonth = ++currentMonth;
        var nextMonthFirstDay = new Date(date.getFullYear(), nextMonth, 1);
        var oneDay = 1000 * 60 * 60 * 24;
        var lastTime = new Date(nextMonthFirstDay - oneDay);
        var month = parseInt(lastTime.getMonth() + 1);
        var day = lastTime.getDate();
        if (month < 10) {
            month = '0' + month
        }
        if (day < 10) {
            day = '0' + day
        }
        return date.getFullYear() + '/' + month + '/' + day;
}



作者: 李翰璋    时间: 2022-4-22 11:06
您这个只是单纯不起作用,还是说有报错?您是否有核对组件名能否和脚本取得变量对应?
作者: 环环    时间: 2022-4-22 11:08
说下要什么效果吧
作者: 929300746    时间: 2022-4-22 11:08
李翰璋 发表于 2022-4-22 11:06
您这个只是单纯不起作用,还是说有报错?您是否有核对组件名能否和脚本取得变量对应? ...

打开后没有提示报错,组件名和脚本中是一致的
作者: 929300746    时间: 2022-4-22 11:15
永洪tech-秀秀 发表于 2022-4-22 11:08
说下要什么效果吧

就是之前根据这个日期过滤组件是做年月筛选,现在日期颗粒度到日了,有一幅图就不受这个日期过滤组件联动控制了,之前这幅图是根据上面这个脚本添加参数过滤后联动控制的,想知道脚本怎么改一下才能恢复之前的联动效果
作者: 环环    时间: 2022-4-22 11:18
说一下这个脚本是要做什么,我看下怎么改
作者: 929300746    时间: 2022-4-22 11:33
永洪tech-秀秀 发表于 2022-4-22 11:18
说一下这个脚本是要做什么,我看下怎么改

就是之前日期过滤是图1中的年月维度,红框中的柱状图通过问题中的脚本和图3的过滤受日期过滤控制,选择相应时间段后数据会变化,现在日期过滤组件改成图2中年月日的维度了,红框中的柱状图就不受日期过滤组件的控制了,脚本如何改一下才能重新让图受现在新时间维度的日期过滤组件控制呢?

作者: 环环    时间: 2022-4-22 11:49
是要获取日期过滤组件的选中日期,分别赋值给开始、结束参数,再用参数去做过滤?为什么这么麻烦呢,日期过滤和柱状图不是同一个数据集的吗

作者: 929300746    时间: 2022-4-22 13:37
永洪tech-秀秀 发表于 2022-4-22 11:49
是要获取日期过滤组件的选中日期,分别赋值给开始、结束参数,再用参数去做过滤?为什么这么麻烦呢,日期过 ...

对的,不是同一个数据集
作者: 929300746    时间: 2022-4-22 13:39
永洪tech-秀秀 发表于 2022-4-22 11:49
是要获取日期过滤组件的选中日期,分别赋值给开始、结束参数,再用参数去做过滤?为什么这么麻烦呢,日期过 ...

能帮忙看看怎么修改下当前的脚本吗,感谢大佬
作者: 环环    时间: 2022-4-22 14:29
用这个试试,参数名为开始和结束
var a=substring(日期过滤1.firstDates[0],1,日期过滤1.firstDates[0].lenth)
var b=substring(日期过滤1.secondDates[0],1,日期过滤1.secondDates[0].lenth)
param['开始']=parseDate(a,"yyyy-M-d")
param['结束']=parseDate(b,"yyyy-M-d")




欢迎光临 永洪社区 (http://club.yonghongtech.com/) Powered by Discuz! X3.4