From ac798f3f943ca92004cf956c3664a5774255e81b Mon Sep 17 00:00:00 2001 From: qsh <> Date: Sun, 22 Oct 2023 16:49:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A5=E5=BE=85=E4=BA=BA=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/permission.js | 24 +- src/router/index.js | 382 ++++++++++++++------------- src/views/sch/coach/count/detail.vue | 57 ++++ src/views/sch/coach/count/index.vue | 63 +++++ 4 files changed, 339 insertions(+), 187 deletions(-) create mode 100644 src/views/sch/coach/count/detail.vue create mode 100644 src/views/sch/coach/count/index.vue diff --git a/src/permission.js b/src/permission.js index b14dc3e..35e8982 100644 --- a/src/permission.js +++ b/src/permission.js @@ -7,23 +7,27 @@ */ import router from './router'; import store from './store'; -import { - Message -} from 'element-ui'; +import { Message } from 'element-ui'; import NProgress from 'nprogress'; import 'nprogress/nprogress.css'; -import { - getToken -} from '@/utils/auth'; -import { - isRelogin -} from '@/utils/request'; +import { getToken } from '@/utils/auth'; +import { isRelogin } from '@/utils/request'; NProgress.configure({ showSpinner: false }); -const whiteList = ['/login', '/auth-redirect', '/bind', '/register', '/question', '/clue/feedback/follow', '/clue/feedback/arrival']; +const whiteList = [ + '/login', + '/auth-redirect', + '/bind', + '/register', + '/question', + '/clue/feedback/follow', + '/clue/feedback/arrival', + '/coach/count', + '/coach/count/detail' +]; router.beforeEach((to, from, next) => { NProgress.start(); diff --git a/src/router/index.js b/src/router/index.js index b143427..d2e5c28 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -29,186 +29,214 @@ import Layout from '@/layout'; */ // 公共路由 -export const constantRoutes = [{ - path: '/redirect', - component: Layout, - hidden: true, - children: [{ - path: '/redirect/:path(.*)', - component: () => import('@/views/redirect') - }] -}, -{ - path: '/login', - component: () => import('@/views/login'), - hidden: true -}, -{ - path: '/register', - component: () => import('@/views/register'), - hidden: true -}, -{ - path: '/question', - component: () => import('@/views/question'), - hidden: true -}, -{ - path: '/clue/feedback/follow', - component: () => import('@/views/zs/feedback/follow'), - hidden: true -}, -{ - path: '/clue/feedback/arrival', - component: () => import('@/views/zs/feedback/arrival'), - hidden: true -}, -{ - path: '/404', - component: () => import('@/views/error/404'), - hidden: true -}, -{ - path: '/401', - component: () => import('@/views/error/401'), - hidden: true -}, -{ - path: '', - component: Layout, - redirect: 'index', - children: [{ - path: 'index', - component: () => import('@/views/index'), - name: 'Index', - meta: { - title: '首页', - icon: 'dashboard', - affix: true - } - }] -}, -// { -// path: '/demo', -// component: Layout, -// redirect: 'noredirect', -// meta: { -// title: 'Demo', -// icon: 'xx' -// }, -// children: [{ -// path: '/base-page', -// component: () => import('@/views/demo/basePage/index'), -// name: 'BasePage', -// meta: { -// title: 'BasePage', -// icon: 'xx' -// } -// }, -// { -// path: '/base-components', -// component: () => import('@/views/demo/baseComponents/index'), -// name: 'BaseComponents', -// meta: { -// title: 'BaseComponents', -// icon: 'xx' -// } -// } -// ] -// }, -{ - path: '/user', - component: Layout, - hidden: true, - redirect: 'noredirect', - children: [{ - path: 'profile', - component: () => import('@/views/system/user/profile/index'), - name: 'Profile', - meta: { - title: '个人中心', - icon: 'user' - } - }] -} +export const constantRoutes = [ + { + path: '/redirect', + component: Layout, + hidden: true, + children: [ + { + path: '/redirect/:path(.*)', + component: () => import('@/views/redirect') + } + ] + }, + { + path: '/login', + component: () => import('@/views/login'), + hidden: true + }, + { + path: '/register', + component: () => import('@/views/register'), + hidden: true + }, + { + path: '/question', + component: () => import('@/views/question'), + hidden: true + }, + { + path: '/clue/feedback/follow', + component: () => import('@/views/zs/feedback/follow'), + hidden: true + }, + { + path: '/clue/feedback/arrival', + component: () => import('@/views/zs/feedback/arrival'), + hidden: true + }, + { + path: '/coach/count', + component: () => import('@/views/sch/coach/count'), + hidden: true + }, + { + path: '/coach/count/detail', + component: () => import('@/views/sch/coach/count/detail'), + hidden: true + }, + { + path: '/404', + component: () => import('@/views/error/404'), + hidden: true + }, + { + path: '/401', + component: () => import('@/views/error/401'), + hidden: true + }, + { + path: '', + component: Layout, + redirect: 'index', + children: [ + { + path: 'index', + component: () => import('@/views/index'), + name: 'Index', + meta: { + title: '首页', + icon: 'dashboard', + affix: true + } + } + ] + }, + // { + // path: '/demo', + // component: Layout, + // redirect: 'noredirect', + // meta: { + // title: 'Demo', + // icon: 'xx' + // }, + // children: [{ + // path: '/base-page', + // component: () => import('@/views/demo/basePage/index'), + // name: 'BasePage', + // meta: { + // title: 'BasePage', + // icon: 'xx' + // } + // }, + // { + // path: '/base-components', + // component: () => import('@/views/demo/baseComponents/index'), + // name: 'BaseComponents', + // meta: { + // title: 'BaseComponents', + // icon: 'xx' + // } + // } + // ] + // }, + { + path: '/user', + component: Layout, + hidden: true, + redirect: 'noredirect', + children: [ + { + path: 'profile', + component: () => import('@/views/system/user/profile/index'), + name: 'Profile', + meta: { + title: '个人中心', + icon: 'user' + } + } + ] + } ]; // 动态路由,基于用户权限动态去加载 -export const dynamicRoutes = [{ - path: '/system/user-auth', - component: Layout, - hidden: true, - permissions: ['system:user:edit'], - children: [{ - path: 'role/:userId(\\d+)', - component: () => import('@/views/system/user/authRole'), - name: 'AuthRole', - meta: { - title: '分配角色', - activeMenu: '/system/user' - } - }] -}, -{ - path: '/system/role-auth', - component: Layout, - hidden: true, - permissions: ['system:role:edit'], - children: [{ - path: 'user/:roleId(\\d+)', - component: () => import('@/views/system/role/authUser'), - name: 'AuthUser', - meta: { - title: '分配用户', - activeMenu: '/system/role' - } - }] -}, -{ - path: '/system/dict-data', - component: Layout, - hidden: true, - permissions: ['system:dict:list'], - children: [{ - path: 'index/:dictId(\\d+)', - component: () => import('@/views/system/dict/data'), - name: 'Data', - meta: { - title: '字典数据', - activeMenu: '/system/dict' - } - }] -}, -{ - path: '/monitor/job-log', - component: Layout, - hidden: true, - permissions: ['monitor:job:list'], - children: [{ - path: 'index', - component: () => import('@/views/monitor/job/log'), - name: 'JobLog', - meta: { - title: '调度日志', - activeMenu: '/monitor/job' - } - }] -}, -{ - path: '/zs/clue-form', - component: Layout, - hidden: true, - permissions: ['zs:clue:add', 'zs:clue:edit'], - children: [{ - path: 'index/:clueId(\\d+)', - component: () => import('@/views/zs/clue/ClueForm'), - name: 'ClueForm', - meta: { - title: '线索详情', - activeMenu: '/zs/clue' - } - }] -} +export const dynamicRoutes = [ + { + path: '/system/user-auth', + component: Layout, + hidden: true, + permissions: ['system:user:edit'], + children: [ + { + path: 'role/:userId(\\d+)', + component: () => import('@/views/system/user/authRole'), + name: 'AuthRole', + meta: { + title: '分配角色', + activeMenu: '/system/user' + } + } + ] + }, + { + path: '/system/role-auth', + component: Layout, + hidden: true, + permissions: ['system:role:edit'], + children: [ + { + path: 'user/:roleId(\\d+)', + component: () => import('@/views/system/role/authUser'), + name: 'AuthUser', + meta: { + title: '分配用户', + activeMenu: '/system/role' + } + } + ] + }, + { + path: '/system/dict-data', + component: Layout, + hidden: true, + permissions: ['system:dict:list'], + children: [ + { + path: 'index/:dictId(\\d+)', + component: () => import('@/views/system/dict/data'), + name: 'Data', + meta: { + title: '字典数据', + activeMenu: '/system/dict' + } + } + ] + }, + { + path: '/monitor/job-log', + component: Layout, + hidden: true, + permissions: ['monitor:job:list'], + children: [ + { + path: 'index', + component: () => import('@/views/monitor/job/log'), + name: 'JobLog', + meta: { + title: '调度日志', + activeMenu: '/monitor/job' + } + } + ] + }, + { + path: '/zs/clue-form', + component: Layout, + hidden: true, + permissions: ['zs:clue:add', 'zs:clue:edit'], + children: [ + { + path: 'index/:clueId(\\d+)', + component: () => import('@/views/zs/clue/ClueForm'), + name: 'ClueForm', + meta: { + title: '线索详情', + activeMenu: '/zs/clue' + } + } + ] + } ]; // 防止连续点击多次路由报错 diff --git a/src/views/sch/coach/count/detail.vue b/src/views/sch/coach/count/detail.vue new file mode 100644 index 0000000..8c93c69 --- /dev/null +++ b/src/views/sch/coach/count/detail.vue @@ -0,0 +1,57 @@ + + + + + + 搜索 + + + + + + + + + + + + + + + diff --git a/src/views/sch/coach/count/index.vue b/src/views/sch/coach/count/index.vue new file mode 100644 index 0000000..5ce4c62 --- /dev/null +++ b/src/views/sch/coach/count/index.vue @@ -0,0 +1,63 @@ + + + + + + + + + + + + 查询 + + + + + + 接待统计 + + + 今日接到人数:100 + 今日成交人数:69 + 今日未成交人数:31 + 详情 + + + + 本月接到人数:200 + 本月成交人数:169 + 本月未成交人数:31 + + + + + +