fix(仪表板): v2 版本脱敏后字段显示效果不规范 #9736

This commit is contained in:
dataeaseShu 2024-06-21 10:22:12 +08:00
parent 5eaf328725
commit 6507d3b348
4 changed files with 39 additions and 3 deletions

View File

@ -159,6 +159,10 @@ const removeItem = () => {
} }
const getItemTagType = () => { const getItemTagType = () => {
if (props.chart.type !== 'table-info' && props.item.desensitized) {
tagType.value = '#F54A45'
return
}
tagType.value = getItemType(props.dimensionData, props.quotaData, props.item) tagType.value = getItemType(props.dimensionData, props.quotaData, props.item)
} }
@ -204,7 +208,10 @@ onMounted(() => {
:content="item.chartShowName ? item.chartShowName : item.name" :content="item.chartShowName ? item.chartShowName : item.name"
> >
<span class="item-span-style"> <span class="item-span-style">
<span class="item-name">{{ item.chartShowName ? item.chartShowName : item.name }}</span> <span class="item-name"
>{{ item.chartShowName ? item.chartShowName : item.name
}}{{ item.desensitized && '(已脱敏)' }}</span
>
</span> </span>
</el-tooltip> </el-tooltip>

View File

@ -18,6 +18,10 @@ const props = defineProps({
type: Object, type: Object,
required: true required: true
}, },
chart: {
type: Object,
required: true
},
index: { index: {
type: Number, type: Number,
required: true required: true
@ -70,6 +74,10 @@ const removeItem = () => {
emit('onDimensionItemRemove', item.value) emit('onDimensionItemRemove', item.value)
} }
const getItemTagType = () => { const getItemTagType = () => {
if (props.chart.type !== 'table-info' && props.item.desensitized) {
tagType.value = '#F54A45'
return
}
tagType.value = getItemType(props.dimensionData, props.quotaData, props.item) tagType.value = getItemType(props.dimensionData, props.quotaData, props.item)
} }
onMounted(() => { onMounted(() => {
@ -93,7 +101,9 @@ onMounted(() => {
></Icon> ></Icon>
</el-icon> </el-icon>
</span> </span>
<span class="item-span-style" :title="item.name">{{ item.name }}</span> <span class="item-span-style" :title="item.name"
>{{ item.name }}{{ item.desensitized && '(已脱敏)' }}</span
>
<el-icon class="child remove-icon" size="14px"> <el-icon class="child remove-icon" size="14px">
<Icon name="icon_delete-trash_outlined" class-name="inner-class" @click="removeItem" /> <Icon name="icon_delete-trash_outlined" class-name="inner-class" @click="removeItem" />
</el-icon> </el-icon>

View File

@ -214,6 +214,10 @@ const removeItem = () => {
} }
const getItemTagType = () => { const getItemTagType = () => {
if (props.chart.type !== 'table-info' && props.item.desensitized) {
tagType.value = '#F54A45'
return
}
tagType.value = getItemType(props.dimensionData, props.quotaData, props.item) tagType.value = getItemType(props.dimensionData, props.quotaData, props.item)
} }
@ -304,7 +308,10 @@ onMounted(() => {
:content="item.chartShowName ? item.chartShowName : item.name" :content="item.chartShowName ? item.chartShowName : item.name"
> >
<span class="item-span-style"> <span class="item-span-style">
<span class="item-name">{{ item.chartShowName ? item.chartShowName : item.name }}</span> <span class="item-name"
>{{ item.chartShowName ? item.chartShowName : item.name
}}{{ item.desensitized && '(已脱敏)' }}</span
>
<span v-if="item.summary !== ''" class="item-right-summary"> <span v-if="item.summary !== ''" class="item-right-summary">
({{ t('chart.' + item.summary) }}) ({{ t('chart.' + item.summary) }})
</span> </span>

View File

@ -1519,19 +1519,30 @@ const dragOver = (ev: MouseEvent) => {
} }
const drop = (ev: MouseEvent, type = 'xAxis') => { const drop = (ev: MouseEvent, type = 'xAxis') => {
let hasSesensitized = false
ev.preventDefault() ev.preventDefault()
const arr = activeDimension.value.length ? activeDimension.value : activeQuota.value const arr = activeDimension.value.length ? activeDimension.value : activeQuota.value
for (let i = 0; i < arr.length; i++) { for (let i = 0; i < arr.length; i++) {
const obj = cloneDeep(arr[i]) const obj = cloneDeep(arr[i])
if (obj.desensitized && view.value.type !== 'table-info') {
hasSesensitized = true
continue
}
state.moveId = obj.id as unknown as number state.moveId = obj.id as unknown as number
view.value[type].push(obj) view.value[type].push(obj)
const e = { newDraggableIndex: view.value[type].length - 1 } const e = { newDraggableIndex: view.value[type].length - 1 }
if ('drillFields' === type) { if ('drillFields' === type) {
addDrill(e) addDrill(e)
} else { } else {
addAxis(e, type as AxisType) addAxis(e, type as AxisType)
} }
} }
if (hasSesensitized) {
ElMessage.error('脱敏字段不能用于制作该图表!')
}
} }
const fieldLoading = ref(false) const fieldLoading = ref(false)
@ -2277,6 +2288,7 @@ const deleteChartFieldItem = id => {
<drill-item <drill-item
:key="element.id" :key="element.id"
:index="index" :index="index"
:chart="view"
:item="element" :item="element"
:dimension-data="state.dimension" :dimension-data="state.dimension"
:quota-data="state.quota" :quota-data="state.quota"