From c3ea341a70838d8d511357adf983bd42afdce0c6 Mon Sep 17 00:00:00 2001 From: dataeaseShu Date: Fri, 21 Mar 2025 17:37:31 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=95=B0=E6=8D=AE=E9=9B=86):=20=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=E5=AD=97=E6=AE=B5=E4=B8=AD=E7=9A=84=20SQL=20=E7=89=87?= =?UTF-8?q?=E6=AE=B5=E5=9C=A8=E4=BC=A0=E8=BE=93=E8=BF=87=E7=A8=8B=E4=B8=AD?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E5=8A=A0=E5=AF=86=E5=A4=84=E7=90=86=20#15446?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/core-frontend/src/api/dataset.ts | 46 +++++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 3 deletions(-) diff --git a/core/core-frontend/src/api/dataset.ts b/core/core-frontend/src/api/dataset.ts index 018e6f6445..e5100ab0c4 100644 --- a/core/core-frontend/src/api/dataset.ts +++ b/core/core-frontend/src/api/dataset.ts @@ -1,5 +1,7 @@ import request from '@/config/axios' +import { Base64 } from 'js-base64' import { type Field } from '@/api/chart' +import { cloneDeep } from 'lodash-es' import type { BusiTreeRequest } from '@/models/tree/TreeNode' import { nameTrim } from '@/utils/utils' export interface DatasetOrFolder { @@ -68,11 +70,32 @@ export interface Table { type: string unableCheck?: boolean } + +const originNameHandle = arr => { + arr.forEach(ele => { + if (ele.extField === 2) { + ele.originName = Base64.encodeURI(ele.originName) + } + }) +} + +const originNameHandleBack = arr => { + arr.forEach(ele => { + if (ele.extField === 2) { + ele.originName = Base64.decode(ele.originName) + } + }) +} // 获取权限路 // edit export const saveDatasetTree = async (data: DatasetOrFolder): Promise => { nameTrim(data) - return request.post({ url: '/datasetTree/save', data }).then(res => { + const copyData = cloneDeep(data) + originNameHandle(copyData.allFields) + return request.post({ url: '/datasetTree/save', data: copyData }).then(res => { + if (res?.data?.allFields?.length) { + originNameHandleBack(res?.data?.allFields) + } return res?.data }) } @@ -80,7 +103,12 @@ export const saveDatasetTree = async (data: DatasetOrFolder): Promise // create export const createDatasetTree = async (data: DatasetOrFolder): Promise => { nameTrim(data) - return request.post({ url: '/datasetTree/create', data }).then(res => { + const copyData = cloneDeep(data) + originNameHandle(copyData.allFields) + return request.post({ url: '/datasetTree/create', data: copyData }).then(res => { + if (res?.data?.allFields?.length) { + originNameHandleBack(res?.data?.allFields) + } return res?.data }) } @@ -174,7 +202,16 @@ export const getTableField = async (data): Promise => { } export const getPreviewData = async (data): Promise => { - return request.post({ url: '/datasetData/previewData', data }).then(res => { + const copyData = cloneDeep(data) + originNameHandle(copyData.allFields) + return request.post({ url: '/datasetData/previewData', data: copyData }).then(res => { + if (res?.data?.allFields?.length) { + originNameHandleBack(res?.data?.allFields) + } + + if (res?.data?.data?.fields?.length) { + originNameHandleBack(res?.data?.data?.fields) + } return res?.data }) } @@ -193,6 +230,9 @@ export const getDatasetTotal = async (id): Promise => { export const getDatasetDetails = async (id): Promise => { return request.post({ url: `/datasetTree/details/${id}`, data: {} }).then(res => { + if (res?.data?.allFields?.length) { + originNameHandleBack(res?.data?.allFields) + } return res?.data }) }