瀏覽代碼

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

Zimo 5 天之前
父節點
當前提交
e048d8e320
共有 2 個文件被更改,包括 9 次插入1 次删除
  1. 8 1
      src/views/pms/operation-meeting/summary-form.vue
  2. 1 0
      src/views/pms/operation-meeting/types.ts

+ 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 {