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)