diff --git a/admin/src/components/CleaningFieldHandoffPanel.vue b/admin/src/components/CleaningFieldHandoffPanel.vue
index a3e897a..9995908 100644
--- a/admin/src/components/CleaningFieldHandoffPanel.vue
+++ b/admin/src/components/CleaningFieldHandoffPanel.vue
@@ -73,7 +73,7 @@
快照
导入
- 导出
+ 导出筛选
风险
复制报告
报告
@@ -1012,7 +1012,10 @@ function statusText(status: FieldStatus) {
}
function exportChecklist() {
+ const exportItems = filteredChecklist.value;
downloadCsv(`cleaning-field-handoff-${Date.now()}.csv`, [
+ ['filter', '当前筛选条件', buildFilterSummary(), '', '', '', '', '', ''],
+ ['filter', '导出检查项数', `${exportItems.length}/${checklist.length}`, '', '', '', '', '', ''],
['类别', '字段', '值', '', '', '', '', '', ''],
['session', '联调批次', sessionMeta.batchNo, '', '', '', '', '', ''],
['session', '现场/门店', sessionMeta.site, '', '', '', '', '', ''],
@@ -1027,7 +1030,7 @@ function exportChecklist() {
['session', '待补证据数', String(evidenceMissingCount.value), '', '', '', '', '', ''],
['session', '逾期检查项', String(overdueItems.value.length), '', '', '', '', '', ''],
['ID', '类别', '检查项', '期望', '状态', '负责人', '期限', '结果记录', '应留证据', '证据记录'],
- ...checklist.map((item) => [
+ ...exportItems.map((item) => [
item.id,
item.category,
item.title,
@@ -1042,6 +1045,15 @@ function exportChecklist() {
]);
}
+function buildFilterSummary() {
+ return [
+ `分类=${category.value}`,
+ `状态=${statusFilter.value}`,
+ `负责人=${ownerFilter.value}`,
+ `关键字=${keywordFilter.value.trim() || '全部'}`
+ ].join(';');
+}
+
function exportRiskRegister() {
downloadCsv(`cleaning-field-risk-register-${Date.now()}.csv`, [
['类别', '字段', '值', '', '', '', '', '', ''],
diff --git a/scripts/check-admin-m08-b.mjs b/scripts/check-admin-m08-b.mjs
index b0618dc..b70d55d 100644
--- a/scripts/check-admin-m08-b.mjs
+++ b/scripts/check-admin-m08-b.mjs
@@ -363,6 +363,11 @@ for (const pattern of [
'copyBlockedSummary',
'navigator.clipboard.writeText',
'exportChecklist',
+ '导出筛选',
+ 'exportItems',
+ 'buildFilterSummary',
+ '当前筛选条件',
+ '导出检查项数',
'exportRiskRegister',
'cleaning-field-handoff',
'cleaning-field-risk-register',