From 34455a9f18e0613d716ecf54fd3c518606644425 Mon Sep 17 00:00:00 2001 From: luo Date: Wed, 5 Aug 2026 16:36:08 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=80=80=E6=AC=BE=E7=94=B3=E8=AF=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/CreateRefundDialog.vue | 32 ++++--------------- src/types/api/refund.ts | 7 ++-- .../components/PackageListCard.vue | 14 ++++++-- 3 files changed, 22 insertions(+), 31 deletions(-) diff --git a/src/components/business/CreateRefundDialog.vue b/src/components/business/CreateRefundDialog.vue index e43bb62..23d2c6c 100644 --- a/src/components/business/CreateRefundDialog.vue +++ b/src/components/business/CreateRefundDialog.vue @@ -46,16 +46,6 @@ placeholder="请输入退款原因" /> - - - @@ -88,7 +77,7 @@ import { ElMessage } from 'element-plus' import type { FormInstance, FormRules } from 'element-plus' import { RefundService, OrderService } from '@/api/modules' - import type { CreateRefundRequest, Order, RefundAttachment } from '@/types/api' + import type { CreateRefundRequest, Order } from '@/types/api' import { formatMoney, yuanToFen } from '@/utils/business/format' import { getErrorMessage } from '@/utils/business' import VoucherUpload from '@/components/business/VoucherUpload.vue' @@ -124,18 +113,14 @@ requested_refund_amount?: number actual_received_amount: number refund_reason: string - remark: string refund_voucher_key: string[] - attachments: RefundAttachment[] }>({ order_id: null, package_usage_id: undefined, requested_refund_amount: undefined, actual_received_amount: 0, refund_reason: '', - remark: '', - refund_voucher_key: [], - attachments: [] + refund_voucher_key: [] }) const validateRefundAmount = (rule: any, value: number, callback: any) => { @@ -220,9 +205,7 @@ formData.requested_refund_amount = undefined formData.actual_received_amount = 0 formData.refund_reason = '' - formData.remark = '' formData.refund_voucher_key = [] - formData.attachments = [] orderSearchOptions.value = [] uploadRef.value?.clearFiles(false) } @@ -239,13 +222,12 @@ submitLoading.value = true try { const data: CreateRefundRequest = { - order_id: formData.order_id!, - requested_refund_amount: yuanToFen(formData.requested_refund_amount) ?? 0, actual_received_amount: formData.actual_received_amount, - attachments: formData.attachments, - package_usage_id: formData.package_usage_id, - refund_reason: formData.refund_reason || undefined, - remark: formData.remark || undefined + order_id: formData.order_id!, + package_usage_id: formData.package_usage_id ?? 0, + refund_reason: formData.refund_reason, + refund_voucher_key: formData.refund_voucher_key, + requested_refund_amount: yuanToFen(formData.requested_refund_amount) ?? 0 } await RefundService.createRefund(data) ElMessage.success('退款申请创建成功') diff --git a/src/types/api/refund.ts b/src/types/api/refund.ts index cf661f5..90e3e84 100644 --- a/src/types/api/refund.ts +++ b/src/types/api/refund.ts @@ -112,10 +112,9 @@ export interface CreateRefundRequest { order_id: number requested_refund_amount: number // 申请退款金额(分) actual_received_amount: number // 实收金额(分) - attachments: RefundAttachment[] - package_usage_id?: number // 关联套餐使用记录 ID - refund_reason?: string - remark?: string + package_usage_id: number // 关联套餐使用记录 ID,无关联记录时传 0 + refund_reason: string + refund_voucher_key: string[] } // 重新提交退款申请请求 diff --git a/src/views/asset-management/asset-information/components/PackageListCard.vue b/src/views/asset-management/asset-information/components/PackageListCard.vue index da53cda..f61adf6 100644 --- a/src/views/asset-management/asset-information/components/PackageListCard.vue +++ b/src/views/asset-management/asset-information/components/PackageListCard.vue @@ -395,8 +395,18 @@ const isAdminOrPlatform = computed( () => userInfo.value.user_type === 1 || userInfo.value.user_type === 2 ) - const canUpdateUsedData = computed(() => hasAuth('package:update_used_data')) - const canUpdateExpiresAt = computed(() => hasAuth('package:update_expires_at')) + const isProductionMode = import.meta.env.MODE === 'production' + const canUseAdjustmentInCurrentEnv = (permission: string) => { + if (isProductionMode) { + return userInfo.value.user_type === 2 && hasAuth(permission) + } + + return userInfo.value.user_type === 1 + } + const canUpdateUsedData = computed(() => canUseAdjustmentInCurrentEnv('package:update_used_data')) + const canUpdateExpiresAt = computed(() => + canUseAdjustmentInCurrentEnv('package:update_expires_at') + ) // 退款申请对话框 const createRefundDialogVisible = ref(false)