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

pull/223/head
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 {
// Vue3API await updateUserLevel(data);
await updateUserLevel({
id: data.id,
levelId: data.levelId,
reason: data.reason,
});
// //
await modalApi.close(); await modalApi.close();
emit('success'); emit('success');