Bladeren bron

🐛 fix<数据中心>: 普通展示周汇总问题

xinyan 10 maanden geleden
bovenliggende
commit
dda97bc2ef
1 gewijzigde bestanden met toevoegingen van 21 en 18 verwijderingen
  1. 21 18
      src/views/reportManage/dataCenter/normalDisplay/components/TableDataDisplay.vue

+ 21 - 18
src/views/reportManage/dataCenter/normalDisplay/components/TableDataDisplay.vue

@@ -144,26 +144,27 @@ async function fetchTotalData(taskIds, apiFunc,  startDate, endDate, dateTypeKey
   }
 }
 
-function fetchDayTotal(taskIds) {
-  fetchTotalData(taskIds, getDayTotalData, dayStartDate, dayEndDate,'day');
+async function fetchDayTotal(taskIds) {
+  await fetchTotalData(taskIds, getDayTotalData, dayStartDate, dayEndDate,'day');
 }
 
-function fetchWeekTotal(taskIds) {
-  fetchTotalData(taskIds, getWeekTotalData, weekStartDate, weekEndDate,'week');
+async function fetchWeekTotal(taskIds) {
+  await fetchTotalData(taskIds, getWeekTotalData, weekStartDate, weekEndDate,'week');
 }
 
-function fetchMonthTotal(taskIds) {
-  fetchTotalData(taskIds, getMonthTotalData, monthStartDate, monthEndDate,'month');
+async function fetchMonthTotal(taskIds) {
+  await fetchTotalData(taskIds, getMonthTotalData, monthStartDate, monthEndDate,'month');
 }
 
-function fetchCurrentTotalData(taskIds) {
+async function fetchCurrentTotalData(taskIds) {
   if (dateType.value === 'day') {
-    fetchDayTotal(taskIds);
+    await fetchDayTotal(taskIds);
   } else if (dateType.value === 'week') {
-    fetchWeekTotal(taskIds);
+    await fetchWeekTotal(taskIds);
   }else if (dateType.value === 'month') {
-    fetchMonthTotal(taskIds);
+    await fetchMonthTotal(taskIds);
   }
+  console.log("totalRow.value", totalRow.value); // 确保在此处打印totalRow
 }
 
 
@@ -180,7 +181,9 @@ async function fetchData(taskIds, apiFunc, startDate, endDate, dataColumns, date
       sort: sortOrder.value,
       order_date: order_date.value,
     });
+    console.log('Start fetching data');
     gridOptions[dateType.value].data = [totalRow.value, ...resp.data];
+    console.log("gridOptions[dateType.value].data", gridOptions[dateType.value].data);
     gridOptions.pagerConfig.total = resp.total;
     if (sortStatus.value) {
       if (resp.data.length > 0) {
@@ -269,16 +272,17 @@ async function fetchMonthData(taskIds) {
   await fetchData(taskIds, getMonthData, monthStartDate, monthEndDate, monthDataColumns, 'month');
 }
 
-function fetchCurrentData(taskIds, resetPage = false) {
+async function fetchCurrentData(taskIds, resetPage = false) {
   if (resetPage) {
     gridOptions.pagerConfig.currentPage = 1; // 重置页码为第一页
   }
+  await fetchCurrentTotalData(taskIds);
   if (dateType.value === 'day') {
-    fetchDayData(taskIds);
+    await fetchDayData(taskIds);
   } else if (dateType.value === 'week') {
-    fetchWeekData(taskIds);
+    await fetchWeekData(taskIds);
   } else if (dateType.value === 'month') {
-    fetchMonthData(taskIds);
+    await fetchMonthData(taskIds);
   }
 }
 
@@ -302,7 +306,7 @@ function handleSortChange({ field, order }) {
   gridOptions.sortConfig.defaultSort.order = order;
   gridOptions.sortConfig.defaultSort.field = field;
   sortStatus.value = false;
-  fetchCurrentData(props.taskIds, true);
+  fetchCurrentTotalData(props.taskIds);
 }
 
 const handleImport = () => {
@@ -341,7 +345,7 @@ const headerCellStyle = () => {
   };
 };
 
-watch([() => props.taskIds, currentDate], ([newTaskIds, newCurrentDate]) => {
+watch([() => props.taskIds, currentDate], async ([newTaskIds, newCurrentDate]) => {
   sortStatus.value = true;
 
   if (dateType.value === 'day') {
@@ -360,8 +364,7 @@ watch([() => props.taskIds, currentDate], ([newTaskIds, newCurrentDate]) => {
     taskIdsAvailable.value = true;
   }
   if (taskIdsAvailable.value && newTaskIds) {
-    fetchCurrentTotalData(newTaskIds);
-    fetchCurrentData(newTaskIds, true);
+    await fetchCurrentData(newTaskIds, true); // 使用 await 确保顺序
     taskIdsAvailable.value = false; // 调用后重置标记
   }
 });