feat 优化支付相关订单和记录的查询条件

This commit is contained in:
bootx
2024-01-15 22:45:02 +08:00
parent ba28f82a2f
commit e6e97ebc36
5 changed files with 114 additions and 13 deletions

View File

@@ -138,8 +138,12 @@
refundRecordInfo.init(record.id)
}
/**
* 查看支付单信息
* @param paymentId
*/
function showPayment(paymentId) {
payOrderInfo.init(paymentId, 'show')
payOrderInfo.init(paymentId)
}
</script>

View File

@@ -7,7 +7,13 @@
<vxe-toolbar ref="xToolbar" custom :refresh="{ queryMethod: queryPage }" />
<vxe-table row-id="id" ref="xTable" :data="pagination.records" :loading="loading">
<vxe-column type="seq" title="序号" width="60" />
<vxe-column field="paymentId" title="支付号" />
<vxe-column field="paymentId" title="支付号" width="170" sortable>
<template #default="{ row }">
<a @click="showPayment(row.paymentId)">
{{ row.paymentId }}
</a>
</template>
</vxe-column>
<vxe-column field="payChannel" title="支付通道">
<template #default="{ row }">
{{ dictConvert('PayChannel', row.payChannel) }}
@@ -37,7 +43,7 @@
@page-change="handleTableChange"
/>
<pay-callback-record-info ref="payCallbackRecordInfo" />
</div>
<pay-order-info ref="payOrderInfo" /> </div>
</div>
</template>
@@ -53,6 +59,7 @@
import { useDict } from '/@/hooks/bootx/useDict'
import PayCallbackRecordInfo from './PayCallbackRecordInfo.vue'
import { LabeledValue } from 'ant-design-vue/lib/select'
import PayOrderInfo from "/@/views/payment/order/pay/PayOrderInfo.vue";
// 使用hooks
const { handleTableChange, pageQueryResHandel, resetQueryParams, pagination, pages, model, loading } = useTablePage(queryPage)
@@ -86,6 +93,7 @@
const xTable = $ref<VxeTableInstance>()
const xToolbar = $ref<VxeToolbarInstance>()
const payCallbackRecordInfo = $ref<any>()
const payOrderInfo = $ref<any>()
onMounted(() => {
initData()
@@ -123,6 +131,14 @@
function show(record) {
payCallbackRecordInfo.init(record.id)
}
/**
* 查看支付单信息
* @param paymentId
*/
function showPayment(paymentId) {
payOrderInfo.init(paymentId)
}
</script>
<style lang="less" scoped></style>

View File

@@ -7,14 +7,25 @@
<vxe-toolbar ref="xToolbar" custom :refresh="{ queryMethod: queryPage }" />
<vxe-table row-id="id" ref="xTable" :data="pagination.records" :loading="loading">
<vxe-column type="seq" title="序号" width="60" />
<vxe-column field="paymentId" title="支付号" />
<vxe-column field="businessNo" title="支付号" />
<vxe-column field="paymentId" title="支付号" width="170" sortable>
<template #default="{ row }">
<a @click="showPayment(row.paymentId)">
{{ row.paymentId }}
</a>
</template>
</vxe-column>
<vxe-column field="businessNo" title="业务号" />
<vxe-column field="closed" title="关闭状态">
<template #default="{ row }">
<a-tag v-if="row.closed" color="green">成功</a-tag>
<a-tag v-else color="red">失败</a-tag>
</template>
</vxe-column>
<vxe-column field="asyncChannel" title="异步支付通道">
<template #default="{ row }">
{{ dictConvert('AsyncPayChannel', row.asyncChannel) }}
</template>
</vxe-column>
<vxe-column field="errorMsg" title="错误消息" />
<vxe-column field="clientIp" title="客户端IP" />
<vxe-column field="createTime" title="请求时间" />
@@ -36,6 +47,7 @@
/>
</div>
<pay-close-record-info ref="payCloseRecordInfo" />
<pay-order-info ref="payOrderInfo" />
</div>
</template>
@@ -51,6 +63,7 @@
import { useDict } from '/@/hooks/bootx/useDict'
import { LabeledValue } from 'ant-design-vue/lib/select'
import PayCloseRecordInfo from './PayCloseRecordInfo.vue'
import PayOrderInfo from "/@/views/payment/order/pay/PayOrderInfo.vue";
// 使用hooks
const { handleTableChange, pageQueryResHandel, resetQueryParams, pagination, pages, model, loading } = useTablePage(queryPage)
@@ -87,6 +100,7 @@
const xTable = $ref<VxeTableInstance>()
const xToolbar = $ref<VxeToolbarInstance>()
const payCloseRecordInfo = $ref<any>()
const payOrderInfo = $ref<any>()
onMounted(() => {
init()
@@ -123,6 +137,14 @@
function show(record) {
payCloseRecordInfo.init(record.id)
}
/**
* 查看支付单信息
* @param paymentId
*/
function showPayment(paymentId) {
payOrderInfo.init(paymentId)
}
</script>
<style lang="less" scoped></style>

View File

@@ -7,7 +7,13 @@
<vxe-toolbar ref="xToolbar" custom :refresh="{ queryMethod: queryPage }" />
<vxe-table row-id="id" ref="xTable" :data="pagination.records" :loading="loading">
<vxe-column type="seq" title="序号" width="60" />
<vxe-column field="paymentId" title="支付号" />
<vxe-column field="paymentId" title="支付号" width="170" sortable>
<template #default="{ row }">
<a @click="showPayment(row.paymentId)">
{{ row.paymentId }}
</a>
</template>
</vxe-column>
<vxe-column field="businessNo" title="业务号" />
<vxe-column field="repairSource" title="修复来源">
<template #default="{ row }">
@@ -53,6 +59,7 @@
/>
</div>
<pay-repair-record-info ref="payRepairRecordInfo" />
<pay-order-info ref="payOrderInfo" />
</div>
</template>
@@ -68,6 +75,7 @@
import { useDict } from '/@/hooks/bootx/useDict'
import { LabeledValue } from 'ant-design-vue/lib/select'
import PayRepairRecordInfo from './PayRepairRecordInfo.vue'
import PayOrderInfo from "/@/views/payment/order/pay/PayOrderInfo.vue";
// 使用hooks
const { handleTableChange, pageQueryResHandel, resetQueryParams, pagination, pages, model, loading } = useTablePage(queryPage)
@@ -76,6 +84,7 @@
let repairSourceList = $ref<LabeledValue[]>([])
let repairTypeList = $ref<LabeledValue[]>([])
let asyncChannelList = $ref<LabeledValue[]>([])
// 查询条件
const fields = computed(() => {
@@ -96,12 +105,20 @@
placeholder: '请选择修复类型',
selectList: repairTypeList,
},
{
field: 'asyncChannel',
type: LIST,
name: '修复通道',
placeholder: '请选择修复通道',
selectList: asyncChannelList,
},
] as QueryField[]
})
const xTable = $ref<VxeTableInstance>()
const xToolbar = $ref<VxeToolbarInstance>()
const payRepairRecordInfo = $ref<any>()
const payOrderInfo = $ref<any>()
onMounted(() => {
init()
@@ -118,6 +135,7 @@
async function init() {
repairSourceList = await dictDropDown('PayRepairSource')
repairTypeList = await dictDropDown('PayRepairType')
asyncChannelList = await dictDropDown('AsyncPayChannel')
}
/**
@@ -139,6 +157,14 @@
function show(record) {
payRepairRecordInfo.init(record.id)
}
/**
* 查看支付单信息
* @param paymentId
*/
function showPayment(paymentId) {
payOrderInfo.init(paymentId)
}
</script>
<style lang="less" scoped></style>

View File

@@ -7,24 +7,37 @@
<vxe-toolbar ref="xToolbar" custom :refresh="{ queryMethod: queryPage }" />
<vxe-table row-id="id" ref="xTable" :data="pagination.records" :loading="loading">
<vxe-column type="seq" title="序号" width="60" />
<vxe-column field="paymentId" title="支付号" />
<vxe-column field="paymentId" title="支付号" width="170" sortable>
<template #default="{ row }">
<a @click="showPayment(row.paymentId)">
{{ row.paymentId }}
</a>
</template>
</vxe-column>
<vxe-column field="businessNo" title="业务号" />
<vxe-column field="channel" title="同步通道">
<template #default="{ row }">
<a-tag>{{ dictConvert('AsyncPayChannel', row.asyncChannel) }}</a-tag>
</template>
</vxe-column>
<vxe-column field="status" title="同步结果">
<vxe-column field="status" title="同步结果" width="140">
<template #default="{ row }">
<a-tag>{{ dictConvert('PaySyncStatus', row.gatewayStatus) }}</a-tag>
</template>
</vxe-column>
<vxe-column field="repairOrder" title="修复">
<vxe-column field="repairOrder" title="是否修复">
<template #default="{ row }">
<a-tag v-if="row.repairOrder" color="green"></a-tag>
<a-tag v-else></a-tag>
</template>
</vxe-column>
<vxe-column field="repairOrderId" title="关联修复号" width="170">
<template #default="{ row }">
<a @click="showRepairInfo(row.repairOrderId)">
{{ row.repairOrderId }}
</a>
</template>
</vxe-column>
<vxe-column field="errorMsg" title="错误消息" />
<vxe-column field="syncTime" title="同步时间" />
<vxe-column fixed="right" width="60" :showOverflow="false" title="操作">
@@ -44,7 +57,9 @@
@page-change="handleTableChange"
/>
</div>
<pay-sync-record-info ref="paySyncRecordInfo"/>
<pay-sync-record-info ref="paySyncRecordInfo" />
<pay-order-info ref="payOrderInfo" />
<pay-repair-record-info ref="payRepairRecordInfo" />
</div>
</template>
@@ -60,6 +75,8 @@
import { useDict } from '/@/hooks/bootx/useDict'
import { LabeledValue } from 'ant-design-vue/lib/select'
import PaySyncRecordInfo from './PaySyncRecordInfo.vue'
import PayOrderInfo from '/@/views/payment/order/pay/PayOrderInfo.vue'
import PayRepairRecordInfo from '/@/views/payment/record/repair/PayRepairRecordInfo.vue'
// 使用hooks
const { handleTableChange, pageQueryResHandel, resetQueryParams, pagination, pages, model, loading } = useTablePage(queryPage)
@@ -75,10 +92,10 @@
{ field: 'paymentId', type: STRING, name: '支付单号', placeholder: '请输入支付单号' },
{ field: 'businessNo', type: STRING, name: '业务号', placeholder: '请输入业务号' },
{
field: 'status',
field: 'gatewayStatus',
type: LIST,
name: '同步状态',
placeholder: '请选择同步状态',
name: '同步结果',
placeholder: '请选择同步结果',
selectList: syncStatusList,
},
{
@@ -94,6 +111,8 @@
const xTable = $ref<VxeTableInstance>()
const xToolbar = $ref<VxeToolbarInstance>()
const paySyncRecordInfo = $ref<any>()
const payOrderInfo = $ref<any>()
const payRepairRecordInfo = $ref<any>()
onMounted(() => {
init()
@@ -131,6 +150,20 @@
function show(record) {
paySyncRecordInfo.init(record.id)
}
/**
* 查看支付单信息
* @param paymentId
*/
function showPayment(paymentId) {
payOrderInfo.init(paymentId)
}
/**
* 查看支付单信息
*/
function showRepairInfo(repairId) {
payRepairRecordInfo.init(repairId)
}
</script>
<style lang="less" scoped></style>