From a06b117de36d87e73ab439cea47196deed382ac5 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Tue, 15 Sep 2026 14:05:16 +0800 Subject: [PATCH 1/3] =?UTF-8?q?feat:=E4=BC=98=E5=8C=96=E9=80=80=E5=9B=9E?= =?UTF-8?q?=E5=88=B0=E5=AE=A1=E6=A0=B8=E5=89=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/hard/hard-after-sale.ts | 4 +- src/views/admin/system/user/index.vue | 15 +--- src/views/hard/hard-after-sale/index.vue | 39 ++-------- .../hard-after-sale/return-review-dialog.vue | 77 +++++++++++++++++++ 4 files changed, 90 insertions(+), 45 deletions(-) create mode 100644 src/views/hard/hard-after-sale/return-review-dialog.vue diff --git a/src/api/hard/hard-after-sale.ts b/src/api/hard/hard-after-sale.ts index cf54e5b4..0da78f39 100644 --- a/src/api/hard/hard-after-sale.ts +++ b/src/api/hard/hard-after-sale.ts @@ -170,9 +170,9 @@ export function disagree(obj?: Object) { } /** - * 将人工审核且已完成的钱包退款退回审核中,服务端会同步扣回退款金额并恢复库存占用。 + * 将人工审核且已完成的钱包退款退回审核中,服务端会同步扣回退款金额;默认重新占用库存占用。 * - * @param query 售后单 ID 查询参数 + * @param query 售后单 ID 及 deductStock(是否扣减库存,默认 true)查询参数 * @returns 后端统一业务响应 */ export function returnToReview(query?: Object) { diff --git a/src/views/admin/system/user/index.vue b/src/views/admin/system/user/index.vue index 08b7411c..014e0926 100644 --- a/src/views/admin/system/user/index.vue +++ b/src/views/admin/system/user/index.vue @@ -18,11 +18,7 @@ - + + + From a3f55e5aff49cad068ca19ac31890bf0be2ef712 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Tue, 15 Sep 2026 15:17:06 +0800 Subject: [PATCH 2/3] =?UTF-8?q?feat:=E5=AF=BC=E5=85=A5excel=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E9=94=99=E8=AF=AF=E6=9C=80=E5=A4=9A1000=E6=9D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Upload/Excel.vue | 12 +++++++++++- .../unbind-import-excel.vue | 17 ++++++++++++++++- .../wallet/wallet-recharge-invoice/index.vue | 14 +++++++++++++- 3 files changed, 40 insertions(+), 3 deletions(-) diff --git a/src/components/Upload/Excel.vue b/src/components/Upload/Excel.vue index 4086f862..7e0b19d3 100644 --- a/src/components/Upload/Excel.vue +++ b/src/components/Upload/Excel.vue @@ -71,6 +71,9 @@ const prop = defineProps({ }, }) +/** 错误明细弹窗最多渲染的行数,防止超大错误列表拖垮表格;与后端返回上限保持一致。 */ +const MAX_ERROR_ROWS = 1000 + /** Element Plus 上传组件实例,用于提交和清理文件。 */ const uploadRef = ref() /** 当前已选择的 Excel 文件列表,作为上传列表展示和提交前校验的统一数据源。 */ @@ -133,7 +136,14 @@ const handleFileSuccess = (response: any) => { if (response.code === 1) { useMessage().error(response.msg ? response.msg : "导入失败,以下数据不合法") state.errorVisible = true - state.errorData = Array.isArray(response.data) ? response.data : response.data?.errors || [] + const fullErrors: any[] = Array.isArray(response.data) ? response.data : response.data?.errors || [] + // 兜底截断:即使后端未限制,也只渲染前 MAX_ERROR_ROWS 行,避免大文件全错时卡死弹窗 + if (fullErrors.length > MAX_ERROR_ROWS) { + state.errorData = fullErrors.slice(0, MAX_ERROR_ROWS) + useMessage().warning(`错误共 ${fullErrors.length} 条,仅展示前 ${MAX_ERROR_ROWS} 条`) + } else { + state.errorData = fullErrors + } uploadRef.value.clearFiles() return } diff --git a/src/views/wallet/wallet-recharge-apply/unbind-import-excel.vue b/src/views/wallet/wallet-recharge-apply/unbind-import-excel.vue index c3ee2864..2835b643 100644 --- a/src/views/wallet/wallet-recharge-apply/unbind-import-excel.vue +++ b/src/views/wallet/wallet-recharge-apply/unbind-import-excel.vue @@ -1,7 +1,7 @@