From 36697b8b579a7d5d167c1cf11740546d386af68f Mon Sep 17 00:00:00 2001 From: Dev Date: Wed, 30 Sep 2026 15:59:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E9=99=84=E4=BB=B6=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../miniapp/pages/demand/deliver/index.js | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/frontend/miniapp/pages/demand/deliver/index.js b/frontend/miniapp/pages/demand/deliver/index.js index 0b5a013..91089da 100644 --- a/frontend/miniapp/pages/demand/deliver/index.js +++ b/frontend/miniapp/pages/demand/deliver/index.js @@ -44,24 +44,21 @@ Page({ }, // 凭证截图选择成功 + // 注意:t-upload 绑定了 files,success 事件返回的是完整文件列表(含已选的旧文件), + // 必须整体覆盖,不能往 imageFiles 里追加,否则已选图片会重复 handleSuccessImage(e) { const files = e.detail?.files || []; - const { imageFiles, imageMax } = this.data; - const remain = imageMax - imageFiles.length; - const accepted = files.slice(0, remain); - if (files.length > remain) { + const { imageMax } = this.data; + if (files.length > imageMax) { wx.showToast({ title: `最多上传${imageMax}张截图`, icon: 'none' }); } - if (!accepted.length) { - return; - } - this.setData({ - imageFiles: [...imageFiles, ...accepted] - }); - this.uploadFiles(accepted, 'image'); + const list = files.slice(0, imageMax); + this.setData({ imageFiles: list }); + // 只上传未完成的(已上传过的 status 为 done) + this.uploadFiles(list.filter(file => file.status !== 'done'), 'image'); }, // 移除凭证截图