更改echarts叠加,socket仅触发一次问题

master
飘泊客 5 months ago
parent e967d65d64
commit 5fb767d341

@ -6,14 +6,12 @@ import { message } from 'ant-design-vue'
let useWebSocketReturn: UseWebSocketReturn<any> | undefined = undefined
//它是一个自定义的Vue hook用于管理WebSocket连接
const useAdminWebSocket = () => {
return new Promise((resolve, _) => {
//检查是否已经存在WebSocket连接以及连接状态。如果WebSocket连接存在且状态不是已关闭则直接返回现有的WebSocket连接。
if (useWebSocketReturn && useWebSocketReturn.status.value != 'CLOSED') {
return useWebSocketReturn
}
const { accessToken } = useUserStore()
console.log(accessToken, 'accessToken')
// ws地址
const baseUri = import.meta.env.VITE_API_URL
@ -56,12 +54,9 @@ const useAdminWebSocket = () => {
// +''+ JSON.stringify(dataMsg.content).slice(1, -1)
message.info(dataMsg.title + ',手动刷新后获取最新线索数据')
// message.info(JSON.stringify(dataMsg.title).slice(1, -1) + ',手动刷新后获取最新线索数据')
resolve(value)
}
)
// return useWebSocketReturn
})
return useWebSocketReturn
}
//将创建的WebSocket连接对象返回给调用者

@ -111,14 +111,26 @@ onMounted(() => {
userInfoCurrent.value === 'ROLE_SALESMAN' ||
userInfoCurrent.value === 'ROLE_STORE_SALESMAN'
) {
useAdminWebSocket().then((res: any) => {
const newRes = JSON.parse(res)
const websocket = useAdminWebSocket()
watch(
() => websocket.data.value,
newVal => {
const newRes = JSON.parse(newVal)
newRes.show = true
//
newclueList.value.unshift(newRes)
//,10
newclueList.value.pop()
})
}
)
// useAdminWebSocket().then((res: any) => {
// const newRes = JSON.parse(res)
// newRes.show = true
// //
// newclueList.value.unshift(newRes)
// //,10
// newclueList.value.pop()
// })
}
})

@ -7,7 +7,7 @@ import type { SysMenuRouterVO } from '@/api/system/menu/types'
export interface UserInfo extends LoginUserInfo {
permissions: string[]
gender: number | undefined
gender?: number | undefined
roleCodes: string[]
}

@ -61,6 +61,7 @@
>
</div>
</div>
<a-spin :spinning="spinning">
<lin-chart
v-if="enterDetailsChart"
ref="enterDetailsRef"
@ -69,6 +70,7 @@
:chart-datas="enterDetailsChart"
></lin-chart>
<a-empty v-else description="暂无数据" style="height: 300px; line-height: 300px" />
</a-spin>
</a-card>
</a-col>
</a-row>
@ -111,6 +113,7 @@
>
</div>
</div>
<a-spin :spinning="spinning2">
<lin-chart
v-if="terminalSendingChart"
ref="terminalSendingRef"
@ -119,6 +122,7 @@
:chart-datas="terminalSendingChart"
></lin-chart>
<a-empty v-else description="暂无数据" style="height: 300px; line-height: 300px" />
</a-spin>
</a-card>
</a-col>
</a-row>
@ -149,6 +153,7 @@
> -->
</div>
</div>
<a-spin :spinning="spinning">
<lin-chart
v-if="sendingNumChart"
ref="sendingNumRef"
@ -157,6 +162,7 @@
:chart-datas="sendingNumChart"
></lin-chart>
<a-empty v-else description="暂无数据" style="height: 300px; line-height: 300px" />
</a-spin>
</a-card>
</a-col>
</a-row>
@ -187,6 +193,7 @@
> -->
</div>
</div>
<a-spin :spinning="spinning">
<lin-chart
v-if="clueNumChart"
ref="clueNumRef"
@ -195,6 +202,7 @@
:chart-datas="clueNumChart"
></lin-chart>
<a-empty v-else description="暂无数据" style="height: 300px; line-height: 300px" />
</a-spin>
</a-card>
</a-col>
</a-row>
@ -260,6 +268,8 @@ const searchObj = reactive<stringKey>({
enterIdList: [],
assignedIdList: []
})
const spinning = ref<boolean>(false)
const spinning2 = ref<boolean>(false)
//
// const enterIdList = ref<number[]>()
// const assignedIdList = ref<number[]>()
@ -312,7 +322,6 @@ function iframeResize() {
onMounted(() => {
window.addEventListener('resize', iframeResize)
roleCodes.value = userStore.roleCodes || []
console.log('🚀 ~ file: index.vue:154 ~ roleCodes:', roleCodes.value)
initClueEnter()
initSalesman()
initGetHomePageBase()
@ -346,7 +355,7 @@ const initGetHomePageBase = () => {
// 线
const searchGetHomePageEnter = () => {
if (searchObj.searchDate1.length == 0) {
if (!searchObj.searchDate1 || searchObj.searchDate1.length == 0) {
message.warning('请选择日期')
return
}
@ -358,6 +367,7 @@ const searchGetHomePageEnter = () => {
message.warning('请选择渠道')
return
}
spinning.value = true
doRequest(
getHomePageEnter({
createStartTime: dayjs(searchObj.searchDate1[0]).format('YYYY-MM-DD'),
@ -375,7 +385,6 @@ const searchGetHomePageEnter = () => {
const obj: any = {}
obj.data = Object.values(res.data[i])
obj.type = 'line'
obj.stack = 'Total'
obj.name = i
arr.push(obj)
}
@ -390,6 +399,7 @@ const searchGetHomePageEnter = () => {
} else {
message.info('未查询到数据')
}
spinning.value = false
}
}
)
@ -408,6 +418,7 @@ const searchGetHomePageAssigned = () => {
message.warning('请选择渠道')
return
}
spinning2.value = true
doRequest(
getHomePageAssigned({
createStartTime: dayjs(searchObj.searchDate2[0]).format('YYYY-MM-DD'),
@ -425,7 +436,6 @@ const searchGetHomePageAssigned = () => {
const obj: any = {}
obj.data = Object.values(res.data[i])
obj.type = 'line'
obj.stack = 'Total'
obj.name = i
arr.push(obj)
}
@ -440,13 +450,14 @@ const searchGetHomePageAssigned = () => {
} else {
message.info('未查询到数据')
}
spinning2.value = false
}
}
)
}
// -
const searchGetDistributors = () => {
if (searchObj.searchDate1.length == 0) {
if (!searchObj.searchDate1 || searchObj.searchDate1.length == 0) {
message.warning('请选择日期')
return
}
@ -454,6 +465,7 @@ const searchGetDistributors = () => {
message.warning('请选择渠道')
return
}
spinning.value = true
doRequest(
getDistributors({
createStartTime: dayjs(searchObj.searchDate1[0]).format('YYYY-MM-DD'),
@ -469,13 +481,11 @@ const searchGetDistributors = () => {
let obj: any = {}
obj.data = Object.values(res.data).map((item: any) => item.assigned)
obj.type = 'line'
obj.stack = 'Total'
obj.name = '分发数'
arr.push(obj)
obj = {}
obj.data = Object.values(res.data).map((item: any) => item.enter)
obj.type = 'line'
obj.stack = 'Total'
obj.name = '进线数'
arr.push(obj)
const chatData: chartData = {
@ -489,13 +499,14 @@ const searchGetDistributors = () => {
} else {
message.info('未查询到数据')
}
spinning.value = false
}
}
)
}
// 线-
const searchgetSalesman = () => {
if (searchObj.searchDate1.length == 0) {
if (!searchObj.searchDate1 || searchObj.searchDate1.length == 0) {
message.warning('请选择日期')
return
}
@ -503,6 +514,7 @@ const searchgetSalesman = () => {
message.warning('请选择渠道')
return
}
spinning.value = true
doRequest(
getSalesman({
createStartTime: dayjs(searchObj.searchDate1[0]).format('YYYY-MM-DD'),
@ -518,7 +530,6 @@ const searchgetSalesman = () => {
const obj: any = {}
obj.data = Object.values(res.data)
obj.type = 'line'
obj.stack = 'Total'
obj.name = '分配数'
arr.push(obj)
const chatData: chartData = {
@ -532,6 +543,7 @@ const searchgetSalesman = () => {
} else {
message.info('未查询到数据')
}
spinning.value = false
}
}
)

@ -129,7 +129,7 @@ function store(res: LoginResult) {
//
const info = res.info
console.log(info, 'info')
// console.log(info, 'info')
const roleCodes = res.attributes?.roleCodes || []
const permissions = res.attributes?.permissions || []
userStore.userInfo = {

Loading…
Cancel
Save