ToB企服应用市场:ToB评测及商务社交产业平台
标题:
element-ui时间筛选器
[打印本页]
作者:
拉不拉稀肚拉稀
时间:
2024-12-26 20:52
标题:
element-ui时间筛选器
dateChange(field, range) {
this.queryParams[`${field}Start`] = null;
this.queryParams[`${field}End`] = null;
if (range) {
this.queryParams[`${field}Start`] = range[0];
this.queryParams[`${field}End`] = range[1];
}
this.handleQuery();
// console.log(this.queryParams);
},
复制代码
<el-form-item label="时间筛选" prop="pickTimeArr">
<el-date-picker v-model="pickTimeArr"
type="datetimerange" range-separator="至" start-placeholder="开始日期"
:clearable="false"
:default-time="['00:00:00', '23:59:59']"
end-placeholder="结束日期" value-format="yyyy-MM-dd HH:mm:ss"
@change="val => dateChange('pickTime', val)">
</el-date-picker>
</el-form-item>
复制代码
注意这个change事件,而且一开始需要先清空嗷,之前你就犯过这种错误。
还有clearable怎么设置,你记住了吗?
还有这个默认的时刻default-time
以及这本身是有默认事件的日期时间选择器,type要整明白 datetimerange
还有一个format。
获取近7天的日期时间
methods: {
// 获取近七天的日期
getSevenDay() {
const now = new Date();
const sevenDaysAgo = new Date();
sevenDaysAgo.setDate(now.getDate() - 7);
// this.queryParams.pickTime = [sevenDaysAgo, now];
this.pickTimeArr = [sevenDaysAgo, now];
const yearEnd = now.getFullYear();
const monthEnd = String(now.getMonth() + 1).padStart(2, '0');
const dayEnd = String(now.getDate()).padStart(2, '0');
// 获取当前时间
const hoursNow = String(now.getHours()).padStart(2, '0');
const minutesNow = String(now.getMinutes()).padStart(2, '0');
const secondsNow = String(now.getSeconds()).padStart(2, '0');
this.queryParams.pickTimeEnd = `${yearEnd}-${monthEnd}-${dayEnd} ${hoursNow}:${minutesNow}:${secondsNow}`;
const yearStart = sevenDaysAgo.getFullYear();
const monthStart = String(sevenDaysAgo.getMonth() + 1).padStart(2, '0');
const dayStart = String(sevenDaysAgo.getDate()).padStart(2, '0');
this.queryParams.pickTimeStart = `${yearStart}-${monthStart}-${dayStart} ${hoursNow}:${minutesNow}:${secondsNow}`;
},}
复制代码
这里使用了面向AI编程,学习了新方法https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/padStart
但是你传值传反了!!!!
这里我们是需要在初始状态就筛选了近7天的数据,因此在created中使用了。
created() {
this.getSevenDay();
const driver = this.$route.params && this.$route.params.autoPickDriver;
if (driver) {
this.queryParams.driver = driver;
}
this.getList();
},
复制代码
Vue2生命周期:Vue2生命周期详细解说——周期图示、代码演示变革_vue2 errorcaptured-CSDN博客
还有需要在重置的时间进行再次查询:
resetQuery() {
this.resetForm('queryForm');
this.getSevenDay();
this.handleQuery();
},
复制代码
下面是java的接口传参代码:
你只需要看String pickTimeStart 和 String pickTimeEnd
/** 派单时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "派单时间开始")
private String pickTimeStart;
/** 派单时间结束 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "派单时间结束")
private String pickTimeEnd;
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4