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)