fix: bug
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 2m9s

This commit is contained in:
sexygoat
2026-04-23 14:59:05 +08:00
parent a9467e8a0c
commit a5e76313cb
28 changed files with 1284 additions and 702 deletions

View File

@@ -62,7 +62,6 @@
:loading="orderSearchLoading"
placeholder="请输入订单号搜索"
style="width: 100%"
@focus="handleOrderSelectFocus"
@change="handleOrderSelectChange"
>
<ElOption
@@ -84,11 +83,7 @@
/>
</ElFormItem>
<ElFormItem label="实收金额">
<ElInput
:model-value="selectedOrderActualPaid"
disabled
style="width: 100%"
/>
<ElInput :model-value="selectedOrderActualPaid" disabled style="width: 100%" />
</ElFormItem>
<ElFormItem label="退款原因">
<ElInput
@@ -315,7 +310,6 @@
defineOptions({ name: 'RefundList' })
const router = useRouter()
const userStore = useUserStore()
const { hasAuth } = useAuth()
const loading = ref(false)
@@ -364,7 +358,26 @@
})),
config: {
clearable: true,
filterable: true
filterable: true,
remote: true,
remoteMethod: (query: string) => searchShops(query)
}
},
{
label: '订单号',
prop: 'order_id',
type: 'select',
placeholder: '请选择订单号',
options: () =>
orderOptions.value.map((order) => ({
label: `${order.order_no}`,
value: order.id
})),
config: {
clearable: true,
filterable: true,
remote: true,
remoteMethod: (query: string) => searchOrdersForFilter(query)
}
},
{
@@ -381,21 +394,6 @@
config: {
clearable: true
}
},
{
label: '订单',
prop: 'order_id',
type: 'select',
placeholder: '请选择订单',
options: () =>
orderOptions.value.map((order) => ({
label: `订单号: ${order.order_no} (ID: ${order.id})`,
value: order.id
})),
config: {
clearable: true,
filterable: true
}
}
]
@@ -409,8 +407,10 @@
// 列配置
const columnOptions = [
{ label: '退款单号', prop: 'refund_no' },
{ label: '订单ID', prop: 'order_id' },
{ label: '店铺ID', prop: 'shop_id' },
{ label: '店铺名称', prop: 'shop_name' },
{ label: '订单号', prop: 'order_no' },
{ label: '资产标识符', prop: 'asset_identifier' },
{ label: '资产类型', prop: 'asset_type' },
{ label: '申请退款金额', prop: 'requested_refund_amount' },
{ label: '实际退款金额', prop: 'approved_refund_amount' },
{ label: '实收金额', prop: 'actual_received_amount' },
@@ -523,7 +523,7 @@
{
prop: 'refund_no',
label: '退款单号',
minWidth: 240,
minWidth: 210,
formatter: (row: Refund) => {
return h(
'span',
@@ -531,7 +531,7 @@
style: 'color: var(--el-color-primary); cursor: pointer; text-decoration: underline;',
onClick: (e: MouseEvent) => {
e.stopPropagation()
handleViewDetail(row)
handleNameClick(row)
}
},
row.refund_no
@@ -539,14 +539,30 @@
}
},
{
prop: 'order_id',
label: '订单ID',
width: 120
prop: 'shop_name',
label: '店铺名称',
width: 160
},
{
prop: 'shop_id',
label: '店铺ID',
width: 120
prop: 'order_no',
label: '订单号',
width: 220
},
{
prop: 'asset_identifier',
label: '资产标识符',
width: 180
},
{
prop: 'asset_type',
label: '资产类型',
width: 100,
formatter: (row: Refund) =>
row.asset_type === 'device'
? '设备'
: row.asset_type === 'iot_card'
? 'IoT卡'
: row.asset_type || '-'
},
{
prop: 'requested_refund_amount',
@@ -629,39 +645,45 @@
onMounted(() => {
getTableData()
loadShops()
loadOrders()
searchShops('')
searchOrdersForFilter('')
})
// 加载店铺列表
const loadShops = async () => {
// 搜索店铺(用于搜索表单)
const searchShops = async (query: string) => {
try {
const params: any = {
page: 1,
page_size: 9999
page_size: 20
}
if (query) {
params.shop_name = query
}
const res = await ShopService.getShops(params)
if (res.code === 0) {
shopOptions.value = res.data.items || []
}
} catch (error) {
console.error('Load shops failed:', error)
console.error('Search shops failed:', error)
}
}
// 加载订单列表
const loadOrders = async () => {
// 搜索订单(用于搜索表单)
const searchOrdersForFilter = async (query: string) => {
try {
const params: any = {
page: 1,
page_size: 9999
page_size: 20
}
if (query) {
params.order_no = query
}
const res = await OrderService.getOrders(params)
if (res.code === 0) {
orderOptions.value = res.data.items || []
}
} catch (error) {
console.error('Load orders failed:', error)
console.error('Search orders failed:', error)
}
}
@@ -759,14 +781,6 @@
createDialogVisible.value = true
}
// 订单选择框获取焦点时加载默认数据
const handleOrderSelectFocus = () => {
// 如果还没有数据则加载默认的20条
if (orderSearchOptions.value.length === 0) {
searchOrders('')
}
}
// 对话框关闭后的清理
const handleCreateDialogClosed = () => {
createFormRef.value?.resetFields()
@@ -965,6 +979,15 @@
})
}
// 处理名称点击
const handleNameClick = (row: Refund) => {
if (hasAuth('refund:detail')) {
handleViewDetail(row)
} else {
ElMessage.warning('您没有查看详情的权限')
}
}
// 查看详情
const handleViewDetail = (row: Refund) => {
router.push({