diff --git a/src/views/Home/Index.vue b/src/views/Home/Index.vue index da078ea5..e2a9be1c 100644 --- a/src/views/Home/Index.vue +++ b/src/views/Home/Index.vue @@ -19,7 +19,7 @@ alt="banner" :src="bannerImg" fit="contain" class="home-welcome-image"
+ start-placeholder="开始日期" end-placeholder="结束日期" size="small" @change="handleProductionOverviewRangeChange" />
@@ -534,6 +534,38 @@ const moldTypeBarOptionsData = ref({ } ) const pieOptionsData = reactive(pieOptions) as EChartsOption + +let productionOverviewRequestId = 0 +const buildProductionOverviewParams = () => { + const startTime = productionOverviewRange.value + if (Array.isArray(startTime) && startTime.length === 2 && startTime[0] && startTime[1]) { + const normalizeStart = (value: string) => { + const v = String(value || '').trim() + if (!v) return '' + if (v.includes(' ') || v.includes('T')) return v + return `${v} 00:00:00` + } + const normalizeEnd = (value: string) => { + const v = String(value || '').trim() + if (!v) return '' + if (v.includes(' ') || v.includes('T')) return v + return `${v} 23:59:59` + } + return { startTime: [normalizeStart(startTime[0]), normalizeEnd(startTime[1])] } + } + return {} +} +const loadProductionOverview = async () => { + const currentId = ++productionOverviewRequestId + const data = await DashboardApi.getProduction(buildProductionOverviewParams()) + if (currentId !== productionOverviewRequestId) return + production.value = data + productionOverviewLeft.value = production.value.taskItems + productionOverviewCenter.value = production.value.planItems +} +const handleProductionOverviewRangeChange = async () => { + await loadProductionOverview() +} /** 初始化 **/ onMounted(async () => { // 加载 @@ -544,7 +576,7 @@ onMounted(async () => { // todayWeather.value = weatherList.value[0] // weatherCity = data.city // } - production.value = await DashboardApi.getProduction(productionOverviewRange.value) + await loadProductionOverview() plan.value = await DashboardApi.getPlan() deviceStatusCards.value = await DashboardApi.getDevice() moldStatusCards.value = await DashboardApi.getMold() @@ -559,8 +591,6 @@ onMounted(async () => { console.log(moldTypeOptions) moldTypeBarOptionsData.value.xAxis!.data = moldTypeOptions.xaxis moldTypeBarOptionsData.value.series![0].data = moldTypeOptions.series - productionOverviewLeft.value = production.value.taskItems - productionOverviewCenter.value = production.value.planItems })