This commit is contained in:
15506
package-lock.json
generated
15506
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
764
pnpm-lock.yaml
generated
764
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -55,7 +55,6 @@ export interface RefundListResponse {
|
||||
// 创建退款申请请求
|
||||
export interface CreateRefundRequest {
|
||||
order_id: number
|
||||
package_usage_id?: number
|
||||
requested_refund_amount: number // 申请退款金额(分)
|
||||
actual_received_amount: number // 实收金额(分)
|
||||
refund_reason?: string
|
||||
|
||||
@@ -64,20 +64,23 @@
|
||||
>
|
||||
<ElForm ref="createFormRef" :model="createForm" :rules="createRules" label-width="120px">
|
||||
<ElFormItem label="关联订单ID" prop="order_id">
|
||||
<ElInputNumber
|
||||
<ElSelect
|
||||
v-model="createForm.order_id"
|
||||
:min="1"
|
||||
filterable
|
||||
remote
|
||||
clearable
|
||||
:remote-method="searchOrders"
|
||||
:loading="orderSearchLoading"
|
||||
placeholder="请输入订单号搜索"
|
||||
style="width: 100%"
|
||||
placeholder="请输入订单ID"
|
||||
/>
|
||||
</ElFormItem>
|
||||
<ElFormItem label="套餐使用记录ID">
|
||||
<ElInputNumber
|
||||
v-model="createForm.package_usage_id"
|
||||
:min="1"
|
||||
style="width: 100%"
|
||||
placeholder="选填"
|
||||
/>
|
||||
>
|
||||
<ElOption
|
||||
v-for="order in orderSearchOptions"
|
||||
:key="order.id"
|
||||
:label="`订单号: ${order.order_no} (ID: ${order.id})`"
|
||||
:value="order.id"
|
||||
/>
|
||||
</ElSelect>
|
||||
</ElFormItem>
|
||||
<ElFormItem label="申请退款金额" prop="requested_refund_amount">
|
||||
<ElInputNumber
|
||||
@@ -345,6 +348,7 @@
|
||||
const rejectLoading = ref(false)
|
||||
const returnLoading = ref(false)
|
||||
const resubmitLoading = ref(false)
|
||||
const orderSearchLoading = ref(false)
|
||||
const tableRef = ref()
|
||||
const createDialogVisible = ref(false)
|
||||
const approveDialogVisible = ref(false)
|
||||
@@ -371,6 +375,8 @@
|
||||
const shopOptions = ref<any[]>([])
|
||||
// 订单选项
|
||||
const orderOptions = ref<any[]>([])
|
||||
// 订单搜索选项(用于创建弹窗)
|
||||
const orderSearchOptions = ref<any[]>([])
|
||||
|
||||
// 搜索表单配置
|
||||
const searchFormItems: SearchFormItem[] = [
|
||||
@@ -472,13 +478,11 @@
|
||||
|
||||
const createForm = reactive<{
|
||||
order_id: number | null
|
||||
package_usage_id: number | null
|
||||
requested_refund_amount: number
|
||||
actual_received_amount: number
|
||||
refund_reason: string
|
||||
}>({
|
||||
order_id: null,
|
||||
package_usage_id: null,
|
||||
requested_refund_amount: 0,
|
||||
actual_received_amount: 0,
|
||||
refund_reason: ''
|
||||
@@ -685,6 +689,30 @@
|
||||
}
|
||||
}
|
||||
|
||||
// 搜索订单(用于创建弹窗)
|
||||
const searchOrders = async (query: string) => {
|
||||
if (!query) {
|
||||
orderSearchOptions.value = []
|
||||
return
|
||||
}
|
||||
orderSearchLoading.value = true
|
||||
try {
|
||||
const params: any = {
|
||||
page: 1,
|
||||
page_size: 20,
|
||||
order_no: query
|
||||
}
|
||||
const res = await OrderService.getOrders(params)
|
||||
if (res.code === 0) {
|
||||
orderSearchOptions.value = res.data.items || []
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Search orders failed:', error)
|
||||
} finally {
|
||||
orderSearchLoading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
// 获取退款申请列表
|
||||
const getTableData = async () => {
|
||||
loading.value = true
|
||||
@@ -746,10 +774,10 @@
|
||||
const handleCreateDialogClosed = () => {
|
||||
createFormRef.value?.resetFields()
|
||||
createForm.order_id = null
|
||||
createForm.package_usage_id = null
|
||||
createForm.requested_refund_amount = 0
|
||||
createForm.actual_received_amount = 0
|
||||
createForm.refund_reason = ''
|
||||
orderSearchOptions.value = []
|
||||
}
|
||||
|
||||
// 创建退款申请
|
||||
@@ -762,7 +790,6 @@
|
||||
try {
|
||||
const data: CreateRefundRequest = {
|
||||
order_id: createForm.order_id!,
|
||||
package_usage_id: createForm.package_usage_id || undefined,
|
||||
requested_refund_amount: createForm.requested_refund_amount * 100, // 元转分
|
||||
actual_received_amount: createForm.actual_received_amount * 100, // 元转分
|
||||
refund_reason: createForm.refund_reason || undefined
|
||||
|
||||
Reference in New Issue
Block a user