< el-form-item label = " 结算时间:" prop = " datetimerangevalue" > < el-date-pickerv-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 ( ) } )