From 6925cf0ecaa2c77c147c5974c49a375752f36f2f Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Mon, 30 Dec 2024 20:07:42 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=85=85=E5=80=BC=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E3=80=81=E6=9B=B4=E6=96=B0=E4=BD=99=E9=A2=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/wallet/wallet-transaction.ts | 16 ++ src/utils/convert.ts | 5 + src/utils/formatMoney.ts | 10 ++ .../wallet/wallet-manage/change-balance.vue | 165 ++++++++++++++++++ src/views/wallet/wallet-manage/form.vue | 110 ------------ src/views/wallet/wallet-manage/index.vue | 66 +++++-- .../wallet/wallet-manage/transaction-list.vue | 96 ++++++++++ 7 files changed, 339 insertions(+), 129 deletions(-) create mode 100644 src/utils/convert.ts create mode 100644 src/utils/formatMoney.ts create mode 100644 src/views/wallet/wallet-manage/change-balance.vue delete mode 100644 src/views/wallet/wallet-manage/form.vue create mode 100644 src/views/wallet/wallet-manage/transaction-list.vue diff --git a/src/api/wallet/wallet-transaction.ts b/src/api/wallet/wallet-transaction.ts index a365770..6c8679d 100644 --- a/src/api/wallet/wallet-transaction.ts +++ b/src/api/wallet/wallet-transaction.ts @@ -1,5 +1,13 @@ import request from "/@/utils/request" +export function updateBalance(obj?: Object) { + return request({ + url: '/wallet/walletTransaction/update-balance', + method: 'put', + data: obj + }) +} + export function fetchList(query?: Object) { return request({ url: '/wallet/walletTransaction/page', @@ -8,6 +16,14 @@ export function fetchList(query?: Object) { }) } +export function pageJoin(query?: Object) { + return request({ + url: '/wallet/walletTransaction/page-join', + method: 'get', + params: query + }) +} + export function addObj(obj?: Object) { return request({ url: '/wallet/walletTransaction', diff --git a/src/utils/convert.ts b/src/utils/convert.ts new file mode 100644 index 0000000..4b67cd5 --- /dev/null +++ b/src/utils/convert.ts @@ -0,0 +1,5 @@ +export const convertToInteger = (num: number | string | undefined): number => { + if (typeof num === 'undefined') return 0 + const parsedNumber = typeof num === 'string' ? parseFloat(num) : num + return Math.round(parsedNumber * 100) +} \ No newline at end of file diff --git a/src/utils/formatMoney.ts b/src/utils/formatMoney.ts new file mode 100644 index 0000000..ad89ae9 --- /dev/null +++ b/src/utils/formatMoney.ts @@ -0,0 +1,10 @@ +/** + * 显示价格把分转换到元 + * @param price + * @returns + */ +export function displayPrice(price: any, suffix: string = "元") { + if (typeof price === 'undefined') return '0.0' + suffix + const parsedNumber = typeof price === 'string' ? parseFloat(price) : price + return (parsedNumber / 100.0).toFixed(1) + suffix +} \ No newline at end of file diff --git a/src/views/wallet/wallet-manage/change-balance.vue b/src/views/wallet/wallet-manage/change-balance.vue new file mode 100644 index 0000000..fa6c2dd --- /dev/null +++ b/src/views/wallet/wallet-manage/change-balance.vue @@ -0,0 +1,165 @@ + + + \ No newline at end of file diff --git a/src/views/wallet/wallet-manage/form.vue b/src/views/wallet/wallet-manage/form.vue deleted file mode 100644 index 78ace96..0000000 --- a/src/views/wallet/wallet-manage/form.vue +++ /dev/null @@ -1,110 +0,0 @@ - - - \ No newline at end of file diff --git a/src/views/wallet/wallet-manage/index.vue b/src/views/wallet/wallet-manage/index.vue index 73631fe..a8355d5 100644 --- a/src/views/wallet/wallet-manage/index.vue +++ b/src/views/wallet/wallet-manage/index.vue @@ -17,31 +17,56 @@ @sort-change="sortChangeHandle"> - - - - - + + + + + + + + + - - - - - - - @@ -51,13 +76,16 @@ import { BasicTableProps, useTable } from "/@/hooks/table"; import { fetchList, fetchListJoin, delObjs } from '/@/api/wallet/wallet-manage' import { useMessage, useMessageBox } from "/@/hooks/message"; import { useDict } from '/@/hooks/dict'; +import { displayPrice } from "/@/utils/formatMoney" // 引入组件 -const FormDialog = defineAsyncComponent(() => import('./form.vue')); +const TransactionList = defineAsyncComponent(() => import('./transaction-list.vue')); +const ChangeBalance = defineAsyncComponent(() => import('./change-balance.vue')); // 定义查询字典 - +const { wallet_type, yes_no_type } = useDict('wallet_type', 'yes_no_type'); // 定义变量内容 const formDialogRef = ref() +const changeBalanceRef = ref() // 搜索变量 const queryRef = ref() const showSearch = ref(true) diff --git a/src/views/wallet/wallet-manage/transaction-list.vue b/src/views/wallet/wallet-manage/transaction-list.vue new file mode 100644 index 0000000..0221f73 --- /dev/null +++ b/src/views/wallet/wallet-manage/transaction-list.vue @@ -0,0 +1,96 @@ + + + \ No newline at end of file