forked from github/dataease
feat: 仪表板刷新支持富文本内容和跑马灯内容刷新
This commit is contained in:
parent
8b94776d57
commit
8bb81c5559
@ -9,7 +9,7 @@ import { storeToRefs } from 'pinia'
|
||||
import elementResizeDetectorMaker from 'element-resize-detector'
|
||||
import UserViewEnlarge from '@/components/visualization/UserViewEnlarge.vue'
|
||||
import CanvasOptBar from '@/components/visualization/CanvasOptBar.vue'
|
||||
import { isDashboard, isMainCanvas } from '@/utils/canvasUtils'
|
||||
import { isDashboard, isMainCanvas, refreshOtherComponent } from '@/utils/canvasUtils'
|
||||
import { activeWatermark } from '@/components/watermark/watermark'
|
||||
import { personInfoApi } from '@/api/user'
|
||||
import router from '@/router'
|
||||
@ -220,6 +220,9 @@ const initRefreshTimer = () => {
|
||||
}
|
||||
refreshTimer.value = setInterval(() => {
|
||||
searchCount.value++
|
||||
if (isMainCanvas(canvasId.value)) {
|
||||
refreshOtherComponent(dvInfo.value.id, dvInfo.value.type)
|
||||
}
|
||||
}, refreshTime)
|
||||
}
|
||||
}
|
||||
|
@ -170,6 +170,30 @@ export function historyAdaptor(
|
||||
})
|
||||
}
|
||||
|
||||
// 重置仪表板、大屏中的其他组件
|
||||
export function refreshOtherComponent(dvId, busiFlag) {
|
||||
// 富文本 跑马灯组件进行刷新
|
||||
const refreshComponentList = componentData.value.filter(
|
||||
ele => ['ScrollText'].includes(ele.component) || ele.innerType === 'rich-text'
|
||||
)
|
||||
if (refreshComponentList && refreshComponentList.length > 0) {
|
||||
const refreshIdList = refreshComponentList.map(ele => ele.id)
|
||||
findById(dvId, busiFlag, {}).then(rsp => {
|
||||
const canvasInfo = rsp.data
|
||||
const canvasDataResult = JSON.parse(canvasInfo.componentData)
|
||||
const canvasDataResultMap = canvasDataResult.reduce((acc, comp) => {
|
||||
acc.set(comp.id, comp)
|
||||
return acc
|
||||
}, new Map())
|
||||
componentData.value.map(component =>
|
||||
refreshIdList.includes(component.id) && canvasDataResultMap[component.id]
|
||||
? canvasDataResultMap[component.id]
|
||||
: component
|
||||
)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
export function initCanvasDataPrepare(dvId, busiFlag, callBack) {
|
||||
const copyFlag = busiFlag != null && busiFlag.includes('-copy')
|
||||
const busiFlagCustom = copyFlag ? busiFlag.split('-')[0] : busiFlag
|
||||
|
Loading…
Reference in New Issue
Block a user