/**
* 格式化日期 2023-9-18
*/
const formatDate = (date) => {
let nowTime = new Date(date)
const year = nowTime.getFullYear();
const month = String(nowTime.getMonth() + 1).padStart(2, '0');
const day = String(nowTime.getDate()).padStart(2, '0');
return `${year}-${month}-${day}`;
};
如果要给输入框、时间选择器等组件绑定的变量赋初值,那就不能写对象形式,因为reative监测不到对象内部单个属性值的变化,意思就是对象内的单个属性值没有响应式(绑定的变量值不会改变),
//错误示例
let searchForm = reactive({
beginTime: new Date(currentTime.getTime() - 7 * 24 * 60 * 60 * 1000),
endTime: new Date(currentTime.getTime() - 1 * 24 * 60 * 60 * 1000)
})
ref 单个变量才能保证变量的响应式(也可以赋初值,赋初值也还保有响应式)
//停电统计窗体的搜索
const searchTDTJ = () => {
//=================================字符串形式的时间也可以比较大小,谁早谁晚=======================================
if (formatDate(endTime.value) < formatDate(beginTime.value)) {
ElNotification({
title: '失败',
message: '结束日期不能早于开始日期',
type: 'error',
})
return
}
autoanalysis()
};
const onResetTDTJ = () => {
beginTime.value = new Date(currentTime.getTime() - 7 * 24 * 60 * 60 * 1000)
endTime.value = new Date(currentTime.getTime() - 1 * 24 * 60 * 60 * 1000)
autoanalysis()
};
const currentTime = new Date();
//停电统计的表格数据渲染
let beginTime = ref(new Date(currentTime.getTime() - 7 * 24 * 60 * 60 * 1000)) ;
let endTime = ref(new Date(currentTime.getTime() - 1 * 24 * 60 * 60 * 1000)) ;
let autoanalysisInfo = ref([])
//停电自动分析(第一层)的表格数据
const autoanalysis = () => {
const param = {
beginTime: formatDate(beginTime.value),
endTime: formatDate(endTime.value),
page: 1,
limit: 10
}
getMalfunctionToExtractConsume(param).then(res => {
if (res.data.code == 200) {
let lists = res.data.data.list;
autoanalysisInfo.value = lists
}
})
}