From e4d87cf4ebfdcea9eb5aee7a1d345e9aafae796e Mon Sep 17 00:00:00 2001 From: weizong song Date: Tue, 26 Aug 2025 15:58:51 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=84=E7=AE=97=E7=AE=A1=E5=8F=91=E5=B8=83?= =?UTF-8?q?=E7=89=880826?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/MultiPackageSubmitForm.vue | 4 ++-- src/views/budget/collection/package.vue | 16 +++++++++++++--- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/views/budget/collection/components/MultiPackageSubmitForm.vue b/src/views/budget/collection/components/MultiPackageSubmitForm.vue index 8133df7..27a9c22 100644 --- a/src/views/budget/collection/components/MultiPackageSubmitForm.vue +++ b/src/views/budget/collection/components/MultiPackageSubmitForm.vue @@ -220,7 +220,7 @@ :rows="4" placeholder="请输入项目内容..." :readonly="isViewMode" - maxlength="1000" + maxlength="2000" show-word-limit /> @@ -413,7 +413,7 @@ :rows="4" placeholder="请详细说明整体项目实施进度安排..." :readonly="isViewMode" - maxlength="1000" + maxlength="2000" show-word-limit /> diff --git a/src/views/budget/collection/package.vue b/src/views/budget/collection/package.vue index 18c2eea..b460fa4 100644 --- a/src/views/budget/collection/package.vue +++ b/src/views/budget/collection/package.vue @@ -2554,10 +2554,20 @@ export default { fileName = '预算分配汇总表_按经济分类统计' } - // 构建CSV内容 - let csvContent = headers.join(',') + '\n' + // 构建CSV内容 - 正确处理包含逗号的数据 + const escapeCsvValue = (value) => { + if (value == null) return '' + const stringValue = String(value) + // 如果包含逗号、双引号或换行符,需要用双引号包围并转义内部的双引号 + if (stringValue.includes(',') || stringValue.includes('"') || stringValue.includes('\n')) { + return `"${stringValue.replace(/"/g, '""')}"` + } + return stringValue + } + + let csvContent = headers.map(escapeCsvValue).join(',') + '\n' data.forEach(row => { - csvContent += row.join(',') + '\n' + csvContent += row.map(escapeCsvValue).join(',') + '\n' }) // 下载文件