Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
CivManage
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ReactWeb5
CivManage
Commits
ddc8a8e1
Commit
ddc8a8e1
authored
2 years ago
by
邓超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 修改工作流编辑器交互方式,节点字体
parent
a6b9a0ca
Pipeline
#63822
passed with stages
Changes
5
Pipelines
1
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
49 additions
and
26 deletions
+49
-26
Workflow.jsx
src/pages/bsmanager/workOrder/workflowEdit/Workflow.jsx
+10
-7
FlowChart.jsx
...r/workOrder/workflowEdit/workFlowComponents/FlowChart.jsx
+25
-17
NodeModal.jsx
...Edit/workFlowComponents/flowChartComponents/NodeModal.jsx
+0
-0
RoalChoose.jsx
...ts/flowChartComponents/nodeModalComponents/RoalChoose.jsx
+1
-1
workflow.less
src/pages/bsmanager/workOrder/workflowEdit/workflow.less
+13
-1
No files found.
src/pages/bsmanager/workOrder/workflowEdit/Workflow.jsx
View file @
ddc8a8e1
...
...
@@ -48,7 +48,6 @@ const Workflow = () => {
},
[]);
useEffect
(()
=>
{
if
(
flag
===
2
)
{
console
.
log
(
treeData
,
'treeData'
);
if
(
treeData
.
length
===
0
)
{
return
;
}
...
...
@@ -64,10 +63,9 @@ const Workflow = () => {
res
.
data
.
Nodes
.
forEach
(
item
=>
{
item
.
nodeDetail
=
JSON
.
stringify
(
item
);
});
console
.
log
(
res
.
data
,
'res.dasta'
);
setFlowData
(
res
.
data
);
setFlowData
({
...
res
.
data
,
flowName
:
treeData
[
0
].
children
[
0
].
FlowName
});
}
else
{
setFlowData
({
Nodes
:
[],
Lines
:
[]
});
setFlowData
({
Nodes
:
[],
Lines
:
[]
,
flowName
:
''
});
notification
.
error
({
title
:
'提示'
,
duration
:
3
,
...
...
@@ -182,6 +180,8 @@ const Workflow = () => {
// 组节点不触发选中
if
(
prop
[
0
])
{
// 选中节点处理
setTreeVisible
(
false
);
setCurrentSelectId
(
prop
[
0
]);
setTreeId
(
prop
[
0
]);
setChartLoading
(
true
);
...
...
@@ -191,9 +191,9 @@ const Workflow = () => {
res
.
data
.
Nodes
.
forEach
(
item
=>
{
item
.
nodeDetail
=
JSON
.
stringify
(
item
);
});
setFlowData
(
res
.
data
);
setFlowData
(
{
...
res
.
data
,
flowName
:
treeNode
.
node
.
flowName
}
);
}
else
{
setFlowData
({
Nodes
:
[],
Lines
:
[]
});
setFlowData
({
Nodes
:
[],
Lines
:
[]
,
flowName
:
''
});
notification
.
error
({
title
:
'提示'
,
duration
:
3
,
...
...
@@ -208,7 +208,8 @@ const Workflow = () => {
// 点击节点树触发
const
onSelect
=
(
prop
,
treeNode
)
=>
{
// 如果没有保存弹是否保存弹窗
if
(
!
canSelect
)
{
if
(
!
canSelect
&&
!
treeNode
.
node
.
children
)
{
confirm
({
title
:
'已编辑流程未发布,确定要离开吗?'
,
icon
:
<
ExclamationCircleOutlined
/>,
...
...
@@ -272,6 +273,7 @@ const Workflow = () => {
</
div
>
</
div
>
),
flowName
:
obj
.
FlowName
,
key
:
obj
.
FlowID
,
};
};
...
...
@@ -341,6 +343,7 @@ const Workflow = () => {
<
div
className=
{
styles
.
flowChartContainer
}
>
{
currentSelectId
?
(
<
FlowChart
treeVisible=
{
treeVisible
}
flowData=
{
flowData
}
flowID=
{
currentSelectId
}
chartLoading=
{
chartLoading
}
...
...
This diff is collapsed.
Click to expand it.
src/pages/bsmanager/workOrder/workflowEdit/workFlowComponents/FlowChart.jsx
View file @
ddc8a8e1
...
...
@@ -24,7 +24,7 @@ let myPaletteNode = null;
let
myPaletteGateway
=
null
;
let
myOverview
=
null
;
const
FlowChart
=
props
=>
{
const
{
flowData
,
flowID
,
chartLoading
,
leaveCallBack
}
=
props
;
const
{
flowData
,
flowID
,
chartLoading
,
leaveCallBack
,
msg
,
treeVisible
}
=
props
;
const
[
visible
,
setVisible
]
=
useState
(
false
);
const
[
lineVisible
,
setLineVisible
]
=
useState
(
false
);
const
[
editMsg
,
setEditMsg
]
=
useState
({});
// 编辑节点的信息
...
...
@@ -46,6 +46,12 @@ const FlowChart = props => {
const
[
newSerialNo
,
setNewSerialNo
]
=
useState
(
0
);
const
[
buttonLoading
,
setButtonLoading
]
=
useState
();
// 发布按钮保存loading
const
objGo
=
go
.
GraphObject
.
make
;
useEffect
(()
=>
{
if
(
treeVisible
)
{
setVisible
(
false
);
}
},
[
treeVisible
]);
// 监听删除,给删除数组里添加删除id
useEffect
(()
=>
{
if
(
deleteLine
)
{
...
...
@@ -132,6 +138,7 @@ const FlowChart = props => {
},
[]);
useEffect
(()
=>
{
if
(
flowData
)
{
console
.
log
(
flowData
,
'msgmsgmsg'
);
// 每次切换时清空删除得id数组跟新增得id数组
setDeleteNodes
([]);
setDeleteLines
([]);
...
...
@@ -144,13 +151,14 @@ const FlowChart = props => {
setCurrentFlowData
(
dataList
);
setShowLeaveTip
(
false
);
setVisible
(
false
);
}
},
[
flowData
]);
// 存入在树形流程中选择得流程数据
useEffect
(()
=>
{
let
nodeDataArray
=
[];
let
linkDataArray
=
[];
console
.
log
(
currentFlowData
,
'currentFlowData'
);
// 处理老数据,让老数据可以正常展示
nodeDataArray
=
currentFlowData
.
Nodes
.
map
((
item
,
index
)
=>
{
let
obj
;
...
...
@@ -178,7 +186,7 @@ const FlowChart = props => {
obj
.
lineDetail
=
JSON
.
stringify
(
obj
);
return
obj
;
});
console
.
log
(
linkDataArray
,
'linkDataArray'
);
// 保存初始数据
setInitFlowData
(
JSON
.
parse
(
...
...
@@ -470,7 +478,7 @@ const FlowChart = props => {
alignment
:
go
.
Spot
.
Center
,
margin
:
new
go
.
Margin
(
0
,
10
,
0
,
10
),
overflow
:
go
.
TextBlock
.
OverflowEllipsis
,
font
:
'normal 12pt
serif
'
,
font
:
'normal 12pt
Microsoft YaHei
'
,
},
new
go
.
Binding
(
'visible'
,
'NodeType'
,
v
=>
{
if
(
v
.
NodeType
===
'20'
||
v
.
NodeType
===
'21'
||
v
.
NodeType
===
'22'
)
{
...
...
@@ -488,10 +496,10 @@ const FlowChart = props => {
alignment
:
go
.
Spot
.
Center
,
maxLines
:
2
,
overflow
:
go
.
TextBlock
.
OverflowEllipsis
,
font
:
'normal 12pt
serif
'
,
font
:
'normal 12pt
Microsoft YaHei
'
,
},
new
go
.
Binding
(
'spacingAbove'
,
'roleList'
,
v
=>
(
v
?.
length
>
0
?
10
:
0
)),
new
go
.
Binding
(
'height'
,
'roleList'
,
v
=>
(
v
?.
length
>
0
?
2
0
:
0
)),
new
go
.
Binding
(
'spacingAbove'
,
'roleList'
,
v
=>
(
v
?.
length
>
0
?
5
:
0
)),
new
go
.
Binding
(
'height'
,
'roleList'
,
v
=>
(
v
?.
length
>
0
?
3
0
:
0
)),
new
go
.
Binding
(
'margin'
,
'roleList'
,
v
=>
v
?.
length
>
0
?
new
go
.
Margin
(
10
,
10
,
0
,
10
)
:
0
,
),
...
...
@@ -605,7 +613,7 @@ const FlowChart = props => {
go
.
TextBlock
,
{
textAlign
:
'center'
,
font
:
'10pt helvetica, arial,
sans-serif
'
,
font
:
'10pt helvetica, arial,
Microsoft YaHei
'
,
stroke
:
'#555555'
,
margin
:
4
,
},
...
...
@@ -631,10 +639,10 @@ const FlowChart = props => {
// 线的样式
const
lineStyle
=
(
v
,
styleName
)
=>
{
const
msg
=
diagram
.
model
.
findNodeDataForKey
(
v
);
const
line
msg
=
diagram
.
model
.
findNodeDataForKey
(
v
);
switch
(
styleName
)
{
case
'strokeDashArray'
:
if
(
msg
.
NodeType
===
'20'
)
{
if
(
line
msg
.
NodeType
===
'20'
)
{
return
[
6
,
3
];
}
return
null
;
...
...
@@ -772,7 +780,6 @@ const FlowChart = props => {
};
// 双击线
const
addLineMsg
=
(
e
,
node
)
=>
{
console
.
log
(
node
.
part
.
data
,
'node.part.data'
);
setLineKey
(
node
.
part
.
data
.
LineKey
);
setLineMsg
(
node
.
part
.
data
);
setLineVisible
(
true
);
...
...
@@ -780,7 +787,7 @@ const FlowChart = props => {
// 新增节点
const
addNode
=
type
=>
{
const
list
=
JSON
.
parse
(
diagram
.
model
.
toJson
()).
nodeDataArray
;
console
.
log
(
list
,
'list'
);
let
newNum
;
let
newKey
;
...
...
@@ -816,7 +823,7 @@ const FlowChart = props => {
default
:
break
;
}
console
.
log
(
newNum
,
newKey
);
setNewSerialNo
(
newNum
);
// 新增节点
// 新增得key比最大得key值+1
...
...
@@ -839,7 +846,6 @@ const FlowChart = props => {
};
// 节点配置回调
const
nodeCallBack
=
(
obj
,
nextlinkNodes
)
=>
{
console
.
log
(
obj
,
nextlinkNodes
,
'obj'
);
let
nameIsRepeat
;
let
{
nodes
}
=
diagram
;
let
keyArr
=
[];
...
...
@@ -885,7 +891,7 @@ const FlowChart = props => {
nodeData
.
RuleList
=
RuleList
;
nodeData
.
CarbonCopyPeopleList
=
CarbonCopyPeopleList
;
diagram
.
model
.
updateTargetBindings
(
nodeData
);
console
.
log
(
nodeData
,
'nodeData'
);
// 给线上添加文字
let
diagramObj
=
JSON
.
parse
(
diagram
.
model
.
toJson
());
...
...
@@ -896,7 +902,7 @@ const FlowChart = props => {
});
// 关闭时进行数据比对看数据是否改变
leaveTip
();
setVisible
(
false
);
//
setVisible(false);
};
// 关闭时进行数据比对看数据是否改变
const
leaveTip
=
()
=>
{
...
...
@@ -930,7 +936,7 @@ const FlowChart = props => {
// 保存后离开不用提醒要修改数据了
setShowLeaveTip
(
false
);
leaveCallBack
(
false
);
console
.
log
(
JSON
.
parse
(
JSON
.
stringify
(
res
.
data
)),
'res.data'
);
setCurrentFlowData
(
JSON
.
parse
(
JSON
.
stringify
(
res
.
data
)));
}
else
{
notification
.
error
({
...
...
@@ -1007,6 +1013,7 @@ const FlowChart = props => {
});
});
};
return
(
<>
<
Prompt
message=
"编辑的内容还未保存,确定要离开该页面吗?"
when=
{
showLeaveTip
}
/>
...
...
@@ -1035,6 +1042,7 @@ const FlowChart = props => {
</
div
>
<
div
className=
{
styles
.
chartBox
}
>
<
div
id=
"myOverviewDiv"
className=
{
styles
.
myOverviewDiv
}
/>
<
div
className=
{
styles
.
flowName
}
>
{
flowData
.
flowName
}
</
div
>
<
Spin
spinning=
{
chartLoading
}
>
<
div
id=
"myDiagramDiv"
...
...
This diff is collapsed.
Click to expand it.
src/pages/bsmanager/workOrder/workflowEdit/workFlowComponents/flowChartComponents/NodeModal.jsx
View file @
ddc8a8e1
This diff is collapsed.
Click to expand it.
src/pages/bsmanager/workOrder/workflowEdit/workFlowComponents/flowChartComponents/nodeModalComponents/RoalChoose.jsx
View file @
ddc8a8e1
...
...
@@ -187,7 +187,7 @@ const RoalChoose = props => {
maskClosable=
{
false
}
destroyOnClose
getContainer=
{
false
}
zIndex=
{
11
}
zIndex=
{
20
}
>
<
div
className=
{
styles
.
pageContent
}
>
{
/* 可选列表 */
}
...
...
This diff is collapsed.
Click to expand it.
src/pages/bsmanager/workOrder/workflowEdit/workflow.less
View file @
ddc8a8e1
...
...
@@ -106,11 +106,23 @@
position: relative;
height: calc(100% - 52px);
.flowName {
position: absolute;
top: 10px;
left: 50%;
transform: translateX(-50%);
font-size: 24px;
font-weight: 700;
color: #1585FF;
z-index: 9;
}
.myOverviewDiv {
position: absolute;
height: 150px;
width: 300px;
righ
t: 0;
lef
t: 0;
bottom: 0;
background-color: #ccc;
z-index: 9;
...
...
This diff is collapsed.
Click to expand it.
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