This commit is contained in:
@@ -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({
|
||||
|
||||
Reference in New Issue
Block a user