From 0c53dc4d54a016e2a77135eaf61984d06df65b11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=9A=E5=95=A6C=E6=A2=A6?= <15709267061@163.com> Date: Mon, 17 Mar 2025 17:41:02 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=A1=E7=90=86=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/LayoutHeader/index.vue | 17 +- src/pages/login/Login.vue | 3 +- .../pages/account-management /index.vue | 11 - .../blackout-records.vue | 1 + .../expert-account.vue | 1 + .../manage/pages/account-management/index.vue | 16 ++ .../merchant-account.vue | 1 + .../promoted-accounts.vue | 1 + .../manage/pages/expert-management/index.vue | 11 - .../manage/pages/fund/financial-overview.vue | 1 + .../pages/fund/fund-management-business.vue | 1 + .../pages/fund/fund-management-expert.vue | 1 + src/pages/manage/pages/fund/index.vue | 17 +- .../manage/pages/fund/payment-management.vue | 1 + .../pages/fund/withdrawal-information.vue | 1 + .../expert-end-materials.vue | 1 + .../pages/manage-expert-management/index.vue | 26 ++ .../task-sorting.vue | 1 + .../team-complaints.vue | 1 + .../pages/manage-reward-mission/index.vue | 26 ++ .../subtask-review.vue | 1 + .../task-review.vue | 1 + .../exemption-from-audit-review.vue | 1 + .../manage/pages/message-center/index.vue | 17 +- .../pages/message-center/message-review.vue | 1 + .../message-center/platform-intervention.vue | 1 + .../manage/pages/reward-mission/index.vue | 11 - src/pinia/SystemStore/index.js | 25 +- src/pinia/SystemStore/mock.js | 243 +++++++++++++++++- src/pinia/UserStore/index.js | 11 +- src/router/routes-map.js | 35 +++ 31 files changed, 440 insertions(+), 46 deletions(-) delete mode 100644 src/pages/manage/pages/account-management /index.vue rename src/pages/manage/pages/{account-management => account-management}/blackout-records.vue (85%) rename src/pages/manage/pages/{account-management => account-management}/expert-account.vue (85%) create mode 100644 src/pages/manage/pages/account-management/index.vue rename src/pages/manage/pages/{account-management => account-management}/merchant-account.vue (85%) rename src/pages/manage/pages/{account-management => account-management}/promoted-accounts.vue (85%) delete mode 100644 src/pages/manage/pages/expert-management/index.vue rename src/pages/manage/pages/{expert-management => manage-expert-management}/expert-end-materials.vue (84%) create mode 100644 src/pages/manage/pages/manage-expert-management/index.vue rename src/pages/manage/pages/{expert-management => manage-expert-management}/task-sorting.vue (85%) rename src/pages/manage/pages/{expert-management => manage-expert-management}/team-complaints.vue (85%) create mode 100644 src/pages/manage/pages/manage-reward-mission/index.vue rename src/pages/manage/pages/{reward-mission => manage-reward-mission}/subtask-review.vue (84%) rename src/pages/manage/pages/{reward-mission => manage-reward-mission}/task-review.vue (85%) delete mode 100644 src/pages/manage/pages/reward-mission/index.vue diff --git a/src/components/LayoutHeader/index.vue b/src/components/LayoutHeader/index.vue index 179d3b9..392c5a8 100644 --- a/src/components/LayoutHeader/index.vue +++ b/src/components/LayoutHeader/index.vue @@ -1,13 +1,28 @@ diff --git a/src/pages/login/Login.vue b/src/pages/login/Login.vue index 7b3875d..bcb4b3a 100644 --- a/src/pages/login/Login.vue +++ b/src/pages/login/Login.vue @@ -42,7 +42,8 @@ const mode = ref(MODE.PHONE);
- 登陆 + 登陆商户端 + 登陆管理端 diff --git a/src/pages/manage/pages/account-management /index.vue b/src/pages/manage/pages/account-management /index.vue deleted file mode 100644 index db480c8..0000000 --- a/src/pages/manage/pages/account-management /index.vue +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/src/pages/manage/pages/account-management /blackout-records.vue b/src/pages/manage/pages/account-management/blackout-records.vue similarity index 85% rename from src/pages/manage/pages/account-management /blackout-records.vue rename to src/pages/manage/pages/account-management/blackout-records.vue index 1f5c634..484afd8 100644 --- a/src/pages/manage/pages/account-management /blackout-records.vue +++ b/src/pages/manage/pages/account-management/blackout-records.vue @@ -4,6 +4,7 @@ diff --git a/src/pages/manage/pages/account-management /merchant-account.vue b/src/pages/manage/pages/account-management/merchant-account.vue similarity index 85% rename from src/pages/manage/pages/account-management /merchant-account.vue rename to src/pages/manage/pages/account-management/merchant-account.vue index 8c8646c..2485547 100644 --- a/src/pages/manage/pages/account-management /merchant-account.vue +++ b/src/pages/manage/pages/account-management/merchant-account.vue @@ -4,6 +4,7 @@ diff --git a/src/pages/manage/pages/fund/financial-overview.vue b/src/pages/manage/pages/fund/financial-overview.vue index 34aa80e..5821d17 100644 --- a/src/pages/manage/pages/fund/financial-overview.vue +++ b/src/pages/manage/pages/fund/financial-overview.vue @@ -4,6 +4,7 @@ diff --git a/src/pages/manage/pages/fund/payment-management.vue b/src/pages/manage/pages/fund/payment-management.vue index d5bd833..40272f9 100644 --- a/src/pages/manage/pages/fund/payment-management.vue +++ b/src/pages/manage/pages/fund/payment-management.vue @@ -4,6 +4,7 @@ diff --git a/src/pages/manage/pages/expert-management/task-sorting.vue b/src/pages/manage/pages/manage-expert-management/task-sorting.vue similarity index 85% rename from src/pages/manage/pages/expert-management/task-sorting.vue rename to src/pages/manage/pages/manage-expert-management/task-sorting.vue index 6cbdfda..e1dd676 100644 --- a/src/pages/manage/pages/expert-management/task-sorting.vue +++ b/src/pages/manage/pages/manage-expert-management/task-sorting.vue @@ -4,6 +4,7 @@ diff --git a/src/pages/manage/pages/reward-mission/subtask-review.vue b/src/pages/manage/pages/manage-reward-mission/subtask-review.vue similarity index 84% rename from src/pages/manage/pages/reward-mission/subtask-review.vue rename to src/pages/manage/pages/manage-reward-mission/subtask-review.vue index 27b98f4..bdafcc1 100644 --- a/src/pages/manage/pages/reward-mission/subtask-review.vue +++ b/src/pages/manage/pages/manage-reward-mission/subtask-review.vue @@ -4,6 +4,7 @@ diff --git a/src/pages/manage/pages/message-center/message-review.vue b/src/pages/manage/pages/message-center/message-review.vue index 8d45b8d..9a93d01 100644 --- a/src/pages/manage/pages/message-center/message-review.vue +++ b/src/pages/manage/pages/message-center/message-review.vue @@ -4,6 +4,7 @@ diff --git a/src/pinia/SystemStore/index.js b/src/pinia/SystemStore/index.js index 967f5b6..64dd36b 100644 --- a/src/pinia/SystemStore/index.js +++ b/src/pinia/SystemStore/index.js @@ -1,6 +1,6 @@ import {defineStore} from "pinia"; import {ref} from "vue"; -import mockRoutes from './mock.js'; +import {mockRoutes1, mockRoutes2} from './mock.js'; import router from "../../router/index.js"; import generateRouter from "../../router/generateRouter.js"; @@ -21,19 +21,36 @@ export const useSystemStore = defineStore("SystemStore", () => { await router.replace(router.currentRoute.value.fullPath); } - const setRouter = async () => { + const setRouter = async (_isRoot) => { + isRoot.value = _isRoot; + RoutesTemp.value.length = 0; // 请求资源 mockRoutes - const routes = generateRouter(mockRoutes); - RoutesTemp.value.push(...mockRoutes); + const routes = generateRouter(isRoot.value ? mockRoutes2 : mockRoutes1); + RoutesTemp.value.push(...(isRoot.value ? mockRoutes2 : mockRoutes1)); await installRoute(); } + const clearRouter = async () => { + const routes = generateRouter(RoutesTemp.value); + RoutesTemp.value.length = 0; + router.removeRoute('home'); + router.addRoute({ + path: '/home', + name: 'home', + component: () => import('../../pages/layout/index.vue'), + redirect: `/home/${routes[0].path}`, + children: [] + }); + await router.replace(router.currentRoute.value.fullPath); + } + return { isRoot, RoutesTemp, setRouter, installRoute, + clearRouter, } }, { persist: { diff --git a/src/pinia/SystemStore/mock.js b/src/pinia/SystemStore/mock.js index 80b9118..c9453e1 100644 --- a/src/pinia/SystemStore/mock.js +++ b/src/pinia/SystemStore/mock.js @@ -1,4 +1,4 @@ -const mockRoutes = [ +const mockRoutes1 = [ { path: 'task-center', name: 'task-center', @@ -102,7 +102,8 @@ const mockRoutes = [ title: '数据看板', icon: '', meta: { - name: '数据看板' + name: '数据看板', + hidden: true, }, component: 'data-board', }, @@ -204,4 +205,240 @@ const mockRoutes = [ } ]; -export default mockRoutes; +const mockRoutes2 = [ + { + path: 'manage-reward-mission', + name: 'manage-reward-mission', + title: '悬赏任务', + icon: '', + meta: { + name: '悬赏任务' + }, + component: 'manage-reward-mission', + children: [ + { + path: 'task-review', + name: 'task-review', + title: '任务审核', + icon: '', + meta: { + name: '任务审核' + }, + component: 'task-review', + }, + { + path: 'subtask-review', + name: 'subtask-review', + title: '子任务审核', + icon: '', + meta: { + name: '子任务审核' + }, + component: 'subtask-review', + }, + ] + }, + { + path: 'message-center', + name: 'message-center', + title: '消息中心', + icon: '', + meta: { + name: '消息中心' + }, + component: 'message-center', + children: [ + { + path: 'message-review', + name: 'message-review', + title: '消息审核', + icon: '', + meta: { + name: '消息审核' + }, + component: 'message-review', + }, + { + path: 'exemption-from-audit-review', + name: 'exemption-from-audit-review', + title: '免审审核', + icon: '', + meta: { + name: '免审审核' + }, + component: 'subtask-review', + }, + { + path: 'platform-intervention', + name: 'platform-intervention', + title: '平台介入', + icon: '', + meta: { + name: '平台介入' + }, + component: 'platform-intervention', + }, + ] + }, + { + path: 'fund', + name: 'fund', + title: '资金', + icon: '', + meta: { + name: '资金' + }, + component: 'fund', + children: [ + { + path: 'fund-management-business', + name: 'fund-management-business', + title: '资金管理(商)', + icon: '', + meta: { + name: '资金管理(商)' + }, + component: 'fund-management-business', + }, + { + path: 'fund-management-expert', + name: 'fund-management-expert', + title: '资金管理(达)', + icon: '', + meta: { + name: '资金管理(达)' + }, + component: 'fund-management-expert', + }, + { + path: 'withdrawal-information', + name: 'withdrawal-information', + title: '提现信息', + icon: '', + meta: { + name: '提现信息' + }, + component: 'withdrawal-information', + }, + { + path: 'financial-overview', + name: 'financial-overview', + title: '资金概览', + icon: '', + meta: { + name: '资金概览' + }, + component: 'financial-overview', + }, + { + path: 'payment-management', + name: 'payment-management', + title: '打款管理', + icon: '', + meta: { + name: '打款管理' + }, + component: 'payment-management', + }, + ] + }, + { + path: 'account-management', + name: 'account-management', + title: '账号管理', + icon: '', + meta: { + name: '账号管理' + }, + component: 'account-management', + children: [ + { + path: 'merchant-account', + name: 'merchant-account', + title: '商家账号', + icon: '', + meta: { + name: '商家账号' + }, + component: 'merchant-account', + }, + { + path: 'expert-account', + name: 'expert-account', + title: '达人账号', + icon: '', + meta: { + name: '达人账号' + }, + component: 'expert-account', + }, + { + path: 'promoted-accounts', + name: 'promoted-accounts', + title: '推广账号', + icon: '', + meta: { + name: '推广账号' + }, + component: 'promoted-accounts', + }, + { + path: 'blackout-records', + name: 'blackout-records', + title: '拉黑记录', + icon: '', + meta: { + name: '拉黑记录' + }, + component: 'blackout-records', + }, + ] + }, + { + path: 'manage-expert-management', + name: 'manage-expert-management', + title: '资金', + icon: '', + meta: { + name: '达人端管理' + }, + component: 'manage-expert-management', + children: [ + { + path: 'expert-end-materials', + name: 'expert-end-materials', + title: '达人端物料', + icon: '', + meta: { + name: '达人端物料' + }, + component: 'expert-end-materials', + }, + { + path: 'task-sorting', + name: 'task-sorting', + title: '任务排序', + icon: '', + meta: { + name: '任务排序' + }, + component: 'task-sorting', + }, + { + path: 'team-complaints', + name: 'team-complaints', + title: '团队投诉', + icon: '', + meta: { + name: '团队投诉' + }, + component: 'team-complaints', + }, + ] + } +]; + +export { + mockRoutes1, + mockRoutes2 +}; diff --git a/src/pinia/UserStore/index.js b/src/pinia/UserStore/index.js index 3cfcc64..73ac011 100644 --- a/src/pinia/UserStore/index.js +++ b/src/pinia/UserStore/index.js @@ -7,19 +7,26 @@ export const useUserStore = defineStore("UserStore", () => { const isLogin = ref(false); const userInfo = ref(null); - const login = async (from) => { + const login = async (isRoot = false) => { // 请求 isLogin.value = true; // 获取并安装路由 const { setRouter } = useSystemStore(); - await setRouter(); + await setRouter(isRoot); // 跳转 await router.push('/home'); } + + const logout = async () => { + isLogin.value = false; + const { clearRouter } = useSystemStore(); + await clearRouter(); + } return { isLogin, userInfo, login, + logout, } }, { persist: { diff --git a/src/router/routes-map.js b/src/router/routes-map.js index d1db0de..840a92d 100644 --- a/src/router/routes-map.js +++ b/src/router/routes-map.js @@ -1,4 +1,8 @@ const routesMap = { + /** + * 商户端 + */ + 'task-center': () => import('../pages/merchant/pages/task-center/index.vue'), 'reward-mission': () => import('../pages/merchant/pages/task-center/reward-mission.vue'), 'appointed-task': () => import('../pages/merchant/pages/task-center/appointed-task.vue'), @@ -22,6 +26,37 @@ const routesMap = { 'get-help': () => import('../pages/merchant/pages/get-help/index.vue'), 'problem-teaching': () => import('../pages/merchant/pages/get-help/problem-teaching.vue'), 'contact-customer-service': () => import('../pages/merchant/pages/get-help/contact-customer-service.vue'), + + /** + * 达人端 + */ + + 'manage-reward-mission': () => import('../pages/manage/pages/manage-reward-mission/index.vue'), + 'task-review': () => import('../pages/manage/pages/manage-reward-mission/task-review.vue'), + 'subtask-review': () => import('../pages/manage/pages/manage-reward-mission/subtask-review.vue'), + + 'message-center': () => import('../pages/manage/pages/message-center/index.vue'), + 'message-review': () => import('../pages/manage/pages/message-center/message-review.vue'), + 'exemption-from-audit-review': () => import('../pages/manage/pages/message-center/exemption-from-audit-review.vue'), + 'platform-intervention': () => import('../pages/manage/pages/message-center/platform-intervention.vue'), + + 'fund': () => import('../pages/manage/pages/fund/index.vue'), + 'fund-management-business': () => import('../pages/manage/pages/fund/fund-management-business.vue'), + 'fund-management-expert': () => import('../pages/manage/pages/fund/fund-management-expert.vue'), + 'withdrawal-information': () => import('../pages/manage/pages/fund/withdrawal-information.vue'), + 'financial-overview': () => import('../pages/manage/pages/fund/financial-overview.vue'), + 'payment-management': () => import('../pages/manage/pages/fund/payment-management.vue'), + + 'account-management': () => import('../pages/manage/pages/account-management/index.vue'), + 'merchant-account': () => import('../pages/manage/pages/account-management/merchant-account.vue'), + 'expert-account': () => import('../pages/manage/pages/account-management/expert-account.vue'), + 'promoted-accounts': () => import('../pages/manage/pages/account-management/promoted-accounts.vue'), + 'blackout-records': () => import('../pages/manage/pages/account-management/blackout-records.vue'), + + 'manage-expert-management': () => import('../pages/manage/pages/manage-expert-management/index.vue'), + 'expert-end-materials': () => import('../pages/manage/pages/manage-expert-management/expert-end-materials.vue'), + 'task-sorting': () => import('../pages/manage/pages/manage-expert-management/task-sorting.vue'), + 'team-complaints': () => import('../pages/manage/pages/manage-expert-management/team-complaints.vue'), }; export default routesMap;