提交API
This commit is contained in:
parent
f88b612191
commit
2564a859f6
@ -1,4 +1,6 @@
|
|||||||
import request from '@/data-visualization/config/axios'
|
import request from '@/data-visualization/config/axios'
|
||||||
|
import { originNameHandleWithArr, originNameHandleBackWithArr } from '@/data-visualization/utils/CalculateFields'
|
||||||
|
import { cloneDeep } from 'lodash-es'
|
||||||
export interface Field {
|
export interface Field {
|
||||||
id: number | string
|
id: number | string
|
||||||
datasourceId: number | string
|
datasourceId: number | string
|
||||||
@ -6,7 +8,7 @@ export interface Field {
|
|||||||
datasetGroupId: number | string
|
datasetGroupId: number | string
|
||||||
originName: string
|
originName: string
|
||||||
name: string
|
name: string
|
||||||
dataeaseName: string
|
gisbiName: string
|
||||||
groupType: string
|
groupType: string
|
||||||
type: string
|
type: string
|
||||||
deType: number
|
deType: number
|
||||||
@ -27,6 +29,7 @@ export interface ComponentInfo {
|
|||||||
|
|
||||||
export const getFieldByDQ = async (id, chartId, data): Promise<IResponse> => {
|
export const getFieldByDQ = async (id, chartId, data): Promise<IResponse> => {
|
||||||
return request.post({ url: `/chart/listByDQ/${id}/${chartId}`, data: data }).then(res => {
|
return request.post({ url: `/chart/listByDQ/${id}/${chartId}`, data: data }).then(res => {
|
||||||
|
originNameHandleBackWithArr(res?.data, ['dimensionList', 'quotaList'])
|
||||||
return res?.data
|
return res?.data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -52,10 +55,33 @@ export const deleteChartFieldByChartId = async (chartId): Promise<IResponse> =>
|
|||||||
// 通过图表对象获取数据
|
// 通过图表对象获取数据
|
||||||
export const getData = async (data): Promise<IResponse> => {
|
export const getData = async (data): Promise<IResponse> => {
|
||||||
delete data.data
|
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) {
|
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
|
return res?.data
|
||||||
} else {
|
} else {
|
||||||
|
originNameHandleBackWithArr(res, fields)
|
||||||
|
originNameHandleBackWithArr(res?.data, dataFields)
|
||||||
|
originNameHandleBackWithArr(res?.data?.left, ['fields'])
|
||||||
|
originNameHandleBackWithArr(res?.data?.right, ['fields'])
|
||||||
return res
|
return res
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -1,9 +1,17 @@
|
|||||||
import request from '@/utils/request'
|
import request from '@/utils/request'
|
||||||
import { type Field } from '@/api/data-visualization/chart'
|
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'
|
import { nameTrim } from '@/data-visualization/utils/utils'
|
||||||
export interface DatasetOrFolder {
|
export interface DatasetOrFolder {
|
||||||
name: string
|
name: string
|
||||||
action?: string
|
action?: string
|
||||||
|
isCross?: boolean
|
||||||
id?: number | string
|
id?: number | string
|
||||||
pid?: number | string
|
pid?: number | string
|
||||||
appId?: number | string
|
appId?: number | string
|
||||||
@ -57,6 +65,7 @@ export interface Dataset {
|
|||||||
id: string
|
id: string
|
||||||
pid: string
|
pid: string
|
||||||
name: string
|
name: string
|
||||||
|
isCross?: boolean
|
||||||
union?: Array<{}>
|
union?: Array<{}>
|
||||||
allFields?: Array<{}>
|
allFields?: Array<{}>
|
||||||
}
|
}
|
||||||
@ -72,7 +81,12 @@ export interface Table {
|
|||||||
// edit
|
// edit
|
||||||
export const saveDatasetTree = async (data: DatasetOrFolder): Promise<IResponse> => {
|
export const saveDatasetTree = async (data: DatasetOrFolder): Promise<IResponse> => {
|
||||||
nameTrim(data)
|
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
|
return res?.data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -80,7 +94,12 @@ export const saveDatasetTree = async (data: DatasetOrFolder): Promise<IResponse>
|
|||||||
// create
|
// create
|
||||||
export const createDatasetTree = async (data: DatasetOrFolder): Promise<IResponse> => {
|
export const createDatasetTree = async (data: DatasetOrFolder): Promise<IResponse> => {
|
||||||
nameTrim(data)
|
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
|
return res?.data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -135,7 +154,8 @@ export const exportDatasetData = (data = {}) => {
|
|||||||
url: '/datasetTree/exportDataset',
|
url: '/datasetTree/exportDataset',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: data,
|
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> => {
|
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
|
return res?.data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -196,6 +225,9 @@ export const getDatasetTotal = async (id): Promise<FieldData> => {
|
|||||||
|
|
||||||
export const getDatasetDetails = async (id): Promise<Dataset> => {
|
export const getDatasetDetails = async (id): Promise<Dataset> => {
|
||||||
return request.post({ url: `/datasetTree/details/${id}`, data: {} }).then(res => {
|
return request.post({ url: `/datasetTree/details/${id}`, data: {} }).then(res => {
|
||||||
|
if (res?.data?.allFields?.length) {
|
||||||
|
originNameHandleBack(res?.data?.allFields)
|
||||||
|
}
|
||||||
return res?.data
|
return res?.data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -219,6 +251,9 @@ export const getDsDetails = async (data): Promise<DatasetDetail[]> => {
|
|||||||
}
|
}
|
||||||
export const getDsDetailsWithPerm = async (data): Promise<DatasetDetail[]> => {
|
export const getDsDetailsWithPerm = async (data): Promise<DatasetDetail[]> => {
|
||||||
return request.post({ url: '/datasetTree/detailWithPerm', data }).then(res => {
|
return request.post({ url: '/datasetTree/detailWithPerm', data }).then(res => {
|
||||||
|
;(res?.data || []).forEach(ele => {
|
||||||
|
originNameHandleBackWithArr(ele, ['dimensionList', 'quotaList'])
|
||||||
|
})
|
||||||
return res?.data
|
return res?.data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -236,15 +271,22 @@ export const columnPermissionList = (page: number, limit: number, datasetId: num
|
|||||||
export const rowPermissionTargetObjList = (datasetId: number, type: string) =>
|
export const rowPermissionTargetObjList = (datasetId: number, type: string) =>
|
||||||
request.get({ url: '/dataset/rowPermissions/authObjs/' + datasetId + '/' + type })
|
request.get({ url: '/dataset/rowPermissions/authObjs/' + datasetId + '/' + type })
|
||||||
|
|
||||||
export const listFieldByDatasetGroup = (datasetId: number) =>
|
export const listFieldByDatasetGroup = (datasetId: number) => {
|
||||||
request.post({ url: '/datasetField/listByDatasetGroup/' + datasetId })
|
return request.post({ url: '/datasetField/listByDatasetGroup/' + datasetId }).then(res => {
|
||||||
|
originNameHandleBack(res?.data)
|
||||||
|
return res
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
export const multFieldValuesForPermissions = (data = {}) => {
|
export const multFieldValuesForPermissions = (data = {}) => {
|
||||||
return request.post({ url: '/datasetField/multFieldValuesForPermissions', data })
|
return request.post({ url: '/datasetField/multFieldValuesForPermissions', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
export const listFieldsWithPermissions = (datasetId: number) => {
|
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) => {
|
export const copilotFields = (datasetId: number) => {
|
||||||
@ -301,11 +343,11 @@ export const getFunction = async (): Promise<DatasetDetail[]> => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export const exportTasks = async (type): Promise<IResponse> => {
|
export const exportTasksRecords = () =>
|
||||||
return request.post({ url: '/exportCenter/exportTasks/' + type, data: {} }).then(res => {
|
request.post({ url: `/exportCenter/exportTasks/records`, data: {} })
|
||||||
return res
|
|
||||||
})
|
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> => {
|
export const exportRetry = async (id): Promise<IResponse> => {
|
||||||
return request.post({ url: '/exportCenter/retry/' + id, data: {} }).then(res => {
|
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> => {
|
export const exportDeleteAll = async (type, data): Promise<IResponse> => {
|
||||||
return request.post({ url: '/exportCenter/deleteAll/' + type, data }).then(res => {
|
return request.post({ url: '/exportCenter/deleteAll/' + type, data }).then(res => {
|
||||||
return res?.data
|
return res?.data
|
||||||
|
@ -1,10 +1,14 @@
|
|||||||
import request from '@/data-visualization/config/axios'
|
import request from '@/data-visualization/config/axios'
|
||||||
|
import { originNameHandleWithArr } from '@/data-visualization/utils/CalculateFields'
|
||||||
|
import { cloneDeep } from 'lodash-es'
|
||||||
export interface ResourceOrFolder {
|
export interface ResourceOrFolder {
|
||||||
name: string
|
name: string
|
||||||
id?: number | string
|
id?: number | string
|
||||||
pid?: number | string
|
pid?: number | string
|
||||||
nodeType: 'folder' | 'leaf'
|
nodeType: 'folder' | 'leaf'
|
||||||
type: string
|
type: string
|
||||||
|
mobileLayout: boolean
|
||||||
|
status: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface Panel {
|
export interface Panel {
|
||||||
@ -20,11 +24,16 @@ export const findCopyResource = async (dvId, busiFlag): Promise<IResponse> => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const findById = async (
|
export const findById = async (
|
||||||
dvId:any,
|
dvId,
|
||||||
busiFlag:any,
|
busiFlag,
|
||||||
attachInfo = { source: 'main', taskId: null }
|
attachInfo = { source: 'main', taskId: null }
|
||||||
): Promise<IResponse> => {
|
): Promise<IResponse> => {
|
||||||
let busiFlagResult = busiFlag
|
let busiFlagResult = busiFlag
|
||||||
|
if (!busiFlagResult) {
|
||||||
|
await findDvType(dvId).then(res => {
|
||||||
|
busiFlagResult = res.data
|
||||||
|
})
|
||||||
|
}
|
||||||
const data = { id: dvId, busiFlag: busiFlagResult, ...attachInfo }
|
const data = { id: dvId, busiFlag: busiFlagResult, ...attachInfo }
|
||||||
return request.post({ url: '/dataVisualization/findById', data })
|
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 updateBase = data => request.post({ url: '/dataVisualization/updateBase', data })
|
||||||
|
|
||||||
export const updateCanvas = data =>
|
export const updateCanvas = data => {
|
||||||
request.post({ url: '/dataVisualization/updateCanvas', data, loading: true })
|
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 })
|
export const moveResource = data => request.post({ url: '/dataVisualization/move', data })
|
||||||
|
|
||||||
|
@ -26,9 +26,9 @@ export function queryTargetVisualizationJumpInfo(requestInfo) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function queryVisualizationJumpInfo(dvId) {
|
export function queryVisualizationJumpInfo(dvId, resourceTable = 'snapshot') {
|
||||||
return request.get({
|
return request.get({
|
||||||
url: '/linkJump/queryVisualizationJumpInfo/' + dvId,
|
url: '/linkJump/queryVisualizationJumpInfo/' + dvId + '/' + resourceTable,
|
||||||
loading: false
|
loading: false
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -8,8 +8,8 @@ export const getViewLinkageGatherArray = data =>
|
|||||||
|
|
||||||
export const saveLinkage = data => request.post({ url: '/linkage/saveLinkage', data })
|
export const saveLinkage = data => request.post({ url: '/linkage/saveLinkage', data })
|
||||||
|
|
||||||
export const getPanelAllLinkageInfo = dvId =>
|
export const getPanelAllLinkageInfo = (dvId, resourceTable = 'snapshot') =>
|
||||||
request.get({ url: '/linkage/getVisualizationAllLinkageInfo/' + dvId })
|
request.get({ url: '/linkage/getVisualizationAllLinkageInfo/' + dvId + '/' + resourceTable })
|
||||||
|
|
||||||
export const updateLinkageActive = data =>
|
export const updateLinkageActive = data =>
|
||||||
request.post({ url: '/linkage/updateLinkageActive', data })
|
request.post({ url: '/linkage/updateLinkageActive', data })
|
||||||
|
36
frontend/src/data-visualization/utils/CalculateFields.ts
Normal file
36
frontend/src/data-visualization/utils/CalculateFields.ts
Normal 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
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user