package
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 7m34s

This commit is contained in:
sexygoat
2026-04-01 10:41:43 +08:00
parent 01f81c2178
commit 0d3fc5ce7f
4 changed files with 556 additions and 15774 deletions

15506
package-lock.json generated

File diff suppressed because it is too large Load Diff

764
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -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

View File

@@ -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