From 0dcdbab83595503b558b14faab7d57a27136f665 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E7=8B=BC?= <2468023037@qq.com> Date: Thu, 13 Feb 2025 22:03:38 +0800 Subject: [PATCH 1/3] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/Invite.ts | 62 +++++++ src/views/dashboard/monitor/index.vue | 160 +++++++++--------- src/views/dictionary/index.vue | 7 +- .../jobuser/components/FamilyTreeChart.vue | 93 ++++++++++ src/views/jobuser/index.vue | 10 +- 5 files changed, 247 insertions(+), 85 deletions(-) create mode 100644 src/api/Invite.ts create mode 100644 src/views/jobuser/components/FamilyTreeChart.vue diff --git a/src/api/Invite.ts b/src/api/Invite.ts new file mode 100644 index 0000000..7cf30e8 --- /dev/null +++ b/src/api/Invite.ts @@ -0,0 +1,62 @@ +import axios from 'axios'; +import { S } from 'mockjs'; + + +export interface LoginData { + username: string; + password: string; +} + + +export interface jobuser { + status: string; + code: number; + message: string; + data: { + jobuser: { + username: string; // 账号 + password: string; // 密码 + time: Date; // 注册时间 + type: number; // 累计在线时间 + }[] + }; + +} + +export interface Black { + status: string; + code: number; + message: string; + data: Array<{}>; +} +export interface Refresh { + status: string; + code: number; + data: { + access_token: string; + refresh_token: string; + }; + message: string; +} + +export interface ListParams { + black?: string; + username?: string; + } +/** + * + * @param data 获取子 + * @returns + */ +export function getSonId(id: string) { + return axios.post('/api/v1/Invite/getSonId', { id }); +} + +/** + * + * @param data 获取父 + * @returns + */ +export function getDayId(id: string) { + return axios.post('/api/v1/Invite/getDayId', { id }); + } diff --git a/src/views/dashboard/monitor/index.vue b/src/views/dashboard/monitor/index.vue index 421e11f..029d59f 100644 --- a/src/views/dashboard/monitor/index.vue +++ b/src/views/dashboard/monitor/index.vue @@ -1,87 +1,85 @@ - - - - - - diff --git a/src/views/dictionary/index.vue b/src/views/dictionary/index.vue index 00c7dae..7612e06 100644 --- a/src/views/dictionary/index.vue +++ b/src/views/dictionary/index.vue @@ -25,6 +25,9 @@ + + + 保存 @@ -45,7 +48,9 @@ const form = reactive({ service_2:"", service_3:"", service_url:"", - service_user_url:"" + service_user_url:"", + points:"" + }); const handleSubmit=()=>{ setAll(form) diff --git a/src/views/jobuser/components/FamilyTreeChart.vue b/src/views/jobuser/components/FamilyTreeChart.vue new file mode 100644 index 0000000..7f026c6 --- /dev/null +++ b/src/views/jobuser/components/FamilyTreeChart.vue @@ -0,0 +1,93 @@ + + + + + diff --git a/src/views/jobuser/index.vue b/src/views/jobuser/index.vue index 45a1c6c..4ebabbb 100644 --- a/src/views/jobuser/index.vue +++ b/src/views/jobuser/index.vue @@ -19,7 +19,7 @@ 封禁 解禁 - 查看团队 + 查看团队 @@ -27,11 +27,14 @@ - + - + + + + @@ -43,6 +46,7 @@ import { Modal } from '@arco-design/web-vue'; import { Message } from '@arco-design/web-vue'; import showgroup from './components/showgroup.vue'; +import FamilyTreeChart from './components/FamilyTreeChart.vue'; interface DataItem { username: string; From 22d2252dea9e1e213b8b6f14ad55e6524db4ba8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E7=8B=BC?= <2468023037@qq.com> Date: Fri, 14 Feb 2025 13:09:35 +0800 Subject: [PATCH 2/3] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/withdraw.ts | 71 +++++++ src/locale/zh-CN.ts | 6 +- src/router/routes/modules/withdraw.ts | 28 +++ src/views/carousel/carousel.vue | 4 +- src/views/jobuser/index.vue | 1 + .../withdraw/components/FamilyTreeChart.vue | 93 +++++++++ src/views/withdraw/components/banner.vue | 35 ++++ src/views/withdraw/components/showgroup.vue | 39 ++++ src/views/withdraw/index.vue | 186 ++++++++++++++++++ src/views/withdraw/locale/en-US.ts | 5 + src/views/withdraw/locale/zh-CN.ts | 5 + 11 files changed, 470 insertions(+), 3 deletions(-) create mode 100644 src/api/withdraw.ts create mode 100644 src/router/routes/modules/withdraw.ts create mode 100644 src/views/withdraw/components/FamilyTreeChart.vue create mode 100644 src/views/withdraw/components/banner.vue create mode 100644 src/views/withdraw/components/showgroup.vue create mode 100644 src/views/withdraw/index.vue create mode 100644 src/views/withdraw/locale/en-US.ts create mode 100644 src/views/withdraw/locale/zh-CN.ts diff --git a/src/api/withdraw.ts b/src/api/withdraw.ts new file mode 100644 index 0000000..d230eae --- /dev/null +++ b/src/api/withdraw.ts @@ -0,0 +1,71 @@ +import axios from 'axios'; +import { S } from 'mockjs'; + + +export interface LoginData { + username: string; + password: string; +} + + +export interface jobuser { + status: string; + code: number; + message: string; + data: { + jobuser: { + username: string; // 账号 + password: string; // 密码 + time: Date; // 注册时间 + type: number; // 累计在线时间 + }[] + }; + +} + +export interface Black { + status: string; + code: number; + message: string; + data: {}; +} +export interface Refresh { + status: string; + code: number; + data: { + access_token: string; + refresh_token: string; + }; + message: string; +} + +export interface ListParams { + black?: string; + username?: string; + } +/** + * + * @param data 获取列表 + * @returns + */ +export function lists(params: ListParams) { + return axios.post('/api/v1/withdraw/lists',params); +} + +// /** +// * +// * @param id 拉黑 +// * @returns +// */ +// export function getBlack(id: string) { +// return axios.post('/api/v1/jobuser/getBlack', { id }); +// } + +// /** +// * +// * @param id 洗白 +// * @returns +// */ +// export function getOutBlack(id: string) { +// return axios.post('/api/v1/jobuser/getOutBlack', { id }); +// } \ No newline at end of file diff --git a/src/locale/zh-CN.ts b/src/locale/zh-CN.ts index f51ed5a..3cfde48 100644 --- a/src/locale/zh-CN.ts +++ b/src/locale/zh-CN.ts @@ -36,6 +36,8 @@ import localeJobuser from '@/views/jobuser/locale/zh-CN'; import localeJUserblack from '@/views/userblack/locale/zh-CN'; import localeDictionary from '@/views/dictionary/locale/zh-CN'; + +import localeWithdraw from '@/views/withdraw/locale/zh-CN'; export default { 'menu.dashboard': '仪表盘', 'menu.server.dashboard': '仪表盘-服务端', @@ -58,6 +60,7 @@ export default { 'menu.volunteerservicecorps':'志愿队', 'menu.jobuser':'用户', "menu.dictionary":'客服', + "menu.withdraw": '提现管理', ...localeSettings, ...localeMessageBox, ...localeLogin, @@ -84,5 +87,6 @@ export default { ...localevolunteerservicecorps, ...localeJobuser, ...localeJUserblack, - ...localeDictionary + ...localeDictionary, + ...localeWithdraw }; diff --git a/src/router/routes/modules/withdraw.ts b/src/router/routes/modules/withdraw.ts new file mode 100644 index 0000000..8650f8d --- /dev/null +++ b/src/router/routes/modules/withdraw.ts @@ -0,0 +1,28 @@ +import { DEFAULT_LAYOUT } from '../base'; +import { AppRouteRecordRaw } from '../types'; + +const JOBUSER: AppRouteRecordRaw = { + path: '/withdraw', + name: 'withdraw', + component: DEFAULT_LAYOUT, + meta: { + locale: 'menu.withdraw', + requiresAuth: true, + icon: 'icon-user', + order: 0, + }, + children: [ + { + path: 'withdraws', + name: 'withdraws', + component: () => import('@/views/withdraw/index.vue'), + meta: { + locale: 'menu.withdraw.list', + requiresAuth: true, + roles: ['*'], + }, + }, + ], +}; + +export default JOBUSER; diff --git a/src/views/carousel/carousel.vue b/src/views/carousel/carousel.vue index 2b2786f..d1fb78e 100644 --- a/src/views/carousel/carousel.vue +++ b/src/views/carousel/carousel.vue @@ -10,8 +10,8 @@ 100 积分 = 5 PKR -->

100积分

- - + + diff --git a/src/views/jobuser/index.vue b/src/views/jobuser/index.vue index 4ebabbb..abf6fcc 100644 --- a/src/views/jobuser/index.vue +++ b/src/views/jobuser/index.vue @@ -8,6 +8,7 @@ + diff --git a/src/views/withdraw/index.vue b/src/views/withdraw/index.vue index 3295cc5..165c2d1 100644 --- a/src/views/withdraw/index.vue +++ b/src/views/withdraw/index.vue @@ -3,31 +3,25 @@ - + @@ -39,12 +33,30 @@ import { computed, ref, reactive, watch, nextTick, onMounted } from 'vue'; import { lists } from '@/api/withdraw'; import { Modal } from '@arco-design/web-vue'; import { Message } from '@arco-design/web-vue'; - +const columns = [ + { + title: 'Name', + dataIndex: 'name', + }, + { + title: 'Salary', + dataIndex: 'salary', + }, + { + title: 'Address', + dataIndex: 'address', + }, + { + title: 'Email', + dataIndex: 'email', + }, + ]; interface DataItem { - username: string; - password: string; - time: Date; - money: string; + user_id: string; + username: string; + money: Date; + status: string; + createtime2: string; } let data = ref([]) //弹窗控制 @@ -59,9 +71,9 @@ const show_group=(id:number)=>{ const showConfirm = (id: string) => { Modal.confirm({ title: '操作提醒', - content: '是否同意该用户提现申请', - okText: '通过', - cancelText: '不通过', + content: '是否同意该用户的提现申请', + okText: '同意', + cancelText: '拒绝', onOk: () => handleBlock(id), onCancel: () => Message.info('取消操作'), });