Merge remote-tracking branch 'origin/dev-v3' into dev-v3

# Conflicts:
#	core/core-frontend/src/views/chart/components/editor/editor-style/VQueryChartStyle.vue
This commit is contained in:
wangjiahao
2026-05-20 10:00:06 +08:00
4 changed files with 857 additions and 839 deletions

View File

@@ -891,3 +891,7 @@ strong {
.ed-popper.is-light .ed-popper__arrow {
clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}
.ed-collapse-item:last-child {
margin-bottom: 0 !important;
}

View File

@@ -258,421 +258,427 @@ watch(
<template>
<el-row class="view-panel" :class="'style-' + themes">
<div class="attr-style">
<el-row class="de-collapse-style">
<el-collapse v-model="state.attrActiveNames" class="style-collapse">
<el-collapse-item
:effect="themes"
name="position"
:title="t('visualization.position')"
v-if="positionComponentShow"
>
<component-position :themes="themes" />
</el-collapse-item>
<el-collapse-item
:effect="themes"
name="basicStyle"
:title="t('chart.basic_style')"
v-if="showProperties('basic-style-selector')"
>
<basic-style-selector
:property-inner="propertyInnerAll['basic-style-selector']"
:themes="themes"
:chart="chart"
@onBasicStyleChange="onBasicStyleChange"
@onMiscChange="onMiscChange"
/>
</el-collapse-item>
<el-collapse-item
:effect="themes"
name="basicStyle"
:title="t('chart.basic_style')"
v-if="showProperties('dual-basic-style-selector')"
>
<DualBasicStyleSelector
:property-inner="propertyInnerAll['dual-basic-style-selector']"
:themes="themes"
:chart="chart"
@onBasicStyleChange="onBasicStyleChange"
@onMiscChange="onMiscChange"
/>
</el-collapse-item>
<div v-if="showProperties('bullet-graph-selector')">
<el-collapse-item :effect="themes" name="bullet" :title="t('chart.progress_target')">
<bullet-target-selector
:themes="themes"
:chart="chart"
:selector-type="'target'"
@onBasicStyleChange="onBasicStyleChange"
@onMiscChange="onMiscChange"
/>
<el-scrollbar>
<el-row class="de-collapse-style">
<el-collapse v-model="state.attrActiveNames" class="style-collapse">
<el-collapse-item
:effect="themes"
name="position"
:title="t('visualization.position')"
v-if="positionComponentShow"
>
<component-position :themes="themes" />
</el-collapse-item>
<el-collapse-item :effect="themes" name="measure" :title="t('chart.progress_current')">
<bullet-measure-selector
<el-collapse-item
:effect="themes"
name="basicStyle"
:title="t('chart.basic_style')"
v-if="showProperties('basic-style-selector')"
>
<basic-style-selector
:property-inner="propertyInnerAll['basic-style-selector']"
:themes="themes"
:chart="chart"
:selector-type="'measure'"
@onBasicStyleChange="onBasicStyleChange"
@onMiscChange="onMiscChange"
/>
</el-collapse-item>
<el-collapse-item
style="margin-bottom: 0 !important"
:effect="themes"
name="range"
:title="t('chart.range_bg')"
name="basicStyle"
:title="t('chart.basic_style')"
v-if="showProperties('dual-basic-style-selector')"
>
<bullet-range-selector
<DualBasicStyleSelector
:property-inner="propertyInnerAll['dual-basic-style-selector']"
:themes="themes"
:chart="chart"
:selector-type="'range'"
@onBasicStyleChange="onBasicStyleChange"
@onMiscChange="onMiscChange"
/>
</el-collapse-item>
</div>
<collapse-switch-item
:themes="themes"
v-model="chart.customStyle.text.show"
v-if="showProperties('title-selector')"
:change-model="chart.customStyle.text"
@modelChange="val => onTextChange(val, 'show')"
name="title"
:title="$t('chart.title')"
>
<title-selector
:property-inner="propertyInnerAll['title-selector']"
<div v-if="showProperties('bullet-graph-selector')">
<el-collapse-item :effect="themes" name="bullet" :title="t('chart.progress_target')">
<bullet-target-selector
:themes="themes"
:chart="chart"
:selector-type="'target'"
@onBasicStyleChange="onBasicStyleChange"
@onMiscChange="onMiscChange"
/>
</el-collapse-item>
<el-collapse-item
:effect="themes"
name="measure"
:title="t('chart.progress_current')"
>
<bullet-measure-selector
:themes="themes"
:chart="chart"
:selector-type="'measure'"
@onBasicStyleChange="onBasicStyleChange"
@onMiscChange="onMiscChange"
/>
</el-collapse-item>
<el-collapse-item
style="margin-bottom: 0 !important"
:effect="themes"
name="range"
:title="t('chart.range_bg')"
>
<bullet-range-selector
:themes="themes"
:chart="chart"
:selector-type="'range'"
@onBasicStyleChange="onBasicStyleChange"
@onMiscChange="onMiscChange"
/>
</el-collapse-item>
</div>
<collapse-switch-item
:themes="themes"
class="attr-selector"
:chart="chart"
@onTextChange="onTextChange"
/>
</collapse-switch-item>
<collapse-switch-item
:themes="themes"
v-if="showProperties('legend-selector')"
v-model="chart.customStyle.legend.show"
:change-model="chart.customStyle.legend"
@modelChange="val => onLegendChange(val, 'show')"
name="legend"
:title="$t('chart.legend')"
>
<legend-selector
class="attr-selector"
:property-inner="propertyInnerAll['legend-selector']"
v-model="chart.customStyle.text.show"
v-if="showProperties('title-selector')"
:change-model="chart.customStyle.text"
@modelChange="val => onTextChange(val, 'show')"
name="title"
:title="$t('chart.title')"
>
<title-selector
:property-inner="propertyInnerAll['title-selector']"
:themes="themes"
class="attr-selector"
:chart="chart"
@onTextChange="onTextChange"
/>
</collapse-switch-item>
<collapse-switch-item
:themes="themes"
:chart="chart"
@onLegendChange="onLegendChange"
@onMiscChange="onMiscChange"
/>
</collapse-switch-item>
<el-collapse-item
:effect="themes"
name="background"
:title="t('visualization.background')"
v-if="showProperties('background-overall-component') && commonBackgroundPop"
>
<background-overall-common
:common-background-pop="commonBackgroundPop"
v-if="showProperties('legend-selector')"
v-model="chart.customStyle.legend.show"
:change-model="chart.customStyle.legend"
@modelChange="val => onLegendChange(val, 'show')"
name="legend"
:title="$t('chart.legend')"
>
<legend-selector
class="attr-selector"
:property-inner="propertyInnerAll['legend-selector']"
:themes="themes"
:chart="chart"
@onLegendChange="onLegendChange"
@onMiscChange="onMiscChange"
/>
</collapse-switch-item>
<el-collapse-item
:effect="themes"
name="background"
:title="t('visualization.background')"
v-if="showProperties('background-overall-component') && commonBackgroundPop"
>
<background-overall-common
:common-background-pop="commonBackgroundPop"
:themes="themes"
@onBackgroundChange="onBackgroundChange"
component-position="component"
/>
</el-collapse-item>
<collapse-switch-item
v-if="showProperties('border-style') && commonBorderPop && !batchOptStatus"
v-model="commonBorderPop.borderActive"
@modelChange="val => onActiveChange(val)"
:themes="themes"
@onBackgroundChange="onBackgroundChange"
component-position="component"
/>
</el-collapse-item>
<collapse-switch-item
v-if="showProperties('border-style') && commonBorderPop && !batchOptStatus"
v-model="commonBorderPop.borderActive"
@modelChange="val => onActiveChange(val)"
:themes="themes"
:title="t('visualization.board')"
name="borderSetting"
class="common-style-area"
>
<common-border-setting
:style-info="commonBorderPop"
:themes="themes"
@onStyleAttrChange="onStyleAttrChange"
></common-border-setting>
</collapse-switch-item>
:title="t('visualization.board')"
name="borderSetting"
class="common-style-area"
>
<common-border-setting
:style-info="commonBorderPop"
:themes="themes"
@onStyleAttrChange="onStyleAttrChange"
></common-border-setting>
</collapse-switch-item>
<el-collapse-item
:effect="themes"
name="symbolicStyle"
:title="t('chart.symbolic')"
v-if="showProperties('symbolic-style-selector')"
>
<SymbolicStyleSelector
:property-inner="propertyInnerAll['symbolic-style-selector']"
<el-collapse-item
:effect="themes"
name="symbolicStyle"
:title="t('chart.symbolic')"
v-if="showProperties('symbolic-style-selector')"
>
<SymbolicStyleSelector
:property-inner="propertyInnerAll['symbolic-style-selector']"
:themes="themes"
:chart="chart"
@onBasicStyleChange="onBasicStyleChange"
@onMiscChange="onMiscChange"
/>
</el-collapse-item>
<el-collapse-item
:effect="themes"
v-if="showProperties('indicator-value-selector')"
name="indicator-value"
:title="t('chart.indicator_value')"
>
<indicator-value-selector
ref="indicatorValueRef"
:property-inner="propertyInnerAll['indicator-value-selector']"
:themes="themes"
class="attr-selector"
:chart="chart"
:quota-fields="props.quotaData"
@onIndicatorChange="onIndicatorChange"
/>
</el-collapse-item>
<collapse-switch-item
:themes="themes"
:chart="chart"
@onBasicStyleChange="onBasicStyleChange"
@onMiscChange="onMiscChange"
/>
</el-collapse-item>
<el-collapse-item
:effect="themes"
v-if="showProperties('indicator-value-selector')"
name="indicator-value"
:title="t('chart.indicator_value')"
>
<indicator-value-selector
ref="indicatorValueRef"
:property-inner="propertyInnerAll['indicator-value-selector']"
v-model="chart.customAttr.indicatorName.show"
v-if="showProperties('indicator-name-selector')"
:change-model="chart.customAttr.indicatorName"
@modelChange="val => onIndicatorNameChange(val, 'show')"
:title="t('visualization.indicator_name')"
name="indicator-name"
>
<indicator-name-selector
ref="indicatorNameRef"
:property-inner="propertyInnerAll['indicator-name-selector']"
:themes="themes"
class="attr-selector"
:chart="chart"
:quota-fields="props.quotaData"
@onIndicatorNameChange="onIndicatorNameChange"
/>
</collapse-switch-item>
<el-collapse-item
:effect="themes"
v-if="showProperties('misc-selector') && !chart.type.includes('mix')"
name="size"
:title="t('visualization.component_size')"
>
<misc-selector
:property-inner="propertyInnerAll['misc-selector']"
:themes="themes"
class="attr-selector"
:chart="chart"
:quota-fields="props.quotaData"
:mobile-in-pc="mobileInPc"
@onMiscChange="onMiscChange"
/>
</el-collapse-item>
<el-collapse-item
:effect="themes"
v-if="showProperties('misc-style-selector')"
name="size"
:title="selectorSpec['misc-style-selector']?.title || t('chart.tooltip_axis')"
>
<misc-style-selector
:property-inner="propertyInnerAll['misc-style-selector']"
:themes="themes"
class="attr-selector"
:chart="chart"
:quota-fields="props.quotaData"
@onChangeMiscStyleForm="onChangeMiscStyleForm"
/>
</el-collapse-item>
<collapse-switch-item
:themes="themes"
class="attr-selector"
:chart="chart"
:quota-fields="props.quotaData"
@onIndicatorChange="onIndicatorChange"
/>
</el-collapse-item>
<collapse-switch-item
:themes="themes"
v-model="chart.customAttr.indicatorName.show"
v-if="showProperties('indicator-name-selector')"
:change-model="chart.customAttr.indicatorName"
@modelChange="val => onIndicatorNameChange(val, 'show')"
:title="t('visualization.indicator_name')"
name="indicator-name"
>
<indicator-name-selector
ref="indicatorNameRef"
:property-inner="propertyInnerAll['indicator-name-selector']"
v-if="showProperties('label-selector')"
v-model="chart.customAttr.label.show"
:change-model="chart.customAttr.label"
@modelChange="val => onLabelChange({ data: val }, 'show')"
:title="t('chart.label')"
name="label"
>
<label-selector
:property-inner="propertyInnerAll['label-selector']"
:themes="themes"
class="attr-selector"
:chart="chart"
:all-fields="props.allFields"
@onLabelChange="onLabelChange"
/>
</collapse-switch-item>
<collapse-switch-item
v-if="showProperties('tooltip-selector')"
v-model="chart.customAttr.tooltip.show"
:themes="themes"
class="attr-selector"
:chart="chart"
:quota-fields="props.quotaData"
@onIndicatorNameChange="onIndicatorNameChange"
/>
</collapse-switch-item>
<el-collapse-item
:effect="themes"
v-if="showProperties('misc-selector') && !chart.type.includes('mix')"
name="size"
:title="t('visualization.component_size')"
>
<misc-selector
:property-inner="propertyInnerAll['misc-selector']"
:themes="themes"
class="attr-selector"
:chart="chart"
:quota-fields="props.quotaData"
:mobile-in-pc="mobileInPc"
@onMiscChange="onMiscChange"
/>
</el-collapse-item>
<el-collapse-item
:effect="themes"
v-if="showProperties('misc-style-selector')"
name="size"
:title="selectorSpec['misc-style-selector']?.title || t('chart.tooltip_axis')"
>
<misc-style-selector
:property-inner="propertyInnerAll['misc-style-selector']"
:themes="themes"
class="attr-selector"
:chart="chart"
:quota-fields="props.quotaData"
@onChangeMiscStyleForm="onChangeMiscStyleForm"
/>
</el-collapse-item>
<collapse-switch-item
:themes="themes"
v-if="showProperties('label-selector')"
v-model="chart.customAttr.label.show"
:change-model="chart.customAttr.label"
@modelChange="val => onLabelChange({ data: val }, 'show')"
:title="t('chart.label')"
name="label"
>
<label-selector
:property-inner="propertyInnerAll['label-selector']"
:themes="themes"
class="attr-selector"
:chart="chart"
:all-fields="props.allFields"
@onLabelChange="onLabelChange"
/>
</collapse-switch-item>
<collapse-switch-item
v-if="showProperties('tooltip-selector')"
v-model="chart.customAttr.tooltip.show"
:themes="themes"
:change-model="chart.customAttr.tooltip"
:title="t('chart.tooltip')"
:show-switch="showPropertySwitch('tooltip-selector', 'show')"
name="tooltip"
@modelChange="val => onTooltipChange({ data: val }, 'show')"
>
<tooltip-selector
class="attr-selector"
:property-inner="propertyInnerAll['tooltip-selector']"
:themes="themes"
:chart="chart"
:all-fields="props.allFields"
@onTooltipChange="onTooltipChange"
@onExtTooltipChange="onExtTooltipChange"
/>
</collapse-switch-item>
<collapse-switch-item
v-if="showProperties('table-header-selector')"
v-model="chart.customAttr.tableHeader.showTableHeader"
:change-model="chart.customAttr.tableHeader"
:effect="themes"
:title="t('chart.table_header')"
:show-switch="showPropertySwitch('table-header-selector', 'showTableHeader')"
name="tableHeader"
@modelChange="val => onTableHeaderChange(val, 'showTableHeader')"
>
<table-header-selector
:property-inner="propertyInnerAll['table-header-selector']"
:themes="themes"
:chart="chart"
@onTableHeaderChange="onTableHeaderChange"
/>
</collapse-switch-item>
<el-collapse-item
:effect="themes"
name="tableCell"
:title="t('chart.table_cell')"
v-if="showProperties('table-cell-selector')"
>
<table-cell-selector
:property-inner="propertyInnerAll['table-cell-selector']"
:themes="themes"
:chart="chart"
@onTableCellChange="onTableCellChange"
/>
</el-collapse-item>
<el-collapse-item
:effect="themes"
name="tableTotal"
:title="t('chart.table_total')"
v-if="showProperties('table-total-selector')"
>
<table-total-selector
:property-inner="propertyInnerAll['table-total-selector']"
:themes="themes"
:chart="chart"
@onTableTotalChange="onTableTotalChange"
/>
</el-collapse-item>
<el-collapse-item
:effect="themes"
name="quadrant"
:title="t('chart.quadrant')"
v-if="showProperties('quadrant-selector')"
>
<quadrant-selector
class="attr-selector"
:property-inner="propertyInnerAll['quadrant-selector']"
:themes="themes"
:chart="chart"
@onChangeQuadrantForm="onChangeQuadrantForm"
/>
</el-collapse-item>
<el-collapse-item
:effect="themes"
name="flowMapLineSelector"
:title="t('chart.line')"
v-if="showProperties('flow-map-line-selector')"
>
<flow-map-line-selector
class="attr-selector"
:property-inner="propertyInnerAll['flow-map-line-selector']"
:themes="themes"
:chart="chart"
@onChangeFlowMapLineForm="onChangeFlowMapLineForm"
@onBasicStyleChange="onBasicStyleChange"
/>
</el-collapse-item>
<el-collapse-item
:effect="themes"
name="flowMapPointSelector"
:title="t('visualization.component_annotation')"
v-if="showProperties('flow-map-point-selector')"
>
<flow-map-point-selector
class="attr-selector"
:property-inner="propertyInnerAll['flow-map-point-selector']"
:themes="themes"
:chart="chart"
@onChangeFlowMapPointForm="onChangeFlowMapPointForm"
/>
</el-collapse-item>
</el-collapse>
:change-model="chart.customAttr.tooltip"
:title="t('chart.tooltip')"
:show-switch="showPropertySwitch('tooltip-selector', 'show')"
name="tooltip"
@modelChange="val => onTooltipChange({ data: val }, 'show')"
>
<tooltip-selector
class="attr-selector"
:property-inner="propertyInnerAll['tooltip-selector']"
:themes="themes"
:chart="chart"
:all-fields="props.allFields"
@onTooltipChange="onTooltipChange"
@onExtTooltipChange="onExtTooltipChange"
/>
</collapse-switch-item>
<collapse-switch-item
v-if="showProperties('table-header-selector')"
v-model="chart.customAttr.tableHeader.showTableHeader"
:change-model="chart.customAttr.tableHeader"
:effect="themes"
:title="t('chart.table_header')"
:show-switch="showPropertySwitch('table-header-selector', 'showTableHeader')"
name="tableHeader"
@modelChange="val => onTableHeaderChange(val, 'showTableHeader')"
>
<table-header-selector
:property-inner="propertyInnerAll['table-header-selector']"
:themes="themes"
:chart="chart"
@onTableHeaderChange="onTableHeaderChange"
/>
</collapse-switch-item>
<el-collapse-item
:effect="themes"
name="tableCell"
:title="t('chart.table_cell')"
v-if="showProperties('table-cell-selector')"
>
<table-cell-selector
:property-inner="propertyInnerAll['table-cell-selector']"
:themes="themes"
:chart="chart"
@onTableCellChange="onTableCellChange"
/>
</el-collapse-item>
<el-collapse-item
:effect="themes"
name="tableTotal"
:title="t('chart.table_total')"
v-if="showProperties('table-total-selector')"
>
<table-total-selector
:property-inner="propertyInnerAll['table-total-selector']"
:themes="themes"
:chart="chart"
@onTableTotalChange="onTableTotalChange"
/>
</el-collapse-item>
<el-collapse-item
:effect="themes"
name="quadrant"
:title="t('chart.quadrant')"
v-if="showProperties('quadrant-selector')"
>
<quadrant-selector
class="attr-selector"
:property-inner="propertyInnerAll['quadrant-selector']"
:themes="themes"
:chart="chart"
@onChangeQuadrantForm="onChangeQuadrantForm"
/>
</el-collapse-item>
<el-collapse-item
:effect="themes"
name="flowMapLineSelector"
:title="t('chart.line')"
v-if="showProperties('flow-map-line-selector')"
>
<flow-map-line-selector
class="attr-selector"
:property-inner="propertyInnerAll['flow-map-line-selector']"
:themes="themes"
:chart="chart"
@onChangeFlowMapLineForm="onChangeFlowMapLineForm"
@onBasicStyleChange="onBasicStyleChange"
/>
</el-collapse-item>
<el-collapse-item
:effect="themes"
name="flowMapPointSelector"
:title="t('visualization.component_annotation')"
v-if="showProperties('flow-map-point-selector')"
>
<flow-map-point-selector
class="attr-selector"
:property-inner="propertyInnerAll['flow-map-point-selector']"
:themes="themes"
:chart="chart"
@onChangeFlowMapPointForm="onChangeFlowMapPointForm"
/>
</el-collapse-item>
</el-collapse>
<el-collapse v-model="state.styleActiveNames" class="style-collapse">
<collapse-switch-item
:themes="themes"
v-if="showProperties('x-axis-selector')"
v-model="chart.customStyle.xAxis.show"
:change-model="chart.customStyle.xAxis"
@modelChange="val => onChangeXAxisForm(val, 'show')"
name="xAxis"
:title="selectorSpec['x-axis-selector']?.title || t('chart.xAxis')"
>
<x-axis-selector
class="attr-selector"
:property-inner="propertyInnerAll['x-axis-selector']"
<el-collapse v-model="state.styleActiveNames" class="style-collapse">
<collapse-switch-item
:themes="themes"
:chart="chart"
@onChangeXAxisForm="onChangeXAxisForm"
/>
</collapse-switch-item>
<collapse-switch-item
:themes="themes"
v-if="showProperties('y-axis-selector')"
v-model="chart.customStyle.yAxis.show"
:change-model="chart.customStyle.yAxis"
@modelChange="val => onChangeYAxisForm(val, 'show')"
name="yAxis"
:title="t('chart.yAxis')"
>
<y-axis-selector
class="attr-selector"
:property-inner="propertyInnerAll['y-axis-selector']"
v-if="showProperties('x-axis-selector')"
v-model="chart.customStyle.xAxis.show"
:change-model="chart.customStyle.xAxis"
@modelChange="val => onChangeXAxisForm(val, 'show')"
name="xAxis"
:title="selectorSpec['x-axis-selector']?.title || t('chart.xAxis')"
>
<x-axis-selector
class="attr-selector"
:property-inner="propertyInnerAll['x-axis-selector']"
:themes="themes"
:chart="chart"
@onChangeXAxisForm="onChangeXAxisForm"
/>
</collapse-switch-item>
<collapse-switch-item
:themes="themes"
:chart="chart"
@onChangeYAxisForm="onChangeYAxisForm"
/>
</collapse-switch-item>
v-if="showProperties('y-axis-selector')"
v-model="chart.customStyle.yAxis.show"
:change-model="chart.customStyle.yAxis"
@modelChange="val => onChangeYAxisForm(val, 'show')"
name="yAxis"
:title="t('chart.yAxis')"
>
<y-axis-selector
class="attr-selector"
:property-inner="propertyInnerAll['y-axis-selector']"
:themes="themes"
:chart="chart"
@onChangeYAxisForm="onChangeYAxisForm"
/>
</collapse-switch-item>
<collapse-switch-item
:themes="themes"
v-if="showProperties('dual-y-axis-selector')"
v-model="chart.customStyle.yAxis.show"
:change-model="chart.customStyle.yAxis"
@modelChange="val => onChangeYAxisForm(val, 'show')"
name="yAxis"
:title="selectorSpec['dual-y-axis-selector']?.title ?? t('chart.yAxis')"
>
<dual-y-axis-selector
class="attr-selector"
:property-inner="propertyInnerAll['dual-y-axis-selector']"
<collapse-switch-item
:themes="themes"
:chart="chart"
@onChangeYAxisForm="onChangeYAxisForm"
@onChangeYAxisExtForm="onChangeYAxisExtForm"
/>
</collapse-switch-item>
v-if="showProperties('dual-y-axis-selector')"
v-model="chart.customStyle.yAxis.show"
:change-model="chart.customStyle.yAxis"
@modelChange="val => onChangeYAxisForm(val, 'show')"
name="yAxis"
:title="selectorSpec['dual-y-axis-selector']?.title ?? t('chart.yAxis')"
>
<dual-y-axis-selector
class="attr-selector"
:property-inner="propertyInnerAll['dual-y-axis-selector']"
:themes="themes"
:chart="chart"
@onChangeYAxisForm="onChangeYAxisForm"
@onChangeYAxisExtForm="onChangeYAxisExtForm"
/>
</collapse-switch-item>
<collapse-switch-item
:themes="themes"
v-if="showProperties('summary-selector')"
v-model="chart.customAttr.basicStyle.showSummary"
:change-model="chart.customAttr.basicStyle"
@modelChange="val => onBasicStyleChange({ data: val }, 'showSummary')"
:title="t('chart.table_summary')"
name="summary"
>
<summary-selector
:property-inner="propertyInnerAll['summary-selector']"
<collapse-switch-item
:themes="themes"
:chart="chart"
@onBasicStyleChange="onBasicStyleChange"
/>
</collapse-switch-item>
</el-collapse>
</el-row>
v-if="showProperties('summary-selector')"
v-model="chart.customAttr.basicStyle.showSummary"
:change-model="chart.customAttr.basicStyle"
@modelChange="val => onBasicStyleChange({ data: val }, 'showSummary')"
:title="t('chart.table_summary')"
name="summary"
>
<summary-selector
:property-inner="propertyInnerAll['summary-selector']"
:themes="themes"
:chart="chart"
@onBasicStyleChange="onBasicStyleChange"
/>
</collapse-switch-item>
</el-collapse>
</el-row>
</el-scrollbar>
</div>
</el-row>
</template>
@@ -700,7 +706,6 @@ span {
}
.attr-style {
overflow-y: auto;
height: 100%;
width: 100%;
}

View File

@@ -293,481 +293,490 @@ const onPlaceholderChange = () => {
<template>
<div class="attr-style">
<input
id="input"
ref="files"
type="file"
accept=".jpeg,.jpg,.png,.gif,.svg"
hidden
@click="
e => {
e.target.value = ''
}
"
@change="reUpload"
/>
<el-row class="de-collapse-style">
<el-collapse v-model="styleActiveNames" class="style-collapse">
<el-collapse-item :effect="themes" name="basicStyle" :title="t('chart.basic_style')">
<el-form size="small" @keydown.stop.prevent.enter label-position="top">
<el-form-item class="form-item margin-bottom-8" :class="'form-item-' + themes">
<el-checkbox
:effect="themes"
size="small"
v-model="chart.customStyle.component.titleShow"
>
{{ t('chart.show') + t('chart.title') }}
</el-checkbox>
</el-form-item>
<el-form-item
class="form-item"
style="padding-left: 20px"
:class="'form-item-' + themes"
>
<el-input
:effect="themes"
:disabled="!chart.customStyle.component.titleShow"
v-model.lazy="chart.customStyle.component.title"
@change="onTitleChange"
/>
</el-form-item>
<el-form-item
:label="t('components.title_color')"
class="form-item"
style="padding-left: 20px"
:class="'form-item-' + themes"
>
<el-color-picker
:effect="themes"
v-model="chart.customStyle.component.titleColor"
:trigger-width="204"
show-alpha
:disabled="!chart.customStyle.component.titleShow"
is-custom
:predefine="COLOR_PANEL"
/>
</el-form-item>
<el-form-item
v-if="!mobileInPc && isDashboard() && isMainCanvas(element.canvasId)"
class="form-item margin-bottom-8"
:class="'form-item-' + themes"
:label="t('visualization.query_position')"
>
<el-radio-group
v-model="element.freeze"
:effect="themes"
size="small"
@change="onFreezeChange"
>
<el-radio :effect="themes" style="min-width: 80px" :value="true">{{
t('visualization.to_top')
}}</el-radio>
<el-radio :effect="themes" style="min-width: 80px" :value="false">{{
t('visualization.default')
}}</el-radio>
</el-radio-group>
</el-form-item>
<background-overall-common
:common-background-pop="commonBackgroundPop"
:themes="themes"
@onBackgroundChange="onBackgroundChangeV2"
component-position="component"
/>
</el-form>
</el-collapse-item>
<el-collapse-item :effect="themes" name="addition" :title="t('v_query.query_condition')">
<el-form
size="small"
@keydown.stop.prevent.enter
label-position="top"
style="padding-bottom: 8px"
>
<el-row :gutter="8">
<el-col :span="12">
<el-form-item
:label="t('visualization.board')"
class="form-item w100"
:class="'form-item-' + themes"
<el-scrollbar>
<input
id="input"
ref="files"
type="file"
accept=".jpeg,.jpg,.png,.gif,.svg"
hidden
@click="
e => {
e.target.value = ''
}
"
@change="reUpload"
/>
<el-row class="de-collapse-style">
<el-collapse v-model="styleActiveNames" class="style-collapse">
<el-collapse-item :effect="themes" name="basicStyle" :title="t('chart.basic_style')">
<el-form size="small" @keydown.stop.prevent.enter label-position="top">
<el-form-item class="form-item margin-bottom-8" :class="'form-item-' + themes">
<el-checkbox
:effect="themes"
size="small"
v-model="chart.customStyle.component.titleShow"
>
<el-color-picker
:effect="themes"
:trigger-width="106"
is-custom
show-alpha
v-model="chart.customStyle.component.borderColor"
:predefine="predefineColors"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
:label="t('chart.background')"
class="form-item w100"
:class="'form-item-' + themes"
>
<el-color-picker
:effect="themes"
:trigger-width="106"
is-custom
show-alpha
v-model="chart.customStyle.component.bgColor"
:predefine="predefineColors"
/>
</el-form-item>
</el-col>
</el-row>
<el-form-item
:effect="themes"
class="form-item"
:label="t('visualization.query_condition_space')"
:class="'form-item-' + themes"
>
<el-input-number
v-model="chart.customStyle.component.queryConditionSpacing"
:min="0"
:effect="themes"
controls-position="right"
/>
</el-form-item>
<el-form-item
:effect="themes"
class="form-item"
:label="t('visualization.query_condition_height')"
:class="'form-item-' + themes"
>
<el-input-number
v-model="chart.customStyle.component.queryConditionHeight"
:min="32"
:effect="themes"
controls-position="right"
/>
</el-form-item>
<el-form-item class="form-item margin-bottom-8" :class="'form-item-' + themes">
<el-checkbox
:effect="themes"
size="small"
@change="handleCurrentPlaceholderCustomChange"
v-model="chart.customStyle.component.placeholderShow"
{{ t('chart.show') + t('chart.title') }}
</el-checkbox>
</el-form-item>
<el-form-item
class="form-item"
style="padding-left: 20px"
:class="'form-item-' + themes"
>
<el-input
:effect="themes"
:disabled="!chart.customStyle.component.titleShow"
v-model.lazy="chart.customStyle.component.title"
@change="onTitleChange"
/>
</el-form-item>
<el-form-item
:label="t('components.title_color')"
class="form-item"
style="padding-left: 20px"
:class="'form-item-' + themes"
>
{{ t('v_query.custom_condition_style') }}
</el-checkbox>
</el-form-item>
<el-form-item
:label="t('visualization.text_html')"
class="form-item"
style="padding-left: 20px"
:class="'form-item-' + themes"
>
<div style="display: flex; align-items: center; width: 100%">
<el-color-picker
:effect="themes"
:trigger-width="56"
style="max-width: 56px; min-width: 56px"
is-custom
v-model="chart.customStyle.component.titleColor"
:trigger-width="204"
show-alpha
v-model="chart.customStyle.component.text"
:disabled="!chart.customStyle.component.placeholderShow"
@change="handleCurrentPlaceholderCustomChange"
:predefine="predefineColors"
:disabled="!chart.customStyle.component.titleShow"
is-custom
:predefine="COLOR_PANEL"
/>
</el-form-item>
<el-form-item
v-if="!mobileInPc && isDashboard() && isMainCanvas(element.canvasId)"
class="form-item margin-bottom-8"
:class="'form-item-' + themes"
:label="t('visualization.query_position')"
>
<el-radio-group
v-model="element.freeze"
:effect="themes"
size="small"
@change="onFreezeChange"
>
<el-radio :effect="themes" style="min-width: 80px" :value="true">{{
t('visualization.to_top')
}}</el-radio>
<el-radio :effect="themes" style="min-width: 80px" :value="false">{{
t('visualization.default')
}}</el-radio>
</el-radio-group>
</el-form-item>
<background-overall-common
:common-background-pop="commonBackgroundPop"
:themes="themes"
@onBackgroundChange="onBackgroundChangeV2"
component-position="component"
/>
</el-form>
</el-collapse-item>
<el-collapse-item :effect="themes" name="addition" :title="t('v_query.query_condition')">
<el-form
size="small"
@keydown.stop.prevent.enter
label-position="top"
style="padding-bottom: 8px"
>
<el-row :gutter="8">
<el-col :span="12">
<el-form-item
:label="t('visualization.board')"
class="form-item w100"
:class="'form-item-' + themes"
>
<el-color-picker
:effect="themes"
:trigger-width="106"
is-custom
show-alpha
v-model="chart.customStyle.component.borderColor"
:predefine="predefineColors"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
:label="t('chart.background')"
class="form-item w100"
:class="'form-item-' + themes"
>
<el-color-picker
:effect="themes"
:trigger-width="106"
is-custom
show-alpha
v-model="chart.customStyle.component.bgColor"
:predefine="predefineColors"
/>
</el-form-item>
</el-col>
</el-row>
<el-form-item
:effect="themes"
class="form-item"
:label="t('visualization.query_condition_space')"
:class="'form-item-' + themes"
>
<el-input-number
v-model="chart.customStyle.component.placeholderSize"
@change="handleCurrentPlaceholderCustomChange"
:min="10"
:max="40"
:disabled="!chart.customStyle.component.placeholderShow"
style="margin-left: 8px"
step-strictly
v-model="chart.customStyle.component.queryConditionSpacing"
:min="0"
:effect="themes"
controls-position="right"
/>
</div>
<div style="display: flex; align-items: center; width: 100%; margin-top: 8px">
<el-select
v-model="currentPlaceholder"
:disabled="!chart.customStyle.component.placeholderShow"
@change="handleCurrentPlaceholder"
:effect="themes"
style="width: 100%"
>
<el-option
v-for="item in element.propValue"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</div>
</el-form-item>
<el-form-item
:label="t('visualization.tips_world')"
class="form-item"
style="padding-left: 20px"
:class="'form-item-' + themes"
>
<el-input
</el-form-item>
<el-form-item
:effect="themes"
@change="onPlaceholderChange"
:disabled="!chart.customStyle.component.placeholderShow || !currentPlaceholder"
v-model.lazy="currentSearch.placeholder"
/>
</el-form-item>
<el-form-item
:label="t('v_query.query_condition_width')"
class="form-item"
style="padding-left: 20px"
:class="'form-item-' + themes"
>
<el-input-number
:effect="themes"
:min="100"
controls-position="right"
@change="onPlaceholderChange"
:disabled="!chart.customStyle.component.placeholderShow || !currentPlaceholder"
v-model.lazy="currentSearch.queryConditionWidth"
/>
</el-form-item>
</el-form>
</el-collapse-item>
<collapse-switch-item
:themes="themes"
v-model="chart.customStyle.component.labelShow"
name="legend"
:title="t('visualization.query_condition_name')"
>
<el-form
:class="!chart.customStyle.component.labelShow && 'is-disabled'"
:disabled="!chart.customStyle.component.labelShow"
label-position="top"
size="small"
style="padding-bottom: 8px"
>
<el-form-item
:effect="themes"
class="form-item"
:label="t('visualization.position_adjust')"
:class="'form-item-' + themes"
>
<el-radio-group :effect="themes" v-model="chart.customStyle.component.layout">
<el-radio value="vertical" :effect="themes">
{{ t('visualization.condition_top') }}
</el-radio>
<el-radio value="horizontal" :effect="themes">
{{ t('visualization.condition_left') }}
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
:label="t('chart.textColor')"
class="form-item margin-bottom-8"
:class="'form-item-' + themes"
>
<el-color-picker
:effect="themes"
is-custom
show-alpha
style="width: 50px"
v-model="chart.customStyle.component.labelColor"
:predefine="predefineColors"
/><el-tooltip
:content="t('visualization.font_size')"
:effect="toolTip"
placement="top"
class="form-item"
:label="t('visualization.query_condition_height')"
:class="'form-item-' + themes"
>
<el-select
style="width: 80px; margin: 0 8px"
<el-input-number
v-model="chart.customStyle.component.queryConditionHeight"
:min="32"
:effect="themes"
controls-position="right"
/>
</el-form-item>
<el-form-item class="form-item margin-bottom-8" :class="'form-item-' + themes">
<el-checkbox
:effect="themes"
v-model="chart.customStyle.component.fontSize"
:placeholder="t('chart.text_fontsize')"
size="small"
@change="handleCurrentPlaceholderCustomChange"
v-model="chart.customStyle.component.placeholderShow"
>
<el-option
v-for="option in fontSizeList"
:key="option.value"
:label="option.name"
:value="option.value"
{{ t('v_query.custom_condition_style') }}
</el-checkbox>
</el-form-item>
<el-form-item
:label="t('visualization.text_html')"
class="form-item"
style="padding-left: 20px"
:class="'form-item-' + themes"
>
<div style="display: flex; align-items: center; width: 100%">
<el-color-picker
:effect="themes"
:trigger-width="56"
style="max-width: 56px; min-width: 56px"
is-custom
show-alpha
v-model="chart.customStyle.component.text"
:disabled="!chart.customStyle.component.placeholderShow"
@change="handleCurrentPlaceholderCustomChange"
:predefine="predefineColors"
/>
<el-input-number
v-model="chart.customStyle.component.placeholderSize"
@change="handleCurrentPlaceholderCustomChange"
:min="10"
:max="40"
:disabled="!chart.customStyle.component.placeholderShow"
style="margin-left: 8px"
step-strictly
:effect="themes"
controls-position="right"
/>
</el-select>
</el-tooltip>
<el-tooltip :effect="toolTip" placement="bottom">
<template #content>
{{ t('chart.bolder') }}
</template>
<div
class="icon-btn"
:class="{
dark: themes === 'dark',
active: chart.customStyle.component.fontWeight === 'bold'
}"
style="margin-right: 8px"
@click="checkBold('fontWeight')"
>
<el-icon>
<Icon name="icon_bold_outlined"><icon_bold_outlined class="svg-icon" /></Icon>
</el-icon>
</div>
</el-tooltip>
<el-tooltip :effect="toolTip" placement="bottom">
<template #content>
{{ t('chart.italic') }}
</template>
<div
class="icon-btn"
:class="{
dark: themes === 'dark',
active: chart.customStyle.component.fontStyle === 'italic'
}"
@click="checkItalic('fontStyle')"
>
<el-icon>
<Icon name="icon_italic_outlined"
><icon_italic_outlined class="svg-icon"
/></Icon>
</el-icon>
</div>
</el-tooltip>
</el-form-item>
<el-form-item
:effect="themes"
class="form-item"
:label="t('visualization.query_name_space2')"
:class="'form-item-' + themes"
>
<el-input-number
v-model="chart.customStyle.component.nameboxSpacing"
:min="0"
:max="50"
:effect="themes"
controls-position="right"
/>
</el-form-item>
</el-form>
</collapse-switch-item>
<el-collapse-item :effect="themes" name="button" :title="t('commons.button')">
<el-form
size="small"
@keydown.stop.prevent.enter
label-position="top"
style="padding-bottom: 8px"
>
<el-form-item
:effect="themes"
class="form-item"
:label="t('visualization.show_button')"
:class="'form-item-' + themes"
>
<el-checkbox-group :effect="themes" v-model="chart.customStyle.component.btnList">
<el-checkbox class="checkbox-with_icon" :effect="themes" size="small" label="sure">
{{ t('commons.adv_search.search') }}
<el-tooltip
:effect="toolTip"
:content="t('visualization.query_tips')"
placement="top"
<div style="display: flex; align-items: center; width: 100%; margin-top: 8px">
<el-select
v-model="currentPlaceholder"
:disabled="!chart.customStyle.component.placeholderShow"
@change="handleCurrentPlaceholder"
:effect="themes"
style="width: 100%"
>
<el-icon class="hint-icon" :class="{ 'hint-icon--dark': themes === 'dark' }">
<Icon name="icon_info_outlined"><icon_info_outlined class="svg-icon" /></Icon>
</el-icon>
</el-tooltip>
</el-checkbox>
<br />
<el-checkbox style="margin-top: 8px" :effect="themes" size="small" label="clear">
{{ t('commons.clear') }}
</el-checkbox>
<br />
<el-checkbox style="margin-top: 8px" :effect="themes" size="small" label="reset">
{{ t('commons.adv_search.reset') }}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item
class="form-item"
:label="t('visualization.button_color')"
:class="'form-item-' + themes"
>
<el-color-picker
:effect="themes"
:trigger-width="108"
is-custom
show-alpha
v-model="chart.customStyle.component.btnColor"
:predefine="predefineColors"
/>
</el-form-item>
<el-form-item
:label="t('visualization.button_text')"
class="form-item margin-bottom-8"
:class="'form-item-' + themes"
>
<el-color-picker
:effect="themes"
is-custom
show-alpha
v-model="chart.customStyle.component.labelColorBtn"
:predefine="predefineColors"
/><el-tooltip
:content="t('visualization.font_size')"
:effect="toolTip"
placement="top"
<el-option
v-for="item in element.propValue"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</div>
</el-form-item>
<el-form-item
:label="t('visualization.tips_world')"
class="form-item"
style="padding-left: 20px"
:class="'form-item-' + themes"
>
<el-select
style="width: 80px; margin: 0 8px"
<el-input
:effect="themes"
v-model="chart.customStyle.component.fontSizeBtn"
:placeholder="t('chart.text_fontsize')"
size="small"
@change="onPlaceholderChange"
:disabled="!chart.customStyle.component.placeholderShow || !currentPlaceholder"
v-model.lazy="currentSearch.placeholder"
/>
</el-form-item>
<el-form-item
:label="t('v_query.query_condition_width')"
class="form-item"
style="padding-left: 20px"
:class="'form-item-' + themes"
>
<el-input-number
:effect="themes"
:min="100"
controls-position="right"
@change="onPlaceholderChange"
:disabled="!chart.customStyle.component.placeholderShow || !currentPlaceholder"
v-model.lazy="currentSearch.queryConditionWidth"
/>
</el-form-item>
</el-form>
</el-collapse-item>
<collapse-switch-item
:themes="themes"
v-model="chart.customStyle.component.labelShow"
name="legend"
:title="t('visualization.query_condition_name')"
>
<el-form
:class="!chart.customStyle.component.labelShow && 'is-disabled'"
:disabled="!chart.customStyle.component.labelShow"
label-position="top"
size="small"
style="padding-bottom: 8px"
>
<el-form-item
:effect="themes"
class="form-item"
:label="t('visualization.position_adjust')"
:class="'form-item-' + themes"
>
<el-radio-group :effect="themes" v-model="chart.customStyle.component.layout">
<el-radio value="vertical" :effect="themes">
{{ t('visualization.condition_top') }}
</el-radio>
<el-radio value="horizontal" :effect="themes">
{{ t('visualization.condition_left') }}
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
:label="t('chart.textColor')"
class="form-item margin-bottom-8"
:class="'form-item-' + themes"
>
<el-color-picker
:effect="themes"
is-custom
show-alpha
style="width: 50px"
v-model="chart.customStyle.component.labelColor"
:predefine="predefineColors"
/><el-tooltip
:content="t('visualization.font_size')"
:effect="toolTip"
placement="top"
>
<el-option
v-for="option in fontSizeList"
:key="option.value"
:label="option.name"
:value="option.value"
/>
</el-select>
</el-tooltip>
<el-tooltip :effect="toolTip" placement="bottom">
<template #content>
{{ t('chart.bolder') }}
</template>
<div
class="icon-btn"
:class="{
dark: themes === 'dark',
active: chart.customStyle.component.fontWeightBtn === 'bold'
}"
style="margin-right: 8px"
@click="checkBold('fontWeightBtn')"
>
<el-icon>
<Icon name="icon_bold_outlined"><icon_bold_outlined class="svg-icon" /></Icon>
</el-icon>
</div>
</el-tooltip>
<el-select
style="width: 80px; margin: 0 8px"
:effect="themes"
v-model="chart.customStyle.component.fontSize"
:placeholder="t('chart.text_fontsize')"
size="small"
>
<el-option
v-for="option in fontSizeList"
:key="option.value"
:label="option.name"
:value="option.value"
/>
</el-select>
</el-tooltip>
<el-tooltip :effect="toolTip" placement="bottom">
<template #content>
{{ t('chart.bolder') }}
</template>
<div
class="icon-btn"
:class="{
dark: themes === 'dark',
active: chart.customStyle.component.fontWeight === 'bold'
}"
style="margin-right: 8px"
@click="checkBold('fontWeight')"
>
<el-icon>
<Icon name="icon_bold_outlined"><icon_bold_outlined class="svg-icon" /></Icon>
</el-icon>
</div>
</el-tooltip>
<el-tooltip :effect="toolTip" placement="bottom">
<template #content>
{{ t('chart.italic') }}
</template>
<div
class="icon-btn"
:class="{
dark: themes === 'dark',
active: chart.customStyle.component.fontStyleBtn === 'italic'
}"
@click="checkItalic('fontStyleBtn')"
<el-tooltip :effect="toolTip" placement="bottom">
<template #content>
{{ t('chart.italic') }}
</template>
<div
class="icon-btn"
:class="{
dark: themes === 'dark',
active: chart.customStyle.component.fontStyle === 'italic'
}"
@click="checkItalic('fontStyle')"
>
<el-icon>
<Icon name="icon_italic_outlined"
><icon_italic_outlined class="svg-icon"
/></Icon>
</el-icon>
</div>
</el-tooltip>
</el-form-item>
<el-form-item
:effect="themes"
class="form-item"
:label="t('visualization.query_name_space2')"
:class="'form-item-' + themes"
>
<el-input-number
v-model="chart.customStyle.component.nameboxSpacing"
:min="0"
:max="50"
:effect="themes"
controls-position="right"
/>
</el-form-item>
</el-form>
</collapse-switch-item>
<el-collapse-item :effect="themes" name="button" :title="t('commons.button')">
<el-form
size="small"
@keydown.stop.prevent.enter
label-position="top"
style="padding-bottom: 8px"
>
<el-form-item
:effect="themes"
class="form-item"
:label="t('visualization.show_button')"
:class="'form-item-' + themes"
>
<el-checkbox-group :effect="themes" v-model="chart.customStyle.component.btnList">
<el-checkbox
class="checkbox-with_icon"
:effect="themes"
size="small"
label="sure"
>
{{ t('commons.adv_search.search') }}
<el-tooltip
:effect="toolTip"
:content="t('visualization.query_tips')"
placement="top"
>
<el-icon class="hint-icon" :class="{ 'hint-icon--dark': themes === 'dark' }">
<Icon name="icon_info_outlined"
><icon_info_outlined class="svg-icon"
/></Icon>
</el-icon>
</el-tooltip>
</el-checkbox>
<br />
<el-checkbox style="margin-top: 8px" :effect="themes" size="small" label="clear">
{{ t('commons.clear') }}
</el-checkbox>
<br />
<el-checkbox style="margin-top: 8px" :effect="themes" size="small" label="reset">
{{ t('commons.adv_search.reset') }}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item
class="form-item"
:label="t('visualization.button_color')"
:class="'form-item-' + themes"
>
<el-color-picker
:effect="themes"
:trigger-width="108"
is-custom
show-alpha
v-model="chart.customStyle.component.btnColor"
:predefine="predefineColors"
/>
</el-form-item>
<el-form-item
:label="t('visualization.button_text')"
class="form-item margin-bottom-8"
:class="'form-item-' + themes"
>
<el-color-picker
:effect="themes"
is-custom
show-alpha
v-model="chart.customStyle.component.labelColorBtn"
:predefine="predefineColors"
/><el-tooltip
:content="t('visualization.font_size')"
:effect="toolTip"
placement="top"
>
<el-icon>
<Icon name="icon_italic_outlined"
><icon_italic_outlined class="svg-icon"
/></Icon>
</el-icon>
</div>
</el-tooltip>
</el-form-item>
</el-form>
</el-collapse-item>
</el-collapse>
</el-row>
<el-select
style="width: 80px; margin: 0 8px"
:effect="themes"
v-model="chart.customStyle.component.fontSizeBtn"
:placeholder="t('chart.text_fontsize')"
size="small"
>
<el-option
v-for="option in fontSizeList"
:key="option.value"
:label="option.name"
:value="option.value"
/>
</el-select>
</el-tooltip>
<el-tooltip :effect="toolTip" placement="bottom">
<template #content>
{{ t('chart.bolder') }}
</template>
<div
class="icon-btn"
:class="{
dark: themes === 'dark',
active: chart.customStyle.component.fontWeightBtn === 'bold'
}"
style="margin-right: 8px"
@click="checkBold('fontWeightBtn')"
>
<el-icon>
<Icon name="icon_bold_outlined"><icon_bold_outlined class="svg-icon" /></Icon>
</el-icon>
</div>
</el-tooltip>
<el-tooltip :effect="toolTip" placement="bottom">
<template #content>
{{ t('chart.italic') }}
</template>
<div
class="icon-btn"
:class="{
dark: themes === 'dark',
active: chart.customStyle.component.fontStyleBtn === 'italic'
}"
@click="checkItalic('fontStyleBtn')"
>
<el-icon>
<Icon name="icon_italic_outlined"
><icon_italic_outlined class="svg-icon"
/></Icon>
</el-icon>
</div>
</el-tooltip>
</el-form-item>
</el-form>
</el-collapse-item>
</el-collapse>
</el-row>
</el-scrollbar>
</div>
</template>
@@ -779,7 +788,6 @@ const onPlaceholderChange = () => {
}
.attr-style {
overflow-y: auto;
height: 100%;
width: 100%;

View File

@@ -4992,6 +4992,7 @@ span {
:deep(.ed-collapse) {
width: 100%;
border-top: unset;
border-bottom: unset;
}
:deep(.ed-form-item) {
.ed-radio.ed-radio--small .ed-radio__inner {