feat:【antd】【member 会员】完成 balance-form 的迁移与 bugfix

This commit is contained in:
YunaiV
2025-10-07 15:11:46 +08:00
parent dabbeaae81
commit a18126a761
3 changed files with 14 additions and 15 deletions

View File

@@ -399,7 +399,7 @@ export function useBalanceFormSchema(): VbenFormSchema[] {
label: '变动后余额(元)', label: '变动后余额(元)',
component: 'Input', component: 'Input',
dependencies: { dependencies: {
triggerFields: ['changeBalance', 'changeType'], triggerFields: ['balance', 'changeBalance', 'changeType'],
disabled: true, disabled: true,
trigger(values, form) { trigger(values, form) {
form.setFieldValue( form.setFieldValue(

View File

@@ -4,13 +4,13 @@ import type { MemberUserApi } from '#/api/member/user';
import { ref } from 'vue'; import { ref } from 'vue';
import { useVbenModal } from '@vben/common-ui'; import { useVbenModal } from '@vben/common-ui';
import { formatToFraction } from '@vben/utils'; import { fenToYuan, yuanToFen } from '@vben/utils';
import { message } from 'ant-design-vue'; import { message } from 'ant-design-vue';
import { useVbenForm } from '#/adapter/form'; import { useVbenForm } from '#/adapter/form';
import { getUser, updateUser } from '#/api/member/user'; import { getUser } from '#/api/member/user';
import { getWallet } from '#/api/pay/wallet/balance'; import { getWallet, updateWalletBalance } from '#/api/pay/wallet/balance';
import { $t } from '#/locales'; import { $t } from '#/locales';
import { useBalanceFormSchema } from '../data'; import { useBalanceFormSchema } from '../data';
@@ -45,9 +45,12 @@ const [Modal, modalApi] = useVbenModal({
} }
modalApi.lock(); modalApi.lock();
// 提交表单 // 提交表单
const data = (await formApi.getValues()) as MemberUserApi.User; const data = await formApi.getValues();
try { try {
await updateUser(data); await updateWalletBalance({
userId: data.id,
balance: yuanToFen(data.changeBalance) * data.changeType,
});
// 关闭并提示 // 关闭并提示
await modalApi.close(); await modalApi.close();
emit('success'); emit('success');
@@ -74,9 +77,9 @@ const [Modal, modalApi] = useVbenModal({
const wallet = await getWallet({ userId: user.id }); const wallet = await getWallet({ userId: user.id });
formData.value.id = user.id; formData.value.id = user.id;
formData.value.nickname = user.nickname || ''; formData.value.nickname = user.nickname || '';
formData.value.balance = formatToFraction(wallet.balance); formData.value.balance = fenToYuan(wallet.balance);
formData.value.changeType = 1; // 默认增加余额 formData.value.changeType = 1; // 默认增加余额
formData.value.changeBalance = 0; // 变动余额默认0 formData.value.changeBalance = 0; // 变动余额默认 0
// 设置到 values // 设置到 values
await formApi.setValues(formData.value); await formApi.setValues(formData.value);
} finally { } finally {

View File

@@ -40,14 +40,10 @@ const [Modal, modalApi] = useVbenModal({
} }
modalApi.lock(); modalApi.lock();
// 提交表单 // 提交表单
const data = (await formApi.getValues()) as any; const data =
(await formApi.getValues()) as MemberUserApi.UserUpdateLevelReqVO;
try { try {
// 按照Vue3版本的API调用方式 await updateUserLevel(data);
await updateUserLevel({
id: data.id,
levelId: data.levelId,
reason: data.reason,
});
// 关闭并提示 // 关闭并提示
await modalApi.close(); await modalApi.close();
emit('success'); emit('success');