diff --git a/core/core-frontend/src/assets/svg/icon_calendar-calculated_outlined-1.svg b/core/core-frontend/src/assets/svg/icon_calendar-calculated_outlined-1.svg
new file mode 100644
index 0000000000..f80b8c02f7
--- /dev/null
+++ b/core/core-frontend/src/assets/svg/icon_calendar-calculated_outlined-1.svg
@@ -0,0 +1,7 @@
+
diff --git a/core/core-frontend/src/assets/svg/icon_calendar-calculated_outlined.svg b/core/core-frontend/src/assets/svg/icon_calendar-calculated_outlined.svg
new file mode 100644
index 0000000000..e7c22eb05b
--- /dev/null
+++ b/core/core-frontend/src/assets/svg/icon_calendar-calculated_outlined.svg
@@ -0,0 +1,7 @@
+
diff --git a/core/core-frontend/src/assets/svg/icon_local-calculated_outlined-1.svg b/core/core-frontend/src/assets/svg/icon_local-calculated_outlined-1.svg
new file mode 100644
index 0000000000..e05567c413
--- /dev/null
+++ b/core/core-frontend/src/assets/svg/icon_local-calculated_outlined-1.svg
@@ -0,0 +1,5 @@
+
diff --git a/core/core-frontend/src/assets/svg/icon_local-calculated_outlined.svg b/core/core-frontend/src/assets/svg/icon_local-calculated_outlined.svg
new file mode 100644
index 0000000000..a11bb57fa7
--- /dev/null
+++ b/core/core-frontend/src/assets/svg/icon_local-calculated_outlined.svg
@@ -0,0 +1,5 @@
+
diff --git a/core/core-frontend/src/assets/svg/icon_number-calculated_outlined-1.svg b/core/core-frontend/src/assets/svg/icon_number-calculated_outlined-1.svg
new file mode 100644
index 0000000000..0d18a77f0a
--- /dev/null
+++ b/core/core-frontend/src/assets/svg/icon_number-calculated_outlined-1.svg
@@ -0,0 +1,4 @@
+
diff --git a/core/core-frontend/src/assets/svg/icon_number-calculated_outlined.svg b/core/core-frontend/src/assets/svg/icon_number-calculated_outlined.svg
new file mode 100644
index 0000000000..434fa042d2
--- /dev/null
+++ b/core/core-frontend/src/assets/svg/icon_number-calculated_outlined.svg
@@ -0,0 +1,4 @@
+
diff --git a/core/core-frontend/src/assets/svg/icon_text-calculated_outlined-1.svg b/core/core-frontend/src/assets/svg/icon_text-calculated_outlined-1.svg
new file mode 100644
index 0000000000..7b4227e14c
--- /dev/null
+++ b/core/core-frontend/src/assets/svg/icon_text-calculated_outlined-1.svg
@@ -0,0 +1,4 @@
+
diff --git a/core/core-frontend/src/assets/svg/icon_text-calculated_outlined.svg b/core/core-frontend/src/assets/svg/icon_text-calculated_outlined.svg
new file mode 100644
index 0000000000..9019c3612a
--- /dev/null
+++ b/core/core-frontend/src/assets/svg/icon_text-calculated_outlined.svg
@@ -0,0 +1,4 @@
+
diff --git a/core/core-frontend/src/components/icon-custom/src/Icon.vue b/core/core-frontend/src/components/icon-custom/src/Icon.vue
index 2ea157b348..1be172bc51 100644
--- a/core/core-frontend/src/components/icon-custom/src/Icon.vue
+++ b/core/core-frontend/src/components/icon-custom/src/Icon.vue
@@ -3,6 +3,14 @@ import { computed } from 'vue'
import { propTypes } from '@/utils/propTypes'
import _401 from '@/assets/svg/401.svg'
+import icon_text_calculated_outlined from '@/assets/svg/icon_text-calculated_outlined.svg'
+import icon_text_calculated_outlined_1 from '@/assets/svg/icon_text-calculated_outlined-1.svg'
+import icon_number_calculated_outlined from '@/assets/svg/icon_number-calculated_outlined.svg'
+import icon_number_calculated_outlined_1 from '@/assets/svg/icon_number-calculated_outlined_1.svg'
+import icon_local_calculated_outlined from '@/assets/svg/icon_local-calculated_outlined.svg'
+import icon_local_calculated_outlined_1 from '@/assets/svg/icon_local-calculated_outlined_1.svg'
+import icon_calendar_calculated_outlined from '@/assets/svg/icon_calendar-calculated_outlined.svg'
+import icon_calendar_calculated_outlined_1 from '@/assets/svg/icon_calendar-calculated_outlined_1.svg'
import icon_adjustment_outlined from '@/assets/svg/icon_adjustment_outlined.svg'
import icon_file_font_colorful from '@/assets/svg/icon_file-font_colorful.svg'
import relation_arrow_icon from '@/assets/svg/relation_arrow_icon.svg'
@@ -685,6 +693,14 @@ import tHeatmapDark from '@/assets/svg/t-heatmap-dark.svg'
import tHeatmapOrigin from '@/assets/svg/t-heatmap-origin.svg'
const iconMap = {
'401': _401,
+ icon_text_calculated_outlined,
+ icon_text_calculated_outlined_1,
+ icon_number_calculated_outlined,
+ icon_number_calculated_outlined_1,
+ icon_local_calculated_outlined,
+ icon_local_calculated_outlined_1,
+ icon_calendar_calculated_outlined,
+ icon_calendar_calculated_outlined_1,
icon_adjustment_outlined,
icon_file_font_colorful,
relation_arrow_icon,
diff --git a/core/core-frontend/src/utils/attr.ts b/core/core-frontend/src/utils/attr.ts
index 57a6123af8..154c78df4e 100644
--- a/core/core-frontend/src/utils/attr.ts
+++ b/core/core-frontend/src/utils/attr.ts
@@ -100,6 +100,16 @@ export const selectKey = ['textAlign', 'borderStyle', 'verticalAlign']
export const horizontalPosition = ['headHorizontalPosition']
export const fieldType = ['text', 'time', 'value', 'value', 'value', 'location', 'binary', 'url']
+export const fieldTypeCalculated = [
+ 'icon_text_calculated_outlined',
+ 'icon_calendar_calculated_outlined',
+ 'icon_number_calculated_outlined',
+ 'icon_number_calculated_outlined',
+ 'icon_number_calculated_outlined',
+ 'icon_local_calculated_outlined',
+ 'binary',
+ 'url'
+]
export const fieldTypeText = [
'文本',
'时间',
diff --git a/core/core-frontend/src/views/chart/components/editor/index.vue b/core/core-frontend/src/views/chart/components/editor/index.vue
index de4e6bb206..273cf2e68f 100644
--- a/core/core-frontend/src/views/chart/components/editor/index.vue
+++ b/core/core-frontend/src/views/chart/components/editor/index.vue
@@ -23,7 +23,7 @@ import { useEmitt } from '@/hooks/web/useEmitt'
import { ElMessage, ElTreeSelect } from 'element-plus-secondary'
import draggable from 'vuedraggable'
import DimensionItem from './drag-item/DimensionItem.vue'
-import { fieldType } from '@/utils/attr'
+import { fieldType, fieldTypeCalculated } from '@/utils/attr'
import QuotaItem from '@/views/chart/components/editor/drag-item/QuotaItem.vue'
import DragPlaceholder from '@/views/chart/components/editor/drag-item/DragPlaceholder.vue'
import FilterTree from './filter/FilterTree.vue'
@@ -1454,6 +1454,13 @@ const confirmEditCalc = () => {
})
}
+const getIconName = (deType, extField, dimension = false) => {
+ if (extField === 2) {
+ return `${fieldTypeCalculated[deType]}${dimension ? '' : '_1'}`
+ }
+ return `field_${fieldType[deType]}`
+}
+
const chartFieldEdit = param => {
state.currEditField = JSON.parse(JSON.stringify(param.item))
switch (param.type) {
@@ -3069,7 +3076,7 @@ const deleteChartFieldItem = id => {
:class-name="`field-icon-${
fieldType[[2, 3].includes(element.deType) ? 2 : 0]
}`"
- :name="`field_${fieldType[element.deType]}`"
+ :name="getIconName(element.deType, element.extField)"
/>
{