From 13571727830076f8fb96d5fba0f85df72e6327c9 Mon Sep 17 00:00:00 2001 From: limengnan <420004014@qq.com> Date: Mon, 23 Jun 2025 18:26:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=AA=E8=B7=9F=E8=B8=AA=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/assets/svg/Excel-remote-ds.svg | 6 ++ .../src/assets/svg/bullet-graph-dark.svg | 15 ++++ .../src/assets/svg/bullet-graph-origin.svg | 15 ++++ .../src/assets/svg/bullet-graph.svg | 15 ++++ .../src/assets/svg/dv-cancel-publish.svg | 1 + .../svg/dv-dashboard-spine-disabled.svg | 4 + .../dv-dashboard-spine-mobile-disabled.svg | 7 ++ .../src/assets/svg/dv-recover_outlined.svg | 6 ++ .../visualization/CanvasExtFullscreenBar.vue | 84 +++++++++++++++++++ .../src/utils/CalculateFields.ts | 36 ++++++++ .../core-frontend/src/utils/componentUtils.ts | 44 ++++++++++ 11 files changed, 233 insertions(+) create mode 100644 core/core-frontend/src/assets/svg/Excel-remote-ds.svg create mode 100644 core/core-frontend/src/assets/svg/bullet-graph-dark.svg create mode 100644 core/core-frontend/src/assets/svg/bullet-graph-origin.svg create mode 100644 core/core-frontend/src/assets/svg/bullet-graph.svg create mode 100644 core/core-frontend/src/assets/svg/dv-cancel-publish.svg create mode 100644 core/core-frontend/src/assets/svg/dv-dashboard-spine-disabled.svg create mode 100644 core/core-frontend/src/assets/svg/dv-dashboard-spine-mobile-disabled.svg create mode 100644 core/core-frontend/src/assets/svg/dv-recover_outlined.svg create mode 100644 core/core-frontend/src/components/visualization/CanvasExtFullscreenBar.vue create mode 100644 core/core-frontend/src/utils/CalculateFields.ts create mode 100644 core/core-frontend/src/utils/componentUtils.ts diff --git a/core/core-frontend/src/assets/svg/Excel-remote-ds.svg b/core/core-frontend/src/assets/svg/Excel-remote-ds.svg new file mode 100644 index 0000000..1c9b0b3 --- /dev/null +++ b/core/core-frontend/src/assets/svg/Excel-remote-ds.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/core/core-frontend/src/assets/svg/bullet-graph-dark.svg b/core/core-frontend/src/assets/svg/bullet-graph-dark.svg new file mode 100644 index 0000000..69bfd6a --- /dev/null +++ b/core/core-frontend/src/assets/svg/bullet-graph-dark.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/core/core-frontend/src/assets/svg/bullet-graph-origin.svg b/core/core-frontend/src/assets/svg/bullet-graph-origin.svg new file mode 100644 index 0000000..69bfd6a --- /dev/null +++ b/core/core-frontend/src/assets/svg/bullet-graph-origin.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/core/core-frontend/src/assets/svg/bullet-graph.svg b/core/core-frontend/src/assets/svg/bullet-graph.svg new file mode 100644 index 0000000..0d54e3d --- /dev/null +++ b/core/core-frontend/src/assets/svg/bullet-graph.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/core/core-frontend/src/assets/svg/dv-cancel-publish.svg b/core/core-frontend/src/assets/svg/dv-cancel-publish.svg new file mode 100644 index 0000000..2fe8923 --- /dev/null +++ b/core/core-frontend/src/assets/svg/dv-cancel-publish.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/core/core-frontend/src/assets/svg/dv-dashboard-spine-disabled.svg b/core/core-frontend/src/assets/svg/dv-dashboard-spine-disabled.svg new file mode 100644 index 0000000..e736673 --- /dev/null +++ b/core/core-frontend/src/assets/svg/dv-dashboard-spine-disabled.svg @@ -0,0 +1,4 @@ + + + + diff --git a/core/core-frontend/src/assets/svg/dv-dashboard-spine-mobile-disabled.svg b/core/core-frontend/src/assets/svg/dv-dashboard-spine-mobile-disabled.svg new file mode 100644 index 0000000..9cef1a1 --- /dev/null +++ b/core/core-frontend/src/assets/svg/dv-dashboard-spine-mobile-disabled.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/core/core-frontend/src/assets/svg/dv-recover_outlined.svg b/core/core-frontend/src/assets/svg/dv-recover_outlined.svg new file mode 100644 index 0000000..765f1a0 --- /dev/null +++ b/core/core-frontend/src/assets/svg/dv-recover_outlined.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/core/core-frontend/src/components/visualization/CanvasExtFullscreenBar.vue b/core/core-frontend/src/components/visualization/CanvasExtFullscreenBar.vue new file mode 100644 index 0000000..7595b8a --- /dev/null +++ b/core/core-frontend/src/components/visualization/CanvasExtFullscreenBar.vue @@ -0,0 +1,84 @@ + + + + + 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: '' + }) + } + } + } + } +}