Ver código fonte

运营会议cumulative 为 false 的不计入累计

Zimo 5 dias atrás
pai
commit
e048d8e320

+ 8 - 1
src/views/pms/operation-meeting/summary-form.vue

@@ -241,6 +241,7 @@ const normalizeSummaryMeeting = (
       companyName: String(data.companyName || ''),
       meetingDate: data.meetingDate as number | string | Date | undefined,
       support: String(data.support || ''),
+      cumulative: data.cumulative as boolean | undefined,
       meetingSeries: parseMeetingSeries(data.meetingSeries)
     },
     details: details.map((item) => normalizeDetailItem(item as Record<string, unknown>))
@@ -296,6 +297,7 @@ const summaryDetailRows = computed<SummaryDetailItem[]>(() =>
       summaryDetailKey: `${item.key}-${detailIndex}`,
       meetingKey: item.key,
       companyName,
+      cumulative: item.meeting.cumulative,
       companyFilterValue,
       deptId: item.meeting.deptId
     }))
@@ -333,7 +335,12 @@ const formatSummaryNumber = (value: number) =>
   })
 
 const getDetailSummaryTotal = (field: DetailSummaryField) =>
-  filteredDetailRows.value.reduce((sum, item) => sum + Number(item[field] || 0), 0)
+  filteredDetailRows.value.reduce((sum, item) => {
+    if (item.companyFilterValue === filterForm.companyFilterValue || (item as any).cumulative) {
+      return sum + Number(item[field] || 0)
+    }
+    return sum
+  }, 0)
 
 const detailSummaryCards = computed(() =>
   detailSummaryFields.map((field) => ({

+ 1 - 0
src/views/pms/operation-meeting/types.ts

@@ -10,6 +10,7 @@ export interface OperationMeeting {
   meetingDate: number
   meetingSeries: string
   support: string
+  cumulative: boolean
 }
 
 export interface DetailItem {