提交API

This commit is contained in:
limengnan 2025-07-01 10:28:54 +08:00
parent f88b612191
commit 2564a859f6
6 changed files with 157 additions and 22 deletions

View File

@ -1,4 +1,6 @@
import request from '@/data-visualization/config/axios'
import { originNameHandleWithArr, originNameHandleBackWithArr } from '@/data-visualization/utils/CalculateFields'
import { cloneDeep } from 'lodash-es'
export interface Field {
id: number | string
datasourceId: number | string
@ -6,7 +8,7 @@ export interface Field {
datasetGroupId: number | string
originName: string
name: string
dataeaseName: string
gisbiName: string
groupType: string
type: string
deType: number
@ -27,6 +29,7 @@ export interface ComponentInfo {
export const getFieldByDQ = async (id, chartId, data): Promise<IResponse> => {
return request.post({ url: `/chart/listByDQ/${id}/${chartId}`, data: data }).then(res => {
originNameHandleBackWithArr(res?.data, ['dimensionList', 'quotaList'])
return res?.data
})
}
@ -52,10 +55,33 @@ export const deleteChartFieldByChartId = async (chartId): Promise<IResponse> =>
// 通过图表对象获取数据
export const getData = async (data): Promise<IResponse> => {
delete data.data
return request.post({ url: '/chartData/getData', data }).then(res => {
const copyData = cloneDeep(data)
const fields = [
'xAxis',
'xAxisExt',
'yAxis',
'yAxisExt',
'extBubble',
'extLabel',
'extStack',
'extTooltip'
]
const dataFields = ['fields', 'sourceFields']
originNameHandleWithArr(copyData, fields)
return request.post({ url: '/chartData/getData', data: copyData }).then(res => {
if (res.code === 0) {
originNameHandleBackWithArr(res?.data, fields)
// 动态计算字段在数据中,也需要转码
originNameHandleWithArr(res?.data?.data, dataFields)
originNameHandleBackWithArr(res?.data?.data, dataFields)
originNameHandleBackWithArr(res?.data?.data?.left, ['fields'])
originNameHandleBackWithArr(res?.data?.data?.right, ['fields'])
return res?.data
} else {
originNameHandleBackWithArr(res, fields)
originNameHandleBackWithArr(res?.data, dataFields)
originNameHandleBackWithArr(res?.data?.left, ['fields'])
originNameHandleBackWithArr(res?.data?.right, ['fields'])
return res
}
})

View File

@ -1,9 +1,17 @@
import request from '@/utils/request'
import { type Field } from '@/api/data-visualization/chart'
import {
originNameHandle,
originNameHandleBack,
originNameHandleBackWithArr
} from '@/data-visualization/utils/CalculateFields'
import { cloneDeep } from 'lodash-es'
import { nameTrim } from '@/data-visualization/utils/utils'
export interface DatasetOrFolder {
name: string
action?: string
isCross?: boolean
id?: number | string
pid?: number | string
appId?: number | string
@ -57,6 +65,7 @@ export interface Dataset {
id: string
pid: string
name: string
isCross?: boolean
union?: Array<{}>
allFields?: Array<{}>
}
@ -72,7 +81,12 @@ export interface Table {
// edit
export const saveDatasetTree = async (data: DatasetOrFolder): Promise<IResponse> => {
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 +94,12 @@ export const saveDatasetTree = async (data: DatasetOrFolder): Promise<IResponse>
// create
export const createDatasetTree = async (data: DatasetOrFolder): Promise<IResponse> => {
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
})
}
@ -135,7 +154,8 @@ export const exportDatasetData = (data = {}) => {
url: '/datasetTree/exportDataset',
method: 'post',
data: data,
loading: true
loading: true,
responseType: 'blob'
})
}
@ -177,7 +197,16 @@ export const getTableField = async (data): Promise<IResponse> => {
}
export const getPreviewData = async (data): Promise<IResponse> => {
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
})
}
@ -196,6 +225,9 @@ export const getDatasetTotal = async (id): Promise<FieldData> => {
export const getDatasetDetails = async (id): Promise<Dataset> => {
return request.post({ url: `/datasetTree/details/${id}`, data: {} }).then(res => {
if (res?.data?.allFields?.length) {
originNameHandleBack(res?.data?.allFields)
}
return res?.data
})
}
@ -219,6 +251,9 @@ export const getDsDetails = async (data): Promise<DatasetDetail[]> => {
}
export const getDsDetailsWithPerm = async (data): Promise<DatasetDetail[]> => {
return request.post({ url: '/datasetTree/detailWithPerm', data }).then(res => {
;(res?.data || []).forEach(ele => {
originNameHandleBackWithArr(ele, ['dimensionList', 'quotaList'])
})
return res?.data
})
}
@ -236,15 +271,22 @@ export const columnPermissionList = (page: number, limit: number, datasetId: num
export const rowPermissionTargetObjList = (datasetId: number, type: string) =>
request.get({ url: '/dataset/rowPermissions/authObjs/' + datasetId + '/' + type })
export const listFieldByDatasetGroup = (datasetId: number) =>
request.post({ url: '/datasetField/listByDatasetGroup/' + datasetId })
export const listFieldByDatasetGroup = (datasetId: number) => {
return request.post({ url: '/datasetField/listByDatasetGroup/' + datasetId }).then(res => {
originNameHandleBack(res?.data)
return res
})
}
export const multFieldValuesForPermissions = (data = {}) => {
return request.post({ url: '/datasetField/multFieldValuesForPermissions', data })
}
export const listFieldsWithPermissions = (datasetId: number) => {
return request.get({ url: '/datasetField/listWithPermissions/' + datasetId })
return request.get({ url: '/datasetField/listWithPermissions/' + datasetId }).then(res => {
originNameHandleBack(res?.data)
return res
})
}
export const copilotFields = (datasetId: number) => {
@ -301,11 +343,11 @@ export const getFunction = async (): Promise<DatasetDetail[]> => {
})
}
export const exportTasks = async (type): Promise<IResponse> => {
return request.post({ url: '/exportCenter/exportTasks/' + type, data: {} }).then(res => {
return res
})
}
export const exportTasksRecords = () =>
request.post({ url: `/exportCenter/exportTasks/records`, data: {} })
export const exportTasks = (page: number, limit: number, status: string) =>
request.post({ url: `/exportCenter/exportTasks/${status}/${page}/${limit}`, data: {} })
export const exportRetry = async (id): Promise<IResponse> => {
return request.post({ url: '/exportCenter/retry/' + id, data: {} }).then(res => {
@ -325,6 +367,12 @@ export const exportDelete = async (id): Promise<IResponse> => {
})
}
export const generateDownloadUri = async (id): Promise<IResponse> => {
return request.get({ url: '/exportCenter/generateDownloadUri/' + id }).then(res => {
return res?.data
})
}
export const exportDeleteAll = async (type, data): Promise<IResponse> => {
return request.post({ url: '/exportCenter/deleteAll/' + type, data }).then(res => {
return res?.data

View File

@ -1,10 +1,14 @@
import request from '@/data-visualization/config/axios'
import { originNameHandleWithArr } from '@/data-visualization/utils/CalculateFields'
import { cloneDeep } from 'lodash-es'
export interface ResourceOrFolder {
name: string
id?: number | string
pid?: number | string
nodeType: 'folder' | 'leaf'
type: string
mobileLayout: boolean
status: boolean
}
export interface Panel {
@ -20,11 +24,16 @@ export const findCopyResource = async (dvId, busiFlag): Promise<IResponse> => {
}
export const findById = async (
dvId:any,
busiFlag:any,
dvId,
busiFlag,
attachInfo = { source: 'main', taskId: null }
): Promise<IResponse> => {
let busiFlagResult = busiFlag
if (!busiFlagResult) {
await findDvType(dvId).then(res => {
busiFlagResult = res.data
})
}
const data = { id: dvId, busiFlag: busiFlagResult, ...attachInfo }
return request.post({ url: '/dataVisualization/findById', data })
}
@ -60,8 +69,24 @@ export const appCanvasNameCheck = async data =>
export const updateBase = data => request.post({ url: '/dataVisualization/updateBase', data })
export const updateCanvas = data =>
request.post({ url: '/dataVisualization/updateCanvas', data, loading: true })
export const updateCanvas = data => {
const copyData = cloneDeep(data)
const fields = [
'xAxis',
'xAxisExt',
'yAxis',
'yAxisExt',
'extBubble',
'extLabel',
'extStack',
'extTooltip'
]
for (const key in copyData.canvasViewInfo) {
originNameHandleWithArr(copyData.canvasViewInfo[key], fields)
}
return request.post({ url: '/dataVisualization/updateCanvas', data: copyData, loading: true })
}
export const moveResource = data => request.post({ url: '/dataVisualization/move', data })

View File

@ -26,9 +26,9 @@ export function queryTargetVisualizationJumpInfo(requestInfo) {
})
}
export function queryVisualizationJumpInfo(dvId) {
export function queryVisualizationJumpInfo(dvId, resourceTable = 'snapshot') {
return request.get({
url: '/linkJump/queryVisualizationJumpInfo/' + dvId,
url: '/linkJump/queryVisualizationJumpInfo/' + dvId + '/' + resourceTable,
loading: false
})
}

View File

@ -8,8 +8,8 @@ export const getViewLinkageGatherArray = data =>
export const saveLinkage = data => request.post({ url: '/linkage/saveLinkage', data })
export const getPanelAllLinkageInfo = dvId =>
request.get({ url: '/linkage/getVisualizationAllLinkageInfo/' + dvId })
export const getPanelAllLinkageInfo = (dvId, resourceTable = 'snapshot') =>
request.get({ url: '/linkage/getVisualizationAllLinkageInfo/' + dvId + '/' + resourceTable })
export const updateLinkageActive = data =>
request.post({ url: '/linkage/updateLinkageActive', data })

View File

@ -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
}