diff --git a/apps/web-antd/src/views/member/user/data.ts b/apps/web-antd/src/views/member/user/data.ts index d98484001..9ca329e98 100644 --- a/apps/web-antd/src/views/member/user/data.ts +++ b/apps/web-antd/src/views/member/user/data.ts @@ -399,7 +399,7 @@ export function useBalanceFormSchema(): VbenFormSchema[] { label: '变动后余额(元)', component: 'Input', dependencies: { - triggerFields: ['changeBalance', 'changeType'], + triggerFields: ['balance', 'changeBalance', 'changeType'], disabled: true, trigger(values, form) { form.setFieldValue( diff --git a/apps/web-antd/src/views/member/user/modules/balance-form.vue b/apps/web-antd/src/views/member/user/modules/balance-form.vue index 12ce39d75..6f13bd0ab 100644 --- a/apps/web-antd/src/views/member/user/modules/balance-form.vue +++ b/apps/web-antd/src/views/member/user/modules/balance-form.vue @@ -4,13 +4,13 @@ import type { MemberUserApi } from '#/api/member/user'; import { ref } from 'vue'; import { useVbenModal } from '@vben/common-ui'; -import { formatToFraction } from '@vben/utils'; +import { fenToYuan, yuanToFen } from '@vben/utils'; import { message } from 'ant-design-vue'; import { useVbenForm } from '#/adapter/form'; -import { getUser, updateUser } from '#/api/member/user'; -import { getWallet } from '#/api/pay/wallet/balance'; +import { getUser } from '#/api/member/user'; +import { getWallet, updateWalletBalance } from '#/api/pay/wallet/balance'; import { $t } from '#/locales'; import { useBalanceFormSchema } from '../data'; @@ -45,9 +45,12 @@ const [Modal, modalApi] = useVbenModal({ } modalApi.lock(); // 提交表单 - const data = (await formApi.getValues()) as MemberUserApi.User; + const data = await formApi.getValues(); try { - await updateUser(data); + await updateWalletBalance({ + userId: data.id, + balance: yuanToFen(data.changeBalance) * data.changeType, + }); // 关闭并提示 await modalApi.close(); emit('success'); @@ -74,9 +77,9 @@ const [Modal, modalApi] = useVbenModal({ const wallet = await getWallet({ userId: user.id }); formData.value.id = user.id; formData.value.nickname = user.nickname || ''; - formData.value.balance = formatToFraction(wallet.balance); + formData.value.balance = fenToYuan(wallet.balance); formData.value.changeType = 1; // 默认增加余额 - formData.value.changeBalance = 0; // 变动余额默认0 + formData.value.changeBalance = 0; // 变动余额默认 0 // 设置到 values await formApi.setValues(formData.value); } finally { diff --git a/apps/web-antd/src/views/member/user/modules/level-form.vue b/apps/web-antd/src/views/member/user/modules/level-form.vue index 5cfad24b4..2a2c8b2ca 100644 --- a/apps/web-antd/src/views/member/user/modules/level-form.vue +++ b/apps/web-antd/src/views/member/user/modules/level-form.vue @@ -40,14 +40,10 @@ const [Modal, modalApi] = useVbenModal({ } modalApi.lock(); // 提交表单 - const data = (await formApi.getValues()) as any; + const data = + (await formApi.getValues()) as MemberUserApi.UserUpdateLevelReqVO; try { - // 按照Vue3版本的API调用方式 - await updateUserLevel({ - id: data.id, - levelId: data.levelId, - reason: data.reason, - }); + await updateUserLevel(data); // 关闭并提示 await modalApi.close(); emit('success');