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

@ -111,14 +111,26 @@ onMounted(() => {
userInfoCurrent.value === 'ROLE_SALESMAN' || userInfoCurrent.value === 'ROLE_SALESMAN' ||
userInfoCurrent.value === 'ROLE_STORE_SALESMAN' userInfoCurrent.value === 'ROLE_STORE_SALESMAN'
) { ) {
useAdminWebSocket().then((res: any) => { const websocket = useAdminWebSocket()
const newRes = JSON.parse(res) watch(
() => websocket.data.value,
newVal => {
const newRes = JSON.parse(newVal)
newRes.show = true newRes.show = true
// //
newclueList.value.unshift(newRes) newclueList.value.unshift(newRes)
//,10 //,10
newclueList.value.pop() 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 { export interface UserInfo extends LoginUserInfo {
permissions: string[] permissions: string[]
gender: number | undefined gender?: number | undefined
roleCodes: string[] roleCodes: string[]
} }

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

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

Loading…
Cancel
Save