Element与Antd对于时间范围查找

一、Element

HTML:

<template>
	<a-card :bordered="false">
		<el-form :model="searchFormState" ref="searchFormRef" name="advanced_search">
			<el-row :gutter="24">
				<el-col :span="6">
					<el-form-item label="创建时间" name="createTime">
						<el-date-picker
							v-model="searchFormState.createTime"
							type="daterange"
							range-separator="至"
							start-placeholder="开始日期"
							end-placeholder="结束日期" />
					</el-form-item>
				</el-col>
				<el-col :span="4">
					<el-button type="primary" @click="loadData()">查询</el-button>
					<el-button style="margin: 0 8px" @click="reset('searchFormRef')">重置</el-button>
				</el-col>
			</el-row>
		</el-form>
	</a-card>
</template>

JS:

export default {
	name: 'Function',
	data() {
		return {
			searchFormState: {},
            tableData: [],
            totalCount: '',
		}
	},
	mounted() {
		this.loadData()
	},
	methods: {
		loadData() {
			this.searchFormState.current = this.currentPage
			this.searchFormState.size = this.pageSize
			// createTime范围查询条件重载
			if (this.searchFormState.createTime) {
				this.searchFormState.startTime = this.searchFormState.createTime[0]
				this.searchFormState.endTime = this.searchFormState.createTime[1]
			}
			backUserApi.page(this.searchFormState).then((data) => {
				this.tableData = data.records
				this.totalCount = data.total
			})
		},

		// 重置
		reset(formName) {
            // this.$refs[formName].resetFields() 主要用于重置表单字段的值,以将它们还原为其初始状态,但对于 <el-date-picker> 的时间范围选择器,它是一个特殊的组件,使用 this.$refs[formName].resetFields() 可能不会恢复日期时间范围的值,需要手动将其值重置为空数组
			this.$refs[formName].resetFields()
			this.searchFormState.createTime = [];
			this.loadData()
		},
	}
}

Java:

// 实体类
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.util.Date;

@Setter
@Getter
public class BackUserPageParam {

    @ApiModelProperty("开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", timezone = "UTC")
    private Date startTime;

    @ApiModelProperty("结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", timezone = "UTC")
    private Date endTime;
}

// 查询
wrapper.between("CREATE_TIME", startTime(), endTime());

二、Antd

HTML:

<template>
	<a-card :bordered="false">
		<a-form ref="searchFormRef" name="advanced_search" :model="searchFormState">
			<a-row :gutter="24">
				<a-col :span="6">
					<a-form-item label="创建时间" name="selectTime">
						<a-range-picker 
                            v-model:value="searchFormState.selectTime" 
                            value-format="YYYY-MM-DD HH:mm:ss" 
                            show-time />
					</a-form-item>
				</a-col>
				<a-col :span="6">
					<a-button type="primary" @click="table.refresh(true)">查询</a-button>
				</a-col>
			</a-row>
		</a-form>
        <s-table
			ref="table"
			:columns="columns"
			:data="loadData"
			bordered
			:row-key="(record) => record.id"
			:tool-config="toolConfig"
		>
		</s-table>
	</a-card>
</template>

JS:

<script setup name="favorite">
	import xxxApi from '@/api/xx/xxxApi'

	let searchFormState = reactive({})
	const searchFormRef = ref()
	const formRef = ref()
	
	const loadData = (parameter) => {
		const searchFormParam = JSON.parse(JSON.stringify(searchFormState))
		// selectTime范围查询条件重载
		if (searchFormParam.selectTime) {
			searchFormParam.startDate = searchFormParam.selectTime[0]
			searchFormParam.endDate = searchFormParam.selectTime[1]
			delete searchFormParam.selectTime
		}
		return xxxApi.page(Object.assign(parameter, searchFormParam)).then((data) => {
			return data
		})
	}
</script>

Java:

// 实体类
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;

@Getter
@Setter
public class PageParam {

    /** 范围起始时间 */
    @ApiModelProperty(value = "范围起始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startDate;

    /** 范围终止时间 */
    @ApiModelProperty(value = "范围终止时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endDate;

}

// 查找条件
wrapper.between("CREATE_TIME", startDate(), endDate());

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值