Merge remote-tracking branch 'contact-frontend' into v9
2
.gitignore
vendored
@ -23,5 +23,5 @@ nohup.out
|
||||
docker-compose.dev.yml
|
||||
docker-compose.custom.yml
|
||||
private/
|
||||
!contact-frontend/.vscode
|
||||
!cskefu-frontend/.vscode
|
||||
.tool-versions
|
||||
|
@ -1 +1 @@
|
||||
cd ./contact-frontend && pnpm run lint
|
||||
cd ./cskefu-frontend && pnpm run lint
|
@ -1,3 +0,0 @@
|
||||
<template>
|
||||
<div>seats home</div>
|
||||
</template>
|
@ -1,31 +0,0 @@
|
||||
<script setup lang="ts">
|
||||
import { NButton, NDivider } from 'naive-ui'
|
||||
</script>
|
||||
<template>
|
||||
<div class="pt-2 flex flex-col">
|
||||
<span class="text-gray-500">原生</span>
|
||||
<n-button>用户名(默认)</n-button>
|
||||
<n-button disabled>邮箱</n-button>
|
||||
<n-button disabled>电话</n-button>
|
||||
<span class="text-gray-500">其他</span>
|
||||
<n-divider title-placement="left"> 国际 </n-divider>
|
||||
<n-button disabled>MicroSoft</n-button>
|
||||
<n-button disabled>Google</n-button>
|
||||
<n-button disabled>Apple</n-button>
|
||||
<n-button disabled>Facebook</n-button>
|
||||
<n-button disabled>Twitter</n-button>
|
||||
<n-button disabled>GitHub</n-button>
|
||||
<n-button disabled>Steam</n-button>
|
||||
<n-divider title-placement="left"> 国内 </n-divider>
|
||||
<n-button disabled>微信</n-button>
|
||||
<n-button disabled>微博</n-button>
|
||||
<n-button disabled>QQ</n-button>
|
||||
<n-button disabled>淘宝</n-button>
|
||||
<n-button disabled>钉钉</n-button>
|
||||
<n-button disabled>飞书</n-button>
|
||||
<n-button disabled>企业微信</n-button>
|
||||
<span class="text-gray-500">定制</span>
|
||||
<n-button disabled>OpenID Connect</n-button>
|
||||
<n-button disabled>SAML</n-button>
|
||||
</div>
|
||||
</template>
|
@ -21,13 +21,13 @@
|
||||
│ │ │ ├── dashboard # 工作台相关
|
||||
│ │ │ ├── chat # 客服对话聊天相关
|
||||
│ │ │ ├── worker-order # 工单模块
|
||||
│ │ │ ├── seats # 坐席模块
|
||||
│ │ │ ├── agents # 坐席模块
|
||||
│ │ │ ├── organization # 组织设置模块
|
||||
│ │ │ ├── setting # 设置相关
|
||||
│ │ │ ├── enterprise # 企业设置模块
|
||||
│ │ │ ├── system # 系统设置模块
|
||||
│ │ │ ├── auth # 权限/登录相关
|
||||
│ ├── plugins # 插件 (开发使用的三方库,例如:ProseMirror)
|
||||
│ ├── plugins # 插件相关 (开发使用的三方库,例如:ProseMirror)
|
||||
│ │ ├── prose-mirror # prose-mirror 插件
|
||||
│ │ ├── directives # 自定义指令
|
||||
│ ├── widgets # 小组件
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "contact-frontend",
|
||||
"name": "cskefu-frontend",
|
||||
"private": true,
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
@ -16,7 +16,7 @@
|
||||
"@cskefu/services-auth": "*",
|
||||
"@cskefu/services-chat": "*",
|
||||
"@cskefu/services-dashboard": "*",
|
||||
"@cskefu/services-seats": "*",
|
||||
"@cskefu/services-agents": "*",
|
||||
"@cskefu/services-organization": "*",
|
||||
"@cskefu/services-setting": "*",
|
||||
"@cskefu/services-system": "*",
|
@ -25,7 +25,7 @@ const navigations = [
|
||||
{ label: '首页', value: ROUTE_NAME.DASHBOARD_INDEX },
|
||||
{ label: '对话', value: ROUTE_NAME.CHAT_INDEX },
|
||||
{ label: '工单', value: ROUTE_NAME.WORK_ORDER_INDEX },
|
||||
{ label: '坐席', value: ROUTE_NAME.SEATS_INDEX },
|
||||
{ label: '坐席', value: ROUTE_NAME.AGENTS_INDEX },
|
||||
{ label: '组织', value: ROUTE_NAME.ORGANIZATION_INDEX },
|
||||
{ label: '设置', value: ROUTE_NAME.SETTING_INDEX },
|
||||
]
|
||||
@ -53,8 +53,8 @@ switch (path) {
|
||||
case 'work-order':
|
||||
currentPath.value = ROUTE_NAME.WORK_ORDER_INDEX
|
||||
break
|
||||
case 'seats':
|
||||
currentPath.value = ROUTE_NAME.SEATS_INDEX
|
||||
case 'agents':
|
||||
currentPath.value = ROUTE_NAME.AGENTS_INDEX
|
||||
break
|
||||
case 'organization':
|
||||
currentPath.value = ROUTE_NAME.ORGANIZATION_INDEX
|
@ -6,7 +6,7 @@ import { routes as authRoutes } from '@cskefu/services-auth'
|
||||
import { routes as dashboardRoutes } from '@cskefu/services-dashboard'
|
||||
import { routes as settingRoutes } from '@cskefu/services-setting'
|
||||
import { routes as systemRoutes } from '@cskefu/services-system'
|
||||
import { routes as seatsRoutes } from '@cskefu/services-seats'
|
||||
import { routes as agentsRoutes } from '@cskefu/services-agents'
|
||||
import { routes as organizationRoutes } from '@cskefu/services-organization'
|
||||
import { routes as chatRoutes } from '@cskefu/services-chat'
|
||||
import { routes as workOrderRoutes } from '@cskefu/services-work-order'
|
||||
@ -35,7 +35,7 @@ const routes: RouteRecordRaw[] = [
|
||||
...dashboardRoutes,
|
||||
...chatRoutes,
|
||||
...workOrderRoutes,
|
||||
...seatsRoutes,
|
||||
...agentsRoutes,
|
||||
...organizationRoutes,
|
||||
...settingRoutes,
|
||||
...systemRoutes,
|
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 83 KiB |
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 77 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 4.8 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 651 B After Width: | Height: | Size: 651 B |
Before Width: | Height: | Size: 806 B After Width: | Height: | Size: 806 B |
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 378 B After Width: | Height: | Size: 378 B |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
@ -26,15 +26,15 @@ export enum ROUTE_NAME {
|
||||
WORK_ORDER_INDEX = 'WORK_ORDER_INDEX',
|
||||
|
||||
// 坐席模块
|
||||
SEATS_INDEX = 'SEATS_INDEX',
|
||||
SEATS_DASHBOARD_INDEX = 'SEATS_DASHBOARD_INDEX', // 坐席看板
|
||||
SEATS_CHATMANAGE_INDEX = 'SEATS_CHATMANAGE_INDEX', // 会话管理
|
||||
SEATS_LEAVEMANAGE_INDEX = 'SEATS_LEAVEMANAGE_INDEX', // 留言管理
|
||||
SEATS_SEATSMANAGE_INDEX = 'SEATS_SEATSMANAGE_INDEX', // 坐席管理
|
||||
SEATS_ROBOT_INDEX = 'SEATS_ROBOT_INDEX', // 机器人管理
|
||||
SEATS_ROBOT_DASHBOARD_INDEX = 'SEATS_ROBOTMANAGE_DASHBOARD_INDEX', // 机器人数据统计
|
||||
SEATS_ROBOT_MANAGE_INDEX = 'SEATS_ROBOTMANAGE_MANAGE_INDEX', // 机器人管理
|
||||
SEATS_ROBOT_SETTING_INDEX = 'SEATS_ROBOT_SETTING_INDEX', // 机器人设置
|
||||
AGENTS_INDEX = 'AGENTS_INDEX',
|
||||
AGENTS_DASHBOARD_INDEX = 'AGENTS_DASHBOARD_INDEX', // 坐席看板
|
||||
AGENTS_CHATMANAGE_INDEX = 'AGENTS_CHATMANAGE_INDEX', // 会话管理
|
||||
AGENTS_LEAVEMANAGE_INDEX = 'AGENTS_LEAVEMANAGE_INDEX', // 留言管理
|
||||
AGENTS_AGENTSMANAGE_INDEX = 'AGENTS_AGENTSMANAGE_INDEX', // 坐席管理
|
||||
AGENTS_ROBOT_INDEX = 'AGENTS_ROBOT_INDEX', // 机器人管理
|
||||
AGENTS_ROBOT_DASHBOARD_INDEX = 'AGENTS_ROBOTMANAGE_DASHBOARD_INDEX', // 机器人数据统计
|
||||
AGENTS_ROBOT_MANAGE_INDEX = 'AGENTS_ROBOTMANAGE_MANAGE_INDEX', // 机器人管理
|
||||
AGENTS_ROBOT_SETTING_INDEX = 'AGENTS_ROBOT_SETTING_INDEX', // 机器人设置
|
||||
|
||||
// 组织管理模块
|
||||
ORGANIZATION_INDEX = 'ORGANIZATION_INDEX',
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "@cskefu/services-seats",
|
||||
"name": "@cskefu/services-agents",
|
||||
"private": true,
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
@ -12,14 +12,14 @@ import {
|
||||
|
||||
const routes: RouteRecordRaw[] = [
|
||||
{
|
||||
path: '/seats',
|
||||
name: ROUTE_NAME.SEATS_INDEX,
|
||||
path: '/agents',
|
||||
name: ROUTE_NAME.AGENTS_INDEX,
|
||||
component: Layout,
|
||||
redirect: '/seats/index',
|
||||
redirect: '/agents/index',
|
||||
children: [
|
||||
{
|
||||
path: 'index',
|
||||
name: ROUTE_NAME.SEATS_DASHBOARD_INDEX,
|
||||
name: ROUTE_NAME.AGENTS_DASHBOARD_INDEX,
|
||||
component: () => import('../views/HomeView.vue'),
|
||||
meta: {
|
||||
title: '坐席看板',
|
||||
@ -29,7 +29,7 @@ const routes: RouteRecordRaw[] = [
|
||||
},
|
||||
{
|
||||
path: 'chat-manage',
|
||||
name: ROUTE_NAME.SEATS_CHATMANAGE_INDEX,
|
||||
name: ROUTE_NAME.AGENTS_CHATMANAGE_INDEX,
|
||||
component: () => import('../views/HomeView.vue'),
|
||||
meta: {
|
||||
title: '会话管理',
|
||||
@ -39,7 +39,7 @@ const routes: RouteRecordRaw[] = [
|
||||
},
|
||||
{
|
||||
path: 'leave-message',
|
||||
name: ROUTE_NAME.SEATS_LEAVEMANAGE_INDEX,
|
||||
name: ROUTE_NAME.AGENTS_LEAVEMANAGE_INDEX,
|
||||
component: () => import('../views/HomeView.vue'),
|
||||
meta: {
|
||||
title: '留言管理',
|
||||
@ -48,8 +48,8 @@ const routes: RouteRecordRaw[] = [
|
||||
},
|
||||
},
|
||||
{
|
||||
path: 'seats-manage',
|
||||
name: ROUTE_NAME.SEATS_SEATSMANAGE_INDEX,
|
||||
path: 'agents-manage',
|
||||
name: ROUTE_NAME.AGENTS_AGENTSMANAGE_INDEX,
|
||||
component: () => import('../views/HomeView.vue'),
|
||||
meta: {
|
||||
title: '坐席管理',
|
||||
@ -59,15 +59,16 @@ const routes: RouteRecordRaw[] = [
|
||||
},
|
||||
{
|
||||
path: 'robot',
|
||||
name: ROUTE_NAME.SEATS_ROBOT_INDEX,
|
||||
name: ROUTE_NAME.AGENTS_ROBOT_INDEX,
|
||||
meta: {
|
||||
title: '机器人管理',
|
||||
icon: HardwareChip,
|
||||
requiresAuth: false,
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: 'dashboard',
|
||||
name: ROUTE_NAME.SEATS_ROBOT_DASHBOARD_INDEX,
|
||||
name: ROUTE_NAME.AGENTS_ROBOT_DASHBOARD_INDEX,
|
||||
component: () => import('../views/HomeView.vue'),
|
||||
meta: {
|
||||
title: '数据统计',
|
||||
@ -76,7 +77,7 @@ const routes: RouteRecordRaw[] = [
|
||||
},
|
||||
{
|
||||
path: 'manage',
|
||||
name: ROUTE_NAME.SEATS_ROBOT_MANAGE_INDEX,
|
||||
name: ROUTE_NAME.AGENTS_ROBOT_MANAGE_INDEX,
|
||||
component: () => import('../views/HomeView.vue'),
|
||||
meta: {
|
||||
title: '机器人管理',
|
||||
@ -85,7 +86,7 @@ const routes: RouteRecordRaw[] = [
|
||||
},
|
||||
{
|
||||
path: 'setting',
|
||||
name: ROUTE_NAME.SEATS_ROBOT_SETTING_INDEX,
|
||||
name: ROUTE_NAME.AGENTS_ROBOT_SETTING_INDEX,
|
||||
component: () => import('../views/HomeView.vue'),
|
||||
meta: {
|
||||
title: '机器人设置',
|
@ -0,0 +1,3 @@
|
||||
<template>
|
||||
<div>agents home</div>
|
||||
</template>
|