mirror of
https://gitee.com/bootx/dax-pay-ui.git
synced 2025-09-04 19:28:05 +00:00
feat 钱包支持预冻结额度操作, 新增个人钱包, 储值卡调试
This commit is contained in:
@@ -83,7 +83,6 @@
|
||||
payChannel: payChannelEnum.ALI,
|
||||
payWay: payWayEnum.QRCODE,
|
||||
businessId: '',
|
||||
walletId: '',
|
||||
voucherNo: '',
|
||||
title: '测试支付订单',
|
||||
// 二维码支付方式
|
||||
@@ -143,7 +142,6 @@
|
||||
// 获取钱包
|
||||
findWalletByUser().then((res) => {
|
||||
wallet = res.data
|
||||
form.walletId = wallet.id as string
|
||||
})
|
||||
}
|
||||
|
||||
@@ -175,6 +173,7 @@
|
||||
createMessage.success('支付成功')
|
||||
initWallet()
|
||||
genOrderNo()
|
||||
getVoucher()
|
||||
pause()
|
||||
}
|
||||
})
|
||||
@@ -197,6 +196,7 @@
|
||||
cashierQrCode.handleClose()
|
||||
loading = false
|
||||
genOrderNo()
|
||||
getVoucher()
|
||||
pause()
|
||||
}
|
||||
</script>
|
||||
|
@@ -38,7 +38,7 @@
|
||||
/>
|
||||
</a-form-item>
|
||||
<a-form-item label="有效期" name="enduring">
|
||||
<a-switch checkedChildren="长期" unCheckedChildren="期限" v-model:value="form.enduring" />
|
||||
<a-switch checkedChildren="长期" unCheckedChildren="期限" v-model:checked="form.enduring" />
|
||||
</a-form-item>
|
||||
<a-form-item label="有效期" name="enduring" v-if="!form.enduring">
|
||||
<a-range-picker valueFormat="YYYY-MM-DD" @change="changeTime" />
|
||||
@@ -95,16 +95,19 @@
|
||||
|
||||
function init() {
|
||||
visible.value = true
|
||||
confirmLoading.value = true
|
||||
// confirmLoading.value = true
|
||||
resetForm()
|
||||
}
|
||||
|
||||
// 时间范围变动
|
||||
function changeTime (_, times) {
|
||||
form.startTime = times[0] + ' 00:00:00' as any
|
||||
form.endTime = times[1] + ' 23:59:59' as any
|
||||
function changeTime(_, times) {
|
||||
form.startTime = (times[0] + ' 00:00:00') as any
|
||||
form.endTime = (times[1] + ' 23:59:59') as any
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成储值卡
|
||||
*/
|
||||
function handleOk() {
|
||||
formRef?.validate().then(async () => {
|
||||
confirmLoading.value = true
|
||||
|
@@ -62,7 +62,7 @@
|
||||
@page-change="handleTableChange"
|
||||
/>
|
||||
<voucher-info ref="voucherInfo" />
|
||||
<voucher-generation ref="voucherGeneration" />
|
||||
<voucher-generation ref="voucherGeneration" @ok="queryPage" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
@@ -7,7 +7,7 @@ import { BaseEntity } from '/#/web'
|
||||
*/
|
||||
export function page(params) {
|
||||
return defHttp.get<Result<PageResult<Wallet>>>({
|
||||
url: '/wallet/page',
|
||||
url: '/wallet/admin/page',
|
||||
params,
|
||||
})
|
||||
}
|
||||
@@ -17,7 +17,7 @@ export function page(params) {
|
||||
*/
|
||||
export function pageByNotWallet(params) {
|
||||
return defHttp.get<Result<PageResult<Wallet>>>({
|
||||
url: '/wallet/pageByNotWallet',
|
||||
url: '/wallet/admin/pageByNotWallet',
|
||||
params: params,
|
||||
})
|
||||
}
|
||||
@@ -27,7 +27,7 @@ export function pageByNotWallet(params) {
|
||||
*/
|
||||
export function findAll() {
|
||||
return defHttp.get<Result<Wallet[]>>({
|
||||
url: '/wallet/findAll',
|
||||
url: '/wallet/admin/findAll',
|
||||
})
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ export function findAll() {
|
||||
*/
|
||||
export function get(id) {
|
||||
return defHttp.get<Result<Wallet>>({
|
||||
url: '/wallet/findById',
|
||||
url: '/wallet/admin/findById',
|
||||
params: { id },
|
||||
})
|
||||
}
|
||||
@@ -46,7 +46,7 @@ export function get(id) {
|
||||
*/
|
||||
export function add(obj: Wallet) {
|
||||
return defHttp.post({
|
||||
url: '/wallet/add',
|
||||
url: '/wallet/admin/add',
|
||||
data: obj,
|
||||
})
|
||||
}
|
||||
@@ -56,7 +56,7 @@ export function add(obj: Wallet) {
|
||||
*/
|
||||
export function update(obj: Wallet) {
|
||||
return defHttp.post({
|
||||
url: '/wallet/update',
|
||||
url: '/wallet/admin/update',
|
||||
data: obj,
|
||||
})
|
||||
}
|
||||
@@ -66,7 +66,7 @@ export function update(obj: Wallet) {
|
||||
*/
|
||||
export function del(id) {
|
||||
return defHttp.delete({
|
||||
url: '/wallet/delete',
|
||||
url: '/wallet/admin/delete',
|
||||
params: { id },
|
||||
})
|
||||
}
|
||||
@@ -76,7 +76,7 @@ export function del(id) {
|
||||
*/
|
||||
export function getWalletInfo(walletId) {
|
||||
return defHttp.get<Result<Wallet>>({
|
||||
url: '/wallet/getWalletInfo',
|
||||
url: '/wallet/admin/getWalletInfo',
|
||||
params: { walletId },
|
||||
})
|
||||
}
|
||||
@@ -86,7 +86,7 @@ export function getWalletInfo(walletId) {
|
||||
*/
|
||||
export function createWalletBatch(obj) {
|
||||
return defHttp.post({
|
||||
url: '/wallet/createWalletBatch',
|
||||
url: '/wallet/admin/createWalletBatch',
|
||||
data: obj,
|
||||
})
|
||||
}
|
||||
@@ -96,7 +96,7 @@ export function createWalletBatch(obj) {
|
||||
*/
|
||||
export function lock(walletId) {
|
||||
return defHttp.post({
|
||||
url: '/wallet/lock',
|
||||
url: '/wallet/admin/lock',
|
||||
params: { walletId },
|
||||
})
|
||||
}
|
||||
@@ -106,7 +106,7 @@ export function lock(walletId) {
|
||||
*/
|
||||
export function unlock(walletId) {
|
||||
return defHttp.post({
|
||||
url: '/wallet/unlock',
|
||||
url: '/wallet/admin/unlock',
|
||||
params: { walletId },
|
||||
})
|
||||
}
|
||||
@@ -116,20 +116,29 @@ export function unlock(walletId) {
|
||||
*/
|
||||
export function changerBalance(obj) {
|
||||
return defHttp.post({
|
||||
url: '/wallet/changerBalance',
|
||||
url: '/wallet/admin/changerBalance',
|
||||
data: obj,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据用户查询钱包
|
||||
* 查询用户钱包
|
||||
*/
|
||||
export function findByUser() {
|
||||
return defHttp.get({
|
||||
return defHttp.get<Result<Wallet>>({
|
||||
url: '/wallet/findByUser',
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 开通钱包
|
||||
*/
|
||||
export function createWallet() {
|
||||
return defHttp.post<Result<void>>({
|
||||
url: '/wallet/createWallet',
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 钱包
|
||||
*/
|
||||
|
@@ -1,22 +1,85 @@
|
||||
<template>
|
||||
<a-card :bordered="false">
|
||||
<a-spin :spinning="loading">
|
||||
<div v-if="wallet">
|
||||
<a-form ref="formRef" :label-col="labelCol" :wrapper-col="wrapperCol">
|
||||
<a-form-item label="状态">
|
||||
{{ dictConvert('WalletStatus', wallet.status) }}
|
||||
</a-form-item>
|
||||
<a-form-item label="余额">
|
||||
{{ wallet.balance }}
|
||||
</a-form-item>
|
||||
<a-form-item>
|
||||
<template #label>
|
||||
<basic-title
|
||||
helpMessage="输入网址或以outside://开头会的路径从外部打开页面,请求路径后添加?onlytab=1&__full__参数后,只显示显示标签页内容"
|
||||
>预冻结额度</basic-title
|
||||
>
|
||||
</template>
|
||||
{{ wallet.freezeBalance }}
|
||||
</a-form-item>
|
||||
</a-form>
|
||||
</div>
|
||||
<div v-else>
|
||||
<a-button type="primary" @click="createMyWallet">开通钱包</a-button>
|
||||
</div>
|
||||
</a-spin>
|
||||
</a-card>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { $ref } from 'vue/macros'
|
||||
import { Wallet } from '/@/views/modules/payment/wallet/Wallet.api'
|
||||
import { createWallet, findByUser, Wallet } from '../Wallet.api'
|
||||
import { useMessage } from '/@/hooks/web/useMessage'
|
||||
import BasicTitle from '/@/components/Basic/src/BasicTitle.vue'
|
||||
import { onMounted } from 'vue'
|
||||
import { useDict } from '/@/hooks/bootx/useDict'
|
||||
|
||||
const { notification, createMessage, createConfirm } = useMessage()
|
||||
const { dictConvert } = useDict()
|
||||
|
||||
const labelCol = {
|
||||
sm: { span: 7 },
|
||||
}
|
||||
const wrapperCol = {
|
||||
sm: { span: 13 },
|
||||
}
|
||||
|
||||
let loading = $ref(false)
|
||||
let wallet = $ref<Wallet>()
|
||||
|
||||
onMounted(() => {
|
||||
initWallet()
|
||||
})
|
||||
|
||||
/**
|
||||
* 初始化钱包信息
|
||||
*/
|
||||
function initWallet(){
|
||||
|
||||
async function initWallet() {
|
||||
loading = true
|
||||
const { data } = await findByUser()
|
||||
wallet = data
|
||||
loading = false
|
||||
}
|
||||
|
||||
/**
|
||||
* 开通钱包
|
||||
*/
|
||||
async function createMyWallet() {
|
||||
createConfirm({
|
||||
iconType: 'warning',
|
||||
title: '警告',
|
||||
content: '是否开通我的钱包',
|
||||
onOk: async () => {
|
||||
await createWallet()
|
||||
createMessage.success('钱包开通中...')
|
||||
await initWallet()
|
||||
},
|
||||
})
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less"></style>
|
||||
<style scoped lang="less">
|
||||
.vben-basic-title {
|
||||
font-size: 14px;
|
||||
}
|
||||
</style>
|
||||
|
Reference in New Issue
Block a user