Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
dataease
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
zhu
dataease
Commits
a205bf46
提交
a205bf46
authored
6月 22, 2021
作者:
wangjiahao
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/main' into main
上级
76162f14
ada29f71
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
377 行增加
和
179 行删除
+377
-179
README.md
README.md
+299
-128
DsMain.vue
frontend/src/views/system/datasource/DsMain.vue
+2
-23
DsTree.vue
frontend/src/views/system/datasource/DsTree.vue
+76
-28
没有找到文件。
README.md
浏览文件 @
a205bf46
...
@@ -53,134 +53,305 @@ curl -sSL https://github.com/dataease/dataease/releases/latest/download/quick_st
...
@@ -53,134 +53,305 @@ curl -sSL https://github.com/dataease/dataease/releases/latest/download/quick_st
## 功能列表
## 功能列表
<body
link=
"blue"
vlink=
"purple"
class=
"xl65"
>
<table>
<table
width=
"577.40"
border=
"0"
cellpadding=
"0"
cellspacing=
"0"
style=
'width:577.40pt;border-collapse:collapse;'
>
<tr>
<col
width=
"56.80"
style=
'mso-width-source:userset;mso-width-alt:2423;'
/>
<td
bgcolor=
"#3779d9"
align=
"middle"
style=
"font-weight:bold;color: white;width: 150px"
>
<col
width=
"83.60"
class=
"xl65"
style=
'mso-width-source:userset;mso-width-alt:3566;'
/>
功能模块
<col
width=
"437"
class=
"xl66"
style=
'mso-width-source:userset;mso-width-alt:18645;'
/>
</td>
<tr
height=
"18"
style=
'height:18.00pt;'
>
<td
bgcolor=
"#3779d9"
align=
"middle"
style=
"font-weight:bold;color: white;width: 170px"
>
<td
class=
"xl67"
height=
"216"
width=
"56.80"
rowspan=
"12"
style=
'height:216.00pt;width:56.80pt;border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;'
x:str
>
仪表板
</td>
功能
<td
class=
"xl68"
width=
"83.60"
rowspan=
"10"
style=
'width:83.60pt;border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;'
x:str
>
仪表板管理
</td>
</td>
<td
class=
"xl69"
width=
"437"
style=
'width:437.00pt;'
x:str
>
在线编辑仪表板
</td>
<td
bgcolor=
"#3779d9"
align=
"middle"
style=
"font-weight:bold;color: white;width: 750px"
>
</tr>
功能描述
<tr
height=
"18"
style=
'height:18.00pt;'
>
</td>
<td
class=
"xl69"
x:str
>
仪表板展示内容支持视图/时间组件/文本组件/数字组件/样式组件等
</td>
</tr>
</tr>
<tr>
<tr
height=
"18"
style=
'height:18.00pt;'
>
<td
rowspan=
"19"
>
<td
class=
"xl69"
x:str
>
支持视图及组件样式的设置
</td>
仪表板
</tr>
</td>
<tr
height=
"18"
style=
'height:18.00pt;'
>
<td
rowspan=
"7"
>
<td
class=
"xl69"
x:str
>
支持仪表板主题
</td>
仪表板管理
</tr>
</td>
<tr
height=
"18"
style=
'height:18.00pt;'
>
<td>
<td
class=
"xl69"
x:str
>
支持仪表板的全屏预览
</td>
支持新建仪表板
</tr>
</td>
<tr
height=
"18"
style=
'height:18.00pt;'
>
</tr>
<td
class=
"xl69"
x:str
>
支持仪表板模板的导出
</td>
<tr>
</tr>
<td>
<tr
height=
"18"
style=
'height:18.00pt;'
>
支持重命名仪表板
<td
class=
"xl69"
x:str
>
以树状形式展示仪表板分组
</td>
</td>
</tr>
</tr>
<tr
height=
"18"
style=
'height:18.00pt;'
>
<tr>
<td
class=
"xl69"
x:str
>
支持仪表板分组的拖拽排序
</td>
<td>
</tr>
支持删除仪表板
<tr
height=
"18"
style=
'height:18.00pt;'
>
</td>
<td
class=
"xl69"
x:str
>
支持默认仪表板的设置
</td>
</tr>
</tr>
<tr>
<tr
height=
"18"
style=
'height:18.00pt;'
>
<td>
<td
class=
"xl69"
x:str
>
支持仪表板的收藏
</td>
支持在线编辑仪表板
</tr>
</td>
<tr
height=
"18"
style=
'height:18.00pt;'
>
</tr>
<td
class=
"xl68"
rowspan=
"2"
style=
'border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;'
x:str
>
仪表板分享
</td>
<tr>
<td
class=
"xl69"
x:str
>
支持按组织/角色/用户分享
</td>
<td>
</tr>
支持以树状形式展示仪表板分组
<tr
height=
"18"
style=
'height:18.00pt;'
>
</td>
<td
class=
"xl69"
x:str
>
支持生成外部可访问的带密码保护的分享链接
</td>
</tr>
</tr>
<tr>
<tr
height=
"18"
style=
'height:18.00pt;'
>
<td>
<td
class=
"xl67"
height=
"180"
rowspan=
"9"
style=
'height:180.00pt;border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;'
x:str
>
视图
</td>
支持重命名仪表板分组
<td
class=
"xl68"
rowspan=
"9"
style=
'border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;'
x:str
>
视图管理
</td>
</td>
<td
class=
"xl69"
x:str
>
在线编辑视图
</td>
</tr>
</tr>
<tr>
<tr
height=
"18"
style=
'height:18.00pt;'
>
<td>
<td
class=
"xl70"
x:str
>
支持可视化拖拽进行视图操作
</td>
支持删除仪表板分组
</tr>
</td>
<tr
height=
"36"
style=
'height:36.00pt;'
>
</tr>
<td
class=
"xl70"
x:str
>
支持明细表/指标卡/基础柱状图/堆叠柱状图/横向柱状图/横向堆叠柱状图/基础折线图/堆叠折线图/饼图/南丁格尔玫瑰图/漏斗图/雷达图/仪表盘等多种图表类型
</td>
<tr>
</tr>
<td
rowspan=
"10"
>
<tr
height=
"18"
style=
'height:18.00pt;'
>
仪表板制作
<td
class=
"xl70"
x:str
>
支持维度/指标的排序展示
</td>
</td>
</tr>
<td>
<tr
height=
"18"
style=
'height:18.00pt;'
>
支持多种组件,视图/时间组件/文本组件/数字组件/样式组件/图片等
<td
class=
"xl70"
x:str
>
支持指标的多种汇总计算方式
</td>
</td>
</tr>
</tr>
<tr
height=
"18"
style=
'height:18.00pt;'
>
<tr>
<td
class=
"xl70"
x:str
>
支持对图表类型的图形属性进行设置
</td>
<td>
</tr>
支持组件样式设置,如图形属性、组件样式等
<tr
height=
"18"
style=
'height:18.00pt;'
>
</td>
<td
class=
"xl70"
x:str
>
支持对图表类型的组件样式进行设置
</td>
</tr>
</tr>
<tr>
<tr
height=
"18"
style=
'height:18.00pt;'
>
<td>
<td
class=
"xl70"
x:str
>
支持过滤条件筛选视图展示的数据
</td>
支持仪表板背景、以及组件间隙设置等
</tr>
</td>
<tr
height=
"18"
style=
'height:18.00pt;'
>
</tr>
<td
class=
"xl70"
x:str
>
支持下载视图图片
</td>
<tr>
</tr>
<td>
<tr
height=
"18"
style=
'height:18.00pt;'
>
支持一键切换仪表板主题
<td
class=
"xl67"
height=
"144"
rowspan=
"8"
style=
'height:144.00pt;border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;'
x:str
>
数据集
</td>
</td>
<td
class=
"xl68"
rowspan=
"8"
style=
'border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;'
x:str
>
数据集管理
</td>
</tr>
<td
class=
"xl70"
x:str
>
支持数据库数据集/SQL 数据集/Excel 数据集/自定义数据集等多种类型的数据集
</td>
<tr>
</tr>
<td>
<tr
height=
"18"
style=
'height:18.00pt;'
>
支持调整仪表板画布大小
<td
class=
"xl70"
x:str
>
数据库数据集和 SQL 数据集支持直连和定时同步两种连接方式
</td>
</td>
</tr>
</tr>
<tr
height=
"18"
style=
'height:18.00pt;'
>
<tr>
<td
class=
"xl70"
x:str
>
定时同步类型数据集支持全量更新和增量更新两种方式
</td>
<td>
</tr>
支持撤销、重做、清空画布内容
<tr
height=
"18"
style=
'height:18.00pt;'
>
</td>
<td
class=
"xl70"
x:str
>
支持定时更新的频率控制
</td>
</tr>
</tr>
<tr>
<tr
height=
"18"
style=
'height:18.00pt;'
>
<td>
<td
class=
"xl70"
x:str
>
支持定时更新任务的查看
</td>
支持仪表板的全屏预览
</tr>
</td>
<tr
height=
"18"
style=
'height:18.00pt;'
>
</tr>
<td
class=
"xl70"
x:str
>
支持对数据集的字段类型/字段名/展示字段进行设置
</td>
<tr>
</tr>
<td>
<tr
height=
"18"
style=
'height:18.00pt;'
>
支持仪表板模板的导出
<td
class=
"xl70"
x:str
>
支持创建不同类型数据集与数据集之间的关联
</td>
</td>
</tr>
</tr>
<tr
height=
"18"
style=
'height:18.00pt;'
>
<tr>
<td
class=
"xl70"
x:str
>
支持 Excel 数据集数据的替换和更新
</td>
<td>
</tr>
支持默认仪表板的设置
<tr
height=
"18"
style=
'height:18.00pt;'
>
</td>
<td
class=
"xl67"
height=
"36"
rowspan=
"2"
style=
'height:36.00pt;border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;'
x:str
>
数据源
</td>
</tr>
<td
class=
"xl68"
rowspan=
"2"
style=
'border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;'
x:str
>
数据源管理
</td>
<tr>
<td
class=
"xl70"
x:str
>
支持 MySQL 数据源
</td>
<td>
</tr>
支持仪表板的收藏
<tr
height=
"18"
style=
'height:18.00pt;'
>
</td>
<td
class=
"xl70"
x:str
>
支持对数据源有效性校验
</td>
</tr>
</tr>
<tr>
<tr
height=
"18"
style=
'height:18.00pt;'
>
<td
rowspan=
"2"
>
<td
class=
"xl67"
height=
"90"
rowspan=
"5"
style=
'height:90.00pt;border-right:.5pt solid windowtext;'
x:str
>
系统管理
</td>
仪表板共享
<td
class=
"xl68"
rowspan=
"2"
style=
'border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;'
x:str
>
用户租户管理
</td>
</td>
<td
class=
"xl70"
x:str
>
支持多级租户体系
</td>
<td>
</tr>
支持按组织/角色/用户分享
<tr
height=
"18"
style=
'height:18.00pt;'
>
</td>
<td
class=
"xl70"
x:str
>
支持多种租户角色
</td>
</tr>
</tr>
<tr>
<tr
height=
"18"
style=
'height:18.00pt;'
>
<td>
<td
class=
"xl68"
rowspan=
"2"
style=
'border-right:.5pt solid windowtext;border-bottom:.5pt solid windowtext;'
x:str
>
权限管理
</td>
支持生成分享链接,外部用户可通过密码访问
<td
class=
"xl70"
x:str
>
支持组织/角色/用户三个维度的权限管理
</td>
</td>
</tr>
</tr>
<tr
height=
"18"
style=
'height:18.00pt;'
>
<tr>
<td
class=
"xl70"
x:str
>
支持数据源/数据集/视图/仪表板/菜单和操作权限的细颗粒度权限控制
</td>
<td
rowspan=
"14"
>
</tr>
视图
<tr
height=
"18"
style=
'height:18.00pt;'
>
</td>
<td
class=
"xl68"
style=
'border-right:.5pt solid windowtext;'
x:str
>
显示设置
</td>
<td
rowspan=
"6"
>
<td
class=
"xl70"
x:str
>
支持对Logo/系统名/标题等属性的设置
</td>
视图管理
</tr>
</td>
</table>
<td>
</body>
支持新增视图
</td>
</tr>
<tr>
<td>
支持编辑视图
</td>
</tr>
<tr>
<td>
支持删除视图
</td>
</tr>
<tr>
<td>
支持对视图进行分组
</td>
</tr>
<tr>
<td>
支持重命名视图分组
</td>
</tr>
<tr>
<td>
支持删除视图分组
</td>
</tr>
<tr>
<td
rowspan=
"8"
>
视图制作
</td>
<td>
支持通过简单的拖拉操作,制作视图
</td>
</tr>
<tr>
<td>
支持多种图表类型,明细表/指标卡/基础柱状图/堆叠柱状图/横向柱状图/横向堆叠柱状图/基础折线图/堆叠折线图/饼图/南丁格尔玫瑰图/漏斗图/雷达图/仪表盘等
</td>
</tr>
<tr>
<td>
支持选择图表的样式优先级
</td>
</tr>
<tr>
<td>
支持选择图表的排序方式,根据维度、指标升序、降序展示
</td>
</tr>
<tr>
<td>
支持指标的多种汇总计算方式,如求和、平均、最大值、最小值等
</td>
</tr>
<tr>
<td>
支持对图表类型的图形属性进行设置
</td>
</tr>
<tr>
<td>
支持对图表类型的组件样式进行设置
</td>
</tr>
<tr>
<td>
支持通过过滤条件筛选视图数据
</td>
</tr>
<tr>
<td
rowspan=
"8"
>
数据集
</td>
<td
rowspan=
"8"
>
数据集管理
</td>
<td>
支持多种类型的数据集,数据库数据集/SQL 数据集/Excel 数据集/自定义数据集
</td>
</tr>
<tr>
<td>
数据库数据集和 SQL 数据集支持直连和定时同步两种连接方式
</td>
</tr>
<tr>
<td>
定时同步类型数据集,支持全量更新和增量更新两种方式
</td>
</tr>
<tr>
<td>
支持创建定时任务,以此控制数据集的更新
</td>
</tr>
<tr>
<td>
支持定时更新任务的查看
</td>
</tr>
<tr>
<td>
支持对数据集的字段类型/字段名/展示字段进行设置
</td>
</tr>
<tr>
<td>
支持创建数据集间的关联关系(1:1,一对一;1:N,一对N;N:1,N对1)
</td>
</tr>
<tr>
<td>
支持 Excel 数据集数据的替换和追加
</td>
</tr>
<tr>
<td
rowspan=
"2"
>
数据源
</td>
<td
rowspan=
"2"
>
数据源管理
</td>
<td>
创建 MySQL数据源
</td>
</tr>
</tr>
<tr>
<td>
校验数据源的有效性
</td>
</tr>
<tr>
<td
rowspan=
"5"
>
系统管理
</td>
<td
rowspan=
"2"
>
用户租户管理
</td>
<td>
支持多级租户体系
</td>
</tr>
<tr>
<td>
支持多种租户角色
</td>
</tr>
<tr>
<td
rowspan=
"2"
>
权限管理
</td>
<td>
支持组织/角色/用户三个维度的权限管理
</td>
</tr>
<tr>
<td>
支持数据源/数据集/视图/仪表板/菜单和操作权限的细颗粒度权限控制
</td>
</tr>
<tr>
<td>
显示设置
</td>
<td>
支持对Logo/系统名/标题等属性的设置
</td>
</tr>
</table>
## 技术栈
## 技术栈
...
...
frontend/src/views/system/datasource/DsMain.vue
浏览文件 @
a205bf46
<
template
>
<
template
>
<de-container>
<de-container
v-loading=
"$store.getters.loadingMap[$store.getters.currentPath]"
>
<de-aside-container
style=
"padding:
20px 10px 0
;"
>
<de-aside-container
style=
"padding:
10px 15px
;"
>
<ds-tree
ref=
"dsTree"
@
switch-main=
"switchMain"
/>
<ds-tree
ref=
"dsTree"
@
switch-main=
"switchMain"
/>
</de-aside-container>
</de-aside-container>
<de-main-container>
<de-main-container>
...
@@ -71,25 +71,4 @@ export default {
...
@@ -71,25 +71,4 @@ export default {
height
:
calc
(
100vh
-
56px
);
height
:
calc
(
100vh
-
56px
);
padding
:
0px
;
padding
:
0px
;
}
}
/*.tab-panel>>>.is-stretch{*/
/* min-width: 80% !important;*/
/*}*/
/*.tab-panel>>>.el-tabs__nav-scroll {*/
/* overflow: hidden;*/
/* text-align: center;*/
/* display: flex;*/
/* align-items: center;*/
/* justify-content: center;*/
/*}*/
.tab-panel
>>>
.el-tabs__nav-wrap
{
padding
:
0
10px
;
}
.tab-panel
>>>
.el-tabs__nav-wrap
::after
{
height
:
1px
;
}
.tab-panel
>>>
.el-tabs__item
{
/* width: 10px; */
padding
:
0
10px
;
}
</
style
>
</
style
>
frontend/src/views/system/datasource/DsTree.vue
浏览文件 @
a205bf46
<
template
>
<
template
xmlns:el-col=
"http://www.w3.org/1999/html"
>
<el-col
style=
"padding: 0 5px 0 5px;"
>
<el-col>
<el-col>
<el-col>
<el-row>
<el-row
class=
"title-css"
>
<span
v-show=
"!showSearchInput"
class=
"header-title"
>
<span
class=
"title-text"
>
<div
class=
"de-input"
style=
"margin-top: 7px !important;"
>
{{
$t
(
'commons.datasource'
)
}}
{{
$t
(
'commons.datasource'
)
}}
<el-button
style=
"float: right;padding-right: 7px;margin-top: -8px"
icon=
"el-icon-plus"
type=
"text"
@
click=
"addFolder"
/>
<el-button
style=
"float: right;padding-right: 15px;margin-top: -8px"
icon=
"el-icon-search"
type=
"text"
@
click=
"showSearchWidget"
/>
</div>
</span>
<span
v-show=
"showSearchInput"
class=
"header-title"
>
<div
class=
"de-input"
style=
"margin-top: 0px !important;margin-bottom: 12px !important"
>
<el-input
v-model=
"key"
>
<el-button
slot=
"append"
icon=
"el-icon-close"
@
click=
"closeSearchWidget"
/>
</el-input>
</div>
</span>
</span>
<el-button
icon=
"el-icon-plus"
type=
"text"
size=
"mini"
style=
"float: right;"
@
click=
"addFolder"
/>
</el-row>
<el-divider
/>
<el-row>
<el-form>
<el-form-item
class=
"form-item"
>
<el-input
v-model=
"key"
size=
"mini"
:placeholder=
"$t('chart.search')"
prefix-icon=
"el-icon-search"
clearable
/>
</el-form-item>
</el-form>
</el-row>
</el-row>
<el-col
class=
"custom-tree-container"
>
<el-col
class=
"custom-tree-container"
>
<div
class=
"block"
>
<div
class=
"block"
>
<el-tree
<el-tree
...
@@ -30,7 +36,7 @@
...
@@ -30,7 +36,7 @@
@
node-click=
"nodeClick"
@
node-click=
"nodeClick"
>
>
<span
slot-scope=
"
{ node, data }" class="custom-tree-node-list father">
<span
slot-scope=
"
{ node, data }" class="custom-tree-node-list father">
<span
style=
"display: flex;
flex: 1 1 0%; width: 0px
;"
>
<span
style=
"display: flex;
flex: 1;width: 0
;"
>
<span
v-if=
"data.type !== 'folder'"
>
<span
v-if=
"data.type !== 'folder'"
>
<svg-icon
icon-class=
"datasource"
class=
"ds-icon-scene"
/>
<svg-icon
icon-class=
"datasource"
class=
"ds-icon-scene"
/>
</span>
</span>
...
@@ -193,14 +199,16 @@ export default {
...
@@ -193,14 +199,16 @@ export default {
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.header-title
{
.el-divider--horizontal
{
font-size
:
14px
;
margin
:
12px
0
flex
:
1
;
}
color
:
#606266
;
font-weight
:
bold
;
.search-input
{
display
:
block
;
padding
:
12px
0
;
height
:
100%
;
}
/*line-height: 36px;*/
.custom-tree-container
{
margin-top
:
10px
;
}
}
.custom-tree-node
{
.custom-tree-node
{
...
@@ -221,13 +229,53 @@ export default {
...
@@ -221,13 +229,53 @@ export default {
padding
:
0
8px
;
padding
:
0
8px
;
}
}
.
dialog-css
>>>
.el-dialog__body
{
.
tree-list
>>>
.el-tree-node__expand-icon.is-leaf
{
padding
:
15px
20px
;
display
:
none
;
}
}
.dialog-css
>>>
.el-dialog__body
{
.custom-position
{
flex
:
1
;
display
:
flex
;
align-items
:
center
;
font-size
:
14px
;
flex-flow
:
row
nowrap
;
}
.form-item
{
margin-bottom
:
0
;
}
.title-css
{
height
:
26px
;
}
.title-text
{
line-height
:
26px
;
}
.dialog-css
>>>
.el-dialog__header
{
padding
:
20px
20px
0
;
}
.dialog-css
>>>
.el-dialog__body
{
padding
:
10px
20px
20px
;
padding
:
10px
20px
20px
;
}
}
.form-item
>>>
.el-form-item__label
{
font-size
:
12px
;
}
.scene-title
{
width
:
100%
;
display
:
flex
;
}
.scene-title-name
{
width
:
100%
;
overflow
:
hidden
;
display
:
inline-block
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
}
.father
.child
{
.father
.child
{
display
:
none
;
display
:
none
;
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论