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 {
|
export interface CreateRefundRequest {
|
||||||
order_id: number
|
order_id: number
|
||||||
package_usage_id?: number
|
|
||||||
requested_refund_amount: number // 申请退款金额(分)
|
requested_refund_amount: number // 申请退款金额(分)
|
||||||
actual_received_amount: number // 实收金额(分)
|
actual_received_amount: number // 实收金额(分)
|
||||||
refund_reason?: string
|
refund_reason?: string
|
||||||
|
|||||||
@@ -64,20 +64,23 @@
|
|||||||
>
|
>
|
||||||
<ElForm ref="createFormRef" :model="createForm" :rules="createRules" label-width="120px">
|
<ElForm ref="createFormRef" :model="createForm" :rules="createRules" label-width="120px">
|
||||||
<ElFormItem label="关联订单ID" prop="order_id">
|
<ElFormItem label="关联订单ID" prop="order_id">
|
||||||
<ElInputNumber
|
<ElSelect
|
||||||
v-model="createForm.order_id"
|
v-model="createForm.order_id"
|
||||||
:min="1"
|
filterable
|
||||||
|
remote
|
||||||
|
clearable
|
||||||
|
:remote-method="searchOrders"
|
||||||
|
:loading="orderSearchLoading"
|
||||||
|
placeholder="请输入订单号搜索"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
placeholder="请输入订单ID"
|
>
|
||||||
/>
|
<ElOption
|
||||||
</ElFormItem>
|
v-for="order in orderSearchOptions"
|
||||||
<ElFormItem label="套餐使用记录ID">
|
:key="order.id"
|
||||||
<ElInputNumber
|
:label="`订单号: ${order.order_no} (ID: ${order.id})`"
|
||||||
v-model="createForm.package_usage_id"
|
:value="order.id"
|
||||||
:min="1"
|
|
||||||
style="width: 100%"
|
|
||||||
placeholder="选填"
|
|
||||||
/>
|
/>
|
||||||
|
</ElSelect>
|
||||||
</ElFormItem>
|
</ElFormItem>
|
||||||
<ElFormItem label="申请退款金额" prop="requested_refund_amount">
|
<ElFormItem label="申请退款金额" prop="requested_refund_amount">
|
||||||
<ElInputNumber
|
<ElInputNumber
|
||||||
@@ -345,6 +348,7 @@
|
|||||||
const rejectLoading = ref(false)
|
const rejectLoading = ref(false)
|
||||||
const returnLoading = ref(false)
|
const returnLoading = ref(false)
|
||||||
const resubmitLoading = ref(false)
|
const resubmitLoading = ref(false)
|
||||||
|
const orderSearchLoading = ref(false)
|
||||||
const tableRef = ref()
|
const tableRef = ref()
|
||||||
const createDialogVisible = ref(false)
|
const createDialogVisible = ref(false)
|
||||||
const approveDialogVisible = ref(false)
|
const approveDialogVisible = ref(false)
|
||||||
@@ -371,6 +375,8 @@
|
|||||||
const shopOptions = ref<any[]>([])
|
const shopOptions = ref<any[]>([])
|
||||||
// 订单选项
|
// 订单选项
|
||||||
const orderOptions = ref<any[]>([])
|
const orderOptions = ref<any[]>([])
|
||||||
|
// 订单搜索选项(用于创建弹窗)
|
||||||
|
const orderSearchOptions = ref<any[]>([])
|
||||||
|
|
||||||
// 搜索表单配置
|
// 搜索表单配置
|
||||||
const searchFormItems: SearchFormItem[] = [
|
const searchFormItems: SearchFormItem[] = [
|
||||||
@@ -472,13 +478,11 @@
|
|||||||
|
|
||||||
const createForm = reactive<{
|
const createForm = reactive<{
|
||||||
order_id: number | null
|
order_id: number | null
|
||||||
package_usage_id: number | null
|
|
||||||
requested_refund_amount: number
|
requested_refund_amount: number
|
||||||
actual_received_amount: number
|
actual_received_amount: number
|
||||||
refund_reason: string
|
refund_reason: string
|
||||||
}>({
|
}>({
|
||||||
order_id: null,
|
order_id: null,
|
||||||
package_usage_id: null,
|
|
||||||
requested_refund_amount: 0,
|
requested_refund_amount: 0,
|
||||||
actual_received_amount: 0,
|
actual_received_amount: 0,
|
||||||
refund_reason: ''
|
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 () => {
|
const getTableData = async () => {
|
||||||
loading.value = true
|
loading.value = true
|
||||||
@@ -746,10 +774,10 @@
|
|||||||
const handleCreateDialogClosed = () => {
|
const handleCreateDialogClosed = () => {
|
||||||
createFormRef.value?.resetFields()
|
createFormRef.value?.resetFields()
|
||||||
createForm.order_id = null
|
createForm.order_id = null
|
||||||
createForm.package_usage_id = null
|
|
||||||
createForm.requested_refund_amount = 0
|
createForm.requested_refund_amount = 0
|
||||||
createForm.actual_received_amount = 0
|
createForm.actual_received_amount = 0
|
||||||
createForm.refund_reason = ''
|
createForm.refund_reason = ''
|
||||||
|
orderSearchOptions.value = []
|
||||||
}
|
}
|
||||||
|
|
||||||
// 创建退款申请
|
// 创建退款申请
|
||||||
@@ -762,7 +790,6 @@
|
|||||||
try {
|
try {
|
||||||
const data: CreateRefundRequest = {
|
const data: CreateRefundRequest = {
|
||||||
order_id: createForm.order_id!,
|
order_id: createForm.order_id!,
|
||||||
package_usage_id: createForm.package_usage_id || undefined,
|
|
||||||
requested_refund_amount: createForm.requested_refund_amount * 100, // 元转分
|
requested_refund_amount: createForm.requested_refund_amount * 100, // 元转分
|
||||||
actual_received_amount: createForm.actual_received_amount * 100, // 元转分
|
actual_received_amount: createForm.actual_received_amount * 100, // 元转分
|
||||||
refund_reason: createForm.refund_reason || undefined
|
refund_reason: createForm.refund_reason || undefined
|
||||||
|
|||||||
Reference in New Issue
Block a user