refactor(图表): 增加图表联动、跳转快速删除配置功能

This commit is contained in:
wangjiahao 2024-09-04 09:50:54 +08:00
parent c25e9dc0c8
commit c2b6e3a60a
7 changed files with 84 additions and 7 deletions

View File

@ -166,4 +166,12 @@ public class VisualizationLinkJumpService implements VisualizationLinkJumpApi {
return queryVisualizationJumpInfo(request.getSourceDvId()); return queryVisualizationJumpInfo(request.getSourceDvId());
} }
@Override
public void removeJumpSet(VisualizationLinkJumpDTO jumpDTO) {
//清理原有数据
extVisualizationLinkJumpMapper.deleteJumpTargetViewInfo(jumpDTO.getSourceDvId(), jumpDTO.getSourceViewId());
extVisualizationLinkJumpMapper.deleteJumpInfo(jumpDTO.getSourceDvId(), jumpDTO.getSourceViewId());
extVisualizationLinkJumpMapper.deleteJump(jumpDTO.getSourceDvId(), jumpDTO.getSourceViewId());
}
} }

View File

@ -122,4 +122,11 @@ public class VisualizationLinkageService implements VisualizationLinkageApi {
coreChartViewMapper.updateById(coreChartView); coreChartViewMapper.updateById(coreChartView);
return getVisualizationAllLinkageInfo(request.getDvId()); return getVisualizationAllLinkageInfo(request.getDvId());
} }
@Override
public void removeLinkage(VisualizationLinkageRequest request) {
// 清理原有关系
extVisualizationLinkageMapper.deleteViewLinkageField(request.getDvId(), request.getSourceViewId());
extVisualizationLinkageMapper.deleteViewLinkage(request.getDvId(), request.getSourceViewId());
}
} }

View File

@ -47,3 +47,11 @@ export function updateJumpSetActive(requestInfo) {
loading: true loading: true
}) })
} }
export function removeJumpSet(requestInfo) {
return request.post({
url: '/linkJump/removeJumpSet',
data: requestInfo,
loading: true
})
}

View File

@ -13,3 +13,5 @@ export const getPanelAllLinkageInfo = dvId =>
export const updateLinkageActive = data => export const updateLinkageActive = data =>
request.post({ url: '/linkage/updateLinkageActive', data }) request.post({ url: '/linkage/updateLinkageActive', data })
export const removeLinkage = data => request.post({ url: '/linkage/removeLinkage', data })

View File

@ -11,9 +11,17 @@ import { computed, PropType, ref, toRefs, watch } from 'vue'
import LinkJumpSet from '@/components/visualization/LinkJumpSet.vue' import LinkJumpSet from '@/components/visualization/LinkJumpSet.vue'
import LinkageSet from '@/components/visualization/LinkageSet.vue' import LinkageSet from '@/components/visualization/LinkageSet.vue'
import { canvasSave } from '@/utils/canvasUtils' import { canvasSave } from '@/utils/canvasUtils'
import { updateJumpSetActive } from '@/api/visualization/linkJump' import {
queryVisualizationJumpInfo,
removeJumpSet,
updateJumpSetActive
} from '@/api/visualization/linkJump'
import { dvMainStoreWithOut } from '@/store/modules/data-visualization/dvMain' import { dvMainStoreWithOut } from '@/store/modules/data-visualization/dvMain'
import { updateLinkageActive } from '@/api/visualization/linkage' import {
getPanelAllLinkageInfo,
removeLinkage,
updateLinkageActive
} from '@/api/visualization/linkage'
import { includesAny } from '../util/StringUtils' import { includesAny } from '../util/StringUtils'
import { ElIcon, ElMessage } from 'element-plus-secondary' import { ElIcon, ElMessage } from 'element-plus-secondary'
import { storeToRefs } from 'pinia' import { storeToRefs } from 'pinia'
@ -192,6 +200,24 @@ const linkageActiveChange = () => {
} }
const appStore = useAppStoreWithOut() const appStore = useAppStoreWithOut()
const isDataEaseBi = computed(() => appStore.getIsDataEaseBi) const isDataEaseBi = computed(() => appStore.getIsDataEaseBi)
const removeLinkageSenior = () => {
removeLinkage({ dvId: dvInfo.value.id, sourceViewId: chart.value.id }).then(rsp => {
//
getPanelAllLinkageInfo(dvInfo.value.id).then(rsp => {
dvMainStore.setNowPanelTrackInfo(rsp.data)
})
})
}
const removeJumpSenior = () => {
removeJumpSet({ sourceDvId: dvInfo.value.id, sourceViewId: chart.value.id }).then(rspCur => {
//
queryVisualizationJumpInfo(dvInfo.value.id).then(rsp => {
dvMainStore.setNowPanelJumpInfo(rsp.data)
})
})
}
</script> </script>
<template> <template>
@ -304,6 +330,21 @@ const isDataEaseBi = computed(() => appStore.getIsDataEaseBi)
<span class="set-text-info" :class="{ 'set-text-info-dark': themes === 'dark' }"> <span class="set-text-info" :class="{ 'set-text-info-dark': themes === 'dark' }">
已设置 已设置
</span> </span>
<el-button
class="circle-button font14"
:title="t('chart.delete')"
:class="'label-' + props.themes"
text
size="small"
:style="{ width: '14px', margin: '0 8px' }"
@click="removeLinkageSenior"
>
<template #icon>
<el-icon size="14px">
<Icon name="icon_delete-trash_outlined" />
</el-icon>
</template>
</el-button>
</template> </template>
<el-button <el-button
class="circle-button font14" class="circle-button font14"
@ -339,21 +380,21 @@ const isDataEaseBi = computed(() => appStore.getIsDataEaseBi)
<span class="set-text-info" :class="{ 'set-text-info-dark': themes === 'dark' }"> <span class="set-text-info" :class="{ 'set-text-info-dark': themes === 'dark' }">
已设置 已设置
</span> </span>
<!-- <el-button <el-button
class="circle-button font14" class="circle-button font14"
:title="t('chart.delete')" :title="t('chart.delete')"
:class="'label-' + props.themes" :class="'label-' + props.themes"
text text
size="small" size="small"
:style="{ width: '24px', marginLeft: '6px' }" :style="{ width: '14px', margin: '0 8px' }"
@click="linkJumpSetOpen" @click="removeJumpSenior"
> >
<template #icon> <template #icon>
<el-icon size="14px"> <el-icon size="14px">
<Icon name="icon_delete-trash_outlined" /> <Icon name="icon_delete-trash_outlined" />
</el-icon> </el-icon>
</template> </template>
</el-button>--> </el-button>
</template> </template>
<el-button <el-button
class="circle-button font14" class="circle-button font14"
@ -361,7 +402,7 @@ const isDataEaseBi = computed(() => appStore.getIsDataEaseBi)
:class="'label-' + props.themes" :class="'label-' + props.themes"
text text
size="small" size="small"
:style="{ width: '24px', marginLeft: '6px' }" :style="{ width: '14px', margin: 0 }"
@click="linkJumpSetOpen" @click="linkJumpSetOpen"
:disabled="!chart.jumpActive" :disabled="!chart.jumpActive"
> >

View File

@ -51,4 +51,9 @@ public interface VisualizationLinkJumpApi {
@PostMapping("/updateJumpSetActive") @PostMapping("/updateJumpSetActive")
@Operation(summary = "更新跳转信息可用状态") @Operation(summary = "更新跳转信息可用状态")
VisualizationLinkJumpBaseResponse updateJumpSetActive(@RequestBody VisualizationLinkJumpBaseRequest request); VisualizationLinkJumpBaseResponse updateJumpSetActive(@RequestBody VisualizationLinkJumpBaseRequest request);
@PostMapping("/removeJumpSet")
@Operation(summary = "删除跳转信息")
void removeJumpSet(@RequestBody VisualizationLinkJumpDTO jumpDTO);
} }

View File

@ -43,4 +43,10 @@ public interface VisualizationLinkageApi {
@Operation(summary = "修改联动信息可用状态") @Operation(summary = "修改联动信息可用状态")
Map updateLinkageActive(@RequestBody VisualizationLinkageRequest request); Map updateLinkageActive(@RequestBody VisualizationLinkageRequest request);
@PostMapping("/removeLinkage")
@Operation(summary = "删除图表联动信息")
void removeLinkage(@RequestBody VisualizationLinkageRequest request);
} }