From d02ce01f6a90da650e6d4b51d3f9bff60770df65 Mon Sep 17 00:00:00 2001 From: luo Date: Tue, 29 Sep 2026 16:40:31 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=AF=86=E7=A0=81=E9=95=BF=E5=BA=A6?= =?UTF-8?q?=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../specs/bulk-purchase-task/spec.md | 2 +- .../changes/add-bulk-purchase-upload-task/tasks.md | 2 +- src/components/business/CreateRefundDialog.vue | 2 +- .../layouts/art-header-bar/ChangePasswordDialog.vue | 10 ++++++++-- src/locales/langs/en.json | 1 + src/locales/langs/zh.json | 1 + .../components/dialogs/PackageRechargeDialog.vue | 4 ++-- src/views/order-management/order-list/index.vue | 8 ++++---- 8 files changed, 19 insertions(+), 11 deletions(-) diff --git a/openspec/changes/add-bulk-purchase-upload-task/specs/bulk-purchase-task/spec.md b/openspec/changes/add-bulk-purchase-upload-task/specs/bulk-purchase-task/spec.md index 64f2f23..94c1d6d 100644 --- a/openspec/changes/add-bulk-purchase-upload-task/specs/bulk-purchase-task/spec.md +++ b/openspec/changes/add-bulk-purchase-upload-task/specs/bulk-purchase-task/spec.md @@ -20,7 +20,7 @@ The admin frontend SHALL provide a bulk purchase form that binds one uploaded ba #### Scenario: Hide voucher upload for wallet payment -- **GIVEN** 用户选择代理钱包支付 +- **GIVEN** 用户选择代理预存款支付 - **WHEN** 页面渲染或提交批量订购表单 - **THEN** 页面 MUST NOT submit a voucher file - **AND** 页面 MUST clear or ignore a voucher selected before switching to wallet payment diff --git a/openspec/changes/add-bulk-purchase-upload-task/tasks.md b/openspec/changes/add-bulk-purchase-upload-task/tasks.md index fb0b46c..ec21f2c 100644 --- a/openspec/changes/add-bulk-purchase-upload-task/tasks.md +++ b/openspec/changes/add-bulk-purchase-upload-task/tasks.md @@ -10,7 +10,7 @@ - [x] 2.1 新增批量订购入口和表单,支持选择代理商、支付方式和 Excel 文件。 - [x] 2.2 提供前端静态 Excel 模板下载,并限制上传文件类型和必要的文件状态。 -- [x] 2.3 线下支付时显示整批支付凭证上传,钱包支付时隐藏或清理凭证字段。 +- [x] 2.3 线下支付时显示整批支付凭证上传,预存款支付时隐藏或清理凭证字段。 - [x] 2.4 复用订单列表已有 `VoucherUpload` 组件展示凭证上传进度,上传未完成时禁止创建任务。 - [x] 2.5 创建请求携带 `shop_id`、`payment_method`、`file`、必要的 `voucher_file` 和 `request_id`。 - [x] 2.6 防止重复点击和重复提交,创建成功后保存 `task_id` 并进入任务详情。 diff --git a/src/components/business/CreateRefundDialog.vue b/src/components/business/CreateRefundDialog.vue index ac5ec98..c704047 100644 --- a/src/components/business/CreateRefundDialog.vue +++ b/src/components/business/CreateRefundDialog.vue @@ -242,7 +242,7 @@ ) const paymentMethodLabel = computed(() => { const labels = { - wallet: '钱包支付', + wallet: '预存款支付', wechat: '微信支付', alipay: '支付宝支付', offline: '线下支付' diff --git a/src/components/core/layouts/art-header-bar/ChangePasswordDialog.vue b/src/components/core/layouts/art-header-bar/ChangePasswordDialog.vue index d08ac05..b3d3ebf 100644 --- a/src/components/core/layouts/art-header-bar/ChangePasswordDialog.vue +++ b/src/components/core/layouts/art-header-bar/ChangePasswordDialog.vue @@ -20,6 +20,7 @@ v-model="formData.old_password" type="password" autocomplete="current-password" + maxlength="32" show-password :disabled="submitting" /> @@ -29,6 +30,7 @@ v-model="formData.new_password" type="password" autocomplete="new-password" + maxlength="32" show-password :disabled="submitting" /> @@ -38,6 +40,7 @@ v-model="formData.confirm_password" type="password" autocomplete="new-password" + maxlength="32" show-password :disabled="submitting" @keyup.enter="handleSubmit" @@ -87,13 +90,16 @@ const formRules = computed(() => ({ old_password: [ - { required: true, message: t('passwordChange.oldPasswordRequired'), trigger: 'blur' } + { required: true, message: t('passwordChange.oldPasswordRequired'), trigger: 'blur' }, + { min: 8, max: 32, message: t('passwordChange.passwordLength'), trigger: 'blur' } ], new_password: [ - { required: true, message: t('passwordChange.newPasswordRequired'), trigger: 'blur' } + { required: true, message: t('passwordChange.newPasswordRequired'), trigger: 'blur' }, + { min: 8, max: 32, message: t('passwordChange.passwordLength'), trigger: 'blur' } ], confirm_password: [ { required: true, message: t('passwordChange.confirmPasswordRequired'), trigger: 'blur' }, + { min: 8, max: 32, message: t('passwordChange.passwordLength'), trigger: 'blur' }, { validator: (_rule, value: string, callback) => { if (value && value !== formData.new_password) { diff --git a/src/locales/langs/en.json b/src/locales/langs/en.json index 8d58f5f..bd72ca1 100644 --- a/src/locales/langs/en.json +++ b/src/locales/langs/en.json @@ -26,6 +26,7 @@ "oldPasswordRequired": "Please enter your current password", "newPasswordRequired": "Please enter a new password", "confirmPasswordRequired": "Please enter the new password again", + "passwordLength": "Password must be 8-32 characters", "passwordMismatch": "The new passwords do not match", "submit": "Change password", "success": "Password changed successfully", diff --git a/src/locales/langs/zh.json b/src/locales/langs/zh.json index 4ceb873..a0d5083 100644 --- a/src/locales/langs/zh.json +++ b/src/locales/langs/zh.json @@ -27,6 +27,7 @@ "oldPasswordRequired": "请输入当前密码", "newPasswordRequired": "请输入新密码", "confirmPasswordRequired": "请再次输入新密码", + "passwordLength": "密码长度需为8-32位", "passwordMismatch": "两次输入的新密码不一致", "submit": "确认修改", "success": "密码修改成功", diff --git a/src/views/asset-management/asset-information/components/dialogs/PackageRechargeDialog.vue b/src/views/asset-management/asset-information/components/dialogs/PackageRechargeDialog.vue index 89bf7f6..42c50b0 100644 --- a/src/views/asset-management/asset-information/components/dialogs/PackageRechargeDialog.vue +++ b/src/views/asset-management/asset-information/components/dialogs/PackageRechargeDialog.vue @@ -71,12 +71,12 @@ style="width: 100%" :disabled="selectedPackageIsGift" > - +