From 11b3de0f42da1bb505b1540a173c1fee56f76660 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Fri, 9 May 2025 22:03:16 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E3=80=90PAY=20=E6=94=AF=E4=BB=98?= =?UTF-8?q?=E3=80=91=E6=8F=90=E7=8E=B0=E7=A4=BA=E4=BE=8B=EF=BC=8C=E6=8B=86?= =?UTF-8?q?=E5=88=86=20create=20=E5=92=8C=20transfer=20=E4=B8=A4=E4=B8=AA?= =?UTF-8?q?=E7=8A=B6=E6=80=81=EF=BC=8C=E6=9B=B4=E7=AC=A6=E5=90=88=E5=AE=9E?= =?UTF-8?q?=E9=99=85=E5=9C=BA=E6=99=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/pay/demo/transfer/index.ts | 25 --------- src/api/pay/demo/withdraw/index.ts | 30 +++++++++++ src/api/pay/transfer/index.ts | 6 +-- .../pay/demo/withdraw/DemoWithdrawForm.vue | 28 ++++++---- src/views/pay/demo/withdraw/index.vue | 52 +++++++++++++++++-- 5 files changed, 98 insertions(+), 43 deletions(-) delete mode 100644 src/api/pay/demo/transfer/index.ts create mode 100644 src/api/pay/demo/withdraw/index.ts diff --git a/src/api/pay/demo/transfer/index.ts b/src/api/pay/demo/transfer/index.ts deleted file mode 100644 index a95b0d5c..00000000 --- a/src/api/pay/demo/transfer/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -import request from '@/config/axios' - -export interface DemoTransferVO { - price: number - type: number - userName: string - alipayLogonId: string - openid: string -} - -// 创建示例转账单 -export function createDemoTransfer(data: DemoTransferVO) { - return request.post({ - url: '/pay/demo-transfer/create', - data: data - }) -} - -// 获得示例订单分页 -export function getDemoTransferPage(query: PageParam) { - return request.get({ - url: '/pay/demo-transfer/page', - params: query - }) -} diff --git a/src/api/pay/demo/withdraw/index.ts b/src/api/pay/demo/withdraw/index.ts new file mode 100644 index 00000000..d3849910 --- /dev/null +++ b/src/api/pay/demo/withdraw/index.ts @@ -0,0 +1,30 @@ +import request from '@/config/axios' + +export interface PayDemoWithdrawVO { + id?: number + subject: string + price: number + userName: string + userAccount: string + type: number + status?: number + payTransferId?: number + transferChannelCode?: string + transferTime?: Date + transferErrorMsg?: string +} + +// 查询示例提现单列表 +export const getDemoWithdrawPage = (params: PageParam) => { + return request.get({ url: '/pay/demo-withdraw/page', params }) +} + +// 创建示例提现单 +export const createDemoWithdraw = (data: PayDemoWithdrawVO) => { + return request.post({ url: '/pay/demo-withdraw/create', data }) +} + +// 发起提现单转账 +export const transferDemoWithdraw = (id: number) => { + return request.post({ url: '/pay/demo-withdraw/transfer', params: { id } }) +} diff --git a/src/api/pay/transfer/index.ts b/src/api/pay/transfer/index.ts index 2bfc07f3..3c7b32ed 100644 --- a/src/api/pay/transfer/index.ts +++ b/src/api/pay/transfer/index.ts @@ -1,5 +1,6 @@ import request from '@/config/axios' +// TODO @芋艿:调整字段 export interface TransferVO { appId: number channelCode: string @@ -12,11 +13,6 @@ export interface TransferVO { openid: string } -// 新增转账单 -export const createTransfer = async (data: TransferVO) => { - return await request.post({ url: `/pay/transfer/create`, data }) -} - // 查询转账单列表 export const getTransferPage = async (params: PageParam) => { return await request.get({ url: `/pay/transfer/page`, params }) diff --git a/src/views/pay/demo/withdraw/DemoWithdrawForm.vue b/src/views/pay/demo/withdraw/DemoWithdrawForm.vue index 32de4e1f..81dedb82 100644 --- a/src/views/pay/demo/withdraw/DemoWithdrawForm.vue +++ b/src/views/pay/demo/withdraw/DemoWithdrawForm.vue @@ -13,26 +13,26 @@ 支付宝 - 微信支付 + 微信余额 钱包 + + + - - - diff --git a/src/views/pay/demo/withdraw/index.vue b/src/views/pay/demo/withdraw/index.vue index 78ab131e..68c82f70 100644 --- a/src/views/pay/demo/withdraw/index.vue +++ b/src/views/pay/demo/withdraw/index.vue @@ -21,13 +21,33 @@ + + + @@ -45,7 +65,7 @@ - + @@ -57,6 +77,12 @@ :formatter="dateFormatter" width="180px" /> + import { dateFormatter } from '@/utils/formatTime' -import * as DemoWithdrawApi from '@/api/pay/demo/withdraw' +import * as DemoWithdrawApi from '@/api/pay/demo/withdraw/index' import DemoWithdrawForm from './DemoWithdrawForm.vue' import { DICT_TYPE } from '@/utils/dict' +import { useMessage } from '@/hooks/web/useMessage' +const message = useMessage() const loading = ref(true) // 列表的加载中 const total = ref(0) // 列表的总页数 const list = ref([]) // 列表的数据 @@ -116,6 +144,22 @@ const openForm = (type: string) => { demoFormRef.value.open(type) } +/** 处理转账操作 */ +const handleTransfer = async (id: number) => { + try { + // 转账操作的二次确认 + await message.confirm('确认要执行转账操作吗?') + // 发起转账 + loading.value = true + const payTransferId = await DemoWithdrawApi.transferDemoWithdraw(id) + message.success('转账提交成功,转账单号:' + payTransferId) + // 刷新列表 + await getList() + } finally { + loading.value = false + } +} + /** 初始化 **/ onMounted(() => { getList()