Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
phsl
/
admin
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
13272c22
authored
Nov 03, 2024
by
jason
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
【代码修复】 Simple 设计器缩小留白问题
parent
21fc3fd7
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
436 additions
and
436 deletions
+436
-436
src/components/SimpleProcessDesignerV2/src/SimpleProcessDesigner.vue
+1
-1
src/components/SimpleProcessDesignerV2/src/SimpleProcessModel.vue
+4
-5
src/components/SimpleProcessDesignerV2/theme/simple-process-designer.scss
+431
-430
No files found.
src/components/SimpleProcessDesignerV2/src/SimpleProcessDesigner.vue
View file @
13272c22
<
template
>
<
template
>
<div
v-loading=
"loading"
>
<div
v-loading=
"loading"
class=
"overflow-auto"
>
<SimpleProcessModel
<SimpleProcessModel
v-if=
"processNodeTree"
v-if=
"processNodeTree"
:flow-node=
"processNodeTree"
:flow-node=
"processNodeTree"
...
...
src/components/SimpleProcessDesignerV2/src/SimpleProcessModel.vue
View file @
13272c22
<
template
>
<
template
>
<div
<div
class=
"simple-process-model-container position-relative"
>
class=
"simple-process-model-container position-relative"
:style=
"`transform: scale($
{scaleValue / 100});`"
>
<div
class=
"position-absolute top-0px right-0px bg-#fff"
>
<div
class=
"position-absolute top-0px right-0px bg-#fff"
>
<el-row
type=
"flex"
justify=
"end"
>
<el-row
type=
"flex"
justify=
"end"
>
<el-button-group
key=
"scale-control"
size=
"default"
>
<el-button-group
key=
"scale-control"
size=
"default"
>
...
@@ -22,7 +19,9 @@
...
@@ -22,7 +19,9 @@
>
>
</el-row>
</el-row>
</div>
</div>
<ProcessNodeTree
v-if=
"processNodeTree"
v-model:flow-node=
"processNodeTree"
/>
<div
class=
"simple-process-model"
:style=
"`transform: scale($
{scaleValue / 100});`">
<ProcessNodeTree
v-if=
"processNodeTree"
v-model:flow-node=
"processNodeTree"
/>
</div>
</div>
</div>
<Dialog
v-model=
"errorDialogVisible"
title=
"保存失败"
width=
"400"
:fullscreen=
"false"
>
<Dialog
v-model=
"errorDialogVisible"
title=
"保存失败"
width=
"400"
:fullscreen=
"false"
>
<div
class=
"mb-2"
>
以下节点内容不完善,请修改后保存
</div>
<div
class=
"mb-2"
>
以下节点内容不完善,请修改后保存
</div>
...
...
src/components/SimpleProcessDesignerV2/theme/simple-process-designer.scss
View file @
13272c22
// 配置节点头部
// 配置节点头部
.config-header
{
.config-header
{
display
:
flex
;
display
:
flex
;
...
@@ -172,533 +171,535 @@
...
@@ -172,533 +171,535 @@
// Simple 流程模型样式
// Simple 流程模型样式
.simple-process-model-container
{
.simple-process-model-container
{
height
:
100%
;
height
:
100%
;
overflow
:
auto
;
padding-top
:
32px
;
display
:
flex
;
flex-direction
:
column
;
justify-content
:
center
;
align-items
:
center
;
padding-top
:
16px
;
background-color
:
#fafafa
;
background-color
:
#fafafa
;
transform-origin
:
50%
0
0
;
.simple-process-model
{
transform
:
scale
(
1
);
transition
:
transform
0
.3s
cubic-bezier
(
0
.645
,
0
.045
,
0
.355
,
1
);
background
:
url(@/assets/svgs/bpm/simple-process-bg.svg)
0
0
repeat
;
// 节点容器 定义节点宽度
.node-container
{
width
:
200px
;
}
// 节点
.node-box
{
position
:
relative
;
display
:
flex
;
display
:
flex
;
min-height
:
70px
;
padding
:
5px
10px
8px
;
cursor
:
pointer
;
background-color
:
#fff
;
flex-direction
:
column
;
flex-direction
:
column
;
border
:
2px
solid
transparent
;
justify-content
:
center
;
border-radius
:
8px
;
align-items
:
center
;
box-shadow
:
0
1px
4px
0
rgb
(
10
30
65
/
16%
);
transform-origin
:
50%
0
0
;
transition
:
all
0
.1s
cubic-bezier
(
0
.645
,
0
.045
,
0
.355
,
1
);
overflow
:
auto
;
transform
:
scale
(
1
);
&
.status-pass
{
transition
:
transform
0
.3s
cubic-bezier
(
0
.645
,
0
.045
,
0
.355
,
1
);
background-color
:
#a9da90
;
background
:
url(@/assets/svgs/bpm/simple-process-bg.svg)
0
0
repeat
;
border-color
:
#67c23a
;
// 节点容器 定义节点宽度
}
.node-container
{
width
:
200px
;
&
.status-pass
:hover
{
border-color
:
#67c23a
;
}
&
.status-running
{
background-color
:
#e7f0fe
;
border-color
:
#5a9cf8
;
}
}
// 节点
.node-box
{
position
:
relative
;
display
:
flex
;
min-height
:
70px
;
padding
:
5px
10px
8px
;
cursor
:
pointer
;
background-color
:
#fff
;
flex-direction
:
column
;
border
:
2px
solid
transparent
;
border-radius
:
8px
;
box-shadow
:
0
1px
4px
0
rgb
(
10
30
65
/
16%
);
transition
:
all
0
.1s
cubic-bezier
(
0
.645
,
0
.045
,
0
.355
,
1
);
&
.status-running
:hover
{
&
.status-pass
{
border-color
:
#5a9cf8
;
background-color
:
#a9da90
;
}
border-color
:
#67c23a
;
}
&
.status-reject
{
&
.status-pass
:hover
{
background-color
:
#f6e5e5
;
border-color
:
#67c23a
;
border-color
:
#e47470
;
}
}
&
.status-reject
:hover
{
&
.status-running
{
border-color
:
#e47470
;
background-color
:
#e7f0fe
;
}
border-color
:
#5a9cf8
;
}
&
:hover
{
&
.status-running
:hover
{
border-color
:
#0089ff
;
border-color
:
#5a9cf8
;
}
.node-toolbar
{
&
.status-reject
{
opacity
:
1
;
background-color
:
#f6e5e5
;
border-color
:
#e47470
;
}
}
.branch-node-move
{
&
.status-reject
:hover
{
display
:
flex
;
border-color
:
#e47470
;
}
}
}
// 普通节点标题
&
:hover
{
.node-title-container
{
border-color
:
#0089ff
;
display
:
flex
;
padding
:
4px
;
.node-toolbar
{
cursor
:
pointer
;
opacity
:
1
;
border-radius
:
4px
4px
0
0
;
}
align-items
:
center
;
.branch-node-move
{
display
:
flex
;
}
}
.node-title-icon
{
// 普通节点标题
.node-title-container
{
display
:
flex
;
display
:
flex
;
padding
:
4px
;
cursor
:
pointer
;
border-radius
:
4px
4px
0
0
;
align-items
:
center
;
align-items
:
center
;
&
.user-task
{
.node-title-icon
{
color
:
#ff943e
;
display
:
flex
;
}
align-items
:
center
;
&
.copy
-task
{
&
.user
-task
{
color
:
#3296fa
;
color
:
#ff943e
;
}
}
&
.start-user
{
&
.copy-task
{
color
:
#676565
;
color
:
#3296fa
;
}
&
.start-user
{
color
:
#676565
;
}
}
}
}
.node-title
{
.node-title
{
margin-left
:
4px
;
margin-left
:
4px
;
overflow
:
hidden
;
overflow
:
hidden
;
font-size
:
14px
;
font-size
:
14px
;
font-weight
:
600
;
font-weight
:
600
;
line-height
:
18px
;
line-height
:
18px
;
color
:
#1f1f1f
;
color
:
#1f1f1f
;
text-overflow
:
ellipsis
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
white-space
:
nowrap
;
&
:hover
{
&
:hover
{
border-bottom
:
1px
dashed
#f60
;
border-bottom
:
1px
dashed
#f60
;
}
}
}
}
}
}
// 条件节点标题
// 条件节点标题
.branch-node-title-container
{
.branch-node-title-container
{
display
:
flex
;
display
:
flex
;
padding
:
4px
0
;
padding
:
4px
0
;
cursor
:
pointer
;
cursor
:
pointer
;
border-radius
:
4px
4px
0
0
;
border-radius
:
4px
4px
0
0
;
align-items
:
center
;
align-items
:
center
;
justify-content
:
space-between
;
justify-content
:
space-between
;
.input-max-width
{
.input-max-width
{
max-width
:
115px
!
important
;
max-width
:
115px
!
important
;
}
}
.branch-title
{
.branch-title
{
overflow
:
hidden
;
overflow
:
hidden
;
font-size
:
13px
;
font-size
:
13px
;
font-weight
:
600
;
font-weight
:
600
;
color
:
#f60
;
color
:
#f60
;
text-overflow
:
ellipsis
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
white-space
:
nowrap
;
&
:hover
{
&
:hover
{
border-bottom
:
1px
dashed
#000
;
border-bottom
:
1px
dashed
#000
;
}
}
}
}
.branch-priority
{
.branch-priority
{
min-width
:
50px
;
min-width
:
50px
;
font-size
:
12px
;
font-size
:
12px
;
}
}
}
}
.node-content
{
display
:
flex
;
min-height
:
32px
;
padding
:
4px
8px
;
margin-top
:
4px
;
line-height
:
32px
;
justify-content
:
space-between
;
align-items
:
center
;
color
:
#111f2c
;
background
:
rgb
(
0
0
0
/
3%
);
border-radius
:
4px
;
.node-text
{
.node-content
{
display
:
-
webkit-box
;
display
:
flex
;
overflow
:
hidden
;
min-height
:
32px
;
font-size
:
14px
;
padding
:
4px
8px
;
line-height
:
24px
;
margin-top
:
4px
;
text-overflow
:
ellipsis
;
line-height
:
32px
;
word-break
:
break-all
;
justify-content
:
space-between
;
-webkit-line-clamp
:
2
;
/* 这将限制文本显示为两行 */
align-items
:
center
;
-webkit-box-orient
:
vertical
;
color
:
#111f2c
;
background
:
rgb
(
0
0
0
/
3%
);
border-radius
:
4px
;
.node-text
{
display
:
-
webkit-box
;
overflow
:
hidden
;
font-size
:
14px
;
line-height
:
24px
;
text-overflow
:
ellipsis
;
word-break
:
break-all
;
-webkit-line-clamp
:
2
;
/* 这将限制文本显示为两行 */
-webkit-box-orient
:
vertical
;
}
}
}
}
//条件节点内容
//条件节点内容
.branch-node-content
{
.branch-node-content
{
display
:
flex
;
display
:
flex
;
min-height
:
32px
;
min-height
:
32px
;
padding
:
4px
0
;
padding
:
4px
0
;
margin-top
:
4px
;
margin-top
:
4px
;
line-height
:
32px
;
line-height
:
32px
;
align-items
:
center
;
align-items
:
center
;
color
:
#111f2c
;
color
:
#111f2c
;
border-radius
:
4px
;
border-radius
:
4px
;
.branch-node-text
{
.branch-node-text
{
overflow
:
hidden
;
overflow
:
hidden
;
font-size
:
12px
;
font-size
:
12px
;
line-height
:
24px
;
line-height
:
24px
;
text-overflow
:
ellipsis
;
text-overflow
:
ellipsis
;
word-break
:
break-all
;
word-break
:
break-all
;
-webkit-line-clamp
:
2
;
/* 这将限制文本显示为两行 */
-webkit-line-clamp
:
2
;
/* 这将限制文本显示为两行 */
-webkit-box-orient
:
vertical
;
-webkit-box-orient
:
vertical
;
}
}
}
}
// 节点操作 :删除
// 节点操作 :删除
.node-toolbar
{
.node-toolbar
{
position
:
absolute
;
position
:
absolute
;
top
:
-20px
;
top
:
-20px
;
right
:
0
;
right
:
0
;
display
:
flex
;
display
:
flex
;
opacity
:
0
;
opacity
:
0
;
.toolbar-icon
{
.toolbar-icon
{
text-align
:
center
;
text-align
:
center
;
vertical-align
:
middle
;
vertical-align
:
middle
;
}
}
}
}
// 条件节点左右移动
// 条件节点左右移动
.branch-node-move
{
.branch-node-move
{
position
:
absolute
;
position
:
absolute
;
display
:
none
;
display
:
none
;
width
:
10px
;
width
:
10px
;
height
:
100%
;
height
:
100%
;
cursor
:
pointer
;
align-items
:
center
;
justify-content
:
center
;
}
.move-node-left
{
top
:
0
;
left
:
-2px
;
background
:
rgb
(
126
134
142
/
8%
);
border-bottom-left-radius
:
8px
;
border-top-left-radius
:
8px
;
}
.move-node-right
{
top
:
0
;
right
:
-2px
;
background
:
rgb
(
126
134
142
/
8%
);
border-top-right-radius
:
6px
;
border-bottom-right-radius
:
6px
;
}
}
.node-config-error
{
border-color
:
#ff5219
!
important
;
}
// 普通节点包装
.node-wrapper
{
display
:
flex
;
flex-direction
:
column
;
justify-content
:
center
;
align-items
:
center
;
}
// 节点连线处理
.node-handler-wrapper
{
position
:
relative
;
display
:
flex
;
height
:
70px
;
align-items
:
center
;
user-select
:
none
;
justify-content
:
center
;
flex-direction
:
column
;
&
:
:
before
{
position
:
absolute
;
top
:
0
;
z-index
:
0
;
width
:
2px
;
height
:
100%
;
margin
:
auto
;
background-color
:
#dedede
;
content
:
''
;
}
.node-handler
{
.add-icon
{
position
:
relative
;
top
:
-5px
;
display
:
flex
;
width
:
25px
;
height
:
25px
;
color
:
#fff
;
cursor
:
pointer
;
cursor
:
pointer
;
background-color
:
#0089ff
;
border-radius
:
50%
;
align-items
:
center
;
align-items
:
center
;
justify-content
:
center
;
justify-content
:
center
;
}
&
:hover
{
.move-node-left
{
transform
:
scale
(
1
.1
);
top
:
0
;
}
left
:
-2px
;
background
:
rgb
(
126
134
142
/
8%
);
border-bottom-left-radius
:
8px
;
border-top-left-radius
:
8px
;
}
.move-node-right
{
top
:
0
;
right
:
-2px
;
background
:
rgb
(
126
134
142
/
8%
);
border-top-right-radius
:
6px
;
border-bottom-right-radius
:
6px
;
}
}
}
}
.node-handler-arrow
{
.node-config-error
{
position
:
absolute
;
border-color
:
#ff5219
!
important
;
bottom
:
0
;
}
left
:
50%
;
// 普通节点包装
.node-wrapper
{
display
:
flex
;
display
:
flex
;
transform
:
translateX
(
-50%
);
flex-direction
:
column
;
justify-content
:
center
;
align-items
:
center
;
}
}
}
// 节点连线处理
.node-handler-wrapper
{
// 条件节点包装
.branch-node-wrapper
{
position
:
relative
;
display
:
flex
;
flex-direction
:
column
;
justify-content
:
center
;
align-items
:
center
;
margin-top
:
16px
;
.branch-node-container
{
position
:
relative
;
position
:
relative
;
display
:
flex
;
display
:
flex
;
height
:
70px
;
align-items
:
center
;
user-select
:
none
;
justify-content
:
center
;
flex-direction
:
column
;
&
:
:
before
{
&
:
:
before
{
position
:
absolute
;
position
:
absolute
;
left
:
50%
;
top
:
0
;
width
:
4px
;
z-index
:
0
;
width
:
2px
;
height
:
100%
;
height
:
100%
;
background-color
:
#fafafa
;
margin
:
auto
;
background-color
:
#dedede
;
content
:
''
;
content
:
''
;
transform
:
translate
(
-50%
);
}
}
.branch-node-add
{
.node-handler
{
position
:
absolute
;
.add-icon
{
top
:
-18px
;
position
:
relative
;
left
:
50%
;
top
:
-5px
;
z-index
:
1
;
display
:
flex
;
height
:
36px
;
width
:
25px
;
padding
:
0
10px
;
height
:
25px
;
font-size
:
12px
;
color
:
#fff
;
line-height
:
36px
;
cursor
:
pointer
;
border
:
2px
solid
#dedede
;
background-color
:
#0089ff
;
border-radius
:
18px
;
border-radius
:
50%
;
transform
:
translateX
(
-50%
);
align-items
:
center
;
transform-origin
:
center
center
;
justify-content
:
center
;
&
:hover
{
transform
:
scale
(
1
.1
);
}
}
}
}
.
branch-node-readonly
{
.
node-handler-arrow
{
position
:
absolute
;
position
:
absolute
;
top
:
-18px
;
bottom
:
0
;
left
:
50%
;
left
:
50%
;
z-index
:
1
;
display
:
flex
;
display
:
flex
;
width
:
36px
;
height
:
36px
;
background-color
:
#fff
;
border
:
2px
solid
#dedede
;
border-radius
:
50%
;
transform
:
translateX
(
-50%
);
transform
:
translateX
(
-50%
);
align-items
:
center
;
}
justify-content
:
center
;
}
transform-origin
:
center
center
;
&
.status-pass
{
// 条件节点包装
background-color
:
#e9f4e2
;
.branch-node-wrapper
{
border-color
:
#6bb63c
;
position
:
relative
;
display
:
flex
;
flex-direction
:
column
;
justify-content
:
center
;
align-items
:
center
;
margin-top
:
16px
;
.branch-node-container
{
position
:
relative
;
display
:
flex
;
&
:
:
before
{
position
:
absolute
;
left
:
50%
;
width
:
4px
;
height
:
100%
;
background-color
:
#fafafa
;
content
:
''
;
transform
:
translate
(
-50%
);
}
}
&
.status-pass
:hover
{
.branch-node-add
{
border-color
:
#6bb63c
;
position
:
absolute
;
top
:
-18px
;
left
:
50%
;
z-index
:
1
;
height
:
36px
;
padding
:
0
10px
;
font-size
:
12px
;
line-height
:
36px
;
border
:
2px
solid
#dedede
;
border-radius
:
18px
;
transform
:
translateX
(
-50%
);
transform-origin
:
center
center
;
}
}
.icon-size
{
.branch-node-readonly
{
font-size
:
22px
;
position
:
absolute
;
&
.condition
{
top
:
-18px
;
color
:
#67c23a
;
left
:
50%
;
z-index
:
1
;
display
:
flex
;
width
:
36px
;
height
:
36px
;
background-color
:
#fff
;
border
:
2px
solid
#dedede
;
border-radius
:
50%
;
transform
:
translateX
(
-50%
);
align-items
:
center
;
justify-content
:
center
;
transform-origin
:
center
center
;
&
.status-pass
{
background-color
:
#e9f4e2
;
border-color
:
#6bb63c
;
}
}
&
.parallel
{
color
:
#626aef
;
&
.status-pass
:hover
{
border-color
:
#6bb63c
;
}
}
&
.inclusive
{
color
:
#345da2
;
.icon-size
{
font-size
:
22px
;
&
.condition
{
color
:
#67c23a
;
}
&
.parallel
{
color
:
#626aef
;
}
&
.inclusive
{
color
:
#345da2
;
}
}
}
}
}
.branch-node-item
{
position
:
relative
;
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
min-width
:
280px
;
padding
:
40px
40px
0
;
background
:
transparent
;
border-top
:
2px
solid
#dedede
;
border-bottom
:
2px
solid
#dedede
;
&
:
:
before
{
position
:
absolute
;
width
:
2px
;
height
:
100%
;
margin
:
auto
;
inset
:
0
;
background-color
:
#dedede
;
content
:
''
;
}
}
// 覆盖条件节点第一个节点左上角的线
.branch-line-first-top
{
position
:
absolute
;
top
:
-5px
;
left
:
-1px
;
width
:
50%
;
height
:
7px
;
background-color
:
#fafafa
;
content
:
''
;
}
// 覆盖条件节点第一个节点左下角的线
.branch-line-first-bottom
{
position
:
absolute
;
bottom
:
-5px
;
left
:
-1px
;
width
:
50%
;
height
:
7px
;
background-color
:
#fafafa
;
content
:
''
;
}
// 覆盖条件节点最后一个节点右上角的线
.branch-line-last-top
{
position
:
absolute
;
top
:
-5px
;
right
:
-1px
;
width
:
50%
;
height
:
7px
;
background-color
:
#fafafa
;
content
:
''
;
}
// 覆盖条件节点最后一个节点右下角的线
.branch-line-last-bottom
{
position
:
absolute
;
right
:
-1px
;
bottom
:
-5px
;
width
:
50%
;
height
:
7px
;
background-color
:
#fafafa
;
content
:
''
;
}
}
}
}
.branch-node-item
{
.node-fixed-name
{
position
:
relative
;
display
:
inline-block
;
width
:
auto
;
padding
:
0
4px
;
overflow
:
hidden
;
text-align
:
center
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
}
// 开始节点包装
.start-node-wrapper
{
position
:
relative
;
margin-top
:
16px
;
.start-node-container
{
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
justify-content
:
center
;
align-items
:
center
;
align-items
:
center
;
min-width
:
280px
;
padding
:
40px
40px
0
;
background
:
transparent
;
border-top
:
2px
solid
#dedede
;
border-bottom
:
2px
solid
#dedede
;
&
:
:
before
{
.start-node-box
{
position
:
absolute
;
display
:
flex
;
width
:
2px
;
justify-content
:
center
;
height
:
100%
;
align-items
:
center
;
margin
:
auto
;
width
:
90px
;
inset
:
0
;
height
:
36px
;
background-color
:
#dedede
;
padding
:
3px
4px
;
content
:
''
;
color
:
#212121
;
cursor
:
pointer
;
background
:
#fafafa
;
border-radius
:
30px
;
box-shadow
:
0
1px
5px
0
rgb
(
10
30
65
/
8%
);
box-sizing
:
border-box
;
}
}
}
}
// 覆盖条件节点第一个节点左上角的线
.branch-line-first-top
{
position
:
absolute
;
top
:
-5px
;
left
:
-1px
;
width
:
50%
;
height
:
7px
;
background-color
:
#fafafa
;
content
:
''
;
}
// 覆盖条件节点第一个节点左下角的线
.branch-line-first-bottom
{
position
:
absolute
;
bottom
:
-5px
;
left
:
-1px
;
width
:
50%
;
height
:
7px
;
background-color
:
#fafafa
;
content
:
''
;
}
// 覆盖条件节点最后一个节点右上角的线
.branch-line-last-top
{
position
:
absolute
;
top
:
-5px
;
right
:
-1px
;
width
:
50%
;
height
:
7px
;
background-color
:
#fafafa
;
content
:
''
;
}
// 覆盖条件节点最后一个节点右下角的线
.branch-line-last-bottom
{
position
:
absolute
;
right
:
-1px
;
bottom
:
-5px
;
width
:
50%
;
height
:
7px
;
background-color
:
#fafafa
;
content
:
''
;
}
}
}
}
.node-fixed-name
{
display
:
inline-block
;
width
:
auto
;
padding
:
0
4px
;
overflow
:
hidden
;
text-align
:
center
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
}
// 开始节点包装
.start-node-wrapper
{
position
:
relative
;
margin-top
:
16px
;
.start-node-container
{
// 结束节点包装
display
:
flex
;
.end-node-wrapper
{
flex-direction
:
column
;
margin-bottom
:
16px
;
justify-content
:
center
;
align-items
:
center
;
.
start
-node-box
{
.
end
-node-box
{
display
:
flex
;
display
:
flex
;
justify-content
:
center
;
width
:
80px
;
align-items
:
center
;
width
:
90px
;
height
:
36px
;
height
:
36px
;
padding
:
3px
4px
;
color
:
#212121
;
color
:
#212121
;
cursor
:
pointer
;
border
:
2px
solid
#fafafa
;
background
:
#fafafa
;
border-radius
:
30px
;
border-radius
:
30px
;
box-shadow
:
0
1px
5px
0
rgb
(
10
30
65
/
8%
);
box-shadow
:
0
1px
5px
0
rgb
(
10
30
65
/
8%
);
box-sizing
:
border-box
;
box-sizing
:
border-box
;
}
justify-content
:
center
;
}
align-items
:
center
;
}
// 结束节点包装
.end-node-wrapper
{
margin-bottom
:
16px
;
.end-node-box
{
display
:
flex
;
width
:
80px
;
height
:
36px
;
color
:
#212121
;
border
:
2px
solid
#fafafa
;
border-radius
:
30px
;
box-shadow
:
0
1px
5px
0
rgb
(
10
30
65
/
8%
);
box-sizing
:
border-box
;
justify-content
:
center
;
align-items
:
center
;
&
.status-pass
{
&
.status-pass
{
background-color
:
#a9da90
;
background-color
:
#a9da90
;
border-color
:
#6bb63c
;
border-color
:
#6bb63c
;
}
}
&
.status-pass
:hover
{
&
.status-pass
:hover
{
border-color
:
#6bb63c
;
border-color
:
#6bb63c
;
}
}
&
.status-reject
{
&
.status-reject
{
background-color
:
#f6e5e5
;
background-color
:
#f6e5e5
;
border-color
:
#e47470
;
border-color
:
#e47470
;
}
}
&
.status-reject
:hover
{
&
.status-reject
:hover
{
border-color
:
#e47470
;
border-color
:
#e47470
;
}
}
&
.status-cancel
{
&
.status-cancel
{
background-color
:
#eaeaeb
;
background-color
:
#eaeaeb
;
border-color
:
#919398
;
border-color
:
#919398
;
}
}
&
.status-cancel
:hover
{
&
.status-cancel
:hover
{
border-color
:
#919398
;
border-color
:
#919398
;
}
}
}
}
}
}
// 可编辑的 title 输入框
// 可编辑的 title 输入框
.editable-title-input
{
.editable-title-input
{
height
:
20px
;
height
:
20px
;
max-width
:
145px
;
max-width
:
145px
;
margin-left
:
4px
;
margin-left
:
4px
;
font-size
:
12px
;
font-size
:
12px
;
line-height
:
20px
;
line-height
:
20px
;
border
:
1px
solid
#d9d9d9
;
border
:
1px
solid
#d9d9d9
;
border-radius
:
4px
;
border-radius
:
4px
;
transition
:
all
0
.3s
;
transition
:
all
0
.3s
;
&
:focus
{
&
:focus
{
border-color
:
#40a9ff
;
border-color
:
#40a9ff
;
outline
:
0
;
outline
:
0
;
box-shadow
:
0
0
0
2px
rgb
(
24
144
255
/
20%
);
box-shadow
:
0
0
0
2px
rgb
(
24
144
255
/
20%
);
}
}
}
}
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment