Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
dataease
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
zhu
dataease
Commits
d6ca7a8b
提交
d6ca7a8b
authored
4月 21, 2021
作者:
wangjiahao
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/main' into main
上级
290502b3
e7fd4126
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
36 个修改的文件
包含
352 行增加
和
94 行删除
+352
-94
ExtPanelStoreMapper.xml
.../java/io/dataease/base/mapper/ext/ExtPanelStoreMapper.xml
+2
-1
CommonConfig.java
backend/src/main/java/io/dataease/config/CommonConfig.java
+9
-9
JdbcProvider.java
...in/java/io/dataease/datasource/provider/JdbcProvider.java
+18
-4
DataTableInfoDTO.java
...c/main/java/io/dataease/dto/dataset/DataTableInfoDTO.java
+1
-0
PanelStoreDto.java
...nd/src/main/java/io/dataease/dto/panel/PanelStoreDto.java
+2
-0
AppStartReadHBaseListener.java
.../java/io/dataease/listener/AppStartReadHBaseListener.java
+15
-15
DataSetTableService.java
...java/io/dataease/service/dataset/DataSetTableService.java
+0
-0
ExtractDataService.java
.../java/io/dataease/service/dataset/ExtractDataService.java
+0
-0
SparkCalc.java
...nd/src/main/java/io/dataease/service/spark/SparkCalc.java
+71
-6
application.properties
backend/src/main/resources/application.properties
+2
-0
V9__dataset_tables.sql
...nd/src/main/resources/db/migration/V9__dataset_tables.sql
+1
-1
favicon.ico
frontend/public/favicon.ico
+0
-0
enshrine.js
frontend/src/api/panel/enshrine.js
+27
-0
DataEase-black.png
frontend/src/assets/DataEase-black.png
+0
-0
DataEase-white.png
frontend/src/assets/DataEase-white.png
+0
-0
RackShift-black.png
frontend/src/assets/RackShift-black.png
+0
-0
login-desc.png
frontend/src/assets/login-desc.png
+0
-0
database.svg
frontend/src/icons/svg/database.svg
+1
-2
dept.svg
frontend/src/icons/svg/dept.svg
+1
-2
sys-tools.svg
frontend/src/icons/svg/sys-tools.svg
+1
-2
zh.js
frontend/src/lang/zh.js
+1
-1
Topbar.vue
frontend/src/layout/components/Topbar.vue
+3
-1
settings.js
frontend/src/settings.js
+1
-1
topbar.scss
frontend/src/styles/topbar.scss
+3
-2
variables.scss
frontend/src/styles/variables.scss
+3
-3
ChartEdit.vue
frontend/src/views/chart/view/ChartEdit.vue
+3
-3
AddExcel.vue
frontend/src/views/dataset/add/AddExcel.vue
+21
-26
DatasetGroupSelector.vue
frontend/src/views/dataset/common/DatasetGroupSelector.vue
+1
-1
UpdateInfo.vue
frontend/src/views/dataset/data/UpdateInfo.vue
+3
-3
ViewTable.vue
frontend/src/views/dataset/data/ViewTable.vue
+1
-1
Group.vue
frontend/src/views/dataset/group/Group.vue
+1
-1
index.vue
frontend/src/views/login/index.vue
+1
-1
shareTree.vue
frontend/src/views/panel/GrantAuth/shareTree.vue
+15
-1
index.vue
frontend/src/views/panel/enshrine/index.vue
+96
-0
PanelMain.vue
frontend/src/views/panel/list/PanelMain.vue
+13
-4
PanelViewShow.vue
frontend/src/views/panel/list/PanelViewShow.vue
+35
-3
没有找到文件。
backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelStoreMapper.xml
浏览文件 @
d6ca7a8b
...
...
@@ -4,6 +4,7 @@
<resultMap
id=
"panelStoreMap"
type=
"io.dataease.dto.panel.PanelStoreDto"
>
<id
column=
"store_id"
property=
"storeId"
></id>
<result
column=
"panel_group_id"
property=
"panelGroupId"
></result>
<result
column=
"name"
property=
"name"
></result>
</resultMap>
...
...
@@ -11,7 +12,7 @@
<select
id=
"query"
parameterType=
"io.dataease.base.mapper.ext.query.GridExample"
resultMap=
"panelStoreMap"
>
select s.store_id, g.name
select s.store_id,
s.panel_group_id,
g.name
from panel_store s
left join panel_group g on g.id = s.panel_group_id
<if
test=
"_parameter != null"
>
...
...
backend/src/main/java/io/dataease/config/CommonConfig.java
浏览文件 @
d6ca7a8b
...
...
@@ -22,15 +22,15 @@ public class CommonConfig {
private
Environment
env
;
// 保存了配置文件的信息
private
static
String
root_path
=
"/opt/dataease/data/kettle/"
;
@Bean
@ConditionalOnMissingBean
public
org
.
apache
.
hadoop
.
conf
.
Configuration
configuration
()
{
org
.
apache
.
hadoop
.
conf
.
Configuration
configuration
=
new
org
.
apache
.
hadoop
.
conf
.
Configuration
();
configuration
.
set
(
"hbase.zookeeper.quorum"
,
env
.
getProperty
(
"hbase.zookeeper.quorum"
));
configuration
.
set
(
"hbase.zookeeper.property.clientPort"
,
env
.
getProperty
(
"hbase.zookeeper.property.clientPort"
));
configuration
.
set
(
"hbase.client.retries.number"
,
env
.
getProperty
(
"hbase.client.retries.number"
,
"1"
));
return
configuration
;
}
//
@Bean
//
@ConditionalOnMissingBean
//
public org.apache.hadoop.conf.Configuration configuration() {
//
org.apache.hadoop.conf.Configuration configuration = new org.apache.hadoop.conf.Configuration();
//
configuration.set("hbase.zookeeper.quorum", env.getProperty("hbase.zookeeper.quorum"));
//
configuration.set("hbase.zookeeper.property.clientPort", env.getProperty("hbase.zookeeper.property.clientPort"));
//
configuration.set("hbase.client.retries.number", env.getProperty("hbase.client.retries.number", "1"));
//
return configuration;
//
}
@Bean
@ConditionalOnMissingBean
...
...
backend/src/main/java/io/dataease/datasource/provider/JdbcProvider.java
浏览文件 @
d6ca7a8b
...
...
@@ -7,6 +7,7 @@ import io.dataease.datasource.dto.MysqlConfigrationDTO;
import
io.dataease.datasource.dto.SqlServerConfigration
;
import
io.dataease.datasource.dto.TableFiled
;
import
io.dataease.datasource.request.DatasourceRequest
;
import
org.apache.arrow.util.VisibleForTesting
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
...
...
@@ -39,6 +40,23 @@ public class JdbcProvider extends DatasourceProvider {
return
list
;
}
@VisibleForTesting
public
void
exec
(
DatasourceRequest
datasourceRequest
)
throws
Exception
{
Connection
connection
=
null
;
try
{
connection
=
getConnectionFromPool
(
datasourceRequest
);
Statement
stat
=
connection
.
createStatement
();
stat
.
execute
(
datasourceRequest
.
getQuery
());
}
catch
(
SQLException
e
)
{
throw
new
Exception
(
"ERROR:"
+
e
.
getMessage
(),
e
);
}
catch
(
Exception
e
)
{
throw
new
Exception
(
"ERROR:"
+
e
.
getMessage
(),
e
);
}
finally
{
returnSource
(
connection
,
datasourceRequest
.
getDatasource
().
getId
());
}
}
@Override
public
ResultSet
getDataResultSet
(
DatasourceRequest
datasourceRequest
)
throws
Exception
{
ResultSet
rs
;
...
...
@@ -47,7 +65,6 @@ public class JdbcProvider extends DatasourceProvider {
connection
=
getConnectionFromPool
(
datasourceRequest
);
Statement
stat
=
connection
.
createStatement
();
rs
=
stat
.
executeQuery
(
datasourceRequest
.
getQuery
());
returnSource
(
connection
,
datasourceRequest
.
getDatasource
().
getId
());
}
catch
(
SQLException
e
)
{
throw
new
Exception
(
"ERROR:"
+
e
.
getMessage
(),
e
);
}
catch
(
Exception
e
)
{
...
...
@@ -66,7 +83,6 @@ public class JdbcProvider extends DatasourceProvider {
connection
=
getConnectionFromPool
(
datasourceRequest
);
Statement
stat
=
connection
.
createStatement
();
ResultSet
rs
=
stat
.
executeQuery
(
datasourceRequest
.
getQuery
()
+
MessageFormat
.
format
(
" LIMIT {0}, {1}"
,
(
datasourceRequest
.
getStartPage
()
-
1
)
*
datasourceRequest
.
getPageSize
(),
datasourceRequest
.
getPageSize
()));
returnSource
(
connection
,
datasourceRequest
.
getDatasource
().
getId
());
list
=
fetchResult
(
rs
);
}
catch
(
SQLException
e
)
{
throw
new
Exception
(
"ERROR:"
+
e
.
getMessage
(),
e
);
...
...
@@ -174,8 +190,6 @@ public class JdbcProvider extends DatasourceProvider {
return
list
;
}
;
@Override
public
void
test
(
DatasourceRequest
datasourceRequest
)
throws
Exception
{
String
queryStr
=
getTablesSql
(
datasourceRequest
);
...
...
backend/src/main/java/io/dataease/dto/dataset/DataTableInfoDTO.java
浏览文件 @
d6ca7a8b
...
...
@@ -12,4 +12,5 @@ import lombok.Setter;
public
class
DataTableInfoDTO
{
private
String
table
;
private
String
sql
;
private
String
data
;
// file path
}
backend/src/main/java/io/dataease/dto/panel/PanelStoreDto.java
浏览文件 @
d6ca7a8b
...
...
@@ -11,5 +11,7 @@ public class PanelStoreDto {
private
Long
storeId
;
@ApiModelProperty
(
"仪表板名称"
)
private
String
name
;
@ApiModelProperty
(
"仪表板Id"
)
private
String
panelGroupId
;
}
backend/src/main/java/io/dataease/listener/AppStartReadHBaseListener.java
浏览文件 @
d6ca7a8b
...
...
@@ -33,20 +33,20 @@ public class AppStartReadHBaseListener implements ApplicationListener<Applicatio
@Override
public
void
onApplicationEvent
(
ApplicationReadyEvent
applicationReadyEvent
)
{
System
.
out
.
println
(
"================= Read HBase start ================="
);
// 项目启动,从数据集中找到定时抽取的表,从HBase中读取放入缓存
DatasetTableExample
datasetTableExample
=
new
DatasetTableExample
();
datasetTableExample
.
createCriteria
().
andModeEqualTo
(
1
);
List
<
DatasetTable
>
datasetTables
=
datasetTableMapper
.
selectByExampleWithBLOBs
(
datasetTableExample
);
for
(
DatasetTable
table
:
datasetTables
)
{
// commonThreadPool.addTask(() -> {
try
{
List
<
DatasetTableField
>
fields
=
dataSetTableFieldsService
.
getFieldsByTableId
(
table
.
getId
());
sparkCalc
.
getHBaseDataAndCache
(
table
.
getId
(),
fields
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
// });
}
//
System.out.println("================= Read HBase start =================");
//
// 项目启动,从数据集中找到定时抽取的表,从HBase中读取放入缓存
//
DatasetTableExample datasetTableExample = new DatasetTableExample();
//
datasetTableExample.createCriteria().andModeEqualTo(1);
//
List<DatasetTable> datasetTables = datasetTableMapper.selectByExampleWithBLOBs(datasetTableExample);
//
for (DatasetTable table : datasetTables) {
//
//
commonThreadPool.addTask(() -> {
//
try {
//
List<DatasetTableField> fields = dataSetTableFieldsService.getFieldsByTableId(table.getId());
//
sparkCalc.getHBaseDataAndCache(table.getId(), fields);
//
} catch (Exception e) {
//
e.printStackTrace();
//
}
//
//
});
//
}
}
}
backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java
浏览文件 @
d6ca7a8b
差异被折叠。
点击展开。
backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java
浏览文件 @
d6ca7a8b
差异被折叠。
点击展开。
backend/src/main/java/io/dataease/service/spark/SparkCalc.java
浏览文件 @
d6ca7a8b
...
...
@@ -41,6 +41,7 @@ import java.util.List;
@Service
public
class
SparkCalc
{
private
static
String
column_family
=
"dataease"
;
private
static
String
data_path
=
"/opt/dataease/data/db/"
;
@Resource
private
Environment
env
;
// 保存了配置文件的信息
...
...
@@ -54,12 +55,13 @@ public class SparkCalc {
sqlContext
.
setConf
(
"spark.sql.shuffle.partitions"
,
env
.
getProperty
(
"spark.sql.shuffle.partitions"
,
"1"
));
sqlContext
.
setConf
(
"spark.default.parallelism"
,
env
.
getProperty
(
"spark.default.parallelism"
,
"1"
));
Dataset
<
Row
>
dataFrame
=
CacheUtil
.
getInstance
().
getCacheData
(
hTable
);
if
(
ObjectUtils
.
isEmpty
(
dataFrame
))
{
dataFrame
=
getHBaseDataAndCache
(
sparkContext
,
sqlContext
,
hTable
,
fields
);
}
Dataset
<
Row
>
dataFrame
=
getData
(
sparkContext
,
sqlContext
,
hTable
,
fields
);
// Dataset<Row> dataFrame = CacheUtil.getInstance().getCacheData(hTable);
// if (ObjectUtils.isEmpty(dataFrame)) {
// dataFrame = getData(sparkContext, sqlContext, hTable, fields);
// }
dataFrame
.
createOrReplaceTempView
(
tmpTable
);
dataFrame
.
createOrReplaceTempView
(
tmpTable
);
Dataset
<
Row
>
sql
=
sqlContext
.
sql
(
getSQL
(
xAxis
,
yAxis
,
tmpTable
,
requestList
));
// transform
List
<
String
[]>
data
=
new
ArrayList
<>();
...
...
@@ -86,6 +88,69 @@ public class SparkCalc {
return
getHBaseDataAndCache
(
sparkContext
,
sqlContext
,
hTable
,
fields
);
}
public
Dataset
<
Row
>
getData
(
JavaSparkContext
sparkContext
,
SQLContext
sqlContext
,
String
tableId
,
List
<
DatasetTableField
>
fields
)
throws
Exception
{
fields
.
sort
((
o1
,
o2
)
->
{
if
(
o1
.
getOriginName
()
==
null
)
{
return
-
1
;
}
if
(
o2
.
getOriginName
()
==
null
)
{
return
1
;
}
return
o1
.
getOriginName
().
compareTo
(
o2
.
getOriginName
());
});
JavaRDD
<
String
>
pairRDD
=
sparkContext
.
textFile
(
data_path
+
tableId
+
".txt"
);
JavaRDD
<
Row
>
rdd
=
pairRDD
.
mapPartitions
(
(
FlatMapFunction
<
java
.
util
.
Iterator
<
String
>,
Row
>)
tuple2Iterator
->
{
List
<
Row
>
iterator
=
new
ArrayList
<>();
while
(
tuple2Iterator
.
hasNext
())
{
String
[]
items
=
tuple2Iterator
.
next
().
split
(
";"
);
List
<
Object
>
list
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
items
.
length
;
i
++){
String
l
=
items
[
i
];
DatasetTableField
x
=
fields
.
get
(
i
);
if
(
x
.
getDeType
()
==
0
||
x
.
getDeType
()
==
1
)
{
list
.
add
(
l
);
}
else
if
(
x
.
getDeType
()
==
2
)
{
if
(
StringUtils
.
isEmpty
(
l
))
{
l
=
"0"
;
}
if
(
StringUtils
.
equalsIgnoreCase
(
l
,
"Y"
))
{
l
=
"1"
;
}
if
(
StringUtils
.
equalsIgnoreCase
(
l
,
"N"
))
{
l
=
"0"
;
}
list
.
add
(
Long
.
valueOf
(
l
));
}
else
if
(
x
.
getDeType
()
==
3
)
{
if
(
StringUtils
.
isEmpty
(
l
))
{
l
=
"0.0"
;
}
list
.
add
(
Double
.
valueOf
(
l
));
}
}
iterator
.
add
(
RowFactory
.
create
(
list
.
toArray
()));
}
return
iterator
.
iterator
();
});
List
<
StructField
>
structFields
=
new
ArrayList
<>();
// struct顺序要与rdd顺序一致
fields
.
forEach
(
x
->
{
if
(
x
.
getDeType
()
==
0
||
x
.
getDeType
()
==
1
)
{
structFields
.
add
(
DataTypes
.
createStructField
(
x
.
getOriginName
(),
DataTypes
.
StringType
,
true
));
}
else
if
(
x
.
getDeType
()
==
2
)
{
structFields
.
add
(
DataTypes
.
createStructField
(
x
.
getOriginName
(),
DataTypes
.
LongType
,
true
));
}
else
if
(
x
.
getDeType
()
==
3
)
{
structFields
.
add
(
DataTypes
.
createStructField
(
x
.
getOriginName
(),
DataTypes
.
DoubleType
,
true
));
}
});
StructType
structType
=
DataTypes
.
createStructType
(
structFields
);
Dataset
<
Row
>
dataFrame
=
sqlContext
.
createDataFrame
(
rdd
,
structType
);
return
dataFrame
;
}
public
Dataset
<
Row
>
getHBaseDataAndCache
(
JavaSparkContext
sparkContext
,
SQLContext
sqlContext
,
String
hTable
,
List
<
DatasetTableField
>
fields
)
throws
Exception
{
Scan
scan
=
new
Scan
();
scan
.
addFamily
(
Bytes
.
toBytes
(
column_family
));
...
...
@@ -145,7 +210,7 @@ public class SparkCalc {
StructType
structType
=
DataTypes
.
createStructType
(
structFields
);
Dataset
<
Row
>
dataFrame
=
sqlContext
.
createDataFrame
(
rdd
,
structType
).
persist
(
StorageLevel
.
MEMORY_AND_DISK_SER
());
CacheUtil
.
getInstance
().
addCacheData
(
hTable
,
dataFrame
);
//
CacheUtil.getInstance().addCacheData(hTable, dataFrame);
dataFrame
.
count
();
return
dataFrame
;
}
...
...
backend/src/main/resources/application.properties
浏览文件 @
d6ca7a8b
...
...
@@ -60,6 +60,8 @@ logging.level.org.springframework.web=trace
logging.level.org.springframework.boot.web
=
trace
spring.mvc.log-request-details
=
true
pagehelper.PageRowBounds
=
true
#excel等用户上传文件路径
upload.file.path
=
/opt/dataease/data/upload/
...
...
backend/src/main/resources/db/migration/V9__dataset_tables.sql
浏览文件 @
d6ca7a8b
...
...
@@ -4,7 +4,7 @@ CREATE TABLE IF NOT EXISTS `dataset_table`
`id`
varchar
(
50
)
NOT
NULL
COMMENT
'ID'
,
`name`
varchar
(
64
)
NOT
NULL
COMMENT
'表名称'
,
`scene_id`
varchar
(
50
)
NOT
NULL
COMMENT
'场景ID'
,
`data_source_id`
varchar
(
50
)
NOT
NULL
COMMENT
'数据源ID'
,
`data_source_id`
varchar
(
50
)
COMMENT
'数据源ID'
,
`type`
varchar
(
50
)
COMMENT
'db,sql,excel,custom'
,
`mode`
int
(
10
)
DEFAULT
0
COMMENT
'连接模式:0-直连,1-定时同步'
,
`info`
longtext
COMMENT
'表原始信息'
,
...
...
frontend/public/favicon.ico
查看替换文件 @
290502b3
浏览文件 @
d6ca7a8b
66.1 KB
|
W:
|
H:
5.0 KB
|
W:
|
H:
2-up
Swipe
Onion skin
frontend/src/api/panel/enshrine.js
0 → 100644
浏览文件 @
d6ca7a8b
import
request
from
'@/utils/request'
export
function
saveEnshrine
(
panelGroupId
)
{
return
request
({
url
:
'/api/store/'
+
panelGroupId
,
method
:
'post'
,
loading
:
true
})
}
export
function
deleteEnshrine
(
id
)
{
return
request
({
url
:
'/api/store/remove/'
+
id
,
method
:
'post'
,
loading
:
true
})
}
export
function
enshrineList
(
data
)
{
return
request
({
url
:
'/api/store/list'
,
method
:
'post'
,
loading
:
true
,
data
})
}
frontend/src/assets/DataEase-black.png
0 → 100644
浏览文件 @
d6ca7a8b
12.9 KB
frontend/src/assets/DataEase-white.png
0 → 100644
浏览文件 @
d6ca7a8b
11.9 KB
frontend/src/assets/RackShift-black.png
deleted
100644 → 0
浏览文件 @
290502b3
93.6 KB
frontend/src/assets/login-desc.png
查看替换文件 @
290502b3
浏览文件 @
d6ca7a8b
差异被折叠。
点击展开。
frontend/src/icons/svg/database.svg
浏览文件 @
d6ca7a8b
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
t=
"1574649229600"
class=
"icon"
viewBox=
"0 0 1024 1024"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
p-id=
"3752"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
width=
"200"
height=
"200"
><defs><style
type=
"text/css"
></style></defs><path
d=
"M942 191.9C939.8 128.9 748.1 78 512 78S84.2 128.9 82 191.9V831c0 63.5 192.5 115 430 115s430-51.5 430-115V191.9z m-56.7 393.8c-4.6 3.3-11.6 7.4-21.9 12.2-21.3 9.8-50.5 19.1-84.4 26.8-74 16.8-168.8 26-267 26s-193-9.2-267-26c-33.9-7.7-63.1-16.9-84.4-26.8-10.3-4.8-17.3-8.9-21.9-12.2 0.1-0.1 0.2-0.1 0.3-0.2h-7v-123c72.2 36.4 215.3 61.1 380 61.1s307.8-24.8 380-61.1v122.9h-7l0.3 0.3z m0-177c-4.6 3.3-11.6 7.4-21.9 12.2-21.3 9.8-50.5 19.1-84.4 26.8-74 16.8-168.8 26-267 26s-193-9.2-267-26c-33.9-7.7-63.1-16.9-84.4-26.8-10.3-4.8-17.3-8.9-21.9-12.2 0.1-0.1 0.2-0.1 0.3-0.2h-7V246.9c72.2 36.4 215.3 61.1 380 61.1s307.8-24.8 380-61.1v161.6h-7c0.1 0 0.2 0.1 0.3 0.2zM160.7 180.8C182 171 211.2 161.7 245 154c74-16.8 168.8-26 267-26s193 9.2 267 26c33.9 7.7 63.1 16.9 84.4 26.8 10.3 4.8 17.3 8.9 21.9 12.2-4.6 3.3-11.6 7.4-21.9 12.2C842 215 812.8 224.3 779 232c-74 16.8-168.8 26-267 26s-193-9.2-267-26c-33.9-7.7-63.1-16.9-84.4-26.8-10.3-4.8-17.3-8.9-21.9-12.2 4.7-3.3 11.7-7.4 22-12.2zM885.3 831c-4.6 3.3-11.6 7.4-21.9 12.2C842 853 812.8 862.3 779 870c-74 16.8-168.8 26-267 26s-193-9.2-267-26c-33.9-7.7-63.1-16.9-84.4-26.8-10.3-4.8-17.3-8.9-21.9-12.2 0.1-0.1 0.2-0.1 0.3-0.2h-7V639.5c72.2 36.4 215.3 61.1 380 61.1s307.8-24.8 380-61.1v191.3h-7c0.1 0.1 0.2 0.1 0.3 0.2z"
fill=
"#cdcdcd"
p-id=
"3753"
></path></svg>
\ No newline at end of file
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
t=
"1574649229600"
class=
"icon"
viewBox=
"0 0 1024 1024"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
p-id=
"3752"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
width=
"200"
height=
"200"
><defs><style
type=
"text/css"
></style></defs><path
d=
"M942 191.9C939.8 128.9 748.1 78 512 78S84.2 128.9 82 191.9V831c0 63.5 192.5 115 430 115s430-51.5 430-115V191.9z m-56.7 393.8c-4.6 3.3-11.6 7.4-21.9 12.2-21.3 9.8-50.5 19.1-84.4 26.8-74 16.8-168.8 26-267 26s-193-9.2-267-26c-33.9-7.7-63.1-16.9-84.4-26.8-10.3-4.8-17.3-8.9-21.9-12.2 0.1-0.1 0.2-0.1 0.3-0.2h-7v-123c72.2 36.4 215.3 61.1 380 61.1s307.8-24.8 380-61.1v122.9h-7l0.3 0.3z m0-177c-4.6 3.3-11.6 7.4-21.9 12.2-21.3 9.8-50.5 19.1-84.4 26.8-74 16.8-168.8 26-267 26s-193-9.2-267-26c-33.9-7.7-63.1-16.9-84.4-26.8-10.3-4.8-17.3-8.9-21.9-12.2 0.1-0.1 0.2-0.1 0.3-0.2h-7V246.9c72.2 36.4 215.3 61.1 380 61.1s307.8-24.8 380-61.1v161.6h-7c0.1 0 0.2 0.1 0.3 0.2zM160.7 180.8C182 171 211.2 161.7 245 154c74-16.8 168.8-26 267-26s193 9.2 267 26c33.9 7.7 63.1 16.9 84.4 26.8 10.3 4.8 17.3 8.9 21.9 12.2-4.6 3.3-11.6 7.4-21.9 12.2C842 215 812.8 224.3 779 232c-74 16.8-168.8 26-267 26s-193-9.2-267-26c-33.9-7.7-63.1-16.9-84.4-26.8-10.3-4.8-17.3-8.9-21.9-12.2 4.7-3.3 11.7-7.4 22-12.2zM885.3 831c-4.6 3.3-11.6 7.4-21.9 12.2C842 853 812.8 862.3 779 870c-74 16.8-168.8 26-267 26s-193-9.2-267-26c-33.9-7.7-63.1-16.9-84.4-26.8-10.3-4.8-17.3-8.9-21.9-12.2 0.1-0.1 0.2-0.1 0.3-0.2h-7V639.5c72.2 36.4 215.3 61.1 380 61.1s307.8-24.8 380-61.1v191.3h-7c0.1 0.1 0.2 0.1 0.3 0.2z"
p-id=
"3753"
></path></svg>
frontend/src/icons/svg/dept.svg
浏览文件 @
d6ca7a8b
<svg
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
width=
"200"
height=
"200"
class=
"icon"
p-id=
"1799"
t=
"1553478255619"
version=
"1.1"
viewBox=
"0 0 1024 1024"
><defs><style
type=
"text/css"
/></defs><path
fill=
"#bfbfbf"
d=
"M329.285097 317.714062l-8.422833 4.428869c-8.78099 4.584412-13.528108 14.84715-11.923564 24.415063 1.644453 4.909823 3.491521 9.864672 5.492084 14.747889 2.030239 4.854565 4.230348 9.652847 6.53688 14.293541 5.621021 7.891737 16.246009 11.824303 25.699312 8.858762l9.041934-2.868327c14.741749-3.860934 31.115672-0.056282 42.62582 11.512195 11.549034 11.526521 15.374152 27.863604 11.549034 42.570561l-2.882654 9.126868c-2.958378 9.438976 0.938372 20.042475 8.830109 25.706475 4.634554 2.328022 9.403161 4.52813 14.323217 6.529717 4.876054 2.043542 9.80839 3.846608 14.739702 5.478781 9.538237 1.603521 19.87363-3.123131 24.414039-11.910261l4.402263-8.388041c7.67889-13.144368 21.915126-22.002107 38.267559-22.002107 16.338107 0 30.547737 8.829086 38.255279 21.931498l4.41352 8.459672c4.584412 8.78713 14.84715 13.513782 24.414039 11.910261 4.91187-1.632173 9.851369-3.462868 14.734586-5.478781 4.882194-2.030239 9.66615-4.201695 14.322194-6.529717 7.891737-5.622044 11.809977-16.253172 8.843412-25.706475l-2.852978-9.041934c-3.859911-14.733563-0.069585-31.085996 11.484565-42.655496 11.55415-11.525498 27.878954-15.372106 42.599214-11.512195l9.097192 2.88163c9.426697 2.952238 20.044522-0.937348 25.693172-8.829086 2.313695-4.656043 4.527107-9.411347 6.54302-14.322194 2.029216-4.883217 3.847631-9.80839 5.495154-14.748912 1.616824-9.581216-3.108804-19.843954-11.911284-24.429389l-8.402367-4.400217c-13.132088-7.665587-21.98778-21.901823-21.98778-38.255279 0-16.32378 8.830109-30.589692 21.974477-38.268582l8.416693-4.443196c8.80248-4.571109 13.528108-14.832823 11.924587-24.400736-1.6465-4.910846-3.479241-9.850345-5.493108-14.733563-2.031263-4.868891-4.202719-9.680477-6.529717-14.308891-5.622044-7.890714-16.253172-11.82328-25.708522-8.842389l-9.05626 2.852978c-14.747889 3.861958-31.071669 0.057305-42.654472-11.512195-11.55415-11.55415-15.344476-27.877931-11.484565-42.612517l2.852978-9.05626c2.966565-9.44-0.951675-20.043499-8.856715-25.692149-4.641717-2.328022-9.397021-4.542456-14.307867-6.544043-4.883217-2.029216-9.82374-3.846608-14.734586-5.465478-9.567913-1.632173-19.872606 3.123131-24.414039 11.895935l-4.400217 8.389064c-7.67889 13.174044-21.931498 22.002107-38.268582 22.002107-16.309454 0-30.576389-8.828063-38.267559-22.002107l-4.387937-8.389064c-4.554736-8.771781-14.8318-13.528108-24.405853-11.895935-4.954849 1.604544-9.873882 3.435239-14.763239 5.4225-4.883217 2.044566-9.688663 4.217045-14.323217 6.545066-7.891737 5.649674-11.808954 16.266475-8.830109 25.735128l2.826372 9.05626c3.882424 14.762215 0.057305 31.085996-11.491729 42.612517-11.510148 11.5695-27.849278 15.373129-42.611493 11.526521l-9.070586-2.867304c-9.44-2.980891-20.063965 0.951675-25.686009 8.842389-2.342348 4.628414-4.52813 9.44-6.53688 14.308891-2.036379 4.882194-3.847631 9.822716-5.492084 14.733563-1.603521 9.581216 3.142573 19.85828 11.923564 24.443715l8.402367 4.400217c13.156648 7.67889 21.986757 21.944801 21.986757 38.268582C351.251388 295.79689 342.421278 310.019823 329.285097 317.714062zM511.977999 171.706687c59.532885 0 107.795075 48.275493 107.795075 107.779725 0 59.490929-48.26219 107.752096-107.795075 107.752096-59.533908 0-107.752096-48.26219-107.752096-107.752096C404.226926 219.98218 452.445114 171.706687 511.977999 171.706687z"
p-id=
"1800"
/><path
fill=
"#bfbfbf"
d=
"M924.647713 689.174212 798.570249 689.174212 798.570249 581.650313c0-26.387997-21.476127-47.850821-47.864124-47.850821L276.2543 533.799492c-26.386974 0-47.851844 21.462824-47.851844 47.850821l0 107.523899L99.345124 689.174212c-20.419052 0-36.95568 16.550954-36.95568 36.948517l0 184.771237c0 20.399609 16.536628 36.962843 36.95568 36.962843l273.965675 0c20.397562 0 36.947494-16.564257 36.947494-36.962843L410.258293 726.122729c0-20.398586-16.550954-36.948517-36.947494-36.948517l-123.103736 0L250.207064 581.650313c0-14.366196 11.68104-26.047236 26.047236-26.047236l474.451826 0c14.364149 0 26.062586 11.68104 26.062586 26.047236l0 107.523899L650.689201 689.174212c-20.412912 0-36.962843 16.550954-36.962843 36.948517l0 184.771237c0 20.399609 16.549931 36.962843 36.962843 36.962843l273.958512 0c20.397562 0 36.96182-16.564257 36.96182-36.962843L961.609533 726.122729C961.609533 705.725166 945.044252 689.174212 924.647713 689.174212z"
p-id=
"1801"
/></svg>
\ No newline at end of file
<svg
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
width=
"200"
height=
"200"
class=
"icon"
p-id=
"1799"
t=
"1553478255619"
version=
"1.1"
viewBox=
"0 0 1024 1024"
><defs><style
type=
"text/css"
/></defs><path
d=
"M329.285097 317.714062l-8.422833 4.428869c-8.78099 4.584412-13.528108 14.84715-11.923564 24.415063 1.644453 4.909823 3.491521 9.864672 5.492084 14.747889 2.030239 4.854565 4.230348 9.652847 6.53688 14.293541 5.621021 7.891737 16.246009 11.824303 25.699312 8.858762l9.041934-2.868327c14.741749-3.860934 31.115672-0.056282 42.62582 11.512195 11.549034 11.526521 15.374152 27.863604 11.549034 42.570561l-2.882654 9.126868c-2.958378 9.438976 0.938372 20.042475 8.830109 25.706475 4.634554 2.328022 9.403161 4.52813 14.323217 6.529717 4.876054 2.043542 9.80839 3.846608 14.739702 5.478781 9.538237 1.603521 19.87363-3.123131 24.414039-11.910261l4.402263-8.388041c7.67889-13.144368 21.915126-22.002107 38.267559-22.002107 16.338107 0 30.547737 8.829086 38.255279 21.931498l4.41352 8.459672c4.584412 8.78713 14.84715 13.513782 24.414039 11.910261 4.91187-1.632173 9.851369-3.462868 14.734586-5.478781 4.882194-2.030239 9.66615-4.201695 14.322194-6.529717 7.891737-5.622044 11.809977-16.253172 8.843412-25.706475l-2.852978-9.041934c-3.859911-14.733563-0.069585-31.085996 11.484565-42.655496 11.55415-11.525498 27.878954-15.372106 42.599214-11.512195l9.097192 2.88163c9.426697 2.952238 20.044522-0.937348 25.693172-8.829086 2.313695-4.656043 4.527107-9.411347 6.54302-14.322194 2.029216-4.883217 3.847631-9.80839 5.495154-14.748912 1.616824-9.581216-3.108804-19.843954-11.911284-24.429389l-8.402367-4.400217c-13.132088-7.665587-21.98778-21.901823-21.98778-38.255279 0-16.32378 8.830109-30.589692 21.974477-38.268582l8.416693-4.443196c8.80248-4.571109 13.528108-14.832823 11.924587-24.400736-1.6465-4.910846-3.479241-9.850345-5.493108-14.733563-2.031263-4.868891-4.202719-9.680477-6.529717-14.308891-5.622044-7.890714-16.253172-11.82328-25.708522-8.842389l-9.05626 2.852978c-14.747889 3.861958-31.071669 0.057305-42.654472-11.512195-11.55415-11.55415-15.344476-27.877931-11.484565-42.612517l2.852978-9.05626c2.966565-9.44-0.951675-20.043499-8.856715-25.692149-4.641717-2.328022-9.397021-4.542456-14.307867-6.544043-4.883217-2.029216-9.82374-3.846608-14.734586-5.465478-9.567913-1.632173-19.872606 3.123131-24.414039 11.895935l-4.400217 8.389064c-7.67889 13.174044-21.931498 22.002107-38.268582 22.002107-16.309454 0-30.576389-8.828063-38.267559-22.002107l-4.387937-8.389064c-4.554736-8.771781-14.8318-13.528108-24.405853-11.895935-4.954849 1.604544-9.873882 3.435239-14.763239 5.4225-4.883217 2.044566-9.688663 4.217045-14.323217 6.545066-7.891737 5.649674-11.808954 16.266475-8.830109 25.735128l2.826372 9.05626c3.882424 14.762215 0.057305 31.085996-11.491729 42.612517-11.510148 11.5695-27.849278 15.373129-42.611493 11.526521l-9.070586-2.867304c-9.44-2.980891-20.063965 0.951675-25.686009 8.842389-2.342348 4.628414-4.52813 9.44-6.53688 14.308891-2.036379 4.882194-3.847631 9.822716-5.492084 14.733563-1.603521 9.581216 3.142573 19.85828 11.923564 24.443715l8.402367 4.400217c13.156648 7.67889 21.986757 21.944801 21.986757 38.268582C351.251388 295.79689 342.421278 310.019823 329.285097 317.714062zM511.977999 171.706687c59.532885 0 107.795075 48.275493 107.795075 107.779725 0 59.490929-48.26219 107.752096-107.795075 107.752096-59.533908 0-107.752096-48.26219-107.752096-107.752096C404.226926 219.98218 452.445114 171.706687 511.977999 171.706687z"
p-id=
"1800"
/><path
d=
"M924.647713 689.174212 798.570249 689.174212 798.570249 581.650313c0-26.387997-21.476127-47.850821-47.864124-47.850821L276.2543 533.799492c-26.386974 0-47.851844 21.462824-47.851844 47.850821l0 107.523899L99.345124 689.174212c-20.419052 0-36.95568 16.550954-36.95568 36.948517l0 184.771237c0 20.399609 16.536628 36.962843 36.95568 36.962843l273.965675 0c20.397562 0 36.947494-16.564257 36.947494-36.962843L410.258293 726.122729c0-20.398586-16.550954-36.948517-36.947494-36.948517l-123.103736 0L250.207064 581.650313c0-14.366196 11.68104-26.047236 26.047236-26.047236l474.451826 0c14.364149 0 26.062586 11.68104 26.062586 26.047236l0 107.523899L650.689201 689.174212c-20.412912 0-36.962843 16.550954-36.962843 36.948517l0 184.771237c0 20.399609 16.549931 36.962843 36.962843 36.962843l273.958512 0c20.397562 0 36.96182-16.564257 36.96182-36.962843L961.609533 726.122729C961.609533 705.725166 945.044252 689.174212 924.647713 689.174212z"
p-id=
"1801"
/></svg>
frontend/src/icons/svg/sys-tools.svg
浏览文件 @
d6ca7a8b
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
t=
"1574576079728"
class=
"icon"
viewBox=
"0 0 1024 1024"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
p-id=
"6611"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
width=
"200"
height=
"200"
><defs><style
type=
"text/css"
></style></defs><path
d=
"M981.917808 277.742466H813.589041V122.038356c0-19.638356-15.430137-35.068493-35.068493-35.068493H252.493151c-19.638356 0-35.068493 15.430137-35.068493 35.068493v155.70411H42.082192c-19.638356 0-35.068493 15.430137-35.068493 35.068493V911.780822c0 19.638356 15.430137 35.068493 35.068493 35.068493h939.835616c19.638356 0 35.068493-15.430137 35.068493-35.068493V312.810959c0-19.638356-15.430137-35.068493-35.068493-35.068493z m-694.356164-120.635617H743.452055v120.635617H287.561644v-120.635617zM252.493151 347.879452h694.356164v133.260274h-74.345205v-50.49863c0-19.638356-15.430137-35.068493-35.068494-35.068493h-117.830137c-19.638356 0-35.068493 15.430137-35.068493 35.068493v50.49863h-336.657534v-50.49863c0-19.638356-15.430137-35.068493-35.068493-35.068493h-117.830137c-19.638356 0-35.068493 15.430137-35.068493 35.068493v50.49863H77.150685v-133.260274H252.493151z m549.873972 119.232877v140.273972h-47.69315v-140.273972h47.69315z m-526.027397 0v140.273972h-47.693151v-140.273972h47.693151zM77.150685 876.712329V551.276712h81.358904v89.775343c0 19.638356 15.430137 35.068493 35.068493 35.068493h117.830137c19.638356 0 35.068493-15.430137 35.068493-35.068493v-89.775343h336.657535v89.775343c0 19.638356 15.430137 35.068493 35.068493 35.068493h117.830137c19.638356 0 35.068493-15.430137 35.068493-35.068493v-89.775343h74.345205v324.032877H77.150685z"
p-id=
"6612"
fill=
"#bfbfbf"
></path></svg>
\ No newline at end of file
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
t=
"1574576079728"
class=
"icon"
viewBox=
"0 0 1024 1024"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
p-id=
"6611"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
width=
"200"
height=
"200"
><defs><style
type=
"text/css"
></style></defs><path
d=
"M981.917808 277.742466H813.589041V122.038356c0-19.638356-15.430137-35.068493-35.068493-35.068493H252.493151c-19.638356 0-35.068493 15.430137-35.068493 35.068493v155.70411H42.082192c-19.638356 0-35.068493 15.430137-35.068493 35.068493V911.780822c0 19.638356 15.430137 35.068493 35.068493 35.068493h939.835616c19.638356 0 35.068493-15.430137 35.068493-35.068493V312.810959c0-19.638356-15.430137-35.068493-35.068493-35.068493z m-694.356164-120.635617H743.452055v120.635617H287.561644v-120.635617zM252.493151 347.879452h694.356164v133.260274h-74.345205v-50.49863c0-19.638356-15.430137-35.068493-35.068494-35.068493h-117.830137c-19.638356 0-35.068493 15.430137-35.068493 35.068493v50.49863h-336.657534v-50.49863c0-19.638356-15.430137-35.068493-35.068493-35.068493h-117.830137c-19.638356 0-35.068493 15.430137-35.068493 35.068493v50.49863H77.150685v-133.260274H252.493151z m549.873972 119.232877v140.273972h-47.69315v-140.273972h47.69315z m-526.027397 0v140.273972h-47.693151v-140.273972h47.693151zM77.150685 876.712329V551.276712h81.358904v89.775343c0 19.638356 15.430137 35.068493 35.068493 35.068493h117.830137c19.638356 0 35.068493-15.430137 35.068493-35.068493v-89.775343h336.657535v89.775343c0 19.638356 15.430137 35.068493 35.068493 35.068493h117.830137c19.638356 0 35.068493-15.430137 35.068493-35.068493v-89.775343h74.345205v324.032877H77.150685z"
p-id=
"6612"
></path></svg>
frontend/src/lang/zh.js
浏览文件 @
d6ca7a8b
...
...
@@ -74,7 +74,7 @@ export default {
},
login
:
{
title
:
'系统登录'
,
welcome
:
'欢迎使用D
ATAEASE
'
,
welcome
:
'欢迎使用D
ataEase
'
,
logIn
:
'登录'
,
username
:
'账号'
,
password
:
'密码'
,
...
...
frontend/src/layout/components/Topbar.vue
浏览文件 @
d6ca7a8b
<
template
>
<div
class=
"top-nav"
:style=
"
{'background-color': theme}">
<div
class=
"log"
>
DATA_EASE
</div>
<div
class=
"log"
>
<img
src=
"@/assets/DataEase-white.png"
width=
"160"
alt=
""
style=
"padding-top: 8px;"
>
</div>
<el-menu
:active-text-color=
"variables.topMenuActiveText"
:default-active=
"activeMenu"
...
...
frontend/src/settings.js
浏览文件 @
d6ca7a8b
...
...
@@ -2,7 +2,7 @@ module.exports = {
TokenKey
:
'Authorization'
,
RefreshTokenKey
:
'refreshauthorization'
,
LinkTokenKey
:
'LINK-PWD-TOKEN'
,
title
:
'D
ATA_EASE
'
,
title
:
'D
ataEase
'
,
/**
* @type {boolean} true | false
...
...
frontend/src/styles/topbar.scss
浏览文件 @
d6ca7a8b
...
...
@@ -10,8 +10,9 @@
overflow
:
hidden
;
.log
{
padding
:
0
20
px
;
padding
:
0
16
px
;
line-height
:
56px
;
height
:
56px
;
font-size
:
24px
;
font-weight
:
bold
;
// color: rgb(191, 203, 217);
...
...
@@ -37,7 +38,7 @@
background-color
:
$subMenuHover
!
important
;
color
:
$subMenuActiveText
!
important
;
}
}
.is-active
{
background-color
:
$subMenuHover
!
important
;
...
...
frontend/src/styles/variables.scss
浏览文件 @
d6ca7a8b
...
...
@@ -4,7 +4,7 @@
**/
/* theme color */
$--color-primary
:
#
1890ff
;
$--color-primary
:
#
f1a826
;
$--color-success
:
#13ce66
;
$--color-warning
:
#ffba00
;
$--color-danger
:
#ff4949
;
...
...
@@ -27,7 +27,7 @@ $--font-path: "~element-ui/lib/theme-chalk/fonts";
// sidebar
$menuText
:
rgba
(
255
,
255
,
255
,
0
.87
);
$menuActiveText
:
#
409EFF
;
$menuActiveText
:
#
f18126
;
$topMenuActiveText
:
#f4f4f5
;
$subMenuActiveText
:
#f4f4f5
;
//https://github.com/ElemeFE/element/issues/12951
...
...
@@ -38,7 +38,7 @@ $menuHover: rgba(158, 158, 158, 0.2);
$subMenuBg
:
#1f2d3d
;
// $subMenuHover:#001528;
$subMenuHover
:
#
1682e
6
;
$subMenuHover
:
#
f1812
6
;
$sideBarWidth
:
210px
;
$topBarHeight
:
56px
;
...
...
frontend/src/views/chart/view/ChartEdit.vue
浏览文件 @
d6ca7a8b
...
...
@@ -662,9 +662,9 @@ export default {
}
.item
:hover
{
color
:
#
1890ff
;
background
:
#
e8f4f
f
;
border-color
:
#
a3d3ff
;
color
:
#
f1a826
;
background
:
#
fffce
f
;
border-color
:
#
f3c13c
;
cursor
:
pointer
;
}
...
...
frontend/src/views/dataset/add/AddExcel.vue
浏览文件 @
d6ca7a8b
...
...
@@ -9,7 +9,7 @@
<el-button
size=
"mini"
@
click=
"cancel"
>
{{
$t
(
'dataset.cancel'
)
}}
</el-button>
<el-button
:disabled=
"!
form.
name || fileList.length === 0"
size=
"mini"
type=
"primary"
@
click=
"save"
>
<el-button
:disabled=
"!name || fileList.length === 0"
size=
"mini"
type=
"primary"
@
click=
"save"
>
{{
$t
(
'dataset.confirm'
)
}}
</el-button>
</el-row>
...
...
@@ -18,9 +18,9 @@
<el-row>
<el-row>
<el-col
style=
"width: 500px;"
>
<el-form
:
model=
"form"
:
inline=
"true"
size=
"mini"
class=
"row-style"
>
<el-form
:inline=
"true"
size=
"mini"
class=
"row-style"
>
<el-form-item>
<el-input
v-model=
"
form.
name"
:placeholder=
"$t('commons.name')"
/>
<el-input
v-model=
"name"
:placeholder=
"$t('commons.name')"
/>
</el-form-item>
<el-form-item>
<el-upload
...
...
@@ -88,16 +88,15 @@ export default {
},
data
()
{
return
{
form
:
{
name
:
''
},
name
:
''
,
fields
:
[],
data
:
[],
mode
:
'1'
,
height
:
600
,
fileList
:
[],
headers
:
{
Authorization
:
token
},
baseUrl
:
process
.
env
.
VUE_APP_BASE_API
baseUrl
:
process
.
env
.
VUE_APP_BASE_API
,
path
:
''
}
},
watch
:
{
...
...
@@ -130,17 +129,17 @@ export default {
// })
// },
uploadSuccess
(
response
,
file
,
fileList
)
{
console
.
log
(
response
)
console
.
log
(
file
)
console
.
log
(
fileList
)
//
console.log(response)
//
console.log(file)
//
console.log(fileList)
this
.
path
=
response
.
data
.
path
this
.
fields
=
response
.
data
.
fields
this
.
data
=
response
.
data
.
data
const
datas
=
this
.
data
this
.
$refs
.
plxTable
.
reloadData
(
datas
)
if
(
file
.
name
.
lastIndexOf
(
'.'
)
>
0
)
{
this
.
form
.
name
=
file
.
name
.
substring
(
0
,
file
.
name
.
lastIndexOf
(
'.'
))
this
.
name
=
file
.
name
.
substring
(
0
,
file
.
name
.
lastIndexOf
(
'.'
))
}
this
.
fileList
=
fileList
},
...
...
@@ -148,20 +147,16 @@ export default {
save
()
{
// console.log(this.checkTableList);
// console.log(this.scene);
const
sceneId
=
this
.
param
.
id
const
dataSourceId
=
this
.
dataSource
const
tables
=
[]
const
mode
=
this
.
mode
this
.
checkTableList
.
forEach
(
function
(
name
)
{
tables
.
push
({
name
:
name
,
sceneId
:
sceneId
,
dataSourceId
:
dataSourceId
,
type
:
'excel'
,
mode
:
parseInt
(
mode
)
})
})
post
(
'/dataset/table/batchAdd'
,
tables
).
then
(
response
=>
{
const
table
=
{
id
:
this
.
param
.
tableId
,
name
:
this
.
name
,
sceneId
:
this
.
param
.
id
,
dataSourceId
:
null
,
type
:
'excel'
,
mode
:
parseInt
(
this
.
mode
),
info
:
'{"data":"'
+
this
.
path
+
'"}'
}
post
(
'/dataset/table/update'
,
table
).
then
(
response
=>
{
this
.
$store
.
dispatch
(
'dataset/setSceneData'
,
new
Date
().
getTime
())
this
.
cancel
()
})
...
...
frontend/src/views/dataset/common/DatasetGroupSelector.vue
浏览文件 @
d6ca7a8b
...
...
@@ -89,7 +89,7 @@
<svg-icon
v-if=
"data.type === 'excel'"
icon-class=
"ds-excel"
class=
"ds-icon-excel"
/>
<svg-icon
v-if=
"data.type === 'custom'"
icon-class=
"ds-custom"
class=
"ds-icon-custom"
/>
</span>
<span>
<span
v-if=
"data.type === 'db' || data.type === 'sql'"
>
<span
v-if=
"data.mode === 0"
style=
"margin-left: 6px"
><i
class=
"el-icon-s-operation"
/></span>
<span
v-if=
"data.mode === 1"
style=
"margin-left: 6px"
><i
class=
"el-icon-alarm-clock"
/></span>
</span>
...
...
frontend/src/views/dataset/data/UpdateInfo.vue
浏览文件 @
d6ca7a8b
...
...
@@ -138,9 +138,9 @@
</div>
</el-dialog>
<el-row>
<
el-button
icon=
"el-icon-download"
size=
"mini"
>
{{ $t('dataset.sync_now') }}
<
/el-button
>
<
!-- <el-button icon="el-icon-download" size="mini">--
>
<!-- {{ $t('dataset.sync_now') }}-->
<
!-- </el-button>--
>
<el-button
icon=
"el-icon-plus"
size=
"mini"
@
click=
"addTask(undefined)"
>
{{ $t('dataset.add_task') }}
</el-button>
...
...
frontend/src/views/dataset/data/ViewTable.vue
浏览文件 @
d6ca7a8b
...
...
@@ -36,7 +36,7 @@
<el-tab-pane
:label=
"$t('dataset.join_view')"
name=
"joinView"
>
关联视图 TODO
</el-tab-pane>
<el-tab-pane
v-if=
"table.mode === 1"
:label=
"$t('dataset.update_info')"
name=
"updateInfo"
>
<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"
/>
</el-tab-pane>
</el-tabs>
...
...
frontend/src/views/dataset/group/Group.vue
浏览文件 @
d6ca7a8b
...
...
@@ -186,7 +186,7 @@
<svg-icon
v-if=
"data.type === 'excel'"
icon-class=
"ds-excel"
class=
"ds-icon-excel"
/>
<svg-icon
v-if=
"data.type === 'custom'"
icon-class=
"ds-custom"
class=
"ds-icon-custom"
/>
</span>
<span>
<span
v-if=
"data.type === 'db' || data.type === 'sql'"
>
<span
v-if=
"data.mode === 0"
style=
"margin-left: 6px"
><i
class=
"el-icon-s-operation"
/></span>
<span
v-if=
"data.mode === 1"
style=
"margin-left: 6px"
><i
class=
"el-icon-alarm-clock"
/></span>
</span>
...
...
frontend/src/views/login/index.vue
浏览文件 @
d6ca7a8b
...
...
@@ -5,7 +5,7 @@
<el-col
:span=
"12"
>
<el-form
ref=
"loginForm"
:model=
"loginForm"
:rules=
"loginRules"
size=
"default"
>
<div
class=
"login-logo"
>
<img
src=
"@/assets/
RackShift
-black.png"
alt=
""
>
<img
src=
"@/assets/
DataEase
-black.png"
alt=
""
>
</div>
<div
class=
"login-title"
>
{{
$t
(
'login.title'
)
}}
...
...
frontend/src/views/panel/GrantAuth/shareTree.vue
浏览文件 @
d6ca7a8b
...
...
@@ -19,6 +19,8 @@
<
script
>
import
{
loadTree
}
from
'@/api/panel/share'
import
{
uuid
}
from
'vue-uuid'
import
{
get
}
from
'@/api/panel/panel'
export
default
{
name
:
'ShareTree'
,
data
()
{
...
...
@@ -41,7 +43,19 @@ export default {
})
},
handleNodeClick
(
data
)
{
console
.
log
(
data
)
get
(
'panel/group/findOne/'
+
data
.
id
).
then
(
response
=>
{
this
.
$store
.
commit
(
'setComponentData'
,
this
.
resetID
(
JSON
.
parse
(
response
.
data
.
panelData
)))
this
.
$store
.
commit
(
'setCanvasStyle'
,
JSON
.
parse
(
response
.
data
.
panelStyle
))
this
.
$store
.
dispatch
(
'panel/setPanelInfo'
,
data
)
})
},
resetID
(
data
)
{
data
.
forEach
(
item
=>
{
item
.
id
=
uuid
.
v1
()
})
return
data
}
}
}
...
...
frontend/src/views/panel/enshrine/index.vue
0 → 100644
浏览文件 @
d6ca7a8b
<
template
>
<div>
<el-table
class=
"de-filter-data-table"
:data=
"starDatas"
:show-header=
"false"
:highlight-current-row=
"true"
style=
"width: 100%"
>
<el-table-column
prop=
"name"
label=
"名称"
>
<template
:id=
"scope.row.storeId"
slot-scope=
"scope"
>
<div
class=
"start-item"
>
<div
class=
"filter-db-row star-item-content"
@
click=
"showPanel(scope.row)"
>
<i
class=
"el-icon-s-data"
/>
<span>
{{
scope
.
row
.
name
}}
</span>
</div>
<div
class=
"star-item-close"
>
<i
class=
"el-icon-close "
@
click=
"remove(scope.row)"
/>
</div>
</div>
</
template
>
</el-table-column>
</el-table>
</div>
</template>
<
script
>
import
{
deleteEnshrine
,
enshrineList
}
from
'@/api/panel/enshrine'
import
{
uuid
}
from
'vue-uuid'
import
{
get
}
from
'@/api/panel/panel'
export
default
{
name
:
'Enshrine'
,
data
()
{
return
{
starDatas
:
[]
}
},
created
()
{
this
.
initData
()
},
methods
:
{
showPanel
(
row
)
{
get
(
'panel/group/findOne/'
+
row
.
panelGroupId
).
then
(
response
=>
{
this
.
$store
.
commit
(
'setComponentData'
,
this
.
resetID
(
JSON
.
parse
(
response
.
data
.
panelData
)))
this
.
$store
.
commit
(
'setCanvasStyle'
,
JSON
.
parse
(
response
.
data
.
panelStyle
))
const
data
=
{
id
:
row
.
panelGroupId
,
name
:
row
.
name
}
this
.
$store
.
dispatch
(
'panel/setPanelInfo'
,
data
)
})
},
resetID
(
data
)
{
data
.
forEach
(
item
=>
{
item
.
id
=
uuid
.
v1
()
})
return
data
},
remove
(
row
)
{
deleteEnshrine
(
row
.
storeId
).
then
(
res
=>
{
this
.
initData
()
})
},
initData
()
{
enshrineList
({}).
then
(
res
=>
{
this
.
starDatas
=
res
.
data
})
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.start-item
{
width
:
100%
;
height
:
25px
;
margin
:
0
0
0
10px
;
}
.star-item-content
{
width
:
calc
(
100%
-
60px
);
position
:
absolute
;
}
.star-item-close
{
width
:
25px
;
right
:
5px
;
position
:
absolute
;
display
:
none
;
}
.start-item
:hover
{
.star-item-close
{
display
:
block
;
}
}
</
style
>
frontend/src/views/panel/list/PanelMain.vue
浏览文件 @
d6ca7a8b
...
...
@@ -6,9 +6,9 @@
<span
slot=
"label"
><i
class=
"el-icon-document"
/>
列表
</span>
<panel-list
/>
</el-tab-pane>
<el-tab-pane
name=
"panels_star"
>
<el-tab-pane
name=
"panels_star"
:lazy=
"true"
>
<span
slot=
"label"
><i
class=
"el-icon-star-off"
/>
收藏
</span>
开发中...
<enshrine
v-if=
"showEnshrine"
/>
</el-tab-pane>
<el-tab-pane
name=
"panels_share"
:lazy=
"true"
>
<span
slot=
"label"
><i
class=
"el-icon-share"
/>
分享
</span>
...
...
@@ -29,14 +29,16 @@ import DeAsideContainer from '@/components/dataease/DeAsideContainer'
import
PanelList
from
'../list/PanelList'
import
PanelViewShow
from
'../list/PanelViewShow'
import
ShareTree
from
'../GrantAuth/shareTree'
import
Enshrine
from
'../enshrine/index'
export
default
{
name
:
'PanelMain'
,
components
:
{
DeMainContainer
,
DeContainer
,
DeAsideContainer
,
PanelList
,
PanelViewShow
,
ShareTree
},
components
:
{
DeMainContainer
,
DeContainer
,
DeAsideContainer
,
PanelList
,
PanelViewShow
,
ShareTree
,
Enshrine
},
data
()
{
return
{
activeName
:
'PanelList'
,
showShare
:
false
showShare
:
false
,
showEnshrine
:
false
}
},
methods
:
{
...
...
@@ -45,10 +47,17 @@ export default {
if
(
tab
.
name
===
'panels_share'
)
{
this
.
refreshShare
()
}
if
(
tab
.
name
===
'panels_star'
)
{
this
.
refreshEnshrine
()
}
},
refreshShare
()
{
this
.
showShare
=
false
this
.
$nextTick
(()
=>
(
this
.
showShare
=
true
))
},
refreshEnshrine
()
{
this
.
showEnshrine
=
false
this
.
$nextTick
(()
=>
(
this
.
showEnshrine
=
true
))
}
}
}
...
...
frontend/src/views/panel/list/PanelViewShow.vue
浏览文件 @
d6ca7a8b
...
...
@@ -19,6 +19,18 @@
<el-button
class=
"el-icon-view"
size=
"mini"
circle
@
click=
"clickPreview"
/>
</el-tooltip>
</span>
<span
v-if=
"!hasStar && panelInfo"
style=
"float: right;margin-right: 10px"
>
<el-tooltip
content=
"收藏"
>
<el-button
class=
"el-icon-star-off"
size=
"mini"
circle
@
click=
"star"
/>
</el-tooltip>
</span>
<span
v-if=
"hasStar && panelInfo"
style=
"float: right;margin-right: 10px"
>
<el-tooltip
content=
"取消"
>
<el-button
class=
"el-icon-star-on"
size=
"mini"
circle
@
click=
"unstar"
/>
</el-tooltip>
</span>
</el-row>
<!--TODO 仪表盘预览区域-->
<el-row
class=
"panel-design-preview"
>
...
...
@@ -48,7 +60,7 @@ import SaveToTemplate from '@/views/panel/list/SaveToTemplate'
import
{
mapState
}
from
'vuex'
import
html2canvas
from
'html2canvas'
import
FileSaver
from
'file-saver'
import
{
enshrineList
,
saveEnshrine
,
deleteEnshrine
}
from
'@/api/panel/enshrine'
export
default
{
name
:
'PanelViewShow'
,
components
:
{
Preview
,
SaveToTemplate
},
...
...
@@ -57,7 +69,8 @@ export default {
showMain
:
true
,
templateInfo
:
''
,
templateSaveTitle
:
'保存为模板'
,
templateSaveShow
:
false
templateSaveShow
:
false
,
hasStar
:
false
}
},
computed
:
{
...
...
@@ -73,7 +86,10 @@ export default {
panelInfo
(
newVal
,
oldVla
)
{
// 刷新 进行重新渲染
this
.
showMain
=
false
this
.
$nextTick
(()
=>
{
this
.
showMain
=
true
})
this
.
$nextTick
(()
=>
{
this
.
showMain
=
true
this
.
initHasStar
()
})
}
},
mounted
()
{
...
...
@@ -138,6 +154,22 @@ export default {
},
closeSaveDialog
()
{
this
.
templateSaveShow
=
false
},
star
()
{
this
.
panelInfo
&&
saveEnshrine
(
this
.
panelInfo
.
id
).
then
(
res
=>
{
this
.
hasStar
=
true
})
},
unstar
()
{
this
.
panelInfo
&&
deleteEnshrine
(
this
.
panelInfo
.
id
).
then
(
res
=>
{
this
.
hasStar
=
false
})
},
initHasStar
()
{
const
param
=
{}
enshrineList
(
param
).
then
(
res
=>
{
this
.
hasStar
=
res
.
data
&&
res
.
data
.
some
(
item
=>
item
.
panelGroupId
===
this
.
panelInfo
.
id
)
})
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论