Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
dataease
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
njgzx
dataease
Commits
71557bfe
提交
71557bfe
authored
3月 25, 2022
作者:
taojinlong
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'dev' into pr@dev@cluster
上级
e2d088a5
9bcf1980
隐藏空白字符变更
内嵌
并排
正在显示
25 个修改的文件
包含
326 行增加
和
49 行删除
+326
-49
ExtChartViewMapper.xml
...n/java/io/dataease/base/mapper/ext/ExtChartViewMapper.xml
+2
-0
SSOServer.java
...d/src/main/java/io/dataease/plugins/server/SSOServer.java
+3
-1
EsQueryProvider.java
...n/java/io/dataease/provider/query/es/EsQueryProvider.java
+40
-8
V33__1.9.sql
backend/src/main/resources/db/migration/V33__1.9.sql
+2
-0
index.vue
frontend/src/components/AsyncSoltComponent/index.vue
+76
-0
index.vue
frontend/src/components/DeDrag/index.vue
+1
-4
shadow.vue
frontend/src/components/DeDrag/shadow.vue
+0
-1
EditBar.vue
frontend/src/components/canvas/components/Editor/EditBar.vue
+5
-2
PreviewEject.vue
.../src/components/canvas/components/Editor/PreviewEject.vue
+0
-1
SettingMenu.vue
...d/src/components/canvas/components/Editor/SettingMenu.vue
+0
-1
SettingMenuTest.vue
...c/components/canvas/components/Editor/SettingMenuTest.vue
+0
-1
index.vue
frontend/src/components/canvas/components/Editor/index.vue
+0
-1
TextAttr.vue
frontend/src/components/canvas/components/TextAttr.vue
+20
-3
DeTabs.vue
frontend/src/components/widget/DeWidget/DeTabs.vue
+40
-7
TabStyle.vue
frontend/src/components/widget/DeWidget/TabStyle.vue
+97
-0
en.js
frontend/src/lang/en.js
+1
-0
tw.js
frontend/src/lang/tw.js
+1
-0
zh.js
frontend/src/lang/zh.js
+1
-0
index.scss
frontend/src/styles/index.scss
+21
-4
StringUtils.js
frontend/src/utils/StringUtils.js
+11
-0
ChartEdit.vue
frontend/src/views/chart/view/ChartEdit.vue
+0
-2
index.vue
frontend/src/views/link/generate/index.vue
+2
-8
index.vue
frontend/src/views/login/index.vue
+3
-2
index.vue
frontend/src/views/panel/OuterParamsSet/index.vue
+0
-2
index.vue
frontend/src/views/panel/edit/index.vue
+0
-1
没有找到文件。
backend/src/main/java/io/dataease/base/mapper/ext/ExtChartViewMapper.xml
浏览文件 @
71557bfe
...
...
@@ -183,6 +183,7 @@
`result_count`,
`result_mode`,
`chart_type`,
`is_plugin`,
`senior`,
`data_from`)
SELECT #{newChartId},
...
...
@@ -210,6 +211,7 @@
`result_count`,
`result_mode`,
'private',
`is_plugin`,
`senior`,
`data_from`
FROM chart_view_cache
...
...
backend/src/main/java/io/dataease/plugins/server/SSOServer.java
浏览文件 @
71557bfe
...
...
@@ -2,6 +2,7 @@ package io.dataease.plugins.server;
import
java.io.UnsupportedEncodingException
;
import
java.net.URLEncoder
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
...
...
@@ -113,7 +114,8 @@ public class SSOServer {
}
private
Map
<
String
,
String
>
config
(
OidcXpackService
oidcXpackService
)
{
List
<
SysSettingDto
>
sysSettingDtos
=
oidcXpackService
.
oidcSettings
();
Map
<
String
,
String
>
config
=
sysSettingDtos
.
stream
().
collect
(
Collectors
.
toMap
(
SysSettingDto:
:
getParamKey
,
SysSettingDto:
:
getParamValue
));
Map
<
String
,
String
>
config
=
sysSettingDtos
.
stream
().
collect
(
HashMap:
:
new
,(
m
,
v
)->
m
.
put
(
v
.
getParamKey
(),
v
.
getParamValue
()),
HashMap:
:
putAll
);
return
config
;
}
...
...
backend/src/main/java/io/dataease/provider/query/es/EsQueryProvider.java
浏览文件 @
71557bfe
...
...
@@ -224,7 +224,11 @@ public class EsQueryProvider extends QueryProvider {
}
else
if
(
ObjectUtils
.
isNotEmpty
(
x
.
getExtField
())
&&
x
.
getExtField
()
==
DeTypeConstants
.
DE_TIME
)
{
originField
=
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
x
.
getOriginName
());
}
else
{
originField
=
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
x
.
getOriginName
());
if
(
x
.
getDeType
()
==
2
||
x
.
getDeType
()
==
3
)
{
originField
=
String
.
format
(
EsSqlLConstants
.
CAST
,
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
x
.
getOriginName
()),
"bigint"
);
}
else
{
originField
=
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
x
.
getOriginName
());
}
}
String
fieldAlias
=
String
.
format
(
SQLConstants
.
FIELD_ALIAS_X_PREFIX
,
i
);
// 处理横轴字段
...
...
@@ -253,7 +257,11 @@ public class EsQueryProvider extends QueryProvider {
}
else
if
(
ObjectUtils
.
isNotEmpty
(
y
.
getExtField
())
&&
y
.
getExtField
()
==
DeTypeConstants
.
DE_TIME
)
{
originField
=
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
y
.
getOriginName
());
}
else
{
originField
=
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
y
.
getOriginName
());
if
(
y
.
getDeType
()
==
2
||
y
.
getDeType
()
==
3
)
{
originField
=
String
.
format
(
EsSqlLConstants
.
CAST
,
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
y
.
getOriginName
()),
"bigint"
);
}
else
{
originField
=
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
y
.
getOriginName
());
}
}
String
fieldAlias
=
String
.
format
(
SQLConstants
.
FIELD_ALIAS_Y_PREFIX
,
i
);
// 处理纵轴字段
...
...
@@ -333,7 +341,11 @@ public class EsQueryProvider extends QueryProvider {
}
else
if
(
ObjectUtils
.
isNotEmpty
(
x
.
getExtField
())
&&
x
.
getExtField
()
==
1
)
{
originField
=
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
x
.
getOriginName
());
}
else
{
originField
=
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
x
.
getOriginName
());
if
(
x
.
getDeType
()
==
2
||
x
.
getDeType
()
==
3
)
{
originField
=
String
.
format
(
EsSqlLConstants
.
CAST
,
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
x
.
getOriginName
()),
"bigint"
);
}
else
{
originField
=
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
x
.
getOriginName
());
}
}
String
fieldAlias
=
String
.
format
(
SQLConstants
.
FIELD_ALIAS_X_PREFIX
,
i
);
// 处理横轴字段
...
...
@@ -409,7 +421,11 @@ public class EsQueryProvider extends QueryProvider {
}
else
if
(
ObjectUtils
.
isNotEmpty
(
x
.
getExtField
())
&&
x
.
getExtField
()
==
DeTypeConstants
.
DE_TIME
)
{
originField
=
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
x
.
getOriginName
());
}
else
{
originField
=
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
x
.
getOriginName
());
if
(
x
.
getDeType
()
==
2
||
x
.
getDeType
()
==
3
)
{
originField
=
String
.
format
(
EsSqlLConstants
.
CAST
,
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
x
.
getOriginName
()),
"bigint"
);
}
else
{
originField
=
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
x
.
getOriginName
());
}
}
String
fieldAlias
=
String
.
format
(
SQLConstants
.
FIELD_ALIAS_X_PREFIX
,
i
);
// 处理横轴字段
...
...
@@ -438,7 +454,11 @@ public class EsQueryProvider extends QueryProvider {
}
else
if
(
ObjectUtils
.
isNotEmpty
(
y
.
getExtField
())
&&
y
.
getExtField
()
==
DeTypeConstants
.
DE_TIME
)
{
originField
=
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
y
.
getOriginName
());
}
else
{
originField
=
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
y
.
getOriginName
());
if
(
y
.
getDeType
()
==
2
||
y
.
getDeType
()
==
3
)
{
originField
=
String
.
format
(
EsSqlLConstants
.
CAST
,
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
y
.
getOriginName
()),
"bigint"
);
}
else
{
originField
=
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
y
.
getOriginName
());
}
}
String
fieldAlias
=
String
.
format
(
SQLConstants
.
FIELD_ALIAS_Y_PREFIX
,
i
);
// 处理纵轴字段
...
...
@@ -517,7 +537,11 @@ public class EsQueryProvider extends QueryProvider {
}
else
if
(
ObjectUtils
.
isNotEmpty
(
x
.
getExtField
())
&&
x
.
getExtField
()
==
1
)
{
originField
=
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
x
.
getOriginName
());
}
else
{
originField
=
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
x
.
getOriginName
());
if
(
x
.
getDeType
()
==
2
||
x
.
getDeType
()
==
3
)
{
originField
=
String
.
format
(
EsSqlLConstants
.
CAST
,
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
x
.
getOriginName
()),
"bigint"
);
}
else
{
originField
=
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
x
.
getOriginName
());
}
}
String
fieldAlias
=
String
.
format
(
SQLConstants
.
FIELD_ALIAS_X_PREFIX
,
i
);
// 处理横轴字段
...
...
@@ -549,7 +573,11 @@ public class EsQueryProvider extends QueryProvider {
}
else
if
(
ObjectUtils
.
isNotEmpty
(
y
.
getExtField
())
&&
y
.
getExtField
()
==
1
)
{
originField
=
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
y
.
getOriginName
());
}
else
{
originField
=
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
y
.
getOriginName
());
if
(
y
.
getDeType
()
==
2
||
y
.
getDeType
()
==
3
)
{
originField
=
String
.
format
(
EsSqlLConstants
.
CAST
,
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
y
.
getOriginName
()),
"bigint"
);
}
else
{
originField
=
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
y
.
getOriginName
());
}
}
String
fieldAlias
=
String
.
format
(
SQLConstants
.
FIELD_ALIAS_Y_PREFIX
,
i
);
// 处理纵轴字段
...
...
@@ -635,7 +663,11 @@ public class EsQueryProvider extends QueryProvider {
}
else
if
(
ObjectUtils
.
isNotEmpty
(
y
.
getExtField
())
&&
y
.
getExtField
()
==
1
)
{
originField
=
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
y
.
getOriginName
());
}
else
{
originField
=
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
y
.
getOriginName
());
if
(
y
.
getDeType
()
==
2
||
y
.
getDeType
()
==
3
)
{
originField
=
String
.
format
(
EsSqlLConstants
.
CAST
,
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
y
.
getOriginName
()),
"bigint"
);
}
else
{
originField
=
String
.
format
(
EsSqlLConstants
.
KEYWORD_FIX
,
tableObj
.
getTableAlias
(),
y
.
getOriginName
());
}
}
String
fieldAlias
=
String
.
format
(
SQLConstants
.
FIELD_ALIAS_Y_PREFIX
,
i
);
// 处理纵轴字段
...
...
backend/src/main/resources/db/migration/V33__1.9.sql
浏览文件 @
71557bfe
...
...
@@ -89,3 +89,4 @@ INSERT INTO `system_parameter`(`param_key`, `param_value`, `type`, `sort`) VALUE
UPDATE
`demo_gdp_district_top100`
set
`province`
=
'新疆维吾尔自治区'
WHERE
`province`
=
'新疆维吾尔族自治区'
;
INSERT
INTO
`my_plugin`
(
`plugin_id`
,
`name`
,
`store`
,
`free`
,
`cost`
,
`category`
,
`descript`
,
`version`
,
`install_type`
,
`creator`
,
`load_mybatis`
,
`release_time`
,
`install_time`
,
`module_name`
,
`icon`
)
VALUES
(
3
,
'tabs插件'
,
'default'
,
0
,
20000
,
'panel'
,
'tabs插件'
,
'1.0-SNAPSHOT'
,
NULL
,
'fit2cloud-chenyw'
,
0
,
NULL
,
NULL
,
'dataease-extensions-tabs-backend'
,
NULL
);
\ No newline at end of file
frontend/src/components/AsyncSoltComponent/index.vue
0 → 100644
浏览文件 @
71557bfe
<
template
>
<component
:is=
"mode"
:ref=
"refId"
v-bind=
"$attrs"
v-on=
"$listeners"
>
<template
v-slot:default
>
<slot
name=
"default"
/>
</
template
>
</component>
</template>
<
script
>
import
{
uuid
}
from
'vue-uuid'
import
{
get
}
from
'@/api/system/dynamic'
export
default
{
name
:
'AsyncComponent'
,
inheritAttrs
:
true
,
props
:
{
// 父组件提供请求地址
url
:
{
type
:
String
,
default
:
''
}
},
data
()
{
return
{
resData
:
''
,
mode
:
''
,
refId
:
null
}
},
watch
:
{
url
:
{
immediate
:
true
,
async
handler
(
val
,
oldVal
)
{
if
(
!
this
.
url
)
return
// Cache 缓存 根据 url 参数
if
(
!
window
.
SyncComponentCache
)
{
window
.
SyncComponentCache
=
{}
}
let
res
if
(
!
window
.
SyncComponentCache
[
this
.
url
])
{
window
.
SyncComponentCache
[
this
.
url
]
=
get
(
this
.
url
)
// window.SyncComponentCache[this.url] = Axios.get(this.url)
res
=
await
window
.
SyncComponentCache
[
this
.
url
]
}
else
{
res
=
await
window
.
SyncComponentCache
[
this
.
url
]
}
const
Fn
=
Function
this
.
mode
=
new
Fn
(
`return
${
res
.
data
||
res
}
`
)()
/* if (res && res.data) {
const Fn = Function
this.mode = new Fn(`return ${res.data || res}`)()
} */
}
}
},
created
()
{
this
.
refId
=
uuid
.
v1
},
methods
:
{
/* chartResize() {
this.$refs[this.refId] && this.$refs[this.refId].chartResize && this.$refs[this.refId].chartResize()
}, */
callPluginInner
(
param
)
{
const
{
methodName
,
methodParam
}
=
param
this
.
$refs
[
this
.
refId
]
&&
this
.
$refs
[
this
.
refId
][
methodName
]
&&
this
.
$refs
[
this
.
refId
][
methodName
](
methodParam
)
}
}
}
</
script
>
frontend/src/components/DeDrag/index.vue
浏览文件 @
71557bfe
...
...
@@ -531,7 +531,7 @@ export default {
width
:
this
.
computedMainSlotWidth
,
height
:
this
.
computedMainSlotHeight
}
if
(
this
.
element
.
commonBackground
&&
this
.
element
.
commonBackground
.
enable
)
{
if
(
this
.
element
.
commonBackground
&&
this
.
element
.
commonBackground
.
enable
)
{
if
(
this
.
element
.
commonBackground
.
backgroundType
===
'innerImage'
)
{
style
[
'background'
]
=
`url(
${
this
.
element
.
commonBackground
.
innerImage
}
) no-repeat`
}
else
if
(
this
.
element
.
commonBackground
.
backgroundType
===
'outerImage'
)
{
...
...
@@ -1604,7 +1604,6 @@ export default {
},
// 记录当前样式
recordCurStyle
()
{
// debugger
const
style
=
{
...
this
.
defaultStyle
}
...
...
@@ -1619,7 +1618,6 @@ export default {
// 记录当前样式 矩阵处理
recordMatrixCurStyle
()
{
// debugger
const
left
=
Math
.
round
(
this
.
left
/
this
.
curCanvasScale
.
matrixStyleWidth
)
*
this
.
curCanvasScale
.
matrixStyleWidth
const
top
=
Math
.
round
(
this
.
top
/
this
.
curCanvasScale
.
matrixStyleHeight
)
*
this
.
curCanvasScale
.
matrixStyleHeight
const
width
=
Math
.
round
(
this
.
width
/
this
.
curCanvasScale
.
matrixStyleWidth
)
*
this
.
curCanvasScale
.
matrixStyleWidth
...
...
@@ -1644,7 +1642,6 @@ export default {
},
// 记录当前样式 跟随阴影位置 矩阵处理
recordMatrixCurShadowStyle
()
{
// debugger
const
left
=
(
this
.
element
.
x
-
1
)
*
this
.
curCanvasScale
.
matrixStyleWidth
const
top
=
(
this
.
element
.
y
-
1
)
*
this
.
curCanvasScale
.
matrixStyleHeight
const
width
=
this
.
element
.
sizex
*
this
.
curCanvasScale
.
matrixStyleWidth
...
...
frontend/src/components/DeDrag/shadow.vue
浏览文件 @
71557bfe
...
...
@@ -12,7 +12,6 @@ export default {
computed
:
{
styleInfo
()
{
// console.log('styleInfo==>')
// debugger
// console.log('dragComponentInfo==>' + this.dragComponentInfo.shadowStyle.x)
let
left
=
0
let
top
=
0
...
...
frontend/src/components/canvas/components/Editor/EditBar.vue
浏览文件 @
71557bfe
...
...
@@ -169,7 +169,6 @@ export default {
},
// 记录当前样式 跟随阴影位置 矩阵处理
recordMatrixCurShadowStyle
()
{
// debugger
const
left
=
(
this
.
curComponent
.
x
-
1
)
*
this
.
curCanvasScale
.
matrixStyleWidth
const
top
=
(
this
.
curComponent
.
y
-
1
)
*
this
.
curCanvasScale
.
matrixStyleHeight
const
width
=
this
.
curComponent
.
sizex
*
this
.
curCanvasScale
.
matrixStyleWidth
...
...
@@ -202,7 +201,11 @@ export default {
// }
// },
edit
()
{
bus
.
$emit
(
'change_panel_right_draw'
,
true
)
if
(
this
.
curComponent
.
type
===
'custom'
)
{
bus
.
$emit
(
'component-dialog-edit'
)
}
else
if
(
this
.
curComponent
.
type
===
'v-text'
||
this
.
curComponent
.
type
===
'rect-shape'
)
{
bus
.
$emit
(
'component-dialog-style'
)
}
else
{
bus
.
$emit
(
'change_panel_right_draw'
,
true
)
}
},
linkageEdit
()
{
...
...
frontend/src/components/canvas/components/Editor/PreviewEject.vue
浏览文件 @
71557bfe
...
...
@@ -43,7 +43,6 @@ export default {
this
.
mainHeight
=
mainHeight
},
restore
()
{
debugger
const
_this
=
this
_this
.
dataLoading
=
true
if
(
!
this
.
$route
.
params
.
reportId
)
{
...
...
frontend/src/components/canvas/components/Editor/SettingMenu.vue
浏览文件 @
71557bfe
...
...
@@ -128,7 +128,6 @@ export default {
this
.
$store
.
commit
(
'recordSnapshot'
,
'bottomComponent'
)
},
linkageSetting
()
{
debugger
// sourceViewId 也加入查询
const
targetViewIds
=
this
.
componentData
.
filter
(
item
=>
item
.
type
===
'view'
&&
item
.
propValue
&&
item
.
propValue
.
viewId
)
.
map
(
item
=>
item
.
propValue
.
viewId
)
...
...
frontend/src/components/canvas/components/Editor/SettingMenuTest.vue
浏览文件 @
71557bfe
...
...
@@ -126,7 +126,6 @@ export default {
this
.
$store
.
commit
(
'recordSnapshot'
)
},
linkageSetting
()
{
debugger
// sourceViewId 也加入查询
const
targetViewIds
=
this
.
componentData
.
filter
(
item
=>
item
.
type
===
'view'
&&
item
.
propValue
&&
item
.
propValue
.
viewId
)
.
map
(
item
=>
item
.
propValue
.
viewId
)
...
...
frontend/src/components/canvas/components/Editor/index.vue
浏览文件 @
71557bfe
...
...
@@ -1270,7 +1270,6 @@ export default {
this
.
timeMachine
=
null
},
openChartDetailsDialog
(
chartInfo
)
{
debugger
this
.
showChartInfo
=
chartInfo
.
chart
this
.
showChartTableInfo
=
chartInfo
.
tableChart
this
.
chartDetailsVisible
=
true
...
...
frontend/src/components/canvas/components/TextAttr.vue
浏览文件 @
71557bfe
...
...
@@ -140,6 +140,12 @@
</el-tooltip>
</div>
<div
v-if=
"attrShow('deTabStyle')"
style=
"width: 20px;float: left;margin-top: 2px;margin-left: 10px;"
>
<el-tooltip
content=
"tab内部样式"
>
<tab-style
:style-info=
"styleInfo"
/>
</el-tooltip>
</div>
</div>
</el-card>
</
template
>
...
...
@@ -150,7 +156,6 @@ import Hyperlinks from '@/components/canvas/components/Editor/Hyperlinks'
import
VideoLinks
from
'@/components/canvas/components/Editor/VideoLinks'
import
DateFormat
from
'@/components/canvas/components/Editor/DateFormat'
import
{
COLOR_PANEL
}
from
'@/views/chart/chart/chart'
import
{
chartTransStr2Object
}
from
'@/views/panel/panel'
export
default
{
components
:
{
Hyperlinks
,
DateFormat
,
VideoLinks
},
...
...
@@ -245,7 +250,8 @@ export default {
'borderWidth'
,
'borderRadius'
,
'opacity'
,
'borderColor'
'borderColor'
,
'deTabStyle'
],
// 矩形组件显示的属性
'rect-shape'
:
[
...
...
@@ -416,6 +422,18 @@ export default {
},
styleChange
()
{
this
.
$store
.
commit
(
'recordStyleChange'
)
},
goHeadFontColor
()
{
this
.
$refs
.
headFontColorPicker
.
handleTrigger
()
},
goHeadFontActiveColor
()
{
this
.
$refs
.
headFontActiveColorPicker
.
handleTrigger
()
},
goHeadBorderColor
()
{
this
.
$refs
.
headBorderColorPicker
.
handleTrigger
()
},
goHeadBorderActiveColor
()
{
this
.
$refs
.
headBorderActiveColorPicker
.
handleTrigger
()
}
}
}
...
...
@@ -448,7 +466,6 @@ export default {
display
:
inline
!
important
;
}
::v-deep
input
::-webkit-outer-spin-button
,
::v-deep
input
::-webkit-inner-spin-button
{
-webkit-appearance
:
none
!
important
;
...
...
frontend/src/components/widget/DeWidget/DeTabs.vue
浏览文件 @
71557bfe
<
template
>
<div
class=
"de-tabs-div"
>
<el-tabs
v-model=
"activeTabName"
type=
"card"
class=
"de-tabs"
@
tab-click=
"handleClick"
>
<async-solt-component
v-model=
"activeTabName"
:url=
"url"
type=
"card"
style-type=
"radioGroup"
class=
"de-tabs-height"
:font-color=
"fontColor"
:active-color=
"activeColor"
:border-color=
"borderColor"
:border-active-color=
"borderActiveColor"
@
tab-click=
"handleClick"
>
<!--
<plugin-com
ref=
"dataease-tabs"
v-model=
"activeTabName"
type=
"card"
class=
"de-tabs"
component-name=
"dataease-tabs"
@
tab-click=
"handleClick"
>
-->
<!--
<el-tabs
v-model=
"activeTabName"
type=
"card"
class=
"de-tabs"
@
tab-click=
"handleClick"
>
-->
<el-tab-pane
v-for=
"(item, index) in element.options.tabList"
:key=
"item.name+index"
...
...
@@ -58,7 +71,8 @@
</div>
</el-tab-pane>
</el-tabs>
</async-solt-component>
<!--
</el-tabs>
-->
<el-dialog
:title=
"$t('detabs.eidttitle')"
...
...
@@ -108,7 +122,7 @@
</
template
>
<
script
>
import
AsyncSoltComponent
from
'@/components/AsyncSoltComponent'
import
ViewSelect
from
'@/views/panel/ViewSelect'
import
{
uuid
}
from
'vue-uuid'
import
bus
from
'@/utils/bus'
...
...
@@ -118,7 +132,7 @@ import { chartCopy } from '@/api/chart/chart'
import
{
buildFilterMap
}
from
'@/utils/conditionUtil'
export
default
{
name
:
'DeTabls'
,
components
:
{
ViewSelect
},
components
:
{
ViewSelect
,
AsyncSoltComponent
},
props
:
{
element
:
{
type
:
Object
,
...
...
@@ -150,7 +164,13 @@ export default {
dialogVisible
:
false
,
textarea
:
''
,
curItem
:
null
,
viewDialogVisible
:
false
viewDialogVisible
:
false
,
url
:
'/api/pluginCommon/component/dataease-tabs'
/* fontColor: '#999999',
activeColor: '#f18406',
borderColor: '#999999',
borderActiveColor: '#f18406' */
}
},
...
...
@@ -165,11 +185,24 @@ export default {
const
map
=
buildFilterMap
(
this
.
componentData
)
return
map
},
...
mapState
([
'componentData'
,
'curComponent'
,
'mobileLayoutStatus'
])
]),
fontColor
()
{
return
this
.
element
&&
this
.
element
.
style
&&
this
.
element
.
style
.
headFontColor
||
'none'
},
activeColor
()
{
return
this
.
element
&&
this
.
element
.
style
&&
this
.
element
.
style
.
headFontActiveColor
||
'none'
},
borderColor
()
{
return
this
.
element
&&
this
.
element
.
style
&&
this
.
element
.
style
.
headBorderColor
||
'none'
},
borderActiveColor
()
{
return
this
.
element
&&
this
.
element
.
style
&&
this
.
element
.
style
.
headBorderActiveColor
||
'none'
}
},
watch
:
{
curComponent
:
{
...
...
@@ -315,7 +348,7 @@ export default {
height
:
100%
;
overflow
:
hidden
;
}
.de-tabs
{
.de-tabs
-height
{
height
:
100%
;
}
...
...
frontend/src/components/widget/DeWidget/TabStyle.vue
0 → 100644
浏览文件 @
71557bfe
<
template
>
<el-popover
placement=
"right"
trigger=
"click"
>
<el-form
ref=
"tabsStyleForm"
:model=
"styleInfo"
size=
"small"
class=
"demo-form-inline"
>
<el-form-item
label=
"头部字体颜色"
prop=
"headFrontColor"
>
<div
class=
"picker-color-div"
@
click=
"triggerTheme('headFontColor')"
>
<el-input
v-model=
"styleInfo.headFontColor"
readonly
class=
"theme-input"
>
<el-color-picker
ref=
"headFontColorPicker"
slot=
"prefix"
v-model=
"styleInfo.headFontColor"
class=
"theme-picker"
@
change=
"styleChange"
/>
</el-input>
</div>
</el-form-item>
<el-form-item
label=
"头部字体选中颜色"
prop=
"headFontActiveColor"
>
<div
class=
"picker-color-div"
@
click=
"triggerTheme('headFontActiveColor')"
>
<el-input
v-model=
"styleInfo.headFontActiveColor"
readonly
class=
"theme-input"
>
<el-color-picker
ref=
"headFontActiveColorPicker"
slot=
"prefix"
v-model=
"styleInfo.headFontActiveColor"
class=
"theme-picker"
@
change=
"styleChange"
/>
</el-input>
</div>
</el-form-item>
<el-form-item
label=
"头部边框颜色"
prop=
"headBorderColor"
>
<div
class=
"picker-color-div"
@
click=
"triggerTheme('headBorderColor')"
>
<el-input
v-model=
"styleInfo.headBorderColor"
readonly
class=
"theme-input"
>
<el-color-picker
ref=
"headBorderColorPicker"
slot=
"prefix"
v-model=
"styleInfo.headBorderColor"
class=
"theme-picker"
@
change=
"styleChange"
/>
</el-input>
</div>
</el-form-item>
<el-form-item
label=
"头部边框选中颜色"
prop=
"headBorderActiveColor"
>
<div
class=
"picker-color-div"
@
click=
"triggerTheme('headBorderActiveColor')"
>
<el-input
v-model=
"styleInfo.headBorderActiveColor"
readonly
class=
"theme-input"
>
<el-color-picker
ref=
"headBorderActiveColorPicker"
slot=
"prefix"
v-model=
"styleInfo.headBorderActiveColor"
class=
"theme-picker"
@
change=
"styleChange"
/>
</el-input>
</div>
</el-form-item>
</el-form>
<i
slot=
"reference"
class=
"iconfont icon-tabs"
/>
</el-popover>
</
template
>
<
script
>
import
{
mapState
}
from
'vuex'
export
default
{
name
:
'TabStyle'
,
props
:
{
styleInfo
:
{
type
:
Object
,
default
:
null
}
},
data
()
{
return
{
}
},
computed
:
{
...
mapState
([
'componentData'
,
'curComponent'
])
},
methods
:
{
triggerTheme
(
key
)
{
const
pickKey
=
key
+
'Picker'
const
current
=
this
.
$refs
[
pickKey
]
current
&&
(
current
.
showPicker
=
true
)
},
styleChange
()
{
this
.
$store
.
commit
(
'recordStyleChange'
)
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
</
style
>
frontend/src/lang/en.js
浏览文件 @
71557bfe
...
...
@@ -573,6 +573,7 @@ export default {
secret
:
'Please key Secret'
,
scope
:
'Please key scope'
,
redirectUrl
:
'Please key redirectUrl'
,
input_mapping
:
'Please key OIDC mapping'
,
open
:
'Enable OIDC Authentication'
},
role
:
{
...
...
frontend/src/lang/tw.js
浏览文件 @
71557bfe
...
...
@@ -575,6 +575,7 @@ export default {
secret
:
'請輸入Secret'
,
scope
:
'請輸入scope'
,
redirectUrl
:
'請輸入redirectUrl'
,
input_mapping
:
'請輸入OIDC屬性映射'
,
open
:
'啓用OIDC認證'
},
role
:
{
...
...
frontend/src/lang/zh.js
浏览文件 @
71557bfe
...
...
@@ -576,6 +576,7 @@ export default {
secret
:
'请输入Secret'
,
scope
:
'请输入scope'
,
redirectUrl
:
'请输入redirectUrl'
,
input_mapping
:
'請輸入OIDC屬性映射'
,
open
:
'启用OIDC认证'
},
role
:
{
...
...
frontend/src/styles/index.scss
浏览文件 @
71557bfe
...
...
@@ -399,9 +399,9 @@ div:focus {
height
:
5px
;
}
.el-color-dropdown__link-btn
{
/*
.el-color-dropdown__link-btn {
display: none !important;
}
}
*/
.el-table
{
background-color
:
var
(
--
TableBG
)
!
important
;
...
...
@@ -549,11 +549,11 @@ div:focus {
}
.blackTheme
.el-tabs__item
:not
(
.is-active
)
{
color
:
var
(
--
TextPrimary
)
!
important
;
color
:
var
(
--
TextPrimary
);
}
.blackTheme
.el-tabs__item
:hover
{
color
:
var
(
--
Main
)
!
important
;
color
:
var
(
--
Main
);
}
.blackTheme
:not
(
.in-panel
)
.elx-table--main-wrapper
{
...
...
@@ -793,3 +793,20 @@ div:focus {
margin-left
:
10px
!
important
;
}
}
.picker-color-div
{
height
:
32px
;
margin-top
:
32px
;
}
.theme-input
{
>
input
{
padding-left
:
40px
!
important
;
}
>
span
.el-input__prefix
{
padding-top
:
0px
;
}
}
frontend/src/utils/StringUtils.js
浏览文件 @
71557bfe
...
...
@@ -5,3 +5,14 @@ export function pdfTemplateReplaceAll(content, source, target) {
return
content
}
export
function
randomRange
(
min
,
max
)
{
let
returnStr
=
''
const
range
=
(
max
?
Math
.
round
(
Math
.
random
()
*
(
max
-
min
))
+
min
:
min
)
const
charStr
=
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
for
(
var
i
=
0
;
i
<
range
;
i
++
)
{
var
index
=
Math
.
round
(
Math
.
random
()
*
(
charStr
.
length
-
1
))
returnStr
+=
charStr
.
substring
(
index
,
index
+
1
)
}
return
returnStr
}
frontend/src/views/chart/view/ChartEdit.vue
浏览文件 @
71557bfe
...
...
@@ -1404,12 +1404,10 @@ export default {
}
},
created
()
{
debugger
// this.get(this.$store.state.chart.viewId);
// this.initAreas()
},
mounted
()
{
debugger
this
.
bindPluginEvent
()
this
.
initFromPanel
()
this
.
chartInit
()
...
...
frontend/src/views/link/generate/index.vue
浏览文件 @
71557bfe
...
...
@@ -77,6 +77,7 @@ import {
shortUrl
,
setOverTime
}
from
'@/api/link'
import
{
randomRange
}
from
'@/utils/StringUtils'
export
default
{
name
:
'LinkGenerate'
,
...
...
@@ -171,14 +172,7 @@ export default {
},
createPwd
()
{
const
randomNum
=
()
=>
{
return
Math
.
floor
(
Math
.
random
()
*
10
)
+
''
}
let
result
=
''
for
(
let
index
=
0
;
index
<
this
.
pwdNums
;
index
++
)
{
result
+=
randomNum
()
}
return
result
return
randomRange
(
this
.
pwdNums
)
},
resetPwd
()
{
...
...
frontend/src/views/login/index.vue
浏览文件 @
71557bfe
...
...
@@ -23,7 +23,7 @@
</el-radio-group>
</el-form-item>
<el-form-item
prop=
"username"
>
<el-input
v-model=
"loginForm.username"
placeholder=
"ID"
autofocus
/>
<el-input
v-model=
"loginForm.username"
placeholder=
"ID"
autofocus
:disabled=
"loginTypes.includes(2) && loginForm.loginType === 2"
/>
</el-form-item>
<el-form-item
prop=
"password"
>
<el-input
...
...
@@ -33,12 +33,13 @@
maxlength=
"30"
show-word-limit
autocomplete=
"new-password"
:disabled=
"loginTypes.includes(2) && loginForm.loginType === 2"
@
keypress
.
enter
.
native=
"handleLogin"
/>
</el-form-item>
</div>
<div
class=
"login-btn"
>
<el-button
type=
"primary"
class=
"submit"
size=
"default"
@
click
.
native
.
prevent=
"handleLogin"
>
<el-button
type=
"primary"
class=
"submit"
size=
"default"
:disabled=
"loginTypes.includes(2) && loginForm.loginType === 2"
@
click
.
native
.
prevent=
"handleLogin"
>
{{
$t
(
'commons.login'
)
}}
</el-button>
<div
v-if=
"uiInfo && uiInfo['ui.demo.tips'] && uiInfo['ui.demo.tips'].paramValue"
class=
"demo-tips"
>
...
...
frontend/src/views/panel/OuterParamsSet/index.vue
浏览文件 @
71557bfe
...
...
@@ -228,7 +228,6 @@ export default {
created
()
{
},
mounted
()
{
debugger
this
.
init
()
},
destroyed
()
{
...
...
@@ -237,7 +236,6 @@ export default {
init
()
{
// 获取当前仪表板外部跳转蚕食信息
queryWithPanelId
(
this
.
panelInfo
.
id
).
then
(
rsp
=>
{
debugger
this
.
outerParams
=
rsp
.
data
this
.
outerParamsInfoArray
=
this
.
outerParams
.
outerParamsInfoArray
if
(
this
.
outerParamsInfoArray
.
length
>
0
)
{
...
...
frontend/src/views/panel/edit/index.vue
浏览文件 @
71557bfe
...
...
@@ -578,7 +578,6 @@ export default {
this
.
$store
.
commit
(
'resetViewEditInfo'
)
},
mounted
()
{
debugger
// this.insertToBody()
bus
.
$on
(
'component-on-drag'
,
()
=>
{
this
.
show
=
false
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论