diff --git a/src/api/ums/member.js b/src/api/ums/member.js index a9d6bdd..2cf1c7e 100644 --- a/src/api/ums/member.js +++ b/src/api/ums/member.js @@ -204,3 +204,30 @@ export function getUserBankCardList(data) { data: data }); } + +// 用户提现记录 +export function getUserWithdrawList(data) { + return request({ + url: `/ums/withdraw/list`, + method: 'post', + data: data + }); +} + +// 用户审核提现 +export function setWithdrawStatus(data) { + return request({ + url: `/ums/withdraw/update`, + method: 'post', + data: data + }); +} + +// 用户充值记录 +export function getUserChargeList(data) { + return request({ + url: `/ums/charge/list`, + method: 'post', + data: data + }); +} diff --git a/src/router/index.ts b/src/router/index.ts index a4d4e0a..6d8d862 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -185,6 +185,22 @@ export const dynamicRoutes: RouteRecordRaw[] = [ } ] }, + + // 提现记录 + { + path: '/member', + component: Layout, + hidden: true, + permissions: ['oms:aftersale:query'], + children: [ + { + path: 'withdraw', + component: () => import('@/views/ums/member/withdraw.vue'), + name: 'witdhdrawDetail', + meta: { title: '提现记录' } + } + ] + }, { path: '/order', component: Layout, @@ -264,7 +280,6 @@ export const dynamicRoutes: RouteRecordRaw[] = [ name: 'account', meta: { title: '账号管理', icon: 'dashboard', affix: true } } - ] } ]; diff --git a/src/utils/index.ts b/src/utils/index.ts index adac362..25efe48 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -323,7 +323,7 @@ export const isExternal = (path: string) => { *@param emuList枚举值 */ export const getEmulistLabelById = (id: string, emuList: any) => { - if (!id) { + if (id != '0' && !id) { return '--'; } if (emuList && emuList.length) { diff --git a/src/views/ums/member/index.vue b/src/views/ums/member/index.vue index 21d7a82..66e7ef1 100644 --- a/src/views/ums/member/index.vue +++ b/src/views/ums/member/index.vue @@ -120,6 +120,8 @@ 封禁记录 黑名单 删除 + 提现记录 + 充值记录 @@ -211,6 +213,63 @@ " /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 审批 + + + + + @@ -459,7 +518,10 @@ import { getUserBalanceList, deleteUser, getUserBannelList, - getUserBankCardList + getUserBankCardList, + getUserWithdrawList, + setWithdrawStatus, + getUserChargeList } from '@/api/ums/member'; import dateUtil from '@/utils/DateUtil'; import { useUserStore } from '@/store/modules/user'; @@ -631,6 +693,33 @@ export default { bankCardDataParams: { current: 1, size: 10 + }, + // 用户提现记录 + userWithdrawInfo: { + total: 0, + data: [], + record: {} + }, + userWithdrawInfoModalVisible: false, + userWithdrawInfoTableLoading: false, + withdrawDataParams: { + current: 1, + size: 10 + }, + userWithdrawMethodMap: [], + userWithdrawTypeMap: [], + userWithdrawStatusMap: [], + userWithdrawAuditMap: [], + userChargedrawInfo: { + total: 0, + data: [], + record: {} + }, + userChargeInfoModalVisible: false, + userChargeInfoTableLoading: false, + chargeDataParams: { + current: 1, + size: 10 } }; }, @@ -895,6 +984,50 @@ export default { }); }, + goWithdrawInfoPage(row) { + const id = row.id; + this.$router.push({ path: '/member/withdraw', query: { id } }); + }, + // 展示提现记录弹层 + showWithdrawInfoModal(record, isFirst) { + const { id } = this.userWithdrawInfo.record || {}; + const reqParams = { + ...this.withdrawDataParams, + memberId: record.id ? record.id : id + }; + this.userWithdrawInfoTableLoading = true; + if (isFirst) { + // 获取枚举 + this.getWithdrawEmu(); + } + getUserWithdrawList(reqParams) + .then((response) => { + const { records = [], total = 0 } = response.data || {}; + if (isFirst) { + this.userWithdrawInfoModalVisible = true; + } + this.userWithdrawInfo = { + total: total, + data: records || [], + record: record + }; + this.userWithdrawInfoTableLoading = false; + }) + .catch(() => { + this.userWithdrawInfoTableLoading = false; + }); + }, + async getWithdrawEmu() { + const userWithdrawMethodMap = await this.getDictionaryByKey('ums_withdraw_method'); + const userWithdrawTypeMap = await this.getDictionaryByKey('ums_withdraw_type'); + const userWithdrawStatusMap = await this.getDictionaryByKey('ums_withdraw_status'); + const userWithdrawAuditMap = await this.getDictionaryByKey('sys_common_audit'); + + this.userWithdrawMethodMap = userWithdrawMethodMap; + this.userWithdrawTypeMap = userWithdrawTypeMap; + this.userWithdrawStatusMap = userWithdrawStatusMap; + this.userWithdrawAuditMap = userWithdrawAuditMap; + }, // 展示用户封禁记录弹框 showUserBannedInfoModal(record, isFirst) { const { id } = this.userBannedInfo.record || {}; diff --git a/src/views/ums/member/withdraw.vue b/src/views/ums/member/withdraw.vue new file mode 100644 index 0000000..831b7c3 --- /dev/null +++ b/src/views/ums/member/withdraw.vue @@ -0,0 +1,198 @@ + + +