
<el-form-item label="结算时间:" prop="datetimerangevalue">
<el-date-picker
v-model="datetimerangevalue"
value-format="YYYY-MM-DD HH:mm:ss"
type="datetimerange"
range-separator="至"
start-placeholder="开始时间"
end-placeholder="结束时间" />
</el-form-item>
const datetimerangevalue = ref<TypeAny>([])
const formatDate = (date: Date) => {
if (!date) return ''
const pad = (n: { toString: () => string }) => n.toString().padStart(2, '0')
const year = date.getFullYear()
const month = pad(date.getMonth() + 1)
const day = pad(date.getDate())
const hours = pad(date.getHours())
const minutes = pad(date.getMinutes())
const seconds = pad(date.getSeconds())
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
}
const calculateLastWeek = () => {
const now = new Date()
const endDate = new Date(now)
const startDate = new Date(now)
startDate.setDate(now.getDate() - 6)
datetimerangevalue.value = [ formatDate(startDate) , formatDate(endDate) ]
return [startDate, endDate]
}
watch(datetimerangevalue, newVal => {
if (newVal && newVal.length === 2) {
formModel.select_start_time = String(newVal[0])
formModel.select_end_time = String(newVal[1])
} else {
formModel.select_start_time = ''
formModel.select_end_time = ''
}
})
onMounted(() => {
const dateRange = calculateLastWeek()
formModel.select_start_time = formatDate(dateRange[0])
formModel.select_end_time = formatDate(dateRange[1])
getData()
})