From 16e3ac5c6deb9ee3da4b4fe487a18161a93811b8 Mon Sep 17 00:00:00 2001
From: qsh <>
Date: Sun, 23 Jun 2024 12:24:27 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E4=B8=8A=E4=BC=A0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.env.base | 4 +-
.env.dev | 4 +-
.env.front | 4 +-
.env.pro | 8 +-
.env.stage | 4 +-
.env.static | 4 +-
.env.test | 4 +-
src/api/home/index.js | 20 +++
src/config/axios/service.ts | 2 +-
src/layout/components/Message/src/Message.vue | 2 +-
src/router/index.ts | 2 +-
src/router/modules/remaining.ts | 4 +-
src/views/Basic/dict/DictTypeForm.vue | 2 +-
src/views/Basic/dict/data/DictDataForm.vue | 2 +-
src/views/Home/Index.vue | 145 +++++++++---------
src/views/Profile/NotifyMessage.vue | 7 +
vite.config.js | 4 +-
17 files changed, 127 insertions(+), 95 deletions(-)
create mode 100644 src/api/home/index.js
create mode 100644 src/views/Profile/NotifyMessage.vue
diff --git a/.env.base b/.env.base
index 2fbe392..e050050 100644
--- a/.env.base
+++ b/.env.base
@@ -10,10 +10,10 @@ VITE_BASE_URL='http://118.31.23.45:48080'
VITE_UPLOAD_URL='http://118.31.23.45:48080/admin-api/system/file/upload'
# 接口前缀
-VITE_API_BASEPATH=/dev-api
+VITE_API_BASEPATH=/crm-api
# 接口地址
VITE_API_URL=/admin-api
# 打包路径
-VITE_BASE_PATH=/
+VITE_BASE_PATH=/crm
diff --git a/.env.dev b/.env.dev
index d5db008..873f932 100644
--- a/.env.dev
+++ b/.env.dev
@@ -10,13 +10,13 @@ VITE_BASE_URL='http://localhost:48080'
VITE_UPLOAD_URL='http://118.31.23.45:48080/admin-api/system/file/upload'
# 接口前缀
-VITE_API_BASEPATH=/dev-api
+VITE_API_BASEPATH=/crm-api
# 接口地址
VITE_API_URL=/admin-api
# 打包路径
-VITE_BASE_PATH=/
+VITE_BASE_PATH=/crm
# 是否删除debugger
VITE_DROP_DEBUGGER=false
diff --git a/.env.front b/.env.front
index 31379fb..111418e 100644
--- a/.env.front
+++ b/.env.front
@@ -10,13 +10,13 @@ VITE_BASE_URL='http://118.31.23.45:48080'
VITE_UPLOAD_URL='http://118.31.23.45:48080/admin-api/system/file/upload'
# 接口前缀
-VITE_API_BASEPATH=/dev-api
+VITE_API_BASEPATH=/crm-api
# 接口地址
VITE_API_URL=/admin-api
# 打包路径
-VITE_BASE_PATH=/
+VITE_BASE_PATH=/crm
# 项目本地运行端口号, 与.vscode/launch.json配合
VITE_PORT=80
diff --git a/.env.pro b/.env.pro
index e0b3180..ef4877a 100644
--- a/.env.pro
+++ b/.env.pro
@@ -4,13 +4,13 @@ VITE_NODE_ENV=production
VITE_DEV=false
# 请求路径
-VITE_BASE_URL='http://localhost:48080'
+VITE_BASE_URL='/crm-api'
# 上传路径
-VITE_UPLOAD_URL='http://118.31.23.45:48080/admin-api/system/file/upload'
+VITE_UPLOAD_URL='/crm-api/admin-api/system/file/upload'
# 接口前缀
-VITE_API_BASEPATH=
+VITE_API_BASEPATH=/crm-api
# 接口地址
VITE_API_URL=/admin-api
@@ -25,7 +25,7 @@ VITE_DROP_CONSOLE=true
VITE_SOURCEMAP=false
# 打包路径
-VITE_BASE_PATH=/
+VITE_BASE_PATH=/crm
# 输出路径
VITE_OUT_DIR=dist-pro
diff --git a/.env.stage b/.env.stage
index ae34e48..d3f3995 100644
--- a/.env.stage
+++ b/.env.stage
@@ -10,7 +10,7 @@ VITE_BASE_URL='http://api-dashboard.yudao.iocoder.cn'
VITE_UPLOAD_URL='http://118.31.23.45:48080/admin-api/system/file/upload'
# 接口前缀
-VITE_API_BASEPATH=
+VITE_API_BASEPATH=/crm-api
# 接口地址
VITE_API_URL=/admin-api
@@ -25,7 +25,7 @@ VITE_DROP_CONSOLE=true
VITE_SOURCEMAP=false
# 打包路径
-VITE_BASE_PATH='http://static-vue3.yudao.iocoder.cn/'
+VITE_BASE_PATH='/crm'
# 输出路径
VITE_OUT_DIR=dist-stage
diff --git a/.env.static b/.env.static
index c0cc560..82f9d57 100644
--- a/.env.static
+++ b/.env.static
@@ -10,7 +10,7 @@ VITE_BASE_URL='http://localhost:48080'
VITE_UPLOAD_URL='http://118.31.23.45:48080/admin-api/system/file/upload'
# 接口前缀
-VITE_API_BASEPATH=
+VITE_API_BASEPATH=/crm-api
# 接口地址
VITE_API_URL=/admin-api
@@ -25,7 +25,7 @@ VITE_DROP_CONSOLE=true
VITE_SOURCEMAP=false
# 打包路径
-VITE_BASE_PATH=/admin-ui-vue3/
+VITE_BASE_PATH=/crm
# 输出路径
VITE_OUT_DIR=dist-dev
diff --git a/.env.test b/.env.test
index 7af3d84..9d74794 100644
--- a/.env.test
+++ b/.env.test
@@ -10,7 +10,7 @@ VITE_BASE_URL='http://localhost:48080'
VITE_UPLOAD_URL='http://118.31.23.45:48080/admin-api/system/file/upload'
# 接口前缀
-VITE_API_BASEPATH=
+VITE_API_BASEPATH=/crm-api
# 接口地址
VITE_API_URL=/admin-api
@@ -25,7 +25,7 @@ VITE_DROP_CONSOLE=false
VITE_SOURCEMAP=true
# 打包路径
-VITE_BASE_PATH=/
+VITE_BASE_PATH=/crm
# 输出路径
VITE_OUT_DIR=dist-test
diff --git a/src/api/home/index.js b/src/api/home/index.js
new file mode 100644
index 0000000..ea137e1
--- /dev/null
+++ b/src/api/home/index.js
@@ -0,0 +1,20 @@
+import request from '@/config/axios'
+// 线索情况
+export const getUserClueCount = async (params) => {
+ return await request.get({ url: '/admin-api/crm/home/get-user-count', params })
+}
+
+// 成交率
+export const getClueSignSignRate = async (params) => {
+ return await request.get({ url: '/admin-api/crm/home/get-sign-rate', params })
+}
+
+// 成交率
+export const getClueSignSignRank = async (params) => {
+ return await request.get({ url: '/admin-api/crm/home/get-sign-top10', params })
+}
+
+// 成交率
+export const getClueFollowRank = async (params) => {
+ return await request.get({ url: '/admin-api/crm/home/get-follow-top10', params })
+}
diff --git a/src/config/axios/service.ts b/src/config/axios/service.ts
index f389b86..5382f1e 100644
--- a/src/config/axios/service.ts
+++ b/src/config/axios/service.ts
@@ -255,7 +255,7 @@ const handleAuthorized = () => {
isRelogin.show = false
// 干掉token后再走一次路由让它过router.beforeEach的校验
// window.location.href = window.location.href
- window.location.href = `/login?tenantId=${tenantId}&appId=${appId}`
+ window.location.href = `/crm/login?tenantId=${tenantId}&appId=${appId}`
})
}
return Promise.reject(t('sys.api.timeoutMessage'))
diff --git a/src/layout/components/Message/src/Message.vue b/src/layout/components/Message/src/Message.vue
index 4e22635..348c47c 100644
--- a/src/layout/components/Message/src/Message.vue
+++ b/src/layout/components/Message/src/Message.vue
@@ -24,7 +24,7 @@ const getUnreadCount = async () => {
// 跳转我的站内信
const goMyList = () => {
push({
- name: 'MyNotifyMessage'
+ name: 'NotifyMessage'
})
}
diff --git a/src/router/index.ts b/src/router/index.ts
index 8f66ca3..b818421 100644
--- a/src/router/index.ts
+++ b/src/router/index.ts
@@ -5,7 +5,7 @@ import remainingRouter from './modules/remaining'
// 创建路由实例
const router = createRouter({
- history: createWebHistory(), // createWebHashHistory URL带#,createWebHistory URL不带#
+ history: createWebHistory(import.meta.env.VITE_BASE_PATH), // createWebHashHistory URL带#,createWebHistory URL不带#
strict: true,
routes: remainingRouter as RouteRecordRaw[],
scrollBehavior: () => ({ left: 0, top: 0 })
diff --git a/src/router/modules/remaining.ts b/src/router/modules/remaining.ts
index 838081a..326aad7 100644
--- a/src/router/modules/remaining.ts
+++ b/src/router/modules/remaining.ts
@@ -94,8 +94,8 @@ const remainingRouter: AppRouteRecordRaw[] = [
},
{
path: 'notify-message',
- component: () => import('@/views/system/notify/my/index.vue'),
- name: 'MyNotifyMessage',
+ component: () => import('@/views/Profile/NotifyMessage.vue'),
+ name: 'NotifyMessage',
meta: {
canTo: true,
hidden: true,
diff --git a/src/views/Basic/dict/DictTypeForm.vue b/src/views/Basic/dict/DictTypeForm.vue
index 7b37ab2..d789785 100644
--- a/src/views/Basic/dict/DictTypeForm.vue
+++ b/src/views/Basic/dict/DictTypeForm.vue
@@ -86,7 +86,7 @@ defineExpose({ open }) // 提供 open 方法,用于打开弹窗
const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
const submitForm = async () => {
// 校验表单
- if (!formRef) return
+ if (!formRef.value) return
const valid = await formRef.value.validate()
if (!valid) return
// 提交请求
diff --git a/src/views/Basic/dict/data/DictDataForm.vue b/src/views/Basic/dict/data/DictDataForm.vue
index 26932e5..5f093d1 100644
--- a/src/views/Basic/dict/data/DictDataForm.vue
+++ b/src/views/Basic/dict/data/DictDataForm.vue
@@ -141,7 +141,7 @@ defineExpose({ open }) // 提供 open 方法,用于打开弹窗
const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
const submitForm = async () => {
// 校验表单
- if (!formRef) return
+ if (!formRef.value) return
const valid = await formRef.value.validate()
if (!valid) return
// 提交请求
diff --git a/src/views/Home/Index.vue b/src/views/Home/Index.vue
index 0f2b5e4..b362e9f 100644
--- a/src/views/Home/Index.vue
+++ b/src/views/Home/Index.vue
@@ -18,7 +18,7 @@
@@ -28,7 +28,7 @@
@@ -38,7 +38,7 @@
@@ -48,7 +48,7 @@
@@ -58,7 +58,7 @@
@@ -99,9 +99,9 @@
跟进榜Top10
-
- 本日
- 本月
+
+ 本日
+ 本月
@@ -114,8 +114,8 @@
:key="index"
>
NO.{{ index + 1 }}
- {{ item.name }}
- 已跟进{{ item.count }}条线索
+ {{ item.username }}
+ 已跟进{{ item.followNum }}条线索
@@ -129,11 +129,11 @@
本月成交榜Top10
-
-
-
-
-
+
+
+
+
+
@@ -146,7 +146,8 @@ import { set } from 'lodash-es'
import { EChartsOption } from 'echarts'
import { useUserStore } from '@/store/modules/user'
import avatarImg from '@/assets/imgs/avatar.gif'
-import { pieOptions, lineOptions } from './echarts-data'
+import { lineOptions } from './echarts-data'
+import * as HomeApi from '@/api/home/index'
const { t } = useI18n()
const userStore = useUserStore()
@@ -154,59 +155,46 @@ const loading = ref(false)
const avatar = userStore.getUser.avatar ? userStore.getUser.avatar : avatarImg
const username = userStore.getUser.nickname
-const followDate = ref('day')
+const followDate = ref(1)
// 成交线索来源
-const pieOptionsData = reactive(pieOptions) as EChartsOption
-const getSaleClueSource = async () => {
- const data = [
- { value: 335, name: '宝典' },
- { value: 310, name: '一点通' },
- { value: 234, name: '抖音' },
- { value: 135, name: '小红书' },
- { value: 1548, name: '转介绍' }
- ]
- set(
- pieOptionsData,
- 'legend.data',
- data.map((v) => t(v.name))
- )
- pieOptionsData!.series![0].data = data.map((v) => {
- return {
- name: t(v.name),
- value: v.value
- }
- })
-}
+// const pieOptionsData = reactive(pieOptions) as EChartsOption
+// const getSaleClueSource = async () => {
+// const data = [
+// { value: 335, name: '宝典' },
+// { value: 310, name: '一点通' },
+// { value: 234, name: '抖音' },
+// { value: 135, name: '小红书' },
+// { value: 1548, name: '转介绍' }
+// ]
+// set(
+// pieOptionsData,
+// 'legend.data',
+// data.map((v) => t(v.name))
+// )
+// pieOptionsData!.series![0].data = data.map((v) => {
+// return {
+// name: t(v.name),
+// value: v.value
+// }
+// })
+// }
// 成交率
const lineOptionsData = reactive(lineOptions) as EChartsOption
const getMonthlySaleRate = async () => {
- const data = [
- { estimate: 100, actual: 120, name: 'analysis.january' },
- { estimate: 120, actual: 82, name: 'analysis.february' },
- { estimate: 161, actual: 91, name: 'analysis.march' },
- { estimate: 134, actual: 154, name: 'analysis.april' },
- { estimate: 105, actual: 162, name: 'analysis.may' },
- { estimate: 160, actual: 140, name: 'analysis.june' },
- { estimate: 165, actual: 145, name: 'analysis.july' },
- { estimate: 114, actual: 250, name: 'analysis.august' },
- { estimate: 163, actual: 134, name: 'analysis.september' },
- { estimate: 185, actual: 56, name: 'analysis.october' },
- { estimate: 118, actual: 99, name: 'analysis.november' },
- { estimate: 123, actual: 123, name: 'analysis.december' }
- ]
+ const data = await HomeApi.getClueSignSignRate()
set(
lineOptionsData,
'xAxis.data',
- data.map((v) => t(v.name))
+ data.map((v) => t(v.month))
)
set(lineOptionsData, 'series', [
{
name: '个人成交率',
smooth: true,
type: 'line',
- data: data.map((v) => v.estimate),
+ data: data.map((v) => v.personalRate),
animationDuration: 2800,
animationEasing: 'cubicInOut'
},
@@ -215,33 +203,50 @@ const getMonthlySaleRate = async () => {
smooth: true,
type: 'line',
itemStyle: {},
- data: data.map((v) => v.actual),
+ data: data.map((v) => v.avgRate),
animationDuration: 2800,
animationEasing: 'quadraticOut'
}
])
}
-const followList = ref([
- { sort: 1, name: '张三', count: 12, orgName: '销售1组' },
- { sort: 2, name: '张三', count: 11, orgName: '销售3组' },
- { sort: 3, name: '张三', count: 11, orgName: '销售1组' },
- { sort: 4, name: '张三', count: 10, orgName: '销售1组' },
- { sort: 5, name: '张三', count: 2, orgName: '销售2组' },
- { sort: 6, name: '张三', count: 1, orgName: '销售1组' },
- { sort: 2, name: '张三', count: 11, orgName: '销售3组' },
- { sort: 3, name: '张三', count: 11, orgName: '销售1组' },
- { sort: 4, name: '张三', count: 10, orgName: '销售1组' },
- { sort: 5, name: '张三', count: 2, orgName: '销售2组' },
- { sort: 6, name: '张三', count: 1, orgName: '销售1组' }
-])
+const followList = ref([])
+
+const clueInfo = ref({
+ todayFollowingNum: 0,
+ todayFollowedNum: 0,
+ todaySignedNum: 0,
+ outFollowNum: 0,
+ unknownNum: 0
+})
+
+function getClueInfo() {
+ HomeApi.getUserClueCount().then((data) => {
+ clueInfo.value = data
+ })
+}
+
+function getFollowList() {
+ HomeApi.getClueFollowRank({ type: followDate.value }).then((data) => {
+ followList.value = data
+ })
+}
+
+const signList = ref([])
+function getSignList() {
+ HomeApi.getClueSignSignRank().then((data) => {
+ signList.value = data
+ })
+}
const getAllApi = async () => {
- await Promise.all([getSaleClueSource(), getMonthlySaleRate()])
+ await Promise.all([getClueInfo(), getSignList(), getMonthlySaleRate(), getFollowList()])
loading.value = false
}
-getAllApi()
+onMounted(() => {
+ getAllApi()
+})
diff --git a/vite.config.js b/vite.config.js
index 6b106c5..ac78303 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -40,11 +40,11 @@ export default ({ command, mode }) => {
changeOrigin: true,
rewrite: (path) => path.replace(new RegExp(`^/call-api`), '')
},
- ['/dev-api']: {
+ ['/crm-api']: {
target: env.VITE_BASE_URL,
ws: false,
changeOrigin: true,
- rewrite: (path) => path.replace(new RegExp(`^/dev-api`), '')
+ rewrite: (path) => path.replace(new RegExp(`^/crm-api`), '')
}
}
},
From 43b95e3a10f4399e3e9ce0b89cfdf734ccfe5134 Mon Sep 17 00:00:00 2001
From: qsh <>
Date: Sun, 23 Jun 2024 16:48:28 +0800
Subject: [PATCH 2/2] tj
---
.env.base | 2 +-
.env.dev | 2 +-
.env.front | 2 +-
.env.pro | 2 +-
.env.static | 2 +-
.env.test | 2 +-
src/config/axios/config.ts | 2 +-
src/config/axios/service.ts | 20 +++++++++++--------
src/layout/components/Setting/src/Setting.vue | 5 ++++-
.../components/UserInfo/src/UserInfo.vue | 6 ++++++
src/permission.js | 4 ++--
src/views/Basic/GeneralSet/Comp/BSClue.vue | 5 ++++-
src/views/Login/Login.vue | 6 +++---
src/views/Login/components/LoginForm.vue | 3 ++-
src/views/Profile/components/UserSocial.vue | 2 ++
15 files changed, 42 insertions(+), 23 deletions(-)
diff --git a/.env.base b/.env.base
index e050050..6a61f7b 100644
--- a/.env.base
+++ b/.env.base
@@ -16,4 +16,4 @@ VITE_API_BASEPATH=/crm-api
VITE_API_URL=/admin-api
# 打包路径
-VITE_BASE_PATH=/crm
+VITE_BASE_PATH=/crm/
diff --git a/.env.dev b/.env.dev
index 873f932..c37604e 100644
--- a/.env.dev
+++ b/.env.dev
@@ -16,7 +16,7 @@ VITE_API_BASEPATH=/crm-api
VITE_API_URL=/admin-api
# 打包路径
-VITE_BASE_PATH=/crm
+VITE_BASE_PATH=/crm/
# 是否删除debugger
VITE_DROP_DEBUGGER=false
diff --git a/.env.front b/.env.front
index 111418e..0ed3152 100644
--- a/.env.front
+++ b/.env.front
@@ -16,7 +16,7 @@ VITE_API_BASEPATH=/crm-api
VITE_API_URL=/admin-api
# 打包路径
-VITE_BASE_PATH=/crm
+VITE_BASE_PATH=/crm/
# 项目本地运行端口号, 与.vscode/launch.json配合
VITE_PORT=80
diff --git a/.env.pro b/.env.pro
index ef4877a..118c95f 100644
--- a/.env.pro
+++ b/.env.pro
@@ -25,7 +25,7 @@ VITE_DROP_CONSOLE=true
VITE_SOURCEMAP=false
# 打包路径
-VITE_BASE_PATH=/crm
+VITE_BASE_PATH=/crm/
# 输出路径
VITE_OUT_DIR=dist-pro
diff --git a/.env.static b/.env.static
index 82f9d57..446f225 100644
--- a/.env.static
+++ b/.env.static
@@ -25,7 +25,7 @@ VITE_DROP_CONSOLE=true
VITE_SOURCEMAP=false
# 打包路径
-VITE_BASE_PATH=/crm
+VITE_BASE_PATH=/crm/
# 输出路径
VITE_OUT_DIR=dist-dev
diff --git a/.env.test b/.env.test
index 9d74794..9422e59 100644
--- a/.env.test
+++ b/.env.test
@@ -25,7 +25,7 @@ VITE_DROP_CONSOLE=false
VITE_SOURCEMAP=true
# 打包路径
-VITE_BASE_PATH=/crm
+VITE_BASE_PATH=/crm/
# 输出路径
VITE_OUT_DIR=dist-test
diff --git a/src/config/axios/config.ts b/src/config/axios/config.ts
index e0b2f1a..079df83 100644
--- a/src/config/axios/config.ts
+++ b/src/config/axios/config.ts
@@ -7,7 +7,7 @@ const config: {
/**
* api请求基础路径
*/
- base_url: 'http://localhost' + import.meta.env.VITE_API_BASEPATH,
+ base_url: import.meta.env.VITE_API_BASEPATH,
/**
* 接口成功返回状态码
*/
diff --git a/src/config/axios/service.ts b/src/config/axios/service.ts
index 5382f1e..8adfc2f 100644
--- a/src/config/axios/service.ts
+++ b/src/config/axios/service.ts
@@ -200,14 +200,18 @@ service.interceptors.response.use(
} else {
ElNotification.error({ title: msg })
if (code == 403) {
- // 无访问权限,退出登录
- const { wsCache } = useCache()
- const tenantId = wsCache.get('TENANT_ID')
- const appId = wsCache.get('App_ID')
- resetRouter() // 重置静态路由表
- wsCache.clear()
- removeToken()
- window.location.href = `/login?tenantId=${tenantId}&appId=${appId}`
+ ElMessageBox.confirm(`${msg},是否重新登陆`, '提示', {
+ type: 'warning'
+ }).then(() => {
+ // 无访问权限,退出登录
+ const { wsCache } = useCache()
+ const tenantId = wsCache.get('TENANT_ID')
+ const appId = wsCache.get('App_ID')
+ resetRouter() // 重置静态路由表
+ wsCache.clear()
+ removeToken()
+ window.location.href = `/crm/login?tenantId=${tenantId}&appId=${appId}`
+ })
}
}
return Promise.reject('error')
diff --git a/src/layout/components/Setting/src/Setting.vue b/src/layout/components/Setting/src/Setting.vue
index c4029f3..bdeb2ca 100644
--- a/src/layout/components/Setting/src/Setting.vue
+++ b/src/layout/components/Setting/src/Setting.vue
@@ -198,6 +198,7 @@ const clear = () => {
{
-
+ 主题配置
+
+
{{ t('setting.projectSetting') }}
diff --git a/src/layout/components/UserInfo/src/UserInfo.vue b/src/layout/components/UserInfo/src/UserInfo.vue
index 4dd0011..d305009 100644
--- a/src/layout/components/UserInfo/src/UserInfo.vue
+++ b/src/layout/components/UserInfo/src/UserInfo.vue
@@ -8,6 +8,8 @@ import { useUserStore } from '@/store/modules/user'
import { useTagsViewStore } from '@/store/modules/tagsView'
import { getTenantId, getAppId } from '@/utils/auth'
+import { Setting } from '@/layout/components/Setting'
+
const { t } = useI18n()
const { wsCache } = useCache()
@@ -58,6 +60,10 @@ const toProfile = async () => {
+
+
+
+
{{ t('common.profile') }}
diff --git a/src/permission.js b/src/permission.js
index 32581ce..60f59f9 100644
--- a/src/permission.js
+++ b/src/permission.js
@@ -54,9 +54,9 @@ router.beforeEach(async (to, from, next) => {
const tenantId = getTenantId()
const appId = getAppId()
if (tenantId && appId) {
- next(`/login?tenantId=${tenantId}&appId=${appId}&redirect=${to.fullPath}`) // 否则全部重定向到登录页
+ next(`/crm/login?tenantId=${tenantId}&appId=${appId}&redirect=${to.fullPath}`) // 否则全部重定向到登录页
} else {
- next(`/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页
+ next(`/crm/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页
}
}
}
diff --git a/src/views/Basic/GeneralSet/Comp/BSClue.vue b/src/views/Basic/GeneralSet/Comp/BSClue.vue
index 570e20d..8a2b1c5 100644
--- a/src/views/Basic/GeneralSet/Comp/BSClue.vue
+++ b/src/views/Basic/GeneralSet/Comp/BSClue.vue
@@ -8,7 +8,10 @@
/>
使用外呼
-
+
-
+
-
+
@@ -70,7 +70,7 @@ import { useDesign } from '@/hooks/web/useDesign'
import { useAppStore } from '@/store/modules/app'
import { ThemeSwitch } from '@/layout/components/ThemeSwitch'
-import { LoginForm, MobileForm, QrCodeForm } from './components'
+import { LoginForm } from './components'
import soups from './components/soup.js'
diff --git a/src/views/Login/components/LoginForm.vue b/src/views/Login/components/LoginForm.vue
index aefcabe..dce4edb 100644
--- a/src/views/Login/components/LoginForm.vue
+++ b/src/views/Login/components/LoginForm.vue
@@ -82,7 +82,7 @@
mode="pop"
@success="handleLogin"
/>
-
+
@@ -131,6 +131,7 @@ const verify = ref()
const captchaType = ref('blockPuzzle') // blockPuzzle 滑块 clickWord 点击文字
const getShow = computed(() => unref(getLoginState) === LoginStateEnum.LOGIN)
+const showOtherLogin = false
const LoginRules = {
username: [required],
diff --git a/src/views/Profile/components/UserSocial.vue b/src/views/Profile/components/UserSocial.vue
index 5d1664e..1af0392 100644
--- a/src/views/Profile/components/UserSocial.vue
+++ b/src/views/Profile/components/UserSocial.vue
@@ -61,6 +61,8 @@ const bindSocial = () => {
})
}
const bind = (row) => {
+ message.info('暂未开放,敬请期待')
+ return
const redirectUri = location.origin + '/user/profile?type=' + row.type
// 进行跳转
socialAuthRedirect(row.type, encodeURIComponent(redirectUri)).then((res) => {