Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
dataease
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
njgzx
dataease
Commits
ac938c28
提交
ac938c28
authored
5月 07, 2021
作者:
junjie
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(数据集):草稿,数据集 关联视图 功能。自助数据集需要关联视图做支撑,先简单做个 数据集 关联视图 的功能,后边再优化
上级
5a2a5bb3
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
14 个修改的文件
包含
545 行增加
和
3 行删除
+545
-3
DatasetTableUnion.java
.../main/java/io/dataease/base/domain/DatasetTableUnion.java
+28
-0
DatasetTableUnionExample.java
...ava/io/dataease/base/domain/DatasetTableUnionExample.java
+0
-0
DatasetTableUnionMapper.java
...java/io/dataease/base/mapper/DatasetTableUnionMapper.java
+31
-0
DatasetTableUnionMapper.xml
.../java/io/dataease/base/mapper/DatasetTableUnionMapper.xml
+0
-0
ExtDatasetTableUnionMapper.java
.../dataease/base/mapper/ext/ExtDatasetTableUnionMapper.java
+12
-0
ExtDatasetTableUnionMapper.xml
...o/dataease/base/mapper/ext/ExtDatasetTableUnionMapper.xml
+43
-0
DataSetTableUnionController.java
...aease/controller/dataset/DataSetTableUnionController.java
+35
-0
DataSetTableUnionDTO.java
...in/java/io/dataease/dto/dataset/DataSetTableUnionDTO.java
+18
-0
DataSetTableUnionService.java
...io/dataease/service/dataset/DataSetTableUnionService.java
+74
-0
V15__dataset_union.sql
...nd/src/main/resources/db/migration/V15__dataset_union.sql
+16
-0
zh.js
frontend/src/lang/zh.js
+11
-1
DatasetGroupSelector.vue
frontend/src/views/dataset/common/DatasetGroupSelector.vue
+1
-0
UnionView.vue
frontend/src/views/dataset/data/UnionView.vue
+273
-0
ViewTable.vue
frontend/src/views/dataset/data/ViewTable.vue
+3
-2
没有找到文件。
backend/src/main/java/io/dataease/base/domain/DatasetTableUnion.java
0 → 100644
浏览文件 @
ac938c28
package
io
.
dataease
.
base
.
domain
;
import
java.io.Serializable
;
import
lombok.Data
;
@Data
public
class
DatasetTableUnion
implements
Serializable
{
private
String
id
;
private
String
sourceTableId
;
private
String
sourceTableFieldId
;
private
String
sourceUnionRelation
;
private
String
targetTableId
;
private
String
targetTableFieldId
;
private
String
targetUnionRelation
;
private
String
createBy
;
private
Long
createTime
;
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
backend/src/main/java/io/dataease/base/domain/DatasetTableUnionExample.java
0 → 100644
浏览文件 @
ac938c28
差异被折叠。
点击展开。
backend/src/main/java/io/dataease/base/mapper/DatasetTableUnionMapper.java
0 → 100644
浏览文件 @
ac938c28
package
io
.
dataease
.
base
.
mapper
;
import
io.dataease.base.domain.DatasetTableUnion
;
import
io.dataease.base.domain.DatasetTableUnionExample
;
import
java.util.List
;
import
org.apache.ibatis.annotations.Param
;
public
interface
DatasetTableUnionMapper
{
long
countByExample
(
DatasetTableUnionExample
example
);
int
deleteByExample
(
DatasetTableUnionExample
example
);
int
deleteByPrimaryKey
(
String
id
);
int
insert
(
DatasetTableUnion
record
);
int
insertSelective
(
DatasetTableUnion
record
);
List
<
DatasetTableUnion
>
selectByExample
(
DatasetTableUnionExample
example
);
DatasetTableUnion
selectByPrimaryKey
(
String
id
);
int
updateByExampleSelective
(
@Param
(
"record"
)
DatasetTableUnion
record
,
@Param
(
"example"
)
DatasetTableUnionExample
example
);
int
updateByExample
(
@Param
(
"record"
)
DatasetTableUnion
record
,
@Param
(
"example"
)
DatasetTableUnionExample
example
);
int
updateByPrimaryKeySelective
(
DatasetTableUnion
record
);
int
updateByPrimaryKey
(
DatasetTableUnion
record
);
}
\ No newline at end of file
backend/src/main/java/io/dataease/base/mapper/DatasetTableUnionMapper.xml
0 → 100644
浏览文件 @
ac938c28
差异被折叠。
点击展开。
backend/src/main/java/io/dataease/base/mapper/ext/ExtDatasetTableUnionMapper.java
0 → 100644
浏览文件 @
ac938c28
package
io
.
dataease
.
base
.
mapper
.
ext
;
import
io.dataease.dto.dataset.DataSetTableUnionDTO
;
import
java.util.List
;
public
interface
ExtDatasetTableUnionMapper
{
List
<
DataSetTableUnionDTO
>
selectBySourceTableId
(
String
tableId
);
List
<
DataSetTableUnionDTO
>
selectByTargetTableId
(
String
tableId
);
}
\ No newline at end of file
backend/src/main/java/io/dataease/base/mapper/ext/ExtDatasetTableUnionMapper.xml
0 → 100644
浏览文件 @
ac938c28
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"io.dataease.base.mapper.ext.ExtDatasetTableUnionMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"io.dataease.dto.dataset.DataSetTableUnionDTO"
>
<id
column=
"id"
jdbcType=
"VARCHAR"
property=
"id"
/>
<result
column=
"source_table_id"
jdbcType=
"VARCHAR"
property=
"sourceTableId"
/>
<result
column=
"source_table_field_id"
jdbcType=
"VARCHAR"
property=
"sourceTableFieldId"
/>
<result
column=
"source_union_relation"
jdbcType=
"VARCHAR"
property=
"sourceUnionRelation"
/>
<result
column=
"target_table_id"
jdbcType=
"VARCHAR"
property=
"targetTableId"
/>
<result
column=
"target_table_field_id"
jdbcType=
"VARCHAR"
property=
"targetTableFieldId"
/>
<result
column=
"target_union_relation"
jdbcType=
"VARCHAR"
property=
"targetUnionRelation"
/>
<result
column=
"create_by"
jdbcType=
"VARCHAR"
property=
"createBy"
/>
<result
column=
"create_time"
jdbcType=
"BIGINT"
property=
"createTime"
/>
<result
column=
"sourceTableName"
jdbcType=
"VARCHAR"
property=
"sourceTableName"
/>
<result
column=
"sourceTableFieldName"
jdbcType=
"VARCHAR"
property=
"sourceTableFieldName"
/>
<result
column=
"targetTableName"
jdbcType=
"VARCHAR"
property=
"targetTableName"
/>
<result
column=
"targetTableFieldName"
jdbcType=
"VARCHAR"
property=
"targetTableFieldName"
/>
</resultMap>
<select
id=
"selectBySourceTableId"
resultMap=
"BaseResultMap"
parameterType=
"java.lang.String"
>
select dtu.*,dt.name as sourceTableName,dtf.name as sourceTableFieldName,dt1.name as targetTableName,dtf1.name as targetTableFieldName
from dataset_table_union dtu
left join dataset_table dt on dt.id = dtu.source_table_id
left join dataset_table_field dtf on dtf.id = dtu.source_table_field_id
left join dataset_table dt1 on dt1.id = dtu.target_table_id
left join dataset_table_field dtf1 on dtf1.id = dtu.target_table_field_id
where dtu.source_table_id = #{tableId,jdbcType=VARCHAR}
order by dtu.create_time
</select>
<select
id=
"selectByTargetTableId"
resultMap=
"BaseResultMap"
parameterType=
"java.lang.String"
>
select dtu.*,dt.name as sourceTableName,dtf.name as sourceTableFieldName,dt1.name as targetTableName,dtf1.name as targetTableFieldName
from dataset_table_union dtu
left join dataset_table dt on dt.id = dtu.source_table_id
left join dataset_table_field dtf on dtf.id = dtu.source_table_field_id
left join dataset_table dt1 on dt1.id = dtu.target_table_id
left join dataset_table_field dtf1 on dtf1.id = dtu.target_table_field_id
where dtu.target_table_id = #{tableId,jdbcType=VARCHAR}
order by dtu.create_time
</select>
</mapper>
\ No newline at end of file
backend/src/main/java/io/dataease/controller/dataset/DataSetTableUnionController.java
0 → 100644
浏览文件 @
ac938c28
package
io
.
dataease
.
controller
.
dataset
;
import
io.dataease.base.domain.DatasetTableUnion
;
import
io.dataease.dto.dataset.DataSetTableUnionDTO
;
import
io.dataease.service.dataset.DataSetTableUnionService
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
java.util.List
;
/**
* @Author gin
* @Date 2021/5/7 10:30 上午
*/
@RestController
@RequestMapping
(
"dataset/union"
)
public
class
DataSetTableUnionController
{
@Resource
private
DataSetTableUnionService
dataSetTableUnionService
;
@PostMapping
(
"save"
)
public
DatasetTableUnion
save
(
@RequestBody
DatasetTableUnion
datasetTableUnion
)
{
return
dataSetTableUnionService
.
save
(
datasetTableUnion
);
}
@PostMapping
(
"delete/{id}"
)
public
void
delete
(
@PathVariable
String
id
)
{
dataSetTableUnionService
.
delete
(
id
);
}
@PostMapping
(
"listByTableId/{tableId}"
)
public
List
<
DataSetTableUnionDTO
>
listByTableId
(
@PathVariable
String
tableId
)
{
return
dataSetTableUnionService
.
listByTableId
(
tableId
);
}
}
backend/src/main/java/io/dataease/dto/dataset/DataSetTableUnionDTO.java
0 → 100644
浏览文件 @
ac938c28
package
io
.
dataease
.
dto
.
dataset
;
import
io.dataease.base.domain.DatasetTableUnion
;
import
lombok.Getter
;
import
lombok.Setter
;
/**
* @Author gin
* @Date 2021/5/6 6:08 下午
*/
@Getter
@Setter
public
class
DataSetTableUnionDTO
extends
DatasetTableUnion
{
private
String
sourceTableName
;
private
String
sourceTableFieldName
;
private
String
targetTableName
;
private
String
targetTableFieldName
;
}
backend/src/main/java/io/dataease/service/dataset/DataSetTableUnionService.java
0 → 100644
浏览文件 @
ac938c28
package
io
.
dataease
.
service
.
dataset
;
import
io.dataease.base.domain.DatasetTableUnion
;
import
io.dataease.base.mapper.DatasetTableUnionMapper
;
import
io.dataease.base.mapper.ext.ExtDatasetTableUnionMapper
;
import
io.dataease.commons.utils.AuthUtils
;
import
io.dataease.dto.dataset.DataSetTableUnionDTO
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.util.Comparator
;
import
java.util.List
;
import
java.util.UUID
;
import
java.util.stream.Collectors
;
/**
* @Author gin
* @Date 2021/5/6 6:03 下午
*/
@Service
@Transactional
public
class
DataSetTableUnionService
{
@Resource
private
DatasetTableUnionMapper
datasetTableUnionMapper
;
@Resource
private
ExtDatasetTableUnionMapper
extDatasetTableUnionMapper
;
public
DatasetTableUnion
save
(
DatasetTableUnion
datasetTableUnion
)
{
if
(
StringUtils
.
isEmpty
(
datasetTableUnion
.
getId
()))
{
datasetTableUnion
.
setId
(
UUID
.
randomUUID
().
toString
());
datasetTableUnion
.
setCreateBy
(
AuthUtils
.
getUser
().
getUsername
());
datasetTableUnion
.
setCreateTime
(
System
.
currentTimeMillis
());
datasetTableUnionMapper
.
insert
(
datasetTableUnion
);
}
else
{
datasetTableUnionMapper
.
updateByPrimaryKeySelective
(
datasetTableUnion
);
}
return
datasetTableUnion
;
}
public
void
delete
(
String
id
)
{
datasetTableUnionMapper
.
deleteByPrimaryKey
(
id
);
}
public
List
<
DataSetTableUnionDTO
>
listByTableId
(
String
tableId
)
{
List
<
DataSetTableUnionDTO
>
sourceList
=
extDatasetTableUnionMapper
.
selectBySourceTableId
(
tableId
);
List
<
DataSetTableUnionDTO
>
targetList
=
extDatasetTableUnionMapper
.
selectByTargetTableId
(
tableId
);
sourceList
.
addAll
(
targetList
.
stream
().
map
(
ele
->
{
DataSetTableUnionDTO
dto
=
new
DataSetTableUnionDTO
();
dto
.
setId
(
ele
.
getId
());
dto
.
setSourceTableId
(
ele
.
getTargetTableId
());
dto
.
setSourceTableFieldId
(
ele
.
getTargetTableFieldId
());
dto
.
setSourceTableName
(
ele
.
getTargetTableName
());
dto
.
setSourceTableFieldName
(
ele
.
getTargetTableFieldName
());
dto
.
setTargetTableId
(
ele
.
getSourceTableId
());
dto
.
setTargetTableFieldId
(
ele
.
getSourceTableFieldId
());
dto
.
setTargetTableName
(
ele
.
getSourceTableName
());
dto
.
setTargetTableFieldName
(
ele
.
getSourceTableFieldName
());
dto
.
setSourceUnionRelation
(
ele
.
getTargetUnionRelation
());
dto
.
setTargetUnionRelation
(
ele
.
getSourceUnionRelation
());
dto
.
setCreateBy
(
ele
.
getCreateBy
());
dto
.
setCreateTime
(
ele
.
getCreateTime
());
return
dto
;
}).
collect
(
Collectors
.
toList
()));
sourceList
.
sort
(
Comparator
.
comparing
(
DatasetTableUnion:
:
getCreateTime
));
return
sourceList
;
}
}
backend/src/main/resources/db/migration/V15__dataset_union.sql
0 → 100644
浏览文件 @
ac938c28
DROP
TABLE
IF
EXISTS
`dataset_table_union`
;
CREATE
TABLE
IF
NOT
EXISTS
`dataset_table_union`
(
`id`
varchar
(
50
)
NOT
NULL
COMMENT
'ID'
,
`source_table_id`
varchar
(
50
)
COMMENT
'关联表ID'
,
`source_table_field_id`
varchar
(
50
)
COMMENT
'关联字段ID'
,
`source_union_relation`
varchar
(
50
)
COMMENT
'关联关系,1:1、1:N、N:1'
,
`target_table_id`
varchar
(
50
)
COMMENT
'被关联表ID'
,
`target_table_field_id`
varchar
(
50
)
COMMENT
'被关联字段ID'
,
`target_union_relation`
varchar
(
50
)
COMMENT
'被关联关系,1:1、1:N、N:1'
,
`create_by`
varchar
(
50
)
COMMENT
'创建人ID'
,
`create_time`
bigint
(
13
)
COMMENT
'创建时间'
,
PRIMARY
KEY
(
`id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
;
\ No newline at end of file
frontend/src/lang/zh.js
浏览文件 @
ac938c28
...
...
@@ -798,7 +798,17 @@ export default {
pls_input_less_9
:
'请输入9位以内的正整数'
,
field_edit
:
'编辑字段'
,
table_already_add_to
:
'该表已添加至'
,
uploading
:
'上传中...'
uploading
:
'上传中...'
,
add_union
:
'添加关联'
,
union_setting
:
'关联设置'
,
pls_slc_union_field
:
'请选择关联字段'
,
pls_slc_union_table
:
'请选择关联表'
,
source_table
:
'关联表'
,
source_field
:
'关联字段'
,
target_table
:
'被关联表'
,
target_field
:
'被关联字段'
,
union_relation
:
'关联关系'
,
pls_setting_union_success
:
'请正确设置关联关系'
},
datasource
:
{
datasource
:
'数据源'
,
...
...
frontend/src/views/dataset/common/DatasetGroupSelector.vue
浏览文件 @
ac938c28
...
...
@@ -79,6 +79,7 @@
node-key=
"id"
:expand-on-click-node=
"true"
class=
"tree-list"
highlight-current
@
node-click=
"sceneClick"
>
<span
slot-scope=
"
{ node, data }" class="custom-tree-node-list">
...
...
frontend/src/views/dataset/data/UnionView.vue
0 → 100644
浏览文件 @
ac938c28
<
template
>
<el-row>
<el-button
size=
"mini"
@
click=
"showUnionEdit"
>
{{
$t
(
'dataset.add_union'
)
}}
</el-button>
<el-row>
<el-table
size=
"mini"
:data=
"unionData"
style=
"width: 100%;margin-top: 10px;"
>
<el-table-column
prop=
"sourceTableName"
:label=
"$t('dataset.source_table')"
/>
<el-table-column
prop=
"sourceTableFieldName"
:label=
"$t('dataset.source_field')"
/>
<el-table-column
prop=
"sourceUnionRelation"
:label=
"$t('dataset.union_relation')"
/>
<el-table-column
prop=
"targetTableName"
:label=
"$t('dataset.target_table')"
/>
<el-table-column
prop=
"targetTableFieldName"
:label=
"$t('dataset.target_field')"
/>
<el-table-column
fixed=
"right"
width=
"100"
>
<template
slot-scope=
"scope"
>
<el-button
type=
"text"
size=
"mini"
@
click=
"edit(scope.row)"
>
{{
$t
(
'dataset.edit'
)
}}
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"deleteUnion(scope.row)"
>
{{
$t
(
'dataset.delete'
)
}}
</el-button>
</
template
>
</el-table-column>
</el-table>
</el-row>
<el-dialog
v-dialogDrag
:title=
"$t('dataset.union_setting')"
:visible=
"editUnion"
:show-close=
"false"
width=
"600px"
class=
"dialog-css"
>
<el-row
style=
"display: flex;align-items: center;justify-content: center;"
>
<el-col
:span=
"6"
>
<p
class=
"table-name-css"
>
{{ table.name }}
</p>
<el-select
v-model=
"union.sourceTableFieldId"
:placeholder=
"$t('dataset.pls_slc_union_field')"
filterable
clearable
size=
"mini"
>
<el-option
v-for=
"item in sourceFieldOption"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
>
<span>
<span
v-if=
"item.deType === 0"
>
<svg-icon
v-if=
"item.deType === 0"
icon-class=
"field_text"
class=
"field-icon-text"
/>
</span>
<span
v-if=
"item.deType === 1"
>
<svg-icon
v-if=
"item.deType === 1"
icon-class=
"field_time"
class=
"field-icon-time"
/>
</span>
<span
v-if=
"item.deType === 2 || item.deType === 3"
>
<svg-icon
v-if=
"item.deType === 2 || item.deType === 3"
icon-class=
"field_value"
class=
"field-icon-value"
/>
</span>
</span>
<span>
{{ item.name }}
</span>
</el-option>
</el-select>
</el-col>
<el-col
:span=
"6"
>
<el-radio-group
v-model=
"union.sourceUnionRelation"
size=
"mini"
style=
"display: block;width: 100%;text-align: center;"
>
<el-radio
class=
"union-relation-css"
label=
"1:1"
>
1 : 1
</el-radio>
<el-radio
class=
"union-relation-css"
label=
"1:N"
>
1 : N
</el-radio>
<el-radio
class=
"union-relation-css"
label=
"N:1"
>
N : 1
</el-radio>
</el-radio-group>
</el-col>
<el-col
:span=
"6"
>
<el-popover
placement=
"bottom"
width=
"400"
trigger=
"hover"
>
<dataset-group-selector
@
getTable=
"getTable"
/>
<el-button
slot=
"reference"
size=
"mini"
>
{{ $t('dataset.pls_slc_union_table') }}
</el-button>
</el-popover>
<el-select
v-model=
"union.targetTableFieldId"
:placeholder=
"$t('dataset.pls_slc_union_field')"
filterable
clearable
size=
"mini"
>
<el-option
v-for=
"item in targetFieldOption"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
>
<span>
<span
v-if=
"item.deType === 0"
>
<svg-icon
v-if=
"item.deType === 0"
icon-class=
"field_text"
class=
"field-icon-text"
/>
</span>
<span
v-if=
"item.deType === 1"
>
<svg-icon
v-if=
"item.deType === 1"
icon-class=
"field_time"
class=
"field-icon-time"
/>
</span>
<span
v-if=
"item.deType === 2 || item.deType === 3"
>
<svg-icon
v-if=
"item.deType === 2 || item.deType === 3"
icon-class=
"field_value"
class=
"field-icon-value"
/>
</span>
</span>
<span>
{{ item.name }}
</span>
</el-option>
</el-select>
</el-col>
</el-row>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"mini"
@
click=
"closeUnion"
>
{{ $t('dataset.cancel') }}
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"saveUnion"
>
{{ $t('dataset.confirm') }}
</el-button>
</div>
</el-dialog>
</el-row>
</template>
<
script
>
import
{
post
,
fieldList
}
from
'../../../api/dataset/dataset'
import
DatasetGroupSelector
from
'../common/DatasetGroupSelector'
export
default
{
name
:
'UnionView'
,
components
:
{
DatasetGroupSelector
},
props
:
{
table
:
{
type
:
Object
,
required
:
true
}
},
data
()
{
return
{
union
:
{
id
:
null
,
sourceTableId
:
this
.
table
.
id
,
sourceTableFieldId
:
''
,
sourceUnionRelation
:
''
,
targetTableId
:
''
,
targetTableFieldId
:
''
,
targetUnionRelation
:
''
},
unionData
:
[],
editUnion
:
false
,
sourceFieldOption
:
[],
targetFieldOption
:
[]
}
},
watch
:
{
'table'
:
function
()
{
this
.
initUnion
()
}
},
mounted
()
{
this
.
initUnion
()
},
methods
:
{
initUnion
()
{
post
(
'dataset/union/listByTableId/'
+
this
.
table
.
id
,
{}).
then
(
response
=>
{
// console.log(response)
this
.
unionData
=
response
.
data
})
},
showUnionEdit
()
{
fieldList
(
this
.
table
.
id
).
then
(
response
=>
{
this
.
sourceFieldOption
=
response
.
data
})
this
.
editUnion
=
true
},
saveUnion
()
{
console
.
log
(
this
.
union
)
if
(
!
this
.
union
.
sourceTableFieldId
||
!
this
.
union
.
sourceUnionRelation
||
!
this
.
union
.
targetTableId
||
!
this
.
union
.
targetTableFieldId
)
{
this
.
$message
({
type
:
'error'
,
message
:
this
.
$t
(
'dataset.pls_setting_union_success'
),
showClose
:
true
})
return
}
this
.
union
.
targetUnionRelation
=
this
.
union
.
sourceUnionRelation
.
split
(
''
).
reverse
().
join
(
''
)
post
(
'dataset/union/save'
,
this
.
union
).
then
(
response
=>
{
this
.
$message
({
type
:
'success'
,
message
:
this
.
$t
(
'dataset.save_success'
),
showClose
:
true
})
this
.
closeUnion
()
this
.
initUnion
()
})
},
closeUnion
()
{
this
.
editUnion
=
false
this
.
resetUnion
()
},
resetUnion
()
{
this
.
union
=
{
id
:
null
,
sourceTableId
:
this
.
table
.
id
,
sourceTableFieldId
:
''
,
sourceUnionRelation
:
''
,
targetTableId
:
''
,
targetTableFieldId
:
''
,
targetUnionRelation
:
''
}
},
edit
(
item
)
{
this
.
union
=
JSON
.
parse
(
JSON
.
stringify
(
item
))
fieldList
(
this
.
union
.
targetTableId
).
then
(
response
=>
{
this
.
targetFieldOption
=
response
.
data
this
.
showUnionEdit
()
})
},
deleteUnion
(
item
)
{
this
.
$confirm
(
this
.
$t
(
'dataset.confirm_delete'
),
this
.
$t
(
'dataset.tips'
),
{
confirmButtonText
:
this
.
$t
(
'dataset.confirm'
),
cancelButtonText
:
this
.
$t
(
'dataset.cancel'
),
type
:
'warning'
}).
then
(()
=>
{
post
(
'dataset/union/delete/'
+
item
.
id
,
{}).
then
(
response
=>
{
this
.
$message
({
type
:
'success'
,
message
:
this
.
$t
(
'dataset.delete_success'
),
showClose
:
true
})
this
.
initUnion
()
})
})
},
getTable
(
param
)
{
// console.log(param)
this
.
union
.
targetTableId
=
param
.
id
this
.
union
.
targetTableFieldId
=
''
fieldList
(
param
.
id
).
then
(
response
=>
{
this
.
targetFieldOption
=
response
.
data
})
}
}
}
</
script
>
<
style
scoped
>
.table-name-css
{
margin
:
4px
2px
;
}
.union-relation-css
{
display
:
block
;
width
:
100%
;
padding
:
4px
10px
;
}
.dialog-css
>>>
.el-dialog__title
{
font-size
:
14px
;
}
.dialog-css
>>>
.el-dialog__header
{
padding
:
20px
20px
0
;
}
.dialog-css
>>>
.el-dialog__body
{
padding
:
10px
20px
20px
;
}
</
style
>
frontend/src/views/dataset/data/ViewTable.vue
浏览文件 @
ac938c28
...
...
@@ -32,7 +32,7 @@
<tab-data-preview
:table=
"table"
:fields=
"fields"
:data=
"data"
:page=
"page"
:form=
"tableViewRowForm"
@
reSearch=
"reSearch"
/>
</el-tab-pane>
<el-tab-pane
:label=
"$t('dataset.join_view')"
name=
"joinView"
>
关联视图 TODO
<union-view
:table=
"table"
/>
</el-tab-pane>
<el-tab-pane
v-if=
"table.mode === 1 && (table.type === 'db' || table.type === 'sql')"
:label=
"$t('dataset.update_info')"
name=
"updateInfo"
>
<update-info
:table=
"table"
/>
...
...
@@ -46,10 +46,11 @@ import { getTable, post } from '@/api/dataset/dataset'
import
TabDataPreview
from
'./TabDataPreview'
import
UpdateInfo
from
'./UpdateInfo'
import
DatasetChartDetail
from
'../common/DatasetChartDetail'
import
UnionView
from
'./UnionView'
export
default
{
name
:
'ViewTable'
,
components
:
{
DatasetChartDetail
,
UpdateInfo
,
TabDataPreview
},
components
:
{
UnionView
,
DatasetChartDetail
,
UpdateInfo
,
TabDataPreview
},
props
:
{
param
:
{
type
:
String
,
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论