+
+
+
+
+
+ {{ $t('visualization.ext_fullscreen') }}
+
+
+
+
+
+
diff --git a/core/core-frontend/src/utils/CalculateFields.ts b/core/core-frontend/src/utils/CalculateFields.ts
new file mode 100644
index 0000000..01e0ac6
--- /dev/null
+++ b/core/core-frontend/src/utils/CalculateFields.ts
@@ -0,0 +1,36 @@
+import { Base64 } from 'js-base64'
+
+const originNameHandle = (arr = []) => {
+ arr.forEach(ele => {
+ if (ele.extField === 2) {
+ ele.originName = Base64.encode(ele.originName)
+ }
+ })
+}
+
+const originNameHandleBack = (arr = []) => {
+ arr.forEach(ele => {
+ if (ele.extField === 2) {
+ ele.originName = Base64.decode(ele.originName)
+ }
+ })
+}
+
+const originNameHandleWithArr = (obj = {}, fields) => {
+ fields.forEach(ele => {
+ originNameHandle(obj?.[ele] || [])
+ })
+}
+
+const originNameHandleBackWithArr = (obj = {}, fields) => {
+ fields.forEach(ele => {
+ originNameHandleBack(obj?.[ele] || [])
+ })
+}
+
+export {
+ originNameHandle,
+ originNameHandleBack,
+ originNameHandleWithArr,
+ originNameHandleBackWithArr
+}
diff --git a/core/core-frontend/src/utils/componentUtils.ts b/core/core-frontend/src/utils/componentUtils.ts
new file mode 100644
index 0000000..0ab835c
--- /dev/null
+++ b/core/core-frontend/src/utils/componentUtils.ts
@@ -0,0 +1,44 @@
+import { EnumValue, enumValueObj } from '@/api/dataset'
+
+let filterEnumMap = {}
+
+const findFilterEnum = async (val: EnumValue) => {
+ const queryId = val.queryId
+ const displayId = val.displayId
+ const arr = await enumValueObj({ queryId: queryId, displayId: displayId, searchText: '' })
+ return arr?.reduce((acc, item) => {
+ acc[item[displayId]] = item[queryId]
+ return acc
+ }, {})
+}
+
+export const filterEnumParams = (queryParams, fieldId: string) => {
+ const resultMap = filterEnumMap[fieldId]
+ if (resultMap) {
+ const resultParams = []
+ queryParams.forEach(param => {
+ resultParams.push(resultMap[param] || param)
+ })
+ return resultParams
+ } else {
+ return queryParams
+ }
+}
+
+export const filterEnumMapSync = async componentData => {
+ filterEnumMap = {}
+ for (const element of componentData) {
+ if (element.component === 'VQuery') {
+ for (const filterItem of element.propValue) {
+ const { optionValueSource, field, displayId } = filterItem
+ if (optionValueSource === 1 && field.id) {
+ filterEnumMap[field.id] = await findFilterEnum({
+ queryId: field.id,
+ displayId,
+ searchText: ''
+ })
+ }
+ }
+ }
+ }
+}