diff --git a/src/views/bg/bgpartymatter/BgPartymatterList.vue b/src/views/bg/bgpartymatter/BgPartymatterList.vue
index 14ac732..2f59142 100644
--- a/src/views/bg/bgpartymatter/BgPartymatterList.vue
+++ b/src/views/bg/bgpartymatter/BgPartymatterList.vue
@@ -97,7 +97,7 @@
未开始 {{ getFeedbackStatusCount(record).notStarted }}
- 进行中 {{ getFeedbackStatusCount(record).inProgress }}
+ 进行中 {{ getFeedbackStatusCount(record).inProgress }}(已逾期 {{ getFeedbackStatusCount(record).overdue }})
已完成 {{ getFeedbackStatusCount(record).completed }}
(共 {{ getFeedbackStatusCount(record).total }} 条)
@@ -327,7 +327,7 @@
}
function getFeedbackStatusCount(record: Recordable) {
- return countFeedbackStatus(getFeedbackTableData(record), 'bpmStatus');
+ return countFeedbackStatus(getFeedbackTableData(record), 'bpmStatus', 'planTime');
}
function clearFeedbackTableData() {
diff --git a/src/views/bg/bqtakepulse/BgTakepulseList.vue b/src/views/bg/bqtakepulse/BgTakepulseList.vue
index c706d02..34a2917 100644
--- a/src/views/bg/bqtakepulse/BgTakepulseList.vue
+++ b/src/views/bg/bqtakepulse/BgTakepulseList.vue
@@ -97,7 +97,7 @@
未开始 {{ getFeedbackStatusCount(record).notStarted }}
- 进行中 {{ getFeedbackStatusCount(record).inProgress }}
+ 进行中 {{ getFeedbackStatusCount(record).inProgress }}(已逾期 {{ getFeedbackStatusCount(record).overdue }})
已完成 {{ getFeedbackStatusCount(record).completed }}
(共 {{ getFeedbackStatusCount(record).total }} 条)
@@ -275,7 +275,7 @@
}
function getFeedbackStatusCount(record: Recordable) {
- return countFeedbackStatus(getFeedbackTableData(record), 'bpmStatus');
+ return countFeedbackStatus(getFeedbackTableData(record), 'bpmStatus', 'planTime');
}
function clearFeedbackTableData() {
diff --git a/src/views/bg/utils/feedbackStatusCount.ts b/src/views/bg/utils/feedbackStatusCount.ts
index 6597e51..8c652e8 100644
--- a/src/views/bg/utils/feedbackStatusCount.ts
+++ b/src/views/bg/utils/feedbackStatusCount.ts
@@ -3,20 +3,31 @@ export interface FeedbackStatusCount {
inProgress: number;
completed: number;
total: number;
+ overdue: number;
}
export function countFeedbackStatus(
list: Recordable[] | undefined | null,
statusField: string,
+ dateField?: string,
): FeedbackStatusCount {
- const result: FeedbackStatusCount = { notStarted: 0, inProgress: 0, completed: 0, total: 0 };
+ const result: FeedbackStatusCount = { notStarted: 0, inProgress: 0, completed: 0, total: 0, overdue: 0 };
if (!Array.isArray(list)) return result;
result.total = list.length;
+ const today = new Date();
+ today.setHours(0, 0, 0, 0);
for (const item of list) {
const v = String(item?.[statusField] ?? '');
if (v === '1') result.notStarted++;
- else if (v === '2') result.inProgress++;
- else if (v === '3') result.completed++;
+ else if (v === '2') {
+ result.inProgress++;
+ if (dateField) {
+ const planTime = item?.[dateField];
+ if (planTime && new Date(planTime) < today) {
+ result.overdue++;
+ }
+ }
+ } else if (v === '3') result.completed++;
}
return result;
}