Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
dataease
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
zhu
dataease
Commits
70898bdd
提交
70898bdd
authored
6月 24, 2021
作者:
taojinlong
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'main' of github.com:dataease/dataease into main
上级
c46ab5fd
2ae993c0
隐藏空白字符变更
内嵌
并排
正在显示
32 个修改的文件
包含
255 行增加
和
218 行删除
+255
-218
AuthUserServiceImpl.java
...va/io/dataease/auth/service/impl/AuthUserServiceImpl.java
+7
-2
PanelGroupService.java
...ain/java/io/dataease/service/panel/PanelGroupService.java
+6
-0
.eslintrc.js
frontend/.eslintrc.js
+4
-1
index.vue
frontend/src/components/DeDrag/index.vue
+17
-7
DeComplexInput.vue
...rc/components/business/condition-table/DeComplexInput.vue
+2
-0
DeComplexOperator.vue
...components/business/condition-table/DeComplexOperator.vue
+3
-0
Area.vue
frontend/src/components/canvas/components/Editor/Area.vue
+6
-3
Grid.vue
frontend/src/components/canvas/components/Editor/Grid.vue
+1
-0
Group.vue
frontend/src/components/canvas/custom-component/Group.vue
+1
-0
Picture.vue
frontend/src/components/canvas/custom-component/Picture.vue
+1
-0
RectShape.vue
...tend/src/components/canvas/custom-component/RectShape.vue
+1
-0
VText.vue
frontend/src/components/canvas/custom-component/VText.vue
+5
-3
index.vue
frontend/src/components/canvas/index.vue
+4
-2
compose.js
frontend/src/components/canvas/store/compose.js
+1
-1
shortcutKey.js
frontend/src/components/canvas/utils/shortcutKey.js
+4
-4
style.js
frontend/src/components/canvas/utils/style.js
+1
-1
DeInputSearch.vue
frontend/src/components/widget/DeWidget/DeInputSearch.vue
+1
-1
index.js
frontend/src/directive/DataPermission/index.js
+2
-0
link-router.js
frontend/src/link/link-router.js
+1
-2
mixins.scss
frontend/src/styles/common/mixins.scss
+12
-14
index.scss
frontend/src/styles/index.scss
+66
-75
mixin.scss
frontend/src/styles/mixin.scss
+5
-5
sidebar.scss
frontend/src/styles/sidebar.scss
+1
-1
topbar.scss
frontend/src/styles/topbar.scss
+93
-95
index.js
frontend/src/utils/index.js
+1
-0
line.js
frontend/src/views/chart/chart/line/line.js
+1
-1
util.js
frontend/src/views/chart/chart/util.js
+1
-0
ComponentGap.vue
...rc/views/panel/SubjectSetting/PanelStyle/ComponentGap.vue
+1
-0
panel.js
frontend/src/views/panel/panel.js
+3
-0
TemplateItem.vue
frontend/src/views/panel/template/component/TemplateItem.vue
+1
-0
authQuickConfig.vue
frontend/src/views/system/authority/authQuickConfig.vue
+1
-0
index.vue
frontend/src/views/system/authority/index.vue
+1
-0
没有找到文件。
backend/src/main/java/io/dataease/auth/service/impl/AuthUserServiceImpl.java
浏览文件 @
70898bdd
...
...
@@ -59,8 +59,13 @@ public class AuthUserServiceImpl implements AuthUserService {
@Cacheable
(
value
=
AuthConstants
.
USER_PERMISSION_CACHE_NAME
,
key
=
"'user' + #userId"
)
@Override
public
List
<
String
>
permissions
(
Long
userId
){
// 用户登录获取菜单权限时同时更新插件菜单表
dynamicMenuService
.
syncPluginMenu
();
try
{
// 用户登录获取菜单权限时同时更新插件菜单表
dynamicMenuService
.
syncPluginMenu
();
}
catch
(
Exception
e
){
LogUtil
.
error
(
e
);
//ignore
}
List
<
String
>
permissions
;
SysUser
sysUser
=
sysUserMapper
.
selectByPrimaryKey
(
userId
);
if
(
sysUser
.
getIsAdmin
()!=
null
&&
sysUser
.
getIsAdmin
()){
...
...
backend/src/main/java/io/dataease/service/panel/PanelGroupService.java
浏览文件 @
70898bdd
...
...
@@ -19,6 +19,7 @@ import org.apache.commons.lang3.StringUtils;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.Assert
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
...
...
@@ -69,6 +70,7 @@ public class PanelGroupService {
return
result
;
}
@Transactional
public
PanelGroup
saveOrUpdate
(
PanelGroupRequest
request
)
{
String
panelId
=
request
.
getId
();
if
(
StringUtils
.
isEmpty
(
panelId
))
{
...
...
@@ -90,6 +92,7 @@ public class PanelGroupService {
newDefaultPanel
.
setPid
(
PanelConstants
.
PANEL_GATHER_DEFAULT_PANEL
);
newDefaultPanel
.
setLevel
(
0
);
newDefaultPanel
.
setSource
(
request
.
getId
());
newDefaultPanel
.
setCreateBy
(
AuthUtils
.
getUser
().
getUsername
());
checkPanelName
(
newDefaultPanel
.
getName
(),
newDefaultPanel
.
getPid
(),
PanelConstants
.
OPT_TYPE_INSERT
,
newDefaultPanel
.
getId
());
panelGroupMapper
.
insertSelective
(
newDefaultPanel
);
}
else
{
...
...
@@ -105,6 +108,9 @@ public class PanelGroupService {
authRequest
.
setId
(
panelId
);
authRequest
.
setUserId
(
String
.
valueOf
(
AuthUtils
.
getUser
().
getUserId
()));
List
<
PanelGroupDTO
>
panelGroupDTOList
=
extPanelGroupMapper
.
panelGroupList
(
authRequest
);
if
(
CollectionUtils
.
isNotEmpty
(
panelGroupDTOList
)){
DataEaseException
.
throwException
(
"未查询到用户对应的资源权限,请尝试刷新重新保存"
);
}
return
panelGroupDTOList
.
get
(
0
);
}
...
...
frontend/.eslintrc.js
浏览文件 @
70898bdd
...
...
@@ -195,6 +195,9 @@ module.exports = {
'object-curly-spacing'
:
[
2
,
'always'
,
{
objectsInObjects
:
false
}],
'array-bracket-spacing'
:
[
2
,
'never'
]
'array-bracket-spacing'
:
[
2
,
'never'
],
"vue/no-use-v-if-with-v-for"
:
[
"error"
,
{
"allowUsingIterationVar"
:
true
}]
}
}
frontend/src/components/DeDrag/index.vue
浏览文件 @
70898bdd
...
...
@@ -20,14 +20,14 @@
@mouseleave="leave"
>
<div
v-for=
"(handle
, index
) in actualHandles"
:key=
"index"
:class=
"[classNameHandle, classNameHandle + '-' + handle]"
:style=
"handleStyle(handle
, index
)"
@
mousedown
.
stop
.
prevent=
"handleDown(handle, $event)"
@
touchstart
.
stop
.
prevent=
"handleTouchDown(handle, $event)"
v-for=
"(handle
i, indexi
) in actualHandles"
:key=
"index
i
"
:class=
"[classNameHandle, classNameHandle + '-' + handle
i
]"
:style=
"handleStyle(handle
i, indexi
)"
@
mousedown
.
stop
.
prevent=
"handleDown(handle
i
, $event)"
@
touchstart
.
stop
.
prevent=
"handleTouchDown(handle
i
, $event)"
>
<slot
:name=
"handle"
/>
<slot
:name=
"handle
i
"
/>
</div>
<slot
/>
</div>
...
...
@@ -282,14 +282,17 @@ export default {
type
:
String
,
default
:
'mouseOn'
},
// eslint-disable-next-line vue/require-default-prop
element
:
{
require
:
true
,
type
:
Object
},
// eslint-disable-next-line vue/require-default-prop
defaultStyle
:
{
require
:
true
,
type
:
Object
},
// eslint-disable-next-line vue/require-default-prop
index
:
{
require
:
true
,
type
:
[
Number
,
String
]
...
...
@@ -299,6 +302,7 @@ export default {
type
:
Boolean
,
default
:
true
},
// eslint-disable-next-line vue/require-default-prop
changeStyle
:
{
require
:
true
,
type
:
Object
...
...
@@ -911,6 +915,7 @@ export default {
},
// 外部传参改动x
moveHorizontally
(
val
)
{
// eslint-disable-next-line no-unused-vars
const
[
deltaX
,
_
]
=
snapToGrid
(
this
.
grid
,
val
,
this
.
top
,
this
.
scale
)
const
left
=
restrictToBounds
(
deltaX
,
this
.
bounds
.
minLeft
,
this
.
bounds
.
maxLeft
)
this
.
left
=
left
...
...
@@ -918,6 +923,7 @@ export default {
},
// 外部传参改动y
moveVertically
(
val
)
{
// eslint-disable-next-line no-unused-vars
const
[
_
,
deltaY
]
=
snapToGrid
(
this
.
grid
,
this
.
left
,
val
,
this
.
scale
)
const
top
=
restrictToBounds
(
deltaY
,
this
.
bounds
.
minTop
,
this
.
bounds
.
maxTop
)
this
.
top
=
top
...
...
@@ -926,6 +932,7 @@ export default {
// 控制柄移动
handleResize
(
e
)
{
const
handle
=
this
.
handle
// eslint-disable-next-line no-unused-vars
const
scaleRatio
=
this
.
scaleRatio
const
{
TL
,
TR
,
BL
,
BR
}
=
this
let
{
x
:
mouseX
,
y
:
mouseY
}
=
this
.
getMouseCoordinate
(
e
)
...
...
@@ -1085,6 +1092,7 @@ export default {
changeWidth
(
val
)
{
// console.log('parentWidth', this.parentWidth)
// console.log('parentHeight', this.parentHeight)
// eslint-disable-next-line no-unused-vars
const
[
newWidth
,
_
]
=
snapToGrid
(
this
.
grid
,
val
,
0
,
this
.
scale
)
// const right = restrictToBounds(this.parentWidth - newWidth - this.left, this.bounds.minRight, this.bounds.maxRight)
// private 将 this.bounds.minRight 设置为0
...
...
@@ -1102,6 +1110,7 @@ export default {
this
.
height
=
height
},
changeHeight
(
val
)
{
// eslint-disable-next-line no-unused-vars
const
[
_
,
newHeight
]
=
snapToGrid
(
this
.
grid
,
0
,
val
,
this
.
scale
)
// const bottom = restrictToBounds(this.parentHeight - newHeight - this.top, this.bounds.minBottom, this.bounds.maxBottom)
// private 将 this.bounds.minBottom 设置为0
...
...
@@ -1418,6 +1427,7 @@ export default {
},
// 修复 正则获取left与top
formatTransformVal
(
string
)
{
// eslint-disable-next-line prefer-const
let
[
left
,
top
,
rotate
=
0
]
=
string
.
match
(
/
[\d
|
\.]
+/g
)
if
(
top
===
undefined
)
top
=
0
return
[
Number
(
left
),
Number
(
top
),
rotate
]
...
...
frontend/src/components/business/condition-table/DeComplexInput.vue
浏览文件 @
70898bdd
...
...
@@ -14,7 +14,9 @@ export default {
components
:
{
DeComplexOperator
},
// mixins: [mixins],
props
:
{
// eslint-disable-next-line vue/require-default-prop
field
:
String
,
// eslint-disable-next-line vue/require-default-prop
label
:
String
,
defaultOperator
:
{
type
:
String
,
...
...
frontend/src/components/business/condition-table/DeComplexOperator.vue
浏览文件 @
70898bdd
...
...
@@ -30,8 +30,11 @@ export default {
event
:
'change'
},
props
:
{
// eslint-disable-next-line vue/require-default-prop
label
:
String
,
// eslint-disable-next-line vue/require-default-prop
operator
:
String
,
// eslint-disable-next-line vue/require-default-prop
operators
:
Array
},
data
()
{
...
...
frontend/src/components/canvas/components/Editor/Area.vue
浏览文件 @
70898bdd
...
...
@@ -14,13 +14,16 @@
export
default
{
props
:
{
start
:
{
type
:
Object
type
:
Object
,
default
:
null
},
width
:
{
type
:
Number
type
:
Number
,
default
:
null
},
height
:
{
type
:
Number
type
:
Number
,
default
:
null
}
}
}
...
...
frontend/src/components/canvas/components/Editor/Grid.vue
浏览文件 @
70898bdd
...
...
@@ -27,6 +27,7 @@
export
default
{
props
:
{
// eslint-disable-next-line vue/require-default-prop
matrixStyle
:
{
type
:
Object
}
...
...
frontend/src/components/canvas/custom-component/Group.vue
浏览文件 @
70898bdd
...
...
@@ -25,6 +25,7 @@ export default {
type
:
Array
,
default
:
()
=>
[]
},
// eslint-disable-next-line vue/require-default-prop
element
:
{
type
:
Object
}
...
...
frontend/src/components/canvas/custom-component/Picture.vue
浏览文件 @
70898bdd
...
...
@@ -7,6 +7,7 @@
<
script
>
export
default
{
props
:
{
// eslint-disable-next-line vue/require-default-prop
propValue
:
{
type
:
String
,
require
:
true
...
...
frontend/src/components/canvas/custom-component/RectShape.vue
浏览文件 @
70898bdd
...
...
@@ -7,6 +7,7 @@
<
script
>
export
default
{
props
:
{
// eslint-disable-next-line vue/require-default-prop
element
:
{
type
:
Object
}
...
...
frontend/src/components/canvas/custom-component/VText.vue
浏览文件 @
70898bdd
...
...
@@ -25,10 +25,12 @@ import { keycodes } from '@/components/canvas/utils/shortcutKey.js'
export
default
{
props
:
{
// eslint-disable-next-line vue/require-default-prop
propValue
:
{
type
:
String
,
require
:
true
},
// eslint-disable-next-line vue/require-default-prop
element
:
{
type
:
Object
},
...
...
@@ -68,17 +70,17 @@ export default {
},
handleKeydown
(
e
)
{
if
(
e
.
keyCode
==
this
.
ctrlKey
)
{
if
(
e
.
keyCode
==
=
this
.
ctrlKey
)
{
this
.
isCtrlDown
=
true
}
else
if
(
this
.
isCtrlDown
&&
this
.
canEdit
&&
keycodes
.
includes
(
e
.
keyCode
))
{
e
.
stopPropagation
()
}
else
if
(
e
.
keyCode
==
46
)
{
// deleteKey
}
else
if
(
e
.
keyCode
==
=
46
)
{
// deleteKey
e
.
stopPropagation
()
}
},
handleKeyup
(
e
)
{
if
(
e
.
keyCode
==
this
.
ctrlKey
)
{
if
(
e
.
keyCode
==
=
this
.
ctrlKey
)
{
this
.
isCtrlDown
=
false
}
},
...
...
frontend/src/components/canvas/index.vue
浏览文件 @
70898bdd
...
...
@@ -38,6 +38,7 @@ import generateID from '@/utils/generateID'
import
{
listenGlobalKeyDown
}
from
'@/utils/shortcutKey'
export
default
{
// eslint-disable-next-line vue/no-unused-components
components
:
{
Editor
,
ComponentList
,
AttrList
,
AnimationList
,
EventList
,
Toolbar
},
data
()
{
return
{
...
...
@@ -71,6 +72,7 @@ export default {
resetID
(
data
)
{
if
(
data
)
{
data
.
forEach
(
item
=>
{
// eslint-disable-next-line no-undef
item
.
type
!==
'custom'
&&
(
item
.
id
=
uuid
.
v1
())
})
}
...
...
@@ -85,7 +87,7 @@ export default {
let
component
const
id
=
e
.
dataTransfer
.
getData
(
'componentId'
)
componentList
.
forEach
(
componentTemp
=>
{
if
(
id
==
componentTemp
.
id
)
{
if
(
id
==
=
componentTemp
.
id
)
{
component
=
deepCopy
(
componentTemp
)
}
})
...
...
@@ -112,7 +114,7 @@ export default {
}
// 0 左击 1 滚轮 2 右击
if
(
e
.
button
!=
2
)
{
if
(
e
.
button
!=
=
2
)
{
this
.
$store
.
commit
(
'hideContextMenu'
)
}
}
...
...
frontend/src/components/canvas/store/compose.js
浏览文件 @
70898bdd
...
...
@@ -77,7 +77,7 @@ export default {
batchDeleteComponent
({
componentData
},
deleteData
)
{
deleteData
.
forEach
(
component
=>
{
for
(
let
i
=
0
,
len
=
componentData
.
length
;
i
<
len
;
i
++
)
{
if
(
component
.
id
==
componentData
[
i
].
id
)
{
if
(
component
.
id
==
=
componentData
[
i
].
id
)
{
componentData
.
splice
(
i
,
1
)
break
}
...
...
frontend/src/components/canvas/utils/shortcutKey.js
浏览文件 @
70898bdd
...
...
@@ -56,9 +56,9 @@ let isCtrlDown = false
export
function
listenGlobalKeyDown
()
{
window
.
onkeydown
=
(
e
)
=>
{
const
{
curComponent
}
=
store
.
state
if
(
e
.
keyCode
==
ctrlKey
)
{
if
(
e
.
keyCode
==
=
ctrlKey
)
{
isCtrlDown
=
true
}
else
if
(
e
.
keyCode
==
deleteKey
&&
curComponent
)
{
}
else
if
(
e
.
keyCode
==
=
deleteKey
&&
curComponent
)
{
store
.
commit
(
'deleteComponent'
)
store
.
commit
(
'recordSnapshot'
)
}
else
if
(
isCtrlDown
)
{
...
...
@@ -73,7 +73,7 @@ export function listenGlobalKeyDown() {
}
window
.
onkeyup
=
(
e
)
=>
{
if
(
e
.
keyCode
==
ctrlKey
)
{
if
(
e
.
keyCode
==
=
ctrlKey
)
{
isCtrlDown
=
false
}
}
...
...
@@ -109,7 +109,7 @@ function compose() {
function
decompose
()
{
const
curComponent
=
store
.
state
.
curComponent
if
(
curComponent
&&
!
curComponent
.
isLock
&&
curComponent
.
component
==
'Group'
)
{
if
(
curComponent
&&
!
curComponent
.
isLock
&&
curComponent
.
component
==
=
'Group'
)
{
store
.
commit
(
'decompose'
)
store
.
commit
(
'recordSnapshot'
)
}
...
...
frontend/src/components/canvas/utils/style.js
浏览文件 @
70898bdd
...
...
@@ -33,7 +33,7 @@ export function getStyle(style, filter = []) {
// 获取一个组件旋转 rotate 后的样式
export
function
getComponentRotatedStyle
(
style
)
{
style
=
{
...
style
}
if
(
style
.
rotate
!=
0
)
{
if
(
style
.
rotate
!=
=
0
)
{
const
newWidth
=
style
.
width
*
cos
(
style
.
rotate
)
+
style
.
height
*
sin
(
style
.
rotate
)
const
diffX
=
(
style
.
width
-
newWidth
)
/
2
// 旋转后范围变小是正值,变大是负值
style
.
left
+=
diffX
...
...
frontend/src/components/widget/DeWidget/DeInputSearch.vue
浏览文件 @
70898bdd
...
...
@@ -46,7 +46,7 @@ export default {
setCondition
()
{
const
param
=
{
component
:
this
.
element
,
value
:
[
this
.
options
.
value
],
value
:
!
this
.
options
.
value
?
[]
:
Array
.
isArray
(
this
.
options
.
value
)
?
this
.
options
.
value
:
[
this
.
options
.
value
],
operator
:
this
.
operator
}
this
.
inDraw
&&
this
.
$store
.
commit
(
'addViewFilter'
,
param
)
...
...
frontend/src/directive/DataPermission/index.js
浏览文件 @
70898bdd
function
checkDataPermission
(
el
,
binding
,
vnode
)
{
// eslint-disable-next-line no-unused-vars
const
dataPermission
=
vnode
.
privileges
// eslint-disable-next-line no-unused-vars
const
{
value
}
=
binding
// // 数据授权采用并集的方式 部门 角色 用户 有一个有权限即可
// if (value && value instanceof Array) {
...
...
frontend/src/link/link-router.js
浏览文件 @
70898bdd
...
...
@@ -8,8 +8,7 @@ export default new Router({
{
path
:
'/'
,
name
:
'home'
,
component
:
()
=>
import
(
'../views/link/index.vue'
),
component
:
()
=>
import
(
'../views/link/index.vue'
),
meta
:
{
title
:
'首页'
}
...
...
frontend/src/styles/common/mixins.scss
浏览文件 @
70898bdd
@mixin
flex-row
(
$justify
:
flex-start
,
$align
:
stretch
)
{
display
:
flex
;
@if
$justify
!=
flex-start
{
justify-content
:
$justify
;
}
@if
$align
!=
stretch
{
align-items
:
$align
;
}
display
:
flex
;
@if
$justify
!=
flex-start
{
justify-content
:
$justify
;
}
@mixin
variant
(
$color
,
$background-color
,
$border-color
)
{
color
:
$color
;
background-color
:
$background-color
;
border-color
:
$border-color
;
@if
$align
!=
stretch
{
align-items
:
$align
;
}
\ No newline at end of file
}
@mixin
variant
(
$color
,
$background-color
,
$border-color
)
{
color
:
$color
;
background-color
:
$background-color
;
border-color
:
$border-color
;
}
frontend/src/styles/index.scss
浏览文件 @
70898bdd
...
...
@@ -73,34 +73,32 @@ div:focus {
}
.de-dialog
{
width
:
30%
!
important
;
width
:
30%
!
important
;
.el-dialog__header
{
background-color
:
#f4f4f5
;
padding
:
10px
20px
!
important
;
}
.el-dialog__body
{
padding
:
1px
20px
!
important
;
}
.el-dialog__header
{
background-color
:
#f4f4f5
;
padding
:
10px
20px
!
important
;
}
.el-dialog__body
{
padding
:
1px
20px
!
important
;
}
}
.de-filter-dialog
{
min-width
:
500px
!
important
;
width
:
50%
!
important
;
.el-dialog__header
{
// background-color: #f4f4f5;
padding
:
10px
20px
!
important
;
min-width
:
500px
!
important
;
width
:
50%
!
important
;
.el-dialog__headerbtn
{
top
:
15px
!
important
;
}
}
.el-dialog__body
{
padding
:
1px
15px
!
important
;
.el-dialog__header
{
// background-color: #f4f4f5;
padding
:
10px
20px
!
important
;
.el-dialog__headerbtn
{
top
:
15px
!
important
;
}
}
.el-dialog__body
{
padding
:
1px
15px
!
important
;
}
}
.de-style-dialog
{
...
...
@@ -117,7 +115,6 @@ div:focus {
}
.el-dialog__body
{
padding
:
1px
15px
!
important
;
}
}
...
...
@@ -129,7 +126,6 @@ div:focus {
.el-dialog__header
{
display
:none
!
important
;
}
.el-dialog__body
{
padding
:
0px
!
important
;
...
...
@@ -138,79 +134,74 @@ div:focus {
}
.de-search-header
{
.el-tabs__header
{
display
:
none
!
important
;;
}
.el-tabs__header
{
display
:
none
!
important
;;
}
}
.de-input
{
margin-bottom
:
14px
;
margin-top
:
10px
;
.el-input
{
.el-input__inner
{
line-height
:
30px
!
important
;
height
:
30px
!
important
;
border-right
:
none
;
}
}
.el-input__inner
:focus
{
border-color
:
#E6E6E6
!
important
;
}
.el-input-group__append
{
background-color
:
#ffffff
;
margin-bottom
:
14px
;
margin-top
:
10px
;
.el-input
{
.el-input__inner
{
line-height
:
30px
!
important
;
height
:
30px
!
important
;
border-right
:
none
;
}
}
.el-input__inner
:focus
{
border-color
:
#E6E6E6
!
important
;
}
.el-input-group__append
{
background-color
:
#ffffff
;
}
}
.filter-card-class
{
width
:
100%
;
.el-card__header
{
padding
:
5px
0
!
important
;
border-bottom
:
none
!
important
;
}
width
:
100%
;
.el-card__header
{
padding
:
5px
0
!
important
;
border-bottom
:
none
!
important
;
}
.el-card__body
{
padding
:
10px
;
}
.el-card__body
{
padding
:
10px
;
}
}
.real-input
{
.el-input__inner
{
height
:
25px
!
important
;
border
:
none
!
important
;
}
.el-input__inner
{
height
:
25px
!
important
;
border
:
none
!
important
;
}
}
.de-filter-data-table
{
.el-table__body-wrapper
>
table
>
{
tbody
{
.el-table__row
{
:hover
{
cursor
:
pointer
;
}
td
{
border
:
none
!
important
;
}
}
.el-table__body-wrapper
>
table
>
{
tbody
{
.el-table__row
{
:hover
{
cursor
:
pointer
;
}
td
{
border
:
none
!
important
;
}
}
}
}
}
.
de-filter-data-table
:
:
before
{
height
:
0px
!
important
;
height
:
0px
!
important
;
}
.custom-component-class
{
width
:
100%
;
div
.el-input-group__append
{
width
:
10%
!
important
;
}
div
{
width
:
100%
!
important
;
}
width
:
100%
;
div
.el-input-group__append
{
width
:
10%
!
important
;
}
div
{
width
:
100%
!
important
;
}
}
%field-icon
{
...
...
frontend/src/styles/mixin.scss
浏览文件 @
70898bdd
...
...
@@ -38,8 +38,8 @@
}
@mixin
variant
(
$color
,
$background-color
,
$border-color
)
{
color
:
$color
;
background-color
:
$background-color
;
border-color
:
$border-color
;
}
color
:
$color
;
background-color
:
$background-color
;
border-color
:
$border-color
;
}
frontend/src/styles/sidebar.scss
浏览文件 @
70898bdd
...
...
@@ -15,7 +15,7 @@
transition
:
width
0
.28s
;
// width: $sideBarWidth !important;
background-color
:
$menuBg
;
// width: 260px;
// width: 260px;
height
:
$contentHeight
;
position
:
fixed
;
font-size
:
0px
;
...
...
frontend/src/styles/topbar.scss
浏览文件 @
70898bdd
.top-nav
{
// margin-left: $sideBarWidth;
width
:
100%
;
// background-color: #304156;
// background-color: $--color-primary;
position
:
fixed
;
top
:
0
;
left
:
0
;
z-index
:
1001
;
overflow
:
hidden
;
border-bottom
:
1px
solid
#DCDFE6
;
// margin-left: $sideBarWidth;
width
:
100%
;
// background-color: #304156;
// background-color: $--color-primary;
position
:
fixed
;
top
:
0
;
left
:
0
;
z-index
:
1001
;
overflow
:
hidden
;
border-bottom
:
1px
solid
#DCDFE6
;
.log
{
padding
:
0
16px
;
line-height
:
56px
;
height
:
56px
;
font-size
:
24px
;
font-weight
:
bold
;
// color: rgb(191, 203, 217);
color
:
rgba
(
255
,
255
,
255
,
0
.87
);
float
:
left
;
img
{
width
:
auto
;
max-height
:
45px
;
}
.log
{
padding
:
0
16px
;
line-height
:
56px
;
height
:
56px
;
font-size
:
24px
;
font-weight
:
bold
;
// color: rgb(191, 203, 217);
color
:
rgba
(
255
,
255
,
255
,
0
.87
);
float
:
left
;
img
{
width
:
auto
;
max-height
:
45px
;
}
.el-menu
{
float
:
left
;
border
:
none
!
important
;
// background-color: #304156;
}
.el-menu
{
float
:
left
;
border
:
none
!
important
;
// background-color: #304156;
// background-color: $--color-primary;
.nav-item
{
display
:
inline-block
;
.el-menu-item
:not
(
.is-active
)
{
// color: rgb(191, 203, 217);
color
:
$menuText
;
&
:hover
{
background-color
:
$menuHover
!
important
;
// color: $subMenuActiveText !important;
}
&
:focus
{
background-color
:
$subMenuHover
!
important
;
color
:
$subMenuActiveText
!
important
;
}
.nav-item
{
display
:
inline-block
;
.el-menu-item
:not
(
.is-active
)
{
// color: rgb(191, 203, 217);
color
:
$menuText
;
&
:hover
{
background-color
:
$menuHover
!
important
;
// color: $subMenuActiveText !important;
}
.is-active
{
background-color
:
$subMenuHover
!
important
;
color
:
$subMenuActiveText
!
important
;
&
:focus
{
background-color
:
$subMenuHover
!
important
;
color
:
$subMenuActiveText
!
important
;
}
}
.is-active
{
background-color
:
$subMenuHover
!
important
;
color
:
$subMenuActiveText
!
important
;
}
}
}
.right-menu
{
float
:
right
;
height
:
56px
;
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
justify-content
:
center
;
.right-menu
{
float
:
right
;
height
:
56px
;
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
justify-content
:
center
;
&
:focus
{
outline
:
none
;
}
&
:focus
{
outline
:
none
;
}
.right-menu-item
{
display
:
inline-block
;
padding
:
10px
8px
;
height
:
100%
;
font-size
:
18px
;
// color: #5a5e66;
color
:
#606266
;
vertical-align
:
text-bottom
;
.right-menu-item
{
display
:
inline-block
;
padding
:
10px
8px
;
height
:
100%
;
font-size
:
18px
;
// color: #5a5e66;
color
:
#606266
;
vertical-align
:
text-bottom
;
&
.hover-effect
{
cursor
:
pointer
;
transition
:
background
.3s
;
&
.hover-effect
{
cursor
:
pointer
;
transition
:
background
.3s
;
&
:hover
{
background-color
:
rgba
(
0
,
0
,
0
,
.025
)
}
&
:hover
{
background-color
:
rgba
(
0
,
0
,
0
,
.025
)
}
}
}
.avatar-container
{
margin-right
:
30px
;
.avatar-wrapper
{
margin-top
:
5px
;
position
:
relative
;
.user-avatar
{
cursor
:
pointer
;
width
:
40px
;
height
:
40px
;
border-radius
:
10px
;
}
.de-user-avatar
{
cursor
:
pointer
;
height
:
40px
;
border-radius
:
10px
;
span
{
color
:
#ffffff
;
}
.avatar-container
{
margin-right
:
30px
;
.avatar-wrapper
{
margin-top
:
5px
;
position
:
relative
;
.user-avatar
{
cursor
:
pointer
;
width
:
40px
;
height
:
40px
;
border-radius
:
10px
;
}
.de-user-avatar
{
cursor
:
pointer
;
height
:
40px
;
border-radius
:
10px
;
span
{
color
:
#ffffff
;
}
}
.el-icon-caret-bottom
{
cursor
:
pointer
;
position
:
absolute
;
right
:
-20px
;
top
:
25px
;
font-size
:
12px
;
}
.el-icon-caret-bottom
{
cursor
:
pointer
;
position
:
absolute
;
right
:
-20px
;
top
:
25px
;
font-size
:
12px
;
}
}
}
}
}
frontend/src/utils/index.js
浏览文件 @
70898bdd
...
...
@@ -213,6 +213,7 @@ export function formatCondition(param) {
return
null
}
const
result
=
{
conditions
:
[]
}
// eslint-disable-next-line no-unused-vars
for
(
const
[
key
,
value
]
of
Object
.
entries
(
param
))
{
result
.
conditions
.
push
(
value
)
}
...
...
frontend/src/views/chart/chart/line/line.js
浏览文件 @
70898bdd
...
...
@@ -58,7 +58,7 @@ export function stackLineOption(chart_option, chart) {
baseLineOption
(
chart_option
,
chart
)
// ext
chart_option
.
tooltip
.
trigger
=
'axis'
//
chart_option.tooltip.trigger = 'axis'
chart_option
.
series
.
forEach
(
function
(
s
)
{
s
.
stack
=
'stack'
})
...
...
frontend/src/views/chart/chart/util.js
浏览文件 @
70898bdd
...
...
@@ -9,6 +9,7 @@ export function hexColorToRGBA(hex, alpha) {
}
if
(
/^#
[
0-9A-F
]{6}
$/i
.
test
(
hex
))
{
// 判断传入是否为#六位十六进制数
hex
.
replace
(
/
[
0-9A-F
]{2}
/ig
,
function
(
kw
)
{
// eslint-disable-next-line no-eval
rgb
.
push
(
eval
(
'0x'
+
kw
))
// 十六进制转化为十进制并存如数组
})
return
`rgba(
${
rgb
.
join
(
','
)}
,
${
alpha
/
100
}
)`
// 输出RGB格式颜色
...
...
frontend/src/views/panel/SubjectSetting/PanelStyle/ComponentGap.vue
浏览文件 @
70898bdd
...
...
@@ -17,6 +17,7 @@
</
template
>
<
script
>
// eslint-disable-next-line no-unused-vars
import
{
DEFAULT_PANEL_STYLE
}
from
'@/views/panel/panel'
import
{
mapState
}
from
'vuex'
import
{
deepCopy
}
from
'@/components/canvas/utils/utils'
...
...
frontend/src/views/panel/panel.js
浏览文件 @
70898bdd
// eslint-disable-next-line no-unused-vars
import
{
BASE_CHART
,
BASE_CHART_STRING
}
from
'@/views/chart/chart/chart'
import
{
deepCopy
}
from
'@/components/canvas/utils/utils'
...
...
@@ -48,6 +50,7 @@ export function chartTransStr2Object(targetIn, copy) {
}
export
function
chartTransObject2Str
(
targetIn
,
deepCopy
)
{
// eslint-disable-next-line no-undef
const
target
=
copy
===
'Y'
?
deepCopy
(
targetIn
)
:
targetIn
if
(
target
.
chart
)
{
if
(
target
.
chart
.
xaxis
&&
typeof
target
.
chart
.
xaxis
!==
'string'
)
{
...
...
frontend/src/views/panel/template/component/TemplateItem.vue
浏览文件 @
70898bdd
...
...
@@ -11,6 +11,7 @@
</
template
>
<
script
>
// eslint-disable-next-line no-unused-vars
import
{
get
,
post
}
from
'@/api/panel/panel'
export
default
{
name
:
'TemplateItem'
,
...
...
frontend/src/views/system/authority/authQuickConfig.vue
浏览文件 @
70898bdd
...
...
@@ -52,6 +52,7 @@ import LazyTree from './components/LazyTree'
export
default
{
name
:
'Authority'
,
// eslint-disable-next-line vue/no-unused-components
components
:
{
LazyTree
,
DeMainContainer
,
DeAsideContainer
,
DeContainer
},
props
:
{
resourceId
:
{
...
...
frontend/src/views/system/authority/index.vue
浏览文件 @
70898bdd
...
...
@@ -20,6 +20,7 @@ import AuthQuickConfig from './authQuickConfig'
export
default
{
name
:
'Authority'
,
// eslint-disable-next-line vue/no-unused-components
components
:
{
DeContainer
,
DeMainContainer
,
AuthConfig
,
AuthQuickConfig
},
data
()
{
return
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论