diff --git a/core/core-frontend/src/api/dataset.ts b/core/core-frontend/src/api/dataset.ts index 0677ef7271..8f9d11fd3b 100644 --- a/core/core-frontend/src/api/dataset.ts +++ b/core/core-frontend/src/api/dataset.ts @@ -11,6 +11,7 @@ import { nameTrim } from '@/utils/utils' export interface DatasetOrFolder { name: string action?: string + isCross?: boolean id?: number | string pid?: number | string nodeType: 'folder' | 'dataset' @@ -63,6 +64,7 @@ export interface Dataset { id: string pid: string name: string + isCross?: boolean union?: Array<{}> allFields?: Array<{}> } diff --git a/core/core-frontend/src/locales/en.ts b/core/core-frontend/src/locales/en.ts index 2a49c23c58..c0d8194a92 100644 --- a/core/core-frontend/src/locales/en.ts +++ b/core/core-frontend/src/locales/en.ts @@ -1,6 +1,10 @@ export default { common: { empty: ' ', + cross_source: 'Cross-source', + single_source: 'Single-source', + source_tips: + 'The data set is cross-source. Please check the syntax of other SQL nodes to confirm whether the type should be changed to cross-source?', associated_chart: 'Associated chart', associated_chart_first: 'First level associated chart', changing_the_display: diff --git a/core/core-frontend/src/locales/tw.ts b/core/core-frontend/src/locales/tw.ts index 2af5713f30..960f1aa61b 100644 --- a/core/core-frontend/src/locales/tw.ts +++ b/core/core-frontend/src/locales/tw.ts @@ -1,6 +1,9 @@ export default { common: { empty: '', + cross_source: '跨源', + single_source: '單源', + source_tips: '資料集存在跨來源情況,請檢查其他 SQL 節點的語法,是否確認將類型改為跨來源?', other_levels: '除層級一外,其他層級無須進行查詢條件配置', tree_structure: '下拉樹的結構不能為空', associated_chart: '關聯圖表', diff --git a/core/core-frontend/src/locales/zh-CN.ts b/core/core-frontend/src/locales/zh-CN.ts index 21f579e244..95599e8a4c 100644 --- a/core/core-frontend/src/locales/zh-CN.ts +++ b/core/core-frontend/src/locales/zh-CN.ts @@ -1,6 +1,9 @@ export default { common: { empty: '', + cross_source: '跨源', + single_source: '单源', + source_tips: '数据集存在跨源情况,请检查其他 SQL 节点的语法,是否确认将类型改为跨源?', other_levels: '除层级一外,其他层级无需进行查询条件配置', tree_structure: '下拉树的结构不能为空', associated_chart: '关联图表', diff --git a/core/core-frontend/src/views/visualized/data/dataset/form/AddSql.vue b/core/core-frontend/src/views/visualized/data/dataset/form/AddSql.vue index f01218b922..94312f241d 100644 --- a/core/core-frontend/src/views/visualized/data/dataset/form/AddSql.vue +++ b/core/core-frontend/src/views/visualized/data/dataset/form/AddSql.vue @@ -24,7 +24,9 @@ import { onBeforeUnmount, shallowRef, computed, - h + inject, + h, + Ref } from 'vue' import { debounce } from 'lodash-es' import { useI18n } from '@/hooks/web/useI18n' @@ -100,7 +102,7 @@ const state = reactive({ }) const datasourceTableData = shallowRef([]) - +const isCross = inject('isCross') const paginationConfig = reactive({ currentPage: 1, pageSize: 10, @@ -260,7 +262,13 @@ const getNodeField = ({ datasourceId, tableName }) => { table: tableName, sql: '' } - getTableField({ datasourceId, info: JSON.stringify(info), tableName, type: 'db' }) + getTableField({ + datasourceId, + info: JSON.stringify(info), + tableName, + type: 'db', + isCross: isCross.value + }) .then(res => { gridData.value = res as unknown as Field[] }) @@ -418,6 +426,7 @@ const getSQLPreview = () => { parseVariable() dataPreviewLoading.value = true getPreviewSql({ + isCross: isCross.value, sql: Base64.encode((sql = setNameIdTrans('name', 'id', codeCom.value.state.doc.toString()))), datasourceId: sqlNode.value.datasourceId, sqlVariableDetails: JSON.stringify(state.variables) diff --git a/core/core-frontend/src/views/visualized/data/dataset/form/CreatDsGroup.vue b/core/core-frontend/src/views/visualized/data/dataset/form/CreatDsGroup.vue index bbef061f9c..0edcb6c4cb 100644 --- a/core/core-frontend/src/views/visualized/data/dataset/form/CreatDsGroup.vue +++ b/core/core-frontend/src/views/visualized/data/dataset/form/CreatDsGroup.vue @@ -18,6 +18,7 @@ import nothingTree from '@/assets/img/nothing-tree.png' import { BusiTreeRequest } from '@/models/tree/TreeNode' import { filterFreeFolder } from '@/utils/utils' export interface Tree { + isCross: boolean name: string value?: string | number id: string | number @@ -47,6 +48,7 @@ const treeRef = ref() const filterText = ref('') let union = [] let allfields = [] +let isCross = false const datasetForm = reactive({ pid: '', name: '' @@ -156,6 +158,7 @@ const createInit = (type, data: Tree, exec, name: string) => { if (type === 'dataset') { union = data.union allfields = data.allfields + isCross = data.isCross } if (data.id) { const request = { leaf: false, weight: 7 } as BusiTreeRequest @@ -264,6 +267,7 @@ const saveDataset = () => { if (nodeType.value === 'dataset') { params.union = union params.allFields = allfields + params.isCross = isCross } if (cmd.value === 'move' && !checkPid(params.pid)) { return diff --git a/core/core-frontend/src/views/visualized/data/dataset/form/DatasetUnion.vue b/core/core-frontend/src/views/visualized/data/dataset/form/DatasetUnion.vue index 532ad0b760..c5b660fef2 100644 --- a/core/core-frontend/src/views/visualized/data/dataset/form/DatasetUnion.vue +++ b/core/core-frontend/src/views/visualized/data/dataset/form/DatasetUnion.vue @@ -43,6 +43,7 @@ const props = defineProps({ const primaryColor = computed(() => { return appearanceStore.themeColor === 'custom' ? appearanceStore.customColor : '#3370FF' }) +const isCross = inject('isCross') const iconName = { left: icon_leftAssociation, @@ -230,7 +231,8 @@ const saveSqlNode = (val: SqlNode, cb) => { id: id, info: state.visualNode.info, tableName, - type: 'sql' + type: 'sql', + isCross: isCross.value }).then(res => { nodeField.value = res as unknown as Field[] nodeField.value.forEach(ele => { @@ -273,7 +275,8 @@ const closeSqlNode = () => { id, info, tableName, - type: 'sql' + type: 'sql', + isCross: isCross.value }).then(res => { const idOriginNameMap = allfields.value.reduce((pre, next) => { pre[`${next.datasetTableId}${next.originName}`] = next.id @@ -914,6 +917,7 @@ const drop_handler = ev => { id: currentNode.value.id, info: currentNode.value.info, tableName, + isCross: isCross.value, type }) .then(res => { diff --git a/core/core-frontend/src/views/visualized/data/dataset/form/UnionEdit.vue b/core/core-frontend/src/views/visualized/data/dataset/form/UnionEdit.vue index 5bc337471f..b81a4263f4 100644 --- a/core/core-frontend/src/views/visualized/data/dataset/form/UnionEdit.vue +++ b/core/core-frontend/src/views/visualized/data/dataset/form/UnionEdit.vue @@ -1,11 +1,13 @@